Previous 15994 Revisions Next

r9192 Sunday 19th September, 2010 at 23:26:41 UTC by Miodrag Milanović
Updated to MAME 0.139u3 core
[src/build]makedep.c
[src/emu]devcb.h devintrf.c devintrf.h machine.h mame.c mconfig.c mconfig.h memory.c
[src/emu/cpu/adsp2100]2100ops.c adsp2100.c adsp2100.h
[src/emu/cpu/asap]asap.c asap.h
[src/emu/debug]debugcpu.c debugcpu.h
[src/emu/machine]6522via.c 8257dma.c eeprom.c eeprom.h intelfsh.c intelfsh.h mc146818.h nvram.c nvram.h
[src/emu/sound]okim6295.c okim6295.h
[src/emu/video]mc6845.c
[src/mame]mame.mak mamedriv.c
[src/mame/audio]astrof.c atarijsa.c atarijsa.h bzone.c cage.c cage.h carnival.c cinemat.c cps3.c crbaloon.c dcs.c dcs.h depthch.c dkong.c exidy.c exidy440.c galaxian.c gottlieb.c invinco.c irem.c jedi.c mario.c mcr.c mcr.h micro3d.c mw8080bw.c n8080.c namco52.c namco54.c pleiads.c pleiads.h* pulsar.c qix.c redalert.c scramble.c segag80r.c segasnd.c segasnd.h seibu.c senjyo.c snk6502.c spacefb.c spiders.c taito_en.c taito_en.h taito_zm.c taito_zm.h targ.c timeplt.c toaplan2.c turbo.c vicdual.c williams.c williams.h zaxxon.c
[src/mame/drivers]1942.c 1943.c 1945kiii.c 20pacgal.c 2mindril.c 39in1.c 3super8.c 40love.c 4enraya.c 4roses.c 5clown.c 8080bw.c 86lions.c 88games.c ace.c acefruit.c acommand.c actfancr.c adp.c aeroboto.c aerofgt.c airbustr.c ajax.c albazc.c albazg.c aleck64.c alg.c aliens.c alpha68k.c amaticmg.c ambush.c ampoker2.c amspdwy.c angelkds.c appoooh.c aquarium.c arabian.c arcadecl.c arcadia.c argus.c aristmk4.c aristmk5.c arkanoid.c armedf.c artmagic.c ashnojoe.c asterix.c asteroid.c astinvad.c astrocorp.c astrof.c asuka.c atarifb.c atarig1.c atarig42.c atarigt.c atarigx2.c atarisy1.c atarisy2.c atarisy4.c ataxx.c atetris.c attckufo.c avalnche.c aztarac.c backfire.c badlands.c bagman.c balsente.c bankp.c baraduke.c batman.c battlane.c battlera.c battlex.c battlnts.c bbusters.c beaminv.c beathead.c beezer.c berzerk.c bestleag.c bfcobra.c bfm_sc1.c bfm_sc2.c bfmsys85.c big10.c bigevglf.c bigfghtr.c bigstrkb.c bingoc.c bingor.c bionicc.c bishi.c bishjan.c bking.c blackt96.c bladestl.c blitz.c blktiger.c blmbycar.c blockade.c blockhl.c blockout.c bloodbro.c blstroid.c blueprnt.c bmcbowl.c bnstars.c bogeyman.c bombjack.c boogwing.c bottom9.c boxer.c brkthru.c bsktball.c btime.c btoads.c bublbobl.c buggychl.c buster.c bwidow.c bwing.c bzone.c cabal.c cabaret.c calchase.c calomega.c calorie.c canyon.c capbowl.c cardline.c carjmbre.c carpolo.c carrera.c caswin.c cave.c cb2001.c cball.c cbasebal.c cbuster.c ccastles.c cchance.c cchasm.c cclimber.c cdi.c centiped.c chaknpop.c cham24.c champbas.c champbwl.c chanbara.c changela.c cheekyms.c chihiro.c chinagat.c chinsan.c chqflag.c chsuper.c cidelsa.c cinemat.c circus.c circusc.c cischeat.c citycon.c clayshoo.c cliffhgr.c cloak.c cloud9.c clshroad.c cmmb.c cninja.c cntsteer.c coinmstr.c coinmvga.c cojag.c combatsc.c comebaby.c commando.c compgolf.c contra.c coolpool.c coolridr.c cop01.c copsnrob.c cosmic.c cps1.c cps2.c cps3.c crbaloon.c crgolf.c crimfght.c crospang.c crshrace.c crystal.c cshooter.c cubeqst.c cubocd32.c cultures.c cvs.c cyberbal.c cybertnk.c cyclemb.c d9final.c dacholer.c dambustr.c darius.c darkhors.c darkmist.c darkseal.c dassault.c dblewing.c dbz.c dcheese.c dcon.c dday.c ddayjlc.c ddealer.c ddenlovr.c ddragon.c ddragon3.c ddribble.c ddz.c deadang.c dec0.c dec8.c deco156.c deco32.c deco_ld.c deco_mlc.c decocass.c deniam.c deshoros.c destroyr.c dgpix.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 dwarfd.c dynadice.c dynax.c dynduke.c egghunt.c embargo.c enigma2.c eolith.c eolith16.c epos.c eprom.c equites.c ertictac.c esd16.c esh.c espial.c esripsys.c ettrivia.c exedexes.c exerion.c exidy.c exidy440.c expro02.c exprraid.c exterm.c exzisus.c f-32.c f1gp.c fantland.c fastfred.c fastlane.c fcombat.c fcrash.c feversoc.c fgoal.c finalizr.c firebeat.c firefox.c firetrap.c firetrk.c fitfight.c flkatck.c flower.c flstory.c flyball.c foodf.c forte2.c fortecar.c freekick.c fromanc2.c fromance.c funkybee.c funkyjet.c funworld.c funybubl.c fuukifg2.c fuukifg3.c gaelco.c gaelco2.c gaelco3d.c gaiden.c gal3.c galaga.c galastrm.c galaxi.c galaxia.c galaxian.c galaxold.c galivan.c galpani2.c galpani3.c galpanic.c galspnbl.c gamecstl.c gameplan.c gaplus.c gatron.c gauntlet.c gberet.c gbusters.c gcpinbal.c gei.c ggconnie.c ghosteo.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 gridlee.c groundfx.c gstream.c gstriker.c gsword.c gticlub.c guab.c gumbo.c gunbustr.c gundealr.c gunpey.c gunsmoke.c gyruss.c halleys.c hanaawas.c harddriv.c hcastle.c hexion.c higemaru.c highvdeo.c hikaru.c himesiki.c hitme.c hitpoker.c hnayayoi.c hng64.c holeland.c homedata.c homerun.c hornet.c hotblock.c hotstuff.c hvyunit.c hyhoo.c hyperspt.c hyprduel.c igs009.c igs011.c igs017.c igs_m027.c igspoker.c ikki.c ilpag.c imolagp.c intrscti.c inufuku.c iqblock.c irobot.c ironhors.c istellar.c itech32.c itech8.c itgambl2.c itgambl3.c itgamble.c jack.c jackal.c jackie.c jackpool.c jailbrek.c jalmah.c jangou.c jantotsu.c jchan.c jedi.c jokrwild.c jollyjgr.c jongkyo.c jpmimpct.c jpmsys5.c jrpacman.c jubilee.c* junofrst.c kaneko16.c kangaroo.c karnov.c kchamp.c kickgoal.c kingdrby.c kingobox.c kingpin.c kinst.c klax.c kncljoe.c koftball.c koikoi.c konamigq.c konamigv.c konamigx.c konamim2.c kongambl.c kopunch.c ksayakyu.c ksys573.c kungfur.c kyugo.c labyrunr.c ladybug.c ladyfrog.c laserbas.c laserbat.c lasso.c lastduel.c lastfght.c lazercmd.c legionna.c leland.c lemmings.c lethal.c lethalj.c lgp.c liberate.c liberatr.c limenko.c littlerb.c lkage.c lockon.c looping.c lordgun.c lsasquad.c ltcasino.c luckgrln.c lucky74.c lvcards.c lwings.c m10.c m107.c m14.c m52.c m57.c m58.c m62.c m63.c m72.c m79amb.c m90.c m92.c macrossp.c macs.c madalien.c madmotor.c magic10.c magicard.c magicfly.c magictg.c magmax.c mainevt.c mainsnk.c malzak.c mappy.c marineb.c marinedt.c mario.c markham.c mastboy.c matmania.c maxaflex.c maygay1b.c maygayv1.c mayumi.c mazerbla.c mcatadv.c mcr.c mcr3.c mcr68.c meadows.c mediagx.c megadriv.c megadrvb.c megaplay.c megasys1.c megatech.c megazone.c meijinsn.c merit.c meritm.c mermaid.c metalmx.c metlclsh.c metro.c mexico86.c mgolf.c mhavoc.c micro3d.c midas.c midtunit.c midvunit.c midwunit.c midxunit.c midyunit.c midzeus.c mikie.c mil4000.c miniboy7.c minivadr.c mirage.c mirax.c missb2.c missile.c mitchell.c mjkjidai.c mjsister.c mlanding.c model1.c model2.c model3.c mogura.c mole.c momoko.c monzagp.c moo.c mosaic.c mouser.c mpoker.c mpu4.c mpu4drvr.c mpu5.c mquake.c mrdo.c mrflea.c mrjong.c ms32.c msisaac.c mugsmash.c multfish.c multigam.c munchmo.c murogem.c murogmbl.c mustache.c mw8080bw.c mwarr.c mystston.c mystwarr.c n8080.c namcofl.c namcona1.c namconb1.c namcond1.c namcops2.c namcos1.c namcos10.c namcos11.c namcos12.c namcos2.c namcos21.c namcos22.c namcos23.c namcos86.c naomi.c naughtyb.c nbmj8688.c nbmj8891.c nbmj8900.c nbmj8991.c nbmj9195.c nemesis.c neodrvr.c neogeo.c neptunp2.c news.c nightgal.c ninjakd2.c ninjaw.c nitedrvr.c niyanpai.c nmg5.c nmk16.c norautp.c nova2001.c nss.c nwk-tr.c nycaptor.c nyny.c offtwall.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 pangofun.c panicr.c paradise.c paranoia.c parodius.c pasha2.c pass.c pastelg.c pbaction.c pcat_dyn.c pcat_nit.c pcktgal.c pcxt.c pengadvb.c pengo.c peplus.c pgm.c phoenix.c photon.c photon2.c photoply.c pingpong.c pinkiri8.c pipedrm.c pipeline.c pirates.c pitnrun.c pkscram.c pktgaldx.c playch10.c playmark.c plygonet.c pntnpuzl.c pokechmp.c poker72.c polepos.c policetr.c polyplay.c poo.c poolshrk.c pooyan.c popeye.c popper.c portrait.c powerbal.c powerins.c ppmast93.c prehisle.c progolf.c psattack.c psikyo.c psikyo4.c psikyosh.c psychic5.c pturn.c puckpkmn.c punchout.c pushman.c pzletime.c qdrmfgp.c qix.c quakeat.c quantum.c quasar.c queen.c quizdna.c quizo.c quizpani.c quizpun2.c r2dtank.c rabbit.c raiden.c raiden2.c rainbow.c rallyx.c rampart.c rastan.c rbmk.c rcorsair.c re900.c realbrk.c redalert.c redclash.c relief.c renegade.c retofinv.c rgum.c rmhaihai.c rockrage.c rocnrope.c rohga.c rollerg.c rollrace.c rotaryf.c roul.c route16.c royalmah.c rpunch.c runaway.c rungun.c safarir.c sandscrp.c sangho.c sauro.c savquest.c sbasketb.c sbowling.c sbrkout.c sbugger.c scobra.c scotrsht.c scramble.c scregg.c sderby.c seattle.c segac2.c segae.c segag80r.c segag80v.c segahang.c segald.c segamsys.c segaorun.c segas16a.c segas16b.c segas18.c segas24.c segas32.c segaxbd.c segaybd.c seibuspi.c seicross.c sengokmj.c senjyo.c seta.c seta2.c sf.c sfbonus.c sfcbox.c sfkick.c sg1000a.c shadfrce.c shangha3.c shanghai.c shangkid.c shaolins.c shisen.c shootout.c shougi.c shuuz.c sidearms.c sidepckt.c sigmab52.c sigmab98.c silkroad.c simpl156.c simpsons.c skeetsht.c skimaxx.c skullxbo.c skyarmy.c skydiver.c skyfox.c skykid.c skylncr.c skyraid.c slapfght.c slapshot.c sliver.c slotcarn.c sms.c snesb.c snk.c snk6502.c snk68.c snookr10.c snowbros.c solomon.c sonson.c sothello.c spacefb.c spaceg.c spbactn.c spcforce.c spdodgeb.c speedatk.c speedbal.c speedspn.c speglsht.c spiders.c splash.c spoker.c spool99.c sprcros2.c sprint2.c sprint4.c sprint8.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 ssv.c st0016.c stactics.c stadhero.c starcrus.c starfire.c starshp1.c starwars.c statriv2.c stepstag.c stfight.c stlforce.c strnskil.c stv.c sub.c subs.c subsino.c suna16.c suna8.c supbtime.c supdrapo.c superchs.c superdq.c superqix.c supertnk.c suprgolf.c suprloco.c suprnova.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_o.c taito_x.c taito_z.c taitoair.c taitogn.c taitojc.c taitopjc.c taitosj.c taitotz.c taitowlf.c tank8.c tankbatt.c tankbust.c taotaido.c targeth.c tatsumi.c tattack.c taxidrvr.c tbowl.c tceptor.c tcl.c tecmo.c tecmo16.c tecmosys.c tehkanwc.c tempest.c terracre.c tetrisp2.c tgtpanic.c thayers.c thedeep.c thepit.c thief.c thoop2.c thunderj.c thunderx.c tiamc1.c tickee.c tigeroad.c timelimt.c timeplt.c timetrv.c tmaster.c tmmjprd.c tmnt.c tnzs.c toaplan1.c toaplan2.c toki.c tokyocop.c tomcat.c toobin.c topspeed.c toratora.c tourtabl.c toypop.c tp84.c trackfld.c travrusa.c triforce.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 turrett.c tutankhm.c twin16.c twincobr.c twinkle.c twins.c tx1.c uapce.c ultraman.c ultratnk.c ultrsprt.c undrfire.c unico.c upscope.c usgames.c vamphalf.c vaportra.c vastar.c vball.c vcombat.c vega.c vegaeo.c vegas.c vendetta.c vertigo.c vicdual.c victory.c videopin.c videopkr.c vigilant.c vindictr.c viper.c vmetal.c volfied.c vp101.c vpoker.c vroulet.c vsnes.c vulgus.c wallc.c wardner.c warpwarp.c warriorb.c wc90.c wc90b.c wecleman.c welltris.c wgp.c wheelfir.c williams.c wink.c wiping.c witch.c wiz.c wldarrow.c wolfpack.c wrally.c wwfsstar.c wwfwfest.c xain.c xexex.c xmen.c xorworld.c xtheball.c xxmissio.c xybots.c xyonix.c yiear.c yunsun16.c yunsung8.c zac2650.c zaccaria.c zaxxon.c zerozone.c zn.c zodiack.c zr107.c
[src/mame/includes]1942.h 1943.h 20pacgal.h 4enraya.h 88games.h actfancr.h aeroboto.h aerofgt.h airbustr.h ajax.h aliens.h alpha68k.h ambush.h ampoker2.h* amspdwy.h angelkds.h appoooh.h aquarium.h arabian.h arkanoid.h armedf.h ashnojoe.h asterix.h astrof.h asuka.h atarifb.h atarig1.h atarig42.h atarigt.h atarigx2.h atarisy1.h atarisy2.h atetris.h avalnche.h aztarac.h badlands.h balsente.h bankp.h baraduke.h* batman.h battlane.h battlera.h* battlex.h battlnts.h bbusters.h beathead.h beezer.h bigevglf.h bigstrkb.h bionicc.h bishi.h bladestl.h blktiger.h blmbycar.h blockade.h blockhl.h blockout.h bloodbro.h* blstroid.h blueprnt.h bogeyman.h bombjack.h boogwing.h bottom9.h brkthru.h bsktball.h btime.h bublbobl.h buggychl.h bwing.h bzone.h cabal.h calomega.h* canyon.h capbowl.h carjmbre.h cave.h cbasebal.h cbuster.h ccastles.h centiped.h chaknpop.h champbas.h changela.h cheekyms.h chqflag.h cidelsa.h cinemat.h circus.h circusc.h citycon.h cloak.h cloud9.h clshroad.h* cninja.h combatsc.h commando.h compgolf.h contra.h coolpool.h cop01.h copsnrob.h cosmic.h cps3.h crbaloon.h crgolf.h crimfght.h crospang.h crshrace.h cvs.h cyberbal.h darius.h darkmist.h* darkseal.h* dassault.h dbz.h dc.h dcheese.h dcon.h* dday.h ddragon.h ddragon3.h ddribble.h deadang.h* dec8.h deco_mlc.h* deniam.h dietgo.h djboy.h djmain.h* dkong.h docastle.h dogfgt.h dragrace.h drgnmst.h dribling.h drmicro.h dynax.h dynduke.h* eolith.h* epos.h eprom.h equites.h esd16.h espial.h exedexes.h exerion.h exidy.h exidy440.h exprraid.h exzisus.h* f1gp.h fantland.h fastlane.h fcombat.h fgoal.h finalizr.h firetrap.h fitfight.h flkatck.h flstory.h foodf.h freekick.h fromanc2.h fromance.h funkybee.h funkyjet.h funworld.h* funybubl.h fuukifg2.h fuukifg3.h gaelco.h gaelco2.h gaiden.h galaga.h galastrm.h* galaxian.h galaxold.h galivan.h galpanic.h* galspnbl.h gameplan.h gatron.h* gauntlet.h gberet.h gbusters.h gcpinbal.h genesis.h gijoe.h ginganin.h gladiatr.h* glass.h gng.h goal92.h goindol.h goldstar.h gotcha.h gottlieb.h gotya.h gradius3.h grchamp.h gridlee.h groundfx.h* gsword.h* gumbo.h gunbustr.h* gundealr.h gunsmoke.h gyruss.h hanaawas.h harddriv.h hcastle.h hexion.h* higemaru.h himesiki.h hitme.h hnayayoi.h hng64.h holeland.h homedata.h homerun.h hyhoo.h* hyprduel.h ikki.h inufuku.h iremz80.h irobot.h ironhors.h itech32.h jack.h jackal.h jaguar.h jailbrek.h jedi.h kangaroo.h karnov.h kchamp.h kickgoal.h kingobox.h klax.h kncljoe.h konamigx.h kopunch.h ksayakyu.h kyugo.h labyrunr.h ladybug.h ladyfrog.h laserbat.h lasso.h lastduel.h lazercmd.h leland.h lemmings.h lethal.h liberate.h lkage.h lockon.h lsasquad.h lucky74.h* lvcards.h* lwings.h m10.h m90.h* macrossp.h madalien.h madmotor.h magmax.h* mainevt.h mainsnk.h malzak.h mappy.h mario.h markham.h matmania.h mcatadv.h mcr.h mcr68.h* meadows.h megadriv.h megazone.h mermaid.h metalmx.h metlclsh.h metro.h mexico86.h micro3d.h midtunit.h midvunit.h midwunit.h midyunit.h midzeus.h mikie.h mitchell.h mjkjidai.h momoko.h moo.h mosaic.h mouser.h mrdo.h mrflea.h mrjong.h mugsmash.h munchmo.h mustache.h* mw8080bw.h mystston.h mystwarr.h* n64.h n8080.h namcofl.h* namcona1.h namcos21.h namcos86.h* naughtyb.h* nb1413m3.h nbmj8900.h* nemesis.h news.h ninjaw.h nitedrvr.h nycaptor.h offtwall.h ohmygod.h ojankohs.h oneshot.h opwolf.h orbit.h othldrby.h othunder.h overdriv.h pacland.h* pandoras.h paradise.h parodius.h pass.h pastelg.h* pbaction.h pcktgal.h* pgm.h phoenix.h pingpong.h* pirates.h* pitnrun.h pktgaldx.h playch10.h playmark.h plygonet.h pokechmp.h* polyplay.h popeye.h* popper.h portrait.h* powerins.h* prehisle.h psikyo.h psikyo4.h psikyosh.h psychic5.h* punchout.h* pushman.h qdrmfgp.h* qix.h quizdna.h* quizpani.h* raiden.h* raiden2.h rainbow.h rampart.h rastan.h redalert.h relief.h renegade.h* rockrage.h rohga.h rollerg.h rollrace.h* route16.h* rpunch.h* runaway.h* rungun.h sauro.h* sbugger.h scotrsht.h* sderby.h segag80r.h segamsys.h segas16.h seicross.h* senjyo.h seta.h seta2.h sf.h shadfrce.h shangha3.h* shangkid.h* shaolins.h* shisen.h* shootout.h shuuz.h sidearms.h sidepckt.h silkroad.h simpl156.h simpsons.h skullxbo.h skyfox.h skykid.h* skyraid.h slapshot.h snes.h snk.h snk6502.h snk68.h snookr10.h* solomon.h* sonson.h spacefb.h spbactn.h spcforce.h* spdodgeb.h* speedatk.h* speedbal.h* speedspn.h* spiders.h splash.h* sprcros2.h* sprint4.h* spy.h srmp2.h srumbler.h* sshangha.h* sslam.h ssozumo.h* ssrj.h* ssv.h stactics.h stadhero.h* starcrus.h* stlforce.h strnskil.h* subs.h suna16.h* suna8.h supbtime.h superchs.h* superqix.h* suprloco.h* suprslam.h surpratk.h system1.h* system16.h tagteam.h* tail2nos.h taito_b.h taito_f2.h taito_f3.h taito_h.h taito_l.h taito_o.h taito_z.h taitoair.h taitojc.h tankbatt.h* tankbust.h* targ.h targeth.h* tatsumi.h tbowl.h* tceptor.h* tecmo.h* tecmo16.h* tehkanwc.h* terracre.h* thepit.h* thief.h* thoop2.h* thunderj.h thunderx.h tigeroad.h* timelimt.h* timeplt.h tmnt.h tnzs.h toaplan1.h toaplan2.h toki.h* toobin.h topspeed.h toypop.h tp84.h* trackfld.h triplhnt.h truco.h* trucocl.h* tryout.h* tsamurai.h* tumbleb.h tumblep.h tunhunt.h turbo.h twin16.h ultraman.h ultratnk.h undrfire.h* usgames.h* vaportra.h vastar.h vendetta.h vicdual.h vigilant.h* vindictr.h volfied.h vulgus.h* warriorb.h wc90b.h* wecleman.h* welltris.h wgp.h williams.h wiz.h* wolfpack.h* wwfsstar.h xain.h* xexex.h xmen.h xorworld.h* xxmissio.h* xybots.h xyonix.h yunsun16.h yunsung8.h zac2650.h* zaccaria.h* zaxxon.h zerozone.h
[src/mame/layout]awpdmd.lay
[src/mame/machine]archimds.c asic65.c asic65.h atarigen.c atarigen.h balsente.c beezer.c decocass.h leland.c mcr.c mcr68.c* midtunit.c midwunit.c namco50.c namco51.c namco53.c namcos2.c nb1413m3.c nmk004.c pcshare.c tatsumi.c williams.c xevious.c
[src/mame/video]20pacgal.c ampoker2.c atetris.c balsente.c baraduke.c battlera.c beezer.c bfm_dm01.c bfm_dm01.h bloodbro.c calomega.c centiped.c cidelsa.c cloak.c clshroad.c crgolf.c darkmist.c darkseal.c dcon.c deadang.c deco_mlc.c djmain.c dynduke.c eolith.c exidy440.c exzisus.c funworld.c gaiden.c galastrm.c galaxian.c galpanic.c gameplan.c gatron.c gladiatr.c gottlieb.c gp9001.c gp9001.h gridlee.c groundfx.c gsword.c gticlub.c gunbustr.c hexion.c hyhoo.c irobot.c itech32.c jedi.c konamigx.c leland.c lucky74.c lvcards.c m90.c madalien.c magmax.c mcr.c mcr3.c mcr68.c meadows.c midtunit.c midyunit.c mustache.c mystston.c mystwarr.c namcofl.c namcona1.c namcos21.c namcos86.c naughtyb.c nbmj8900.c pacland.c pastelg.c pcktgal.c phoenix.c pingpong.c pirates.c pitnrun.c playch10.c pokechmp.c polyplay.c popeye.c portrait.c powerins.c ppu2c0x.h psychic5.c punchout.c qdrmfgp.c qix.c quizdna.c quizpani.c raiden.c rastan.c redalert.c renegade.c rollrace.c route16.c rpunch.c runaway.c sauro.c scotrsht.c segag80r.c seicross.c senjyo.c shangha3.c shangkid.c shaolins.c shisen.c skykid.c skyraid.c snookr10.c solomon.c spcforce.c spdodgeb.c speedatk.c speedbal.c speedspn.c splash.c sprcros2.c sprint4.c srumbler.c sshangha.c ssozumo.c ssrj.c ssv.c stactics.c stadhero.c starcrus.c strnskil.c subs.c suna16.c suna8.c superchs.c superqix.c suprloco.c system1.c tagteam.c taito_f3.c tankbatt.c tankbust.c targeth.c tatsumi.c tbowl.c tceptor.c tecmo.c tecmo16.c tehkanwc.c terracre.c thepit.c thief.c thoop2.c tigeroad.c timelimt.c toaplan2.c toki.c tp84.c truco.c trucocl.c tryout.c tsamurai.c twin16.c ultratnk.c undrfire.c usgames.c vigilant.c vulgus.c wc90b.c wecleman.c wiz.c wolfpack.c xain.c xorworld.c xxmissio.c zac2650.c zaccaria.c
[src/mess]mess.mak
[src/osd/sdl]sdl.mak
[src/osd/windows]winmain.c
[src/tools]chdcd.c chdman.c

src/build/makedep.c
r9191r9192
200200   /* make sure we got 1 parameter */
201201   if (srcdir == NULL)
202202      goto usage;
203   
203
204204   /* create a tagmap for tracking files we've visited */
205205   file_map = tagmap_alloc();
206206
r9191r9192
242242   int filelen = astring_len(file->name);
243243   exclude_path *exclude;
244244   dependency *dep;
245   
245
246246   /* skip if we're in an exclude path */
247247   for (exclude = excpaths; exclude != NULL; exclude = exclude->next)
248248      if (exclude->pathlen < filelen && strncmp(astring_c(file->name), astring_c(exclude->path), exclude->pathlen) == 0)
249249         if (exclude->recursive || astring_chr(file->name, exclude->pathlen + 1, '/') == -1)
250250            return;
251   
251
252252   /* attempt to add; if we get an error, we're already present */
253253   if (tagmap_add(map, astring_c(file->name), file->name, FALSE) != TMERR_NONE)
254254      return;
255   
255
256256   /* recurse the list from there */
257257   for (dep = file->deplist; dep != NULL; dep = dep->next)
258258      recurse_dependencies(dep->file, map);
r9191r9192
344344               file_entry *file;
345345               astring *target;
346346               int taghash;
347               
347
348348               /* find dependencies */
349349               file = compute_dependencies(srcrootlen, srcfile);
350350               recurse_dependencies(file, depend_map);
r9191r9192
354354               astring_replacec(target, 0, "src/", "$(OBJ)/");
355355               astring_replacec(target, 0, ".c", ".o");
356356               printf("\n%s : \\\n", astring_c(target));
357               
357
358358               /* iterate over the hashed dependencies and output them as well */
359359               for (taghash = 0; taghash < TAGMAP_HASH_SIZE; taghash++)
360360                  for (entry = depend_map->table[taghash]; entry != NULL; entry = entry->next)
361361                     printf("\t%s \\\n", astring_c((astring *)entry->object));
362               
362
363363               astring_free(target);
364364               tagmap_free(depend_map);
365365            }
r9191r9192
400400   file_entry *file;
401401   char *filedata;
402402   int index;
403   
403
404404   /* see if we already have an entry */
405405   normalfile = astring_dup(srcfile);
406406   astring_replacechr(normalfile, PATH_SEPARATOR[0], '/');
r9191r9192
429429         int scan = index;
430430         dependency *dep;
431431         int start;
432         
432
433433         /* first make sure we're not commented or quoted */
434434         for (scan = index; scan > 2 && filedata[scan] != 13 && filedata[scan] != 10; scan--)
435435            if ((filedata[scan] == '/' && filedata[scan - 1] == '/') || filedata[scan] == '"')
436436               break;
437437         if (filedata[scan] != 13 && filedata[scan] != 10)
438438            continue;
439         
439
440440         /* scan forward to find the quotes or bracket */
441441         index += 7;
442442         for (scan = index; scan < filelength && filedata[scan] != '<' && filedata[scan] != '"' && filedata[scan] != 13 && filedata[scan] != 10; scan++) ;
443           
443
444444         /* ignore if not found or if it's bracketed */
445445         if (scan >= filelength || filedata[scan] != '"')
446446            continue;
447447         start = ++scan;
448         
448
449449         /* find the closing quote */
450450         while (scan < filelength && filedata[scan] != '"')
451451            scan++;
r9191r9192
455455         /* find the include file */
456456         filename = astring_dupch(&filedata[start], scan - start);
457457         target = find_include_file(srcrootlen, srcfile, filename);
458         
458
459459         /* create a new dependency */
460460         if (target != NULL)
461461         {
src/mame/audio/micro3d.c
r9191r9192
213213INLINE noise_state *get_safe_token(running_device *device)
214214{
215215   assert(device != NULL);
216   assert(device->type() == SOUND_MICRO3D);
216   assert(device->type() == MICRO3D);
217217
218218   return (noise_state *)downcast<legacy_device_base *>(device)->token();
219219}
src/mame/audio/spacefb.c
r9191r9192
8686};
8787
8888
89MACHINE_DRIVER_START( spacefb_audio )
89MACHINE_CONFIG_FRAGMENT( spacefb_audio )
9090   MDRV_SPEAKER_STANDARD_MONO("mono")
9191
9292   MDRV_SOUND_ADD("dac", DAC, 0)
r9191r9192
9595   MDRV_SOUND_ADD("samples", SAMPLES, 0)
9696   MDRV_SOUND_CONFIG(spacefb_samples_interface)
9797   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
98MACHINE_DRIVER_END
98MACHINE_CONFIG_END
src/mame/audio/n8080.c
r9191r9192
585585ADDRESS_MAP_END
586586
587587
588MACHINE_DRIVER_START( spacefev_sound )
588MACHINE_CONFIG_FRAGMENT( spacefev_sound )
589589
590590   /* basic machine hardware */
591591   MDRV_CPU_ADD("audiocpu", I8035, 6000000)
r9191r9192
603603   MDRV_SOUND_ADD("snsnd", SN76477, 0)
604604   MDRV_SOUND_CONFIG(spacefev_sn76477_interface)
605605   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
606MACHINE_DRIVER_END
606MACHINE_CONFIG_END
607607
608608
609MACHINE_DRIVER_START( sheriff_sound )
609MACHINE_CONFIG_FRAGMENT( sheriff_sound )
610610
611611   /* basic machine hardware */
612612   MDRV_CPU_ADD("audiocpu", I8035, 6000000)
r9191r9192
622622   MDRV_SOUND_ADD("snsnd", SN76477, 0)
623623   MDRV_SOUND_CONFIG(sheriff_sn76477_interface)
624624   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
625MACHINE_DRIVER_END
625MACHINE_CONFIG_END
626626
627627
628MACHINE_DRIVER_START( helifire_sound )
628MACHINE_CONFIG_FRAGMENT( helifire_sound )
629629
630630   /* basic machine hardware */
631631   MDRV_CPU_ADD("audiocpu", I8035, 6000000)
r9191r9192
639639
640640   MDRV_SOUND_ADD("dac", DAC, 0)
641641   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
642MACHINE_DRIVER_END
642MACHINE_CONFIG_END
src/mame/audio/galaxian.c
r9191r9192
479479 *
480480 *************************************/
481481
482MACHINE_DRIVER_START( galaxian_audio )
482MACHINE_CONFIG_FRAGMENT( galaxian_audio )
483483
484484   MDRV_SOUND_START(galaxian)
485485
r9191r9192
487487   MDRV_SOUND_CONFIG_DISCRETE(galaxian)
488488
489489   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
490MACHINE_DRIVER_END
490MACHINE_CONFIG_END
491491
492MACHINE_DRIVER_START( mooncrst_audio )
492MACHINE_CONFIG_FRAGMENT( mooncrst_audio )
493493
494494   MDRV_SOUND_START(galaxian)
495495
r9191r9192
497497   MDRV_SOUND_CONFIG_DISCRETE(mooncrst)
498498
499499   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
500MACHINE_DRIVER_END
500MACHINE_CONFIG_END
src/mame/audio/turbo.c
r9191r9192
193193};
194194
195195
196MACHINE_DRIVER_START( turbo_samples )
196MACHINE_CONFIG_FRAGMENT( turbo_samples )
197197
198198   /* this is the cockpit speaker configuration */
199199   MDRV_SPEAKER_ADD("fspeaker", 0.0, 0.0, 1.0)      /* front */
r9191r9192
238238
239239   /* channel 9 = OSEL -> OCAR.W/WM */
240240   MDRV_SOUND_ROUTE(9, "bspeaker",  0.25)
241MACHINE_DRIVER_END
241MACHINE_CONFIG_END
242242
243243/*
244244    Cockpit: CN2 1+2 -> FRONT
r9191r9192
451451};
452452
453453
454MACHINE_DRIVER_START( subroc3d_samples )
454MACHINE_CONFIG_FRAGMENT( subroc3d_samples )
455455   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
456456
457457   MDRV_SOUND_ADD("samples", SAMPLES, 0)
r9191r9192
488488   /* PROLOGUE sound in channel 11 */
489489   MDRV_SOUND_ROUTE(11, "lspeaker",  0.25)
490490   MDRV_SOUND_ROUTE(11, "rspeaker", 0.25)
491MACHINE_DRIVER_END
491MACHINE_CONFIG_END
492492
493493
494494
r9191r9192
606606};
607607
608608
609MACHINE_DRIVER_START( buckrog_samples )
609MACHINE_CONFIG_FRAGMENT( buckrog_samples )
610610   MDRV_SPEAKER_STANDARD_MONO("mono")
611611   MDRV_SOUND_ADD("samples", SAMPLES, 0)
612612   MDRV_SOUND_CONFIG(buckrog_samples_interface)
613613   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
614MACHINE_DRIVER_END
614MACHINE_CONFIG_END
615615
616616
617617
src/mame/audio/atarijsa.c
r9191r9192
5757static const char *test_port;
5858static UINT16 test_mask;
5959
60static pokey_sound_device *pokey;
61static ym2151_sound_device *ym2151;
60static pokey_device *pokey;
61static ym2151_device *ym2151;
6262static device_t *tms5220;
6363static okim6295_device *oki6295;
6464static okim6295_device *oki6295_l, *oki6295_r;
r9191r9192
139139
140140   /* determine which sound hardware is installed */
141141   tms5220 = machine->device("tms");
142   ym2151 = machine->device<ym2151_sound_device>("ymsnd");
143   pokey = machine->device<pokey_sound_device>("pokey");
142   ym2151 = machine->device<ym2151_device>("ymsnd");
143   pokey = machine->device<pokey_device>("pokey");
144144   oki6295 = machine->device<okim6295_device>("adpcm");
145145   oki6295_l = machine->device<okim6295_device>("adpcml");
146146   oki6295_r = machine->device<okim6295_device>("adpcmr");
r9191r9192
340340   {
341341      case 0x000:      /* /RDV */
342342         if (oki6295 != NULL)
343            result = okim6295_r(oki6295, offset);
343            result = oki6295->read(*space, offset);
344344         else
345345            logerror("atarijsa: Unknown read at %04X\n", offset & 0x206);
346346         break;
r9191r9192
398398
399399      case 0x200:      /* /WRV */
400400         if (oki6295 != NULL)
401            okim6295_w(oki6295, offset, data);
401            oki6295->write(*space, offset, data);
402402         else
403403            logerror("atarijsa: Unknown write (%02X) at %04X\n", data & 0xff, offset & 0x206);
404404         break;
r9191r9192
465465   {
466466      case 0x000:      /* /RDV */
467467         if (oki6295 != NULL)
468            result = okim6295_r(oki6295, offset);
468            result = oki6295->read(*space, offset);
469469         break;
470470
471471      case 0x002:      /* /RDP */
r9191r9192
525525
526526      case 0x200:      /* /WRV */
527527         if (oki6295 != NULL)
528            okim6295_w(oki6295, offset, data);
528            oki6295->write(*space, offset, data);
529529         break;
530530
531531      case 0x202:      /* /WRP */
r9191r9192
599599   {
600600      case 0x000:      /* /RDV */
601601         if (oki6295_l != NULL)
602            result = okim6295_r((offset & 1) ? oki6295_r : oki6295_l, offset);
602            result = ((offset & 1) ? oki6295_r : oki6295_l)->read(*space, offset);
603603         break;
604604
605605      case 0x002:      /* /RDP */
r9191r9192
659659
660660      case 0x200:      /* /WRV */
661661         if (oki6295_l != NULL)
662            okim6295_w((offset & 1) ? oki6295_r : oki6295_l, 0, data);
662            ((offset & 1) ? oki6295_r : oki6295_l)->write(*space, 0, data);
663663         break;
664664
665665      case 0x202:      /* /WRP */
r9191r9192
803803 *************************************/
804804
805805/* Used by Blasteroids */
806MACHINE_DRIVER_START( jsa_i_stereo )
806MACHINE_CONFIG_FRAGMENT( jsa_i_stereo )
807807
808808   /* basic machine hardware */
809809   MDRV_CPU_ADD("jsa", M6502, JSA_MASTER_CLOCK/2)
r9191r9192
817817   MDRV_SOUND_CONFIG(ym2151_config)
818818   MDRV_SOUND_ROUTE(0, "lspeaker", 0.60)
819819   MDRV_SOUND_ROUTE(1, "rspeaker", 0.60)
820MACHINE_DRIVER_END
820MACHINE_CONFIG_END
821821
822822
823823/* Used by Xybots */
824MACHINE_DRIVER_START( jsa_i_stereo_swapped )
824MACHINE_CONFIG_DERIVED( jsa_i_stereo_swapped, jsa_i_stereo )
825825
826826   /* basic machine hardware */
827   MDRV_IMPORT_FROM(jsa_i_stereo)
828827
829828   /* sound hardware */
830829   MDRV_SOUND_REPLACE("ymsnd", YM2151, JSA_MASTER_CLOCK)
831830   MDRV_SOUND_CONFIG(ym2151_config)
832831   MDRV_SOUND_ROUTE(0, "rspeaker", 0.60)
833832   MDRV_SOUND_ROUTE(1, "lspeaker", 0.60)
834MACHINE_DRIVER_END
833MACHINE_CONFIG_END
835834
836835
837836/* Used by Toobin', Vindicators */
838MACHINE_DRIVER_START( jsa_i_stereo_pokey )
837MACHINE_CONFIG_DERIVED( jsa_i_stereo_pokey, jsa_i_stereo )
839838
840839   /* basic machine hardware */
841   MDRV_IMPORT_FROM(jsa_i_stereo)
842840
843841   /* sound hardware */
844842   MDRV_SOUND_ADD("pokey", POKEY, JSA_MASTER_CLOCK/2)
845843   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
846844   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
847MACHINE_DRIVER_END
845MACHINE_CONFIG_END
848846
849847
850848/* Used by Escape from the Planet of the Robot Monsters */
851MACHINE_DRIVER_START( jsa_i_mono_speech )
849MACHINE_CONFIG_FRAGMENT( jsa_i_mono_speech )
852850
853851   /* basic machine hardware */
854852   MDRV_CPU_ADD("jsa", M6502, JSA_MASTER_CLOCK/2)
r9191r9192
865863
866864   MDRV_SOUND_ADD("tms", TMS5220C, JSA_MASTER_CLOCK*2/11) /* potentially JSA_MASTER_CLOCK/9 as well */
867865   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
868MACHINE_DRIVER_END
866MACHINE_CONFIG_END
869867
870868
871869/* Used by Cyberball 2072, STUN Runner, Skull & Crossbones, ThunderJaws, Hydra, Pit Fighter */
872MACHINE_DRIVER_START( jsa_ii_mono )
870MACHINE_CONFIG_FRAGMENT( jsa_ii_mono )
873871
874872   /* basic machine hardware */
875873   MDRV_CPU_ADD("jsa", M6502, JSA_MASTER_CLOCK/2)
r9191r9192
886884
887885   MDRV_OKIM6295_ADD("adpcm", JSA_MASTER_CLOCK/3, OKIM6295_PIN7_HIGH)
888886   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
889MACHINE_DRIVER_END
887MACHINE_CONFIG_END
890888
891889
892890/* Used by Batman, Guardians of the 'Hood, Road Riot 4WD, Steel Talons */
893MACHINE_DRIVER_START( jsa_iii_mono )
891MACHINE_CONFIG_DERIVED( jsa_iii_mono, jsa_ii_mono )
894892
895893   /* basic machine hardware */
896   MDRV_IMPORT_FROM(jsa_ii_mono)
897894   MDRV_CPU_MODIFY("jsa")
898895   MDRV_CPU_PROGRAM_MAP(atarijsa3_map)
899896
900897   MDRV_DEVICE_MODIFY("adpcm")
901898   MDRV_DEVICE_ADDRESS_MAP(0, jsa3_oki_map)
902MACHINE_DRIVER_END
899MACHINE_CONFIG_END
903900
904901
905902/* Used by Off the Wall */
906MACHINE_DRIVER_START( jsa_iii_mono_noadpcm )
903MACHINE_CONFIG_DERIVED( jsa_iii_mono_noadpcm, jsa_iii_mono )
907904
908905   /* basic machine hardware */
909   MDRV_IMPORT_FROM(jsa_iii_mono)
910906
911907   /* sound hardware */
912908   MDRV_DEVICE_REMOVE("adpcm")
913MACHINE_DRIVER_END
909MACHINE_CONFIG_END
914910
915911
916912/* Used by Space Lords, Moto Frenzy, Road Riot's Revenge Rally */
917MACHINE_DRIVER_START( jsa_iiis_stereo )
913MACHINE_CONFIG_FRAGMENT( jsa_iiis_stereo )
918914
919915   /* basic machine hardware */
920916   MDRV_CPU_ADD("jsa", M6502, JSA_MASTER_CLOCK/2)
r9191r9192
936932   MDRV_OKIM6295_ADD("adpcmr", JSA_MASTER_CLOCK/3, OKIM6295_PIN7_HIGH)
937933   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
938934   MDRV_DEVICE_ADDRESS_MAP(0, jsa3_oki2_map)
939MACHINE_DRIVER_END
935MACHINE_CONFIG_END
940936
941937
942938/*************************************
src/mame/audio/cage.c
r9191r9192
647647 *
648648 *************************************/
649649
650MACHINE_DRIVER_START( cage )
650MACHINE_CONFIG_FRAGMENT( cage )
651651
652652   /* basic machine hardware */
653653   MDRV_CPU_ADD("cage", TMS32031, 33868800)
r9191r9192
680680   MDRV_SOUND_ADD("dac2", DMADAC, 0)
681681   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
682682#endif
683MACHINE_DRIVER_END
683MACHINE_CONFIG_END
684684
685685
686MACHINE_DRIVER_START( cage_seattle )
687   MDRV_IMPORT_FROM(cage)
686MACHINE_CONFIG_DERIVED( cage_seattle, cage )
688687
689688   MDRV_CPU_MODIFY("cage")
690689   MDRV_CPU_PROGRAM_MAP(cage_map_seattle)
691MACHINE_DRIVER_END
690MACHINE_CONFIG_END
src/mame/audio/atarijsa.h
r9191r9192
99void atarijsa_reset(void);
1010
1111
12MACHINE_DRIVER_EXTERN( jsa_i_stereo );
13MACHINE_DRIVER_EXTERN( jsa_i_stereo_swapped );
14MACHINE_DRIVER_EXTERN( jsa_i_stereo_pokey );
15MACHINE_DRIVER_EXTERN( jsa_i_mono_speech );
16MACHINE_DRIVER_EXTERN( jsa_ii_mono );
17MACHINE_DRIVER_EXTERN( jsa_iii_mono );
18MACHINE_DRIVER_EXTERN( jsa_iii_mono_noadpcm );
19MACHINE_DRIVER_EXTERN( jsa_iiis_stereo );
12MACHINE_CONFIG_EXTERN( jsa_i_stereo );
13MACHINE_CONFIG_EXTERN( jsa_i_stereo_swapped );
14MACHINE_CONFIG_EXTERN( jsa_i_stereo_pokey );
15MACHINE_CONFIG_EXTERN( jsa_i_mono_speech );
16MACHINE_CONFIG_EXTERN( jsa_ii_mono );
17MACHINE_CONFIG_EXTERN( jsa_iii_mono );
18MACHINE_CONFIG_EXTERN( jsa_iii_mono_noadpcm );
19MACHINE_CONFIG_EXTERN( jsa_iiis_stereo );
2020
2121
2222/* Board-specific port definitions */
src/mame/audio/namco52.c
r9191r9192
182182ADDRESS_MAP_END
183183
184184
185static MACHINE_DRIVER_START( namco_52xx )
185static MACHINE_CONFIG_FRAGMENT( namco_52xx )
186186   MDRV_CPU_ADD("mcu", MB8843, DERIVED_CLOCK(1,1))      /* parent clock, internally divided by 6 */
187187   MDRV_CPU_IO_MAP(namco_52xx_map_io)
188MACHINE_DRIVER_END
188MACHINE_CONFIG_END
189189
190190
191191ROM_START( namco_52xx )
src/mame/audio/cage.h
r9191r9192
77#define CAGE_IRQ_REASON_DATA_READY      (1)
88#define CAGE_IRQ_REASON_BUFFER_EMPTY   (2)
99
10MACHINE_DRIVER_EXTERN( cage );
11MACHINE_DRIVER_EXTERN( cage_seattle );
10MACHINE_CONFIG_EXTERN( cage );
11MACHINE_CONFIG_EXTERN( cage_seattle );
1212
1313void cage_init(running_machine *machine, offs_t speedup);
1414void cage_set_irq_handler(void (*irqhandler)(running_machine *, int));
src/mame/audio/senjyo.c
r9191r9192
77#define SINGLE_LENGTH 10000
88#define SINGLE_DIVIDER 8
99
10static INT16 *_single;
11static int single_rate = 0;
12static int single_volume = 0;
13UINT8 senjyo_sound_cmd;
14
1510const z80_daisy_config senjyo_daisy_chain[] =
1611{
1712   { "z80ctc" },
r9191r9192
2419
2520static READ8_DEVICE_HANDLER( pio_pa_r )
2621{
27   return senjyo_sound_cmd;
22   senjyo_state *state = device->machine->driver_data<senjyo_state>();
23
24   return state->sound_cmd;
2825}
2926
3027Z80PIO_INTERFACE( senjyo_pio_intf )
r9191r9192
5148
5249WRITE8_HANDLER( senjyo_volume_w )
5350{
54   samples_sound_device *samples = space->machine->device<samples_sound_device>("samples");
55   single_volume = data & 0x0f;
56   sample_set_volume(samples,0,single_volume / 15.0);
51   senjyo_state *state = space->machine->driver_data<senjyo_state>();
52   samples_device *samples = space->machine->device<samples_device>("samples");
53
54   state->single_volume = data & 0x0f;
55   sample_set_volume(samples, 0, state->single_volume / 15.0);
5756}
5857
5958
6059static TIMER_CALLBACK( senjyo_sh_update )
6160{
6261   running_device *samples = machine->device("samples");
62   senjyo_state *state = machine->driver_data<senjyo_state>();
6363
6464   /* ctc2 timer single tone generator frequency */
6565   z80ctc_device *ctc = machine->device<z80ctc_device>("z80ctc");
6666   attotime period = ctc->period(2);
6767   if (attotime_compare(period, attotime_zero) != 0 )
68      single_rate = ATTOSECONDS_TO_HZ(period.attoseconds);
68      state->single_rate = ATTOSECONDS_TO_HZ(period.attoseconds);
6969   else
70      single_rate = 0;
70      state->single_rate = 0;
7171
72   sample_set_freq(samples, 0,single_rate);
72   sample_set_freq(samples, 0, state->single_rate);
7373}
7474
7575
7676SAMPLES_START( senjyo_sh_start )
7777{
7878   running_machine *machine = device->machine;
79   senjyo_state *state = machine->driver_data<senjyo_state>();
7980   int i;
8081
81   _single = auto_alloc_array(machine, INT16, SINGLE_LENGTH);
82   state->single_data = auto_alloc_array(machine, INT16, SINGLE_LENGTH);
8283
8384   for (i = 0;i < SINGLE_LENGTH;i++)      /* freq = ctc2 zco / 8 */
84      _single[i] = ((i/SINGLE_DIVIDER)&0x01)*127*256;
85      state->single_data[i] = ((i/SINGLE_DIVIDER)&0x01)*127*256;
8586
8687   /* CTC2 single tone generator */
87   single_rate = 1000;
88   single_volume = 0;
89   sample_set_volume(device,0,single_volume / 15.0);
90   sample_start_raw(device,0,_single,SINGLE_LENGTH,single_rate,1);
88   state->single_rate = 1000;
89   state->single_volume = 0;
90   sample_set_volume(device, 0, state->single_volume / 15.0);
91   sample_start_raw(device, 0, state->single_data, SINGLE_LENGTH, state->single_rate, 1);
9192
9293   timer_pulse(machine, machine->primary_screen->frame_period(), NULL, 0, senjyo_sh_update);
9394}
src/mame/audio/bzone.c
r9191r9192
407407}
408408
409409
410MACHINE_DRIVER_START( bzone_audio )
410MACHINE_CONFIG_FRAGMENT( bzone_audio )
411411
412412   MDRV_SPEAKER_STANDARD_MONO("mono")
413413
r9191r9192
419419   MDRV_SOUND_CONFIG_DISCRETE(bzone)
420420
421421   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0 / BZ_FINAL_GAIN)
422MACHINE_DRIVER_END
422MACHINE_CONFIG_END
src/mame/audio/depthch.c
r9191r9192
3636};
3737
3838
39MACHINE_DRIVER_START( depthch_audio )
39MACHINE_CONFIG_FRAGMENT( depthch_audio )
4040   MDRV_SOUND_ADD("samples", SAMPLES, 0)
4141   MDRV_SOUND_CONFIG(depthch_samples_interface)
4242   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
43MACHINE_DRIVER_END
43MACHINE_CONFIG_END
4444
4545
4646/* sample IDs - must match sample file name table above */
src/mame/audio/segasnd.c
r9191r9192
275275 *
276276 *************************************/
277277
278MACHINE_DRIVER_START( sega_speech_board )
278MACHINE_CONFIG_FRAGMENT( sega_speech_board )
279279
280280   /* CPU for the speech board */
281281   MDRV_CPU_ADD("audiocpu", I8035, SPEECH_MASTER_CLOCK)      /* divide by 15 in CPU */
r9191r9192
286286   MDRV_SOUND_ADD("speech", SP0250, SPEECH_MASTER_CLOCK)
287287   MDRV_SOUND_CONFIG(sp0250_interface)
288288   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
289MACHINE_DRIVER_END
289MACHINE_CONFIG_END
290290
291291
292292
r9191r9192
915915 *
916916 *************************************/
917917
918MACHINE_DRIVER_START( sega_universal_sound_board )
918MACHINE_CONFIG_FRAGMENT( sega_universal_sound_board )
919919
920920   /* CPU for the usb board */
921921   MDRV_CPU_ADD("usbcpu", I8035, USB_MASTER_CLOCK)      /* divide by 15 in CPU */
r9191r9192
927927   /* sound hardware */
928928   MDRV_SOUND_ADD("usbsnd", USB, 0)
929929   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
930MACHINE_DRIVER_END
930MACHINE_CONFIG_END
931931
932932
933MACHINE_DRIVER_START( sega_universal_sound_board_rom )
934   MDRV_IMPORT_FROM( sega_universal_sound_board )
933MACHINE_CONFIG_DERIVED( sega_universal_sound_board_rom, sega_universal_sound_board )
935934
936935   /* CPU for the usb board */
937936   MDRV_CPU_MODIFY("usbcpu")
938937   MDRV_CPU_PROGRAM_MAP(usb_map_rom)
939MACHINE_DRIVER_END
938MACHINE_CONFIG_END
src/mame/audio/segasnd.h
r9191r9192
44
55*************************************************************************/
66
7MACHINE_DRIVER_EXTERN( sega_speech_board );
7MACHINE_CONFIG_EXTERN( sega_speech_board );
88
99WRITE8_HANDLER( sega_speech_data_w );
1010WRITE8_HANDLER( sega_speech_control_w );
1111
1212
1313
14MACHINE_DRIVER_EXTERN( sega_universal_sound_board );
15MACHINE_DRIVER_EXTERN( sega_universal_sound_board_rom );
14MACHINE_CONFIG_EXTERN( sega_universal_sound_board );
15MACHINE_CONFIG_EXTERN( sega_universal_sound_board_rom );
1616
1717void sega_usb_reset(running_machine *machine, UINT8 t1_clock_mask);
1818
src/mame/audio/carnival.c
r9191r9192
296296ADDRESS_MAP_END
297297
298298
299MACHINE_DRIVER_START( carnival_audio )
299MACHINE_CONFIG_FRAGMENT( carnival_audio )
300300   MDRV_CPU_ADD("audiocpu", I8039, 3579545)
301301   MDRV_CPU_PROGRAM_MAP(carnival_audio_map)
302302   MDRV_CPU_IO_MAP(carnival_audio_io_map)
r9191r9192
309309   MDRV_SOUND_ADD("samples", SAMPLES, 0)
310310   MDRV_SOUND_CONFIG(carnival_samples_interface)
311311   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
312MACHINE_DRIVER_END
312MACHINE_CONFIG_END
src/mame/audio/taito_en.c
r9191r9192
271271   NULL /* irq */
272272};
273273
274MACHINE_DRIVER_START( taito_f3_sound )
274MACHINE_CONFIG_FRAGMENT( taito_f3_sound )
275275   MDRV_TIMER_ADD("timer_68681", taito_en_timer_callback)
276276
277277   MDRV_SOUND_RESET( taito_f3_soundsystem_reset )
r9191r9192
284284   MDRV_SOUND_CONFIG(es5505_taito_f3_config)
285285   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
286286   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
287MACHINE_DRIVER_END
287MACHINE_CONFIG_END
src/mame/audio/taito_en.h
r9191r9192
33
44SOUND_RESET( taito_f3_soundsystem_reset );
55
6MACHINE_DRIVER_EXTERN( taito_f3_sound );
6MACHINE_CONFIG_EXTERN( taito_f3_sound );
src/mame/audio/seibu.c
r9191r9192
481481   AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
482482   AM_RANGE(0x4018, 0x4019) AM_WRITE(seibu_main_data_w)
483483   AM_RANGE(0x401b, 0x401b) AM_WRITE(seibu_coin_w)
484   AM_RANGE(0x6000, 0x6000) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
484   AM_RANGE(0x6000, 0x6000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
485485   AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
486486ADDRESS_MAP_END
487487
r9191r9192
500500   AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
501501   AM_RANGE(0x4018, 0x4019) AM_WRITE(seibu_main_data_w)
502502   AM_RANGE(0x401b, 0x401b) AM_WRITE(seibu_coin_w)
503   AM_RANGE(0x6000, 0x6000) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
503   AM_RANGE(0x6000, 0x6000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
504504   AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
505505ADDRESS_MAP_END
506506
r9191r9192
518518   AM_RANGE(0x4018, 0x4019) AM_WRITE(seibu_main_data_w)
519519   AM_RANGE(0x401a, 0x401a) AM_WRITE(seibu_bank_w)
520520   AM_RANGE(0x401b, 0x401b) AM_WRITE(seibu_coin_w)
521   AM_RANGE(0x6000, 0x6000) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
522   AM_RANGE(0x6002, 0x6002) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
521   AM_RANGE(0x6000, 0x6000) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
522   AM_RANGE(0x6002, 0x6002) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
523523   AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
524524ADDRESS_MAP_END
525525
src/mame/audio/segag80r.c
r9191r9192
3030
3131DEVICE_GET_INFO( sega005_sound );
3232
33DECLARE_LEGACY_SOUND_DEVICE(005, sega005_sound);
34DEFINE_LEGACY_SOUND_DEVICE(005, sega005_sound);
33DECLARE_LEGACY_SOUND_DEVICE(SEGA005, sega005_sound);
34DEFINE_LEGACY_SOUND_DEVICE(SEGA005, sega005_sound);
3535
3636
3737
r9191r9192
208208};
209209
210210
211MACHINE_DRIVER_START( astrob_sound_board )
211MACHINE_CONFIG_FRAGMENT( astrob_sound_board )
212212
213213   MDRV_SOUND_START(astrob)
214214
r9191r9192
216216   MDRV_SOUND_ADD("samples", SAMPLES, 0)
217217   MDRV_SOUND_CONFIG(astrob_samples_interface)
218218   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
219MACHINE_DRIVER_END
219MACHINE_CONFIG_END
220220
221221
222222
r9191r9192
343343 *
344344 *************************************/
345345
346static SOUND_START( 005 );
346static SOUND_START( sega005 );
347347static STREAM_UPDATE( sega005_stream_update );
348348static TIMER_CALLBACK( sega005_auto_timer );
349349static WRITE8_DEVICE_HANDLER( sega005_sound_a_w );
r9191r9192
436436};
437437
438438
439MACHINE_DRIVER_START( 005_sound_board )
439MACHINE_CONFIG_FRAGMENT( 005_sound_board )
440440
441441   MDRV_PPI8255_ADD( "ppi8255", ppi8255_005_intf )
442442
443443   /* sound hardware */
444   MDRV_SOUND_START(005)
444   MDRV_SOUND_START(sega005)
445445
446446   MDRV_SOUND_ADD("samples", SAMPLES, 0)
447447   MDRV_SOUND_CONFIG(sega005_samples_interface)
448448   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
449449
450   MDRV_SOUND_ADD("005", 005, 0)
450   MDRV_SOUND_ADD("005", SEGA005, 0)
451451   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
452MACHINE_DRIVER_END
452MACHINE_CONFIG_END
453453
454454
455455
r9191r9192
459459 *
460460 *************************************/
461461
462static SOUND_START( 005 )
462static SOUND_START( sega005 )
463463{
464464   state_save_register_global_array(machine, sound_state);
465465   state_save_register_global(machine, sound_addr);
r9191r9192
673673};
674674
675675
676MACHINE_DRIVER_START( spaceod_sound_board )
676MACHINE_CONFIG_FRAGMENT( spaceod_sound_board )
677677
678678   /* sound hardware */
679679   MDRV_SOUND_START(spaceod)
r9191r9192
681681   MDRV_SOUND_ADD("samples", SAMPLES, 0)
682682   MDRV_SOUND_CONFIG(spaceod_samples_interface)
683683   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
684MACHINE_DRIVER_END
684MACHINE_CONFIG_END
685685
686686
687687
r9191r9192
840840};
841841
842842
843MACHINE_DRIVER_START( monsterb_sound_board )
843MACHINE_CONFIG_FRAGMENT( monsterb_sound_board )
844844
845845   MDRV_PPI8255_ADD( "ppi8255", monsterb_ppi_intf )
846846
r9191r9192
863863
864864   MDRV_SOUND_ADD("dac", DAC, 0)
865865   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
866MACHINE_DRIVER_END
866MACHINE_CONFIG_END
867867
868868
869869
src/mame/audio/scramble.c
r9191r9192
338338
339339
340340
341MACHINE_DRIVER_START( ad2083_audio )
341MACHINE_CONFIG_FRAGMENT( ad2083_audio )
342342
343343   MDRV_CPU_ADD("audiocpu", Z80, 14318000/8)   /* 1.78975 MHz */
344344   MDRV_CPU_PROGRAM_MAP(ad2083_sound_map)
r9191r9192
361361   MDRV_SOUND_ADD("tms", TMS5110A, AD2083_TMS5110_CLOCK)
362362   MDRV_SOUND_CONFIG(ad2083_tms5110_interface)
363363   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
364MACHINE_DRIVER_END
364MACHINE_CONFIG_END
src/mame/audio/dcs.c
r9191r9192
284284typedef struct _dcs_state dcs_state;
285285struct _dcs_state
286286{
287   cpu_device *cpu;
287   adsp21xx_device *cpu;
288288   address_space *program;
289289   address_space *data;
290290   UINT8      rev;
r9191r9192
409409static READ16_HANDLER( output_control_r );
410410static WRITE16_HANDLER( output_control_w );
411411
412static void timer_enable_callback(cpu_device &device, int enable);
412static void timer_enable_callback(adsp21xx_device &device, int enable);
413413static TIMER_DEVICE_CALLBACK( internal_timer_callback );
414414static TIMER_DEVICE_CALLBACK( dcs_irq );
415415static TIMER_DEVICE_CALLBACK( sport0_irq );
416416static void recompute_sample_rate(running_machine *machine);
417static void sound_tx_callback(cpu_device &device, int port, INT32 data);
417static void sound_tx_callback(adsp21xx_device &device, int port, INT32 data);
418418
419419static READ16_HANDLER( dcs_polling_r );
420420static WRITE16_HANDLER( dcs_polling_w );
r9191r9192
608608 *************************************/
609609
610610/* Basic DCS system with ADSP-2105 and 2k of SRAM (T-unit, V-unit, Killer Instinct) */
611MACHINE_DRIVER_START( dcs_audio_2k )
611MACHINE_CONFIG_FRAGMENT( dcs_audio_2k )
612612   MDRV_CPU_ADD("dcs", ADSP2105, XTAL_10MHz)
613   MDRV_CPU_CONFIG(adsp_config)
613   MDRV_ADSP21XX_CONFIG(adsp_config)
614614   MDRV_CPU_PROGRAM_MAP(dcs_2k_program_map)
615615   MDRV_CPU_DATA_MAP(dcs_2k_data_map)
616616
r9191r9192
621621
622622   MDRV_SOUND_ADD("dac", DMADAC, 0)
623623   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
624MACHINE_DRIVER_END
624MACHINE_CONFIG_END
625625
626626
627627/* Basic DCS system with ADSP-2105 and 2k of SRAM, using a UART for communications (X-unit) */
628MACHINE_DRIVER_START( dcs_audio_2k_uart )
629   MDRV_IMPORT_FROM(dcs_audio_2k)
628MACHINE_CONFIG_DERIVED( dcs_audio_2k_uart, dcs_audio_2k )
630629
631630   MDRV_CPU_MODIFY("dcs")
632631   MDRV_CPU_DATA_MAP(dcs_2k_uart_data_map)
633MACHINE_DRIVER_END
632MACHINE_CONFIG_END
634633
635634
636635/* Basic DCS system with ADSP-2105 and 8k of SRAM (Wolf-unit) */
637MACHINE_DRIVER_START( dcs_audio_8k )
638   MDRV_IMPORT_FROM(dcs_audio_2k)
636MACHINE_CONFIG_DERIVED( dcs_audio_8k, dcs_audio_2k )
639637
640638   MDRV_CPU_MODIFY("dcs")
641639   MDRV_CPU_PROGRAM_MAP(dcs_8k_program_map)
642640   MDRV_CPU_DATA_MAP(dcs_8k_data_map)
643MACHINE_DRIVER_END
641MACHINE_CONFIG_END
644642
645643
646644
r9191r9192
650648 *
651649 *************************************/
652650
653MACHINE_DRIVER_START( dcs2_audio_2115 )
651MACHINE_CONFIG_FRAGMENT( dcs2_audio_2115 )
654652   MDRV_CPU_ADD("dcs2", ADSP2115, XTAL_16MHz)
655   MDRV_CPU_CONFIG(adsp_config)
653   MDRV_ADSP21XX_CONFIG(adsp_config)
656654   MDRV_CPU_PROGRAM_MAP(dcs2_2115_program_map)
657655   MDRV_CPU_DATA_MAP(dcs2_2115_data_map)
658656
r9191r9192
668666
669667   MDRV_SOUND_ADD("dac2", DMADAC, 0)
670668   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
671MACHINE_DRIVER_END
669MACHINE_CONFIG_END
672670
673671
674MACHINE_DRIVER_START( dcs2_audio_2104 )
675   MDRV_IMPORT_FROM(dcs2_audio_2115)
672MACHINE_CONFIG_DERIVED( dcs2_audio_2104, dcs2_audio_2115 )
676673   MDRV_CPU_REPLACE("dcs2", ADSP2104, XTAL_16MHz)
677   MDRV_CPU_CONFIG(adsp_config)
674   MDRV_ADSP21XX_CONFIG(adsp_config)
678675   MDRV_CPU_PROGRAM_MAP(dcs2_2104_program_map)
679676   MDRV_CPU_DATA_MAP(dcs2_2104_data_map)
680MACHINE_DRIVER_END
677MACHINE_CONFIG_END
681678
682679
683680
r9191r9192
687684 *
688685 *************************************/
689686
690MACHINE_DRIVER_START( dcs2_audio_dsio )
687MACHINE_CONFIG_FRAGMENT( dcs2_audio_dsio )
691688   MDRV_CPU_ADD("dsio", ADSP2181, XTAL_32MHz)
692   MDRV_CPU_CONFIG(adsp_config)
689   MDRV_ADSP21XX_CONFIG(adsp_config)
693690   MDRV_CPU_PROGRAM_MAP(dsio_program_map)
694691   MDRV_CPU_DATA_MAP(dsio_data_map)
695692   MDRV_CPU_IO_MAP(dsio_io_map)
r9191r9192
701698
702699   MDRV_SOUND_ADD("dac2", DMADAC, 0)
703700   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
704MACHINE_DRIVER_END
701MACHINE_CONFIG_END
705702
706703
707704
r9191r9192
711708 *
712709 *************************************/
713710
714MACHINE_DRIVER_START( dcs2_audio_denver )
711MACHINE_CONFIG_FRAGMENT( dcs2_audio_denver )
715712   MDRV_CPU_ADD("denver", ADSP2181, XTAL_33_333MHz)
716   MDRV_CPU_CONFIG(adsp_config)
713   MDRV_ADSP21XX_CONFIG(adsp_config)
717714   MDRV_CPU_PROGRAM_MAP(denver_program_map)
718715   MDRV_CPU_DATA_MAP(denver_data_map)
719716   MDRV_CPU_IO_MAP(denver_io_map)
r9191r9192
737734
738735   MDRV_SOUND_ADD("dac6", DMADAC, 0)
739736   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
740MACHINE_DRIVER_END
737MACHINE_CONFIG_END
741738
742739
743740
r9191r9192
766763         /* convert from 16-bit data to 8-bit data and boot */
767764         for (i = 0; i < 0x1000; i++)
768765            buffer[i] = base[i];
769         adsp2105_load_boot_data(buffer, dcs_internal_program_ram);
766         dcs.cpu->load_boot_data(buffer, dcs_internal_program_ram);
770767         break;
771768
772769      /* rev 2: use the ROM page in the SDRC to boot from */
r9191r9192
787784         /* convert from 16-bit data to 8-bit data and boot */
788785         for (i = 0; i < 0x1000; i++)
789786            buffer[i] = base[i];
790         adsp2115_load_boot_data(buffer, dcs_internal_program_ram);
787         dcs.cpu->load_boot_data(buffer, dcs_internal_program_ram);
791788         break;
792789
793790      /* rev 3/4: HALT the ADSP-2181 until program is downloaded via IDMA */
r9191r9192
941938   dcs_sram = NULL;
942939
943940   /* find the DCS CPU and the sound ROMs */
944   dcs.cpu = machine->device<cpu_device>("dcs");
945   dcs.program = cpu_get_address_space(dcs.cpu, ADDRESS_SPACE_PROGRAM);
946   dcs.data = cpu_get_address_space(dcs.cpu, ADDRESS_SPACE_DATA);
941   dcs.cpu = machine->device<adsp21xx_device>("dcs");
942   dcs.program = dcs.cpu->space(AS_PROGRAM);
943   dcs.data = dcs.cpu->space(AS_DATA);
947944   dcs.rev = 1;
948945   dcs.channels = 1;
949946   dcs.dmadac[0] = machine->device<dmadac_sound_device>("dac");
r9191r9192
978975   memset(&dcs, 0, sizeof(dcs));
979976
980977   /* find the DCS CPU and the sound ROMs */
981   dcs.cpu = machine->device<cpu_device>("dcs2");
978   dcs.cpu = machine->device<adsp21xx_device>("dcs2");
982979   dcs.rev = 2;
983980   soundbank_words = 0x1000;
984981   if (dcs.cpu == NULL)
985982   {
986      dcs.cpu = machine->device<cpu_device>("dsio");
983      dcs.cpu = machine->device<adsp21xx_device>("dsio");
987984      dcs.rev = 3;
988985      soundbank_words = 0x400;
989986   }
990987   if (dcs.cpu == NULL)
991988   {
992      dcs.cpu = machine->device<cpu_device>("denver");
989      dcs.cpu = machine->device<adsp21xx_device>("denver");
993990      dcs.rev = 4;
994991      soundbank_words = 0x800;
995992   }
996   dcs.program = cpu_get_address_space(dcs.cpu, ADDRESS_SPACE_PROGRAM);
997   dcs.data = cpu_get_address_space(dcs.cpu, ADDRESS_SPACE_DATA);
993   dcs.program = dcs.cpu->space(AS_PROGRAM);
994   dcs.data = dcs.cpu->space(AS_DATA);
998995   dcs.channels = 2;
999996   dcs.dmadac[0] = machine->device<dmadac_sound_device>("dac1");
1000997   dcs.dmadac[1] = machine->device<dmadac_sound_device>("dac2");
r9191r9192
10321029   /* install the speedup handler */
10331030   dcs.polling_offset = polling_offset;
10341031   if (polling_offset)
1035      dcs_polling_base = memory_install_readwrite16_handler(cpu_get_address_space(dcs.cpu, ADDRESS_SPACE_DATA), polling_offset, polling_offset, 0, 0, dcs_polling_r, dcs_polling_w);
1032      dcs_polling_base = memory_install_readwrite16_handler(dcs.cpu->space(AS_DATA), polling_offset, polling_offset, 0, 0, dcs_polling_r, dcs_polling_w);
10361033
10371034   /* allocate a watchdog timer for HLE transfers */
10381035   transfer.hle_enabled = (ENABLE_HLE_TRANSFERS && dram_in_mb != 0);
r9191r9192
11711168
11721169   /* reinstall the polling hotspot */
11731170   if (dcs.polling_offset)
1174      dcs_polling_base = memory_install_readwrite16_handler(cpu_get_address_space(dcs.cpu, ADDRESS_SPACE_DATA), dcs.polling_offset, dcs.polling_offset, 0, 0, dcs_polling_r, dcs_polling_w);
1171      dcs_polling_base = memory_install_readwrite16_handler(dcs.cpu->space(AS_DATA), dcs.polling_offset, dcs.polling_offset, 0, 0, dcs_polling_r, dcs_polling_w);
11751172}
11761173
11771174
r9191r9192
14431440{
14441441   if (LOG_DCS_TRANSFERS)
14451442      logerror("%08X:IDMA_addr = %04X\n", cpu_get_pc(space->cpu), data);
1446   adsp2181_idma_addr_w(dcs.cpu, data);
1443   downcast<adsp2181_device *>(dcs.cpu)->idma_addr_w(data);
14471444   if (data == 0)
14481445      dsio.start_on_next_write = 2;
14491446}
r9191r9192
14551452   if (ACCESSING_BITS_0_15)
14561453   {
14571454      if (LOG_DCS_TRANSFERS)
1458         logerror("%08X:IDMA_data_w(%04X) = %04X\n", pc, adsp2181_idma_addr_r(dcs.cpu), data & 0xffff);
1459      adsp2181_idma_data_w(dcs.cpu, data & 0xffff);
1455         logerror("%08X:IDMA_data_w(%04X) = %04X\n", pc, downcast<adsp2181_device *>(dcs.cpu)->idma_addr_r(), data & 0xffff);
1456      downcast<adsp2181_device *>(dcs.cpu)->idma_data_w(data & 0xffff);
14601457   }
14611458   if (ACCESSING_BITS_16_31)
14621459   {
14631460      if (LOG_DCS_TRANSFERS)
1464         logerror("%08X:IDMA_data_w(%04X) = %04X\n", pc, adsp2181_idma_addr_r(dcs.cpu), data >> 16);
1465      adsp2181_idma_data_w(dcs.cpu, data >> 16);
1461         logerror("%08X:IDMA_data_w(%04X) = %04X\n", pc, downcast<adsp2181_device *>(dcs.cpu)->idma_addr_r(), data >> 16);
1462      downcast<adsp2181_device *>(dcs.cpu)->idma_data_w(data >> 16);
14661463   }
14671464   if (dsio.start_on_next_write && --dsio.start_on_next_write == 0)
14681465   {
r9191r9192
14751472READ32_HANDLER( dsio_idma_data_r )
14761473{
14771474   UINT32 result;
1478   result = adsp2181_idma_data_r(dcs.cpu);
1475   result = downcast<adsp2181_device *>(dcs.cpu)->idma_data_r();
14791476   if (LOG_DCS_TRANSFERS)
1480      logerror("%08X:IDMA_data_r(%04X) = %04X\n", cpu_get_pc(space->cpu), adsp2181_idma_addr_r(dcs.cpu), result);
1477      logerror("%08X:IDMA_data_r(%04X) = %04X\n", cpu_get_pc(space->cpu), downcast<adsp2181_device *>(dcs.cpu)->idma_addr_r(), result);
14811478   return result;
14821479}
14831480
r9191r9192
17941791}
17951792
17961793
1797static void timer_enable_callback(cpu_device &device, int enable)
1794static void timer_enable_callback(adsp21xx_device &device, int enable)
17981795{
17991796   dcs.timer_enable = enable;
18001797   dcs.timer_ignore = 0;
r9191r9192
18481845         break;
18491846
18501847      case IDMA_CONTROL_REG:
1851         result = adsp2181_idma_addr_r(dcs.cpu);
1848         result = downcast<adsp2181_device *>(dcs.cpu)->idma_addr_r();
18521849         break;
18531850
18541851      case TIMER_COUNT_REG:
r9191r9192
19291926         break;
19301927
19311928      case IDMA_CONTROL_REG:
1932         adsp2181_idma_addr_w(dcs.cpu, data);
1929         downcast<adsp2181_device *>(dcs.cpu)->idma_addr_w(data);
19331930         break;
19341931   }
19351932}
r9191r9192
20102007}
20112008
20122009
2013static void sound_tx_callback(cpu_device &device, int port, INT32 data)
2010static void sound_tx_callback(adsp21xx_device &device, int port, INT32 data)
20142011{
20152012   /* check if it's for SPORT1 */
20162013   if (port != 1)
src/mame/audio/gottlieb.c
r9191r9192
326326 *
327327 *************************************/
328328
329MACHINE_DRIVER_START( gottlieb_soundrev1 )
329MACHINE_CONFIG_FRAGMENT( gottlieb_soundrev1 )
330330   MDRV_SOUND_START(gottlieb1)
331331
332332   MDRV_RIOT6532_ADD("riot", SOUND1_CLOCK/4, gottlieb_riot6532_intf)
r9191r9192
337337   /* sound hardware */
338338   MDRV_SOUND_ADD("dac", DAC, 0)
339339   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
340MACHINE_DRIVER_END
340MACHINE_CONFIG_END
341341
342342
343343
r9191r9192
575575 *
576576 *************************************/
577577
578MACHINE_DRIVER_START( gottlieb_soundrev2 )
578MACHINE_CONFIG_FRAGMENT( gottlieb_soundrev2 )
579579   /* audio CPUs */
580580   MDRV_CPU_ADD("audiocpu", M6502, SOUND2_CLOCK/4)
581581   MDRV_CPU_PROGRAM_MAP(gottlieb_audio2_map)
r9191r9192
600600
601601   MDRV_SOUND_ADD("spsnd", SP0250, SOUND2_SPEECH_CLOCK)
602602   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
603MACHINE_DRIVER_END
603MACHINE_CONFIG_END
604604
605605
606606
src/mame/audio/jedi.c
r9191r9192
200200 *
201201 *************************************/
202202
203MACHINE_DRIVER_START( jedi_audio )
203MACHINE_CONFIG_FRAGMENT( jedi_audio )
204204
205205   MDRV_CPU_ADD("audiocpu", M6502, JEDI_AUDIO_CPU_CLOCK)
206206   MDRV_CPU_PROGRAM_MAP(audio_map)
r9191r9192
227227   MDRV_SOUND_ADD("tms", TMS5220, JEDI_TMS5220_CLOCK)
228228   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
229229   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
230MACHINE_DRIVER_END
230MACHINE_CONFIG_END
src/mame/audio/dcs.h
r9191r9192
44
55****************************************************************************/
66
7MACHINE_DRIVER_EXTERN( dcs_audio_2k );
8MACHINE_DRIVER_EXTERN( dcs_audio_2k_uart );
9MACHINE_DRIVER_EXTERN( dcs_audio_8k );
10MACHINE_DRIVER_EXTERN( dcs2_audio_2115 );
11MACHINE_DRIVER_EXTERN( dcs2_audio_2104 );
12MACHINE_DRIVER_EXTERN( dcs2_audio_dsio );
13MACHINE_DRIVER_EXTERN( dcs2_audio_denver );
7MACHINE_CONFIG_EXTERN( dcs_audio_2k );
8MACHINE_CONFIG_EXTERN( dcs_audio_2k_uart );
9MACHINE_CONFIG_EXTERN( dcs_audio_8k );
10MACHINE_CONFIG_EXTERN( dcs2_audio_2115 );
11MACHINE_CONFIG_EXTERN( dcs2_audio_2104 );
12MACHINE_CONFIG_EXTERN( dcs2_audio_dsio );
13MACHINE_CONFIG_EXTERN( dcs2_audio_denver );
1414
1515void dcs_init(running_machine *machine);
1616void dcs2_init(running_machine *machine, int dram_in_mb, offs_t polling_offset);
src/mame/audio/exidy.c
r9191r9192
833833ADDRESS_MAP_END
834834
835835
836MACHINE_DRIVER_START( venture_audio )
836MACHINE_CONFIG_FRAGMENT( venture_audio )
837837
838838   MDRV_CPU_ADD("audiocpu", M6502, 3579545/4)
839839   MDRV_CPU_PROGRAM_MAP(venture_audio_map)
r9191r9192
847847
848848   MDRV_SOUND_ADD("custom", EXIDY_VENTURE, 0)
849849   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
850MACHINE_DRIVER_END
850MACHINE_CONFIG_END
851851
852852
853853
r9191r9192
897897ADDRESS_MAP_END
898898
899899
900MACHINE_DRIVER_START( mtrap_cvsd_audio )
900MACHINE_CONFIG_FRAGMENT( mtrap_cvsd_audio )
901901
902902   MDRV_CPU_ADD("cvsdcpu", Z80, CVSD_Z80_CLOCK)
903903   MDRV_CPU_PROGRAM_MAP(cvsd_map)
r9191r9192
906906   /* audio hardware */
907907   MDRV_SOUND_ADD("cvsd", MC3417, CVSD_CLOCK)
908908   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
909MACHINE_DRIVER_END
909MACHINE_CONFIG_END
910910
911911
912912
r9191r9192
10601060ADDRESS_MAP_END
10611061
10621062
1063MACHINE_DRIVER_START( victory_audio )
1063MACHINE_CONFIG_FRAGMENT( victory_audio )
10641064
10651065   MDRV_CPU_ADD("audiocpu", M6502, VICTORY_AUDIO_CPU_CLOCK)
10661066   MDRV_CPU_PROGRAM_MAP(victory_audio_map)
r9191r9192
10751075
10761076   MDRV_SOUND_ADD("tms", TMS5220, 640000)
10771077   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1078MACHINE_DRIVER_END
1078MACHINE_CONFIG_END
src/mame/audio/targ.c
r9191r9192
197197};
198198
199199
200MACHINE_DRIVER_START( spectar_audio )
200MACHINE_CONFIG_FRAGMENT( spectar_audio )
201201
202202   MDRV_SPEAKER_STANDARD_MONO("mono")
203203
r9191r9192
207207
208208   MDRV_SOUND_ADD("dac", DAC, 0)
209209   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
210MACHINE_DRIVER_END
210MACHINE_CONFIG_END
211211
212212
213MACHINE_DRIVER_START( targ_audio )
213MACHINE_CONFIG_FRAGMENT( targ_audio )
214214
215215   MDRV_SPEAKER_STANDARD_MONO("mono")
216216
r9191r9192
220220
221221   MDRV_SOUND_ADD("dac", DAC, 0)
222222   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
223MACHINE_DRIVER_END
223MACHINE_CONFIG_END
src/mame/audio/qix.c
r9191r9192
239239 *
240240 *************************************/
241241
242MACHINE_DRIVER_START( qix_audio )
242MACHINE_CONFIG_FRAGMENT( qix_audio )
243243   MDRV_CPU_ADD("audiocpu", M6802, SOUND_CLOCK_OSC/2)      /* 0.92 MHz */
244244   MDRV_CPU_PROGRAM_MAP(audio_map)
245245
r9191r9192
253253   MDRV_SOUND_CONFIG_DISCRETE(qix)
254254   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
255255   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
256MACHINE_DRIVER_END
256MACHINE_CONFIG_END
257257
258258
259MACHINE_DRIVER_START( slither_audio )
259MACHINE_CONFIG_FRAGMENT( slither_audio )
260260   MDRV_PIA6821_ADD("sndpia0", slithersnd_pia_0_intf)
261261
262262   MDRV_SPEAKER_STANDARD_MONO("mono")
r9191r9192
266266
267267   MDRV_SOUND_ADD("sn2", SN76489, SLITHER_CLOCK_OSC/4/4)
268268   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
269MACHINE_DRIVER_END
269MACHINE_CONFIG_END
src/mame/audio/invinco.c
r9191r9192
4242};
4343
4444
45MACHINE_DRIVER_START( invinco_audio )
45MACHINE_CONFIG_FRAGMENT( invinco_audio )
4646   MDRV_SOUND_ADD("samples", SAMPLES, 0)
4747   MDRV_SOUND_CONFIG(invinco_samples_interface)
4848   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
49MACHINE_DRIVER_END
49MACHINE_CONFIG_END
5050
5151
5252/* sample IDs - must match sample file name table above */
src/mame/audio/pulsar.c
r9191r9192
5959};
6060
6161
62MACHINE_DRIVER_START( pulsar_audio )
62MACHINE_CONFIG_FRAGMENT( pulsar_audio )
6363   MDRV_SOUND_ADD("samples", SAMPLES, 0)
6464   MDRV_SOUND_CONFIG(pulsar_samples_interface)
6565   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
66MACHINE_DRIVER_END
66MACHINE_CONFIG_END
6767
6868
6969/* sample IDs - must match sample file name table above */
src/mame/audio/cps3.c
r9191r9192
1010#define CPS3_VOICES      16
1111
1212static sound_stream *cps3_stream;
13extern UINT8* cps3_user5region;
1413
1514typedef struct _cps3_voice_
1615{
src/mame/audio/spiders.c
r9191r9192
200200}
201201
202202
203MACHINE_DRIVER_START( spiders_audio )
203MACHINE_CONFIG_FRAGMENT( spiders_audio )
204204
205205   MDRV_SPEAKER_STANDARD_MONO("mono")
206206   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
207207   MDRV_SOUND_CONFIG_DISCRETE(spiders)
208208   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
209MACHINE_DRIVER_END
209MACHINE_CONFIG_END
src/mame/audio/timeplt.c
r9191r9192
187187 *
188188 *************************************/
189189
190MACHINE_DRIVER_START( timeplt_sound )
190MACHINE_CONFIG_FRAGMENT( timeplt_sound )
191191
192192   /* basic machine hardware */
193193   MDRV_CPU_ADD("tpsound",Z80,MASTER_CLOCK/8)
r9191r9192
222222   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
223223   MDRV_SOUND_ADD("filter.1.2", FILTER_RC, 0)
224224   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
225MACHINE_DRIVER_END
225MACHINE_CONFIG_END
226226
227227
228MACHINE_DRIVER_START( locomotn_sound )
229   MDRV_IMPORT_FROM(timeplt_sound)
228MACHINE_CONFIG_DERIVED( locomotn_sound, timeplt_sound )
230229
231230   /* basic machine hardware */
232231   MDRV_CPU_MODIFY("tpsound")
233232   MDRV_CPU_PROGRAM_MAP(locomotn_sound_map)
234MACHINE_DRIVER_END
233MACHINE_CONFIG_END
src/mame/audio/cinemat.c
r9191r9192
209209   generic_init(machine, spacewar_sound_w);
210210}
211211
212MACHINE_DRIVER_START( spacewar_sound )
212MACHINE_CONFIG_FRAGMENT( spacewar_sound )
213213   MDRV_MACHINE_START(generic)
214214   MDRV_MACHINE_RESET(spacewar)
215215
r9191r9192
218218   MDRV_SOUND_ADD("samples", SAMPLES, 0)
219219   MDRV_SOUND_CONFIG(spacewar_samples_interface)
220220   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
221MACHINE_DRIVER_END
221MACHINE_CONFIG_END
222222
223223
224224
r9191r9192
265265   generic_init(machine, barrier_sound_w);
266266}
267267
268MACHINE_DRIVER_START( barrier_sound )
268MACHINE_CONFIG_FRAGMENT( barrier_sound )
269269   MDRV_MACHINE_START(generic)
270270   MDRV_MACHINE_RESET(barrier)
271271
r9191r9192
274274   MDRV_SOUND_ADD("samples", SAMPLES, 0)
275275   MDRV_SOUND_CONFIG(barrier_samples_interface)
276276   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
277MACHINE_DRIVER_END
277MACHINE_CONFIG_END
278278
279279
280280
r9191r9192
326326   generic_init(machine, speedfrk_sound_w);
327327}
328328
329MACHINE_DRIVER_START( speedfrk_sound )
329MACHINE_CONFIG_FRAGMENT( speedfrk_sound )
330330   MDRV_MACHINE_START(generic)
331331   MDRV_MACHINE_RESET(speedfrk)
332332
r9191r9192
335335   MDRV_SOUND_ADD("samples", SAMPLES, 0)
336336   MDRV_SOUND_CONFIG(speedfrk_samples_interface)
337337   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
338MACHINE_DRIVER_END
338MACHINE_CONFIG_END
339339
340340
341341
r9191r9192
403403   generic_init(machine, starhawk_sound_w);
404404}
405405
406MACHINE_DRIVER_START( starhawk_sound )
406MACHINE_CONFIG_FRAGMENT( starhawk_sound )
407407   MDRV_MACHINE_START(generic)
408408   MDRV_MACHINE_RESET(starhawk)
409409
r9191r9192
412412   MDRV_SOUND_ADD("samples", SAMPLES, 0)
413413   MDRV_SOUND_CONFIG(starhawk_samples_interface)
414414   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
415MACHINE_DRIVER_END
415MACHINE_CONFIG_END
416416
417417
418418
r9191r9192
474474   generic_init(machine, sundance_sound_w);
475475}
476476
477MACHINE_DRIVER_START( sundance_sound )
477MACHINE_CONFIG_FRAGMENT( sundance_sound )
478478   MDRV_MACHINE_START(generic)
479479   MDRV_MACHINE_RESET(sundance)
480480
r9191r9192
483483   MDRV_SOUND_ADD("samples", SAMPLES, 0)
484484   MDRV_SOUND_CONFIG(sundance_samples_interface)
485485   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
486MACHINE_DRIVER_END
486MACHINE_CONFIG_END
487487
488488
489489
r9191r9192
564564   generic_init(machine, tailg_sound_w);
565565}
566566
567MACHINE_DRIVER_START( tailg_sound )
567MACHINE_CONFIG_FRAGMENT( tailg_sound )
568568   MDRV_MACHINE_START(generic)
569569   MDRV_MACHINE_RESET(tailg)
570570
r9191r9192
573573   MDRV_SOUND_ADD("samples", SAMPLES, 0)
574574   MDRV_SOUND_CONFIG(tailg_samples_interface)
575575   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
576MACHINE_DRIVER_END
576MACHINE_CONFIG_END
577577
578578
579579
r9191r9192
634634   generic_init(machine, warrior_sound_w);
635635}
636636
637MACHINE_DRIVER_START( warrior_sound )
637MACHINE_CONFIG_FRAGMENT( warrior_sound )
638638   MDRV_MACHINE_START(generic)
639639   MDRV_MACHINE_RESET(warrior)
640640
r9191r9192
643643   MDRV_SOUND_ADD("samples", SAMPLES, 0)
644644   MDRV_SOUND_CONFIG(warrior_samples_interface)
645645   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
646MACHINE_DRIVER_END
646MACHINE_CONFIG_END
647647
648648
649649
r9191r9192
730730   generic_init(machine, armora_sound_w);
731731}
732732
733MACHINE_DRIVER_START( armora_sound )
733MACHINE_CONFIG_FRAGMENT( armora_sound )
734734   MDRV_MACHINE_START(generic)
735735   MDRV_MACHINE_RESET(armora)
736736
r9191r9192
739739   MDRV_SOUND_ADD("samples", SAMPLES, 0)
740740   MDRV_SOUND_CONFIG(armora_samples_interface)
741741   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
742MACHINE_DRIVER_END
742MACHINE_CONFIG_END
743743
744744
745745
r9191r9192
823823   generic_init(machine, ripoff_sound_w);
824824}
825825
826MACHINE_DRIVER_START( ripoff_sound )
826MACHINE_CONFIG_FRAGMENT( ripoff_sound )
827827   MDRV_MACHINE_START(generic)
828828   MDRV_MACHINE_RESET(ripoff)
829829
r9191r9192
832832   MDRV_SOUND_ADD("samples", SAMPLES, 0)
833833   MDRV_SOUND_CONFIG(ripoff_samples_interface)
834834   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
835MACHINE_DRIVER_END
835MACHINE_CONFIG_END
836836
837837
838838
r9191r9192
937937   generic_init(machine, starcas_sound_w);
938938}
939939
940MACHINE_DRIVER_START( starcas_sound )
940MACHINE_CONFIG_FRAGMENT( starcas_sound )
941941   MDRV_MACHINE_START(generic)
942942   MDRV_MACHINE_RESET(starcas)
943943
r9191r9192
946946   MDRV_SOUND_ADD("samples", SAMPLES, 0)
947947   MDRV_SOUND_CONFIG(starcas_samples_interface)
948948   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
949MACHINE_DRIVER_END
949MACHINE_CONFIG_END
950950
951951
952952
r9191r9192
10741074   generic_init(machine, solarq_sound_w);
10751075}
10761076
1077MACHINE_DRIVER_START( solarq_sound )
1077MACHINE_CONFIG_FRAGMENT( solarq_sound )
10781078   MDRV_MACHINE_START(generic)
10791079   MDRV_MACHINE_RESET(solarq)
10801080
r9191r9192
10831083   MDRV_SOUND_ADD("samples", SAMPLES, 0)
10841084   MDRV_SOUND_CONFIG(solarq_samples_interface)
10851085   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
1086MACHINE_DRIVER_END
1086MACHINE_CONFIG_END
10871087
10881088
10891089
r9191r9192
12101210   generic_init(machine, boxingb_sound_w);
12111211}
12121212
1213MACHINE_DRIVER_START( boxingb_sound )
1213MACHINE_CONFIG_FRAGMENT( boxingb_sound )
12141214   MDRV_MACHINE_START(generic)
12151215   MDRV_MACHINE_RESET(boxingb)
12161216
r9191r9192
12191219   MDRV_SOUND_ADD("samples", SAMPLES, 0)
12201220   MDRV_SOUND_CONFIG(boxingb_samples_interface)
12211221   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1222MACHINE_DRIVER_END
1222MACHINE_CONFIG_END
12231223
12241224
12251225
r9191r9192
13241324   generic_init(machine, wotw_sound_w);
13251325}
13261326
1327MACHINE_DRIVER_START( wotw_sound )
1327MACHINE_CONFIG_FRAGMENT( wotw_sound )
13281328   MDRV_MACHINE_START(generic)
13291329   MDRV_MACHINE_RESET(wotw)
13301330
r9191r9192
13331333   MDRV_SOUND_ADD("samples", SAMPLES, 0)
13341334   MDRV_SOUND_CONFIG(wotw_samples_interface)
13351335   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1336MACHINE_DRIVER_END
1336MACHINE_CONFIG_END
13371337
13381338
13391339
r9191r9192
14381438   generic_init(machine, wotwc_sound_w);
14391439}
14401440
1441MACHINE_DRIVER_START( wotwc_sound )
1441MACHINE_CONFIG_FRAGMENT( wotwc_sound )
14421442   MDRV_MACHINE_START(generic)
14431443   MDRV_MACHINE_RESET(wotwc)
14441444
r9191r9192
14471447   MDRV_SOUND_ADD("samples", SAMPLES, 0)
14481448   MDRV_SOUND_CONFIG(wotwc_samples_interface)
14491449   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1450MACHINE_DRIVER_END
1450MACHINE_CONFIG_END
14511451
14521452
14531453
r9191r9192
15851585};
15861586
15871587
1588MACHINE_DRIVER_START( demon_sound )
1588MACHINE_CONFIG_FRAGMENT( demon_sound )
15891589
15901590   /* basic machine hardware */
15911591   MDRV_CPU_ADD("audiocpu", Z80, 3579545)
r9191r9192
16111611   MDRV_SOUND_ADD("ay3", AY8910, 3579545)
16121612   MDRV_SOUND_CONFIG(demon_ay8910_interface_3)
16131613   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1614MACHINE_DRIVER_END
1614MACHINE_CONFIG_END
16151615
16161616
16171617
r9191r9192
16391639}
16401640
16411641
1642MACHINE_DRIVER_START( qb3_sound )
1643   MDRV_IMPORT_FROM(demon_sound)
1642MACHINE_CONFIG_DERIVED( qb3_sound, demon_sound )
16441643   MDRV_MACHINE_RESET(qb3_sound)
1645MACHINE_DRIVER_END
1644MACHINE_CONFIG_END
src/mame/audio/toaplan2.c
r9191r9192
7171/*78*/  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
7272};
7373
74static void play_oki_sound(running_device *device, int game_sound, int data)
74static void play_oki_sound(okim6295_device *oki, int game_sound, int data)
7575{
76   int status = okim6295_r(device,0);
76   int status = oki->read_status();
7777
7878   logerror("Playing sample %02x from command %02x\n",game_sound,data);
7979
8080   if (game_sound != 0)
8181   {
8282      if ((status & 0x01) == 0) {
83         okim6295_w(device,0,(0x80 | game_sound));
84         okim6295_w(device,0,0x11);
83         oki->write_command(0x80 | game_sound);
84         oki->write_command(0x11);
8585      }
8686      else if ((status & 0x02) == 0) {
87         okim6295_w(device,0,(0x80 | game_sound));
88         okim6295_w(device,0,0x21);
87         oki->write_command(0x80 | game_sound);
88         oki->write_command(0x21);
8989      }
9090      else if ((status & 0x04) == 0) {
91         okim6295_w(device,0,(0x80 | game_sound));
92         okim6295_w(device,0,0x41);
91         oki->write_command(0x80 | game_sound);
92         oki->write_command(0x41);
9393      }
9494      else if ((status & 0x08) == 0) {
95         okim6295_w(device,0,(0x80 | game_sound));
96         okim6295_w(device,0,0x81);
95         oki->write_command(0x80 | game_sound);
96         oki->write_command(0x81);
9797      }
9898   }
9999}
r9191r9192
108108{
109109//  popmessage("Writing %04x to Sound CPU",data);
110110
111   okim6295_device *oki = downcast<okim6295_device *>(device);
111112   if (data == 0)
112113   {
113      okim6295_w(device,0,0x78);      /* Stop playing effects */
114      oki->write_command(0x78);      /* Stop playing effects */
114115   }
115116   else if ((data > 0) && (data < 128))
116117   {
117      play_oki_sound(device, kbash_cmd_snd[data], data);
118      play_oki_sound(oki, kbash_cmd_snd[data], data);
118119   }
119120}
120121
r9191r9192
122123{
123124//  popmessage("Writing %04x to Sound CPU",data);
124125
126   okim6295_device *oki = downcast<okim6295_device *>(device);
125127   if (data == 0)
126128   {
127      okim6295_w(device,0,0x78);      /* Stop playing effects */
129      oki->write_command(0x78);      /* Stop playing effects */
128130   }
129131   else if ((data > 0) && (data < 128))
130132   {
131      play_oki_sound(device, fixeight_cmd_snd[data], data);
133      play_oki_sound(oki, fixeight_cmd_snd[data], data);
132134   }
133135}
134136
r9191r9192
136138{
137139//  popmessage("Writing %04x to Sound CPU",data);
138140
141   okim6295_device *oki = downcast<okim6295_device *>(device);
139142   if (data == 0)
140143   {
141      okim6295_w(device,0,0x78);      /* Stop playing effects */
144      oki->write_command(0x78);      /* Stop playing effects */
142145   }
143146   else if ((data > 0) && (data < 64))
144147   {
145      play_oki_sound(device, batsugun_cmd_snd[data], data);
148      play_oki_sound(oki, batsugun_cmd_snd[data], data);
146149   }
147150}
src/mame/audio/zaxxon.c
r9191r9192
9797};
9898
9999
100MACHINE_DRIVER_START( zaxxon_samples )
100MACHINE_CONFIG_FRAGMENT( zaxxon_samples )
101101   MDRV_SOUND_ADD("samples", SAMPLES, 0)
102102   MDRV_SOUND_CONFIG(zaxxon_samples_interface)
103103   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
104MACHINE_DRIVER_END
104MACHINE_CONFIG_END
105105
106106
107107
r9191r9192
209209};
210210
211211
212MACHINE_DRIVER_START( congo_samples )
212MACHINE_CONFIG_FRAGMENT( congo_samples )
213213   MDRV_SOUND_ADD("samples", SAMPLES, 0)
214214   MDRV_SOUND_CONFIG(congo_samples_interface)
215215   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
216MACHINE_DRIVER_END
216MACHINE_CONFIG_END
217217
218218
219219
src/mame/audio/astrof.c
r9191r9192
149149
150150
151151
152MACHINE_DRIVER_START( astrof_audio )
152MACHINE_CONFIG_FRAGMENT( astrof_audio )
153153   MDRV_SPEAKER_STANDARD_MONO("mono")
154154   MDRV_SOUND_ADD("samples", SAMPLES, 0)
155155   MDRV_SOUND_CONFIG(astrof_samples_interface)
156156   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
157MACHINE_DRIVER_END
157MACHINE_CONFIG_END
158158
159159
160160
r9191r9192
170170}
171171
172172
173MACHINE_DRIVER_START( spfghmk2_audio )
173MACHINE_CONFIG_FRAGMENT( spfghmk2_audio )
174174   /* nothing yet */
175MACHINE_DRIVER_END
175MACHINE_CONFIG_END
176176
177177
178178
r9191r9192
234234};
235235
236236
237MACHINE_DRIVER_START( tomahawk_audio )
237MACHINE_CONFIG_FRAGMENT( tomahawk_audio )
238238   MDRV_SPEAKER_STANDARD_MONO("mono")
239239   MDRV_SOUND_ADD("snsnd", SN76477, 0)
240240   MDRV_SOUND_CONFIG(tomahawk_sn76477_interface)
241241   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
242MACHINE_DRIVER_END
242MACHINE_CONFIG_END
src/mame/audio/crbaloon.c
r9191r9192
167167
168168
169169
170MACHINE_DRIVER_START( crbaloon_audio )
170MACHINE_CONFIG_FRAGMENT( crbaloon_audio )
171171
172172   MDRV_SPEAKER_STANDARD_MONO("mono")
173173
r9191r9192
178178   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
179179   MDRV_SOUND_CONFIG_DISCRETE(crbaloon)
180180   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
181MACHINE_DRIVER_END
181MACHINE_CONFIG_END
src/mame/audio/namco54.c
r9191r9192
146146ADDRESS_MAP_END
147147
148148
149static MACHINE_DRIVER_START( namco_54xx )
149static MACHINE_CONFIG_FRAGMENT( namco_54xx )
150150   MDRV_CPU_ADD("mcu", MB8844, DERIVED_CLOCK(1,1))      /* parent clock, internally divided by 6 */
151151   MDRV_CPU_IO_MAP(namco_54xx_map_io)
152MACHINE_DRIVER_END
152MACHINE_CONFIG_END
153153
154154
155155ROM_START( namco_54xx )
src/mame/audio/snk6502.c
r9191r9192
385385INLINE snk6502_sound_state *get_safe_token( running_device *device )
386386{
387387   assert(device != NULL);
388   assert(device->type() == SOUND_SNK6502);
388   assert(device->type() == SNK6502);
389389
390390   return (snk6502_sound_state *)downcast<legacy_device_base *>(device)->token();
391391}
src/mame/audio/exidy440.c
r9191r9192
939939 *
940940 *************************************/
941941
942MACHINE_DRIVER_START( exidy440_audio )
942MACHINE_CONFIG_FRAGMENT( exidy440_audio )
943943
944944   MDRV_CPU_ADD("audiocpu", M6809, EXIDY440_AUDIO_CLOCK)
945945   MDRV_CPU_PROGRAM_MAP(exidy440_audio_map)
r9191r9192
962962
963963//  MDRV_SOUND_ADD("cvsd4", MC3417, EXIDY440_MC3417_CLOCK)
964964//  MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
965MACHINE_DRIVER_END
965MACHINE_CONFIG_END
src/mame/audio/mcr.c
r9191r9192
462462
463463
464464/********* machine driver ***********/
465MACHINE_DRIVER_START(mcr_ssio)
465MACHINE_CONFIG_FRAGMENT(mcr_ssio)
466466   MDRV_CPU_ADD("ssiocpu", Z80, SSIO_CLOCK/2/4)
467467   MDRV_CPU_PROGRAM_MAP(ssio_map)
468468   MDRV_CPU_PERIODIC_INT(ssio_14024_clock, SSIO_CLOCK/2/16/10)
r9191r9192
475475   MDRV_SOUND_ADD("ssio.2", AY8910, SSIO_CLOCK/2/4)
476476   MDRV_SOUND_CONFIG(ssio_ay8910_interface_2)
477477   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.33)
478MACHINE_DRIVER_END
478MACHINE_CONFIG_END
479479
480480
481481
r9191r9192
593593
594594
595595/********* machine driver ***********/
596MACHINE_DRIVER_START(chip_squeak_deluxe)
596MACHINE_CONFIG_FRAGMENT(chip_squeak_deluxe)
597597   MDRV_CPU_ADD("csdcpu", M68000, CSDELUXE_CLOCK/2)
598598   MDRV_CPU_PROGRAM_MAP(csdeluxe_map)
599599
r9191r9192
602602   MDRV_SPEAKER_STANDARD_MONO("mono")
603603   MDRV_SOUND_ADD("csddac", DAC, 0)
604604   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
605MACHINE_DRIVER_END
605MACHINE_CONFIG_END
606606
607MACHINE_DRIVER_START(chip_squeak_deluxe_stereo)
607MACHINE_CONFIG_FRAGMENT(chip_squeak_deluxe_stereo)
608608   MDRV_CPU_ADD("csdcpu", M68000, CSDELUXE_CLOCK/2)
609609   MDRV_CPU_PROGRAM_MAP(csdeluxe_map)
610610
r9191r9192
613613   MDRV_SOUND_ADD("csddac", DAC, 0)
614614   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
615615   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
616MACHINE_DRIVER_END
616MACHINE_CONFIG_END
617617
618618
619619
r9191r9192
712712
713713
714714/********* machine driver ***********/
715MACHINE_DRIVER_START(sounds_good)
715MACHINE_CONFIG_FRAGMENT(sounds_good)
716716   MDRV_CPU_ADD("sgcpu", M68000, SOUNDSGOOD_CLOCK/2)
717717   MDRV_CPU_PROGRAM_MAP(soundsgood_map)
718718
r9191r9192
721721   MDRV_SPEAKER_STANDARD_MONO("mono")
722722   MDRV_SOUND_ADD("sgdac", DAC, 0)
723723   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
724MACHINE_DRIVER_END
724MACHINE_CONFIG_END
725725
726726
727727
r9191r9192
814814
815815
816816/********* machine driver ***********/
817MACHINE_DRIVER_START(turbo_chip_squeak)
817MACHINE_CONFIG_FRAGMENT(turbo_chip_squeak)
818818   MDRV_CPU_ADD("tcscpu", M6809E, TURBOCS_CLOCK)
819819   MDRV_CPU_PROGRAM_MAP(turbocs_map)
820820
r9191r9192
823823   MDRV_SPEAKER_STANDARD_MONO("mono")
824824   MDRV_SOUND_ADD("tcsdac", DAC, 0)
825825   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
826MACHINE_DRIVER_END
826MACHINE_CONFIG_END
827827
828828
829829
r9191r9192
975975
976976
977977/********* machine driver ***********/
978MACHINE_DRIVER_START(squawk_n_talk)
978MACHINE_CONFIG_FRAGMENT(squawk_n_talk)
979979   MDRV_CPU_ADD("sntcpu", M6802, SQUAWKTALK_CLOCK)
980980   MDRV_CPU_PROGRAM_MAP(squawkntalk_map)
981981
r9191r9192
989989
990990   /* the board also supports an AY-8912 and/or an 8-bit DAC, neither of */
991991   /* which are populated on the Discs of Tron board */
992MACHINE_DRIVER_END
992MACHINE_CONFIG_END
src/mame/audio/mcr.h
r9191r9192
6363
6464/************ External definitions ***************/
6565
66MACHINE_DRIVER_EXTERN( mcr_ssio );
67MACHINE_DRIVER_EXTERN( chip_squeak_deluxe );
68MACHINE_DRIVER_EXTERN( chip_squeak_deluxe_stereo );
69MACHINE_DRIVER_EXTERN( sounds_good );
70MACHINE_DRIVER_EXTERN( turbo_chip_squeak );
71MACHINE_DRIVER_EXTERN( squawk_n_talk );
66MACHINE_CONFIG_EXTERN( mcr_ssio );
67MACHINE_CONFIG_EXTERN( chip_squeak_deluxe );
68MACHINE_CONFIG_EXTERN( chip_squeak_deluxe_stereo );
69MACHINE_CONFIG_EXTERN( sounds_good );
70MACHINE_CONFIG_EXTERN( turbo_chip_squeak );
71MACHINE_CONFIG_EXTERN( squawk_n_talk );
src/mame/audio/vicdual.c
r9191r9192
119119};
120120
121121
122MACHINE_DRIVER_START( frogs_audio )
122MACHINE_CONFIG_FRAGMENT( frogs_audio )
123123   MDRV_SOUND_ADD("samples", SAMPLES, 0)
124124   MDRV_SOUND_CONFIG(frogs_samples_interface)
125125   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
r9191r9192
127127   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
128128   MDRV_SOUND_CONFIG_DISCRETE(frogs)
129129   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
130MACHINE_DRIVER_END
130MACHINE_CONFIG_END
131131
132132
133133static TIMER_CALLBACK( frogs_croak_callback )
r9191r9192
453453
454454DISCRETE_SOUND_END
455455
456MACHINE_DRIVER_START( headon_audio )
456MACHINE_CONFIG_FRAGMENT( headon_audio )
457457
458458   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
459459   MDRV_SOUND_CONFIG_DISCRETE(headon)
460460   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
461MACHINE_DRIVER_END
461MACHINE_CONFIG_END
462462
463463WRITE8_HANDLER( headon_audio_w )
464464{
src/mame/audio/irem.c
r9191r9192
390390 *
391391 *************************************/
392392
393static MACHINE_DRIVER_START( irem_audio_base )
393static MACHINE_CONFIG_FRAGMENT( irem_audio_base )
394394
395395   MDRV_SOUND_START(irem_audio)
396396
r9191r9192
416416   MDRV_SOUND_ADD("msm2", MSM5205, XTAL_384kHz) /* verified on pcb */
417417   MDRV_SOUND_CONFIG(irem_msm5205_interface_2)
418418   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
419MACHINE_DRIVER_END
419MACHINE_CONFIG_END
420420
421MACHINE_DRIVER_START( m52_sound_c_audio )
421MACHINE_CONFIG_FRAGMENT( m52_sound_c_audio )
422422
423423   MDRV_SOUND_START(irem_audio)
424424
r9191r9192
446446   MDRV_SOUND_CONFIG_DISCRETE(m52_sound_c)
447447   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
448448
449MACHINE_DRIVER_END
449MACHINE_CONFIG_END
450450
451MACHINE_DRIVER_START( m52_large_audio )   /* 10 yard fight */
452   MDRV_IMPORT_FROM(irem_audio_base)
451MACHINE_CONFIG_DERIVED( m52_large_audio, irem_audio_base )   /* 10 yard fight */
453452
454453   /* basic machine hardware */
455454   MDRV_CPU_MODIFY("iremsound")
456455   MDRV_CPU_PROGRAM_MAP(m52_large_sound_map)
457MACHINE_DRIVER_END
456MACHINE_CONFIG_END
458457
459458
460MACHINE_DRIVER_START( m62_audio )
461   MDRV_IMPORT_FROM(irem_audio_base)
459MACHINE_CONFIG_DERIVED( m62_audio, irem_audio_base )
462460
463461   /* basic machine hardware */
464462   MDRV_CPU_MODIFY("iremsound")
465463   MDRV_CPU_PROGRAM_MAP(m62_sound_map)
466MACHINE_DRIVER_END
464MACHINE_CONFIG_END
src/mame/audio/dkong.c
r9191r9192
13121312 *
13131313 *************************************/
13141314
1315MACHINE_DRIVER_START( dkong2b_audio )
1315MACHINE_CONFIG_FRAGMENT( dkong2b_audio )
13161316
13171317   MDRV_SOUND_START( dkong )
13181318
r9191r9192
13501350   MDRV_SOUND_CONFIG_DISCRETE(dkong2b)
13511351   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
13521352
1353MACHINE_DRIVER_END
1353MACHINE_CONFIG_END
13541354
1355MACHINE_DRIVER_START( radarscp_audio )
1356
1357   MDRV_IMPORT_FROM( dkong2b_audio )
1355MACHINE_CONFIG_DERIVED( radarscp_audio, dkong2b_audio )
13581356   MDRV_SOUND_MODIFY("discrete")
13591357   MDRV_SOUND_CONFIG_DISCRETE(radarscp)
13601358   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.7)
13611359
1362MACHINE_DRIVER_END
1360MACHINE_CONFIG_END
13631361
13641362
1365MACHINE_DRIVER_START( radarscp1_audio )
1366
1367   MDRV_IMPORT_FROM( radarscp_audio )
1363MACHINE_CONFIG_DERIVED( radarscp1_audio, radarscp_audio )
13681364   MDRV_CPU_MODIFY("soundcpu")
13691365   MDRV_CPU_IO_MAP(radarscp1_sound_io_map)
13701366
r9191r9192
13811377   MDRV_DEVICE_CONFIG(tms_interface)
13821378   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
13831379
1384MACHINE_DRIVER_END
1380MACHINE_CONFIG_END
13851381
1386MACHINE_DRIVER_START( dkongjr_audio )
1382MACHINE_CONFIG_FRAGMENT( dkongjr_audio )
13871383
13881384   /* sound latches */
13891385
r9191r9192
14181414   MDRV_SOUND_CONFIG_DISCRETE(dkongjr)
14191415   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
14201416
1421MACHINE_DRIVER_END
1417MACHINE_CONFIG_END
14221418
1423MACHINE_DRIVER_START( dkong3_audio )
1419MACHINE_CONFIG_FRAGMENT( dkong3_audio )
14241420
14251421   MDRV_CPU_ADD("n2a03a", N2A03,N2A03_DEFAULTCLOCK)
14261422   MDRV_CPU_PROGRAM_MAP(dkong3_sound1_map)
r9191r9192
14441440   MDRV_SOUND_CONFIG(nes_interface_2)
14451441   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
14461442
1447MACHINE_DRIVER_END
1443MACHINE_CONFIG_END
14481444
14491445
src/mame/audio/pleiads.c
r9191r9192
99#include "emu.h"
1010#include "streams.h"
1111#include "sound/tms36xx.h"
12#include "includes/phoenix.h"
12#include "audio/pleiads.h"
1313
1414#define VMIN   0
1515#define VMAX   32767
src/mame/audio/williams.c
r9191r9192
141141   AM_RANGE(0x2000, 0x2000) AM_MIRROR(0x03ff) AM_WRITE(adpcm_bank_select_w)
142142   AM_RANGE(0x2400, 0x2401) AM_MIRROR(0x03fe) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
143143   AM_RANGE(0x2800, 0x2800) AM_MIRROR(0x03ff) AM_DEVWRITE("dac", dac_w)
144   AM_RANGE(0x2c00, 0x2c00) AM_MIRROR(0x03ff) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
144   AM_RANGE(0x2c00, 0x2c00) AM_MIRROR(0x03ff) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
145145   AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x03ff) AM_READ(adpcm_command_r)
146146   AM_RANGE(0x3400, 0x3400) AM_MIRROR(0x03ff) AM_DEVWRITE("oki", adpcm_6295_bank_select_w)
147147   AM_RANGE(0x3c00, 0x3c00) AM_MIRROR(0x03ff) AM_WRITE(adpcm_talkback_w)
r9191r9192
193193    MACHINE DRIVERS
194194****************************************************************************/
195195
196MACHINE_DRIVER_START( williams_cvsd_sound )
196MACHINE_CONFIG_FRAGMENT( williams_cvsd_sound )
197197   MDRV_CPU_ADD("cvsdcpu", M6809E, CVSD_MASTER_CLOCK)
198198   MDRV_CPU_PROGRAM_MAP(williams_cvsd_map)
199199
r9191r9192
210210
211211   MDRV_SOUND_ADD("cvsd", HC55516, 0)
212212   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
213MACHINE_DRIVER_END
213MACHINE_CONFIG_END
214214
215215
216MACHINE_DRIVER_START( williams_narc_sound )
216MACHINE_CONFIG_FRAGMENT( williams_narc_sound )
217217   MDRV_CPU_ADD("narc1cpu", M6809E, NARC_MASTER_CLOCK)
218218   MDRV_CPU_PROGRAM_MAP(williams_narc_master_map)
219219
r9191r9192
238238   MDRV_SOUND_ADD("cvsd", HC55516, 0)
239239   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60)
240240   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60)
241MACHINE_DRIVER_END
241MACHINE_CONFIG_END
242242
243243
244MACHINE_DRIVER_START( williams_adpcm_sound )
244MACHINE_CONFIG_FRAGMENT( williams_adpcm_sound )
245245   MDRV_CPU_ADD("adpcm", M6809E, ADPCM_MASTER_CLOCK)
246246   MDRV_CPU_PROGRAM_MAP(williams_adpcm_map)
247247
r9191r9192
256256
257257   MDRV_OKIM6295_ADD("oki", ADPCM_MASTER_CLOCK/8, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
258258   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
259MACHINE_DRIVER_END
259MACHINE_CONFIG_END
260260
261261
262262
src/mame/audio/pleiads.h
r0r9192
1WRITE8_HANDLER( pleiads_sound_control_a_w );
2WRITE8_HANDLER( pleiads_sound_control_b_w );
3WRITE8_HANDLER( pleiads_sound_control_c_w );
4
5DECLARE_LEGACY_SOUND_DEVICE(PLEIADS, pleiads_sound);
6DECLARE_LEGACY_SOUND_DEVICE(NAUGHTYB, naughtyb_sound);
7DECLARE_LEGACY_SOUND_DEVICE(POPFLAME, popflame_sound);
src/mame/audio/williams.h
r9191r9192
44
55****************************************************************************/
66
7MACHINE_DRIVER_EXTERN( williams_cvsd_sound );
8MACHINE_DRIVER_EXTERN( williams_adpcm_sound );
9MACHINE_DRIVER_EXTERN( williams_narc_sound );
7MACHINE_CONFIG_EXTERN( williams_cvsd_sound );
8MACHINE_CONFIG_EXTERN( williams_adpcm_sound );
9MACHINE_CONFIG_EXTERN( williams_narc_sound );
1010
1111void williams_cvsd_init(running_machine *machine);
1212void williams_cvsd_data_w(running_machine *machine, int data);
src/mame/audio/redalert.c
r9191r9192
217217 *
218218 *************************************/
219219
220static MACHINE_DRIVER_START( redalert_audio_m37b )
220static MACHINE_CONFIG_FRAGMENT( redalert_audio_m37b )
221221
222222   MDRV_CPU_ADD("audiocpu", M6502, REDALERT_AUDIO_CPU_CLOCK)
223223   MDRV_CPU_PROGRAM_MAP(redalert_audio_map)
r9191r9192
229229   MDRV_SOUND_ROUTE(1, "mono", 0.50)
230230   /* channel C is used a noise source and is not connected to a speaker */
231231
232MACHINE_DRIVER_END
232MACHINE_CONFIG_END
233233
234234/*************************************
235235 *
r9191r9192
237237 *
238238 *************************************/
239239
240static MACHINE_DRIVER_START( redalert_audio_voice )
240static MACHINE_CONFIG_FRAGMENT( redalert_audio_voice )
241241
242242   MDRV_CPU_ADD("voice", I8085A, REDALERT_VOICE_CPU_CLOCK)
243243   MDRV_CPU_CONFIG(redalert_voice_i8085_config)
r9191r9192
245245
246246   MDRV_SOUND_ADD("cvsd", HC55516, REDALERT_HC55516_CLOCK)
247247   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
248MACHINE_DRIVER_END
248MACHINE_CONFIG_END
249249
250250/*************************************
251251 *
r9191r9192
253253 *
254254 *************************************/
255255
256MACHINE_DRIVER_START( redalert_audio )
256MACHINE_CONFIG_FRAGMENT( redalert_audio )
257257
258258   MDRV_SPEAKER_STANDARD_MONO("mono")
259259
260   MDRV_IMPORT_FROM( redalert_audio_m37b )
261   MDRV_IMPORT_FROM( redalert_audio_voice )
260   MDRV_FRAGMENT_ADD( redalert_audio_m37b )
261   MDRV_FRAGMENT_ADD( redalert_audio_voice )
262262
263263   MDRV_SOUND_START( redalert )
264264
265MACHINE_DRIVER_END
265MACHINE_CONFIG_END
266266
267267/*************************************
268268 *
r9191r9192
270270 *
271271 *************************************/
272272
273MACHINE_DRIVER_START( ww3_audio )
273MACHINE_CONFIG_FRAGMENT( ww3_audio )
274274
275275   MDRV_SPEAKER_STANDARD_MONO("mono")
276276
277   MDRV_IMPORT_FROM( redalert_audio_m37b )
277   MDRV_FRAGMENT_ADD( redalert_audio_m37b )
278278
279279   MDRV_SOUND_START( redalert_audio )
280280
281MACHINE_DRIVER_END
281MACHINE_CONFIG_END
282282
283283/*************************************
284284 *
r9191r9192
405405 *
406406 *************************************/
407407
408MACHINE_DRIVER_START( demoneye_audio )
408MACHINE_CONFIG_FRAGMENT( demoneye_audio )
409409
410410   MDRV_CPU_ADD("audiocpu", M6802, DEMONEYE_AUDIO_CPU_CLOCK)
411411   MDRV_CPU_PROGRAM_MAP(demoneye_audio_map)
r9191r9192
423423   MDRV_SOUND_ADD("ay2", AY8910, DEMONEYE_AY8910_CLOCK)
424424   MDRV_SOUND_CONFIG(demoneye_ay8910_interface)
425425   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
426MACHINE_DRIVER_END
426MACHINE_CONFIG_END
src/mame/audio/mario.c
r9191r9192
683683 *
684684 *************************************/
685685
686MACHINE_DRIVER_START( mario_audio )
686MACHINE_CONFIG_FRAGMENT( mario_audio )
687687
688688#if USE_8039
689689   MDRV_CPU_ADD("audiocpu", I8039, I8035_CLOCK)         /* 730 kHz */
r9191r9192
701701   MDRV_SOUND_CONFIG_DISCRETE(mario)
702702   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.5)
703703
704MACHINE_DRIVER_END
704MACHINE_CONFIG_END
705705
706MACHINE_DRIVER_START( masao_audio )
706MACHINE_CONFIG_FRAGMENT( masao_audio )
707707
708708   MDRV_CPU_ADD("audiocpu", Z80,24576000/16)   /* ???? */
709709   MDRV_CPU_PROGRAM_MAP(masao_sound_map)
r9191r9192
717717   MDRV_SOUND_CONFIG(ay8910_config)
718718   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
719719
720MACHINE_DRIVER_END
720MACHINE_CONFIG_END
721721
src/mame/audio/taito_zm.c
r9191r9192
5050   "zsg2"   /* sample region */
5151};
5252
53MACHINE_DRIVER_START( taito_zoom_sound )
53MACHINE_CONFIG_FRAGMENT( taito_zoom_sound )
5454   MDRV_CPU_ADD("mn10200", MN10200, 25000000/2)
5555   MDRV_CPU_PROGRAM_MAP(taitozoom_map)
5656   MDRV_CPU_IO_MAP(taitozoom_io_map)
r9191r9192
6161   MDRV_SOUND_CONFIG(zsg2_taito_config)
6262   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
6363   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
64MACHINE_DRIVER_END
64MACHINE_CONFIG_END
src/mame/audio/taito_zm.h
src/mame/audio/mw8080bw.c
r9191r9192
153153};
154154
155155
156MACHINE_DRIVER_START( seawolf_audio )
156MACHINE_CONFIG_FRAGMENT( seawolf_audio )
157157   MDRV_SOUND_START(samples)
158158
159159   MDRV_SPEAKER_STANDARD_MONO("mono")
160160   MDRV_SOUND_ADD("samples", SAMPLES, 0)
161161   MDRV_SOUND_CONFIG(seawolf_samples_interface)
162162   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.6)
163MACHINE_DRIVER_END
163MACHINE_CONFIG_END
164164
165165
166166WRITE8_HANDLER( seawolf_audio_w )
r9191r9192
214214};
215215
216216
217MACHINE_DRIVER_START( gunfight_audio )
217MACHINE_CONFIG_FRAGMENT( gunfight_audio )
218218   MDRV_SOUND_START(samples)
219219
220220   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
r9191r9192
226226   MDRV_SOUND_ADD("samples2", SAMPLES, 0)
227227   MDRV_SOUND_CONFIG(gunfight_samples_interface)
228228   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
229MACHINE_DRIVER_END
229MACHINE_CONFIG_END
230230
231231
232232WRITE8_HANDLER( gunfight_audio_w )
r9191r9192
323323DISCRETE_SOUND_END
324324
325325
326MACHINE_DRIVER_START( tornbase_audio )
326MACHINE_CONFIG_FRAGMENT( tornbase_audio )
327327   MDRV_SPEAKER_STANDARD_MONO("mono")
328328   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
329329   MDRV_SOUND_CONFIG_DISCRETE(tornbase)
330330   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1)
331MACHINE_DRIVER_END
331MACHINE_CONFIG_END
332332
333333
334334WRITE8_DEVICE_HANDLER( tornbase_audio_w )
r9191r9192
367367 *
368368 *************************************/
369369
370MACHINE_DRIVER_START( zzzap_audio )
370MACHINE_CONFIG_FRAGMENT( zzzap_audio )
371371   MDRV_SPEAKER_STANDARD_MONO("mono")
372MACHINE_DRIVER_END
372MACHINE_CONFIG_END
373373
374374
375375WRITE8_HANDLER( zzzap_audio_1_w )
r9191r9192
569569DISCRETE_SOUND_END
570570
571571
572MACHINE_DRIVER_START( maze_audio )
572MACHINE_CONFIG_FRAGMENT( maze_audio )
573573   MDRV_SPEAKER_STANDARD_MONO("mono")
574574   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
575575   MDRV_SOUND_CONFIG_DISCRETE(maze)
576576   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
577MACHINE_DRIVER_END
577MACHINE_CONFIG_END
578578
579579
580580void maze_write_discrete(running_device *device, UINT8 maze_tone_timing_state)
r9191r9192
815815DISCRETE_SOUND_END
816816
817817
818MACHINE_DRIVER_START( boothill_audio )
818MACHINE_CONFIG_FRAGMENT( boothill_audio )
819819   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
820820   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
821821   MDRV_SOUND_CONFIG_DISCRETE(boothill)
822822   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
823823   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
824MACHINE_DRIVER_END
824MACHINE_CONFIG_END
825825
826826
827827WRITE8_DEVICE_HANDLER( boothill_audio_w )
r9191r9192
10451045DISCRETE_SOUND_END
10461046
10471047
1048MACHINE_DRIVER_START( checkmat_audio )
1048MACHINE_CONFIG_FRAGMENT( checkmat_audio )
10491049   MDRV_SPEAKER_STANDARD_MONO("mono")
10501050   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
10511051   MDRV_SOUND_CONFIG_DISCRETE(checkmat)
10521052   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
1053MACHINE_DRIVER_END
1053MACHINE_CONFIG_END
10541054
10551055
10561056WRITE8_DEVICE_HANDLER( checkmat_audio_w )
r9191r9192
12561256DISCRETE_SOUND_END
12571257
12581258
1259MACHINE_DRIVER_START( desertgu_audio )
1259MACHINE_CONFIG_FRAGMENT( desertgu_audio )
12601260   MDRV_SPEAKER_STANDARD_MONO("mono")
12611261   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
12621262   MDRV_SOUND_CONFIG_DISCRETE(desertgu)
12631263   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.8)
1264MACHINE_DRIVER_END
1264MACHINE_CONFIG_END
12651265
12661266
12671267WRITE8_DEVICE_HANDLER( desertgu_audio_1_w )
r9191r9192
15231523DISCRETE_SOUND_END
15241524
15251525
1526MACHINE_DRIVER_START( dplay_audio )
1526MACHINE_CONFIG_FRAGMENT( dplay_audio )
15271527   MDRV_SPEAKER_STANDARD_MONO("mono")
15281528   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
15291529   MDRV_SOUND_CONFIG_DISCRETE(dplay)
15301530   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.8)
1531MACHINE_DRIVER_END
1531MACHINE_CONFIG_END
15321532
15331533
15341534WRITE8_DEVICE_HANDLER( dplay_audio_w )
r9191r9192
15721572};
15731573
15741574
1575MACHINE_DRIVER_START( gmissile_audio )
1575MACHINE_CONFIG_FRAGMENT( gmissile_audio )
15761576   MDRV_SOUND_START(samples)
15771577
15781578   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
r9191r9192
15841584   MDRV_SOUND_ADD("samples2", SAMPLES, 0)
15851585   MDRV_SOUND_CONFIG(gmissile_samples_interface)
15861586   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.9)
1587MACHINE_DRIVER_END
1587MACHINE_CONFIG_END
15881588
15891589
15901590WRITE8_HANDLER( gmissile_audio_1_w )
r9191r9192
16711671};
16721672
16731673
1674MACHINE_DRIVER_START( m4_audio )
1674MACHINE_CONFIG_FRAGMENT( m4_audio )
16751675   MDRV_SOUND_START(samples)
16761676
16771677   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
r9191r9192
16831683   MDRV_SOUND_ADD("samples2", SAMPLES, 0)
16841684   MDRV_SOUND_CONFIG(m4_samples_interface)
16851685   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1)
1686MACHINE_DRIVER_END
1686MACHINE_CONFIG_END
16871687
16881688
16891689WRITE8_HANDLER( m4_audio_1_w )
r9191r9192
19331933};
19341934
19351935
1936MACHINE_DRIVER_START( clowns_audio )
1936MACHINE_CONFIG_FRAGMENT( clowns_audio )
19371937   MDRV_SOUND_START(samples)
19381938
19391939   MDRV_SPEAKER_STANDARD_MONO("mono")
r9191r9192
19451945   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
19461946   MDRV_SOUND_CONFIG_DISCRETE(clowns)
19471947   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1948MACHINE_DRIVER_END
1948MACHINE_CONFIG_END
19491949
19501950
19511951WRITE8_HANDLER( clowns_audio_1_w )
r9191r9192
23072307   DISCRETE_OUTPUT(NODE_90, 11000)
23082308DISCRETE_SOUND_END
23092309
2310MACHINE_DRIVER_START( spacwalk_audio )
2310MACHINE_CONFIG_FRAGMENT( spacwalk_audio )
23112311   MDRV_SPEAKER_STANDARD_MONO("mono")
23122312
23132313   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
23142314   MDRV_SOUND_CONFIG_DISCRETE(spacwalk)
23152315   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2316MACHINE_DRIVER_END
2316MACHINE_CONFIG_END
23172317
23182318WRITE8_DEVICE_HANDLER( spacwalk_audio_1_w )
23192319{
r9191r9192
25382538DISCRETE_SOUND_END
25392539
25402540
2541MACHINE_DRIVER_START( shuffle_audio )
2541MACHINE_CONFIG_FRAGMENT( shuffle_audio )
25422542   MDRV_SPEAKER_STANDARD_MONO("mono")
25432543
25442544   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
25452545   MDRV_SOUND_CONFIG_DISCRETE(shuffle)
25462546   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2547MACHINE_DRIVER_END
2547MACHINE_CONFIG_END
25482548
25492549
25502550WRITE8_DEVICE_HANDLER( shuffle_audio_1_w )
r9191r9192
26032603DISCRETE_SOUND_END
26042604
26052605
2606MACHINE_DRIVER_START( dogpatch_audio )
2606MACHINE_CONFIG_FRAGMENT( dogpatch_audio )
26072607   MDRV_SPEAKER_STANDARD_MONO("mono")
26082608   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
26092609   MDRV_SOUND_CONFIG_DISCRETE(dogpatch)
26102610   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.3)
2611MACHINE_DRIVER_END
2611MACHINE_CONFIG_END
26122612
26132613
26142614WRITE8_HANDLER( dogpatch_audio_w )
r9191r9192
31363136DISCRETE_SOUND_END
31373137
31383138
3139MACHINE_DRIVER_START( spcenctr_audio )
3139MACHINE_CONFIG_FRAGMENT( spcenctr_audio )
31403140   MDRV_SPEAKER_STANDARD_MONO("mono")
31413141
31423142   MDRV_SOUND_ADD("snsnd", SN76477, 0)
r9191r9192
31463146   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
31473147   MDRV_SOUND_CONFIG_DISCRETE(spcenctr)
31483148   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
3149MACHINE_DRIVER_END
3149MACHINE_CONFIG_END
31503150
31513151
31523152
r9191r9192
32223222};
32233223
32243224
3225MACHINE_DRIVER_START( phantom2_audio )
3225MACHINE_CONFIG_FRAGMENT( phantom2_audio )
32263226   MDRV_SOUND_START(samples)
32273227
32283228   MDRV_SPEAKER_STANDARD_MONO("mono")
32293229   MDRV_SOUND_ADD("samples", SAMPLES, 0)
32303230   MDRV_SOUND_CONFIG(phantom2_samples_interface)
32313231   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1)
3232MACHINE_DRIVER_END
3232MACHINE_CONFIG_END
32333233
32343234
32353235WRITE8_HANDLER( phantom2_audio_1_w )
r9191r9192
33523352DISCRETE_SOUND_END
33533353
33543354
3355MACHINE_DRIVER_START( bowler_audio )
3355MACHINE_CONFIG_FRAGMENT( bowler_audio )
33563356   MDRV_SPEAKER_STANDARD_MONO("mono")
33573357
33583358   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
33593359   MDRV_SOUND_CONFIG_DISCRETE(bowler)
33603360   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1)
3361MACHINE_DRIVER_END
3361MACHINE_CONFIG_END
33623362
33633363
33643364WRITE8_DEVICE_HANDLER( bowler_audio_1_w )
r9191r9192
35033503
35043504
35053505/* left in for all games that hack into invaders samples for audio */
3506MACHINE_DRIVER_START( invaders_samples_audio )
3506MACHINE_CONFIG_FRAGMENT( invaders_samples_audio )
35073507   MDRV_SOUND_START(samples)
35083508
35093509   MDRV_SPEAKER_STANDARD_MONO("mono")
r9191r9192
35153515   MDRV_SOUND_ADD("samples", SAMPLES, 0)
35163516   MDRV_SOUND_CONFIG(invaders_samples_interface)
35173517   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
3518MACHINE_DRIVER_END
3518MACHINE_CONFIG_END
35193519
35203520
35213521/* nodes - inputs */
r9191r9192
40724072DISCRETE_SOUND_END
40734073
40744074
4075MACHINE_DRIVER_START( invaders_audio )
4075MACHINE_CONFIG_FRAGMENT( invaders_audio )
40764076   MDRV_SPEAKER_STANDARD_MONO("mono")
40774077
40784078   MDRV_SOUND_ADD("snsnd", SN76477, 0)
r9191r9192
40824082   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
40834083   MDRV_SOUND_CONFIG_DISCRETE(invaders)
40844084   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
4085MACHINE_DRIVER_END
4085MACHINE_CONFIG_END
40864086
40874087
40884088WRITE8_DEVICE_HANDLER( invaders_audio_1_w )
r9191r9192
44824482DISCRETE_SOUND_END
44834483
44844484
4485MACHINE_DRIVER_START( blueshrk_audio )
4485MACHINE_CONFIG_FRAGMENT( blueshrk_audio )
44864486   MDRV_SPEAKER_STANDARD_MONO("mono")
44874487   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
44884488   MDRV_SOUND_CONFIG_DISCRETE(blueshrk)
44894489   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
4490MACHINE_DRIVER_END
4490MACHINE_CONFIG_END
44914491
44924492
44934493WRITE8_DEVICE_HANDLER( blueshrk_audio_w )
r9191r9192
47004700DISCRETE_SOUND_END
47014701
47024702
4703MACHINE_DRIVER_START( invad2ct_audio )
4703MACHINE_CONFIG_FRAGMENT( invad2ct_audio )
47044704   MDRV_SPEAKER_STANDARD_STEREO("spk1", "spk2")
47054705
47064706   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
r9191r9192
47154715   MDRV_SOUND_ADD("sn2", SN76477, 0)
47164716   MDRV_SOUND_CONFIG(invad2ct_p2_sn76477_interface)
47174717   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "spk2", 0.3)
4718MACHINE_DRIVER_END
4718MACHINE_CONFIG_END
47194719
47204720
47214721WRITE8_DEVICE_HANDLER( invad2ct_audio_1_w )
src/mame/machine/xevious.c
r9191r9192
157157{
158158   logerror("CPU3 %04x: 50%02x Write = %02x\n",cpu_get_pc(space->cpu),offset,data);
159159   if( (battles_sound_played == 0) && (data == 0xFF) ){
160      samples_sound_device *samples = space->machine->device<samples_sound_device>("samples");
160      samples_device *samples = space->machine->device<samples_device>("samples");
161161      if( customio[0] == 0x40 ){
162162         sample_start (samples, 0, 0, 0);
163163      }
src/mame/machine/nmk004.c
r9191r9192
9797
9898   running_machine *machine;
9999   running_device *ymdevice;
100   running_device *oki1device;
101   running_device *oki2device;
100   okim6295_device *oki1device;
101   okim6295_device *oki2device;
102102
103103   /* C001      */   UINT8 last_command;      // last command received
104104   /* C016      */   UINT8 oki_playing;      // bitmap of active Oki channels
r9191r9192
144144   UINT8 byte1 = read8(table_start + 2 * (sample_no & 0x7f) + 0);
145145   UINT8 byte2 = read8(table_start + 2 * (sample_no & 0x7f) + 1);
146146   int chip = (byte1 & 0x80) >> 7;
147   running_device *okidevice = (chip) ? NMK004_state.oki2device : NMK004_state.oki1device;
147   okim6295_device *okidevice = (chip) ? NMK004_state.oki2device : NMK004_state.oki1device;
148148
149149   if ((byte1 & 0x7f) == 0)
150150   {
151151      // stop all channels
152      okim6295_w(okidevice, 0, 0x78 );
152      okidevice->write_command( 0x78 );
153153   }
154154   else
155155   {
r9191r9192
163163      NMK004_state.oki_playing |= 1 << (ch + 4*chip);
164164
165165      // stop channel
166      okim6295_w(okidevice, 0, (0x08 << ch) );
166      okidevice->write_command( 0x08 << ch );
167167
168168      if (sample != 0)
169169      {
r9191r9192
174174         if (bank != 3)
175175            memcpy(rom + 0x20000,rom + 0x40000 + bank * 0x20000,0x20000);
176176
177         okim6295_w(okidevice, 0, 0x80 | sample );
178         okim6295_w(okidevice, 0, (0x10 << ch) | vol );
177         okidevice->write_command( 0x80 | sample );
178         okidevice->write_command( (0x10 << ch) | vol );
179179      }
180180   }
181181}
182182
183183static void oki_update_state(void)
184184{
185   NMK004_state.oki_playing = ((okim6295_r(NMK004_state.oki2device, 0) & 0x0f) << 4) | (okim6295_r(NMK004_state.oki1device, 0) & 0x0f);
185   NMK004_state.oki_playing = ((NMK004_state.oki2device->read_status() & 0x0f) << 4) | (NMK004_state.oki1device->read_status() & 0x0f);
186186}
187187
188188
r9191r9192
10221022
10231023   NMK004_state.machine = machine;
10241024   NMK004_state.ymdevice = machine->device("ymsnd");
1025   NMK004_state.oki1device = machine->device("oki1");
1026   NMK004_state.oki2device = machine->device("oki2");
1025   NMK004_state.oki1device = machine->device<okim6295_device>("oki1");
1026   NMK004_state.oki2device = machine->device<okim6295_device>("oki2");
10271027
10281028   NMK004_state.rom = memory_region(machine, "audiocpu");
10291029
src/mame/machine/asic65.c
r9191r9192
4242   FILE * log;
4343} asic65;
4444
45WRITE16_HANDLER( asic65_data_w );
4645
47READ16_HANDLER( asic65_r );
48READ16_HANDLER( asic65_io_r );
49
50
5146#define PARAM_WRITE      0
5247#define COMMAND_WRITE   1
5348#define DATA_READ      2
r9191r9192
538533 *
539534 *************************************/
540535
541MACHINE_DRIVER_START( asic65 )
536MACHINE_CONFIG_FRAGMENT( asic65 )
542537
543538   /* ASIC65 */
544539   MDRV_CPU_ADD("asic65", TMS32010, 20000000)
545540   MDRV_CPU_PROGRAM_MAP(asic65_program_map)
546541   MDRV_CPU_IO_MAP(asic65_io_map)
547MACHINE_DRIVER_END
542MACHINE_CONFIG_END
548543
549544
550545
src/mame/machine/asic65.h
r9191r9192
1515READ16_HANDLER( asic65_r );
1616READ16_HANDLER( asic65_io_r );
1717
18MACHINE_DRIVER_EXTERN( asic65 );
18MACHINE_CONFIG_EXTERN( asic65 );
src/mame/machine/decocass.h
r9191r9192
1616
1717
1818
19class decocass_state : public driver_data_t
19class decocass_state : public driver_device
2020{
2121public:
22   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, decocass_state(machine)); }
22   decocass_state(running_machine &machine, const driver_device_config_base &config)
23      : driver_device(machine, config) { }
2324
24   decocass_state(running_machine &machine)
25      : driver_data_t(machine) { }
26
2725   /* memory pointers */
2826   UINT8 *   rambase;
2927   UINT8 *   charram;
src/mame/machine/leland.c
r9191r9192
363363MACHINE_START( leland )
364364{
365365   /* allocate extra stuff */
366   battery_ram = auto_alloc_array(machine, UINT8, LELAND_BATTERY_RAM_SIZE);
366   battery_ram = reinterpret_cast<UINT8 *>(memory_get_shared(*machine, "battery"));
367367
368368   /* start scanline interrupts going */
369369   master_int_timer = timer_alloc(machine, leland_interrupt_callback, NULL);
r9191r9192
416416MACHINE_START( ataxx )
417417{
418418   /* set the odd data banks */
419   battery_ram = auto_alloc_array(machine, UINT8, LELAND_BATTERY_RAM_SIZE);
419   battery_ram = reinterpret_cast<UINT8 *>(memory_get_shared(*machine, "battery"));
420420   extra_tram = auto_alloc_array(machine, UINT8, ATAXX_EXTRA_TRAM_SIZE);
421421
422422   /* start scanline interrupts going */
r9191r9192
912912}
913913
914914
915NVRAM_HANDLER( leland )
916{
917   if (read_or_write)
918      mame_fwrite(file, battery_ram, LELAND_BATTERY_RAM_SIZE);
919   else if (file)
920      mame_fread(file, battery_ram, LELAND_BATTERY_RAM_SIZE);
921   else
922      memset(battery_ram, 0x00, LELAND_BATTERY_RAM_SIZE);
923}
924915
925
926
927916/*************************************
928917 *
929918 *  Master CPU keycard I/O
src/mame/machine/midtunit.c
r9191r9192
7979{
8080   if (1)/*cmos_write_enable)*/
8181   {
82      COMBINE_DATA(space->machine->generic.nvram.u16+offset);
82      midtunit_state *state = space->machine->driver_data<midtunit_state>();
83      COMBINE_DATA(state->m_nvram+offset);
8384      cmos_write_enable = 0;
8485   }
8586   else
r9191r9192
9293
9394READ16_HANDLER( midtunit_cmos_r )
9495{
95   return space->machine->generic.nvram.u16[offset];
96   midtunit_state *state = space->machine->driver_data<midtunit_state>();
97   return state->m_nvram[offset];
9698}
9799
98100
src/mame/machine/namco53.c
r9191r9192
152152ADDRESS_MAP_END
153153
154154
155static MACHINE_DRIVER_START( namco_53xx )
155static MACHINE_CONFIG_FRAGMENT( namco_53xx )
156156   MDRV_CPU_ADD("mcu", MB8843, DERIVED_CLOCK(1,1))      /* parent clock, internally divided by 6 */
157157   MDRV_CPU_IO_MAP(namco_53xx_map_io)
158MACHINE_DRIVER_END
158MACHINE_CONFIG_END
159159
160160
161161ROM_START( namco_53xx )
src/mame/machine/balsente.c
r9191r9192
8181   balsente_state *state = machine->driver_data<balsente_state>();
8282   int i;
8383
84   state->cem_device[0] = state->m_cem1;
85   state->cem_device[1] = state->m_cem2;
86   state->cem_device[2] = state->m_cem3;
87   state->cem_device[3] = state->m_cem4;
88   state->cem_device[4] = state->m_cem5;
89   state->cem_device[5] = state->m_cem6;
90
8491   /* create the polynomial tables */
8592   poly17_init(machine);
8693
src/mame/machine/pcshare.c
r9191r9192
2727#include "machine/pic8259.h"
2828#include "machine/pit8253.h"
2929#include "machine/8042kbdc.h"
30#include "machine/mc146818.h"
3031
3132#define VERBOSE_DBG 0       /* general debug messages */
3233#define DBG_LOG(N,M,A) \
r9191r9192
321322   AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("pic8259_1", pic8259_r, pic8259_w, 0xffffffff)
322323   AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("pit8254", pit8253_r, pit8253_w, 0xffffffff)
323324   AM_RANGE(0x0060, 0x006f) AM_READWRITE8(kbdc8042_8_r, kbdc8042_8_w, 0xffffffff)
324   AM_RANGE(0x0070, 0x007f) AM_RAM//READWRITE(mc146818_port32le_r,     mc146818_port32le_w)
325   AM_RANGE(0x0070, 0x007f) AM_RAM //AM_DEVREADWRITE8_MODERN("rtc", mc146818_device, read, write, 0xffffffff)
325326   AM_RANGE(0x0080, 0x009f) AM_READWRITE8(dma_page_select_r,dma_page_select_w, 0xffffffff)//TODO
326327   AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("pic8259_2", pic8259_r, pic8259_w, 0xffffffff)
327328   AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE8("dma8237_2", i8237_r, i8237_w, 0xffff)
r9191r9192
333334   MDRV_I8237_ADD( "dma8237_1", XTAL_14_31818MHz/3, dma8237_1_config )
334335   MDRV_I8237_ADD( "dma8237_2", XTAL_14_31818MHz/3, dma8237_2_config )
335336   MDRV_PIT8254_ADD( "pit8254", at_pit8254_config )
337//  MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
336338MACHINE_CONFIG_END
src/mame/machine/atarigen.c
r9191r9192
3636
3737static TIMER_CALLBACK( scanline_interrupt_callback );
3838
39static void decompress_eeprom_word(UINT16 *dest, const UINT16 *data);
40static void decompress_eeprom_byte(UINT8 *dest, const UINT16 *data);
41
4239static void update_6502_irq(running_machine *machine);
4340static TIMER_CALLBACK( delayed_sound_reset );
4441static TIMER_CALLBACK( delayed_sound_w );
r9191r9192
394391}
395392
396393
397/*---------------------------------------------------------------
398    NVRAM_HANDLER( atarigen ): Loads the EEPROM data.
399---------------------------------------------------------------*/
400394
401NVRAM_HANDLER( atarigen )
402{
403   atarigen_state *state = machine->driver_data<atarigen_state>();
404   if (read_or_write)
405      mame_fwrite(file, state->eeprom, state->eeprom_size);
406   else if (file)
407      mame_fread(file, state->eeprom, state->eeprom_size);
408   else
409   {
410      /* all 0xff's work for most games */
411      memset(state->eeprom, 0xff, state->eeprom_size);
412
413      /* anything else must be decompressed */
414      if (state->eeprom_default)
415      {
416         if (state->eeprom_default[0] == 0)
417            decompress_eeprom_byte((UINT8 *)state->eeprom, state->eeprom_default + 1);
418         else
419            decompress_eeprom_word(state->eeprom, state->eeprom_default + 1);
420      }
421   }
422}
423
424
425/*---------------------------------------------------------------
426    decompress_eeprom_word: Used for decompressing EEPROM data
427    that has every other byte invalid.
428---------------------------------------------------------------*/
429
430void decompress_eeprom_word(UINT16 *dest, const UINT16 *data)
431{
432   UINT16 value;
433
434   while ((value = *data++) != 0)
435   {
436      int count = (value >> 8);
437      value = (value << 8) | (value & 0xff);
438
439      while (count--)
440         *dest++ = value;
441   }
442}
443
444
445/*---------------------------------------------------------------
446    decompress_eeprom_byte: Used for decompressing EEPROM data
447    that is byte-packed.
448---------------------------------------------------------------*/
449
450void decompress_eeprom_byte(UINT8 *dest, const UINT16 *data)
451{
452   UINT16 value;
453
454   while ((value = *data++) != 0)
455   {
456      int count = (value >> 8);
457      value = (value << 8) | (value & 0xff);
458
459      while (count--)
460         *dest++ = value;
461   }
462}
463
464
465
466395/***************************************************************************
467396    SLAPSTIC HANDLING
468397***************************************************************************/
r9191r9192
911840
912841void atarigen_set_oki6295_vol(running_machine *machine, int volume)
913842{
914   atarigen_set_vol(machine, volume, SOUND_OKIM6295);
843   atarigen_set_vol(machine, volume, OKIM6295);
915844}
916845
917846
src/mame/machine/atarigen.h
r9191r9192
66
77***************************************************************************/
88
9#include "machine/nvram.h"
910#include "video/atarimo.h"
1011#include "video/atarirle.h"
1112
r9191r9192
6465{
6566public:
6667   atarigen_state(running_machine &machine, const driver_device_config_base &config)
67      : driver_device(machine, config) { }
68      : driver_device(machine, config),
69        eeprom(*this, "eeprom"),
70        eeprom_size(*this, "eeprom") { }
6871
72   optional_shared_ptr<UINT16> eeprom;
73   optional_shared_size eeprom_size;
74
6975   UINT8            scanline_int_state;
7076   UINT8            sound_int_state;
7177   UINT8            video_int_state;
7278
7379   const UINT16 *      eeprom_default;
74   UINT16 *         eeprom;
75   size_t            eeprom_size;
7680
7781   UINT8            cpu_to_sound_ready;
7882   UINT8            sound_to_cpu_ready;
src/mame/machine/midwunit.c
r9191r9192
6767{
6868   if (cmos_write_enable)
6969   {
70      COMBINE_DATA(space->machine->generic.nvram.u16+offset);
70      midwxunit_state *state = space->machine->driver_data<midwxunit_state>();
71      COMBINE_DATA(state->m_nvram+offset);
7172      cmos_write_enable = 0;
7273   }
7374   else
r9191r9192
8081
8182WRITE16_HANDLER( midxunit_cmos_w )
8283{
83   COMBINE_DATA(space->machine->generic.nvram.u16+offset);
84   midwxunit_state *state = space->machine->driver_data<midwxunit_state>();
85   COMBINE_DATA(state->m_nvram+offset);
8486}
8587
8688
8789READ16_HANDLER( midwunit_cmos_r )
8890{
89   return space->machine->generic.nvram.u16[offset];
91   midwxunit_state *state = space->machine->driver_data<midwxunit_state>();
92   return state->m_nvram[offset];
9093}
9194
9295
src/mame/machine/namcos2.c
r9191r9192
1414#include "cpu/m6805/m6805.h"
1515#include "includes/namcos21.h"
1616#include "includes/namcos2.h"
17#include "machine/nvram.h"
1718
1819static TIMER_CALLBACK( namcos2_posirq_tick );
1920static void InitC148(void);
r9191r9192
105106MACHINE_START( namcos2 )
106107{
107108   namcos2_eeprom = auto_alloc_array(machine, UINT8, namcos2_eeprom_size);
109   machine->device<nvram_device>("nvram")->set_base(namcos2_eeprom, namcos2_eeprom_size);
108110   namcos2_posirq_timer = timer_alloc(machine, namcos2_posirq_tick, NULL);
109111}
110112
r9191r9192
136138/* EEPROM Load/Save and read/write handling                  */
137139/*************************************************************/
138140
139NVRAM_HANDLER( namcos2 )
140{
141   if (read_or_write)
142      mame_fwrite(file, namcos2_eeprom, namcos2_eeprom_size);
143   else if (file != NULL)
144      mame_fread(file, namcos2_eeprom, namcos2_eeprom_size);
145   else if (memory_region_length(machine, "nvram") == namcos2_eeprom_size)
146      memcpy(namcos2_eeprom, memory_region(machine, "nvram"), namcos2_eeprom_size);
147   else
148   {
149      if( namcos2_gametype == NAMCOS21_STARBLADE )
150      {
151         memset(namcos2_eeprom, 0x00, namcos2_eeprom_size);
152      }
153      else
154      {
155         memset(namcos2_eeprom, 0xff, namcos2_eeprom_size);
156      }
157   }
158}
159
160
161
162141WRITE16_HANDLER( namcos2_68k_eeprom_w ){
163142   if( ACCESSING_BITS_0_7 )
164143   {
src/mame/machine/namco50.c
r9191r9192
261261ADDRESS_MAP_END
262262
263263
264static MACHINE_DRIVER_START( namco_50xx )
264static MACHINE_CONFIG_FRAGMENT( namco_50xx )
265265   MDRV_CPU_ADD("mcu", MB8842, DERIVED_CLOCK(1,1))      /* parent clock, internally divided by 6 */
266266   MDRV_CPU_IO_MAP(namco_50xx_map_io)
267MACHINE_DRIVER_END
267MACHINE_CONFIG_END
268268
269269
270270ROM_START( namco_50xx )
src/mame/machine/mcr.c
r9191r9192
66
77#include "emu.h"
88#include "deprecat.h"
9#include "machine/z80ctc.h"
10#include "machine/z80pio.h"
11#include "machine/z80sio.h"
129#include "audio/mcr.h"
13#include "cpu/m6800/m6800.h"
14#include "cpu/m6809/m6809.h"
15#include "cpu/z80/z80.h"
16#include "cpu/z80/z80daisy.h"
1710#include "includes/mcr.h"
1811
1912#define VERBOSE 0
r9191r9192
2619 *
2720 *************************************/
2821
29attotime mcr68_timing_factor;
30
3122UINT8 mcr_cocktail_flip;
3223
3324UINT32 mcr_cpu_board;
r9191r9192
4233 *
4334 *************************************/
4435
45static UINT8 m6840_status;
46static UINT8 m6840_status_read_since_int;
47static UINT8 m6840_msb_buffer;
48static UINT8 m6840_lsb_buffer;
49static struct counter_state
50{
51   UINT8         control;
52   UINT16         latch;
53   UINT16         count;
54   emu_timer *   timer;
55   UINT8         timer_active;
56   attotime      period;
57} m6840_state[3];
58
59/* MCR/68k interrupt states */
60static UINT8 m6840_irq_state;
61static UINT8 m6840_irq_vector;
62static UINT8 v493_irq_state;
63static UINT8 v493_irq_vector;
64
65static timer_fired_func v493_callback;
66
67static UINT8 zwackery_sound_data;
68
69static attotime m6840_counter_periods[3];
70static attotime m6840_internal_counter_period;   /* 68000 CLK / 10 */
71
7236static emu_timer *ipu_watchdog_timer;
7337
7438
r9191r9192
7842 *
7943 *************************************/
8044
81static void subtract_from_counter(running_machine *machine, int counter, int count);
82
83static TIMER_CALLBACK( mcr68_493_callback );
84static TIMER_CALLBACK( zwackery_493_callback );
85
86static WRITE8_DEVICE_HANDLER( zwackery_pia0_w );
87static WRITE8_DEVICE_HANDLER( zwackery_pia1_w );
88static WRITE_LINE_DEVICE_HANDLER( zwackery_ca2_w );
89static WRITE_LINE_DEVICE_HANDLER( zwackery_pia_irq );
90
91static void reload_count(int counter);
92static TIMER_CALLBACK( counter_fired_callback );
9345static TIMER_CALLBACK( ipu_watchdog_reset );
9446static WRITE8_DEVICE_HANDLER( ipu_break_changed );
9547
r9191r9192
13183
13284/*************************************
13385 *
134 *  6821 PIA declarations
135 *
136 *************************************/
137
138READ8_DEVICE_HANDLER( zwackery_port_2_r );
139
140
141static READ8_DEVICE_HANDLER( zwackery_port_1_r )
142{
143   UINT8 ret = input_port_read(device->machine, "IN1");
144
145   pia6821_set_port_a_z_mask(device, ret);
146
147   return ret;
148}
149
150
151static READ8_DEVICE_HANDLER( zwackery_port_3_r )
152{
153   UINT8 ret = input_port_read(device->machine, "IN3");
154
155   pia6821_set_port_a_z_mask(device, ret);
156
157   return ret;
158}
159
160
161const pia6821_interface zwackery_pia0_intf =
162{
163   DEVCB_NULL,      /* port A in */
164   DEVCB_INPUT_PORT("IN0"),      /* port B in */
165   DEVCB_NULL,      /* line CA1 in */
166   DEVCB_NULL,      /* line CB1 in */
167   DEVCB_NULL,      /* line CA2 in */
168   DEVCB_NULL,      /* line CB2 in */
169   DEVCB_HANDLER(zwackery_pia0_w),      /* port A out */
170   DEVCB_NULL,      /* port B out */
171   DEVCB_NULL,      /* line CA2 out */
172   DEVCB_NULL,      /* port CB2 out */
173   DEVCB_LINE(zwackery_pia_irq),      /* IRQA */
174   DEVCB_LINE(zwackery_pia_irq)      /* IRQB */
175};
176
177
178const pia6821_interface zwackery_pia1_intf =
179{
180   DEVCB_HANDLER(zwackery_port_1_r),      /* port A in */
181   DEVCB_HANDLER(zwackery_port_2_r),      /* port B in */
182   DEVCB_NULL,      /* line CA1 in */
183   DEVCB_NULL,      /* line CB1 in */
184   DEVCB_NULL,      /* line CA2 in */
185   DEVCB_NULL,      /* line CB2 in */
186   DEVCB_HANDLER(zwackery_pia1_w),      /* port A out */
187   DEVCB_NULL,      /* port B out */
188   DEVCB_LINE(zwackery_ca2_w),      /* line CA2 out */
189   DEVCB_NULL,      /* port CB2 out */
190   DEVCB_NULL,      /* IRQA */
191   DEVCB_NULL      /* IRQB */
192};
193
194
195const pia6821_interface zwackery_pia2_intf =
196{
197   DEVCB_HANDLER(zwackery_port_3_r),      /* port A in */
198   DEVCB_INPUT_PORT("DSW"),            /* port B in */
199   DEVCB_NULL,      /* line CA1 in */
200   DEVCB_NULL,      /* line CB1 in */
201   DEVCB_NULL,      /* line CA2 in */
202   DEVCB_NULL,      /* line CB2 in */
203   DEVCB_NULL,      /* port A out */
204   DEVCB_NULL,      /* port B out */
205   DEVCB_NULL,      /* line CA2 out */
206   DEVCB_NULL,      /* port CB2 out */
207   DEVCB_NULL,      /* IRQA */
208   DEVCB_NULL      /* IRQB */
209};
210
211
212
213/*************************************
214 *
21586 *  Generic MCR CTC interface
21687 *
21788 *************************************/
r9191r9192
314185
315186/*************************************
316187 *
317 *  Generic MCR/68k machine initialization
318 *
319 *************************************/
320
321MACHINE_START( mcr68 )
322{
323   int i;
324
325   for (i = 0; i < 3; i++)
326   {
327      struct counter_state *m6840 = &m6840_state[i];
328
329      m6840->timer = timer_alloc(machine, counter_fired_callback, NULL);
330
331      state_save_register_item(machine, "m6840", NULL, i, m6840->control);
332      state_save_register_item(machine, "m6840", NULL, i, m6840->latch);
333      state_save_register_item(machine, "m6840", NULL, i, m6840->count);
334      state_save_register_item(machine, "m6840", NULL, i, m6840->timer_active);
335   }
336
337   state_save_register_global(machine, m6840_status);
338   state_save_register_global(machine, m6840_status_read_since_int);
339   state_save_register_global(machine, m6840_msb_buffer);
340   state_save_register_global(machine, m6840_lsb_buffer);
341   state_save_register_global(machine, m6840_irq_state);
342   state_save_register_global(machine, v493_irq_state);
343   state_save_register_global(machine, zwackery_sound_data);
344
345   state_save_register_global(machine, mcr_cocktail_flip);
346}
347
348
349static void mcr68_common_init(running_machine *machine)
350{
351   int i;
352
353   /* reset the 6840's */
354   m6840_counter_periods[0] = ATTOTIME_IN_HZ(30);         /* clocked by /VBLANK */
355   m6840_counter_periods[1] = attotime_never;               /* grounded */
356   m6840_counter_periods[2] = ATTOTIME_IN_HZ(512 * 30);   /* clocked by /HSYNC */
357
358   m6840_status = 0x00;
359   m6840_status_read_since_int = 0x00;
360   m6840_msb_buffer = m6840_lsb_buffer = 0;
361   for (i = 0; i < 3; i++)
362   {
363      struct counter_state *m6840 = &m6840_state[i];
364
365      m6840->control = 0x00;
366      m6840->latch = 0xffff;
367      m6840->count = 0xffff;
368      timer_enable(m6840->timer, FALSE);
369      m6840->timer_active = 0;
370      m6840->period = m6840_counter_periods[i];
371   }
372
373   /* initialize the clock */
374   m6840_internal_counter_period = ATTOTIME_IN_HZ(cputag_get_clock(machine, "maincpu") / 10);
375
376   /* reset cocktail flip */
377   mcr_cocktail_flip = 0;
378
379   /* initialize the sound */
380   mcr_sound_reset(machine);
381}
382
383
384MACHINE_RESET( mcr68 )
385{
386   /* for the most part all MCR/68k games are the same */
387   mcr68_common_init(machine);
388   v493_callback = mcr68_493_callback;
389
390   /* vectors are 1 and 2 */
391   v493_irq_vector = 1;
392   m6840_irq_vector = 2;
393}
394
395
396MACHINE_START( zwackery )
397{
398   MACHINE_START_CALL(mcr68);
399}
400
401
402MACHINE_RESET( zwackery )
403{
404   /* for the most part all MCR/68k games are the same */
405   mcr68_common_init(machine);
406   v493_callback = zwackery_493_callback;
407
408   /* vectors are 5 and 6 */
409   v493_irq_vector = 5;
410   m6840_irq_vector = 6;
411}
412
413
414
415/*************************************
416 *
417188 *  Generic MCR interrupt handler
418189 *
419190 *************************************/
r9191r9192
451222}
452223
453224
454INTERRUPT_GEN( mcr68_interrupt )
455{
456   /* update the 6840 VBLANK clock */
457   if (!m6840_state[0].timer_active)
458      subtract_from_counter(device->machine, 0, 1);
459
460   logerror("--- VBLANK ---\n");
461
462   /* also set a timer to generate the 493 signal at a specific time before the next VBLANK */
463   /* the timing of this is crucial for Blasted and Tri-Sports, which check the timing of */
464   /* VBLANK and 493 using counter 2 */
465   timer_set(device->machine, attotime_sub(ATTOTIME_IN_HZ(30), mcr68_timing_factor), NULL, 0, v493_callback);
466}
467
468
469
470225/*************************************
471226 *
472 *  MCR/68k interrupt central
473 *
474 *************************************/
475
476static void update_mcr68_interrupts(running_machine *machine)
477{
478   cputag_set_input_line(machine, "maincpu", v493_irq_vector, v493_irq_state ? ASSERT_LINE : CLEAR_LINE);
479   cputag_set_input_line(machine, "maincpu", m6840_irq_vector, m6840_irq_state ? ASSERT_LINE : CLEAR_LINE);
480}
481
482
483static TIMER_CALLBACK( mcr68_493_off_callback )
484{
485   v493_irq_state = 0;
486   update_mcr68_interrupts(machine);
487}
488
489
490static TIMER_CALLBACK( mcr68_493_callback )
491{
492   v493_irq_state = 1;
493   update_mcr68_interrupts(machine);
494   timer_set(machine, machine->primary_screen->scan_period(), NULL, 0, mcr68_493_off_callback);
495   logerror("--- (INT1) ---\n");
496}
497
498
499
500/*************************************
501 *
502227 *  Generic MCR port write handlers
503228 *
504229 *************************************/
r9191r9192
566291}
567292
568293
569
570294/*************************************
571295 *
572 *  Zwackery-specific interfaces
573 *
574 *************************************/
575
576WRITE8_DEVICE_HANDLER( zwackery_pia0_w )
577{
578   /* bit 7 is the watchdog */
579   if (!(data & 0x80)) watchdog_reset(device->machine);
580
581   /* bits 5 and 6 control hflip/vflip */
582   /* bits 3 and 4 control coin counters? */
583   /* bits 0, 1 and 2 control meters? */
584}
585
586
587WRITE8_DEVICE_HANDLER( zwackery_pia1_w )
588{
589   zwackery_sound_data = (data >> 4) & 0x0f;
590}
591
592
593WRITE_LINE_DEVICE_HANDLER( zwackery_ca2_w )
594{
595   address_space *space = cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM);
596   csdeluxe_data_w(space, 0, (state << 4) | zwackery_sound_data);
597}
598
599
600static WRITE_LINE_DEVICE_HANDLER( zwackery_pia_irq )
601{
602   v493_irq_state = pia6821_get_irq_a(device) | pia6821_get_irq_b(device);
603   update_mcr68_interrupts(device->machine);
604}
605
606
607static TIMER_CALLBACK( zwackery_493_off_callback )
608{
609   running_device *pia = machine->device("pia0");
610   pia6821_ca1_w(pia, 0);
611}
612
613
614static TIMER_CALLBACK( zwackery_493_callback )
615{
616   running_device *pia = machine->device("pia0");
617
618   pia6821_ca1_w(pia, 1);
619   timer_set(machine, machine->primary_screen->scan_period(), NULL, 0, zwackery_493_off_callback);
620}
621
622
623
624/*************************************
625 *
626 *  M6840 timer utilities
627 *
628 *************************************/
629
630INLINE void update_interrupts(running_machine *machine)
631{
632   m6840_status &= ~0x80;
633
634   if ((m6840_status & 0x01) && (m6840_state[0].control & 0x40)) m6840_status |= 0x80;
635   if ((m6840_status & 0x02) && (m6840_state[1].control & 0x40)) m6840_status |= 0x80;
636   if ((m6840_status & 0x04) && (m6840_state[2].control & 0x40)) m6840_status |= 0x80;
637
638   m6840_irq_state = m6840_status >> 7;
639   update_mcr68_interrupts(machine);
640}
641
642
643static void subtract_from_counter(running_machine *machine, int counter, int count)
644{
645   /* dual-byte mode */
646   if (m6840_state[counter].control & 0x04)
647   {
648      int lsb = m6840_state[counter].count & 0xff;
649      int msb = m6840_state[counter].count >> 8;
650
651      /* count the clocks */
652      lsb -= count;
653
654      /* loop while we're less than zero */
655      while (lsb < 0)
656      {
657         /* borrow from the MSB */
658         lsb += (m6840_state[counter].latch & 0xff) + 1;
659         msb--;
660
661         /* if MSB goes less than zero, we've expired */
662         if (msb < 0)
663         {
664            m6840_status |= 1 << counter;
665            m6840_status_read_since_int &= ~(1 << counter);
666            update_interrupts(machine);
667            msb = (m6840_state[counter].latch >> 8) + 1;
668            LOG(("** Counter %d fired\n", counter));
669         }
670      }
671
672      /* store the result */
673      m6840_state[counter].count = (msb << 8) | lsb;
674   }
675
676   /* word mode */
677   else
678   {
679      int word = m6840_state[counter].count;
680
681      /* count the clocks */
682      word -= count;
683
684      /* loop while we're less than zero */
685      while (word < 0)
686      {
687         /* borrow from the MSB */
688         word += m6840_state[counter].latch + 1;
689
690         /* we've expired */
691         m6840_status |= 1 << counter;
692         m6840_status_read_since_int &= ~(1 << counter);
693         update_interrupts(machine);
694         LOG(("** Counter %d fired\n", counter));
695      }
696
697      /* store the result */
698      m6840_state[counter].count = word;
699   }
700}
701
702
703static TIMER_CALLBACK( counter_fired_callback )
704{
705   int count = param >> 2;
706   int counter = param & 3;
707
708   /* reset the timer */
709   m6840_state[counter].timer_active = 0;
710
711   /* subtract it all from the counter; this will generate an interrupt */
712   subtract_from_counter(machine, counter, count);
713}
714
715
716static void reload_count(int counter)
717{
718   attotime period;
719   attotime total_period;
720   int count;
721
722   /* copy the latched value in */
723   m6840_state[counter].count = m6840_state[counter].latch;
724
725   /* counter 0 is self-updating if clocked externally */
726   if (counter == 0 && !(m6840_state[counter].control & 0x02))
727   {
728      timer_adjust_oneshot(m6840_state[counter].timer, attotime_never, 0);
729      m6840_state[counter].timer_active = 0;
730      return;
731   }
732
733   /* determine the clock period for this timer */
734   if (m6840_state[counter].control & 0x02)
735      period = m6840_internal_counter_period;
736   else
737      period = m6840_counter_periods[counter];
738
739   /* determine the number of clock periods before we expire */
740   count = m6840_state[counter].count;
741   if (m6840_state[counter].control & 0x04)
742      count = ((count >> 8) + 1) * ((count & 0xff) + 1);
743   else
744      count = count + 1;
745
746   /* set the timer */
747   total_period = attotime_make(0, attotime_to_attoseconds(period) * count);
748LOG(("reload_count(%d): period = %f  count = %d\n", counter, attotime_to_double(period), count));
749   timer_adjust_oneshot(m6840_state[counter].timer, total_period, (count << 2) + counter);
750   m6840_state[counter].timer_active = 1;
751}
752
753
754static UINT16 compute_counter(int counter)
755{
756   attotime period;
757   int remaining;
758
759   /* if there's no timer, return the count */
760   if (!m6840_state[counter].timer_active)
761      return m6840_state[counter].count;
762
763   /* determine the clock period for this timer */
764   if (m6840_state[counter].control & 0x02)
765      period = m6840_internal_counter_period;
766   else
767      period = m6840_counter_periods[counter];
768
769   /* see how many are left */
770   remaining = attotime_to_attoseconds(timer_timeleft(m6840_state[counter].timer)) / attotime_to_attoseconds(period);
771
772   /* adjust the count for dual byte mode */
773   if (m6840_state[counter].control & 0x04)
774   {
775      int divisor = (m6840_state[counter].count & 0xff) + 1;
776      int msb = remaining / divisor;
777      int lsb = remaining % divisor;
778      remaining = (msb << 8) | lsb;
779   }
780
781   return remaining;
782}
783
784
785
786/*************************************
787 *
788 *  M6840 timer I/O
789 *
790 *************************************/
791
792static WRITE8_HANDLER( mcr68_6840_w_common )
793{
794   int i;
795
796   /* offsets 0 and 1 are control registers */
797   if (offset < 2)
798   {
799      int counter = (offset == 1) ? 1 : (m6840_state[1].control & 0x01) ? 0 : 2;
800      UINT8 diffs = data ^ m6840_state[counter].control;
801
802      m6840_state[counter].control = data;
803
804      /* reset? */
805      if (counter == 0 && (diffs & 0x01))
806      {
807         /* holding reset down */
808         if (data & 0x01)
809         {
810            for (i = 0; i < 3; i++)
811            {
812               timer_adjust_oneshot(m6840_state[i].timer, attotime_never, 0);
813               m6840_state[i].timer_active = 0;
814            }
815         }
816
817         /* releasing reset */
818         else
819         {
820            for (i = 0; i < 3; i++)
821               reload_count(i);
822         }
823
824         m6840_status = 0;
825         update_interrupts(space->machine);
826      }
827
828      /* changing the clock source? (needed for Zwackery) */
829      if (diffs & 0x02)
830         reload_count(counter);
831
832      LOG(("%06X:Counter %d control = %02X\n", cpu_get_previouspc(space->cpu), counter, data));
833   }
834
835   /* offsets 2, 4, and 6 are MSB buffer registers */
836   else if ((offset & 1) == 0)
837   {
838      LOG(("%06X:MSB = %02X\n", cpu_get_previouspc(space->cpu), data));
839      m6840_msb_buffer = data;
840   }
841
842   /* offsets 3, 5, and 7 are Write Timer Latch commands */
843   else
844   {
845      int counter = (offset - 2) / 2;
846      m6840_state[counter].latch = (m6840_msb_buffer << 8) | (data & 0xff);
847
848      /* clear the interrupt */
849      m6840_status &= ~(1 << counter);
850      update_interrupts(space->machine);
851
852      /* reload the count if in an appropriate mode */
853      if (!(m6840_state[counter].control & 0x10))
854         reload_count(counter);
855
856      LOG(("%06X:Counter %d latch = %04X\n", cpu_get_previouspc(space->cpu), counter, m6840_state[counter].latch));
857   }
858}
859
860
861static READ16_HANDLER( mcr68_6840_r_common )
862{
863   /* offset 0 is a no-op */
864   if (offset == 0)
865      return 0;
866
867   /* offset 1 is the status register */
868   else if (offset == 1)
869   {
870      LOG(("%06X:Status read = %04X\n", cpu_get_previouspc(space->cpu), m6840_status));
871      m6840_status_read_since_int |= m6840_status & 0x07;
872      return m6840_status;
873   }
874
875   /* offsets 2, 4, and 6 are Read Timer Counter commands */
876   else if ((offset & 1) == 0)
877   {
878      int counter = (offset - 2) / 2;
879      int result = compute_counter(counter);
880
881      /* clear the interrupt if the status has been read */
882      if (m6840_status_read_since_int & (1 << counter))
883         m6840_status &= ~(1 << counter);
884      update_interrupts(space->machine);
885
886      m6840_lsb_buffer = result & 0xff;
887
888      LOG(("%06X:Counter %d read = %04X\n", cpu_get_previouspc(space->cpu), counter, result));
889      return result >> 8;
890   }
891
892   /* offsets 3, 5, and 7 are LSB buffer registers */
893   else
894      return m6840_lsb_buffer;
895}
896
897
898WRITE16_HANDLER( mcr68_6840_upper_w )
899{
900   if (ACCESSING_BITS_8_15)
901      mcr68_6840_w_common(space, offset, (data >> 8) & 0xff);
902}
903
904
905WRITE16_HANDLER( mcr68_6840_lower_w )
906{
907   if (ACCESSING_BITS_0_7)
908      mcr68_6840_w_common(space, offset, data & 0xff);
909}
910
911
912READ16_HANDLER( mcr68_6840_upper_r )
913{
914   return (mcr68_6840_r_common(space,offset,0) << 8) | 0x00ff;
915}
916
917
918READ16_HANDLER( mcr68_6840_lower_r )
919{
920   return mcr68_6840_r_common(space,offset,0) | 0xff00;
921}
922
923
924
925/*************************************
926 *
927296 *  NFL Football IPU board
928297 *
929298 *************************************/
src/mame/machine/tatsumi.c
r9191r9192
360360READ8_DEVICE_HANDLER(tatsumi_hack_oki_r)
361361{
362362   address_space *space = cputag_get_address_space(device->machine, "audiocpu", ADDRESS_SPACE_PROGRAM);
363   int r=okim6295_r(device,0);
363   int r=downcast<okim6295_device *>(device)->read(*space,0);
364364
365365   if (cpu_get_pc(space->cpu)==0x2b70 || cpu_get_pc(space->cpu)==0x2bb5
366366      || cpu_get_pc(space->cpu)==0x2acc
src/mame/machine/archimds.c
r9191r9192
5959static UINT8 vidc_stereo_reg[8];
6060
6161static emu_timer *timer[4], *snd_timer, *vid_timer;
62emu_timer *vbl_timer;
62static emu_timer *vbl_timer;
6363
6464void archimedes_request_irq_a(running_machine *machine, int mask)
6565{
src/mame/machine/beezer.c
r9191r9192
1919const via6522_interface b_via_0_interface =
2020{
2121   /*inputs : A/B         */ DEVCB_NULL, DEVCB_HANDLER(b_via_0_pb_r),
22   /*inputs : CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_DEVICE_LINE("via6522_1", via_ca2_r), DEVCB_LINE(b_via_0_ca2_r), DEVCB_DEVICE_LINE("via6522_1", via_ca1_r),
22   /*inputs : CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_DEVICE_LINE_MEMBER("via6522_1", via6522_device, read_ca2), DEVCB_LINE(b_via_0_ca2_r), DEVCB_DEVICE_LINE_MEMBER("via6522_1", via6522_device, read_ca1),
2323   /*outputs: A/B         */ DEVCB_HANDLER(b_via_0_pa_w), DEVCB_HANDLER(b_via_0_pb_w),
24   /*outputs: CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_NULL, DEVCB_LINE(b_via_0_ca2_w), DEVCB_DEVICE_LINE("via6522_1", via_ca1_w),
24   /*outputs: CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_NULL, DEVCB_LINE(b_via_0_ca2_w), DEVCB_DEVICE_LINE_MEMBER("via6522_1", via6522_device, write_ca1),
2525   /*irq                  */ DEVCB_CPU_INPUT_LINE("maincpu", M6809_IRQ_LINE)
2626};
2727
2828const via6522_interface b_via_1_interface =
2929{
3030   /*inputs : A/B         */ DEVCB_HANDLER(b_via_1_pa_r), DEVCB_HANDLER(b_via_1_pb_r),
31   /*inputs : CA/B1,CA/B2 */ DEVCB_DEVICE_LINE("via6522_0", via_cb2_r), DEVCB_NULL, DEVCB_DEVICE_LINE("via6522_0", via_cb1_r), DEVCB_NULL,
31   /*inputs : CA/B1,CA/B2 */ DEVCB_DEVICE_LINE_MEMBER("via6522_0", via6522_device, read_cb2), DEVCB_NULL, DEVCB_DEVICE_LINE_MEMBER("via6522_0", via6522_device, read_cb1), DEVCB_NULL,
3232   /*outputs: A/B         */ DEVCB_HANDLER(b_via_1_pa_w), DEVCB_HANDLER(b_via_1_pb_w),
33   /*outputs: CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_NULL, DEVCB_DEVICE_LINE("via6522_0", via_cb1_w), DEVCB_NULL,
33   /*outputs: CA/B1,CA/B2 */ DEVCB_NULL, DEVCB_NULL, DEVCB_DEVICE_LINE_MEMBER("via6522_0", via6522_device, write_cb1), DEVCB_NULL,
3434   /*irq                  */ DEVCB_CPU_INPUT_LINE("audiocpu", M6809_IRQ_LINE)
3535};
3636
r9191r9192
108108{
109109   if ((data & 0x07) == 0)
110110   {
111      running_device *via_0 = space->machine->device("via6522_0");
111      via6522_device *via_0 = space->machine->device<via6522_device>("via6522_0");
112112      memory_install_write8_handler(space, 0xc600, 0xc7ff, 0, 0, watchdog_reset_w);
113113      memory_install_write8_handler(space, 0xc800, 0xc9ff, 0, 0, beezer_map_w);
114114      memory_install_read8_handler(space, 0xca00, 0xcbff, 0, 0, beezer_line_r);
115      memory_install_readwrite8_device_handler(space, via_0, 0xce00, 0xcfff, 0, 0, via_r, via_w);
115      space->install_handler(0xce00, 0xcfff, 0, 0, read8_delegate_create(via6522_device, read, *via_0), write8_delegate_create(via6522_device, write, *via_0));
116116   }
117117   else
118118   {
src/mame/machine/williams.c
r9191r9192
641641WRITE8_HANDLER( williams_cmos_w )
642642{
643643   /* only 4 bits are valid */
644   space->machine->generic.nvram.u8[offset] = data | 0xf0;
644   williams_state *state = space->machine->driver_data<williams_state>();
645   state->m_nvram[offset] = data | 0xf0;
645646}
646647
647648
648649WRITE8_HANDLER( bubbles_cmos_w )
649650{
650651   /* bubbles has additional CMOS for a full 8 bits */
651   space->machine->generic.nvram.u8[offset] = data;
652   williams_state *state = space->machine->driver_data<williams_state>();
653   state->m_nvram[offset] = data;
652654}
653655
654656
src/mame/machine/mcr68.c
r0r9192
1/***************************************************************************
2
3    Midway MCR system
4
5***************************************************************************/
6
7#include "emu.h"
8#include "audio/mcr.h"
9#include "includes/mcr68.h"
10
11#define VERBOSE 0
12#define LOG(x) do { if (VERBOSE) logerror x; } while (0)
13
14
15/*************************************
16 *
17 *  Global variables
18 *
19 *************************************/
20
21attotime mcr68_timing_factor;
22
23
24
25/*************************************
26 *
27 *  Statics
28 *
29 *************************************/
30
31static UINT8 m6840_status;
32static UINT8 m6840_status_read_since_int;
33static UINT8 m6840_msb_buffer;
34static UINT8 m6840_lsb_buffer;
35static struct counter_state
36{
37   UINT8         control;
38   UINT16         latch;
39   UINT16         count;
40   emu_timer *   timer;
41   UINT8         timer_active;
42   attotime      period;
43} m6840_state[3];
44
45/* MCR/68k interrupt states */
46static UINT8 m6840_irq_state;
47static UINT8 m6840_irq_vector;
48static UINT8 v493_irq_state;
49static UINT8 v493_irq_vector;
50
51static timer_fired_func v493_callback;
52
53static UINT8 zwackery_sound_data;
54
55static attotime m6840_counter_periods[3];
56static attotime m6840_internal_counter_period;   /* 68000 CLK / 10 */
57
58
59/*************************************
60 *
61 *  Function prototypes
62 *
63 *************************************/
64
65static void subtract_from_counter(running_machine *machine, int counter, int count);
66
67static TIMER_CALLBACK( mcr68_493_callback );
68static TIMER_CALLBACK( zwackery_493_callback );
69
70static WRITE8_DEVICE_HANDLER( zwackery_pia0_w );
71static WRITE8_DEVICE_HANDLER( zwackery_pia1_w );
72static WRITE_LINE_DEVICE_HANDLER( zwackery_ca2_w );
73static WRITE_LINE_DEVICE_HANDLER( zwackery_pia_irq );
74
75static void reload_count(int counter);
76static TIMER_CALLBACK( counter_fired_callback );
77
78
79
80/*************************************
81 *
82 *  6821 PIA declarations
83 *
84 *************************************/
85
86static READ8_DEVICE_HANDLER( zwackery_port_1_r )
87{
88   UINT8 ret = input_port_read(device->machine, "IN1");
89
90   pia6821_set_port_a_z_mask(device, ret);
91
92   return ret;
93}
94
95
96static READ8_DEVICE_HANDLER( zwackery_port_3_r )
97{
98   UINT8 ret = input_port_read(device->machine, "IN3");
99
100   pia6821_set_port_a_z_mask(device, ret);
101
102   return ret;
103}
104
105
106const pia6821_interface zwackery_pia0_intf =
107{
108   DEVCB_NULL,      /* port A in */
109   DEVCB_INPUT_PORT("IN0"),      /* port B in */
110   DEVCB_NULL,      /* line CA1 in */
111   DEVCB_NULL,      /* line CB1 in */
112   DEVCB_NULL,      /* line CA2 in */
113   DEVCB_NULL,      /* line CB2 in */
114   DEVCB_HANDLER(zwackery_pia0_w),      /* port A out */
115   DEVCB_NULL,      /* port B out */
116   DEVCB_NULL,      /* line CA2 out */
117   DEVCB_NULL,      /* port CB2 out */
118   DEVCB_LINE(zwackery_pia_irq),      /* IRQA */
119   DEVCB_LINE(zwackery_pia_irq)      /* IRQB */
120};
121
122
123const pia6821_interface zwackery_pia1_intf =
124{
125   DEVCB_HANDLER(zwackery_port_1_r),      /* port A in */
126   DEVCB_HANDLER(zwackery_port_2_r),      /* port B in */
127   DEVCB_NULL,      /* line CA1 in */
128   DEVCB_NULL,      /* line CB1 in */
129   DEVCB_NULL,      /* line CA2 in */
130   DEVCB_NULL,      /* line CB2 in */
131   DEVCB_HANDLER(zwackery_pia1_w),      /* port A out */
132   DEVCB_NULL,      /* port B out */
133   DEVCB_LINE(zwackery_ca2_w),      /* line CA2 out */
134   DEVCB_NULL,      /* port CB2 out */
135   DEVCB_NULL,      /* IRQA */
136   DEVCB_NULL      /* IRQB */
137};
138
139
140const pia6821_interface zwackery_pia2_intf =
141{
142   DEVCB_HANDLER(zwackery_port_3_r),      /* port A in */
143   DEVCB_INPUT_PORT("DSW"),            /* port B in */
144   DEVCB_NULL,      /* line CA1 in */
145   DEVCB_NULL,      /* line CB1 in */
146   DEVCB_NULL,      /* line CA2 in */
147   DEVCB_NULL,      /* line CB2 in */
148   DEVCB_NULL,      /* port A out */
149   DEVCB_NULL,      /* port B out */
150   DEVCB_NULL,      /* line CA2 out */
151   DEVCB_NULL,      /* port CB2 out */
152   DEVCB_NULL,      /* IRQA */
153   DEVCB_NULL      /* IRQB */
154};
155
156
157
158/*************************************
159 *
160 *  Generic MCR/68k machine initialization
161 *
162 *************************************/
163
164MACHINE_START( mcr68 )
165{
166   int i;
167
168   for (i = 0; i < 3; i++)
169   {
170      struct counter_state *m6840 = &m6840_state[i];
171
172      m6840->timer = timer_alloc(machine, counter_fired_callback, NULL);
173
174      state_save_register_item(machine, "m6840", NULL, i, m6840->control);
175      state_save_register_item(machine, "m6840", NULL, i, m6840->latch);
176      state_save_register_item(machine, "m6840", NULL, i, m6840->count);
177      state_save_register_item(machine, "m6840", NULL, i, m6840->timer_active);
178   }
179
180   state_save_register_global(machine, m6840_status);
181   state_save_register_global(machine, m6840_status_read_since_int);
182   state_save_register_global(machine, m6840_msb_buffer);
183   state_save_register_global(machine, m6840_lsb_buffer);
184   state_save_register_global(machine, m6840_irq_state);
185   state_save_register_global(machine, v493_irq_state);
186   state_save_register_global(machine, zwackery_sound_data);
187}
188
189
190static void mcr68_common_init(running_machine *machine)
191{
192   int i;
193
194   /* reset the 6840's */
195   m6840_counter_periods[0] = ATTOTIME_IN_HZ(30);         /* clocked by /VBLANK */
196   m6840_counter_periods[1] = attotime_never;               /* grounded */
197   m6840_counter_periods[2] = ATTOTIME_IN_HZ(512 * 30);   /* clocked by /HSYNC */
198
199   m6840_status = 0x00;
200   m6840_status_read_since_int = 0x00;
201   m6840_msb_buffer = m6840_lsb_buffer = 0;
202   for (i = 0; i < 3; i++)
203   {
204      struct counter_state *m6840 = &m6840_state[i];
205
206      m6840->control = 0x00;
207      m6840->latch = 0xffff;
208      m6840->count = 0xffff;
209      timer_enable(m6840->timer, FALSE);
210      m6840->timer_active = 0;
211      m6840->period = m6840_counter_periods[i];
212   }
213
214   /* initialize the clock */
215   m6840_internal_counter_period = ATTOTIME_IN_HZ(cputag_get_clock(machine, "maincpu") / 10);
216
217   /* initialize the sound */
218   mcr_sound_reset(machine);
219}
220
221
222MACHINE_RESET( mcr68 )
223{
224   /* for the most part all MCR/68k games are the same */
225   mcr68_common_init(machine);
226   v493_callback = mcr68_493_callback;
227
228   /* vectors are 1 and 2 */
229   v493_irq_vector = 1;
230   m6840_irq_vector = 2;
231}
232
233
234MACHINE_START( zwackery )
235{
236   MACHINE_START_CALL(mcr68);
237}
238
239
240MACHINE_RESET( zwackery )
241{
242   /* for the most part all MCR/68k games are the same */
243   mcr68_common_init(machine);
244   v493_callback = zwackery_493_callback;
245
246   /* vectors are 5 and 6 */
247   v493_irq_vector = 5;
248   m6840_irq_vector = 6;
249}
250
251
252
253/*************************************
254 *
255 *  Generic MCR interrupt handler
256 *
257 *************************************/
258
259INTERRUPT_GEN( mcr68_interrupt )
260{
261   /* update the 6840 VBLANK clock */
262   if (!m6840_state[0].timer_active)
263      subtract_from_counter(device->machine, 0, 1);
264
265   logerror("--- VBLANK ---\n");
266
267   /* also set a timer to generate the 493 signal at a specific time before the next VBLANK */
268   /* the timing of this is crucial for Blasted and Tri-Sports, which check the timing of */
269   /* VBLANK and 493 using counter 2 */
270   timer_set(device->machine, attotime_sub(ATTOTIME_IN_HZ(30), mcr68_timing_factor), NULL, 0, v493_callback);
271}
272
273
274
275/*************************************
276 *
277 *  MCR/68k interrupt central
278 *
279 *************************************/
280
281static void update_mcr68_interrupts(running_machine *machine)
282{
283   cputag_set_input_line(machine, "maincpu", v493_irq_vector, v493_irq_state ? ASSERT_LINE : CLEAR_LINE);
284   cputag_set_input_line(machine, "maincpu", m6840_irq_vector, m6840_irq_state ? ASSERT_LINE : CLEAR_LINE);
285}
286
287
288static TIMER_CALLBACK( mcr68_493_off_callback )
289{
290   v493_irq_state = 0;
291   update_mcr68_interrupts(machine);
292}
293
294
295static TIMER_CALLBACK( mcr68_493_callback )
296{
297   v493_irq_state = 1;
298   update_mcr68_interrupts(machine);
299   timer_set(machine, machine->primary_screen->scan_period(), NULL, 0, mcr68_493_off_callback);
300   logerror("--- (INT1) ---\n");
301}
302
303
304
305/*************************************
306 *
307 *  Zwackery-specific interfaces
308 *
309 *************************************/
310
311WRITE8_DEVICE_HANDLER( zwackery_pia0_w )
312{
313   /* bit 7 is the watchdog */
314   if (!(data & 0x80)) watchdog_reset(device->machine);
315
316   /* bits 5 and 6 control hflip/vflip */
317   /* bits 3 and 4 control coin counters? */
318   /* bits 0, 1 and 2 control meters? */
319}
320
321
322WRITE8_DEVICE_HANDLER( zwackery_pia1_w )
323{
324   zwackery_sound_data = (data >> 4) & 0x0f;
325}
326
327
328WRITE_LINE_DEVICE_HANDLER( zwackery_ca2_w )
329{
330   address_space *space = cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM);
331   csdeluxe_data_w(space, 0, (state << 4) | zwackery_sound_data);
332}
333
334
335static WRITE_LINE_DEVICE_HANDLER( zwackery_pia_irq )
336{
337   v493_irq_state = pia6821_get_irq_a(device) | pia6821_get_irq_b(device);
338   update_mcr68_interrupts(device->machine);
339}
340
341
342static TIMER_CALLBACK( zwackery_493_off_callback )
343{
344   running_device *pia = machine->device("pia0");
345   pia6821_ca1_w(pia, 0);
346}
347
348
349static TIMER_CALLBACK( zwackery_493_callback )
350{
351   running_device *pia = machine->device("pia0");
352
353   pia6821_ca1_w(pia, 1);
354   timer_set(machine, machine->primary_screen->scan_period(), NULL, 0, zwackery_493_off_callback);
355}
356
357
358
359/*************************************
360 *
361 *  M6840 timer utilities
362 *
363 *************************************/
364
365INLINE void update_interrupts(running_machine *machine)
366{
367   m6840_status &= ~0x80;
368
369   if ((m6840_status & 0x01) && (m6840_state[0].control & 0x40)) m6840_status |= 0x80;
370   if ((m6840_status & 0x02) && (m6840_state[1].control & 0x40)) m6840_status |= 0x80;
371   if ((m6840_status & 0x04) && (m6840_state[2].control & 0x40)) m6840_status |= 0x80;
372
373   m6840_irq_state = m6840_status >> 7;
374   update_mcr68_interrupts(machine);
375}
376
377
378static void subtract_from_counter(running_machine *machine, int counter, int count)
379{
380   /* dual-byte mode */
381   if (m6840_state[counter].control & 0x04)
382   {
383      int lsb = m6840_state[counter].count & 0xff;
384      int msb = m6840_state[counter].count >> 8;
385
386      /* count the clocks */
387      lsb -= count;
388
389      /* loop while we're less than zero */
390      while (lsb < 0)
391      {
392         /* borrow from the MSB */
393         lsb += (m6840_state[counter].latch & 0xff) + 1;
394         msb--;
395
396         /* if MSB goes less than zero, we've expired */
397         if (msb < 0)
398         {
399            m6840_status |= 1 << counter;
400            m6840_status_read_since_int &= ~(1 << counter);
401            update_interrupts(machine);
402            msb = (m6840_state[counter].latch >> 8) + 1;
403            LOG(("** Counter %d fired\n", counter));
404         }
405      }
406
407      /* store the result */
408      m6840_state[counter].count = (msb << 8) | lsb;
409   }
410
411   /* word mode */
412   else
413   {
414      int word = m6840_state[counter].count;
415
416      /* count the clocks */
417      word -= count;
418
419      /* loop while we're less than zero */
420      while (word < 0)
421      {
422         /* borrow from the MSB */
423         word += m6840_state[counter].latch + 1;
424
425         /* we've expired */
426         m6840_status |= 1 << counter;
427         m6840_status_read_since_int &= ~(1 << counter);
428         update_interrupts(machine);
429         LOG(("** Counter %d fired\n", counter));
430      }
431
432      /* store the result */
433      m6840_state[counter].count = word;
434   }
435}
436
437
438static TIMER_CALLBACK( counter_fired_callback )
439{
440   int count = param >> 2;
441   int counter = param & 3;
442
443   /* reset the timer */
444   m6840_state[counter].timer_active = 0;
445
446   /* subtract it all from the counter; this will generate an interrupt */
447   subtract_from_counter(machine, counter, count);
448}
449
450
451static void reload_count(int counter)
452{
453   attotime period;
454   attotime total_period;
455   int count;
456
457   /* copy the latched value in */
458   m6840_state[counter].count = m6840_state[counter].latch;
459
460   /* counter 0 is self-updating if clocked externally */
461   if (counter == 0 && !(m6840_state[counter].control & 0x02))
462   {
463      timer_adjust_oneshot(m6840_state[counter].timer, attotime_never, 0);
464      m6840_state[counter].timer_active = 0;
465      return;
466   }
467
468   /* determine the clock period for this timer */
469   if (m6840_state[counter].control & 0x02)
470      period = m6840_internal_counter_period;
471   else
472      period = m6840_counter_periods[counter];
473
474   /* determine the number of clock periods before we expire */
475   count = m6840_state[counter].count;
476   if (m6840_state[counter].control & 0x04)
477      count = ((count >> 8) + 1) * ((count & 0xff) + 1);
478   else
479      count = count + 1;
480
481   /* set the timer */
482   total_period = attotime_make(0, attotime_to_attoseconds(period) * count);
483LOG(("reload_count(%d): period = %f  count = %d\n", counter, attotime_to_double(period), count));
484   timer_adjust_oneshot(m6840_state[counter].timer, total_period, (count << 2) + counter);
485   m6840_state[counter].timer_active = 1;
486}
487
488
489static UINT16 compute_counter(int counter)
490{
491   attotime period;
492   int remaining;
493
494   /* if there's no timer, return the count */
495   if (!m6840_state[counter].timer_active)
496      return m6840_state[counter].count;
497
498   /* determine the clock period for this timer */
499   if (m6840_state[counter].control & 0x02)
500      period = m6840_internal_counter_period;
501   else
502      period = m6840_counter_periods[counter];
503
504   /* see how many are left */
505   remaining = attotime_to_attoseconds(timer_timeleft(m6840_state[counter].timer)) / attotime_to_attoseconds(period);
506
507   /* adjust the count for dual byte mode */
508   if (m6840_state[counter].control & 0x04)
509   {
510      int divisor = (m6840_state[counter].count & 0xff) + 1;
511      int msb = remaining / divisor;
512      int lsb = remaining % divisor;
513      remaining = (msb << 8) | lsb;
514   }
515
516   return remaining;
517}
518
519
520
521/*************************************
522 *
523 *  M6840 timer I/O
524 *
525 *************************************/
526
527static WRITE8_HANDLER( mcr68_6840_w_common )
528{
529   int i;
530
531   /* offsets 0 and 1 are control registers */
532   if (offset < 2)
533   {
534      int counter = (offset == 1) ? 1 : (m6840_state[1].control & 0x01) ? 0 : 2;
535      UINT8 diffs = data ^ m6840_state[counter].control;
536
537      m6840_state[counter].control = data;
538
539      /* reset? */
540      if (counter == 0 && (diffs & 0x01))
541      {
542         /* holding reset down */
543         if (data & 0x01)
544         {
545            for (i = 0; i < 3; i++)
546            {
547               timer_adjust_oneshot(m6840_state[i].timer, attotime_never, 0);
548               m6840_state[i].timer_active = 0;
549            }
550         }
551
552         /* releasing reset */
553         else
554         {
555            for (i = 0; i < 3; i++)
556               reload_count(i);
557         }
558
559         m6840_status = 0;
560         update_interrupts(space->machine);
561      }
562
563      /* changing the clock source? (needed for Zwackery) */
564      if (diffs & 0x02)
565         reload_count(counter);
566
567      LOG(("%06X:Counter %d control = %02X\n", cpu_get_previouspc(space->cpu), counter, data));
568   }
569
570   /* offsets 2, 4, and 6 are MSB buffer registers */
571   else if ((offset & 1) == 0)
572   {
573      LOG(("%06X:MSB = %02X\n", cpu_get_previouspc(space->cpu), data));
574      m6840_msb_buffer = data;
575   }
576
577   /* offsets 3, 5, and 7 are Write Timer Latch commands */
578   else
579   {
580      int counter = (offset - 2) / 2;
581      m6840_state[counter].latch = (m6840_msb_buffer << 8) | (data & 0xff);
582
583      /* clear the interrupt */
584      m6840_status &= ~(1 << counter);
585      update_interrupts(space->machine);
586
587      /* reload the count if in an appropriate mode */
588      if (!(m6840_state[counter].control & 0x10))
589         reload_count(counter);
590
591      LOG(("%06X:Counter %d latch = %04X\n", cpu_get_previouspc(space->cpu), counter, m6840_state[counter].latch));
592   }
593}
594
595
596static READ16_HANDLER( mcr68_6840_r_common )
597{
598   /* offset 0 is a no-op */
599   if (offset == 0)
600      return 0;
601
602   /* offset 1 is the status register */
603   else if (offset == 1)
604   {
605      LOG(("%06X:Status read = %04X\n", cpu_get_previouspc(space->cpu), m6840_status));
606      m6840_status_read_since_int |= m6840_status & 0x07;
607      return m6840_status;
608   }
609
610   /* offsets 2, 4, and 6 are Read Timer Counter commands */
611   else if ((offset & 1) == 0)
612   {
613      int counter = (offset - 2) / 2;
614      int result = compute_counter(counter);
615
616      /* clear the interrupt if the status has been read */
617      if (m6840_status_read_since_int & (1 << counter))
618         m6840_status &= ~(1 << counter);
619      update_interrupts(space->machine);
620
621      m6840_lsb_buffer = result & 0xff;
622
623      LOG(("%06X:Counter %d read = %04X\n", cpu_get_previouspc(space->cpu), counter, result));
624      return result >> 8;
625   }
626
627   /* offsets 3, 5, and 7 are LSB buffer registers */
628   else
629      return m6840_lsb_buffer;
630}
631
632
633WRITE16_HANDLER( mcr68_6840_upper_w )
634{
635   if (ACCESSING_BITS_8_15)
636      mcr68_6840_w_common(space, offset, (data >> 8) & 0xff);
637}
638
639
640WRITE16_HANDLER( mcr68_6840_lower_w )
641{
642   if (ACCESSING_BITS_0_7)
643      mcr68_6840_w_common(space, offset, data & 0xff);
644}
645
646
647READ16_HANDLER( mcr68_6840_upper_r )
648{
649   return (mcr68_6840_r_common(space,offset,0) << 8) | 0x00ff;
650}
651
652
653READ16_HANDLER( mcr68_6840_lower_r )
654{
655   return mcr68_6840_r_common(space,offset,0) | 0xff00;
656}
657
src/mame/machine/namco51.c
r9191r9192
357357ADDRESS_MAP_END
358358
359359
360static MACHINE_DRIVER_START( namco_51xx )
360static MACHINE_CONFIG_FRAGMENT( namco_51xx )
361361   MDRV_CPU_ADD("mcu", MB8843, DERIVED_CLOCK(1,1))      /* parent clock, internally divided by 6 */
362362   MDRV_CPU_IO_MAP(namco_51xx_map_io)
363363   MDRV_DEVICE_DISABLE()
364MACHINE_DRIVER_END
364MACHINE_CONFIG_END
365365
366366
367367ROM_START( namco_51xx )
src/mame/machine/nb1413m3.c
r9191r9192
2727int nb1413m3_busyctr;
2828int nb1413m3_busyflag;
2929int nb1413m3_inputport;
30UINT8 *nb1413m3_nvram;
31size_t nb1413m3_nvram_size;
3230
3331static int nb1413m3_74ls193_counter;
3432static int nb1413m3_nmi_count;         // for debug
r9191r9192
225223#endif
226224}
227225
228NVRAM_HANDLER( nb1413m3 )
229{
230   if (read_or_write)
231      mame_fwrite(file, nb1413m3_nvram, nb1413m3_nvram_size);
232   else
233   {
234      if (file)
235         mame_fread(file, nb1413m3_nvram, nb1413m3_nvram_size);
236      else
237         memset(nb1413m3_nvram, 0, nb1413m3_nvram_size);
238   }
239}
240
241226READ8_HANDLER( nb1413m3_sndrom_r )
242227{
243228   int rombank;
src/mame/mamedriv.c
r9191r9192
959959   DRIVER( finfurl2j )   /* March 1999 */
960960            /* Guitar Jam - July 1999 */
961961   DRIVER( crszone )   /* Crisis Zone - December 1999 */
962   DRIVER( crszonea )   /* Crisis Zone - December 1999 */
962963
963964   /* Namco System 246 */
964965   DRIVER( sys246 )
r9191r9192
966967   DRIVER( netchu02 )
967968   DRIVER( soulclb2 )
968969   DRIVER( soulcl2a )
970   DRIVER( soulcl2b )
969971   DRIVER( tekken4 )
970972   DRIVER( tekken4a )
971973   DRIVER( tekken4b )
r9191r9192
15671569   DRIVER( youjyudn )   /* (c) 1986 (Japan) */
15681570
15691571   DRIVER( vigilant )   /* (c) 1988 (World) */
1572   DRIVER( vigilant1 )   /* (c) 1988 (World) */
15701573   DRIVER( vigilantu )   /* (c) 1988 (US) */
15711574   DRIVER( vigilantj )   /* (c) 1988 (Japan) */
15721575   DRIVER( kikcubic )   /* (c) 1988 (Japan) */
r9191r9192
33173320   DRIVER( aquarush )   /* 2000.02 Aqua Rush (AQ1/VER.A1, Japan) */
33183321   DRIVER( golgo13 )   /* 2000.03 Golgo 13 (GLG1/VER.A, Japan) */
33193322   DRIVER( sws2000 )   /* 2000.03 Super World Stadium 2000 (SS01/VER.A, Japan) */
3320                  /* 2000.06 Truck Kyousoukyoku (Metro) */
3323//  DRIVER( truckk )        /* 2000.06 Truck Kyousoukyoku (Metro) */
33213324                  /* 2000.07 Kart Duel */
33223325                  /* 2000.08 Teknowerk */
33233326   DRIVER( g13knd )   /* 2000.10 Golgo 13 Kiseki no Dandou (GLS1/VER.A, Japan) */
r9191r9192
40034006   DRIVER( atomicp )   /* (c) 1990 Philko - korean clone board */
40044007   DRIVER( snapper )   /* (c) 1990 Philko - korean clone board */
40054008
4006
40074009   /* S16 Bootlegs */
40084010   DRIVER( bayrouteb1 )/* (c) 1989 (protected) (bootleg) */
40094011   DRIVER( bayrouteb2 )/* (c) 1989 (protected) (bootleg) */
r9191r9192
40234025   DRIVER( tturfbl )   /* (c) 1989 (Datsu bootleg) */
40244026   DRIVER( wb3bbl )   /* BOOTLEG */
40254027
4028   /* ISG S16 bootleg system */
4029   DRIVER( isgsm )
4030   DRIVER( shinfz )
4031
40264032   /* System 18 */
40274033   DRIVER( shdancer )   /* 1989.05 Shadow Dancer (US) */
40284034   DRIVER( shdancerj )   /* 1989.11 Shadow Dancer (Japan) */
r9191r9192
43184324   DRIVER( vf2o )      /* 1994.11 Virtua Fighter 2 */
43194325   DRIVER( vf2a )      /* 1995.?? */
43204326   DRIVER( vf2b )      /* 1995.?? */
4321   DRIVER( srallyc )   /* 1995.02 Sega Rally Championship */
4327   DRIVER( srallyc )   /* 1995.02 Sega Rally Championship - Rev C */
4328   DRIVER( srallycb )   /* 1995.02 Sega Rally Championship - Rev B */
43224329   DRIVER( vcop2 )      /* 1995.09 Virtua Cop 2 */
43234330   DRIVER( vf2 )      /* 1995.09 Virtua Fighter 2.1*/
43244331                  /* 1995.10 Sky Target */
r9191r9192
45744581   DRIVER( mp_mazin )   /* 11 */
45754582   DRIVER( mp_col3 )   /* ?? */
45764583
4577   DRIVER( ssf2ghw )   /* MegaDrive-based hack */
4578   DRIVER( aladbl )   /* MegaDrive-based hack */
4579   DRIVER( mk3ghw )   /* MegaDrive-based hack */
4580   DRIVER( ssgbl )      /* MegaDrive-based hack */
4584   DRIVER( ssf2mdb )   /* MegaDrive-based hack */
4585   DRIVER( aladmdb )   /* MegaDrive-based hack */
4586   DRIVER( mk3mdb )   /* MegaDrive-based hack */
4587   DRIVER( srmdb )      /* MegaDrive-based hack */
45814588
45824589   /* Sega Naomi-based (Dreamcast) systems */
45834590   DRIVER( naomi )
r9191r9192
48054812
48064813   /* Atomiswave (Dreamcast-based) games */
48074814   DRIVER( awbios )
4808                  /* 2002.12 Maximum Speed */
4815   DRIVER( maxspeed )   /* 2002.12 Maximum Speed */
48094816   DRIVER( sprtshot )   /* 2002.12 Sports Shooting USA */
48104817                  /* 2003.03 Guilty Gear X ver.1.5 */
48114818   DRIVER( demofist )   /* 2003.06 Demolish Fist */
r9191r9192
71697176   DRIVER( tmdo )      /* (c) 1996 Midway Games */
71707177   DRIVER( tm2k )      /* (c) 1996 Midway Games */
71717178   DRIVER( tm2ka )      /* (c) 1996 Midway Games */
7179   DRIVER( tm2kb )      /* (c) 1996 Midway Games */
71727180   DRIVER( tm3k )      /* (c) 1997 Midway Games */
71737181   DRIVER( tm3ka )      /* (c) 1997 Midway Games */
71747182   DRIVER( tm4k )      /* (c) 1998 Midway Games */
71757183   DRIVER( tm4ka )      /* (c) 1998 Midway Games */
7184   DRIVER( tm4kb )      /* (c) 1998 Midway Games */
71767185   DRIVER( tm5k )      /* (c) 1998 Midway Games */
71777186   DRIVER( tm5kca )   /* (c) 1998 Midway Games */
71787187   DRIVER( tm5ka )      /* (c) 1998 Midway Games */
r9191r9192
93389347   DRIVER( vroulet )   /* (c) 1989 World Game */
93399348   DRIVER( rcasino )   /* (c) 1984 Dyna Electronics */
93409349   DRIVER( ampoker2 )   /* (c) 1990 Novomatic */
9350   DRIVER( piccolop )   /* (c) 1990 Admiral - Novomatic */
93419351   DRIVER( ampkr2b1 )   /* 1990 bootleg */
93429352   DRIVER( ampkr2b2 )   /* 1990 bootleg */
93439353   DRIVER( ampkr2b3 )   /* 1994 bootleg */
r9191r9192
97219731   DRIVER( cmast91 )   /* (c) 1991 Dyna Electronics */
97229732   DRIVER( cmast92 )   /* (c) 1992 Dyna Electronics */
97239733
9734   DRIVER( tonypok )   /* (c) 1991 Corsica */
97249735   DRIVER( jkrmast )   /* (c) 199? unknown */
97259736   DRIVER( pkrmast )   /* (c) 199? unknown */
97269737   DRIVER( pkrmasta )   /* (c) 199? unknown */
r9191r9192
97699780   DRIVER( magicmsk )   /* (c) 2000 */
97709781   DRIVER( margmgc )   /* (c) 2000 */
97719782   DRIVER( geishanz )   /* (c) 2001 */
9783   DRIVER( wtiger )   /* (c) 2001 */
97729784
97739785   /* Eagle */
97749786   DRIVER( janshi )
r9191r9192
1010910121   DRIVER( cmkenosp )   /* (c) 2000 Coinmaster-Gaming, Ltd. */
1011010122   DRIVER( cmkenospa )   /* (c) 2000 Coinmaster-Gaming, Ltd. */
1011110123
10112   /* Igrosoft */
10124   /* Igrosoft Original sets */
1011310125   /* Multifish */
1011410126   //DRIVER( mfish )   /* (c) 2002 */
1011510127   //DRIVER( mfish_2 ) /* (c) 2002 */
10116   DRIVER( mfish_3 )   /* (c) 2002 */
10117   DRIVER( mfish_3a )   /* (c) 2002 */
1011810128   //DRIVER( mfish_4 ) /* (c) 2002 */
1011910129   //DRIVER( mfish_5 ) /* (c) 2002 */
10120   DRIVER( mfish_6 ) /* (c) 2002 */
1012110130   //DRIVER( mfish_7 ) /* (c) 2002 */
1012210131   //DRIVER( mfish_8 ) /* (c) 2002 */
1012310132   //DRIVER( mfish_9 ) /* (c) 2002 */
1012410133   //DRIVER( mfish_10 )    /* (c) 2002 */
10134   //DRIVER( mfish_13 )    /* (c) 2002 */
10135   DRIVER( mfish_3 )   /* (c) 2002 */
10136   DRIVER( mfish_6 )   /* (c) 2002 */
1012510137   DRIVER( mfish_11 )   /* (c) 2002 */
1012610138   DRIVER( mfish_12 )   /* (c) 2002 */
10127   DRIVER( mfish_12a )   /* (c) 2002 */
10128   //DRIVER( mfish_13 )    /* (c) 2002 */
10139   DRIVER( mfish_13 )   /* (c) 2002 */
1012910140
1013010141   /* Crazy Monkey */
1013110142   //DRIVER( crzmon )  /* (c) 2003 */
r9191r9192
1013310144   //DRIVER( crzmon_3 )    /* (c) 2003 */
1013410145   //DRIVER( crzmon_4 )    /* (c) 2003 */
1013510146   //DRIVER( crzmon_5 )    /* (c) 2003 */
10136   //DRIVER( crzmon_6 )
10147   //DRIVER( crzmon_6 )    /* (c) 2003 */
10148   DRIVER( crzmon_5 )   /* (c) 2003 */
1013710149   DRIVER( crzmon_7 )   /* (c) 2003 */
10138   DRIVER( crzmon_7a )   /* (c) 2003 */
10139   DRIVER( crzmon_7b )   /* (c) 2003 */
1014010150   DRIVER( crzmon_8 )   /* (c) 2003 */
10141   DRIVER( crzmon_8a )   /* (c) 2003 */
10151   DRIVER( crzmon_9 )   /* (c) 2003 */
1014210152
1014310153   /* Fruit Cocktail */
1014410154   //DRIVER( fcockt )  /* (c) 2003 */
1014510155   //DRIVER( fcockt_2 )    /* (c) 2003 */
1014610156   //DRIVER( fcockt_3 )    /* (c) 2003 */
1014710157   //DRIVER( fcockt_4 )    /* (c) 2003 */
10148   //DRIVER( fcockt_5 )    /* (c) 2003 */
10158   DRIVER( fcockt_5 )   /* (c) 2003 */
1014910159   DRIVER( fcockt_6 )   /* (c) 2003 */
10150   DRIVER( fcockt_6a )   /* (c) 2003 */
10151   DRIVER( fcockt_6b )   /* (c) 2003 */
1015210160   DRIVER( fcockt_7 )   /* (c) 2003 */
10153   DRIVER( fcockt_7a )   /* (c) 2003 */
1015410161   DRIVER( fcockt_8 )   /* (c) 2003 */
10162   DRIVER( fcockt_9 )   /* (c) 2003 */
10163   DRIVER( fcockt_10 )   /* (c) 2003 */
10164   DRIVER( fcockt_11 )   /* (c) 2003 */
10165   DRIVER( fcockt_12 )   /* (c) 2003 */
1015510166
1015610167   /* Lucky Haunter */
1015710168   //DRIVER( lhaunt )  /* (c) 2003 */
1015810169   //DRIVER( lhaunt_2 )    /* (c) 2003 */
1015910170   //DRIVER( lhaunt_3 )    /* (c) 2003 */
1016010171   DRIVER( lhaunt_4 )   /* (c) 2003 */
10161   DRIVER( lhaunt_4a )   /* (c) 2003 */
1016210172   DRIVER( lhaunt_5 )   /* (c) 2003 */
10163   DRIVER( lhaunt_5a )   /* (c) 2003 */
1016410173   DRIVER( lhaunt_6 )   /* (c) 2003 */
10165   DRIVER( lhaunt_6a )   /* (c) 2003 */
10174   DRIVER( lhaunt_7 )   /* (c) 2003 */
10175   DRIVER( lhaunt_8 )   /* (c) 2003 */
1016610176
1016710177   /* Rollfruit */
1016810178   //DRIVER( rollfr )  /* (c) 2003 */
r9191r9192
1017310183   //DRIVER( garage_2 )    /* (c) 2004 */
1017410184   //DRIVER( garage_3 )    /* (c) 2004 */
1017510185   DRIVER( garage_4 )   /* (c) 2004 */
10176   DRIVER( garage_4a )   /* (c) 2004 */
10177   DRIVER( garage_4b )   /* (c) 2004 */
1017810186   DRIVER( garage_5 )   /* (c) 2004 */
10179   DRIVER( garage_5a )   /* (c) 2004 */
10187   DRIVER( garage_6 )   /* (c) 2004 */
10188   DRIVER( garage_7 )   /* (c) 2004 */
1018010189
1018110190   /* Rock Climber */
10182   //DRIVER( rclimb )  /* (c) 2004 */
1018310191   //DRIVER( rclimb_2 )    /* (c) 2004 */
10192   DRIVER( rclimb )   /* (c) 2004 */
1018410193   DRIVER( rclimb_3 )   /* (c) 2004 */
10185   DRIVER( rclimb_3a )   /* (c) 2004 */
10186   DRIVER( rclimb_3b )   /* (c) 2004 */
10194   DRIVER( rclimb_4 )   /* (c) 2004 */
10195   DRIVER( rclimb_5 )   /* (c) 2004 */
1018710196
1018810197   /* Sweet Life */
1018910198   DRIVER( sweetl )   /* (c) 2004 */
10190   DRIVER( sweetla )   /* (c) 2004 */
10191   DRIVER( sweetlb )   /* (c) 2004 */
10199   DRIVER( sweetl_2 )   /* (c) 2004 */
1019210200
1019310201   /* Resident */
1019410202   //DRIVER( resdnt )  /* (c) 2004 */
1019510203   DRIVER( resdnt_2 )   /* (c) 2004 */
10196   DRIVER( resdnt_2a )   /* (c) 2004 */
10204   DRIVER( resdnt_3 )   /* (c) 2004 */
1019710205
1019810206   /* Island */
1019910207   DRIVER( island )   /* (c) 2005 */
10200   DRIVER( islanda )   /* (c) 2005 */
1020110208
1020210209   /* Pirate */
1020310210   //DRIVER( pirate )  /* (c) 2005 */
1020410211   DRIVER( pirate_2 )   /* (c) 2005 */
1020510212   DRIVER( pirate_3 )   /* (c) 2005 */
10213   DRIVER( pirate_4 )   /* (c) 2005 */
1020610214
10215   /* Island 2 */
10216   DRIVER( island2 )   /* (c) 2006 */
10217   DRIVER( island2_3 )   /* (c) 2006 */
10218   DRIVER( island2_4 )   /* (c) 2006 */
10219
1020710220   /* Pirate 2 */
1020810221   DRIVER( pirate2 )   /* (c) 2006 */
10209   DRIVER( pirate2a )   /* (c) 2006 */
10210   DRIVER( pirate2b )   /* (c) 2006 */
10211   DRIVER( pirate2c )   /* (c) 2006 */
10212   DRIVER( pirate2d )   /* (c) 2006 */
10213   DRIVER( pirate2e )   /* (c) 2006 */
10222   DRIVER( pirate2_2 )   /* (c) 2006 */
1021410223
10215   /* Island 2 */
10216   DRIVER( island2 )   /* (c) 2006 */
10217   DRIVER( island2a )   /* (c) 2006 */
10218
1021910224   /* Keks */
1022010225   DRIVER( keks )      /* (c) 2006 */
10221   DRIVER( keksa )      /* (c) 2006 */
10222   DRIVER( keksb )      /* (c) 2006 */
10223   DRIVER( keksc )      /* (c) 2006 */
1022410226   DRIVER( keks_2 )   /* (c) 2006 */
10225   DRIVER( keks_2a )   /* (c) 2006 */
10226   DRIVER( keks_2b )   /* (c) 2006 */
10227   DRIVER( keks_3 )   /* (c) 2006 */
1022710228
10229   /* Gnome */
10230   DRIVER( gnome )      /* (c) 2007 */
10231
10232   /* Igrosoft bootleg sets */
10233
10234   DRIVER( mfish_3a )   /* bootleg - Multifish */
10235   DRIVER( mfish_12a )   /* bootleg */
10236   DRIVER( crzmon_7a )   /* bootleg - Crazy Monkey */
10237   DRIVER( crzmon_7b )   /* bootleg */
10238   DRIVER( crzmon_8a )   /* bootleg */
10239   DRIVER( crzmon_8b )   /* bootleg */
10240   DRIVER( crzmon_8c )   /* bootleg */
10241   DRIVER( crzmon_8d )   /* bootleg */
10242   DRIVER( crzmon_8e )   /* bootleg */
10243   DRIVER( crzmon_8f )   /* bootleg */
10244   DRIVER( crzmon_9a )   /* bootleg */
10245   DRIVER( crzmon_9b )   /* bootleg */
10246   DRIVER( crzmon_9c )   /* bootleg */
10247   DRIVER( fcockt_6a )   /* bootleg - Fruit Cocktail */
10248   DRIVER( fcockt_6b )   /* bootleg */
10249   DRIVER( fcockt_6c )   /* bootleg */
10250   DRIVER( fcockt_6d )   /* bootleg */
10251   DRIVER( fcockt_7a )   /* bootleg */
10252   DRIVER( fcockt_7b )   /* bootleg */
10253   DRIVER( fcockt_7c )   /* bootleg */
10254   DRIVER( fcockt_7d )   /* bootleg */
10255   DRIVER( fcockt_7e )   /* bootleg */
10256   DRIVER( fcockt_7f )   /* bootleg */
10257   DRIVER( fcockt_7g )   /* bootleg */
10258   DRIVER( fcockt_7h )   /* bootleg */
10259   DRIVER( fcockt_8a )   /* bootleg */
10260   DRIVER( fcockt_8b )   /* bootleg */
10261   DRIVER( lhaunt_4a )   /* bootleg - Lucky Haunter */
10262   DRIVER( lhaunt_5a )   /* bootleg */
10263   DRIVER( lhaunt_6a )   /* bootleg */
10264   DRIVER( lhaunt_6b )   /* bootleg */
10265   DRIVER( lhaunt_6c )   /* bootleg */
10266   DRIVER( lhaunt_6d )   /* bootleg */
10267   DRIVER( lhaunt_6e )   /* bootleg */
10268   DRIVER( lhaunt_6f )   /* bootleg */
10269   DRIVER( garage_4a )   /* bootleg - Garage */
10270   DRIVER( garage_4b )   /* bootleg */
10271   DRIVER( garage_4c )   /* bootleg */
10272   DRIVER( garage_5a )   /* bootleg */
10273   DRIVER( garage_5b )   /* bootleg */
10274   DRIVER( garage_5c )   /* bootleg */
10275   DRIVER( garage_5d )   /* bootleg */
10276   DRIVER( garage_5e )   /* bootleg */
10277   DRIVER( rclimb_3a )   /* bootleg - Rock Climber */
10278   DRIVER( rclimb_3b )   /* bootleg */
10279   DRIVER( rclimb_3c )   /* bootleg */
10280   DRIVER( rclimb_3d )   /* bootleg */
10281   DRIVER( rclimb_3e )   /* bootleg */
10282   DRIVER( sweetla )   /* bootleg - Sweet Life */
10283   DRIVER( sweetlb )   /* bootleg */
10284   DRIVER( resdnt_2a )   /* bootleg - Resident */
10285   DRIVER( resdnt_2b )   /* bootleg */
10286   DRIVER( resdnt_2c )   /* bootleg */
10287   DRIVER( resdnt_2d )   /* bootleg */
10288   DRIVER( resdnt_2e )   /* bootleg */
10289   DRIVER( resdnt_2f )   /* bootleg */
10290   DRIVER( resdnt_2g )   /* bootleg */
10291   DRIVER( islanda )   /* bootleg - Island */
10292   DRIVER( islandb )   /* bootleg */
10293   DRIVER( islandc )   /* bootleg */
10294   DRIVER( island2a )   /* bootleg - Island 2 */
10295   DRIVER( island2b )   /* bootleg */
10296   DRIVER( island2c )   /* bootleg */
10297   DRIVER( island2_3a )   /* bootleg */
10298   DRIVER( island2_4a )   /* bootleg */
10299   DRIVER( pirate2a )   /* bootleg - Pirate 2 */
10300   DRIVER( pirate2b )   /* bootleg */
10301   DRIVER( pirate2c )   /* bootleg */
10302   DRIVER( pirate2d )   /* bootleg */
10303   DRIVER( pirate2e )   /* bootleg */
10304   DRIVER( pirate2f )   /* bootleg */
10305   DRIVER( pirate2g )   /* bootleg */
10306   DRIVER( pirate2h )   /* bootleg */
10307   DRIVER( pirate2_2a )   /* bootleg */
10308   DRIVER( keksa )      /* bootleg - Keks */
10309   DRIVER( keksb )      /* bootleg */
10310   DRIVER( keksc )      /* bootleg */
10311   DRIVER( keks_2a )   /* bootleg */
10312   DRIVER( keks_2b )   /* bootleg */
10313   DRIVER( keks_2c )   /* bootleg */
10314   DRIVER( keks_2d )   /* bootleg */
10315   DRIVER( keks_2e )   /* bootleg */
10316   DRIVER( keks_2f )   /* bootleg */
10317   DRIVER( keks_2g )   /* bootleg */
10318   DRIVER( keks_3a )   /* bootleg */
10319   DRIVER( keks_3b )   /* bootleg */
10320   DRIVER( gnomea )   /* bootleg - Gnome */
10321   DRIVER( gnomeb )   /* bootleg */
10322   DRIVER( gnomec )   /* bootleg */
10323   DRIVER( gnomed )   /* bootleg */
10324   DRIVER( gnomee )   /* bootleg */
1022810325   /* Disney */
1022910326   DRIVER( cdi )      /* Base unit */
1023010327   DRIVER( quizard )   /* (c) Disney 1996 */
r9191r9192
1033810435   /* Interactive Light */
1033910436   DRIVER( savquest )
1034010437
10438   /* Jubilee */
10439   DRIVER( jubileep )
10440
10441   /* Golden Games / C+M Technics AG */
10442   DRIVER( swisspkr )   /* (c) Golden Games 1990 */
10443   DRIVER( moviecrd )   /* (c) Golden Games 1998 */
10444
1034110445#endif   /* DRIVER_RECURSIVE */
src/mame/includes/shisen.h
r0r9192
1class shisen_state : public driver_device
2{
3public:
4   shisen_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   int gfxbank;
8   tilemap_t *bg_tilemap;
9   UINT8 *paletteram;
10   UINT8 *videoram;
11};
12
13
14/*----------- defined in video/shisen.c -----------*/
15
16WRITE8_HANDLER( sichuan2_videoram_w );
17WRITE8_HANDLER( sichuan2_bankswitch_w );
18WRITE8_HANDLER( sichuan2_paletteram_w );
19
20VIDEO_START( sichuan2 );
21VIDEO_UPDATE( sichuan2 );
src/mame/includes/nitedrvr.h
r9191r9192
1515#define NITEDRVR_ATTRACT_EN   NODE_06
1616
1717
18class nitedrvr_state : public driver_data_t
18class nitedrvr_state : public driver_device
1919{
2020public:
21   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nitedrvr_state(machine)); }
21   nitedrvr_state(running_machine &machine, const driver_device_config_base &config)
22      : driver_device(machine, config) { }
2223
23   nitedrvr_state(running_machine &machine)
24      : driver_data_t(machine) { }
25
2624   /* memory pointers */
2725   UINT8 *    hvc;
2826   UINT8 *    videoram;
src/mame/includes/m10.h
r9191r9192
2727#define IREMM15_VBSTART         (240)
2828#define IREMM15_VBEND         (16)
2929
30class m10_state : public driver_data_t
30class m10_state : public driver_device
3131{
3232public:
33   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, m10_state(machine)); }
33   m10_state(running_machine &machine, const driver_device_config_base &config)
34      : driver_device(machine, config) { }
3435
35   m10_state(running_machine &machine)
36      : driver_data_t(machine) { }
37
3836   /* memory pointers */
3937   UINT8 *             chargen;
4038   UINT8 *             memory;
src/mame/includes/sbugger.h
r9191r9192
1class sbugger_state : public driver_data_t
1class sbugger_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sbugger_state(machine)); }
4   sbugger_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   sbugger_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT8 *videoram;
108   UINT8 *videoram_attr;
119
src/mame/includes/targeth.h
r0r9192
1/*----------- defined in video/targeth.c -----------*/
2
3extern UINT16 *targeth_vregs;
4extern UINT16 *targeth_videoram;
5extern UINT16 *targeth_spriteram;
6
7WRITE16_HANDLER( targeth_vram_w );
8VIDEO_START( targeth );
9VIDEO_UPDATE( targeth );
src/mame/includes/nycaptor.h
r9191r9192
11
2class nycaptor_state : public driver_data_t
2class nycaptor_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nycaptor_state(machine)); }
5   nycaptor_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   nycaptor_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *      sharedram;
1210   UINT8 *      scrlram;
src/mame/includes/rainbow.h
r9191r9192
44
55*************************************************************************/
66
7class rainbow_state : public driver_data_t
7class rainbow_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rainbow_state(machine)); }
10   rainbow_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   rainbow_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    spriteram;
1715//  UINT16 *    paletteram;    // currently this uses generic palette handling
r9191r9192
4543WRITE16_HANDLER( rainbow_cchip_ctrl_w );
4644WRITE16_HANDLER( rainbow_cchip_bank_w );
4745WRITE16_HANDLER( rainbow_cchip_ram_w );
48
49
50/*----------- defined in video/rastan.c -----------*/
51
52VIDEO_START( jumping );
53
54VIDEO_UPDATE( rainbow );
55VIDEO_UPDATE( jumping );
56
57WRITE16_HANDLER( jumping_spritectrl_w );
58WRITE16_HANDLER( rainbow_spritectrl_w );
src/mame/includes/mitchell.h
r9191r9192
66
77#include "sound/okim6295.h"
88
9class mitchell_state : public driver_data_t
9class mitchell_state : public driver_device
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mitchell_state(machine)); }
12   mitchell_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config),
14        audiocpu(*this, "audiocpu"),
15        oki(*this, "oki") { }
1316
14   mitchell_state(running_machine &machine)
15      : driver_data_t(machine),
16        audiocpu(machine.device<cpu_device>("audiocpu")),
17        oki(machine.device<okim6295_device>("oki")) { }
18
1917   /* memory pointers */
2018   UINT8 *    videoram;
2119   UINT8 *    colorram;
r9191r9192
3937   int        keymatrix;
4038
4139   /* devices */
42   cpu_device *audiocpu;
43   okim6295_device *oki;
40   optional_device<cpu_device> audiocpu;
41   optional_device<okim6295_device> oki;
4442};
4543
4644
src/mame/includes/galspnbl.h
r9191r9192
55
66*************************************************************************/
77
8class galspnbl_state : public driver_data_t
8class galspnbl_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, galspnbl_state(machine)); }
11   galspnbl_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   galspnbl_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* memory pointers */
1715   UINT16 *    videoram;
1816   UINT16 *    bgvideoram;
src/mame/includes/blktiger.h
r9191r9192
44
55***************************************************************************/
66
7class blktiger_state : public driver_data_t
7class blktiger_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blktiger_state(machine)); }
10   blktiger_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   blktiger_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 * txvideoram;
1715//  UINT8 * spriteram;  // currently this uses generic buffer_spriteram_w
src/mame/includes/dynduke.h
r0r9192
1class dynduke_state : public driver_device
2{
3public:
4   dynduke_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
11/*----------- defined in video/dynduke.c -----------*/
12
13extern UINT16 *dynduke_back_data, *dynduke_fore_data, *dynduke_scroll_ram;
14
15WRITE16_HANDLER( dynduke_background_w );
16WRITE16_HANDLER( dynduke_foreground_w );
17WRITE16_HANDLER( dynduke_text_w );
18WRITE16_HANDLER( dynduke_gfxbank_w );
19WRITE16_HANDLER( dynduke_control_w );
20WRITE16_HANDLER( dynduke_paletteram_w );
21VIDEO_START( dynduke );
22VIDEO_UPDATE( dynduke );
23VIDEO_EOF( dynduke );
src/mame/includes/deco_mlc.h
r0r9192
1/*----------- defined in video/deco_mlc.c -----------*/
2
3extern UINT32 *mlc_vram, *mlc_clip_ram;
4
5VIDEO_START( mlc );
6VIDEO_UPDATE( mlc );
7VIDEO_EOF( mlc );
src/mame/includes/tunhunt.h
r9191r9192
1class tunhunt_state : public driver_data_t
1class tunhunt_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tunhunt_state(machine)); }
4   tunhunt_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   tunhunt_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT8 control;
108   UINT8 *workram;
119   UINT8 *spriteram;
src/mame/includes/tryout.h
r0r9192
1class tryout_state : public driver_device
2{
3public:
4   tryout_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/tryout.c -----------*/
12
13extern UINT8 *tryout_gfx_control;
14
15READ8_HANDLER( tryout_vram_r );
16WRITE8_HANDLER( tryout_videoram_w );
17WRITE8_HANDLER( tryout_vram_w );
18WRITE8_HANDLER( tryout_vram_bankswitch_w );
19WRITE8_HANDLER( tryout_flipscreen_w );
20
21PALETTE_INIT( tryout );
22VIDEO_START( tryout );
23VIDEO_UPDATE( tryout );
src/mame/includes/rungun.h
r9191r9192
44
55*************************************************************************/
66
7class rungun_state : public driver_data_t
7class rungun_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rungun_state(machine)); }
10   rungun_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   rungun_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    _936_videoram;
1715//  UINT16 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/eprom.h
r9191r9192
99class eprom_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, eprom_state(machine)); }
12   eprom_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   eprom_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   int          screen_intensity;
1816   int          video_disable;
1917   UINT16 *      sync_data;
src/mame/includes/madmotor.h
r9191r9192
44
55*************************************************************************/
66
7class madmotor_state : public driver_data_t
7class madmotor_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, madmotor_state(machine)); }
10   madmotor_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   madmotor_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *        pf1_rowscroll;
1715   UINT16 *        pf1_data;
src/mame/includes/bublbobl.h
r9191r9192
11
2class bublbobl_state : public driver_data_t
2class bublbobl_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bublbobl_state(machine)); }
5   bublbobl_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   bublbobl_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *  mcu_sharedram;
1210   UINT8 *  videoram;
src/mame/includes/skyfox.h
r9191r9192
44
55*************************************************************************/
66
7class skyfox_state : public driver_data_t
7class skyfox_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, skyfox_state(machine)); }
10   skyfox_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   skyfox_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    spriteram;
1715   size_t     spriteram_size;
src/mame/includes/aerofgt.h
r9191r9192
11
2class aerofgt_state : public driver_data_t
2class aerofgt_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, aerofgt_state(machine)); }
5   aerofgt_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   aerofgt_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT16 *  bg1videoram;
1210   UINT16 *  bg2videoram;
src/mame/includes/fgoal.h
r9191r9192
11
22
3class fgoal_state : public driver_data_t
3class fgoal_state : public driver_device
44{
55public:
6   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fgoal_state(machine)); }
6   fgoal_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
78
8   fgoal_state(running_machine &machine)
9      : driver_data_t(machine) { }
10
119   /* memory pointers */
1210   UINT8 *    video_ram;
1311
src/mame/includes/docastle.h
r9191r9192
11
22
3class docastle_state : public driver_data_t
3class docastle_state : public driver_device
44{
55public:
6   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, docastle_state(machine)); }
6   docastle_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
78
8   docastle_state(running_machine &machine)
9      : driver_data_t(machine) { }
10
119   /* memory pointers */
1210   UINT8 *  videoram;
1311   UINT8 *  colorram;
src/mame/includes/mainsnk.h
r9191r9192
1class mainsnk_state : public driver_data_t
1class mainsnk_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mainsnk_state(machine)); }
4   mainsnk_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   mainsnk_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   tilemap_t *tx_tilemap;
108   tilemap_t *bg_tilemap;
119   UINT8 *spriteram;
src/mame/includes/mystston.h
r9191r9192
1010#define   MYSTSTON_MASTER_CLOCK   (XTAL_12MHz)
1111
1212
13class mystston_state : public driver_data_t
13class mystston_state : public driver_device
1414{
1515public:
16   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mystston_state(machine)); }
16   mystston_state(running_machine &machine, const driver_device_config_base &config)
17      : driver_device(machine, config) { }
1718
18   mystston_state(running_machine &machine)
19      : driver_data_t(machine) { }
20
2119   /* machine state */
2220   UINT8 *ay8910_data;
2321   UINT8 *ay8910_select;
r9191r9192
4240
4341/*----------- defined in video/mystston.c -----------*/
4442
45MACHINE_DRIVER_EXTERN( mystston_video );
43MACHINE_CONFIG_EXTERN( mystston_video );
4644WRITE8_HANDLER( mystston_video_control_w );
src/mame/includes/midyunit.h
r9191r9192
55**************************************************************************/
66
77#include "cpu/tms34010/tms34010.h"
8#include "machine/nvram.h"
89
910/*----------- defined in machine/midyunit.c -----------*/
1011
src/mame/includes/hitme.h
r9191r9192
1212#define HITME_ENABLE_VAL         NODE_03
1313#define HITME_OUT1               NODE_04
1414
15class hitme_state : public driver_data_t
15class hitme_state : public driver_device
1616{
1717public:
18   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hitme_state(machine)); }
18   hitme_state(running_machine &machine, const driver_device_config_base &config)
19      : driver_device(machine, config) { }
1920
20   hitme_state(running_machine &machine)
21      : driver_data_t(machine) { }
22
2321   /* memory pointers */
2422   UINT8 *  videoram;
2523
src/mame/includes/rampart.h
r9191r9192
1010class rampart_state : public atarigen_state
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rampart_state(machine)); }
13   rampart_state(running_machine &machine, const driver_device_config_base &config)
14      : atarigen_state(machine, config) { }
1415
15   rampart_state(running_machine &machine)
16      : atarigen_state(machine) { }
17
1816   UINT16 *      bitmap;
1917   UINT8         has_mo;
2018};
src/mame/includes/senjyo.h
r9191r9192
33#include "machine/z80pio.h"
44#include "machine/z80ctc.h"
55
6class senjyo_state : public driver_device
7{
8public:
9   senjyo_state(running_machine &machine, const driver_device_config_base &config)
10      : driver_device(machine, config) { }
11
12   int int_delay_kludge;
13   UINT8 sound_cmd;
14   INT16 *single_data;
15   int single_rate;
16   int single_volume;
17
18   size_t spriteram_size;
19   UINT8 *spriteram;
20   UINT8 *fgscroll;
21   UINT8 *scrollx1;
22   UINT8 *scrolly1;
23   UINT8 *scrollx2;
24   UINT8 *scrolly2;
25   UINT8 *scrollx3;
26   UINT8 *scrolly3;
27   UINT8 *fgvideoram;
28   UINT8 *fgcolorram;
29   UINT8 *bg1videoram;
30   UINT8 *bg2videoram;
31   UINT8 *bg3videoram;
32   UINT8 *radarram;
33   UINT8 *bgstripesram;
34   int is_senjyo;
35   int scrollhack;
36   tilemap_t *fg_tilemap;
37   tilemap_t *bg1_tilemap;
38   tilemap_t *bg2_tilemap;
39   tilemap_t *bg3_tilemap;
40
41   int bgstripes;
42};
43
44
645/*----------- defined in audio/senjyo.c -----------*/
746
847extern const z80_daisy_config senjyo_daisy_chain[];
r9191r9192
1554
1655/*----------- defined in video/senjyo.c -----------*/
1756
18extern UINT8 *senjyo_fgscroll;
19extern UINT8 *senjyo_scrollx1,*senjyo_scrolly1;
20extern UINT8 *senjyo_scrollx2,*senjyo_scrolly2;
21extern UINT8 *senjyo_scrollx3,*senjyo_scrolly3;
22extern UINT8 *senjyo_fgvideoram,*senjyo_fgcolorram;
23extern UINT8 *senjyo_bg1videoram,*senjyo_bg2videoram,*senjyo_bg3videoram;
24extern UINT8 *senjyo_radarram;
25extern UINT8 *senjyo_bgstripesram;
26extern int is_senjyo, senjyo_scrollhack;
27
2857WRITE8_HANDLER( senjyo_fgvideoram_w );
2958WRITE8_HANDLER( senjyo_fgcolorram_w );
3059WRITE8_HANDLER( senjyo_bg1videoram_w );
src/mame/includes/bzone.h
r9191r9192
1919
2020WRITE8_DEVICE_HANDLER( bzone_sounds_w );
2121
22MACHINE_DRIVER_EXTERN( bzone_audio );
22MACHINE_CONFIG_EXTERN( bzone_audio );
2323
2424/*----------- defined in audio/redbaron.c -----------*/
2525
src/mame/includes/sonson.h
r9191r9192
44
55*************************************************************************/
66
7class sonson_state : public driver_data_t
7class sonson_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sonson_state(machine)); }
10   sonson_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   sonson_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/sslam.h
r9191r9192
1class sslam_state : public driver_data_t
1class sslam_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sslam_state(machine)); }
4   sslam_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   sslam_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   emu_timer *music_timer;
108
119   int sound;
src/mame/includes/simpl156.h
r9191r9192
88#include "sound/okim6295.h"
99#include "video/deco16ic.h"
1010
11class simpl156_state : public driver_data_t
11class simpl156_state : public driver_device
1212{
1313public:
14   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, simpl156_state(machine)); }
14   simpl156_state(running_machine &machine, const driver_device_config_base &config)
15      : driver_device(machine, config),
16        maincpu(*this, "maincpu"),
17        deco16ic(*this, "deco_custom"),
18        eeprom(*this, "eeprom"),
19        okimusic(*this, "okimusic") { }
1520
16   simpl156_state(running_machine &machine)
17      : driver_data_t(machine),
18        maincpu(machine.device<cpu_device>("maincpu")),
19        deco16ic(machine.device<deco16ic_device>("deco_custom")),
20        eeprom(machine.device<eeprom_device>("eeprom")),
21        okimusic(machine.device<okim6295_device>("okimusic")) { }
22
2321   /* memory pointers */
2422   UINT16 *  pf1_rowscroll;
2523   UINT16 *  pf2_rowscroll;
r9191r9192
2725   UINT32 *  systemram;
2826
2927   /* devices */
30   cpu_device *maincpu;
31   deco16ic_device *deco16ic;
32   eeprom_device *eeprom;
33   okim6295_device *okimusic;
28   required_device<cpu_device> maincpu;
29   required_device<deco16ic_device> deco16ic;
30   required_device<eeprom_device> eeprom;
31   required_device<okim6295_device> okimusic;
3432};
3533
3634
src/mame/includes/deadang.h
r0r9192
1class deadang_state : public driver_device
2{
3public:
4   deadang_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
11/*----------- defined in video/deadang.c -----------*/
12
13extern UINT16 *deadang_video_data, *deadang_scroll_ram;
14
15WRITE16_HANDLER( deadang_foreground_w );
16WRITE16_HANDLER( deadang_text_w );
17WRITE16_HANDLER( deadang_bank_w );
18
19VIDEO_START( deadang );
20VIDEO_UPDATE( deadang );
src/mame/includes/hcastle.h
r9191r9192
44
55*************************************************************************/
66
7class hcastle_state : public driver_data_t
7class hcastle_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hcastle_state(machine)); }
10   hcastle_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   hcastle_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    pf1_videoram;
1715   UINT8 *    pf2_videoram;
src/mame/includes/copsnrob.h
r9191r9192
44
55*************************************************************************/
66
7class copsnrob_state : public driver_data_t
7class copsnrob_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, copsnrob_state(machine)); }
10   copsnrob_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   copsnrob_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *        videoram;
1715   UINT8 *        trucky;
src/mame/includes/hexion.h
r0r9192
1/*----------- defined in video/hexion.c -----------*/
2
3VIDEO_START( hexion );
4VIDEO_UPDATE( hexion );
5
6WRITE8_HANDLER( hexion_bankswitch_w );
7READ8_HANDLER( hexion_bankedram_r );
8WRITE8_HANDLER( hexion_bankedram_w );
9WRITE8_HANDLER( hexion_bankctrl_w );
10WRITE8_HANDLER( hexion_gfxrom_select_w );
src/mame/includes/battlnts.h
r9191r9192
44
55*************************************************************************/
66
7class battlnts_state : public driver_data_t
7class battlnts_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, battlnts_state(machine)); }
10   battlnts_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   battlnts_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT8 *      paletteram;    // this currently uses generic palette handling
1715
src/mame/includes/arabian.h
r9191r9192
66
77***************************************************************************/
88
9class arabian_state : public driver_data_t
9class arabian_state : public driver_device
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, arabian_state(machine)); }
12   arabian_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
1314
14   arabian_state(running_machine &machine)
15      : driver_data_t(machine) { }
16
1715   /* memory pointers */
1816   UINT8 *  blitter;
1917   UINT8 *  custom_cpu_ram;
src/mame/includes/labyrunr.h
r9191r9192
44
55*************************************************************************/
66
7class labyrunr_state : public driver_data_t
7class labyrunr_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, labyrunr_state(machine)); }
10   labyrunr_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   labyrunr_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram1;
1715   UINT8 *    videoram2;
src/mame/includes/taito_o.h
r9191r9192
44
55*************************************************************************/
66
7class taitoo_state : public driver_data_t
7class taitoo_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitoo_state(machine)); }
10   taitoo_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   taitoo_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT16 *    paletteram;    // currently this uses generic palette handling
1715
src/mame/includes/thief.h
r0r9192
1class thief_state : public driver_device
2{
3public:
4   thief_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/thief.c -----------*/
12
13READ8_HANDLER( thief_context_ram_r );
14WRITE8_HANDLER( thief_context_ram_w );
15WRITE8_HANDLER( thief_context_bank_w );
16WRITE8_HANDLER( thief_video_control_w );
17WRITE8_HANDLER( thief_color_map_w );
18WRITE8_HANDLER( thief_color_plane_w );
19READ8_HANDLER( thief_videoram_r );
20WRITE8_HANDLER( thief_videoram_w );
21WRITE8_HANDLER( thief_blit_w );
22READ8_HANDLER( thief_coprocessor_r );
23WRITE8_HANDLER( thief_coprocessor_w );
24
25VIDEO_START( thief );
26VIDEO_UPDATE( thief );
src/mame/includes/ccastles.h
r9191r9192
44
55*************************************************************************/
66
7class ccastles_state : public driver_data_t
7class ccastles_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ccastles_state(machine)); }
10   ccastles_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config),
12        nvram_stage(*this, "nvram") { }
1113
12   ccastles_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1514   /* memory pointers */
1615   UINT8 *  videoram;
1716   UINT8 *  spriteram;
18//  UINT8 *  nvram_stage;   // currently this uses generic nvram handlers
19//  UINT8 *  nvram;     // currently this uses generic nvram handlers
17   required_shared_ptr<UINT8> nvram_stage;
18   UINT8    nvram[0x100];
2019
2120   /* video-related */
2221   const UINT8 *syncprom;
src/mame/includes/ddragon3.h
r9191r9192
55*************************************************************************/
66
77
8class ddragon3_state : public driver_data_t
8class ddragon3_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ddragon3_state(machine)); }
11   ddragon3_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   ddragon3_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* memory pointers */
1715   UINT16 *        bg_videoram;
1816   UINT16 *        fg_videoram;
src/mame/includes/dragrace.h
r9191r9192
2222#define DRAGRACE_ATTRACT_EN     NODE_09
2323
2424
25class dragrace_state : public driver_data_t
25class dragrace_state : public driver_device
2626{
2727public:
28   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dragrace_state(machine)); }
28   dragrace_state(running_machine &machine, const driver_device_config_base &config)
29      : driver_device(machine, config) { }
2930
30   dragrace_state(running_machine &machine)
31      : driver_data_t(machine) { }
32
3331   /* memory pointers */
3432   UINT8 *  playfield_ram;
3533   UINT8 *  position_ram;
src/mame/includes/orbit.h
r9191r9192
1515#define ORBIT_WARNING_EN      NODE_06
1616#define ORBIT_NOISE_EN        NODE_07
1717
18class orbit_state : public driver_data_t
18class orbit_state : public driver_device
1919{
2020public:
21   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, orbit_state(machine)); }
21   orbit_state(running_machine &machine, const driver_device_config_base &config)
22      : driver_device(machine, config) { }
2223
23   orbit_state(running_machine &machine)
24      : driver_data_t(machine) { }
25
2624   /* memory pointers */
2725   UINT8 *    playfield_ram;
2826   UINT8 *    sprite_ram;
src/mame/includes/ambush.h
r9191r9192
44
55*************************************************************************/
66
7class ambush_state : public driver_data_t
7class ambush_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ambush_state(machine)); }
10   ambush_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ambush_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    spriteram;
src/mame/includes/coolpool.h
r9191r9192
1class coolpool_state : public driver_data_t
1class coolpool_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, coolpool_state(machine)); }
4   coolpool_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config),
6        m_nvram(*this, "nvram") { }
57
6   coolpool_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
98   UINT16 *vram_base;
9   required_shared_ptr<UINT16> m_nvram;
1010
1111   UINT8 cmd_pending;
1212   UINT16 iop_cmd;
src/mame/includes/sauro.h
r0r9192
1class sauro_state : public driver_device
2{
3public:
4   sauro_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   size_t spriteram_size;
8   UINT8 *spriteram;
9   UINT8 *videoram;
10   UINT8 *colorram;
11   UINT8 *videoram2;
12   UINT8 *colorram2;
13
14   tilemap_t *bg_tilemap, *fg_tilemap;
15   UINT8 palette_bank;
16};
17
18
19/*----------- defined in video/sauro.c -----------*/
20
21WRITE8_HANDLER( tecfri_videoram_w );
22WRITE8_HANDLER( tecfri_colorram_w );
23WRITE8_HANDLER( tecfri_videoram2_w );
24WRITE8_HANDLER( tecfri_colorram2_w );
25WRITE8_HANDLER( tecfri_scroll_bg_w );
26WRITE8_HANDLER( sauro_scroll_fg_w );
27WRITE8_HANDLER( sauro_palette_bank_w );
28
29VIDEO_START( sauro );
30VIDEO_START( trckydoc );
31
32VIDEO_UPDATE( sauro );
33VIDEO_UPDATE( trckydoc );
src/mame/includes/midtunit.h
r9191r9192
66
77#include "midyunit.h"
88
9class midtunit_state : public driver_device
10{
11public:
12   midtunit_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config),
14        m_nvram(*this, "nvram") { }
15
16   required_shared_ptr<UINT16>   m_nvram;
17};
18
919/*----------- defined in machine/midtunit.c -----------*/
1020
1121WRITE16_HANDLER( midtunit_cmos_enable_w );
src/mame/includes/drmicro.h
r9191r9192
55*************************************************************************/
66
77
8class drmicro_state : public driver_data_t
8class drmicro_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, drmicro_state(machine)); }
11   drmicro_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   drmicro_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* memory pointers */
1715   UINT8 *        videoram;
1816
src/mame/includes/speedatk.h
r0r9192
1class speedatk_state : public driver_device
2{
3public:
4   speedatk_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8   UINT8 *colorram;
9   tilemap_t *bg_tilemap;
10
11   UINT8 mux_data;
12   UINT8 km_status;
13   UINT8 coin_settings;
14   UINT8 coin_impulse;
15};
16
17
18/*----------- defined in video/speedatk.c -----------*/
19
20WRITE8_HANDLER( speedatk_videoram_w );
21WRITE8_HANDLER( speedatk_colorram_w );
22PALETTE_INIT( speedatk );
23VIDEO_START( speedatk );
24VIDEO_UPDATE( speedatk );
src/mame/includes/system1.h
r0r9192
1class system1_state : public driver_device
2{
3public:
4   system1_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/system1.c -----------*/
12
13VIDEO_START( system1 );
14VIDEO_START( system2 );
15
16WRITE8_HANDLER( system1_videomode_w );
17WRITE8_HANDLER( system1_paletteram_w );
18
19READ8_HANDLER( system1_videoram_r );
20WRITE8_HANDLER( system1_videoram_w );
21WRITE8_DEVICE_HANDLER( system1_videoram_bank_w );
22
23READ8_HANDLER( system1_mixer_collision_r );
24WRITE8_HANDLER( system1_mixer_collision_w );
25WRITE8_HANDLER( system1_mixer_collision_reset_w );
26
27READ8_HANDLER( system1_sprite_collision_r );
28WRITE8_HANDLER( system1_sprite_collision_w );
29WRITE8_HANDLER( system1_sprite_collision_reset_w );
30
31VIDEO_UPDATE( system1 );
32VIDEO_UPDATE( system2 );
33VIDEO_UPDATE( system2_rowscroll );
src/mame/includes/powerins.h
r0r9192
1/*----------- defined in video/powerins.c -----------*/
2
3extern UINT16 *powerins_vram_0, *powerins_vctrl_0;
4extern UINT16 *powerins_vram_1, *powerins_vctrl_1;
5
6WRITE16_HANDLER( powerins_flipscreen_w );
7WRITE16_HANDLER( powerins_tilebank_w );
8
9WRITE16_HANDLER( powerins_paletteram16_w );
10
11WRITE16_HANDLER( powerins_vram_0_w );
12WRITE16_HANDLER( powerins_vram_1_w );
13
14VIDEO_START( powerins );
15VIDEO_UPDATE( powerins );
src/mame/includes/exedexes.h
r9191r9192
55*************************************************************************/
66
77
8class exedexes_state : public driver_data_t
8class exedexes_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, exedexes_state(machine)); }
11   exedexes_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   exedexes_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* memory pointers */
1715   UINT8 *        videoram;
1816   UINT8 *        colorram;
src/mame/includes/jedi.h
r9191r9192
1414#define JEDI_TMS5220_CLOCK      (JEDI_AUDIO_CPU_OSC / 2 / 9) /* div by 9 is via a binary counter that counts from 7 to 16 */
1515
1616
17class jedi_state : public driver_data_t
17class jedi_state : public driver_device
1818{
1919public:
20   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jedi_state(machine)); }
20   jedi_state(running_machine &machine, const driver_device_config_base &config)
21      : driver_device(machine, config),
22        m_nvram(*this, "nvram") { }
2123
22   jedi_state(running_machine &machine)
23      : driver_data_t(machine) { }
24   required_shared_ptr<UINT8> m_nvram;
2425
2526   /* machine state */
2627   UINT8  a2d_select;
r9191r9192
4950
5051/*----------- defined in audio/jedi.c -----------*/
5152
52MACHINE_DRIVER_EXTERN( jedi_audio );
53MACHINE_CONFIG_EXTERN( jedi_audio );
5354
5455WRITE8_HANDLER( jedi_audio_reset_w );
5556WRITE8_HANDLER( jedi_audio_latch_w );
r9191r9192
5960
6061/*----------- defined in video/jedi.c -----------*/
6162
62MACHINE_DRIVER_EXTERN( jedi_video );
63MACHINE_CONFIG_EXTERN( jedi_video );
6364
6465WRITE8_HANDLER( jedi_vscroll_w );
6566WRITE8_HANDLER( jedi_hscroll_w );
src/mame/includes/seta2.h
r9191r9192
1class seta2_state : public driver_data_t
1class seta2_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, seta2_state(machine)); }
4   seta2_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config),
6        m_nvram(*this, "nvram") { }
57
6   seta2_state(running_machine &machine)
7      : driver_data_t(machine) { }
8   optional_shared_ptr<UINT16> m_nvram;
89
910   UINT16 *vregs;
1011   int yoffset;
src/mame/includes/flkatck.h
r9191r9192
44
55*************************************************************************/
66
7class flkatck_state : public driver_data_t
7class flkatck_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, flkatck_state(machine)); }
10   flkatck_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   flkatck_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    k007121_ram;
1715//  UINT8 *    paletteram;  // this currently uses generic palette handling
src/mame/includes/namcofl.h
r0r9192
1/*----------- defined in video/namcofl.c -----------*/
2
3VIDEO_START( namcofl );
4VIDEO_UPDATE( namcofl );
5
6WRITE32_HANDLER( namcofl_spritebank_w );
src/mame/includes/dynax.h
r9191r9192
66
77#include "sound/okim6295.h"
88
9class dynax_state : public driver_data_t
9class dynax_state : public driver_device
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dynax_state(machine)); }
12   dynax_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
1314
14   dynax_state(running_machine &machine)
15      : driver_data_t(machine) { }
16
1715   // up to 8 layers, 2 images per layer (interleaved on screen)
1816   UINT8 *  pixmap[8][2];
1917   UINT8 *  ddenlovr_pixmap[8];
src/mame/includes/shootout.h
r9191r9192
1class shootout_state : public driver_data_t
1class shootout_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, shootout_state(machine)); }
4   shootout_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   shootout_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   tilemap_t *background;
108   tilemap_t *foreground;
119   UINT8 *spriteram;
src/mame/includes/contra.h
r9191r9192
44
55*************************************************************************/
66
7class contra_state : public driver_data_t
7class contra_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, contra_state(machine)); }
10   contra_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   contra_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *        spriteram;
1715   UINT8 *        spriteram_2;
src/mame/includes/volfied.h
r9191r9192
44
55*************************************************************************/
66
7class volfied_state : public driver_data_t
7class volfied_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, volfied_state(machine)); }
10   volfied_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   volfied_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    video_ram;
1715   UINT8  *    cchip_ram;
src/mame/includes/paradise.h
r9191r9192
11
2class paradise_state : public driver_data_t
2class paradise_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, paradise_state(machine)); }
5   paradise_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   paradise_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *  vram_0;
1210   UINT8 *  vram_1;
src/mame/includes/dribling.h
r9191r9192
66
77
88
9class dribling_state : public driver_data_t
9class dribling_state : public driver_device
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dribling_state(machine)); }
12   dribling_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
1314
14   dribling_state(running_machine &machine)
15      : driver_data_t(machine) { }
16
1715   /* memory pointers */
1816   UINT8 *  videoram;
1917   UINT8 *  colorram;
src/mame/includes/balsente.h
r9191r9192
2626#define POLY17_ADD   0x18000
2727
2828
29class balsente_state : public driver_data_t
29class balsente_state : public driver_device
3030{
3131public:
32   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, balsente_state(machine)); }
32   balsente_state(running_machine &machine, const driver_device_config_base &config)
33      : driver_device(machine, config),
34        scanline_timer(*this, "scan_timer"),
35        counter_0_timer(*this, "8253_0_timer"),
36        m_cem1(*this, "cem1"),
37        m_cem2(*this, "cem2"),
38        m_cem3(*this, "cem3"),
39        m_cem4(*this, "cem4"),
40        m_cem5(*this, "cem5"),
41        m_cem6(*this, "cem6") { }
3342
34   balsente_state(running_machine &machine)
35      : driver_data_t(machine),
36        scanline_timer(machine.device<timer_device>("scan_timer")),
37        counter_0_timer(machine.device<timer_device>("8253_0_timer"))
38   {
39      astring temp;
40      for (int i = 0; i < ARRAY_LENGTH(cem_device); i++)
41      {
42         cem_device[i] = machine.device<cem3394_sound_device>(temp.format("cem%d", i+1));
43         assert(cem_device[i] != NULL);
44      }
45   }
46
4743   /* global data */
4844   UINT8 shooter;
4945   UINT8 shooter_x;
r9191r9192
6662      UINT8 writebyte;
6763   } counter[3];
6864
69   timer_device *scanline_timer;
65   required_device<timer_device> scanline_timer;
7066
7167   /* manually clocked counter 0 states */
7268   UINT8 counter_control;
7369   UINT8 counter_0_ff;
74   timer_device *counter_0_timer;
70   required_device<timer_device> counter_0_timer;
7571   UINT8 counter_0_timer_active;
7672
7773   /* random number generator states */
r9191r9192
10298
10399   /* noise generator states */
104100   UINT32 noise_position[6];
105   cem3394_sound_device *cem_device[6];
101   required_device<cem3394_device> m_cem1;
102   required_device<cem3394_device> m_cem2;
103   required_device<cem3394_device> m_cem3;
104   required_device<cem3394_device> m_cem4;
105   required_device<cem3394_device> m_cem5;
106   required_device<cem3394_device> m_cem6;
107   cem3394_device *cem_device[6];
106108
107109   /* game-specific states */
108110   UINT8 nstocker_bits;
src/mame/includes/megadriv.h
r9191r9192
1212
1313INPUT_PORTS_EXTERN( md_common );
1414INPUT_PORTS_EXTERN( megadriv );
15INPUT_PORTS_EXTERN( aladbl );
16INPUT_PORTS_EXTERN( ssgbl );
1715INPUT_PORTS_EXTERN( megadri6 );
18INPUT_PORTS_EXTERN( ssf2ghw );
19INPUT_PORTS_EXTERN( mk3ghw );
16INPUT_PORTS_EXTERN( ssf2mdb );
17INPUT_PORTS_EXTERN( mk3mdb );
2018INPUT_PORTS_EXTERN( megdsvp );
2119
2220MACHINE_CONFIG_EXTERN( megadriv_timers );
src/mame/includes/itech32.h
r9191r9192
55
66**************************************************************************/
77
8#include "machine/nvram.h"
9
810#define VIDEO_CLOCK      XTAL_8MHz         /* video (pixel) clock */
911#define CPU_CLOCK      XTAL_12MHz         /* clock for 68000-based systems */
1012#define CPU020_CLOCK   XTAL_25MHz         /* clock for 68EC020-based systems */
r9191r9192
1214#define TMS_CLOCK      XTAL_40MHz         /* TMS320C31 clocks on drivedge */
1315
1416
17class itech32_state : public driver_device
18{
19public:
20   itech32_state(running_machine &machine, const driver_device_config_base &config)
21      : driver_device(machine, config) { }
22
23   void nvram_init(nvram_device &nvram, void *base, size_t length);
24
25   UINT16 *videoram;
26};
27
28
1529/*----------- defined in drivers/itech32.c -----------*/
1630
1731void itech32_update_interrupts(running_machine *machine, int vint, int xint, int qint);
src/mame/includes/mexico86.h
r9191r9192
11
2class mexico86_state : public driver_data_t
2class mexico86_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mexico86_state(machine)); }
5   mexico86_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   mexico86_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *     protection_ram;
1210   UINT8 *     videoram;
src/mame/includes/chaknpop.h
r9191r9192
33#define MCU_INITIAL_SEED   0x81
44
55
6class chaknpop_state : public driver_data_t
6class chaknpop_state : public driver_device
77{
88public:
9   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, chaknpop_state(machine)); }
9   chaknpop_state(running_machine &machine, const driver_device_config_base &config)
10      : driver_device(machine, config) { }
1011
11   chaknpop_state(running_machine &machine)
12      : driver_data_t(machine) { }
13
1412   /* memory pointers */
1513   UINT8 *  mcu_ram;
1614   UINT8 *  tx_ram;
src/mame/includes/fitfight.h
r9191r9192
11
2class fitfight_state : public driver_data_t
2class fitfight_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fitfight_state(machine)); }
5   fitfight_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   fitfight_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT16 *  fof_100000;
1210   UINT16 *  fof_600000;
src/mame/includes/ashnojoe.h
r9191r9192
44
55*************************************************************************/
66
7class ashnojoe_state : public driver_data_t
7class ashnojoe_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ashnojoe_state(machine)); }
10   ashnojoe_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ashnojoe_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    tileram;
1715   UINT16 *    tileram_1;
src/mame/includes/terracre.h
r0r9192
1class terracre_state : public driver_device
2{
3public:
4   terracre_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
11/*----------- defined in video/terracre.c -----------*/
12
13extern UINT16 *amazon_videoram;
14
15PALETTE_INIT( amazon );
16WRITE16_HANDLER( amazon_background_w );
17WRITE16_HANDLER( amazon_foreground_w );
18WRITE16_HANDLER( amazon_scrolly_w );
19WRITE16_HANDLER( amazon_scrollx_w );
20WRITE16_HANDLER( amazon_flipscreen_w );
21VIDEO_START( amazon );
22VIDEO_UPDATE( amazon );
src/mame/includes/ddribble.h
r9191r9192
44
55***************************************************************************/
66
7class ddribble_state : public driver_data_t
7class ddribble_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ddribble_state(machine)); }
10   ddribble_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ddribble_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *     sharedram;
1715   UINT8 *     snd_sharedram;
src/mame/includes/mouser.h
r9191r9192
44
55*************************************************************************/
66
7class mouser_state : public driver_data_t
7class mouser_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mouser_state(machine)); }
10   mouser_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   mouser_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/undrfire.h
r0r9192
1/*----------- defined in video/undrfire.c -----------*/
2
3extern UINT16 undrfire_rotate_ctrl[8];
4
5VIDEO_START( undrfire );
6VIDEO_UPDATE( undrfire );
7VIDEO_UPDATE( cbombers );
src/mame/includes/malzak.h
r9191r9192
55*************************************************************************/
66
77
8class malzak_state : public driver_data_t
8class malzak_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, malzak_state(machine)); }
11   malzak_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   malzak_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* misc */
1715//  int playfield_x[256];
1816//  int playfield_y[256];
src/mame/includes/midzeus.h
r9191r9192
66
77#define MIDZEUS_VIDEO_CLOCK      XTAL_66_6667MHz
88
9class midzeus_state : public driver_device
10{
11public:
12   midzeus_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config),
14        m_nvram(*this, "nvram") { }
915
16   required_shared_ptr<UINT32>   m_nvram;
17};
18
19
1020/*----------- defined in video/midzeus.c -----------*/
1121
1222extern UINT32 *zeusbase;
src/mame/includes/grchamp.h
r9191r9192
66
77#include "sound/discrete.h"
88
9class grchamp_state : public driver_data_t
9class grchamp_state : public driver_device
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, grchamp_state(machine)); }
12   grchamp_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
1314
14   grchamp_state(running_machine &machine)
15      : driver_data_t(machine) { }
16
1715   UINT8      cpu0_out[16];
1816   UINT8      cpu1_out[16];
1917
src/mame/includes/lkage.h
r9191r9192
11
2class lkage_state : public driver_data_t
2class lkage_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lkage_state(machine)); }
5   lkage_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   lkage_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   UINT8 *      scroll;
119   UINT8 *      vreg;
1210   UINT8 *      videoram;
src/mame/includes/zaxxon.h
r9191r9192
44
55***************************************************************************/
66
7class zaxxon_state : public driver_data_t
7class zaxxon_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, zaxxon_state(machine)); }
10   zaxxon_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   zaxxon_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   UINT8 *colorram;
1614   UINT8 *videoram;
1715   UINT8 *spriteram;
r9191r9192
4846WRITE8_DEVICE_HANDLER( congo_sound_b_w );
4947WRITE8_DEVICE_HANDLER( congo_sound_c_w );
5048
51MACHINE_DRIVER_EXTERN( zaxxon_samples );
52MACHINE_DRIVER_EXTERN( congo_samples );
49MACHINE_CONFIG_EXTERN( zaxxon_samples );
50MACHINE_CONFIG_EXTERN( congo_samples );
5351
5452
5553/*----------- defined in video/zaxxon.c -----------*/
src/mame/includes/gaiden.h
r9191r9192
44
55***************************************************************************/
66
7class gaiden_state : public driver_data_t
7class gaiden_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gaiden_state(machine)); }
10   gaiden_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gaiden_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    videoram;
1715   UINT16 *    videoram2;
src/mame/includes/shangkid.h
r0r9192
1class shangkid_state : public driver_device
2{
3public:
4   shangkid_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/shangkid.c -----------*/
12
13extern UINT8 *shangkid_videoreg;
14extern int shangkid_gfx_type;
15
16VIDEO_START( shangkid );
17VIDEO_UPDATE( shangkid );
18WRITE8_HANDLER( shangkid_videoram_w );
19
20PALETTE_INIT( dynamski );
21VIDEO_UPDATE( dynamski );
22
src/mame/includes/trackfld.h
r9191r9192
88#include "sound/msm5205.h"
99
1010
11class trackfld_state : public driver_data_t
11class trackfld_state : public driver_device
1212{
1313public:
14   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, trackfld_state(machine)); }
14   trackfld_state(running_machine &machine, const driver_device_config_base &config)
15      : driver_device(machine, config) { }
1516
16   trackfld_state(running_machine &machine)
17      : driver_data_t(machine) { }
18
1917   /* memory pointers */
2018   UINT8 *  videoram;   // trackfld, hyperspt, yiear, sbasketb
2119   UINT8 *  colorram;   // trackfld, hyperspt, sbasketb
src/mame/includes/astrof.h
r9191r9192
44
55****************************************************************************/
66
7class astrof_state : public driver_data_t
7class astrof_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, astrof_state(machine)); }
10   astrof_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   astrof_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* video-related */
1614   UINT8 *    videoram;
1715   size_t     videoram_size;
r9191r9192
4139
4240/*----------- defined in audio/astrof.c -----------*/
4341
44MACHINE_DRIVER_EXTERN( astrof_audio );
42MACHINE_CONFIG_EXTERN( astrof_audio );
4543WRITE8_HANDLER( astrof_audio_1_w );
4644WRITE8_HANDLER( astrof_audio_2_w );
4745
48MACHINE_DRIVER_EXTERN( spfghmk2_audio );
46MACHINE_CONFIG_EXTERN( spfghmk2_audio );
4947WRITE8_HANDLER( spfghmk2_audio_w );
5048
51MACHINE_DRIVER_EXTERN( tomahawk_audio );
49MACHINE_CONFIG_EXTERN( tomahawk_audio );
5250WRITE8_HANDLER( tomahawk_audio_w );
src/mame/includes/karnov.h
r9191r9192
44
55*************************************************************************/
66
7class karnov_state : public driver_data_t
7class karnov_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, karnov_state(machine)); }
10   karnov_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   karnov_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    videoram;
1715   UINT16 *    ram;
src/mame/includes/lwings.h
r9191r9192
11
2class lwings_state : public driver_data_t
2class lwings_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lwings_state(machine)); }
5   lwings_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   lwings_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *  fgvideoram;
1210   UINT8 *  bg1videoram;
src/mame/includes/punchout.h
r0r9192
1/*----------- defined in video/punchout.c -----------*/
2
3extern UINT8 *punchout_bg_top_videoram;
4extern UINT8 *punchout_bg_bot_videoram;
5extern UINT8 *armwrest_fg_videoram;
6extern UINT8 *punchout_spr1_videoram;
7extern UINT8 *punchout_spr2_videoram;
8extern UINT8 *punchout_spr1_ctrlram;
9extern UINT8 *punchout_spr2_ctrlram;
10extern UINT8 *punchout_palettebank;
11
12WRITE8_HANDLER( punchout_bg_top_videoram_w );
13WRITE8_HANDLER( punchout_bg_bot_videoram_w );
14WRITE8_HANDLER( armwrest_fg_videoram_w );
15WRITE8_HANDLER( punchout_spr1_videoram_w );
16WRITE8_HANDLER( punchout_spr2_videoram_w );
17
18VIDEO_START( punchout );
19VIDEO_START( armwrest );
20VIDEO_UPDATE( punchout );
21VIDEO_UPDATE( armwrest );
22
23DRIVER_INIT( punchout );
24DRIVER_INIT( spnchout );
25DRIVER_INIT( spnchotj );
26DRIVER_INIT( armwrest );
src/mame/includes/tecmo.h
r0r9192
1/*----------- defined in video/tecmo.c -----------*/
2
3extern int tecmo_video_type;
4extern UINT8 *tecmo_txvideoram,*tecmo_fgvideoram,*tecmo_bgvideoram;
5
6WRITE8_HANDLER( tecmo_txvideoram_w );
7WRITE8_HANDLER( tecmo_fgvideoram_w );
8WRITE8_HANDLER( tecmo_bgvideoram_w );
9WRITE8_HANDLER( tecmo_fgscroll_w );
10WRITE8_HANDLER( tecmo_bgscroll_w );
11WRITE8_HANDLER( tecmo_flipscreen_w );
12
13VIDEO_START( tecmo );
14VIDEO_UPDATE( tecmo );
src/mame/includes/kopunch.h
r9191r9192
44
55*************************************************************************/
66
7class kopunch_state : public driver_data_t
7class kopunch_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kopunch_state(machine)); }
10   kopunch_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   kopunch_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    videoram2;
src/mame/includes/news.h
r9191r9192
11
2class news_state : public driver_data_t
2class news_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, news_state(machine)); }
5   news_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   news_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *  bgram;
1210   UINT8 *  fgram;
src/mame/includes/galpanic.h
r0r9192
1/*----------- defined in video/galpanic.c -----------*/
2
3extern UINT16 *galpanic_bgvideoram,*galpanic_fgvideoram;
4extern size_t galpanic_fgvideoram_size;
5
6PALETTE_INIT( galpanic );
7WRITE16_HANDLER( galpanic_bgvideoram_w );
8WRITE16_HANDLER( galpanic_paletteram_w );
9VIDEO_START( galpanic );
10VIDEO_UPDATE( galpanic );
11VIDEO_UPDATE( comad );
12
13
src/mame/includes/finalizr.h
r9191r9192
44
55***************************************************************************/
66
7class finalizr_state : public driver_data_t
7class finalizr_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, finalizr_state(machine)); }
10   finalizr_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   finalizr_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *       videoram;
1715   UINT8 *       colorram;
src/mame/includes/shuuz.h
r9191r9192
99class shuuz_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, shuuz_state(machine)); }
13
14   shuuz_state(running_machine &machine)
15      : atarigen_state(machine) { }
12   shuuz_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1614};
1715
1816
src/mame/includes/xorworld.h
r0r9192
1class xorworld_state : public driver_device
2{
3public:
4   xorworld_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
11/*----------- defined in video/xorworld.c -----------*/
12
13WRITE16_HANDLER( xorworld_videoram16_w );
14
15PALETTE_INIT( xorworld );
16VIDEO_START( xorworld );
17VIDEO_UPDATE( xorworld );
src/mame/includes/speedspn.h
r0r9192
1/*----------- defined in video/speedspn.c -----------*/
2
3extern UINT8 *speedspn_attram;
4
5VIDEO_START( speedspn );
6VIDEO_UPDATE( speedspn );
7
8WRITE8_HANDLER( speedspn_vidram_w );
9WRITE8_HANDLER( speedspn_attram_w );
10READ8_HANDLER( speedspn_vidram_r );
11WRITE8_HANDLER( speedspn_banked_vidram_change );
12WRITE8_HANDLER( speedspn_global_display_w );
13
src/mame/includes/cloak.h
r9191r9192
44
55*************************************************************************/
66
7class cloak_state : public driver_device
8{
9public:
10   cloak_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
12
13   UINT8 *videoram;
14};
15
16
717/*----------- defined in video/cloak.c -----------*/
818
919WRITE8_HANDLER( cloak_videoram_w );
src/mame/includes/foodf.h
r9191r9192
99class foodf_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, foodf_state(machine)); }
12   foodf_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config),
14        m_nvram(*this, "nvram") { }
1315
14   foodf_state(running_machine &machine)
15      : atarigen_state(machine) { }
16   required_shared_ptr<UINT16> m_nvram;
1617
1718   double         rweights[3];
1819   double         gweights[3];
src/mame/includes/namcona1.h
r9191r9192
1class namcona1_state : public driver_device
2{
3public:
4   namcona1_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
111/*----------- defined in video/namcona1.c -----------*/
212
313enum
src/mame/includes/armedf.h
r9191r9192
22
33
44
5class armedf_state : public driver_data_t
5class armedf_state : public driver_device
66{
77public:
8   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, armedf_state(machine)); }
8   armedf_state(running_machine &machine, const driver_device_config_base &config)
9      : driver_device(machine, config) { }
910
10   armedf_state(running_machine &machine)
11      : driver_data_t(machine) { }
12
1311   /* memory pointers */
1412   UINT16 *  text_videoram;
1513   UINT16 *  bg_videoram;
src/mame/includes/bsktball.h
r9191r9192
1313#define BSKTBALL_BOUNCE_EN      NODE_04
1414
1515
16class bsktball_state : public driver_data_t
16class bsktball_state : public driver_device
1717{
1818public:
19   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bsktball_state(machine)); }
19   bsktball_state(running_machine &machine, const driver_device_config_base &config)
20      : driver_device(machine, config) { }
2021
21   bsktball_state(running_machine &machine)
22      : driver_data_t(machine) { }
23
2422   /* memory pointers */
2523   UINT8 *  videoram;
2624   UINT8 *  motion;
src/mame/includes/dkong.h
r9191r9192
6969#define DK3_PALETTE_LENGTH      (256+256+8+1) /*  (256) */
7070#define RS_PALETTE_LENGTH      (256+256+8+1)
7171
72class dkong_state : public driver_data_t
72class dkong_state : public driver_device
7373{
7474public:
75   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dkong_state(machine)); }
75   dkong_state(running_machine &machine, const driver_device_config_base &config)
76      : driver_device(machine, config) { }
7677
77   dkong_state(running_machine &machine)
78      : driver_data_t(machine) { }
79
8078   /* memory pointers */
8179   UINT8 *           video_ram;
8280   UINT8 *           sprite_ram;
r9191r9192
212210
213211WRITE8_HANDLER( dkong_audio_irq_w );
214212
215MACHINE_DRIVER_EXTERN( radarscp_audio );
216MACHINE_DRIVER_EXTERN( dkong2b_audio );
217MACHINE_DRIVER_EXTERN( dkongjr_audio );
218MACHINE_DRIVER_EXTERN( dkong3_audio );
219MACHINE_DRIVER_EXTERN( radarscp1_audio );
213MACHINE_CONFIG_EXTERN( radarscp_audio );
214MACHINE_CONFIG_EXTERN( dkong2b_audio );
215MACHINE_CONFIG_EXTERN( dkongjr_audio );
216MACHINE_CONFIG_EXTERN( dkong3_audio );
217MACHINE_CONFIG_EXTERN( radarscp1_audio );
220218
src/mame/includes/sprint4.h
r0r9192
1class sprint4_state : public driver_device
2{
3public:
4   sprint4_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/sprint4.c -----------*/
12
13extern int sprint4_collision[4];
14
15PALETTE_INIT( sprint4 );
16
17VIDEO_EOF( sprint4 );
18VIDEO_START( sprint4 );
19VIDEO_UPDATE( sprint4 );
20
21WRITE8_HANDLER( sprint4_video_ram_w );
src/mame/includes/appoooh.h
r9191r9192
11
22
3class appoooh_state : public driver_data_t
3class appoooh_state : public driver_device
44{
55public:
6   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, appoooh_state(machine)); }
6   appoooh_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
78
8   appoooh_state(running_machine &machine)
9      : driver_data_t(machine) { }
10
119   /* memory pointers */
1210   UINT8 *  bg_videoram;
1311   UINT8 *  bg_colorram;
src/mame/includes/skyraid.h
r9191r9192
11#include "sound/discrete.h"
22
3class skyraid_state : public driver_device
4{
5public:
6   skyraid_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
38
9   int analog_range;
10   int analog_offset;
11
12   int scroll;
13
14   UINT8* alpha_num_ram;
15   UINT8* pos_ram;
16   UINT8* obj_ram;
17
18   bitmap_t *helper;
19};
20
21
422/*----------- defined in audio/skyraid.c -----------*/
523
624DISCRETE_SOUND_EXTERN( skyraid );
725
826extern WRITE8_DEVICE_HANDLER( skyraid_sound_w );
27
28
29/*----------- defined in video/skyraid.c -----------*/
30
31VIDEO_START(skyraid);
32VIDEO_UPDATE(skyraid);
src/mame/includes/aliens.h
r9191r9192
44
55*************************************************************************/
66
7class aliens_state : public driver_data_t
7class aliens_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, aliens_state(machine)); }
10   aliens_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   aliens_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    ram;
1715//  UINT8 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/metlclsh.h
r9191r9192
44
55*************************************************************************/
66
7class metlclsh_state : public driver_data_t
7class metlclsh_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, metlclsh_state(machine)); }
10   metlclsh_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   metlclsh_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *        bgram;
1715   UINT8 *        fgram;
src/mame/includes/88games.h
r9191r9192
44
55*************************************************************************/
66
7class _88games_state : public driver_data_t
7class _88games_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _88games_state(machine)); }
10   _88games_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   _88games_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *      ram;
1715   UINT8 *      banked_rom;
src/mame/includes/beezer.h
r9191r9192
1class beezer_state : public driver_device
2{
3public:
4   beezer_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
111/*----------- defined in machine/beezer.c -----------*/
212
313extern const via6522_interface b_via_0_interface;
src/mame/includes/dbz.h
r9191r9192
44
55*************************************************************************/
66
7class dbz_state : public driver_data_t
7class dbz_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dbz_state(machine)); }
10   dbz_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   dbz_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *      bg1_videoram;
1715   UINT16 *      bg2_videoram;
src/mame/includes/goldstar.h
r9191r9192
1class goldstar_state : public driver_data_t
1class goldstar_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, goldstar_state(machine)); }
4   goldstar_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   goldstar_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   int dataoffset;
108
11   UINT8 *nvram;
12   size_t nvram_size;
13
149   UINT8 *atrram;
1510   UINT8 *fg_atrram;
1611   UINT8 *fg_vidram;
src/mame/includes/gauntlet.h
r9191r9192
99class gauntlet_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gauntlet_state(machine)); }
12   gauntlet_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   gauntlet_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT16         sound_reset_val;
1816   UINT8         vindctr2_screen_refresh;
1917   UINT8         playfield_tile_bank;
src/mame/includes/darkseal.h
r0r9192
1/*----------- defined in video/darkseal.c -----------*/
2
3extern UINT16 *darkseal_pf12_row, *darkseal_pf34_row;
4extern UINT16 *darkseal_pf1_data,*darkseal_pf2_data,*darkseal_pf3_data;
5
6VIDEO_START( darkseal );
7VIDEO_UPDATE( darkseal );
8
9WRITE16_HANDLER( darkseal_pf1_data_w );
10WRITE16_HANDLER( darkseal_pf2_data_w );
11WRITE16_HANDLER( darkseal_pf3_data_w );
12WRITE16_HANDLER( darkseal_pf3b_data_w );
13WRITE16_HANDLER( darkseal_control_0_w );
14WRITE16_HANDLER( darkseal_control_1_w );
15WRITE16_HANDLER( darkseal_palette_24bit_rg_w );
16WRITE16_HANDLER( darkseal_palette_24bit_b_w );
src/mame/includes/20pacgal.h
r9191r9192
77***************************************************************************/
88
99
10class _20pacgal_state : public driver_data_t
10class _20pacgal_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _20pacgal_state(machine)); }
13   _20pacgal_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config) { }
1415
15   _20pacgal_state(running_machine &machine)
16      : driver_data_t(machine) { }
17
1816   /* memory pointers */
1917   UINT8 *char_gfx_ram;
2018   UINT8 *sprite_gfx_ram;
r9191r9192
4341
4442/*----------- defined in video/20pacgal.c -----------*/
4543
46MACHINE_DRIVER_EXTERN( 20pacgal_video );
44MACHINE_CONFIG_EXTERN( 20pacgal_video );
src/mame/includes/spbactn.h
r9191r9192
1class spbactn_state : public driver_data_t
1class spbactn_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, spbactn_state(machine)); }
4   spbactn_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   spbactn_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT16 *bgvideoram;
108   UINT16 *fgvideoram;
119   UINT16 *spvideoram;
src/mame/includes/seicross.h
r0r9192
1class seicross_state : public driver_device
2{
3public:
4   seicross_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *nvram;
8   size_t nvram_size;
9
10   UINT8 portb;
11
12   size_t spriteram_size;
13   size_t spriteram2_size;
14   UINT8 *spriteram;
15   UINT8 *spriteram2;
16   UINT8 *videoram;
17   UINT8 *colorram;
18   tilemap_t *bg_tilemap;
19   UINT8 *row_scroll;
20};
21
22
23/*----------- defined in video/seicross.c -----------*/
24
25extern UINT8 *seicross_videoram;
26extern UINT8 *seicross_colorram;
27extern UINT8 *seicross_row_scroll;
28
29WRITE8_HANDLER( seicross_videoram_w );
30WRITE8_HANDLER( seicross_colorram_w );
31
32PALETTE_INIT( seicross );
33VIDEO_START( seicross );
34VIDEO_UPDATE( seicross );
src/mame/includes/system16.h
r9191r9192
11
22// later, this might be merged with segas1x_state in segas16.h
33
4class segas1x_bootleg_state : public driver_data_t
4class segas1x_bootleg_state : public driver_device
55{
66public:
7   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, segas1x_bootleg_state(machine)); }
7   segas1x_bootleg_state(running_machine &machine, const driver_device_config_base &config)
8      : driver_device(machine, config) { }
89
9   segas1x_bootleg_state(running_machine &machine)
10      : driver_data_t(machine) { }
11
1210   UINT16 *    bg0_tileram;
1311   UINT16 *    bg1_tileram;
1412   UINT16 *    textram;
src/mame/includes/deniam.h
r9191r9192
55*************************************************************************/
66
77
8class deniam_state : public driver_data_t
8class deniam_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, deniam_state(machine)); }
11   deniam_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   deniam_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* memory pointers */
1715   UINT16 *       videoram;
1816   UINT16 *       textram;
src/mame/includes/redalert.h
r9191r9192
1414
1515WRITE8_HANDLER( demoneye_audio_command_w );
1616
17MACHINE_DRIVER_EXTERN( redalert_audio );
18MACHINE_DRIVER_EXTERN( ww3_audio );
19MACHINE_DRIVER_EXTERN( demoneye_audio );
17MACHINE_CONFIG_EXTERN( redalert_audio );
18MACHINE_CONFIG_EXTERN( ww3_audio );
19MACHINE_CONFIG_EXTERN( demoneye_audio );
2020
2121
2222/*----------- defined in video/redalert.c -----------*/
r9191r9192
2727extern UINT8 *redalert_video_control;
2828WRITE8_HANDLER( redalert_bitmap_videoram_w );
2929
30MACHINE_DRIVER_EXTERN( ww3_video );
31MACHINE_DRIVER_EXTERN( panther_video );
32MACHINE_DRIVER_EXTERN( redalert_video );
33MACHINE_DRIVER_EXTERN( demoneye_video );
30MACHINE_CONFIG_EXTERN( ww3_video );
31MACHINE_CONFIG_EXTERN( panther_video );
32MACHINE_CONFIG_EXTERN( redalert_video );
33MACHINE_CONFIG_EXTERN( demoneye_video );
src/mame/includes/stadhero.h
r0r9192
1/*----------- defined in video/stadhero.c -----------*/
2
3extern UINT16 *stadhero_pf1_data;
4extern UINT16 *stadhero_pf2_control_0;
5extern UINT16 *stadhero_pf2_control_1;
6
7VIDEO_START( stadhero );
8VIDEO_UPDATE( stadhero );
9
10WRITE16_HANDLER( stadhero_pf1_data_w );
11READ16_HANDLER( stadhero_pf2_data_r );
12WRITE16_HANDLER( stadhero_pf2_data_w );
src/mame/includes/simpsons.h
r9191r9192
11
2class simpsons_state : public driver_data_t
2class simpsons_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, simpsons_state(machine)); }
5   simpsons_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   simpsons_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *    ram;
1210   UINT8 *    xtraram;
src/mame/includes/prehisle.h
r9191r9192
1class prehisle_state : public driver_data_t
1class prehisle_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, prehisle_state(machine)); }
4   prehisle_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   prehisle_state(running_machine &machine)
7      : driver_data_t(machine) { }
87
9
108   UINT16 *spriteram;
119   UINT16 *videoram;
1210   UINT16 *bg_videoram16;
src/mame/includes/wwfsstar.h
r9191r9192
1class wwfsstar_state : public driver_data_t
1class wwfsstar_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, wwfsstar_state(machine)); }
4   wwfsstar_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   wwfsstar_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   int vblank;
108   int scrollx;
119   int scrolly;
src/mame/includes/actfancr.h
r9191r9192
44
55*************************************************************************/
66
7class actfancr_state : public driver_data_t
7class actfancr_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, actfancr_state(machine)); }
10   actfancr_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   actfancr_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *        pf1_data;
1715   UINT8 *        pf2_data;
src/mame/includes/taito_b.h
r9191r9192
11
2class taitob_state : public driver_data_t
2class taitob_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitob_state(machine)); }
5   taitob_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   taitob_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT16 *      spriteram;
1210   UINT16 *      pixelram;
src/mame/includes/jackal.h
r9191r9192
44
55
66
7class jackal_state : public driver_data_t
7class jackal_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jackal_state(machine)); }
10   jackal_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   jackal_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *  videoctrl;
1715   UINT8 *  scrollram;
src/mame/includes/mw8080bw.h
r9191r9192
3030#define MW8080BW_HPIXCOUNT                (MW8080BW_HBSTART + 4)
3131
3232
33class mw8080bw_state : public driver_data_t
33class mw8080bw_state : public driver_device
3434{
3535public:
36   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mw8080bw_state(machine)); }
36   mw8080bw_state(running_machine &machine, const driver_device_config_base &config)
37      : driver_device(machine, config) { }
3738
38   mw8080bw_state(running_machine &machine)
39      : driver_data_t(machine) { }
40
4139   /* memory pointers */
4240   UINT8 *     main_ram;
4341   UINT8 *     colorram;
r9191r9192
9896
9997/*----------- defined in drivers/mw8080bw.c -----------*/
10098
101MACHINE_DRIVER_EXTERN( mw8080bw_root );
102MACHINE_DRIVER_EXTERN( invaders );
99MACHINE_CONFIG_EXTERN( mw8080bw_root );
100MACHINE_CONFIG_EXTERN( invaders );
103101extern const char layout_invaders[];
104102
105103#define SEAWOLF_GUN_PORT_TAG         ("GUN")
r9191r9192
159157WRITE8_DEVICE_HANDLER( midway_tone_generator_lo_w );
160158WRITE8_DEVICE_HANDLER( midway_tone_generator_hi_w );
161159
162MACHINE_DRIVER_EXTERN( seawolf_audio );
160MACHINE_CONFIG_EXTERN( seawolf_audio );
163161WRITE8_HANDLER( seawolf_audio_w );
164162
165MACHINE_DRIVER_EXTERN( gunfight_audio );
163MACHINE_CONFIG_EXTERN( gunfight_audio );
166164WRITE8_HANDLER( gunfight_audio_w );
167165
168MACHINE_DRIVER_EXTERN( tornbase_audio );
166MACHINE_CONFIG_EXTERN( tornbase_audio );
169167WRITE8_DEVICE_HANDLER( tornbase_audio_w );
170168
171MACHINE_DRIVER_EXTERN( zzzap_audio );
169MACHINE_CONFIG_EXTERN( zzzap_audio );
172170WRITE8_HANDLER( zzzap_audio_1_w );
173171WRITE8_HANDLER( zzzap_audio_2_w );
174172
175MACHINE_DRIVER_EXTERN( maze_audio );
173MACHINE_CONFIG_EXTERN( maze_audio );
176174void maze_write_discrete(running_device *device, UINT8 maze_tone_timing_state);
177175
178MACHINE_DRIVER_EXTERN( boothill_audio );
176MACHINE_CONFIG_EXTERN( boothill_audio );
179177WRITE8_DEVICE_HANDLER( boothill_audio_w );
180178
181MACHINE_DRIVER_EXTERN( checkmat_audio );
179MACHINE_CONFIG_EXTERN( checkmat_audio );
182180WRITE8_DEVICE_HANDLER( checkmat_audio_w );
183181
184MACHINE_DRIVER_EXTERN( desertgu_audio );
182MACHINE_CONFIG_EXTERN( desertgu_audio );
185183WRITE8_DEVICE_HANDLER( desertgu_audio_1_w );
186184WRITE8_DEVICE_HANDLER( desertgu_audio_2_w );
187185
188MACHINE_DRIVER_EXTERN( dplay_audio );
186MACHINE_CONFIG_EXTERN( dplay_audio );
189187WRITE8_DEVICE_HANDLER( dplay_audio_w );
190188
191MACHINE_DRIVER_EXTERN( gmissile_audio );
189MACHINE_CONFIG_EXTERN( gmissile_audio );
192190WRITE8_HANDLER( gmissile_audio_1_w );
193191WRITE8_HANDLER( gmissile_audio_2_w );
194192WRITE8_HANDLER( gmissile_audio_3_w );
195193
196MACHINE_DRIVER_EXTERN( m4_audio );
194MACHINE_CONFIG_EXTERN( m4_audio );
197195WRITE8_HANDLER( m4_audio_1_w );
198196WRITE8_HANDLER( m4_audio_2_w );
199197
200MACHINE_DRIVER_EXTERN( clowns_audio );
198MACHINE_CONFIG_EXTERN( clowns_audio );
201199WRITE8_HANDLER( clowns_audio_1_w );
202200WRITE8_DEVICE_HANDLER( clowns_audio_2_w );
203201
204MACHINE_DRIVER_EXTERN( spacwalk_audio );
202MACHINE_CONFIG_EXTERN( spacwalk_audio );
205203WRITE8_DEVICE_HANDLER( spacwalk_audio_1_w );
206204WRITE8_DEVICE_HANDLER( spacwalk_audio_2_w );
207205
208MACHINE_DRIVER_EXTERN( shuffle_audio );
206MACHINE_CONFIG_EXTERN( shuffle_audio );
209207WRITE8_DEVICE_HANDLER( shuffle_audio_1_w );
210208WRITE8_DEVICE_HANDLER( shuffle_audio_2_w );
211209
212MACHINE_DRIVER_EXTERN( dogpatch_audio );
210MACHINE_CONFIG_EXTERN( dogpatch_audio );
213211WRITE8_HANDLER( dogpatch_audio_w );
214212
215MACHINE_DRIVER_EXTERN( spcenctr_audio );
213MACHINE_CONFIG_EXTERN( spcenctr_audio );
216214WRITE8_DEVICE_HANDLER( spcenctr_audio_1_w );
217215WRITE8_DEVICE_HANDLER( spcenctr_audio_2_w );
218216WRITE8_DEVICE_HANDLER( spcenctr_audio_3_w );
219217
220MACHINE_DRIVER_EXTERN( phantom2_audio );
218MACHINE_CONFIG_EXTERN( phantom2_audio );
221219WRITE8_HANDLER( phantom2_audio_1_w );
222220WRITE8_HANDLER( phantom2_audio_2_w );
223221
224MACHINE_DRIVER_EXTERN( bowler_audio );
222MACHINE_CONFIG_EXTERN( bowler_audio );
225223WRITE8_DEVICE_HANDLER( bowler_audio_1_w );
226224WRITE8_HANDLER( bowler_audio_2_w );
227225WRITE8_HANDLER( bowler_audio_3_w );
r9191r9192
229227WRITE8_HANDLER( bowler_audio_5_w );
230228WRITE8_HANDLER( bowler_audio_6_w );
231229
232MACHINE_DRIVER_EXTERN( invaders_samples_audio );
233MACHINE_DRIVER_EXTERN( invaders_audio );
230MACHINE_CONFIG_EXTERN( invaders_samples_audio );
231MACHINE_CONFIG_EXTERN( invaders_audio );
234232WRITE8_DEVICE_HANDLER( invaders_audio_1_w );
235233WRITE8_DEVICE_HANDLER( invaders_audio_2_w );
236234
237MACHINE_DRIVER_EXTERN( blueshrk_audio );
235MACHINE_CONFIG_EXTERN( blueshrk_audio );
238236WRITE8_DEVICE_HANDLER( blueshrk_audio_w );
239237
240MACHINE_DRIVER_EXTERN( invad2ct_audio );
238MACHINE_CONFIG_EXTERN( invad2ct_audio );
241239WRITE8_DEVICE_HANDLER( invad2ct_audio_1_w );
242240WRITE8_DEVICE_HANDLER( invad2ct_audio_2_w );
243241WRITE8_DEVICE_HANDLER( invad2ct_audio_3_w );
src/mame/includes/namcos86.h
r0r9192
1/*----------- defined in video/namcos86.c -----------*/
2
3extern UINT8 *rthunder_videoram1, *rthunder_videoram2, *rthunder_spriteram;
4
5PALETTE_INIT( namcos86 );
6VIDEO_START( namcos86 );
7VIDEO_UPDATE( namcos86 );
8VIDEO_EOF( namcos86 );
9
10READ8_HANDLER( rthunder_videoram1_r );
11WRITE8_HANDLER( rthunder_videoram1_w );
12READ8_HANDLER( rthunder_videoram2_r );
13WRITE8_HANDLER( rthunder_videoram2_w );
14WRITE8_HANDLER( rthunder_scroll0_w );
15WRITE8_HANDLER( rthunder_scroll1_w );
16WRITE8_HANDLER( rthunder_scroll2_w );
17WRITE8_HANDLER( rthunder_scroll3_w );
18WRITE8_HANDLER( rthunder_backcolor_w );
19WRITE8_HANDLER( rthunder_tilebank_select_w );
20READ8_HANDLER( rthunder_spriteram_r );
21WRITE8_HANDLER( rthunder_spriteram_w );
src/mame/includes/suna8.h
r9191r9192
11#include "sound/samples.h"
22
3#define TILEMAPS 0
4
5class suna8_state : public driver_device
6{
7public:
8   suna8_state(running_machine &machine, const driver_device_config_base &config)
9      : driver_device(machine, config) { }
10
11   UINT8 rombank;
12   UINT8 spritebank;
13   UINT8 palettebank;
14   UINT8 unknown;
15
16   UINT8 protection_val;
17   UINT8 nmi_enable;
18   UINT8 spritebank_latch;
19   UINT8 trash_prot;
20
21   UINT8 *hardhead_ip;
22   UINT8 *wram;
23   UINT8 *spriteram;
24
25   int text_dim; /* specifies format of text layer */
26
27#if TILEMAPS
28   tilemap_t *bg_tilemap;
29   int tiles;
30   int trombank;
31   int page;
32#endif
33
34};
35
36
337/*----------- defined in audio/suna8.c -----------*/
438
539WRITE8_DEVICE_HANDLER( suna8_play_samples_w );
r9191r9192
1044
1145/*----------- defined in video/suna8.c -----------*/
1246
13extern UINT8 suna8_rombank, suna8_spritebank, suna8_palettebank;
14extern UINT8 suna8_unknown;
15
1647WRITE8_HANDLER( suna8_spriteram_w );         // for debug
1748WRITE8_HANDLER( suna8_banked_spriteram_w );   // for debug
1849
src/mame/includes/vaportra.h
r9191r9192
44
55*************************************************************************/
66
7class vaportra_state : public driver_data_t
7class vaportra_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, vaportra_state(machine)); }
10   vaportra_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   vaportra_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *  pf1_rowscroll;
1715   UINT16 *  pf2_rowscroll;
src/mame/includes/qdrmfgp.h
r0r9192
1class qdrmfgp_state : public driver_device
2{
3public:
4   qdrmfgp_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config),
6        m_nvram(*this, "nvram") { }
7
8   required_shared_ptr<UINT8>   m_nvram;
9};
10
11/*----------- defined in drivers/qdrmfgp.c -----------*/
12
13int qdrmfgp_get_palette(void);
14
15
16/*----------- defined in video/qdrmfgp.c -----------*/
17
18VIDEO_START( qdrmfgp );
19VIDEO_START( qdrmfgp2 );
20VIDEO_UPDATE( qdrmfgp );
21
22void qdrmfgp_tile_callback(running_machine *machine, int layer, int *code, int *color, int *flags);
23void qdrmfgp2_tile_callback(running_machine *machine, int layer, int *code, int *color, int *flags);
src/mame/includes/btime.h
r9191r9192
11
2class btime_state : public driver_data_t
2class btime_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, btime_state(machine)); }
5   btime_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   btime_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *  videoram;
1210   UINT8 *  colorram;
src/mame/includes/starcrus.h
r0r9192
1class starcrus_state : public driver_device
2{
3public:
4   starcrus_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   bitmap_t *ship1_vid;
8   bitmap_t *ship2_vid;
9   bitmap_t *proj1_vid;
10   bitmap_t *proj2_vid;
11
12   int s1_x;
13   int s1_y;
14   int s2_x;
15   int s2_y;
16   int p1_x;
17   int p1_y;
18   int p2_x;
19   int p2_y;
20
21   int p1_sprite;
22   int p2_sprite;
23   int s1_sprite;
24   int s2_sprite;
25
26   int engine1_on;
27   int engine2_on;
28   int explode1_on;
29   int explode2_on;
30   int launch1_on;
31   int launch2_on;
32
33   int collision_reg;
34
35   int engine_sound_playing;
36   int explode_sound_playing;
37   int launch1_sound_playing;
38   int launch2_sound_playing;
39};
40
41
42/*----------- defined in video/starcrus.c -----------*/
43
44WRITE8_HANDLER( starcrus_s1_x_w );
45WRITE8_HANDLER( starcrus_s1_y_w );
46WRITE8_HANDLER( starcrus_s2_x_w );
47WRITE8_HANDLER( starcrus_s2_y_w );
48WRITE8_HANDLER( starcrus_p1_x_w );
49WRITE8_HANDLER( starcrus_p1_y_w );
50WRITE8_HANDLER( starcrus_p2_x_w );
51WRITE8_HANDLER( starcrus_p2_y_w );
52WRITE8_HANDLER( starcrus_ship_parm_1_w );
53WRITE8_HANDLER( starcrus_ship_parm_2_w );
54WRITE8_HANDLER( starcrus_proj_parm_1_w );
55WRITE8_HANDLER( starcrus_proj_parm_2_w );
56READ8_HANDLER( starcrus_coll_det_r );
57VIDEO_START( starcrus );
58VIDEO_UPDATE( starcrus );
src/mame/includes/yunsun16.h
r9191r9192
44
55*************************************************************************/
66
7class yunsun16_state : public driver_data_t
7class yunsun16_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, yunsun16_state(machine)); }
10   yunsun16_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   yunsun16_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    vram_0;
1715   UINT16 *    vram_1;
src/mame/includes/wiz.h
r0r9192
1class wiz_state : public driver_device
2{
3public:
4   wiz_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/wiz.c -----------*/
12
13extern UINT8 *wiz_videoram2;
14extern UINT8 *wiz_colorram2;
15extern UINT8 *wiz_attributesram;
16extern UINT8 *wiz_attributesram2;
17extern UINT8 *wiz_sprite_bank;
18
19WRITE8_HANDLER( wiz_char_bank_select_w );
20WRITE8_HANDLER( wiz_palettebank_w );
21WRITE8_HANDLER( wiz_bgcolor_w );
22WRITE8_HANDLER( wiz_flipx_w );
23WRITE8_HANDLER( wiz_flipy_w );
24
25VIDEO_START( wiz );
26PALETTE_INIT( wiz );
27VIDEO_UPDATE( wiz );
28VIDEO_UPDATE( stinger );
29VIDEO_UPDATE( kungfut );
src/mame/includes/stactics.h
r9191r9192
77****************************************************************************/
88
99
10class stactics_state : public driver_data_t
10class stactics_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, stactics_state(machine)); }
13   stactics_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config) { }
1415
15   stactics_state(running_machine &machine)
16      : driver_data_t(machine) { }
17
1816   /* machine state */
1917   int    vert_pos;
2018   int    horiz_pos;
r9191r9192
4341
4442/*----------- defined in video/stactics.c -----------*/
4543
46MACHINE_DRIVER_EXTERN( stactics_video );
44MACHINE_CONFIG_EXTERN( stactics_video );
4745
4846WRITE8_HANDLER( stactics_scroll_ram_w );
4947WRITE8_HANDLER( stactics_speed_latch_w );
src/mame/includes/mermaid.h
r9191r9192
44
55*************************************************************************/
66
7class mermaid_state : public driver_data_t
7class mermaid_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mermaid_state(machine)); }
10   mermaid_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   mermaid_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/avalnche.h
r9191r9192
77#include "sound/discrete.h"
88
99
10class avalnche_state : public driver_data_t
10class avalnche_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, avalnche_state(machine)); }
13   avalnche_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config) { }
1415
15   avalnche_state(running_machine &machine)
16      : driver_data_t(machine) { }
17
1816   /* video-related */
1917   UINT8 *  videoram;
2018   size_t   videoram_size;
src/mame/includes/dcon.h
r0r9192
1/*----------- defined in video/dcon.c -----------*/
2
3extern UINT16 *dcon_back_data,*dcon_fore_data,*dcon_mid_data,*dcon_scroll_ram,*dcon_textram;
4
5WRITE16_HANDLER( dcon_gfxbank_w );
6WRITE16_HANDLER( dcon_background_w );
7WRITE16_HANDLER( dcon_foreground_w );
8WRITE16_HANDLER( dcon_midground_w );
9WRITE16_HANDLER( dcon_text_w );
10WRITE16_HANDLER( dcon_control_w );
11READ16_HANDLER( dcon_control_r );
12
13VIDEO_START( dcon );
14VIDEO_UPDATE( dcon );
15VIDEO_UPDATE( sdgndmps );
src/mame/includes/kickgoal.h
r9191r9192
77#include "sound/okim6295.h"
88#include "machine/eeprom.h"
99
10class kickgoal_state : public driver_data_t
10class kickgoal_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kickgoal_state(machine)); }
13   kickgoal_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config),
15        adpcm(*this, "oki"),
16        eeprom(*this, "eeprom") { }
1417
15   kickgoal_state(running_machine &machine)
16      : driver_data_t(machine),
17        adpcm(machine.device<okim6295_device>("oki")),
18        eeprom(machine.device<eeprom_device>("eeprom")) { }
19
2018   /* memory pointers */
2119   UINT16 *    fgram;
2220   UINT16 *    bgram;
r9191r9192
3634   UINT16      m6295_key_delay;
3735
3836   /* devices */
39   okim6295_device *adpcm;
40   eeprom_device *eeprom;
37   required_device<okim6295_device> adpcm;
38   required_device<eeprom_device> eeprom;
4139};
4240
4341
src/mame/includes/galaxian.h
r9191r9192
2828
2929#define GAL_AUDIO   "discrete"
3030
31class galaxian_state : public driver_device
32{
33public:
34   galaxian_state(running_machine &machine, const driver_device_config_base &config)
35      : driver_device(machine, config) { }
36
37   UINT8 *videoram;
38};
39
40
3141/*----------- defined in video/galaxian.c -----------*/
3242
3343extern UINT8 galaxian_frogger_adjust;
r9191r9192
128138
129139/*----------- defined in audio/galaxian.c -----------*/
130140
131MACHINE_DRIVER_EXTERN( mooncrst_audio );
132MACHINE_DRIVER_EXTERN( galaxian_audio );
141MACHINE_CONFIG_EXTERN( mooncrst_audio );
142MACHINE_CONFIG_EXTERN( galaxian_audio );
133143
134144WRITE8_DEVICE_HANDLER( galaxian_sound_w );
135145WRITE8_DEVICE_HANDLER( galaxian_pitch_w );
src/mame/includes/othldrby.h
r9191r9192
66
77#define OTHLDRBY_VREG_SIZE   18
88
9class othldrby_state : public driver_data_t
9class othldrby_state : public driver_device
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, othldrby_state(machine)); }
12   othldrby_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
1314
14   othldrby_state(running_machine &machine)
15      : driver_data_t(machine) { }
16
1715   /* memory pointers */
1816   UINT16 *     vram;
1917   UINT16 *     buf_spriteram;
src/mame/includes/bbusters.h
r9191r9192
1class bbusters_state : public driver_data_t
1class bbusters_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bbusters_state(machine)); }
4   bbusters_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config),
6        eprom_data(*this, "eeprom") { }
57
6   bbusters_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
98   UINT16 *videoram;
109   UINT16 *ram;
11   UINT16 *eprom_data;
10   optional_shared_ptr<UINT16> eprom_data;
1211   int sound_status;
1312   int gun_select;
1413
src/mame/includes/snk.h
r9191r9192
44
55*************************************************************************/
66
7class snk_state : public driver_data_t
7class snk_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, snk_state(machine)); }
10   snk_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   snk_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   int countryc_trackball;
1614   int last_value[2];
1715   int cp_count[2];
src/mame/includes/hyprduel.h
r9191r9192
22#define FIRST_VISIBLE_LINE 0
33#define LAST_VISIBLE_LINE 223
44
5class hyprduel_state : public driver_data_t
5class hyprduel_state : public driver_device
66{
77public:
8   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hyprduel_state(machine)); }
8   hyprduel_state(running_machine &machine, const driver_device_config_base &config)
9      : driver_device(machine, config) { }
910
10   hyprduel_state(running_machine &machine)
11      : driver_data_t(machine) { }
12
1311   /* memory pointers */
1412   UINT16 *  videoregs;
1513   UINT16 *  screenctrl;
src/mame/includes/flstory.h
r9191r9192
11
2class flstory_state : public driver_data_t
2class flstory_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, flstory_state(machine)); }
5   flstory_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   flstory_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *  videoram;
1210   UINT8 *  workram;
src/mame/includes/suprslam.h
r9191r9192
44
55*************************************************************************/
66
7class suprslam_state : public driver_data_t
7class suprslam_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, suprslam_state(machine)); }
10   suprslam_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   suprslam_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    screen_videoram;
1715   UINT16 *    bg_videoram;
src/mame/includes/calomega.h
r0r9192
1/*----------- defined in video/calomega.c -----------*/
2
3extern UINT8 *calomega_videoram;
4extern UINT8 *calomega_colorram;
5WRITE8_HANDLER( calomega_videoram_w );
6WRITE8_HANDLER( calomega_colorram_w );
7PALETTE_INIT( calomega );
8VIDEO_START( calomega );
9VIDEO_UPDATE( calomega );
src/mame/includes/strnskil.h
r0r9192
1class strnskil_state : public driver_device
2{
3public:
4   strnskil_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/strnskil.c -----------*/
12
13extern UINT8 *strnskil_xscroll;
14
15WRITE8_HANDLER( strnskil_videoram_w );
16WRITE8_HANDLER( strnskil_scrl_ctrl_w );
17
18PALETTE_INIT( strnskil );
19VIDEO_START( strnskil );
20VIDEO_UPDATE( strnskil );
src/mame/includes/atetris.h
r9191r9192
44
55*************************************************************************/
66
7class atetris_state : public driver_device
8{
9public:
10   atetris_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config),
12        m_nvram(*this, "nvram") { }
13
14   required_shared_ptr<UINT8>   m_nvram;
15   UINT8 *videoram;
16};
17
718/*----------- defined in video/atetris.c -----------*/
819
920VIDEO_START( atetris );
src/mame/includes/cosmic.h
r9191r9192
88#define Z80_MASTER_CLOCK         XTAL_10_816MHz
99
1010
11class cosmic_state : public driver_data_t
11class cosmic_state : public driver_device
1212{
1313public:
14   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cosmic_state(machine)); }
14   cosmic_state(running_machine &machine, const driver_device_config_base &config)
15      : driver_device(machine, config) { }
1516
16   cosmic_state(running_machine &machine)
17      : driver_data_t(machine) { }
18
1917   /* memory pointers */
2018   UINT8 *        videoram;
2119   UINT8 *        spriteram;
src/mame/includes/shaolins.h
r0r9192
1class shaolins_state : public driver_device
2{
3public:
4   shaolins_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   size_t spriteram_size;
8   UINT8 *spriteram;
9   UINT8 *videoram;
10   UINT8 *colorram;
11   int palettebank;
12
13   tilemap_t *bg_tilemap;
14   UINT8 nmi_enable;
15};
16
17
18/*----------- defined in video/sauro.c -----------*/
19
20WRITE8_HANDLER( shaolins_videoram_w );
21WRITE8_HANDLER( shaolins_colorram_w );
22WRITE8_HANDLER( shaolins_palettebank_w );
23WRITE8_HANDLER( shaolins_scroll_w );
24WRITE8_HANDLER( shaolins_nmi_w );
25
26PALETTE_INIT( shaolins );
27VIDEO_START( shaolins );
28VIDEO_UPDATE( shaolins );
src/mame/includes/sshangha.h
r0r9192
1/*----------- defined in video/sshangha.c -----------*/
2
3extern UINT16 *sshangha_pf1_data;
4extern UINT16 *sshangha_pf2_data;
5extern UINT16 *sshangha_pf1_rowscroll, *sshangha_pf2_rowscroll;
6
7VIDEO_START( sshangha );
8VIDEO_UPDATE( sshangha );
9
10WRITE16_HANDLER( sshangha_pf2_data_w );
11WRITE16_HANDLER( sshangha_pf1_data_w );
12WRITE16_HANDLER( sshangha_control_0_w );
13WRITE16_HANDLER( sshangha_video_w );
src/mame/includes/kyugo.h
r9191r9192
44
55***************************************************************************/
66
7class kyugo_state : public driver_data_t
7class kyugo_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kyugo_state(machine)); }
10   kyugo_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   kyugo_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *     fgvideoram;
1715   UINT8 *     bgvideoram;
src/mame/includes/leland.h
r9191r9192
141141READ8_HANDLER( ataxx_mvram_port_r );
142142READ8_HANDLER( ataxx_svram_port_r );
143143
144MACHINE_DRIVER_EXTERN( leland_video );
145MACHINE_DRIVER_EXTERN( ataxx_video );
144MACHINE_CONFIG_EXTERN( leland_video );
145MACHINE_CONFIG_EXTERN( ataxx_video );
src/mame/includes/popeye.h
r0r9192
1/*----------- defined in video/popeye.c -----------*/
2
3extern UINT8 *popeye_videoram;
4extern UINT8 *popeye_colorram;
5extern UINT8 *popeye_background_pos;
6extern UINT8 *popeye_palettebank;
7
8WRITE8_HANDLER( popeye_videoram_w );
9WRITE8_HANDLER( popeye_colorram_w );
10WRITE8_HANDLER( popeye_bitmap_w );
11WRITE8_HANDLER( skyskipr_bitmap_w );
12
13PALETTE_INIT( popeye );
14PALETTE_INIT( popeyebl );
15VIDEO_START( skyskipr );
16VIDEO_START( popeye );
17VIDEO_UPDATE( popeye );
src/mame/includes/lazercmd.h
r9191r9192
1717#define MARKER_HORZ_ADJ -1
1818#define MARKER_VERT_ADJ -10
1919
20class lazercmd_state : public driver_data_t
20class lazercmd_state : public driver_device
2121{
2222public:
23   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lazercmd_state(machine)); }
23   lazercmd_state(running_machine &machine, const driver_device_config_base &config)
24      : driver_device(machine, config) { }
2425
25   lazercmd_state(running_machine &machine)
26      : driver_data_t(machine) { }
27
2826   /* memory pointers */
2927   UINT8 *  videoram;
3028   size_t   videoram_size;
src/mame/includes/4enraya.h
r9191r9192
44
55*************************************************************************/
66
7class _4enraya_state : public driver_data_t
7class _4enraya_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _4enraya_state(machine)); }
10   _4enraya_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   _4enraya_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   size_t     videoram_size;
src/mame/includes/blockade.h
r9191r9192
11#include "sound/discrete.h"
22#include "sound/samples.h"
33
4class blockade_state : public driver_data_t
4class blockade_state : public driver_device
55{
66public:
7   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blockade_state(machine)); }
7   blockade_state(running_machine &machine, const driver_device_config_base &config)
8      : driver_device(machine, config) { }
89
9   blockade_state(running_machine &machine)
10      : driver_data_t(machine) { }
11
1210   UINT8 *  videoram;
1311
1412   /* video-related */
src/mame/includes/compgolf.h
r9191r9192
44
55*************************************************************************/
66
7class compgolf_state : public driver_data_t
7class compgolf_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, compgolf_state(machine)); }
10   compgolf_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   compgolf_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *        videoram;
1715   UINT8 *        bg_ram;
src/mame/includes/pushman.h
r9191r9192
44
55*************************************************************************/
66
7class pushman_state : public driver_data_t
7class pushman_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pushman_state(machine)); }
10   pushman_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   pushman_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *   videoram;
1715   UINT16 *   spriteram;
src/mame/includes/lemmings.h
r9191r9192
11
2class lemmings_state : public driver_data_t
2class lemmings_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lemmings_state(machine)); }
5   lemmings_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   lemmings_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT16 *  pixel_0_data;
1210   UINT16 *  pixel_1_data;
src/mame/includes/zerozone.h
r9191r9192
44
55*************************************************************************/
66
7class zerozone_state : public driver_data_t
7class zerozone_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, zerozone_state(machine)); }
10   zerozone_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   zerozone_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    videoram;
1715//  UINT16 *    paletteram; // currently this uses generic palette handling
src/mame/includes/espial.h
r9191r9192
44
55***************************************************************************/
66
7class espial_state : public driver_data_t
7class espial_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, espial_state(machine)); }
10   espial_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   espial_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   UINT8 *   videoram;   // espial, zodiack, marineb
1614   UINT8 *   colorram;   // espial, marineb
1715   UINT8 *   attributeram;   // espial, zodiack
src/mame/includes/toaplan1.h
r9191r9192
44****************************************************************************/
55
66
7class toaplan1_state : public driver_data_t
7class toaplan1_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, toaplan1_state(machine)); }
10   toaplan1_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   toaplan1_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   int unk_reset_port;
1614   UINT16 *colorram1;
1715   UINT16 *colorram2;
r9191r9192
153151VIDEO_START( toaplan1 );
154152VIDEO_UPDATE( rallybik );
155153VIDEO_UPDATE( toaplan1 );
156VIDEO_UPDATE( demonwld );
src/mame/includes/segag80r.h
r9191r9192
44
55*************************************************************************/
66
7class segag80r_state : public driver_device
8{
9public:
10   segag80r_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
12
13   UINT8 *videoram;
14};
15
16
717/*----------- defined in machine/segag80.c -----------*/
818
919extern UINT8 (*sega_decrypt)(offs_t, UINT8);
r9191r9192
1323
1424/*----------- defined in audio/segag80r.c -----------*/
1525
16MACHINE_DRIVER_EXTERN( astrob_sound_board );
17MACHINE_DRIVER_EXTERN( 005_sound_board );
18MACHINE_DRIVER_EXTERN( spaceod_sound_board );
19MACHINE_DRIVER_EXTERN( monsterb_sound_board );
26MACHINE_CONFIG_EXTERN( astrob_sound_board );
27MACHINE_CONFIG_EXTERN( 005_sound_board );
28MACHINE_CONFIG_EXTERN( spaceod_sound_board );
29MACHINE_CONFIG_EXTERN( monsterb_sound_board );
2030
2131WRITE8_HANDLER( astrob_sound_w );
2232
src/mame/includes/hnayayoi.h
r9191r9192
44
55*************************************************************************/
66
7class hnayayoi_state : public driver_data_t
7class hnayayoi_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hnayayoi_state(machine)); }
10   hnayayoi_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   hnayayoi_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* video-related */
1614   UINT8      *pixmap[8];
1715   int        palbank;
src/mame/includes/tmnt.h
r9191r9192
11
2class tmnt_state : public driver_data_t
2class tmnt_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tmnt_state(machine)); }
5   tmnt_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   tmnt_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   INT16 *    sampledata;
1210   UINT16 *   tmnt2_1c0800;
r9191r9192
3331   int        tmnt_soundlatch;
3432   int        cuebrick_snd_irqlatch, cuebrick_nvram_bank;
3533   int        toggle, last;
34   UINT16      m_cuebrick_nvram[0x400 * 0x20];   // 32k paged in a 1k window
3635
3736   /* devices */
3837   running_device *maincpu;
src/mame/includes/raiden2.h
r9191r9192
1class raiden2_state : public driver_device
2{
3public:
4   raiden2_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
111/*----------- defined in drivers/raiden2.c -----------*/
212
313WRITE16_HANDLER( sprcpt_val_1_w );
src/mame/includes/dc.h
r9191r9192
99
1010/*----------- defined in machine/dc.c -----------*/
1111
12READ64_HANDLER( pvr_ctrl_r );
13WRITE64_HANDLER( pvr_ctrl_w );
14
1215READ64_HANDLER( dc_sysctrl_r );
1316WRITE64_HANDLER( dc_sysctrl_w );
1417READ64_HANDLER( dc_maple_r );
r9191r9192
209212extern UINT64 *dc_texture_ram;
210213extern UINT64 *dc_framebuffer_ram;
211214
212void dc_vblank( running_machine *machine );
213
214READ64_HANDLER( pvr_ctrl_r );
215WRITE64_HANDLER( pvr_ctrl_w );
216215READ64_HANDLER( pvr_ta_r );
217216WRITE64_HANDLER( pvr_ta_w );
218217WRITE64_HANDLER( ta_fifo_poly_w );
src/mame/includes/taitojc.h
r9191r9192
11#include "video/poly.h"
22
3class taitojc_state : public driver_data_t
3class taitojc_state : public driver_device
44{
55public:
6   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitojc_state(machine)); }
6   taitojc_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
78
8   taitojc_state(running_machine &machine)
9      : driver_data_t(machine) { }
10
119   int texture_x;
1210   int texture_y;
1311
src/mame/includes/pitnrun.h
r9191r9192
1class pitnrun_state : public driver_device
2{
3public:
4   pitnrun_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
111/*----------- defined in machine/pitnrun.c -----------*/
212
313WRITE8_HANDLER (pitnrun_68705_portA_w);
src/mame/includes/tehkanwc.h
r0r9192
1/*----------- defined in video/tehkanwc.c -----------*/
2
3extern UINT8 *tehkanwc_videoram;
4extern UINT8 *tehkanwc_colorram;
5extern UINT8 *tehkanwc_videoram2;
6
7extern WRITE8_HANDLER( tehkanwc_videoram_w );
8extern WRITE8_HANDLER( tehkanwc_colorram_w );
9extern WRITE8_HANDLER( tehkanwc_videoram2_w );
10extern WRITE8_HANDLER( tehkanwc_scroll_x_w );
11extern WRITE8_HANDLER( tehkanwc_scroll_y_w );
12extern WRITE8_HANDLER( tehkanwc_flipscreen_x_w );
13extern WRITE8_HANDLER( tehkanwc_flipscreen_y_w );
14extern WRITE8_HANDLER( gridiron_led0_w );
15extern WRITE8_HANDLER( gridiron_led1_w );
16
17extern VIDEO_START( tehkanwc );
18extern VIDEO_UPDATE( tehkanwc );
src/mame/includes/bionicc.h
r9191r9192
44
55***************************************************************************/
66
7class bionicc_state : public driver_data_t
7class bionicc_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bionicc_state(machine)); }
10   bionicc_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   bionicc_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *  bgvideoram;
1715   UINT16 *  fgvideoram;
src/mame/includes/citycon.h
r9191r9192
44
55*************************************************************************/
66
7class citycon_state : public driver_data_t
7class citycon_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, citycon_state(machine)); }
10   citycon_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   citycon_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *        videoram;
1715   UINT8 *        linecolor;
src/mame/includes/spy.h
r9191r9192
44
55*************************************************************************/
66
7class spy_state : public driver_data_t
7class spy_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, spy_state(machine)); }
10   spy_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   spy_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    ram;
1715   UINT8 *    pmcram;
src/mame/includes/psikyo.h
r9191r9192
44
55*************************************************************************/
66
7class psikyo_state : public driver_data_t
7class psikyo_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, psikyo_state(machine)); }
10   psikyo_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   psikyo_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT32 *       vram_0;
1715   UINT32 *       vram_1;
src/mame/includes/playmark.h
r9191r9192
1#include "sound/okim6295.h"
12
2class playmark_state : public driver_data_t
3class playmark_state : public driver_device
34{
45public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, playmark_state(machine)); }
6   playmark_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
68
7   playmark_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
109   /* memory pointers */
1110   UINT16 *     bgvideoram;
1211   UINT16 *     videoram1;
r9191r9192
4039   int         old_oki_bank;
4140
4241   /* devices */
43   running_device *oki;
42   okim6295_device *oki;
4443   running_device *eeprom;
4544};
4645
src/mame/includes/ampoker2.h
r0r9192
1class ampoker2_state : public driver_device
2{
3public:
4   ampoker2_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/ampoker2.c -----------*/
12
13WRITE8_HANDLER( ampoker2_videoram_w );
14PALETTE_INIT( ampoker2 );
15VIDEO_START( ampoker2 );
16VIDEO_START( sigma2k );
17VIDEO_UPDATE( ampoker2 );
src/mame/includes/esd16.h
r9191r9192
44
55***************************************************************************/
66
7class esd16_state : public driver_data_t
7class esd16_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, esd16_state(machine)); }
10   esd16_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   esd16_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *       vram_0;
1715   UINT16 *       vram_1;
src/mame/includes/pgm.h
r9191r9192
11
2class pgm_state : public driver_data_t
2class pgm_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pgm_state(machine)); }
5   pgm_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   pgm_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119//  UINT16 *      mainram;  // currently this is also used by nvram handler
1210   UINT16 *      bg_videoram;
src/mame/includes/namcos21.h
r9191r9192
55#define NAMCOS21_POLY_FRAME_WIDTH 496
66#define NAMCOS21_POLY_FRAME_HEIGHT 480
77
8class namcos21_state : public driver_device
9{
10public:
11   namcos21_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
13
14   UINT8 *videoram;
15};
16
17
818/*----------- defined in drivers/namcos21.c -----------*/
919
1020extern void namcos21_kickstart(running_machine *, int);
src/mame/includes/gameplan.h
r9191r9192
2121#define LEPRECHAUN_MAIN_CPU_CLOCK        (LEPRECHAUN_MAIN_MASTER_CLOCK / 4)
2222
2323
24class gameplan_state : public driver_data_t
24class gameplan_state : public driver_device
2525{
2626public:
27   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gameplan_state(machine)); }
27   gameplan_state(running_machine &machine, const driver_device_config_base &config)
28      : driver_device(machine, config),
29        via_0(*this, "via6522_0"),
30        via_1(*this, "via6522_1"),
31        via_2(*this, "via6522_2") { }
2832
29   gameplan_state(running_machine &machine)
30      : driver_data_t(machine) { }
31
3233   /* machine state */
3334   UINT8   current_port;
3435   UINT8   *trvquest_question;
r9191r9192
4647   running_device *maincpu;
4748   running_device *audiocpu;
4849   running_device *riot;
49   running_device *via_0;
50   running_device *via_1;
51   running_device *via_2;
50   required_device<via6522_device> via_0;
51   required_device<via6522_device> via_1;
52   required_device<via6522_device> via_2;
5253};
5354
5455
r9191r9192
5859extern const via6522_interface leprechn_via_0_interface;
5960extern const via6522_interface trvquest_via_0_interface;
6061
61MACHINE_DRIVER_EXTERN( gameplan_video );
62MACHINE_DRIVER_EXTERN( leprechn_video );
63MACHINE_DRIVER_EXTERN( trvquest_video );
62MACHINE_CONFIG_EXTERN( gameplan_video );
63MACHINE_CONFIG_EXTERN( leprechn_video );
64MACHINE_CONFIG_EXTERN( trvquest_video );
src/mame/includes/ikki.h
r9191r9192
44
55*************************************************************************/
66
7class ikki_state : public driver_data_t
7class ikki_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ikki_state(machine)); }
10   ikki_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ikki_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    spriteram;
src/mame/includes/capbowl.h
r9191r9192
44
55*************************************************************************/
66
7class capbowl_state : public driver_data_t
7#include "machine/nvram.h"
8
9class capbowl_state : public driver_device
810{
911public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, capbowl_state(machine)); }
12   capbowl_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
1114
12   capbowl_state(running_machine &machine)
13      : driver_data_t(machine) { }
15   void init_nvram(nvram_device &nvram, void *base, size_t size);
1416
1517   /* memory pointers */
1618   UINT8 *  rowaddress;
17//  UINT8 *  nvram; // currently this uses generic_nvram
1819
1920   /* video-related */
2021   offs_t blitter_addr;
src/mame/includes/darius.h
r9191r9192
77#define DARIUS_VOL_MAX    (3*2 + 2)
88#define DARIUS_PAN_MAX    (2 + 2 + 1)   /* FM 2port + PSG 2port + DA 1port */
99
10class darius_state : public driver_data_t
10class darius_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, darius_state(machine)); }
13   darius_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config) { }
1415
15   darius_state(running_machine &machine)
16      : driver_data_t(machine) { }
17
1816   /* memory pointers */
1917   UINT16 *    spriteram;
2018   UINT16 *    fg_ram;
src/mame/includes/cbasebal.h
r9191r9192
44
55*************************************************************************/
66
7class cbasebal_state : public driver_data_t
7class cbasebal_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cbasebal_state(machine)); }
10   cbasebal_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   cbasebal_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    spriteram;
1715//  UINT8 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/beathead.h
r9191r9192
1111class beathead_state : public atarigen_state
1212{
1313public:
14   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, beathead_state(machine)); }
14   beathead_state(running_machine &machine, const driver_device_config_base &config)
15      : atarigen_state(machine, config),
16        m_maincpu(*this, "maincpu"),
17        m_nvram(*this, "nvram") { }
1518
16   beathead_state(running_machine &machine)
17      : atarigen_state(machine),
18        m_maincpu(*machine.device<asap_device>("maincpu")) { }
19
2019   virtual void machine_start();
2120   virtual void machine_reset();
2221
2322   virtual void video_start();
2423   virtual bool video_update(screen_device &screen, bitmap_t &bitmap, const rectangle &cliprect);
2524
26   asap_device &   m_maincpu;
25   required_device<asap_device> m_maincpu;
2726
27   required_shared_ptr<UINT32>   m_nvram;
28
2829   UINT32 *      m_videoram;
2930   UINT32 *      m_paletteram;
3031
src/mame/includes/targ.h
r9191r9192
1111WRITE8_HANDLER( targ_audio_2_w );
1212WRITE8_HANDLER( spectar_audio_2_w );
1313
14MACHINE_DRIVER_EXTERN( spectar_audio );
15MACHINE_DRIVER_EXTERN( targ_audio );
14MACHINE_CONFIG_EXTERN( spectar_audio );
15MACHINE_CONFIG_EXTERN( targ_audio );
1616
src/mame/includes/funkyjet.h
r9191r9192
44
55*************************************************************************/
66
7class funkyjet_state : public driver_data_t
7class funkyjet_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, funkyjet_state(machine)); }
10   funkyjet_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   funkyjet_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *  pf1_rowscroll;
1715   UINT16 *  pf2_rowscroll;
src/mame/includes/qix.h
r9191r9192
1717#define QIX_CHARACTER_CLOCK      (20000000/2/16)
1818
1919
20class qix_state : public driver_data_t
20class qix_state : public driver_device
2121{
2222public:
23   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, qix_state(machine)); }
23   qix_state(running_machine &machine, const driver_device_config_base &config)
24      : driver_device(machine, config) { }
2425
25   qix_state(running_machine &machine)
26      : driver_data_t(machine) { }
27
2826   /* machine state */
2927   UINT8 *_68705_port_out;
3028   UINT8 *_68705_ddr;
r9191r9192
8280
8381/*----------- defined in video/qix.c -----------*/
8482
85MACHINE_DRIVER_EXTERN( qix_video );
86MACHINE_DRIVER_EXTERN( zookeep_video );
87MACHINE_DRIVER_EXTERN( slither_video );
83MACHINE_CONFIG_EXTERN( qix_video );
84MACHINE_CONFIG_EXTERN( zookeep_video );
85MACHINE_CONFIG_EXTERN( slither_video );
8886
8987WRITE8_DEVICE_HANDLER( qix_flip_screen_w );
9088WRITE8_HANDLER( qix_palettebank_w );
r9191r9192
9290
9391/*----------- defined in audio/qix.c -----------*/
9492
95MACHINE_DRIVER_EXTERN( qix_audio );
96MACHINE_DRIVER_EXTERN( slither_audio );
93MACHINE_CONFIG_EXTERN( qix_audio );
94MACHINE_CONFIG_EXTERN( slither_audio );
src/mame/includes/ksayakyu.h
r9191r9192
44
55*************************************************************************/
66
7class ksayakyu_state : public driver_data_t
7class ksayakyu_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ksayakyu_state(machine)); }
10   ksayakyu_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ksayakyu_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    spriteram;
src/mame/includes/xexex.h
r9191r9192
44
55*************************************************************************/
66
7class xexex_state : public driver_data_t
7class xexex_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, xexex_state(machine)); }
10   xexex_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   xexex_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    workram;
1715   UINT16 *    spriteram;
src/mame/includes/himesiki.h
r9191r9192
44
55*************************************************************************/
66
7class himesiki_state : public driver_data_t
7class himesiki_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, himesiki_state(machine)); }
10   himesiki_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   himesiki_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    bg_ram;
1715   UINT8 *    spriteram;
src/mame/includes/skullxbo.h
r9191r9192
99class skullxbo_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, skullxbo_state(machine)); }
13
14   skullxbo_state(running_machine &machine)
15      : atarigen_state(machine) { }
12   skullxbo_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1614};
1715
1816
src/mame/includes/ironhors.h
r9191r9192
44
55*************************************************************************/
66
7class ironhors_state : public driver_data_t
7class ironhors_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ironhors_state(machine)); }
10   ironhors_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ironhors_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/battlex.h
r9191r9192
44
55***************************************************************************/
66
7class battlex_state : public driver_data_t
7class battlex_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, battlex_state(machine)); }
10   battlex_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   battlex_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 * videoram;
1715   UINT8 * spriteram;
src/mame/includes/mrflea.h
r9191r9192
44
55*************************************************************************/
66
7class mrflea_state : public driver_data_t
7class mrflea_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mrflea_state(machine)); }
10   mrflea_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   mrflea_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    spriteram;
src/mame/includes/epos.h
r9191r9192
44
55**************************************************************************/
66
7class epos_state : public driver_data_t
7class epos_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, epos_state(machine)); }
10   epos_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   epos_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *  videoram;
1715   size_t   videoram_size;
src/mame/includes/snes.h
r9191r9192
545545WRITE_LINE_DEVICE_HANDLER( snes_extern_irq_w );
546546
547547
548extern void snes_latch_counters(running_machine *machine);
549
550548extern UINT8  *snes_ram;         /* Main memory */
551549
552550
r9191r9192
663661
664662extern struct SNES_PPU_STRUCT snes_ppu;
665663
664extern void snes_latch_counters(running_machine *machine);
665
666666extern VIDEO_START( snes );
667667extern VIDEO_UPDATE( snes );
668668
src/mame/includes/cps3.h
r9191r9192
66
77#include "devlegcy.h"
88
9/*----------- defined in drivers/cps3.c -----------*/
10
11extern UINT8* cps3_user5region;
12
13
914/*----------- defined in audio/cps3.c -----------*/
1015
1116DECLARE_LEGACY_SOUND_DEVICE(CPS3, cps3_sound);
1217
1318WRITE32_HANDLER( cps3_sound_w );
1419READ32_HANDLER( cps3_sound_r );
15
src/mame/includes/spiders.h
r9191r9192
1212WRITE8_DEVICE_HANDLER( spiders_audio_b_w );
1313WRITE8_DEVICE_HANDLER( spiders_audio_ctrl_w );
1414
15MACHINE_DRIVER_EXTERN( spiders_audio );
15MACHINE_CONFIG_EXTERN( spiders_audio );
src/mame/includes/glass.h
r9191r9192
44
55*************************************************************************/
66
7class glass_state : public driver_data_t
7class glass_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, glass_state(machine)); }
10   glass_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   glass_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    videoram;
1715   UINT16 *    vregs;
src/mame/includes/mcatadv.h
r9191r9192
11
2class mcatadv_state : public driver_data_t
2class mcatadv_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mcatadv_state(machine)); }
5   mcatadv_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   mcatadv_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT16 *     videoram1;
1210   UINT16 *     videoram2;
src/mame/includes/cinemat.h
r9191r9192
1414
1515WRITE8_HANDLER( cinemat_sound_control_w );
1616
17MACHINE_DRIVER_EXTERN( spacewar_sound );
18MACHINE_DRIVER_EXTERN( barrier_sound );
19MACHINE_DRIVER_EXTERN( speedfrk_sound );
20MACHINE_DRIVER_EXTERN( starhawk_sound );
21MACHINE_DRIVER_EXTERN( sundance_sound );
22MACHINE_DRIVER_EXTERN( tailg_sound );
23MACHINE_DRIVER_EXTERN( warrior_sound );
24MACHINE_DRIVER_EXTERN( armora_sound );
25MACHINE_DRIVER_EXTERN( ripoff_sound );
26MACHINE_DRIVER_EXTERN( starcas_sound );
27MACHINE_DRIVER_EXTERN( solarq_sound );
28MACHINE_DRIVER_EXTERN( boxingb_sound );
29MACHINE_DRIVER_EXTERN( wotw_sound );
30MACHINE_DRIVER_EXTERN( wotwc_sound );
31MACHINE_DRIVER_EXTERN( demon_sound );
32MACHINE_DRIVER_EXTERN( qb3_sound );
17MACHINE_CONFIG_EXTERN( spacewar_sound );
18MACHINE_CONFIG_EXTERN( barrier_sound );
19MACHINE_CONFIG_EXTERN( speedfrk_sound );
20MACHINE_CONFIG_EXTERN( starhawk_sound );
21MACHINE_CONFIG_EXTERN( sundance_sound );
22MACHINE_CONFIG_EXTERN( tailg_sound );
23MACHINE_CONFIG_EXTERN( warrior_sound );
24MACHINE_CONFIG_EXTERN( armora_sound );
25MACHINE_CONFIG_EXTERN( ripoff_sound );
26MACHINE_CONFIG_EXTERN( starcas_sound );
27MACHINE_CONFIG_EXTERN( solarq_sound );
28MACHINE_CONFIG_EXTERN( boxingb_sound );
29MACHINE_CONFIG_EXTERN( wotw_sound );
30MACHINE_CONFIG_EXTERN( wotwc_sound );
31MACHINE_CONFIG_EXTERN( demon_sound );
32MACHINE_CONFIG_EXTERN( qb3_sound );
3333
3434
3535/*----------- defined in video/cinemat.c -----------*/
src/mame/includes/toaplan2.h
r9191r9192
1616#include "video/gp9001.h"
1717
1818// cache the vdps for faster access
19class toaplan2_state : public driver_data_t
19class toaplan2_state : public driver_device
2020{
2121public:
22   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, toaplan2_state(machine)); }
23
24   toaplan2_state(running_machine &machine)
25      : driver_data_t(machine)
22   toaplan2_state(running_machine &machine, const driver_device_config_base &config)
23      : driver_device(machine, config)
2624   {
2725      vdp0 = NULL;
2826      vdp1 = NULL;
src/mame/includes/mjkjidai.h
r9191r9192
1class mjkjidai_state : public driver_data_t
1class mjkjidai_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mjkjidai_state(machine)); }
4   mjkjidai_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   mjkjidai_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT8 *videoram;
108   UINT8 *spriteram1;
119   UINT8 *spriteram2;
src/mame/includes/jailbrek.h
r9191r9192
77#define MASTER_CLOCK        XTAL_18_432MHz
88#define VOICE_CLOCK         XTAL_3_579545MHz
99
10class jailbrek_state : public driver_data_t
10class jailbrek_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jailbrek_state(machine)); }
13   jailbrek_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config) { }
1415
15   jailbrek_state(running_machine &machine)
16      : driver_data_t(machine) { }
17
1816   /* memory pointers */
1917   UINT8 *      videoram;
2018   UINT8 *      colorram;
src/mame/includes/gaelco.h
r9191r9192
44
55***************************************************************************/
66
7class gaelco_state : public driver_data_t
7class gaelco_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gaelco_state(machine)); }
10   gaelco_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gaelco_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *     videoram;
1715   UINT16 *     spriteram;
src/mame/includes/wecleman.h
r0r9192
1/*----------- defined in drivers/wecleman.c -----------*/
2
3extern int wecleman_selected_ip, wecleman_irqctrl;
4
5
6/*----------- defined in video/wecleman.c -----------*/
7
8extern UINT16 *wecleman_videostatus;
9extern UINT16 *wecleman_pageram, *wecleman_txtram, *wecleman_roadram;
10extern size_t wecleman_roadram_size;
11
12WRITE16_HANDLER( hotchase_paletteram16_SBGRBBBBGGGGRRRR_word_w );
13WRITE16_HANDLER( wecleman_paletteram16_SSSSBBBBGGGGRRRR_word_w );
14WRITE16_HANDLER( wecleman_videostatus_w );
15WRITE16_HANDLER( wecleman_pageram_w );
16WRITE16_HANDLER( wecleman_txtram_w );
17VIDEO_UPDATE( wecleman );
18VIDEO_START( wecleman );
19VIDEO_UPDATE( hotchase );
20VIDEO_START( hotchase );
21
22void hotchase_zoom_callback_0(running_machine *machine, int *code,int *color,int *flags);
23void hotchase_zoom_callback_1(running_machine *machine, int *code,int *color,int *flags);
src/mame/includes/tankbust.h
r0r9192
1/*----------- defined in video/tankbust.c -----------*/
2
3extern UINT8 *tankbust_txtram;
4extern UINT8 *tankbust_videoram;
5extern UINT8 *tankbust_colorram;
6
7VIDEO_START( tankbust );
8VIDEO_UPDATE( tankbust );
9
10WRITE8_HANDLER( tankbust_background_videoram_w );
11READ8_HANDLER( tankbust_background_videoram_r );
12WRITE8_HANDLER( tankbust_background_colorram_w );
13READ8_HANDLER( tankbust_background_colorram_r );
14WRITE8_HANDLER( tankbust_txtram_w );
15READ8_HANDLER( tankbust_txtram_r );
16
17WRITE8_HANDLER( tankbust_xscroll_w );
18WRITE8_HANDLER( tankbust_yscroll_w );
19
20
src/mame/includes/bankp.h
r9191r9192
99#define BANKP_CPU_CLOCK (BANKP_MASTER_CLOCK/6)
1010#define BANKP_SN76496_CLOCK (BANKP_MASTER_CLOCK/6)
1111
12class bankp_state : public driver_data_t
12class bankp_state : public driver_device
1313{
1414public:
15   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bankp_state(machine)); }
15   bankp_state(running_machine &machine, const driver_device_config_base &config)
16      : driver_device(machine, config) { }
1617
17   bankp_state(running_machine &machine)
18      : driver_data_t(machine) { }
19
2018   /* memory pointers */
2119   UINT8 * videoram;
2220   UINT8 * colorram;
src/mame/includes/crbaloon.h
r9191r9192
1717void crbaloon_audio_set_appear_enable(running_device *sn, int enabled);
1818WRITE8_DEVICE_HANDLER( crbaloon_audio_set_laugh_enable );
1919
20MACHINE_DRIVER_EXTERN( crbaloon_audio );
20MACHINE_CONFIG_EXTERN( crbaloon_audio );
2121
2222
2323/*----------- defined in video/crbaloon.c -----------*/
src/mame/includes/pastelg.h
r0r9192
1/*----------- defined in video/pastelg.c -----------*/
2
3PALETTE_INIT( pastelg );
4VIDEO_UPDATE( pastelg );
5VIDEO_START( pastelg );
6
7WRITE8_HANDLER( pastelg_clut_w );
8WRITE8_HANDLER( pastelg_romsel_w );
9WRITE8_HANDLER( threeds_romsel_w );
10WRITE8_HANDLER( threeds_output_w );
11WRITE8_HANDLER( pastelg_blitter_w );
12READ8_HANDLER( threeds_rom_readback_r );
13
14int pastelg_blitter_src_addr_r(void);
src/mame/includes/portrait.h
r0r9192
1/*----------- defined in video/portrait.c -----------*/
2
3extern UINT8 *portrait_bgvideoram,*portrait_fgvideoram;
4extern int portrait_scroll;
5
6PALETTE_INIT( portrait );
7VIDEO_START( portrait );
8VIDEO_UPDATE( portrait );
9WRITE8_HANDLER( portrait_bgvideo_write );
10WRITE8_HANDLER( portrait_fgvideo_write );
src/mame/includes/munchmo.h
r9191r9192
44
55*************************************************************************/
66
7class munchmo_state : public driver_data_t
7class munchmo_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, munchmo_state(machine)); }
10   munchmo_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   munchmo_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *      vreg;
1715   UINT8 *      status_vram;
src/mame/includes/funkybee.h
r9191r9192
11
22
3class funkybee_state : public driver_data_t
3class funkybee_state : public driver_device
44{
55public:
6   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, funkybee_state(machine)); }
6   funkybee_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
78
8   funkybee_state(running_machine &machine)
9      : driver_data_t(machine) { }
10
119   /* memory pointers */
1210   UINT8 *    videoram;
1311   UINT8 *    colorram;
src/mame/includes/galastrm.h
r0r9192
1/*----------- defined in video/galastrm.c -----------*/
2
3extern INT16  galastrm_tc0610_ctrl_reg[2][8];
4
5VIDEO_START( galastrm );
6VIDEO_UPDATE( galastrm );
src/mame/includes/lastduel.h
r9191r9192
44
55*************************************************************************/
66
7class lastduel_state : public driver_data_t
7class lastduel_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lastduel_state(machine)); }
10   lastduel_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   lastduel_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    vram;
1715   UINT16 *    scroll1;
src/mame/includes/drgnmst.h
r9191r9192
11
22#include "sound/okim6295.h"
33
4class drgnmst_state : public driver_data_t
4class drgnmst_state : public driver_device
55{
66public:
7   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, drgnmst_state(machine)); }
7   drgnmst_state(running_machine &machine, const driver_device_config_base &config)
8      : driver_device(machine, config),
9        oki_1(*this, "oki1"),
10        oki_2(*this, "oki2") { }
811
9   drgnmst_state(running_machine &machine)
10      : driver_data_t(machine),
11        oki_1(machine.device<okim6295_device>("oki1")),
12        oki_2(machine.device<okim6295_device>("oki2")) { }
13
1412   /* memory pointers */
1513   UINT16 *    vidregs;
1614   UINT16 *    fg_videoram;
r9191r9192
3533   UINT8       oki1_bank;
3634
3735   /* devices */
38   okim6295_device *oki_1;
39   okim6295_device *oki_2;
36   required_device<okim6295_device> oki_1;
37   required_device<okim6295_device> oki_2;
4038};
4139
4240
src/mame/includes/alpha68k.h
r9191r9192
44
55*************************************************************************/
66
7class alpha68k_state : public driver_data_t
7class alpha68k_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, alpha68k_state(machine)); }
10   alpha68k_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   alpha68k_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    videoram;
1715   UINT16 *    spriteram;
src/mame/includes/freekick.h
r9191r9192
11
22
3class freekick_state : public driver_data_t
3class freekick_state : public driver_device
44{
55public:
6   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, freekick_state(machine)); }
6   freekick_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
78
8   freekick_state(running_machine &machine)
9      : driver_data_t(machine) { }
10
119   /* memory pointers */
1210   UINT8 *    videoram;
1311   UINT8 *    spriteram;
src/mame/includes/vicdual.h
r9191r9192
4242/*----------- defined in audio/vicdual.c -----------*/
4343
4444MACHINE_START( frogs_audio );
45MACHINE_DRIVER_EXTERN( frogs_audio );
46MACHINE_DRIVER_EXTERN( headon_audio );
45MACHINE_CONFIG_EXTERN( frogs_audio );
46MACHINE_CONFIG_EXTERN( headon_audio );
4747WRITE8_HANDLER( frogs_audio_w );
4848WRITE8_HANDLER( headon_audio_w );
4949WRITE8_HANDLER( invho2_audio_w );
r9191r9192
5151
5252/*----------- defined in audio/depthch.c -----------*/
5353
54MACHINE_DRIVER_EXTERN( depthch_audio );
54MACHINE_CONFIG_EXTERN( depthch_audio );
5555WRITE8_HANDLER( depthch_audio_w );
5656
5757
5858/*----------- defined in audio/carnival.c -----------*/
5959
60MACHINE_DRIVER_EXTERN( carnival_audio );
60MACHINE_CONFIG_EXTERN( carnival_audio );
6161WRITE8_HANDLER( carnival_audio_1_w );
6262WRITE8_HANDLER( carnival_audio_2_w );
6363
6464
6565/*----------- defined in audio/invinco.c -----------*/
6666
67MACHINE_DRIVER_EXTERN( invinco_audio );
67MACHINE_CONFIG_EXTERN( invinco_audio );
6868WRITE8_HANDLER( invinco_audio_w );
6969
7070
7171/*----------- defined in audio/pulsar.c -----------*/
7272
73MACHINE_DRIVER_EXTERN( pulsar_audio );
73MACHINE_CONFIG_EXTERN( pulsar_audio );
7474WRITE8_HANDLER( pulsar_audio_1_w );
7575WRITE8_HANDLER( pulsar_audio_2_w );
src/mame/includes/xybots.h
r9191r9192
99class xybots_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, xybots_state(machine)); }
12   xybots_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   xybots_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT16         h256;
1816};
1917
src/mame/includes/galaxold.h
r9191r9192
187187WRITE8_DEVICE_HANDLER( mrkougar_sh_irqtrigger_w );
188188WRITE8_HANDLER( hotshock_sh_irqtrigger_w );
189189
190MACHINE_DRIVER_EXTERN( ad2083_audio );
190MACHINE_CONFIG_EXTERN( ad2083_audio );
191191
src/mame/includes/centiped.h
r9191r9192
44
55*************************************************************************/
66
7class centiped_state : public driver_device
8{
9public:
10   centiped_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
12
13   UINT8 *videoram;
14};
15
16
717/*----------- defined in video/centiped.c -----------*/
818
919extern UINT8 centiped_flipscreen, *bullsdrt_tiles_bankram;
src/mame/includes/wgp.h
r9191r9192
44
55*************************************************************************/
66
7class wgp_state : public driver_data_t
7class wgp_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, wgp_state(machine)); }
10   wgp_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   wgp_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    spritemap;
1715   UINT16 *    spriteram;
src/mame/includes/atarisy1.h
r9191r9192
99class atarisy1_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarisy1_state(machine)); }
12   atarisy1_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config),
14        joystick_timer(*this, "joystick_timer"),
15        yscroll_reset_timer(*this, "yreset_timer"),
16        scanline_timer(*this, "scan_timer"),
17        int3off_timer(*this, "int3off_timer") { }
1318
14   atarisy1_state(running_machine &machine)
15      : atarigen_state(machine),
16        joystick_timer(machine.device<timer_device>("joystick_timer")),
17        yscroll_reset_timer(machine.device<timer_device>("yreset_timer")),
18        scanline_timer(machine.device<timer_device>("scan_timer")),
19        int3off_timer(machine.device<timer_device>("int3off_timer")) { }
20
2119   UINT16 *      bankselect;
2220
2321   UINT8         joystick_type;
2422   UINT8         trackball_type;
2523
26   timer_device *   joystick_timer;
24   required_device<timer_device> joystick_timer;
2725   UINT8         joystick_int;
2826   UINT8         joystick_int_enable;
2927   UINT8         joystick_value;
r9191r9192
3230   UINT16         playfield_lookup[256];
3331   UINT8         playfield_tile_bank;
3432   UINT16         playfield_priority_pens;
35   timer_device *   yscroll_reset_timer;
33   required_device<timer_device> yscroll_reset_timer;
3634
3735   /* INT3 tracking */
3836   int          next_timer_scanline;
39   timer_device *   scanline_timer;
40   timer_device *   int3off_timer;
37   required_device<timer_device> scanline_timer;
38   required_device<timer_device> int3off_timer;
4139
4240   /* graphics bank tracking */
4341   UINT8         bank_gfx[3][8];
src/mame/includes/welltris.h
r9191r9192
1class welltris_state : public driver_data_t
1class welltris_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, welltris_state(machine)); }
4   welltris_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   welltris_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   int pending_command;
108
119   UINT16 *spriteram;
src/mame/includes/gumbo.h
r9191r9192
44
55*************************************************************************/
66
7class gumbo_state : public driver_data_t
7class gumbo_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gumbo_state(machine)); }
10   gumbo_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gumbo_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    bg_videoram;
1715   UINT16 *    fg_videoram;
src/mame/includes/ssv.h
r9191r9192
1class ssv_state : public driver_data_t
1class ssv_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ssv_state(machine)); }
4   ssv_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   ssv_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT16 *scroll;
108   UINT16 *paletteram;
119   UINT16 *spriteram;
r9191r9192
1412   int tile_code[16];
1513
1614   int enable_video;
17   int sprites_offsx;
18   int sprites_offsy;
19   int tilemap_offsx;
20   int tilemap_offsy;
2115   int shadow_pen_mask;
2216   int shadow_pen_shift;
2317
src/mame/includes/taitoair.h
r9191r9192
1717};
1818
1919
20class taitoair_state : public driver_data_t
20class taitoair_state : public driver_device
2121{
2222public:
23   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitoair_state(machine)); }
23   taitoair_state(running_machine &machine, const driver_device_config_base &config)
24      : driver_device(machine, config) { }
2425
25   taitoair_state(running_machine &machine)
26      : driver_data_t(machine) { }
27
2826   /* memory pointers */
2927   UINT16 *      m68000_mainram;
3028   UINT16 *      line_ram;
src/mame/includes/atarig42.h
r9191r9192
99class atarig42_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarig42_state(machine)); }
12   atarig42_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   atarig42_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT16         playfield_base;
1816   UINT16         motion_object_base;
1917   UINT16         motion_object_mask;
src/mame/includes/tceptor.h
r0r9192
1/*----------- defined in video/tceptor.c -----------*/
2
3PALETTE_INIT( tceptor );
4VIDEO_START( tceptor );
5VIDEO_UPDATE( tceptor );
6VIDEO_EOF( tceptor );
7
8WRITE8_HANDLER( tceptor_tile_ram_w );
9WRITE8_HANDLER( tceptor_tile_attr_w );
10WRITE8_HANDLER( tceptor_bg_ram_w );
11WRITE8_HANDLER( tceptor_bg_scroll_w );
12
13extern UINT8 *tceptor_tile_ram;
14extern UINT8 *tceptor_tile_attr;
15extern UINT8 *tceptor_bg_ram;
16extern UINT16 *tceptor_sprite_ram;
src/mame/includes/vindictr.h
r9191r9192
99class vindictr_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, vindictr_state(machine)); }
12   vindictr_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   vindictr_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT8         playfield_tile_bank;
1816   UINT16         playfield_xscroll;
1917   UINT16         playfield_yscroll;
src/mame/includes/cop01.h
r9191r9192
44
55*************************************************************************/
66
7class cop01_state : public driver_data_t
7class cop01_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cop01_state(machine)); }
10   cop01_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   cop01_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *        bgvideoram;
1715   UINT8 *        fgvideoram;
src/mame/includes/hanaawas.h
r9191r9192
44
55*************************************************************************/
66
7class hanaawas_state : public driver_data_t
7class hanaawas_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hanaawas_state(machine)); }
10   hanaawas_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   hanaawas_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/aquarium.h
r9191r9192
11
22
33
4class aquarium_state : public driver_data_t
4class aquarium_state : public driver_device
55{
66public:
7   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, aquarium_state(machine)); }
7   aquarium_state(running_machine &machine, const driver_device_config_base &config)
8      : driver_device(machine, config) { }
89
9   aquarium_state(running_machine &machine)
10      : driver_data_t(machine) { }
11
1210   /* memory pointers */
1311   UINT16 *  scroll;
1412   UINT16 *  txt_videoram;
src/mame/includes/metro.h
r9191r9192
88#include "sound/2151intf.h"
99#include "video/konicdev.h"
1010
11class metro_state : public driver_data_t
11class metro_state : public driver_device
1212{
1313public:
14   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, metro_state(machine)); }
14   metro_state(running_machine &machine, const driver_device_config_base &config)
15      : driver_device(machine, config),
16        maincpu(*this, "maincpu"),
17        audiocpu(*this, "audiocpu"),
18        oki(*this, "oki"),
19        ymsnd(*this, "ymsnd"),
20        k053936(*this, "k053936") { }
1521
16   metro_state(running_machine &machine)
17      : driver_data_t(machine),
18        maincpu(machine.device<cpu_device>("maincpu")),
19        audiocpu(machine.device<cpu_device>("audiocpu")),
20        oki(machine.device<okim6295_device>("oki")),
21        ymsnd(machine.device("ymsnd")),
22        k053936(machine.device<k053936_device>("k053936")) { }
23
2422   /* memory pointers */
2523   UINT16 *    vram_0;
2624   UINT16 *    vram_1;
r9191r9192
8280   tilemap_t *vmetal_mid2tilemap;
8381
8482   /* devices */
85   cpu_device *maincpu;
86   cpu_device *audiocpu;
87   okim6295_device *oki;
88   device_t *ymsnd;
89   k053936_device *k053936;
83   required_device<cpu_device> maincpu;
84   optional_device<cpu_device> audiocpu;
85   optional_device<okim6295_device> oki;
86   optional_device<device_t> ymsnd;
87   optional_device<k053936_device> k053936;
9088};
9189
9290
src/mame/includes/angelkds.h
r9191r9192
44
55*************************************************************************/
66
7class angelkds_state : public driver_data_t
7class angelkds_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, angelkds_state(machine)); }
10   angelkds_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   angelkds_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    paletteram;
1715   UINT8 *    spriteram;
src/mame/includes/circusc.h
r9191r9192
44
55*************************************************************************/
66
7class circusc_state : public driver_data_t
7class circusc_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, circusc_state(machine)); }
10   circusc_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   circusc_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *        videoram;
1715   UINT8 *        colorram;
src/mame/includes/mikie.h
r9191r9192
44
55*************************************************************************/
66
7class mikie_state : public driver_data_t
7class mikie_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mikie_state(machine)); }
10   mikie_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   mikie_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/midvunit.h
r9191r9192
88
99#define MIDVUNIT_VIDEO_CLOCK   33000000
1010
11class midvunit_state : public driver_device
12{
13public:
14   midvunit_state(running_machine &machine, const driver_device_config_base &config)
15      : driver_device(machine, config),
16        m_nvram(*this, "nvram") { }
1117
18   optional_shared_ptr<UINT32>   m_nvram;
19};
1220
21
22
1323/*----------- defined in video/midvunit.c -----------*/
1424
1525extern UINT16 *midvunit_videoram;
src/mame/includes/usgames.h
r0r9192
1/*----------- defined in video/usgames.c -----------*/
2
3extern UINT8 *usgames_videoram,*usgames_charram;
4
5WRITE8_HANDLER( usgames_videoram_w );
6WRITE8_HANDLER( usgames_charram_w );
7VIDEO_START( usgames );
8PALETTE_INIT( usgames );
9VIDEO_UPDATE( usgames );
src/mame/includes/opwolf.h
r9191r9192
44
55*************************************************************************/
66
7class opwolf_state : public driver_data_t
7class opwolf_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, opwolf_state(machine)); }
10   opwolf_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   opwolf_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *      cchip_ram;
1715
r9191r9192
5957WRITE16_HANDLER( opwolf_cchip_status_w );
6058WRITE16_HANDLER( opwolf_cchip_data_w );
6159WRITE16_HANDLER( opwolf_cchip_bank_w );
62
63
64/*----------- defined in video/rastan.c -----------*/
65
66WRITE16_HANDLER( opwolf_spritectrl_w );
67
68VIDEO_UPDATE( opwolf );
src/mame/includes/nb1413m3.h
r9191r9192
124124MACHINE_RESET( nb1413m3 );
125125WRITE8_HANDLER( nb1413m3_nmi_clock_w );
126126INTERRUPT_GEN( nb1413m3_interrupt );
127NVRAM_HANDLER( nb1413m3 );
128127READ8_HANDLER( nb1413m3_sndrom_r );
129128WRITE8_HANDLER( nb1413m3_sndrombank1_w );
130129WRITE8_HANDLER( nb1413m3_sndrombank2_w );
r9191r9192
158157extern int nb1413m3_busyctr;
159158extern int nb1413m3_busyflag;
160159extern int nb1413m3_inputport;
161extern UINT8 *nb1413m3_nvram;
162extern size_t nb1413m3_nvram_size;
src/mame/includes/surpratk.h
r9191r9192
44
55*************************************************************************/
66
7class surpratk_state : public driver_data_t
7class surpratk_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, surpratk_state(machine)); }
10   surpratk_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   surpratk_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    ram;
1715//  UINT8 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/zaccaria.h
r0r9192
1/*----------- defined in video/zaccaria.c -----------*/
2
3extern UINT8 *zaccaria_videoram,*zaccaria_attributesram;
4
5PALETTE_INIT( zaccaria );
6VIDEO_START( zaccaria );
7WRITE8_HANDLER( zaccaria_videoram_w );
8WRITE8_HANDLER( zaccaria_attributes_w );
9WRITE8_HANDLER( zaccaria_flip_screen_x_w );
10WRITE8_HANDLER( zaccaria_flip_screen_y_w );
11VIDEO_UPDATE( zaccaria );
src/mame/includes/suna16.h
r0r9192
1class suna16_state : public driver_device
2{
3public:
4   suna16_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 prot;
8   UINT16 *paletteram;
9   UINT16 *spriteram;
10   UINT16 *spriteram2;
11   int color_bank;
12};
13
14
15/*----------- defined in video/suna16.c -----------*/
16
17WRITE16_HANDLER( suna16_flipscreen_w );
18WRITE16_HANDLER( bestbest_flipscreen_w );
19
20READ16_HANDLER ( suna16_paletteram16_r );
21WRITE16_HANDLER( suna16_paletteram16_w );
22
23VIDEO_START( suna16 );
24VIDEO_UPDATE( suna16 );
25VIDEO_UPDATE( bestbest );
src/mame/includes/shadfrce.h
r9191r9192
1class shadfrce_state : public driver_data_t
1class shadfrce_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, shadfrce_state(machine)); }
4   shadfrce_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   shadfrce_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   tilemap_t *fgtilemap;
108   tilemap_t *bg0tilemap;
119   tilemap_t *bg1tilemap;
src/mame/includes/speedbal.h
r0r9192
1/*----------- defined in video/speedbal.c -----------*/
2
3extern UINT8 *speedbal_background_videoram;
4extern UINT8 *speedbal_foreground_videoram;
5
6VIDEO_START( speedbal );
7VIDEO_UPDATE( speedbal );
8WRITE8_HANDLER( speedbal_foreground_videoram_w );
9WRITE8_HANDLER( speedbal_background_videoram_w );
src/mame/includes/tagteam.h
r0r9192
1/*----------- defined in video/tagteam.c -----------*/
2
3extern UINT8 *tagteam_videoram;
4extern UINT8 *tagteam_colorram;
5
6WRITE8_HANDLER( tagteam_videoram_w );
7WRITE8_HANDLER( tagteam_colorram_w );
8READ8_HANDLER( tagteam_mirrorvideoram_r );
9WRITE8_HANDLER( tagteam_mirrorvideoram_w );
10READ8_HANDLER( tagteam_mirrorcolorram_r );
11WRITE8_HANDLER( tagteam_mirrorcolorram_w );
12WRITE8_HANDLER( tagteam_control_w );
13WRITE8_HANDLER( tagteam_flipscreen_w );
14
15PALETTE_INIT( tagteam );
16VIDEO_START( tagteam );
17VIDEO_UPDATE( tagteam );
src/mame/includes/eolith.h
r0r9192
1/*----------- defined in video/eolith.c -----------*/
2
3extern int eolith_buffer;
4
5READ32_HANDLER( eolith_vram_r );
6WRITE32_HANDLER( eolith_vram_w );
7VIDEO_START( eolith );
8VIDEO_UPDATE( eolith );
src/mame/includes/bigevglf.h
r9191r9192
11
2class bigevglf_state : public driver_data_t
2class bigevglf_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bigevglf_state(machine)); }
5   bigevglf_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   bigevglf_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *  paletteram;
1210   UINT8 *  spriteram1;
src/mame/includes/inufuku.h
r9191r9192
11
2class inufuku_state : public driver_data_t
2class inufuku_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, inufuku_state(machine)); }
5   inufuku_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   inufuku_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT16 *  bg_videoram;
1210   UINT16 *  bg_rasterram;
src/mame/includes/commando.h
r9191r9192
44
55*************************************************************************/
66
7class commando_state : public driver_data_t
7class commando_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, commando_state(machine)); }
10   commando_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   commando_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *  videoram;
1715   UINT8 *  colorram;
src/mame/includes/atarisy2.h
r9191r9192
99class atarisy2_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarisy2_state(machine)); }
12   atarisy2_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   atarisy2_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT16 *      slapstic_base;
1816
1917   UINT8         interrupt_enable;
src/mame/includes/yunsung8.h
r9191r9192
44
55*************************************************************************/
66
7class yunsung8_state : public driver_data_t
7class yunsung8_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, yunsung8_state(machine)); }
10   yunsung8_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   yunsung8_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *     videoram;
1715
src/mame/includes/spacefb.h
r9191r9192
2626
2727/*----------- defined in audio/spacefb.c -----------*/
2828
29MACHINE_DRIVER_EXTERN( spacefb_audio );
29MACHINE_CONFIG_EXTERN( spacefb_audio );
3030
3131READ8_HANDLER( spacefb_audio_p2_r );
3232READ8_HANDLER( spacefb_audio_t0_r );
src/mame/includes/cbuster.h
r9191r9192
44
55*************************************************************************/
66
7class cbuster_state : public driver_data_t
7class cbuster_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cbuster_state(machine)); }
10   cbuster_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   cbuster_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *  pf1_rowscroll;
1715   UINT16 *  pf2_rowscroll;
src/mame/includes/jaguar.h
r9191r9192
2626extern UINT32 *jaguar_dsp_ram;
2727extern UINT32 *jaguar_wave_rom;
2828
29extern UINT8 blitter_status;
30
3129/*----------- defined in audio/jaguar.c -----------*/
3230
3331TIMER_DEVICE_CALLBACK( jaguar_serial_callback );
r9191r9192
5048
5149/*----------- defined in video/jaguar.c -----------*/
5250
51extern UINT8 blitter_status;
52
5353void jaguar_gpu_suspend(running_machine *machine);
5454void jaguar_gpu_resume(running_machine *machine);
5555
src/mame/includes/gng.h
r9191r9192
44
55*************************************************************************/
66
7class gng_state : public driver_data_t
7class gng_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gng_state(machine)); }
10   gng_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gng_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    bgvideoram;
1715   UINT8 *    fgvideoram;
src/mame/includes/ojankohs.h
r9191r9192
44
55*************************************************************************/
66
7class ojankohs_state : public driver_data_t
7class ojankohs_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ojankohs_state(machine)); }
10   ojankohs_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ojankohs_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *   videoram;
1715   UINT8 *   colorram;
src/mame/includes/n8080.h
r9191r9192
11
2class n8080_state : public driver_data_t
2class n8080_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, n8080_state(machine)); }
5   n8080_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   n8080_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 * videoram;
1210   UINT8 * colorram;   // for helifire
r9191r9192
6361
6462/*----------- defined in audio/n8080.c -----------*/
6563
66MACHINE_DRIVER_EXTERN( spacefev_sound );
67MACHINE_DRIVER_EXTERN( sheriff_sound );
68MACHINE_DRIVER_EXTERN( helifire_sound );
64MACHINE_CONFIG_EXTERN( spacefev_sound );
65MACHINE_CONFIG_EXTERN( sheriff_sound );
66MACHINE_CONFIG_EXTERN( helifire_sound );
6967
7068MACHINE_START( spacefev_sound );
7169MACHINE_START( sheriff_sound );
src/mame/includes/wc90b.h
r0r9192
1/*----------- defined in video/wc90b.c -----------*/
2
3extern UINT8 *wc90b_fgvideoram,*wc90b_bgvideoram,*wc90b_txvideoram;
4
5extern UINT8 *wc90b_scroll1x;
6extern UINT8 *wc90b_scroll2x;
7
8extern UINT8 *wc90b_scroll1y;
9extern UINT8 *wc90b_scroll2y;
10
11extern UINT8 *wc90b_scroll_x_lo;
12
13VIDEO_START( wc90b );
14VIDEO_UPDATE( wc90b );
15
16WRITE8_HANDLER( wc90b_bgvideoram_w );
17WRITE8_HANDLER( wc90b_fgvideoram_w );
18WRITE8_HANDLER( wc90b_txvideoram_w );
src/mame/includes/kncljoe.h
r9191r9192
44
55*************************************************************************/
66
7class kncljoe_state : public driver_data_t
7class kncljoe_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kncljoe_state(machine)); }
10   kncljoe_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   kncljoe_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    spriteram;
src/mame/includes/holeland.h
r9191r9192
44
55*************************************************************************/
66
7class holeland_state : public driver_data_t
7class holeland_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, holeland_state(machine)); }
10   holeland_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   holeland_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/liberate.h
r9191r9192
1class liberate_state : public driver_data_t
1class liberate_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, liberate_state(machine)); }
4   liberate_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   liberate_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT8 *videoram;
108   UINT8 *colorram;
119   UINT8 *paletteram;
src/mame/includes/spdodgeb.h
r0r9192
1/*----------- defined in video/spdodgeb.c -----------*/
2
3extern UINT8 *spdodgeb_videoram;
4
5PALETTE_INIT( spdodgeb );
6VIDEO_START( spdodgeb );
7VIDEO_UPDATE( spdodgeb );
8INTERRUPT_GEN( spdodgeb_interrupt );
9WRITE8_HANDLER( spdodgeb_scrollx_lo_w );
10WRITE8_HANDLER( spdodgeb_ctrl_w );
11WRITE8_HANDLER( spdodgeb_videoram_w );
src/mame/includes/gunsmoke.h
r9191r9192
44
55*************************************************************************/
66
7class gunsmoke_state : public driver_data_t
7class gunsmoke_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gunsmoke_state(machine)); }
10   gunsmoke_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gunsmoke_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/turbo.h
r9191r9192
2222};
2323
2424
25class turbo_state : public driver_data_t
25class turbo_state : public driver_device
2626{
2727public:
28   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, turbo_state(machine)); }
28   turbo_state(running_machine &machine, const driver_device_config_base &config)
29      : driver_device(machine, config) { }
2930
30   turbo_state(running_machine &machine)
31      : driver_data_t(machine) { }
32
3331   /* memory pointers */
3432   UINT8 *      videoram;
3533   UINT8 *      spriteram;
r9191r9192
7169
7270/*----------- defined in audio/turbo.c -----------*/
7371
74MACHINE_DRIVER_EXTERN( turbo_samples );
75MACHINE_DRIVER_EXTERN( subroc3d_samples );
76MACHINE_DRIVER_EXTERN( buckrog_samples );
72MACHINE_CONFIG_EXTERN( turbo_samples );
73MACHINE_CONFIG_EXTERN( subroc3d_samples );
74MACHINE_CONFIG_EXTERN( buckrog_samples );
7775
7876WRITE8_DEVICE_HANDLER( turbo_sound_a_w );
7977WRITE8_DEVICE_HANDLER( turbo_sound_b_w );
src/mame/includes/cvs.h
r9191r9192
1616   int x, y, code;
1717};
1818
19class cvs_state : public driver_data_t
19class cvs_state : public driver_device
2020{
2121public:
22   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cvs_state(machine)); }
22   cvs_state(running_machine &machine, const driver_device_config_base &config)
23      : driver_device(machine, config) { }
2324
24   cvs_state(running_machine &machine)
25      : driver_data_t(machine) { }
26
2725   /* memory pointers */
2826   UINT8 *    video_ram;
2927   UINT8 *    bullet_ram;
src/mame/includes/truco.h
r0r9192
1class truco_state : public driver_device
2{
3public:
4   truco_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/truco.c -----------*/
12
13VIDEO_UPDATE( truco );
14PALETTE_INIT( truco );
src/mame/includes/seta.h
r9191r9192
2424   int tilemap_offs[2];
2525};
2626
27class seta_state : public driver_data_t
27class seta_state : public driver_device
2828{
2929public:
30   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, seta_state(machine)); }
30   seta_state(running_machine &machine, const driver_device_config_base &config)
31      : driver_device(machine, config) { }
3132
32   seta_state(running_machine &machine)
33      : driver_data_t(machine) { }
34
3533   UINT8 *sharedram;
3634   UINT16 *workram;
3735   UINT16 *vregs;
src/mame/includes/laserbat.h
r9191r9192
44
55*************************************************************************/
66
7class laserbat_state : public driver_data_t
7class laserbat_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, laserbat_state(machine)); }
10   laserbat_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   laserbat_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* video-related */
1614   tilemap_t    *bg_tilemap;
1715   UINT8      *videoram;
src/mame/includes/tnzs.h
r9191r9192
1515   MCU_TNZS
1616};
1717
18class tnzs_state : public driver_data_t
18class tnzs_state : public driver_device
1919{
2020public:
21   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tnzs_state(machine)); }
21   tnzs_state(running_machine &machine, const driver_device_config_base &config)
22      : driver_device(machine, config) { }
2223
23   tnzs_state(running_machine &machine)
24      : driver_data_t(machine) { }
25
2624   /* memory pointers */
2725   UINT8 *  objram;
2826   UINT8 *  vdcram;
src/mame/includes/tp84.h
r0r9192
1/*----------- defined in video/tp84.c -----------*/
2
3extern UINT8 *tp84_bg_videoram;
4extern UINT8 *tp84_bg_colorram;
5extern UINT8 *tp84_fg_videoram;
6extern UINT8 *tp84_fg_colorram;
7extern UINT8 *tp84_spriteram;
8extern UINT8 *tp84_scroll_x;
9extern UINT8 *tp84_scroll_y;
10extern UINT8 *tp84_palette_bank;
11extern UINT8 *tp84_flipscreen_x;
12extern UINT8 *tp84_flipscreen_y;
13
14WRITE8_HANDLER( tp84_spriteram_w );
15READ8_HANDLER( tp84_scanline_r );
16
17PALETTE_INIT( tp84 );
18VIDEO_START( tp84 );
19VIDEO_UPDATE( tp84 );
src/mame/includes/rohga.h
r9191r9192
77#include "sound/okim6295.h"
88#include "video/deco16ic.h"
99
10class rohga_state : public driver_data_t
10class rohga_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rohga_state(machine)); }
13   rohga_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config),
15        maincpu(*this, "maincpu"),
16        audiocpu(*this, "audiocpu"),
17        deco16ic(*this, "deco_custom"),
18        oki1(*this, "oki1"),
19        oki2(*this, "oki2") { }
1420
15   rohga_state(running_machine &machine)
16      : driver_data_t(machine),
17        maincpu(machine.device<cpu_device>("maincpu")),
18        audiocpu(machine.device<cpu_device>("audiocpu")),
19        deco16ic(machine.device<deco16ic_device>("deco_custom")),
20        oki1(machine.device<okim6295_device>("oki1")),
21        oki2(machine.device<okim6295_device>("oki2")) { }
22
2321   /* memory pointers */
2422   UINT16 *  pf1_rowscroll;
2523   UINT16 *  pf2_rowscroll;
r9191r9192
2826   UINT16 *  spriteram;
2927
3028   /* devices */
31   cpu_device *maincpu;
32   cpu_device *audiocpu;
33   deco16ic_device *deco16ic;
34   okim6295_device *oki1;
35   okim6295_device *oki2;
29   required_device<cpu_device> maincpu;
30   required_device<cpu_device> audiocpu;
31   required_device<deco16ic_device> deco16ic;
32   required_device<okim6295_device> oki1;
33   required_device<okim6295_device> oki2;
3634};
3735
3836
src/mame/includes/higemaru.h
r9191r9192
44
55*************************************************************************/
66
7class higemaru_state : public driver_data_t
7class higemaru_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, higemaru_state(machine)); }
10   higemaru_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   higemaru_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/plygonet.h
r9191r9192
1class polygonet_state : public driver_data_t
1class polygonet_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, polygonet_state(machine)); }
4   polygonet_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   polygonet_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   /* 68k-side shared ram */
108   UINT32* shared_ram;
119
src/mame/includes/batman.h
r9191r9192
99class batman_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, batman_state(machine)); }
12   batman_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   batman_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT16         latch_data;
1816
1917   UINT8         alpha_tile_bank;
src/mame/includes/nemesis.h
r9191r9192
1class nemesis_state : public driver_data_t
1class nemesis_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nemesis_state(machine)); }
4   nemesis_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   nemesis_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   /* memory pointers */
108   UINT16 *  videoram1;
119   UINT16 *  videoram2;
src/mame/includes/cheekyms.h
r9191r9192
55*************************************************************************/
66
77
8class cheekyms_state : public driver_data_t
8class cheekyms_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cheekyms_state(machine)); }
11   cheekyms_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   cheekyms_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* memory pointers */
1715   UINT8 *        videoram;
1816   UINT8 *        spriteram;
src/mame/includes/magmax.h
r0r9192
1class magmax_state : public driver_device
2{
3public:
4   magmax_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
11/*----------- defined in video/magmax.c -----------*/
12
13extern UINT16 *magmax_vreg;
14extern UINT16 *magmax_scroll_x;
15extern UINT16 *magmax_scroll_y;
16
17PALETTE_INIT( magmax );
18VIDEO_UPDATE( magmax );
19VIDEO_START( magmax );
src/mame/includes/timelimt.h
r0r9192
1class timelimt_state : public driver_device
2{
3public:
4   timelimt_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/timelimt.c -----------*/
12
13extern UINT8 *timelimt_bg_videoram;
14extern size_t timelimt_bg_videoram_size;
15
16VIDEO_START( timelimt );
17PALETTE_INIT( timelimt );
18VIDEO_UPDATE( timelimt );
19
20WRITE8_HANDLER( timelimt_videoram_w );
21WRITE8_HANDLER( timelimt_bg_videoram_w );
22WRITE8_HANDLER( timelimt_scroll_y_w );
23WRITE8_HANDLER( timelimt_scroll_x_msb_w );
24WRITE8_HANDLER( timelimt_scroll_x_lsb_w );
src/mame/includes/warriorb.h
r9191r9192
44
55*************************************************************************/
66
7class warriorb_state : public driver_data_t
7class warriorb_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, warriorb_state(machine)); }
10   warriorb_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   warriorb_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *   spriteram;
1715   size_t     spriteram_size;
src/mame/includes/goal92.h
r9191r9192
44
55*************************************************************************/
66
7class goal92_state : public driver_data_t
7class goal92_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, goal92_state(machine)); }
10   goal92_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   goal92_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    bg_data;
1715   UINT16 *    fg_data;
src/mame/includes/bishi.h
r9191r9192
77#define CPU_CLOCK       (XTAL_24MHz / 2)      /* 68000 clock */
88#define SOUND_CLOCK     XTAL_16_9344MHz      /* YMZ280 clock */
99
10class bishi_state : public driver_data_t
10class bishi_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bishi_state(machine)); }
13   bishi_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config) { }
1415
15   bishi_state(running_machine &machine)
16      : driver_data_t(machine) { }
17
1816   /* memory pointers */
1917   UINT8 *    ram;
2018//  UINT8 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/1942.h
r9191r9192
44
55***************************************************************************/
66
7class _1942_state : public driver_data_t
7class _1942_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _1942_state(machine)); }
10   _1942_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   _1942_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 * fg_videoram;
1715   UINT8 * bg_videoram;
src/mame/includes/bloodbro.h
r0r9192
1/*----------- defined in video/bloodbro.c -----------*/
2
3extern UINT16 *bloodbro_bgvideoram, *bloodbro_fgvideoram;
4extern UINT16 *bloodbro_txvideoram;
5extern UINT16 *bloodbro_scroll;
6
7WRITE16_HANDLER( bloodbro_bgvideoram_w );
8WRITE16_HANDLER( bloodbro_fgvideoram_w );
9WRITE16_HANDLER( bloodbro_txvideoram_w );
10
11VIDEO_UPDATE( bloodbro );
12VIDEO_UPDATE( weststry );
13VIDEO_UPDATE( skysmash );
14VIDEO_START( bloodbro );
src/mame/includes/raiden.h
r0r9192
1class raiden_state : public driver_device
2{
3public:
4   raiden_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
11/*----------- defined in video/raiden.c -----------*/
12
13extern UINT16 *raiden_back_data,*raiden_fore_data,*raiden_scroll_ram;
14
15WRITE16_HANDLER( raiden_background_w );
16WRITE16_HANDLER( raiden_foreground_w );
17WRITE16_HANDLER( raiden_text_w );
18VIDEO_START( raiden );
19VIDEO_START( raidena );
20WRITE16_HANDLER( raiden_control_w );
21WRITE16_HANDLER( raidena_control_w );
22VIDEO_UPDATE( raiden );
src/mame/includes/fromanc2.h
r9191r9192
11
2class fromanc2_state : public driver_data_t
2class fromanc2_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fromanc2_state(machine)); }
5   fromanc2_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   fromanc2_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT16   *paletteram[2];
1210   UINT16   *videoram[2][4];
src/mame/includes/bombjack.h
r9191r9192
44
55*************************************************************************/
66
7class bombjack_state : public driver_data_t
7class bombjack_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bombjack_state(machine)); }
10   bombjack_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   bombjack_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/trucocl.h
r0r9192
1/*----------- defined in video/trucocl.c -----------*/
2
3extern UINT8 *trucocl_videoram;
4extern UINT8 *trucocl_colorram;
5
6WRITE8_HANDLER( trucocl_videoram_w );
7WRITE8_HANDLER( trucocl_colorram_w );
8PALETTE_INIT( trucocl );
9VIDEO_START( trucocl );
10VIDEO_UPDATE( trucocl );
src/mame/includes/gridlee.h
r9191r9192
99#include "devlegcy.h"
1010
1111
12class gridlee_state : public driver_device
13{
14public:
15   gridlee_state(running_machine &machine, const driver_device_config_base &config)
16      : driver_device(machine, config) { }
17
18   UINT8 *videoram;
19};
20
21
1222/*----------- defined in audio/gridlee.c -----------*/
1323
1424WRITE8_HANDLER( gridlee_sound_w );
src/mame/includes/blockhl.h
r9191r9192
44
55*************************************************************************/
66
7class blockhl_state : public driver_data_t
7class blockhl_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blockhl_state(machine)); }
10   blockhl_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   blockhl_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    ram;
1715//  UINT8 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/gcpinbal.h
r9191r9192
22#include "sound/okim6295.h"
33#include "sound/msm5205.h"
44
5class gcpinbal_state : public driver_data_t
5class gcpinbal_state : public driver_device
66{
77public:
8   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gcpinbal_state(machine)); }
8   gcpinbal_state(running_machine &machine, const driver_device_config_base &config)
9      : driver_device(machine, config),
10        maincpu(*this, "maincpu"),
11        oki(*this, "oki"),
12        msm(*this, "msm") { }
913
10   gcpinbal_state(running_machine &machine)
11      : driver_data_t(machine),
12        maincpu(machine.device<cpu_device>("maincpu")),
13        oki(machine.device<okim6295_device>("oki")),
14        msm(machine.device<msm5205_sound_device>("msm")) { }
15
1614   /* memory pointers */
1715   UINT16 *    tilemapram;
1816   UINT16 *    ioc_ram;
r9191r9192
3432   UINT8       adpcm_trigger, adpcm_data;
3533
3634   /* devices */
37   cpu_device *maincpu;
38   okim6295_device *oki;
39   msm5205_sound_device *msm;
35   required_device<cpu_device> maincpu;
36   required_device<okim6295_device> oki;
37   required_device<msm5205_device> msm;
4038};
4139
4240
src/mame/includes/carjmbre.h
r9191r9192
44
55***************************************************************************/
66
7class carjmbre_state : public driver_data_t
7class carjmbre_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, carjmbre_state(machine)); }
10   carjmbre_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   carjmbre_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 * videoram;
1715   UINT8 * spriteram;
src/mame/includes/gatron.h
r0r9192
1class gatron_state : public driver_device
2{
3public:
4   gatron_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/gatron.c -----------*/
12
13WRITE8_HANDLER( gat_videoram_w );
14PALETTE_INIT( gat );
15VIDEO_START( gat );
16VIDEO_UPDATE( gat );
17
src/mame/includes/superchs.h
r0r9192
1/*----------- defined in video/superchs.c -----------*/
2
3VIDEO_START( superchs );
4VIDEO_UPDATE( superchs );
src/mame/includes/bottom9.h
r9191r9192
44
55*************************************************************************/
66
7class bottom9_state : public driver_data_t
7class bottom9_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bottom9_state(machine)); }
10   bottom9_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   bottom9_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT8 *    paletteram;    // currently this uses generic palette handling
1715
src/mame/includes/battlera.h
r0r9192
1/*----------- defined in video/battlera.c -----------*/
2
3VIDEO_UPDATE( battlera );
4VIDEO_START( battlera );
5INTERRUPT_GEN( battlera_interrupt );
6
7READ8_HANDLER( HuC6270_register_r );
8WRITE8_HANDLER( HuC6270_register_w );
9//READ8_HANDLER( HuC6270_data_r );
10WRITE8_HANDLER( HuC6270_data_w );
11WRITE8_HANDLER( battlera_palette_w );
12
13READ8_HANDLER( HuC6270_debug_r );
14WRITE8_HANDLER( HuC6270_debug_w );
src/mame/includes/xain.h
r0r9192
1/*----------- defined in video/xain.c -----------*/
2
3extern UINT8 *xain_charram, *xain_bgram0, *xain_bgram1, xain_pri;
4
5VIDEO_UPDATE( xain );
6VIDEO_START( xain );
7WRITE8_HANDLER( xain_scrollxP0_w );
8WRITE8_HANDLER( xain_scrollyP0_w );
9WRITE8_HANDLER( xain_scrollxP1_w );
10WRITE8_HANDLER( xain_scrollyP1_w );
11WRITE8_HANDLER( xain_charram_w );
12WRITE8_HANDLER( xain_bgram0_w );
13WRITE8_HANDLER( xain_bgram1_w );
14WRITE8_HANDLER( xain_flipscreen_w );
src/mame/includes/gundealr.h
r9191r9192
44
55*************************************************************************/
66
7class gundealr_state : public driver_data_t
7class gundealr_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gundealr_state(machine)); }
10   gundealr_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gundealr_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    bg_videoram;
1715   UINT8 *    fg_videoram;
src/mame/includes/mrdo.h
r9191r9192
44
55*************************************************************************/
66
7class mrdo_state : public driver_data_t
7class mrdo_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mrdo_state(machine)); }
10   mrdo_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   mrdo_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    bgvideoram;
1715   UINT8 *    fgvideoram;
src/mame/includes/mainevt.h
r9191r9192
44
55*************************************************************************/
66
7class mainevt_state : public driver_data_t
7class mainevt_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mainevt_state(machine)); }
10   mainevt_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   mainevt_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT8 *    paletteram;    // currently this uses generic palette handling
1715
src/mame/includes/megazone.h
r9191r9192
44
55*************************************************************************/
66
7class megazone_state : public driver_data_t
7class megazone_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, megazone_state(machine)); }
10   megazone_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   megazone_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *       scrollx;
1715   UINT8 *       scrolly;
src/mame/includes/toki.h
r0r9192
1class toki_state : public driver_device
2{
3public:
4   toki_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
11/*----------- defined in video/toki.c -----------*/
12
13extern UINT16 *toki_background1_videoram16;
14extern UINT16 *toki_background2_videoram16;
15extern UINT16 *toki_scrollram16;
16
17VIDEO_START( toki );
18VIDEO_EOF( toki );
19VIDEO_EOF( tokib );
20VIDEO_UPDATE( toki );
21VIDEO_UPDATE( tokib );
22WRITE16_HANDLER( toki_background1_videoram16_w );
23WRITE16_HANDLER( toki_background2_videoram16_w );
24WRITE16_HANDLER( toki_control_w );
25WRITE16_HANDLER( toki_foreground_videoram16_w );
src/mame/includes/pass.h
r9191r9192
1class pass_state : public driver_data_t
1class pass_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pass_state(machine)); }
4   pass_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   pass_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   tilemap_t *bg_tilemap;
108   tilemap_t *fg_tilemap;
119
src/mame/includes/renegade.h
r0r9192
1class renegade_state : public driver_device
2{
3public:
4   renegade_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/renegade.c -----------*/
12
13extern UINT8 *renegade_videoram2;
14
15VIDEO_UPDATE( renegade );
16VIDEO_START( renegade );
17WRITE8_HANDLER( renegade_scroll0_w );
18WRITE8_HANDLER( renegade_scroll1_w );
19WRITE8_HANDLER( renegade_videoram_w );
20WRITE8_HANDLER( renegade_videoram2_w );
21WRITE8_HANDLER( renegade_flipscreen_w );
src/mame/includes/galaga.h
r9191r9192
11#include "sound/discrete.h"
22
3class _galaga_state : public driver_data_t
3class _galaga_state : public driver_device
44{
55public:
6   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _galaga_state(machine)); }
7
8   _galaga_state(running_machine &machine)
9      : driver_data_t(machine)
6   _galaga_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config)
108   {
119      xevious_bs[0] = 0;
1210      xevious_bs[1] = 0;
src/mame/includes/lasso.h
r9191r9192
44
55***************************************************************************/
66
7class lasso_state : public driver_data_t
7class lasso_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lasso_state(machine)); }
10   lasso_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   lasso_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *  videoram;
1715   UINT8 *  colorram;
src/mame/includes/taito_h.h
r9191r9192
44
55*************************************************************************/
66
7class taitoh_state : public driver_data_t
7class taitoh_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitoh_state(machine)); }
10   taitoh_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   taitoh_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    m68000_mainram;
1715//  UINT16 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/psychic5.h
r0r9192
1/*----------- defined in video/psychic5.c -----------*/
2
3WRITE8_HANDLER( psychic5_paged_ram_w );
4WRITE8_HANDLER( psychic5_vram_page_select_w );
5WRITE8_HANDLER( psychic5_title_screen_w );
6
7READ8_HANDLER( psychic5_paged_ram_r );
8READ8_HANDLER( psychic5_vram_page_select_r );
9
10VIDEO_START( psychic5 );
11VIDEO_RESET( psychic5 );
12VIDEO_UPDATE( psychic5 );
13
14WRITE8_HANDLER( bombsa_paged_ram_w );
15WRITE8_HANDLER( bombsa_unknown_w );
16
17VIDEO_START( bombsa );
18VIDEO_RESET( bombsa );
19VIDEO_UPDATE( bombsa );
src/mame/includes/othunder.h
r9191r9192
1515};
1616
1717
18class othunder_state : public driver_data_t
18class othunder_state : public driver_device
1919{
2020public:
21   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, othunder_state(machine)); }
21   othunder_state(running_machine &machine, const driver_device_config_base &config)
22      : driver_device(machine, config) { }
2223
23   othunder_state(running_machine &machine)
24      : driver_data_t(machine) { }
25
2624   /* memory pointers */
2725   UINT16 *   spriteram;
2826   size_t     spriteram_size;
src/mame/includes/ginganin.h
r9191r9192
44
55*************************************************************************/
66
7class ginganin_state : public driver_data_t
7class ginganin_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ginganin_state(machine)); }
10   ginganin_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ginganin_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    fgram;
1715   UINT16 *    txtram;
src/mame/includes/tail2nos.h
r9191r9192
44
55*************************************************************************/
66
7class tail2nos_state : public driver_data_t
7class tail2nos_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tail2nos_state(machine)); }
10   tail2nos_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   tail2nos_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    bgvideoram;
1715   UINT16 *    spriteram;
src/mame/includes/mrjong.h
r9191r9192
44
55*************************************************************************/
66
7class mrjong_state : public driver_data_t
7class mrjong_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mrjong_state(machine)); }
10   mrjong_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   mrjong_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/slapshot.h
r9191r9192
1414   int primask;
1515};
1616
17class slapshot_state : public driver_data_t
17class slapshot_state : public driver_device
1818{
1919public:
20   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, slapshot_state(machine)); }
20   slapshot_state(running_machine &machine, const driver_device_config_base &config)
21      : driver_device(machine, config) { }
2122
22   slapshot_state(running_machine &machine)
23      : driver_data_t(machine) { }
24
2523   /* memory pointers */
2624   UINT16 *    color_ram;
2725   UINT16 *    spriteram;
src/mame/includes/xyonix.h
r9191r9192
1class xyonix_state : public driver_data_t
1class xyonix_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, xyonix_state(machine)); }
4   xyonix_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   xyonix_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT8 *vidram;
108   tilemap_t *tilemap;
119
src/mame/includes/1943.h
r9191r9192
44
55***************************************************************************/
66
7class _1943_state : public driver_data_t
7class _1943_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _1943_state(machine)); }
10   _1943_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   _1943_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 * videoram;
1715   UINT8 * colorram;
src/mame/includes/cninja.h
r9191r9192
77#include "sound/okim6295.h"
88#include "video/deco16ic.h"
99
10class cninja_state : public driver_data_t
10class cninja_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cninja_state(machine)); }
13   cninja_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config),
15        maincpu(*this, "maincpu"),
16        audiocpu(*this, "audiocpu"),
17        deco16ic(*this, "deco_custom"),
18        raster_irq_timer(*this, "raster_timer"),
19        oki2(*this, "oki2") { }
1420
15   cninja_state(running_machine &machine)
16      : driver_data_t(machine),
17        maincpu(machine.device<cpu_device>("maincpu")),
18        audiocpu(machine.device<cpu_device>("audiocpu")),
19        deco16ic(machine.device<deco16ic_device>("deco_custom")),
20        raster_irq_timer(machine.device<timer_device>("raster_timer")),
21        oki2(machine.device<okim6295_device>("oki2")) { }
22
2321   /* memory pointers */
2422   UINT16 *   ram;
2523   UINT16 *   pf1_rowscroll;
r9191r9192
3129   int        scanline, irq_mask;
3230
3331   /* devices */
34   cpu_device *maincpu;
35   cpu_device *audiocpu;
36   deco16ic_device *deco16ic;
37   timer_device *raster_irq_timer;
38   okim6295_device *oki2;
32   required_device<cpu_device> maincpu;
33   required_device<cpu_device> audiocpu;
34   required_device<deco16ic_device> deco16ic;
35   optional_device<timer_device> raster_irq_timer;
36   optional_device<okim6295_device> oki2;
3937};
4038
4139/*----------- defined in video/cninja.c -----------*/
src/mame/includes/lucky74.h
r0r9192
1/*----------- defined in video/lucky74.c -----------*/
2
3extern UINT8 *lucky74_fg_videoram, *lucky74_fg_colorram, *lucky74_bg_videoram, *lucky74_bg_colorram;
4
5WRITE8_HANDLER( lucky74_fg_videoram_w );
6WRITE8_HANDLER( lucky74_fg_colorram_w );
7WRITE8_HANDLER( lucky74_bg_videoram_w );
8WRITE8_HANDLER( lucky74_bg_colorram_w );
9PALETTE_INIT( lucky74 );
10VIDEO_START( lucky74 );
11VIDEO_UPDATE( lucky74 );
src/mame/includes/pacland.h
r0r9192
1/*----------- defined in video/pacland.c -----------*/
2
3extern UINT8 *pacland_videoram,*pacland_videoram2,*pacland_spriteram;
4
5WRITE8_HANDLER( pacland_videoram_w );
6WRITE8_HANDLER( pacland_videoram2_w );
7WRITE8_HANDLER( pacland_scroll0_w );
8WRITE8_HANDLER( pacland_scroll1_w );
9WRITE8_HANDLER( pacland_bankswitch_w );
10
11PALETTE_INIT( pacland );
12VIDEO_START( pacland );
13VIDEO_UPDATE( pacland );
src/mame/includes/psikyo4.h
r9191r9192
77#define MASTER_CLOCK 57272700   // main oscillator frequency
88
99
10class psikyo4_state : public driver_data_t
10class psikyo4_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, psikyo4_state(machine)); }
13   psikyo4_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config) { }
1415
15   psikyo4_state(running_machine &machine)
16      : driver_data_t(machine) { }
17
1816   /* memory pointers */
1917   UINT32 *       vidregs;
2018   UINT32 *       paletteram;
src/mame/includes/rollrace.h
r0r9192
1/*----------- defined in video/rollrace.c -----------*/
2
3extern UINT8 *rollrace_videoram;
4extern UINT8 *rollrace_colorram;
5
6VIDEO_UPDATE( rollrace );
7
8WRITE8_HANDLER( rollrace_charbank_w );
9WRITE8_HANDLER( rollrace_backgroundpage_w );
10WRITE8_HANDLER( rollrace_backgroundcolor_w );
11WRITE8_HANDLER( rollrace_bkgpen_w );
12WRITE8_HANDLER( rollrace_flipy_w );
13WRITE8_HANDLER( rollrace_spritebank_w );
14WRITE8_HANDLER( rollrace_flipx_w );
15
src/mame/includes/popper.h
r9191r9192
44
55***************************************************************************/
66
7class popper_state : public driver_data_t
7class popper_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, popper_state(machine)); }
10   popper_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   popper_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 * videoram;
1715   UINT8 * ol_videoram;
src/mame/includes/djboy.h
r9191r9192
66
77#define PROT_OUTPUT_BUFFER_SIZE 8
88
9class djboy_state : public driver_data_t
9class djboy_state : public driver_device
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, djboy_state(machine)); }
12   djboy_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
1314
14   djboy_state(running_machine &machine)
15      : driver_data_t(machine) { }
16
1715   /* memory pointers */
1816   UINT8      *videoram;
1917   UINT8      *paletteram;
src/mame/includes/ladyfrog.h
r9191r9192
44
55*************************************************************************/
66
7class ladyfrog_state : public driver_data_t
7class ladyfrog_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ladyfrog_state(machine)); }
10   ladyfrog_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ladyfrog_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    spriteram;
src/mame/includes/sidearms.h
r9191r9192
1class sidearms_state : public driver_data_t
1class sidearms_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sidearms_state(machine)); }
4   sidearms_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   sidearms_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   int gameid;
108
119   UINT8 *videoram;
src/mame/includes/tumblep.h
r9191r9192
44
55*************************************************************************/
66
7class tumblep_state : public driver_data_t
7class tumblep_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tumblep_state(machine)); }
10   tumblep_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   tumblep_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *  pf1_rowscroll;
1715   UINT16 *  pf2_rowscroll;
src/mame/includes/jack.h
r9191r9192
44
55*************************************************************************/
66
7class jack_state : public driver_data_t
7class jack_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jack_state(machine)); }
10   jack_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   jack_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/dogfgt.h
r9191r9192
33#define BITMAPRAM_SIZE      0x6000
44
55
6class dogfgt_state : public driver_data_t
6class dogfgt_state : public driver_device
77{
88public:
9   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dogfgt_state(machine)); }
9   dogfgt_state(running_machine &machine, const driver_device_config_base &config)
10      : driver_device(machine, config) { }
1011
11   dogfgt_state(running_machine &machine)
12      : driver_data_t(machine) { }
13
1412   /* memory pointers */
1513   UINT8 *    bgvideoram;
1614   UINT8 *    spriteram;
src/mame/includes/dietgo.h
r9191r9192
44
55*************************************************************************/
66
7class dietgo_state : public driver_data_t
7class dietgo_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dietgo_state(machine)); }
10   dietgo_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   dietgo_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *  pf1_rowscroll;
1715   UINT16 *  pf2_rowscroll;
src/mame/includes/vigilant.h
r0r9192
1class vigilant_state : public driver_device
2{
3public:
4   vigilant_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/vigilant.c -----------*/
12
13VIDEO_START( vigilant );
14VIDEO_RESET( vigilant );
15WRITE8_HANDLER( vigilant_paletteram_w );
16WRITE8_HANDLER( vigilant_horiz_scroll_w );
17WRITE8_HANDLER( vigilant_rear_horiz_scroll_w );
18WRITE8_HANDLER( vigilant_rear_color_w );
19VIDEO_UPDATE( vigilant );
20VIDEO_UPDATE( kikcubic );
src/mame/includes/kingobox.h
r9191r9192
44
55*************************************************************************/
66
7class kingofb_state : public driver_data_t
7class kingofb_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kingofb_state(machine)); }
10   kingofb_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   kingofb_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    videoram2;
src/mame/includes/galivan.h
r9191r9192
44
55***************************************************************************/
66
7class galivan_state : public driver_data_t
7class galivan_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, galivan_state(machine)); }
10   galivan_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   galivan_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *     videoram;
1715   UINT8 *     colorram;
src/mame/includes/blockout.h
r9191r9192
44
55***************************************************************************/
66
7class blockout_state : public driver_data_t
7class blockout_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blockout_state(machine)); }
10   blockout_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   blockout_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 * videoram;
1715   UINT16 * frontvideoram;
src/mame/includes/tsamurai.h
r0r9192
1/*----------- defined in video/tsamurai.c -----------*/
2
3extern UINT8 *tsamurai_videoram;
4extern UINT8 *tsamurai_colorram;
5extern UINT8 *tsamurai_bg_videoram;
6
7WRITE8_HANDLER( vsgongf_color_w );
8
9WRITE8_HANDLER( tsamurai_bgcolor_w );
10WRITE8_HANDLER( tsamurai_textbank1_w );
11WRITE8_HANDLER( tsamurai_textbank2_w );
12
13WRITE8_HANDLER( tsamurai_scrolly_w );
14WRITE8_HANDLER( tsamurai_scrollx_w );
15WRITE8_HANDLER( tsamurai_bg_videoram_w );
16WRITE8_HANDLER( tsamurai_fg_videoram_w );
17WRITE8_HANDLER( tsamurai_fg_colorram_w );
18
19VIDEO_START( tsamurai );
20VIDEO_UPDATE( tsamurai );
21
22VIDEO_START( vsgongf );
23VIDEO_UPDATE( vsgongf );
src/mame/includes/canyon.h
r9191r9192
1717
1818
1919
20class canyon_state : public driver_data_t
20class canyon_state : public driver_device
2121{
2222public:
23   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, canyon_state(machine)); }
23   canyon_state(running_machine &machine, const driver_device_config_base &config)
24      : driver_device(machine, config) { }
2425
25   canyon_state(running_machine &machine)
26      : driver_data_t(machine) { }
27
2826   /* memory pointers */
2927   UINT8 *  videoram;
3028
src/mame/includes/splash.h
r0r9192
1class splash_state : public driver_device
2{
3public:
4   splash_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *vregs;
8   UINT16 *videoram;
9   UINT16 *spriteram;
10   UINT16 *pixelram;
11   UINT16 *bitmap_mode;
12   int bitmap_type;
13   int sprite_attr2_shift;
14   tilemap_t *bg_tilemap[2];
15
16   int adpcm_data;
17   int ret;
18   UINT16 *protdata;
19};
20
21
22/*----------- defined in video/splash.c -----------*/
23
24WRITE16_HANDLER( splash_vram_w );
25VIDEO_START( splash );
26VIDEO_UPDATE( splash );
27VIDEO_UPDATE( funystrp );
src/mame/includes/f1gp.h
r9191r9192
11
2class f1gp_state : public driver_data_t
2class f1gp_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, f1gp_state(machine)); }
5   f1gp_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   f1gp_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT16 *  sharedram;
1210   UINT16 *  spr1vram;
src/mame/includes/lvcards.h
r0r9192
1/*----------- defined in video/lvcards.c -----------*/
2
3extern UINT8 *lvcards_videoram;
4extern UINT8 *lvcards_colorram;
5
6WRITE8_HANDLER( lvcards_videoram_w );
7WRITE8_HANDLER( lvcards_colorram_w );
8
9PALETTE_INIT( lvcards );
10PALETTE_INIT( ponttehk );
11VIDEO_START( lvcards );
12VIDEO_UPDATE( lvcards );
src/mame/includes/midwunit.h
r9191r9192
66
77#include "midtunit.h"
88
9class midwxunit_state : public driver_device
10{
11public:
12   midwxunit_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config),
14        m_nvram(*this, "nvram") { }
15
16   required_shared_ptr<UINT16>   m_nvram;
17};
18
919/*----------- defined in machine/midwunit.c -----------*/
1020
1121extern UINT8 *midwunit_decode_memory;
src/mame/includes/route16.h
r0r9192
1/*----------- defined in video/route16.c -----------*/
2
3extern UINT8 *route16_videoram1;
4extern UINT8 *route16_videoram2;
5extern size_t route16_videoram_size;
6
7WRITE8_HANDLER( route16_out0_w );
8WRITE8_HANDLER( route16_out1_w );
9VIDEO_UPDATE( route16 );
10VIDEO_UPDATE( stratvox );
11VIDEO_UPDATE( ttmahjng );
src/mame/includes/snk6502.h
r9191r9192
1010#include "sound/sn76477.h"
1111
1212
13class snk6502_state : public driver_data_t
13class snk6502_state : public driver_device
1414{
1515public:
16   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, snk6502_state(machine)); }
16   snk6502_state(running_machine &machine, const driver_device_config_base &config)
17      : driver_device(machine, config) { }
1718
18   snk6502_state(running_machine &machine)
19      : driver_data_t(machine) { }
20
2119   UINT8 sasuke_counter;
2220
2321   UINT8 *videoram;
src/mame/includes/polyplay.h
r9191r9192
11#include "sound/samples.h"
22
3class polyplay_state : public driver_device
4{
5public:
6   polyplay_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
8
9   UINT8 *videoram;
10};
11
12
313/*----------- defined in audio/polyplay.c -----------*/
414
515void polyplay_set_channel1(int active);
src/mame/includes/exzisus.h
r0r9192
1/*----------- defined in video/exzisus.c -----------*/
2
3extern UINT8 *exzisus_videoram0;
4extern UINT8 *exzisus_videoram1;
5extern UINT8 *exzisus_objectram0;
6extern UINT8 *exzisus_objectram1;
7extern size_t  exzisus_objectram_size0;
8extern size_t  exzisus_objectram_size1;
9
10READ8_HANDLER( exzisus_videoram_0_r );
11READ8_HANDLER( exzisus_videoram_1_r );
12READ8_HANDLER( exzisus_objectram_0_r );
13READ8_HANDLER( exzisus_objectram_1_r );
14WRITE8_HANDLER( exzisus_videoram_0_w );
15WRITE8_HANDLER( exzisus_videoram_1_w );
16WRITE8_HANDLER( exzisus_objectram_0_w );
17WRITE8_HANDLER( exzisus_objectram_1_w );
18
19VIDEO_UPDATE( exzisus );
20
21
src/mame/includes/exidy440.h
r9191r9192
1717extern UINT8 exidy440_sound_command;
1818extern UINT8 exidy440_sound_command_ack;
1919
20MACHINE_DRIVER_EXTERN( exidy440_audio );
20MACHINE_CONFIG_EXTERN( exidy440_audio );
2121
2222
2323/*----------- defined in video/exidy440.c -----------*/
r9191r9192
4040READ8_HANDLER( exidy440_horizontal_pos_r );
4141WRITE8_HANDLER( exidy440_interrupt_clear_w );
4242
43MACHINE_DRIVER_EXTERN( exidy440_video );
44MACHINE_DRIVER_EXTERN( topsecex_video );
43MACHINE_CONFIG_EXTERN( exidy440_video );
44MACHINE_CONFIG_EXTERN( topsecex_video );
src/mame/includes/dassault.h
r9191r9192
77#include "sound/okim6295.h"
88#include "video/deco16ic.h"
99
10class dassault_state : public driver_data_t
10class dassault_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dassault_state(machine)); }
13   dassault_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config),
15        maincpu(*this, "maincpu"),
16        audiocpu(*this, "audiocpu"),
17        subcpu(*this, "sub"),
18        deco16ic(*this, "deco_custom"),
19        oki2(*this, "oki2") { }
1420
15   dassault_state(running_machine &machine)
16      : driver_data_t(machine),
17        maincpu(machine.device<cpu_device>("maincpu")),
18        audiocpu(machine.device<cpu_device>("audiocpu")),
19        subcpu(machine.device<cpu_device>("sub")),
20        deco16ic(machine.device<deco16ic_device>("deco_custom")),
21        oki2(machine.device<okim6295_device>("oki2")) { }
22
2321   /* memory pointers */
2422   UINT16 *  pf2_rowscroll;
2523   UINT16 *  pf4_rowscroll;
r9191r9192
2826   UINT16 *  shared_ram;
2927
3028   /* devices */
31   cpu_device *maincpu;
32   cpu_device *audiocpu;
33   cpu_device *subcpu;
34   deco16ic_device *deco16ic;
35   okim6295_device *oki2;
29   required_device<cpu_device> maincpu;
30   required_device<cpu_device> audiocpu;
31   required_device<cpu_device> subcpu;
32   required_device<deco16ic_device> deco16ic;
33   required_device<okim6295_device> oki2;
3634};
3735
3836
src/mame/includes/ssrj.h
r0r9192
1class ssrj_state : public driver_device
2{
3public:
4   ssrj_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   int oldport;
8   tilemap_t *tilemap1,*tilemap2,*tilemap4;
9   UINT8 *vram1;
10   UINT8 *vram2;
11   UINT8 *vram3;
12   UINT8 *vram4;
13   UINT8 *scrollram;
14};
15
16
17/*----------- defined in video/ssrj.c -----------*/
18
19WRITE8_HANDLER(ssrj_vram1_w);
20WRITE8_HANDLER(ssrj_vram2_w);
21WRITE8_HANDLER(ssrj_vram4_w);
22
23VIDEO_START( ssrj );
24VIDEO_UPDATE( ssrj );
25PALETTE_INIT( ssrj );
src/mame/includes/pingpong.h
r0r9192
1/*----------- defined in video/pingpong.c -----------*/
2
3extern UINT8 *pingpong_videoram;
4extern UINT8 *pingpong_colorram;
5
6WRITE8_HANDLER( pingpong_videoram_w );
7WRITE8_HANDLER( pingpong_colorram_w );
8
9PALETTE_INIT( pingpong );
10VIDEO_START( pingpong );
11VIDEO_UPDATE( pingpong );
src/mame/includes/blstroid.h
r9191r9192
99class blstroid_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blstroid_state(machine)); }
12   blstroid_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   blstroid_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT16 *      priorityram;
1816};
1917
src/mame/includes/gotya.h
r9191r9192
11
2class gotya_state : public driver_data_t
2class gotya_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gotya_state(machine)); }
5   gotya_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   gotya_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *  videoram;
1210   UINT8 *  videoram2;
src/mame/includes/aztarac.h
r9191r9192
44
55*************************************************************************/
66
7class aztarac_state : public driver_device
8{
9public:
10   aztarac_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config),
12        m_nvram(*this, "nvram") { }
13
14   required_shared_ptr<UINT16>   m_nvram;
15};
16
717/*----------- defined in audio/aztarac.c -----------*/
818
919READ16_HANDLER( aztarac_sound_r );
src/mame/includes/tatsumi.h
r9191r9192
1class tatsumi_state : public driver_device
2{
3public:
4   tatsumi_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
111/*----------- defined in drivers/tatsumi.c -----------*/
212
313extern UINT16 *apache3_g_ram;
src/mame/includes/supbtime.h
r9191r9192
44
55*************************************************************************/
66
7class supbtime_state : public driver_data_t
7class supbtime_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, supbtime_state(machine)); }
10   supbtime_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   supbtime_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *  pf1_rowscroll;
1715   UINT16 *  pf2_rowscroll;
src/mame/includes/blmbycar.h
r9191r9192
44
55***************************************************************************/
66
7class blmbycar_state : public driver_data_t
7class blmbycar_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blmbycar_state(machine)); }
10   blmbycar_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   blmbycar_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    vram_0;
1715   UINT16 *    scroll_0;
src/mame/includes/segamsys.h
r9191r9192
5757READ8_HANDLER( smsgg_backupram_r );
5858WRITE8_HANDLER( smsgg_backupram_w );
5959extern void megatech_set_genz80_as_sms_standard_map(running_machine *machine, const char* tag, int mapper);
60MACHINE_DRIVER_EXTERN(sms);
60MACHINE_CONFIG_EXTERN(sms);
6161extern DRIVER_INIT(sms);
6262extern DRIVER_INIT(smspal);
6363extern DRIVER_INIT(smscm);
src/mame/includes/gbusters.h
r9191r9192
44
55*************************************************************************/
66
7class gbusters_state : public driver_data_t
7class gbusters_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gbusters_state(machine)); }
10   gbusters_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gbusters_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    ram;
1715//  UINT8 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/meadows.h
r9191r9192
66
77#include "sound/samples.h"
88
9class meadows_state : public driver_device
10{
11public:
12   meadows_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
14
15   UINT8 *videoram;
16};
17
18
919/*----------- defined in audio/meadows.c -----------*/
1020
1121SAMPLES_START( meadows_sh_start );
src/mame/includes/bogeyman.h
r9191r9192
44
55*************************************************************************/
66
7class bogeyman_state : public driver_data_t
7class bogeyman_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bogeyman_state(machine)); }
10   bogeyman_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   bogeyman_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    videoram2;
src/mame/includes/srmp2.h
r9191r9192
1class srmp2_state : public driver_data_t
1class srmp2_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, srmp2_state(machine)); }
4   srmp2_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   srmp2_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   int color_bank;
108   int gfx_bank;
119
src/mame/includes/harddriv.h
r9191r9192
44
55**************************************************************************/
66
7#include "cpu/m68000/m68000.h"
78#include "cpu/tms34010/tms34010.h"
9#include "cpu/tms32010/tms32010.h"
10#include "cpu/adsp2100/adsp2100.h"
11#include "cpu/dsp32/dsp32.h"
812#include "machine/atarigen.h"
913
1014class harddriv_state : public atarigen_state
1115{
1216public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, harddriv_state(machine)); }
17   harddriv_state(running_machine &machine, const driver_device_config_base &config)
18      : atarigen_state(machine, config),
19        maincpu(*this, "maincpu"),
20        gsp(*this, "gsp"),
21        msp(*this, "msp"),
22        adsp(*this, "adsp"),
23        soundcpu(*this, "soundcpu"),
24        sounddsp(*this, "sounddsp"),
25        jsacpu(*this, "jsacpu"),
26        dsp32(*this, "dsp32"),
27        ds4cpu1(*this, "ds4cpu1"),
28        ds4cpu2(*this, "ds4cpu2"),
29        duart_timer(*this, "duart_timer") { }
1430
15   harddriv_state(running_machine &machine)
16      : atarigen_state(machine),
17        maincpu(machine.device<cpu_device>("maincpu")),
18        gsp(machine.device<cpu_device>("gsp")),
19        msp(machine.device<cpu_device>("msp")),
20        adsp(machine.device<cpu_device>("adsp")),
21        soundcpu(machine.device<cpu_device>("soundcpu")),
22        sounddsp(machine.device<cpu_device>("sounddsp")),
23        jsacpu(machine.device<cpu_device>("jsa")),
24        dsp32(machine.device<cpu_device>("dsp32")),
25        duart_timer(machine.device<timer_device>("duart_timer")) { }
31   required_device<cpu_device> maincpu;
32   required_device<tms34010_device> gsp;
33   optional_device<cpu_device> msp;
34   required_device<adsp21xx_device> adsp;
35   optional_device<cpu_device> soundcpu;
36   optional_device<cpu_device> sounddsp;
37   optional_device<cpu_device> jsacpu;
38   optional_device<cpu_device> dsp32;
39   optional_device<adsp2105_device> ds4cpu1;
40   optional_device<adsp2105_device> ds4cpu2;
2641
27   cpu_device *         maincpu;
28   cpu_device *         gsp;
29   cpu_device *         msp;
30   cpu_device *         adsp;
31   cpu_device *         soundcpu;
32   cpu_device *         sounddsp;
33   cpu_device *         jsacpu;
34   cpu_device *         dsp32;
35
3642   UINT8               hd34010_host_access;
3743   UINT8               dsk_pio_access;
3844
r9191r9192
8591   UINT8               duart_read_data[16];
8692   UINT8               duart_write_data[16];
8793   UINT8               duart_output_port;
88   timer_device *         duart_timer;
94   optional_device<timer_device> duart_timer;
8995
9096   UINT8               last_gsp_shiftreg;
9197
src/mame/includes/ohmygod.h
r9191r9192
44
55*************************************************************************/
66
7class ohmygod_state : public driver_data_t
7class ohmygod_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ohmygod_state(machine)); }
10   ohmygod_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ohmygod_state(running_machine &machine)
13      : driver_data_t(machine) { }
1413
15
1614   /* memory pointers */
1715   UINT16 *    videoram;
1816   UINT16 *    spriteram;
src/mame/includes/pokechmp.h
r0r9192
1class pokechmp_state : public driver_device
2{
3public:
4   pokechmp_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/pokechmp.c -----------*/
12
13WRITE8_HANDLER( pokechmp_videoram_w );
14WRITE8_HANDLER( pokechmp_flipscreen_w );
15
16VIDEO_START( pokechmp );
17VIDEO_UPDATE( pokechmp );
src/mame/includes/snk68.h
r9191r9192
1class snk68_state : public driver_data_t
1class snk68_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, snk68_state(machine)); }
4   snk68_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   snk68_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   int invert_controls;
108   int sound_status;
119
src/mame/includes/aeroboto.h
r9191r9192
44
55***************************************************************************/
66
7class aeroboto_state : public driver_data_t
7class aeroboto_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, aeroboto_state(machine)); }
10   aeroboto_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   aeroboto_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 * mainram;
1715   UINT8 * spriteram;
src/mame/includes/madalien.h
r9191r9192
2424extern UINT8 *madalien_edge2_pos;
2525extern UINT8 *madalien_headlight_pos;
2626
27MACHINE_DRIVER_EXTERN( madalien_video );
27MACHINE_CONFIG_EXTERN( madalien_video );
2828
2929WRITE8_HANDLER( madalien_videoram_w );
3030WRITE8_HANDLER( madalien_charram_w );
src/mame/includes/firetrap.h
r9191r9192
44
55***************************************************************************/
66
7class firetrap_state : public driver_data_t
7class firetrap_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, firetrap_state(machine)); }
10   firetrap_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   firetrap_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *       bg1videoram;
1715   UINT8 *       bg2videoram;
src/mame/includes/crgolf.h
r9191r9192
77#define MASTER_CLOCK      18432000
88
99
10class crgolf_state : public driver_data_t
10class crgolf_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, crgolf_state(machine)); }
13   crgolf_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config) { }
1415
15   crgolf_state(running_machine &machine)
16      : driver_data_t(machine) { }
17
1816   /* memory pointers */
1917   UINT8 *  videoram_a;
2018   UINT8 *  videoram_b;
r9191r9192
4038WRITE8_HANDLER( crgolf_videoram_w );
4139READ8_HANDLER( crgolf_videoram_r );
4240
43MACHINE_DRIVER_EXTERN( crgolf_video );
41MACHINE_CONFIG_EXTERN( crgolf_video );
src/mame/includes/oneshot.h
r9191r9192
11
2class oneshot_state : public driver_data_t
2class oneshot_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, oneshot_state(machine)); }
5   oneshot_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   oneshot_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT16 *        sprites;
1210   UINT16 *        bg_videoram;
src/mame/includes/stlforce.h
r9191r9192
1class stlforce_state : public driver_data_t
1class stlforce_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, stlforce_state(machine)); }
4   stlforce_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   stlforce_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   tilemap_t *bg_tilemap;
108   tilemap_t *mlow_tilemap;
119   tilemap_t *mhigh_tilemap;
src/mame/includes/topspeed.h
r9191r9192
44
55*************************************************************************/
66
7class topspeed_state : public driver_data_t
7class topspeed_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, topspeed_state(machine)); }
10   topspeed_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   topspeed_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *   spritemap;
1715   UINT16 *   raster_ctrl;
r9191r9192
4038
4139/*----------- defined in video/topspeed.c -----------*/
4240
43VIDEO_START( topspeed );
4441VIDEO_UPDATE( topspeed );
src/mame/includes/amspdwy.h
r9191r9192
44
55*************************************************************************/
66
7class amspdwy_state : public driver_data_t
7class amspdwy_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, amspdwy_state(machine)); }
10   amspdwy_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   amspdwy_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    spriteram;
src/mame/includes/fantland.h
r9191r9192
11
22
3class fantland_state : public driver_data_t
3class fantland_state : public driver_device
44{
55public:
6   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fantland_state(machine)); }
6   fantland_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
78
8   fantland_state(running_machine &machine)
9      : driver_data_t(machine) { }
10
119   /* memory pointers */
1210//  UINT8 *    spriteram;   // currently directly used in a 16bit map...
1311//  UINT8 *    spriteram_2; // currently directly used in a 16bit map...
src/mame/includes/atarig1.h
r9191r9192
99class atarig1_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarig1_state(machine)); }
12   atarig1_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   atarig1_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT8         is_pitfight;
1816
1917   UINT8         which_input;
src/mame/includes/toobin.h
r9191r9192
99class toobin_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, toobin_state(machine)); }
12   toobin_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   toobin_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT16 *      interrupt_scan;
1816
1917   double         brightness;
src/mame/includes/bladestl.h
r9191r9192
44
55*************************************************************************/
66
7class bladestl_state : public driver_data_t
7class bladestl_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bladestl_state(machine)); }
10   bladestl_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   bladestl_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    paletteram;
1715
src/mame/includes/srumbler.h
r0r9192
1/*----------- defined in video/srumbler.c -----------*/
2
3extern UINT8 *srumbler_backgroundram,*srumbler_foregroundram;
4
5WRITE8_HANDLER( srumbler_background_w );
6WRITE8_HANDLER( srumbler_foreground_w );
7WRITE8_HANDLER( srumbler_scroll_w );
8WRITE8_HANDLER( srumbler_4009_w );
9
10VIDEO_START( srumbler );
11VIDEO_UPDATE( srumbler );
12VIDEO_EOF( srumbler );
src/mame/includes/mcr68.h
r0r9192
1#include "machine/6821pia.h"
2
3class mcr68_state : public driver_device
4{
5public:
6   mcr68_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
8
9   UINT16 *videoram;
10};
11
12
13/*----------- defined in drivers/mcr68.c -----------*/
14
15READ8_DEVICE_HANDLER( zwackery_port_2_r );
16
17
18/*----------- defined in machine/mcr68.c -----------*/
19
20extern attotime mcr68_timing_factor;
21
22extern const pia6821_interface zwackery_pia0_intf;
23extern const pia6821_interface zwackery_pia1_intf;
24extern const pia6821_interface zwackery_pia2_intf;
25
26
27MACHINE_START( mcr68 );
28MACHINE_RESET( mcr68 );
29MACHINE_START( zwackery );
30MACHINE_RESET( zwackery );
31
32WRITE16_HANDLER( mcr68_6840_upper_w );
33WRITE16_HANDLER( mcr68_6840_lower_w );
34READ16_HANDLER( mcr68_6840_upper_r );
35READ16_HANDLER( mcr68_6840_lower_r );
36
37INTERRUPT_GEN( mcr68_interrupt );
38
39
40/*----------- defined in video/mcr68.c -----------*/
41
42extern UINT8 mcr68_sprite_clip;
43extern INT8 mcr68_sprite_xoffset;
44
45WRITE16_HANDLER( mcr68_paletteram_w );
46WRITE16_HANDLER( mcr68_videoram_w );
47
48VIDEO_START( mcr68 );
49VIDEO_UPDATE( mcr68 );
50
51WRITE16_HANDLER( zwackery_paletteram_w );
52WRITE16_HANDLER( zwackery_videoram_w );
53WRITE16_HANDLER( zwackery_spriteram_w );
54
55VIDEO_START( zwackery );
56VIDEO_UPDATE( zwackery );
src/mame/includes/pbaction.h
r9191r9192
44
55*************************************************************************/
66
7class pbaction_state : public driver_data_t
7class pbaction_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pbaction_state(machine)); }
10   pbaction_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   pbaction_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    videoram2;
src/mame/includes/funworld.h
r0r9192
1/*----------- defined in video/funworld.c -----------*/
2
3extern UINT8* funworld_videoram;
4extern UINT8* funworld_colorram;
5
6WRITE8_HANDLER( funworld_videoram_w );
7WRITE8_HANDLER( funworld_colorram_w );
8PALETTE_INIT( funworld );
9VIDEO_START( funworld );
10VIDEO_START( magicrd2 );
11VIDEO_UPDATE( funworld );
src/mame/includes/overdriv.h
r9191r9192
44
55*************************************************************************/
66
7class overdriv_state : public driver_data_t
7class overdriv_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, overdriv_state(machine)); }
10   overdriv_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   overdriv_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT16 *   paletteram;    // currently this uses generic palette handling
1715
src/mame/includes/thunderx.h
r9191r9192
44
55*************************************************************************/
66
7class thunderx_state : public driver_data_t
7class thunderx_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, thunderx_state(machine)); }
10   thunderx_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   thunderx_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    ram;
1715   UINT8 *    pmcram;
src/mame/includes/spcforce.h
r0r9192
1class spcforce_state : public driver_device
2{
3public:
4   spcforce_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *scrollram;
8   UINT8 *videoram;
9   UINT8 *colorram;
10
11   int sn76496_latch;
12   int sn76496_select;
13};
14
15
16/*----------- defined in video/spcforce.c -----------*/
17
18WRITE8_HANDLER( spcforce_flip_screen_w );
19VIDEO_UPDATE( spcforce );
src/mame/includes/gsword.h
r0r9192
1class gsword_state : public driver_device
2{
3public:
4   gsword_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/gsword.c -----------*/
12
13extern size_t gsword_spritexy_size;
14
15extern UINT8 *gsword_spritexy_ram;
16extern UINT8 *gsword_spritetile_ram;
17extern UINT8 *gsword_spriteattrib_ram;
18
19WRITE8_HANDLER( gsword_charbank_w );
20WRITE8_HANDLER( gsword_videoctrl_w );
21WRITE8_HANDLER( gsword_videoram_w );
22WRITE8_HANDLER( gsword_scroll_w );
23
24PALETTE_INIT( josvolly );
25PALETTE_INIT( gsword );
26VIDEO_START( gsword );
27VIDEO_UPDATE( gsword );
src/mame/includes/xmen.h
r9191r9192
11
2class xmen_state : public driver_data_t
2class xmen_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, xmen_state(machine)); }
5   xmen_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   xmen_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119//  UINT16 *   paletteram;    // currently this uses generic palette handling
1210
src/mame/includes/mario.h
r9191r9192
3030
3131#define MARIO_PALETTE_LENGTH   (256)
3232
33class mario_state : public driver_data_t
33class mario_state : public driver_device
3434{
3535public:
36   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mario_state(machine)); }
36   mario_state(running_machine &machine, const driver_device_config_base &config)
37      : driver_device(machine, config) { }
3738
38   mario_state(running_machine &machine)
39      : driver_data_t(machine) { }
40
4139   /* memory pointers */
4240
4341   /* machine states */
r9191r9192
8482WRITE8_HANDLER( mario_sh_tuneselect_w );
8583WRITE8_HANDLER( masao_sh_irqtrigger_w );
8684
87MACHINE_DRIVER_EXTERN( mario_audio );
88MACHINE_DRIVER_EXTERN( masao_audio );
85MACHINE_CONFIG_EXTERN( mario_audio );
86MACHINE_CONFIG_EXTERN( masao_audio );
8987
9088#endif /*MARIO_H_*/
src/mame/includes/nbmj8900.h
r0r9192
1/*----------- defined in video/nbmj8900.c -----------*/
2
3VIDEO_UPDATE( nbmj8900 );
4VIDEO_START( nbmj8900_2layer );
5
6READ8_HANDLER( nbmj8900_palette_type1_r );
7WRITE8_HANDLER( nbmj8900_palette_type1_w );
8WRITE8_HANDLER( nbmj8900_blitter_w );
9WRITE8_HANDLER( nbmj8900_scrolly_w );
10WRITE8_HANDLER( nbmj8900_vramsel_w );
11WRITE8_HANDLER( nbmj8900_romsel_w );
12WRITE8_HANDLER( nbmj8900_clutsel_w );
13READ8_HANDLER( nbmj8900_clut_r );
14WRITE8_HANDLER( nbmj8900_clut_w );
src/mame/includes/atarifb.h
r9191r9192
1515#define ATARIFB_HIT_EN         NODE_05
1616
1717
18class atarifb_state : public driver_data_t
18class atarifb_state : public driver_device
1919{
2020public:
21   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarifb_state(machine)); }
21   atarifb_state(running_machine &machine, const driver_device_config_base &config)
22      : driver_device(machine, config) { }
2223
23   atarifb_state(running_machine &machine)
24      : driver_data_t(machine) { }
25
2624   /* video-related */
2725   UINT8 *  alphap1_videoram;
2826   UINT8 *  alphap2_videoram;
src/mame/includes/silkroad.h
r9191r9192
1class silkroad_state : public driver_data_t
1class silkroad_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, silkroad_state(machine)); }
4   silkroad_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   silkroad_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT32 *vidram;
108   UINT32 *vidram2;
119   UINT32 *vidram3;
src/mame/includes/lethal.h
r9191r9192
44
55*************************************************************************/
66
7class lethal_state : public driver_data_t
7class lethal_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lethal_state(machine)); }
10   lethal_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   lethal_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT8 *    paletteram;    // currently this uses generic palette handling
1715
src/mame/includes/tecmo16.h
r0r9192
1/*----------- defined in video/tecmo16.c -----------*/
2
3extern UINT16 *tecmo16_videoram;
4extern UINT16 *tecmo16_colorram;
5extern UINT16 *tecmo16_videoram2;
6extern UINT16 *tecmo16_colorram2;
7extern UINT16 *tecmo16_charram;
8
9WRITE16_HANDLER( tecmo16_videoram_w );
10WRITE16_HANDLER( tecmo16_colorram_w );
11WRITE16_HANDLER( tecmo16_videoram2_w );
12WRITE16_HANDLER( tecmo16_colorram2_w );
13WRITE16_HANDLER( tecmo16_charram_w );
14WRITE16_HANDLER( tecmo16_flipscreen_w );
15
16WRITE16_HANDLER( tecmo16_scroll_x_w );
17WRITE16_HANDLER( tecmo16_scroll_y_w );
18WRITE16_HANDLER( tecmo16_scroll2_x_w );
19WRITE16_HANDLER( tecmo16_scroll2_y_w );
20WRITE16_HANDLER( tecmo16_scroll_char_x_w );
21WRITE16_HANDLER( tecmo16_scroll_char_y_w );
22
23VIDEO_START( fstarfrc );
24VIDEO_START( ginkun );
25VIDEO_START( riot );
26VIDEO_UPDATE( tecmo16 );
src/mame/includes/exprraid.h
r9191r9192
55*************************************************************************/
66
77
8class exprraid_state : public driver_data_t
8class exprraid_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, exprraid_state(machine)); }
11   exprraid_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   exprraid_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* memory pointers */
1715   UINT8 *        main_ram;
1816   UINT8 *        videoram;
src/mame/includes/naughtyb.h
r0r9192
1class naughtyb_state : public driver_device
2{
3public:
4   naughtyb_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/naughtyb.c -----------*/
12
13extern UINT8 *naughtyb_videoram2;
14extern UINT8 *naughtyb_scrollreg;
15extern int naughtyb_cocktail;
16
17WRITE8_HANDLER( naughtyb_videoreg_w );
18WRITE8_HANDLER( popflame_videoreg_w );
19
20VIDEO_START( naughtyb );
21PALETTE_INIT( naughtyb );
22VIDEO_UPDATE( naughtyb );
src/mame/includes/runaway.h
r0r9192
1/*----------- defined in video/runaway.c -----------*/
2
3extern UINT8* runaway_video_ram;
4extern UINT8* runaway_sprite_ram;
5
6VIDEO_START( runaway );
7VIDEO_START( qwak );
8VIDEO_UPDATE( runaway );
9VIDEO_UPDATE( qwak );
10
11WRITE8_HANDLER( runaway_paletteram_w );
12WRITE8_HANDLER( runaway_video_ram_w );
13WRITE8_HANDLER( runaway_tile_bank_w );
src/mame/includes/tumbleb.h
r9191r9192
11
2class tumbleb_state : public driver_data_t
2class tumbleb_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, tumbleb_state(machine)); }
5   tumbleb_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   tumbleb_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT16 *    pf1_data;
1210   UINT16 *    pf2_data;
src/mame/includes/toypop.h
r9191r9192
1class toypop_state : public driver_data_t
1class toypop_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, toypop_state(machine)); }
4   toypop_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   toypop_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT8 *videoram;
108   UINT8 *spriteram;
119   UINT16 *bg_image;
src/mame/includes/micro3d.h
r9191r9192
1212#define VGB_MONITOR_DISPLAY         0
1313#define DRMATH_MONITOR_DISPLAY      0
1414
15class micro3d_state : public driver_data_t
15class micro3d_state : public driver_device
1616{
1717public:
18   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, micro3d_state(machine)); }
18   micro3d_state(running_machine &machine, const driver_device_config_base &config)
19      : driver_device(machine, config) { }
1920
20   micro3d_state(running_machine &machine)
21      : driver_data_t(machine) { }
22
2321   struct
2422   {
2523      union
r9191r9192
118116   INT32 x, y, z;
119117} micro3d_vtx;
120118
121/*----------- defined in drivers/micro3d.c -----------*/
122extern UINT16 *micro3d_sprite_vram;
123void m68901_int_gen(running_machine *machine, int source);
124119
125120/*----------- defined in machine/micro3d.c -----------*/
121
126122READ16_HANDLER( micro3d_mc68901_r );
127123WRITE16_HANDLER( micro3d_mc68901_w );
128124
r9191r9192
167163DRIVER_INIT( micro3d );
168164DRIVER_INIT( botssa );
169165
166
170167/*----------- defined in audio/micro3d.c -----------*/
168
171169WRITE8_DEVICE_HANDLER( micro3d_upd7759_w );
172170WRITE8_HANDLER( micro3d_snd_dac_a );
173171WRITE8_HANDLER( micro3d_snd_dac_b );
r9191r9192
178176
179177DECLARE_LEGACY_SOUND_DEVICE(MICRO3D, micro3d_sound);
180178
179
181180/*----------- defined in video/micro3d.c -----------*/
181
182182VIDEO_START( micro3d );
183VIDEO_UPDATE( micro3d );
184183VIDEO_RESET( micro3d );
185184
186185void micro3d_tms_interrupt(running_device *device, int state);
src/mame/includes/momoko.h
r9191r9192
44
55*************************************************************************/
66
7class momoko_state : public driver_data_t
7class momoko_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, momoko_state(machine)); }
10   momoko_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   momoko_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *        bg_scrollx;
1715   UINT8 *        bg_scrolly;
src/mame/includes/kchamp.h
r9191r9192
44
55*************************************************************************/
66
7class kchamp_state : public driver_data_t
7class kchamp_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kchamp_state(machine)); }
10   kchamp_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   kchamp_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/ultratnk.h
r9191r9192
55*************************************************************************/
66
77
8class ultratnk_state : public driver_device
9{
10public:
11   ultratnk_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
13
14   UINT8 *videoram;
15};
16
17
818/*----------- defined in video/ultratnk.c -----------*/
919
1020extern int ultratnk_collision[4];
src/mame/includes/m90.h
r0r9192
1/*----------- defined in video/m90.c -----------*/
2
3extern UINT16 *m90_video_data;
4
5VIDEO_START( m90 );
6VIDEO_START( dynablsb );
7VIDEO_START( bomblord );
8VIDEO_UPDATE( m90 );
9VIDEO_UPDATE( dynablsb );
10VIDEO_UPDATE( bomblord );
11WRITE16_HANDLER( m90_video_w );
12WRITE16_HANDLER( m90_video_control_w );
src/mame/includes/taito_z.h
r9191r9192
55
66*************************************************************************/
77
8class taitoz_state : public driver_data_t
8class taitoz_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitoz_state(machine)); }
11   taitoz_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   taitoz_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* memory pointers */
1715   UINT16 *    spriteram;
1816//  UINT16 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/gunbustr.h
r0r9192
1/*----------- defined in video/gunbustr.c -----------*/
2
3VIDEO_START( gunbustr );
4VIDEO_UPDATE( gunbustr );
src/mame/includes/scotrsht.h
r0r9192
1class scotrsht_state : public driver_device
2{
3public:
4   scotrsht_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   int irq_enable;
8   UINT8 *scroll;
9
10   size_t spriteram_size;
11   UINT8 *spriteram;
12   UINT8 *videoram;
13   UINT8 *colorram;
14   tilemap_t *bg_tilemap;
15   int charbank;
16   int palette_bank;
17};
18
19
20/*----------- defined in video/scotrsht.c -----------*/
21
22WRITE8_HANDLER( scotrsht_videoram_w );
23WRITE8_HANDLER( scotrsht_colorram_w );
24WRITE8_HANDLER( scotrsht_charbank_w );
25WRITE8_HANDLER( scotrsht_palettebank_w );
26
27PALETTE_INIT( scotrsht );
28VIDEO_START( scotrsht );
29VIDEO_UPDATE( scotrsht );
src/mame/includes/phoenix.h
r9191r9192
2727
2828DECLARE_LEGACY_SOUND_DEVICE(PHOENIX, phoenix_sound);
2929
30/*----------- defined in audio/pleiads.c -----------*/
3130
32WRITE8_HANDLER( pleiads_sound_control_a_w );
33WRITE8_HANDLER( pleiads_sound_control_b_w );
34WRITE8_HANDLER( pleiads_sound_control_c_w );
35
36DECLARE_LEGACY_SOUND_DEVICE(PLEIADS, pleiads_sound);
37DECLARE_LEGACY_SOUND_DEVICE(NAUGHTYB, naughtyb_sound);
38DECLARE_LEGACY_SOUND_DEVICE(POPFLAME, popflame_sound);
39
40/*----------- defined in video/naughtyb.c -----------*/
41
42extern UINT8 *naughtyb_videoram2;
43extern UINT8 *naughtyb_scrollreg;
44extern int naughtyb_cocktail;
45
46WRITE8_HANDLER( naughtyb_videoreg_w );
47WRITE8_HANDLER( popflame_videoreg_w );
48
49VIDEO_START( naughtyb );
50PALETTE_INIT( naughtyb );
51VIDEO_UPDATE( naughtyb );
52
53
5431/*----------- defined in video/phoenix.c -----------*/
5532
5633PALETTE_INIT( phoenix );
src/mame/includes/superqix.h
r0r9192
1/*----------- defined in video/superqix.c -----------*/
2
3extern UINT8 *superqix_videoram;
4extern UINT8 *superqix_bitmapram,*superqix_bitmapram2;
5extern int pbillian_show_power;
6
7WRITE8_HANDLER( superqix_videoram_w );
8WRITE8_HANDLER( superqix_bitmapram_w );
9WRITE8_HANDLER( superqix_bitmapram2_w );
10WRITE8_HANDLER( pbillian_0410_w );
11WRITE8_HANDLER( superqix_0410_w );
12
13VIDEO_START( pbillian );
14VIDEO_UPDATE( pbillian );
15VIDEO_START( superqix );
16VIDEO_UPDATE( superqix );
src/mame/includes/markham.h
r9191r9192
44
55*************************************************************************/
66
7class markham_state : public driver_data_t
7class markham_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, markham_state(machine)); }
10   markham_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   markham_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    spriteram;
src/mame/includes/dday.h
r9191r9192
55*************************************************************************/
66
77
8class dday_state : public driver_data_t
8class dday_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dday_state(machine)); }
11   dday_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   dday_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* memory pointers */
1715   UINT8 *        bgvideoram;
1816   UINT8 *        fgvideoram;
src/mame/includes/playch10.h
r9191r9192
1class playch10_state : public driver_device
2{
3public:
4   playch10_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
111/*----------- defined in machine/playch10.c -----------*/
212
313MACHINE_RESET( pc10 );
src/mame/includes/cyberbal.h
r9191r9192
99class cyberbal_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cyberbal_state(machine)); }
12   cyberbal_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   cyberbal_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT16 *      paletteram_0;
1816   UINT16 *      paletteram_1;
1917   UINT16         current_slip[2];
src/mame/includes/lockon.h
r9191r9192
1515#define VTOTAL                 280
1616
1717
18class lockon_state : public driver_data_t
18class lockon_state : public driver_device
1919{
2020public:
21   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lockon_state(machine)); }
21   lockon_state(running_machine &machine, const driver_device_config_base &config)
22      : driver_device(machine, config) { }
2223
23   lockon_state(running_machine &machine)
24      : driver_data_t(machine) { }
25
2624   /* memory pointers */
2725   UINT16   *char_ram;
2826   UINT16   *hud_ram;
src/mame/includes/mappy.h
r9191r9192
1class mappy_state : public driver_data_t
1class mappy_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mappy_state(machine)); }
4   mappy_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   mappy_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT8 *videoram;
108   UINT8 *spriteram;
119   tilemap_t *bg_tilemap;
src/mame/includes/rastan.h
r9191r9192
44
55*************************************************************************/
66
7class rastan_state : public driver_data_t
7class rastan_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rastan_state(machine)); }
10   rastan_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   rastan_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT16 *    paletteram; // this currently uses generic palette handlers
1715
r9191r9192
3634WRITE16_HANDLER( rastan_spritectrl_w );
3735
3836VIDEO_UPDATE( rastan );
37VIDEO_START( jumping );
38
39VIDEO_UPDATE( rainbow );
40VIDEO_UPDATE( jumping );
41
42WRITE16_HANDLER( jumping_spritectrl_w );
43WRITE16_HANDLER( rainbow_spritectrl_w );
44
45WRITE16_HANDLER( opwolf_spritectrl_w );
46
47VIDEO_UPDATE( opwolf );
src/mame/includes/gijoe.h
r9191r9192
44
55*************************************************************************/
66
7class gijoe_state : public driver_data_t
7class gijoe_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gijoe_state(machine)); }
10   gijoe_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gijoe_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    workram;
1715   UINT16 *    spriteram;
src/mame/includes/tigeroad.h
r0r9192
1class tigeroad_state : public driver_device
2{
3public:
4   tigeroad_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
11/*----------- defined in video/tigeroad.c -----------*/
12
13WRITE16_HANDLER( tigeroad_videoram_w );
14WRITE16_HANDLER( tigeroad_videoctrl_w );
15WRITE16_HANDLER( tigeroad_scroll_w );
16VIDEO_START( tigeroad );
17VIDEO_UPDATE( tigeroad );
18VIDEO_EOF( tigeroad );
src/mame/includes/metalmx.h
r9191r9192
1class metalmx_state : public driver_data_t
1#include "cpu/adsp2100/adsp2100.h"
2
3class metalmx_state : public driver_device
24{
35public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, metalmx_state(machine)); }
6   metalmx_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config),
8        maincpu(*this, "maincpu"),
9        gsp(*this, "gsp"),
10        adsp(*this, "adsp"),
11        dsp32c_1(*this, "dsp32c_1"),
12        dsp32c_2(*this, "dsp32c_2") { }
513
6   metalmx_state(running_machine &machine)
7      : driver_data_t(machine) { }
14   required_device<m68ec020_device> maincpu;
15   required_device<tms34020_device> gsp;
16   required_device<adsp2105_device> adsp;
17   required_device<dsp32c_device> dsp32c_1;
18   required_device<dsp32c_device> dsp32c_2;
819
9   running_device *maincpu;
10   running_device *gsp;
11   running_device *adsp;
12   running_device *dsp32c_1;
13   running_device *dsp32c_2;
14
1520   UINT16            *gsp_dram;
1621   UINT16            *gsp_vram;
1722
src/mame/includes/badlands.h
r9191r9192
99class badlands_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, badlands_state(machine)); }
12   badlands_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   badlands_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT8         pedal_value[2];
1816
1917   UINT8 *         bank_base;
src/mame/includes/psikyosh.h
r9191r9192
1616#define SPRITE_PRI(n) (((state->vidregs[2] << (4*n)) & 0xf0000000 ) >> 28)
1717
1818
19class psikyosh_state : public driver_data_t
19class psikyosh_state : public driver_device
2020{
2121public:
22   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, psikyosh_state(machine)); }
22   psikyosh_state(running_machine &machine, const driver_device_config_base &config)
23      : driver_device(machine, config) { }
2324
24   psikyosh_state(running_machine &machine)
25      : driver_data_t(machine) { }
26
2725   /* memory pointers */
2826   UINT32 *       bgram;
2927   UINT32 *       zoomram;
src/mame/includes/quizdna.h
r0r9192
1/*----------- defined in video/quizdna.c -----------*/
2
3VIDEO_START( quizdna );
4VIDEO_UPDATE( quizdna );
5
6WRITE8_HANDLER( quizdna_fg_ram_w );
7WRITE8_HANDLER( quizdna_bg_ram_w );
8WRITE8_HANDLER( quizdna_bg_yscroll_w );
9WRITE8_HANDLER( quizdna_bg_xscroll_w );
10WRITE8_HANDLER( quizdna_screen_ctrl_w );
11
12WRITE8_HANDLER( paletteram_xBGR_RRRR_GGGG_BBBB_w );
src/mame/includes/boogwing.h
r9191r9192
77#include "sound/okim6295.h"
88#include "video/deco16ic.h"
99
10class boogwing_state : public driver_data_t
10class boogwing_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, boogwing_state(machine)); }
13   boogwing_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config),
15        maincpu(*this, "maincpu"),
16        audiocpu(*this, "audiocpu"),
17        deco16ic(*this, "deco_custom"),
18        oki1(*this, "oki1"),
19        oki2(*this, "oki2") { }
1420
15   boogwing_state(running_machine &machine)
16      : driver_data_t(machine),
17        maincpu(machine.device<cpu_device>("maincpu")),
18        audiocpu(machine.device<cpu_device>("audiocpu")),
19        deco16ic(machine.device<deco16ic_device>("deco_custom")),
20        oki1(machine.device<okim6295_device>("oki1")),
21        oki2(machine.device<okim6295_device>("oki2")) { }
22
2321   /* memory pointers */
2422   UINT16 *  pf1_rowscroll;
2523   UINT16 *  pf2_rowscroll;
r9191r9192
2725   UINT16 *  pf4_rowscroll;
2826
2927   /* devices */
30   cpu_device *maincpu;
31   cpu_device *audiocpu;
32   deco16ic_device *deco16ic;
33   okim6295_device *oki1;
34   okim6295_device *oki2;
28   required_device<cpu_device> maincpu;
29   required_device<cpu_device> audiocpu;
30   required_device<deco16ic_device> deco16ic;
31   required_device<okim6295_device> oki1;
32   required_device<okim6295_device> oki2;
3533};
3634
3735
src/mame/includes/offtwall.h
r9191r9192
99class offtwall_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, offtwall_state(machine)); }
12   offtwall_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   offtwall_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT16 *bankswitch_base;
1816   UINT16 *bankrom_base;
1917   UINT32 bank_offset;
src/mame/includes/equites.h
r9191r9192
22#define POPDRUMKIT 0
33
44
5class equites_state : public driver_data_t
5class equites_state : public driver_device
66{
77public:
8   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, equites_state(machine)); }
8   equites_state(running_machine &machine, const driver_device_config_base &config)
9      : driver_device(machine, config) { }
910
10   equites_state(running_machine &machine)
11      : driver_data_t(machine) { }
12
1311   /* memory pointers */
1412   UINT16 *  bg_videoram;
1513   UINT8  *  fg_videoram;   // 8bits
src/mame/includes/gradius3.h
r9191r9192
44
55*************************************************************************/
66
7class gradius3_state : public driver_data_t
7class gradius3_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gradius3_state(machine)); }
10   gradius3_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gradius3_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    gfxram;
1715//  UINT16 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/mystwarr.h
r0r9192
1/*----------- defined in video/mystwarr.c -----------*/
2
3VIDEO_START( gaiapols );
4VIDEO_START( dadandrn );
5VIDEO_START( viostorm );
6VIDEO_START( metamrph );
7VIDEO_START( martchmp );
8VIDEO_START( mystwarr );
9VIDEO_UPDATE( dadandrn );
10VIDEO_UPDATE( mystwarr );
11VIDEO_UPDATE( metamrph );
12VIDEO_UPDATE( martchmp );
13
14WRITE16_HANDLER( ddd_053936_enable_w );
15WRITE16_HANDLER( ddd_053936_clip_w );
16READ16_HANDLER( gai_053936_tilerom_0_r );
17READ16_HANDLER( ddd_053936_tilerom_0_r );
18READ16_HANDLER( ddd_053936_tilerom_1_r );
19READ16_HANDLER( gai_053936_tilerom_2_r );
20READ16_HANDLER( ddd_053936_tilerom_2_r );
src/mame/includes/fromance.h
r9191r9192
77
88***************************************************************************/
99
10class fromance_state : public driver_data_t
10class fromance_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fromance_state(machine)); }
13   fromance_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config) { }
1415
15   fromance_state(running_machine &machine)
16      : driver_data_t(machine) { }
17
1816   /* memory pointers (used by pipedrm) */
1917   UINT8 *  videoram;
2018   UINT8 *  spriteram;
src/mame/includes/skykid.h
r0r9192
1/*----------- defined in video/skykid.c -----------*/
2
3extern UINT8 *skykid_textram, *skykid_videoram, *skykid_spriteram;
4
5VIDEO_START( skykid );
6VIDEO_UPDATE( skykid );
7PALETTE_INIT( skykid );
8
9READ8_HANDLER( skykid_videoram_r );
10WRITE8_HANDLER( skykid_videoram_w );
11READ8_HANDLER( skykid_textram_r );
12WRITE8_HANDLER( skykid_textram_w );
13WRITE8_HANDLER( skykid_scroll_x_w );
14WRITE8_HANDLER( skykid_scroll_y_w );
15WRITE8_HANDLER( skykid_flipscreen_priority_w );
src/mame/includes/irobot.h
r9191r9192
44
55*************************************************************************/
66
7class irobot_state : public driver_device
8{
9public:
10   irobot_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config),
12        m_nvram(*this, "nvram") { }
13
14   required_shared_ptr<UINT8>   m_nvram;
15   UINT8 *videoram;
16};
17
718/*----------- defined in machine/irobot.c -----------*/
819
920extern UINT8 irobot_vg_clear;
src/mame/includes/klax.h
r9191r9192
99class klax_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, klax_state(machine)); }
13
14   klax_state(running_machine &machine)
15      : atarigen_state(machine) { }
12   klax_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1614};
1715
1816
src/mame/includes/quizpani.h
r0r9192
1/*----------- defined in video/quizpani.c -----------*/
2
3extern UINT16 *quizpani_bg_videoram, *quizpani_txt_videoram;
4extern UINT16 *quizpani_scrollreg;
5
6WRITE16_HANDLER( quizpani_bg_videoram_w );
7WRITE16_HANDLER( quizpani_txt_videoram_w );
8WRITE16_HANDLER( quizpani_tilesbank_w );
9
10VIDEO_START( quizpani );
11VIDEO_UPDATE( quizpani );
src/mame/includes/djmain.h
r0r9192
1/*----------- defined in video/djmain.c -----------*/
2
3extern UINT32 *djmain_obj_ram;
4
5VIDEO_UPDATE( djmain );
6VIDEO_START( djmain );
7
8void djmain_tile_callback(running_machine* machine, int layer, int *code, int *color, int *flags);
src/mame/includes/mustache.h
r0r9192
1class mustache_state : public driver_device
2{
3public:
4   mustache_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/mustache.c -----------*/
12
13WRITE8_HANDLER( mustache_videoram_w );
14WRITE8_HANDLER( mustache_scroll_w );
15WRITE8_HANDLER( mustache_video_control_w );
16VIDEO_START( mustache );
17VIDEO_UPDATE( mustache );
18PALETTE_INIT( mustache );
src/mame/includes/snookr10.h
r0r9192
1/*----------- defined in video/snookr10.c -----------*/
2
3extern UINT8 *snookr10_videoram;
4extern UINT8 *snookr10_colorram;
5
6WRITE8_HANDLER( snookr10_videoram_w );
7WRITE8_HANDLER( snookr10_colorram_w );
8PALETTE_INIT( snookr10 );
9PALETTE_INIT( apple10 );
10VIDEO_START( snookr10 );
11VIDEO_START( apple10 );
12VIDEO_UPDATE( snookr10 );
13
src/mame/includes/konamigx.h
r9191r9192
1/*----------- defined in drivers/konamigx.c -----------*/
2
3extern UINT32 *gx_psacram, *gx_subpaletteram32;
4
5
16/*----------- defined in video/konamigx.c -----------*/
27
38// 2nd-Tier GX/MW Hardware Functions
r9191r9192
106111void konamigx_esc_alert(UINT32 *srcbase, int srcoffs, int count, int mode);
107112
108113void fantjour_dma_install(running_machine *machine);
109
110
111
src/mame/includes/sprcros2.h
r0r9192
1class sprcros2_state : public driver_device
2{
3public:
4   sprcros2_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 s_port3;
8   UINT8 m_port7;
9   tilemap_t *bgtilemap;
10   tilemap_t *fgtilemap;
11   UINT8 *fgvideoram;
12   UINT8 *bgvideoram;
13   UINT8 *spriteram;
14   size_t spriteram_size;
15};
16
17
18/*----------- defined in video/sprcros2.c -----------*/
19
20WRITE8_HANDLER( sprcros2_fgvideoram_w );
21WRITE8_HANDLER( sprcros2_bgvideoram_w );
22WRITE8_HANDLER( sprcros2_bgscrollx_w );
23WRITE8_HANDLER( sprcros2_bgscrolly_w );
24
25PALETTE_INIT( sprcros2 );
26VIDEO_START( sprcros2 );
27VIDEO_UPDATE( sprcros2 );
src/mame/includes/thunderj.h
r9191r9192
99class thunderj_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, thunderj_state(machine)); }
12   thunderj_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   thunderj_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT8         alpha_tile_bank;
1816};
1917
src/mame/includes/ultraman.h
r9191r9192
44
55*************************************************************************/
66
7class ultraman_state : public driver_data_t
7class ultraman_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ultraman_state(machine)); }
10   ultraman_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ultraman_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT16 *   paletteram;    // currently this uses generic palette handling
1715
src/mame/includes/parodius.h
r9191r9192
44
55*************************************************************************/
66
7class parodius_state : public driver_data_t
7class parodius_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, parodius_state(machine)); }
10   parodius_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   parodius_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    ram;
1715//  UINT8 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/ladybug.h
r9191r9192
66
77*************************************************************************/
88
9class ladybug_state : public driver_data_t
9class ladybug_state : public driver_device
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ladybug_state(machine)); }
12   ladybug_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
1314
14   ladybug_state(running_machine &machine)
15      : driver_data_t(machine) { }
16
1715   /* memory pointers */
1816   UINT8 *    videoram;
1917   UINT8 *    colorram;
src/mame/includes/combatsc.h
r9191r9192
44
55*************************************************************************/
66
7class combatsc_state : public driver_data_t
7class combatsc_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, combatsc_state(machine)); }
10   combatsc_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   combatsc_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    scrollram;
src/mame/includes/blueprnt.h
r9191r9192
44
55***************************************************************************/
66
7class blueprnt_state : public driver_data_t
7class blueprnt_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, blueprnt_state(machine)); }
10   blueprnt_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   blueprnt_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 * videoram;
1715   UINT8 * colorram;
src/mame/includes/rockrage.h
r9191r9192
44
55*************************************************************************/
66
7class rockrage_state : public driver_data_t
7class rockrage_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rockrage_state(machine)); }
10   rockrage_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   rockrage_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    paletteram;
1715
src/mame/includes/buggychl.h
r9191r9192
33    40love.c, bking.c and msisaac.c
44*/
55
6class buggychl_state : public driver_data_t
6class buggychl_state : public driver_device
77{
88public:
9   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, buggychl_state(machine)); }
9   buggychl_state(running_machine &machine, const driver_device_config_base &config)
10      : driver_device(machine, config) { }
1011
11   buggychl_state(running_machine &machine)
12      : driver_data_t(machine) { }
13
1412   /* memory pointers */
1513   UINT8 *     videoram;   // buggychl, 40love, msisaac
1614   UINT8 *     videoram2;   // msisaac
src/mame/includes/gotcha.h
r9191r9192
44
55*************************************************************************/
66
7class gotcha_state : public driver_data_t
7class gotcha_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gotcha_state(machine)); }
10   gotcha_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gotcha_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    fgvideoram;
1715   UINT16 *    bgvideoram;
src/mame/includes/pandoras.h
r9191r9192
44
55*************************************************************************/
66
7class pandoras_state : public driver_data_t
7class pandoras_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pandoras_state(machine)); }
10   pandoras_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   pandoras_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/n64.h
r9191r9192
1818
1919/*----------- defined in video/n64.c -----------*/
2020
21extern int fb_width;
22extern int fb_height;
23
2421extern VIDEO_START( n64 );
2522extern VIDEO_UPDATE( n64 );
26extern void rdp_process_list(running_machine *machine);
2723
2824#define DACRATE_NTSC   (48681812)
2925#define DACRATE_PAL   (49656530)
src/mame/includes/bigstrkb.h
r9191r9192
1class bigstrkb_state : public driver_data_t
1class bigstrkb_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bigstrkb_state(machine)); }
4   bigstrkb_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   bigstrkb_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   tilemap_t *tilemap;
108   tilemap_t *tilemap2;
119   tilemap_t *tilemap3;
src/mame/includes/taito_f2.h
r9191r9192
1010   int primask;
1111};
1212
13class taitof2_state : public driver_data_t
13class taitof2_state : public driver_device
1414{
1515public:
16   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitof2_state(machine)); }
16   taitof2_state(running_machine &machine, const driver_device_config_base &config)
17      : driver_device(machine, config),
18        oki(*this, "oki") { }
1719
18   taitof2_state(running_machine &machine)
19      : driver_data_t(machine),
20        oki(machine.device<okim6295_device>("oki")) { }
21
2220   /* memory pointers */
2321   UINT16 *        sprite_extension;
2422   UINT16 *        spriteram;
r9191r9192
7068   /* devices */
7169   running_device *maincpu;
7270   running_device *audiocpu;
73   okim6295_device *oki;
71   optional_device<okim6295_device> oki;
7472   running_device *tc0100scn;
7573   running_device *tc0100scn_1;
7674   running_device *tc0100scn_2;
src/mame/includes/gberet.h
r9191r9192
44
55***************************************************************************/
66
7class gberet_state : public driver_data_t
7class gberet_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gberet_state(machine)); }
10   gberet_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gberet_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *     videoram;
1715   UINT8 *     colorram;
src/mame/includes/segas16.h
r9191r9192
11
2class segas1x_state : public driver_data_t
2class segas1x_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, segas1x_state(machine)); }
5   segas1x_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config),
7        interrupt_timer(*this, "int_timer") { }
68
7   segas1x_state(running_machine &machine)
8      : driver_data_t(machine),
9        interrupt_timer(machine.device<timer_device>("int_timer")) { }
10
119   /* memory pointers */
1210//  UINT16 *  workram;  // this is used in the nvram handler, hence it cannot be added here
1311//  UINT16 *  paletteram;   // this is used in the segaic16 mapper, hence it cannot be added here (yet)
r9191r9192
9492   running_device *n7751;
9593   running_device *ppi8255_1;
9694   running_device *ppi8255_2;
97   timer_device *interrupt_timer;
95   optional_device<timer_device> interrupt_timer;
9896   running_device *_315_5248_1;
9997   running_device *_315_5250_1;
10098   running_device *_315_5250_2;
src/mame/includes/gottlieb.h
r9191r9192
1313#define GOTTLIEB_VIDEO_VBLANK   240
1414
1515
16class gottlieb_state : public driver_device
17{
18public:
19   gottlieb_state(running_machine &machine, const driver_device_config_base &config)
20      : driver_device(machine, config) { }
21
22   UINT8 *videoram;
23};
24
25
1626/*----------- defined in audio/gottlieb.c -----------*/
1727
1828WRITE8_HANDLER( gottlieb_sh_w );
1929
20MACHINE_DRIVER_EXTERN( gottlieb_soundrev1 );
21MACHINE_DRIVER_EXTERN( gottlieb_soundrev2 );
30MACHINE_CONFIG_EXTERN( gottlieb_soundrev1 );
31MACHINE_CONFIG_EXTERN( gottlieb_soundrev2 );
2232
2333INPUT_PORTS_EXTERN( gottlieb1_sound );
2434INPUT_PORTS_EXTERN( gottlieb2_sound );
src/mame/includes/ddragon.h
r9191r9192
55*************************************************************************/
66
77
8class ddragon_state : public driver_data_t
8class ddragon_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ddragon_state(machine)); }
11   ddragon_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   ddragon_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* memory pointers */
1715   UINT8 *        rambase;
1816   UINT8 *        bgvideoram;
src/mame/includes/asterix.h
r9191r9192
44
55*************************************************************************/
66
7class asterix_state : public driver_data_t
7class asterix_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, asterix_state(machine)); }
10   asterix_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   asterix_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT16 *    paletteram;    // currently this uses generic palette handling
1715
src/mame/includes/exidy.h
r9191r9192
2929WRITE8_HANDLER( exidy_sh6840_w );
3030WRITE8_HANDLER( exidy_sfxctrl_w );
3131
32MACHINE_DRIVER_EXTERN( venture_audio );
32MACHINE_CONFIG_EXTERN( venture_audio );
3333
34MACHINE_DRIVER_EXTERN( mtrap_cvsd_audio );
34MACHINE_CONFIG_EXTERN( mtrap_cvsd_audio );
3535
36MACHINE_DRIVER_EXTERN( victory_audio );
36MACHINE_CONFIG_EXTERN( victory_audio );
3737READ8_HANDLER( victory_sound_response_r );
3838READ8_HANDLER( victory_sound_status_r );
3939WRITE8_HANDLER( victory_sound_command_w );
src/mame/includes/homedata.h
r9191r9192
11
2class homedata_state : public driver_data_t
2class homedata_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, homedata_state(machine)); }
5   homedata_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   homedata_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *  vreg;
1210   UINT8 *  videoram;
src/mame/includes/xxmissio.h
r0r9192
1/*----------- defined in video/xxmissio.c -----------*/
2
3extern UINT8 *xxmissio_bgram;
4extern UINT8 *xxmissio_fgram;
5extern UINT8 *xxmissio_spriteram;
6
7VIDEO_START( xxmissio );
8VIDEO_UPDATE( xxmissio );
9
10WRITE8_DEVICE_HANDLER( xxmissio_scroll_x_w );
11WRITE8_DEVICE_HANDLER( xxmissio_scroll_y_w );
12WRITE8_HANDLER( xxmissio_flipscreen_w );
13
14READ8_HANDLER( xxmissio_bgram_r );
15WRITE8_HANDLER( xxmissio_bgram_w );
16
17WRITE8_HANDLER( xxmissio_paletteram_w );
src/mame/includes/mugsmash.h
r9191r9192
11
2class mugsmash_state : public driver_data_t
2class mugsmash_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mugsmash_state(machine)); }
5   mugsmash_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   mugsmash_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   UINT16 *videoram1;
119   UINT16 *videoram2;
1210   UINT16 *spriteram;
src/mame/includes/pcktgal.h
r0r9192
1class pcktgal_state : public driver_device
2{
3public:
4   pcktgal_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/pcktgal.c -----------*/
12
13WRITE8_HANDLER( pcktgal_videoram_w );
14WRITE8_HANDLER( pcktgal_flipscreen_w );
15
16PALETTE_INIT( pcktgal );
17VIDEO_START( pcktgal );
18VIDEO_UPDATE( pcktgal );
src/mame/includes/solomon.h
r0r9192
1class solomon_state : public driver_device
2{
3public:
4   solomon_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   size_t spriteram_size;
8   UINT8 *spriteram;
9   UINT8 *videoram;
10   UINT8 *colorram;
11   UINT8 *videoram2;
12   UINT8 *colorram2;
13
14   tilemap_t *bg_tilemap;
15   tilemap_t *fg_tilemap;
16};
17
18
19/*----------- defined in video/solomon.c -----------*/
20
21WRITE8_HANDLER( solomon_videoram_w );
22WRITE8_HANDLER( solomon_colorram_w );
23WRITE8_HANDLER( solomon_videoram2_w );
24WRITE8_HANDLER( solomon_colorram2_w );
25WRITE8_HANDLER( solomon_flipscreen_w );
26
27VIDEO_START( solomon );
28VIDEO_UPDATE( solomon );
src/mame/includes/hng64.h
r9191r9192
33#define RACING_MCU 3
44#define SAMSHO_MCU 4
55
6class hng64_state : public driver_data_t
6class hng64_state : public driver_device
77{
88public:
9   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hng64_state(machine)); }
9   hng64_state(running_machine &machine, const driver_device_config_base &config)
10      : driver_device(machine, config) { }
1011
11   hng64_state(running_machine &machine)
12      : driver_data_t(machine) { }
13
1412   int mcu_type;
1513   UINT32 *mainram;
1614   UINT32 *cart;
src/mame/includes/hyhoo.h
r0r9192
1/*----------- defined in video/hyhoo.c -----------*/
2
3extern UINT8 *hyhoo_clut;
4
5VIDEO_UPDATE( hyhoo );
6VIDEO_START( hyhoo );
7
8WRITE8_HANDLER( hyhoo_blitter_w );
9WRITE8_HANDLER( hyhoo_romsel_w );
src/mame/includes/macrossp.h
r9191r9192
44
55*************************************************************************/
66
7class macrossp_state : public driver_data_t
7class macrossp_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, macrossp_state(machine)); }
10   macrossp_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   macrossp_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT32 *         mainram;
1715   UINT32 *         scra_videoram;
src/mame/includes/gladiatr.h
r0r9192
1class gladiatr_state : public driver_device
2{
3public:
4   gladiatr_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config),
6        m_nvram(*this, "nvram") { }
7
8   required_shared_ptr<UINT8>   m_nvram;
9};
10
11/*----------- defined in video/gladiatr.c -----------*/
12
13extern UINT8 *gladiatr_videoram, *gladiatr_colorram,*gladiatr_textram;
14
15WRITE8_HANDLER( gladiatr_videoram_w );
16WRITE8_HANDLER( gladiatr_colorram_w );
17WRITE8_HANDLER( gladiatr_textram_w );
18WRITE8_HANDLER( gladiatr_paletteram_w );
19WRITE8_HANDLER( ppking_video_registers_w );
20WRITE8_HANDLER( gladiatr_video_registers_w );
21WRITE8_HANDLER( gladiatr_spritebuffer_w );
22WRITE8_HANDLER( gladiatr_spritebank_w );
23VIDEO_START( ppking );
24VIDEO_UPDATE( ppking );
25VIDEO_START( gladiatr );
26VIDEO_UPDATE( gladiatr );
src/mame/includes/moo.h
r9191r9192
44
55*************************************************************************/
66
7class moo_state : public driver_data_t
7class moo_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, moo_state(machine)); }
10   moo_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   moo_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    workram;
1715   UINT16 *    spriteram;
src/mame/includes/goindol.h
r9191r9192
44
55*************************************************************************/
66
7class goindol_state : public driver_data_t
7class goindol_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, goindol_state(machine)); }
10   goindol_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   goindol_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    bg_videoram;
1715   UINT8 *    fg_videoram;
src/mame/includes/taito_l.h
r9191r9192
11
22#define TAITOL_SPRITERAM_SIZE 0x400
33
4class taitol_state : public driver_data_t
4class taitol_state : public driver_device
55{
66public:
7   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, taitol_state(machine)); }
7   taitol_state(running_machine &machine, const driver_device_config_base &config)
8      : driver_device(machine, config) { }
89
9   taitol_state(running_machine &machine)
10      : driver_data_t(machine) { }
11
1210   /* memory pointers */
1311   UINT8 *       rambanks;
1412   UINT8 *       palette_ram;
src/mame/includes/groundfx.h
r0r9192
1/*----------- defined in video/groundfx.c -----------*/
2
3extern UINT16 groundfx_rotate_ctrl[8];
4
5VIDEO_START( groundfx );
6VIDEO_UPDATE( groundfx );
src/mame/includes/gyruss.h
r9191r9192
44
55*************************************************************************/
66
7class gyruss_state : public driver_data_t
7class gyruss_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gyruss_state(machine)); }
10   gyruss_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   gyruss_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    colorram;
src/mame/includes/fastlane.h
r9191r9192
44
55*************************************************************************/
66
7class fastlane_state : public driver_data_t
7class fastlane_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fastlane_state(machine)); }
10   fastlane_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   fastlane_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram1;
1715   UINT8 *    videoram2;
src/mame/includes/iremz80.h
r9191r9192
66
77/* These share sound hardware (in audio/irem.h) and hence driver data */
88
9class irem_z80_state : public driver_data_t
9class irem_z80_state : public driver_device
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, irem_z80_state(machine)); }
12   irem_z80_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
1314
14   irem_z80_state(running_machine &machine)
15      : driver_data_t(machine) { }
16
1715   /* memory pointers */
1816   UINT8 *              videoram;   // m52, m57, m58
1917   UINT8 *              spriteram;   // m52, m57, m58, m62
r9191r9192
7068
7169/*----------- defined in audio/irem.c -----------*/
7270
73MACHINE_DRIVER_EXTERN( m52_sound_c_audio );
74MACHINE_DRIVER_EXTERN( m52_large_audio );
75MACHINE_DRIVER_EXTERN( m62_audio );
71MACHINE_CONFIG_EXTERN( m52_sound_c_audio );
72MACHINE_CONFIG_EXTERN( m52_large_audio );
73MACHINE_CONFIG_EXTERN( m62_audio );
7674
7775WRITE8_HANDLER( irem_sound_cmd_w );
7876
src/mame/includes/kangaroo.h
r9191r9192
66
77***************************************************************************/
88
9class kangaroo_state : public driver_data_t
9class kangaroo_state : public driver_device
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, kangaroo_state(machine)); }
12   kangaroo_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
1314
14   kangaroo_state(running_machine &machine)
15      : driver_data_t(machine) { }
16
1715   /* memory pointers */
1816   UINT8 *      video_control;
1917
src/mame/includes/cabal.h
r9191r9192
1class cabal_state : public driver_data_t
1class cabal_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cabal_state(machine)); }
4   cabal_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   cabal_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT16 *spriteram;
108   UINT16 *colorram;
119   UINT16 *videoram;
src/mame/includes/cidelsa.h
r9191r9192
2424#define DRACO_PAGERAM_MASK      0x7ff
2525#define CIDELSA_CHARRAM_MASK   0x7ff
2626
27class cidelsa_state : public driver_data_t
27class cidelsa_state : public driver_device
2828{
2929public:
30   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cidelsa_state(machine)); }
30   cidelsa_state(running_machine &machine, const driver_device_config_base &config)
31      : driver_device(machine, config) { }
3132
32   cidelsa_state(running_machine &machine)
33      : driver_data_t(machine) { }
34
3533   /* cpu state */
3634   cdp1802_control_mode cdp1802_mode;
3735
r9191r9192
5553
5654/*----------- defined in video/cidelsa.c -----------*/
5755
58MACHINE_DRIVER_EXTERN( destryer_video );
59MACHINE_DRIVER_EXTERN( altair_video );
60MACHINE_DRIVER_EXTERN( draco_video );
56MACHINE_CONFIG_EXTERN( destryer_video );
57MACHINE_CONFIG_EXTERN( altair_video );
58MACHINE_CONFIG_EXTERN( draco_video );
6159
6260#endif
src/mame/includes/suprloco.h
r0r9192
1/*----------- defined in video/suprloco.c -----------*/
2
3extern UINT8 *suprloco_videoram;
4extern UINT8 *suprloco_scrollram;
5
6PALETTE_INIT( suprloco );
7VIDEO_START( suprloco );
8VIDEO_UPDATE( suprloco );
9WRITE8_HANDLER( suprloco_videoram_w );
10WRITE8_HANDLER( suprloco_scrollram_w );
11WRITE8_HANDLER( suprloco_control_w );
12READ8_HANDLER( suprloco_control_r );
src/mame/includes/vendetta.h
r9191r9192
44
55*************************************************************************/
66
7class vendetta_state : public driver_data_t
7class vendetta_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, vendetta_state(machine)); }
10   vendetta_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   vendetta_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    ram;
1715//  UINT8 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/fcombat.h
r9191r9192
2222#define VISIBLE_Y_MAX         (30*8)
2323
2424
25class fcombat_state : public driver_data_t
25class fcombat_state : public driver_device
2626{
2727public:
28   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fcombat_state(machine)); }
28   fcombat_state(running_machine &machine, const driver_device_config_base &config)
29      : driver_device(machine, config) { }
2930
30   fcombat_state(running_machine &machine)
31      : driver_data_t(machine) { }
32
3331   /* memory pointers */
3432   UINT8 *    videoram;
3533   UINT8 *    spriteram;
src/mame/includes/thoop2.h
r0r9192
1extern UINT16 *thoop2_vregs;
2extern UINT16 *thoop2_videoram;
3extern UINT16 *thoop2_spriteram;
4
5WRITE16_HANDLER( thoop2_vram_w );
6VIDEO_START( thoop2 );
7VIDEO_UPDATE( thoop2 );
src/mame/includes/pktgaldx.h
r9191r9192
44
55*************************************************************************/
66
7class pktgaldx_state : public driver_data_t
7class pktgaldx_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pktgaldx_state(machine)); }
10   pktgaldx_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   pktgaldx_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *  pf1_rowscroll;
1715   UINT16 *  pf2_rowscroll;
src/mame/includes/timeplt.h
r9191r9192
1919
2020#define JUNGLER_MAX_STARS 1000
2121
22class timeplt_state : public driver_data_t
22class timeplt_state : public driver_device
2323{
2424public:
25   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, timeplt_state(machine)); }
25   timeplt_state(running_machine &machine, const driver_device_config_base &config)
26      : driver_device(machine, config) { }
2627
27   timeplt_state(running_machine &machine)
28      : driver_data_t(machine) { }
29
3028   /* memory pointers */
3129   UINT8 *  videoram;   // timeplt, tutankham, junofrst, rocnrope, pooyan, rallyx
3230   UINT8 *  colorram;   // timeplt, rocnrope, pooyan
r9191r9192
7775
7876WRITE8_HANDLER( timeplt_sh_irqtrigger_w );
7977
80MACHINE_DRIVER_EXTERN( timeplt_sound );
81MACHINE_DRIVER_EXTERN( locomotn_sound );
78MACHINE_CONFIG_EXTERN( timeplt_sound );
79MACHINE_CONFIG_EXTERN( locomotn_sound );
8280
8381/*----------- defined in video/pooyan.c -----------*/
8482
src/mame/includes/atarigx2.h
r9191r9192
99class atarigx2_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarigx2_state(machine)); }
12   atarigx2_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   atarigx2_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT16         playfield_base;
1816   UINT16         motion_object_base;
1917   UINT16         motion_object_mask;
src/mame/includes/fuukifg2.h
r9191r9192
11
22
3class fuuki16_state : public driver_data_t
3class fuuki16_state : public driver_device
44{
55public:
6   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fuuki16_state(machine)); }
6   fuuki16_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
78
8   fuuki16_state(running_machine &machine)
9      : driver_data_t(machine) { }
10
119   /* memory pointers */
1210   UINT16 *    vram_0;
1311   UINT16 *    vram_1;
src/mame/includes/vulgus.h
r0r9192
1/*----------- defined in video/vulgus.c -----------*/
2
3extern UINT8 *vulgus_fgvideoram;
4extern UINT8 *vulgus_bgvideoram;
5extern UINT8 *vulgus_scroll_low,*vulgus_scroll_high;
6
7WRITE8_HANDLER( vulgus_fgvideoram_w );
8WRITE8_HANDLER( vulgus_bgvideoram_w );
9WRITE8_HANDLER( vulgus_c804_w );
10WRITE8_HANDLER( vulgus_palette_bank_w );
11
12VIDEO_START( vulgus );
13PALETTE_INIT( vulgus );
14VIDEO_UPDATE( vulgus );
src/mame/includes/sderby.h
r9191r9192
1class sderby_state : public driver_data_t
1class sderby_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sderby_state(machine)); }
4   sderby_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   sderby_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT16 *spriteram;
108   size_t spriteram_size;
119
src/mame/includes/circus.h
r9191r9192
66#define GAME_IS_RIPCORD      (state->game_id == 4)
77
88
9class circus_state : public driver_data_t
9class circus_state : public driver_device
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, circus_state(machine)); }
12   circus_state(running_machine &machine, const driver_device_config_base &config)
13      : driver_device(machine, config) { }
1314
14   circus_state(running_machine &machine)
15      : driver_data_t(machine) { }
16
1715   /* memory pointers */
1816   UINT8 *  videoram;
1917
src/mame/includes/zac2650.h
r0r9192
1class zac2650_state : public driver_device
2{
3public:
4   zac2650_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/zac2650.c -----------*/
12
13extern UINT8 *zac2650_s2636_0_ram;
14
15WRITE8_HANDLER( tinvader_videoram_w );
16READ8_HANDLER( zac_s2636_r );
17WRITE8_HANDLER( zac_s2636_w );
18READ8_HANDLER( tinvader_port_0_r );
19
20VIDEO_START( tinvader );
21VIDEO_UPDATE( tinvader );
22
src/mame/includes/shangha3.h
r0r9192
1class shangha3_state : public driver_device
2{
3public:
4   shangha3_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   int prot_count;
8   UINT16 *ram;
9   size_t ram_size;
10
11   int do_shadows;
12
13   UINT16 gfxlist_addr;
14   bitmap_t *rawbitmap;
15
16   UINT8 drawmode_table[16];
17};
18
19
20/*----------- defined in video/shangha3.c -----------*/
21
22WRITE16_HANDLER( shangha3_flipscreen_w );
23WRITE16_HANDLER( shangha3_gfxlist_addr_w );
24WRITE16_HANDLER( shangha3_blitter_go_w );
25VIDEO_START( shangha3 );
26VIDEO_UPDATE( shangha3 );
src/mame/includes/vastar.h
r9191r9192
1class vastar_state : public driver_data_t
1class vastar_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, vastar_state(machine)); }
4   vastar_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   vastar_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   UINT8 *spriteram1;
108   UINT8 *spriteram2;
119   UINT8 *spriteram3;
src/mame/includes/relief.h
r9191r9192
99class relief_state : public atarigen_state
1010{
1111public:
12   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, relief_state(machine)); }
12   relief_state(running_machine &machine, const driver_device_config_base &config)
13      : atarigen_state(machine, config) { }
1314
14   relief_state(running_machine &machine)
15      : atarigen_state(machine) { }
16
1715   UINT8         ym2413_volume;
1816   UINT8         overall_volume;
1917   UINT32         adpcm_bank_base;
src/mame/includes/taito_f3.h
r9191r9192
3939   COMMANDW   /* prototype */
4040};
4141
42class taito_f3_state : public driver_device
43{
44public:
45   taito_f3_state(running_machine &machine, const driver_device_config_base &config)
46      : driver_device(machine, config) { }
47
48   UINT32 *videoram;
49};
50
51
4252/*----------- defined in drivers/taito_f3.c -----------*/
4353
4454extern UINT32 *f3_shared_ram;
src/mame/includes/gaelco2.h
r9191r9192
1010WRITE16_HANDLER( gaelco2_coin2_w );
1111WRITE16_HANDLER( wrally2_coin_w );
1212WRITE16_HANDLER( touchgo_coin_w );
13NVRAM_HANDLER( gaelco2 );
1413WRITE16_HANDLER( bang_clr_gun_int_w );
1514INTERRUPT_GEN( bang_interrupt );
1615CUSTOM_INPUT( wrally2_analog_bit_r );
src/mame/includes/homerun.h
r9191r9192
44
55*************************************************************************/
66
7class homerun_state : public driver_data_t
7class homerun_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, homerun_state(machine)); }
10   homerun_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   homerun_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    spriteram;
src/mame/includes/champbas.h
r9191r9192
88#define CPUTAG_MCU "mcu"
99
1010
11class champbas_state : public driver_data_t
11class champbas_state : public driver_device
1212{
1313public:
14   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, champbas_state(machine)); }
14   champbas_state(running_machine &machine, const driver_device_config_base &config)
15      : driver_device(machine, config) { }
1516
16   champbas_state(running_machine &machine)
17      : driver_data_t(machine) { }
18
1917   /* memory pointers */
2018   UINT8 *        bg_videoram;
2119   UINT8 *        spriteram;
src/mame/includes/baraduke.h
r0r9192
1/*----------- defined in video/baraduke.c -----------*/
2
3extern UINT8 *baraduke_textram, *baraduke_videoram, *baraduke_spriteram;
4
5VIDEO_START( baraduke );
6VIDEO_UPDATE( baraduke );
7VIDEO_EOF( baraduke );
8READ8_HANDLER( baraduke_videoram_r );
9WRITE8_HANDLER( baraduke_videoram_w );
10READ8_HANDLER( baraduke_textram_r );
11WRITE8_HANDLER( baraduke_textram_w );
12WRITE8_HANDLER( baraduke_scroll0_w );
13WRITE8_HANDLER( baraduke_scroll1_w );
14READ8_HANDLER( baraduke_spriteram_r );
15WRITE8_HANDLER( baraduke_spriteram_w );
16PALETTE_INIT( baraduke );
src/mame/includes/ssozumo.h
r0r9192
1class ssozumo_state : public driver_device
2{
3public:
4   ssozumo_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   size_t spriteram_size;
8   UINT8 *spriteram;
9   UINT8 *paletteram;
10   UINT8 *videoram;
11   UINT8 *colorram;
12   UINT8 *videoram2;
13   UINT8 *colorram2;
14
15   tilemap_t *bg_tilemap;
16   tilemap_t *fg_tilemap;
17};
18
19
20/*----------- defined in video/ssozumo.c -----------*/
21
22WRITE8_HANDLER( ssozumo_videoram_w );
23WRITE8_HANDLER( ssozumo_colorram_w );
24WRITE8_HANDLER( ssozumo_videoram2_w );
25WRITE8_HANDLER( ssozumo_colorram2_w );
26WRITE8_HANDLER( ssozumo_paletteram_w );
27WRITE8_HANDLER( ssozumo_scroll_w );
28WRITE8_HANDLER( ssozumo_flipscreen_w );
29
30PALETTE_INIT( ssozumo );
31VIDEO_START( ssozumo );
32VIDEO_UPDATE( ssozumo );
src/mame/includes/mcr.h
r9191r9192
88#include "machine/z80ctc.h"
99#include "machine/z80pio.h"
1010#include "machine/z80sio.h"
11#include "machine/6821pia.h"
1211
1312/* constants */
1413#define MAIN_OSC_MCR_I      XTAL_19_968MHz
1514
1615
16class mcr_state : public driver_device
17{
18public:
19   mcr_state(running_machine &machine, const driver_device_config_base &config)
20      : driver_device(machine, config) { }
21
22   UINT8 *videoram;
23};
24
25
1726/*----------- defined in drivers/mcr.c -----------*/
1827
1928WRITE8_DEVICE_HANDLER( mcr_ipu_sio_transmit );
2029
2130
22
2331/*----------- defined in machine/mcr.c -----------*/
2432
25extern attotime mcr68_timing_factor;
26
2733extern const z80_daisy_config mcr_daisy_chain[];
2834extern const z80_daisy_config mcr_ipu_daisy_chain[];
2935extern const z80ctc_interface mcr_ctc_intf;
r9191r9192
3945extern UINT32 mcr_sprite_board;
4046extern UINT32 mcr_ssio_board;
4147
42extern const pia6821_interface zwackery_pia0_intf;
43extern const pia6821_interface zwackery_pia1_intf;
44extern const pia6821_interface zwackery_pia2_intf;
45
4648MACHINE_START( mcr );
4749MACHINE_RESET( mcr );
4850MACHINE_START( nflfoot );
49MACHINE_START( mcr68 );
50MACHINE_RESET( mcr68 );
51MACHINE_START( zwackery );
52MACHINE_RESET( zwackery );
5351
5452INTERRUPT_GEN( mcr_interrupt );
5553INTERRUPT_GEN( mcr_ipu_interrupt );
56INTERRUPT_GEN( mcr68_interrupt );
5754
5855WRITE8_HANDLER( mcr_control_port_w );
5956WRITE8_HANDLER( mcrmono_control_port_w );
6057WRITE8_HANDLER( mcr_scroll_value_w );
6158
62WRITE16_HANDLER( mcr68_6840_upper_w );
63WRITE16_HANDLER( mcr68_6840_lower_w );
64READ16_HANDLER( mcr68_6840_upper_r );
65READ16_HANDLER( mcr68_6840_lower_r );
66
6759WRITE8_HANDLER( mcr_ipu_laserdisk_w );
6860READ8_HANDLER( mcr_ipu_watchdog_r );
6961WRITE8_HANDLER( mcr_ipu_watchdog_w );
r9191r9192
10799
108100VIDEO_UPDATE( mcr3 );
109101VIDEO_UPDATE( spyhunt );
110
111
112/*----------- defined in video/mcr68.c -----------*/
113
114extern UINT8 mcr68_sprite_clip;
115extern INT8 mcr68_sprite_xoffset;
116
117WRITE16_HANDLER( mcr68_paletteram_w );
118WRITE16_HANDLER( mcr68_videoram_w );
119
120VIDEO_START( mcr68 );
121VIDEO_UPDATE( mcr68 );
122
123WRITE16_HANDLER( zwackery_paletteram_w );
124WRITE16_HANDLER( zwackery_videoram_w );
125WRITE16_HANDLER( zwackery_spriteram_w );
126
127VIDEO_START( zwackery );
128VIDEO_UPDATE( zwackery );
src/mame/includes/ninjaw.h
r9191r9192
44
55*************************************************************************/
66
7class ninjaw_state : public driver_data_t
7class ninjaw_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ninjaw_state(machine)); }
10   ninjaw_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   ninjaw_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *   spriteram;
1715   size_t     spriteram_size;
src/mame/includes/matmania.h
r9191r9192
11
2class matmania_state : public driver_data_t
2class matmania_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, matmania_state(machine)); }
5   matmania_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   matmania_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *         videoram;
1210   UINT8 *         videoram2;
src/mame/includes/arkanoid.h
r9191r9192
1010   PADDLE2
1111};
1212
13class arkanoid_state : public driver_data_t
13class arkanoid_state : public driver_device
1414{
1515public:
16   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, arkanoid_state(machine)); }
16   arkanoid_state(running_machine &machine, const driver_device_config_base &config)
17      : driver_device(machine, config) { }
1718
18   arkanoid_state(running_machine &machine)
19      : driver_data_t(machine) { }
20
2119   /* memory pointers */
2220   UINT8 *  videoram;
2321   UINT8 *  spriteram;
src/mame/includes/twin16.h
r9191r9192
1class twin16_state : public driver_device
2{
3public:
4   twin16_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
111/*----------- defined in drivers/twin16.c -----------*/
212
313extern UINT16 twin16_custom_video;
src/mame/includes/crshrace.h
r9191r9192
11
2class crshrace_state : public driver_data_t
2class crshrace_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, crshrace_state(machine)); }
5   crshrace_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   crshrace_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT16 *  videoram1;
1210   UINT16 *  videoram2;
src/mame/includes/airbustr.h
r9191r9192
44
55*************************************************************************/
66
7class airbustr_state : public driver_data_t
7class airbustr_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, airbustr_state(machine)); }
10   airbustr_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   airbustr_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    videoram;
1715   UINT8 *    videoram2;
src/mame/includes/clshroad.h
r0r9192
1/*----------- defined in video/clshroad.c -----------*/
2
3extern UINT8 *clshroad_vram_0, *clshroad_vram_1;
4extern UINT8 *clshroad_vregs;
5
6WRITE8_HANDLER( clshroad_vram_0_w );
7WRITE8_HANDLER( clshroad_vram_1_w );
8WRITE8_HANDLER( clshroad_flipscreen_w );
9
10PALETTE_INIT( firebatl );
11PALETTE_INIT( clshroad );
12VIDEO_START( firebatl );
13VIDEO_START( clshroad );
14VIDEO_UPDATE( clshroad );
src/mame/includes/dcheese.h
r9191r9192
55**************************************************************************/
66
77
8class dcheese_state : public driver_data_t
8class dcheese_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dcheese_state(machine)); }
11   dcheese_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   dcheese_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* video-related */
1715   UINT16   blitter_color[2];
1816   UINT16   blitter_xparam[16];
src/mame/includes/chqflag.h
r9191r9192
44
55*************************************************************************/
66
7class chqflag_state : public driver_data_t
7class chqflag_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, chqflag_state(machine)); }
10   chqflag_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   chqflag_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *    ram;
1715//  UINT8 *    paletteram;    // currently this uses generic palette handling
src/mame/includes/bwing.h
r9191r9192
77#define BW_DEBUG 0
88#define MAX_SOUNDS 16
99
10class bwing_state : public driver_data_t
10class bwing_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bwing_state(machine)); }
13   bwing_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config) { }
1415
15   bwing_state(running_machine &machine)
16      : driver_data_t(machine) { }
17
1816   /* memory pointers */
1917   UINT8 *    videoram;
2018   UINT8 *    spriteram;
src/mame/includes/sf.h
r9191r9192
44
55*************************************************************************/
66
7class sf_state : public driver_data_t
7class sf_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sf_state(machine)); }
10   sf_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   sf_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *    videoram;
1715   UINT16 *    objectram;
src/mame/includes/lsasquad.h
r9191r9192
11
2class lsasquad_state : public driver_data_t
2class lsasquad_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lsasquad_state(machine)); }
5   lsasquad_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   lsasquad_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *      scrollram;
1210   UINT8 *      videoram;
src/mame/includes/cave.h
r9191r9192
2121#define MAX_PRIORITY        4
2222#define MAX_SPRITE_NUM      0x400
2323
24class cave_state : public driver_data_t
24class cave_state : public driver_device
2525{
2626public:
27   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cave_state(machine)); }
27   cave_state(running_machine &machine, const driver_device_config_base &config)
28      : driver_device(machine, config) { }
2829
29   cave_state(running_machine &machine)
30      : driver_data_t(machine) { }
31
3230   /* memory pointers */
3331   UINT16 *     videoregs;
3432   UINT16 *     vram_0;
src/mame/includes/brkthru.h
r9191r9192
44
55***************************************************************************/
66
7class brkthru_state : public driver_data_t
7class brkthru_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, brkthru_state(machine)); }
10   brkthru_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   brkthru_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 * videoram;
1715   UINT8 * spriteram;
src/mame/includes/williams.h
r9191r9192
77
88#include "machine/6821pia.h"
99
10class williams_state : public driver_device
11{
12public:
13   williams_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config),
15        m_nvram(*this, "nvram") { }
16
17   required_shared_ptr<UINT8>   m_nvram;
18};
19
20
1021/*----------- defined in drivers/williams.c -----------*/
1122
1223void defender_install_io_space(address_space *space);
src/mame/includes/dec8.h
r9191r9192
11
2class dec8_state : public driver_data_t
2class dec8_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dec8_state(machine)); }
5   dec8_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   dec8_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119   UINT8 *  videoram;
1210   UINT8 *  pf0_data;
src/mame/includes/fuukifg3.h
r9191r9192
99/* NOTE: YMF278B_STD_CLOCK is defined in /src/emu/sound/ymf278b.h */
1010
1111
12class fuuki32_state : public driver_data_t
12class fuuki32_state : public driver_device
1313{
1414public:
15   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, fuuki32_state(machine)); }
15   fuuki32_state(running_machine &machine, const driver_device_config_base &config)
16      : driver_device(machine, config) { }
1617
17   fuuki32_state(running_machine &machine)
18      : driver_data_t(machine) { }
19
2018   /* memory pointers */
2119   UINT32 *    vram_0;
2220   UINT32 *    vram_1;
src/mame/includes/tbowl.h
r0r9192
1/*----------- defined in video/tbowl.c -----------*/
2
3extern UINT8 *tbowl_txvideoram, *tbowl_bgvideoram, *tbowl_bg2videoram;
4extern UINT8 *tbowl_spriteram;
5
6WRITE8_HANDLER( tbowl_bg2videoram_w );
7WRITE8_HANDLER( tbowl_bgvideoram_w );
8WRITE8_HANDLER( tbowl_txvideoram_w );
9
10WRITE8_HANDLER( tbowl_bg2xscroll_lo );
11WRITE8_HANDLER( tbowl_bg2xscroll_hi );
12WRITE8_HANDLER( tbowl_bg2yscroll_lo );
13WRITE8_HANDLER( tbowl_bg2yscroll_hi );
14WRITE8_HANDLER( tbowl_bgxscroll_lo );
15WRITE8_HANDLER( tbowl_bgxscroll_hi );
16WRITE8_HANDLER( tbowl_bgyscroll_lo );
17WRITE8_HANDLER( tbowl_bgyscroll_hi );
18
19VIDEO_START( tbowl );
20VIDEO_UPDATE( tbowl );
src/mame/includes/battlane.h
r9191r9192
44
55***************************************************************************/
66
7class battlane_state : public driver_data_t
7class battlane_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, battlane_state(machine)); }
10   battlane_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   battlane_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *     tileram;
1715   UINT8 *     spriteram;
src/mame/includes/atarigt.h
r9191r9192
1414class atarigt_state : public atarigen_state
1515{
1616public:
17   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, atarigt_state(machine)); }
17   atarigt_state(running_machine &machine, const driver_device_config_base &config)
18      : atarigen_state(machine, config) { }
1819
19   atarigt_state(running_machine &machine)
20      : atarigen_state(machine) { }
21
2220   UINT8         is_primrage;
2321   UINT16 *      colorram;
2422
src/mame/includes/genesis.h
r9191r9192
22
33/*----------- defined in video/genesis.c -----------*/
44
5extern UINT16 genesis_bg_pal_lookup[4];
6extern UINT16 genesis_sp_pal_lookup[4];
7extern UINT8 genesis_vdp_regs[32];
8
59void system18_vdp_start(running_machine *machine);
610void system18_vdp_update(bitmap_t *bitmap, const rectangle *cliprect);
711
src/mame/includes/thepit.h
r0r9192
1/*----------- defined in video/thepit.c -----------*/
2
3extern UINT8 *thepit_videoram;
4extern UINT8 *thepit_colorram;
5extern UINT8 *thepit_attributesram;
6extern UINT8 *thepit_spriteram;
7extern size_t thepit_spriteram_size;
8
9PALETTE_INIT( thepit );
10PALETTE_INIT( suprmous );
11VIDEO_START( thepit );
12VIDEO_UPDATE( thepit );
13WRITE8_HANDLER( thepit_videoram_w );
14WRITE8_HANDLER( thepit_colorram_w );
15WRITE8_HANDLER( thepit_flip_screen_x_w );
16WRITE8_HANDLER( thepit_flip_screen_y_w );
17READ8_HANDLER( thepit_input_port_0_r );
18WRITE8_HANDLER( intrepid_graphics_bank_w );
src/mame/includes/rpunch.h
r0r9192
1class rpunch_state : public driver_device
2{
3public:
4   rpunch_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT16 *videoram;
8};
9
10
11/*----------- defined in video/rpunch.c -----------*/
12
13extern UINT16 *rpunch_bitmapram;
14extern size_t rpunch_bitmapram_size;
15extern int rpunch_sprite_palette;
16
17VIDEO_START( rpunch );
18VIDEO_UPDATE( rpunch );
19
20WRITE16_HANDLER( rpunch_videoram_w );
21WRITE16_HANDLER( rpunch_videoreg_w );
22WRITE16_HANDLER( rpunch_scrollreg_w );
23WRITE16_HANDLER( rpunch_ins_w );
24WRITE16_HANDLER( rpunch_crtc_data_w );
25WRITE16_HANDLER( rpunch_crtc_register_w );
src/mame/includes/cloud9.h
r9191r9192
44
55*************************************************************************/
66
7class cloud9_state : public driver_data_t
7class cloud9_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cloud9_state(machine)); }
10   cloud9_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config),
12        nvram_stage(*this, "nvram") { }
1113
12   cloud9_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1514   /* memory pointers */
1615   UINT8 *     videoram;
1716   UINT8 *     spriteram;
1817   UINT8 *     paletteram;
19//  UINT8 *     nvram_stage;    // currently this uses generic nvram handlers
20//  UINT8 *     nvram;      // currently this uses generic nvram handlers
18   required_shared_ptr<UINT8> nvram_stage;    // currently this uses generic nvram handlers
19   UINT8      nvram[0x100];      // currently this uses generic nvram handlers
2120
2221   /* video-related */
2322   const UINT8 *syncprom;
src/mame/includes/changela.h
r9191r9192
11
22
3class changela_state : public driver_data_t
3class changela_state : public driver_device
44{
55public:
6   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, changela_state(machine)); }
6   changela_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
78
8   changela_state(running_machine &machine)
9      : driver_data_t(machine) { }
10
119   /* memory pointers */
1210   UINT8 *  videoram;
1311   UINT8 *  colorram;
src/mame/includes/crimfght.h
r9191r9192
44
55*************************************************************************/
66
7class crimfght_state : public driver_data_t
7class crimfght_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, crimfght_state(machine)); }
10   crimfght_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   crimfght_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT8 *    paletteram;    // currently this uses generic palette handling
1715
src/mame/includes/asuka.h
r9191r9192
44
55*************************************************************************/
66
7class asuka_state : public driver_data_t
7class asuka_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, asuka_state(machine)); }
10   asuka_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   asuka_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT16 *    paletteram; // this currently uses generic palette handlers
1715
src/mame/includes/triplhnt.h
r9191r9192
77#include "sound/discrete.h"
88#include "sound/samples.h"
99
10
1011/* Discrete Sound Input Nodes */
1112#define TRIPLHNT_BEAR_ROAR_DATA   NODE_01
1213#define TRIPLHNT_BEAR_EN      NODE_02
src/mame/includes/sidepckt.h
r9191r9192
1class sidepckt_state : public driver_data_t
1class sidepckt_state : public driver_device
22{
33public:
4   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sidepckt_state(machine)); }
4   sidepckt_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
56
6   sidepckt_state(running_machine &machine)
7      : driver_data_t(machine) { }
8
97   tilemap_t *bg_tilemap;
108   UINT8 *colorram;
119   UINT8 *videoram;
src/mame/includes/rollerg.h
r9191r9192
44
55*************************************************************************/
66
7class rollerg_state : public driver_data_t
7class rollerg_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, rollerg_state(machine)); }
10   rollerg_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   rollerg_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614//  UINT8 *    paletteram;    // currently this uses generic palette handling
1715
src/mame/includes/wolfpack.h
r0r9192
1/*----------- defined in video/wolfpack.c -----------*/
2
3extern int wolfpack_collision;
4extern UINT8* wolfpack_alpha_num_ram;
5
6PALETTE_INIT( wolfpack );
7VIDEO_UPDATE( wolfpack );
8VIDEO_START( wolfpack );
9VIDEO_EOF( wolfpack );
10
11WRITE8_HANDLER( wolfpack_video_invert_w );
12WRITE8_HANDLER( wolfpack_ship_reflect_w );
13WRITE8_HANDLER( wolfpack_pt_pos_select_w );
14WRITE8_HANDLER( wolfpack_pt_horz_w );
15WRITE8_HANDLER( wolfpack_pt_pic_w );
16WRITE8_HANDLER( wolfpack_ship_h_w );
17WRITE8_HANDLER( wolfpack_torpedo_pic_w );
18WRITE8_HANDLER( wolfpack_ship_size_w );
19WRITE8_HANDLER( wolfpack_ship_h_precess_w );
20WRITE8_HANDLER( wolfpack_ship_pic_w );
21WRITE8_HANDLER( wolfpack_torpedo_h_w );
22WRITE8_HANDLER( wolfpack_torpedo_v_w );
src/mame/includes/pirates.h
r0r9192
1/*----------- defined in video/pirates.c -----------*/
2
3extern UINT16 *pirates_tx_tileram, *pirates_spriteram;
4extern UINT16 *pirates_fg_tileram,  *pirates_bg_tileram;
5extern UINT16 *pirates_scroll;
6
7WRITE16_HANDLER( pirates_tx_tileram_w );
8WRITE16_HANDLER( pirates_fg_tileram_w );
9WRITE16_HANDLER( pirates_bg_tileram_w );
10
11VIDEO_START( pirates );
12VIDEO_UPDATE( pirates );
src/mame/includes/tankbatt.h
r0r9192
1class tankbatt_state : public driver_device
2{
3public:
4   tankbatt_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in video/tankbatt.c -----------*/
12
13extern UINT8 *tankbatt_bulletsram;
14extern size_t tankbatt_bulletsram_size;
15
16WRITE8_HANDLER( tankbatt_videoram_w );
17
18PALETTE_INIT( tankbatt );
19VIDEO_START( tankbatt );
20VIDEO_UPDATE( tankbatt );
src/mame/includes/exerion.h
r9191r9192
1818#define EXERION_VBSTART           (240)
1919
2020
21class exerion_state : public driver_data_t
21class exerion_state : public driver_device
2222{
2323public:
24   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, exerion_state(machine)); }
24   exerion_state(running_machine &machine, const driver_device_config_base &config)
25      : driver_device(machine, config) { }
2526
26   exerion_state(running_machine &machine)
27      : driver_data_t(machine) { }
28
2927   /* memory pointers */
3028   UINT8 *  main_ram;
3129   UINT8 *  videoram;
src/mame/includes/mosaic.h
r9191r9192
44
55*************************************************************************/
66
7class mosaic_state : public driver_data_t
7class mosaic_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mosaic_state(machine)); }
10   mosaic_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   mosaic_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT8 *        fgvideoram;
1715   UINT8 *        bgvideoram;
src/mame/includes/crospang.h
r9191r9192
44
55*************************************************************************/
66
7class crospang_state : public driver_data_t
7class crospang_state : public driver_device
88{
99public:
10   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, crospang_state(machine)); }
10   crospang_state(running_machine &machine, const driver_device_config_base &config)
11      : driver_device(machine, config) { }
1112
12   crospang_state(running_machine &machine)
13      : driver_data_t(machine) { }
14
1513   /* memory pointers */
1614   UINT16 *  bg_videoram;
1715   UINT16 *  fg_videoram;
src/mame/includes/subs.h
r9191r9192
1616#define SUBS_NOISE_RESET      NODE_07
1717
1818
19class subs_state : public driver_device
20{
21public:
22   subs_state(running_machine &machine, const driver_device_config_base &config)
23      : driver_device(machine, config) { }
24
25   UINT8 *videoram;
26};
27
28
1929/*----------- defined in machine/subs.c -----------*/
2030
2131MACHINE_RESET( subs );
src/mame/includes/darkmist.h
r0r9192
1class darkmist_state : public driver_device
2{
3public:
4   darkmist_state(running_machine &machine, const driver_device_config_base &config)
5      : driver_device(machine, config) { }
6
7   UINT8 *videoram;
8};
9
10
11/*----------- defined in drivers/darkmist.c -----------*/
12
13extern int darkmist_hw;
14
15
16/*----------- defined in video/darkmist.c -----------*/
17
18VIDEO_START( darkmist );
19VIDEO_UPDATE( darkmist );
20PALETTE_INIT( darkmist );
21
22extern UINT8 *darkmist_scroll;
23extern UINT8 *darkmist_spritebank;
src/mame/includes/ajax.h
r9191r9192
11
2class ajax_state : public driver_data_t
2class ajax_state : public driver_device
33{
44public:
5   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ajax_state(machine)); }
5   ajax_state(running_machine &machine, const driver_device_config_base &config)
6      : driver_device(machine, config) { }
67
7   ajax_state(running_machine &machine)
8      : driver_data_t(machine) { }
9
108   /* memory pointers */
119//  UINT8 *    paletteram;    // currently this uses generic palette handling
1210
src/mame/includes/funybubl.h
r9191r9192
11
22
3class funybubl_state : public driver_data_t
3class funybubl_state : public driver_device
44{
55public:
6   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, funybubl_state(machine)); }
6   funybubl_state(running_machine &machine, const driver_device_config_base &config)
7      : driver_device(machine, config) { }
78
8   funybubl_state(running_machine &machine)
9      : driver_data_t(machine) { }
10
119   /* memory pointers */
1210   UINT8 *    banked_vram;
1311   UINT8 *    paletteram;
src/mame/mame.mak
r9191r9192
224224SOUNDS += ZSG2
225225SOUNDS += MOS656X
226226SOUNDS += S2636
227#SOUNDS += ASC
227228
228229#-------------------------------------------------
229230# this is the list of driver libraries that
r9191r9192
892893   $(DRIVERS)/gridlee.o $(AUDIO)/gridlee.o $(VIDEO)/gridlee.o \
893894   $(DRIVERS)/mcr.o $(MACHINE)/mcr.o $(AUDIO)/mcr.o $(VIDEO)/mcr.o \
894895   $(DRIVERS)/mcr3.o $(VIDEO)/mcr3.o \
895   $(DRIVERS)/mcr68.o $(VIDEO)/mcr68.o \
896   $(DRIVERS)/mcr68.o $(MACHINE)/mcr68.o $(VIDEO)/mcr68.o \
896897   $(DRIVERS)/midtunit.o $(MACHINE)/midtunit.o $(VIDEO)/midtunit.o \
897898   $(DRIVERS)/midvunit.o $(VIDEO)/midvunit.o \
898899   $(DRIVERS)/midwunit.o $(MACHINE)/midwunit.o \
r9191r9192
11431144   $(DRIVERS)/segamsys.o $(DRIVERS)/segae.o \
11441145   $(DRIVERS)/segaxbd.o $(VIDEO)/segaxbd.o \
11451146   $(DRIVERS)/segaybd.o $(VIDEO)/segaybd.o \
1146   $(DRIVERS)/ssgbl.o \
11471147   $(DRIVERS)/sg1000a.o \
11481148   $(DRIVERS)/stactics.o $(VIDEO)/stactics.o \
11491149   $(DRIVERS)/stv.o $(DRIVERS)/stvinit.o $(MACHINE)/stvprot.o $(MACHINE)/stvcd.o \
r9191r9192
15381538   $(DRIVERS)/galaxi.o \
15391539   $(DRIVERS)/gamecstl.o \
15401540   $(DRIVERS)/gei.o \
1541   $(DRIVERS)/goldngam.o \
1542   $(DRIVERS)/goldnpkr.o \
15411543   $(DRIVERS)/good.o \
1542   $(DRIVERS)/goldnpkr.o \
15431544   $(DRIVERS)/gotcha.o $(VIDEO)/gotcha.o \
15441545   $(DRIVERS)/gstream.o \
15451546   $(DRIVERS)/gumbo.o $(VIDEO)/gumbo.o \
r9191r9192
15601561   $(DRIVERS)/jackpool.o \
15611562   $(DRIVERS)/jokrwild.o \
15621563   $(DRIVERS)/jongkyo.o \
1564   $(DRIVERS)/jubilee.o \
15631565   $(DRIVERS)/kingpin.o \
15641566   $(DRIVERS)/koikoi.o \
15651567   $(DRIVERS)/kyugo.o $(VIDEO)/kyugo.o \
src/mame/video/targeth.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/targeth.h"
1011
1112UINT16 *targeth_spriteram;
1213UINT16 *targeth_vregs;
src/mame/video/dynduke.c
r9191r9192
1
21#include "emu.h"
2#include "includes/dynduke.h"
33
44static tilemap_t *bg_layer,*fg_layer,*tx_layer;
55UINT16 *dynduke_back_data,*dynduke_fore_data,*dynduke_scroll_ram;
r9191r9192
3232
3333WRITE16_HANDLER( dynduke_text_w )
3434{
35   COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
35   dynduke_state *state = space->machine->driver_data<dynduke_state>();
36   UINT16 *videoram = state->videoram;
37   COMBINE_DATA(&videoram[offset]);
3638   tilemap_mark_tile_dirty(tx_layer,offset);
3739}
3840
r9191r9192
6668
6769static TILE_GET_INFO( get_tx_tile_info )
6870{
69   int tile=machine->generic.videoram.u16[tile_index];
71   dynduke_state *state = machine->driver_data<dynduke_state>();
72   UINT16 *videoram = state->videoram;
73   int tile=videoram[tile_index];
7074   int color=(tile >> 8) & 0x0f;
7175
7276   tile = (tile & 0xff) | ((tile & 0xc000) >> 6);
src/mame/video/deco_mlc.c
r9191r9192
99*/
1010
1111#include "emu.h"
12#include "includes/deco_mlc.h"
1213
1314//extern int mlc_raster_table[9][256];
1415//extern UINT32 mlc_clipper[32];
src/mame/video/tryout.c
r9191r9192
66****************************************************************/
77
88#include "emu.h"
9#include "includes/tryout.h"
910
1011static tilemap_t *fg_tilemap, *bg_tilemap;
1112static UINT8 vram_bank;
r9191r9192
4243
4344static TILE_GET_INFO( get_fg_tile_info )
4445{
46   tryout_state *state = machine->driver_data<tryout_state>();
47   UINT8 *videoram = state->videoram;
4548   int code, attr, color;
4649
47   code = machine->generic.videoram.u8[tile_index];
48   attr = machine->generic.videoram.u8[tile_index + 0x400];
50   code = videoram[tile_index];
51   attr = videoram[tile_index + 0x400];
4952   code |= ((attr & 0x03) << 8);
5053   color = ((attr & 0x4)>>2)+6;
5154
r9191r9192
6467
6568WRITE8_HANDLER( tryout_videoram_w )
6669{
67   space->machine->generic.videoram.u8[offset] = data;
70   tryout_state *state = space->machine->driver_data<tryout_state>();
71   UINT8 *videoram = state->videoram;
72   videoram[offset] = data;
6873   tilemap_mark_tile_dirty(fg_tilemap, offset & 0x3ff);
6974}
7075
src/mame/video/mystston.c
r9191r9192
321321 *
322322 *************************************/
323323
324MACHINE_DRIVER_START( mystston_video )
324MACHINE_CONFIG_FRAGMENT( mystston_video )
325325
326326   MDRV_VIDEO_START(mystston)
327327   MDRV_VIDEO_RESET(mystston)
r9191r9192
333333   MDRV_SCREEN_ADD("screen", RASTER)
334334   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
335335   MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
336MACHINE_DRIVER_END
336MACHINE_CONFIG_END
src/mame/video/midyunit.c
r9191r9192
7474   local_videoram = auto_alloc_array_clear(machine, UINT16, 0x80000/2);
7575   pen_map = auto_alloc_array(machine, pen_t, 65536);
7676
77   machine->device<nvram_device>("nvram")->set_base(midyunit_cmos_ram, 0x2000 * 4);
78
7779   /* reset all the globals */
7880   midyunit_cmos_page = 0;
7981   autoerase_enable = 0;
src/mame/video/senjyo.c
r9191r9192
1010#include "machine/segacrpt.h"
1111#include "includes/senjyo.h"
1212
13UINT8 *senjyo_fgscroll;
14UINT8 *senjyo_scrollx1,*senjyo_scrolly1;
15UINT8 *senjyo_scrollx2,*senjyo_scrolly2;
16UINT8 *senjyo_scrollx3,*senjyo_scrolly3;
17UINT8 *senjyo_fgvideoram,*senjyo_fgcolorram;
18UINT8 *senjyo_bg1videoram,*senjyo_bg2videoram,*senjyo_bg3videoram;
19UINT8 *senjyo_radarram;
20UINT8 *senjyo_bgstripesram;
2113
22static tilemap_t *fg_tilemap,*bg1_tilemap,*bg2_tilemap,*bg3_tilemap;
23
24int is_senjyo, senjyo_scrollhack;
25static int senjyo_bgstripes;
26
27
28
29
3014/***************************************************************************
3115
3216  Callbacks for the TileMap code
r9191r9192
3519
3620static TILE_GET_INFO( get_fg_tile_info )
3721{
38   UINT8 attr = senjyo_fgcolorram[tile_index];
22   senjyo_state *state = machine->driver_data<senjyo_state>();
23   UINT8 attr = state->fgcolorram[tile_index];
3924   int flags = (attr & 0x80) ? TILE_FLIPY : 0;
4025
41   if (is_senjyo && (tile_index & 0x1f) >= 32-8)
26   if (state->is_senjyo && (tile_index & 0x1f) >= 32-8)
4227      flags |= TILE_FORCE_LAYER0;
4328
4429   SET_TILE_INFO(
4530         0,
46         senjyo_fgvideoram[tile_index] + ((attr & 0x10) << 4),
31         state->fgvideoram[tile_index] + ((attr & 0x10) << 4),
4732         attr & 0x07,
4833         flags);
4934}
5035
5136static TILE_GET_INFO( senjyo_bg1_tile_info )
5237{
53   UINT8 code = senjyo_bg1videoram[tile_index];
38   senjyo_state *state = machine->driver_data<senjyo_state>();
39   UINT8 code = state->bg1videoram[tile_index];
40
5441   SET_TILE_INFO(
5542         1,
5643         code,
r9191r9192
6249{
6350   /* Star Force has more tiles in bg1, so to get a uniform color code spread */
6451   /* they wired bit 7 of the tile code in place of bit 4 to get the color code */
65   static const int colormap[8] = { 0,2,4,6,1,3,5,7 };
66   UINT8 code = senjyo_bg1videoram[tile_index];
52   static const UINT8 colormap[8] = { 0, 2, 4, 6, 1, 3, 5, 7 };
53   senjyo_state *state = machine->driver_data<senjyo_state>();
54   UINT8 code = state->bg1videoram[tile_index];
55
6756   SET_TILE_INFO(
6857         1,
6958         code,
r9191r9192
7362
7463static TILE_GET_INFO( get_bg2_tile_info )
7564{
76   UINT8 code = senjyo_bg2videoram[tile_index];
65   senjyo_state *state = machine->driver_data<senjyo_state>();
66   UINT8 code = state->bg2videoram[tile_index];
67
7768   SET_TILE_INFO(
7869         2,
7970         code,
r9191r9192
8374
8475static TILE_GET_INFO( get_bg3_tile_info )
8576{
86   UINT8 code = senjyo_bg3videoram[tile_index];
77   senjyo_state *state = machine->driver_data<senjyo_state>();
78   UINT8 code = state->bg3videoram[tile_index];
79
8780   SET_TILE_INFO(
8881         3,
8982         code,
r9191r9192
10194
10295VIDEO_START( senjyo )
10396{
104   fg_tilemap = tilemap_create(machine, get_fg_tile_info,tilemap_scan_rows,8,8,32,32);
97   senjyo_state *state = machine->driver_data<senjyo_state>();
10598
106   if (is_senjyo)
99   state->fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
100
101   if (state->is_senjyo)
107102   {
108      bg1_tilemap = tilemap_create(machine, senjyo_bg1_tile_info,tilemap_scan_rows,16,16,16,32);
109      bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,   tilemap_scan_rows,16,16,16,48);   /* only 16x32 used by Star Force */
110      bg3_tilemap = tilemap_create(machine, get_bg3_tile_info,   tilemap_scan_rows,16,16,16,56);   /* only 16x32 used by Star Force */
103      state->bg1_tilemap = tilemap_create(machine, senjyo_bg1_tile_info, tilemap_scan_rows, 16, 16, 16, 32);
104      state->bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,    tilemap_scan_rows, 16, 16, 16, 48);   /* only 16x32 used by Star Force */
105      state->bg3_tilemap = tilemap_create(machine, get_bg3_tile_info,    tilemap_scan_rows, 16, 16, 16, 56);   /* only 16x32 used by Star Force */
111106   }
112107   else
113108   {
114      bg1_tilemap = tilemap_create(machine, starforc_bg1_tile_info,tilemap_scan_rows,16,16,16,32);
115      bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,     tilemap_scan_rows,16,16,16,32);   /* only 16x32 used by Star Force */
116      bg3_tilemap = tilemap_create(machine, get_bg3_tile_info,     tilemap_scan_rows,16,16,16,32);   /* only 16x32 used by Star Force */
109      state->bg1_tilemap = tilemap_create(machine, starforc_bg1_tile_info, tilemap_scan_rows, 16, 16, 16, 32);
110      state->bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,      tilemap_scan_rows, 16, 16, 16, 32);   /* only 16x32 used by Star Force */
111      state->bg3_tilemap = tilemap_create(machine, get_bg3_tile_info,      tilemap_scan_rows, 16, 16, 16, 32);   /* only 16x32 used by Star Force */
117112   }
118113
119   tilemap_set_transparent_pen(fg_tilemap,0);
120   tilemap_set_transparent_pen(bg1_tilemap,0);
121   tilemap_set_transparent_pen(bg2_tilemap,0);
122   tilemap_set_transparent_pen(bg3_tilemap,0);
123   tilemap_set_scroll_cols(fg_tilemap,32);
114   tilemap_set_transparent_pen(state->fg_tilemap, 0);
115   tilemap_set_transparent_pen(state->bg1_tilemap, 0);
116   tilemap_set_transparent_pen(state->bg2_tilemap, 0);
117   tilemap_set_transparent_pen(state->bg3_tilemap, 0);
118   tilemap_set_scroll_cols(state->fg_tilemap, 32);
124119}
125120
126121
r9191r9192
133128
134129WRITE8_HANDLER( senjyo_fgvideoram_w )
135130{
136   senjyo_fgvideoram[offset] = data;
137   tilemap_mark_tile_dirty(fg_tilemap,offset);
131   senjyo_state *state = space->machine->driver_data<senjyo_state>();
132
133   state->fgvideoram[offset] = data;
134   tilemap_mark_tile_dirty(state->fg_tilemap, offset);
138135}
139136WRITE8_HANDLER( senjyo_fgcolorram_w )
140137{
141   senjyo_fgcolorram[offset] = data;
142   tilemap_mark_tile_dirty(fg_tilemap,offset);
138   senjyo_state *state = space->machine->driver_data<senjyo_state>();
139
140   state->fgcolorram[offset] = data;
141   tilemap_mark_tile_dirty(state->fg_tilemap, offset);
143142}
144143WRITE8_HANDLER( senjyo_bg1videoram_w )
145144{
146   senjyo_bg1videoram[offset] = data;
147   tilemap_mark_tile_dirty(bg1_tilemap,offset);
145   senjyo_state *state = space->machine->driver_data<senjyo_state>();
146
147   state->bg1videoram[offset] = data;
148   tilemap_mark_tile_dirty(state->bg1_tilemap, offset);
148149}
149150WRITE8_HANDLER( senjyo_bg2videoram_w )
150151{
151   senjyo_bg2videoram[offset] = data;
152   tilemap_mark_tile_dirty(bg2_tilemap,offset);
152   senjyo_state *state = space->machine->driver_data<senjyo_state>();
153
154   state->bg2videoram[offset] = data;
155   tilemap_mark_tile_dirty(state->bg2_tilemap, offset);
153156}
154157WRITE8_HANDLER( senjyo_bg3videoram_w )
155158{
156   senjyo_bg3videoram[offset] = data;
157   tilemap_mark_tile_dirty(bg3_tilemap,offset);
159   senjyo_state *state = space->machine->driver_data<senjyo_state>();
160
161   state->bg3videoram[offset] = data;
162   tilemap_mark_tile_dirty(state->bg3_tilemap, offset);
158163}
159164
160165WRITE8_HANDLER( senjyo_bgstripes_w )
161166{
162   *senjyo_bgstripesram = data;
167   senjyo_state *state = space->machine->driver_data<senjyo_state>();
168
169   *state->bgstripesram = data;
163170}
164171
165172/***************************************************************************
r9191r9192
170177
171178static void draw_bgbitmap(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
172179{
180   senjyo_state *state = machine->driver_data<senjyo_state>();
173181   int x,y,pen,strwid,count;
174182
175183
176   if (senjyo_bgstripes == 0xff)   /* off */
184   if (state->bgstripes == 0xff)   /* off */
177185      bitmap_fill(bitmap,cliprect,0);
178186   else
179187   {
188      int flip = flip_screen_get(machine);
189
180190      pen = 0;
181191      count = 0;
182      strwid = senjyo_bgstripes;
192      strwid = state->bgstripes;
183193      if (strwid == 0) strwid = 0x100;
184      if (flip_screen_get(machine)) strwid ^= 0xff;
194      if (flip) strwid ^= 0xff;
185195
186196      for (x = 0;x < 256;x++)
187197      {
188         if (flip_screen_get(machine))
198         if (flip)
189199            for (y = 0;y < 256;y++)
190200               *BITMAP_ADDR16(bitmap, y, 255 - x) = 384 + pen;
191201         else
r9191r9192
204214
205215static void draw_radar(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect)
206216{
217   senjyo_state *state = machine->driver_data<senjyo_state>();
207218   int offs,x;
208219
209220   for (offs = 0;offs < 0x400;offs++)
210221      for (x = 0;x < 8;x++)
211         if (senjyo_radarram[offs] & (1 << x))
222         if (state->radarram[offs] & (1 << x))
212223         {
213224            int sx, sy;
214225
r9191r9192
229240
230241static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int priority)
231242{
232   UINT8 *spriteram = machine->generic.spriteram.u8;
243   senjyo_state *state = machine->driver_data<senjyo_state>();
244   UINT8 *spriteram = state->spriteram;
233245   int offs;
234246
235
236   for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
247   for (offs = state->spriteram_size - 4; offs >= 0; offs -= 4)
237248   {
238249      int big,sx,sy,flipx,flipy;
239250
240251      if (((spriteram[offs+1] & 0x30) >> 4) == priority)
241252      {
242         if (is_senjyo)   /* Senjyo */
253         if (state->is_senjyo)   /* Senjyo */
243254            big = (spriteram[offs] & 0x80);
244255         else   /* Star Force */
245256            big = ((spriteram[offs] & 0xc0) == 0xc0);
r9191r9192
280291
281292VIDEO_UPDATE( senjyo )
282293{
294   senjyo_state *state = screen->machine->driver_data<senjyo_state>();
283295   int i;
284296
285297
r9191r9192
288300   palette_set_color(screen->machine,513,MAKE_RGB(0xff,0xff,0x00));   /* yellow for player */
289301
290302   {
303      int flip = flip_screen_get(screen->machine);
291304      int scrollx,scrolly;
292305
293306      for (i = 0;i < 32;i++)
294         tilemap_set_scrolly(fg_tilemap,i,senjyo_fgscroll[i]);
307         tilemap_set_scrolly(state->fg_tilemap, i, state->fgscroll[i]);
295308
296      scrollx = senjyo_scrollx1[0];
297      scrolly = senjyo_scrolly1[0] + 256 * senjyo_scrolly1[1];
298      if (flip_screen_get(screen->machine))
309      scrollx = state->scrollx1[0];
310      scrolly = state->scrolly1[0] + 256 * state->scrolly1[1];
311      if (flip)
299312         scrollx = -scrollx;
300      tilemap_set_scrollx(bg1_tilemap,0,scrollx);
301      tilemap_set_scrolly(bg1_tilemap,0,scrolly);
313      tilemap_set_scrollx(state->bg1_tilemap, 0, scrollx);
314      tilemap_set_scrolly(state->bg1_tilemap, 0, scrolly);
302315
303      scrollx = senjyo_scrollx2[0];
304      scrolly = senjyo_scrolly2[0] + 256 * senjyo_scrolly2[1];
305      if (senjyo_scrollhack)   /* Star Force, but NOT the encrypted version */
316      scrollx = state->scrollx2[0];
317      scrolly = state->scrolly2[0] + 256 * state->scrolly2[1];
318      if (state->scrollhack)   /* Star Force, but NOT the encrypted version */
306319      {
307         scrollx = senjyo_scrollx1[0];
308         scrolly = senjyo_scrolly1[0] + 256 * senjyo_scrolly1[1];
320         scrollx = state->scrollx1[0];
321         scrolly = state->scrolly1[0] + 256 * state->scrolly1[1];
309322      }
310      if (flip_screen_get(screen->machine))
323      if (flip)
311324         scrollx = -scrollx;
312      tilemap_set_scrollx(bg2_tilemap,0,scrollx);
313      tilemap_set_scrolly(bg2_tilemap,0,scrolly);
325      tilemap_set_scrollx(state->bg2_tilemap, 0, scrollx);
326      tilemap_set_scrolly(state->bg2_tilemap, 0, scrolly);
314327
315      scrollx = senjyo_scrollx3[0];
316      scrolly = senjyo_scrolly3[0] + 256 * senjyo_scrolly3[1];
317      if (flip_screen_get(screen->machine))
328      scrollx = state->scrollx3[0];
329      scrolly = state->scrolly3[0] + 256 * state->scrolly3[1];
330      if (flip)
318331         scrollx = -scrollx;
319      tilemap_set_scrollx(bg3_tilemap,0,scrollx);
320      tilemap_set_scrolly(bg3_tilemap,0,scrolly);
332      tilemap_set_scrollx(state->bg3_tilemap, 0, scrollx);
333      tilemap_set_scrolly(state->bg3_tilemap, 0, scrolly);
321334   }
322335
323   draw_bgbitmap(screen->machine, bitmap,cliprect);
324   draw_sprites(screen->machine, bitmap,cliprect,0);
325   tilemap_draw(bitmap,cliprect,bg3_tilemap,0,0);
326   draw_sprites(screen->machine, bitmap,cliprect,1);
327   tilemap_draw(bitmap,cliprect,bg2_tilemap,0,0);
328   draw_sprites(screen->machine, bitmap,cliprect,2);
329   tilemap_draw(bitmap,cliprect,bg1_tilemap,0,0);
330   draw_sprites(screen->machine, bitmap,cliprect,3);
331   tilemap_draw(bitmap,cliprect,fg_tilemap,0,0);
332   draw_radar(screen->machine,bitmap,cliprect);
336   draw_bgbitmap(screen->machine, bitmap, cliprect);
337   draw_sprites(screen->machine, bitmap, cliprect, 0);
338   tilemap_draw(bitmap, cliprect, state->bg3_tilemap, 0, 0);
339   draw_sprites(screen->machine, bitmap, cliprect, 1);
340   tilemap_draw(bitmap, cliprect, state->bg2_tilemap, 0, 0);
341   draw_sprites(screen->machine, bitmap, cliprect, 2);
342   tilemap_draw(bitmap, cliprect, state->bg1_tilemap, 0, 0);
343   draw_sprites(screen->machine, bitmap, cliprect, 3);
344   tilemap_draw(bitmap, cliprect, state->fg_tilemap, 0, 0);
345   draw_radar(screen->machine, bitmap, cliprect);
333346
334347#if 0
335348{
336349   char baf[80];
350   UINT8 *senjyo_scrolly3 = state->scrolly3;
337351
338352   sprintf(baf,"%02x %02x %02x %02x %02x %02x %02x %02x",
339353      senjyo_scrolly3[0x00],
src/mame/video/deadang.c
r9191r9192
11#include "emu.h"
2#include "includes/deadang.h"
23
34static tilemap_t *pf3_layer,*pf2_layer,*pf1_layer,*text_layer;
45static int deadangle_tilebank, deadangle_oldtilebank;
r9191r9192
1415
1516WRITE16_HANDLER( deadang_text_w )
1617{
17   COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
18   deadang_state *state = space->machine->driver_data<deadang_state>();
19   UINT16 *videoram = state->videoram;
20   COMBINE_DATA(&videoram[offset]);
1821   tilemap_mark_tile_dirty( text_layer, offset );
1922}
2023
r9191r9192
6366
6467static TILE_GET_INFO( get_text_tile_info )
6568{
66   int tile=(machine->generic.videoram.u16[tile_index] & 0xff) | ((machine->generic.videoram.u16[tile_index] >> 6) & 0x300);
67   int color=(machine->generic.videoram.u16[tile_index] >> 8)&0xf;
69   deadang_state *state = machine->driver_data<deadang_state>();
70   UINT16 *videoram = state->videoram;
71   int tile=(videoram[tile_index] & 0xff) | ((videoram[tile_index] >> 6) & 0x300);
72   int color=(videoram[tile_index] >> 8)&0xf;
6873
6974   SET_TILE_INFO(0,tile,color,0);
7075}
src/mame/video/hexion.c
r9191r9192
11#include "emu.h"
2#include "includes/hexion.h"
23
3
44static UINT8 *vram[2],*unkram;
55static int bankctrl,rambank,pmcbank,gfxrom_select;
66static tilemap_t *bg_tilemap[2];
src/mame/video/thief.c
r9191r9192
44
55#include "emu.h"
66#include "video/tms9927.h"
7#include "includes/thief.h"
78
9
810static UINT8 thief_read_mask, thief_write_mask;
911static UINT8 thief_video_control;
1012
r9191r9192
7981}
8082
8183READ8_HANDLER( thief_videoram_r ){
82   UINT8 *source = &space->machine->generic.videoram.u8[offset];
84   thief_state *state = space->machine->driver_data<thief_state>();
85   UINT8 *videoram = state->videoram;
86   UINT8 *source = &videoram[offset];
8387   if( thief_video_control&0x02 ) source+=0x2000*4; /* foreground/background */
8488   return source[thief_read_mask*0x2000];
8589}
8690
8791WRITE8_HANDLER( thief_videoram_w ){
88   UINT8 *dest = &space->machine->generic.videoram.u8[offset];
92   thief_state *state = space->machine->driver_data<thief_state>();
93   UINT8 *videoram = state->videoram;
94   UINT8 *dest = &videoram[offset];
8995   if( thief_video_control&0x02 )
9096      dest+=0x2000*4; /* foreground/background */
9197   if( thief_write_mask&0x1 ) dest[0x2000*0] = data;
r9191r9192
97103/***************************************************************************/
98104
99105VIDEO_START( thief ){
106   thief_state *state = machine->driver_data<thief_state>();
100107   memset( &thief_coprocessor, 0x00, sizeof(thief_coprocessor) );
101108
102   machine->generic.videoram.u8 = auto_alloc_array_clear(machine, UINT8, 0x2000*4*2 );
109   state->videoram = auto_alloc_array_clear(machine, UINT8, 0x2000*4*2 );
103110
104111   thief_coprocessor.image_ram = auto_alloc_array(machine, UINT8, 0x2000 );
105112   thief_coprocessor.context_ram = auto_alloc_array(machine, UINT8, 0x400 );
106113}
107114
108115VIDEO_UPDATE( thief ){
116   thief_state *state = screen->machine->driver_data<thief_state>();
117   UINT8 *videoram = state->videoram;
109118   UINT32 offs;
110119   int flipscreen = thief_video_control&1;
111   const UINT8 *source = screen->machine->generic.videoram.u8;
120   const UINT8 *source = videoram;
112121
113122   if (tms9927_screen_reset(screen->machine->device("tms")))
114123   {
src/mame/video/sauro.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/sauro.h"
1011
11UINT8 *tecfri_videoram;
12UINT8 *tecfri_colorram;
13UINT8 *tecfri_videoram2;
14UINT8 *tecfri_colorram2;
15
16static tilemap_t *bg_tilemap, *fg_tilemap;
17static UINT8 palette_bank;
18
1912/* General */
2013
2114WRITE8_HANDLER( tecfri_videoram_w )
2215{
23   tecfri_videoram[offset] = data;
24   tilemap_mark_tile_dirty(bg_tilemap, offset);
16   sauro_state *state = space->machine->driver_data<sauro_state>();
17
18   state->videoram[offset] = data;
19   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
2520}
2621
2722WRITE8_HANDLER( tecfri_colorram_w )
2823{
29   tecfri_colorram[offset] = data;
30   tilemap_mark_tile_dirty(bg_tilemap, offset);
24   sauro_state *state = space->machine->driver_data<sauro_state>();
25
26   state->colorram[offset] = data;
27   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
3128}
3229
3330WRITE8_HANDLER( tecfri_videoram2_w )
3431{
35   tecfri_videoram2[offset] = data;
36   tilemap_mark_tile_dirty(fg_tilemap, offset);
32   sauro_state *state = space->machine->driver_data<sauro_state>();
33
34   state->videoram2[offset] = data;
35   tilemap_mark_tile_dirty(state->fg_tilemap, offset);
3736}
3837
3938WRITE8_HANDLER( tecfri_colorram2_w )
4039{
41   tecfri_colorram2[offset] = data;
42   tilemap_mark_tile_dirty(fg_tilemap, offset);
40   sauro_state *state = space->machine->driver_data<sauro_state>();
41
42   state->colorram2[offset] = data;
43   tilemap_mark_tile_dirty(state->fg_tilemap, offset);
4344}
4445
4546WRITE8_HANDLER( tecfri_scroll_bg_w )
4647{
47   tilemap_set_scrollx(bg_tilemap, 0, data);
48   sauro_state *state = space->machine->driver_data<sauro_state>();
49
50   tilemap_set_scrollx(state->bg_tilemap, 0, data);
4851}
4952
5053static TILE_GET_INFO( get_tile_info_bg )
5154{
52   int code = tecfri_videoram[tile_index] + ((tecfri_colorram[tile_index] & 0x07) << 8);
53   int color = ((tecfri_colorram[tile_index] >> 4) & 0x0f) | palette_bank;
54   int flags = tecfri_colorram[tile_index] & 0x08 ? TILE_FLIPX : 0;
55   sauro_state *state = machine->driver_data<sauro_state>();
56   int code = state->videoram[tile_index] + ((state->colorram[tile_index] & 0x07) << 8);
57   int color = ((state->colorram[tile_index] >> 4) & 0x0f) | state->palette_bank;
58   int flags = state->colorram[tile_index] & 0x08 ? TILE_FLIPX : 0;
5559
5660   SET_TILE_INFO(0, code, color, flags);
5761}
5862
5963static TILE_GET_INFO( get_tile_info_fg )
6064{
61   int code = tecfri_videoram2[tile_index] + ((tecfri_colorram2[tile_index] & 0x07) << 8);
62   int color = ((tecfri_colorram2[tile_index] >> 4) & 0x0f) | palette_bank;
63   int flags = tecfri_colorram2[tile_index] & 0x08 ? TILE_FLIPX : 0;
65   sauro_state *state = machine->driver_data<sauro_state>();
66   int code = state->videoram2[tile_index] + ((state->colorram2[tile_index] & 0x07) << 8);
67   int color = ((state->colorram2[tile_index] >> 4) & 0x0f) | state->palette_bank;
68   int flags = state->colorram2[tile_index] & 0x08 ? TILE_FLIPX : 0;
6469
6570   SET_TILE_INFO(1, code, color, flags);
6671}
r9191r9192
7277
7378WRITE8_HANDLER( sauro_palette_bank_w )
7479{
75   palette_bank = (data & 0x03) << 4;
80   sauro_state *state = space->machine->driver_data<sauro_state>();
81
82   state->palette_bank = (data & 0x03) << 4;
7683   tilemap_mark_all_tiles_dirty_all(space->machine);
7784}
7885
7986WRITE8_HANDLER( sauro_scroll_fg_w )
8087{
88   sauro_state *state = space->machine->driver_data<sauro_state>();
8189   const int *map = (flip_screen_get(space->machine) ? scroll2_map_flip : scroll2_map);
8290   int scroll = (data & 0xf8) | map[data & 7];
8391
84   tilemap_set_scrollx(fg_tilemap, 0, scroll);
92   tilemap_set_scrollx(state->fg_tilemap, 0, scroll);
8593}
8694
8795VIDEO_START( sauro )
8896{
89   bg_tilemap = tilemap_create(machine, get_tile_info_bg, tilemap_scan_cols,
97   sauro_state *state = machine->driver_data<sauro_state>();
98
99   state->bg_tilemap = tilemap_create(machine, get_tile_info_bg, tilemap_scan_cols,
90100       8, 8, 32, 32);
91101
92   fg_tilemap = tilemap_create(machine, get_tile_info_fg, tilemap_scan_cols,
102   state->fg_tilemap = tilemap_create(machine, get_tile_info_fg, tilemap_scan_cols,
93103       8, 8, 32, 32);
94104
95   tilemap_set_transparent_pen(fg_tilemap, 0);
96   palette_bank = 0;
105   tilemap_set_transparent_pen(state->fg_tilemap, 0);
106   state->palette_bank = 0;
97107}
98108
99109static void sauro_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
100110{
101   UINT8 *spriteram = machine->generic.spriteram.u8;
111   sauro_state *state = machine->driver_data<sauro_state>();
112   UINT8 *spriteram = state->spriteram;
102113   int offs,code,sx,sy,color,flipx;
114   int flipy = flip_screen_get(machine);
103115
104   for (offs = 3;offs < machine->generic.spriteram_size - 1;offs += 4)
116   for (offs = 3; offs < state->spriteram_size - 1; offs += 4)
105117   {
106118      sy = spriteram[offs];
107119      if (sy == 0xf8) continue;
r9191r9192
109121      code = spriteram[offs+1] + ((spriteram[offs+3] & 0x03) << 8);
110122      sx = spriteram[offs+2];
111123      sy = 236 - sy;
112      color = ((spriteram[offs+3] >> 4) & 0x0f) | palette_bank;
124      color = ((spriteram[offs+3] >> 4) & 0x0f) | state->palette_bank;
113125
114126      // I'm not really sure how this bit works
115127      if (spriteram[offs+3] & 0x08)
r9191r9192
127139
128140      flipx = spriteram[offs+3] & 0x04;
129141
130      if (flip_screen_get(machine))
142      if (flipy)
131143      {
132144         flipx = !flipx;
133145         sx = (235 - sx) & 0xff;  // The &0xff is not 100% percent correct
134146         sy = 240 - sy;
135147      }
136148
137      drawgfx_transpen(bitmap, cliprect,machine->gfx[2],
149      drawgfx_transpen(bitmap, cliprect, machine->gfx[2],
138150            code,
139151            color,
140            flipx,flip_screen_get(machine),
152            flipx, flipy,
141153            sx,sy,0);
142154   }
143155}
144156
145157VIDEO_UPDATE( sauro )
146158{
147   tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
148   tilemap_draw(bitmap, cliprect, fg_tilemap, 0, 0);
159   sauro_state *state = screen->machine->driver_data<sauro_state>();
160
161   tilemap_draw(bitmap, cliprect, state->bg_tilemap, 0, 0);
162   tilemap_draw(bitmap, cliprect, state->fg_tilemap, 0, 0);
149163   sauro_draw_sprites(screen->machine, bitmap, cliprect);
150164   return 0;
151165}
r9191r9192
154168
155169VIDEO_START( trckydoc )
156170{
157   bg_tilemap = tilemap_create(machine, get_tile_info_bg, tilemap_scan_cols,
171   sauro_state *state = machine->driver_data<sauro_state>();
172
173   state->bg_tilemap = tilemap_create(machine, get_tile_info_bg, tilemap_scan_cols,
158174       8, 8, 32, 32);
159175}
160176
161177static void trckydoc_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
162178{
163   UINT8 *spriteram = machine->generic.spriteram.u8;
179   sauro_state *state = machine->driver_data<sauro_state>();
180   UINT8 *spriteram = state->spriteram;
164181   int offs,code,sy,color,flipx,sx;
182   int flipy = flip_screen_get(machine);
165183
166184   /* Weird, sprites entries don't start on DWORD boundary */
167   for (offs = 3;offs < machine->generic.spriteram_size - 1;offs += 4)
185   for (offs = 3; offs < state->spriteram_size - 1; offs += 4)
168186   {
169187      sy = spriteram[offs];
170188
r9191r9192
197215
198216      flipx = spriteram[offs+3] & 0x04;
199217
200      if (flip_screen_get(machine))
218      if (flipy)
201219      {
202220         flipx = !flipx;
203221         sx = (235 - sx) & 0xff;  /* The &0xff is not 100% percent correct */
r9191r9192
207225      drawgfx_transpen(bitmap, cliprect,machine->gfx[1],
208226            code,
209227            color,
210            flipx,flip_screen_get(machine),
228            flipx, flipy,
211229            sx,sy,0);
212230   }
213231}
214232
215233VIDEO_UPDATE( trckydoc )
216234{
217   tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
235   sauro_state *state = screen->machine->driver_data<sauro_state>();
236   tilemap_draw(bitmap, cliprect, state->bg_tilemap, 0, 0);
218237   trckydoc_draw_sprites(screen->machine, bitmap, cliprect);
219238   return 0;
220239}
src/mame/video/midtunit.c
r9191r9192
570570};
571571
572572
573/* allow for custom blitters */
574#ifdef midtunit_CUSTOM_BLITTERS
575#include "midtblit.c"
576#endif
577
578
579573/*** blitter family declarations ***/
580574DECLARE_BLITTER_SET(dma_draw_skip_scale,       dma_state.bpp, EXTRACTGEN,   SKIP_YES, SCALE_YES)
581575DECLARE_BLITTER_SET(dma_draw_noskip_scale,     dma_state.bpp, EXTRACTGEN,   SKIP_NO,  SCALE_YES)
src/mame/video/speedatk.c
r9191r9192
44
55*****************************************************************************************/
66#include "emu.h"
7#include "includes/speedatk.h"
78
8UINT8 *speedatk_videoram;
9UINT8 *speedatk_colorram;
10static tilemap_t *bg_tilemap;
119
1210/*
1311
r9191r9192
7775
7876WRITE8_HANDLER( speedatk_videoram_w )
7977{
80   speedatk_videoram[offset] = data;
81   tilemap_mark_tile_dirty(bg_tilemap, offset);
78   speedatk_state *state = space->machine->driver_data<speedatk_state>();
79
80   state->videoram[offset] = data;
81   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
8282}
8383
8484WRITE8_HANDLER( speedatk_colorram_w )
8585{
86   speedatk_colorram[offset] = data;
87   tilemap_mark_tile_dirty(bg_tilemap, offset);
86   speedatk_state *state = space->machine->driver_data<speedatk_state>();
87
88   state->colorram[offset] = data;
89   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
8890}
8991
9092static TILE_GET_INFO( get_tile_info )
9193{
94   speedatk_state *state = machine->driver_data<speedatk_state>();
9295   int code, color, region;
9396
94   code = speedatk_videoram[tile_index] + ((speedatk_colorram[tile_index] & 0xe0) << 3);
95   color = speedatk_colorram[tile_index] & 0x1f;
96   region = (speedatk_colorram[tile_index] & 0x10) >> 4;
97   code = state->videoram[tile_index] + ((state->colorram[tile_index] & 0xe0) << 3);
98   color = state->colorram[tile_index] & 0x1f;
99   region = (state->colorram[tile_index] & 0x10) >> 4;
97100
98101   SET_TILE_INFO(region, code, color, 0);
99102}
100103
101104VIDEO_START( speedatk )
102105{
103   bg_tilemap = tilemap_create(machine, get_tile_info,tilemap_scan_rows,8,8,34,30);
106   speedatk_state *state = machine->driver_data<speedatk_state>();
107
108   state->bg_tilemap = tilemap_create(machine, get_tile_info, tilemap_scan_rows, 8, 8, 34, 30);
104109}
105110
106111VIDEO_UPDATE( speedatk )
107112{
108   tilemap_draw(bitmap,cliprect,bg_tilemap,0,0);
113   speedatk_state *state = screen->machine->driver_data<speedatk_state>();
114
115   tilemap_draw(bitmap, cliprect, state->bg_tilemap, 0, 0);
109116   return 0;
110117}
src/mame/video/system1.c
r9191r9192
7979*************************************************************************/
8080
8181#include "emu.h"
82#include "system1.h"
82#include "includes/system1.h"
8383
8484static UINT8 *mix_collide;
8585static UINT8 mix_collide_summary;
r9191r9192
123123
124124static void video_start_common(running_machine *machine, int pagecount)
125125{
126   system1_state *state = machine->driver_data<system1_state>();
126127   int pagenum;
127128
128129   /* allocate memory for the collision arrays */
r9191r9192
131132
132133   /* allocate memory for videoram */
133134   tilemap_pages = pagecount;
134   machine->generic.videoram.u8 = auto_alloc_array_clear(machine, UINT8, 0x800 * pagecount);
135   state->videoram = auto_alloc_array_clear(machine, UINT8, 0x800 * pagecount);
135136
136137   /* create the tilemap pages */
137138   for (pagenum = 0; pagenum < pagecount; pagenum++)
138139   {
139140      tilemap_page[pagenum] = tilemap_create(machine, tile_get_info, tilemap_scan_rows, 8,8, 32,32);
140141      tilemap_set_transparent_pen(tilemap_page[pagenum], 0);
141      tilemap_set_user_data(tilemap_page[pagenum], machine->generic.videoram.u8 + 0x800 * pagenum);
142      tilemap_set_user_data(tilemap_page[pagenum], state->videoram + 0x800 * pagenum);
142143   }
143144
144145   /* allocate a temporary bitmap for sprite rendering */
r9191r9192
148149   state_save_register_global(machine, system1_video_mode);
149150   state_save_register_global(machine, mix_collide_summary);
150151   state_save_register_global(machine, sprite_collide_summary);
151   state_save_register_global_pointer(machine, machine->generic.videoram.u8, 0x800 * pagecount);
152   state_save_register_global_pointer(machine, state->videoram, 0x800 * pagecount);
152153   state_save_register_global_pointer(machine, mix_collide, 64);
153154   state_save_register_global_pointer(machine, sprite_collide, 1024);
154155}
r9191r9192
261262
262263READ8_HANDLER( system1_videoram_r )
263264{
265   system1_state *state = space->machine->driver_data<system1_state>();
266   UINT8 *videoram = state->videoram;
264267   videoram_wait_states(space->machine->firstcpu);
265268   offset |= 0x1000 * ((videoram_bank >> 1) % (tilemap_pages / 2));
266   return space->machine->generic.videoram.u8[offset];
269   return videoram[offset];
267270}
268271
269272WRITE8_HANDLER( system1_videoram_w )
270273{
274   system1_state *state = space->machine->driver_data<system1_state>();
275   UINT8 *videoram = state->videoram;
271276   videoram_wait_states(space->machine->firstcpu);
272277   offset |= 0x1000 * ((videoram_bank >> 1) % (tilemap_pages / 2));
273   space->machine->generic.videoram.u8[offset] = data;
278   videoram[offset] = data;
274279
275280   tilemap_mark_tile_dirty(tilemap_page[offset / 0x800], (offset % 0x800) / 2);
276281
r9191r9192
555560
556561VIDEO_UPDATE( system1 )
557562{
563   system1_state *state = screen->machine->driver_data<system1_state>();
564   UINT8 *videoram = state->videoram;
558565   bitmap_t *bgpixmaps[4], *fgpixmap;
559566   int bgrowscroll[32];
560567   int xscroll, yscroll;
r9191r9192
567574   fgpixmap = tilemap_get_pixmap(tilemap_page[1]);
568575
569576   /* get fixed scroll offsets */
570   xscroll = (screen->machine->generic.videoram.u8[0xffc] | (screen->machine->generic.videoram.u8[0xffd] << 8)) / 2 + 14;
571   yscroll = screen->machine->generic.videoram.u8[0xfbd];
577   xscroll = (videoram[0xffc] | (videoram[0xffd] << 8)) / 2 + 14;
578   yscroll = videoram[0xfbd];
572579
573580   /* adjust for flipping */
574581   if (flip_screen_get(screen->machine))
r9191r9192
589596
590597VIDEO_UPDATE( system2 )
591598{
599   system1_state *state = screen->machine->driver_data<system1_state>();
600   UINT8 *videoram = state->videoram;
592601   bitmap_t *bgpixmaps[4], *fgpixmap;
593602   int rowscroll[32];
594603   int xscroll, yscroll;
r9191r9192
596605   int y;
597606
598607   /* 4 independent background pages */
599   bgpixmaps[0] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x740] & 7]);
600   bgpixmaps[1] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x742] & 7]);
601   bgpixmaps[2] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x744] & 7]);
602   bgpixmaps[3] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x746] & 7]);
608   bgpixmaps[0] = tilemap_get_pixmap(tilemap_page[videoram[0x740] & 7]);
609   bgpixmaps[1] = tilemap_get_pixmap(tilemap_page[videoram[0x742] & 7]);
610   bgpixmaps[2] = tilemap_get_pixmap(tilemap_page[videoram[0x744] & 7]);
611   bgpixmaps[3] = tilemap_get_pixmap(tilemap_page[videoram[0x746] & 7]);
603612
604613   /* foreground is fixed to page 0 */
605614   fgpixmap = tilemap_get_pixmap(tilemap_page[0]);
r9191r9192
607616   /* get scroll offsets */
608617   if (!flip_screen_get(screen->machine))
609618   {
610      xscroll = (((screen->machine->generic.videoram.u8[0x7c0] | (screen->machine->generic.videoram.u8[0x7c1] << 8)) / 2) & 0xff) - 256 + 5;
611      yscroll = screen->machine->generic.videoram.u8[0x7ba];
619      xscroll = (((videoram[0x7c0] | (videoram[0x7c1] << 8)) / 2) & 0xff) - 256 + 5;
620      yscroll = videoram[0x7ba];
612621      sprxoffset = 7;
613622   }
614623   else
615624   {
616      xscroll = 262+256 - ((((screen->machine->generic.videoram.u8[0x7f6] | (screen->machine->generic.videoram.u8[0x7f7] << 8)) / 2) & 0xff) - 256 + 5);
617      yscroll = 256+256 - screen->machine->generic.videoram.u8[0x784];
625      xscroll = 262+256 - ((((videoram[0x7f6] | (videoram[0x7f7] << 8)) / 2) & 0xff) - 256 + 5);
626      yscroll = 256+256 - videoram[0x784];
618627      sprxoffset = -7;
619628   }
620629
r9191r9192
630639
631640VIDEO_UPDATE( system2_rowscroll )
632641{
642   system1_state *state = screen->machine->driver_data<system1_state>();
643   UINT8 *videoram = state->videoram;
633644   bitmap_t *bgpixmaps[4], *fgpixmap;
634645   int rowscroll[32];
635646   int yscroll;
636647   int y;
637648
638649   /* 4 independent background pages */
639   bgpixmaps[0] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x740] & 7]);
640   bgpixmaps[1] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x742] & 7]);
641   bgpixmaps[2] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x744] & 7]);
642   bgpixmaps[3] = tilemap_get_pixmap(tilemap_page[screen->machine->generic.videoram.u8[0x746] & 7]);
650   bgpixmaps[0] = tilemap_get_pixmap(tilemap_page[videoram[0x740] & 7]);
651   bgpixmaps[1] = tilemap_get_pixmap(tilemap_page[videoram[0x742] & 7]);
652   bgpixmaps[2] = tilemap_get_pixmap(tilemap_page[videoram[0x744] & 7]);
653   bgpixmaps[3] = tilemap_get_pixmap(tilemap_page[videoram[0x746] & 7]);
643654
644655   /* foreground is fixed to page 0 */
645656   fgpixmap = tilemap_get_pixmap(tilemap_page[0]);
r9191r9192
648659   if (!flip_screen_get(screen->machine))
649660   {
650661      for (y = 0; y < 32; y++)
651         rowscroll[y] = (((screen->machine->generic.videoram.u8[0x7c0 + y * 2] | (screen->machine->generic.videoram.u8[0x7c1 + y * 2] << 8)) / 2) & 0xff) - 256 + 5;
652      yscroll = screen->machine->generic.videoram.u8[0x7ba];
662         rowscroll[y] = (((videoram[0x7c0 + y * 2] | (videoram[0x7c1 + y * 2] << 8)) / 2) & 0xff) - 256 + 5;
663      yscroll = videoram[0x7ba];
653664   }
654665   else
655666   {
656667      for (y = 0; y < 32; y++)
657         rowscroll[y] = 262+256 - ((((screen->machine->generic.videoram.u8[0x7fe - y * 2] | (screen->machine->generic.videoram.u8[0x7ff - y * 2] << 8)) / 2) & 0xff) - 256 + 5);
658      yscroll = 256+256 - screen->machine->generic.videoram.u8[0x784];
668         rowscroll[y] = 262+256 - ((((videoram[0x7fe - y * 2] | (videoram[0x7ff - y * 2] << 8)) / 2) & 0xff) - 256 + 5);
669      yscroll = 256+256 - videoram[0x784];
659670   }
660671
661672   /* common update */
src/mame/video/powerins.c
r9191r9192
3838**************************************************************************/
3939
4040#include "emu.h"
41#include "includes/powerins.h"
4142
4243/* Variables that driver has access to: */
4344UINT16 *powerins_vram_0, *powerins_vctrl_0;
src/mame/video/jedi.c
r9191r9192
354354 *
355355 *************************************/
356356
357MACHINE_DRIVER_START( jedi_video )
357MACHINE_CONFIG_FRAGMENT( jedi_video )
358358
359359
360360   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
365365
366366   MDRV_VIDEO_START(jedi)
367367   MDRV_VIDEO_UPDATE(jedi)
368MACHINE_DRIVER_END
368MACHINE_CONFIG_END
src/mame/video/namcofl.c
r9191r9192
44#include "includes/namconb1.h"
55#include "includes/namcoic.h"
66#include "includes/namcos2.h"
7#include "includes/namcofl.h"
78
89//UINT32 *namcofl_spritebank32;
910//UINT32 *namcofl_tilebank32;
src/mame/video/balsente.c
r9191r9192
4646{
4747   balsente_state *state = space->machine->driver_data<balsente_state>();
4848
49   space->machine->generic.videoram.u8[offset] = data;
50
5149   /* expand the two pixel values into two bytes */
5250   state->videoram[offset * 2 + 0] = data >> 4;
5351   state->videoram[offset * 2 + 1] = data & 15;
src/mame/video/itech32.c
r9191r9192
201201
202202VIDEO_START( itech32 )
203203{
204   itech32_state *state = machine->driver_data<itech32_state>();
204205   int i;
205206
206207   /* allocate memory */
207   machine->generic.videoram.u16 = auto_alloc_array(machine, UINT16, VRAM_WIDTH * (itech32_vram_height + 16) * 2);
208   memset(machine->generic.videoram.u16, 0xff, VRAM_WIDTH * (itech32_vram_height + 16) * 2 * 2);
208   state->videoram = auto_alloc_array(machine, UINT16, VRAM_WIDTH * (itech32_vram_height + 16) * 2);
209   memset(state->videoram, 0xff, VRAM_WIDTH * (itech32_vram_height + 16) * 2 * 2);
209210
210211   /* videoplane[0] is the foreground; videoplane[1] is the background */
211   videoplane[0] = &machine->generic.videoram.u16[0 * VRAM_WIDTH * (itech32_vram_height + 16) + 8 * VRAM_WIDTH];
212   videoplane[1] = &machine->generic.videoram.u16[1 * VRAM_WIDTH * (itech32_vram_height + 16) + 8 * VRAM_WIDTH];
212   videoplane[0] = &state->videoram[0 * VRAM_WIDTH * (itech32_vram_height + 16) + 8 * VRAM_WIDTH];
213   videoplane[1] = &state->videoram[1 * VRAM_WIDTH * (itech32_vram_height + 16) + 8 * VRAM_WIDTH];
213214
214215   /* set the masks */
215216   vram_mask = VRAM_WIDTH * itech32_vram_height - 1;
src/mame/video/terracre.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/terracre.h"
1011
1112static UINT16 xscroll;
1213static UINT16 yscroll;
r9191r9192
2829static
2930TILE_GET_INFO( get_fg_tile_info )
3031{
31   int data = machine->generic.videoram.u16[tile_index];
32   terracre_state *state = machine->driver_data<terracre_state>();
33   UINT16 *videoram = state->videoram;
34   int data = videoram[tile_index];
3235   SET_TILE_INFO( 0,data&0xff,0,0 );
3336}
3437
r9191r9192
159162
160163WRITE16_HANDLER( amazon_foreground_w )
161164{
162   COMBINE_DATA( &space->machine->generic.videoram.u16[offset] );
165   terracre_state *state = space->machine->driver_data<terracre_state>();
166   UINT16 *videoram = state->videoram;
167   COMBINE_DATA( &videoram[offset] );
163168   tilemap_mark_tile_dirty( foreground, offset );
164169}
165170
src/mame/video/undrfire.c
r9191r9192
11#include "emu.h"
22#include "video/taitoic.h"
3#include "includes/undrfire.h"
34
45UINT16 undrfire_rotate_ctrl[8];
56
src/mame/video/gaiden.c
r9191r9192
9090   tilemap_set_transparent_pen(state->foreground, 0);
9191   tilemap_set_transparent_pen(state->text_layer, 0);
9292
93   tilemap_set_scrolldy(state->background, 0, 33);
94   tilemap_set_scrolldy(state->foreground, 0, 33);
95   tilemap_set_scrolldy(state->text_layer, 0, 31);
96
97   tilemap_set_scrolldx(state->background, 0, -1);
98   tilemap_set_scrolldx(state->foreground, 0, -1);
99   tilemap_set_scrolldx(state->text_layer, 0, -1);
100
93101   /* set up sprites */
94102   state->sprite_bitmap = auto_bitmap_alloc(machine, width, height, BITMAP_FORMAT_INDEXED16);
95103}
src/mame/video/shangkid.c
r9191r9192
22
33#include "emu.h"
44#include "cpu/z80/z80.h"
5#include "includes/shangkid.h"
56
67static tilemap_t *background;
78UINT8 *shangkid_videoreg;
r9191r9192
1011
1112
1213static TILE_GET_INFO( get_bg_tile_info ){
13   int attributes = machine->generic.videoram.u8[tile_index+0x800];
14   int tile_number = machine->generic.videoram.u8[tile_index]+0x100*(attributes&0x3);
14   shangkid_state *state = machine->driver_data<shangkid_state>();
15   UINT8 *videoram = state->videoram;
16   int attributes = videoram[tile_index+0x800];
17   int tile_number = videoram[tile_index]+0x100*(attributes&0x3);
1518   int color;
1619
1720   if( shangkid_gfx_type==1 )
r9191r9192
5558
5659WRITE8_HANDLER( shangkid_videoram_w )
5760{
58   space->machine->generic.videoram.u8[offset] = data;
61   shangkid_state *state = space->machine->driver_data<shangkid_state>();
62   UINT8 *videoram = state->videoram;
63   videoram[offset] = data;
5964   tilemap_mark_tile_dirty( background, offset&0x7ff );
6065}
6166
r9191r9192
214219
215220static void dynamski_draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int pri )
216221{
222   shangkid_state *state = machine->driver_data<shangkid_state>();
223   UINT8 *videoram = state->videoram;
217224   int i;
218225   int sx,sy;
219226   int tile;
r9191r9192
242249         sx+=16;
243250      }
244251
245      tile = machine->generic.videoram.u8[i];
246      attr = machine->generic.videoram.u8[i+0x400];
252      tile = videoram[i];
253      attr = videoram[i+0x400];
247254      /*
248255            x---.----   priority?
249256            -xx-.----   bank
r9191r9192
266273
267274static void dynamski_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
268275{
276   shangkid_state *state = machine->driver_data<shangkid_state>();
277   UINT8 *videoram = state->videoram;
269278   int i;
270279   int sx,sy;
271280   int tile;
r9191r9192
274283   int color;
275284   for( i=0x7e; i>=0x00; i-=2 )
276285   {
277      bank = machine->generic.videoram.u8[0x1b80+i];
278      attr = machine->generic.videoram.u8[0x1b81+i];
279      tile = machine->generic.videoram.u8[0xb80+i];
280      color = machine->generic.videoram.u8[0xb81+i];
281      sy = 240-machine->generic.videoram.u8[0x1380+i];
286      bank = videoram[0x1b80+i];
287      attr = videoram[0x1b81+i];
288      tile = videoram[0xb80+i];
289      color = videoram[0xb81+i];
290      sy = 240-videoram[0x1380+i];
282291
283      sx = machine->generic.videoram.u8[0x1381+i]-64+8+16;
292      sx = videoram[0x1381+i]-64+8+16;
284293      if( attr&1 ) sx += 0x100;
285294
286295      drawgfx_transpen(
src/mame/video/punchout.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/punchout.h"
1011
1112
1213static tilemap_t *bg_top_tilemap;
src/mame/video/tecmo.c
r9191r9192
55***************************************************************************/
66
77#include "emu.h"
8#include "includes/tecmo.h"
89
910UINT8 *tecmo_txvideoram,*tecmo_fgvideoram,*tecmo_bgvideoram;
1011
src/mame/video/galpanic.c
r9191r9192
11#include "emu.h"
22#include "kan_pand.h"
3#include "includes/galpanic.h"
34
45UINT16 *galpanic_bgvideoram,*galpanic_fgvideoram;
56size_t galpanic_fgvideoram_size;
src/mame/video/xorworld.c
r9191r9192
11#include "emu.h"
2#include "includes/xorworld.h"
23
34static tilemap_t *bg_tilemap;
45
r9191r9192
5051
5152WRITE16_HANDLER( xorworld_videoram16_w )
5253{
53   COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
54   xorworld_state *state = space->machine->driver_data<xorworld_state>();
55   UINT16 *videoram = state->videoram;
56   COMBINE_DATA(&videoram[offset]);
5457   tilemap_mark_tile_dirty(bg_tilemap, offset);
5558}
5659
r9191r9192
6669
6770static TILE_GET_INFO( get_bg_tile_info )
6871{
69   int data = machine->generic.videoram.u16[tile_index];
72   xorworld_state *state = machine->driver_data<xorworld_state>();
73   UINT16 *videoram = state->videoram;
74   int data = videoram[tile_index];
7075   int code = data & 0x0fff;
7176
7277   SET_TILE_INFO(0, code, data >> 12, 0);
src/mame/video/speedspn.c
r9191r9192
11/* Speed Spin video, see driver file for notes */
22
33#include "emu.h"
4#include "includes/speedspn.h"
45
56UINT8 *speedspn_attram;
67
src/mame/video/cloak.c
r9191r9192
149149
150150WRITE8_HANDLER( cloak_videoram_w )
151151{
152   space->machine->generic.videoram.u8[offset] = data;
152   cloak_state *state = space->machine->driver_data<cloak_state>();
153   UINT8 *videoram = state->videoram;
154   videoram[offset] = data;
153155   tilemap_mark_tile_dirty(bg_tilemap, offset);
154156}
155157
r9191r9192
160162
161163static TILE_GET_INFO( get_bg_tile_info )
162164{
163   int code = machine->generic.videoram.u8[tile_index];
165   cloak_state *state = machine->driver_data<cloak_state>();
166   UINT8 *videoram = state->videoram;
167   int code = videoram[tile_index];
164168
165169   SET_TILE_INFO(0, code, 0, 0);
166170}
src/mame/video/gticlub.c
r9191r9192
187187static UINT8 *gfxrom;
188188
189189
190void K001005_swap_buffers(running_machine *machine);
191
192190static void K001005_exit(running_machine &machine)
193191{
194192   poly_free(poly);
src/mame/video/namcona1.c
r9191r9192
7878   }
7979} /* tilemap_get_info */
8080
81static TILE_GET_INFO( tilemap_get_info0 ){ tilemap_get_info(machine,tileinfo,tile_index,0*0x1000+machine->generic.videoram.u16,tilemap_palette_bank[0],namcona1_vreg[0xbc/2]&1); }
82static TILE_GET_INFO( tilemap_get_info1 ){ tilemap_get_info(machine,tileinfo,tile_index,1*0x1000+machine->generic.videoram.u16,tilemap_palette_bank[1],namcona1_vreg[0xbc/2]&2); }
83static TILE_GET_INFO( tilemap_get_info2 ){ tilemap_get_info(machine,tileinfo,tile_index,2*0x1000+machine->generic.videoram.u16,tilemap_palette_bank[2],namcona1_vreg[0xbc/2]&4); }
84static TILE_GET_INFO( tilemap_get_info3 ){ tilemap_get_info(machine,tileinfo,tile_index,3*0x1000+machine->generic.videoram.u16,tilemap_palette_bank[3],namcona1_vreg[0xbc/2]&8); }
81static TILE_GET_INFO( tilemap_get_info0 )
82{
83   namcona1_state *state = machine->driver_data<namcona1_state>();
84   UINT16 *videoram = state->videoram;
85   tilemap_get_info(machine,tileinfo,tile_index,0*0x1000+videoram,tilemap_palette_bank[0],namcona1_vreg[0xbc/2]&1);
86}
8587
88static TILE_GET_INFO( tilemap_get_info1 )
89{
90   namcona1_state *state = machine->driver_data<namcona1_state>();
91   UINT16 *videoram = state->videoram;
92   tilemap_get_info(machine,tileinfo,tile_index,1*0x1000+videoram,tilemap_palette_bank[1],namcona1_vreg[0xbc/2]&2);
93}
94
95static TILE_GET_INFO( tilemap_get_info2 )
96{
97   namcona1_state *state = machine->driver_data<namcona1_state>();
98   UINT16 *videoram = state->videoram;
99   tilemap_get_info(machine,tileinfo,tile_index,2*0x1000+videoram,tilemap_palette_bank[2],namcona1_vreg[0xbc/2]&4);
100}
101
102static TILE_GET_INFO( tilemap_get_info3 )
103{
104   namcona1_state *state = machine->driver_data<namcona1_state>();
105   UINT16 *videoram = state->videoram;
106   tilemap_get_info(machine,tileinfo,tile_index,3*0x1000+videoram,tilemap_palette_bank[3],namcona1_vreg[0xbc/2]&8);
107}
108
86109static TILE_GET_INFO( roz_get_info )
87110{
111   namcona1_state *state = machine->driver_data<namcona1_state>();
112   UINT16 *videoram = state->videoram;
88113   /* each logical tile is constructed from 4*4 normal tiles */
89114   int tilemap_color = roz_palette;
90115   int use_4bpp_gfx = namcona1_vreg[0xbc/2]&16; /* ? */
91116   int c = tile_index%0x40;
92117   int r = tile_index/0x40;
93   int data = machine->generic.videoram.u16[0x8000/2+(r/4)*0x40+c/4]&0xfbf; /* mask out bit 0x40 - patch for Emeraldia Japan */
118   int data = videoram[0x8000/2+(r/4)*0x40+c/4]&0xfbf; /* mask out bit 0x40 - patch for Emeraldia Japan */
94119   int tile = (data+(c%4)+(r%4)*0x40)&0xfff;
95120   int gfx = use_4bpp_gfx;
96121   if( use_4bpp_gfx )
r9191r9192
129154
130155WRITE16_HANDLER( namcona1_videoram_w )
131156{
132   COMBINE_DATA( &space->machine->generic.videoram.u16[offset] );
157   namcona1_state *state = space->machine->driver_data<namcona1_state>();
158   UINT16 *videoram = state->videoram;
159   COMBINE_DATA( &videoram[offset] );
133160   if( offset<0x8000/2 )
134161   {
135162      tilemap_mark_tile_dirty( bg_tilemap[offset/0x1000], offset&0xfff );
r9191r9192
142169
143170READ16_HANDLER( namcona1_videoram_r )
144171{
145   return space->machine->generic.videoram.u16[offset];
172   namcona1_state *state = space->machine->driver_data<namcona1_state>();
173   UINT16 *videoram = state->videoram;
174   return videoram[offset];
146175} /* namcona1_videoram_r */
147176
148177/*************************************************************************/
r9191r9192
537566
538567static void draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int which, int primask )
539568{
569   namcona1_state *state = machine->driver_data<namcona1_state>();
570   UINT16 *videoram = state->videoram;
540571   /*          scrollx lineselect
541572     *  tmap0   ffe000  ffe200
542573     *  tmap1   ffe400  ffe600
r9191r9192
587618            draw_pixel_line(
588619               BITMAP_ADDR16(bitmap, line, 0),
589620               BITMAP_ADDR8(machine->priority_bitmap, line, 0),
590               machine->generic.videoram.u16 + ydata + 25,
621               videoram + ydata + 25,
591622               paldata );
592623         }
593624         else
src/mame/video/sprint4.c
r9191r9192
66
77#include "emu.h"
88#include "audio/sprint4.h"
9#include "includes/sprint4.h"
910
1011static tilemap_t* playfield;
1112
r9191r9192
4243
4344static TILE_GET_INFO( sprint4_tile_info )
4445{
45   UINT8 code = machine->generic.videoram.u8[tile_index];
46   sprint4_state *state = machine->driver_data<sprint4_state>();
47   UINT8 *videoram = state->videoram;
48   UINT8 code = videoram[tile_index];
4649
4750   if ((code & 0x30) == 0x30)
4851      SET_TILE_INFO(0, code & ~0x40, (code >> 6) ^ 3, 0);
r9191r9192
6164
6265VIDEO_UPDATE( sprint4 )
6366{
67   sprint4_state *state = screen->machine->driver_data<sprint4_state>();
68   UINT8 *videoram = state->videoram;
6469   int i;
6570
6671   tilemap_draw(bitmap, cliprect, playfield, 0, 0);
r9191r9192
6974   {
7075      int bank = 0;
7176
72      UINT8 horz = screen->machine->generic.videoram.u8[0x390 + 2 * i + 0];
73      UINT8 attr = screen->machine->generic.videoram.u8[0x390 + 2 * i + 1];
74      UINT8 vert = screen->machine->generic.videoram.u8[0x398 + 2 * i + 0];
75      UINT8 code = screen->machine->generic.videoram.u8[0x398 + 2 * i + 1];
77      UINT8 horz = videoram[0x390 + 2 * i + 0];
78      UINT8 attr = videoram[0x390 + 2 * i + 1];
79      UINT8 vert = videoram[0x398 + 2 * i + 0];
80      UINT8 code = videoram[0x398 + 2 * i + 1];
7681
7782      if (i & 1)
7883         bank = 32;
r9191r9192
9095
9196VIDEO_EOF( sprint4 )
9297{
98   sprint4_state *state = machine->driver_data<sprint4_state>();
99   UINT8 *videoram = state->videoram;
93100   int i;
94101
95102   /* check for sprite-playfield collisions */
r9191r9192
105112
106113      int bank = 0;
107114
108      UINT8 horz = machine->generic.videoram.u8[0x390 + 2 * i + 0];
109      UINT8 vert = machine->generic.videoram.u8[0x398 + 2 * i + 0];
110      UINT8 code = machine->generic.videoram.u8[0x398 + 2 * i + 1];
115      UINT8 horz = videoram[0x390 + 2 * i + 0];
116      UINT8 vert = videoram[0x398 + 2 * i + 0];
117      UINT8 code = videoram[0x398 + 2 * i + 1];
111118
112119      rect.min_x = horz - 15;
113120      rect.min_y = vert - 15;
r9191r9192
136143
137144   /* update sound status */
138145
139   discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_1, machine->generic.videoram.u8[0x391] & 15);
140   discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_2, machine->generic.videoram.u8[0x393] & 15);
141   discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_3, machine->generic.videoram.u8[0x395] & 15);
142   discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_4, machine->generic.videoram.u8[0x397] & 15);
146   discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_1, videoram[0x391] & 15);
147   discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_2, videoram[0x393] & 15);
148   discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_3, videoram[0x395] & 15);
149   discrete_sound_w(discrete, SPRINT4_MOTOR_DATA_4, videoram[0x397] & 15);
143150}
144151
145152
146153WRITE8_HANDLER( sprint4_video_ram_w )
147154{
148   space->machine->generic.videoram.u8[offset] = data;
155   sprint4_state *state = space->machine->driver_data<sprint4_state>();
156   UINT8 *videoram = state->videoram;
157   videoram[offset] = data;
149158   tilemap_mark_tile_dirty(playfield, offset);
150159}
src/mame/video/skyraid.c
r9191r9192
55***************************************************************************/
66
77#include "emu.h"
8#include "includes/skyraid.h"
89
9int skyraid_scroll;
1010
11UINT8* skyraid_alpha_num_ram;
12UINT8* skyraid_pos_ram;
13UINT8* skyraid_obj_ram;
14
15static bitmap_t *helper;
16
17
1811VIDEO_START( skyraid )
1912{
20   helper = auto_bitmap_alloc(machine, 128, 240, machine->primary_screen->format());
13   skyraid_state *state = machine->driver_data<skyraid_state>();
14
15   state->helper = auto_bitmap_alloc(machine, 128, 240, machine->primary_screen->format());
2116}
2217
2318
2419static void draw_text(running_machine *machine, bitmap_t* bitmap, const rectangle* cliprect)
2520{
26   const UINT8* p = skyraid_alpha_num_ram;
21   skyraid_state *state = machine->driver_data<skyraid_state>();
22   const UINT8* p = state->alpha_num_ram;
2723
2824   int i;
2925
r9191r9192
4238
4339static void draw_terrain(running_machine *machine, bitmap_t* bitmap, const rectangle *cliprect)
4440{
41   skyraid_state *state = machine->driver_data<skyraid_state>();
4542   const UINT8* p = memory_region(machine, "user1");
4643
4744   int x;
r9191r9192
4946
5047   for (y = 0; y < bitmap->height; y++)
5148   {
52      int offset = (16 * skyraid_scroll + 16 * ((y + 1) / 2)) & 0x7FF;
49      int offset = (16 * state->scroll + 16 * ((y + 1) / 2)) & 0x7FF;
5350
5451      x = 0;
5552
r9191r9192
7774
7875static void draw_sprites(running_machine *machine, bitmap_t* bitmap, const rectangle* cliprect)
7976{
77   skyraid_state *state = machine->driver_data<skyraid_state>();
8078   int i;
8179
8280   for (i = 0; i < 4; i++)
8381   {
84      int code = skyraid_obj_ram[8 + 2 * i + 0] & 15;
85      int flag = skyraid_obj_ram[8 + 2 * i + 1] & 15;
86      int vert = skyraid_pos_ram[8 + 2 * i + 0];
87      int horz = skyraid_pos_ram[8 + 2 * i + 1];
82      int code = state->obj_ram[8 + 2 * i + 0] & 15;
83      int flag = state->obj_ram[8 + 2 * i + 1] & 15;
84      int vert = state->pos_ram[8 + 2 * i + 0];
85      int horz = state->pos_ram[8 + 2 * i + 1];
8886
8987      vert -= 31;
9088
r9191r9192
9896
9997static void draw_missiles(running_machine *machine, bitmap_t* bitmap, const rectangle* cliprect)
10098{
99   skyraid_state *state = machine->driver_data<skyraid_state>();
101100   int i;
102101
103102   /* hardware is restricted to one sprite per scanline */
104103
105104   for (i = 0; i < 4; i++)
106105   {
107      int code = skyraid_obj_ram[2 * i + 0] & 15;
108      int vert = skyraid_pos_ram[2 * i + 0];
109      int horz = skyraid_pos_ram[2 * i + 1];
106      int code = state->obj_ram[2 * i + 0] & 15;
107      int vert = state->pos_ram[2 * i + 0];
108      int horz = state->pos_ram[2 * i + 1];
110109
111110      vert -= 15;
112111      horz -= 31;
r9191r9192
141140
142141VIDEO_UPDATE( skyraid )
143142{
143   skyraid_state *state = screen->machine->driver_data<skyraid_state>();
144
144145   bitmap_fill(bitmap, cliprect, 0);
145146
146   draw_terrain(screen->machine, helper, NULL);
147   draw_sprites(screen->machine, helper, NULL);
148   draw_missiles(screen->machine, helper, NULL);
149   draw_trapezoid(screen->machine, bitmap, helper);
147   draw_terrain(screen->machine, state->helper, NULL);
148   draw_sprites(screen->machine, state->helper, NULL);
149   draw_missiles(screen->machine, state->helper, NULL);
150   draw_trapezoid(screen->machine, bitmap, state->helper);
150151   draw_text(screen->machine, bitmap, cliprect);
151152   return 0;
152153}
src/mame/video/beezer.c
r9191r9192
77
88INTERRUPT_GEN( beezer_interrupt )
99{
10   running_device *via_0 = device->machine->device("via6522_0");
10   via6522_device *via_0 = device->machine->device<via6522_device>("via6522_0");
1111
1212   scanline = (scanline + 1) % 0x80;
13   via_ca2_w(via_0, (scanline & 0x10) ? 1 : 0);
13   via_0->write_ca2((scanline & 0x10) ? 1 : 0);
1414   if ((scanline & 0x78) == 0x78)
1515      cpu_set_input_line(device, M6809_FIRQ_LINE, ASSERT_LINE);
1616   else
r9191r9192
1919
2020VIDEO_UPDATE( beezer )
2121{
22   beezer_state *state = screen->machine->driver_data<beezer_state>();
23   UINT8 *videoram = state->videoram;
2224   int x,y;
2325
2426   for (y = cliprect->min_y; y <= cliprect->max_y; y+=2)
2527      for (x = cliprect->min_x; x <= cliprect->max_x; x++)
2628      {
27         *BITMAP_ADDR16(bitmap, y+1, x) = screen->machine->generic.videoram.u8[0x80*y+x] & 0x0f;
28         *BITMAP_ADDR16(bitmap, y,   x) = screen->machine->generic.videoram.u8[0x80*y+x] >> 4;
29         *BITMAP_ADDR16(bitmap, y+1, x) = videoram[0x80*y+x] & 0x0f;
30         *BITMAP_ADDR16(bitmap, y,   x) = videoram[0x80*y+x] >> 4;
2931      }
3032
3133   return 0;
src/mame/video/darkseal.c
r9191r9192
8686***************************************************************************/
8787
8888#include "emu.h"
89#include "includes/darkseal.h"
8990
9091UINT16 *darkseal_pf12_row,*darkseal_pf34_row;
9192UINT16 *darkseal_pf1_data,*darkseal_pf2_data,*darkseal_pf3_data;
src/mame/video/20pacgal.c
r9191r9192
427427 *
428428 *************************************/
429429
430MACHINE_DRIVER_START( 20pacgal_video )
430MACHINE_CONFIG_FRAGMENT( 20pacgal_video )
431431
432432   MDRV_VIDEO_UPDATE(20pacgal)
433433
r9191r9192
437437   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
438438   MDRV_SCREEN_SIZE(SCREEN_WIDTH, SCREEN_HEIGHT)
439439   MDRV_SCREEN_VISIBLE_AREA(0, SCREEN_WIDTH - 1, 0, SCREEN_HEIGHT - 1)
440MACHINE_DRIVER_END
440MACHINE_CONFIG_END
src/mame/video/seicross.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/seicross.h"
1011
11UINT8 *seicross_row_scroll;
12
13UINT8 *seicross_videoram;
14UINT8 *seicross_colorram;
15static tilemap_t *bg_tilemap;
16
1712/***************************************************************************
1813
1914  Convert the color PROMs into a more useable format.
r9191r9192
6055
6156WRITE8_HANDLER( seicross_videoram_w )
6257{
63   seicross_videoram[offset] = data;
64   tilemap_mark_tile_dirty(bg_tilemap, offset);
58   seicross_state *state = space->machine->driver_data<seicross_state>();
59
60   state->videoram[offset] = data;
61   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
6562}
6663
6764WRITE8_HANDLER( seicross_colorram_w )
r9191r9192
6966   /* bit 5 of the address is not used for color memory. There is just */
7067   /* 512k of memory; every two consecutive rows share the same memory */
7168   /* region. */
69   seicross_state *state = space->machine->driver_data<seicross_state>();
70
7271   offset &= 0xffdf;
7372
74   seicross_colorram[offset] = data;
75   seicross_colorram[offset + 0x20] = data;
73   state->colorram[offset] = data;
74   state->colorram[offset + 0x20] = data;
7675
77   tilemap_mark_tile_dirty(bg_tilemap, offset);
78   tilemap_mark_tile_dirty(bg_tilemap, offset + 0x20);
76   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
77   tilemap_mark_tile_dirty(state->bg_tilemap, offset + 0x20);
7978}
8079
8180static TILE_GET_INFO( get_bg_tile_info )
8281{
83   int code = seicross_videoram[tile_index] + ((seicross_colorram[tile_index] & 0x10) << 4);
84   int color = seicross_colorram[tile_index] & 0x0f;
85   int flags = ((seicross_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((seicross_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
82   seicross_state *state = machine->driver_data<seicross_state>();
83   int code = state->videoram[tile_index] + ((state->colorram[tile_index] & 0x10) << 4);
84   int color = state->colorram[tile_index] & 0x0f;
85   int flags = ((state->colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((state->colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
8686
8787   SET_TILE_INFO(0, code, color, flags);
8888}
8989
9090VIDEO_START( seicross )
9191{
92   bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,
92   seicross_state *state = machine->driver_data<seicross_state>();
93
94   state->bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,
9395       8, 8, 32, 32);
9496
95   tilemap_set_scroll_cols(bg_tilemap, 32);
97   tilemap_set_scroll_cols(state->bg_tilemap, 32);
9698}
9799
98100static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
99101{
100   UINT8 *spriteram = machine->generic.spriteram.u8;
101   UINT8 *spriteram_2 = machine->generic.spriteram2.u8;
102   seicross_state *state = machine->driver_data<seicross_state>();
103   UINT8 *spriteram = state->spriteram;
104   UINT8 *spriteram_2 = state->spriteram2;
102105   int offs;
103106
104   for (offs = machine->generic.spriteram_size - 4;offs >= 0;offs -= 4)
107   for (offs = state->spriteram_size - 4; offs >= 0; offs -= 4)
105108   {
106109      int x = spriteram[offs + 3];
107110      drawgfx_transpen(bitmap,cliprect,machine->gfx[1],
r9191r9192
117120               x-256,240-spriteram[offs + 2],0);
118121   }
119122
120   for (offs = machine->generic.spriteram2_size - 4;offs >= 0;offs -= 4)
123   for (offs = state->spriteram2_size - 4; offs >= 0; offs -= 4)
121124   {
122125      int x = spriteram_2[offs + 3];
123126      drawgfx_transpen(bitmap,cliprect,machine->gfx[1],
r9191r9192
136139
137140VIDEO_UPDATE( seicross )
138141{
142   seicross_state *state = screen->machine->driver_data<seicross_state>();
139143   int col;
140144
141145   for (col = 0; col < 32; col++)
142      tilemap_set_scrolly(bg_tilemap, col, seicross_row_scroll[col]);
146      tilemap_set_scrolly(state->bg_tilemap, col, state->row_scroll[col]);
143147
144   tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
148   tilemap_draw(bitmap, cliprect, state->bg_tilemap, 0, 0);
145149   draw_sprites(screen->machine, bitmap, cliprect);
146150   return 0;
147151}
src/mame/video/redalert.c
r9191r9192
437437 *
438438 *************************************/
439439
440static MACHINE_DRIVER_START( redalert_video_common )
440static MACHINE_CONFIG_FRAGMENT( redalert_video_common )
441441
442442   MDRV_VIDEO_UPDATE(redalert)
443443
r9191r9192
448448   MDRV_SCREEN_SIZE(32*8, 32*8)
449449   MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
450450
451MACHINE_DRIVER_END
451MACHINE_CONFIG_END
452452
453MACHINE_DRIVER_START( redalert_video )
453MACHINE_CONFIG_FRAGMENT( redalert_video )
454454
455455   MDRV_VIDEO_START(redalert)
456   MDRV_IMPORT_FROM( redalert_video_common )
456   MDRV_FRAGMENT_ADD( redalert_video_common )
457457
458MACHINE_DRIVER_END
458MACHINE_CONFIG_END
459459
460MACHINE_DRIVER_START( ww3_video )
460MACHINE_CONFIG_FRAGMENT( ww3_video )
461461
462462   MDRV_VIDEO_START( ww3 )
463   MDRV_IMPORT_FROM( redalert_video_common )
463   MDRV_FRAGMENT_ADD( redalert_video_common )
464464
465MACHINE_DRIVER_END
465MACHINE_CONFIG_END
466466
467467
468468/*************************************
r9191r9192
471471 *
472472 *************************************/
473473
474MACHINE_DRIVER_START( demoneye_video )
474MACHINE_CONFIG_FRAGMENT( demoneye_video )
475475
476476   MDRV_VIDEO_START(redalert)
477477   MDRV_VIDEO_UPDATE(demoneye)
r9191r9192
483483   MDRV_SCREEN_SIZE(32*8, 32*8)
484484   MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
485485
486MACHINE_DRIVER_END
486MACHINE_CONFIG_END
487487
488488
489MACHINE_DRIVER_START( panther_video )
489MACHINE_CONFIG_FRAGMENT( panther_video )
490490
491491   MDRV_VIDEO_START(ww3)
492492   MDRV_VIDEO_UPDATE(panther)
r9191r9192
498498   MDRV_SCREEN_SIZE(32*8, 32*8)
499499   MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
500500
501MACHINE_DRIVER_END
501MACHINE_CONFIG_END
502502
src/mame/video/mcr3.c
r9191r9192
4545#ifdef UNUSED_FUNCTION
4646static TILE_GET_INFO( get_bg_tile_info )
4747{
48   int data = machine->generic.videoram.u8[tile_index * 2] | (machine->generic.videoram.u8[tile_index * 2 + 1] << 8);
48   mcr_state *state = machine->driver_data<mcr_state>();
49   UINT8 *videoram = state->videoram;
50   int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
4951   int code = (data & 0x3ff) | ((data >> 4) & 0x400);
5052   int color = (data >> 12) & 3;
5153   SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
r9191r9192
5557
5658static TILE_GET_INFO( mcrmono_get_bg_tile_info )
5759{
58   int data = machine->generic.videoram.u8[tile_index * 2] | (machine->generic.videoram.u8[tile_index * 2 + 1] << 8);
60   mcr_state *state = machine->driver_data<mcr_state>();
61   UINT8 *videoram = state->videoram;
62   int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
5963   int code = (data & 0x3ff) | ((data >> 4) & 0x400);
6064   int color = ((data >> 12) & 3) ^ 3;
6165   SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
r9191r9192
7175
7276static TILE_GET_INFO( spyhunt_get_bg_tile_info )
7377{
74   int data = machine->generic.videoram.u8[tile_index];
78   mcr_state *state = machine->driver_data<mcr_state>();
79   UINT8 *videoram = state->videoram;
80   int data = videoram[tile_index];
7581   int code = (data & 0x3f) | ((data >> 1) & 0x40);
7682   SET_TILE_INFO(0, code, 0, (data & 0x40) ? TILE_FLIPY : 0);
7783}
r9191r9192
166172
167173WRITE8_HANDLER( mcr3_videoram_w )
168174{
169   space->machine->generic.videoram.u8[offset] = data;
175   mcr_state *state = space->machine->driver_data<mcr_state>();
176   UINT8 *videoram = state->videoram;
177   videoram[offset] = data;
170178   tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
171179}
172180
173181
174182WRITE8_HANDLER( spyhunt_videoram_w )
175183{
176   space->machine->generic.videoram.u8[offset] = data;
184   mcr_state *state = space->machine->driver_data<mcr_state>();
185   UINT8 *videoram = state->videoram;
186   videoram[offset] = data;
177187   tilemap_mark_tile_dirty(bg_tilemap, offset);
178188}
179189
src/mame/video/stadhero.c
r9191r9192
1010***************************************************************************/
1111
1212#include "emu.h"
13#include "includes/stadhero.h"
1314
1415UINT16 *stadhero_pf1_data;
1516static UINT16 *stadhero_pf2_data;
src/mame/video/namcos86.c
r9191r9192
55*******************************************************************/
66
77#include "emu.h"
8#include "includes/namcos86.h"
89
910
1011UINT8 *rthunder_videoram1, *rthunder_videoram2, *rthunder_spriteram;
src/mame/video/suna8.c
r9191r9192
7272#include "emu.h"
7373#include "includes/suna8.h"
7474
75#define TILEMAPS 0
76
77static int suna8_text_dim; /* specifies format of text layer */
78
79UINT8 suna8_rombank, suna8_spritebank, suna8_palettebank;
80UINT8 suna8_unknown;
81
82
8375/***************************************************************************
8476    For Debug: there's no tilemap, just sprites.
8577***************************************************************************/
8678#if TILEMAPS
87static tilemap_t *bg_tilemap;
88static int tiles, rombank, page;
89
9079static TILE_GET_INFO( get_tile_info )
9180{
81   suna8_state *state = machine->driver_data<suna8_state>();
9282   UINT8 code, attr;
93   if (input_code_pressed(screen->machine, KEYCODE_X))
83
84   if (input_code_pressed(machine, KEYCODE_X))
9485   {
95      UINT8 *rom = memory_region(machine, REGION_CPU1) + 0x10000 + 0x4000*rombank;
86      UINT8 *rom = memory_region(machine, "maincpu") + 0x10000 + 0x4000 * state->trombank;
9687      code = rom[ 2 * tile_index + 0 ];
9788      attr = rom[ 2 * tile_index + 1 ];
9889   }
9990   else
10091   {
101      code = machine->generic.spriteram.u8[ 2 * tile_index + 0 ];
102      attr = machine->generic.spriteram.u8[ 2 * tile_index + 1 ];
92      code = state->spriteram[ 2 * tile_index + 0 ];
93      attr = state->spriteram[ 2 * tile_index + 1 ];
10394   }
10495   SET_TILE_INFO(
10596         0,
106         ( (attr & 0x03) << 8 ) + code + tiles*0x400,
97         ( (attr & 0x03) << 8 ) + code + state->tiles*0x400,
10798         (attr >> 2) & 0xf,
10899         TILE_FLIPYX( (attr >> 6) & 3 ));
109100}
r9191r9192
112103
113104READ8_HANDLER( suna8_banked_paletteram_r )
114105{
115   offset += suna8_palettebank * 0x200;
106   suna8_state *state = space->machine->driver_data<suna8_state>();
107
108   offset += state->palettebank * 0x200;
116109   return space->machine->generic.paletteram.u8[offset];
117110}
118111
119112READ8_HANDLER( suna8_banked_spriteram_r )
120113{
121   offset += suna8_spritebank * 0x2000;
122   return space->machine->generic.spriteram.u8[offset];
114   suna8_state *state = space->machine->driver_data<suna8_state>();
115
116   offset += state->spritebank * 0x2000;
117   return state->spriteram[offset];
123118}
124119
125120WRITE8_HANDLER( suna8_spriteram_w )
126121{
127   space->machine->generic.spriteram.u8[offset] = data;
122   suna8_state *state = space->machine->driver_data<suna8_state>();
123
124   state->spriteram[offset] = data;
128125#if TILEMAPS
129   tilemap_mark_tile_dirty(bg_tilemap,offset/2);
126   tilemap_mark_tile_dirty(state->bg_tilemap, offset/2);
130127#endif
131128}
132129
133130WRITE8_HANDLER( suna8_banked_spriteram_w )
134131{
135   offset += suna8_spritebank * 0x2000;
136   space->machine->generic.spriteram.u8[offset] = data;
132   suna8_state *state = space->machine->driver_data<suna8_state>();
133
134   offset += state->spritebank * 0x2000;
135   state->spriteram[offset] = data;
137136#if TILEMAPS
138   tilemap_mark_tile_dirty(bg_tilemap,offset/2);
137   tilemap_mark_tile_dirty(state->bg_tilemap, offset/2);
139138#endif
140139}
141140
r9191r9192
144143*/
145144WRITE8_HANDLER( brickzn_banked_paletteram_w )
146145{
146   suna8_state *state = space->machine->driver_data<suna8_state>();
147147   int r,g,b;
148148   UINT16 rgb;
149   offset += suna8_palettebank * 0x200;
149
150   offset += state->palettebank * 0x200;
150151   space->machine->generic.paletteram.u8[offset] = data;
151152   rgb = (space->machine->generic.paletteram.u8[offset&~1] << 8) + space->machine->generic.paletteram.u8[offset|1];
152153   r   =   (((rgb & (1<<0xc))?1:0)<<0) |
r9191r9192
169170
170171static void suna8_vh_start_common(running_machine *machine, int dim)
171172{
172   suna8_text_dim = dim;
173   if (!(suna8_text_dim > 0))
173   suna8_state *state = machine->driver_data<suna8_state>();
174
175   state->text_dim = dim;
176   if (!(state->text_dim > 0))
174177   {
175      machine->generic.paletteram.u8   =   auto_alloc_array(machine, UINT8, 0x200 * 2);
176      machine->generic.spriteram.u8   =   auto_alloc_array(machine, UINT8, 0x2000 * 2);
177      suna8_spritebank  = 0;
178      suna8_palettebank = 0;
178      machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x200 * 2);
179      state->spriteram = auto_alloc_array(machine, UINT8, 0x2000 * 2);
180      state->spritebank  = 0;
181      state->palettebank = 0;
179182   }
180183
181184#if TILEMAPS
182   bg_tilemap = tilemap_create(   machine, get_tile_info, tilemap_scan_cols,
185   state->bg_tilemap = tilemap_create(   machine, get_tile_info, tilemap_scan_cols,
183186
184                        8,8,0x20*((suna8_text_dim > 0)?4:8),0x20);
187                        8, 8, 0x20*((state->text_dim > 0)?4:8), 0x20);
185188
186   tilemap_set_transparent_pen(bg_tilemap,15);
189   tilemap_set_transparent_pen(state->bg_tilemap, 15);
187190#endif
188191}
189192
r9191r9192
201204
202205static void draw_normal_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
203206{
204   UINT8 *spriteram = machine->generic.spriteram.u8;
207   suna8_state *state = machine->driver_data<suna8_state>();
208   UINT8 *spriteram = state->spriteram;
205209   int i;
206210   int mx = 0;   // multisprite x counter
207211
r9191r9192
218222      int x      =   spriteram[i + 2];
219223      int bank   =   spriteram[i + 3];
220224
221      if (suna8_text_dim > 0)
225      if (state->text_dim > 0)
222226      {
223227         /* Older, simpler hardware */
224228         flipx = 0;
r9191r9192
334338
335339static void draw_text_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
336340{
337   UINT8 *spriteram = machine->generic.spriteram.u8;
341   suna8_state *state = machine->driver_data<suna8_state>();
342   UINT8 *spriteram = state->spriteram;
338343   int i;
339344
340345   int max_x = machine->primary_screen->width() - 8;
341346   int max_y = machine->primary_screen->height() - 8;
342347
343348   /* Earlier games only */
344   if (!(suna8_text_dim > 0))   return;
349   if (!(state->text_dim > 0))   return;
345350
346351   for (i = 0x1900; i < 0x19ff; i += 4)
347352   {
r9191r9192
354359
355360      if (~code & 0x80)   continue;
356361
357      dimx = 2;               dimy = suna8_text_dim;
362      dimx = 2;               dimy = state->text_dim;
358363      srcx  = (code & 0xf) * 2;   srcy = (y & 0xf0) / 8;
359364      srcpg = (code >> 4) & 3;
360365
r9191r9192
416421#if TILEMAPS
417422   if (input_code_pressed(screen->machine, KEYCODE_Z) || input_code_pressed(screen->machine, KEYCODE_X))
418423   {
419      int max_tiles = memory_region_length(machine, "gfx1") / (0x400 * 0x20);
424      suna8_state *state = screen->machine->driver_data<suna8_state>();
425      int max_tiles = memory_region_length(screen->machine, "gfx1") / (0x400 * 0x20);
420426
421      if (input_code_pressed_once(screen->machine, KEYCODE_Q))   { page--;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
422      if (input_code_pressed_once(screen->machine, KEYCODE_W))   { page++;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
423      if (input_code_pressed_once(screen->machine, KEYCODE_E))   { tiles--;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
424      if (input_code_pressed_once(screen->machine, KEYCODE_R))   { tiles++;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
425      if (input_code_pressed_once(screen->machine, KEYCODE_A))   { rombank--;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
426      if (input_code_pressed_once(screen->machine, KEYCODE_S))   { rombank++;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
427      if (input_code_pressed_once(screen->machine, KEYCODE_Q))   { state->page--;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
428      if (input_code_pressed_once(screen->machine, KEYCODE_W))   { state->page++;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
429      if (input_code_pressed_once(screen->machine, KEYCODE_E))   { state->tiles--;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
430      if (input_code_pressed_once(screen->machine, KEYCODE_R))   { state->tiles++;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
431      if (input_code_pressed_once(screen->machine, KEYCODE_A))   { state->trombank--;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
432      if (input_code_pressed_once(screen->machine, KEYCODE_S))   { state->trombank++;   tilemap_mark_all_tiles_dirty_all(screen->machine);   }
427433
428      rombank  &= 0xf;
429      page  &= (suna8_text_dim > 0)?3:7;
430      tiles %= max_tiles;
431      if (tiles < 0)   tiles += max_tiles;
434      state->rombank  &= 0xf;
435      state->page  &= (state->text_dim > 0)?3:7;
436      state->tiles %= max_tiles;
437      if (state->tiles < 0) state->tiles += max_tiles;
432438
433      tilemap_set_scrollx( bg_tilemap, 0, 0x100 * page);
434      tilemap_set_scrolly( bg_tilemap, 0, 0);
435      tilemap_draw(bitmap,cliprect, bg_tilemap, 0, 0);
439      tilemap_set_scrollx(state->bg_tilemap, 0, 0x100 * state->page);
440      tilemap_set_scrolly(state->bg_tilemap, 0, 0);
441      tilemap_draw(bitmap, cliprect, state->bg_tilemap, 0, 0);
436442#if 1
437443   popmessage("%02X %02X %02X %02X - p%2X g%02X r%02X",
438                  suna8_rombank, suna8_palettebank, suna8_spritebank, suna8_unknown,
439                  page,tiles,rombank   );
444                  state->rombank, state->palettebank, state->spritebank, state->unknown,
445                  state->page, state->tiles, state->trombank);
440446#endif
441447   }
442448   else
src/mame/video/qdrmfgp.c
r9191r9192
66
77#include "emu.h"
88#include "video/konicdev.h"
9#include "includes/qdrmfgp.h"
910
10int qdrmfgp_get_palette(void);
1111
1212
13
1413void qdrmfgp_tile_callback(running_machine *machine, int layer, int *code, int *color, int *flags)
1514{
1615   *color = ((*color>>2) & 0x0f) | qdrmfgp_get_palette();
src/mame/video/starcrus.c
r9191r9192
33
44#include "emu.h"
55#include "sound/samples.h"
6#include "includes/starcrus.h"
67
7static bitmap_t *ship1_vid;
8static bitmap_t *ship2_vid;
9static bitmap_t *proj1_vid;
10static bitmap_t *proj2_vid;
11
12static int s1_x = 0;
13static int s1_y = 0;
14static int s2_x = 0;
15static int s2_y = 0;
16static int p1_x = 0;
17static int p1_y = 0;
18static int p2_x = 0;
19static int p2_y = 0;
20
21static int p1_sprite = 0;
22static int p2_sprite = 0;
23static int s1_sprite = 0;
24static int s2_sprite = 0;
25
26static int engine1_on = 0;
27static int engine2_on = 0;
28static int explode1_on = 0;
29static int explode2_on = 0;
30static int launch1_on = 0;
31static int launch2_on = 0;
32
338/* The collision detection techniques use in this driver
349   are well explained in the comments in the sprint2 driver */
3510
36static int collision_reg = 0x00;
11WRITE8_HANDLER( starcrus_s1_x_w ) { space->machine->driver_data<starcrus_state>()->s1_x = data^0xff; }
12WRITE8_HANDLER( starcrus_s1_y_w ) { space->machine->driver_data<starcrus_state>()->s1_y = data^0xff; }
13WRITE8_HANDLER( starcrus_s2_x_w ) { space->machine->driver_data<starcrus_state>()->s2_x = data^0xff; }
14WRITE8_HANDLER( starcrus_s2_y_w ) { space->machine->driver_data<starcrus_state>()->s2_y = data^0xff; }
15WRITE8_HANDLER( starcrus_p1_x_w ) { space->machine->driver_data<starcrus_state>()->p1_x = data^0xff; }
16WRITE8_HANDLER( starcrus_p1_y_w ) { space->machine->driver_data<starcrus_state>()->p1_y = data^0xff; }
17WRITE8_HANDLER( starcrus_p2_x_w ) { space->machine->driver_data<starcrus_state>()->p2_x = data^0xff; }
18WRITE8_HANDLER( starcrus_p2_y_w ) { space->machine->driver_data<starcrus_state>()->p2_y = data^0xff; }
3719
38/* I hate to have sound in video, but the sprite and
39   audio bits are in the same bytes, and there are so few
40   samples... */
41
42static int starcrus_engine_sound_playing = 0;
43static int starcrus_explode_sound_playing = 0;
44static int starcrus_launch1_sound_playing = 0;
45static int starcrus_launch2_sound_playing = 0;
46
47WRITE8_HANDLER( starcrus_s1_x_w ) { s1_x = data^0xff; }
48WRITE8_HANDLER( starcrus_s1_y_w ) { s1_y = data^0xff; }
49WRITE8_HANDLER( starcrus_s2_x_w ) { s2_x = data^0xff; }
50WRITE8_HANDLER( starcrus_s2_y_w ) { s2_y = data^0xff; }
51WRITE8_HANDLER( starcrus_p1_x_w ) { p1_x = data^0xff; }
52WRITE8_HANDLER( starcrus_p1_y_w ) { p1_y = data^0xff; }
53WRITE8_HANDLER( starcrus_p2_x_w ) { p2_x = data^0xff; }
54WRITE8_HANDLER( starcrus_p2_y_w ) { p2_y = data^0xff; }
55
5620VIDEO_START( starcrus )
5721{
58   ship1_vid = auto_bitmap_alloc(machine,16,16,machine->primary_screen->format());
59   ship2_vid = auto_bitmap_alloc(machine,16,16,machine->primary_screen->format());
22   starcrus_state *state = machine->driver_data<starcrus_state>();
23   state->ship1_vid = auto_bitmap_alloc(machine, 16, 16, machine->primary_screen->format());
24   state->ship2_vid = auto_bitmap_alloc(machine, 16, 16, machine->primary_screen->format());
6025
61   proj1_vid = auto_bitmap_alloc(machine,16,16,machine->primary_screen->format());
62   proj2_vid = auto_bitmap_alloc(machine,16,16,machine->primary_screen->format());
26   state->proj1_vid = auto_bitmap_alloc(machine, 16, 16, machine->primary_screen->format());
27   state->proj2_vid = auto_bitmap_alloc(machine, 16, 16, machine->primary_screen->format());
6328}
6429
6530WRITE8_HANDLER( starcrus_ship_parm_1_w )
6631{
32   starcrus_state *state = space->machine->driver_data<starcrus_state>();
6733   running_device *samples = space->machine->device("samples");
6834
69    s1_sprite = data&0x1f;
70    engine1_on = ((data&0x20)>>5)^0x01;
35   state->s1_sprite = data&0x1f;
36   state->engine1_on = ((data&0x20)>>5)^0x01;
7137
72    if (engine1_on || engine2_on)
73    {
74      if (starcrus_engine_sound_playing == 0)
38   if (state->engine1_on || state->engine2_on)
39   {
40      if (state->engine_sound_playing == 0)
7541      {
76           starcrus_engine_sound_playing = 1;
77           sample_start(samples, 0,0,1);   /* engine sample */
78
42         state->engine_sound_playing = 1;
43         sample_start(samples, 0, 0, 1);   /* engine sample */
7944      }
80    }
81    else
82    {
83      if (starcrus_engine_sound_playing == 1)
45   }
46   else
47   {
48      if (state->engine_sound_playing == 1)
8449      {
85           starcrus_engine_sound_playing = 0;
50         state->engine_sound_playing = 0;
8651         sample_stop(samples, 0);
8752      }
8853   }
r9191r9192
9055
9156WRITE8_HANDLER( starcrus_ship_parm_2_w )
9257{
58   starcrus_state *state = space->machine->driver_data<starcrus_state>();
9359   running_device *samples = space->machine->device("samples");
9460
95    s2_sprite = data&0x1f;
96    set_led_status(space->machine, 2,~data & 0x80);       /* game over lamp */
97    coin_counter_w(space->machine, 0, ((data&0x40)>>6)^0x01);   /* coin counter */
98    engine2_on = ((data&0x20)>>5)^0x01;
61   state->s2_sprite = data&0x1f;
62   set_led_status(space->machine, 2,~data & 0x80);         /* game over lamp */
63   coin_counter_w(space->machine, 0, ((data&0x40)>>6)^0x01);   /* coin counter */
64   state->engine2_on = ((data&0x20)>>5)^0x01;
9965
100    if (engine1_on || engine2_on)
101    {
102      if (starcrus_engine_sound_playing == 0)
66   if (state->engine1_on || state->engine2_on)
67   {
68      if (state->engine_sound_playing == 0)
10369      {
104           starcrus_engine_sound_playing = 1;
105           sample_start(samples,0,0,1);   /* engine sample */
70         state->engine_sound_playing = 1;
71         sample_start(samples, 0, 0, 1);   /* engine sample */
10672      }
107    }
108    else
109    {
110      if (starcrus_engine_sound_playing == 1)
73   }
74   else
75   {
76      if (state->engine_sound_playing == 1)
11177      {
112           starcrus_engine_sound_playing = 0;
113         sample_stop(samples,0);
78         state->engine_sound_playing = 0;
79         sample_stop(samples, 0);
11480      }
11581   }
11682
r9191r9192
11884
11985WRITE8_HANDLER( starcrus_proj_parm_1_w )
12086{
87   starcrus_state *state = space->machine->driver_data<starcrus_state>();
12188   running_device *samples = space->machine->device("samples");
12289
123    p1_sprite = data&0x0f;
124    launch1_on = ((data&0x20)>>5)^0x01;
125    explode1_on = ((data&0x10)>>4)^0x01;
90   state->p1_sprite = data&0x0f;
91   state->launch1_on = ((data&0x20)>>5)^0x01;
92   state->explode1_on = ((data&0x10)>>4)^0x01;
12693
127    if (explode1_on || explode2_on)
128    {
129      if (starcrus_explode_sound_playing == 0)
94   if (state->explode1_on || state->explode2_on)
95   {
96      if (state->explode_sound_playing == 0)
13097      {
131         starcrus_explode_sound_playing = 1;
98         state->explode_sound_playing = 1;
13299         sample_start(samples, 1,1,1);   /* explosion initial sample */
133100      }
134101   }
135102   else
136    {
137      if (starcrus_explode_sound_playing == 1)
103   {
104      if (state->explode_sound_playing == 1)
138105      {
139         starcrus_explode_sound_playing = 0;
106         state->explode_sound_playing = 0;
140107         sample_start(samples, 1,2,0);   /* explosion ending sample */
141108      }
142109   }
143110
144   if (launch1_on)
111   if (state->launch1_on)
145112   {
146      if (starcrus_launch1_sound_playing == 0)
113      if (state->launch1_sound_playing == 0)
147114      {
148         starcrus_launch1_sound_playing = 1;
115         state->launch1_sound_playing = 1;
149116         sample_start(samples, 2,3,0);   /* launch sample */
150117      }
151118   }
152119   else
153120   {
154      starcrus_launch1_sound_playing = 0;
121      state->launch1_sound_playing = 0;
155122   }
156123}
157124
158125WRITE8_HANDLER( starcrus_proj_parm_2_w )
159126{
127   starcrus_state *state = space->machine->driver_data<starcrus_state>();
160128   running_device *samples = space->machine->device("samples");
161129
162    p2_sprite = data&0x0f;
163    launch2_on = ((data&0x20)>>5)^0x01;
164    explode2_on = ((data&0x10)>>4)^0x01;
130   state->p2_sprite = data&0x0f;
131   state->launch2_on = ((data&0x20)>>5)^0x01;
132   state->explode2_on = ((data&0x10)>>4)^0x01;
165133
166    if (explode1_on || explode2_on)
167    {
168      if (starcrus_explode_sound_playing == 0)
134   if (state->explode1_on || state->explode2_on)
135   {
136      if (state->explode_sound_playing == 0)
169137      {
170         starcrus_explode_sound_playing = 1;
138         state->explode_sound_playing = 1;
171139         sample_start(samples, 1,1,1);   /* explosion initial sample */
172140      }
173141   }
174142   else
175    {
176      if (starcrus_explode_sound_playing == 1)
143   {
144      if (state->explode_sound_playing == 1)
177145      {
178         starcrus_explode_sound_playing = 0;
146         state->explode_sound_playing = 0;
179147         sample_start(samples, 1,2,0);   /* explosion ending sample */
180148      }
181149   }
182150
183   if (launch2_on)
151   if (state->launch2_on)
184152   {
185      if (starcrus_launch2_sound_playing == 0)
153      if (state->launch2_sound_playing == 0)
186154      {
187         starcrus_launch2_sound_playing = 1;
155         state->launch2_sound_playing = 1;
188156         sample_start(samples, 3,3,0);   /* launch sample */
189157      }
190158   }
191159   else
192160   {
193      starcrus_launch2_sound_playing = 0;
161      state->launch2_sound_playing = 0;
194162   }
195163}
196164
197165static int collision_check_s1s2(running_machine *machine)
198166{
167   starcrus_state *state = machine->driver_data<starcrus_state>();
199168   int org_x, org_y;
200169   int sx, sy;
201170   rectangle clip;
202171
203    clip.min_x=0;
204    clip.max_x=15;
205    clip.min_y=0;
206    clip.max_y=15;
172   clip.min_x=0;
173   clip.max_x=15;
174   clip.min_y=0;
175   clip.max_y=15;
207176
208    bitmap_fill(ship1_vid,&clip,0);
209    bitmap_fill(ship2_vid,&clip,0);
177   bitmap_fill(state->ship1_vid, &clip, 0);
178   bitmap_fill(state->ship2_vid, &clip, 0);
210179
211180   /* origin is with respect to ship1 */
212181
213   org_x = s1_x;
214   org_y = s1_y;
182   org_x = state->s1_x;
183   org_y = state->s1_y;
215184
216185   /* Draw ship 1 */
217    drawgfx_opaque(ship1_vid,
218            &clip,
219            machine->gfx[8+((s1_sprite&0x04)>>2)],
220            (s1_sprite&0x03)^0x03,
221            0,
222            (s1_sprite&0x08)>>3,(s1_sprite&0x10)>>4,
223            s1_x-org_x,s1_y-org_y);
186   drawgfx_opaque(state->ship1_vid,
187         &clip,
188         machine->gfx[8+((state->s1_sprite&0x04)>>2)],
189         (state->s1_sprite&0x03)^0x03,
190         0,
191         (state->s1_sprite&0x08)>>3, (state->s1_sprite&0x10)>>4,
192         state->s1_x-org_x, state->s1_y-org_y);
224193
225194   /* Draw ship 2 */
226    drawgfx_opaque(ship2_vid,
227            &clip,
228            machine->gfx[10+((s2_sprite&0x04)>>2)],
229            (s2_sprite&0x03)^0x03,
230            0,
231            (s2_sprite&0x08)>>3,(s2_sprite&0x10)>>4,
232            s2_x-org_x,s2_y-org_y);
195   drawgfx_opaque(state->ship2_vid,
196         &clip,
197         machine->gfx[10+((state->s2_sprite&0x04)>>2)],
198         (state->s2_sprite&0x03)^0x03,
199         0,
200         (state->s2_sprite&0x08)>>3, (state->s2_sprite&0x10)>>4,
201         state->s2_x-org_x, state->s2_y-org_y);
233202
234    /* Now check for collisions */
235    for (sy=0;sy<16;sy++)
236        for (sx=0;sx<16;sx++)
237          /* Condition 1 - ship 1 = ship 2 */
238           if ((*BITMAP_ADDR16(ship1_vid, sy, sx)==1) && (*BITMAP_ADDR16(ship2_vid, sy, sx)==1))
239                return 1;
203   /* Now check for collisions */
204   for (sy=0;sy<16;sy++)
205      for (sx=0;sx<16;sx++)
206      /* Condition 1 - ship 1 = ship 2 */
207      if ((*BITMAP_ADDR16(state->ship1_vid, sy, sx) == 1) && (*BITMAP_ADDR16(state->ship2_vid, sy, sx) == 1))
208         return 1;
240209
241    return 0;
210   return 0;
242211}
243212
244213static int collision_check_p1p2(running_machine *machine)
245214{
215   starcrus_state *state = machine->driver_data<starcrus_state>();
246216   int org_x, org_y;
247217   int sx, sy;
248218   rectangle clip;
249219
250220   /* if both are scores, return */
251   if ( ((p1_sprite & 0x08) == 0) &&
252         ((p2_sprite & 0x08) == 0) )
221   if ( ((state->p1_sprite & 0x08) == 0) &&
222       ((state->p2_sprite & 0x08) == 0) )
253223   {
254224      return 0;
255225   }
256226
257    clip.min_x=0;
258    clip.max_x=15;
259    clip.min_y=0;
260    clip.max_y=15;
227   clip.min_x=0;
228   clip.max_x=15;
229   clip.min_y=0;
230   clip.max_y=15;
261231
262    bitmap_fill(proj1_vid,&clip,0);
263    bitmap_fill(proj2_vid,&clip,0);
232   bitmap_fill(state->proj1_vid, &clip, 0);
233   bitmap_fill(state->proj2_vid, &clip, 0);
264234
265235   /* origin is with respect to proj1 */
266236
267   org_x = p1_x;
268   org_y = p1_y;
237   org_x = state->p1_x;
238   org_y = state->p1_y;
269239
270   if (p1_sprite & 0x08)   /* if p1 is a projectile */
240   if (state->p1_sprite & 0x08)   /* if p1 is a projectile */
271241   {
272242      /* Draw score/projectile 1 */
273      drawgfx_opaque(proj1_vid,
243      drawgfx_opaque(state->proj1_vid,
274244            &clip,
275            machine->gfx[(p1_sprite&0x0c)>>2],
276            (p1_sprite&0x03)^0x03,
245            machine->gfx[(state->p1_sprite&0x0c)>>2],
246            (state->p1_sprite&0x03)^0x03,
277247            0,
278248            0,0,
279            p1_x-org_x,p1_y-org_y);
249            state->p1_x-org_x, state->p1_y-org_y);
280250   }
281251
282   if (p2_sprite & 0x08)   /* if p2 is a projectile */
252   if (state->p2_sprite & 0x08)   /* if p2 is a projectile */
283253   {
284254      /* Draw score/projectile 2 */
285      drawgfx_opaque(proj2_vid,
255      drawgfx_opaque(state->proj2_vid,
286256            &clip,
287            machine->gfx[4+((p2_sprite&0x0c)>>2)],
288            (p2_sprite&0x03)^0x03,
257            machine->gfx[4+((state->p2_sprite&0x0c)>>2)],
258            (state->p2_sprite&0x03)^0x03,
289259            0,
290260            0,0,
291            p2_x-org_x,p2_y-org_y);
261            state->p2_x-org_x, state->p2_y-org_y);
292262   }
293263
294    /* Now check for collisions */
295    for (sy=0;sy<16;sy++)
296        for (sx=0;sx<16;sx++)
297          /* Condition 1 - proj 1 = proj 2 */
298           if ((*BITMAP_ADDR16(proj1_vid, sy, sx)==1) && (*BITMAP_ADDR16(proj2_vid, sy, sx)==1))
299                return 1;
264   /* Now check for collisions */
265   for (sy=0;sy<16;sy++)
266      for (sx=0;sx<16;sx++)
267         /* Condition 1 - proj 1 = proj 2 */
268         if ((*BITMAP_ADDR16(state->proj1_vid, sy, sx) == 1) && (*BITMAP_ADDR16(state->proj2_vid, sy, sx) == 1))
269            return 1;
300270
301    return 0;
271   return 0;
302272}
303273
304274static int collision_check_s1p1p2(running_machine *machine)
305275{
276   starcrus_state *state = machine->driver_data<starcrus_state>();
306277   int org_x, org_y;
307278   int sx, sy;
308279   rectangle clip;
309280
310281   /* if both are scores, return */
311   if ( ((p1_sprite & 0x08) == 0) &&
312         ((p2_sprite & 0x08) == 0) )
282   if ( ((state->p1_sprite & 0x08) == 0) &&
283       ((state->p2_sprite & 0x08) == 0) )
313284   {
314285      return 0;
315286   }
316287
317    clip.min_x=0;
318    clip.max_x=15;
319    clip.min_y=0;
320    clip.max_y=15;
288   clip.min_x=0;
289   clip.max_x=15;
290   clip.min_y=0;
291   clip.max_y=15;
321292
322    bitmap_fill(ship1_vid,&clip,0);
323    bitmap_fill(proj1_vid,&clip,0);
324    bitmap_fill(proj2_vid,&clip,0);
293   bitmap_fill(state->ship1_vid, &clip, 0);
294   bitmap_fill(state->proj1_vid, &clip, 0);
295   bitmap_fill(state->proj2_vid, &clip, 0);
325296
326297   /* origin is with respect to ship1 */
327298
328   org_x = s1_x;
329   org_y = s1_y;
299   org_x = state->s1_x;
300   org_y = state->s1_y;
330301
331302   /* Draw ship 1 */
332    drawgfx_opaque(ship1_vid,
333            &clip,
334            machine->gfx[8+((s1_sprite&0x04)>>2)],
335            (s1_sprite&0x03)^0x03,
336            0,
337            (s1_sprite&0x08)>>3,(s1_sprite&0x10)>>4,
338            s1_x-org_x,s1_y-org_y);
303   drawgfx_opaque(state->ship1_vid,
304         &clip,
305         machine->gfx[8+((state->s1_sprite&0x04)>>2)],
306         (state->s1_sprite&0x03)^0x03,
307         0,
308         (state->s1_sprite&0x08)>>3, (state->s1_sprite&0x10)>>4,
309         state->s1_x-org_x, state->s1_y-org_y);
339310
340   if (p1_sprite & 0x08)   /* if p1 is a projectile */
311   if (state->p1_sprite & 0x08)   /* if p1 is a projectile */
341312   {
342313      /* Draw projectile 1 */
343      drawgfx_opaque(proj1_vid,
314      drawgfx_opaque(state->proj1_vid,
344315            &clip,
345            machine->gfx[(p1_sprite&0x0c)>>2],
346            (p1_sprite&0x03)^0x03,
316            machine->gfx[(state->p1_sprite&0x0c)>>2],
317            (state->p1_sprite&0x03)^0x03,
347318            0,
348319            0,0,
349            p1_x-org_x,p1_y-org_y);
320            state->p1_x-org_x, state->p1_y-org_y);
350321   }
351322
352   if (p2_sprite & 0x08)   /* if p2 is a projectile */
323   if (state->p2_sprite & 0x08)   /* if p2 is a projectile */
353324   {
354325      /* Draw projectile 2 */
355      drawgfx_opaque(proj2_vid,
326      drawgfx_opaque(state->proj2_vid,
356327            &clip,
357            machine->gfx[4+((p2_sprite&0x0c)>>2)],
358            (p2_sprite&0x03)^0x03,
328            machine->gfx[4+((state->p2_sprite&0x0c)>>2)],
329            (state->p2_sprite&0x03)^0x03,
359330            0,
360331            0,0,
361            p2_x-org_x,p2_y-org_y);
332            state->p2_x-org_x, state->p2_y-org_y);
362333   }
363334
364    /* Now check for collisions */
365    for (sy=0;sy<16;sy++)
366        for (sx=0;sx<16;sx++)
367           if (*BITMAP_ADDR16(ship1_vid, sy, sx)==1)
368           {
369              /* Condition 1 - ship 1 = proj 1 */
370            if (*BITMAP_ADDR16(proj1_vid, sy, sx)==1)
371                   return 1;
372              /* Condition 2 - ship 1 = proj 2 */
373              if (*BITMAP_ADDR16(proj2_vid, sy, sx)==1)
374                   return 1;
375            }
335   /* Now check for collisions */
336   for (sy=0;sy<16;sy++)
337      for (sx=0;sx<16;sx++)
338         if (*BITMAP_ADDR16(state->ship1_vid, sy, sx) == 1)
339         {
340            /* Condition 1 - ship 1 = proj 1 */
341            if (*BITMAP_ADDR16(state->proj1_vid, sy, sx) == 1)
342               return 1;
343            /* Condition 2 - ship 1 = proj 2 */
344            if (*BITMAP_ADDR16(state->proj2_vid, sy, sx) == 1)
345               return 1;
346         }
376347
377    return 0;
348   return 0;
378349}
379350
380351static int collision_check_s2p1p2(running_machine *machine)
381352{
353   starcrus_state *state = machine->driver_data<starcrus_state>();
382354   int org_x, org_y;
383355   int sx, sy;
384356   rectangle clip;
385357
386358   /* if both are scores, return */
387   if ( ((p1_sprite & 0x08) == 0) &&
388         ((p2_sprite & 0x08) == 0) )
359   if ( ((state->p1_sprite & 0x08) == 0) &&
360       ((state->p2_sprite & 0x08) == 0) )
389361   {
390362      return 0;
391363   }
392364
393    clip.min_x=0;
394    clip.max_x=15;
395    clip.min_y=0;
396    clip.max_y=15;
365   clip.min_x=0;
366   clip.max_x=15;
367   clip.min_y=0;
368   clip.max_y=15;
397369
398    bitmap_fill(ship2_vid,&clip,0);
399    bitmap_fill(proj1_vid,&clip,0);
400    bitmap_fill(proj2_vid,&clip,0);
370   bitmap_fill(state->ship2_vid, &clip, 0);
371   bitmap_fill(state->proj1_vid, &clip, 0);
372   bitmap_fill(state->proj2_vid, &clip, 0);
401373
402374   /* origin is with respect to ship2 */
403375
404   org_x = s2_x;
405   org_y = s2_y;
376   org_x = state->s2_x;
377   org_y = state->s2_y;
406378
407379   /* Draw ship 2 */
408    drawgfx_opaque(ship2_vid,
409            &clip,
410            machine->gfx[10+((s2_sprite&0x04)>>2)],
411            (s2_sprite&0x03)^0x03,
412            0,
413            (s2_sprite&0x08)>>3,(s2_sprite&0x10)>>4,
414            s2_x-org_x,s2_y-org_y);
380   drawgfx_opaque(state->ship2_vid,
381         &clip,
382         machine->gfx[10+((state->s2_sprite&0x04)>>2)],
383         (state->s2_sprite&0x03)^0x03,
384         0,
385         (state->s2_sprite&0x08)>>3, (state->s2_sprite&0x10)>>4,
386         state->s2_x-org_x, state->s2_y-org_y);
415387
416   if (p1_sprite & 0x08)   /* if p1 is a projectile */
388   if (state->p1_sprite & 0x08)   /* if p1 is a projectile */
417389   {
418390      /* Draw projectile 1 */
419      drawgfx_opaque(proj1_vid,
391      drawgfx_opaque(state->proj1_vid,
420392            &clip,
421            machine->gfx[(p1_sprite&0x0c)>>2],
422            (p1_sprite&0x03)^0x03,
393            machine->gfx[(state->p1_sprite&0x0c)>>2],
394            (state->p1_sprite&0x03)^0x03,
423395            0,
424396            0,0,
425            p1_x-org_x,p1_y-org_y);
397            state->p1_x-org_x, state->p1_y-org_y);
426398   }
427399
428   if (p2_sprite & 0x08)   /* if p2 is a projectile */
400   if (state->p2_sprite & 0x08)   /* if p2 is a projectile */
429401   {
430402      /* Draw projectile 2 */
431      drawgfx_opaque(proj2_vid,
403      drawgfx_opaque(state->proj2_vid,
432404            &clip,
433            machine->gfx[4+((p2_sprite&0x0c)>>2)],
434            (p2_sprite&0x03)^0x03,
405            machine->gfx[4+((state->p2_sprite&0x0c)>>2)],
406            (state->p2_sprite&0x03)^0x03,
435407            0,
436408            0,0,
437            p2_x-org_x,p2_y-org_y);
409            state->p2_x-org_x, state->p2_y-org_y);
438410   }
439411
440    /* Now check for collisions */
441    for (sy=0;sy<16;sy++)
442        for (sx=0;sx<16;sx++)
443           if (*BITMAP_ADDR16(ship2_vid, sy, sx)==1)
444           {
445              /* Condition 1 - ship 2 = proj 1 */
446            if (*BITMAP_ADDR16(proj1_vid, sy, sx)==1)
447                   return 1;
448              /* Condition 2 - ship 2 = proj 2 */
449              if (*BITMAP_ADDR16(proj2_vid, sy, sx)==1)
450                   return 1;
451            }
412   /* Now check for collisions */
413   for (sy=0;sy<16;sy++)
414      for (sx=0;sx<16;sx++)
415         if (*BITMAP_ADDR16(state->ship2_vid, sy, sx) == 1)
416         {
417            /* Condition 1 - ship 2 = proj 1 */
418            if (*BITMAP_ADDR16(state->proj1_vid, sy, sx) == 1)
419               return 1;
420            /* Condition 2 - ship 2 = proj 2 */
421            if (*BITMAP_ADDR16(state->proj2_vid, sy, sx) == 1)
422               return 1;
423         }
452424
453    return 0;
425   return 0;
454426}
455427
456428VIDEO_UPDATE( starcrus )
457429{
458    bitmap_fill(bitmap,cliprect,0);
430   starcrus_state *state = screen->machine->driver_data<starcrus_state>();
459431
432   bitmap_fill(bitmap,cliprect,0);
433
460434   /* Draw ship 1 */
461    drawgfx_transpen(bitmap,
462            cliprect,
463            screen->machine->gfx[8+((s1_sprite&0x04)>>2)],
464            (s1_sprite&0x03)^0x03,
465            0,
466            (s1_sprite&0x08)>>3,(s1_sprite&0x10)>>4,
467            s1_x,s1_y,
468            0);
435   drawgfx_transpen(bitmap,
436         cliprect,
437         screen->machine->gfx[8+((state->s1_sprite&0x04)>>2)],
438         (state->s1_sprite&0x03)^0x03,
439         0,
440         (state->s1_sprite&0x08)>>3, (state->s1_sprite&0x10)>>4,
441         state->s1_x, state->s1_y,
442         0);
469443
470444   /* Draw ship 2 */
471    drawgfx_transpen(bitmap,
472            cliprect,
473            screen->machine->gfx[10+((s2_sprite&0x04)>>2)],
474            (s2_sprite&0x03)^0x03,
475            0,
476            (s2_sprite&0x08)>>3,(s2_sprite&0x10)>>4,
477            s2_x,s2_y,
478            0);
445   drawgfx_transpen(bitmap,
446         cliprect,
447         screen->machine->gfx[10+((state->s2_sprite&0x04)>>2)],
448         (state->s2_sprite&0x03)^0x03,
449         0,
450         (state->s2_sprite&0x08)>>3, (state->s2_sprite&0x10)>>4,
451         state->s2_x, state->s2_y,
452         0);
479453
480454   /* Draw score/projectile 1 */
481455   drawgfx_transpen(bitmap,
482            cliprect,
483            screen->machine->gfx[(p1_sprite&0x0c)>>2],
484            (p1_sprite&0x03)^0x03,
485            0,
486            0,0,
487            p1_x,p1_y,
488            0);
456         cliprect,
457         screen->machine->gfx[(state->p1_sprite&0x0c)>>2],
458         (state->p1_sprite&0x03)^0x03,
459         0,
460         0,0,
461         state->p1_x, state->p1_y,
462         0);
489463
490464   /* Draw score/projectile 2 */
491465   drawgfx_transpen(bitmap,
492            cliprect,
493            screen->machine->gfx[4+((p2_sprite&0x0c)>>2)],
494            (p2_sprite&0x03)^0x03,
495            0,
496            0,0,
497            p2_x,p2_y,
498            0);
466         cliprect,
467         screen->machine->gfx[4+((state->p2_sprite&0x0c)>>2)],
468         (state->p2_sprite&0x03)^0x03,
469         0,
470         0,0,
471         state->p2_x, state->p2_y,
472         0);
499473
500    /* Collision detection */
474   /* Collision detection */
501475   if (cliprect->max_y == screen->visible_area().max_y)
502476   {
503      collision_reg = 0x00;
477      state->collision_reg = 0x00;
504478
505479      /* Check for collisions between ship1 and ship2 */
506480      if (collision_check_s1s2(screen->machine))
507481      {
508         collision_reg |= 0x08;
482         state->collision_reg |= 0x08;
509483      }
510484      /* Check for collisions between ship1 and projectiles */
511485      if (collision_check_s1p1p2(screen->machine))
512486      {
513         collision_reg |= 0x02;
487         state->collision_reg |= 0x02;
514488      }
515489      /* Check for collisions between ship1 and projectiles */
516490      if (collision_check_s2p1p2(screen->machine))
517491      {
518         collision_reg |= 0x01;
492         state->collision_reg |= 0x01;
519493      }
520494      /* Check for collisions between ship1 and projectiles */
521495      /* Note: I don't think this is used by the game */
522496      if (collision_check_p1p2(screen->machine))
523497      {
524         collision_reg |= 0x04;
498         state->collision_reg |= 0x04;
525499      }
526500   }
527501
r9191r9192
530504
531505READ8_HANDLER( starcrus_coll_det_r )
532506{
533    return collision_reg ^ 0xff;
507   starcrus_state *state = space->machine->driver_data<starcrus_state>();
508
509   return state->collision_reg ^ 0xff;
534510}
src/mame/video/wiz.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/wiz.h"
1011
1112
1213static const rectangle spritevisiblearea =
r9191r9192
118119
119120static void draw_background(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int bank, int colortype)
120121{
122   wiz_state *state = machine->driver_data<wiz_state>();
123   UINT8 *videoram = state->videoram;
121124   int offs;
122125
123126   /* for every character in the Video RAM, check if it has been modified */
124127   /* since last time and update it accordingly. */
125128
126   for (offs = machine->generic.videoram_size - 1;offs >= 0;offs--)
129   for (offs = 0x400 - 1; offs >= 0; offs--)
127130   {
128131      int scroll,sx,sy,col;
129132
r9191r9192
136139      }
137140      else
138141      {
139         col = (wiz_attributesram[2 * (offs % 32) + 1] & 0x04) + (machine->generic.videoram.u8[offs] & 3);
142         col = (wiz_attributesram[2 * (offs % 32) + 1] & 0x04) + (videoram[offs] & 3);
140143      }
141144
142145      scroll = (8*sy + 256 - wiz_attributesram[2 * sx]) % 256;
r9191r9192
148151
149152
150153      drawgfx_transpen(bitmap,cliprect,machine->gfx[bank],
151         machine->generic.videoram.u8[offs],
154         videoram[offs],
152155         col + 8 * palette_bank,
153156         flipx,flipy,
154157         8*sx,scroll,0);
r9191r9192
160163   int offs;
161164
162165   /* draw the frontmost playfield. They are characters, but draw them as sprites. */
163   for (offs = machine->generic.videoram_size - 1;offs >= 0;offs--)
166   for (offs = 0x400 - 1; offs >= 0; offs--)
164167   {
165168      int scroll,sx,sy,col;
166169
src/mame/video/stactics.c
r9191r9192
409409 *
410410 *************************************/
411411
412MACHINE_DRIVER_START( stactics_video )
412MACHINE_CONFIG_FRAGMENT( stactics_video )
413413
414414   MDRV_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
415415
r9191r9192
425425   MDRV_PALETTE_INIT(stactics)
426426   MDRV_VIDEO_START(stactics)
427427   MDRV_VIDEO_UPDATE(stactics)
428MACHINE_DRIVER_END
428MACHINE_CONFIG_END
src/mame/video/dcon.c
r9191r9192
55***************************************************************************/
66
77#include "emu.h"
8#include "includes/dcon.h"
89
910UINT16 *dcon_back_data,*dcon_fore_data,*dcon_mid_data,*dcon_scroll_ram,*dcon_textram;
1011
src/mame/video/galaxian.c
r9191r9192
528528
529529static TILE_GET_INFO( bg_get_tile_info )
530530{
531   galaxian_state *state = machine->driver_data<galaxian_state>();
532   UINT8 *videoram = state->videoram;
531533   UINT8 x = tile_index & 0x1f;
532534
533   UINT16 code = machine->generic.videoram.u8[tile_index];
535   UINT16 code = videoram[tile_index];
534536   UINT8 attrib = machine->generic.spriteram.u8[x*2+1];
535537   UINT8 color = attrib & 7;
536538
r9191r9192
543545
544546WRITE8_HANDLER( galaxian_videoram_w )
545547{
548   galaxian_state *state = space->machine->driver_data<galaxian_state>();
549   UINT8 *videoram = state->videoram;
546550   /* update any video up to the current scanline */
547551   space->machine->primary_screen->update_now();
548552
549553   /* store the data and mark the corresponding tile dirty */
550   space->machine->generic.videoram.u8[offset] = data;
554   videoram[offset] = data;
551555   tilemap_mark_tile_dirty(bg_tilemap, offset);
552556}
553557
src/mame/video/calomega.c
r9191r9192
1414
1515
1616#include "emu.h"
17#include "includes/calomega.h"
1718
1819UINT8 *calomega_videoram;
1920UINT8 *calomega_colorram;
src/mame/video/strnskil.c
r9191r9192
99******************************************************************************/
1010
1111#include "emu.h"
12#include "includes/strnskil.h"
1213
1314
1415UINT8 *strnskil_xscroll;
r9191r9192
4849
4950WRITE8_HANDLER( strnskil_videoram_w )
5051{
51   space->machine->generic.videoram.u8[offset] = data;
52   strnskil_state *state = space->machine->driver_data<strnskil_state>();
53   UINT8 *videoram = state->videoram;
54   videoram[offset] = data;
5255   tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
5356}
5457
r9191r9192
6568
6669static TILE_GET_INFO( get_bg_tile_info )
6770{
68   int attr = machine->generic.videoram.u8[tile_index * 2];
69   int code = machine->generic.videoram.u8[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
71   strnskil_state *state = machine->driver_data<strnskil_state>();
72   UINT8 *videoram = state->videoram;
73   int attr = videoram[tile_index * 2];
74   int code = videoram[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
7075   int color = (attr & 0x1f) | ((attr & 0x80) >> 2);
7176
7277   SET_TILE_INFO(0, code, color, 0);
src/mame/video/atetris.c
r9191r9192
1919
2020static TILE_GET_INFO( get_tile_info )
2121{
22   int code = machine->generic.videoram.u8[tile_index * 2] | ((machine->generic.videoram.u8[tile_index * 2 + 1] & 7) << 8);
23   int color = (machine->generic.videoram.u8[tile_index * 2 + 1] & 0xf0) >> 4;
22   atetris_state *state = machine->driver_data<atetris_state>();
23   UINT8 *videoram = state->videoram;
24   int code = videoram[tile_index * 2] | ((videoram[tile_index * 2 + 1] & 7) << 8);
25   int color = (videoram[tile_index * 2 + 1] & 0xf0) >> 4;
2426
2527   SET_TILE_INFO(0, code, color, 0);
2628}
r9191r9192
3537
3638WRITE8_HANDLER( atetris_videoram_w )
3739{
38   space->machine->generic.videoram.u8[offset] = data;
40   atetris_state *state = space->machine->driver_data<atetris_state>();
41   UINT8 *videoram = state->videoram;
42   videoram[offset] = data;
3943   tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
4044}
4145
src/mame/video/shaolins.c
r9191r9192
88
99#include "emu.h"
1010#include "video/resnet.h"
11#include "includes/shaolins.h"
1112
12extern UINT8 shaolins_nmi_enable;
1313
14static int palettebank;
15UINT8 *shaolins_videoram;
16UINT8 *shaolins_colorram;
17static tilemap_t *bg_tilemap;
18
1914/***************************************************************************
2015
2116  Convert the color PROMs into a more useable format.
r9191r9192
9590
9691WRITE8_HANDLER( shaolins_videoram_w )
9792{
98   shaolins_videoram[offset] = data;
99   tilemap_mark_tile_dirty(bg_tilemap, offset);
93   shaolins_state *state = space->machine->driver_data<shaolins_state>();
94
95   state->videoram[offset] = data;
96   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
10097}
10198
10299WRITE8_HANDLER( shaolins_colorram_w )
103100{
104   shaolins_colorram[offset] = data;
105   tilemap_mark_tile_dirty(bg_tilemap, offset);
101   shaolins_state *state = space->machine->driver_data<shaolins_state>();
102
103   state->colorram[offset] = data;
104   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
106105}
107106
108107WRITE8_HANDLER( shaolins_palettebank_w )
109108{
110   if (palettebank != (data & 0x07))
109   shaolins_state *state = space->machine->driver_data<shaolins_state>();
110
111   if (state->palettebank != (data & 0x07))
111112   {
112      palettebank = data & 0x07;
113      state->palettebank = data & 0x07;
113114      tilemap_mark_all_tiles_dirty_all(space->machine);
114115   }
115116}
116117
117118WRITE8_HANDLER( shaolins_scroll_w )
118119{
120   shaolins_state *state = space->machine->driver_data<shaolins_state>();
119121   int col;
120122
121123   for (col = 4; col < 32; col++)
122      tilemap_set_scrolly(bg_tilemap, col, data + 1);
124      tilemap_set_scrolly(state->bg_tilemap, col, data + 1);
123125}
124126
125127WRITE8_HANDLER( shaolins_nmi_w )
126128{
127   shaolins_nmi_enable = data;
129   shaolins_state *state = space->machine->driver_data<shaolins_state>();
128130
131   state->nmi_enable = data;
132
129133   if (flip_screen_get(space->machine) != (data & 0x01))
130134   {
131135      flip_screen_set(space->machine, data & 0x01);
r9191r9192
135139
136140static TILE_GET_INFO( get_bg_tile_info )
137141{
138   int attr = shaolins_colorram[tile_index];
139   int code = shaolins_videoram[tile_index] + ((attr & 0x40) << 2);
140   int color = (attr & 0x0f) + 16 * palettebank;
142   shaolins_state *state = machine->driver_data<shaolins_state>();
143   int attr = state->colorram[tile_index];
144   int code = state->videoram[tile_index] + ((attr & 0x40) << 2);
145   int color = (attr & 0x0f) + 16 * state->palettebank;
141146   int flags = (attr & 0x20) ? TILE_FLIPY : 0;
142147
143148   SET_TILE_INFO(0, code, color, flags);
r9191r9192
145150
146151VIDEO_START( shaolins )
147152{
148   bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,
153   shaolins_state *state = machine->driver_data<shaolins_state>();
154
155   state->bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,
149156       8, 8, 32, 32);
150157
151   tilemap_set_scroll_cols(bg_tilemap, 32);
158   tilemap_set_scroll_cols(state->bg_tilemap, 32);
152159}
153160
154161static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
155162{
156   UINT8 *spriteram = machine->generic.spriteram.u8;
163   shaolins_state *state = machine->driver_data<shaolins_state>();
164   UINT8 *spriteram = state->spriteram;
157165   int offs;
158166
159   for (offs = machine->generic.spriteram_size-32; offs >= 0; offs-=32 ) /* max 24 sprites */
167   for (offs = state->spriteram_size - 32; offs >= 0; offs -= 32 ) /* max 24 sprites */
160168   {
161169      if (spriteram[offs] && spriteram[offs + 6]) /* stop rogue sprites on high score screen */
162170      {
163171         int code = spriteram[offs + 8];
164         int color = (spriteram[offs + 9] & 0x0f) | (palettebank << 4);
172         int color = (spriteram[offs + 9] & 0x0f) | (state->palettebank << 4);
165173         int flipx = !(spriteram[offs + 9] & 0x40);
166174         int flipy = spriteram[offs + 9] & 0x80;
167175         int sx = 240 - spriteram[offs + 6];
r9191r9192
179187            code, color,
180188            flipx, flipy,
181189            sx, sy,
182            colortable_get_transpen_mask(machine->colortable, machine->gfx[1], color, palettebank << 5));
190            colortable_get_transpen_mask(machine->colortable, machine->gfx[1], color, state->palettebank << 5));
183191      }
184192   }
185193}
186194
187195VIDEO_UPDATE( shaolins )
188196{
189   tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
197   shaolins_state *state = screen->machine->driver_data<shaolins_state>();
198
199   tilemap_draw(bitmap, cliprect, state->bg_tilemap, 0, 0);
190200   draw_sprites(screen->machine, bitmap, cliprect);
191201   return 0;
192202}
src/mame/video/sshangha.c
r9191r9192
66***************************************************************************/
77
88#include "emu.h"
9#include "includes/sshangha.h"
910
1011UINT16 *sshangha_pf2_data,*sshangha_pf1_data;
1112UINT16 *sshangha_pf1_rowscroll,*sshangha_pf2_rowscroll;
src/mame/video/leland.c
r9191r9192
534534 *
535535 *************************************/
536536
537MACHINE_DRIVER_START( leland_video )
537MACHINE_CONFIG_FRAGMENT( leland_video )
538538
539539   MDRV_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
540540   MDRV_VIDEO_START(leland)
r9191r9192
547547   MDRV_SCREEN_SIZE(40*8, 32*8)
548548   MDRV_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
549549   MDRV_SCREEN_REFRESH_RATE(60)
550MACHINE_DRIVER_END
550MACHINE_CONFIG_END
551551
552552
553MACHINE_DRIVER_START( ataxx_video )
553MACHINE_CONFIG_DERIVED( ataxx_video, leland_video )
554554
555   MDRV_IMPORT_FROM(leland_video)
556
557555   MDRV_VIDEO_START(ataxx)
558556   MDRV_VIDEO_UPDATE(ataxx)
559MACHINE_DRIVER_END
557MACHINE_CONFIG_END
src/mame/video/popeye.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/popeye.h"
1011
1112UINT8 *popeye_videoram;
1213UINT8 *popeye_colorram;
src/mame/video/segag80r.c
r9191r9192
199199
200200VIDEO_START( segag80r )
201201{
202   segag80r_state *state = machine->driver_data<segag80r_state>();
203   UINT8 *videoram = state->videoram;
202204   static const int rg_resistances[3] = { 4700, 2400, 1200 };
203205   static const int b_resistances[2] = { 2000, 1000 };
204206
r9191r9192
208210         3,   rg_resistances, gweights, 220, 0,
209211         2,   b_resistances,  bweights, 220, 0);
210212
211   gfx_element_set_source(machine->gfx[0], &machine->generic.videoram.u8[0x800]);
213   gfx_element_set_source(machine->gfx[0], &videoram[0x800]);
212214
213215   /* allocate paletteram */
214216   machine->generic.paletteram.u8 = auto_alloc_array(machine, UINT8, 0x80);
r9191r9192
271273
272274WRITE8_HANDLER( segag80r_videoram_w )
273275{
276   segag80r_state *state = space->machine->driver_data<segag80r_state>();
277   UINT8 *videoram = state->videoram;
274278   /* accesses to the upper half of VRAM go to paletteram if selected */
275279   if ((offset & 0x1000) && (video_control & 0x02))
276280   {
r9191r9192
281285   }
282286
283287   /* all other accesses go to videoram */
284   space->machine->generic.videoram.u8[offset] = data;
288   videoram[offset] = data;
285289
286290   /* track which characters are dirty */
287291   if (offset & 0x800)
r9191r9192
643647
644648static void draw_videoram(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, const UINT8 *transparent_pens)
645649{
650   segag80r_state *state = machine->driver_data<segag80r_state>();
651   UINT8 *videoram = state->videoram;
646652   int flipmask = video_flip ? 0x1f : 0x00;
647653   int x, y;
648654
r9191r9192
653659      for (x = cliprect->min_x / 8; x <= cliprect->max_x / 8; x++)
654660      {
655661         int offs = effy * 32 + (x ^ flipmask);
656         UINT8 tile = machine->generic.videoram.u8[offs];
662         UINT8 tile = videoram[offs];
657663
658664         /* draw the tile */
659665         drawgfx_transmask(bitmap, cliprect, machine->gfx[0], tile, tile >> 4, video_flip, video_flip, x*8, y*8, transparent_pens[tile >> 4]);
src/mame/video/pitnrun.c
r9191r9192
3232
3333static TILE_GET_INFO( get_tile_info1 )
3434{
35   pitnrun_state *state = machine->driver_data<pitnrun_state>();
36   UINT8 *videoram = state->videoram;
3537   int code;
36   code = machine->generic.videoram.u8[tile_index];
38   code = videoram[tile_index];
3739   SET_TILE_INFO(
3840      0,
3941      code,
r9191r9192
5456
5557WRITE8_HANDLER( pitnrun_videoram_w )
5658{
57   space->machine->generic.videoram.u8[offset] = data;
59   pitnrun_state *state = space->machine->driver_data<pitnrun_state>();
60   UINT8 *videoram = state->videoram;
61   videoram[offset] = data;
5862   tilemap_mark_all_tiles_dirty( fg );
5963}
6064
src/mame/video/tehkanwc.c
r9191r9192
1212***************************************************************************/
1313
1414#include "emu.h"
15#include "includes/tehkanwc.h"
1516
1617UINT8 *tehkanwc_videoram;
1718UINT8 *tehkanwc_colorram;
src/mame/video/ampoker2.c
r9191r9192
6868
6969#include "emu.h"
7070#include "video/resnet.h"
71#include "includes/ampoker2.h"
7172
7273static tilemap_t *bg_tilemap;
7374
r9191r9192
114115
115116WRITE8_HANDLER( ampoker2_videoram_w )
116117{
117   space->machine->generic.videoram.u8[offset] = data;
118   ampoker2_state *state = space->machine->driver_data<ampoker2_state>();
119   UINT8 *videoram = state->videoram;
120   videoram[offset] = data;
118121   tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
119122}
120123
121124static TILE_GET_INFO( get_bg_tile_info )
122125{
126   ampoker2_state *state = machine->driver_data<ampoker2_state>();
127   UINT8 *videoram = state->videoram;
123128   int offs = tile_index * 2;
124   int attr = machine->generic.videoram.u8[offs + 1];
125   int code = machine->generic.videoram.u8[offs];
129   int attr = videoram[offs + 1];
130   int code = videoram[offs];
126131   int color = attr;
127132   code = code + (256 * (color & 0x03));   /* code = color.bit1 + color.bit0 + code */
128133   color = color >> 1;                       /* color = color - bit0 (bit1..bit7) */
r9191r9192
132137
133138static TILE_GET_INFO( s2k_get_bg_tile_info )
134139{
140   ampoker2_state *state = machine->driver_data<ampoker2_state>();
141   UINT8 *videoram = state->videoram;
135142   int offs = tile_index * 2;
136   int attr = machine->generic.videoram.u8[offs + 1];
137   int code = machine->generic.videoram.u8[offs];
143   int attr = videoram[offs + 1];
144   int code = videoram[offs];
138145   int color = attr;
139146   code = code + (256 * (color & 0x0f));   /* the game uses 2 extra bits */
140147   color = color >> 1;
src/mame/video/namcos21.c
r9191r9192
4646
4747WRITE16_HANDLER( winrun_gpu_videoram_w)
4848{
49   namcos21_state *state = space->machine->driver_data<namcos21_state>();
50   UINT8 *videoram = state->videoram;
4951   int color = data>>8;
5052   int mask  = data&0xff;
5153   int i;
r9191r9192
5355   {
5456      if( mask&(0x01<<i) )
5557      {
56         space->machine->generic.videoram.u8[(offset+i)&0x7ffff] = color;
58         videoram[(offset+i)&0x7ffff] = color;
5759      }
5860   }
5961} /* winrun_gpu_videoram_w */
6062
6163READ16_HANDLER( winrun_gpu_videoram_r )
6264{
63   return space->machine->generic.videoram.u8[offset]<<8;
65   namcos21_state *state = space->machine->driver_data<namcos21_state>();
66   UINT8 *videoram = state->videoram;
67   return videoram[offset]<<8;
6468} /* winrun_gpu_videoram_r */
6569
6670static void
r9191r9192
127131
128132VIDEO_START( namcos21 )
129133{
134   namcos21_state *state = machine->driver_data<namcos21_state>();
130135   if( namcos2_gametype == NAMCOS21_WINRUN91 )
131136   {
132      machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x80000);
137      state->videoram = auto_alloc_array(machine, UINT8, 0x80000);
133138   }
134139   AllocatePolyFrameBuffer(machine);
135140   namco_obj_init(machine,
r9191r9192
178183
179184VIDEO_UPDATE( namcos21 )
180185{
186   namcos21_state *state = screen->machine->driver_data<namcos21_state>();
187   UINT8 *videoram = state->videoram;
181188   int pivot = 3;
182189   int pri;
183190   update_palette(screen->machine);
r9191r9192
215222      int sx,sy;
216223      for( sy=cliprect->min_y; sy<=cliprect->max_y; sy++ )
217224      {
218         const UINT8 *pSource = &screen->machine->generic.videoram.u8[((yscroll+sy)&0x3ff)*0x200];
225         const UINT8 *pSource = &videoram[((yscroll+sy)&0x3ff)*0x200];
219226         UINT16 *pDest = BITMAP_ADDR16(bitmap, sy, 0);
220227         for( sx=cliprect->min_x; sx<=cliprect->max_x; sx++ )
221228         {
src/mame/video/gameplan.c
r9191r9192
145145   gameplan_state *state = machine->driver_data<gameplan_state>();
146146
147147   /* indicate that the we are done clearing the screen */
148   via_ca1_w(state->via_0, 0);
148   state->via_0->write_ca1(0);
149149}
150150
151151
r9191r9192
195195      case 3:
196196         /* indicate that the we are busy */
197197         {
198            via_ca1_w(driver_state->via_0, 1);
198            driver_state->via_0->write_ca1(1);
199199         }
200200
201201         memset(driver_state->videoram, driver_state->video_data & 0x0f, driver_state->videoram_size);
r9191r9192
269269   gameplan_state *state = machine->driver_data<gameplan_state>();
270270
271271   /* !VBLANK is connected to CA1 */
272   via_ca1_w(state->via_0, param);
272   state->via_0->write_ca1(param);
273273
274274   if (param)
275275      timer_adjust_oneshot(state->via_0_ca1_timer, machine->primary_screen->time_until_pos(VBSTART), 0);
r9191r9192
337337 *
338338 *************************************/
339339
340MACHINE_DRIVER_START( gameplan_video )
340MACHINE_CONFIG_FRAGMENT( gameplan_video )
341341   MDRV_VIDEO_START(gameplan)
342342   MDRV_VIDEO_RESET(gameplan)
343343
r9191r9192
347347   MDRV_SCREEN_ADD("screen", RASTER)
348348   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
349349   MDRV_SCREEN_RAW_PARAMS(GAMEPLAN_PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
350MACHINE_DRIVER_END
350MACHINE_CONFIG_END
351351
352352
353MACHINE_DRIVER_START( leprechn_video )
353MACHINE_CONFIG_FRAGMENT( leprechn_video )
354354   MDRV_VIDEO_START(leprechn)
355355   MDRV_VIDEO_UPDATE(leprechn)
356MACHINE_DRIVER_END
356MACHINE_CONFIG_END
357357
358358
359MACHINE_DRIVER_START( trvquest_video )
360   MDRV_IMPORT_FROM(gameplan_video)
359MACHINE_CONFIG_DERIVED( trvquest_video, gameplan_video )
361360   MDRV_VIDEO_START(trvquest)
362361   MDRV_VIDEO_UPDATE(gameplan)
363MACHINE_DRIVER_END
362MACHINE_CONFIG_END
src/mame/video/qix.c
r9191r9192
367367static ADDRESS_MAP_START( qix_video_map, ADDRESS_SPACE_PROGRAM, 8 )
368368   AM_RANGE(0x0000, 0x7fff) AM_READWRITE(qix_videoram_r, qix_videoram_w)
369369   AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("share1")
370   AM_RANGE(0x8400, 0x87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
370   AM_RANGE(0x8400, 0x87ff) AM_RAM AM_SHARE("nvram")
371371   AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x03ff) AM_WRITE(qix_palettebank_w)
372372   AM_RANGE(0x8c00, 0x8c00) AM_MIRROR(0x03fe) AM_READWRITE(qix_data_firq_r, qix_data_firq_w)
373373   AM_RANGE(0x8c01, 0x8c01) AM_MIRROR(0x03fe) AM_READWRITE(qix_video_firq_ack_r, qix_video_firq_ack_w)
r9191r9192
384384static ADDRESS_MAP_START( zookeep_video_map, ADDRESS_SPACE_PROGRAM, 8 )
385385   AM_RANGE(0x0000, 0x7fff) AM_READWRITE(qix_videoram_r, qix_videoram_w)
386386   AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("share1")
387   AM_RANGE(0x8400, 0x87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
387   AM_RANGE(0x8400, 0x87ff) AM_RAM AM_SHARE("nvram")
388388   AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x03fe) AM_WRITE(qix_palettebank_w)
389389   AM_RANGE(0x8801, 0x8801) AM_MIRROR(0x03fe) AM_WRITE(zookeep_bankswitch_w)
390390   AM_RANGE(0x8c00, 0x8c00) AM_MIRROR(0x03fe) AM_READWRITE(qix_data_firq_r, qix_data_firq_w)
r9191r9192
403403static ADDRESS_MAP_START( slither_video_map, ADDRESS_SPACE_PROGRAM, 8 )
404404   AM_RANGE(0x0000, 0x7fff) AM_READWRITE(qix_videoram_r, slither_videoram_w)
405405   AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("share1")
406   AM_RANGE(0x8400, 0x87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
406   AM_RANGE(0x8400, 0x87ff) AM_RAM AM_SHARE("nvram")
407407   AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x03ff) AM_WRITE(qix_palettebank_w)
408408   AM_RANGE(0x8c00, 0x8c00) AM_MIRROR(0x03fe) AM_READWRITE(qix_data_firq_r, qix_data_firq_w)
409409   AM_RANGE(0x8c01, 0x8c01) AM_MIRROR(0x03fe) AM_READWRITE(qix_video_firq_ack_r, qix_video_firq_ack_w)
r9191r9192
446446};
447447
448448
449MACHINE_DRIVER_START( qix_video )
449MACHINE_CONFIG_FRAGMENT( qix_video )
450450   MDRV_CPU_ADD("videocpu", M6809, MAIN_CLOCK_OSC/4/4)   /* 1.25 MHz */
451451   MDRV_CPU_PROGRAM_MAP(qix_video_map)
452452   MDRV_CPU_CONFIG(encryption_config)   // for kram3
r9191r9192
459459   MDRV_SCREEN_ADD("screen", RASTER)
460460   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
461461   MDRV_SCREEN_RAW_PARAMS(QIX_CHARACTER_CLOCK*8, 256, 0, 256, 256, 0, 256)   /* temporary, CRTC will configure screen */
462MACHINE_DRIVER_END
462MACHINE_CONFIG_END
463463
464464
465MACHINE_DRIVER_START( zookeep_video )
465MACHINE_CONFIG_FRAGMENT( zookeep_video )
466466   MDRV_CPU_MODIFY("videocpu")
467467   MDRV_CPU_PROGRAM_MAP(zookeep_video_map)
468MACHINE_DRIVER_END
468MACHINE_CONFIG_END
469469
470470
471MACHINE_DRIVER_START( slither_video )
471MACHINE_CONFIG_FRAGMENT( slither_video )
472472   MDRV_CPU_MODIFY("videocpu")
473473   MDRV_CPU_CLOCK(SLITHER_CLOCK_OSC/4/4)   /* 1.34 MHz */
474474   MDRV_CPU_PROGRAM_MAP(slither_video_map)
475MACHINE_DRIVER_END
475MACHINE_CONFIG_END
src/mame/video/toaplan2.c
r9191r9192
526526   /* used for 'for use in' and '8ing' screen on bbakraid, raizing on batrider */
527527   for (line = 0; line < 256;line++)
528528   {
529      clip.min_y = clip.max_y = line;
530      tilemap_set_scrolly(state->tx_tilemap, 0, state->txvideoram16_offs[line&0xff] - line);
529      if (state->tx_flip)
530      {
531         clip.min_y = clip.max_y = 256 - line;
532         tilemap_set_scrolly(state->tx_tilemap, 0, 256 - line + state->txvideoram16_offs[256 - line]);
533      }
534      else
535      {
536         clip.min_y = clip.max_y = line;
537         tilemap_set_scrolly(state->tx_tilemap, 0,     - line + state->txvideoram16_offs[      line]);
538      }
531539      tilemap_draw(bitmap, &clip, state->tx_tilemap, 0, 0);
532540   }
533541   return 0;
src/mame/video/wecleman.c
r9191r9192
99
1010#include "emu.h"
1111#include "video/konicdev.h"
12#include "includes/wecleman.h"
1213
1314#define BMP_PAD      8
1415#define BLEND_STEPS   16
r9191r9192
3637   int shadow_mode, flags;
3738};
3839
39/* Variables defined in driver: */
40extern int wecleman_selected_ip, wecleman_irqctrl;
41
4240/* Variables that driver has acces to: */
4341UINT16 *wecleman_videostatus;
4442UINT16 *wecleman_pageram, *wecleman_txtram, *wecleman_roadram;
src/mame/video/tankbust.c
r9191r9192
33*/
44
55#include "emu.h"
6#include "includes/tankbust.h"
67
78/*
89*   variables
src/mame/video/pastelg.c
r9191r9192
88
99#include "emu.h"
1010#include "includes/nb1413m3.h"
11#include "includes/pastelg.h"
1112
1213
1314static int blitter_destx, blitter_desty;
src/mame/video/portrait.c
r9191r9192
66***************************************************************************/
77
88#include "emu.h"
9#include "includes/portrait.h"
910
1011int portrait_scroll;
1112UINT8 *portrait_bgvideoram, *portrait_fgvideoram;
src/mame/video/galastrm.c
r9191r9192
11#include "emu.h"
22#include "video/taitoic.h"
33#include "video/poly.h"
4#include "includes/galastrm.h"
45
56#define X_OFFSET 96
67#define Y_OFFSET 60
src/mame/video/centiped.c
r9191r9192
2323
2424static TILE_GET_INFO( centiped_get_tile_info )
2525{
26   int data = machine->generic.videoram.u8[tile_index];
26   centiped_state *state = machine->driver_data<centiped_state>();
27   UINT8 *videoram = state->videoram;
28   int data = videoram[tile_index];
2729   SET_TILE_INFO(0, (data & 0x3f) + 0x40, 0, TILE_FLIPYX(data >> 6));
2830}
2931
3032
3133static TILE_GET_INFO( warlords_get_tile_info )
3234{
33   int data = machine->generic.videoram.u8[tile_index];
35   centiped_state *state = machine->driver_data<centiped_state>();
36   UINT8 *videoram = state->videoram;
37   int data = videoram[tile_index];
3438   int color = ((tile_index & 0x10) >> 4) | ((tile_index & 0x200) >> 8) | (centiped_flipscreen >> 5);
3539   SET_TILE_INFO(0, data & 0x3f, color, TILE_FLIPYX(data >> 6));
3640}
r9191r9192
3842
3943static TILE_GET_INFO( milliped_get_tile_info )
4044{
41   int data = machine->generic.videoram.u8[tile_index];
45   centiped_state *state = machine->driver_data<centiped_state>();
46   UINT8 *videoram = state->videoram;
47   int data = videoram[tile_index];
4248   int bank = (data >> 6) & 1;
4349   int color = (data >> 6) & 3;
4450   /* Flip both x and y if flipscreen is non-zero */
r9191r9192
4955
5056static TILE_GET_INFO( bullsdrt_get_tile_info )
5157{
52   int data = machine->generic.videoram.u8[tile_index];
58   centiped_state *state = machine->driver_data<centiped_state>();
59   UINT8 *videoram = state->videoram;
60   int data = videoram[tile_index];
5361   int bank = bullsdrt_tiles_bankram[tile_index & 0x1f] & 0x0f;
5462   SET_TILE_INFO(0, (data & 0x3f) + 0x40 * bank, 0, TILE_FLIPYX(data >> 6));
5563}
r9191r9192
136144
137145WRITE8_HANDLER( centiped_videoram_w )
138146{
139   space->machine->generic.videoram.u8[offset] = data;
147   centiped_state *state = space->machine->driver_data<centiped_state>();
148   UINT8 *videoram = state->videoram;
149   videoram[offset] = data;
140150   tilemap_mark_tile_dirty(bg_tilemap, offset);
141151}
142152
src/mame/video/ssv.c
r9191r9192
77    This hardware only generates sprites. But they're of various types,
88    including some large "floating tilemap" ones.
99
10    Sprites RAM is 0x40000 bytes long. The first 0x2000 bytes hold a list
11    of sprites to display (the list can be made shorter using an end-of-list
12    marker).
10    Sprites RAM is 0x40000 bytes long. The first 0x2000 bytes hold a list of
11    sprites to display (the list can be made shorter using an end-of-list marker).
1312
1413    Each entry in the list (8 bytes) is a multi-sprite (e.g it tells the
1514    hardware to display up to 32 single-sprites).
r9191r9192
247246    CRT controller, registers that are read
248247    (vblank etc.?)
249248
250                1c0000 (wait for bit .. to become ..)
249            1c0000 (wait for bit .. to become ..)
251250
252251    keithlcy:   bit D, 0 -> 1
253252
r9191r9192
257256    meosism:
258257    srmp7:
259258    sxyreact:
260    ultrax:     bit F, 0
259    ultrax: bit F, 0
261260
262261    twineag2:
263262    hypreac2:   bit C, 1 -> 0
264                bit F, 0
263            bit F, 0
265264
266265    janjans1:
267266    srmp4:
268    survarts:   No checks
267    survarts:   no checks
269268
270269    ryorioh:
271270    drifto94:   bit D, 0 -> 1
272                bit A, 0
271            bit A, 0
273272
274273
275274    CRT controller, registers that are written
276    (resolution, visible area, flipping etc. ?)
275    (resolution, visible area, flipping etc.)
277276
277    1c0060-61   ---- ---- ---- ---- ?                           21 or 2b    for all games
278    1c0062-63   fedc ba98 7654 3210     x start visible area
279    1c0064-65   fedc ba98 7654 3210     x end visible area
280    1c0066-67   ---- ---- ---- ----     ?                           1c6     for all games
281    1c0068-69   ---- ---- ---- ----     ?                           1       for all games
282    1c006a-6b   fedc ba98 7654 3210     y start visible area
283    1c006c-6d   fedc ba98 7654 3210     y end visible area
284    1c006e-6f   ---- ---- ---- ----     ?                           106     for all games
285    1c0070-71   ---- ---- ---- ---- ?
286            ---- --98 7654 3210     y global tilemap offset
287    1c0072-73   ---- ---- ---- ----     ?
288    1c0074-75   ---- ---- ---- ----     ?
289            -e-- ---- ---- ---- y sprite inversion
290            ---c ---- ---- ---- x sprite inversion?
291            ---- ba98 ---- ---- ?                           0101 for all games
292            ---- ---- -6-- ---- y tilemap inversion?
293            ---- ---- ---4 ---- x tilemap inversion?
294    1c0076-77   -e-- ---- ---- ----     global/local sprites coordinates
295            ---- ---- -6-- ----     shadow (2bits - 4bits)
296    1c0078-79   ---- ---- ---- ----     ?
297    1c007a-7b   ---- ---- ---- ----     ?
298            ---- -a-- ---- ----     left-right up-down inversion
278299
300            1c0060-7f:
279301
280                1c0060-7f:
281
282302    drifto94:   0000 0025 00cd 01c6 - 0001 0013 0101 0106
283                0300 0711 0500 0000 - 0015 5940 0000 0000
284                03ea      5558  (flip)
303            0300 0711 0500 0000 - 0015 5940
304            03ea      5558  (flip)
285305
286306    dynagear:   002b 002c 00d4 01c6 - 0001 0012 0102 0106
287                02fd 0000 0500 0000 - 0015 5940 0000 0000
288                ????      ????  (flip)
307            02fd 0000 0500 0000 - 0015 5940
308            ????      ????  (flip)
289309
290310    eaglshot:   0021 002a 00ca 01c6 - 0001 0016 00f6 0106
291                0301 0000 0500 d000 - 0015 5940 0000 0000
292                ????      ????  (flip)
311            0301 0000 0500 d000 - 0015 5940
312            ????      ????  (flip)
293313
294314    gdfs:       002b 002c 00d5 01c6 - 0001 0012 0102 0106
295                03ec 0711 0500 0000 - 00d5 5950 0000 0000
296                03ec      1557  (flip)
315            03ec 0711 0500 0000 - 00d5 5950
316            03ec      1557  (flip)
297317
298318    hypreact:   0021 0022 00cb 01c6 - 0001 000e 00fe 0106
299                0301 0000 0500 c000 - 0015 5140 0000 0000
300                03f0      5558  (flip)
319            0301 0000 0500 c000 - 0015 5140
320            03f0      5558  (flip)
301321
302322    hypreac2:   0021 0022 00cb 01c6 - 0001 000e 00fe 0106
303                0301 0000 05ff c000 - 0015 5140 0000 0000
304                03ea      5558  (flip)
323            0301 0000 05ff c000 - 0015 5140
324            03ea      5558  (flip)
305325
306326    janjans1:   0021 0023 00cb 01c6 - 0001 000f 00fe 0106
307                0300 0000 0500 c000 - 0015 5140 0000 0000
308                same!   (flip)
327            0300 0000 0500 c000 - 0015 5140
328            0300            (flip)
309329
310330    keithlcy:   002b 0025 00cd 01c6 - 0001 0013 0101 0106
311                0300 0711 0500 0000 - 0015 5940 0000 0000
312                03ea      5558  (flip)
331            0300 0711 0500 0000 - 0015 5940
332            03ea      5558  (flip)
313333
314334    meosism:    002b 002c 00d5 01c6 - 0001 0012 00fe 0106
315                0301 0000 0500 c000 - 0015 5140 0000 0000
316                (no flip)
335            0301 0000 0500 c000 - 0015 5140
336            (no flip)
317337
318338    mslider:    0021 0026 00d6 01c6 - 0001 000e 00fe 0106
319                03f1 0711 5550 c080 - 0015 5940 0000 0000
320                0301      0500  (flip)
339            03f1 0711 5550 c080 - 0015 5940
340            0301      0500  (flip)
321341
322342    ryorioh:    0021 0023*00cb 01c6 - 0001 000f 00fe 0106
323                0300 0000 0500 c000 - 0015 5140 0000 0000
324                03ed      5558  (flip) *0025
343            0300 0000 0500 c000 - 0015 5140
344            03ed      5558  (flip) *0025
325345
326    srmp4:      002b 002c 00d4 01c6 - 0001 0012 0102 0106
327                0301 0711 0500 0000 - 0015 4940 0000 0000
328                ffe8      5557  (flip)
346    srmp4:  002b 002c 00d4 01c6 - 0001 0012 0102 0106
347            0301 0711 0500 0000 - 0015 4940
348            ffe8      5557  (flip)
329349
330    srmp7:      002b 002c 00d4 01c6 - 0001 000e 00fd 0106
331                0000 0000 e500 0000 - 0015 7140 0000 0000
332                02f2      b558  (flip)
350    srmp7:  002b 002c 00d4 01c6 - 0001 000e 00fd 0106
351            0000 0000 e500 0000 - 0015 7140
352            02f2      b558  (flip)
333353
334354    stmblade:   0021 0026 00d6 01c6 - 0001 000e 00fe 0106
335                03f1 0711 5550 c080 - 0015 5940 0000 0000 <- 711 becomes 0 during gameplay
336                0301      0500  (flip)
355            03f1 0711 5550 c080 - 0015 5940         <- 711 becomes 0 during gameplay
356            0301      0500  (flip)
337357
338358    survarts:   002b 002c 00d4 01c6 - 0001 0012 0102 0106
339                0301 0000 0500 0000 - 0015 5140 0000 0000
340                03e9      5558  (flip)
359            0301 0000 0500 0000 - 0015 5140
360            03e9      5558  (flip)
341361
342362    sxyreact:   0021 0022 00cb 01c6 - 0001 000e 00fe 0106
343                0301 0000 0500 c000 - 0015 5140 0000 0000
344                03ef      5558  (flip)
363            0301 0000 0500 c000 - 0015 5140
364            03ef      5558  (flip)
345365
346366    sxyreac2:   0021 0023 00cb 01c6 - 0001 000e 00fe 0106
347                0301 0000 0500 c000 - 0015 5140 0000 0000
348                ????      ????  (flip)
367            0301 0000 0500 c000 - 0015 5140
368            ????      ????  (flip)
349369
350370    twineag2:   002b 002c 00d4 01c6 - 0001 0012 0102 0106
351                ffec 0000 e500 4000 - 0315 7940 0000 0000
352                ????      ????  (flip)
371            ffec 0000 e500 4000 - 0315 7940
372            ????      ????  (flip)
353373
354    ultrax:     002b 002c 00d4 01c6 - 0001 0012 0102 0106
355                ffec 0000 e500 4000 - 0315 7940 0000 0000
356                02fe      b558  (flip)
374    ultrax: 002b 002c 00d4 01c6 - 0001 0012 0102 0106
375            ffec 0000 e500 4000 - 0315 7940
376            02fe      b558  (flip)
357377
358378    vasara &    0021 0024 00cc 01c6 - 0001 000e 00fe 0106
359    vasara2:    03f1 0000 6500 c000 - 0015 5140 0000 0000
360                0301      3558  (flip)
379    vasara2:    03f1 0000 6500 c000 - 0015 5140
380            0301      3558  (flip)
361381
362382
363383***************************************************************************/
r9191r9192
599619   int y, y1, sy1, flipy, ynum, ystart, yend, yinc;
600620   UINT16 *s3;
601621
602   xnum   =      0x20;      // width in tiles (screen-wide)
603   ynum   =      0x8;      // height in tiles (always 64 pixels?)
622   xnum = 0x20;      // width in tiles (screen-wide)
623   ynum = 0x8;         // height in tiles (always 64 pixels?)
604624
605   scroll   &=      0x7;      // scroll register index
625   scroll &= 0x7;      // scroll register index
606626
607627   /* Sign extend the position */
608628   sx = 0;
r9191r9192
630650   if (clip.max_y > cliprect->max_y)   clip.max_y = cliprect->max_y;
631651
632652   /* Get the scroll data */
653   x    = ssv_scroll[ scroll * 4 + 0 ];   // x scroll
654   y    = ssv_scroll[ scroll * 4 + 1 ];   // y scroll
655   //     ssv_scroll[ scroll * 4 + 2 ];    // ???
656   mode = ssv_scroll[ scroll * 4 + 3 ];   // layer disabled, shadow, depth etc.
633657
634   x      =   ssv_scroll[ scroll * 4 + 0 ];   // x scroll
635   y      =   ssv_scroll[ scroll * 4 + 1 ];   // y scroll
636   //          ssv_scroll[ scroll * 4 + 2 ];   // Priority ?
637   mode   =   ssv_scroll[ scroll * 4 + 3 ];   // shadow, depth etc.
638
639   // Priority ?
640   if ( (ssv_scroll[ scroll * 4 + 2 ] < ssv_scroll[ 0 * 4 + 2 ]) )
658   /* Background layer disabled */
659   if ((mode & 0xe000) == 0)
641660      return;
642661
643   /* How is the background layer disabled ? */
644   if ((mode & 0x0700) == 0)   return;
662   shadow = (mode & 0x0800);
645663
646   shadow   =   (mode & 0x0800);
647
648   /* Decide the actual size of the tilemap. $200 and $400 pixels
649       are the only values actually used AFAIK */
664   /* Decide the actual size of the tilemap */
650665   size   =   1 << (8 + ((mode & 0xe000) >> 13));
651666   page   =   (x & 0x7fff) / size;
652667
653   /* Given a fixed scroll value, the portion of tilemap displayed changes
654       with the sprite postion */
655   x   +=   sx;
656   y   +=   sy;
668   /* Given a fixed scroll value, the portion of tilemap displayed changes with the sprite position */
669   x += sx;
670   y += sy;
657671
658   /* Tweak the scroll values (game specific) */
659   x   +=   state->tilemap_offsx;
660   y   +=   state->tilemap_offsy;
672   /* Tweak the scroll values */
673   // x += 0;
674   y    += ((ssv_scroll[0x70/2] & 0x1ff) - (ssv_scroll[0x70/2] & 0x200) + ssv_scroll[0x6a/2] + 2);
661675
676   // Kludge for eaglshot
677   if ((ssv_scroll[ scroll * 4 + 2 ] & 0x05ff) == 0x0440) x += -0x10;
678   if ((ssv_scroll[ scroll * 4 + 2 ] & 0x05ff) == 0x0401) x += -0x20;
679
662680   /* Draw the rows */
681   x1  = x;
682   y1  = y;
683   sx1 = sx - (x & 0xf);
684   sy1 = sy - (y & 0xf);
663685
664   x1   =   x;
665   y1   =   y;
666   sx1   =   sx - (x & 0xf);
667   sy1   =   sy - (y & 0xf);
668
669686   for (sx=sx1,x=x1; sx <= clip.max_x; sx+=0x10,x+=0x10)
670687   {
671688      for (sy=sy1,y=y1; sy <= clip.max_y; sy+=0x10,y+=0x10)
r9191r9192
740757   for ( ; s1 < end1; s1+=4 )
741758   {
742759      int attr, code, color, num, sprite;
743      int sx, x, xoffs, flipx, xnum, xstart, xend, xinc;
744      int sy, y, yoffs, flipy, ynum, ystart, yend, yinc;
760      int sx, x, xoffs, flipx, xnum, xstart, xend, xinc, sprites_offsx;
761      int sy, y, yoffs, flipy, ynum, ystart, yend, yinc, sprites_offsy, tilemaps_offsy;
745762      int mode,global_depth,global_xnum,global_ynum;
746763
747      mode   =      s1[ 0 ];
748      sprite   =      s1[ 1 ];
749      xoffs   =      s1[ 2 ];
750      yoffs   =      s1[ 3 ];
764      mode   = s1[ 0 ];
765      sprite = s1[ 1 ];
766      xoffs  = s1[ 2 ];
767      yoffs  = s1[ 3 ];
751768
752769      /* Last sprite */
753770      if (sprite & 0x8000) break;
754771
755772      /* Single-sprite address */
756      s2      =      &spriteram16[ (sprite & 0x7fff) * 4 ];
773      s2 = &spriteram16[ (sprite & 0x7fff) * 4 ];
774      tilemaps_offsy = ((s2[3] & 0x1ff) - (s2[3] & 0x200));
757775
758776      /* Every single sprite is offset by x & yoffs, and additionally
759           by one of the 8 x & y offsets in the 1c0040-1c005f area   */
777        by one of the 8 x & y offsets in the 1c0040-1c005f area   */
760778
761779      xoffs   +=      ssv_scroll[((mode & 0x00e0) >> 4) + 0x40/2];
762780      yoffs   +=      ssv_scroll[((mode & 0x00e0) >> 4) + 0x42/2];
r9191r9192
800818
801819            scroll   =   s2[ 0 ];   // scroll index
802820
803            switch( ssv_scroll[0x7a/2] )
821            if (ssv_scroll[0x76/2] & 0x1000)
822               sy -= 0x20;                  // kludge for eaglshot
823            else
804824            {
805               case 0x4940:   sy += 0x60;      break;      // srmp4
806               case 0x5940:   sy -= 0x20;      break;      // drifto94, dynagear, eaglshot, keithlcy, mslider, stmblade
807               case 0x5950:   sy += 0xdf;      break;      // gdfs
808               case 0x7940:   sy -= 0x10;      break;      // ultrax, twineag2
825               if (ssv_scroll[0x7a/2] & 0x0800)
826               {
827                  if (ssv_scroll[0x7a/2] & 0x1000)   // drifto94, dynagear, keithlcy, mslider, stmblade, gdfs, ultrax, twineag2
828                     sy -= tilemaps_offsy;
829                  else                  // srmp4
830                     sy += tilemaps_offsy;
831               }
809832            }
810833
811            draw_row(machine, bitmap, cliprect, sx, sy, scroll);
834            if ((mode & 0x001f) != 0)
835               draw_row(machine, bitmap, cliprect, sx, sy, scroll);
812836         }
813837         else
814838         {
r9191r9192
856880            sx   =   (sx & 0x1ff) - (sx & 0x200);
857881            sy   =   (sy & 0x1ff) - (sy & 0x200);
858882
859            if (ssv_scroll[0x74/2] == 0x6500)   // vasara
860               sy = 0xe8 - sy;
883            sprites_offsx = -((ssv_scroll[0x7a/2] & 0x0800) >> 8);
861884
862            if (ssv_scroll[0x74/2] & 0x8000)      // srmp7, twineag2, ultrax
885            sprites_offsy = (-1)*((ssv_scroll[0x70/2] & 0x1ff) - (ssv_scroll[0x70/2] & 0x200)
886                         + ssv_scroll[0x6a/2] + 1) - (((ssv_scroll[0x7a/2] ^ 0x0800) & 0x0800) >> 8);
887
888            if (ssv_scroll[0x74/2] & 0x4000)   // srmp7, twineag2, ultrax, vasara
863889            {
890               sy = -sy;
891               if (ssv_scroll[0x74/2] & 0x8000)
892                  sy += 0x00;         // srmp7, twineag2, ultrax
893               else
894                  sy -= 0x10;         // vasara
895            }
896
897            // sprites can use x and y coordinates relative to a side, the other side or the center
898            // for now we use a kludge
899
900            if (ssv_scroll[0x74/2] & 0x8000)
901            {
864902               if (ssv_scroll[0x76/2] & 0x4000) {               // twineag2, ultrax
865                  sx   =   state->sprites_offsx + sx - (xnum-1) * 8;
866                  sy   =   state->sprites_offsy + sy - (ynum * 8) / 2;
903                  sx   =   sprites_offsx + sx - (xnum - 1) * 8;
904                  sy   =   sprites_offsy - sy - (ynum * 8) / 2;
867905               } else {                           // srmp7
868                  sx   =   state->sprites_offsx + sx;
869                  sy   =   state->sprites_offsy + sy;
906                  sx   =   sprites_offsx + sx;
907                  sy   =   sprites_offsy - sy;
870908               }
871909            }
872            else if (ssv_scroll[0x76/2] & 0x1000)   // eaglshot
910            else if (ssv_scroll[0x76/2] & 0x1000)               // eaglshot
873911            {
874               sx   =   state->sprites_offsx + sx - (xnum-1) * 8;
875               sy   =   state->sprites_offsy - sy - (ynum * 8) / 2;   // sy is the sprite center
912               sx   =   sprites_offsx + sx - (xnum - 1) * 8;
913               sy   =   sprites_offsy - sy - (ynum * 8) / 2;
876914            }
877            else
915            else if (ssv_scroll[0x70/2] == 0x02fd)               // dynagear
878916            {
879               sx   =   state->sprites_offsx + sx;
880               sy   =   state->sprites_offsy - sy - (ynum-1) * 8;
917               sx   =   sprites_offsx + sx;
918               sy   =   sprites_offsy - sy - (ynum * 8) / 2;
881919            }
920            else                                 // other games
921            {
922               sx   =   sprites_offsx + sx;
923               sy   =   sprites_offsy - sy - (ynum - 1) * 8;
924            }
882925
883926            /* Sprite code masking */
884            if(xnum == 2 && ynum == 4) // needed by hypreact
927            if (xnum == 2 && ynum == 4) // needed by hypreact
885928            {
886929               code &= ~7;
887930            }
r9191r9192
897940                                    color,
898941                                    flipx, flipy,
899942                                    sx + x * 16, sy + y * 8,
900                                    shadow   );
943                                    shadow );
901944               }
902945            }
903946
r9191r9192
11201163
11211164VIDEO_UPDATE( ssv )
11221165{
1166   rectangle clip = { 0, 0, 0, 0 };
1167
11231168   ssv_state *state = screen->machine->driver_data<ssv_state>();
11241169
11251170   if (state->scroll[0x76/2] & 0x0080)
r9191r9192
11381183   /* The background color is the first one in the palette */
11391184   bitmap_fill(bitmap,cliprect, 0);
11401185
1141   if (!state->enable_video)   return 0;
1186   // used by twineag2 and ultrax
1187   clip.min_x = (cliprect->max_x / 2 + state->scroll[0x62/2]) * 2 - state->scroll[0x64/2] * 2 + 2;
1188   clip.max_x = (cliprect->max_x / 2 + state->scroll[0x62/2]) * 2 - state->scroll[0x62/2] * 2 + 1;
1189   clip.min_y = (cliprect->max_y     + state->scroll[0x6a/2])     - state->scroll[0x6c/2]     + 1;
1190   clip.max_y = (cliprect->max_y     + state->scroll[0x6a/2])     - state->scroll[0x6a/2]        ;
11421191
1143   draw_layer(screen->machine, bitmap, cliprect, 0);   // "background layer"
1192//  printf("%04x %04x %04x %04x\n",clip.min_x, clip.max_x, clip.min_y, clip.max_y);
11441193
1145   draw_sprites(screen->machine, bitmap, cliprect);   // sprites list
1194   if (clip.min_x < 0) clip.min_x = 0;
1195   if (clip.min_y < 0) clip.min_y = 0;
1196   if (clip.max_x > cliprect->max_x) clip.max_x = cliprect->max_x;
1197   if (clip.max_y > cliprect->max_y) clip.max_y = cliprect->max_y;
1198
1199   if (clip.min_x > clip.max_x)
1200      clip.min_x = clip.max_x;
1201   if (clip.min_y > clip.max_y)
1202      clip.min_y = clip.max_y;
1203
1204   if (!state->enable_video)
1205      return 0;
1206
1207   draw_layer(screen->machine, bitmap, &clip, 0);   // "background layer"
1208
1209   draw_sprites(screen->machine, bitmap, &clip);   // sprites list
1210
1211
11461212   return 0;
11471213}
src/mame/video/tceptor.c
r9191r9192
55
66#include "emu.h"
77#include "includes/namcoic.h"
8#include "includes/tceptor.h"
89
10
911#define TX_TILE_OFFSET_CENTER   (32 * 2)
1012#define TX_TILE_OFFSET_RIGHT   (32 * 0 + 2)
1113#define TX_TILE_OFFSET_LEFT   (32 * 31 + 2)
src/mame/video/usgames.c
r9191r9192
11#include "emu.h"
2#include "includes/usgames.h"
23
34UINT8 *usgames_videoram,*usgames_charram;
45
src/mame/video/zaccaria.c
r9191r9192
88
99#include "emu.h"
1010#include "video/resnet.h"
11#include "includes/zaccaria.h"
1112
1213
1314
src/mame/video/suna16.c
r9191r9192
5858***************************************************************************/
5959
6060#include "emu.h"
61#include "includes/suna16.h"
6162
62static int color_bank;
63
6463WRITE16_HANDLER( suna16_flipscreen_w )
6564{
6665   if (ACCESSING_BITS_0_7)
6766   {
67      suna16_state *state = space->machine->driver_data<suna16_state>();
6868      flip_screen_set(space->machine,  data & 1 );
69      color_bank =  ( data & 4 ) >> 2;
69      state->color_bank = ( data & 4 ) >> 2;
7070   }
7171   if (data & ~(1|4))   logerror("CPU#0 PC %06X - Flip screen unknown bits: %04X\n", cpu_get_pc(space->cpu), data);
7272}
r9191r9192
7676   if (ACCESSING_BITS_0_7)
7777   {
7878      flip_screen_set(space->machine,  data & 0x10 );
79//      color_bank =  ( data & 0x07 );
79      //state->color_bank = ( data & 0x07 );
8080   }
8181   if (data & ~(0x10))   logerror("CPU#0 PC %06X - Flip screen unknown bits: %04X\n", cpu_get_pc(space->cpu), data);
8282}
r9191r9192
9292
9393VIDEO_START( suna16 )
9494{
95   machine->generic.paletteram.u16 = auto_alloc_array(machine, UINT16, machine->total_colors());
95   suna16_state *state = machine->driver_data<suna16_state>();
96
97   state->paletteram = auto_alloc_array(machine, UINT16, machine->total_colors());
9698}
9799
98100READ16_HANDLER( suna16_paletteram16_r )
99101{
100   return space->machine->generic.paletteram.u16[offset + color_bank * 256];
102   suna16_state *state = space->machine->driver_data<suna16_state>();
103
104   return state->paletteram[offset + state->color_bank * 256];
101105}
102106
103107WRITE16_HANDLER( suna16_paletteram16_w )
104108{
105   offset += color_bank * 256;
106   data = COMBINE_DATA(&space->machine->generic.paletteram.u16[offset]);
109   suna16_state *state = space->machine->driver_data<suna16_state>();
110
111   offset += state->color_bank * 256;
112   data = COMBINE_DATA(&state->paletteram[offset]);
107113   palette_set_color_rgb( space->machine, offset, pal5bit(data >> 0),pal5bit(data >> 5),pal5bit(data >> 10));
108114}
109115
r9191r9192
118124
119125static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, UINT16 *sprites, int gfx)
120126{
127   suna16_state *state = machine->driver_data<suna16_state>();
121128   int offs;
122
123129   int max_x = machine->primary_screen->width() - 8;
124130   int max_y = machine->primary_screen->height() - 8;
125131
r9191r9192
192198
193199            drawgfx_transpen(   bitmap, cliprect,machine->gfx[gfx],
194200                     (tile & 0x3fff) + bank*0x4000,
195                     attr + (color_bank << 4),
201                     attr + (state->color_bank << 4),
196202                     tile_flipx, tile_flipy,
197203                     sx, sy,15   );
198204
r9191r9192
217223
218224VIDEO_UPDATE( suna16 )
219225{
226   suna16_state *state = screen->machine->driver_data<suna16_state>();
227
220228   /* Suna Quiz indicates the background is the last pen */
221229   bitmap_fill(bitmap,cliprect,0xff);
222   draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram.u16, 0);
230   draw_sprites(screen->machine, bitmap, cliprect, state->spriteram, 0);
223231   return 0;
224232}
225233
226234VIDEO_UPDATE( bestbest )
227235{
236   suna16_state *state = screen->machine->driver_data<suna16_state>();
228237   int layers_ctrl = -1;
229238
230239#ifdef MAME_DEBUG
r9191r9192
238247
239248   /* Suna Quiz indicates the background is the last pen */
240249   bitmap_fill(bitmap,cliprect,0xff);
241   if (layers_ctrl & 1)   draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram.u16,   0);
242   if (layers_ctrl & 2)   draw_sprites(screen->machine, bitmap, cliprect, screen->machine->generic.spriteram2.u16, 1);
250   if (layers_ctrl & 1)   draw_sprites(screen->machine, bitmap, cliprect, state->spriteram,  0);
251   if (layers_ctrl & 2)   draw_sprites(screen->machine, bitmap, cliprect, state->spriteram2, 1);
243252   return 0;
244253}
src/mame/video/speedbal.c
r9191r9192
77 ****************************************************************************/
88
99#include "emu.h"
10#include "includes/speedbal.h"
1011
1112UINT8 *speedbal_background_videoram;
1213UINT8 *speedbal_foreground_videoram;
src/mame/video/tagteam.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/tagteam.h"
1011
1112static int palettebank;
1213
src/mame/video/eolith.c
r9191r9192
11#include "emu.h"
2#include "includes/eolith.h"
23
34int eolith_buffer = 0;
45static UINT32 *vram;
src/mame/video/wc90b.c
r9191r9192
11#include "emu.h"
2#include "includes/wc90b.h"
23
34
45UINT8 *wc90b_fgvideoram,*wc90b_bgvideoram,*wc90b_txvideoram;
src/mame/video/spdodgeb.c
r9191r9192
11#include "emu.h"
22#include "deprecat.h"
33#include "cpu/m6502/m6502.h"
4#include "includes/spdodgeb.h"
45
56
67UINT8 *spdodgeb_videoram;
src/mame/video/truco.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/truco.h"
1011
1112PALETTE_INIT( truco )
1213{
r9191r9192
3233
3334VIDEO_UPDATE( truco )
3435{
35   UINT8      *vid = screen->machine->generic.videoram.u8;
36   truco_state *state = screen->machine->driver_data<truco_state>();
37   UINT8 *videoram = state->videoram;
38   UINT8      *vid = videoram;
3639   int x, y;
3740
3841   for( y = 0; y < 192; y++ )
src/mame/video/tp84.c
r9191r9192
88
99#include "emu.h"
1010#include "video/resnet.h"
11#include "includes/tp84.h"
1112
1213
1314UINT8 *tp84_bg_videoram;
src/mame/video/magmax.c
r9191r9192
88***************************************************************************/
99
1010#include "emu.h"
11#include "includes/magmax.h"
1112
1213UINT16 *magmax_scroll_x;
1314UINT16 *magmax_scroll_y;
r9191r9192
9192
9293VIDEO_UPDATE( magmax )
9394{
95   magmax_state *state = screen->machine->driver_data<magmax_state>();
96   UINT16 *videoram = state->videoram;
9497   UINT16 *spriteram16 = screen->machine->generic.spriteram.u16;
9598   int offs;
9699
r9191r9192
222225      //int page = (*magmax_vreg>>3) & 0x1;
223226      int code;
224227
225      code = screen->machine->generic.videoram.u16[offs /*+ page*/] & 0xff;
228      code = videoram[offs /*+ page*/] & 0xff;
226229      if (code)
227230      {
228231         int sx = (offs % 32);
src/mame/video/timelimt.c
r9191r9192
11#include "emu.h"
2#include "includes/timelimt.h"
23
34/* globals */
45UINT8 *timelimt_bg_videoram;
r9191r9192
6768
6869static TILE_GET_INFO( get_fg_tile_info )
6970{
70   SET_TILE_INFO(0, machine->generic.videoram.u8[tile_index], 0, 0);
71   timelimt_state *state = machine->driver_data<timelimt_state>();
72   UINT8 *videoram = state->videoram;
73   SET_TILE_INFO(0, videoram[tile_index], 0, 0);
7174}
7275
7376VIDEO_START( timelimt )
r9191r9192
8588
8689WRITE8_HANDLER( timelimt_videoram_w )
8790{
88   space->machine->generic.videoram.u8[offset] = data;
91   timelimt_state *state = space->machine->driver_data<timelimt_state>();
92   UINT8 *videoram = state->videoram;
93   videoram[offset] = data;
8994   tilemap_mark_tile_dirty(fg_tilemap, offset);
9095}
9196
src/mame/video/bloodbro.c
r9191r9192
55***************************************************************************/
66
77#include "emu.h"
8#include "includes/bloodbro.h"
89
910UINT16 *bloodbro_txvideoram;
1011UINT16 *bloodbro_bgvideoram,*bloodbro_fgvideoram;
src/mame/video/raiden.c
r9191r9192
1
21#include "emu.h"
2#include "includes/raiden.h"
33
44static tilemap_t *bg_layer,*fg_layer,*tx_layer;
55UINT16 *raiden_back_data,*raiden_fore_data,*raiden_scroll_ram;
r9191r9192
2222
2323WRITE16_HANDLER( raiden_text_w )
2424{
25   COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
25   raiden_state *state = space->machine->driver_data<raiden_state>();
26   UINT16 *videoram = state->videoram;
27   COMBINE_DATA(&videoram[offset]);
2628   tilemap_mark_tile_dirty(tx_layer, offset);
2729}
2830
r9191r9192
5658
5759static TILE_GET_INFO( get_text_tile_info )
5860{
59   int tiledata = machine->generic.videoram.u16[tile_index];
61   raiden_state *state = machine->driver_data<raiden_state>();
62   UINT16 *videoram = state->videoram;
63   int tiledata = videoram[tile_index];
6064   int tile = (tiledata & 0xff) | ((tiledata >> 6) & 0x300);
6165   int color = (tiledata >> 8) & 0x0f;
6266
src/mame/video/trucocl.c
r9191r9192
3333***************************************************************************/
3434
3535#include "emu.h"
36#include "includes/trucocl.h"
3637
3738UINT8 *trucocl_videoram;
3839UINT8 *trucocl_colorram;
src/mame/video/gridlee.c
r9191r9192
6262
6363static STATE_POSTLOAD( expand_pixels )
6464{
65   gridlee_state *state = machine->driver_data<gridlee_state>();
66   UINT8 *videoram = state->videoram;
6567    int offset = 0;
6668
6769    for(offset = 0; offset < 0x77ff; offset++)
6870    {
69        local_videoram[offset * 2 + 0] = machine->generic.videoram.u8[offset] >> 4;
70        local_videoram[offset * 2 + 1] = machine->generic.videoram.u8[offset] & 15;
71        local_videoram[offset * 2 + 0] = videoram[offset] >> 4;
72        local_videoram[offset * 2 + 1] = videoram[offset] & 15;
7173    }
7274}
7375
r9191r9192
115117
116118WRITE8_HANDLER( gridlee_videoram_w )
117119{
118   space->machine->generic.videoram.u8[offset] = data;
120   gridlee_state *state = space->machine->driver_data<gridlee_state>();
121   UINT8 *videoram = state->videoram;
122   videoram[offset] = data;
119123
120124   /* expand the two pixel values into two bytes */
121125   local_videoram[offset * 2 + 0] = data >> 4;
src/mame/video/gatron.c
r9191r9192
1818
1919
2020#include "emu.h"
21#include "includes/gatron.h"
2122
2223static tilemap_t *bg_tilemap;
2324
2425
2526WRITE8_HANDLER( gat_videoram_w )
2627{
27   space->machine->generic.videoram.u8[offset] = data;
28   gatron_state *state = space->machine->driver_data<gatron_state>();
29   UINT8 *videoram = state->videoram;
30   videoram[offset] = data;
2831   tilemap_mark_tile_dirty(bg_tilemap, offset);
2932}
3033
3134static TILE_GET_INFO( get_bg_tile_info )
3235{
36   gatron_state *state = machine->driver_data<gatron_state>();
37   UINT8 *videoram = state->videoram;
3338/*  - bits -
3439    7654 3210
3540    xxxx xxxx   tiles code.
r9191r9192
3742    only one color code
3843*/
3944
40   int code = machine->generic.videoram.u8[tile_index];
45   int code = videoram[tile_index];
4146
4247   SET_TILE_INFO(0, code, 0, 0);
4348}
src/mame/video/superchs.c
r9191r9192
11#include "emu.h"
22#include "video/taitoic.h"
3#include "includes/superchs.h"
34
45struct tempsprite
56{
src/mame/video/battlera.c
r9191r9192
1010#include "emu.h"
1111#include "deprecat.h"
1212#include "cpu/h6280/h6280.h"
13#include "includes/battlera.h"
1314
1415static int HuC6270_registers[20];
1516static int VDC_register,vram_ptr;
src/mame/video/xain.c
r9191r9192
3131***************************************************************************/
3232
3333#include "emu.h"
34#include "includes/xain.h"
3435
3536UINT8 *xain_charram, *xain_bgram0, *xain_bgram1, xain_pri;
3637
src/mame/video/toki.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/toki.h"
1011
1112static tilemap_t *background_layer,*foreground_layer,*text_layer;
1213
r9191r9192
4849
4950static TILE_GET_INFO( get_text_tile_info )
5051{
51   int tile = machine->generic.videoram.u16[tile_index];
52   toki_state *state = machine->driver_data<toki_state>();
53   UINT16 *videoram = state->videoram;
54   int tile = videoram[tile_index];
5255   int color = (tile >> 12) & 0xf;
5356
5457   tile &= 0xfff;
r9191r9192
110113
111114WRITE16_HANDLER( toki_foreground_videoram16_w )
112115{
113   COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
116   toki_state *state = space->machine->driver_data<toki_state>();
117   UINT16 *videoram = state->videoram;
118   COMBINE_DATA(&videoram[offset]);
114119   tilemap_mark_tile_dirty(text_layer,offset);
115120}
116121
src/mame/video/renegade.c
r9191r9192
55***************************************************************************/
66
77#include "emu.h"
8#include "includes/renegade.h"
89
910UINT8 *renegade_videoram2;
1011static INT32 renegade_scrollx;
r9191r9192
1314
1415WRITE8_HANDLER( renegade_videoram_w )
1516{
16   space->machine->generic.videoram.u8[offset] = data;
17   renegade_state *state = space->machine->driver_data<renegade_state>();
18   UINT8 *videoram = state->videoram;
19   videoram[offset] = data;
1720   offset = offset % (64 * 16);
1821   tilemap_mark_tile_dirty(bg_tilemap, offset);
1922}
r9191r9192
4245
4346static TILE_GET_INFO( get_bg_tilemap_info )
4447{
45   const UINT8 *source = &machine->generic.videoram.u8[tile_index];
48   renegade_state *state = machine->driver_data<renegade_state>();
49   UINT8 *videoram = state->videoram;
50   const UINT8 *source = &videoram[tile_index];
4651   UINT8 attributes = source[0x400]; /* CCC??BBB */
4752   SET_TILE_INFO(
4853      1 + (attributes & 0x7),
src/mame/video/psychic5.c
r9191r9192
88
99#include "emu.h"
1010#include "jalblend.h"
11#include "includes/psychic5.h"
1112
1213#define   BG_SCROLLX_LSB      0x308
1314#define   BG_SCROLLX_MSB      0x309
src/mame/video/lucky74.c
r9191r9192
9595
9696#include "emu.h"
9797#include "video/resnet.h"
98#include "includes/lucky74.h"
9899
99100
100101UINT8 *lucky74_fg_videoram, *lucky74_fg_colorram, *lucky74_bg_videoram, *lucky74_bg_colorram;
src/mame/video/pacland.c
r9191r9192
2525***************************************************************************/
2626
2727#include "emu.h"
28#include "includes/pacland.h"
2829
2930
3031UINT8 *pacland_videoram,*pacland_videoram2,*pacland_spriteram;
src/mame/video/rollrace.c
r9191r9192
11#include "emu.h"
2#include "includes/rollrace.h"
23
34UINT8 *rollrace_videoram;
45UINT8 *rollrace_colorram;
src/mame/video/vigilant.c
r9191r9192
1515***************************************************************************/
1616
1717#include "emu.h"
18#include "includes/vigilant.h"
1819
1920
2021static const rectangle bottomvisiblearea =
r9191r9192
181182
182183static void draw_foreground(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int priority, int opaque )
183184{
185   vigilant_state *state = machine->driver_data<vigilant_state>();
186   UINT8 *videoram = state->videoram;
184187   int offs;
185188   int scroll = -(horiz_scroll_low + horiz_scroll_high);
186189
187190
188   for (offs = 0; offs<machine->generic.videoram_size; offs+=2 )
191   for (offs = 0; offs < 0x1000; offs += 2)
189192   {
190193      int sy = 8 * ((offs/2) / 64);
191194      int sx = 8 * ((offs/2) % 64);
192      int attributes = machine->generic.videoram.u8[offs+1];
195      int attributes = videoram[offs+1];
193196      int color = attributes & 0x0F;
194      int tile_number = machine->generic.videoram.u8[offs] | ((attributes & 0xF0) << 4);
197      int tile_number = videoram[offs] | ((attributes & 0xF0) << 4);
195198
196199      if (priority)    /* foreground */
197200      {
r9191r9192
279282
280283VIDEO_UPDATE( kikcubic )
281284{
285   vigilant_state *state = screen->machine->driver_data<vigilant_state>();
286   UINT8 *videoram = state->videoram;
282287   int offs;
283288
284   for (offs = 0; offs<screen->machine->generic.videoram_size; offs+=2 )
289   for (offs = 0; offs < 0x1000; offs += 2)
285290   {
286291      int sy = 8 * ((offs/2) / 64);
287292      int sx = 8 * ((offs/2) % 64);
288      int attributes = screen->machine->generic.videoram.u8[offs+1];
293      int attributes = videoram[offs+1];
289294      int color = (attributes & 0xF0) >> 4;
290      int tile_number = screen->machine->generic.videoram.u8[offs] | ((attributes & 0x0F) << 8);
295      int tile_number = videoram[offs] | ((attributes & 0x0F) << 8);
291296
292297      drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],
293298            tile_number,
src/mame/video/tsamurai.c
r9191r9192
33*/
44
55#include "emu.h"
6#include "includes/tsamurai.h"
67
78
89/*
src/mame/video/splash.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/splash.h"
1011
11UINT16 *splash_vregs;
12UINT16 *splash_videoram;
13UINT16 *splash_spriteram;
14UINT16 *splash_pixelram;
15UINT16 *roldfrog_bitmap_mode;
16int splash_bitmap_type;
17int splash_sprite_attr2_shift;
18static tilemap_t *bg_tilemap[2];
19
2012/***************************************************************************
2113
2214    Callbacks for the TileMap code
r9191r9192
4840
4941static TILE_GET_INFO( get_tile_info_splash_tilemap0 )
5042{
51   int data = splash_videoram[tile_index];
43   splash_state *state = machine->driver_data<splash_state>();
44   int data = state->videoram[tile_index];
5245   int attr = data >> 8;
5346   int code = data & 0xff;
5447
r9191r9192
6154
6255static TILE_GET_INFO( get_tile_info_splash_tilemap1 )
6356{
64   int data = splash_videoram[(0x1000/2) + tile_index];
57   splash_state *state = machine->driver_data<splash_state>();
58   int data = state->videoram[(0x1000/2) + tile_index];
6559   int attr = data >> 8;
6660   int code = data & 0xff;
6761
r9191r9192
8074
8175WRITE16_HANDLER( splash_vram_w )
8276{
83   COMBINE_DATA(&splash_videoram[offset]);
84   tilemap_mark_tile_dirty(bg_tilemap[offset >> 11],((offset << 1) & 0x0fff) >> 1);
77   splash_state *state = space->machine->driver_data<splash_state>();
78
79   COMBINE_DATA(&state->videoram[offset]);
80   tilemap_mark_tile_dirty(state->bg_tilemap[offset >> 11],((offset << 1) & 0x0fff) >> 1);
8581}
8682
87static void draw_bitmap(bitmap_t *bitmap,const rectangle *cliprect)
83static void draw_bitmap(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
8884{
85   splash_state *state = machine->driver_data<splash_state>();
8986   int sx,sy,color,count,colxor,bitswap;
9087   colxor = 0; /* splash and some bitmap modes in roldfrog */
9188   bitswap = 0;
9289
93   if (splash_bitmap_type==1) /* roldfrog */
90   if (state->bitmap_type == 1) /* roldfrog */
9491   {
95      if (roldfrog_bitmap_mode[0]==0x0000)
92      if (state->bitmap_mode[0] == 0x0000)
9693      {
9794         colxor = 0x7f;
9895      }
99      else if (roldfrog_bitmap_mode[0]==0x0100)
96      else if (state->bitmap_mode[0] == 0x0100)
10097      {
10198         bitswap = 1;
10299      }
103      else if (roldfrog_bitmap_mode[0]==0x0200)
100      else if (state->bitmap_mode[0] == 0x0200)
104101      {
105102         colxor = 0x55;
106103      }
107      else if (roldfrog_bitmap_mode[0]==0x0300)
104      else if (state->bitmap_mode[0] == 0x0300)
108105      {
109106         bitswap = 2;
110107         colxor = 0x7f;
111108      }
112      else if (roldfrog_bitmap_mode[0]==0x0400)
109      else if (state->bitmap_mode[0] == 0x0400)
113110      {
114111         bitswap = 3;
115112      }
116      else if (roldfrog_bitmap_mode[0]==0x0500)
113      else if (state->bitmap_mode[0] == 0x0500)
117114      {
118115         bitswap = 4;
119116      }
120      else if (roldfrog_bitmap_mode[0]==0x0600)
117      else if (state->bitmap_mode[0] == 0x0600)
121118      {
122119         bitswap = 5;
123120         colxor = 0x7f;
124121      }
125      else if (roldfrog_bitmap_mode[0]==0x0700)
122      else if (state->bitmap_mode[0] == 0x0700)
126123      {
127124         bitswap = 6;
128125         colxor = 0x55;
r9191r9192
134131   {
135132      for (sx=0;sx<512;sx++)
136133      {
137         color = splash_pixelram[count]&0xff;
134         color = state->pixelram[count]&0xff;
138135         count++;
139136
140137         switch( bitswap )
r9191r9192
173170
174171VIDEO_START( splash )
175172{
176   bg_tilemap[0] = tilemap_create(machine, get_tile_info_splash_tilemap0,tilemap_scan_rows, 8, 8,64,32);
177   bg_tilemap[1] = tilemap_create(machine, get_tile_info_splash_tilemap1,tilemap_scan_rows,16,16,32,32);
173   splash_state *state = machine->driver_data<splash_state>();
178174
179   tilemap_set_transparent_pen(bg_tilemap[0],0);
180   tilemap_set_transparent_pen(bg_tilemap[1],0);
175   state->bg_tilemap[0] = tilemap_create(machine, get_tile_info_splash_tilemap0, tilemap_scan_rows,  8,  8, 64, 32);
176   state->bg_tilemap[1] = tilemap_create(machine, get_tile_info_splash_tilemap1, tilemap_scan_rows, 16, 16, 32, 32);
181177
182   tilemap_set_scrollx(bg_tilemap[0], 0, 4);
178   tilemap_set_transparent_pen(state->bg_tilemap[0], 0);
179   tilemap_set_transparent_pen(state->bg_tilemap[1], 0);
180
181   tilemap_set_scrollx(state->bg_tilemap[0], 0, 4);
183182}
184183
185184/***************************************************************************
r9191r9192
213212
214213static void splash_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
215214{
215   splash_state *state = machine->driver_data<splash_state>();
216216   int i;
217217   const gfx_element *gfx = machine->gfx[1];
218218
219219   for (i = 0; i < 0x400; i += 4){
220      int sx = splash_spriteram[i+2] & 0xff;
221      int sy = (240 - (splash_spriteram[i+1] & 0xff)) & 0xff;
222      int attr = splash_spriteram[i+3] & 0xff;
223      int attr2 = splash_spriteram[i+0x400] >> splash_sprite_attr2_shift;
224      int number = (splash_spriteram[i] & 0xff) + (attr & 0xf)*256;
220      int sx = state->spriteram[i+2] & 0xff;
221      int sy = (240 - (state->spriteram[i+1] & 0xff)) & 0xff;
222      int attr = state->spriteram[i+3] & 0xff;
223      int attr2 = state->spriteram[i+0x400] >> state->sprite_attr2_shift;
224      int number = (state->spriteram[i] & 0xff) + (attr & 0xf)*256;
225225
226226      if (attr2 & 0x80) sx += 256;
227227
r9191r9192
233233
234234static void funystrp_draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
235235{
236   splash_state *state = machine->driver_data<splash_state>();
236237   int i;
237238   const gfx_element *gfx = machine->gfx[1];
238239
239240   for (i = 0; i < 0x400; i += 4){
240      int sx = splash_spriteram[i+2] & 0x1ff;
241      int sy = (240 - (splash_spriteram[i+1] & 0xff)) & 0xff;
242      int attr = splash_spriteram[i+3] & 0xff;
243      int attr2 = splash_spriteram[i+0x400] >> splash_sprite_attr2_shift;
244      int number = (splash_spriteram[i] & 0xff) + (attr & 0xf)*256;
241      int sx = state->spriteram[i+2] & 0x1ff;
242      int sy = (240 - (state->spriteram[i+1] & 0xff)) & 0xff;
243      int attr = state->spriteram[i+3] & 0xff;
244      int attr2 = state->spriteram[i+0x400] >> state->sprite_attr2_shift;
245      int number = (state->spriteram[i] & 0xff) + (attr & 0xf)*256;
245246
246247      drawgfx_transpen(bitmap,cliprect,gfx,number,
247248         (attr2 & 0x7f),attr & 0x40,attr & 0x80,
r9191r9192
257258
258259VIDEO_UPDATE( splash )
259260{
261   splash_state *state = screen->machine->driver_data<splash_state>();
262
260263   /* set scroll registers */
261   tilemap_set_scrolly(bg_tilemap[0], 0, splash_vregs[0]);
262   tilemap_set_scrolly(bg_tilemap[1], 0, splash_vregs[1]);
264   tilemap_set_scrolly(state->bg_tilemap[0], 0, state->vregs[0]);
265   tilemap_set_scrolly(state->bg_tilemap[1], 0, state->vregs[1]);
263266
264   draw_bitmap(bitmap,cliprect);
267   draw_bitmap(screen->machine, bitmap, cliprect);
265268
266   tilemap_draw(bitmap,cliprect,bg_tilemap[1],0,0);
267   splash_draw_sprites(screen->machine, bitmap,cliprect);
268   tilemap_draw(bitmap,cliprect,bg_tilemap[0],0,0);
269   tilemap_draw(bitmap, cliprect, state->bg_tilemap[1], 0, 0);
270   splash_draw_sprites(screen->machine, bitmap, cliprect);
271   tilemap_draw(bitmap, cliprect, state->bg_tilemap[0], 0, 0);
269272   return 0;
270273}
271274
272275VIDEO_UPDATE( funystrp )
273276{
277   splash_state *state = screen->machine->driver_data<splash_state>();
278
274279   /* set scroll registers */
275   tilemap_set_scrolly(bg_tilemap[0], 0, splash_vregs[0]);
276   tilemap_set_scrolly(bg_tilemap[1], 0, splash_vregs[1]);
280   tilemap_set_scrolly(state->bg_tilemap[0], 0, state->vregs[0]);
281   tilemap_set_scrolly(state->bg_tilemap[1], 0, state->vregs[1]);
277282
278   draw_bitmap(bitmap,cliprect);
283   draw_bitmap(screen->machine, bitmap, cliprect);
279284
280   tilemap_draw(bitmap,cliprect,bg_tilemap[1],0,0);
285   tilemap_draw(bitmap, cliprect, state->bg_tilemap[1], 0, 0);
281286   /*Sprite chip is similar but not the same*/
282   funystrp_draw_sprites(screen->machine, bitmap,cliprect);
283   tilemap_draw(bitmap,cliprect,bg_tilemap[0],0,0);
287   funystrp_draw_sprites(screen->machine, bitmap, cliprect);
288   tilemap_draw(bitmap, cliprect, state->bg_tilemap[0], 0, 0);
284289   return 0;
285290}
src/mame/video/lvcards.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/lvcards.h"
1011
1112UINT8 *lvcards_videoram;
1213UINT8 *lvcards_colorram;
src/mame/video/route16.c
r9191r9192
88
99#include "emu.h"
1010#include "sound/sn76477.h"
11#include "includes/route16.h"
1112
1213
1314UINT8 *route16_videoram1;
src/mame/video/polyplay.c
r9191r9192
5151
5252VIDEO_UPDATE( polyplay )
5353{
54   polyplay_state *state = screen->machine->driver_data<polyplay_state>();
55   UINT8 *videoram = state->videoram;
5456   offs_t offs;
5557
5658
57   for (offs = 0; offs < screen->machine->generic.videoram_size; offs++)
59   for (offs = 0; offs < 0x800; offs++)
5860   {
5961      int sx = (offs & 0x3f) << 3;
6062      int sy = offs >> 6 << 3;
61      UINT8 code = screen->machine->generic.videoram.u8[offs];
63      UINT8 code = videoram[offs];
6264
6365      drawgfx_opaque(bitmap,cliprect, screen->machine->gfx[(code >> 7) & 0x01],
6466            code, 0, 0, 0, sx, sy);
src/mame/video/exzisus.c
r9191r9192
99
1010
1111#include "emu.h"
12#include "includes/exzisus.h"
1213
1314
1415UINT8 *exzisus_videoram0;
src/mame/video/exidy440.c
r9191r9192
483483 *
484484 *************************************/
485485
486MACHINE_DRIVER_START( exidy440_video )
486MACHINE_CONFIG_FRAGMENT( exidy440_video )
487487   MDRV_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
488488   MDRV_VIDEO_START(exidy440)
489489   MDRV_VIDEO_UPDATE(exidy440)
r9191r9192
492492   MDRV_SCREEN_ADD("screen", RASTER)
493493   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
494494   MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
495MACHINE_DRIVER_END
495MACHINE_CONFIG_END
496496
497497
498MACHINE_DRIVER_START( topsecex_video )
498MACHINE_CONFIG_FRAGMENT( topsecex_video )
499499   MDRV_VIDEO_ATTRIBUTES(0)
500500   MDRV_VIDEO_START(topsecex)
501501   MDRV_VIDEO_UPDATE(topsecex)
502502
503503   MDRV_SCREEN_MODIFY("screen")
504504   MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, TOPSECEX_VBSTART)
505MACHINE_DRIVER_END
505MACHINE_CONFIG_END
src/mame/video/ssrj.c
r9191r9192
11#include "emu.h"
2#include "includes/ssrj.h"
23
3static tilemap_t *tilemap1,*tilemap2,*tilemap4;
4UINT8 *ssrj_vram1,*ssrj_vram2,*ssrj_vram3,*ssrj_vram4,*ssrj_scrollram;
5
64/* tilemap 1 */
75
86WRITE8_HANDLER(ssrj_vram1_w)
97{
10   ssrj_vram1[offset]=data;
11   tilemap_mark_tile_dirty(tilemap1,offset>>1);
8   ssrj_state *state = space->machine->driver_data<ssrj_state>();
9
10   state->vram1[offset] = data;
11   tilemap_mark_tile_dirty(state->tilemap1, offset>>1);
1212}
1313
1414static TILE_GET_INFO( get_tile_info1 )
1515{
16   ssrj_state *state = machine->driver_data<ssrj_state>();
1617   int code;
17   code=ssrj_vram1[tile_index<<1]+(ssrj_vram1[(tile_index<<1)+1]<<8);
18   code = state->vram1[tile_index<<1] + (state->vram1[(tile_index<<1)+1]<<8);
1819   SET_TILE_INFO(
1920      0,
2021      code&0x3ff,
r9191r9192
2627
2728WRITE8_HANDLER(ssrj_vram2_w)
2829{
29   ssrj_vram2[offset]=data;
30   tilemap_mark_tile_dirty(tilemap2,offset>>1);
30   ssrj_state *state = space->machine->driver_data<ssrj_state>();
31
32   state->vram2[offset] = data;
33   tilemap_mark_tile_dirty(state->tilemap2, offset>>1);
3134}
3235
3336static TILE_GET_INFO( get_tile_info2 )
3437{
38   ssrj_state *state = machine->driver_data<ssrj_state>();
3539   int code;
36   code=ssrj_vram2[tile_index<<1]+(ssrj_vram2[(tile_index<<1)+1]<<8);
40   code = state->vram2[tile_index<<1] + (state->vram2[(tile_index<<1)+1]<<8);
3741   SET_TILE_INFO(
3842      0,
3943      code&0x3ff,
r9191r9192
4549
4650WRITE8_HANDLER(ssrj_vram4_w)
4751{
48   ssrj_vram4[offset]=data;
49   tilemap_mark_tile_dirty(tilemap4,offset>>1);
52   ssrj_state *state = space->machine->driver_data<ssrj_state>();
53
54   state->vram4[offset] = data;
55   tilemap_mark_tile_dirty(state->tilemap4, offset>>1);
5056}
5157
5258static TILE_GET_INFO( get_tile_info4 )
5359{
60   ssrj_state *state = machine->driver_data<ssrj_state>();
5461   int code;
55   code=ssrj_vram4[tile_index<<1]+(ssrj_vram4[(tile_index<<1)+1]<<8);
62   code = state->vram4[tile_index<<1] + (state->vram4[(tile_index<<1)+1]<<8);
5663   SET_TILE_INFO(
5764      0,
5865      code&0x3ff,
r9191r9192
6269
6370
6471
65static const int fakecols[4*4][8][3]=
72static const UINT8 fakecols[4*4][8][3]=
6673{
6774
6875{{0x00,0x00,0x00},
r9191r9192
217224
218225VIDEO_START( ssrj )
219226{
220   tilemap1 = tilemap_create( machine, get_tile_info1,tilemap_scan_rows,8,8,32,32 );
221   tilemap2 = tilemap_create( machine, get_tile_info2,tilemap_scan_rows,8,8,32,32 );
222   tilemap4 = tilemap_create( machine, get_tile_info4,tilemap_scan_rows,8,8,32,32 );
223   tilemap_set_transparent_pen(tilemap2,0);
224   tilemap_set_transparent_pen(tilemap4,0);
227   ssrj_state *state = machine->driver_data<ssrj_state>();
228
229   state->tilemap1 = tilemap_create(machine, get_tile_info1, tilemap_scan_rows, 8, 8, 32, 32);
230   state->tilemap2 = tilemap_create(machine, get_tile_info2, tilemap_scan_rows, 8, 8, 32, 32);
231   state->tilemap4 = tilemap_create(machine, get_tile_info4, tilemap_scan_rows, 8, 8, 32, 32);
232   tilemap_set_transparent_pen(state->tilemap2, 0);
233   tilemap_set_transparent_pen(state->tilemap4, 0);
225234}
226235
227236
228237static void draw_objects(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
229238{
239   ssrj_state *state = machine->driver_data<ssrj_state>();
230240   int i,j,k,x,y;
231241
232242   for(i=0;i<6;i++)
233243   {
234     x=ssrj_scrollram[0x80+20*i];
235     y=ssrj_scrollram[0x80+20*i+2];
236     if(!ssrj_scrollram[0x80+20*i+3])
237       for(k=0;k<5;k++,y+=8)
238        for(j=0;j<0x20;j++)
239        {
240      int code;
241      code=ssrj_vram3[(i*5+k)*64+(31-j)*2]+256*ssrj_vram3[(i*5+k)*64+(31-j)*2+1];
242      drawgfx_transpen(bitmap,
243         cliprect,machine->gfx[0],
244         code&1023,
245         ((code>>12)&0x3)+8,
246         code&0x8000,
247         code&0x4000,
248         (247-(x+(j<<3)))&0xff,
249         y,
250         0);
251        }
244      x = state->scrollram[0x80+20*i];
245      y = state->scrollram[0x80+20*i+2];
246      if (!state->scrollram[0x80+20*i+3])
247         for(k=0;k<5;k++,y+=8)
248            for(j=0;j<0x20;j++)
249            {
250               int code;
251               int offs = (i * 5 + k) * 64 + (31 - j) * 2;
252
253               code = state->vram3[offs] + 256 * state->vram3[offs + 1];
254               drawgfx_transpen(bitmap,
255                  cliprect,machine->gfx[0],
256                  code&1023,
257                  ((code>>12)&0x3)+8,
258                  code&0x8000,
259                  code&0x4000,
260                  (247-(x+(j<<3)))&0xff,
261                  y,
262                  0);
263            }
252264   }
253265}
254266
255267
256268PALETTE_INIT( ssrj )
257269{
258   int i,j;
259   for(i=0;i<4*4;i++)
260    for(j=0;j<8;j++)
261     palette_set_color_rgb(machine,i*8+j,fakecols[i][j][0],fakecols[i][j][1],fakecols[i][j][2]);
270   int i, j;
271   for(i=0; i<4*4; i++)
272      for(j=0; j<8; j++)
273         palette_set_color_rgb(machine, i*8+j, fakecols[i][j][0], fakecols[i][j][1], fakecols[i][j][2]);
262274}
263275
264276VIDEO_UPDATE( ssrj )
265277{
266   tilemap_set_scrolly(tilemap1 , 0, 0xff-ssrj_scrollram[2] );
267   tilemap_set_scrollx(tilemap1 , 0, ssrj_scrollram[0] );
268   tilemap_draw(bitmap,cliprect,tilemap1, 0,0);
269   draw_objects(screen->machine, bitmap,cliprect);
270   tilemap_draw(bitmap,cliprect,tilemap2, 0,0);
278   ssrj_state *state = screen->machine->driver_data<ssrj_state>();
271279
272   if(ssrj_scrollram[0x101]==0xb)tilemap_draw(bitmap,cliprect,tilemap4, 0,0);/* hack to display 4th tilemap */
280   tilemap_set_scrolly(state->tilemap1, 0, 0xff-state->scrollram[2] );
281   tilemap_set_scrollx(state->tilemap1, 0, state->scrollram[0] );
282   tilemap_draw(bitmap, cliprect, state->tilemap1, 0, 0);
283   draw_objects(screen->machine, bitmap, cliprect);
284   tilemap_draw(bitmap, cliprect, state->tilemap2, 0, 0);
285
286   if (state->scrollram[0x101] == 0xb) tilemap_draw(bitmap, cliprect, state->tilemap4, 0, 0);/* hack to display 4th tilemap */
273287   return 0;
274288}
275289
src/mame/video/pingpong.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/pingpong.h"
1011
1112static tilemap_t *bg_tilemap;
1213UINT8 *pingpong_videoram;
src/mame/video/tatsumi.c
r9191r9192
130130
131131WRITE16_HANDLER( roundup5_text_w )
132132{
133   COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
133   tatsumi_state *state = space->machine->driver_data<tatsumi_state>();
134   UINT16 *videoram = state->videoram;
135   COMBINE_DATA(&videoram[offset]);
134136   tilemap_mark_tile_dirty( tx_layer,offset);
135137}
136138
r9191r9192
179181
180182static TILE_GET_INFO( get_text_tile_info )
181183{
182   int tile = machine->generic.videoram.u16[tile_index];
184   tatsumi_state *state = machine->driver_data<tatsumi_state>();
185   UINT16 *videoram = state->videoram;
186   int tile = videoram[tile_index];
183187   SET_TILE_INFO(
184188         1,
185189         tile & 0xfff,
src/mame/video/meadows.c
r9191r9192
2323
2424static TILE_GET_INFO( get_tile_info )
2525{
26   SET_TILE_INFO(0, machine->generic.videoram.u8[tile_index] & 0x7f, 0, 0);
26   meadows_state *state = machine->driver_data<meadows_state>();
27   UINT8 *videoram = state->videoram;
28   SET_TILE_INFO(0, videoram[tile_index] & 0x7f, 0, 0);
2729}
2830
2931
r9191r9192
4951
5052WRITE8_HANDLER( meadows_videoram_w )
5153{
52   space->machine->generic.videoram.u8[offset] = data;
54   meadows_state *state = space->machine->driver_data<meadows_state>();
55   UINT8 *videoram = state->videoram;
56   videoram[offset] = data;
5357   tilemap_mark_tile_dirty(bg_tilemap, offset);
5458}
5559
src/mame/video/pokechmp.c
r9191r9192
11/* Poke Champ */
22
33#include "emu.h"
4#include "includes/pokechmp.h"
45
56static tilemap_t *bg_tilemap;
67
78WRITE8_HANDLER( pokechmp_videoram_w )
89{
9   space->machine->generic.videoram.u8[offset] = data;
10   pokechmp_state *state = space->machine->driver_data<pokechmp_state>();
11   UINT8 *videoram = state->videoram;
12   videoram[offset] = data;
1013   tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
1114}
1215
r9191r9192
2124
2225static TILE_GET_INFO( get_bg_tile_info )
2326{
24   int code = machine->generic.videoram.u8[tile_index*2+1] + ((machine->generic.videoram.u8[tile_index*2] & 0x3f) << 8);
25   int color = machine->generic.videoram.u8[tile_index*2] >> 6;
27   pokechmp_state *state = machine->driver_data<pokechmp_state>();
28   UINT8 *videoram = state->videoram;
29   int code = videoram[tile_index*2+1] + ((videoram[tile_index*2] & 0x3f) << 8);
30   int color = videoram[tile_index*2] >> 6;
2631
2732   SET_TILE_INFO(0, code, color, 0);
2833}
src/mame/video/madalien.c
r9191r9192
400400};
401401
402402
403MACHINE_DRIVER_START( madalien_video )
403MACHINE_CONFIG_FRAGMENT( madalien_video )
404404   MDRV_SCREEN_ADD("screen", RASTER)
405405   MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 336, 0, 256, 288, 0, 256)
406406   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
r9191r9192
412412   MDRV_VIDEO_UPDATE(madalien)
413413
414414   MDRV_MC6845_ADD("crtc", MC6845, PIXEL_CLOCK / 8, mc6845_intf)
415MACHINE_DRIVER_END
415MACHINE_CONFIG_END
src/mame/video/crgolf.c
r9191r9192
192192 *
193193 *************************************/
194194
195MACHINE_DRIVER_START( crgolf_video )
195MACHINE_CONFIG_FRAGMENT( crgolf_video )
196196
197197   MDRV_VIDEO_START(crgolf)
198198   MDRV_VIDEO_UPDATE(crgolf)
r9191r9192
203203   MDRV_SCREEN_VISIBLE_AREA(0, 255, 8, 247)
204204   MDRV_SCREEN_REFRESH_RATE(60)
205205   MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
206MACHINE_DRIVER_END
206MACHINE_CONFIG_END
src/mame/video/srumbler.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/srumbler.h"
1011
11
1212UINT8 *srumbler_backgroundram,*srumbler_foregroundram;
1313static tilemap_t *bg_tilemap,*fg_tilemap;
1414
src/mame/video/mcr68.c
r9191r9192
55***************************************************************************/
66
77#include "emu.h"
8#include "includes/mcr.h"
8#include "includes/mcr68.h"
99
1010
1111#define LOW_BYTE(x) ((x) & 0xff)
r9191r9192
2727
2828static TILE_GET_INFO( get_bg_tile_info )
2929{
30   int data = LOW_BYTE(machine->generic.videoram.u16[tile_index * 2]) | (LOW_BYTE(machine->generic.videoram.u16[tile_index * 2 + 1]) << 8);
30   mcr68_state *state = machine->driver_data<mcr68_state>();
31   UINT16 *videoram = state->videoram;
32   int data = LOW_BYTE(videoram[tile_index * 2]) | (LOW_BYTE(videoram[tile_index * 2 + 1]) << 8);
3133   int code = (data & 0x3ff) | ((data >> 4) & 0xc00);
3234   int color = (~data >> 12) & 3;
3335   SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
r9191r9192
3840
3941static TILE_GET_INFO( zwackery_get_bg_tile_info )
4042{
41   int data = machine->generic.videoram.u16[tile_index];
43   mcr68_state *state = machine->driver_data<mcr68_state>();
44   UINT16 *videoram = state->videoram;
45   int data = videoram[tile_index];
4246   int color = (data >> 13) & 7;
4347   SET_TILE_INFO(0, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
4448}
r9191r9192
4650
4751static TILE_GET_INFO( zwackery_get_fg_tile_info )
4852{
49   int data = machine->generic.videoram.u16[tile_index];
53   mcr68_state *state = machine->driver_data<mcr68_state>();
54   UINT16 *videoram = state->videoram;
55   int data = videoram[tile_index];
5056   int color = (data >> 13) & 7;
5157   SET_TILE_INFO(2, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
5258   tileinfo->category = (color != 0);
r9191r9192
178184
179185WRITE16_HANDLER( mcr68_videoram_w )
180186{
181   COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
187   mcr68_state *state = space->machine->driver_data<mcr68_state>();
188   UINT16 *videoram = state->videoram;
189   COMBINE_DATA(&videoram[offset]);
182190   tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
183191}
184192
185193
186194WRITE16_HANDLER( zwackery_videoram_w )
187195{
188   COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
196   mcr68_state *state = space->machine->driver_data<mcr68_state>();
197   UINT16 *videoram = state->videoram;
198   COMBINE_DATA(&videoram[offset]);
189199   tilemap_mark_tile_dirty(bg_tilemap, offset);
190200   tilemap_mark_tile_dirty(fg_tilemap, offset);
191201}
src/mame/video/funworld.c
r9191r9192
100100
101101#include "emu.h"
102102#include "video/resnet.h"
103#include "includes/funworld.h"
103104
104105static tilemap_t *bg_tilemap;
105106UINT8 *funworld_colorram;
src/mame/video/spcforce.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/spcforce.h"
1011
1112
12UINT8 *spcforce_scrollram;
13UINT8 *spcforce_videoram;
14UINT8 *spcforce_colorram;
15
16
1713WRITE8_HANDLER( spcforce_flip_screen_w )
1814{
1915   flip_screen_set(space->machine, ~data & 0x01);
r9191r9192
2218
2319VIDEO_UPDATE( spcforce )
2420{
21   spcforce_state *state = screen->machine->driver_data<spcforce_state>();
2522   int offs;
23   int flip = flip_screen_get(screen->machine);
2624
27
2825   /* draw the characters as sprites because they could be overlapping */
29
3026   bitmap_fill(bitmap,cliprect,0);
31
32
3327   for (offs = 0; offs < 0x400; offs++)
3428   {
3529      int code,sx,sy,col;
3630
31      sy = 8 * (offs / 32) -  (state->scrollram[offs]       & 0x0f);
32      sx = 8 * (offs % 32) + ((state->scrollram[offs] >> 4) & 0x0f);
3733
38      sy = 8 * (offs / 32) -  (spcforce_scrollram[offs]       & 0x0f);
39      sx = 8 * (offs % 32) + ((spcforce_scrollram[offs] >> 4) & 0x0f);
34      code = state->videoram[offs] + ((state->colorram[offs] & 0x01) << 8);
35      col  = (~state->colorram[offs] >> 4) & 0x07;
4036
41      code = spcforce_videoram[offs] + ((spcforce_colorram[offs] & 0x01) << 8);
42      col  = (~spcforce_colorram[offs] >> 4) & 0x07;
43
44      if (flip_screen_get(screen->machine))
37      if (flip)
4538      {
4639         sx = 248 - sx;
4740         sy = 248 - sy;
r9191r9192
4942
5043      drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[0],
5144            code, col,
52            flip_screen_get(screen->machine), flip_screen_get(screen->machine),
45            flip, flip,
5346            sx, sy,0);
5447   }
48
5549   return 0;
5650}
src/mame/video/gsword.c
r9191r9192
66***************************************************************************/
77
88#include "emu.h"
9#include "includes/gsword.h"
910
1011size_t gsword_spritexy_size;
1112
r9191r9192
102103
103104WRITE8_HANDLER( gsword_videoram_w )
104105{
105   space->machine->generic.videoram.u8[offset] = data;
106   gsword_state *state = space->machine->driver_data<gsword_state>();
107   UINT8 *videoram = state->videoram;
108   videoram[offset] = data;
106109   tilemap_mark_tile_dirty(bg_tilemap, offset);
107110}
108111
r9191r9192
150153
151154static TILE_GET_INFO( get_bg_tile_info )
152155{
153   int code = machine->generic.videoram.u8[tile_index] + ((charbank & 0x03) << 8);
156   gsword_state *state = machine->driver_data<gsword_state>();
157   UINT8 *videoram = state->videoram;
158   int code = videoram[tile_index] + ((charbank & 0x03) << 8);
154159   int color = ((code & 0x3c0) >> 6) + 16 * charpalbank;
155160   int flags = flipscreen ? (TILE_FLIPX | TILE_FLIPY) : 0;
156161
src/mame/video/nbmj8900.c
r9191r9192
88
99#include "emu.h"
1010#include "includes/nb1413m3.h"
11#include "includes/nbmj8900.h"
1112
1213
1314static int nbmj8900_scrolly;
src/mame/video/tecmo16.c
r9191r9192
99******************************************************************************/
1010
1111#include "emu.h"
12#include "includes/tecmo16.h"
1213
1314UINT16 *tecmo16_videoram;
1415UINT16 *tecmo16_colorram;
src/mame/video/naughtyb.c
r9191r9192
88
99#include "emu.h"
1010#include "video/resnet.h"
11#include "includes/phoenix.h"
11#include "audio/pleiads.h"
12#include "includes/naughtyb.h"
1213
1314UINT8 *naughtyb_videoram2;
1415
r9191r9192
211212***************************************************************************/
212213VIDEO_UPDATE( naughtyb )
213214{
215   naughtyb_state *state = screen->machine->driver_data<naughtyb_state>();
216   UINT8 *videoram = state->videoram;
214217   int offs;
215218
216219   // for every character in the Video RAM
217220
218   for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
221   for (offs = 0x800 - 1; offs >= 0; offs--)
219222   {
220223      int sx,sy;
221224
r9191r9192
253256            8*sx,8*sy);
254257
255258      drawgfx_transpen(screen->machine->generic.tmpbitmap,0,screen->machine->gfx[1],
256            screen->machine->generic.videoram.u8[offs] + 256*bankreg,
257            (screen->machine->generic.videoram.u8[offs] >> 5) + 8 * palreg,
259            videoram[offs] + 256*bankreg,
260            (videoram[offs] >> 5) + 8 * palreg,
258261            naughtyb_cocktail,naughtyb_cocktail,
259262            8*sx,8*sy,0);
260263   }
src/mame/video/runaway.c
r9191r9192
55****************************************************************************/
66
77#include "emu.h"
8#include "includes/runaway.h"
89
910
1011static tilemap_t *bg_tilemap;
src/mame/video/ultratnk.c
r9191r9192
4141
4242static TILE_GET_INFO( ultratnk_tile_info )
4343{
44   UINT8 code = machine->generic.videoram.u8[tile_index];
44   ultratnk_state *state = machine->driver_data<ultratnk_state>();
45   UINT8 *videoram = state->videoram;
46   UINT8 code = videoram[tile_index];
4547
4648   if (code & 0x20)
4749      SET_TILE_INFO(0, code, code >> 6, 0);
r9191r9192
6062
6163VIDEO_UPDATE( ultratnk )
6264{
63   UINT8 *videoram = screen->machine->generic.videoram.u8;
65   ultratnk_state *state = screen->machine->driver_data<ultratnk_state>();
66   UINT8 *videoram = state->videoram;
6467   int i;
6568
6669   tilemap_draw(bitmap, cliprect, playfield, 0, 0);
r9191r9192
9497
9598VIDEO_EOF( ultratnk )
9699{
100   ultratnk_state *state = machine->driver_data<ultratnk_state>();
97101   int i;
98102   UINT16 BG = colortable_entry_get_value(machine->colortable, 0);
99103   running_device *discrete = machine->device("discrete");
100   UINT8 *videoram = machine->generic.videoram.u8;
104   UINT8 *videoram = state->videoram;
101105
102106   /* check for sprite-playfield collisions */
103107
r9191r9192
141145
142146   /* update sound status */
143147
144   discrete_sound_w(discrete, ULTRATNK_MOTOR_DATA_1, machine->generic.videoram.u8[0x391] & 15);
145   discrete_sound_w(discrete, ULTRATNK_MOTOR_DATA_2, machine->generic.videoram.u8[0x393] & 15);
148   discrete_sound_w(discrete, ULTRATNK_MOTOR_DATA_1, videoram[0x391] & 15);
149   discrete_sound_w(discrete, ULTRATNK_MOTOR_DATA_2, videoram[0x393] & 15);
146150}
147151
148152
149153WRITE8_HANDLER( ultratnk_video_ram_w )
150154{
151   space->machine->generic.videoram.u8[offset] = data;
155   ultratnk_state *state = space->machine->driver_data<ultratnk_state>();
156   UINT8 *videoram = state->videoram;
157   videoram[offset] = data;
152158   tilemap_mark_tile_dirty(playfield, offset);
153159}
src/mame/video/m90.c
r9191r9192
2727*****************************************************************************/
2828
2929#include "emu.h"
30#include "includes/m90.h"
3031
3132static UINT16 *m90_spriteram;
3233UINT16 *m90_video_data;
src/mame/video/scotrsht.c
r9191r9192
11#include "emu.h"
2#include "includes/scotrsht.h"
23
3UINT8 *scotrsht_scroll;
44
5UINT8 *scotrsht_videoram;
6UINT8 *scotrsht_colorram;
7static tilemap_t *bg_tilemap;
8static int scotrsht_charbank = 0;
9static int scotrsht_palette_bank = 0;
10
115/* Similar as Iron Horse */
126PALETTE_INIT( scotrsht )
137{
r9191r9192
4438
4539WRITE8_HANDLER( scotrsht_videoram_w )
4640{
47   scotrsht_videoram[offset] = data;
48   tilemap_mark_tile_dirty(bg_tilemap, offset);
41   scotrsht_state *state = space->machine->driver_data<scotrsht_state>();
42
43   state->videoram[offset] = data;
44   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
4945}
5046
5147WRITE8_HANDLER( scotrsht_colorram_w )
5248{
53   scotrsht_colorram[offset] = data;
54   tilemap_mark_tile_dirty(bg_tilemap, offset);
49   scotrsht_state *state = space->machine->driver_data<scotrsht_state>();
50
51   state->colorram[offset] = data;
52   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
5553}
5654
5755WRITE8_HANDLER( scotrsht_charbank_w )
5856{
59   if (scotrsht_charbank != (data & 0x01))
57   scotrsht_state *state = space->machine->driver_data<scotrsht_state>();
58
59   if (state->charbank != (data & 0x01))
6060   {
61      scotrsht_charbank = data & 0x01;
62      tilemap_mark_all_tiles_dirty(bg_tilemap);
61      state->charbank = data & 0x01;
62      tilemap_mark_all_tiles_dirty(state->bg_tilemap);
6363   }
6464
6565   /* other bits unknown */
r9191r9192
6767
6868WRITE8_HANDLER( scotrsht_palettebank_w )
6969{
70   if(scotrsht_palette_bank != ((data & 0x70) >> 4))
70   scotrsht_state *state = space->machine->driver_data<scotrsht_state>();
71
72   if (state->palette_bank != ((data & 0x70) >> 4))
7173   {
72      scotrsht_palette_bank = ((data & 0x70) >> 4);
73      tilemap_mark_all_tiles_dirty(bg_tilemap);
74      state->palette_bank = ((data & 0x70) >> 4);
75      tilemap_mark_all_tiles_dirty(state->bg_tilemap);
7476   }
7577
7678   coin_counter_w(space->machine, 0, data & 1);
r9191r9192
8284
8385static TILE_GET_INFO( scotrsht_get_bg_tile_info )
8486{
85   int attr = scotrsht_colorram[tile_index];
86   int code = scotrsht_videoram[tile_index] + (scotrsht_charbank << 9) + ((attr & 0x40) << 2);
87   int color = (attr & 0x0f) + scotrsht_palette_bank * 16;
87   scotrsht_state *state = machine->driver_data<scotrsht_state>();
88   int attr = state->colorram[tile_index];
89   int code = state->videoram[tile_index] + (state->charbank << 9) + ((attr & 0x40) << 2);
90   int color = (attr & 0x0f) + state->palette_bank * 16;
8891   int flag = 0;
8992
9093   if(attr & 0x10)   flag |= TILE_FLIPX;
r9191r9192
98101/* Same as Jailbreak + palette bank */
99102static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
100103{
101   UINT8 *spriteram = machine->generic.spriteram.u8;
104   scotrsht_state *state = machine->driver_data<scotrsht_state>();
105   UINT8 *spriteram = state->spriteram;
102106   int i;
103107
104   for (i = 0; i < machine->generic.spriteram_size; i += 4)
108   for (i = 0; i < state->spriteram_size; i += 4)
105109   {
106110      int attr = spriteram[i + 1];   // attributes = ?tyxcccc
107111      int code = spriteram[i] + ((attr & 0x40) << 2);
108      int color = (attr & 0x0f) + scotrsht_palette_bank * 16;
112      int color = (attr & 0x0f) + state->palette_bank * 16;
109113      int flipx = attr & 0x10;
110114      int flipy = attr & 0x20;
111115      int sx = spriteram[i + 2] - ((attr & 0x80) << 1);
r9191r9192
121125
122126      drawgfx_transmask(bitmap, cliprect, machine->gfx[1], code, color, flipx, flipy,
123127         sx, sy,
124         colortable_get_transpen_mask(machine->colortable, machine->gfx[1], color, scotrsht_palette_bank * 16));
128         colortable_get_transpen_mask(machine->colortable, machine->gfx[1], color, state->palette_bank * 16));
125129   }
126130}
127131
128132VIDEO_START( scotrsht )
129133{
130   bg_tilemap = tilemap_create(machine, scotrsht_get_bg_tile_info, tilemap_scan_rows,  8, 8, 64, 32);
134   scotrsht_state *state = machine->driver_data<scotrsht_state>();
131135
132   tilemap_set_scroll_cols(bg_tilemap, 64);
136   state->bg_tilemap = tilemap_create(machine, scotrsht_get_bg_tile_info, tilemap_scan_rows,  8, 8, 64, 32);
137
138   tilemap_set_scroll_cols(state->bg_tilemap, 64);
133139}
134140
135141VIDEO_UPDATE( scotrsht )
136142{
143   scotrsht_state *state = screen->machine->driver_data<scotrsht_state>();
137144   int col;
138145
139146   for (col = 0; col < 32; col++)
140      tilemap_set_scrolly(bg_tilemap, col, scotrsht_scroll[col]);
147      tilemap_set_scrolly(state->bg_tilemap, col, state->scroll[col]);
141148
142   tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
149   tilemap_draw(bitmap, cliprect, state->bg_tilemap, 0, 0);
143150   draw_sprites(screen->machine, bitmap, cliprect);
144151   return 0;
145152}
src/mame/video/gunbustr.c
r9191r9192
11#include "emu.h"
22#include "video/taitoic.h"
3#include "includes/gunbustr.h"
34
45struct tempsprite
56{
src/mame/video/phoenix.c
r9191r9192
88
99#include "emu.h"
1010#include "video/resnet.h"
11#include "audio/pleiads.h"
1112#include "includes/phoenix.h"
1213
1314static UINT8 *videoram_pg[2];
src/mame/video/superqix.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/superqix.h"
1011
1112UINT8 *superqix_videoram;
1213UINT8 *superqix_bitmapram,*superqix_bitmapram2;
src/mame/video/playch10.c
r9191r9192
88
99WRITE8_HANDLER( playch10_videoram_w )
1010{
11   playch10_state *state = space->machine->driver_data<playch10_state>();
12   UINT8 *videoram = state->videoram;
1113   if (pc10_sdcs)
1214   {
13      space->machine->generic.videoram.u8[offset] = data;
15      videoram[offset] = data;
1416      tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
1517   }
1618}
r9191r9192
8587
8688static TILE_GET_INFO( get_bg_tile_info )
8789{
90   playch10_state *state = machine->driver_data<playch10_state>();
91   UINT8 *videoram = state->videoram;
8892   int offs = tile_index * 2;
89   int code = machine->generic.videoram.u8[offs] + ((machine->generic.videoram.u8[offs + 1] & 0x07) << 8);
90   int color = (machine->generic.videoram.u8[offs + 1] >> 3) & 0x1f;
93   int code = videoram[offs] + ((videoram[offs + 1] & 0x07) << 8);
94   int color = (videoram[offs + 1] >> 3) & 0x1f;
9195
9296   SET_TILE_INFO(0, code, color, 0);
9397}
src/mame/video/rastan.c
r9191r9192
1010
1111#include "emu.h"
1212#include "video/taitoic.h"
13
13#include "includes/rainbow.h"
1414#include "includes/opwolf.h"
1515#include "includes/rastan.h"
16#include "includes/rainbow.h"
1716
1817/***************************************************************************/
1918
src/mame/video/tigeroad.c
r9191r9192
11#include "emu.h"
2#include "includes/tigeroad.h"
23
34static int bgcharbank;
45static tilemap_t *bg_tilemap, *fg_tilemap;
56
67WRITE16_HANDLER( tigeroad_videoram_w )
78{
8   COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
9   tigeroad_state *state = space->machine->driver_data<tigeroad_state>();
10   UINT16 *videoram = state->videoram;
11   COMBINE_DATA(&videoram[offset]);
912   tilemap_mark_tile_dirty(fg_tilemap, offset);
1013}
1114
r9191r9192
124127
125128static TILE_GET_INFO( get_fg_tile_info )
126129{
127   int data = machine->generic.videoram.u16[tile_index];
130   tigeroad_state *state = machine->driver_data<tigeroad_state>();
131   UINT16 *videoram = state->videoram;
132   int data = videoram[tile_index];
128133   int attr = data >> 8;
129134   int code = (data & 0xff) + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5);
130135   int color = attr & 0x0f;
src/mame/video/quizdna.c
r9191r9192
1010******************************************************************************/
1111
1212#include "emu.h"
13#include "includes/quizdna.h"
1314
1415static UINT8 *quizdna_bg_ram;
1516static UINT8 *quizdna_fg_ram;
src/mame/video/bfm_dm01.c
r9191r9192
3030-----------+---+-----------------+-----------------------------------------
3131
3232  TODO: - find out clockspeed of CPU
33        - make a non-hacky Artwork representation of dot matrix
34  Layout notes: the dot matrix is set to screen 0.
35  Multiple matrices and matrix/VFD combos are not yet supported.
3633
3734***************************************************************************/
3835
3936#include "emu.h"
4037#include "cpu/m6809/m6809.h"
41#include "video/awpvid.h"
4238#include "bfm_dm01.h"
4339// local prototypes ///////////////////////////////////////////////////////
4440
r9191r9192
6561//static int   read_index;
6662//static int   write_index;
6763
68static bitmap_t *dm_bitmap;
69
7064#ifdef MAME_DEBUG
7165#define VERBOSE 1
7266#else
r9191r9192
140134
141135   if ( x == 8 )
142136   {
143       int off = ((0xFF^data) & 0x7C) >> 2;   // 7C = 000001111100
137       int row = ((0xFF^data) & 0x7C) >> 2;   // 7C = 000001111100
144138
145139      scanline[x] &= 0x80;
146      if ( (off >= 0)  && (off < DM_MAXLINES) )
140      if ( (row >= 0)  && (row < DM_MAXLINES) )
147141      {
148         int p;
142         int p,dots;
149143
150144         x = 0;
151145         p = 0;
146         dots = 0;
152147
153         while ( p < DM_BYTESPERROW )
148         while ( p < (DM_BYTESPERROW) )
154149         {
155            UINT8 d = scanline[p++];
156            LOG(("%d",d));
157            *BITMAP_ADDR16(dm_bitmap, off, x++) = (d & 0x80) ? 0 : 1;
158            *BITMAP_ADDR16(dm_bitmap, off, x++) = (d & 0x40) ? 0 : 1;
159            *BITMAP_ADDR16(dm_bitmap, off, x++) = (d & 0x20) ? 0 : 1;
160            *BITMAP_ADDR16(dm_bitmap, off, x++) = (d & 0x10) ? 0 : 1;
161            *BITMAP_ADDR16(dm_bitmap, off, x++) = (d & 0x08) ? 0 : 1;
162            *BITMAP_ADDR16(dm_bitmap, off, x++) = (d & 0x04) ? 0 : 1;
163            *BITMAP_ADDR16(dm_bitmap, off, x++) = (d & 0x02) ? 0 : 1;
164            *BITMAP_ADDR16(dm_bitmap, off, x++) = (d & 0x01) ? 0 : 1;
150
151            UINT8 d = scanline[p];
152            if (d & 0x80) dots |= 0x01;
153            else          dots &=~0x01;
154            if (d & 0x40) dots |= 0x02;
155            else          dots &=~0x02;
156            if (d & 0x20) dots |= 0x04;
157            else          dots &=~0x04;
158            if (d & 0x10) dots |= 0x08;
159            else          dots &=~0x08;
160            if (d & 0x08) dots |= 0x10;
161            else          dots &=~0x10;
162            if (d & 0x04) dots |= 0x20;
163            else          dots &=~0x20;
164            if (d & 0x02) dots |= 0x40;
165            else          dots &=~0x40;
166            if (d & 0x01) dots |= 0x80;
167            else          dots &=~0x80;
168            output_set_indexed_value("matrix", p +(8*row), dots);
169            p++;
165170         }
166171      }
167172   }
r9191r9192
237242}
238243
239244///////////////////////////////////////////////////////////////////////////
240
241VIDEO_START( bfm_dm01 )
242{
243   dm_bitmap = auto_bitmap_alloc(machine, DM_BYTESPERROW*8, DM_MAXLINES,machine->primary_screen->format());
244}
245
246///////////////////////////////////////////////////////////////////////////
247
248// Note that we assume square pixels, which isn't strictly true (the elements are round).
249
250VIDEO_UPDATE( bfm_dm01 )
251{
252   const rectangle &visarea = screen->visible_area();
253
254   copybitmap(bitmap, dm_bitmap, 0,0,0,0, &visarea);
255
256   LOG(("Busy=%X",data_avail));
257   LOG(("%X",Scorpion2_GetSwitchState(FEEDBACK_STROBE,FEEDBACK_DATA)));
258
259   return 0;
260}
261
262245int BFM_dm01_busy(void)
263246{
264247   return data_avail;
r9191r9192
273256
274257   Scorpion2_SetSwitchState(FEEDBACK_STROBE,FEEDBACK_DATA, busy?0:1);
275258}
276
277PALETTE_INIT( bfm_dm01 )
278{
279   palette_set_color(machine, 0, MAKE_RGB(0xFF,0x00,0x00));
280   palette_set_color(machine, 1, MAKE_RGB(0x40,0x00,0x00));
281}
282
283
src/mame/video/mystwarr.c
r9191r9192
88#include "emu.h"
99#include "video/konamiic.h"
1010#include "includes/konamigx.h"
11#include "includes/mystwarr.h"
1112
1213static int layer_colorbase[6];
1314static int oinprion, cbparam;
src/mame/video/bfm_dm01.h
r9191r9192
1010
1111INTERRUPT_GEN( bfm_dm01_vbl );
1212
13VIDEO_START(  bfm_dm01 );
14VIDEO_UPDATE( bfm_dm01 );
15PALETTE_INIT( bfm_dm01 );
16
1713void BFM_dm01_reset(void);
1814
1915void BFM_dm01_writedata(running_machine *machine,UINT8 data);
src/mame/video/irobot.c
r9191r9192
348348
349349VIDEO_UPDATE( irobot )
350350{
351   irobot_state *state = screen->machine->driver_data<irobot_state>();
352   UINT8 *videoram = state->videoram;
351353   UINT8 *bitmap_base = irobot_bufsel ? polybitmap1 : polybitmap2;
352354   int x, y, offs;
353355
r9191r9192
359361   for (y = offs = 0; y < 32; y++)
360362      for (x = 0; x < 32; x++, offs++)
361363      {
362         int code = screen->machine->generic.videoram.u8[offs] & 0x3f;
363         int color = ((screen->machine->generic.videoram.u8[offs] & 0xc0) >> 6) | (irobot_alphamap >> 3);
364         int code = videoram[offs] & 0x3f;
365         int color = ((videoram[offs] & 0xc0) >> 6) | (irobot_alphamap >> 3);
364366
365367         drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[0],
366368               code, color,
src/mame/video/skykid.c
r9191r9192
11#include "emu.h"
2#include "includes/skykid.h"
23
34UINT8 *skykid_textram, *skykid_videoram, *skykid_spriteram;
45
src/mame/video/quizpani.c
r9191r9192
55************************************************************************/
66
77#include "emu.h"
8#include "includes/quizpani.h"
89
910UINT16 *quizpani_bg_videoram, *quizpani_txt_videoram;
1011UINT16 *quizpani_scrollreg;
src/mame/video/djmain.c
r9191r9192
55
66#include "emu.h"
77#include "video/konicdev.h"
8#include "includes/djmain.h"
89
910#define NUM_SPRITES   (0x800 / 16)
1011#define NUM_LAYERS   2
src/mame/video/mustache.c
r9191r9192
77
88
99#include "emu.h"
10#include "includes/mustache.h"
1011
1112static tilemap_t *bg_tilemap;
1213static int control_byte;
r9191r9192
4647
4748WRITE8_HANDLER( mustache_videoram_w )
4849{
49   space->machine->generic.videoram.u8[offset] = data;
50   mustache_state *state = space->machine->driver_data<mustache_state>();
51   UINT8 *videoram = state->videoram;
52   videoram[offset] = data;
5053   tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
5154}
5255
r9191r9192
7780
7881static TILE_GET_INFO( get_bg_tile_info )
7982{
80   int attr = machine->generic.videoram.u8[2 * tile_index + 1];
81   int code = machine->generic.videoram.u8[2 * tile_index] + ((attr & 0x60) << 3) + ((control_byte & 0x08) << 7);
83   mustache_state *state = machine->driver_data<mustache_state>();
84   UINT8 *videoram = state->videoram;
85   int attr = videoram[2 * tile_index + 1];
86   int code = videoram[2 * tile_index] + ((attr & 0x60) << 3) + ((control_byte & 0x08) << 7);
8287   int color = attr & 0x0f;
8388
8489   SET_TILE_INFO(0, code, color, ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0)   );
src/mame/video/snookr10.c
r9191r9192
3939
4040#include "emu.h"
4141#include "video/resnet.h"
42#include "includes/snookr10.h"
4243
4344UINT8 *snookr10_videoram;
4445UINT8 *snookr10_colorram;
src/mame/video/konamigx.c
r9191r9192
4141static int gx_rushingheroes_hack;
4242static int gx_le2_textcolour_hack;
4343static tilemap_t *gx_psac_tilemap, *gx_psac_tilemap2;
44extern UINT32 *gx_psacram, *gx_subpaletteram32;
4544static bitmap_t* type3_roz_temp_bitmap;
4645static tilemap_t* gx_psac_tilemap_alt;
4746
src/mame/video/sprcros2.c
r9191r9192
44*/
55
66#include "emu.h"
7#include "includes/sprcros2.h"
78
8static tilemap_t *sprcros2_bgtilemap, *sprcros2_fgtilemap;
9UINT8 *sprcros2_fgvideoram, *sprcros2_spriteram, *sprcros2_bgvideoram;
10size_t sprcros2_spriteram_size;
11extern UINT8 sprcros2_m_port7;
129
1310PALETTE_INIT( sprcros2 )
1411{
r9191r9192
6461
6562WRITE8_HANDLER( sprcros2_fgvideoram_w )
6663{
67   sprcros2_fgvideoram[offset] = data;
68   tilemap_mark_tile_dirty(sprcros2_fgtilemap,offset&0x3ff);
64   sprcros2_state *state = space->machine->driver_data<sprcros2_state>();
65
66   state->fgvideoram[offset] = data;
67   tilemap_mark_tile_dirty(state->fgtilemap, offset&0x3ff);
6968}
7069
7170WRITE8_HANDLER( sprcros2_bgvideoram_w )
7271{
73   sprcros2_bgvideoram[offset] = data;
74   tilemap_mark_tile_dirty(sprcros2_bgtilemap,offset&0x3ff);
72   sprcros2_state *state = space->machine->driver_data<sprcros2_state>();
73
74   state->bgvideoram[offset] = data;
75   tilemap_mark_tile_dirty(state->bgtilemap, offset&0x3ff);
7576}
7677
7778WRITE8_HANDLER( sprcros2_bgscrollx_w )
7879{
79   if(sprcros2_m_port7&0x02)
80      tilemap_set_scrollx(sprcros2_bgtilemap,0,0x100-data);
80   sprcros2_state *state = space->machine->driver_data<sprcros2_state>();
81
82   if(state->m_port7&0x02)
83      tilemap_set_scrollx(state->bgtilemap, 0, 0x100-data);
8184   else
82      tilemap_set_scrollx(sprcros2_bgtilemap,0,data);
85      tilemap_set_scrollx(state->bgtilemap, 0, data);
8386}
8487
8588WRITE8_HANDLER( sprcros2_bgscrolly_w )
8689{
87   tilemap_set_scrolly(sprcros2_bgtilemap,0,data);
90   sprcros2_state *state = space->machine->driver_data<sprcros2_state>();
91
92   tilemap_set_scrolly(state->bgtilemap, 0, data);
8893}
8994
9095static TILE_GET_INFO( get_sprcros2_bgtile_info )
9196{
92   UINT32 tile_number = sprcros2_bgvideoram[tile_index];
93   UINT8 attr = sprcros2_bgvideoram[tile_index+0x400];
97   sprcros2_state *state = machine->driver_data<sprcros2_state>();
98   UINT32 tile_number = state->bgvideoram[tile_index];
99   UINT8 attr = state->bgvideoram[tile_index + 0x400];
94100
95101   //attr
96102   //76543210
r9191r9192
109115
110116static TILE_GET_INFO( get_sprcros2_fgtile_info )
111117{
112   UINT32 tile_number = sprcros2_fgvideoram[tile_index];
113   UINT8 attr = sprcros2_fgvideoram[tile_index+0x400];
118   sprcros2_state *state = machine->driver_data<sprcros2_state>();
119   UINT32 tile_number = state->fgvideoram[tile_index];
120   UINT8 attr = state->fgvideoram[tile_index + 0x400];
114121   int color = (attr&0xfc)>>2;
115122
116123   tileinfo->group = color;
r9191r9192
131138
132139VIDEO_START( sprcros2 )
133140{
134   sprcros2_bgtilemap = tilemap_create( machine, get_sprcros2_bgtile_info,tilemap_scan_rows,8,8,32,32 );
135   sprcros2_fgtilemap = tilemap_create( machine, get_sprcros2_fgtile_info,tilemap_scan_rows,8,8,32,32 );
141   sprcros2_state *state = machine->driver_data<sprcros2_state>();
136142
137   colortable_configure_tilemap_groups(machine->colortable, sprcros2_fgtilemap, machine->gfx[2], 0);
143   state->bgtilemap = tilemap_create(machine, get_sprcros2_bgtile_info, tilemap_scan_rows, 8, 8, 32, 32);
144   state->fgtilemap = tilemap_create(machine, get_sprcros2_fgtile_info, tilemap_scan_rows, 8, 8, 32, 32);
145
146   colortable_configure_tilemap_groups(machine->colortable, state->fgtilemap, machine->gfx[2], 0);
138147}
139148
140149static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
141150{
151   sprcros2_state *state = machine->driver_data<sprcros2_state>();
142152   int offs,sx,sy,color,flipx,flipy;
143153
144   for (offs = sprcros2_spriteram_size-4; offs >= 0; offs -= 4)
154   for (offs = state->spriteram_size-4; offs >= 0; offs -= 4)
145155   {
146      if(sprcros2_spriteram[offs])
156      if (state->spriteram[offs])
147157      {
148158
149159         //offs
r9191r9192
160170         //offs+2   y pos
161171         //offs+3   x pos
162172
163         sx = ((sprcros2_spriteram[offs+3]+0x10)%0x100)-0x10;
164         sy = 225-(((sprcros2_spriteram[offs+2]+0x10)%0x100)-0x10);
165         color = (sprcros2_spriteram[offs+1]&0x38)>>3;
166         flipx = sprcros2_spriteram[offs+1]&0x02;
173         sx = ((state->spriteram[offs+3]+0x10)%0x100)-0x10;
174         sy = 225-(((state->spriteram[offs+2]+0x10)%0x100)-0x10);
175         color = (state->spriteram[offs+1]&0x38)>>3;
176         flipx = state->spriteram[offs+1]&0x02;
167177         flipy = 0;
168178
169         if (sprcros2_m_port7&0x02)
179         if (state->m_port7&0x02)
170180         {
171181            sx = 224-sx;
172182            sy = 224-sy;
r9191r9192
175185         }
176186
177187         drawgfx_transmask(bitmap,cliprect,machine->gfx[1],
178            sprcros2_spriteram[offs],
188            state->spriteram[offs],
179189            color,
180190            flipx,flipy,
181191            sx,sy,
r9191r9192
186196
187197VIDEO_UPDATE( sprcros2 )
188198{
189   tilemap_draw( bitmap,cliprect,sprcros2_bgtilemap,0,0 );
190   draw_sprites(screen->machine, bitmap,cliprect);
191   tilemap_draw( bitmap,cliprect,sprcros2_fgtilemap,0,0 );
199   sprcros2_state *state = screen->machine->driver_data<sprcros2_state>();
200
201   tilemap_draw(bitmap, cliprect, state->bgtilemap, 0, 0);
202   draw_sprites(screen->machine, bitmap, cliprect);
203   tilemap_draw(bitmap, cliprect, state->fgtilemap, 0, 0);
192204   return 0;
193205}
src/mame/video/ppu2c0x.h
r9191r9192
125125WRITE8_DEVICE_HANDLER( ppu2c0x_w );
126126READ8_DEVICE_HANDLER( ppu2c0x_r );
127127
128int ppu2c0x_get_scanlines_per_frame( running_device *device );
129128
130
131129/***************************************************************************
132130    DEVICE CONFIGURATION MACROS
133131***************************************************************************/
src/mame/video/gottlieb.c
r9191r9192
112112
113113WRITE8_HANDLER( gottlieb_videoram_w )
114114{
115   space->machine->generic.videoram.u8[offset] = data;
115   gottlieb_state *state = space->machine->driver_data<gottlieb_state>();
116   UINT8 *videoram = state->videoram;
117   videoram[offset] = data;
116118   tilemap_mark_tile_dirty(bg_tilemap, offset);
117119}
118120
r9191r9192
136138
137139static TILE_GET_INFO( get_bg_tile_info )
138140{
139   int code = machine->generic.videoram.u8[tile_index];
141   gottlieb_state *state = machine->driver_data<gottlieb_state>();
142   UINT8 *videoram = state->videoram;
143   int code = videoram[tile_index];
140144   if ((code & 0x80) == 0)
141145      SET_TILE_INFO(gottlieb_gfxcharlo, code, 0, 0);
142146   else
r9191r9192
145149
146150static TILE_GET_INFO( get_screwloo_bg_tile_info )
147151{
148   int code = machine->generic.videoram.u8[tile_index];
152   gottlieb_state *state = machine->driver_data<gottlieb_state>();
153   UINT8 *videoram = state->videoram;
154   int code = videoram[tile_index];
149155   if ((code & 0xc0) == 0)
150156      SET_TILE_INFO(gottlieb_gfxcharlo, code, 0, 0);
151157   else
src/mame/video/xxmissio.c
r9191r9192
99*******************************************************************************/
1010
1111#include "emu.h"
12#include "includes/xxmissio.h"
1213
1314UINT8 *xxmissio_bgram;
1415UINT8 *xxmissio_fgram;
src/mame/video/pcktgal.c
r9191r9192
11#include "emu.h"
2#include "includes/pcktgal.h"
23
34static tilemap_t *bg_tilemap;
45
r9191r9192
3233
3334WRITE8_HANDLER( pcktgal_videoram_w )
3435{
35   space->machine->generic.videoram.u8[offset] = data;
36   pcktgal_state *state = space->machine->driver_data<pcktgal_state>();
37   UINT8 *videoram = state->videoram;
38   videoram[offset] = data;
3639   tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
3740}
3841
r9191r9192
4750
4851static TILE_GET_INFO( get_bg_tile_info )
4952{
50   int code = machine->generic.videoram.u8[tile_index*2+1] + ((machine->generic.videoram.u8[tile_index*2] & 0x0f) << 8);
51   int color = machine->generic.videoram.u8[tile_index*2] >> 4;
53   pcktgal_state *state = machine->driver_data<pcktgal_state>();
54   UINT8 *videoram = state->videoram;
55   int code = videoram[tile_index*2+1] + ((videoram[tile_index*2] & 0x0f) << 8);
56   int color = videoram[tile_index*2] >> 4;
5257
5358   SET_TILE_INFO(0, code, color, 0);
5459}
src/mame/video/hyhoo.c
r9191r9192
88
99#include "emu.h"
1010#include "includes/nb1413m3.h"
11#include "includes/hyhoo.h"
1112
12
1313UINT8 *hyhoo_clut;
1414
1515static int blitter_destx, blitter_desty;
src/mame/video/solomon.c
r9191r9192
11#include "emu.h"
2#include "includes/solomon.h"
23
3UINT8 *solomon_videoram;
4UINT8 *solomon_colorram;
5UINT8 *solomon_videoram2;
6UINT8 *solomon_colorram2;
7
8static tilemap_t *bg_tilemap, *fg_tilemap;
9
104WRITE8_HANDLER( solomon_videoram_w )
115{
12   solomon_videoram[offset] = data;
13   tilemap_mark_tile_dirty(fg_tilemap, offset);
6   solomon_state *state = space->machine->driver_data<solomon_state>();
7
8   state->videoram[offset] = data;
9   tilemap_mark_tile_dirty(state->fg_tilemap, offset);
1410}
1511
1612WRITE8_HANDLER( solomon_colorram_w )
1713{
18   solomon_colorram[offset] = data;
19   tilemap_mark_tile_dirty(fg_tilemap, offset);
14   solomon_state *state = space->machine->driver_data<solomon_state>();
15
16   state->colorram[offset] = data;
17   tilemap_mark_tile_dirty(state->fg_tilemap, offset);
2018}
2119
2220WRITE8_HANDLER( solomon_videoram2_w )
2321{
24   solomon_videoram2[offset] = data;
25   tilemap_mark_tile_dirty(bg_tilemap, offset);
22   solomon_state *state = space->machine->driver_data<solomon_state>();
23
24   state->videoram2[offset] = data;
25   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
2626}
2727
2828WRITE8_HANDLER( solomon_colorram2_w )
2929{
30   solomon_colorram2[offset] = data;
31   tilemap_mark_tile_dirty(bg_tilemap, offset);
30   solomon_state *state = space->machine->driver_data<solomon_state>();
31
32   state->colorram2[offset] = data;
33   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
3234}
3335
3436WRITE8_HANDLER( solomon_flipscreen_w )
r9191r9192
4244
4345static TILE_GET_INFO( get_bg_tile_info )
4446{
45   int attr = solomon_colorram2[tile_index];
46   int code = solomon_videoram2[tile_index] + 256 * (attr & 0x07);
47   solomon_state *state = machine->driver_data<solomon_state>();
48   int attr = state->colorram2[tile_index];
49   int code = state->videoram2[tile_index] + 256 * (attr & 0x07);
4750   int color = ((attr & 0x70) >> 4);
4851   int flags = ((attr & 0x80) ? TILE_FLIPX : 0) | ((attr & 0x08) ? TILE_FLIPY : 0);
4952
r9191r9192
5255
5356static TILE_GET_INFO( get_fg_tile_info )
5457{
55   int attr = solomon_colorram[tile_index];
56   int code = solomon_videoram[tile_index] + 256 * (attr & 0x07);
58   solomon_state *state = machine->driver_data<solomon_state>();
59   int attr = state->colorram[tile_index];
60   int code = state->videoram[tile_index] + 256 * (attr & 0x07);
5761   int color = (attr & 0x70) >> 4;
5862
5963   SET_TILE_INFO(0, code, color, 0);
r9191r9192
6165
6266VIDEO_START( solomon )
6367{
64   bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,
68   solomon_state *state = machine->driver_data<solomon_state>();
69
70   state->bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,
6571       8, 8, 32, 32);
6672
67   fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows,
73   state->fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_rows,
6874       8, 8, 32, 32);
6975
70   tilemap_set_transparent_pen(fg_tilemap, 0);
76   tilemap_set_transparent_pen(state->fg_tilemap, 0);
7177}
7278
7379static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect )
7480{
75   UINT8 *spriteram = machine->generic.spriteram.u8;
81   solomon_state *state = machine->driver_data<solomon_state>();
82   UINT8 *spriteram = state->spriteram;
7683   int offs;
7784
7885   for (offs = machine->generic.spriteram_size - 4; offs >= 0; offs -= 4)
r9191r9192
102109
103110VIDEO_UPDATE( solomon )
104111{
105   tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
106   tilemap_draw(bitmap, cliprect, fg_tilemap, 0, 0);
112   solomon_state *state = screen->machine->driver_data<solomon_state>();
113   tilemap_draw(bitmap, cliprect, state->bg_tilemap, 0, 0);
114   tilemap_draw(bitmap, cliprect, state->fg_tilemap, 0, 0);
107115   draw_sprites(screen->machine, bitmap, cliprect);
108116   return 0;
109117}
src/mame/video/gladiatr.c
r9191r9192
55***************************************************************************/
66
77#include "emu.h"
8#include "includes/gladiatr.h"
89
910UINT8 *gladiatr_videoram, *gladiatr_colorram, *gladiatr_textram;
1011
src/mame/video/groundfx.c
r9191r9192
11#include "emu.h"
22#include "video/taitoic.h"
3#include "includes/groundfx.h"
34
45UINT16 groundfx_rotate_ctrl[8];
56
src/mame/video/cidelsa.c
r9191r9192
252252
253253/* Machine Drivers */
254254
255MACHINE_DRIVER_START( destryer_video )
255MACHINE_CONFIG_FRAGMENT( destryer_video )
256256   MDRV_CDP1869_SCREEN_PAL_ADD(SCREEN_TAG, DESTRYER_CHR2)
257257   MDRV_SCREEN_DEFAULT_POSITION(1.226, 0.012, 1.4, 0.044)
258258
r9191r9192
262262   MDRV_SPEAKER_STANDARD_MONO("mono")
263263   MDRV_CDP1869_ADD(CDP1869_TAG, DESTRYER_CHR2, destryer_cdp1869_intf)
264264   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
265MACHINE_DRIVER_END
265MACHINE_CONFIG_END
266266
267MACHINE_DRIVER_START( altair_video )
267MACHINE_CONFIG_FRAGMENT( altair_video )
268268   MDRV_CDP1869_SCREEN_PAL_ADD(SCREEN_TAG, ALTAIR_CHR2)
269269   MDRV_SCREEN_DEFAULT_POSITION(1.226, 0.012, 1.4, 0.044)
270270
r9191r9192
274274   MDRV_SPEAKER_STANDARD_MONO("mono")
275275   MDRV_CDP1869_ADD(CDP1869_TAG, ALTAIR_CHR2, altair_cdp1869_intf)
276276   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
277MACHINE_DRIVER_END
277MACHINE_CONFIG_END
278278
279MACHINE_DRIVER_START( draco_video )
279MACHINE_CONFIG_FRAGMENT( draco_video )
280280   MDRV_CDP1869_SCREEN_PAL_ADD(SCREEN_TAG, DRACO_CHR2)
281281   MDRV_SCREEN_DEFAULT_POSITION(1.226, 0.012, 1.360, 0.024)
282282
r9191r9192
288288   MDRV_SOUND_ADD(AY8910_TAG, AY8910, DRACO_SND_CHR1)
289289   MDRV_SOUND_CONFIG(ay8910_config)
290290   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
291MACHINE_DRIVER_END
291MACHINE_CONFIG_END
src/mame/video/suprloco.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/suprloco.h"
1011
1112UINT8 *suprloco_videoram;
1213UINT8 *suprloco_scrollram;
src/mame/video/thoop2.c
r9191r9192
1010***************************************************************************/
1111
1212#include "emu.h"
13#include "includes/thoop2.h"
1314
1415UINT16 *thoop2_vregs;
1516UINT16 *thoop2_videoram;
src/mame/video/vulgus.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/vulgus.h"
1011
1112UINT8 *vulgus_fgvideoram,*vulgus_bgvideoram;
1213UINT8 *vulgus_scroll_low,*vulgus_scroll_high;
src/mame/video/zac2650.c
r9191r9192
66
77#include "emu.h"
88#include "sound/s2636.h"
9#include "includes/zac2650.h"
910
1011UINT8 *zac2650_s2636_0_ram;
1112static bitmap_t *spritebitmap;
r9191r9192
2425
2526WRITE8_HANDLER( tinvader_videoram_w )
2627{
27   space->machine->generic.videoram.u8[offset] = data;
28   zac2650_state *state = space->machine->driver_data<zac2650_state>();
29   UINT8 *videoram = state->videoram;
30   videoram[offset] = data;
2831   tilemap_mark_tile_dirty(bg_tilemap, offset);
2932}
3033
r9191r9192
132135
133136static TILE_GET_INFO( get_bg_tile_info )
134137{
135   int code = machine->generic.videoram.u8[tile_index];
138   zac2650_state *state = machine->driver_data<zac2650_state>();
139   UINT8 *videoram = state->videoram;
140   int code = videoram[tile_index];
136141
137142   SET_TILE_INFO(0, code, 0, 0);
138143}
src/mame/video/shangha3.c
r9191r9192
6060
6161#include "emu.h"
6262#include "profiler.h"
63#include "includes/shangha3.h"
6364
6465
65UINT16 *shangha3_ram;
66size_t shangha3_ram_size;
6766
68int shangha3_do_shadows;
69
70static UINT16 gfxlist_addr;
71static bitmap_t *rawbitmap;
72
73static UINT8 drawmode_table[16];
74
75
7667VIDEO_START( shangha3 )
7768{
69   shangha3_state *state = machine->driver_data<shangha3_state>();
7870   int i;
7971
80   rawbitmap = machine->primary_screen->alloc_compatible_bitmap();
72   state->rawbitmap = machine->primary_screen->alloc_compatible_bitmap();
8173
8274   for (i = 0;i < 14;i++)
83      drawmode_table[i] = DRAWMODE_SOURCE;
84   drawmode_table[14] = shangha3_do_shadows ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
85   drawmode_table[15] = DRAWMODE_NONE;
75      state->drawmode_table[i] = DRAWMODE_SOURCE;
76   state->drawmode_table[14] = state->do_shadows ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
77   state->drawmode_table[15] = DRAWMODE_NONE;
8678
87   if (shangha3_do_shadows)
79   if (state->do_shadows)
8880   {
8981      /* Prepare the shadow table */
9082      for (i = 0;i < 128;i++)
r9191r9192
10799
108100WRITE16_HANDLER( shangha3_gfxlist_addr_w )
109101{
110   COMBINE_DATA(&gfxlist_addr);
102   shangha3_state *state = space->machine->driver_data<shangha3_state>();
103
104   COMBINE_DATA(&state->gfxlist_addr);
111105}
112106
113107
114108WRITE16_HANDLER( shangha3_blitter_go_w )
115109{
110   shangha3_state *state = space->machine->driver_data<shangha3_state>();
111   UINT16 *shangha3_ram = state->ram;
112   bitmap_t *rawbitmap = state->rawbitmap;
113   UINT8 *drawmode_table = state->drawmode_table;
116114   int offs;
117115
118116
119117   g_profiler.start(PROFILER_VIDEO);
120118
121   for (offs = gfxlist_addr << 3;offs < shangha3_ram_size/2;offs += 16)
119   for (offs = state->gfxlist_addr << 3; offs < state->ram_size/2; offs += 16)
122120   {
123121      int sx,sy,x,y,code,color,flipx,flipy,sizex,sizey,zoomx,zoomy;
124122
r9191r9192
265263
266264VIDEO_UPDATE( shangha3 )
267265{
268   copybitmap(bitmap,rawbitmap,0,0,0,0,cliprect);
266   shangha3_state *state = screen->machine->driver_data<shangha3_state>();
267
268   copybitmap(bitmap, state->rawbitmap, 0, 0, 0, 0, cliprect);
269269   return 0;
270270}
src/mame/video/taito_f3.c
r9191r9192
525525
526526static TILE_GET_INFO( get_tile_info_vram )
527527{
528   taito_f3_state *state = machine->driver_data<taito_f3_state>();
529   UINT32 *videoram = state->videoram;
528530   int vram_tile;
529531   int flags=0;
530532
531533   if (tile_index&1)
532      vram_tile = (machine->generic.videoram.u32[tile_index>>1]&0xffff);
534      vram_tile = (videoram[tile_index>>1]&0xffff);
533535   else
534      vram_tile = (machine->generic.videoram.u32[tile_index>>1]>>16);
536      vram_tile = (videoram[tile_index>>1]>>16);
535537
536538   if (vram_tile&0x0100) flags|=TILE_FLIPX;
537539   if (vram_tile&0x8000) flags|=TILE_FLIPY;
r9191r9192
545547
546548static TILE_GET_INFO( get_tile_info_pixel )
547549{
550   taito_f3_state *state = machine->driver_data<taito_f3_state>();
551   UINT32 *videoram = state->videoram;
548552   int vram_tile,col_off;
549553   int flags=0;
550554   int y_offs=(f3_control_1[2]&0x1ff);
r9191r9192
557561      col_off=((tile_index%32)*0x40)+((tile_index&0xfe0)>>5);
558562
559563   if (col_off&1)
560      vram_tile = (machine->generic.videoram.u32[col_off>>1]&0xffff);
564      vram_tile = (videoram[col_off>>1]&0xffff);
561565   else
562      vram_tile = (machine->generic.videoram.u32[col_off>>1]>>16);
566      vram_tile = (videoram[col_off>>1]>>16);
563567
564568   if (vram_tile&0x0100) flags|=TILE_FLIPX;
565569   if (vram_tile&0x8000) flags|=TILE_FLIPY;
r9191r9192
793797
794798WRITE32_HANDLER( f3_videoram_w )
795799{
800   taito_f3_state *state = space->machine->driver_data<taito_f3_state>();
801   UINT32 *videoram = state->videoram;
796802   int tile,col_off;
797   COMBINE_DATA(&space->machine->generic.videoram.u32[offset]);
803   COMBINE_DATA(&videoram[offset]);
798804
799805   tilemap_mark_tile_dirty(vram_layer,offset<<1);
800806   tilemap_mark_tile_dirty(vram_layer,(offset<<1)+1);
src/mame/video/baraduke.c
r9191r9192
11#include "emu.h"
2#include "includes/baraduke.h"
23
34UINT8 *baraduke_textram, *baraduke_videoram, *baraduke_spriteram;
45
src/mame/video/ssozumo.c
r9191r9192
88***************************************************************************/
99
1010#include "emu.h"
11#include "includes/ssozumo.h"
1112
12UINT8 *ssozumo_videoram;
13UINT8 *ssozumo_colorram;
14UINT8 *ssozumo_videoram2;
15UINT8 *ssozumo_colorram2;
16
17static tilemap_t *bg_tilemap, *fg_tilemap;
18
1913/**************************************************************************/
2014
2115PALETTE_INIT( ssozumo )
r9191r9192
4842
4943WRITE8_HANDLER( ssozumo_videoram_w )
5044{
51   ssozumo_videoram[offset] = data;
52   tilemap_mark_tile_dirty(bg_tilemap, offset);
45   ssozumo_state *state = space->machine->driver_data<ssozumo_state>();
46
47   state->videoram[offset] = data;
48   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
5349}
5450
5551WRITE8_HANDLER( ssozumo_colorram_w )
5652{
57   ssozumo_colorram[offset] = data;
58   tilemap_mark_tile_dirty(bg_tilemap, offset);
53   ssozumo_state *state = space->machine->driver_data<ssozumo_state>();
54
55   state->colorram[offset] = data;
56   tilemap_mark_tile_dirty(state->bg_tilemap, offset);
5957}
6058
6159WRITE8_HANDLER( ssozumo_videoram2_w )
6260{
63   ssozumo_videoram2[offset] = data;
64   tilemap_mark_tile_dirty(fg_tilemap, offset);
61   ssozumo_state *state = space->machine->driver_data<ssozumo_state>();
62
63   state->videoram2[offset] = data;
64   tilemap_mark_tile_dirty(state->fg_tilemap, offset);
6565}
6666
6767WRITE8_HANDLER( ssozumo_colorram2_w )
6868{
69   ssozumo_colorram2[offset] = data;
70   tilemap_mark_tile_dirty(fg_tilemap, offset);
69   ssozumo_state *state = space->machine->driver_data<ssozumo_state>();
70
71   state->colorram2[offset] = data;
72   tilemap_mark_tile_dirty(state->fg_tilemap, offset);
7173}
7274
7375WRITE8_HANDLER( ssozumo_paletteram_w )
7476{
77   ssozumo_state *state = space->machine->driver_data<ssozumo_state>();
7578   int   bit0, bit1, bit2, bit3, val;
7679   int   r, g, b;
7780   int   offs2;
7881
79   space->machine->generic.paletteram.u8[offset] = data;
82   state->paletteram[offset] = data;
8083   offs2 = offset & 0x0f;
8184
82   val = space->machine->generic.paletteram.u8[offs2];
85   val = state->paletteram[offs2];
8386   bit0 = (val >> 0) & 0x01;
8487   bit1 = (val >> 1) & 0x01;
8588   bit2 = (val >> 2) & 0x01;
8689   bit3 = (val >> 3) & 0x01;
8790   r = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
8891
89   val = space->machine->generic.paletteram.u8[offs2 | 0x10];
92   val = state->paletteram[offs2 | 0x10];
9093   bit0 = (val >> 0) & 0x01;
9194   bit1 = (val >> 1) & 0x01;
9295   bit2 = (val >> 2) & 0x01;
9396   bit3 = (val >> 3) & 0x01;
9497   g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3;
9598
96   val = space->machine->generic.paletteram.u8[offs2 | 0x20];
99   val = state->paletteram[offs2 | 0x20];
97100   bit0 = (val >> 0) & 0x01;
98101   bit1 = (val >> 1) & 0x01;
99102   bit2 = (val >> 2) & 0x01;
r9191r9192
105108
106109WRITE8_HANDLER( ssozumo_scroll_w )
107110{
108   tilemap_set_scrolly(bg_tilemap, 0, data);
111   ssozumo_state *state = space->machine->driver_data<ssozumo_state>();
112
113   tilemap_set_scrolly(state->bg_tilemap, 0, data);
109114}
110115
111116WRITE8_HANDLER( ssozumo_flipscreen_w )
r9191r9192
115120
116121static TILE_GET_INFO( get_bg_tile_info )
117122{
118   int code = ssozumo_videoram[tile_index] + ((ssozumo_colorram[tile_index] & 0x08) << 5);
119   int color = (ssozumo_colorram[tile_index] & 0x30) >> 4;
123   ssozumo_state *state = machine->driver_data<ssozumo_state>();
124   int code = state->videoram[tile_index] + ((state->colorram[tile_index] & 0x08) << 5);
125   int color = (state->colorram[tile_index] & 0x30) >> 4;
120126   int flags = ((tile_index % 32) >= 16) ? TILE_FLIPY : 0;
121127
122128   SET_TILE_INFO(1, code, color, flags);
r9191r9192
124130
125131static TILE_GET_INFO( get_fg_tile_info )
126132{
127   int code = ssozumo_videoram2[tile_index] + 256 * (ssozumo_colorram2[tile_index] & 0x07);
128   int color = (ssozumo_colorram2[tile_index] & 0x30) >> 4;
133   ssozumo_state *state = machine->driver_data<ssozumo_state>();
134   int code = state->videoram2[tile_index] + 256 * (state->colorram2[tile_index] & 0x07);
135   int color = (state->colorram2[tile_index] & 0x30) >> 4;
129136
130137   SET_TILE_INFO(0, code, color, 0);
131138}
132139
133140VIDEO_START( ssozumo )
134141{
135   bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_cols_flip_x,
142   ssozumo_state *state = machine->driver_data<ssozumo_state>();
143
144   state->bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_cols_flip_x,
136145       16, 16, 16, 32);
137146
138   fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_cols_flip_x,
147   state->fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan_cols_flip_x,
139148       8, 8, 32, 32);
140149
141   tilemap_set_transparent_pen(fg_tilemap, 0);
150   tilemap_set_transparent_pen(state->fg_tilemap, 0);
142151}
143152
144153static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
145154{
146   UINT8 *spriteram = machine->generic.spriteram.u8;
155   ssozumo_state *state = machine->driver_data<ssozumo_state>();
156   UINT8 *spriteram = state->spriteram;
147157   int offs;
148158
149   for (offs = 0; offs < machine->generic.spriteram_size; offs += 4)
159   for (offs = 0; offs < state->spriteram_size; offs += 4)
150160   {
151161      if (spriteram[offs] & 0x01)
152162      {
r9191r9192
176186
177187VIDEO_UPDATE( ssozumo )
178188{
179   tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
180   tilemap_draw(bitmap, cliprect, fg_tilemap, 0, 0);
189   ssozumo_state *state = screen->machine->driver_data<ssozumo_state>();
190
191   tilemap_draw(bitmap, cliprect, state->bg_tilemap, 0, 0);
192   tilemap_draw(bitmap, cliprect, state->fg_tilemap, 0, 0);
181193   draw_sprites(screen->machine, bitmap, cliprect);
182194   return 0;
183195}
src/mame/video/mcr.c
r9191r9192
2828 */
2929static TILE_GET_INFO( mcr_90009_get_tile_info )
3030{
31   SET_TILE_INFO(0, machine->generic.videoram.u8[tile_index], 0, 0);
31   mcr_state *state = machine->driver_data<mcr_state>();
32   UINT8 *videoram = state->videoram;
33   SET_TILE_INFO(0, videoram[tile_index], 0, 0);
3234
3335   /* sprite color base is constant 0x10 */
3436   tileinfo->category = 1;
r9191r9192
5052 */
5153static TILE_GET_INFO( mcr_90010_get_tile_info )
5254{
53   int data = machine->generic.videoram.u8[tile_index * 2] | (machine->generic.videoram.u8[tile_index * 2 + 1] << 8);
55   mcr_state *state = machine->driver_data<mcr_state>();
56   UINT8 *videoram = state->videoram;
57   int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
5458   int code = data & 0x1ff;
5559   int color = (data >> 11) & 3;
5660   SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 9) & 3));
r9191r9192
7579 */
7680static TILE_GET_INFO( mcr_91490_get_tile_info )
7781{
78   int data = machine->generic.videoram.u8[tile_index * 2] | (machine->generic.videoram.u8[tile_index * 2 + 1] << 8);
82   mcr_state *state = machine->driver_data<mcr_state>();
83   UINT8 *videoram = state->videoram;
84   int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
7985   int code = data & 0x3ff;
8086   int color = (data >> 12) & 3;
8187   SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
r9191r9192
179185
180186WRITE8_HANDLER( mcr_90009_videoram_w )
181187{
182   space->machine->generic.videoram.u8[offset] = data;
188   mcr_state *state = space->machine->driver_data<mcr_state>();
189   UINT8 *videoram = state->videoram;
190   videoram[offset] = data;
183191   tilemap_mark_tile_dirty(bg_tilemap, offset);
184192}
185193
186194
187195WRITE8_HANDLER( mcr_90010_videoram_w )
188196{
189   space->machine->generic.videoram.u8[offset] = data;
197   mcr_state *state = space->machine->driver_data<mcr_state>();
198   UINT8 *videoram = state->videoram;
199   videoram[offset] = data;
190200   tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
191201
192202   /* palette RAM is mapped into the upper 0x80 bytes here */
r9191r9192
202212
203213READ8_HANDLER( twotiger_videoram_r )
204214{
215   mcr_state *state = space->machine->driver_data<mcr_state>();
216   UINT8 *videoram = state->videoram;
205217   /* Two Tigers swizzles the address bits on videoram */
206218   int effoffs = ((offset << 1) & 0x7fe) | ((offset >> 10) & 1);
207   return space->machine->generic.videoram.u8[effoffs];
219   return videoram[effoffs];
208220}
209221
210222WRITE8_HANDLER( twotiger_videoram_w )
211223{
224   mcr_state *state = space->machine->driver_data<mcr_state>();
225   UINT8 *videoram = state->videoram;
212226   /* Two Tigers swizzles the address bits on videoram */
213227   int effoffs = ((offset << 1) & 0x7fe) | ((offset >> 10) & 1);
214228
215   space->machine->generic.videoram.u8[effoffs] = data;
229   videoram[effoffs] = data;
216230   tilemap_mark_tile_dirty(bg_tilemap, effoffs / 2);
217231
218232   /* palette RAM is mapped into the upper 0x80 bytes here */
r9191r9192
223237
224238WRITE8_HANDLER( mcr_91490_videoram_w )
225239{
226   space->machine->generic.videoram.u8[offset] = data;
240   mcr_state *state = space->machine->driver_data<mcr_state>();
241   UINT8 *videoram = state->videoram;
242   videoram[offset] = data;
227243   tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
228244}
229245
src/mame/video/twin16.c
r9191r9192
346346
347347static void draw_layer( running_machine *machine, bitmap_t *bitmap, int opaque )
348348{
349   twin16_state *state = machine->driver_data<twin16_state>();
350   UINT16 *videoram = state->videoram;
349351   const UINT16 *gfx_base;
350   const UINT16 *source = machine->generic.videoram.u16;
352   const UINT16 *source = videoram;
351353   int i, xxor, yxor;
352354   int bank_table[4];
353355   int dx, dy, palette;
src/mame/video/clshroad.c
r9191r9192
3131***************************************************************************/
3232
3333#include "emu.h"
34#include "includes/clshroad.h"
3435
3536/* Variables only used here: */
3637
r9191r9192
4142UINT8 *clshroad_vram_0, *clshroad_vram_1;
4243UINT8 *clshroad_vregs;
4344
44WRITE8_HANDLER( clshroad_vram_0_w );
45WRITE8_HANDLER( clshroad_vram_1_w );
46WRITE8_HANDLER( clshroad_flipscreen_w );
47
48
4945WRITE8_HANDLER( clshroad_flipscreen_w )
5046{
5147   flip_screen_set(space->machine,  data & 1 );
src/mame/video/tbowl.c
r9191r9192
33/* see drivers/tbowl.c for more info */
44
55#include "emu.h"
6#include "includes/tbowl.h"
67
78static tilemap_t *tx_tilemap, *bg_tilemap, *bg2_tilemap;
89UINT8 *tbowl_txvideoram, *tbowl_bgvideoram, *tbowl_bg2videoram;
src/mame/video/thepit.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/thepit.h"
1011
1112
1213UINT8 *thepit_videoram;
src/mame/video/rpunch.c
r9191r9192
77****************************************************************************/
88
99#include "emu.h"
10#include "includes/rpunch.h"
1011
1112
1213#define BITMAP_WIDTH   304
r9191r9192
4142
4243static TILE_GET_INFO( get_bg0_tile_info )
4344{
44   int data = machine->generic.videoram.u16[tile_index];
45   rpunch_state *state = machine->driver_data<rpunch_state>();
46   UINT16 *videoram = state->videoram;
47   int data = videoram[tile_index];
4548   int code;
4649   if (videoflags & 0x0400)   code = (data & 0x0fff) | 0x2000;
4750   else                  code = (data & 0x1fff);
r9191r9192
5558
5659static TILE_GET_INFO( get_bg1_tile_info )
5760{
58   int data = machine->generic.videoram.u16[machine->generic.videoram_size / 4 + tile_index];
61   rpunch_state *state = machine->driver_data<rpunch_state>();
62   UINT16 *videoram = state->videoram;
63   int data = videoram[0x2000 / 2 + tile_index];
5964   int code;
6065   if (videoflags & 0x0800)   code = (data & 0x0fff) | 0x2000;
6166   else                  code = (data & 0x1fff);
r9191r9192
8590VIDEO_START( rpunch )
8691{
8792   /* allocate tilemaps for the backgrounds */
88   background[0] = tilemap_create(machine, get_bg0_tile_info,tilemap_scan_cols,     8,8,64,64);
93   background[0] = tilemap_create(machine, get_bg0_tile_info,tilemap_scan_cols,8,8,64,64);
8994   background[1] = tilemap_create(machine, get_bg1_tile_info,tilemap_scan_cols,8,8,64,64);
9095
9196   /* configure the tilemaps */
r9191r9192
108113
109114WRITE16_HANDLER( rpunch_videoram_w )
110115{
116   rpunch_state *state = space->machine->driver_data<rpunch_state>();
117   UINT16 *videoram = state->videoram;
111118   int tmap = offset >> 12;
112119   int tile_index = offset & 0xfff;
113   COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
120   COMBINE_DATA(&videoram[offset]);
114121   tilemap_mark_tile_dirty(background[tmap],tile_index);
115122}
116123
src/mame/video/wolfpack.c
r9191r9192
55***************************************************************************/
66
77#include "emu.h"
8#include "includes/wolfpack.h"
89
910int wolfpack_collision;
1011
src/mame/video/pirates.c
r9191r9192
11#include "emu.h"
2#include "includes/pirates.h"
23
34
45UINT16 *pirates_tx_tileram, *pirates_spriteram;
src/mame/video/tankbatt.c
r9191r9192
77***************************************************************************/
88
99#include "emu.h"
10#include "includes/tankbatt.h"
1011
1112UINT8 *tankbatt_bulletsram;
1213size_t tankbatt_bulletsram_size;
r9191r9192
6364
6465WRITE8_HANDLER( tankbatt_videoram_w )
6566{
66   space->machine->generic.videoram.u8[offset] = data;
67   tankbatt_state *state = space->machine->driver_data<tankbatt_state>();
68   UINT8 *videoram = state->videoram;
69   videoram[offset] = data;
6770   tilemap_mark_tile_dirty(bg_tilemap, offset);
6871}
6972
7073static TILE_GET_INFO( get_bg_tile_info )
7174{
72   int code = machine->generic.videoram.u8[tile_index];
73   int color = machine->generic.videoram.u8[tile_index] | 0x01;
75   tankbatt_state *state = machine->driver_data<tankbatt_state>();
76   UINT8 *videoram = state->videoram;
77   int code = videoram[tile_index];
78   int color = videoram[tile_index] | 0x01;
7479
7580   SET_TILE_INFO(0, code, color, 0);
7681}
src/mame/video/subs.c
r9191r9192
3939
4040VIDEO_UPDATE( subs )
4141{
42   subs_state *state = screen->machine->driver_data<subs_state>();
43   UINT8 *videoram = state->videoram;
4244   UINT8 *spriteram = screen->machine->generic.spriteram.u8;
4345   int offs;
4446
r9191r9192
4850
4951   /* for every character in the Video RAM, check if it has been modified */
5052   /* since last time and update it accordingly. */
51   for (offs = screen->machine->generic.videoram_size - 1;offs >= 0;offs--)
53   for (offs = 0x400 - 1; offs >= 0; offs--)
5254   {
5355      int charcode;
5456      int sx,sy;
r9191r9192
5860      left_sonar_window = 0;
5961      right_sonar_window = 0;
6062
61      charcode = screen->machine->generic.videoram.u8[offs];
63      charcode = videoram[offs];
6264
6365      /* Which monitor is this for? */
6466      right_enable = charcode & 0x40;
src/mame/video/darkmist.c
r9191r9192
11#include "emu.h"
2#include "includes/darkmist.h"
23
3/*defined in drivers/darkmist.c */
4extern int darkmist_hw;
54
6
75UINT8 *darkmist_scroll;
86UINT8 *darkmist_spritebank;
97
r9191r9192
5553
5654static TILE_GET_INFO( get_txttile_info )
5755{
56   darkmist_state *state = machine->driver_data<darkmist_state>();
57   UINT8 *videoram = state->videoram;
5858   int code,attr,pal;
5959
60   code=machine->generic.videoram.u8[tile_index];
61   attr=machine->generic.videoram.u8[tile_index+0x400];
60   code=videoram[tile_index];
61   attr=videoram[tile_index+0x400];
6262   pal=(attr>>1);
6363
6464   code+=(attr&1)<<8;
src/mame/video/gp9001.c
r9191r9192
128128#include "emu.h"
129129#include "gp9001.h"
130130
131/*
132 Single VDP mixing priority note:
133
134 Initial thoughts were that 16 levels of priority exist for both sprites and tilemaps, ie GP9001_PRIMASK 0xf
135 However the end of level scene rendered on the first VDP in Batsugun strongly suggests otherwise.
136
137 Sprites  have 'priority' bits of 0x0600 (level 0x6) set
138 Tilemaps have 'priority' bits of 0x7000 (level 0x7) set
139
140 If a mask of 0xf is used then the tilemaps render above the sprites, which causes the V bonus items near the
141 counters to be invisible (in addition to the English character quote text)
142
143 using a mask of 0xe causes both priority levels to be equal, allowing the sprites to render above the tilemap.
144
145 The alternative option of allowing sprites to render a priority level higher than tilemaps breaks at least the
146 'Welcome to..' screen in Batrider after selecting your character.
147
148 It is unknown if the current solution breaks anything.  The majority of titles don't make extensive use of the
149 priority system.
150
151*/
152#define GP9001_PRIMASK (0x000e)
153
154
131155static WRITE16_DEVICE_HANDLER( gp9001_bg_tilemap_w )
132156{
133157   gp9001vdp_device *vdp = (gp9001vdp_device*)device;
r9191r9192
392416}
393417
394418
395void gp9001_voffs_w(gp9001vdp_device *vdp, offs_t offset, UINT16 data, UINT16 mem_mask)
419static void gp9001_voffs_w(gp9001vdp_device *vdp, offs_t offset, UINT16 data, UINT16 mem_mask)
396420{
397421   COMBINE_DATA(&vdp->gp9001_voffs);
398422}
399423
400int gp9001_videoram16_r(gp9001vdp_device *vdp, offs_t offset)
424static int gp9001_videoram16_r(gp9001vdp_device *vdp, offs_t offset)
401425{
402426   int offs = vdp->gp9001_voffs;
403427   vdp->gp9001_voffs++;
r9191r9192
405429}
406430
407431
408void gp9001_videoram16_w(gp9001vdp_device *vdp, offs_t offset, UINT16 data, UINT16 mem_mask)
432static void gp9001_videoram16_w(gp9001vdp_device *vdp, offs_t offset, UINT16 data, UINT16 mem_mask)
409433{
410434   int offs = vdp->gp9001_voffs;
411435   vdp->gp9001_voffs++;
412436   vdp->space()->write_word(offs*2, data, mem_mask);
413437}
414438
415WRITE16_DEVICE_HANDLER( gp9001_devvoffs_w )
439static WRITE16_DEVICE_HANDLER( gp9001_devvoffs_w )
416440{
417441   gp9001vdp_device *vdp = (gp9001vdp_device *)device;
418442
r9191r9192
420444}
421445
422446
423READ16_DEVICE_HANDLER( gp9001_devvideoram16_r )
447static READ16_DEVICE_HANDLER( gp9001_devvideoram16_r )
424448{
425449   gp9001vdp_device *vdp = (gp9001vdp_device *)device;
426450   return gp9001_videoram16_r(vdp, offset);
427451}
428452
429WRITE16_DEVICE_HANDLER( gp9001_devvideoram16_w )
453static WRITE16_DEVICE_HANDLER( gp9001_devvideoram16_w )
430454{
431455   gp9001vdp_device *vdp = (gp9001vdp_device *)device;
432456   gp9001_videoram16_w(vdp, offset, data, mem_mask);
433457}
434458
435459
436READ16_DEVICE_HANDLER( gp9001_vdpstatus_r )
460static READ16_DEVICE_HANDLER( gp9001_vdpstatus_r )
437461{
438462   return ((device->machine->primary_screen->vpos() + 15) % 262) >= 245;
439463}
440464
441WRITE16_DEVICE_HANDLER( gp9001_scroll_reg_select_w )
465static WRITE16_DEVICE_HANDLER( gp9001_scroll_reg_select_w )
442466{
443467   gp9001vdp_device *vdp = (gp9001vdp_device *)device;
444468
r9191r9192
572596                  /* HACK! When tilted, sound CPU needs to be reset. */
573597                  running_device *ym = vdp->machine->device("ymsnd");
574598
575                  if (ym && ym->type() == SOUND_YM3812)
599                  if (ym && ym->type() == YM3812)
576600                  {
577601                     cputag_set_input_line(vdp->machine, "audiocpu", INPUT_LINE_RESET, PULSE_LINE);
578602                     devtag_reset(vdp->machine, "ymsnd");
r9191r9192
654678#endif
655679}
656680
657WRITE16_DEVICE_HANDLER( gp9001_scroll_reg_devvdata_w )
681static WRITE16_DEVICE_HANDLER( gp9001_scroll_reg_devvdata_w )
658682{
659683   gp9001vdp_device *vdp = (gp9001vdp_device*)device;
660684   gp9001_scroll_reg_data_w(vdp, offset, data, mem_mask);
r9191r9192
10341058      int attrib, sprite, color, priority, flipx, flipy, sx, sy;
10351059      int sprite_sizex, sprite_sizey, dim_x, dim_y, sx_base, sy_base;
10361060      int bank, sprite_num;
1061      UINT16 primask = (GP9001_PRIMASK << 8);
10371062
10381063      attrib = source[offs];
1039      priority = primap[((attrib & 0x0f00)>>8)]+1;
1064      priority = primap[((attrib & primask)>>8)]+1;
10401065
10411066      if ((attrib & 0x8000))
10421067      {
r9191r9192
12311256         int realx = (x+scrollx)&0x1ff;
12321257
12331258         UINT16 pixdat = srcptr[realx];
1234         UINT8 pixpri = ((pixdat & 0xf000)>>12);
1259         UINT8 pixpri = ((pixdat & (GP9001_PRIMASK<<12))>>12);
12351260
12361261         if (pri_enable[pixpri])
12371262         {
src/mame/video/gp9001.h
r9191r9192
9494#define GP9001_SPRITE_FLIPY 0x2000
9595
9696
97ADDRESS_MAP_EXTERN( gp9001vdp0_map, 16 );
98ADDRESS_MAP_EXTERN( gp9001vdp1_map, 16 );
9997
100
10198/* vdp map 0, gfx region 0 */
10299#define MDRV_DEVICE_ADD_VDP0 \
103100   MDRV_DEVICE_ADD("gp9001vdp0", gp9001vdp_, 0) \
src/mame/video/shisen.c
r9191r9192
11#include "emu.h"
2#include "includes/shisen.h"
23
3static int gfxbank;
4
5static tilemap_t *bg_tilemap;
6
74WRITE8_HANDLER( sichuan2_videoram_w )
85{
9   space->machine->generic.videoram.u8[offset] = data;
10   tilemap_mark_tile_dirty(bg_tilemap, offset / 2);
6   shisen_state *state = space->machine->driver_data<shisen_state>();
7
8   state->videoram[offset] = data;
9   tilemap_mark_tile_dirty(state->bg_tilemap, offset / 2);
1110}
1211
1312WRITE8_HANDLER( sichuan2_bankswitch_w )
1413{
14   shisen_state *state = space->machine->driver_data<shisen_state>();
1515   int bankaddress;
1616   int bank;
1717   UINT8 *RAM = memory_region(space->machine, "maincpu");
r9191r9192
2525   /* bits 3-5 select gfx bank */
2626   bank = (data & 0x38) >> 3;
2727
28   if (gfxbank != bank)
28   if (state->gfxbank != bank)
2929   {
30      gfxbank = bank;
30      state->gfxbank = bank;
3131      tilemap_mark_all_tiles_dirty_all(space->machine);
3232   }
3333
r9191r9192
3636
3737WRITE8_HANDLER( sichuan2_paletteram_w )
3838{
39   space->machine->generic.paletteram.u8[offset] = data;
39   shisen_state *state = space->machine->driver_data<shisen_state>();
40   state->paletteram[offset] = data;
4041
4142   offset &= 0xff;
4243
43   palette_set_color_rgb(space->machine, offset, pal5bit(space->machine->generic.paletteram.u8[offset + 0x000]), pal5bit(space->machine->generic.paletteram.u8[offset + 0x100]), pal5bit(space->machine->generic.paletteram.u8[offset + 0x200]));
44   palette_set_color_rgb(space->machine, offset, pal5bit(state->paletteram[offset + 0x000]), pal5bit(state->paletteram[offset + 0x100]), pal5bit(state->paletteram[offset + 0x200]));
4445}
4546
4647static TILE_GET_INFO( get_bg_tile_info )
4748{
49   shisen_state *state = machine->driver_data<shisen_state>();
4850   int offs = tile_index * 2;
49   int code = machine->generic.videoram.u8[offs] + ((machine->generic.videoram.u8[offs + 1] & 0x0f) << 8) + (gfxbank << 12);
50   int color = (machine->generic.videoram.u8[offs + 1] & 0xf0) >> 4;
51   int code = state->videoram[offs] + ((state->videoram[offs + 1] & 0x0f) << 8) + (state->gfxbank << 12);
52   int color = (state->videoram[offs + 1] & 0xf0) >> 4;
5153
5254   SET_TILE_INFO(0, code, color, 0);
5355}
5456
5557VIDEO_START( sichuan2 )
5658{
57   bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,
59   shisen_state *state = machine->driver_data<shisen_state>();
60
61   state->bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows,
5862       8, 8, 64, 32);
5963}
6064
6165VIDEO_UPDATE( sichuan2 )
6266{
67   shisen_state *state = screen->machine->driver_data<shisen_state>();
68
6369   // on Irem boards, screen flip is handled in both hardware and software.
6470   // this game doesn't have cocktail mode so if there's software control we don't
6571   // know where it is mapped.
6672   flip_screen_set(screen->machine, ~input_port_read(screen->machine, "DSW2") & 1);
6773
6874
69   tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
75   tilemap_draw(bitmap, cliprect, state->bg_tilemap, 0, 0);
7076   return 0;
7177}
src/mame/layout/awpdmd.lay
r9191r9192
1414         <color red="0.0" green="1.0" blue="0.0" />
1515      </rect>
1616   </element>
17   <element name="matrix">
18   <dotmatrix>
19      <color red="1" green="0" blue="0" />
20   </dotmatrix>
21   </element>
22
1723   <element name="Steppers" defstate="96">
1824      <text string="00" state="0">
1925         <color red="1.0" green="1.0" blue="1.0" />
r9191r9192
403409   </element>
404410
405411   <view name="AWP Simulated Video (Reels and Lamp Matrix)">
406      <screen index="0">
407         <bounds x="150" y="60" width="144" height="42" />
408      </screen>
412      <backdrop name="matrix0" element="matrix" state="0">
413         <bounds x="150" y="60" width="8" height="1"/>
414      </backdrop>
415      <backdrop name="matrix1" element="matrix" state="0">
416         <bounds x="158" y="60" width="8" height="1"/>
417      </backdrop>
418      <backdrop name="matrix2" element="matrix" state="0">
419         <bounds x="166" y="60" width="8" height="1"/>
420      </backdrop>
421      <backdrop name="matrix3" element="matrix" state="0">
422         <bounds x="174" y="60" width="8" height="1"/>
423      </backdrop>
424      <backdrop name="matrix4" element="matrix" state="0">
425         <bounds x="182" y="60" width="8" height="1"/>
426      </backdrop>
427      <backdrop name="matrix5" element="matrix" state="0">
428         <bounds x="190" y="60" width="8" height="1"/>
429      </backdrop>
430      <backdrop name="matrix6" element="matrix" state="0">
431         <bounds x="198" y="60" width="8" height="1"/>
432      </backdrop>
433      <backdrop name="matrix7" element="matrix" state="0">
434         <bounds x="206" y="60" width="8" height="1"/>
435      </backdrop>
436      <backdrop name="matrix8" element="matrix" state="0">
437         <bounds x="150" y="61" width="8" height="1"/>
438      </backdrop>
439      <backdrop name="matrix9" element="matrix" state="0">
440         <bounds x="158" y="61" width="8" height="1"/>
441      </backdrop>
442      <backdrop name="matrix10" element="matrix" state="0">
443         <bounds x="166" y="61" width="8" height="1"/>
444      </backdrop>
445      <backdrop name="matrix11" element="matrix" state="0">
446         <bounds x="174" y="61" width="8" height="1"/>
447      </backdrop>
448      <backdrop name="matrix12" element="matrix" state="0">
449         <bounds x="182" y="61" width="8" height="1"/>
450      </backdrop>
451      <backdrop name="matrix13" element="matrix" state="0">
452         <bounds x="190" y="61" width="8" height="1"/>
453      </backdrop>
454      <backdrop name="matrix14" element="matrix" state="0">
455         <bounds x="198" y="61" width="8" height="1"/>
456      </backdrop>
457      <backdrop name="matrix15" element="matrix" state="0">
458         <bounds x="206" y="61" width="8" height="1"/>
459      </backdrop>
460      <backdrop name="matrix16" element="matrix" state="0">
461         <bounds x="150" y="62" width="8" height="1"/>
462      </backdrop>
463      <backdrop name="matrix17" element="matrix" state="0">
464         <bounds x="158" y="62" width="8" height="1"/>
465      </backdrop>
466      <backdrop name="matrix18" element="matrix" state="0">
467         <bounds x="166" y="62" width="8" height="1"/>
468      </backdrop>
469      <backdrop name="matrix19" element="matrix" state="0">
470         <bounds x="174" y="62" width="8" height="1"/>
471      </backdrop>
472      <backdrop name="matrix20" element="matrix" state="0">
473         <bounds x="182" y="62" width="8" height="1"/>
474      </backdrop>
475      <backdrop name="matrix21" element="matrix" state="0">
476         <bounds x="190" y="62" width="8" height="1"/>
477      </backdrop>
478      <backdrop name="matrix22" element="matrix" state="0">
479         <bounds x="198" y="62" width="8" height="1"/>
480      </backdrop>
481      <backdrop name="matrix23" element="matrix" state="0">
482         <bounds x="206" y="62" width="8" height="1"/>
483      </backdrop>
484      <backdrop name="matrix24" element="matrix" state="0">
485         <bounds x="150" y="63" width="8" height="1"/>
486      </backdrop>
487      <backdrop name="matrix25" element="matrix" state="0">
488         <bounds x="158" y="63" width="8" height="1"/>
489      </backdrop>
490      <backdrop name="matrix26" element="matrix" state="0">
491         <bounds x="166" y="63" width="8" height="1"/>
492      </backdrop>
493      <backdrop name="matrix27" element="matrix" state="0">
494         <bounds x="174" y="63" width="8" height="1"/>
495      </backdrop>
496      <backdrop name="matrix28" element="matrix" state="0">
497         <bounds x="182" y="63" width="8" height="1"/>
498      </backdrop>
499      <backdrop name="matrix29" element="matrix" state="0">
500         <bounds x="190" y="63" width="8" height="1"/>
501      </backdrop>
502      <backdrop name="matrix30" element="matrix" state="0">
503         <bounds x="198" y="63" width="8" height="1"/>
504      </backdrop>
505      <backdrop name="matrix31" element="matrix" state="0">
506         <bounds x="206" y="63" width="8" height="1"/>
507      </backdrop>
508      <backdrop name="matrix32" element="matrix" state="0">
509         <bounds x="150" y="64" width="8" height="1"/>
510      </backdrop>
511      <backdrop name="matrix33" element="matrix" state="0">
512         <bounds x="158" y="64" width="8" height="1"/>
513      </backdrop>
514      <backdrop name="matrix34" element="matrix" state="0">
515         <bounds x="166" y="64" width="8" height="1"/>
516      </backdrop>
517      <backdrop name="matrix35" element="matrix" state="0">
518         <bounds x="174" y="64" width="8" height="1"/>
519      </backdrop>
520      <backdrop name="matrix36" element="matrix" state="0">
521         <bounds x="182" y="64" width="8" height="1"/>
522      </backdrop>
523      <backdrop name="matrix37" element="matrix" state="0">
524         <bounds x="190" y="64" width="8" height="1"/>
525      </backdrop>
526      <backdrop name="matrix38" element="matrix" state="0">
527         <bounds x="198" y="64" width="8" height="1"/>
528      </backdrop>
529      <backdrop name="matrix39" element="matrix" state="0">
530         <bounds x="206" y="64" width="8" height="1"/>
531      </backdrop>
532      <backdrop name="matrix40" element="matrix" state="0">
533         <bounds x="150" y="65" width="8" height="1"/>
534      </backdrop>
535      <backdrop name="matrix41" element="matrix" state="0">
536         <bounds x="158" y="65" width="8" height="1"/>
537      </backdrop>
538      <backdrop name="matrix42" element="matrix" state="0">
539         <bounds x="166" y="65" width="8" height="1"/>
540      </backdrop>
541      <backdrop name="matrix43" element="matrix" state="0">
542         <bounds x="174" y="65" width="8" height="1"/>
543      </backdrop>
544      <backdrop name="matrix44" element="matrix" state="0">
545         <bounds x="182" y="65" width="8" height="1"/>
546      </backdrop>
547      <backdrop name="matrix45" element="matrix" state="0">
548         <bounds x="190" y="65" width="8" height="1"/>
549      </backdrop>
550      <backdrop name="matrix46" element="matrix" state="0">
551         <bounds x="198" y="65" width="8" height="1"/>
552      </backdrop>
553      <backdrop name="matrix47" element="matrix" state="0">
554         <bounds x="206" y="65" width="8" height="1"/>
555      </backdrop>
556      <backdrop name="matrix48" element="matrix" state="0">
557         <bounds x="150" y="66" width="8" height="1"/>
558      </backdrop>
559      <backdrop name="matrix49" element="matrix" state="0">
560         <bounds x="158" y="66" width="8" height="1"/>
561      </backdrop>
562      <backdrop name="matrix50" element="matrix" state="0">
563         <bounds x="166" y="66" width="8" height="1"/>
564      </backdrop>
565      <backdrop name="matrix51" element="matrix" state="0">
566         <bounds x="174" y="66" width="8" height="1"/>
567      </backdrop>
568      <backdrop name="matrix52" element="matrix" state="0">
569         <bounds x="182" y="66" width="8" height="1"/>
570      </backdrop>
571      <backdrop name="matrix53" element="matrix" state="0">
572         <bounds x="190" y="66" width="8" height="1"/>
573      </backdrop>
574      <backdrop name="matrix54" element="matrix" state="0">
575         <bounds x="198" y="66" width="8" height="1"/>
576      </backdrop>
577      <backdrop name="matrix55" element="matrix" state="0">
578         <bounds x="206" y="66" width="8" height="1"/>
579      </backdrop>
580      <backdrop name="matrix56" element="matrix" state="0">
581         <bounds x="150" y="67" width="8" height="1"/>
582      </backdrop>
583      <backdrop name="matrix57" element="matrix" state="0">
584         <bounds x="158" y="67" width="8" height="1"/>
585      </backdrop>
586      <backdrop name="matrix58" element="matrix" state="0">
587         <bounds x="166" y="67" width="8" height="1"/>
588      </backdrop>
589      <backdrop name="matrix59" element="matrix" state="0">
590         <bounds x="174" y="67" width="8" height="1"/>
591      </backdrop>
592      <backdrop name="matrix60" element="matrix" state="0">
593         <bounds x="182" y="67" width="8" height="1"/>
594      </backdrop>
595      <backdrop name="matrix61" element="matrix" state="0">
596         <bounds x="190" y="67" width="8" height="1"/>
597      </backdrop>
598      <backdrop name="matrix62" element="matrix" state="0">
599         <bounds x="198" y="67" width="8" height="1"/>
600      </backdrop>
601      <backdrop name="matrix63" element="matrix" state="0">
602         <bounds x="206" y="67" width="8" height="1"/>
603      </backdrop>
604      <backdrop name="matrix64" element="matrix" state="0">
605         <bounds x="150" y="67" width="8" height="1"/>
606      </backdrop>
607      <backdrop name="matrix65" element="matrix" state="0">
608         <bounds x="158" y="67" width="8" height="1"/>
609      </backdrop>
610      <backdrop name="matrix66" element="matrix" state="0">
611         <bounds x="166" y="67" width="8" height="1"/>
612      </backdrop>
613      <backdrop name="matrix67" element="matrix" state="0">
614         <bounds x="174" y="67" width="8" height="1"/>
615      </backdrop>
616      <backdrop name="matrix68" element="matrix" state="0">
617         <bounds x="182" y="67" width="8" height="1"/>
618      </backdrop>
619      <backdrop name="matrix69" element="matrix" state="0">
620         <bounds x="190" y="67" width="8" height="1"/>
621      </backdrop>
622      <backdrop name="matrix70" element="matrix" state="0">
623         <bounds x="198" y="67" width="8" height="1"/>
624      </backdrop>
625      <backdrop name="matrix71" element="matrix" state="0">
626         <bounds x="206" y="67" width="8" height="1"/>
627      </backdrop>
628      <backdrop name="matrix72" element="matrix" state="0">
629         <bounds x="150" y="68" width="8" height="1"/>
630      </backdrop>
631      <backdrop name="matrix73" element="matrix" state="0">
632         <bounds x="158" y="68" width="8" height="1"/>
633      </backdrop>
634      <backdrop name="matrix74" element="matrix" state="0">
635         <bounds x="166" y="68" width="8" height="1"/>
636      </backdrop>
637      <backdrop name="matrix75" element="matrix" state="0">
638         <bounds x="174" y="68" width="8" height="1"/>
639      </backdrop>
640      <backdrop name="matrix76" element="matrix" state="0">
641         <bounds x="182" y="68" width="8" height="1"/>
642      </backdrop>
643      <backdrop name="matrix77" element="matrix" state="0">
644         <bounds x="190" y="68" width="8" height="1"/>
645      </backdrop>
646      <backdrop name="matrix78" element="matrix" state="0">
647         <bounds x="198" y="68" width="8" height="1"/>
648      </backdrop>
649      <backdrop name="matrix79" element="matrix" state="0">
650         <bounds x="206" y="68" width="8" height="1"/>
651      </backdrop>
652      <backdrop name="matrix80" element="matrix" state="0">
653         <bounds x="150" y="69" width="8" height="1"/>
654      </backdrop>
655      <backdrop name="matrix81" element="matrix" state="0">
656         <bounds x="158" y="69" width="8" height="1"/>
657      </backdrop>
658      <backdrop name="matrix82" element="matrix" state="0">
659         <bounds x="166" y="69" width="8" height="1"/>
660      </backdrop>
661      <backdrop name="matrix83" element="matrix" state="0">
662         <bounds x="174" y="69" width="8" height="1"/>
663      </backdrop>
664      <backdrop name="matrix84" element="matrix" state="0">
665         <bounds x="182" y="69" width="8" height="1"/>
666      </backdrop>
667      <backdrop name="matrix85" element="matrix" state="0">
668         <bounds x="190" y="69" width="8" height="1"/>
669      </backdrop>
670      <backdrop name="matrix86" element="matrix" state="0">
671         <bounds x="198" y="69" width="8" height="1"/>
672      </backdrop>
673      <backdrop name="matrix87" element="matrix" state="0">
674         <bounds x="206" y="69" width="8" height="1"/>
675      </backdrop>
676      <backdrop name="matrix88" element="matrix" state="0">
677         <bounds x="150" y="70" width="8" height="1"/>
678      </backdrop>
679      <backdrop name="matrix89" element="matrix" state="0">
680         <bounds x="158" y="70" width="8" height="1"/>
681      </backdrop>
682      <backdrop name="matrix90" element="matrix" state="0">
683         <bounds x="166" y="70" width="8" height="1"/>
684      </backdrop>
685      <backdrop name="matrix91" element="matrix" state="0">
686         <bounds x="174" y="70" width="8" height="1"/>
687      </backdrop>
688      <backdrop name="matrix92" element="matrix" state="0">
689         <bounds x="182" y="70" width="8" height="1"/>
690      </backdrop>
691      <backdrop name="matrix93" element="matrix" state="0">
692         <bounds x="190" y="70" width="8" height="1"/>
693      </backdrop>
694      <backdrop name="matrix94" element="matrix" state="0">
695         <bounds x="198" y="70" width="8" height="1"/>
696      </backdrop>
697      <backdrop name="matrix95" element="matrix" state="0">
698         <bounds x="206" y="70" width="8" height="1"/>
699      </backdrop>
700      <backdrop name="matrix96" element="matrix" state="0">
701         <bounds x="150" y="71" width="8" height="1"/>
702      </backdrop>
703      <backdrop name="matrix97" element="matrix" state="0">
704         <bounds x="158" y="71" width="8" height="1"/>
705      </backdrop>
706      <backdrop name="matrix98" element="matrix" state="0">
707         <bounds x="166" y="71" width="8" height="1"/>
708      </backdrop>
709      <backdrop name="matrix99" element="matrix" state="0">
710         <bounds x="174" y="71" width="8" height="1"/>
711      </backdrop>
712      <backdrop name="matrix100" element="matrix" state="0">
713         <bounds x="182" y="71" width="8" height="1"/>
714      </backdrop>
715      <backdrop name="matrix101" element="matrix" state="0">
716         <bounds x="190" y="71" width="8" height="1"/>
717      </backdrop>
718      <backdrop name="matrix102" element="matrix" state="0">
719         <bounds x="198" y="71" width="8" height="1"/>
720      </backdrop>
721      <backdrop name="matrix103" element="matrix" state="0">
722         <bounds x="206" y="71" width="8" height="1"/>
723      </backdrop>
724      <backdrop name="matrix104" element="matrix" state="0">
725         <bounds x="150" y="72" width="8" height="1"/>
726      </backdrop>
727      <backdrop name="matrix105" element="matrix" state="0">
728         <bounds x="158" y="72" width="8" height="1"/>
729      </backdrop>
730      <backdrop name="matrix106" element="matrix" state="0">
731         <bounds x="166" y="72" width="8" height="1"/>
732      </backdrop>
733      <backdrop name="matrix107" element="matrix" state="0">
734         <bounds x="174" y="72" width="8" height="1"/>
735      </backdrop>
736      <backdrop name="matrix108" element="matrix" state="0">
737         <bounds x="182" y="72" width="8" height="1"/>
738      </backdrop>
739      <backdrop name="matrix109" element="matrix" state="0">
740         <bounds x="190" y="72" width="8" height="1"/>
741      </backdrop>
742      <backdrop name="matrix110" element="matrix" state="0">
743         <bounds x="198" y="72" width="8" height="1"/>
744      </backdrop>
745      <backdrop name="matrix111" element="matrix" state="0">
746         <bounds x="206" y="72" width="8" height="1"/>
747      </backdrop>
748      <backdrop name="matrix112" element="matrix" state="0">
749         <bounds x="150" y="73" width="8" height="1"/>
750      </backdrop>
751      <backdrop name="matrix113" element="matrix" state="0">
752         <bounds x="158" y="73" width="8" height="1"/>
753      </backdrop>
754      <backdrop name="matrix114" element="matrix" state="0">
755         <bounds x="166" y="73" width="8" height="1"/>
756      </backdrop>
757      <backdrop name="matrix115" element="matrix" state="0">
758         <bounds x="174" y="73" width="8" height="1"/>
759      </backdrop>
760      <backdrop name="matrix116" element="matrix" state="0">
761         <bounds x="182" y="73" width="8" height="1"/>
762      </backdrop>
763      <backdrop name="matrix117" element="matrix" state="0">
764         <bounds x="190" y="73" width="8" height="1"/>
765      </backdrop>
766      <backdrop name="matrix118" element="matrix" state="0">
767         <bounds x="198" y="73" width="8" height="1"/>
768      </backdrop>
769      <backdrop name="matrix119" element="matrix" state="0">
770         <bounds x="206" y="73" width="8" height="1"/>
771      </backdrop>
772      <backdrop name="matrix120" element="matrix" state="0">
773         <bounds x="150" y="74" width="8" height="1"/>
774      </backdrop>
775      <backdrop name="matrix121" element="matrix" state="0">
776         <bounds x="158" y="74" width="8" height="1"/>
777      </backdrop>
778      <backdrop name="matrix122" element="matrix" state="0">
779         <bounds x="166" y="74" width="8" height="1"/>
780      </backdrop>
781      <backdrop name="matrix123" element="matrix" state="0">
782         <bounds x="174" y="74" width="8" height="1"/>
783      </backdrop>
784      <backdrop name="matrix124" element="matrix" state="0">
785         <bounds x="182" y="74" width="8" height="1"/>
786      </backdrop>
787      <backdrop name="matrix125" element="matrix" state="0">
788         <bounds x="190" y="74" width="8" height="1"/>
789      </backdrop>
790      <backdrop name="matrix126" element="matrix" state="0">
791         <bounds x="198" y="74" width="8" height="1"/>
792      </backdrop>
793      <backdrop name="matrix127" element="matrix" state="0">
794         <bounds x="206" y="74" width="8" height="1"/>
795      </backdrop>
796      <backdrop name="matrix128" element="matrix" state="0">
797         <bounds x="150" y="75" width="8" height="1"/>
798      </backdrop>
799      <backdrop name="matrix129" element="matrix" state="0">
800         <bounds x="158" y="75" width="8" height="1"/>
801      </backdrop>
802      <backdrop name="matrix130" element="matrix" state="0">
803         <bounds x="166" y="75" width="8" height="1"/>
804      </backdrop>
805      <backdrop name="matrix131" element="matrix" state="0">
806         <bounds x="174" y="75" width="8" height="1"/>
807      </backdrop>
808      <backdrop name="matrix132" element="matrix" state="0">
809         <bounds x="182" y="75" width="8" height="1"/>
810      </backdrop>
811      <backdrop name="matrix133" element="matrix" state="0">
812         <bounds x="190" y="75" width="8" height="1"/>
813      </backdrop>
814      <backdrop name="matrix134" element="matrix" state="0">
815         <bounds x="198" y="75" width="8" height="1"/>
816      </backdrop>
817      <backdrop name="matrix135" element="matrix" state="0">
818         <bounds x="206" y="75" width="8" height="1"/>
819      </backdrop>
820      <backdrop name="matrix136" element="matrix" state="0">
821         <bounds x="150" y="76" width="8" height="1"/>
822      </backdrop>
823      <backdrop name="matrix137" element="matrix" state="0">
824         <bounds x="158" y="76" width="8" height="1"/>
825      </backdrop>
826      <backdrop name="matrix138" element="matrix" state="0">
827         <bounds x="166" y="76" width="8" height="1"/>
828      </backdrop>
829      <backdrop name="matrix139" element="matrix" state="0">
830         <bounds x="174" y="76" width="8" height="1"/>
831      </backdrop>
832      <backdrop name="matrix140" element="matrix" state="0">
833         <bounds x="182" y="76" width="8" height="1"/>
834      </backdrop>
835      <backdrop name="matrix141" element="matrix" state="0">
836         <bounds x="190" y="76" width="8" height="1"/>
837      </backdrop>
838      <backdrop name="matrix142" element="matrix" state="0">
839         <bounds x="198" y="76" width="8" height="1"/>
840      </backdrop>
841      <backdrop name="matrix143" element="matrix" state="0">
842         <bounds x="206" y="76" width="8" height="1"/>
843      </backdrop>
844      <backdrop name="matrix144" element="matrix" state="0">
845         <bounds x="150" y="77" width="8" height="1"/>
846      </backdrop>
847      <backdrop name="matrix145" element="matrix" state="0">
848         <bounds x="158" y="77" width="8" height="1"/>
849      </backdrop>
850      <backdrop name="matrix146" element="matrix" state="0">
851         <bounds x="166" y="77" width="8" height="1"/>
852      </backdrop>
853      <backdrop name="matrix147" element="matrix" state="0">
854         <bounds x="174" y="77" width="8" height="1"/>
855      </backdrop>
856      <backdrop name="matrix148" element="matrix" state="0">
857         <bounds x="182" y="77" width="8" height="1"/>
858      </backdrop>
859      <backdrop name="matrix149" element="matrix" state="0">
860         <bounds x="190" y="77" width="8" height="1"/>
861      </backdrop>
862      <backdrop name="matrix150" element="matrix" state="0">
863         <bounds x="198" y="77" width="8" height="1"/>
864      </backdrop>
865      <backdrop name="matrix151" element="matrix" state="0">
866         <bounds x="206" y="77" width="8" height="1"/>
867      </backdrop>
868      <backdrop name="matrix152" element="matrix" state="0">
869         <bounds x="150" y="78" width="8" height="1"/>
870      </backdrop>
871      <backdrop name="matrix153" element="matrix" state="0">
872         <bounds x="158" y="78" width="8" height="1"/>
873      </backdrop>
874      <backdrop name="matrix154" element="matrix" state="0">
875         <bounds x="166" y="78" width="8" height="1"/>
876      </backdrop>
877      <backdrop name="matrix155" element="matrix" state="0">
878         <bounds x="174" y="78" width="8" height="1"/>
879      </backdrop>
880      <backdrop name="matrix156" element="matrix" state="0">
881         <bounds x="182" y="78" width="8" height="1"/>
882      </backdrop>
883      <backdrop name="matrix157" element="matrix" state="0">
884         <bounds x="190" y="78" width="8" height="1"/>
885      </backdrop>
886      <backdrop name="matrix158" element="matrix" state="0">
887         <bounds x="198" y="78" width="8" height="1"/>
888      </backdrop>
889      <backdrop name="matrix159" element="matrix" state="0">
890         <bounds x="206" y="78" width="8" height="1"/>
891      </backdrop>
892      <backdrop name="matrix160" element="matrix" state="0">
893         <bounds x="150" y="79" width="8" height="1"/>
894      </backdrop>
895      <backdrop name="matrix161" element="matrix" state="0">
896         <bounds x="158" y="79" width="8" height="1"/>
897      </backdrop>
898      <backdrop name="matrix162" element="matrix" state="0">
899         <bounds x="166" y="79" width="8" height="1"/>
900      </backdrop>
901      <backdrop name="matrix163" element="matrix" state="0">
902         <bounds x="174" y="79" width="8" height="1"/>
903      </backdrop>
904      <backdrop name="matrix164" element="matrix" state="0">
905         <bounds x="182" y="79" width="8" height="1"/>
906      </backdrop>
907      <backdrop name="matrix165" element="matrix" state="0">
908         <bounds x="190" y="79" width="8" height="1"/>
909      </backdrop>
910      <backdrop name="matrix166" element="matrix" state="0">
911         <bounds x="198" y="79" width="8" height="1"/>
912      </backdrop>
913      <backdrop name="matrix167" element="matrix" state="0">
914         <bounds x="206" y="79" width="8" height="1"/>
915      </backdrop>
916
917
409918      <backdrop name="reel1" element="Steppers" state="0">
410919         <bounds x="10" y="150" width="50" height="50"/>
411920      </backdrop>
r9191r9192
11931702         <bounds x="120" y="120" width="7" height="7"/>
11941703      </backdrop>
11951704   </view>
1196   <view name="DMD Output Only">
1197      <screen index="0">
1198         <bounds x="0" y="0" width="72" height="21" />
1199      </screen>
1705
1706   <view name="DMD Only">
1707      <backdrop name="matrix0" element="matrix" state="0">
1708         <bounds x="0" y="60" width="64" height="8"/>
1709      </backdrop>
1710      <backdrop name="matrix1" element="matrix" state="0">
1711         <bounds x="64" y="60" width="64" height="8"/>
1712      </backdrop>
1713      <backdrop name="matrix2" element="matrix" state="0">
1714         <bounds x="128" y="60" width="64" height="8"/>
1715      </backdrop>
1716      <backdrop name="matrix3" element="matrix" state="0">
1717         <bounds x="192" y="60" width="64" height="8"/>
1718      </backdrop>
1719      <backdrop name="matrix4" element="matrix" state="0">
1720         <bounds x="256" y="60" width="64" height="8"/>
1721      </backdrop>
1722      <backdrop name="matrix5" element="matrix" state="0">
1723         <bounds x="320" y="60" width="64" height="8"/>
1724      </backdrop>
1725      <backdrop name="matrix6" element="matrix" state="0">
1726         <bounds x="384" y="60" width="64" height="8"/>
1727      </backdrop>
1728      <backdrop name="matrix7" element="matrix" state="0">
1729         <bounds x="448" y="60" width="64" height="8"/>
1730      </backdrop>
1731      <backdrop name="matrix8" element="matrix" state="0">
1732         <bounds x="0" y="68" width="64" height="8"/>
1733      </backdrop>
1734      <backdrop name="matrix9" element="matrix" state="0">
1735         <bounds x="64" y="68" width="64" height="8"/>
1736      </backdrop>
1737      <backdrop name="matrix10" element="matrix" state="0">
1738         <bounds x="128" y="68" width="64" height="8"/>
1739      </backdrop>
1740      <backdrop name="matrix11" element="matrix" state="0">
1741         <bounds x="192" y="68" width="64" height="8"/>
1742      </backdrop>
1743      <backdrop name="matrix12" element="matrix" state="0">
1744         <bounds x="256" y="68" width="64" height="8"/>
1745      </backdrop>
1746      <backdrop name="matrix13" element="matrix" state="0">
1747         <bounds x="320" y="68" width="64" height="8"/>
1748      </backdrop>
1749      <backdrop name="matrix14" element="matrix" state="0">
1750         <bounds x="384" y="68" width="64" height="8"/>
1751      </backdrop>
1752      <backdrop name="matrix15" element="matrix" state="0">
1753         <bounds x="448" y="68" width="64" height="8"/>
1754      </backdrop>
1755      <backdrop name="matrix16" element="matrix" state="0">
1756         <bounds x="0" y="76" width="64" height="8"/>
1757      </backdrop>
1758      <backdrop name="matrix17" element="matrix" state="0">
1759         <bounds x="64" y="76" width="64" height="8"/>
1760      </backdrop>
1761      <backdrop name="matrix18" element="matrix" state="0">
1762         <bounds x="128" y="76" width="64" height="8"/>
1763      </backdrop>
1764      <backdrop name="matrix19" element="matrix" state="0">
1765         <bounds x="192" y="76" width="64" height="8"/>
1766      </backdrop>
1767      <backdrop name="matrix20" element="matrix" state="0">
1768         <bounds x="256" y="76" width="64" height="8"/>
1769      </backdrop>
1770      <backdrop name="matrix21" element="matrix" state="0">
1771         <bounds x="320" y="76" width="64" height="8"/>
1772      </backdrop>
1773      <backdrop name="matrix22" element="matrix" state="0">
1774         <bounds x="384" y="76" width="64" height="8"/>
1775      </backdrop>
1776      <backdrop name="matrix23" element="matrix" state="0">
1777         <bounds x="448" y="76" width="64" height="8"/>
1778      </backdrop>
1779      <backdrop name="matrix24" element="matrix" state="0">
1780         <bounds x="0" y="84" width="64" height="8"/>
1781      </backdrop>
1782      <backdrop name="matrix25" element="matrix" state="0">
1783         <bounds x="64" y="84" width="64" height="8"/>
1784      </backdrop>
1785      <backdrop name="matrix26" element="matrix" state="0">
1786         <bounds x="128" y="84" width="64" height="8"/>
1787      </backdrop>
1788      <backdrop name="matrix27" element="matrix" state="0">
1789         <bounds x="192" y="84" width="64" height="8"/>
1790      </backdrop>
1791      <backdrop name="matrix28" element="matrix" state="0">
1792         <bounds x="256" y="84" width="64" height="8"/>
1793      </backdrop>
1794      <backdrop name="matrix29" element="matrix" state="0">
1795         <bounds x="320" y="84" width="64" height="8"/>
1796      </backdrop>
1797      <backdrop name="matrix30" element="matrix" state="0">
1798         <bounds x="384" y="84" width="64" height="8"/>
1799      </backdrop>
1800      <backdrop name="matrix31" element="matrix" state="0">
1801         <bounds x="448" y="84" width="64" height="8"/>
1802      </backdrop>
1803      <backdrop name="matrix32" element="matrix" state="0">
1804         <bounds x="0" y="92" width="64" height="8"/>
1805      </backdrop>
1806      <backdrop name="matrix33" element="matrix" state="0">
1807         <bounds x="64" y="92" width="64" height="8"/>
1808      </backdrop>
1809      <backdrop name="matrix34" element="matrix" state="0">
1810         <bounds x="128" y="92" width="64" height="8"/>
1811      </backdrop>
1812      <backdrop name="matrix35" element="matrix" state="0">
1813         <bounds x="192" y="92" width="64" height="8"/>
1814      </backdrop>
1815      <backdrop name="matrix36" element="matrix" state="0">
1816         <bounds x="256" y="92" width="64" height="8"/>
1817      </backdrop>
1818      <backdrop name="matrix37" element="matrix" state="0">
1819         <bounds x="320" y="92" width="64" height="8"/>
1820      </backdrop>
1821      <backdrop name="matrix38" element="matrix" state="0">
1822         <bounds x="384" y="92" width="64" height="8"/>
1823      </backdrop>
1824      <backdrop name="matrix39" element="matrix" state="0">
1825         <bounds x="448" y="92" width="64" height="8"/>
1826      </backdrop>
1827      <backdrop name="matrix40" element="matrix" state="0">
1828         <bounds x="0" y="100" width="64" height="8"/>
1829      </backdrop>
1830      <backdrop name="matrix41" element="matrix" state="0">
1831         <bounds x="64" y="100" width="64" height="8"/>
1832      </backdrop>
1833      <backdrop name="matrix42" element="matrix" state="0">
1834         <bounds x="128" y="100" width="64" height="8"/>
1835      </backdrop>
1836      <backdrop name="matrix43" element="matrix" state="0">
1837         <bounds x="192" y="100" width="64" height="8"/>
1838      </backdrop>
1839      <backdrop name="matrix44" element="matrix" state="0">
1840         <bounds x="256" y="100" width="64" height="8"/>
1841      </backdrop>
1842      <backdrop name="matrix45" element="matrix" state="0">
1843         <bounds x="320" y="100" width="64" height="8"/>
1844      </backdrop>
1845      <backdrop name="matrix46" element="matrix" state="0">
1846         <bounds x="384" y="100" width="64" height="8"/>
1847      </backdrop>
1848      <backdrop name="matrix47" element="matrix" state="0">
1849         <bounds x="448" y="100" width="64" height="8"/>
1850      </backdrop>
1851      <backdrop name="matrix48" element="matrix" state="0">
1852         <bounds x="0" y="108" width="64" height="8"/>
1853      </backdrop>
1854      <backdrop name="matrix49" element="matrix" state="0">
1855         <bounds x="64" y="108" width="64" height="8"/>
1856      </backdrop>
1857      <backdrop name="matrix50" element="matrix" state="0">
1858         <bounds x="128" y="108" width="64" height="8"/>
1859      </backdrop>
1860      <backdrop name="matrix51" element="matrix" state="0">
1861         <bounds x="192" y="108" width="64" height="8"/>
1862      </backdrop>
1863      <backdrop name="matrix52" element="matrix" state="0">
1864         <bounds x="256" y="108" width="64" height="8"/>
1865      </backdrop>
1866      <backdrop name="matrix53" element="matrix" state="0">
1867         <bounds x="320" y="108" width="64" height="8"/>
1868      </backdrop>
1869      <backdrop name="matrix54" element="matrix" state="0">
1870         <bounds x="384" y="108" width="64" height="8"/>
1871      </backdrop>
1872      <backdrop name="matrix55" element="matrix" state="0">
1873         <bounds x="448" y="108" width="64" height="8"/>
1874      </backdrop>
1875      <backdrop name="matrix56" element="matrix" state="0">
1876         <bounds x="0" y="116" width="64" height="8"/>
1877      </backdrop>
1878      <backdrop name="matrix57" element="matrix" state="0">
1879         <bounds x="64" y="116" width="64" height="8"/>
1880      </backdrop>
1881      <backdrop name="matrix58" element="matrix" state="0">
1882         <bounds x="128" y="116" width="64" height="8"/>
1883      </backdrop>
1884      <backdrop name="matrix59" element="matrix" state="0">
1885         <bounds x="192" y="116" width="64" height="8"/>
1886      </backdrop>
1887      <backdrop name="matrix60" element="matrix" state="0">
1888         <bounds x="256" y="116" width="64" height="8"/>
1889      </backdrop>
1890      <backdrop name="matrix61" element="matrix" state="0">
1891         <bounds x="320" y="116" width="64" height="8"/>
1892      </backdrop>
1893      <backdrop name="matrix62" element="matrix" state="0">
1894         <bounds x="384" y="116" width="64" height="8"/>
1895      </backdrop>
1896      <backdrop name="matrix63" element="matrix" state="0">
1897         <bounds x="448" y="116" width="64" height="8"/>
1898      </backdrop>
1899      <backdrop name="matrix64" element="matrix" state="0">
1900         <bounds x="0" y="124" width="64" height="8"/>
1901      </backdrop>
1902      <backdrop name="matrix65" element="matrix" state="0">
1903         <bounds x="64" y="124" width="64" height="8"/>
1904      </backdrop>
1905      <backdrop name="matrix66" element="matrix" state="0">
1906         <bounds x="128" y="124" width="64" height="8"/>
1907      </backdrop>
1908      <backdrop name="matrix67" element="matrix" state="0">
1909         <bounds x="192" y="124" width="64" height="8"/>
1910      </backdrop>
1911      <backdrop name="matrix68" element="matrix" state="0">
1912         <bounds x="256" y="124" width="64" height="8"/>
1913      </backdrop>
1914      <backdrop name="matrix69" element="matrix" state="0">
1915         <bounds x="320" y="124" width="64" height="8"/>
1916      </backdrop>
1917      <backdrop name="matrix70" element="matrix" state="0">
1918         <bounds x="384" y="124" width="64" height="8"/>
1919      </backdrop>
1920      <backdrop name="matrix71" element="matrix" state="0">
1921         <bounds x="448" y="124" width="64" height="8"/>
1922      </backdrop>
1923      <backdrop name="matrix72" element="matrix" state="0">
1924         <bounds x="0" y="132" width="64" height="8"/>
1925      </backdrop>
1926      <backdrop name="matrix73" element="matrix" state="0">
1927         <bounds x="64" y="132" width="64" height="8"/>
1928      </backdrop>
1929      <backdrop name="matrix74" element="matrix" state="0">
1930         <bounds x="128" y="132" width="64" height="8"/>
1931      </backdrop>
1932      <backdrop name="matrix75" element="matrix" state="0">
1933         <bounds x="192" y="132" width="64" height="8"/>
1934      </backdrop>
1935      <backdrop name="matrix76" element="matrix" state="0">
1936         <bounds x="256" y="132" width="64" height="8"/>
1937      </backdrop>
1938      <backdrop name="matrix77" element="matrix" state="0">
1939         <bounds x="320" y="132" width="64" height="8"/>
1940      </backdrop>
1941      <backdrop name="matrix78" element="matrix" state="0">
1942         <bounds x="384" y="132" width="64" height="8"/>
1943      </backdrop>
1944      <backdrop name="matrix79" element="matrix" state="0">
1945         <bounds x="448" y="132" width="64" height="8"/>
1946      </backdrop>
1947      <backdrop name="matrix80" element="matrix" state="0">
1948         <bounds x="0" y="140" width="64" height="8"/>
1949      </backdrop>
1950      <backdrop name="matrix81" element="matrix" state="0">
1951         <bounds x="64" y="140" width="64" height="8"/>
1952      </backdrop>
1953      <backdrop name="matrix82" element="matrix" state="0">
1954         <bounds x="128" y="140" width="64" height="8"/>
1955      </backdrop>
1956      <backdrop name="matrix83" element="matrix" state="0">
1957         <bounds x="192" y="140" width="64" height="8"/>
1958      </backdrop>
1959      <backdrop name="matrix84" element="matrix" state="0">
1960         <bounds x="256" y="140" width="64" height="8"/>
1961      </backdrop>
1962      <backdrop name="matrix85" element="matrix" state="0">
1963         <bounds x="320" y="140" width="64" height="8"/>
1964      </backdrop>
1965      <backdrop name="matrix86" element="matrix" state="0">
1966         <bounds x="384" y="140" width="64" height="8"/>
1967      </backdrop>
1968      <backdrop name="matrix87" element="matrix" state="0">
1969         <bounds x="448" y="140" width="64" height="8"/>
1970      </backdrop>
1971      <backdrop name="matrix88" element="matrix" state="0">
1972         <bounds x="0" y="148" width="64" height="8"/>
1973      </backdrop>
1974      <backdrop name="matrix89" element="matrix" state="0">
1975         <bounds x="64" y="148" width="64" height="8"/>
1976      </backdrop>
1977      <backdrop name="matrix90" element="matrix" state="0">
1978         <bounds x="128" y="148" width="64" height="8"/>
1979      </backdrop>
1980      <backdrop name="matrix91" element="matrix" state="0">
1981         <bounds x="192" y="148" width="64" height="8"/>
1982      </backdrop>
1983      <backdrop name="matrix92" element="matrix" state="0">
1984         <bounds x="256" y="148" width="64" height="8"/>
1985      </backdrop>
1986      <backdrop name="matrix93" element="matrix" state="0">
1987         <bounds x="320" y="148" width="64" height="8"/>
1988      </backdrop>
1989      <backdrop name="matrix94" element="matrix" state="0">
1990         <bounds x="384" y="148" width="64" height="8"/>
1991      </backdrop>
1992      <backdrop name="matrix95" element="matrix" state="0">
1993         <bounds x="448" y="148" width="64" height="8"/>
1994      </backdrop>
1995      <backdrop name="matrix96" element="matrix" state="0">
1996         <bounds x="0" y="156" width="64" height="8"/>
1997      </backdrop>
1998      <backdrop name="matrix97" element="matrix" state="0">
1999         <bounds x="64" y="156" width="64" height="8"/>
2000      </backdrop>
2001      <backdrop name="matrix98" element="matrix" state="0">
2002         <bounds x="128" y="156" width="64" height="8"/>
2003      </backdrop>
2004      <backdrop name="matrix99" element="matrix" state="0">
2005         <bounds x="192" y="156" width="64" height="8"/>
2006      </backdrop>
2007      <backdrop name="matrix100" element="matrix" state="0">
2008         <bounds x="256" y="156" width="64" height="8"/>
2009      </backdrop>
2010      <backdrop name="matrix101" element="matrix" state="0">
2011         <bounds x="320" y="156" width="64" height="8"/>
2012      </backdrop>
2013      <backdrop name="matrix102" element="matrix" state="0">
2014         <bounds x="384" y="156" width="64" height="8"/>
2015      </backdrop>
2016      <backdrop name="matrix103" element="matrix" state="0">
2017         <bounds x="448" y="156" width="64" height="8"/>
2018      </backdrop>
2019      <backdrop name="matrix104" element="matrix" state="0">
2020         <bounds x="0" y="164" width="64" height="8"/>
2021      </backdrop>
2022      <backdrop name="matrix105" element="matrix" state="0">
2023         <bounds x="64" y="164" width="64" height="8"/>
2024      </backdrop>
2025      <backdrop name="matrix106" element="matrix" state="0">
2026         <bounds x="128" y="164" width="64" height="8"/>
2027      </backdrop>
2028      <backdrop name="matrix107" element="matrix" state="0">
2029         <bounds x="192" y="164" width="64" height="8"/>
2030      </backdrop>
2031      <backdrop name="matrix108" element="matrix" state="0">
2032         <bounds x="256" y="164" width="64" height="8"/>
2033      </backdrop>
2034      <backdrop name="matrix109" element="matrix" state="0">
2035         <bounds x="320" y="164" width="64" height="8"/>
2036      </backdrop>
2037      <backdrop name="matrix110" element="matrix" state="0">
2038         <bounds x="384" y="164" width="64" height="8"/>
2039      </backdrop>
2040      <backdrop name="matrix111" element="matrix" state="0">
2041         <bounds x="448" y="164" width="64" height="8"/>
2042      </backdrop>
2043      <backdrop name="matrix112" element="matrix" state="0">
2044         <bounds x="0" y="172" width="64" height="8"/>
2045      </backdrop>
2046      <backdrop name="matrix113" element="matrix" state="0">
2047         <bounds x="64" y="172" width="64" height="8"/>
2048      </backdrop>
2049      <backdrop name="matrix114" element="matrix" state="0">
2050         <bounds x="128" y="172" width="64" height="8"/>
2051      </backdrop>
2052      <backdrop name="matrix115" element="matrix" state="0">
2053         <bounds x="192" y="172" width="64" height="8"/>
2054      </backdrop>
2055      <backdrop name="matrix116" element="matrix" state="0">
2056         <bounds x="256" y="172" width="64" height="8"/>
2057      </backdrop>
2058      <backdrop name="matrix117" element="matrix" state="0">
2059         <bounds x="320" y="172" width="64" height="8"/>
2060      </backdrop>
2061      <backdrop name="matrix118" element="matrix" state="0">
2062         <bounds x="384" y="172" width="64" height="8"/>
2063      </backdrop>
2064      <backdrop name="matrix119" element="matrix" state="0">
2065         <bounds x="448" y="172" width="64" height="8"/>
2066      </backdrop>
2067      <backdrop name="matrix120" element="matrix" state="0">
2068         <bounds x="0" y="180" width="64" height="8"/>
2069      </backdrop>
2070      <backdrop name="matrix121" element="matrix" state="0">
2071         <bounds x="64" y="180" width="64" height="8"/>
2072      </backdrop>
2073      <backdrop name="matrix122" element="matrix" state="0">
2074         <bounds x="128" y="180" width="64" height="8"/>
2075      </backdrop>
2076      <backdrop name="matrix123" element="matrix" state="0">
2077         <bounds x="192" y="180" width="64" height="8"/>
2078      </backdrop>
2079      <backdrop name="matrix124" element="matrix" state="0">
2080         <bounds x="256" y="180" width="64" height="8"/>
2081      </backdrop>
2082      <backdrop name="matrix125" element="matrix" state="0">
2083         <bounds x="320" y="180" width="64" height="8"/>
2084      </backdrop>
2085      <backdrop name="matrix126" element="matrix" state="0">
2086         <bounds x="384" y="180" width="64" height="8"/>
2087      </backdrop>
2088      <backdrop name="matrix127" element="matrix" state="0">
2089         <bounds x="448" y="180" width="64" height="8"/>
2090      </backdrop>
2091      <backdrop name="matrix128" element="matrix" state="0">
2092         <bounds x="0" y="188" width="64" height="8"/>
2093      </backdrop>
2094      <backdrop name="matrix129" element="matrix" state="0">
2095         <bounds x="64" y="188" width="64" height="8"/>
2096      </backdrop>
2097      <backdrop name="matrix130" element="matrix" state="0">
2098         <bounds x="128" y="188" width="64" height="8"/>
2099      </backdrop>
2100      <backdrop name="matrix131" element="matrix" state="0">
2101         <bounds x="192" y="188" width="64" height="8"/>
2102      </backdrop>
2103      <backdrop name="matrix132" element="matrix" state="0">
2104         <bounds x="256" y="188" width="64" height="8"/>
2105      </backdrop>
2106      <backdrop name="matrix133" element="matrix" state="0">
2107         <bounds x="320" y="188" width="64" height="8"/>
2108      </backdrop>
2109      <backdrop name="matrix134" element="matrix" state="0">
2110         <bounds x="384" y="188" width="64" height="8"/>
2111      </backdrop>
2112      <backdrop name="matrix135" element="matrix" state="0">
2113         <bounds x="448" y="188" width="64" height="8"/>
2114      </backdrop>
2115      <backdrop name="matrix136" element="matrix" state="0">
2116         <bounds x="0" y="196" width="64" height="8"/>
2117      </backdrop>
2118      <backdrop name="matrix137" element="matrix" state="0">
2119         <bounds x="64" y="196" width="64" height="8"/>
2120      </backdrop>
2121      <backdrop name="matrix138" element="matrix" state="0">
2122         <bounds x="128" y="196" width="64" height="8"/>
2123      </backdrop>
2124      <backdrop name="matrix139" element="matrix" state="0">
2125         <bounds x="192" y="196" width="64" height="8"/>
2126      </backdrop>
2127      <backdrop name="matrix140" element="matrix" state="0">
2128         <bounds x="256" y="196" width="64" height="8"/>
2129      </backdrop>
2130      <backdrop name="matrix141" element="matrix" state="0">
2131         <bounds x="320" y="196" width="64" height="8"/>
2132      </backdrop>
2133      <backdrop name="matrix142" element="matrix" state="0">
2134         <bounds x="384" y="196" width="64" height="8"/>
2135      </backdrop>
2136      <backdrop name="matrix143" element="matrix" state="0">
2137         <bounds x="448" y="196" width="64" height="8"/>
2138      </backdrop>
2139      <backdrop name="matrix144" element="matrix" state="0">
2140         <bounds x="0" y="204" width="64" height="8"/>
2141      </backdrop>
2142      <backdrop name="matrix145" element="matrix" state="0">
2143         <bounds x="64" y="204" width="64" height="8"/>
2144      </backdrop>
2145      <backdrop name="matrix146" element="matrix" state="0">
2146         <bounds x="128" y="204" width="64" height="8"/>
2147      </backdrop>
2148      <backdrop name="matrix147" element="matrix" state="0">
2149         <bounds x="192" y="204" width="64" height="8"/>
2150      </backdrop>
2151      <backdrop name="matrix148" element="matrix" state="0">
2152         <bounds x="256" y="204" width="64" height="8"/>
2153      </backdrop>
2154      <backdrop name="matrix149" element="matrix" state="0">
2155         <bounds x="320" y="204" width="64" height="8"/>
2156      </backdrop>
2157      <backdrop name="matrix150" element="matrix" state="0">
2158         <bounds x="384" y="204" width="64" height="8"/>
2159      </backdrop>
2160      <backdrop name="matrix151" element="matrix" state="0">
2161         <bounds x="448" y="204" width="64" height="8"/>
2162      </backdrop>
2163      <backdrop name="matrix152" element="matrix" state="0">
2164         <bounds x="0" y="212" width="64" height="8"/>
2165      </backdrop>
2166      <backdrop name="matrix153" element="matrix" state="0">
2167         <bounds x="64" y="212" width="64" height="8"/>
2168      </backdrop>
2169      <backdrop name="matrix154" element="matrix" state="0">
2170         <bounds x="128" y="212" width="64" height="8"/>
2171      </backdrop>
2172      <backdrop name="matrix155" element="matrix" state="0">
2173         <bounds x="192" y="212" width="64" height="8"/>
2174      </backdrop>
2175      <backdrop name="matrix156" element="matrix" state="0">
2176         <bounds x="256" y="212" width="64" height="8"/>
2177      </backdrop>
2178      <backdrop name="matrix157" element="matrix" state="0">
2179         <bounds x="320" y="212" width="64" height="8"/>
2180      </backdrop>
2181      <backdrop name="matrix158" element="matrix" state="0">
2182         <bounds x="384" y="212" width="64" height="8"/>
2183      </backdrop>
2184      <backdrop name="matrix159" element="matrix" state="0">
2185         <bounds x="448" y="212" width="64" height="8"/>
2186      </backdrop>
2187      <backdrop name="matrix160" element="matrix" state="0">
2188         <bounds x="0" y="220" width="64" height="8"/>
2189      </backdrop>
2190      <backdrop name="matrix161" element="matrix" state="0">
2191         <bounds x="64" y="220" width="64" height="8"/>
2192      </backdrop>
2193      <backdrop name="matrix162" element="matrix" state="0">
2194         <bounds x="128" y="220" width="64" height="8"/>
2195      </backdrop>
2196      <backdrop name="matrix163" element="matrix" state="0">
2197         <bounds x="192" y="220" width="64" height="8"/>
2198      </backdrop>
2199      <backdrop name="matrix164" element="matrix" state="0">
2200         <bounds x="256" y="220" width="64" height="8"/>
2201      </backdrop>
2202      <backdrop name="matrix165" element="matrix" state="0">
2203         <bounds x="320" y="220" width="64" height="8"/>
2204      </backdrop>
2205      <backdrop name="matrix166" element="matrix" state="0">
2206         <bounds x="384" y="220" width="64" height="8"/>
2207      </backdrop>
2208      <backdrop name="matrix167" element="matrix" state="0">
2209         <bounds x="448" y="220" width="64" height="8"/>
2210      </backdrop>
12002211   </view>
12012212</mamelayout>
src/mame/drivers/bfcobra.c
r9191r9192
7979#include "cpu/m6809/m6809.h"
8080#include "sound/upd7759.h"
8181#include "sound/ay8910.h"
82#include "machine/nvram.h"
8283
8384/*
8485    Defines
r9191r9192
14321433}
14331434
14341435static ADDRESS_MAP_START( m6809_prog_map, ADDRESS_SPACE_PROGRAM, 8 )
1435   AM_RANGE(0x0000, 0x1fff) AM_RAM   AM_BASE_SIZE_GENERIC(nvram)
1436   AM_RANGE(0x0000, 0x1fff) AM_RAM   AM_SHARE("nvram")
14361437   AM_RANGE(0x2000, 0x2000) AM_RAM      // W 'B', 6F
14371438   AM_RANGE(0x2200, 0x2200) AM_RAM      // W 'F'
14381439   AM_RANGE(0x2600, 0x2600) AM_READWRITE(meter_r, meter_w)
r9191r9192
17291730   update_irqs(device->machine);
17301731}
17311732
1732static MACHINE_DRIVER_START( bfcobra )
1733static MACHINE_CONFIG_START( bfcobra, driver_device )
17331734   MDRV_CPU_ADD("maincpu", Z80, Z80_XTAL)
17341735   MDRV_CPU_PROGRAM_MAP(z80_prog_map)
17351736   MDRV_CPU_IO_MAP(z80_io_map)
r9191r9192
17391740   MDRV_CPU_PROGRAM_MAP(m6809_prog_map)
17401741   MDRV_CPU_PERIODIC_INT(timer_irq, 1000)
17411742
1742   MDRV_NVRAM_HANDLER(generic_0fill)
1743   MDRV_NVRAM_ADD_0FILL("nvram")
17431744
17441745   MDRV_MACHINE_RESET(bfcobra)
17451746
r9191r9192
17671768   MDRV_ACIA6850_ADD("acia6850_0", z80_acia_if)
17681769   MDRV_ACIA6850_ADD("acia6850_1", m6809_acia_if)
17691770   MDRV_ACIA6850_ADD("acia6850_2", data_acia_if)
1770MACHINE_DRIVER_END
1771MACHINE_CONFIG_END
17711772
17721773/***************************************************************************
17731774
src/mame/drivers/sbugger.c
r9191r9192
212212
213213/* machine driver */
214214
215static MACHINE_DRIVER_START( sbugger )
215static MACHINE_CONFIG_START( sbugger, sbugger_state )
216216
217   MDRV_DRIVER_DATA( sbugger_state )
218
219217   MDRV_CPU_ADD("maincpu", I8085A, 6000000)        /* 3.00 MHz??? */
220218   MDRV_CPU_PROGRAM_MAP(sbugger_map)
221219   MDRV_CPU_IO_MAP(sbugger_io_map)
r9191r9192
246244   MDRV_SOUND_ADD("sn76489.2", SN76489, 3000000)
247245   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
248246
249MACHINE_DRIVER_END
247MACHINE_CONFIG_END
250248
251249/* rom loading */
252250
src/mame/drivers/nycaptor.c
r9191r9192
841841   memset(state->vol_ctrl, 0, ARRAY_LENGTH(state->vol_ctrl));
842842}
843843
844static MACHINE_DRIVER_START( nycaptor )
844static MACHINE_CONFIG_START( nycaptor, nycaptor_state )
845845
846   /* driver data */
847   MDRV_DRIVER_DATA(nycaptor_state)
848
849846   /* basic machine hardware */
850847   MDRV_CPU_ADD("maincpu", Z80,8000000/2)      /* ??? */
851848   MDRV_CPU_PROGRAM_MAP(nycaptor_master_map)
r9191r9192
905902   // pin 1 SOLO  8'       not mapped
906903   // pin 2 SOLO 16'       not mapped
907904   // pin 22 Noise Output  not mapped
908MACHINE_DRIVER_END
905MACHINE_CONFIG_END
909906
910static MACHINE_DRIVER_START( cyclshtg )
907static MACHINE_CONFIG_START( cyclshtg, nycaptor_state )
911908
912   /* driver data */
913   MDRV_DRIVER_DATA(nycaptor_state)
914
915909   MDRV_CPU_ADD("maincpu", Z80,8000000/2)
916910   MDRV_CPU_PROGRAM_MAP(cyclshtg_master_map)
917911   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
r9191r9192
969963   // pin 1 SOLO  8'       not mapped
970964   // pin 2 SOLO 16'       not mapped
971965   // pin 22 Noise Output  not mapped
972MACHINE_DRIVER_END
966MACHINE_CONFIG_END
973967
974968
975static MACHINE_DRIVER_START( bronx )
969static MACHINE_CONFIG_START( bronx, nycaptor_state )
976970
977   /* driver data */
978   MDRV_DRIVER_DATA(nycaptor_state)
979
980971   MDRV_CPU_ADD("maincpu", Z80,8000000/2)
981972   MDRV_CPU_PROGRAM_MAP(bronx_master_map)
982973   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
r9191r9192
10301021   // pin 1 SOLO  8'       not mapped
10311022   // pin 2 SOLO 16'       not mapped
10321023   // pin 22 Noise Output  not mapped
1033MACHINE_DRIVER_END
1024MACHINE_CONFIG_END
10341025
10351026
10361027
src/mame/drivers/mitchell.c
r9191r9192
331331   AM_RANGE(0x02, 0x02) AM_WRITE(pang_bankswitch_w)   /* Code bank register */
332332   AM_RANGE(0x03, 0x03) AM_DEVWRITE("ymsnd", ym2413_data_port_w)
333333   AM_RANGE(0x04, 0x04) AM_DEVWRITE("ymsnd", ym2413_register_port_w)
334   AM_RANGE(0x05, 0x05) AM_READ(pang_port5_r) AM_DEVWRITE("oki", okim6295_w)
334   AM_RANGE(0x05, 0x05) AM_READ(pang_port5_r) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
335335   AM_RANGE(0x06, 0x06) AM_WRITENOP            /* watchdog? irq ack? */
336336   AM_RANGE(0x07, 0x07) AM_WRITE(pang_video_bank_w)   /* Video RAM bank register */
337337   AM_RANGE(0x08, 0x08) AM_DEVWRITE("eeprom", eeprom_cs_w)
r9191r9192
395395   AM_RANGE(0x0000, 0x7fff) AM_ROM
396396   AM_RANGE(0x8000, 0x87ff) AM_RAM
397397   AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("oki", oki_banking_w)
398   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
398   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
399399   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
400400ADDRESS_MAP_END
401401
r9191r9192
11051105   state->keymatrix = 0;
11061106}
11071107
1108static MACHINE_DRIVER_START( mgakuen )
1108static MACHINE_CONFIG_START( mgakuen, mitchell_state )
11091109
1110   /* driver data */
1111   MDRV_DRIVER_DATA(mitchell_state)
1112
11131110   /* basic machine hardware */
11141111   MDRV_CPU_ADD("maincpu", Z80, XTAL_16MHz/2) /* probably same clock as the other mitchell hardware games */
11151112   MDRV_CPU_PROGRAM_MAP(mgakuen_map)
r9191r9192
11431140
11441141   MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_16MHz/4) /* probably same clock as the other mitchell hardware games */
11451142   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1146MACHINE_DRIVER_END
1143MACHINE_CONFIG_END
11471144
11481145
1149static MACHINE_DRIVER_START( pang )
1146static MACHINE_CONFIG_START( pang, mitchell_state )
11501147
1151   /* driver data */
1152   MDRV_DRIVER_DATA(mitchell_state)
1153
11541148   /* basic machine hardware */
11551149   MDRV_CPU_ADD("maincpu",Z80, XTAL_16MHz/2) /* verified on pcb */
11561150   MDRV_CPU_PROGRAM_MAP(mitchell_map)
r9191r9192
11851179
11861180   MDRV_SOUND_ADD("ymsnd",YM2413, XTAL_16MHz/4) /* verified on pcb */
11871181   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1188MACHINE_DRIVER_END
1182MACHINE_CONFIG_END
11891183
11901184static const gfx_layout blcharlayout =
11911185{
r9191r9192
12241218};
12251219
12261220
1227static MACHINE_DRIVER_START( spangbl )
1228   MDRV_IMPORT_FROM(pang)
1221static MACHINE_CONFIG_DERIVED( spangbl, pang )
12291222
12301223   MDRV_CPU_MODIFY("maincpu")
12311224   MDRV_CPU_PROGRAM_MAP(spangbl_map)
r9191r9192
12441237   MDRV_SOUND_ADD("msm", MSM5205, 384000)
12451238   MDRV_SOUND_CONFIG(msm5205_config)
12461239   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1247MACHINE_DRIVER_END
1240MACHINE_CONFIG_END
12481241
1249static MACHINE_DRIVER_START( mstworld )
1242static MACHINE_CONFIG_START( mstworld, mitchell_state )
12501243
1251   /* driver data */
1252   MDRV_DRIVER_DATA(mitchell_state)
1253
12541244   /* basic machine hardware */
12551245   /* it doesn't glitch with the clock speed set to 4x normal, however this is incorrect..
12561246      the interrupt handling (and probably various irq flags / vbl flags handling etc.) is
r9191r9192
12851275
12861276   MDRV_OKIM6295_ADD("oki", 990000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
12871277   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1288MACHINE_DRIVER_END
1278MACHINE_CONFIG_END
12891279
12901280
1291static MACHINE_DRIVER_START( marukin )
1281static MACHINE_CONFIG_START( marukin, mitchell_state )
12921282
1293   /* driver data */
1294   MDRV_DRIVER_DATA(mitchell_state)
1295
12961283   /* basic machine hardware */
12971284   MDRV_CPU_ADD("maincpu", Z80, XTAL_16MHz/2) /* verified on pcb */
12981285   MDRV_CPU_PROGRAM_MAP(mitchell_map)
r9191r9192
13241311
13251312   MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_16MHz/4) /* verified on pcb */
13261313   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1327MACHINE_DRIVER_END
1314MACHINE_CONFIG_END
13281315
13291316/*
13301317
r9191r9192
13441331
13451332*/
13461333
1347static MACHINE_DRIVER_START( pkladiesbl )
1334static MACHINE_CONFIG_START( pkladiesbl, mitchell_state )
13481335
1349   /* driver data */
1350   MDRV_DRIVER_DATA(mitchell_state)
1351
13521336   /* basic machine hardware */
13531337   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */
13541338   MDRV_CPU_PROGRAM_MAP(mitchell_map)
r9191r9192
13801364
13811365   MDRV_SOUND_ADD("ymsnd", YM2413, 3750000) /* verified on pcb, read the comments */
13821366   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1383MACHINE_DRIVER_END
1367MACHINE_CONFIG_END
13841368
13851369/*************************************
13861370 *
src/mame/drivers/dynduke.c
r9191r9192
6868#include "audio/seibu.h"
6969#include "sound/3812intf.h"
7070#include "sound/okim6295.h"
71#include "includes/dynduke.h"
7172
72WRITE16_HANDLER( dynduke_background_w );
73WRITE16_HANDLER( dynduke_foreground_w );
74WRITE16_HANDLER( dynduke_text_w );
75WRITE16_HANDLER( dynduke_gfxbank_w );
76WRITE16_HANDLER( dynduke_control_w );
77WRITE16_HANDLER( dynduke_paletteram_w );
78VIDEO_START( dynduke );
79VIDEO_UPDATE( dynduke );
80VIDEO_EOF( dynduke );
81
82extern UINT16 *dynduke_back_data, *dynduke_fore_data, *dynduke_scroll_ram;
83
8473/* Memory Maps */
8574
8675static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 16 )
r9191r9192
9281   AM_RANGE(0x0b002, 0x0b003) AM_READ_PORT("DSW")
9382   AM_RANGE(0x0b004, 0x0b005) AM_WRITENOP
9483   AM_RANGE(0x0b006, 0x0b007) AM_WRITE(dynduke_control_w)
95   AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_GENERIC(videoram)
84   AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_MEMBER(dynduke_state, videoram)
9685   AM_RANGE(0x0d000, 0x0d00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
9786   AM_RANGE(0xa0000, 0xfffff) AM_ROM
9887ADDRESS_MAP_END
r9191r9192
112101static ADDRESS_MAP_START( masterj_map, ADDRESS_SPACE_PROGRAM, 16 )
113102   AM_RANGE(0x00000, 0x06fff) AM_RAM
114103   AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
115   AM_RANGE(0x08000, 0x087ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_GENERIC(videoram)
104   AM_RANGE(0x08000, 0x087ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_MEMBER(dynduke_state, videoram)
116105   AM_RANGE(0x09000, 0x0900d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
117106   AM_RANGE(0x0c000, 0x0c0ff) AM_RAM AM_BASE(&dynduke_scroll_ram)
118107   AM_RANGE(0x0e000, 0x0efff) AM_RAM AM_SHARE("share1")
r9191r9192
281270
282271/* Machine Driver */
283272
284static MACHINE_DRIVER_START( dynduke )
273static MACHINE_CONFIG_START( dynduke, dynduke_state )
285274   // basic machine hardware
286275   MDRV_CPU_ADD("maincpu", V30, 16000000/2) // NEC V30-8 CPU
287276   MDRV_CPU_PROGRAM_MAP(master_map)
r9191r9192
316305
317306   // sound hardware
318307   SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4,1320000)
319MACHINE_DRIVER_END
308MACHINE_CONFIG_END
320309
321static MACHINE_DRIVER_START( dbldyn )
322   MDRV_IMPORT_FROM(dynduke)
310static MACHINE_CONFIG_DERIVED( dbldyn, dynduke )
323311
324312   MDRV_CPU_MODIFY("maincpu")
325313   MDRV_CPU_PROGRAM_MAP(masterj_map)
326MACHINE_DRIVER_END
314MACHINE_CONFIG_END
327315
328316/* ROMs */
329317
src/mame/drivers/blktiger.c
r9191r9192
320320   state->i8751_latch = 0;
321321}
322322
323static MACHINE_DRIVER_START( blktiger )
323static MACHINE_CONFIG_START( blktiger, blktiger_state )
324324
325   /* driver data */
326   MDRV_DRIVER_DATA(blktiger_state)
327
328325   /* basic machine hardware */
329326   MDRV_CPU_ADD("maincpu", Z80, XTAL_24MHz/4)   /* verified on pcb */
330327   MDRV_CPU_PROGRAM_MAP(blktiger_map)
r9191r9192
368365
369366   MDRV_SOUND_ADD("ym2", YM2203, XTAL_3_579545MHz) /* verified on pcb */
370367   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
371MACHINE_DRIVER_END
368MACHINE_CONFIG_END
372369
373static MACHINE_DRIVER_START( blktigerbl )
374   MDRV_IMPORT_FROM(blktiger)
370static MACHINE_CONFIG_DERIVED( blktigerbl, blktiger )
375371   MDRV_CPU_MODIFY("maincpu")
376372   MDRV_CPU_IO_MAP(blktigerbl_io_map)
377373
378374   MDRV_DEVICE_REMOVE("mcu")
379MACHINE_DRIVER_END
375MACHINE_CONFIG_END
380376
381377/***************************************************************************
382378
src/mame/drivers/mgolf.c
r9191r9192
77#include "emu.h"
88#include "cpu/m6502/m6502.h"
99
10class mgolf_state : public driver_data_t
10class mgolf_state : public driver_device
1111{
1212public:
13   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mgolf_state(machine)); }
13   mgolf_state(running_machine &machine, const driver_device_config_base &config)
14      : driver_device(machine, config) { }
1415
15   mgolf_state(running_machine &machine)
16      : driver_data_t(machine) { }
17
1816   /* memory pointers */
1917   UINT8*   video_ram;
2018
r9191r9192
321319}
322320
323321
324static MACHINE_DRIVER_START( mgolf )
322static MACHINE_CONFIG_START( mgolf, mgolf_state )
325323
326   /* driver data */
327   MDRV_DRIVER_DATA(mgolf_state)
328
329324   /* basic machine hardware */
330325   MDRV_CPU_ADD("maincpu", M6502, 12096000 / 16) /* ? */
331326   MDRV_CPU_PROGRAM_MAP(cpu_map)
r9191r9192
348343   MDRV_VIDEO_UPDATE(mgolf)
349344
350345   /* sound hardware */
351MACHINE_DRIVER_END
346MACHINE_CONFIG_END
352347
353348
354349ROM_START( mgolf )
src/mame/drivers/deco_mlc.c
r9191r9192
102102#include "includes/decoprot.h"
103103#include "cpu/arm/arm.h"
104104#include "cpu/sh2/sh2.h"
105#include "includes/deco_mlc.h"
105106
106VIDEO_START( mlc );
107VIDEO_UPDATE( mlc );
108VIDEO_EOF( mlc );
109
110extern UINT32 *mlc_vram, *mlc_clip_ram;
111107static UINT32 *mlc_ram, *irq_ram;
112108static timer_device *raster_irq_timer;
113109static int mainCpuIsArm;
r9191r9192
382378   raster_irq_timer = machine->device<timer_device>("int_timer");
383379}
384380
385static MACHINE_DRIVER_START( avengrgs )
381static MACHINE_CONFIG_START( avengrgs, driver_device )
386382
387383   /* basic machine hardware */
388384   MDRV_CPU_ADD("maincpu", SH2,42000000/2) /* 21 MHz clock confirmed on real board */
r9191r9192
413409   MDRV_SOUND_ADD("ymz", YMZ280B, 42000000 / 3)
414410   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
415411   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
416MACHINE_DRIVER_END
412MACHINE_CONFIG_END
417413
418static MACHINE_DRIVER_START( mlc )
414static MACHINE_CONFIG_START( mlc, driver_device )
419415
420416   /* basic machine hardware */
421417   MDRV_CPU_ADD("maincpu", ARM,42000000/6) /* 42 MHz -> 7MHz clock confirmed on real board */
r9191r9192
446442   MDRV_SOUND_ADD("ymz", YMZ280B, 42000000 / 3)
447443   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
448444   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
449MACHINE_DRIVER_END
445MACHINE_CONFIG_END
450446
451static MACHINE_DRIVER_START( mlc_6bpp )
452   MDRV_IMPORT_FROM(mlc)
447static MACHINE_CONFIG_DERIVED( mlc_6bpp, mlc )
453448   MDRV_GFXDECODE(6bpp)
454MACHINE_DRIVER_END
449MACHINE_CONFIG_END
455450
456static MACHINE_DRIVER_START( mlc_5bpp )
457   MDRV_IMPORT_FROM(mlc)
451static MACHINE_CONFIG_DERIVED( mlc_5bpp, mlc )
458452   MDRV_GFXDECODE(5bpp)
459MACHINE_DRIVER_END
453MACHINE_CONFIG_END
460454
461455/***************************************************************************/
462456
src/mame/drivers/pasha2.c
r9191r9192
7676#include "machine/eeprom.h"
7777#include "sound/okim6295.h"
7878
79class pasha2_state : public driver_data_t
79class pasha2_state : public driver_device
8080{
8181public:
82   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pasha2_state(machine)); }
82   pasha2_state(running_machine &machine, const driver_device_config_base &config)
83      : driver_device(machine, config) { }
8384
84   pasha2_state(running_machine &machine)
85      : driver_data_t(machine) { }
86
8785   /* memory pointers */
8886   UINT16 *     bitmap0;
8987   UINT16 *     bitmap1;
r9191r9192
185183   COMBINE_DATA(&state->bitmap1[offset + state->vbuffer * 0x20000 / 2]);
186184}
187185
188static READ16_DEVICE_HANDLER( oki_r )
189{
190   if (offset)
191      return okim6295_r(device, 0);
192   else
193      return 0;
194}
195
196static WRITE16_DEVICE_HANDLER( oki_w )
197{
198   if (offset)
199      okim6295_w(device, 0, data);
200}
201
202186static WRITE16_DEVICE_HANDLER( oki_bank_w )
203187{
204188   if (offset)
r9191r9192
245229   AM_RANGE(0x80, 0x83) AM_READ_PORT("INPUTS")
246230   AM_RANGE(0xa0, 0xa3) AM_WRITENOP //soundlatch?
247231   AM_RANGE(0xc0, 0xc3) AM_WRITE(pasha2_misc_w)
248   AM_RANGE(0xe0, 0xe3) AM_DEVREADWRITE("oki1", oki_r, oki_w)
249   AM_RANGE(0xe4, 0xe7) AM_DEVREADWRITE("oki2", oki_r, oki_w)
232   AM_RANGE(0xe2, 0xe3) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
233   AM_RANGE(0xe6, 0xe7) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
250234   AM_RANGE(0xe8, 0xeb) AM_DEVWRITE("oki1", oki_bank_w)
251235   AM_RANGE(0xec, 0xef) AM_DEVWRITE("oki2", oki_bank_w)
252236ADDRESS_MAP_END
r9191r9192
413397   state->vbuffer = 0;
414398}
415399
416static MACHINE_DRIVER_START( pasha2 )
400static MACHINE_CONFIG_START( pasha2, pasha2_state )
417401
418   /* driver data */
419   MDRV_DRIVER_DATA(pasha2_state)
420
421402   /* basic machine hardware */
422403   MDRV_CPU_ADD("maincpu", E116XT, 20000000*4)      /* 4x internal multiplier */
423404   MDRV_CPU_PROGRAM_MAP(pasha2_map)
r9191r9192
451432   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
452433
453434   //and ATMEL DREAM SAM9773
454MACHINE_DRIVER_END
435MACHINE_CONFIG_END
455436
456437ROM_START( pasha2 )
457438   ROM_REGION16_BE( 0x80000, "user1", 0 ) /* Hyperstone CPU Code */
src/mame/drivers/bublbobl.c
r9191r9192
764764   state->tokio_prot_count = 0;
765765}
766766
767static MACHINE_DRIVER_START( tokio )
767static MACHINE_CONFIG_START( tokio, bublbobl_state )
768768
769   /* driver data */
770   MDRV_DRIVER_DATA(bublbobl_state)
771
772769   /* basic machine hardware */
773770   MDRV_CPU_ADD("maincpu", Z80, MAIN_XTAL/4)   // 6 MHz
774771   MDRV_CPU_PROGRAM_MAP(tokio_map)
r9191r9192
805802   MDRV_SOUND_ROUTE(1, "mono", 0.08)
806803   MDRV_SOUND_ROUTE(2, "mono", 0.08)
807804   MDRV_SOUND_ROUTE(3, "mono", 1.0)
808MACHINE_DRIVER_END
805MACHINE_CONFIG_END
809806
810807
811808static MACHINE_START( bublbobl )
r9191r9192
848845   state->port4_out = 0;
849846}
850847
851static MACHINE_DRIVER_START( bublbobl )
848static MACHINE_CONFIG_START( bublbobl, bublbobl_state )
852849
853   /* driver data */
854   MDRV_DRIVER_DATA(bublbobl_state)
855
856850   /* basic machine hardware */
857851   MDRV_CPU_ADD("maincpu", Z80, MAIN_XTAL/4)   // 6 MHz
858852   MDRV_CPU_PROGRAM_MAP(master_map)
r9191r9192
893887
894888   MDRV_SOUND_ADD("ym2", YM3526, MAIN_XTAL/8)
895889   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
896MACHINE_DRIVER_END
890MACHINE_CONFIG_END
897891
898892
899893static MACHINE_START( boblbobl )
r9191r9192
916910   state->ic43_b = 0;
917911}
918912
919static MACHINE_DRIVER_START( boblbobl )
920   MDRV_IMPORT_FROM(bublbobl)
913static MACHINE_CONFIG_DERIVED( boblbobl, bublbobl )
921914
922915   MDRV_CPU_MODIFY("maincpu")
923916   MDRV_CPU_PROGRAM_MAP(bootleg_map)
r9191r9192
927920   MDRV_MACHINE_RESET(boblbobl)
928921
929922   MDRV_DEVICE_REMOVE("mcu")
930MACHINE_DRIVER_END
923MACHINE_CONFIG_END
931924
932925
933926static MACHINE_START( bub68705 )
r9191r9192
962955   state->latch = 0;
963956}
964957
965static MACHINE_DRIVER_START( bub68705 )
966   MDRV_IMPORT_FROM(bublbobl)
958static MACHINE_CONFIG_DERIVED( bub68705, bublbobl )
967959   MDRV_DEVICE_REMOVE("mcu")
968960
969961   MDRV_CPU_ADD("mcu", M68705, 4000000)   // xtal is 4MHz, divided by 4 internally
r9191r9192
972964
973965   MDRV_MACHINE_START(bub68705)
974966   MDRV_MACHINE_RESET(bub68705)
975MACHINE_DRIVER_END
967MACHINE_CONFIG_END
976968
977969
978970
src/mame/drivers/skyfox.c
r9191r9192
238238   state->bg_ctrl = 0;
239239}
240240
241static MACHINE_DRIVER_START( skyfox )
241static MACHINE_CONFIG_START( skyfox, skyfox_state )
242242
243   /* driver data */
244   MDRV_DRIVER_DATA(skyfox_state)
245
246243   /* basic machine hardware */
247244   MDRV_CPU_ADD("maincpu", Z80, XTAL_8MHz/2) /* Verified at 4MHz */
248245   MDRV_CPU_PROGRAM_MAP(skyfox_map)
r9191r9192
276273
277274   MDRV_SOUND_ADD("ym2", YM2203, XTAL_14_31818MHz/8) /* Verified at 1.789772MHz */
278275   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
279MACHINE_DRIVER_END
276MACHINE_CONFIG_END
280277
281278
282279
src/mame/drivers/fgoal.c
r9191r9192
367367   state->prev_coin = 0;
368368}
369369
370static MACHINE_DRIVER_START( fgoal )
370static MACHINE_CONFIG_START( fgoal, fgoal_state )
371371
372   /* driver data */
373   MDRV_DRIVER_DATA(fgoal_state)
374
375372   /* basic machine hardware */
376373   MDRV_CPU_ADD("maincpu", M6800, 10065000 / 10) /* ? */
377374   MDRV_CPU_PROGRAM_MAP(cpu_map)
r9191r9192
397394   MDRV_VIDEO_UPDATE(fgoal)
398395
399396   /* sound hardware */
400MACHINE_DRIVER_END
397MACHINE_CONFIG_END
401398
402399
403400ROM_START( fgoal )
src/mame/drivers/coinmstr.c
r9191r9192
2929#include "sound/ay8910.h"
3030
3131
32class coinmstr_state : public driver_device
33{
34public:
35   coinmstr_state(running_machine &machine, const driver_device_config_base &config)
36      : driver_device(machine, config) { }
37
38   UINT8 *videoram;
39};
40
41
42
3243static UINT8 *attr_ram1, *attr_ram2, *attr_ram3;
3344static tilemap_t *bg_tilemap;
3445
r9191r9192
3647
3748static WRITE8_HANDLER( quizmstr_bg_w )
3849{
39   space->machine->generic.videoram.u8[offset] = data;
50   coinmstr_state *state = space->machine->driver_data<coinmstr_state>();
51   UINT8 *videoram = state->videoram;
52   videoram[offset] = data;
4053
4154   if(offset >= 0x0240)
4255      tilemap_mark_tile_dirty(bg_tilemap,offset - 0x0240);
r9191r9192
184197static ADDRESS_MAP_START( coinmstr_map, ADDRESS_SPACE_PROGRAM, 8 )
185198   AM_RANGE(0x0000, 0xbfff) AM_ROM
186199   AM_RANGE(0xc000, 0xdfff) AM_RAM
187   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(quizmstr_bg_w) AM_BASE_GENERIC(videoram)
200   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(quizmstr_bg_w) AM_BASE_MEMBER(coinmstr_state, videoram)
188201   AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(quizmstr_attr1_w) AM_BASE(&attr_ram1)
189202   AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(quizmstr_attr2_w) AM_BASE(&attr_ram2)
190203   AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(quizmstr_attr3_w) AM_BASE(&attr_ram3)
r9191r9192
878891
879892static TILE_GET_INFO( get_bg_tile_info )
880893{
881   int tile = machine->generic.videoram.u8[tile_index + 0x0240];
894   coinmstr_state *state = machine->driver_data<coinmstr_state>();
895   UINT8 *videoram = state->videoram;
896   int tile = videoram[tile_index + 0x0240];
882897   int color = tile_index;
883898
884899   tile |= (attr_ram1[tile_index + 0x0240] & 0x80) << 1;
r9191r9192
980995};
981996
982997
983static MACHINE_DRIVER_START( coinmstr )
998static MACHINE_CONFIG_START( coinmstr, coinmstr_state )
984999   MDRV_CPU_ADD("maincpu",Z80,8000000) // ?
9851000   MDRV_CPU_PROGRAM_MAP(coinmstr_map)
9861001   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
r9191r9192
10111026   MDRV_SOUND_ADD("aysnd", AY8910, 1500000)
10121027   MDRV_SOUND_CONFIG(ay8912_interface)
10131028   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1014MACHINE_DRIVER_END
1029MACHINE_CONFIG_END
10151030
1016static MACHINE_DRIVER_START( quizmstr )
1017   MDRV_IMPORT_FROM(coinmstr)
1031static MACHINE_CONFIG_DERIVED( quizmstr, coinmstr )
10181032   MDRV_CPU_MODIFY("maincpu")
10191033   MDRV_CPU_IO_MAP(quizmstr_io_map)
1020MACHINE_DRIVER_END
1034MACHINE_CONFIG_END
10211035
1022static MACHINE_DRIVER_START( trailblz )
1023   MDRV_IMPORT_FROM(coinmstr)
1036static MACHINE_CONFIG_DERIVED( trailblz, coinmstr )
10241037   MDRV_CPU_MODIFY("maincpu")
10251038   MDRV_CPU_IO_MAP(trailblz_io_map)
1026MACHINE_DRIVER_END
1039MACHINE_CONFIG_END
10271040
1028static MACHINE_DRIVER_START( supnudg2 )
1029   MDRV_IMPORT_FROM(coinmstr)
1041static MACHINE_CONFIG_DERIVED( supnudg2, coinmstr )
10301042   MDRV_CPU_MODIFY("maincpu")
10311043   MDRV_CPU_IO_MAP(supnudg2_io_map)
1032MACHINE_DRIVER_END
1044MACHINE_CONFIG_END
10331045
1034static MACHINE_DRIVER_START( pokeroul )
1035   MDRV_IMPORT_FROM(coinmstr)
1046static MACHINE_CONFIG_DERIVED( pokeroul, coinmstr )
10361047   MDRV_CPU_MODIFY("maincpu")
10371048   MDRV_CPU_IO_MAP(pokeroul_io_map)
1038MACHINE_DRIVER_END
1049MACHINE_CONFIG_END
10391050
10401051/*
10411052
src/mame/drivers/docastle.c
r9191r9192
592592   state_save_register_global_array(machine, state->buffer1);
593593}
594594
595static MACHINE_DRIVER_START( docastle )
595static MACHINE_CONFIG_START( docastle, docastle_state )
596596
597   /* driver data */
598   MDRV_DRIVER_DATA(docastle_state)
599
600597   /* basic machine hardware */
601598   MDRV_CPU_ADD("maincpu", Z80, XTAL_4MHz)
602599   MDRV_CPU_PROGRAM_MAP(docastle_map)
r9191r9192
643640
644641   MDRV_SOUND_ADD("sn4", SN76489A, XTAL_4MHz)
645642   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
646MACHINE_DRIVER_END
643MACHINE_CONFIG_END
647644
648static MACHINE_DRIVER_START( dorunrun )
645static MACHINE_CONFIG_DERIVED( dorunrun, docastle )
646
649647   /* basic machine hardware */
650   MDRV_IMPORT_FROM(docastle)
651648
652649   MDRV_CPU_MODIFY("maincpu")
653650   MDRV_CPU_PROGRAM_MAP(dorunrun_map)
r9191r9192
657654
658655   /* video hardware */
659656   MDRV_VIDEO_START(dorunrun)
660MACHINE_DRIVER_END
657MACHINE_CONFIG_END
661658
662static MACHINE_DRIVER_START( idsoccer )
659static MACHINE_CONFIG_DERIVED( idsoccer, docastle )
660
663661   /* basic machine hardware */
664   MDRV_IMPORT_FROM(docastle)
665662
666663   MDRV_CPU_MODIFY("maincpu")
667664   MDRV_CPU_PROGRAM_MAP(idsoccer_map)
r9191r9192
676673   MDRV_SOUND_ADD("msm", MSM5205, XTAL_384kHz) /* Crystal verified on American Soccer board. */
677674   MDRV_SOUND_CONFIG(msm5205_config)
678675   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
679MACHINE_DRIVER_END
676MACHINE_CONFIG_END
680677
681678/* ROMs */
682679
src/mame/drivers/expro02.c
r9191r9192
357357   AM_RANGE(0x000000, 0x03ffff) AM_ROM // main program
358358   AM_RANGE(0x080000, 0x0fffff) AM_ROM AM_REGION("user2",0) // other data
359359   AM_RANGE(0x100000, 0x3fffff) AM_ROM AM_REGION("user1",0) // main data
360   AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
360   AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
361361
362362
363363   AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(&galsnew_bg_pixram)
r9191r9192
418418   AM_RANGE(0xd80000, 0xd80001) AM_WRITE(galsnew_vram_1_bank_w)   /* ??? */
419419   //AM_RANGE(0xe00000, 0xe00015) AM_READWRITE(galpanib_calc_r,galpanib_calc_w) /* CALC1 MCU interaction (simulated) */
420420   AM_RANGE(0xe80000, 0xe80001) AM_WRITE(galsnew_vram_0_bank_w)   /* ??? */
421   AM_RANGE(0xf00000, 0xf00001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0xff00)
421   AM_RANGE(0xf00000, 0xf00001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff00)
422422ADDRESS_MAP_END
423423
424424/*************************************
r9191r9192
475475 *
476476 *************************************/
477477
478static MACHINE_DRIVER_START( galsnew )
478static MACHINE_CONFIG_START( galsnew, driver_device )
479479
480480   /* basic machine hardware */
481481   MDRV_CPU_ADD("maincpu", M68000, 12000000)
r9191r9192
509509   MDRV_OKIM6295_ADD("oki", 12000000/6, OKIM6295_PIN7_LOW)
510510   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
511511
512MACHINE_DRIVER_END
512MACHINE_CONFIG_END
513513
514514
515static MACHINE_DRIVER_START( fantasia )
515static MACHINE_CONFIG_DERIVED( fantasia, galsnew )
516516
517517   /* basic machine hardware */
518   MDRV_IMPORT_FROM( galsnew )
519518   MDRV_CPU_MODIFY("maincpu")
520519   MDRV_CPU_PROGRAM_MAP(fantasia_map)
521520
522521   MDRV_WATCHDOG_TIME_INIT(SEC(0))   /* a guess, and certainly wrong */
523522
524MACHINE_DRIVER_END
523MACHINE_CONFIG_END
525524
526525/*************************************
527526 *
src/mame/drivers/mystston.c
r9191r9192
201201 *
202202 *************************************/
203203
204static MACHINE_DRIVER_START( mystston )
204static MACHINE_CONFIG_START( mystston, mystston_state )
205205
206   MDRV_DRIVER_DATA(mystston_state)
207
208206   /* basic machine hardware */
209207   MDRV_CPU_ADD("maincpu", M6502, CPU_CLOCK)
210208   MDRV_CPU_PROGRAM_MAP(main_map)
211209
212210   /* video hardware */
213   MDRV_IMPORT_FROM(mystston_video)
211   MDRV_FRAGMENT_ADD(mystston_video)
214212
215213   /* audio hardware */
216214   MDRV_SPEAKER_STANDARD_MONO("mono")
r9191r9192
220218
221219   MDRV_SOUND_ADD("ay2", AY8910, AY8910_CLOCK)
222220   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
223MACHINE_DRIVER_END
221MACHINE_CONFIG_END
224222
225223
226224
src/mame/drivers/mainsnk.c
r9191r9192
390390
391391
392392
393static MACHINE_DRIVER_START( mainsnk )
393static MACHINE_CONFIG_START( mainsnk, mainsnk_state )
394394
395   MDRV_DRIVER_DATA( mainsnk_state )
396
397395   MDRV_CPU_ADD("maincpu", Z80, 3360000)
398396   MDRV_CPU_PROGRAM_MAP(main_map)
399397   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
r9191r9192
426424
427425   MDRV_SOUND_ADD("ay2", AY8910, 2000000)
428426   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
429MACHINE_DRIVER_END
427MACHINE_CONFIG_END
430428
431429
432430ROM_START( mainsnk)
src/mame/drivers/rampart.c
r9191r9192
143143   AM_RANGE(0x3e0800, 0x3e3f3f) AM_MIRROR(0x010000) AM_RAM
144144   AM_RANGE(0x3e3f40, 0x3e3f7f) AM_MIRROR(0x010000) AM_RAM_WRITE(atarimo_0_slipram_w) AM_BASE(&atarimo_0_slipram)
145145   AM_RANGE(0x3e3f80, 0x3effff) AM_MIRROR(0x010000) AM_RAM
146   AM_RANGE(0x460000, 0x460001) AM_MIRROR(0x019ffe) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0xff00)
146   AM_RANGE(0x460000, 0x460001) AM_MIRROR(0x019ffe) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff00)
147147   AM_RANGE(0x480000, 0x480003) AM_MIRROR(0x019ffc) AM_DEVWRITE8("ymsnd", ym2413_w, 0xff00)
148   AM_RANGE(0x500000, 0x500fff) AM_MIRROR(0x019000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(rampart_state, eeprom, eeprom_size)
148   AM_RANGE(0x500000, 0x500fff) AM_MIRROR(0x019000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
149149   AM_RANGE(0x5a6000, 0x5a6001) AM_MIRROR(0x019ffe) AM_WRITE(atarigen_eeprom_enable_w)
150150   AM_RANGE(0x640000, 0x640001) AM_MIRROR(0x019ffe) AM_WRITE(latch_w)
151151   AM_RANGE(0x640000, 0x640001) AM_MIRROR(0x019ffc) AM_READ_PORT("IN0")
r9191r9192
341341 *
342342 *************************************/
343343
344static MACHINE_DRIVER_START( rampart )
345   MDRV_DRIVER_DATA(rampart_state)
344static MACHINE_CONFIG_START( rampart, rampart_state )
346345
347346   /* basic machine hardware */
348347   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK/2)
r9191r9192
351350
352351   MDRV_MACHINE_START(rampart)
353352   MDRV_MACHINE_RESET(rampart)
354   MDRV_NVRAM_HANDLER(atarigen)
353   MDRV_NVRAM_ADD_1FILL("eeprom")
355354   MDRV_WATCHDOG_VBLANK_INIT(8)
356355
357356   /* video hardware */
r9191r9192
376375
377376   MDRV_SOUND_ADD("ymsnd", YM2413, MASTER_CLOCK/4)
378377   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
379MACHINE_DRIVER_END
378MACHINE_CONFIG_END
380379
381380
382381
r9191r9192
400399   ROM_LOAD( "136082-1007.2d", 0x00000, 0x20000, CRC(c96a0fc3) SHA1(6e7e242d0afa4714ca31d77ccbf8ee487bbdb1e4) )
401400   ROM_LOAD( "136082-1008.1d", 0x20000, 0x20000, CRC(518218d9) SHA1(edf1b11579dcfa9a872fa4bd866dc2f95fac767d) )
402401
402   ROM_REGION( 0x1000, "eeprom", 0 )
403   ROM_LOAD( "rampart-eeprom.bin", 0x0000, 0x1000, CRC(9ab4a6a1) SHA1(ff6ffc4b6508dfe0e431d1b3329f3bd14c796e38) )
404
403405   ROM_REGION( 0x0c00, "plds", 0 )
404406   ROM_LOAD( "gal16v8-136082-1000.1j",  0x0000, 0x0117, CRC(18f82b38) SHA1(2ffd43a143396617704ced51da78fec2cf12cced) )
405407   ROM_LOAD( "gal16v8-136082-1001.4l",  0x0200, 0x0117, CRC(74d75d68) SHA1(dc3ee765ec48a76af6433026243284437958a39a) )
r9191r9192
424426   ROM_LOAD( "136082-1007.2d", 0x00000, 0x20000, CRC(c96a0fc3) SHA1(6e7e242d0afa4714ca31d77ccbf8ee487bbdb1e4) )
425427   ROM_LOAD( "136082-1008.1d", 0x20000, 0x20000, CRC(518218d9) SHA1(edf1b11579dcfa9a872fa4bd866dc2f95fac767d) )
426428
429   ROM_REGION( 0x1000, "eeprom", 0 )
430   ROM_LOAD( "rampart-eeprom.bin", 0x0000, 0x1000, CRC(9ab4a6a1) SHA1(ff6ffc4b6508dfe0e431d1b3329f3bd14c796e38) )
431
427432   ROM_REGION( 0x0c00, "plds", 0 )
428433   ROM_LOAD( "gal16v8-136082-1000.1j",  0x0000, 0x0117, CRC(18f82b38) SHA1(2ffd43a143396617704ced51da78fec2cf12cced) )
429434   ROM_LOAD( "gal16v8-136082-1001.4l",  0x0200, 0x0117, CRC(74d75d68) SHA1(dc3ee765ec48a76af6433026243284437958a39a) )
r9191r9192
452457   ROM_LOAD( "136082-1007.2d", 0x00000, 0x20000, CRC(c96a0fc3) SHA1(6e7e242d0afa4714ca31d77ccbf8ee487bbdb1e4) )
453458   ROM_LOAD( "136082-1008.1d", 0x20000, 0x20000, CRC(518218d9) SHA1(edf1b11579dcfa9a872fa4bd866dc2f95fac767d) )
454459
460   ROM_REGION( 0x1000, "eeprom", 0 )
461   ROM_LOAD( "rampart-eeprom.bin", 0x0000, 0x1000, CRC(9ab4a6a1) SHA1(ff6ffc4b6508dfe0e431d1b3329f3bd14c796e38) )
462
455463   ROM_REGION( 0x0c00, "plds", 0 )
456464   ROM_LOAD( "gal16v8-136082-1000.1j",  0x0000, 0x0117, CRC(18f82b38) SHA1(2ffd43a143396617704ced51da78fec2cf12cced) )
457465   ROM_LOAD( "gal16v8-136082-1001.4l",  0x0200, 0x0117, CRC(74d75d68) SHA1(dc3ee765ec48a76af6433026243284437958a39a) )
r9191r9192
471479
472480static DRIVER_INIT( rampart )
473481{
474   static const UINT16 compressed_default_eeprom[] =
475   {
476      0x0001,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0150,0x0101,
477      0x0100,0x0151,0x0300,0x0151,0x0400,0x0150,0x0101,0x01FB,
478      0x021E,0x0104,0x011A,0x0200,0x011A,0x0700,0x01FF,0x0E00,
479      0x01FF,0x0E00,0x01FF,0x0150,0x0101,0x0100,0x0151,0x0300,
480      0x0151,0x0400,0x0150,0x0101,0x01FB,0x021E,0x0104,0x011A,
481      0x0200,0x011A,0x0700,0x01AD,0x0150,0x0129,0x0187,0x01CD,
482      0x0113,0x0100,0x0172,0x0179,0x0140,0x0186,0x0113,0x0100,
483      0x01E5,0x0149,0x01F8,0x012A,0x019F,0x0185,0x01E7,0x0113,
484      0x0100,0x01C3,0x01B5,0x0115,0x0184,0x0113,0x0100,0x0179,
485      0x014E,0x01B7,0x012F,0x016D,0x01B7,0x01D5,0x010B,0x0100,
486      0x0163,0x0242,0x01B6,0x010B,0x0100,0x01B9,0x0104,0x01B7,
487      0x01F0,0x01DD,0x01B5,0x0119,0x010B,0x0100,0x01C2,0x012D,
488      0x0142,0x01B4,0x010B,0x0100,0x01C5,0x0115,0x01BB,0x016F,
489      0x01A2,0x01CF,0x01D3,0x0107,0x0100,0x0192,0x01CD,0x0142,
490      0x01CE,0x0107,0x0100,0x0170,0x0136,0x01B1,0x0140,0x017B,
491      0x01CD,0x01FB,0x0107,0x0100,0x0144,0x013B,0x0148,0x01CC,
492      0x0107,0x0100,0x0181,0x0139,0x01FF,0x0E00,0x01FF,0x0E00,
493      0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,
494      0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,
495      0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,
496      0x0000
497   };
498   rampart_state *state = machine->driver_data<rampart_state>();
499482   UINT8 *rom = memory_region(machine, "maincpu");
500483
501   state->eeprom_default = compressed_default_eeprom;
502484   memcpy(&rom[0x140000], &rom[0x40000], 0x8000);
503485   atarigen_slapstic_init(machine->device("maincpu"), 0x140000, 0x438000, 118);
504486}
src/mame/drivers/magicard.c
r9191r9192
623623      cpu_set_input_line_and_vector(device, 1, HOLD_LINE,0xf0/4);
624624}
625625
626static MACHINE_DRIVER_START( magicard )
626static MACHINE_CONFIG_START( magicard, driver_device )
627627   MDRV_CPU_ADD("maincpu", SCC68070, CLOCK_A/2)   /* SCC-68070 CCA84 datasheet */
628628   MDRV_CPU_PROGRAM_MAP(magicard_mem)
629629   MDRV_CPU_VBLANK_INT("screen", magicard_irq) /* no interrupts? (it erases the vectors..) */
r9191r9192
645645   MDRV_SPEAKER_STANDARD_MONO("mono")
646646   MDRV_SOUND_ADD("ymsnd", YM2413, CLOCK_A/12)
647647   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
648MACHINE_DRIVER_END
648MACHINE_CONFIG_END
649649
650650
651651/*************************
src/mame/drivers/yiear.c
r9191r9192
214214   state->last_irq = 0;
215215}
216216
217static MACHINE_DRIVER_START( yiear )
217static MACHINE_CONFIG_START( yiear, trackfld_state )
218218
219   /* driver data */
220   MDRV_DRIVER_DATA(trackfld_state)
221
222219   /* basic machine hardware */
223220   MDRV_CPU_ADD("maincpu", M6809,XTAL_18_432MHz/12)   /* verified on pcb */
224221   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
251248
252249   MDRV_SOUND_ADD("vlm", VLM5030, XTAL_3_579545MHz)   /* verified on pcb */
253250   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
254MACHINE_DRIVER_END
251MACHINE_CONFIG_END
255252
256253
257254/***************************************************************************
src/mame/drivers/bfm_sc1.c
r9191r9192
9191#include "machine/meters.h"
9292#include "sound/ay8910.h"
9393#include "sound/upd7759.h"
94#include "machine/nvram.h"
9495#include "bfm_sc1.lh"
9596#define VFD_RESET  0x20
9697#define VFD_CLOCK1 0x80
r9191r9192
765766
766767static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
767768
768   AM_RANGE(0x0000, 0x1FFF) AM_RAM AM_BASE_SIZE_GENERIC(nvram) //8k RAM
769   AM_RANGE(0x0000, 0x1FFF) AM_RAM AM_SHARE("nvram") //8k RAM
769770   AM_RANGE(0x2000, 0x21FF) AM_WRITE(reel34_w)            // reel 2+3 latch
770771   AM_RANGE(0x2200, 0x23FF) AM_WRITE(reel12_w)            // reel 1+2 latch
771772   AM_RANGE(0x2400, 0x25FF) AM_WRITE(vfd_w)            // vfd latch
r9191r9192
808809
809810static ADDRESS_MAP_START( memmap_adder2, ADDRESS_SPACE_PROGRAM, 8 )
810811
811   AM_RANGE(0x0000, 0x1FFF) AM_RAM AM_BASE_SIZE_GENERIC(nvram) //8k RAM
812   AM_RANGE(0x0000, 0x1FFF) AM_RAM AM_SHARE("nvram") //8k RAM
812813   AM_RANGE(0x2000, 0x21FF) AM_WRITE(reel34_w)     // reel 2+3 latch
813814   AM_RANGE(0x2200, 0x23FF) AM_WRITE(reel12_w)     // reel 1+2 latch
814815   AM_RANGE(0x2400, 0x25FF) AM_WRITE(vfd_w)     // vfd latch
r9191r9192
857858
858859static ADDRESS_MAP_START( sc1_nec_uk, ADDRESS_SPACE_PROGRAM, 8 )
859860
860   AM_RANGE(0x0000, 0x1FFF) AM_RAM AM_BASE_SIZE_GENERIC(nvram) //8k RAM
861   AM_RANGE(0x0000, 0x1FFF) AM_RAM AM_SHARE("nvram") //8k RAM
861862   AM_RANGE(0x2000, 0x21FF) AM_WRITE(reel34_w)     // reel 2+3 latch
862863   AM_RANGE(0x2200, 0x23FF) AM_WRITE(reel12_w)     // reel 1+2 latch
863864   AM_RANGE(0x2400, 0x25FF) AM_WRITE(vfd_w)     // vfd latch
r9191r9192
12401241// machine driver for scorpion1 board ///////////////////////////////////////////////
12411242/////////////////////////////////////////////////////////////////////////////////////
12421243
1243static MACHINE_DRIVER_START( scorpion1 )
1244static MACHINE_CONFIG_START( scorpion1, driver_device )
12441245   MDRV_MACHINE_RESET(bfm_sc1)                     // main scorpion1 board initialisation
12451246   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4)         // 6809 CPU at 1 Mhz
12461247   MDRV_CPU_PROGRAM_MAP(memmap)                  // setup read and write memorymap
r9191r9192
12501251   MDRV_SOUND_ADD("aysnd",AY8912, MASTER_CLOCK/4)
12511252   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
12521253
1253   MDRV_NVRAM_HANDLER(generic_0fill)
1254   MDRV_NVRAM_ADD_0FILL("nvram")
12541255   MDRV_DEFAULT_LAYOUT(layout_awpvid14)
1255MACHINE_DRIVER_END
1256MACHINE_CONFIG_END
12561257
12571258/////////////////////////////////////////////////////////////////////////////////////
12581259// machine driver for scorpion1 board + adder2 extension ////////////////////////////
12591260/////////////////////////////////////////////////////////////////////////////////////
12601261
1261static MACHINE_DRIVER_START( scorpion1_adder2 )
1262   MDRV_IMPORT_FROM( scorpion1 )
1262static MACHINE_CONFIG_DERIVED( scorpion1_adder2, scorpion1 )
12631263
12641264   MDRV_CPU_MODIFY("maincpu")
12651265   MDRV_CPU_PROGRAM_MAP(memmap_adder2)            // setup read and write memorymap
r9191r9192
12831283   MDRV_CPU_ADD("adder2", M6809, ADDER_CLOCK/4 )      // adder2 board 6809 CPU at 2 Mhz
12841284   MDRV_CPU_PROGRAM_MAP(adder2_memmap)            // setup adder2 board memorymap
12851285   MDRV_CPU_VBLANK_INT("adder",adder2_vbl)            // board has a VBL IRQ
1286MACHINE_DRIVER_END
1286MACHINE_CONFIG_END
12871287
12881288/////////////////////////////////////////////////////////////////////////////////////
12891289// machine driver for scorpion1 board ///////////////////////////////////////////////
12901290/////////////////////////////////////////////////////////////////////////////////////
12911291
1292static MACHINE_DRIVER_START( scorpion1_nec_uk )
1293   MDRV_IMPORT_FROM( scorpion1 )
1292static MACHINE_CONFIG_DERIVED( scorpion1_nec_uk, scorpion1 )
12941293   MDRV_CPU_MODIFY("maincpu")
12951294   MDRV_CPU_PROGRAM_MAP(sc1_nec_uk)               // setup read and write memorymap
12961295
12971296   MDRV_SOUND_ADD("upd",UPD7759, UPD7759_STANDARD_CLOCK)
12981297   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1299MACHINE_DRIVER_END
1298MACHINE_CONFIG_END
13001299
13011300// ROM definition ///////////////////////////////////////////////////////////////////
13021301
src/mame/drivers/murogem.c
r9191r9192
207207};
208208
209209
210static MACHINE_DRIVER_START( murogem )
210static MACHINE_CONFIG_START( murogem, driver_device )
211211   /* basic machine hardware */
212212   MDRV_CPU_ADD("maincpu", M6802,8000000)       /* ? MHz */
213213   MDRV_CPU_PROGRAM_MAP(murogem_map)
r9191r9192
228228   MDRV_VIDEO_UPDATE(murogem)
229229
230230   MDRV_MC6845_ADD("crtc", MC6845, 750000, mc6845_intf) /* ? MHz */
231MACHINE_DRIVER_END
231MACHINE_CONFIG_END
232232
233233
234234ROM_START( murogem )
src/mame/drivers/snowbros.c
r9191r9192
124124
125125static INTERRUPT_GEN( snowbro3_interrupt )
126126{
127   running_device *adpcm = device->machine->device("oki");
128   int status = okim6295_r(adpcm,0);
127   okim6295_device *adpcm = device->machine->device<okim6295_device>("oki");
128   int status = adpcm->read_status();
129129
130130   cpu_set_input_line(device, cpu_getiloops(device) + 2, ASSERT_LINE);   /* IRQs 4, 3, and 2 */
131131
r9191r9192
133133   {
134134      if ((status&0x08)==0x00)
135135      {
136         okim6295_w(adpcm,0,0x80|sb3_music);
137         okim6295_w(adpcm,0,0x00|0x82);
136         adpcm->write_command(0x80|sb3_music);
137         adpcm->write_command(0x00|0x82);
138138      }
139139
140140   }
r9191r9192
142142   {
143143      if ((status&0x08)==0x08)
144144      {
145         okim6295_w(adpcm,0,0x40);      /* Stop playing music */
145         adpcm->write_command(0x40);      /* Stop playing music */
146146      }
147147   }
148148
r9191r9192
293293static ADDRESS_MAP_START( honeydol_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
294294   AM_RANGE(0x0000, 0x7fff) AM_ROM
295295   AM_RANGE(0x8000, 0x87ff) AM_RAM
296   AM_RANGE(0xe010, 0xe010) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
296   AM_RANGE(0xe010, 0xe010) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
297297ADDRESS_MAP_END
298298
299299static ADDRESS_MAP_START( honeydol_sound_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
343343   ADDRESS_MAP_GLOBAL_MASK(0xff)
344344   AM_RANGE(0x02, 0x02) AM_READWRITE(soundlatch_r, soundlatch_w) // back to 68k?
345345   AM_RANGE(0x04, 0x04) AM_DEVWRITE("oki", twinadv_oki_bank_w) // oki bank?
346   AM_RANGE(0x06, 0x06) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
346   AM_RANGE(0x06, 0x06) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
347347ADDRESS_MAP_END
348348
349349
r9191r9192
374374   AM_RANGE(0x0000, 0xcfff) AM_ROM
375375   AM_RANGE(0xd000, 0xd7ff) AM_RAM
376376   AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ymsnd", ym2151_r,ym2151_w)
377   AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki",okim6295_r,okim6295_w)
377   AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
378378   AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_r)
379379ADDRESS_MAP_END
380380
r9191r9192
426426   }
427427}
428428
429static void sb3_play_sound (running_device *device, int data)
429static void sb3_play_sound (okim6295_device *oki, int data)
430430{
431   int status = okim6295_r(device,0);
431   int status = oki->read_status();
432432
433433   if ((status&0x01)==0x00)
434434   {
435      okim6295_w(device,0,0x80|data);
436      okim6295_w(device,0,0x00|0x12);
435      oki->write_command(0x80|data);
436      oki->write_command(0x00|0x12);
437437   }
438438   else if ((status&0x02)==0x00)
439439   {
440      okim6295_w(device,0,0x80|data);
441      okim6295_w(device,0,0x00|0x22);
440      oki->write_command(0x80|data);
441      oki->write_command(0x00|0x22);
442442   }
443443   else if ((status&0x04)==0x00)
444444   {
445      okim6295_w(device,0,0x80|data);
446      okim6295_w(device,0,0x00|0x42);
445      oki->write_command(0x80|data);
446      oki->write_command(0x00|0x42);
447447   }
448448
449449
r9191r9192
451451
452452static WRITE16_DEVICE_HANDLER( sb3_sound_w )
453453{
454   okim6295_device *oki = downcast<okim6295_device *>(device);
454455   if (data == 0x00fe)
455456   {
456457      sb3_music_is_playing = 0;
457      okim6295_w(device,0,0x78);      /* Stop sounds */
458      oki->write_command(0x78);      /* Stop sounds */
458459   }
459460   else /* the alternating 0x00-0x2f or 0x30-0x5f might be something to do with the channels */
460461   {
r9191r9192
462463
463464      if (data <= 0x21)
464465      {
465         sb3_play_sound(device, data);
466         sb3_play_sound(oki, data);
466467      }
467468
468469      if (data>=0x22 && data<=0x31)
r9191r9192
472473
473474      if ((data>=0x30) && (data<=0x51))
474475      {
475         sb3_play_sound(device, data-0x30);
476         sb3_play_sound(oki, data-0x30);
476477      }
477478
478479      if (data>=0x52 && data<=0x5f)
r9191r9192
14451446   0, 0   /* x_offs, y_offs */
14461447};
14471448
1448static MACHINE_DRIVER_START( snowbros )
1449static MACHINE_CONFIG_START( snowbros, driver_device )
14491450
14501451   /* basic machine hardware */
14511452   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 Mhz - confirmed */
r9191r9192
14781479   MDRV_SOUND_ADD("ymsnd", YM3812, 3000000)
14791480   MDRV_SOUND_CONFIG(ym3812_config)
14801481   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1481MACHINE_DRIVER_END
1482MACHINE_CONFIG_END
14821483
14831484
1484static MACHINE_DRIVER_START( wintbob )
1485static MACHINE_CONFIG_DERIVED( wintbob, snowbros )
1486
14851487   /* basic machine hardware */
1486   MDRV_IMPORT_FROM(snowbros)
14871488   MDRV_CPU_MODIFY("maincpu")
14881489   MDRV_CPU_CLOCK(10000000) /* 10mhz - Confirmed */
14891490   MDRV_CPU_PROGRAM_MAP(wintbob_map)
r9191r9192
14941495   MDRV_GFXDECODE(wb)
14951496   MDRV_VIDEO_UPDATE(wintbob)
14961497   MDRV_VIDEO_EOF(0)
1497MACHINE_DRIVER_END
1498MACHINE_CONFIG_END
14981499
14991500
1500static MACHINE_DRIVER_START( semicom )
1501static MACHINE_CONFIG_DERIVED( semicom, snowbros )
15011502
15021503   /* basic machine hardware */
1503   MDRV_IMPORT_FROM(snowbros)
15041504   MDRV_CPU_MODIFY("maincpu")
15051505   MDRV_CPU_CLOCK(16000000) /* 16mhz or 12mhz ? */
15061506   MDRV_CPU_PROGRAM_MAP(hyperpac_map)
r9191r9192
15191519
15201520   MDRV_OKIM6295_ADD("oki", 999900, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
15211521   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1522MACHINE_DRIVER_END
1522MACHINE_CONFIG_END
15231523
15241524
15251525
1526static MACHINE_DRIVER_START( semicom_mcu )
1526static MACHINE_CONFIG_DERIVED( semicom_mcu, semicom )
15271527
15281528   /* basic machine hardware */
1529   MDRV_IMPORT_FROM(semicom)
15301529
15311530   MDRV_CPU_ADD("protection", I8052, 16000000)  // AT89C52
15321531   MDRV_CPU_PROGRAM_MAP(protection_map)
15331532   MDRV_CPU_IO_MAP(protection_iomap)
1534MACHINE_DRIVER_END
1533MACHINE_CONFIG_END
15351534
15361535
1537static MACHINE_DRIVER_START( semiprot )
1538   MDRV_IMPORT_FROM(semicom)
1536static MACHINE_CONFIG_DERIVED( semiprot, semicom )
15391537   MDRV_MACHINE_RESET ( semiprot )
1540MACHINE_DRIVER_END
1538MACHINE_CONFIG_END
15411539
15421540/*
15431541
r9191r9192
15591557See included pics
15601558*/
15611559
1562static MACHINE_DRIVER_START( honeydol )
1560static MACHINE_CONFIG_START( honeydol, driver_device )
15631561
15641562   /* basic machine hardware */
15651563   MDRV_CPU_ADD("maincpu", M68000, 16000000)
r9191r9192
15951593
15961594   MDRV_OKIM6295_ADD("oki", 999900, OKIM6295_PIN7_HIGH) /* freq? */
15971595   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1598MACHINE_DRIVER_END
1596MACHINE_CONFIG_END
15991597
1600static MACHINE_DRIVER_START( twinadv )
1598static MACHINE_CONFIG_START( twinadv, driver_device )
16011599
16021600   /* basic machine hardware */
16031601   MDRV_CPU_ADD("maincpu", M68000, 16000000) // or 12
r9191r9192
16281626   /* sound hardware */
16291627   MDRV_OKIM6295_ADD("oki", 12000000/12, OKIM6295_PIN7_HIGH) /* freq? */
16301628   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1631MACHINE_DRIVER_END
1629MACHINE_CONFIG_END
16321630
16331631
16341632/*
r9191r9192
16491647
16501648*/
16511649
1652static MACHINE_DRIVER_START( finalttr )
1653   MDRV_IMPORT_FROM(semicom)
1650static MACHINE_CONFIG_DERIVED( finalttr, semicom )
16541651
16551652   MDRV_CPU_MODIFY("maincpu")
16561653   MDRV_CPU_CLOCK(12000000)
r9191r9192
16681665
16691666   MDRV_OKIM6295_REPLACE("oki", 999900, OKIM6295_PIN7_HIGH)
16701667   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
1671MACHINE_DRIVER_END
1668MACHINE_CONFIG_END
16721669
16731670
1674static MACHINE_DRIVER_START( _4in1 )
1671static MACHINE_CONFIG_DERIVED( _4in1, semicom )
1672
16751673   /* basic machine hardware */
1676   MDRV_IMPORT_FROM(semicom)
16771674   MDRV_GFXDECODE(snowbros)
1678MACHINE_DRIVER_END
1675MACHINE_CONFIG_END
16791676
1680static MACHINE_DRIVER_START( snowbro3 )
1677static MACHINE_CONFIG_START( snowbro3, driver_device )
16811678
16821679   /* basic machine hardware */
16831680   MDRV_CPU_ADD("maincpu", M68000, 16000000) /* 16mhz or 12mhz ? */
r9191r9192
17021699
17031700   MDRV_OKIM6295_ADD("oki", 999900, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
17041701   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1705MACHINE_DRIVER_END
1702MACHINE_CONFIG_END
17061703
17071704/***************************************************************************
17081705
src/mame/drivers/segaxbd.c
r9191r9192
13631363   NULL, NULL
13641364};
13651365
1366static MACHINE_DRIVER_START( xboard )
1366static MACHINE_CONFIG_START( xboard, segas1x_state )
13671367
1368   /* driver data */
1369   MDRV_DRIVER_DATA(segas1x_state)
1370
13711368   /* basic machine hardware */
13721369   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK/4)
13731370   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
14151412   MDRV_SOUND_CONFIG(segapcm_interface)
14161413   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
14171414   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1418MACHINE_DRIVER_END
1415MACHINE_CONFIG_END
14191416
14201417
1421static MACHINE_DRIVER_START( smgp )
1422   MDRV_IMPORT_FROM(xboard)
1418static MACHINE_CONFIG_DERIVED( smgp, xboard )
14231419
14241420   MDRV_CPU_ADD("comm", Z80, 4000000)
14251421   MDRV_CPU_PROGRAM_MAP(smgp_comm_map)
14261422   MDRV_CPU_IO_MAP(smgp_comm_portmap)
1427MACHINE_DRIVER_END
1423MACHINE_CONFIG_END
14281424
14291425
14301426
src/mame/drivers/nbmj9195.c
r9191r9192
29112911};
29122912
29132913
2914static MACHINE_DRIVER_START( NBMJDRV1 )
2914static MACHINE_CONFIG_START( NBMJDRV1, driver_device )
29152915
29162916   /* basic machine hardware */
29172917   MDRV_CPU_ADD("maincpu", Z80, 12000000/2)      /* TMPZ84C011, 6.00 MHz */
r9191r9192
29552955
29562956   MDRV_SOUND_ADD("dac2", DAC, 0)
29572957   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2958MACHINE_DRIVER_END
2958MACHINE_CONFIG_END
29592959
29602960
2961static MACHINE_DRIVER_START( NBMJDRV2 )
2961static MACHINE_CONFIG_DERIVED( NBMJDRV2, NBMJDRV1 )
29622962
29632963   /* basic machine hardware */
2964   MDRV_IMPORT_FROM( NBMJDRV1 )
29652964
29662965   /* video hardware */
29672966   MDRV_VIDEO_START(nbmj9195_1layer)
2968MACHINE_DRIVER_END
2967MACHINE_CONFIG_END
29692968
29702969
2971static MACHINE_DRIVER_START( NBMJDRV3 )
2970static MACHINE_CONFIG_DERIVED( NBMJDRV3, NBMJDRV1 )
29722971
29732972   /* basic machine hardware */
2974   MDRV_IMPORT_FROM( NBMJDRV1 )
29752973
29762974   /* video hardware */
29772975   MDRV_PALETTE_LENGTH(512)
29782976
29792977   MDRV_VIDEO_START(nbmj9195_nb22090)
29802978   MDRV_VIDEO_UPDATE(nbmj9195)
2981MACHINE_DRIVER_END
2979MACHINE_CONFIG_END
29822980
29832981
29842982//-------------------------------------------------------------------------
29852983
2986static MACHINE_DRIVER_START( mjuraden )
2984static MACHINE_CONFIG_DERIVED( mjuraden, NBMJDRV1 )
29872985
29882986   /* basic machine hardware */
2989   MDRV_IMPORT_FROM( NBMJDRV1 )
29902987   MDRV_CPU_MODIFY("maincpu")
29912988   MDRV_CPU_PROGRAM_MAP(mjuraden_map)
29922989   MDRV_CPU_IO_MAP(mjuraden_io_map)
2993MACHINE_DRIVER_END
2990MACHINE_CONFIG_END
29942991
29952992
2996static MACHINE_DRIVER_START( koinomp )
2993static MACHINE_CONFIG_DERIVED( koinomp, NBMJDRV1 )
29972994
29982995   /* basic machine hardware */
2999   MDRV_IMPORT_FROM( NBMJDRV1 )
30002996   MDRV_CPU_MODIFY("maincpu")
30012997   MDRV_CPU_PROGRAM_MAP(koinomp_map)
30022998   MDRV_CPU_IO_MAP(koinomp_io_map)
3003MACHINE_DRIVER_END
2999MACHINE_CONFIG_END
30043000
30053001
3006static MACHINE_DRIVER_START( patimono )
3002static MACHINE_CONFIG_DERIVED( patimono, NBMJDRV1 )
30073003
30083004   /* basic machine hardware */
3009   MDRV_IMPORT_FROM( NBMJDRV1 )
30103005   MDRV_CPU_MODIFY("maincpu")
30113006   MDRV_CPU_IO_MAP(patimono_io_map)
3012MACHINE_DRIVER_END
3007MACHINE_CONFIG_END
30133008
30143009
3015static MACHINE_DRIVER_START( janbari )
3010static MACHINE_CONFIG_DERIVED( janbari, NBMJDRV1 )
30163011
30173012   /* basic machine hardware */
3018   MDRV_IMPORT_FROM( NBMJDRV1 )
30193013   MDRV_CPU_MODIFY("maincpu")
30203014   MDRV_CPU_IO_MAP(patimono_io_map)
30213015
30223016   MDRV_NVRAM_HANDLER(nbmj9195)
3023MACHINE_DRIVER_END
3017MACHINE_CONFIG_END
30243018
30253019
3026static MACHINE_DRIVER_START( mmehyou )
3020static MACHINE_CONFIG_DERIVED( mmehyou, NBMJDRV1 )
30273021
30283022   /* basic machine hardware */
3029   MDRV_IMPORT_FROM( NBMJDRV1 )
30303023   MDRV_CPU_MODIFY("maincpu")
30313024   MDRV_CPU_PROGRAM_MAP(koinomp_map)
30323025   MDRV_CPU_IO_MAP(mmehyou_io_map)
30333026
30343027   MDRV_NVRAM_HANDLER(nbmj9195)
3035MACHINE_DRIVER_END
3028MACHINE_CONFIG_END
30363029
30373030
3038static MACHINE_DRIVER_START( ultramhm )
3031static MACHINE_CONFIG_DERIVED( ultramhm, NBMJDRV1 )
30393032
30403033   /* basic machine hardware */
3041   MDRV_IMPORT_FROM( NBMJDRV1 )
30423034   MDRV_CPU_MODIFY("maincpu")
30433035   MDRV_CPU_PROGRAM_MAP(koinomp_map)
30443036   MDRV_CPU_IO_MAP(koinomp_io_map)
30453037
30463038   MDRV_NVRAM_HANDLER(nbmj9195)
3047MACHINE_DRIVER_END
3039MACHINE_CONFIG_END
30483040
30493041
3050static MACHINE_DRIVER_START( gal10ren )
3042static MACHINE_CONFIG_DERIVED( gal10ren, NBMJDRV1 )
30513043
30523044   /* basic machine hardware */
3053   MDRV_IMPORT_FROM( NBMJDRV1 )
30543045   MDRV_CPU_MODIFY("maincpu")
30553046   MDRV_CPU_IO_MAP(gal10ren_io_map)
3056MACHINE_DRIVER_END
3047MACHINE_CONFIG_END
30573048
30583049
3059static MACHINE_DRIVER_START( renaiclb )
3050static MACHINE_CONFIG_DERIVED( renaiclb, NBMJDRV1 )
30603051
30613052   /* basic machine hardware */
3062   MDRV_IMPORT_FROM( NBMJDRV1 )
30633053   MDRV_CPU_MODIFY("maincpu")
30643054   MDRV_CPU_IO_MAP(renaiclb_io_map)
3065MACHINE_DRIVER_END
3055MACHINE_CONFIG_END
30663056
30673057
3068static MACHINE_DRIVER_START( mjlaman )
3058static MACHINE_CONFIG_DERIVED( mjlaman, NBMJDRV1 )
30693059
30703060   /* basic machine hardware */
3071   MDRV_IMPORT_FROM( NBMJDRV1 )
30723061   MDRV_CPU_MODIFY("maincpu")
30733062   MDRV_CPU_IO_MAP(mjlaman_io_map)
3074MACHINE_DRIVER_END
3063MACHINE_CONFIG_END
30753064
30763065
3077static MACHINE_DRIVER_START( mkeibaou )
3066static MACHINE_CONFIG_DERIVED( mkeibaou, NBMJDRV1 )
30783067
30793068   /* basic machine hardware */
3080   MDRV_IMPORT_FROM( NBMJDRV1 )
30813069   MDRV_CPU_MODIFY("maincpu")
30823070   MDRV_CPU_IO_MAP(mkeibaou_io_map)
3083MACHINE_DRIVER_END
3071MACHINE_CONFIG_END
30843072
30853073
3086static MACHINE_DRIVER_START( pachiten )
3074static MACHINE_CONFIG_DERIVED( pachiten, NBMJDRV1 )
30873075
30883076   /* basic machine hardware */
3089   MDRV_IMPORT_FROM( NBMJDRV1 )
30903077   MDRV_CPU_MODIFY("maincpu")
30913078   MDRV_CPU_IO_MAP(pachiten_io_map)
30923079
30933080   MDRV_NVRAM_HANDLER(nbmj9195)
3094MACHINE_DRIVER_END
3081MACHINE_CONFIG_END
30953082
30963083
3097static MACHINE_DRIVER_START( sailorws )
3084static MACHINE_CONFIG_DERIVED( sailorws, NBMJDRV1 )
30983085
30993086   /* basic machine hardware */
3100   MDRV_IMPORT_FROM( NBMJDRV1 )
3101MACHINE_DRIVER_END
3087MACHINE_CONFIG_END
31023088
31033089
3104static MACHINE_DRIVER_START( sailorwr )
3090static MACHINE_CONFIG_DERIVED( sailorwr, NBMJDRV1 )
31053091
31063092   /* basic machine hardware */
3107   MDRV_IMPORT_FROM( NBMJDRV1 )
31083093   MDRV_CPU_MODIFY("maincpu")
31093094   MDRV_CPU_IO_MAP(sailorwr_io_map)
31103095
31113096   MDRV_NVRAM_HANDLER(nbmj9195)
3112MACHINE_DRIVER_END
3097MACHINE_CONFIG_END
31133098
31143099
3115static MACHINE_DRIVER_START( psailor1 )
3100static MACHINE_CONFIG_DERIVED( psailor1, NBMJDRV1 )
31163101
31173102   /* basic machine hardware */
3118   MDRV_IMPORT_FROM( NBMJDRV1 )
31193103   MDRV_CPU_MODIFY("maincpu")
31203104   MDRV_CPU_IO_MAP(psailor1_io_map)
3121MACHINE_DRIVER_END
3105MACHINE_CONFIG_END
31223106
31233107
3124static MACHINE_DRIVER_START( psailor2 )
3108static MACHINE_CONFIG_DERIVED( psailor2, NBMJDRV1 )
31253109
31263110   /* basic machine hardware */
3127   MDRV_IMPORT_FROM( NBMJDRV1 )
31283111   MDRV_CPU_MODIFY("maincpu")
31293112   MDRV_CPU_IO_MAP(psailor2_io_map)
3130MACHINE_DRIVER_END
3113MACHINE_CONFIG_END
31313114
31323115
3133static MACHINE_DRIVER_START( otatidai )
3116static MACHINE_CONFIG_DERIVED( otatidai, NBMJDRV1 )
31343117
31353118   /* basic machine hardware */
3136   MDRV_IMPORT_FROM( NBMJDRV1 )
31373119   MDRV_CPU_MODIFY("maincpu")
31383120   MDRV_CPU_IO_MAP(otatidai_io_map)
3139MACHINE_DRIVER_END
3121MACHINE_CONFIG_END
31403122
31413123
3142static MACHINE_DRIVER_START( yosimoto )
3124static MACHINE_CONFIG_DERIVED( yosimoto, NBMJDRV1 )
31433125
31443126   /* basic machine hardware */
3145   MDRV_IMPORT_FROM( NBMJDRV1 )
31463127   MDRV_CPU_MODIFY("maincpu")
31473128   MDRV_CPU_IO_MAP(yosimoto_io_map)
3148MACHINE_DRIVER_END
3129MACHINE_CONFIG_END
31493130
31503131
3151static MACHINE_DRIVER_START( jituroku )
3132static MACHINE_CONFIG_DERIVED( jituroku, NBMJDRV1 )
31523133
31533134   /* basic machine hardware */
3154   MDRV_IMPORT_FROM( NBMJDRV1 )
31553135   MDRV_CPU_MODIFY("maincpu")
31563136   MDRV_CPU_IO_MAP(jituroku_io_map)
3157MACHINE_DRIVER_END
3137MACHINE_CONFIG_END
31583138
31593139
3160static MACHINE_DRIVER_START( ngpgal )
3140static MACHINE_CONFIG_DERIVED( ngpgal, NBMJDRV2 )
31613141
31623142   /* basic machine hardware */
3163   MDRV_IMPORT_FROM( NBMJDRV2 )
31643143   MDRV_CPU_MODIFY("maincpu")
31653144   MDRV_CPU_PROGRAM_MAP(ngpgal_map)
31663145   MDRV_CPU_IO_MAP(ngpgal_io_map)
3167MACHINE_DRIVER_END
3146MACHINE_CONFIG_END
31683147
31693148
3170static MACHINE_DRIVER_START( mjgottsu )
3149static MACHINE_CONFIG_DERIVED( mjgottsu, NBMJDRV2 )
31713150
31723151   /* basic machine hardware */
3173   MDRV_IMPORT_FROM( NBMJDRV2 )
31743152   MDRV_CPU_MODIFY("maincpu")
31753153   MDRV_CPU_PROGRAM_MAP(ngpgal_map)
31763154   MDRV_CPU_IO_MAP(mjgottsu_io_map)
3177MACHINE_DRIVER_END
3155MACHINE_CONFIG_END
31783156
31793157
3180static MACHINE_DRIVER_START( bakuhatu )
3158static MACHINE_CONFIG_DERIVED( bakuhatu, NBMJDRV2 )
31813159
31823160   /* basic machine hardware */
3183   MDRV_IMPORT_FROM( NBMJDRV2 )
31843161   MDRV_CPU_MODIFY("maincpu")
31853162   MDRV_CPU_PROGRAM_MAP(ngpgal_map)
31863163   MDRV_CPU_IO_MAP(mjgottsu_io_map)
3187MACHINE_DRIVER_END
3164MACHINE_CONFIG_END
31883165
31893166
3190static MACHINE_DRIVER_START( cmehyou )
3167static MACHINE_CONFIG_DERIVED( cmehyou, NBMJDRV2 )
31913168
31923169   /* basic machine hardware */
3193   MDRV_IMPORT_FROM( NBMJDRV2 )
31943170   MDRV_CPU_MODIFY("maincpu")
31953171   MDRV_CPU_PROGRAM_MAP(ngpgal_map)
31963172   MDRV_CPU_IO_MAP(cmehyou_io_map)
3197MACHINE_DRIVER_END
3173MACHINE_CONFIG_END
31983174
31993175
3200static MACHINE_DRIVER_START( mjkoiura )
3176static MACHINE_CONFIG_DERIVED( mjkoiura, NBMJDRV2 )
32013177
32023178   /* basic machine hardware */
3203   MDRV_IMPORT_FROM( NBMJDRV2 )
32043179   MDRV_CPU_MODIFY("maincpu")
32053180   MDRV_CPU_PROGRAM_MAP(mjuraden_map)
32063181   MDRV_CPU_IO_MAP(mjkoiura_io_map)
3207MACHINE_DRIVER_END
3182MACHINE_CONFIG_END
32083183
32093184
3210static MACHINE_DRIVER_START( mkoiuraa )
3185static MACHINE_CONFIG_DERIVED( mkoiuraa, NBMJDRV2 )
32113186
32123187   /* basic machine hardware */
3213   MDRV_IMPORT_FROM( NBMJDRV2 )
32143188   MDRV_CPU_MODIFY("maincpu")
32153189   MDRV_CPU_PROGRAM_MAP(mjuraden_map)
32163190   MDRV_CPU_IO_MAP(mkoiuraa_io_map)
3217MACHINE_DRIVER_END
3191MACHINE_CONFIG_END
32183192
32193193
3220static MACHINE_DRIVER_START( mscoutm )
3194static MACHINE_CONFIG_DERIVED( mscoutm, NBMJDRV3 )
32213195
32223196   /* basic machine hardware */
3223   MDRV_IMPORT_FROM( NBMJDRV3 )
32243197   MDRV_CPU_MODIFY("maincpu")
32253198   MDRV_CPU_PROGRAM_MAP(mscoutm_map)
32263199   MDRV_CPU_IO_MAP(mscoutm_io_map)
3227MACHINE_DRIVER_END
3200MACHINE_CONFIG_END
32283201
32293202
3230static MACHINE_DRIVER_START( imekura )
3203static MACHINE_CONFIG_DERIVED( imekura, NBMJDRV3 )
32313204
32323205   /* basic machine hardware */
3233   MDRV_IMPORT_FROM( NBMJDRV3 )
32343206   MDRV_CPU_MODIFY("maincpu")
32353207   MDRV_CPU_PROGRAM_MAP(mjegolf_map)
32363208   MDRV_CPU_IO_MAP(imekura_io_map)
3237MACHINE_DRIVER_END
3209MACHINE_CONFIG_END
32383210
32393211
3240static MACHINE_DRIVER_START( mjegolf )
3212static MACHINE_CONFIG_DERIVED( mjegolf, NBMJDRV3 )
32413213
32423214   /* basic machine hardware */
3243   MDRV_IMPORT_FROM( NBMJDRV3 )
32443215   MDRV_CPU_MODIFY("maincpu")
32453216   MDRV_CPU_PROGRAM_MAP(mjegolf_map)
32463217   MDRV_CPU_IO_MAP(mjegolf_io_map)
3247MACHINE_DRIVER_END
3218MACHINE_CONFIG_END
32483219
32493220
32503221ROM_START( mjuraden )
src/mame/drivers/sslam.c
r9191r9192
221221   int pattern = 0;
222222   okim6295_device *device = machine->device<okim6295_device>("oki");
223223
224   if ((okim6295_r(device,0) & 0x08) == 0)
224   if ((device->read_status() & 0x08) == 0)
225225   {
226226      if (state->bar != 0) {
227227         state->bar += 1;
r9191r9192
242242      }
243243      if (pattern) {
244244         logerror("Changing bar in music track to pattern %02x\n",pattern);
245         okim6295_w(device,0,(0x80 | pattern));
246         okim6295_w(device,0,0x81);
245         device->write_command(0x80 | pattern);
246         device->write_command(0x81);
247247      }
248248   }
249249
r9191r9192
258258static void sslam_play(running_device *device, int track, int data)
259259{
260260   sslam_state *state = device->machine->driver_data<sslam_state>();
261   int status = okim6295_r(device,0);
261   okim6295_device *oki = downcast<okim6295_device *>(device);
262   int status = oki->read_status();
262263
263264   if (data < 0x80) {
264265      if (state->track) {
r9191r9192
266267            state->track  = data;
267268            state->bar = 1;
268269            if (status & 0x08)
269               okim6295_w(device,0,0x40);
270            okim6295_w(device,0,(0x80 | data));
271            okim6295_w(device,0,0x81);
270               oki->write_command(0x40);
271            oki->write_command((0x80 | data));
272            oki->write_command(0x81);
272273            timer_adjust_periodic(state->music_timer, ATTOTIME_IN_MSEC(4), 0, ATTOTIME_IN_HZ(250));   /* 250Hz for smooth sequencing */
273274         }
274275      }
275276      else {
276277         if ((status & 0x01) == 0) {
277            okim6295_w(device,0,(0x80 | data));
278            okim6295_w(device,0,0x11);
278            oki->write_command((0x80 | data));
279            oki->write_command(0x11);
279280         }
280281         else if ((status & 0x02) == 0) {
281            okim6295_w(device,0,(0x80 | data));
282            okim6295_w(device,0,0x21);
282            oki->write_command((0x80 | data));
283            oki->write_command(0x21);
283284         }
284285         else if ((status & 0x04) == 0) {
285            okim6295_w(device,0,(0x80 | data));
286            okim6295_w(device,0,0x41);
286            oki->write_command((0x80 | data));
287            oki->write_command(0x41);
287288         }
288289      }
289290   }
r9191r9192
295296         state->bar = 0;
296297      }
297298      data &= 0x7f;
298      okim6295_w(device,0,data);
299      oki->write_command(data);
299300   }
300301}
301302
r9191r9192
441442      data = soundlatch_r(space,0);
442443   }
443444   else if ((state->oki_control & 0x38) == 0x28) {
444      data = (okim6295_r(space->machine->device("oki"),0) & 0x0f);
445      data = (space->machine->device<okim6295_device>("oki")->read(*space,0) & 0x0f);
445446   }
446447
447448   return data;
r9191r9192
471472
472473   if ((data & 0x38) == 0x18)
473474   {
474      okim6295_w(space->machine->device("oki"), 0, state->oki_command);
475      space->machine->device<okim6295_device>("oki")->write(*space, 0, state->oki_command);
475476   }
476477
477478//  !(data & 0x80) -> sound enable
r9191r9192
710711
711712/* Machine Driver */
712713
713static MACHINE_DRIVER_START( sslam )
714static MACHINE_CONFIG_START( sslam, sslam_state )
714715
715   MDRV_DRIVER_DATA( sslam_state )
716
717716   /* basic machine hardware */
718717   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
719718   MDRV_CPU_PROGRAM_MAP(sslam_program_map)
r9191r9192
741740
742741   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
743742   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
744MACHINE_DRIVER_END
743MACHINE_CONFIG_END
745744
746static MACHINE_DRIVER_START( powerbls )
745static MACHINE_CONFIG_START( powerbls, sslam_state )
747746
748   MDRV_DRIVER_DATA( sslam_state )
749
750747   /* basic machine hardware */
751748   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
752749   MDRV_CPU_PROGRAM_MAP(powerbls_map)
r9191r9192
774771
775772   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)   /* verified on original PCB */
776773   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
777MACHINE_DRIVER_END
774MACHINE_CONFIG_END
778775
779776/* maybe one dump is bad .. which? -> 2nd set was verified good from 2 pcbs */
780777
src/mame/drivers/sonson.c
r9191r9192
243243   state->last_irq = 0;
244244}
245245
246static MACHINE_DRIVER_START( sonson )
246static MACHINE_CONFIG_START( sonson, sonson_state )
247247
248   /* driver data */
249   MDRV_DRIVER_DATA(sonson_state)
250
251248   /* basic machine hardware */
252249   MDRV_CPU_ADD("maincpu", M6809,12000000/6)   /* 2 MHz ??? */
253250   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
282279
283280   MDRV_SOUND_ADD("ay2", AY8910, 12000000/8)
284281   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
285MACHINE_DRIVER_END
282MACHINE_CONFIG_END
286283
287284
288285
src/mame/drivers/hcastle.c
r9191r9192
205205   state->old_pf2 = -1;
206206}
207207
208static MACHINE_DRIVER_START( hcastle )
208static MACHINE_CONFIG_START( hcastle, hcastle_state )
209209
210   /* driver data */
211   MDRV_DRIVER_DATA(hcastle_state)
212
213210   /* basic machine hardware */
214211   MDRV_CPU_ADD("maincpu", KONAMI, 3000000)   /* Derived from 24 MHz clock */
215212   MDRV_CPU_PROGRAM_MAP(hcastle_map)
r9191r9192
255252
256253   MDRV_SOUND_ADD("konami2", K051649, 3579545/2)
257254   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
258MACHINE_DRIVER_END
255MACHINE_CONFIG_END
259256
260257/***************************************************************************/
261258
src/mame/drivers/copsnrob.c
r9191r9192
271271}
272272
273273
274static MACHINE_DRIVER_START( copsnrob )
274static MACHINE_CONFIG_START( copsnrob, copsnrob_state )
275275
276   /* driver data */
277   MDRV_DRIVER_DATA(copsnrob_state)
278
279276   /* basic machine hardware */
280277   MDRV_CPU_ADD("maincpu", M6502,14318180/16)      /* 894886.25 kHz */
281278   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
296293
297294   MDRV_PALETTE_INIT(copsnrob)
298295   MDRV_VIDEO_UPDATE(copsnrob)
299MACHINE_DRIVER_END
296MACHINE_CONFIG_END
300297
301298
302299
src/mame/drivers/cntsteer.c
r9191r9192
2929#include "sound/dac.h"
3030
3131
32class cntsteer_state : public driver_data_t
32class cntsteer_state : public driver_device
3333{
3434public:
35   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cntsteer_state(machine)); }
35   cntsteer_state(running_machine &machine, const driver_device_config_base &config)
36      : driver_device(machine, config) { }
3637
37   cntsteer_state(running_machine &machine)
38      : driver_data_t(machine) { }
39
4038   /* memory pointers */
4139   UINT8 *  videoram;
4240   UINT8 *  videoram2;
r9191r9192
850848   DEVCB_NULL
851849};
852850
853static MACHINE_DRIVER_START( cntsteer )
851static MACHINE_CONFIG_START( cntsteer, cntsteer_state )
854852
855   /* driver data */
856   MDRV_DRIVER_DATA(cntsteer_state)
857
858853   /* basic machine hardware */
859854   MDRV_CPU_ADD("maincpu", M6809, 2000000)       /* ? */
860855   MDRV_CPU_PROGRAM_MAP(cntsteer_cpu1_map)
r9191r9192
899894
900895   MDRV_SOUND_ADD("dac", DAC, 0)
901896   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
902MACHINE_DRIVER_END
897MACHINE_CONFIG_END
903898
904static MACHINE_DRIVER_START( zerotrgt )
899static MACHINE_CONFIG_START( zerotrgt, cntsteer_state )
905900
906   /* driver data */
907   MDRV_DRIVER_DATA(cntsteer_state)
908
909901   /* basic machine hardware */
910902   MDRV_CPU_ADD("maincpu", M6809, 2000000)       /* ? */
911903   MDRV_CPU_PROGRAM_MAP(gekitsui_cpu1_map)
r9191r9192
947939
948940   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
949941   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
950MACHINE_DRIVER_END
942MACHINE_CONFIG_END
951943
952944/***************************************************************************/
953945
src/mame/drivers/skeetsht.c
r9191r9192
1717 *
1818 *************************************/
1919
20class skeetsht_state : public driver_data_t
20class skeetsht_state : public driver_device
2121{
2222public:
23   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, skeetsht_state(machine)); }
23   skeetsht_state(running_machine &machine, const driver_device_config_base &config)
24      : driver_device(machine, config) { }
2425
25   skeetsht_state(running_machine &machine)
26      : driver_data_t(machine) { }
27
2826   UINT16 *tms_vram;
2927   UINT8 porta_latch;
3028   UINT8 ay_sel;
r9191r9192
247245 *
248246 *************************************/
249247
250static MACHINE_DRIVER_START( skeetsht )
248static MACHINE_CONFIG_START( skeetsht, skeetsht_state )
251249
252   MDRV_DRIVER_DATA( skeetsht_state )
253
254250   MDRV_CPU_ADD("68hc11", MC68HC11, 4000000) // ?
255251   MDRV_CPU_PROGRAM_MAP(hc11_pgm_map)
256252   MDRV_CPU_IO_MAP(hc11_io_map)
r9191r9192
275271
276272   MDRV_SOUND_ADD("aysnd", AY8910, 2000000) // ?
277273   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
278MACHINE_DRIVER_END
274MACHINE_CONFIG_END
279275
280276
281277/*************************************
src/mame/drivers/bking.c
r9191r9192
518518   state->ddr_c = 0;
519519}
520520
521static MACHINE_DRIVER_START( bking )
521static MACHINE_CONFIG_START( bking, buggychl_state )
522522
523   /* driver data */
524   MDRV_DRIVER_DATA(buggychl_state)
525
526523   /* basic machine hardware */
527524   MDRV_CPU_ADD("main_cpu", Z80, XTAL_12MHz/4)   /* 3 MHz */
528525   MDRV_CPU_PROGRAM_MAP(bking_map)
r9191r9192
567564
568565   MDRV_SOUND_ADD("dac", DAC, 0)
569566   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
570MACHINE_DRIVER_END
567MACHINE_CONFIG_END
571568
572static MACHINE_DRIVER_START( bking3 )
573   MDRV_IMPORT_FROM(bking)
569static MACHINE_CONFIG_DERIVED( bking3, bking )
574570
575571   MDRV_CPU_MODIFY("main_cpu")
576572   MDRV_CPU_IO_MAP(bking3_io_map)
r9191r9192
582578   MDRV_MACHINE_RESET(bking3)
583579
584580   MDRV_QUANTUM_TIME(HZ(6000))
585MACHINE_DRIVER_END
581MACHINE_CONFIG_END
586582
587583/***************************************************************************
588584
src/mame/drivers/dblewing.c
r9191r9192
2525#include "sound/okim6295.h"
2626#include "video/deco16ic.h"
2727
28class dblewing_state : public driver_data_t
28class dblewing_state : public driver_device
2929{
3030public:
31   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dblewing_state(machine)); }
31   dblewing_state(running_machine &machine, const driver_device_config_base &config)
32      : driver_device(machine, config) { }
3233
33   dblewing_state(running_machine &machine)
34      : driver_data_t(machine) { }
35
3634   /* memory pointers */
3735   UINT16 *  pf1_rowscroll;
3836   UINT16 *  pf2_rowscroll;
r9191r9192
445443   AM_RANGE(0x0000, 0x7fff) AM_ROM
446444   AM_RANGE(0x8000, 0x87ff) AM_RAM
447445   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym2151_status_port_r,ym2151_w)
448   AM_RANGE(0xb000, 0xb000) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
446   AM_RANGE(0xb000, 0xb000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
449447   AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r)
450448   AM_RANGE(0xd000, 0xd000) AM_READ(irq_latch_r) //timing? sound latch?
451   AM_RANGE(0xf000, 0xf000) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
449   AM_RANGE(0xf000, 0xf000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
452450ADDRESS_MAP_END
453451
454452static ADDRESS_MAP_START( sound_io, ADDRESS_SPACE_IO, 8 )
r9191r9192
732730   state->sound_irq = 0;
733731}
734732
735static MACHINE_DRIVER_START( dblewing )
733static MACHINE_CONFIG_START( dblewing, dblewing_state )
736734
737   /* driver data */
738   MDRV_DRIVER_DATA(dblewing_state)
739
740735   /* basic machine hardware */
741736   MDRV_CPU_ADD("maincpu", M68000, 14000000)   /* DE102 */
742737   MDRV_CPU_PROGRAM_MAP(dblewing_map)
r9191r9192
775770
776771   MDRV_OKIM6295_ADD("oki", 32220000/32, OKIM6295_PIN7_HIGH)
777772   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
778MACHINE_DRIVER_END
773MACHINE_CONFIG_END
779774
780775
781776/*
src/mame/drivers/arabian.c
r9191r9192
390390   state->flip_screen = 0;
391391}
392392
393static MACHINE_DRIVER_START( arabian )
393static MACHINE_CONFIG_START( arabian, arabian_state )
394394
395   /* driver data */
396   MDRV_DRIVER_DATA(arabian_state)
397
398395   /* basic machine hardware */
399396   MDRV_CPU_ADD("maincpu", Z80, MAIN_OSC/4)
400397   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
423420   MDRV_SOUND_ADD("aysnd", AY8910, MAIN_OSC/4/2)
424421   MDRV_SOUND_CONFIG(ay8910_config)
425422   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
426MACHINE_DRIVER_END
423MACHINE_CONFIG_END
427424
428425
429426
src/mame/drivers/labyrunr.c
r9191r9192
193193   state->k007121 = machine->device("k007121");
194194}
195195
196static MACHINE_DRIVER_START( labyrunr )
196static MACHINE_CONFIG_START( labyrunr, labyrunr_state )
197197
198   /* driver data */
199   MDRV_DRIVER_DATA(labyrunr_state)
200
201198   /* basic machine hardware */
202199   MDRV_CPU_ADD("maincpu", HD6309, 3000000*4)      /* 24MHz/8? */
203200   MDRV_CPU_PROGRAM_MAP(labyrunr_map)
r9191r9192
239236   MDRV_SOUND_ROUTE(1, "mono", 0.40)
240237   MDRV_SOUND_ROUTE(2, "mono", 0.40)
241238   MDRV_SOUND_ROUTE(3, "mono", 0.80)
242MACHINE_DRIVER_END
239MACHINE_CONFIG_END
243240
244241
245242/***************************************************************************
src/mame/drivers/shougi.c
r9191r9192
8787#include "sound/ay8910.h"
8888#include "video/resnet.h"
8989
90class shougi_state : public driver_data_t
90class shougi_state : public driver_device
9191{
9292public:
93   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, shougi_state(machine)); }
93   shougi_state(running_machine &machine, const driver_device_config_base &config)
94      : driver_device(machine, config) { }
9495
95   shougi_state(running_machine &machine)
96      : driver_data_t(machine) { }
97
9896   UINT8 *videoram;
9997   int nmi_enabled;
10098   //UINT8 *cpu_sharedram;
r9191r9192
392390
393391
394392
395static MACHINE_DRIVER_START( shougi )
393static MACHINE_CONFIG_START( shougi, shougi_state )
396394
397   MDRV_DRIVER_DATA( shougi_state )
398
399395   MDRV_CPU_ADD("maincpu", Z80,10000000/4)
400396   MDRV_CPU_PROGRAM_MAP(main_map)
401397   MDRV_CPU_VBLANK_INT("screen", shougi_vblank_nmi)
r9191r9192
430426
431427   MDRV_SOUND_ADD("aysnd", AY8910, 10000000/8)
432428   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
433MACHINE_DRIVER_END
429MACHINE_CONFIG_END
434430
435431
436432
src/mame/drivers/taito_o.c
r9191r9192
246246   state->tc0080vco = machine->device("tc0080vco");
247247}
248248
249static MACHINE_DRIVER_START( parentj )
249static MACHINE_CONFIG_START( parentj, taitoo_state )
250250
251   MDRV_DRIVER_DATA(taitoo_state)
252
253251   MDRV_CPU_ADD("maincpu", M68000,12000000 )      /*?? MHz */
254252   MDRV_CPU_PROGRAM_MAP(parentj_map)
255253   MDRV_CPU_VBLANK_INT_HACK(parentj_interrupt,2)
r9191r9192
278276   MDRV_SOUND_ROUTE(0, "mono", 0.25)
279277   MDRV_SOUND_ROUTE(1, "mono",  1.0)
280278   MDRV_SOUND_ROUTE(2, "mono", 1.0)
281MACHINE_DRIVER_END
279MACHINE_CONFIG_END
282280
283281ROM_START( parentj )
284282   ROM_REGION( 0x20000, "maincpu", 0 ) /* 68000 Code */
src/mame/drivers/hornet.c
r9191r9192
915915   "rscreen", 1
916916};
917917
918static MACHINE_DRIVER_START( hornet )
918static MACHINE_CONFIG_START( hornet, driver_device )
919919
920920   /* basic machine hardware */
921921   MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2)   /* PowerPC 403GA 32MHz */
r9191r9192
966966   MDRV_M48T58_ADD( "m48t58" )
967967
968968   MDRV_ADC12138_ADD( "adc12138", hornet_adc_interface )
969MACHINE_DRIVER_END
969MACHINE_CONFIG_END
970970
971971
972972static MACHINE_RESET( hornet_2board )
r9191r9192
986986      memory_set_bankptr(machine, "bank5", usr5);
987987}
988988
989static MACHINE_DRIVER_START( hornet_2board )
989static MACHINE_CONFIG_DERIVED( hornet_2board, hornet )
990990
991   MDRV_IMPORT_FROM(hornet)
992
993991   MDRV_CPU_ADD("dsp2", ADSP21062, 36000000)
994992   MDRV_CPU_CONFIG(sharc_cfg)
995993   MDRV_CPU_DATA_MAP(sharc1_map)
r9191r9192
10311029   MDRV_SCREEN_REFRESH_RATE(60)
10321030   MDRV_SCREEN_SIZE(512, 384)
10331031   MDRV_SCREEN_VISIBLE_AREA(0, 511, 0, 383)
1034MACHINE_DRIVER_END
1032MACHINE_CONFIG_END
10351033
1036static MACHINE_DRIVER_START( terabrst )
1037   MDRV_IMPORT_FROM(hornet_2board)
1034static MACHINE_CONFIG_DERIVED( terabrst, hornet_2board )
10381035
10391036   MDRV_CPU_ADD("gn680", M68000, 32000000/2)   /* 16MHz */
10401037   MDRV_CPU_PROGRAM_MAP(gn680_memmap)
1041MACHINE_DRIVER_END
1038MACHINE_CONFIG_END
10421039
1043static MACHINE_DRIVER_START( hornet_2board_v2 )
1044   MDRV_IMPORT_FROM(hornet_2board)
1040static MACHINE_CONFIG_DERIVED( hornet_2board_v2, hornet_2board )
10451041
10461042   MDRV_DEVICE_REMOVE("voodoo0")
10471043   MDRV_3DFX_VOODOO_2_ADD("voodoo0", STD_VOODOO_2_CLOCK, 2, "lscreen")
r9191r9192
10541050   MDRV_3DFX_VOODOO_CPU("dsp2")
10551051   MDRV_3DFX_VOODOO_TMU_MEMORY(0, 4)
10561052   MDRV_3DFX_VOODOO_VBLANK(voodoo_vblank_1)
1057MACHINE_DRIVER_END
1053MACHINE_CONFIG_END
10581054
10591055
10601056/*****************************************************************************/
src/mame/drivers/thief.c
r9191r9192
2727#include "sound/ay8910.h"
2828#include "sound/samples.h"
2929#include "video/tms9927.h"
30#include "includes/thief.h"
3031
3132#define MASTER_CLOCK   XTAL_20MHz
3233
3334
3435static UINT8 thief_input_select;
3536
36READ8_HANDLER( thief_context_ram_r );
37WRITE8_HANDLER( thief_context_ram_w );
38WRITE8_HANDLER( thief_context_bank_w );
39WRITE8_HANDLER( thief_video_control_w );
40WRITE8_HANDLER( thief_color_map_w );
41WRITE8_HANDLER( thief_color_plane_w );
42READ8_HANDLER( thief_videoram_r );
43WRITE8_HANDLER( thief_videoram_w );
44WRITE8_HANDLER( thief_blit_w );
45READ8_HANDLER( thief_coprocessor_r );
46WRITE8_HANDLER( thief_coprocessor_w );
47
48VIDEO_START( thief );
49VIDEO_UPDATE( thief );
50
51
5237static INTERRUPT_GEN( thief_interrupt )
5338{
5439   /* SLAM switch causes an NMI if it's pressed */
r9191r9192
448433};
449434
450435
451static MACHINE_DRIVER_START( sharkatt )
436static MACHINE_CONFIG_START( sharkatt, thief_state )
452437
453438   /* basic machine hardware */
454439   MDRV_CPU_ADD("maincpu", Z80, 4000000)        /* 4 MHz? */
r9191r9192
483468   MDRV_SOUND_ADD("samples", SAMPLES, 0)
484469   MDRV_SOUND_CONFIG(sharkatt_samples_interface)
485470   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
486MACHINE_DRIVER_END
471MACHINE_CONFIG_END
487472
488473
489static MACHINE_DRIVER_START( thief )
474static MACHINE_CONFIG_START( thief, thief_state )
490475
491476   /* basic machine hardware */
492477   MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */
r9191r9192
521506   MDRV_SOUND_ADD("samples", SAMPLES, 0)
522507   MDRV_SOUND_CONFIG(thief_samples_interface)
523508   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
524MACHINE_DRIVER_END
509MACHINE_CONFIG_END
525510
526511
527static MACHINE_DRIVER_START( natodef )
512static MACHINE_CONFIG_START( natodef, thief_state )
528513
529514   /* basic machine hardware */
530515   MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */
r9191r9192
559544   MDRV_SOUND_ADD("samples", SAMPLES, 0)
560545   MDRV_SOUND_CONFIG(natodef_samples_interface)
561546   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
562MACHINE_DRIVER_END
547MACHINE_CONFIG_END
563548
564549/**********************************************************/
565550
src/mame/drivers/pipedrm.c
r9191r9192
633633      state->crtc_data[i] = 0;
634634}
635635
636static MACHINE_DRIVER_START( pipedrm )
636static MACHINE_CONFIG_START( pipedrm, fromance_state )
637637
638   /* driver data */
639   MDRV_DRIVER_DATA(fromance_state)
640
641638   /* basic machine hardware */
642639   MDRV_CPU_ADD("maincpu", Z80,12000000/2)
643640   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
673670   MDRV_SOUND_ROUTE(0, "mono", 0.50)
674671   MDRV_SOUND_ROUTE(1, "mono", 1.0)
675672   MDRV_SOUND_ROUTE(2, "mono", 1.0)
676MACHINE_DRIVER_END
673MACHINE_CONFIG_END
677674
678675
679static MACHINE_DRIVER_START( hatris )
676static MACHINE_CONFIG_START( hatris, fromance_state )
680677
681   /* driver data */
682   MDRV_DRIVER_DATA(fromance_state)
683
684678   /* basic machine hardware */
685679   MDRV_CPU_ADD("maincpu", Z80,12000000/2)
686680   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
716710   MDRV_SOUND_ROUTE(0, "mono", 0.50)
717711   MDRV_SOUND_ROUTE(1, "mono", 1.0)
718712   MDRV_SOUND_ROUTE(2, "mono", 1.0)
719MACHINE_DRIVER_END
713MACHINE_CONFIG_END
720714
721715
722716
src/mame/drivers/ccastles.c
r9191r9192
133133
134134
135135
136/*************************************
137 *
138 *  Globals
139 *
140 *************************************/
141
142static UINT8 *nvram_stage;
143
144
145136/************************************* *
146137 *  VBLANK and IRQ generation
147138 *
r9191r9192
234225   state->irq_state = 0;
235226   schedule_next_irq(machine, 0);
236227
237   /* allocate backing memory for the NVRAM */
238   machine->generic.nvram.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram_size);
239
240228   /* setup for save states */
241229   state_save_register_global(machine, state->irq_state);
242230   state_save_register_global_array(machine, state->nvram_store);
243   state_save_register_global_pointer(machine, machine->generic.nvram.u8, machine->generic.nvram_size);
231   state_save_register_global_array(machine, state->nvram);
244232}
245233
246234
r9191r9192
305293
306294static NVRAM_HANDLER( ccastles )
307295{
296   ccastles_state *state = machine->driver_data<ccastles_state>();
308297   if (read_or_write)
309298   {
310299      /* on power down, the EAROM is implicitly stored */
311      memcpy(machine->generic.nvram.v, nvram_stage, machine->generic.nvram_size);
312      mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
300      memcpy(state->nvram, state->nvram_stage, sizeof(state->nvram));
301      mame_fwrite(file, state->nvram, sizeof(state->nvram));
313302   }
314303   else if (file)
315      mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
304      mame_fread(file, state->nvram, sizeof(state->nvram));
316305   else
317      memset(machine->generic.nvram.v, 0, machine->generic.nvram_size);
306      memset(state->nvram, 0, sizeof(state->nvram));
318307}
319308
320309
321310static WRITE8_HANDLER( nvram_recall_w )
322311{
323   memcpy(nvram_stage, space->machine->generic.nvram.v, space->machine->generic.nvram_size);
312   ccastles_state *state = space->machine->driver_data<ccastles_state>();
313   memcpy(state->nvram_stage, state->nvram, sizeof(state->nvram));
324314}
325315
326316
r9191r9192
330320
331321   state->nvram_store[offset] = data & 1;
332322   if (!state->nvram_store[0] && state->nvram_store[1])
333      memcpy(space->machine->generic.nvram.v, nvram_stage, space->machine->generic.nvram_size);
323      memcpy(state->nvram, state->nvram_stage, sizeof(state->nvram));
334324}
335325
336326
r9191r9192
348338   AM_RANGE(0x0000, 0x7fff) AM_RAM_WRITE(ccastles_videoram_w) AM_BASE_MEMBER(ccastles_state, videoram)
349339   AM_RANGE(0x8000, 0x8fff) AM_RAM
350340   AM_RANGE(0x8e00, 0x8fff) AM_BASE_MEMBER(ccastles_state, spriteram)
351   AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x0300) AM_RAM AM_BASE(&nvram_stage) AM_SIZE_GENERIC(nvram)
341   AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x0300) AM_RAM AM_SHARE("nvram")
352342   AM_RANGE(0x9400, 0x9403) AM_MIRROR(0x01fc) AM_READ(leta_r)
353343   AM_RANGE(0x9600, 0x97ff) AM_READ_PORT("IN0")
354344   AM_RANGE(0x9800, 0x980f) AM_MIRROR(0x01f0) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w)
r9191r9192
487477 *
488478 *************************************/
489479
490static MACHINE_DRIVER_START( ccastles )
480static MACHINE_CONFIG_START( ccastles, ccastles_state )
491481
492   /* driver data */
493   MDRV_DRIVER_DATA(ccastles_state)
494
495482   /* basic machine hardware */
496483   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
497484   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
521508   MDRV_SOUND_ADD("pokey2", POKEY, MASTER_CLOCK/8)
522509   MDRV_SOUND_CONFIG(pokey_config)
523510   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
524MACHINE_DRIVER_END
511MACHINE_CONFIG_END
525512
526513
527514
src/mame/drivers/ddragon3.c
r9191r9192
257257   AM_RANGE(0x0000, 0xbfff) AM_ROM
258258   AM_RANGE(0xc000, 0xc7ff) AM_RAM
259259   AM_RANGE(0xc800, 0xc801) AM_DEVREADWRITE("ym2151", ym2151_r, ym2151_w)
260   AM_RANGE(0xd800, 0xd800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
260   AM_RANGE(0xd800, 0xd800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
261261   AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
262262   AM_RANGE(0xe800, 0xe800) AM_DEVWRITE("oki", oki_bankswitch_w)
263263ADDRESS_MAP_END
r9191r9192
266266   AM_RANGE(0x0000, 0x7fff) AM_ROM
267267   AM_RANGE(0x8000, 0x87ff) AM_RAM
268268   AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ym2151", ym2151_status_port_r, ym2151_w)
269   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
269   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
270270   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
271271ADDRESS_MAP_END
272272
r9191r9192
590590      state->io_reg[i] = 0;
591591}
592592
593static MACHINE_DRIVER_START( ddragon3 )
593static MACHINE_CONFIG_START( ddragon3, ddragon3_state )
594594
595   /* driver data */
596   MDRV_DRIVER_DATA(ddragon3_state)
597
598595   /* basic machine hardware */
599596   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
600597   MDRV_CPU_PROGRAM_MAP(ddragon3_map)
r9191r9192
628625   MDRV_OKIM6295_ADD("oki", XTAL_1_056MHz, OKIM6295_PIN7_HIGH)
629626   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.50)
630627   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.50)
631MACHINE_DRIVER_END
628MACHINE_CONFIG_END
632629
633static MACHINE_DRIVER_START( ddragon3b )
634   MDRV_IMPORT_FROM(ddragon3)
630static MACHINE_CONFIG_DERIVED( ddragon3b, ddragon3 )
635631
636632   MDRV_CPU_MODIFY("maincpu")
637633   MDRV_CPU_PROGRAM_MAP(dd3b_map)
638MACHINE_DRIVER_END
634MACHINE_CONFIG_END
639635
640static MACHINE_DRIVER_START( ctribe )
641   MDRV_IMPORT_FROM(ddragon3)
636static MACHINE_CONFIG_DERIVED( ctribe, ddragon3 )
642637
643638   MDRV_CPU_MODIFY("maincpu")
644639   MDRV_CPU_PROGRAM_MAP(ctribe_map)
r9191r9192
655650   MDRV_SOUND_MODIFY("oki")
656651   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
657652   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
658MACHINE_DRIVER_END
653MACHINE_CONFIG_END
659654
660655/*************************************
661656 *
src/mame/drivers/hotstuff.c
r9191r9192
6464static INPUT_PORTS_START( hotstuff )
6565INPUT_PORTS_END
6666
67static MACHINE_DRIVER_START( hotstuff )
67static MACHINE_CONFIG_START( hotstuff, driver_device )
6868
6969   MDRV_CPU_ADD("maincpu", M68000, 16000000)
7070   MDRV_CPU_PROGRAM_MAP(hotstuff_map)
r9191r9192
8181
8282   MDRV_VIDEO_START(hotstuff)
8383   MDRV_VIDEO_UPDATE(hotstuff)
84MACHINE_DRIVER_END
84MACHINE_CONFIG_END
8585
8686
8787
src/mame/drivers/discoboy.c
r9191r9192
4343
4444
4545
46class discoboy_state : public driver_data_t
46class discoboy_state : public driver_device
4747{
4848public:
49   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, discoboy_state(machine)); }
49   discoboy_state(running_machine &machine, const driver_device_config_base &config)
50      : driver_device(machine, config) { }
5051
51   discoboy_state(running_machine &machine)
52      : driver_data_t(machine) { }
53
5452   /* memory pointers */
5553   UINT8 *  ram_1;
5654   UINT8 *  ram_2;
r9191r9192
464462   state->adpcm_data = 0x80;
465463}
466464
467static MACHINE_DRIVER_START( discoboy )
465static MACHINE_CONFIG_START( discoboy, discoboy_state )
468466
469   /* driver data */
470   MDRV_DRIVER_DATA(discoboy_state)
471
472467   /* basic machine hardware */
473468   MDRV_CPU_ADD("maincpu", Z80,12000000/2)       /* 6 MHz? */
474469   MDRV_CPU_PROGRAM_MAP(discoboy_map)
r9191r9192
508503   MDRV_SOUND_ADD("msm", MSM5205, 384000) // ???? unknown
509504   MDRV_SOUND_CONFIG(discoboy_msm5205_interface)
510505   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
511MACHINE_DRIVER_END
506MACHINE_CONFIG_END
512507
513508
514509ROM_START( discoboy )
src/mame/drivers/mediagx.c
r9191r9192
8686   UINT32         pc;
8787};
8888
89class mediagx_state : public driver_data_t
89class mediagx_state : public driver_device
9090{
9191public:
92   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mediagx_state(machine)); }
92   mediagx_state(running_machine &machine, const driver_device_config_base &config)
93      : driver_device(machine, config) { }
9394
94   mediagx_state(running_machine &machine)
95      : driver_data_t(machine) { }
96
9795   UINT32 *cga_ram;
9896   UINT32 *bios_ram;
9997   UINT32 *vram;
r9191r9192
914912   AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("pic8259_master", io20_r, io20_w, 0xffffffff)
915913   AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("pit8254", pit8253_r, pit8253_w, 0xffffffff)
916914   AM_RANGE(0x0060, 0x006f) AM_READWRITE(kbdc8042_32le_r,         kbdc8042_32le_w)
917   AM_RANGE(0x0070, 0x007f) AM_READWRITE(mc146818_port32le_r,      mc146818_port32le_w)
915   AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8_MODERN("rtc", mc146818_device, read, write, 0xffffffff)
918916   AM_RANGE(0x0080, 0x009f) AM_READWRITE8(at_page8_r,            at_page8_w, 0xffffffff)
919917   AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("pic8259_slave", pic8259_r, pic8259_w, 0xffffffff)
920918   AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE8("dma8237_2", at_dma8237_2_r, at_dma8237_2_w, 0xffffffff)
r9191r9192
11001098};
11011099
11021100
1103static MACHINE_DRIVER_START(mediagx)
1101static MACHINE_CONFIG_START( mediagx, mediagx_state )
11041102
1105   MDRV_DRIVER_DATA(mediagx_state)
1106
11071103   /* basic machine hardware */
11081104   MDRV_CPU_ADD("maincpu", MEDIAGX, 166000000)
11091105   MDRV_CPU_PROGRAM_MAP(mediagx_map)
r9191r9192
11291125
11301126   MDRV_TIMER_ADD("sound_timer", sound_timer_callback)
11311127
1132   MDRV_NVRAM_HANDLER( mc146818 )
1128   MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
11331129
11341130   /* video hardware */
11351131   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
11521148
11531149   MDRV_SOUND_ADD("dac2", DMADAC, 0)
11541150   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
1155MACHINE_DRIVER_END
1151MACHINE_CONFIG_END
11561152
11571153static void set_gate_a20(running_machine *machine, int a20)
11581154{
r9191r9192
11991195   state->frame_width = state->frame_height = 1;
12001196
12011197   init_pc_common(machine, PCCOMMON_KEYBOARD_AT,mediagx_set_keyb_int);
1202   mc146818_init(machine, MC146818_STANDARD);
12031198
12041199   kbdc8042_init(machine, &at8042);
12051200}
src/mame/drivers/ambush.c
r9191r9192
226226 *
227227 *************************************/
228228
229static MACHINE_DRIVER_START( ambush )
229static MACHINE_CONFIG_START( ambush, ambush_state )
230230
231   /* driver data */
232   MDRV_DRIVER_DATA(ambush_state)
233
234231   /* basic machine hardware */
235232   MDRV_CPU_ADD("maincpu", Z80, 4000000)        /* 4.00 MHz??? */
236233   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
260257   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
261258   MDRV_SOUND_CONFIG(ay8910_interface_2)
262259   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
263MACHINE_DRIVER_END
260MACHINE_CONFIG_END
264261
265262
266263/*************************************
src/mame/drivers/orbit.c
r9191r9192
298298 *
299299 *************************************/
300300
301static MACHINE_DRIVER_START( orbit )
301static MACHINE_CONFIG_START( orbit, orbit_state )
302302
303   /* driver data */
304   MDRV_DRIVER_DATA(orbit_state)
305
306303   /* basic machine hardware */
307304   MDRV_CPU_ADD("maincpu", M6800, MASTER_CLOCK / 16)
308305   MDRV_CPU_PROGRAM_MAP(orbit_map)
r9191r9192
331328   MDRV_SOUND_CONFIG_DISCRETE(orbit)
332329   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
333330   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
334MACHINE_DRIVER_END
331MACHINE_CONFIG_END
335332
336333
337334
src/mame/drivers/policetr.c
r9191r9192
425425};
426426
427427
428static MACHINE_DRIVER_START( policetr )
428static MACHINE_CONFIG_START( policetr, driver_device )
429429
430430   /* basic machine hardware */
431431   MDRV_CPU_ADD("maincpu", R3000BE, MASTER_CLOCK/2)
r9191r9192
455455   MDRV_SOUND_ADD("bsmt", BSMT2000, MASTER_CLOCK/2)
456456   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
457457   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
458MACHINE_DRIVER_END
458MACHINE_CONFIG_END
459459
460460
461static MACHINE_DRIVER_START( sshooter )
462   MDRV_IMPORT_FROM(policetr)
461static MACHINE_CONFIG_DERIVED( sshooter, policetr )
463462
464463   /* basic machine hardware */
465464   MDRV_CPU_MODIFY("maincpu")
466465   MDRV_CPU_PROGRAM_MAP(sshooter_map)
467MACHINE_DRIVER_END
466MACHINE_CONFIG_END
468467
469468
470469
src/mame/drivers/skimaxx.c
r9191r9192
309309   AM_RANGE(0x10180000, 0x1018ffff) AM_RAM AM_SHARE("share1")   // above 10188000 accessed at level end (game bug?)
310310   AM_RANGE(0x20000000, 0x20000003) AM_READNOP   // watchdog_r?
311311
312   AM_RANGE(0x20000010, 0x20000013) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)   // left
313   AM_RANGE(0x20000014, 0x20000017) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)   // left
314   AM_RANGE(0x20000018, 0x2000001b) AM_DEVREADWRITE8("oki3", okim6295_r, okim6295_w, 0x00ff)   // right
315   AM_RANGE(0x2000001c, 0x2000001f) AM_DEVREADWRITE8("oki4", okim6295_r, okim6295_w, 0x00ff)   // right
312   AM_RANGE(0x20000010, 0x20000013) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)   // left
313   AM_RANGE(0x20000014, 0x20000017) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)   // left
314   AM_RANGE(0x20000018, 0x2000001b) AM_DEVREADWRITE8_MODERN("oki3", okim6295_device, read, write, 0x00ff)   // right
315   AM_RANGE(0x2000001c, 0x2000001f) AM_DEVREADWRITE8_MODERN("oki4", okim6295_device, read, write, 0x00ff)   // right
316316
317317   AM_RANGE(0x20000020, 0x20000023) AM_READ ( skimaxx_unk1_r )   // units linking?
318318   AM_RANGE(0x20000024, 0x20000027) AM_WRITE( skimaxx_unk1_w )   // ""
r9191r9192
503503 *
504504 *************************************/
505505
506static MACHINE_DRIVER_START( skimaxx )
506static MACHINE_CONFIG_START( skimaxx, driver_device )
507507   MDRV_CPU_ADD("maincpu", M68EC030, XTAL_40MHz)
508508   MDRV_CPU_PROGRAM_MAP(68030_1_map)
509509   MDRV_CPU_VBLANK_INT("screen", irq3_line_hold)   // 1,3,7 are identical, rest is RTE
r9191r9192
549549
550550   MDRV_OKIM6295_ADD("oki4", XTAL_4MHz/2, OKIM6295_PIN7_HIGH)   // ?
551551   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
552MACHINE_DRIVER_END
552MACHINE_CONFIG_END
553553
554554
555555/*************************************
src/mame/drivers/megadrvb.c
r9191r9192
66        * Aladdin
77        * Mortal Kombat 3
88        * Super Street Fighter II - The New Challengers
9        * Sunset Riders
910        * Top Shooter
1011
1112
r9191r9192
110111      0xff7e16.l      0x30303300        0x30303600        0x30303900
111112
112113    But what makes the arcade version much harder is how energy is handled : in 'g_aladj', you can
113    be hit 8 times before you lose a life, while in 'aladbl', you lose a life as soon as you are hit !
114    be hit 8 times before you lose a life, while in 'aladmdb', you lose a life as soon as you are hit !
114115    This is done via code change at 0x1aee3c and patched code at 0x1afc00 :
115116
116      diff aladbl.asm g_aladj.asm
117      diff aladmdb.asm g_aladj.asm
117118
118119      < 1AEE3C: 4EB9 001A FC00             jsr     $1afc00.l
119120      > 1AEE3C: 5339 00FF EFFA             subq.b  #1, $ffeffa.l
r9191r9192
130131
131132****************************************************************************
132133
134Sunset Riders info
135====================
136
137 - title raster effect is broken (bug in megadrive code, happens with normal set too)
138
139****************************************************************************
140
133141Top Shooter PCB info
134142====================
135143
r9191r9192
256264 *
257265 *************************************/
258266
259static WRITE16_HANDLER( aladbl_w )
267static WRITE16_HANDLER( aladmdb_w )
260268{
261269    /*
262270    Values returned from the log file :
263      - aladbl_w : 1b2a6c - data = 6600 (each time a coin is inserted)
264      - aladbl_w : 1b2a82 - data = 0000 (each time a coin is inserted)
265      - aladbl_w : 1b2d18 - data = aa00 (only once on reset)
266      - aladbl_w : 1b2d42 - data = 0000 (only once on reset)
271      - aladmdb_w : 1b2a6c - data = 6600 (each time a coin is inserted)
272      - aladmdb_w : 1b2a82 - data = 0000 (each time a coin is inserted)
273      - aladmdb_w : 1b2d18 - data = aa00 (only once on reset)
274      - aladmdb_w : 1b2d42 - data = 0000 (only once on reset)
267275    */
268   logerror("aladbl_w : %06x - data = %04x\n",cpu_get_pc(space->cpu),data);
276   logerror("aladmdb_w : %06x - data = %04x\n",cpu_get_pc(space->cpu),data);
269277}
270278
271static READ16_HANDLER( aladbl_r )
279static READ16_HANDLER( aladmdb_r )
272280{
273281   if (cpu_get_pc(space->cpu)==0x1b2a56)
274282   {
r9191r9192
290298   return 0x0000;
291299}
292300
301static READ16_HANDLER( mk3mdb_dsw_r )
302{
303   static const char *const dswname[3] = { "DSWA", "DSWB", "DSWC" };
304   return input_port_read(space->machine, dswname[offset]);
305}
293306
294static READ16_HANDLER( mk3ghw_dsw_r )
307static READ16_HANDLER( ssf2mdb_dsw_r )
295308{
296309   static const char *const dswname[3] = { "DSWA", "DSWB", "DSWC" };
297310   return input_port_read(space->machine, dswname[offset]);
298311}
299312
300static READ16_HANDLER( ssf2ghw_dsw_r )
313static READ16_HANDLER( srmdb_dsw_r )
301314{
302315   static const char *const dswname[3] = { "DSWA", "DSWB", "DSWC" };
303316   return input_port_read(space->machine, dswname[offset]);
r9191r9192
314327 *
315328 *************************************/
316329
330/* verified from M68000 code */
331INPUT_PORTS_START( ssf2mdb )
332   PORT_INCLUDE( md_common )
333
334   PORT_MODIFY("PAD1")
335   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
336   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
337   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
338   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
339
340   PORT_MODIFY("PAD2")
341   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
342   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
343   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
344   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
345
346   PORT_START("EXTRA1")   /* Extra buttons for Joypad 1 (6 button + start + mode) NOT READ DIRECTLY */
347   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
348   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
349   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
350   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
351
352   PORT_START("EXTRA2")   /* Extra buttons for Joypad 2 (6 button + start + mode) NOT READ DIRECTLY */
353   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
354   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
355   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
356   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
357
358   PORT_START("IN0")      /* 3rd I/O port */
359   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
360   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
361
362   PORT_START("DSWA")
363   PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
364   PORT_DIPSETTING(    0x01, DEF_STR( 4C_1C ) )
365   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
366   PORT_DIPSETTING(    0x03, DEF_STR( 2C_1C ) )
367   PORT_DIPSETTING(    0x07, DEF_STR( 1C_1C ) )
368   PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
369   PORT_DIPSETTING(    0x05, DEF_STR( 1C_3C ) )
370   PORT_DIPSETTING(    0x04, DEF_STR( 1C_4C ) )
371//  PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
372
373   PORT_START("DSWB")
374   PORT_DIPNAME( 0x07, 0x03, DEF_STR( Difficulty ) )
375   PORT_DIPSETTING(    0x07, "0 (Easiest)" )
376   PORT_DIPSETTING(    0x06, "1" )
377   PORT_DIPSETTING(    0x05, "2" )
378   PORT_DIPSETTING(    0x04, "3" )
379   PORT_DIPSETTING(    0x03, "4" )
380   PORT_DIPSETTING(    0x02, "5" )
381   PORT_DIPSETTING(    0x01, "6" )
382   PORT_DIPSETTING(    0x00, "7 (Hardest)" )
383
384   PORT_START("DSWC")
385   PORT_DIPNAME( 0x0f, 0x0b, "Speed" )
386   PORT_DIPSETTING(    0x0f, "0 (Slowest)" )
387   PORT_DIPSETTING(    0x0e, "1" )
388   PORT_DIPSETTING(    0x0d, "2" )
389   PORT_DIPSETTING(    0x0c, "3" )
390   PORT_DIPSETTING(    0x0b, "4" )
391   PORT_DIPSETTING(    0x0a, "5" )
392   PORT_DIPSETTING(    0x09, "6" )
393   PORT_DIPSETTING(    0x08, "7" )
394   PORT_DIPSETTING(    0x07, "8" )
395   PORT_DIPSETTING(    0x06, "9" )
396   PORT_DIPSETTING(    0x05, "10 (Fastest)" )
397//  PORT_DIPSETTING(    0x04, "10 (Fastest)" )
398//  PORT_DIPSETTING(    0x03, "10 (Fastest)" )
399//  PORT_DIPSETTING(    0x02, "10 (Fastest)" )
400//  PORT_DIPSETTING(    0x01, "10 (Fastest)" )
401//  PORT_DIPSETTING(    0x00, "10 (Fastest)" )
402INPUT_PORTS_END
403
404/* verified from M68000 code */
405INPUT_PORTS_START( mk3mdb )
406   PORT_INCLUDE( md_common )
407
408   PORT_MODIFY("PAD1")
409   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
410   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
411   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
412   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
413
414   PORT_MODIFY("PAD2")
415   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
416   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
417   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
418   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
419
420   PORT_START("EXTRA1")   /* Extra buttons for Joypad 1 (6 button + start + mode) NOT READ DIRECTLY */
421   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
422   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
423   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
424   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
425
426   PORT_START("EXTRA2")   /* Extra buttons for Joypad 2 (6 button + start + mode) NOT READ DIRECTLY */
427   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
428   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
429   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
430   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
431
432   PORT_START("IN0")
433   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
434   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
435
436   PORT_START("DSWA")
437   PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
438   PORT_DIPSETTING(    0x01, DEF_STR( 4C_1C ) )
439   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
440   PORT_DIPSETTING(    0x03, DEF_STR( 2C_1C ) )
441   PORT_DIPSETTING(    0x07, DEF_STR( 1C_1C ) )
442   PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
443   PORT_DIPSETTING(    0x05, DEF_STR( 1C_3C ) )
444   PORT_DIPSETTING(    0x04, DEF_STR( 1C_4C ) )
445//  PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
446
447   PORT_START("DSWB")
448   PORT_DIPNAME( 0x07, 0x07, DEF_STR( Difficulty ) )
449   PORT_DIPSETTING(    0x07, DEF_STR( Easiest ) )
450   PORT_DIPSETTING(    0x06, DEF_STR( Easy ) )
451   PORT_DIPSETTING(    0x05, DEF_STR( Medium ) )
452   PORT_DIPSETTING(    0x04, DEF_STR( Hard ) )
453   PORT_DIPSETTING(    0x03, DEF_STR( Hardest ) )
454//  PORT_DIPSETTING(    0x02, DEF_STR( Hardest ) )
455//  PORT_DIPSETTING(    0x01, DEF_STR( Hardest ) )
456//  PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
457   PORT_DIPUNUSED( 0x08, IP_ACTIVE_HIGH )
458   PORT_DIPUNUSED( 0x10, IP_ACTIVE_HIGH )
459   PORT_DIPUNUSED( 0x20, IP_ACTIVE_HIGH )
460   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
461   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
462   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
463   PORT_DIPNAME( 0x80, 0x80, "Blood" )
464   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
465   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
466
467   PORT_START("DSWC")        /* not even read in this set */
468INPUT_PORTS_END
469
470/* verified from M68000 code */
471INPUT_PORTS_START( aladmdb )
472   PORT_INCLUDE( md_common )
473
474   PORT_MODIFY("PAD1")      /* Joypad 1 (3 button + start) NOT READ DIRECTLY */
475   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Throw") // a
476   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Sword") // b
477   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Jump") // c
478   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) // start
479
480   PORT_MODIFY("PAD2")      /* Joypad 2 (3 button + start) NOT READ DIRECTLY - not used */
481   PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
482
483    /* As I don't know how it is on real hardware, this is more a guess than anything */
484   PORT_START("MCU")
485   PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) )          /* code at 0x1b2a50 - unsure if there are so many settings */
486//  PORT_DIPSETTING(    0x00, "INVALID" )                   /* adds 0 credit */
487   PORT_DIPSETTING(    0x01, DEF_STR( 1C_1C ) )
488   PORT_DIPSETTING(    0x02, DEF_STR( 1C_2C ) )
489   PORT_DIPSETTING(    0x03, DEF_STR( 1C_3C ) )
490   PORT_DIPSETTING(    0x04, DEF_STR( 1C_4C ) )
491   PORT_DIPSETTING(    0x05, DEF_STR( 1C_5C ) )
492   PORT_DIPSETTING(    0x06, DEF_STR( 1C_6C ) )
493    PORT_DIPSETTING(    0x07, DEF_STR( 1C_7C ) )
494//  PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL )         /* to avoid it being changed and corrupting Coinage settings */
495   PORT_DIPNAME( 0x30, 0x00, DEF_STR( Difficulty ) )       /* code at 0x1b2680 */
496   PORT_DIPSETTING(    0x10, DEF_STR( Easy ) )             /* "PRACTICE" */
497   PORT_DIPSETTING(    0x00, DEF_STR( Normal ) )           /* "NORMAL" */
498   PORT_DIPSETTING(    0x20, DEF_STR( Hard ) )             /* "DIFFICULT" */
499//  PORT_DIPSETTING(    0x30, DEF_STR( Normal ) )
500   PORT_DIPUNUSED( 0x40, IP_ACTIVE_HIGH )
501   PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH )
502   PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1)     /* needed to avoid credits getting mad */
503INPUT_PORTS_END
504
505/* verified from M68000 code */
506INPUT_PORTS_START( srmdb )
507   PORT_INCLUDE( md_common )
508
509   PORT_MODIFY("PAD1")
510   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Shoot") // a
511   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Jump") // b
512   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) // c (duplicate shoot button)
513   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) // start
514
515   PORT_MODIFY("PAD2")
516   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P1 Shoot") // a
517   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P1 Jump") // b
518   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) // c (duplicate shoot button)
519   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
520
521   PORT_START("IN0")      /* 3rd I/O port */
522   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
523   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
524
525   PORT_START("DSWA")
526   PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
527   PORT_DIPSETTING(    0x01, DEF_STR( 4C_1C ) )
528   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
529   PORT_DIPSETTING(    0x03, DEF_STR( 2C_1C ) )
530   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
531   PORT_DIPSETTING(    0x07, DEF_STR( 1C_2C ) )
532   PORT_DIPSETTING(    0x06, DEF_STR( 1C_3C ) )
533   PORT_DIPSETTING(    0x05, DEF_STR( 1C_4C ) )
534   PORT_DIPSETTING(    0x04, DEF_STR( 1C_5C ) )
535
536   PORT_START("DSWB")
537   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
538   PORT_DIPSETTING(    0x03, DEF_STR( Easy ) )
539   PORT_DIPSETTING(    0x02, DEF_STR( Medium ) )
540   PORT_DIPSETTING(    0x01, DEF_STR( Hard ) )
541   PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
542
543   PORT_START("DSWC")
544   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
545   PORT_DIPSETTING(    0x03, "3" )
546   PORT_DIPSETTING(    0x02, "4" )
547   PORT_DIPSETTING(    0x01, "5" )
548   PORT_DIPSETTING(    0x00, "6" )
549INPUT_PORTS_END
550
317551static INPUT_PORTS_START( topshoot ) /* Top Shooter Input Ports */
318552
319553   PORT_START("IN0")
r9191r9192
342576 *
343577 *************************************/
344578
345ROM_START( aladbl )
579ROM_START( aladmdb )
346580   ROM_REGION( 0x400000, "maincpu", 0 ) /* 68000 Code */
347581   ROM_LOAD16_BYTE( "m1.bin", 0x000001, 0x080000,  CRC(5e2671e4) SHA1(54705c7614fc7b5a1065478fa41f51dd1d8045b7) )
348582   ROM_LOAD16_BYTE( "m2.bin", 0x000000, 0x080000,  CRC(142a0366) SHA1(6c94aa9936cd11ccda503b52019a6721e64a32f0) )
r9191r9192
350584   ROM_LOAD16_BYTE( "m4.bin", 0x100000, 0x080000,  CRC(bc712661) SHA1(dfd554d000399e17b4ddc69761e572195ed4e1f0))
351585ROM_END
352586
353ROM_START( mk3ghw ) // roms are scrambled, we take care of the address descramble in the ROM load, and the data descramble in the init
587ROM_START( mk3mdb ) // roms are scrambled, we take care of the address descramble in the ROM load, and the data descramble in the init
354588                    // this is bootlegged from  "Mortal Kombat 3 (4) [!].bin"
355589   ROM_REGION( 0x400000, "maincpu", ROMREGION_ERASE00 ) /* 68000 Code */
356590   ROM_LOAD16_BYTE( "1.u1", 0x080001, 0x020000,  CRC(0dc01b23) SHA1(f1aa7ac88c8e3deb5a0a065862722e9d27b87b4c) )
r9191r9192
375609   ROM_CONTINUE(            0x300000, 0x040000)
376610ROM_END
377611
378ROM_START( ssf2ghw )
612ROM_START( ssf2mdb )
379613   ROM_REGION( 0x1400000, "maincpu", 0 ) /* 68000 Code */
380614   /* Special Case, custom PCB, linear ROM mapping of 5meg */
381615   ROM_LOAD16_BYTE( "rom_a", 0x000000, 0x200000,  CRC(59726521) SHA1(3120bac17f56c01ffb9d3f9e31efa0263e3774af) )
r9191r9192
384618   ROM_LOAD16_BYTE( "rom_d", 0x400001, 0x080000,  CRC(b99f6a5b) SHA1(adbe28a7522024bc66328ac86fecf9ded3310e8e) )
385619ROM_END
386620
621ROM_START( srmdb )
622   ROM_REGION( 0x400000, "maincpu", 0 ) /* 68000 Code */
623   ROM_LOAD16_BYTE( "u1", 0x000001, 0x020000,  CRC(c59f33bd) SHA1(bd5bce7698a70ea005b79ab34bcdb056872ef980) )
624   ROM_LOAD16_BYTE( "u2", 0x000000, 0x020000,  CRC(9125c054) SHA1(c73bdeb6b11c59d2b5f5968959b02697957ca894) )
625   ROM_LOAD16_BYTE( "u3", 0x040001, 0x020000,  CRC(0fee0fbe) SHA1(001e0fda12707512aad537e533acf28e726e6107) )
626   ROM_LOAD16_BYTE( "u4", 0x040000, 0x020000,  CRC(fc2aed41) SHA1(27eb3957f5ed26ee5276523b1df46fa7eb298e1f))
627ROM_END
628
387629ROM_START( topshoot ) /* Top Shooter (c)1995 Sun Mixing */
388630   ROM_REGION( 0x200000, "maincpu", 0 )
389631   ROM_LOAD16_BYTE( "tc574000ad_u11_2.bin", 0x000000, 0x080000, CRC(b235c4d9) SHA1(fbb308a5f6e769f3277824cb6a3b50c308969ac2) )
r9191r9192
402644
403645#define ENERGY_CONSOLE_MODE 0
404646
405static DRIVER_INIT( aladbl )
647static DRIVER_INIT( aladmdb )
406648{
407649   /*
408650     * Game does a check @ 1afc00 with work RAM fff57c that makes it play like the original console version (i.e. 8 energy hits instead of 2)
r9191r9192
413655   #endif
414656
415657   // 220000 = writes to mcu? 330000 = reads?
416   memory_install_write16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x220000, 0x220001, 0, 0, aladbl_w);
417   memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x330000, 0x330001, 0, 0, aladbl_r);
658   memory_install_write16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x220000, 0x220001, 0, 0, aladmdb_w);
659   memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x330000, 0x330001, 0, 0, aladmdb_r);
418660
419661   DRIVER_INIT_CALL(megadrij);
420662}
421663
422664// this should be correct, the areas of the ROM that differ to the original
423665// after this decode look like intentional changes
424static DRIVER_INIT( mk3ghw )
666static DRIVER_INIT( mk3mdb )
425667{
426668   int x;
427669   UINT8 *rom = memory_region(machine, "maincpu");
r9191r9192
463705   rom[0x07] = 0x02;
464706   rom[0x06] = 0x10;
465707
466   memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x770070, 0x770075, 0, 0, mk3ghw_dsw_r );
708   memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x770070, 0x770075, 0, 0, mk3mdb_dsw_r );
467709
468710   DRIVER_INIT_CALL(megadriv);
469711}
470712
471static DRIVER_INIT( ssf2ghw )
713static DRIVER_INIT( ssf2mdb )
472714{
473715   memory_nop_write(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0xA130F0, 0xA130FF, 0, 0); // custom banking is disabled (!)
474716   memory_install_read_bank(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x400000, 0x5fffff, 0, 0, "bank5");
r9191r9192
476718
477719   memory_set_bankptr(machine,  "bank5", memory_region( machine, "maincpu" ) + 0x400000 );
478720
479   memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x770070, 0x770075, 0, 0, ssf2ghw_dsw_r );
721   memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x770070, 0x770075, 0, 0, ssf2mdb_dsw_r );
480722
481723   DRIVER_INIT_CALL(megadrij);
482724
483725}
484726
727static DRIVER_INIT( srmdb )
728{
729   int x;
730   UINT8* rom = memory_region(machine, "maincpu");
731
732   /* todo, reduce bitswaps to single swap */
733   for (x=0x00001;x<0x40000;x+=2)
734   {
735      rom[x] = rom[x] ^ 0xff;
736      rom[x] = BITSWAP8(rom[x], 7,6,5,4,3,2,1,0 );
737      rom[x] = BITSWAP8(rom[x], 1,6,5,4,3,2,7,0 );
738      rom[x] = BITSWAP8(rom[x], 7,6,5,3,4,2,1,0 );
739      rom[x] = BITSWAP8(rom[x], 7,6,5,2,3,4,1,0 );
740      rom[x] = BITSWAP8(rom[x], 5,6,7,4,3,2,1,0 );
741      rom[x] = BITSWAP8(rom[x], 7,5,6,4,3,2,1,0 );
742   }
743
744   for (x=0x40001;x<0x80000;x+=2)
745   {
746      rom[x] = BITSWAP8(rom[x], 7,6,5,4,3,2,1,0 );
747      rom[x] = BITSWAP8(rom[x], 7,6,1,4,3,2,5,0 );
748      rom[x] = BITSWAP8(rom[x], 7,6,5,4,0,2,1,3 );
749      rom[x] = BITSWAP8(rom[x], 2,6,5,4,3,7,1,0 );
750      rom[x] = BITSWAP8(rom[x], 7,6,5,0,3,2,1,4 );
751      rom[x] = BITSWAP8(rom[x], 7,6,5,1,3,2,4,0 );
752
753   }
754
755   // boot vectors don't seem to be valid, so they are patched...
756   rom[0x01] = 0x01;
757   rom[0x00] = 0x00;
758   rom[0x03] = 0x00;
759   rom[0x02] = 0x00;
760
761   rom[0x06] = 0xd2;
762   rom[0x07] = 0x00;
763
764   memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x770070, 0x770075, 0, 0, srmdb_dsw_r );
765
766   DRIVER_INIT_CALL(megadriv);
767}
768
485769static DRIVER_INIT(topshoot)
486770{
487771   memory_install_read16_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x200050, 0x200051, 0, 0, topshoot_200051_r );
r9191r9192
499783 *
500784 *************************************/
501785
502GAME( 1993, aladbl,   0, megadriv,   aladbl,   aladbl,   ROT0, "bootleg / Sega",   "Aladdin (bootleg of Japanese Megadrive version)", 0)
503GAME( 1996, mk3ghw,   0, megadriv,   mk3ghw,   mk3ghw,   ROT0, "bootleg / Midway", "Mortal Kombat 3 (bootleg of Megadrive version)", 0)
504GAME( 1994, ssf2ghw,  0, megadriv,   ssf2ghw,  ssf2ghw,  ROT0, "bootleg / Capcom", "Super Street Fighter II - The New Challengers (Arcade bootleg of Japanese MegaDrive version)", 0)
786GAME( 1993, aladmdb,  0, megadriv,   aladmdb,  aladmdb,  ROT0, "bootleg / Sega",   "Aladdin (bootleg of Japanese Megadrive version)", 0)
787GAME( 1996, mk3mdb,   0, megadriv,   mk3mdb,   mk3mdb,   ROT0, "bootleg / Midway", "Mortal Kombat 3 (bootleg of Megadrive version)", 0)
788GAME( 1994, ssf2mdb,  0, megadriv,   ssf2mdb,  ssf2mdb,  ROT0, "bootleg / Capcom", "Super Street Fighter II - The New Challengers (bootleg of Japanese MegaDrive version)", 0)
789GAME( 1993, srmdb,    0, megadriv,   srmdb,    srmdb,    ROT0, "bootleg / Konami", "Sunset Riders (bootleg of Megadrive version)", 0)
505790GAME( 1995, topshoot, 0, md_bootleg, topshoot, topshoot, ROT0, "Sun Mixing",       "Top Shooter", 0)
src/mame/drivers/mwarr.c
r9191r9192
4646#define SOUND_CLOCK      XTAL_45MHz
4747
4848
49class mwarr_state : public driver_data_t
49class mwarr_state : public driver_device
5050{
5151public:
52   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mwarr_state(machine)); }
52   mwarr_state(running_machine &machine, const driver_device_config_base &config)
53      : driver_device(machine, config) { }
5354
54   mwarr_state(running_machine &machine)
55      : driver_data_t(machine) { }
56
5755   /* memory pointers */
5856   UINT16 *bg_videoram, *mlow_videoram, *mhigh_videoram, *tx_videoram, *sprites_buffer;
5957   UINT16 *bg_scrollram, *mlow_scrollram, *mhigh_scrollram, *vidattrram;
r9191r9192
191189   AM_RANGE(0x110014, 0x110015) AM_WRITE(mwarr_brightness_w)
192190   AM_RANGE(0x110016, 0x110017) AM_WRITE(sprites_commands_w)
193191   AM_RANGE(0x110000, 0x11ffff) AM_RAM AM_BASE_MEMBER(mwarr_state, mwarr_ram)
194   AM_RANGE(0x180000, 0x180001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)
195   AM_RANGE(0x190000, 0x190001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
192   AM_RANGE(0x180000, 0x180001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
193   AM_RANGE(0x190000, 0x190001) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
196194ADDRESS_MAP_END
197195
198196
r9191r9192
534532   state->which = 0;
535533}
536534
537static MACHINE_DRIVER_START( mwarr )
535static MACHINE_CONFIG_START( mwarr, mwarr_state )
538536
539   /* driver data */
540   MDRV_DRIVER_DATA(mwarr_state)
541
542537   /* basic machine hardware */
543538   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK)
544539   MDRV_CPU_PROGRAM_MAP(mwarr_map)
r9191r9192
569564
570565   MDRV_OKIM6295_ADD("oki2", SOUND_CLOCK/48 , OKIM6295_PIN7_HIGH)
571566   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
572MACHINE_DRIVER_END
567MACHINE_CONFIG_END
573568
574569
575570/*************************************
src/mame/drivers/gaplus.c
r9191r9192
522522/* TODO: chip #2: test/cocktail, optional buttons */
523523
524524
525static MACHINE_DRIVER_START( gaplus )
525static MACHINE_CONFIG_START( gaplus, driver_device )
526526
527527   /* basic machine hardware */
528528   MDRV_CPU_ADD("maincpu", M6809,   24576000/16)   /* 1.536 MHz */
r9191r9192
569569   MDRV_SOUND_ADD("samples", SAMPLES, 0)
570570   MDRV_SOUND_CONFIG(gaplus_samples_interface)
571571   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
572MACHINE_DRIVER_END
572MACHINE_CONFIG_END
573573
574static MACHINE_DRIVER_START( gaplusa )
574static MACHINE_CONFIG_DERIVED( gaplusa, gaplus )
575575
576576   /* basic machine hardware */
577   MDRV_IMPORT_FROM(gaplus)
578577   MDRV_CPU_MODIFY("maincpu")
579578   MDRV_CPU_PROGRAM_MAP(gaplusa_cpu1_map)
580579
r9191r9192
582581   MDRV_DEVICE_REMOVE("58xx")
583582   MDRV_NAMCO56XX_ADD("56xx", intf1)
584583   MDRV_NAMCO58XX_ADD("58xx", intf0)
585MACHINE_DRIVER_END
584MACHINE_CONFIG_END
586585
587static MACHINE_DRIVER_START( gapluso )
586static MACHINE_CONFIG_DERIVED( gapluso, gaplus )
588587
589588   /* basic machine hardware */
590   MDRV_IMPORT_FROM(gaplus)
591589
592590   MDRV_DEVICE_REMOVE("56xx")
593591   MDRV_DEVICE_REMOVE("58xx")
594592   MDRV_NAMCO58XX_ADD("56xx", intf0)
595593   MDRV_NAMCO56XX_ADD("58xx", intf1)
596MACHINE_DRIVER_END
594MACHINE_CONFIG_END
597595
598596
599597
src/mame/drivers/carpolo.c
r9191r9192
230230 *
231231 *************************************/
232232
233static MACHINE_DRIVER_START( carpolo )
233static MACHINE_CONFIG_START( carpolo, driver_device )
234234
235235   /* basic machine hardware */
236236   MDRV_CPU_ADD("maincpu", M6502, XTAL_11_289MHz/12)      /* 940.75 kHz */
r9191r9192
275275   MDRV_VIDEO_START(carpolo)
276276   MDRV_VIDEO_UPDATE(carpolo)
277277   MDRV_VIDEO_EOF(carpolo)
278MACHINE_DRIVER_END
278MACHINE_CONFIG_END
279279
280280
281281
src/mame/drivers/speedatk.c
r9191r9192
7878#include "cpu/z80/z80.h"
7979#include "sound/ay8910.h"
8080#include "video/mc6845.h"
81#include "includes/speedatk.h"
8182
82extern UINT8 *speedatk_videoram;
83extern UINT8 *speedatk_colorram;
84static UINT8 mux_data;
85static UINT8 km_status,coin_settings;
86
8783#define MASTER_CLOCK XTAL_12MHz
8884
89extern WRITE8_HANDLER( speedatk_videoram_w );
90extern WRITE8_HANDLER( speedatk_colorram_w );
91extern PALETTE_INIT( speedatk );
92extern VIDEO_START( speedatk );
93extern VIDEO_UPDATE( speedatk );
94
9585/* This "key matrix" device maps some buttons with multiple bit activations,for        *
9686 * example pressing button A + button B it causes an output of button C.               *
9787 * This function converts the bit inputs of this game into the usual way MAME does,and *
9888 * it handles the multiplexer device between player one and two.                       */
9989static READ8_HANDLER( key_matrix_r )
10090{
101   static UINT8 coin_impulse;
91   speedatk_state *state = space->machine->driver_data<speedatk_state>();
10292
103   if(coin_impulse > 0)
93   if(state->coin_impulse > 0)
10494   {
105      coin_impulse--;
95      state->coin_impulse--;
10696      return 0x80;
10797   }
10898
10999   if((input_port_read(space->machine,"COINS") & 1) || (input_port_read(space->machine,"COINS") & 2))
110100   {
111      coin_impulse = coin_settings;
112      coin_impulse--;
101      state->coin_impulse = state->coin_settings;
102      state->coin_impulse--;
113103      return 0x80;
114104   }
115105
116   switch(mux_data)
106   switch(state->mux_data)
117107   {
118108      case 0x02:
119109      {
r9191r9192
151141            default:   return 0x00;
152142         }
153143      }
154      default: logerror("Input reads with mux_data = %x\n",mux_data);
144      default: logerror("Input reads with mux_data = %x\n", state->mux_data);
155145   }
156146
157147   return 0x00;
r9191r9192
159149
160150static WRITE8_HANDLER( key_matrix_w )
161151{
162   mux_data = data;
152   speedatk_state *state = space->machine->driver_data<speedatk_state>();
153
154   state->mux_data = data;
163155}
164156
165/*Key matrix status,used for coin settings and I don't know what else...*/
157/* Key matrix status,used for coin settings and I don't know what else... */
166158static READ8_HANDLER( key_matrix_status_r )
167159{
160   speedatk_state *state = space->machine->driver_data<speedatk_state>();
161
168162   /*bit 0: busy flag,active low*/
169   return (km_status & 0xfe) | 1;
163   return (state->km_status & 0xfe) | 1;
170164}
171165
172166/*
173high four bits are for command, low four are for param
167xxxx ---- command
168---- xxxx param
174169My guess is that the other commands configs the key matrix, it probably needs some tests on the real thing.
1751701f
1761713f
r9191r9192
181176*/
182177static WRITE8_HANDLER( key_matrix_status_w )
183178{
184   km_status = data;
185   if((km_status & 0xf0) == 0x80) //coinage setting command
186      coin_settings = km_status & 0xf;
179   speedatk_state *state = space->machine->driver_data<speedatk_state>();
180
181   state->km_status = data;
182   if((state->km_status & 0xf0) == 0x80) //coinage setting command
183      state->coin_settings = state->km_status & 0xf;
187184}
188185
189186static ADDRESS_MAP_START( speedatk_mem, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
191188   AM_RANGE(0x8000, 0x8000) AM_READWRITE(key_matrix_r,key_matrix_w)
192189   AM_RANGE(0x8001, 0x8001) AM_READWRITE(key_matrix_status_r,key_matrix_status_w)
193190   AM_RANGE(0x8800, 0x8fff) AM_RAM
194   AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(speedatk_videoram_w) AM_BASE(&speedatk_videoram)
195   AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(speedatk_colorram_w) AM_BASE(&speedatk_colorram)
191   AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(speedatk_videoram_w) AM_BASE_MEMBER(speedatk_state, videoram)
192   AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(speedatk_colorram_w) AM_BASE_MEMBER(speedatk_state, colorram)
196193ADDRESS_MAP_END
197194
198195static ADDRESS_MAP_START( speedatk_io, ADDRESS_SPACE_IO, 8 )
r9191r9192
319316   DEVCB_NULL
320317};
321318
322static MACHINE_DRIVER_START( speedatk )
319static MACHINE_CONFIG_START( speedatk, speedatk_state )
320
323321   MDRV_CPU_ADD("maincpu", Z80,MASTER_CLOCK/2) //divider is unknown
324322   MDRV_CPU_PROGRAM_MAP(speedatk_mem)
325323   MDRV_CPU_IO_MAP(speedatk_io)
r9191r9192
350348   MDRV_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK/4) //divider is unknown
351349   MDRV_SOUND_CONFIG(ay8910_config)
352350   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
353MACHINE_DRIVER_END
351MACHINE_CONFIG_END
354352
355353ROM_START( speedatk )
356354   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/vroulet.c
r9191r9192
3838#include "cpu/z80/z80.h"
3939#include "machine/8255ppi.h"
4040#include "sound/ay8910.h"
41#include "machine/nvram.h"
4142
4243/* video */
4344
r9191r9192
105106
106107static ADDRESS_MAP_START( vroulet_map, ADDRESS_SPACE_PROGRAM, 8 )
107108   AM_RANGE(0x0000, 0x5fff) AM_ROM
108   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
109   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram")
109110   AM_RANGE(0x8000, 0x8000) AM_NOP
110111   AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(vroulet_videoram_w) AM_BASE(&videoram)
111112   AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(vroulet_colorram_w) AM_BASE(&colorram)
r9191r9192
259260
260261/* Machine Driver */
261262
262static MACHINE_DRIVER_START( vroulet )
263static MACHINE_CONFIG_START( vroulet, driver_device )
263264   // basic machine hardware
264265   MDRV_CPU_ADD("maincpu", Z80, 4000000)   //???
265266   MDRV_CPU_PROGRAM_MAP(vroulet_map)
266267   MDRV_CPU_IO_MAP(vroulet_io_map)
267268   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
268269
269   MDRV_NVRAM_HANDLER(generic_1fill)
270   MDRV_NVRAM_ADD_1FILL("nvram")
270271
271272   MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf[0] )
272273   MDRV_PPI8255_ADD( "ppi8255_1", ppi8255_intf[1] )
r9191r9192
293294   MDRV_SOUND_CONFIG(ay8910_config)
294295   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
295296
296MACHINE_DRIVER_END
297MACHINE_CONFIG_END
297298
298299/* ROMs */
299300
src/mame/drivers/coinmvga.c
r9191r9192
216216#include "emu.h"
217217#include "cpu/h83002/h8.h"
218218#include "sound/ymz280b.h"
219#include "machine/nvram.h"
219220
220221static UINT16 *vram;
221222
r9191r9192
652653*    Machine Drivers     *
653654*************************/
654655
655static MACHINE_DRIVER_START( coinmvga )
656static MACHINE_CONFIG_START( coinmvga, driver_device )
656657
657658   /* basic machine hardware */
658659   MDRV_CPU_ADD("maincpu", H83007, CPU_CLOCK)   /* xtal */
r9191r9192
660661   MDRV_CPU_IO_MAP(coinmvga_io_map)
661662   MDRV_CPU_VBLANK_INT("screen", vblank_irq)   /* wrong, fix me */
662663
663//  MDRV_NVRAM_HANDLER(generic_0fill)
664//  MDRV_NVRAM_ADD_0FILL("nvram")
664665
665666   /* video hardware */
666667   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
685686   MDRV_SOUND_CONFIG(ymz280b_intf)
686687   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
687688   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
688MACHINE_DRIVER_END
689MACHINE_CONFIG_END
689690
690691
691692/*************************
src/mame/drivers/twins.c
r9191r9192
166166   DEVCB_INPUT_PORT("P2")
167167};
168168
169static MACHINE_DRIVER_START( twins )
169static MACHINE_CONFIG_START( twins, driver_device )
170170   /* basic machine hardware */
171171   MDRV_CPU_ADD("maincpu", V30, 8000000)
172172   MDRV_CPU_PROGRAM_MAP(twins_map)
r9191r9192
192192   MDRV_SOUND_ADD("aysnd", AY8910, 2000000)
193193   MDRV_SOUND_CONFIG(ay8910_config)
194194   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
195MACHINE_DRIVER_END
195MACHINE_CONFIG_END
196196
197197/* The second set has different palette hardware and a different port map */
198198
r9191r9192
254254ADDRESS_MAP_END
255255
256256
257static MACHINE_DRIVER_START( twinsa )
257static MACHINE_CONFIG_START( twinsa, driver_device )
258258   /* basic machine hardware */
259259   MDRV_CPU_ADD("maincpu", V30, XTAL_16MHz/2) /* verified on pcb */
260260   MDRV_CPU_PROGRAM_MAP(twins_map)
r9191r9192
280280   MDRV_SOUND_ADD("aysnd", AY8910, XTAL_16MHz/8) /* verified on pcb */
281281   MDRV_SOUND_CONFIG(ay8910_config)
282282   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
283MACHINE_DRIVER_END
283MACHINE_CONFIG_END
284284
285285
286286ROM_START( twins )
src/mame/drivers/cultures.c
r9191r9192
1414
1515#define MCLK 16000000
1616
17class cultures_state : public driver_data_t
17class cultures_state : public driver_device
1818{
1919public:
20   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cultures_state(machine)); }
20   cultures_state(running_machine &machine, const driver_device_config_base &config)
21      : driver_device(machine, config) { }
2122
22   cultures_state(running_machine &machine)
23      : driver_data_t(machine) { }
24
2523   /* memory pointers */
2624   UINT8 *   bg0_videoram;
2725   UINT8 *   paletteram;
r9191r9192
200198   AM_RANGE(0x80, 0x80) AM_WRITE(cpu_bankswitch_w)
201199   AM_RANGE(0x90, 0x90) AM_WRITE(misc_w)
202200   AM_RANGE(0xa0, 0xa0) AM_WRITE(bg_bank_w)
203   AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
201   AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
204202   AM_RANGE(0xd0, 0xd0) AM_READ_PORT("SW1_A")
205203   AM_RANGE(0xd1, 0xd1) AM_READ_PORT("SW1_B")
206204   AM_RANGE(0xd2, 0xd2) AM_READ_PORT("SW2_A")
r9191r9192
386384   state->bg2_bank = 0;
387385}
388386
389static MACHINE_DRIVER_START( cultures )
387static MACHINE_CONFIG_START( cultures, cultures_state )
390388
391   /* driver data */
392   MDRV_DRIVER_DATA(cultures_state)
393
394389   /* basic machine hardware */
395390   MDRV_CPU_ADD("maincpu", Z80, MCLK/2) /* 8.000 MHz */
396391   MDRV_CPU_PROGRAM_MAP(cultures_map)
r9191r9192
419414
420415   MDRV_OKIM6295_ADD("oki", (MCLK/1024)*132, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
421416   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
422MACHINE_DRIVER_END
417MACHINE_CONFIG_END
423418
424419/*
425420
src/mame/drivers/powerins.c
r9191r9192
3434#include "machine/nmk112.h"
3535#include "sound/okim6295.h"
3636#include "sound/2203intf.h"
37#include "includes/powerins.h"
3738
38/* Variables that video has access to */
3939
40/* Variables defined in video */
41extern UINT16 *powerins_vram_0, *powerins_vctrl_0;
42extern UINT16 *powerins_vram_1, *powerins_vctrl_1;
43
44/* Functions defined in video */
45
46WRITE16_HANDLER( powerins_flipscreen_w );
47WRITE16_HANDLER( powerins_tilebank_w );
48
49WRITE16_HANDLER( powerins_paletteram16_w );
50
51WRITE16_HANDLER( powerins_vram_0_w );
52WRITE16_HANDLER( powerins_vram_1_w );
53
54VIDEO_START( powerins );
55VIDEO_UPDATE( powerins );
56
57
5840/***************************************************************************
5941
6042                                Memory Maps
r9191r9192
121103   AM_RANGE(0x100018, 0x100019) AM_WRITE(powerins_tilebank_w)                           // Tiles Banking (VRAM 0)
122104   AM_RANGE(0x10001e, 0x10001f) AM_WRITENOP                                       // Sound Latch, NOPed since there is no sound cpu
123105   AM_RANGE(0x100030, 0x100031) AM_WRITE(powerins_okibank_w)                           // Sound
124   AM_RANGE(0x10003e, 0x10003f) AM_DEVREADWRITE8("oki1", okim6295_r,okim6295_w, 0x00ff)      // (used by powerina)
106   AM_RANGE(0x10003e, 0x10003f) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)      // (used by powerina)
125107   AM_RANGE(0x120000, 0x120fff) AM_RAM_WRITE(powerins_paletteram16_w) AM_BASE_GENERIC(paletteram)   // Palette
126108   AM_RANGE(0x130000, 0x130007) AM_RAM AM_BASE(&powerins_vctrl_0)                        // VRAM 0 Control
127109   AM_RANGE(0x140000, 0x143fff) AM_RAM_WRITE(powerins_vram_0_w) AM_BASE(&powerins_vram_0)      // VRAM 0
r9191r9192
141123static ADDRESS_MAP_START( powerins_sound_io_map, ADDRESS_SPACE_IO, 8 )
142124   ADDRESS_MAP_GLOBAL_MASK(0xff)
143125   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ym2203", ym2203_r, ym2203_w)
144   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
145   AM_RANGE(0x88, 0x88) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
126   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
127   AM_RANGE(0x88, 0x88) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
146128   AM_RANGE(0x90, 0x97) AM_DEVWRITE("nmk112", nmk112_okibank_w)
147129ADDRESS_MAP_END
148130
r9191r9192
150132   ADDRESS_MAP_GLOBAL_MASK(0xff)
151133   AM_RANGE(0x00, 0x00) AM_READ(powerinb_fake_ym2203_r) AM_WRITENOP
152134   AM_RANGE(0x01, 0x01) AM_NOP
153   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
154   AM_RANGE(0x88, 0x88) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
135   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
136   AM_RANGE(0x88, 0x88) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
155137   AM_RANGE(0x90, 0x97) AM_DEVWRITE("nmk112", nmk112_okibank_w)
156138ADDRESS_MAP_END
157139
r9191r9192
357339};
358340
359341
360static MACHINE_DRIVER_START( powerins )
342static MACHINE_CONFIG_START( powerins, driver_device )
361343
362344   /* basic machine hardware */
363345   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12MHz */
r9191r9192
398380   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
399381
400382   MDRV_NMK112_ADD("nmk112", powerins_nmk112_intf)
401MACHINE_DRIVER_END
383MACHINE_CONFIG_END
402384
403static MACHINE_DRIVER_START( powerina )
385static MACHINE_CONFIG_DERIVED( powerina, powerins )
404386
405387   /* basic machine hardware */
406   MDRV_IMPORT_FROM(powerins)
407388
408389   MDRV_CPU_MODIFY("maincpu")
409390   MDRV_CPU_PROGRAM_MAP(powerina_map)
r9191r9192
418399
419400   MDRV_DEVICE_REMOVE("oki2")
420401   MDRV_DEVICE_REMOVE("ym2203")
421MACHINE_DRIVER_END
402MACHINE_CONFIG_END
422403
423static MACHINE_DRIVER_START( powerinb )
404static MACHINE_CONFIG_DERIVED( powerinb, powerins )
424405
425406   /* basic machine hardware */
426   MDRV_IMPORT_FROM(powerins)
427407
428408   MDRV_SCREEN_MODIFY("screen")
429409   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
433413   MDRV_CPU_PERIODIC_INT(irq0_line_hold, 120)   // YM2203 rate is at 150??
434414
435415   MDRV_DEVICE_REMOVE("ym2203")   // Sound code talks to one, but it's not fitted on the board
436MACHINE_DRIVER_END
416MACHINE_CONFIG_END
437417
438418
439419/***************************************************************************
src/mame/drivers/5clown.c
r9191r9192
446446#include "cpu/m6502/m6502.h"
447447#include "video/mc6845.h"
448448#include "machine/6821pia.h"
449#include "machine/nvram.h"
449450#include "sound/ay8910.h"
450451#include "sound/okim6295.h"
451452
r9191r9192
695696*************************/
696697
697698static ADDRESS_MAP_START( fclown_map, ADDRESS_SPACE_PROGRAM, 8 )
698   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
699   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
699700   AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_address_w)
700701   AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
701702   AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
r9191r9192
773774   AM_RANGE(0x0000, 0x07ff) AM_RAM
774775   AM_RANGE(0x0800, 0x0800) AM_WRITE(snd_800_w)
775776   AM_RANGE(0x0a02, 0x0a02) AM_WRITE(snd_a02_w)
776   AM_RANGE(0x0c04, 0x0c04) AM_DEVWRITE("oki6295", okim6295_w)
777   AM_RANGE(0x0c06, 0x0c06) AM_DEVREAD("oki6295", okim6295_r)
777   AM_RANGE(0x0c04, 0x0c04) AM_DEVWRITE_MODERN("oki6295", okim6295_device, write)
778   AM_RANGE(0x0c06, 0x0c06) AM_DEVREAD_MODERN("oki6295", okim6295_device, read)
778779   AM_RANGE(0x0e06, 0x0e06) AM_READ(snd_e06_r)
779780   AM_RANGE(0xe000, 0xffff) AM_ROM               /* ROM space */
780781ADDRESS_MAP_END
r9191r9192
10271028*    Machine Drivers     *
10281029*************************/
10291030
1030static MACHINE_DRIVER_START( fclown )
1031static MACHINE_CONFIG_START( fclown, driver_device )
10311032
10321033   /* basic machine hardware */
10331034   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)   /* guess, seems ok */
r9191r9192
10371038   MDRV_CPU_ADD("audiocpu", M6502, MASTER_CLOCK/8)   /* guess, seems ok */
10381039   MDRV_CPU_PROGRAM_MAP(fcaudio_map)
10391040
1040   MDRV_NVRAM_HANDLER(generic_0fill)
1041   MDRV_NVRAM_ADD_0FILL("nvram")
10411042
10421043   MDRV_PIA6821_ADD("pia0", fclown_pia0_intf)
10431044   MDRV_PIA6821_ADD("pia1", fclown_pia1_intf)
r9191r9192
10691070   MDRV_OKIM6295_ADD("oki6295", MASTER_CLOCK/12, OKIM6295_PIN7_LOW)   /* guess, seems ok; pin7 guessed, seems ok */
10701071   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.20)
10711072
1072MACHINE_DRIVER_END
1073MACHINE_CONFIG_END
10731074
10741075
10751076/*************************
src/mame/drivers/tgtpanic.c
r9191r9192
117117 *
118118 *************************************/
119119
120static MACHINE_DRIVER_START( tgtpanic )
120static MACHINE_CONFIG_START( tgtpanic, driver_device )
121121
122122   /* basic machine hardware */
123123   MDRV_CPU_ADD("maincpu", Z80, XTAL_4MHz)
r9191r9192
134134   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
135135   MDRV_SCREEN_SIZE(256, 256)
136136   MDRV_SCREEN_VISIBLE_AREA(0, 192 - 1, 0, 192 - 1)
137MACHINE_DRIVER_END
137MACHINE_CONFIG_END
138138
139139
140140 /*************************************
src/mame/drivers/exedexes.c
r9191r9192
212212   state->sc2on = 0;
213213}
214214
215static MACHINE_DRIVER_START( exedexes )
215static MACHINE_CONFIG_START( exedexes, exedexes_state )
216216
217   /* driver data */
218   MDRV_DRIVER_DATA(exedexes_state)
219
220217   /* basic machine hardware */
221218   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz (?) */
222219   MDRV_CPU_PROGRAM_MAP(exedexes_map)
r9191r9192
258255
259256   MDRV_SOUND_ADD("sn2", SN76489, 3000000)
260257   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.36)
261MACHINE_DRIVER_END
258MACHINE_CONFIG_END
262259
263260
264261
src/mame/drivers/jedi.c
r9191r9192
112112
113113#include "emu.h"
114114#include "cpu/m6502/m6502.h"
115#include "machine/nvram.h"
115116#include "includes/jedi.h"
116117
117118
r9191r9192
248249   jedi_state *state = space->machine->driver_data<jedi_state>();
249250
250251   if (state->nvram_enabled)
251      space->machine->generic.nvram.u8[offset] = data;
252      state->m_nvram[offset] = data;
252253}
253254
254255
r9191r9192
269270
270271static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
271272   AM_RANGE(0x0000, 0x07ff) AM_RAM
272   AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x0300) AM_RAM_WRITE(nvram_data_w) AM_BASE_SIZE_GENERIC(nvram)
273   AM_RANGE(0x0800, 0x08ff) AM_MIRROR(0x0300) AM_RAM_WRITE(nvram_data_w) AM_SHARE("nvram")
273274   AM_RANGE(0x0c00, 0x0c00) AM_MIRROR(0x03fe) AM_READ_PORT("0c00") AM_WRITENOP
274275   AM_RANGE(0x0c01, 0x0c01) AM_MIRROR(0x03fe) AM_READ_PORT("0c01") AM_WRITENOP
275276   AM_RANGE(0x1000, 0x13ff) AM_NOP
r9191r9192
341342 *
342343 *************************************/
343344
344static MACHINE_DRIVER_START( jedi )
345static MACHINE_CONFIG_START( jedi, jedi_state )
345346
346   MDRV_DRIVER_DATA(jedi_state)
347
348347   /* basic machine hardware */
349348   MDRV_CPU_ADD("maincpu", M6502, JEDI_MAIN_CPU_CLOCK)
350349   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
353352
354353   MDRV_MACHINE_START(jedi)
355354   MDRV_MACHINE_RESET(jedi)
356   MDRV_NVRAM_HANDLER(generic_0fill)
355   MDRV_NVRAM_ADD_0FILL("nvram")
357356
358357   /* video hardware */
359   MDRV_IMPORT_FROM(jedi_video)
358   MDRV_FRAGMENT_ADD(jedi_video)
360359
361360   /* audio hardware */
362   MDRV_IMPORT_FROM(jedi_audio)
363MACHINE_DRIVER_END
361   MDRV_FRAGMENT_ADD(jedi_audio)
362MACHINE_CONFIG_END
364363
365364
366365
src/mame/drivers/seta2.c
r9191r9192
536536#include "machine/eeprom.h"
537537#include "sound/x1_010.h"
538538#include "includes/seta2.h"
539#include "machine/nvram.h"
539540
540541/***************************************************************************
541542
r9191r9192
835836static ADDRESS_MAP_START( samshoot_map, ADDRESS_SPACE_PROGRAM, 16 )
836837   AM_RANGE( 0x000000, 0x1fffff ) AM_ROM
837838   AM_RANGE( 0x200000, 0x20ffff ) AM_RAM
838   AM_RANGE( 0x300000, 0x30ffff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
839   AM_RANGE( 0x300000, 0x30ffff ) AM_RAM AM_SHARE("nvram")
839840
840841   AM_RANGE( 0x400000, 0x400001 ) AM_READ_PORT("DSW1")            // DSW 1
841842   AM_RANGE( 0x400002, 0x400003 ) AM_READ_PORT("BUTTONS")         // Buttons
r9191r9192
870871// RAM shared with the sub CPU
871872static READ32_HANDLER( funcube_nvram_dword_r )
872873{
873   UINT16 val = space->machine->generic.nvram.u16[offset];
874   seta2_state *state = space->machine->driver_data<seta2_state>();
875   UINT16 val = state->m_nvram[offset];
874876   return ((val & 0xff00) << 8) | (val & 0x00ff);
875877}
876878
877879static WRITE32_HANDLER( funcube_nvram_dword_w )
878880{
881   seta2_state *state = space->machine->driver_data<seta2_state>();
879882   if (ACCESSING_BITS_0_7)
880883   {
881      space->machine->generic.nvram.u16[offset] = (space->machine->generic.nvram.u16[offset] & 0xff00) | (data & 0x000000ff);
884      state->m_nvram[offset] = (state->m_nvram[offset] & 0xff00) | (data & 0x000000ff);
882885   }
883886   if (ACCESSING_BITS_16_23)
884887   {
885      space->machine->generic.nvram.u16[offset] = (space->machine->generic.nvram.u16[offset] & 0x00ff) | ((data & 0x00ff0000) >> 8);
888      state->m_nvram[offset] = (state->m_nvram[offset] & 0x00ff) | ((data & 0x00ff0000) >> 8);
886889   }
887890}
888891
r9191r9192
980983
981984static ADDRESS_MAP_START( funcube_sub_map, ADDRESS_SPACE_PROGRAM, 16 )
982985   AM_RANGE( 0x000000, 0x01ffff ) AM_ROM
983   AM_RANGE( 0x200000, 0x20017f ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
986   AM_RANGE( 0x200000, 0x20017f ) AM_RAM AM_SHARE("nvram")
984987ADDRESS_MAP_END
985988
986989
r9191r9192
22752278};
22762279
22772280
2278static MACHINE_DRIVER_START( mj4simai )
2281static MACHINE_CONFIG_START( mj4simai, seta2_state )
22792282
2280   MDRV_DRIVER_DATA( seta2_state )
2281
22822283   /* basic machine hardware */
22832284   MDRV_CPU_ADD("maincpu",M68000,50000000/3)         /* !! TMP68301 @ 16.666666MHz !! */
22842285   MDRV_CPU_PROGRAM_MAP(mj4simai_map)
r9191r9192
23092310   MDRV_SOUND_CONFIG(x1_010_sound_intf)
23102311   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
23112312   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2312MACHINE_DRIVER_END
2313MACHINE_CONFIG_END
23132314
2314static MACHINE_DRIVER_START( gundamex )
2315static MACHINE_CONFIG_DERIVED( gundamex, mj4simai )
23152316
23162317   /* basic machine hardware */
2317   MDRV_IMPORT_FROM(mj4simai)
23182318   MDRV_CPU_MODIFY("maincpu")
23192319   MDRV_CPU_PROGRAM_MAP(gundamex_map)
23202320
r9191r9192
23232323   /* video hardware */
23242324   MDRV_SCREEN_MODIFY("screen")
23252325   MDRV_SCREEN_VISIBLE_AREA(0x00, 0x180-1, 0x100, 0x1e0-1)
2326MACHINE_DRIVER_END
2326MACHINE_CONFIG_END
23272327
2328static MACHINE_DRIVER_START( grdians )
2329
2330   MDRV_IMPORT_FROM(mj4simai)
2328static MACHINE_CONFIG_DERIVED( grdians, mj4simai )
23312329   MDRV_CPU_MODIFY("maincpu")
23322330   MDRV_CPU_PROGRAM_MAP(grdians_map)
23332331
23342332   /* video hardware */
23352333   MDRV_SCREEN_MODIFY("screen")
23362334   MDRV_SCREEN_VISIBLE_AREA(0x80, 0x80 + 0x130 -1, 0x80, 0x80 + 0xe8 -1)
2337MACHINE_DRIVER_END
2335MACHINE_CONFIG_END
23382336
23392337
2340static MACHINE_DRIVER_START( myangel )
2338static MACHINE_CONFIG_DERIVED( myangel, mj4simai )
23412339
23422340   /* basic machine hardware */
2343   MDRV_IMPORT_FROM(mj4simai)
23442341   MDRV_CPU_MODIFY("maincpu")
23452342   MDRV_CPU_PROGRAM_MAP(myangel_map)
23462343
r9191r9192
23492346   MDRV_SCREEN_VISIBLE_AREA(0, 0x178-1, 0x00, 0xf0-1)
23502347
23512348   MDRV_VIDEO_START(seta2_offset)
2352MACHINE_DRIVER_END
2349MACHINE_CONFIG_END
23532350
23542351
2355static MACHINE_DRIVER_START( myangel2 )
2352static MACHINE_CONFIG_DERIVED( myangel2, mj4simai )
23562353
23572354   /* basic machine hardware */
2358   MDRV_IMPORT_FROM(mj4simai)
23592355   MDRV_CPU_MODIFY("maincpu")
23602356   MDRV_CPU_PROGRAM_MAP(myangel2_map)
23612357
r9191r9192
23642360   MDRV_SCREEN_VISIBLE_AREA(0, 0x178-1, 0x00, 0xf0-1)
23652361
23662362   MDRV_VIDEO_START(seta2_offset)
2367MACHINE_DRIVER_END
2363MACHINE_CONFIG_END
23682364
23692365
2370static MACHINE_DRIVER_START( pzlbowl )
2366static MACHINE_CONFIG_DERIVED( pzlbowl, mj4simai )
23712367
23722368   /* basic machine hardware */
2373   MDRV_IMPORT_FROM(mj4simai)
23742369   MDRV_CPU_MODIFY("maincpu")
23752370   MDRV_CPU_PROGRAM_MAP(pzlbowl_map)
23762371
23772372   /* video hardware */
23782373   MDRV_SCREEN_MODIFY("screen")
23792374   MDRV_SCREEN_VISIBLE_AREA(0x10, 0x190-1, 0x100, 0x1f0-1)
2380MACHINE_DRIVER_END
2375MACHINE_CONFIG_END
23812376
23822377
2383static MACHINE_DRIVER_START( penbros )
2378static MACHINE_CONFIG_DERIVED( penbros, mj4simai )
23842379
23852380   /* basic machine hardware */
2386   MDRV_IMPORT_FROM(mj4simai)
23872381   MDRV_CPU_MODIFY("maincpu")
23882382   MDRV_CPU_PROGRAM_MAP(penbros_map)
23892383
23902384   /* video hardware */
23912385   MDRV_SCREEN_MODIFY("screen")
23922386   MDRV_SCREEN_VISIBLE_AREA(0, 0x140-1, 0x80, 0x160-1)
2393MACHINE_DRIVER_END
2387MACHINE_CONFIG_END
23942388
2395static MACHINE_DRIVER_START( samshoot )
2389static MACHINE_CONFIG_DERIVED( samshoot, mj4simai )
23962390
23972391   /* basic machine hardware */
2398   MDRV_IMPORT_FROM(mj4simai)
23992392   MDRV_CPU_MODIFY("maincpu")
24002393   MDRV_CPU_PROGRAM_MAP(samshoot_map)
24012394   MDRV_CPU_VBLANK_INT_HACK(samshoot_interrupt,2)
24022395
2403   MDRV_NVRAM_HANDLER(generic_0fill)
2396   MDRV_NVRAM_ADD_0FILL("nvram")
24042397
24052398   /* video hardware */
24062399   MDRV_SCREEN_MODIFY("screen")
24072400   MDRV_SCREEN_VISIBLE_AREA(0x40, 0x180-1, 0x40, 0x130-1)
2408MACHINE_DRIVER_END
2401MACHINE_CONFIG_END
24092402
24102403
24112404/***************************************************************************
r9191r9192
24582451   state->funcube_hopper_motor = 0;
24592452}
24602453
2461static MACHINE_DRIVER_START( funcube )
2454static MACHINE_CONFIG_START( funcube, seta2_state )
24622455
2463   MDRV_DRIVER_DATA( seta2_state )
2464
24652456   MDRV_CPU_ADD("maincpu", M68040, XTAL_25_447MHz) // !! XCF5206 actually !!
24662457   MDRV_CPU_PROGRAM_MAP(funcube_map)
24672458   MDRV_CPU_VBLANK_INT_HACK(funcube_interrupt,2)
r9191r9192
24712462   MDRV_CPU_IO_MAP(funcube_sub_io)
24722463   MDRV_CPU_PERIODIC_INT(funcube_sub_timer_irq, 60*10 )
24732464
2474   MDRV_NVRAM_HANDLER(generic_0fill)
2465   MDRV_NVRAM_ADD_0FILL("nvram")
24752466
24762467   MDRV_MACHINE_RESET( funcube )
24772468
r9191r9192
24942485
24952486   // MSM9810B
24962487
2497MACHINE_DRIVER_END
2488MACHINE_CONFIG_END
24982489
24992490
25002491/***************************************************************************
src/mame/drivers/flkatck.c
r9191r9192
222222   state->flipscreen = 0;
223223}
224224
225static MACHINE_DRIVER_START( flkatck )
225static MACHINE_CONFIG_START( flkatck, flkatck_state )
226226
227   /* driver data */
228   MDRV_DRIVER_DATA(flkatck_state)
229
230227   /* basic machine hardware */
231228   MDRV_CPU_ADD("maincpu", HD6309,3000000*4) /* HD63C09EP, 24/8 MHz */
232229   MDRV_CPU_PROGRAM_MAP(flkatck_map)
r9191r9192
269266   MDRV_SOUND_ROUTE(0, "rspeaker", 0.50)
270267   MDRV_SOUND_ROUTE(1, "lspeaker", 0.50)
271268   MDRV_SOUND_ROUTE(1, "rspeaker", 0.50)
272MACHINE_DRIVER_END
269MACHINE_CONFIG_END
273270
274271
275272
src/mame/drivers/sfcbox.c
r9191r9192
206206#endif
207207INPUT_PORTS_END
208208
209static MACHINE_DRIVER_START( snes )
209static MACHINE_CONFIG_START( snes, snes_state )
210210
211   /* driver data */
212   MDRV_DRIVER_DATA(snes_state)
213
214211   /* basic machine hardware */
215212   MDRV_CPU_ADD("maincpu", _5A22, 3580000*6)   /* 2.68Mhz, also 3.58Mhz */
216213   MDRV_CPU_PROGRAM_MAP(snes_map)
r9191r9192
236233   MDRV_SOUND_ADD("spc700", SNES, 0)
237234   MDRV_SOUND_ROUTE(0, "lspeaker", 1.00)
238235   MDRV_SOUND_ROUTE(1, "rspeaker", 1.00)
239MACHINE_DRIVER_END
236MACHINE_CONFIG_END
240237
241static MACHINE_DRIVER_START( sfcbox )
242   MDRV_IMPORT_FROM( snes )
238static MACHINE_CONFIG_DERIVED( sfcbox, snes )
243239
244240   // ...
245241
246MACHINE_DRIVER_END
242MACHINE_CONFIG_END
247243
248244/***************************************************************************
249245
src/mame/drivers/contra.c
r9191r9192
181181   state->k007121_2 = machine->device("k007121_2");
182182}
183183
184static MACHINE_DRIVER_START( contra )
184static MACHINE_CONFIG_START( contra, contra_state )
185185
186   /* driver data */
187   MDRV_DRIVER_DATA(contra_state)
188
189186   /* basic machine hardware */
190187   MDRV_CPU_ADD("maincpu", M6809, XTAL_24MHz/16) /* 1500000? */
191188   MDRV_CPU_PROGRAM_MAP(contra_map)
r9191r9192
222219   MDRV_SOUND_ADD("ymsnd", YM2151, XTAL_3_579545MHz)
223220   MDRV_SOUND_ROUTE(0, "lspeaker", 0.60)
224221   MDRV_SOUND_ROUTE(1, "rspeaker", 0.60)
225MACHINE_DRIVER_END
222MACHINE_CONFIG_END
226223
227224
228225ROM_START( contra )
src/mame/drivers/zn.c
r9191r9192
466466   psx_machine_init(machine);
467467}
468468
469static MACHINE_DRIVER_START( zn1_1mb_vram )
469static MACHINE_CONFIG_START( zn1_1mb_vram, driver_device )
470470   /* basic machine hardware */
471471   MDRV_CPU_ADD( "maincpu", PSXCPU, XTAL_67_7376MHz )
472472   MDRV_CPU_PROGRAM_MAP( zn_map)
r9191r9192
495495   MDRV_SOUND_ROUTE(1, "rspeaker", 0.35)
496496
497497   MDRV_AT28C16_ADD( "at28c16", NULL )
498MACHINE_DRIVER_END
498MACHINE_CONFIG_END
499499
500static MACHINE_DRIVER_START( zn1_2mb_vram )
501   MDRV_IMPORT_FROM( zn1_1mb_vram )
500static MACHINE_CONFIG_DERIVED( zn1_2mb_vram, zn1_1mb_vram )
502501
503502   MDRV_SCREEN_MODIFY("screen")
504503   MDRV_SCREEN_SIZE( 1024, 1024 )
505MACHINE_DRIVER_END
504MACHINE_CONFIG_END
506505
507static MACHINE_DRIVER_START( zn2 )
506static MACHINE_CONFIG_START( zn2, driver_device )
508507   /* basic machine hardware */
509508   MDRV_CPU_ADD( "maincpu", PSXCPU, XTAL_100MHz )
510509   MDRV_CPU_PROGRAM_MAP( zn_map)
r9191r9192
533532   MDRV_SOUND_ROUTE(1, "rspeaker", 0.35)
534533
535534   MDRV_AT28C16_ADD( "at28c16", NULL )
536MACHINE_DRIVER_END
535MACHINE_CONFIG_END
537536
538537/*
539538Capcom ZN1 generic PCB Layout
r9191r9192
720719   AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
721720ADDRESS_MAP_END
722721
723static MACHINE_DRIVER_START( coh1000c )
724   MDRV_IMPORT_FROM( zn1_1mb_vram )
722static MACHINE_CONFIG_DERIVED( coh1000c, zn1_1mb_vram )
725723
726724   MDRV_CPU_ADD("audiocpu",  Z80, 8000000 )  /* 8MHz ?? */
727725   MDRV_CPU_PROGRAM_MAP( qsound_map)
r9191r9192
733731   MDRV_SOUND_ADD( "qsound", QSOUND, QSOUND_CLOCK )
734732   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
735733   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
736MACHINE_DRIVER_END
734MACHINE_CONFIG_END
737735
738static MACHINE_DRIVER_START( coh1002c )
739   MDRV_IMPORT_FROM( zn1_2mb_vram )
736static MACHINE_CONFIG_DERIVED( coh1002c, zn1_2mb_vram )
740737
741738   MDRV_CPU_ADD("audiocpu",  Z80, 8000000 )  /* 8MHz ?? */
742739   MDRV_CPU_PROGRAM_MAP( qsound_map)
r9191r9192
748745   MDRV_SOUND_ADD( "qsound", QSOUND, QSOUND_CLOCK )
749746   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
750747   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
751MACHINE_DRIVER_END
748MACHINE_CONFIG_END
752749
753750/*
754751
r9191r9192
916913   zn_machine_init(machine);
917914}
918915
919static MACHINE_DRIVER_START( coh3002c )
920   MDRV_IMPORT_FROM( zn2 )
916static MACHINE_CONFIG_DERIVED( coh3002c, zn2 )
921917
922918   MDRV_CPU_ADD("audiocpu", Z80, 8000000 )   /* 8MHz ?? */
923919   MDRV_CPU_PROGRAM_MAP( qsound_map)
r9191r9192
929925   MDRV_SOUND_ADD( "qsound", QSOUND, QSOUND_CLOCK )
930926   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
931927   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
932MACHINE_DRIVER_END
928MACHINE_CONFIG_END
933929
934930/*
935931
r9191r9192
12511247   "maincpu", "audiocpu"
12521248};
12531249
1254static MACHINE_DRIVER_START( coh1000ta )
1255   MDRV_IMPORT_FROM( zn1_1mb_vram )
1250static MACHINE_CONFIG_DERIVED( coh1000ta, zn1_1mb_vram )
12561251
12571252   MDRV_CPU_ADD("audiocpu", Z80, 16000000 / 4 )   /* 4 MHz */
12581253   MDRV_CPU_PROGRAM_MAP( fx1a_sound_map)
r9191r9192
12691264   MDRV_MB3773_ADD("mb3773")
12701265
12711266   MDRV_TC0140SYT_ADD("tc0140syt", coh1000ta_tc0140syt_intf)
1272MACHINE_DRIVER_END
1267MACHINE_CONFIG_END
12731268
12741269static WRITE32_HANDLER( taitofx1b_volume_w )
12751270{
r9191r9192
13321327}
13331328
13341329
1335static MACHINE_DRIVER_START( coh1000tb )
1336   MDRV_IMPORT_FROM( zn1_2mb_vram )
1330static MACHINE_CONFIG_DERIVED( coh1000tb, zn1_2mb_vram )
13371331
13381332   MDRV_MACHINE_RESET( coh1000tb )
13391333   MDRV_NVRAM_HANDLER( coh1000tb )
13401334
13411335   MDRV_MB3773_ADD("mb3773")
13421336
1343   MDRV_IMPORT_FROM( taito_zoom_sound )
1344MACHINE_DRIVER_END
1337   MDRV_FRAGMENT_ADD( taito_zoom_sound )
1338MACHINE_CONFIG_END
13451339
13461340/*
13471341
r9191r9192
15181512   psx_dma_install_write_handler(5, atpsx_dma_write);
15191513}
15201514
1521static MACHINE_DRIVER_START( coh1000w )
1522   MDRV_IMPORT_FROM( zn1_2mb_vram )
1515static MACHINE_CONFIG_DERIVED( coh1000w, zn1_2mb_vram )
15231516
15241517   MDRV_MACHINE_RESET( coh1000w )
15251518
15261519   MDRV_IDE_CONTROLLER_ADD("ide", atpsx_interrupt)
1527MACHINE_DRIVER_END
1520MACHINE_CONFIG_END
15281521
15291522/*
15301523
r9191r9192
17121705   AM_RANGE(0x100020, 0xffffff) AM_WRITENOP
17131706ADDRESS_MAP_END
17141707
1715static MACHINE_DRIVER_START( coh1002e )
1716   MDRV_IMPORT_FROM( zn1_2mb_vram )
1708static MACHINE_CONFIG_DERIVED( coh1002e, zn1_2mb_vram )
17171709
17181710   MDRV_CPU_ADD("audiocpu", M68000, 12000000 )
17191711   MDRV_CPU_PROGRAM_MAP( psarc_snd_map)
r9191r9192
17231715   MDRV_SOUND_ADD( "ymf", YMF271, 16934400 )
17241716   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
17251717   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1726MACHINE_DRIVER_END
1718MACHINE_CONFIG_END
17271719
17281720
17291721/*
r9191r9192
18501842   zn_machine_init(machine);
18511843}
18521844
1853static MACHINE_DRIVER_START( bam2 )
1854   MDRV_IMPORT_FROM( zn1_2mb_vram )
1845static MACHINE_CONFIG_DERIVED( bam2, zn1_2mb_vram )
18551846
18561847   MDRV_MACHINE_RESET( bam2 )
1857MACHINE_DRIVER_END
1848MACHINE_CONFIG_END
18581849
18591850/*
18601851
r9191r9192
21912182   }
21922183}
21932184
2194static MACHINE_DRIVER_START( coh1000a )
2195   MDRV_IMPORT_FROM( zn1_2mb_vram )
2185static MACHINE_CONFIG_DERIVED( coh1000a, zn1_2mb_vram )
21962186
21972187   MDRV_MACHINE_RESET( coh1000a )
2198MACHINE_DRIVER_END
2188MACHINE_CONFIG_END
21992189
2200static MACHINE_DRIVER_START( coh1000a_ide )
2201   MDRV_IMPORT_FROM( zn1_2mb_vram )
2190static MACHINE_CONFIG_DERIVED( coh1000a_ide, zn1_2mb_vram )
22022191
22032192   MDRV_CPU_MODIFY( "maincpu" )
22042193   MDRV_CPU_VBLANK_INT("screen", jdredd_vblank)
r9191r9192
22062195   MDRV_MACHINE_RESET( coh1000a )
22072196
22082197   MDRV_IDE_CONTROLLER_ADD("ide", jdredd_ide_interrupt)
2209MACHINE_DRIVER_END
2198MACHINE_CONFIG_END
22102199
22112200/*
22122201
r9191r9192
23432332   zn_machine_init(machine);
23442333}
23452334
2346static MACHINE_DRIVER_START( coh1001l )
2347   MDRV_IMPORT_FROM( zn1_2mb_vram )
2335static MACHINE_CONFIG_DERIVED( coh1001l, zn1_2mb_vram )
23482336
23492337//  MDRV_CPU_ADD("audiocpu", M68000, 10000000 )
23502338//  MDRV_CPU_PROGRAM_MAP( atlus_snd_map)
r9191r9192
23522340   MDRV_MACHINE_RESET( coh1001l )
23532341
23542342//  MDRV_SOUND_ADD( "ymz", wYMZ280B, ymz280b_intf )
2355MACHINE_DRIVER_END
2343MACHINE_CONFIG_END
23562344
23572345/*
23582346
r9191r9192
23882376   zn_machine_init(machine);
23892377}
23902378
2391static MACHINE_DRIVER_START( coh1002v )
2392   MDRV_IMPORT_FROM( zn1_2mb_vram )
2379static MACHINE_CONFIG_DERIVED( coh1002v, zn1_2mb_vram )
23932380
23942381   MDRV_MACHINE_RESET( coh1002v )
2395MACHINE_DRIVER_END
2382MACHINE_CONFIG_END
23962383
23972384/*
23982385
r9191r9192
26242611ADDRESS_MAP_END
26252612
26262613
2627static MACHINE_DRIVER_START( coh1002m )
2628   MDRV_IMPORT_FROM( zn1_2mb_vram )
2614static MACHINE_CONFIG_DERIVED( coh1002m, zn1_2mb_vram )
26292615
26302616   MDRV_MACHINE_RESET( coh1002m )
2631MACHINE_DRIVER_END
2617MACHINE_CONFIG_END
26322618
2633static MACHINE_DRIVER_START( coh1002msnd )
2634   MDRV_IMPORT_FROM( zn1_2mb_vram )
2619static MACHINE_CONFIG_DERIVED( coh1002msnd, zn1_2mb_vram )
26352620
26362621   MDRV_CPU_ADD("audiocpu", Z80, 32000000/8 )
26372622   MDRV_CPU_PROGRAM_MAP( cbaj_z80_map)
r9191r9192
26422627   MDRV_SOUND_ADD("ymz", YMZ280B, 16934400)
26432628   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
26442629   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2645MACHINE_DRIVER_END
2630MACHINE_CONFIG_END
26462631
2647static MACHINE_DRIVER_START( coh1002ml )
2648   MDRV_IMPORT_FROM( zn1_2mb_vram )
2632static MACHINE_CONFIG_DERIVED( coh1002ml, zn1_2mb_vram )
26492633
26502634   MDRV_CPU_ADD("link", Z80, 8000000 )
26512635   MDRV_CPU_PROGRAM_MAP( link_map)
26522636
26532637   MDRV_MACHINE_RESET( coh1002m )
2654MACHINE_DRIVER_END
2638MACHINE_CONFIG_END
26552639
26562640static INPUT_PORTS_START( zn )
26572641   PORT_START("P1")
src/mame/drivers/paradise.c
r9191r9192
103103   AM_RANGE(0x2004, 0x2004) AM_WRITE(paradise_palbank_w)   // Layers palette bank
104104   AM_RANGE(0x2006, 0x2006) AM_WRITE(paradise_rombank_w)   // ROM bank
105105   AM_RANGE(0x2007, 0x2007) AM_DEVWRITE("oki2", paradise_okibank_w)   // OKI 1 samples bank
106   AM_RANGE(0x2010, 0x2010) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)   // OKI 0
106   AM_RANGE(0x2010, 0x2010) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)   // OKI 0
107107   AM_RANGE(0x2020, 0x2020) AM_READ_PORT("DSW1")
108108   AM_RANGE(0x2021, 0x2021) AM_READ_PORT("DSW2")
109109   AM_RANGE(0x2022, 0x2022) AM_READ_PORT("P1")
110110   AM_RANGE(0x2023, 0x2023) AM_READ_PORT("P2")
111111   AM_RANGE(0x2024, 0x2024) AM_READ_PORT("SYSTEM")
112   AM_RANGE(0x2030, 0x2030) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)   // OKI 1
112   AM_RANGE(0x2030, 0x2030) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)   // OKI 1
113113   AM_RANGE(0x8000, 0xffff) AM_RAM_WRITE(paradise_pixmap_w) AM_BASE_MEMBER(paradise_state, videoram)   // Pixmap
114114ADDRESS_MAP_END
115115
r9191r9192
119119   AM_RANGE(0x2001, 0x2001) AM_WRITE(paradise_flipscreen_w)   // Flip Screen
120120   AM_RANGE(0x2004, 0x2004) AM_WRITE(paradise_palbank_w)   // Layers palette bank
121121   AM_RANGE(0x2006, 0x2006) AM_WRITE(paradise_rombank_w)   // ROM bank
122   AM_RANGE(0x2010, 0x2010) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)   // OKI 0
122   AM_RANGE(0x2010, 0x2010) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)   // OKI 0
123123   AM_RANGE(0x2020, 0x2020) AM_READ_PORT("DSW1")
124124   AM_RANGE(0x2021, 0x2021) AM_READ_PORT("DSW2")
125125   AM_RANGE(0x2022, 0x2022) AM_READ_PORT("P1")
r9191r9192
562562   state->priority = 0;
563563}
564564
565static MACHINE_DRIVER_START( paradise )
565static MACHINE_CONFIG_START( paradise, paradise_state )
566566
567   /* driver data */
568   MDRV_DRIVER_DATA(paradise_state)
569
570567   /* basic machine hardware */
571568   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2)         /* Z8400B - 6mhz Verified */
572569   MDRV_CPU_PROGRAM_MAP(paradise_map)
r9191r9192
598595
599596   MDRV_OKIM6295_ADD("oki2", XTAL_12MHz/12, OKIM6295_PIN7_HIGH) /* verified on pcb */
600597   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
601MACHINE_DRIVER_END
598MACHINE_CONFIG_END
602599
603static MACHINE_DRIVER_START( tgtball )
600static MACHINE_CONFIG_DERIVED( tgtball, paradise )
601
604602   /* basic machine hardware */
605   MDRV_IMPORT_FROM(paradise)
606603   MDRV_CPU_MODIFY("maincpu")
607604   MDRV_CPU_PROGRAM_MAP(tgtball_map)
608MACHINE_DRIVER_END
605MACHINE_CONFIG_END
609606
610static MACHINE_DRIVER_START( torus )
607static MACHINE_CONFIG_DERIVED( torus, paradise )
608
611609   /* basic machine hardware */
612   MDRV_IMPORT_FROM(paradise)
613610   MDRV_CPU_MODIFY("maincpu")
614611   MDRV_CPU_PROGRAM_MAP(torus_map)
615612   MDRV_CPU_IO_MAP(torus_io_map)
r9191r9192
619616   MDRV_VIDEO_UPDATE(torus)
620617
621618   MDRV_DEVICE_REMOVE("oki2")
622MACHINE_DRIVER_END
619MACHINE_CONFIG_END
623620
624static MACHINE_DRIVER_START( madball )
621static MACHINE_CONFIG_DERIVED( madball, paradise )
622
625623   /* basic machine hardware */
626   MDRV_IMPORT_FROM(paradise)
627624   MDRV_CPU_MODIFY("maincpu")
628625   MDRV_CPU_PROGRAM_MAP(torus_map)
629626   MDRV_CPU_IO_MAP(torus_io_map)
r9191r9192
633630   MDRV_VIDEO_UPDATE(madball)
634631
635632   MDRV_DEVICE_REMOVE("oki2")
636MACHINE_DRIVER_END
633MACHINE_CONFIG_END
637634
638635
639636/***************************************************************************
src/mame/drivers/balsente.c
r9191r9192
230230#include "cpu/m68000/m68000.h"
231231#include "includes/balsente.h"
232232#include "sound/cem3394.h"
233#include "machine/nvram.h"
233234
234235#include "stocker.lh"
235236
r9191r9192
243244
244245static ADDRESS_MAP_START( cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
245246   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
246   AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(balsente_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
247   AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(balsente_videoram_w)
247248   AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(balsente_paletteram_w) AM_BASE_GENERIC(paletteram)
248249   AM_RANGE(0x9000, 0x9007) AM_WRITE(balsente_adc_select_w)
249250   AM_RANGE(0x9400, 0x9401) AM_READ(balsente_adc_data_r)
r9191r9192
258259   AM_RANGE(0x9903, 0x9903) AM_READ_PORT("IN1") AM_WRITENOP
259260   AM_RANGE(0x9a00, 0x9a03) AM_READ(balsente_random_num_r)
260261   AM_RANGE(0x9a04, 0x9a05) AM_READWRITE(balsente_m6850_r, balsente_m6850_w)
261   AM_RANGE(0x9b00, 0x9cff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* system+cart NOVRAM */
262   AM_RANGE(0x9b00, 0x9cff) AM_RAM AM_SHARE("nvram")   /* system+cart NOVRAM */
262263   AM_RANGE(0xa000, 0xbfff) AM_ROMBANK("bank1")
263264   AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank2")
264265ADDRESS_MAP_END
r9191r9192
711712   PORT_DIPSETTING(    0x00, "Keep All" )
712713
713714   PORT_MODIFY("IN1")
715   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
714716   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
715717   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
716718   PORT_BIT( 0x30, IP_ACTIVE_LOW, IPT_UNUSED )
r9191r9192
10361038   PORT_DIPSETTING(    0x01, "1" )
10371039   PORT_DIPSETTING(    0x02, "2" )
10381040   PORT_DIPSETTING(    0x03, "3" )
1039   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )      PORT_DIPLOCATION("H1:8")
1040   PORT_DIPSETTING(    0x00, "0" )
1041   PORT_DIPSETTING(    0x80, "1" )
1041   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Free_Play ) )   PORT_DIPLOCATION("H1:8")
1042   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1043   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
10421044
10431045   PORT_MODIFY("SWG")
10441046   PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "G1:1" )
r9191r9192
10511053   PORT_DIPSETTING(    0x00, "3" )
10521054
10531055   PORT_MODIFY("IN0")
1054   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
1055   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
1056   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 )
1057   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 )
1056   PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
10581057   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
10591058   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 )
10601059   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 )
r9191r9192
10641063   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
10651064   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
10661065   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
1066   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
10671067
10681068   PORT_MODIFY("AN0")
10691069    PORT_BIT( 0xff, 0, IPT_DIAL ) PORT_SENSITIVITY(50) PORT_KEYDELTA(20) PORT_PLAYER(1)
r9191r9192
11901190 *
11911191 *************************************/
11921192
1193static MACHINE_DRIVER_START( balsente )
1194   MDRV_DRIVER_DATA(balsente_state)
1193static MACHINE_CONFIG_START( balsente, balsente_state )
11951194
11961195   /* basic machine hardware */
11971196   MDRV_CPU_ADD("maincpu", M6809, 5000000/4)
r9191r9192
12061205
12071206   MDRV_MACHINE_START(balsente)
12081207   MDRV_MACHINE_RESET(balsente)
1209   MDRV_NVRAM_HANDLER(generic_0fill)
1208   MDRV_NVRAM_ADD_0FILL("nvram")
12101209
12111210   MDRV_TIMER_ADD("scan_timer", balsente_interrupt_timer)
12121211   MDRV_TIMER_ADD("8253_0_timer", balsente_clock_counter_0_ff)
r9191r9192
12501249   MDRV_SOUND_ADD("cem6", CEM3394, 0)
12511250   MDRV_SOUND_CONFIG(cem_interface)
12521251   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
1253MACHINE_DRIVER_END
1252MACHINE_CONFIG_END
12541253
12551254
1256static MACHINE_DRIVER_START( shrike )
1255static MACHINE_CONFIG_DERIVED( shrike, balsente )
12571256
12581257   /* basic machine hardware */
1259   MDRV_IMPORT_FROM(balsente)
12601258
12611259   MDRV_CPU_ADD("68k", M68000, 8000000)
12621260   MDRV_CPU_PROGRAM_MAP(shrike68k_map)
12631261
12641262   MDRV_QUANTUM_TIME(HZ(6000))
1265MACHINE_DRIVER_END
1263MACHINE_CONFIG_END
12661264
12671265
12681266
src/mame/drivers/galpani3.c
r9191r9192
898898   0   // irq ?
899899};
900900
901static MACHINE_DRIVER_START( galpani3 )
901static MACHINE_CONFIG_START( galpani3, driver_device )
902902   MDRV_CPU_ADD("maincpu", M68000, 16000000)    // ? (from which clock?)
903903   MDRV_CPU_PROGRAM_MAP(galpani3_map)
904904   MDRV_CPU_VBLANK_INT_HACK(galpani3_vblank, 3)
r9191r9192
924924   MDRV_SOUND_CONFIG(ymz280b_intf)
925925   MDRV_SOUND_ROUTE(0, "mono", 1.0)
926926   MDRV_SOUND_ROUTE(1, "mono", 1.0)
927MACHINE_DRIVER_END
927MACHINE_CONFIG_END
928928
929929
930930ROM_START( galpani3 )
src/mame/drivers/itgambl2.c
r9191r9192
247247*     Machine Drivers     *
248248**************************/
249249
250static MACHINE_DRIVER_START( itgambl2 )
250static MACHINE_CONFIG_START( itgambl2, driver_device )
251251
252252    /* basic machine hardware */
253253   MDRV_CPU_ADD("maincpu", H83044, MAIN_CLOCK)   /* wrong CPU, but we have not a H8/3337 core ATM */
r9191r9192
272272   MDRV_SPEAKER_STANDARD_MONO("mono")
273273   MDRV_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
274274   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
275MACHINE_DRIVER_END
275MACHINE_CONFIG_END
276276
277277
278278/*************************
src/mame/drivers/fitfight.c
r9191r9192
731731   state->fof_700000_data = 0;
732732}
733733
734static MACHINE_DRIVER_START( fitfight )
735   MDRV_DRIVER_DATA(fitfight_state)
734static MACHINE_CONFIG_START( fitfight, fitfight_state )
736735
737736   MDRV_CPU_ADD("maincpu",M68000, 12000000)
738737   MDRV_CPU_PROGRAM_MAP(fitfight_main_map)
r9191r9192
765764
766765   MDRV_OKIM6295_ADD("oki", 1333333, OKIM6295_PIN7_LOW) // ~8080Hz ??? TODO: find out the real frequency
767766   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
768MACHINE_DRIVER_END
767MACHINE_CONFIG_END
769768
770static MACHINE_DRIVER_START( bbprot )
771   MDRV_DRIVER_DATA(fitfight_state)
769static MACHINE_CONFIG_START( bbprot, fitfight_state )
772770
773771   MDRV_CPU_ADD("maincpu",M68000, 12000000)
774772   MDRV_CPU_PROGRAM_MAP(bbprot_main_map)
r9191r9192
795793
796794   MDRV_OKIM6295_ADD("oki", 1333333, OKIM6295_PIN7_LOW) // ~8080Hz ??? TODO: find out the real frequency
797795   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
798MACHINE_DRIVER_END
796MACHINE_CONFIG_END
799797
800798/***
801799
src/mame/drivers/terracre.c
r9191r9192
8787#include "sound/dac.h"
8888#include "sound/2203intf.h"
8989#include "sound/3526intf.h"
90#include "includes/terracre.h"
9091
9192static const UINT16 *mpProtData;
9293static UINT8 mAmazonProtCmd;
9394static UINT8 mAmazonProtReg[6];
9495
95extern UINT16 *amazon_videoram;
96
97PALETTE_INIT( amazon );
98WRITE16_HANDLER( amazon_background_w );
99WRITE16_HANDLER( amazon_foreground_w );
100WRITE16_HANDLER( amazon_scrolly_w );
101WRITE16_HANDLER( amazon_scrollx_w );
102WRITE16_HANDLER( amazon_flipscreen_w );
103VIDEO_START( amazon );
104VIDEO_UPDATE( amazon );
105
10696static const UINT16 mAmazonProtData[] =
10797{
10898   /* default high scores (0x40db4) - wrong data ? */
r9191r9192
221211   AM_RANGE(0x026002, 0x026003) AM_WRITE(amazon_scrollx_w)
222212   AM_RANGE(0x026004, 0x026005) AM_WRITE(amazon_scrolly_w)
223213   AM_RANGE(0x02600c, 0x02600d) AM_WRITE(amazon_sound_w)
224   AM_RANGE(0x028000, 0x0287ff) AM_WRITE(amazon_foreground_w) AM_BASE_GENERIC(videoram)
214   AM_RANGE(0x028000, 0x0287ff) AM_WRITE(amazon_foreground_w) AM_BASE_MEMBER(terracre_state, videoram)
225215ADDRESS_MAP_END
226216
227217static ADDRESS_MAP_START( amazon_map, ADDRESS_SPACE_PROGRAM, 16 )
r9191r9192
237227   AM_RANGE(0x046002, 0x046003) AM_WRITE(amazon_scrollx_w)
238228   AM_RANGE(0x046004, 0x046005) AM_WRITE(amazon_scrolly_w)
239229   AM_RANGE(0x04600c, 0x04600d) AM_WRITE(amazon_sound_w)
240   AM_RANGE(0x050000, 0x050fff) AM_WRITE(amazon_foreground_w) AM_BASE_GENERIC(videoram)
230   AM_RANGE(0x050000, 0x050fff) AM_WRITE(amazon_foreground_w) AM_BASE_MEMBER(terracre_state, videoram)
241231   AM_RANGE(0x070000, 0x070003) AM_READWRITE(amazon_protection_r, amazon_protection_w)
242232ADDRESS_MAP_END
243233
r9191r9192
539529   GFXDECODE_ENTRY( "gfx3", 0, sprite_layout, 1*16+16*16, 256 )
540530GFXDECODE_END
541531
542static MACHINE_DRIVER_START( amazon )
532static MACHINE_CONFIG_START( amazon, terracre_state )
543533   MDRV_CPU_ADD("maincpu", M68000, 8000000 )
544534   MDRV_CPU_PROGRAM_MAP(amazon_map)
545535   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
r9191r9192
576566
577567   MDRV_SOUND_ADD("dac2", DAC, 0)
578568   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
579MACHINE_DRIVER_END
569MACHINE_CONFIG_END
580570
581static MACHINE_DRIVER_START( ym3526 )
571static MACHINE_CONFIG_START( ym3526, terracre_state )
582572   MDRV_CPU_ADD("maincpu", M68000, 8000000 )
583573   MDRV_CPU_PROGRAM_MAP(terracre_map)
584574   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
r9191r9192
613603
614604   MDRV_SOUND_ADD("dac2", DAC, 0)
615605   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
616MACHINE_DRIVER_END
606MACHINE_CONFIG_END
617607
618static MACHINE_DRIVER_START( ym2203 )
608static MACHINE_CONFIG_START( ym2203, terracre_state )
619609   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz?? */
620610   MDRV_CPU_PROGRAM_MAP(terracre_map)
621611   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
r9191r9192
659649
660650   MDRV_SOUND_ADD("dac2", DAC, 0)
661651   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
662MACHINE_DRIVER_END
652MACHINE_CONFIG_END
663653
664654ROM_START( terracre )
665655   ROM_REGION( 0x20000, "maincpu", 0 )   /* 128K for 68000 code */
src/mame/drivers/ddribble.c
r9191r9192
282282   state->charbank[1] = 0;
283283}
284284
285static MACHINE_DRIVER_START( ddribble )
285static MACHINE_CONFIG_START( ddribble, ddribble_state )
286286
287   /* driver data */
288   MDRV_DRIVER_DATA(ddribble_state)
289
290287   /* basic machine hardware */
291288   MDRV_CPU_ADD("maincpu", M6809,   XTAL_18_432MHz/12)   /* verified on pcb */
292289   MDRV_CPU_PROGRAM_MAP(cpu0_map)
r9191r9192
341338   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
342339   MDRV_SOUND_ADD("filter3", FILTER_RC, 0)
343340   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
344MACHINE_DRIVER_END
341MACHINE_CONFIG_END
345342
346343
347344ROM_START( ddribble )
src/mame/drivers/vertigo.c
r9191r9192
1717#include "includes/exidy440.h"
1818#include "machine/74148.h"
1919#include "machine/pit8253.h"
20#include "machine/nvram.h"
2021
2122
2223
r9191r9192
4243   AM_RANGE(0x004060, 0x00406f) AM_WRITE(vertigo_motor_w) AM_MIRROR(0x001000)
4344   AM_RANGE(0x004070, 0x00407f) AM_WRITE(vertigo_wsot_w) AM_MIRROR(0x001000)
4445   AM_RANGE(0x006000, 0x006007) AM_DEVREADWRITE("pit8254", vertigo_pit8254_lsb_r, vertigo_pit8254_lsb_w)
45   AM_RANGE(0x007000, 0x0073ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
46   AM_RANGE(0x007000, 0x0073ff) AM_RAM AM_SHARE("nvram")
4647   AM_RANGE(0x800000, 0x81ffff) AM_ROM
4748ADDRESS_MAP_END
4849
r9191r9192
104105 *
105106 *************************************/
106107
107static MACHINE_DRIVER_START( vertigo )
108static MACHINE_CONFIG_START( vertigo, driver_device )
108109
109110   /* basic machine hardware */
110111   MDRV_CPU_ADD("maincpu", M68000, 8000000)
111112   MDRV_CPU_PROGRAM_MAP(vertigo_map)
112113   MDRV_CPU_PERIODIC_INT(vertigo_interrupt,60)
113114
114   MDRV_IMPORT_FROM(exidy440_audio)
115   MDRV_FRAGMENT_ADD(exidy440_audio)
115116
116117   MDRV_PIT8254_ADD( "pit8254", vertigo_pit8254_config )
117118
r9191r9192
124125    */
125126   MDRV_MACHINE_START(vertigo)
126127   MDRV_MACHINE_RESET(vertigo)
127   MDRV_NVRAM_HANDLER(generic_0fill)
128   MDRV_NVRAM_ADD_0FILL("nvram")
128129
129130   /* video hardware */
130131   MDRV_SCREEN_ADD("screen", VECTOR)
r9191r9192
134135
135136   MDRV_VIDEO_START(vector)
136137   MDRV_VIDEO_UPDATE(vector)
137MACHINE_DRIVER_END
138MACHINE_CONFIG_END
138139
139140
140141
src/mame/drivers/malzak.c
r9191r9192
6868#include "sound/s2636.h"
6969#include "video/s2636.h"
7070#include "video/saa5050.h"
71#include "machine/nvram.h"
7172#include "includes/malzak.h"
7273
7374
r9191r9192
130131   AM_RANGE(0x1400, 0x14ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_0", s2636_work_ram_r, s2636_work_ram_w)
131132   AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_1", s2636_work_ram_r, s2636_work_ram_w)
132133   AM_RANGE(0x1600, 0x16ff) AM_MIRROR(0x6000) AM_RAM_WRITE(malzak_playfield_w)
133   AM_RANGE(0x1700, 0x17ff) AM_MIRROR(0x6000) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
134   AM_RANGE(0x1700, 0x17ff) AM_MIRROR(0x6000) AM_RAM AM_SHARE("nvram")
134135   AM_RANGE(0x1800, 0x1fff) AM_MIRROR(0x6000) AM_DEVREADWRITE("saa5050", saa5050_videoram_r, saa5050_videoram_w)
135136   AM_RANGE(0x2000, 0x2fff) AM_ROM
136137   AM_RANGE(0x4000, 0x4fff) AM_ROM
r9191r9192
394395   state->malzak_y = 0;
395396}
396397
397static MACHINE_DRIVER_START( malzak )
398static MACHINE_CONFIG_START( malzak, malzak_state )
398399
399   /* driver data */
400   MDRV_DRIVER_DATA(malzak_state)
401
402400   /* basic machine hardware */
403401   MDRV_CPU_ADD("maincpu", S2650, 3800000/4)
404402   MDRV_CPU_PROGRAM_MAP(malzak_map)
r9191r9192
436434   MDRV_SOUND_CONFIG(sn76477_intf)
437435   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
438436
439   MDRV_SOUND_ADD("s2636snd_0", S2636, 0)
437   MDRV_SOUND_ADD("s2636snd_0", S2636_SOUND, 0)
440438   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
441439
442   MDRV_SOUND_ADD("s2636snd_1", S2636, 0)
440   MDRV_SOUND_ADD("s2636snd_1", S2636_SOUND, 0)
443441   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
444MACHINE_DRIVER_END
442MACHINE_CONFIG_END
445443
446static MACHINE_DRIVER_START( malzak2 )
447   MDRV_IMPORT_FROM( malzak )
444static MACHINE_CONFIG_DERIVED( malzak2, malzak )
448445
449446   MDRV_CPU_MODIFY( "maincpu" )
450447   MDRV_CPU_PROGRAM_MAP(malzak2_map)
451448
452   MDRV_NVRAM_HANDLER( generic_0fill )
453MACHINE_DRIVER_END
449   MDRV_NVRAM_ADD_0FILL("nvram")
450MACHINE_CONFIG_END
454451
455452ROM_START( malzak )
456453   ROM_REGION( 0x8000, "maincpu", 0 )
src/mame/drivers/deco32.c
r9191r9192
804804
805805   AM_RANGE(0x300000, 0x3fffff) AM_ROM
806806
807   AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8("oki3", okim6295_r, okim6295_w, 0x000000ff)
807   AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8_MODERN("oki3", okim6295_device, read, write, 0x000000ff)
808808   AM_RANGE(0x410000, 0x410003) AM_WRITENOP /* Some kind of serial bit-stream - digital volume control? */
809809   AM_RANGE(0x420000, 0x420003) AM_DEVREADWRITE("eeprom", dragngun_eeprom_r, dragngun_eeprom_w)
810810   AM_RANGE(0x438000, 0x438003) AM_READ(dragngun_lightgun_r)
r9191r9192
854854
855855   AM_RANGE(0x300000, 0x3fffff) AM_ROM
856856
857   AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8("oki3", okim6295_r, okim6295_w, 0x000000ff)
857   AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8_MODERN("oki3", okim6295_device, read, write, 0x000000ff)
858858   AM_RANGE(0x420000, 0x420003) AM_DEVREADWRITE("eeprom", dragngun_eeprom_r, dragngun_eeprom_w)
859859//  AM_RANGE(0x430000, 0x43001f) AM_WRITE(dragngun_lightgun_w)
860860//  AM_RANGE(0x438000, 0x438003) AM_READ(dragngun_lightgun_r)
r9191r9192
979979static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
980980   AM_RANGE(0x000000, 0x00ffff) AM_ROM
981981   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
982   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
983   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
982   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
983   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
984984   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
985985   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
986986   AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
r9191r9192
10091009   AM_RANGE(0x0000, 0x7fff) AM_ROM
10101010   AM_RANGE(0x8000, 0x87ff) AM_RAM
10111011   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
1012   AM_RANGE(0xb000, 0xb000) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
1013   AM_RANGE(0xc000, 0xc000) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
1012   AM_RANGE(0xb000, 0xb000) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
1013   AM_RANGE(0xc000, 0xc000) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
10141014   AM_RANGE(0xd000, 0xd000) AM_READ(latch_r)
10151015ADDRESS_MAP_END
10161016
r9191r9192
16551655   cpu_set_input_line(device, M6809_FIRQ_LINE, HOLD_LINE);
16561656}
16571657
1658static MACHINE_DRIVER_START( captaven )
1658static MACHINE_CONFIG_START( captaven, driver_device )
16591659
16601660   /* basic machine hardware */
16611661   MDRV_CPU_ADD("maincpu", ARM, XTAL_28MHz/4) /* verified on pcb (Data East 101 custom)*/
r9191r9192
17001700   MDRV_OKIM6295_ADD("oki2", XTAL_32_22MHz/16, OKIM6295_PIN7_HIGH) /* verified on pcb; pin 7 is floating to 2.5V (left unconnected), so I presume High */
17011701   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.35)
17021702   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35)
1703MACHINE_DRIVER_END
1703MACHINE_CONFIG_END
17041704
1705static MACHINE_DRIVER_START( fghthist )
1705static MACHINE_CONFIG_START( fghthist, driver_device )
17061706
17071707   /* basic machine hardware */
17081708   MDRV_CPU_ADD("maincpu", ARM, 28000000/4)
r9191r9192
17441744   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
17451745   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.35)
17461746   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35)
1747MACHINE_DRIVER_END
1747MACHINE_CONFIG_END
17481748
1749static MACHINE_DRIVER_START( fghthsta )
1749static MACHINE_CONFIG_START( fghthsta, driver_device )
17501750
17511751   /* basic machine hardware */
17521752   MDRV_CPU_ADD("maincpu", ARM, 28000000/4)
r9191r9192
17881788   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
17891789   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.35)
17901790   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35)
1791MACHINE_DRIVER_END
1791MACHINE_CONFIG_END
17921792
1793static MACHINE_DRIVER_START( dragngun )
1793static MACHINE_CONFIG_START( dragngun, driver_device )
17941794
17951795   /* basic machine hardware */
17961796   MDRV_CPU_ADD("maincpu", ARM, 28000000/4)
r9191r9192
18401840   MDRV_OKIM6295_ADD("oki3", 32220000/32, OKIM6295_PIN7_HIGH)
18411841   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
18421842   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
1843MACHINE_DRIVER_END
1843MACHINE_CONFIG_END
18441844
1845static MACHINE_DRIVER_START( lockload )
1845static MACHINE_CONFIG_START( lockload, driver_device )
18461846
18471847   /* basic machine hardware */
18481848   MDRV_CPU_ADD("maincpu", ARM, 28000000/4)
r9191r9192
18921892   MDRV_OKIM6295_ADD("oki3", 32220000/32, OKIM6295_PIN7_HIGH)
18931893   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
18941894   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
1895MACHINE_DRIVER_END
1895MACHINE_CONFIG_END
18961896
1897static MACHINE_DRIVER_START( tattass )
1897static MACHINE_CONFIG_START( tattass, driver_device )
18981898
18991899   /* basic machine hardware */
19001900   MDRV_CPU_ADD("maincpu", ARM, 28000000/4) /* Unconfirmed */
r9191r9192
19281928   MDRV_SOUND_ADD("bsmt", BSMT2000, 24000000)
19291929   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
19301930   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1931MACHINE_DRIVER_END
1931MACHINE_CONFIG_END
19321932
1933static MACHINE_DRIVER_START( nslasher )
1933static MACHINE_CONFIG_START( nslasher, driver_device )
19341934
19351935   /* basic machine hardware */
19361936   MDRV_CPU_ADD("maincpu", ARM, 28322000/4)
r9191r9192
19751975   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
19761976   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.10)
19771977   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.10)
1978MACHINE_DRIVER_END
1978MACHINE_CONFIG_END
19791979
19801980/**********************************************************************************/
19811981
src/mame/drivers/midzeus.c
r9191r9192
3636#include "machine/midwayic.h"
3737#include "machine/timekpr.h"
3838#include "audio/dcs.h"
39#include "machine/nvram.h"
3940
4041#include "crusnexo.lh"
4142
r9191r9192
5657static UINT8         bitlatch[10];
5758
5859static UINT32 *ram_base;
59static UINT32 *zpram;
60static size_t zpram_size;
6160static UINT8 cmos_protected;
6261
6362static UINT32 *linkram;
r9191r9192
132131
133132static WRITE32_HANDLER( cmos_w )
134133{
134   midzeus_state *state = space->machine->driver_data<midzeus_state>();
135135   if (bitlatch[2] && !cmos_protected)
136      COMBINE_DATA(&space->machine->generic.nvram.u32[offset]);
136      COMBINE_DATA(&state->m_nvram[offset]);
137137   else
138138      logerror("%06X:timekeeper_w with bitlatch[2] = %d, cmos_protected = %d\n", cpu_get_pc(space->cpu), bitlatch[2], cmos_protected);
139139   cmos_protected = TRUE;
r9191r9192
142142
143143static READ32_HANDLER( cmos_r )
144144{
145   return space->machine->generic.nvram.u32[offset] | 0xffffff00;
145   midzeus_state *state = space->machine->driver_data<midzeus_state>();
146   return state->m_nvram[offset] | 0xffffff00;
146147}
147148
148149
r9191r9192
178179
179180static READ32_HANDLER( zpram_r )
180181{
181   return zpram[offset] | 0xffffff00;
182   midzeus_state *state = space->machine->driver_data<midzeus_state>();
183   return state->m_nvram[offset] | 0xffffff00;
182184}
183185
184186
185187static WRITE32_HANDLER( zpram_w )
186188{
189   midzeus_state *state = space->machine->driver_data<midzeus_state>();
187190   if (bitlatch[2])
188      COMBINE_DATA(&zpram[offset]);
191      COMBINE_DATA(&state->m_nvram[offset]);
189192   else
190193      logerror("%06X:zpram_w with bitlatch[2] = %d\n", cpu_get_pc(space->cpu), bitlatch[2]);
191194}
r9191r9192
194197
195198/*************************************
196199 *
197 *  NVRAM handler (Zeus 2 only)
198 *
199 *************************************/
200
201static NVRAM_HANDLER( midzeus2 )
202{
203   if (read_or_write)
204      mame_fwrite(file, zpram, zpram_size);
205   else if (file)
206      mame_fread(file, zpram, zpram_size);
207   else
208      memset(zpram, 0xff, zpram_size);
209}
210
211
212
213/*************************************
214 *
215200 *  Miscellaneous bit latches
216201 *
217202 *************************************/
r9191r9192
591576   AM_RANGE(0x8d0000, 0x8d0004) AM_READWRITE(bitlatches_r, bitlatches_w)
592577   AM_RANGE(0x990000, 0x99000f) AM_READWRITE(midway_ioasic_r, midway_ioasic_w)
593578   AM_RANGE(0x9e0000, 0x9e0000) AM_WRITENOP      // watchdog?
594   AM_RANGE(0x9f0000, 0x9f7fff) AM_READWRITE(cmos_r, cmos_w) AM_BASE_SIZE_GENERIC(nvram)
579   AM_RANGE(0x9f0000, 0x9f7fff) AM_READWRITE(cmos_r, cmos_w) AM_SHARE("nvram")
595580   AM_RANGE(0x9f8000, 0x9f8000) AM_WRITE(cmos_protect_w)
596581   AM_RANGE(0xa00000, 0xffffff) AM_ROM AM_REGION("user1", 0)
597582ADDRESS_MAP_END
r9191r9192
605590   AM_RANGE(0x880000, 0x88007f) AM_READWRITE(zeus2_r, zeus2_w) AM_BASE(&zeusbase)
606591   AM_RANGE(0x8a0000, 0x8a003f) AM_READWRITE(linkram_r, linkram_w) AM_BASE(&linkram)
607592   AM_RANGE(0x8d0000, 0x8d000a) AM_READWRITE(bitlatches_r, bitlatches_w)
608   AM_RANGE(0x900000, 0x91ffff) AM_READWRITE(zpram_r, zpram_w) AM_BASE(&zpram) AM_SIZE(&zpram_size) AM_MIRROR(0x020000)
593   AM_RANGE(0x900000, 0x91ffff) AM_READWRITE(zpram_r, zpram_w) AM_SHARE("nvram") AM_MIRROR(0x020000)
609594   AM_RANGE(0x990000, 0x99000f) AM_READWRITE(midway_ioasic_r, midway_ioasic_w)
610595   AM_RANGE(0x9c0000, 0x9c000f) AM_READWRITE(analog_r, analog_w)
611596   AM_RANGE(0x9e0000, 0x9e0000) AM_WRITENOP      // watchdog?
r9191r9192
11071092 *
11081093 *************************************/
11091094
1110static MACHINE_DRIVER_START( midzeus )
1095static MACHINE_CONFIG_START( midzeus, midzeus_state )
11111096
11121097   /* basic machine hardware */
11131098   MDRV_CPU_ADD("maincpu", TMS32032, CPU_CLOCK)
r9191r9192
11161101
11171102   MDRV_MACHINE_START(midzeus)
11181103   MDRV_MACHINE_RESET(midzeus)
1119   MDRV_NVRAM_HANDLER(generic_1fill)
1104   MDRV_NVRAM_ADD_1FILL("nvram")
11201105
11211106   /* video hardware */
11221107   MDRV_PALETTE_LENGTH(32768)
r9191r9192
11291114   MDRV_VIDEO_UPDATE(midzeus)
11301115
11311116   /* sound hardware */
1132   MDRV_IMPORT_FROM(dcs2_audio_2104)
1133MACHINE_DRIVER_END
1117   MDRV_FRAGMENT_ADD(dcs2_audio_2104)
1118MACHINE_CONFIG_END
11341119
11351120static READ8_HANDLER( PIC16C5X_T0_clk_r )
11361121{
r9191r9192
11421127ADDRESS_MAP_END
11431128
11441129
1145static MACHINE_DRIVER_START( invasn )
1130static MACHINE_CONFIG_DERIVED( invasn, midzeus )
11461131
1147   MDRV_IMPORT_FROM(midzeus)
1148
11491132   MDRV_CPU_ADD("pic", PIC16C57, 8000000)   /* ? */
11501133   MDRV_CPU_IO_MAP(pic_io_map)
1151MACHINE_DRIVER_END
1134MACHINE_CONFIG_END
11521135
1153static MACHINE_DRIVER_START( midzeus2 )
1136static MACHINE_CONFIG_START( midzeus2, midzeus_state )
11541137
11551138   /* basic machine hardware */
11561139   MDRV_CPU_ADD("maincpu", TMS32032, CPU_CLOCK)
r9191r9192
11591142
11601143   MDRV_MACHINE_START(midzeus)
11611144   MDRV_MACHINE_RESET(midzeus)
1162   MDRV_NVRAM_HANDLER(midzeus2)
1145   MDRV_NVRAM_ADD_1FILL("nvram")
11631146
11641147   /* video hardware */
11651148   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
11701153   MDRV_VIDEO_UPDATE(midzeus2)
11711154
11721155   /* sound hardware */
1173   MDRV_IMPORT_FROM(dcs2_audio_2104)
1156   MDRV_FRAGMENT_ADD(dcs2_audio_2104)
11741157
11751158   MDRV_M48T35_ADD( "m48t35" )
1176MACHINE_DRIVER_END
1159MACHINE_CONFIG_END
11771160
11781161
11791162
src/mame/drivers/argus.c
r9191r9192
529529GFXDECODE_END
530530
531531
532static MACHINE_DRIVER_START( argus )
532static MACHINE_CONFIG_START( argus, driver_device )
533533
534534   /* basic machine hardware */
535535   MDRV_CPU_ADD("maincpu", Z80, 5000000)         /* 4 MHz */
r9191r9192
585585   MDRV_SOUND_ROUTE(2, "mono", 0.15)
586586   MDRV_SOUND_ROUTE(3, "mono", 0.50)
587587#endif
588MACHINE_DRIVER_END
588MACHINE_CONFIG_END
589589
590static MACHINE_DRIVER_START( valtric )
590static MACHINE_CONFIG_START( valtric, driver_device )
591591
592592   /* basic machine hardware */
593593   MDRV_CPU_ADD("maincpu", Z80, 5000000)         /* 5 MHz */
r9191r9192
630630   MDRV_SOUND_ROUTE(1, "mono", 0.15)
631631   MDRV_SOUND_ROUTE(2, "mono", 0.15)
632632   MDRV_SOUND_ROUTE(3, "mono", 0.50)
633MACHINE_DRIVER_END
633MACHINE_CONFIG_END
634634
635static MACHINE_DRIVER_START( butasan )
635static MACHINE_CONFIG_START( butasan, driver_device )
636636
637637   /* basic machine hardware */
638638   MDRV_CPU_ADD("maincpu", Z80, 5000000)         /* 5 MHz */
r9191r9192
675675   MDRV_SOUND_ROUTE(1, "mono", 0.30)
676676   MDRV_SOUND_ROUTE(2, "mono", 0.30)
677677   MDRV_SOUND_ROUTE(3, "mono", 1.0)
678MACHINE_DRIVER_END
678MACHINE_CONFIG_END
679679
680680
681681/***************************************************************************
src/mame/drivers/drw80pkr.c
r9191r9192
2626
2727***********************************************************************************/
2828#include "emu.h"
29#include "machine/nvram.h"
2930#include "sound/ay8910.h"
3031#include "cpu/mcs48/mcs48.h"
3132
r9191r9192
4243static UINT16 video_ram[0x0400];
4344static UINT8 color_ram[0x0400];
4445
45/********************
46*   NVRAM Handler   *
47********************/
48
49static NVRAM_HANDLER( drw80pkr )
46static MACHINE_START( drw80pkr )
5047{
51   if (read_or_write)
52   {
53      mame_fwrite(file, pkr_io_ram, DATA_NVRAM_SIZE);
54   }
55   else
56   {
57      if (file)
58      {
59         mame_fread(file, pkr_io_ram, DATA_NVRAM_SIZE);
60      }
61      else
62      {
63         memset(pkr_io_ram, 0, DATA_NVRAM_SIZE);
64      }
65   }
48   machine->device<nvram_device>("nvram")->set_base(pkr_io_ram, sizeof(pkr_io_ram));
6649}
6750
68
6951/*****************
7052* Write Handlers *
7153******************/
r9191r9192
444426*     Machine Driver     *
445427*************************/
446428
447static MACHINE_DRIVER_START( drw80pkr )
429static MACHINE_CONFIG_START( drw80pkr, driver_device )
448430   // basic machine hardware
449431   MDRV_CPU_ADD("maincpu", I8039, CPU_CLOCK)
450432   MDRV_CPU_PROGRAM_MAP(drw80pkr_map)
451433    MDRV_CPU_IO_MAP(drw80pkr_io_map)
452434   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
453435
436   MDRV_MACHINE_START(drw80pkr)
437
454438   // video hardware
455439
456440   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
466450   MDRV_PALETTE_INIT(drw80pkr)
467451   MDRV_VIDEO_START(drw80pkr)
468452   MDRV_VIDEO_UPDATE(drw80pkr)
469   MDRV_NVRAM_HANDLER(drw80pkr)
470453
454   MDRV_NVRAM_ADD_0FILL("nvram")
455
471456   // sound hardware
472457   MDRV_SPEAKER_STANDARD_MONO("mono")
473458
474459   MDRV_SOUND_ADD("aysnd", AY8912, 20000000/12)
475460   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
476MACHINE_DRIVER_END
461MACHINE_CONFIG_END
477462
478463/*************************
479464*        Rom Load        *
src/mame/drivers/superdq.c
r9191r9192
2727#include "machine/laserdsc.h"
2828#include "video/resnet.h"
2929
30class superdq_state : public driver_data_t
30class superdq_state : public driver_device
3131{
3232public:
33   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, superdq_state(machine)); }
33   superdq_state(running_machine &machine, const driver_device_config_base &config)
34      : driver_device(machine, config) { }
3435
35   superdq_state(running_machine &machine)
36      : driver_data_t(machine) { }
37
3836   running_device *laserdisc;
3937   UINT8 ld_in_latch;
4038   UINT8 ld_out_latch;
r9191r9192
324322}
325323
326324
327static MACHINE_DRIVER_START( superdq )
325static MACHINE_CONFIG_START( superdq, superdq_state )
328326
329   MDRV_DRIVER_DATA( superdq_state )
330
331327   /* basic machine hardware */
332328   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/8)
333329   MDRV_CPU_PROGRAM_MAP(superdq_map)
r9191r9192
355351   MDRV_SOUND_ADD("snsnd", SN76496, MASTER_CLOCK/8)
356352   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.8)
357353
358   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
354   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
359355   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
360356   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
361MACHINE_DRIVER_END
357MACHINE_CONFIG_END
362358
363359
364360
src/mame/drivers/bestleag.c
r9191r9192
215215   AM_RANGE(0x300016, 0x300017) AM_READ_PORT("DSWA")
216216   AM_RANGE(0x300018, 0x300019) AM_READ_PORT("DSWB")
217217   AM_RANGE(0x30001c, 0x30001d) AM_DEVWRITE("oki", oki_bank_w)
218   AM_RANGE(0x30001e, 0x30001f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
218   AM_RANGE(0x30001e, 0x30001f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
219219   AM_RANGE(0x304000, 0x304001) AM_WRITENOP
220220   AM_RANGE(0xfe0000, 0xffffff) AM_RAM
221221ADDRESS_MAP_END
r9191r9192
328328   GFXDECODE_ENTRY( "gfx2", 0, bestleag_char16layout,   0x300, 16 )
329329GFXDECODE_END
330330
331static MACHINE_DRIVER_START( bestleag )
331static MACHINE_CONFIG_START( bestleag, driver_device )
332332   MDRV_CPU_ADD("maincpu", M68000, 12000000)
333333   MDRV_CPU_PROGRAM_MAP(bestleag_map)
334334   MDRV_CPU_VBLANK_INT("screen", irq6_line_hold)
r9191r9192
351351   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH) /* Hand-tuned */
352352   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00)
353353   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
354MACHINE_DRIVER_END
354MACHINE_CONFIG_END
355355
356static MACHINE_DRIVER_START( bestleaw )
357   MDRV_IMPORT_FROM(bestleag)
356static MACHINE_CONFIG_DERIVED( bestleaw, bestleag )
358357
359358   MDRV_VIDEO_UPDATE(bestleaw)
360MACHINE_DRIVER_END
359MACHINE_CONFIG_END
361360
362361
363362/* Rom Loading */
src/mame/drivers/tomcat.c
r9191r9192
374374   DEVCB_NULL   // connected to IRQ line of 6502
375375};
376376
377static MACHINE_DRIVER_START(tomcat)
377static MACHINE_CONFIG_START( tomcat, driver_device )
378378   MDRV_CPU_ADD("maincpu", M68010, XTAL_12MHz / 2)
379379   MDRV_CPU_PROGRAM_MAP(tomcat_map)
380380   MDRV_CPU_VBLANK_INT_HACK(irq1_line_assert, 5)
r9191r9192
421421   MDRV_SOUND_ADD("ymsnd", YM2151, XTAL_14_31818MHz / 4)
422422   MDRV_SOUND_ROUTE(0, "lspeaker", 0.60)
423423   MDRV_SOUND_ROUTE(1, "rspeaker", 0.60)
424MACHINE_DRIVER_END
424MACHINE_CONFIG_END
425425
426426GAME( 1985, tomcat, 0,        tomcat, tomcat, 0, ROT0, "Atari", "TomCat (prototype)", GAME_SUPPORTS_SAVE )
src/mame/drivers/zaxxon.c
r9191r9192
934934 *
935935 *************************************/
936936
937static MACHINE_DRIVER_START( root )
937static MACHINE_CONFIG_START( root, zaxxon_state )
938938
939   MDRV_DRIVER_DATA(zaxxon_state)
940
941939   /* basic machine hardware */
942940   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/16)
943941   MDRV_CPU_PROGRAM_MAP(zaxxon_map)
r9191r9192
958956   MDRV_PALETTE_INIT(zaxxon)
959957   MDRV_VIDEO_START(zaxxon)
960958   MDRV_VIDEO_UPDATE(zaxxon)
961MACHINE_DRIVER_END
959MACHINE_CONFIG_END
962960
963961
964static MACHINE_DRIVER_START( zaxxon )
965   MDRV_IMPORT_FROM(root)
962static MACHINE_CONFIG_DERIVED( zaxxon, root )
966963
967964   /* sound hardware */
968965   MDRV_SPEAKER_STANDARD_MONO("mono")
969   MDRV_IMPORT_FROM(zaxxon_samples)
970MACHINE_DRIVER_END
966   MDRV_FRAGMENT_ADD(zaxxon_samples)
967MACHINE_CONFIG_END
971968
972969
973static MACHINE_DRIVER_START( futspy )
974   MDRV_IMPORT_FROM(root)
970static MACHINE_CONFIG_DERIVED( futspy, root )
975971
976972   /* video hardware */
977973   MDRV_VIDEO_UPDATE(futspy)
978974
979975   /* sound hardware */
980976   MDRV_SPEAKER_STANDARD_MONO("mono")
981   MDRV_IMPORT_FROM(zaxxon_samples)
982MACHINE_DRIVER_END
977   MDRV_FRAGMENT_ADD(zaxxon_samples)
978MACHINE_CONFIG_END
983979
984980
985static MACHINE_DRIVER_START( razmataz )
986   MDRV_IMPORT_FROM(root)
981static MACHINE_CONFIG_DERIVED( razmataz, root )
987982
988983   MDRV_MACHINE_RESET(razmataz)
989984
r9191r9192
993988
994989   /* sound hardware */
995990   MDRV_SPEAKER_STANDARD_MONO("mono")
996   MDRV_IMPORT_FROM(sega_universal_sound_board_rom)
997MACHINE_DRIVER_END
991   MDRV_FRAGMENT_ADD(sega_universal_sound_board_rom)
992MACHINE_CONFIG_END
998993
999994
1000static MACHINE_DRIVER_START( congo )
1001   MDRV_IMPORT_FROM(root)
995static MACHINE_CONFIG_DERIVED( congo, root )
1002996
1003997   MDRV_CPU_MODIFY("maincpu")
1004998   MDRV_CPU_PROGRAM_MAP(congo_map)
r9191r9192
10231017   MDRV_SOUND_ADD("sn2", SN76496, SOUND_CLOCK/4)
10241018   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
10251019
1026   MDRV_IMPORT_FROM(congo_samples)
1027MACHINE_DRIVER_END
1020   MDRV_FRAGMENT_ADD(congo_samples)
1021MACHINE_CONFIG_END
10281022
10291023
10301024
src/mame/drivers/shangkid.c
r9191r9192
5252#include "cpu/z80/z80.h"
5353#include "sound/ay8910.h"
5454#include "sound/dac.h"
55#include "includes/shangkid.h"
5556
56/* from video/shangkid.c */
57extern UINT8 *shangkid_videoreg;
58extern int shangkid_gfx_type;
59
60VIDEO_START( shangkid );
61VIDEO_UPDATE( shangkid );
62WRITE8_HANDLER( shangkid_videoram_w );
63
64PALETTE_INIT( dynamski );
65VIDEO_UPDATE( dynamski );
66
6757/***************************************************************************************/
6858
6959static UINT8 bbx_sound_enable;
r9191r9192
257247   AM_RANGE(0xb802, 0xb802) AM_READ_PORT("P2")
258248   AM_RANGE(0xb803, 0xb803) AM_READ_PORT("P1")
259249   AM_RANGE(0xc000, 0xc002) AM_WRITEONLY AM_BASE(&shangkid_videoreg)
260   AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_GENERIC(videoram) AM_SHARE("share1")
250   AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_MEMBER(shangkid_state, videoram) AM_SHARE("share1")
261251   AM_RANGE(0xe000, 0xfdff) AM_RAM AM_SHARE("share2")
262252   AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE("share3")
263253ADDRESS_MAP_END
r9191r9192
278268   AM_RANGE(0xb802, 0xb802) AM_READ_PORT("P2")
279269   AM_RANGE(0xb803, 0xb803) AM_READ_PORT("P1")
280270   AM_RANGE(0xc000, 0xc002) AM_WRITEONLY AM_BASE(&shangkid_videoreg)
281   AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_GENERIC(videoram) AM_SHARE("share1")
271   AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_MEMBER(shangkid_state, videoram) AM_SHARE("share1")
282272   AM_RANGE(0xe000, 0xfdff) AM_RAM AM_SHARE("share2")
283273   AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE("share3")
284274ADDRESS_MAP_END
r9191r9192
373363};
374364
375365
376static MACHINE_DRIVER_START( chinhero )
366static MACHINE_CONFIG_START( chinhero, shangkid_state )
377367
378368   /* basic machine hardware */
379369   MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) /* verified on pcb */
r9191r9192
417407   MDRV_SOUND_ADD("aysnd", AY8910, XTAL_18_432MHz/12) /* verified on pcb */
418408   MDRV_SOUND_CONFIG(chinhero_ay8910_interface)
419409   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
420MACHINE_DRIVER_END
410MACHINE_CONFIG_END
421411
422412
423static MACHINE_DRIVER_START( shangkid )
413static MACHINE_CONFIG_DERIVED( shangkid, chinhero )
424414
425415   /* basic machine hardware */
426   MDRV_IMPORT_FROM(chinhero)
427416   MDRV_CPU_MODIFY("maincpu")
428417   MDRV_CPU_PROGRAM_MAP(shangkid_main_map)
429418
r9191r9192
441430
442431   MDRV_SOUND_MODIFY("aysnd")
443432   MDRV_SOUND_CONFIG(shangkid_ay8910_interface)
444MACHINE_DRIVER_END
433MACHINE_CONFIG_END
445434
446435
447436
448437static ADDRESS_MAP_START( dynamski_map, ADDRESS_SPACE_PROGRAM, 8 )
449438   AM_RANGE(0x0000, 0x7fff) AM_ROM
450   AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_GENERIC(videoram) /* tilemap */
439   AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_MEMBER(shangkid_state, videoram) /* tilemap */
451440   AM_RANGE(0xc800, 0xcbff) AM_RAM
452441   AM_RANGE(0xd000, 0xd3ff) AM_RAM
453442   AM_RANGE(0xd800, 0xdbff) AM_RAM
r9191r9192
466455   AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_data_address_w)
467456ADDRESS_MAP_END
468457
469static MACHINE_DRIVER_START( dynamski )
458static MACHINE_CONFIG_START( dynamski, shangkid_state )
470459
471460   /* basic machine hardware */
472461   MDRV_CPU_ADD("maincpu", Z80, 3000000) /* ? */
r9191r9192
493482
494483   MDRV_SOUND_ADD("aysnd", AY8910, 2000000)
495484   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
496MACHINE_DRIVER_END
485MACHINE_CONFIG_END
497486
498487/***************************************************************************************/
499488
src/mame/drivers/norautp.c
r9191r9192
539539#include "cpu/z80/z80.h"
540540#include "cpu/i8085/i8085.h"
541541#include "machine/i8255a.h"
542#include "machine/nvram.h"
542543#include "includes/norautp.h"
543544
544545#include "noraut11.lh"
r9191r9192
802803static ADDRESS_MAP_START( norautp_map, ADDRESS_SPACE_PROGRAM, 8 )
803804   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
804805   AM_RANGE(0x0000, 0x1fff) AM_ROM
805   AM_RANGE(0x2000, 0x27ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* 6116 */
806   AM_RANGE(0x2000, 0x27ff) AM_RAM AM_SHARE("nvram")   /* 6116 */
806807ADDRESS_MAP_END
807808
808809static ADDRESS_MAP_START( norautp_portmap, ADDRESS_SPACE_IO, 8 )
r9191r9192
833834static ADDRESS_MAP_START( nortest1_map, ADDRESS_SPACE_PROGRAM, 8 )
834835   ADDRESS_MAP_GLOBAL_MASK(0x7fff)
835836   AM_RANGE(0x0000, 0x2fff) AM_ROM
836   AM_RANGE(0x5000, 0x57ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
837   AM_RANGE(0x5000, 0x57ff) AM_RAM AM_SHARE("nvram")
837838ADDRESS_MAP_END
838839
839840static ADDRESS_MAP_START( norautxp_map, ADDRESS_SPACE_PROGRAM, 8 )
840841//  ADDRESS_MAP_GLOBAL_MASK(~0x4000)
841842   ADDRESS_MAP_GLOBAL_MASK(0x7fff)
842843   AM_RANGE(0x0000, 0x3fff) AM_ROM   /* need to be checked */
843   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* HM6116 */
844   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram") /* HM6116 */
844845ADDRESS_MAP_END
845846
846847static ADDRESS_MAP_START( norautx4_map, ADDRESS_SPACE_PROGRAM, 8 )
847848   AM_RANGE(0x0000, 0x3fff) AM_ROM
848   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* 6116 */
849   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram") /* 6116 */
849850ADDRESS_MAP_END
850851
851852#ifdef UNUSED_CODE
852853static ADDRESS_MAP_START( norautx8_map, ADDRESS_SPACE_PROGRAM, 8 )
853854   AM_RANGE(0x0000, 0x7fff) AM_ROM   /* need to be checked */
854   AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* 6116 */
855   AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram") /* 6116 */
855856ADDRESS_MAP_END
856857#endif
857858
858859static ADDRESS_MAP_START( kimble_map, ADDRESS_SPACE_PROGRAM, 8 )
859860   AM_RANGE(0x0000, 0xbfff) AM_ROM
860   AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
861   AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram")
861862   AM_RANGE(0xc800, 0xc9ff) AM_RAM   /* working RAM? */
862863ADDRESS_MAP_END
863864
r9191r9192
873874static ADDRESS_MAP_START( dphl_map, ADDRESS_SPACE_PROGRAM, 8 )
874875   ADDRESS_MAP_GLOBAL_MASK(0x7fff)   /* A15 not connected */
875876   AM_RANGE(0x0000, 0x3fff) AM_ROM
876   AM_RANGE(0x5000, 0x53ff) AM_RAM   AM_BASE_SIZE_GENERIC(nvram)   /* should be 2x 0x100 segments (4x 2111) */
877   AM_RANGE(0x5000, 0x53ff) AM_RAM   AM_SHARE("nvram")   /* should be 2x 0x100 segments (4x 2111) */
877878ADDRESS_MAP_END
878879
879880static ADDRESS_MAP_START( dphla_map, ADDRESS_SPACE_PROGRAM, 8 )
880881   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
881882   AM_RANGE(0x0000, 0x1fff) AM_ROM
882   AM_RANGE(0x2000, 0x23ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
883   AM_RANGE(0x2000, 0x23ff) AM_RAM AM_SHARE("nvram")
883884ADDRESS_MAP_END
884885
885886static ADDRESS_MAP_START( ssjkrpkr_map, ADDRESS_SPACE_PROGRAM, 8 )
886887   ADDRESS_MAP_GLOBAL_MASK(0x7fff)
887888   AM_RANGE(0x0000, 0x1fff) AM_ROM
888   AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
889   AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("nvram")
889890ADDRESS_MAP_END
890891
891892static ADDRESS_MAP_START( dphltest_map, ADDRESS_SPACE_PROGRAM, 8 )
892893//  ADDRESS_MAP_GLOBAL_MASK(0x7fff) /* A15 not connected */
893894   AM_RANGE(0x0000, 0x6fff) AM_ROM
894895   AM_RANGE(0x7000, 0x7fff) AM_RAM
895   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
896   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
896897ADDRESS_MAP_END
897898
898899/*
r9191r9192
910911*/
911912static ADDRESS_MAP_START( kimbldhl_map, ADDRESS_SPACE_PROGRAM, 8 )
912913   AM_RANGE(0x0000, 0x7fff) AM_ROM
913   AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
914   AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram")
914915ADDRESS_MAP_END
915916
916917static ADDRESS_MAP_START( drhl_map, ADDRESS_SPACE_PROGRAM, 8 )
917918   ADDRESS_MAP_GLOBAL_MASK(0x7fff)   /* A15 not connected */
918919   AM_RANGE(0x0000, 0x3fff) AM_ROM
919   AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
920   AM_RANGE(0x5000, 0x53ff) AM_RAM AM_SHARE("nvram")
920921   AM_RANGE(0x5400, 0x57ff) AM_RAM
921922ADDRESS_MAP_END
922923
r9191r9192
12351236*    Machine Drivers     *
12361237*************************/
12371238
1238static MACHINE_DRIVER_START( noraut_base )
1239static MACHINE_CONFIG_START( noraut_base, driver_device )
12391240
12401241   /* basic machine hardware */
12411242   MDRV_CPU_ADD("maincpu", Z80, NORAUT_CPU_CLOCK)
12421243   MDRV_CPU_PROGRAM_MAP(norautp_map)
12431244   MDRV_CPU_IO_MAP(norautp_portmap)
12441245
1245   MDRV_NVRAM_HANDLER(generic_0fill)   /* doesn't work if placed at derivative drivers */
1246   MDRV_NVRAM_ADD_0FILL("nvram")   /* doesn't work if placed at derivative drivers */
12461247
12471248   /* 3x 8255 */
12481249   MDRV_I8255A_ADD( "ppi8255_0", ppi8255_intf_0 )
r9191r9192
12691270   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
12701271   MDRV_SOUND_CONFIG_DISCRETE(norautp)
12711272   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1272MACHINE_DRIVER_END
1273MACHINE_CONFIG_END
12731274
12741275
1275static MACHINE_DRIVER_START( norautp )
1276   MDRV_IMPORT_FROM(noraut_base)
1276static MACHINE_CONFIG_DERIVED( norautp, noraut_base )
12771277
12781278   /* basic machine hardware */
12791279   MDRV_CPU_MODIFY("maincpu")
12801280   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
1281MACHINE_DRIVER_END
1281MACHINE_CONFIG_END
12821282
12831283
1284static MACHINE_DRIVER_START( norautpl )
1285   MDRV_IMPORT_FROM(noraut_base)
1284static MACHINE_CONFIG_DERIVED( norautpl, noraut_base )
12861285
12871286   /* basic machine hardware */
12881287   MDRV_CPU_MODIFY("maincpu")
r9191r9192
12911290   /* sound hardware */
12921291   MDRV_SOUND_MODIFY("discrete")
12931292   MDRV_SOUND_CONFIG_DISCRETE(kimble)
1294MACHINE_DRIVER_END
1293MACHINE_CONFIG_END
12951294
12961295
1297static MACHINE_DRIVER_START( norautxp )
1298   MDRV_IMPORT_FROM(noraut_base)
1296static MACHINE_CONFIG_DERIVED( norautxp, noraut_base )
12991297
13001298   /* basic machine hardware */
13011299   MDRV_CPU_MODIFY("maincpu")
13021300   MDRV_CPU_PROGRAM_MAP(norautxp_map)
13031301   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
1304MACHINE_DRIVER_END
1302MACHINE_CONFIG_END
13051303
13061304
1307static MACHINE_DRIVER_START( nortest1 )
1308   MDRV_IMPORT_FROM(noraut_base)
1305static MACHINE_CONFIG_DERIVED( nortest1, noraut_base )
13091306
13101307   /* basic machine hardware */
13111308   MDRV_CPU_MODIFY("maincpu")
13121309   MDRV_CPU_PROGRAM_MAP(nortest1_map)
13131310   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
1314MACHINE_DRIVER_END
1311MACHINE_CONFIG_END
13151312
13161313
1317static MACHINE_DRIVER_START( norautx4 )
1318   MDRV_IMPORT_FROM(noraut_base)
1314static MACHINE_CONFIG_DERIVED( norautx4, noraut_base )
13191315
13201316   /* basic machine hardware */
13211317   MDRV_CPU_MODIFY("maincpu")
13221318   MDRV_CPU_PROGRAM_MAP(norautx4_map)
13231319   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
1324MACHINE_DRIVER_END
1320MACHINE_CONFIG_END
13251321
13261322
13271323#ifdef UNUSED_CODE
1328static MACHINE_DRIVER_START( norautx8 )
1329   MDRV_IMPORT_FROM(noraut_base)
1324static MACHINE_CONFIG_DERIVED( norautx8, noraut_base )
13301325
13311326   /* basic machine hardware */
13321327   MDRV_CPU_MODIFY("maincpu")
13331328   MDRV_CPU_PROGRAM_MAP(norautx8_map)
13341329   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
1335MACHINE_DRIVER_END
1330MACHINE_CONFIG_END
13361331#endif
13371332
13381333
1339static MACHINE_DRIVER_START( kimble )
1340   MDRV_IMPORT_FROM(noraut_base)
1334static MACHINE_CONFIG_DERIVED( kimble, noraut_base )
13411335
13421336   /* basic machine hardware */
13431337   MDRV_CPU_MODIFY("maincpu")
r9191r9192
13471341   /* sound hardware */
13481342   MDRV_SOUND_MODIFY("discrete")
13491343   MDRV_SOUND_CONFIG_DISCRETE(kimble)
1350MACHINE_DRIVER_END
1344MACHINE_CONFIG_END
13511345
13521346
13531347/********** 8080 based **********/
13541348
13551349
1356static MACHINE_DRIVER_START( dphl )
1357   MDRV_IMPORT_FROM(noraut_base)
1350static MACHINE_CONFIG_DERIVED( dphl, noraut_base )
13581351
13591352   /* basic machine hardware */
13601353   MDRV_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
r9191r9192
13641357   /* sound hardware */
13651358   MDRV_SOUND_MODIFY("discrete")
13661359   MDRV_SOUND_CONFIG_DISCRETE(dphl)
1367MACHINE_DRIVER_END
1360MACHINE_CONFIG_END
13681361
13691362
1370static MACHINE_DRIVER_START( dphla )
1371   MDRV_IMPORT_FROM(noraut_base)
1363static MACHINE_CONFIG_DERIVED( dphla, noraut_base )
13721364
13731365   /* basic machine hardware */
13741366   MDRV_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
r9191r9192
13781370   /* sound hardware */
13791371   MDRV_SOUND_MODIFY("discrete")
13801372   MDRV_SOUND_CONFIG_DISCRETE(dphl)
1381MACHINE_DRIVER_END
1373MACHINE_CONFIG_END
13821374
13831375
1384static MACHINE_DRIVER_START( kimbldhl )
1385   MDRV_IMPORT_FROM(noraut_base)
1376static MACHINE_CONFIG_DERIVED( kimbldhl, noraut_base )
13861377
13871378   /* basic machine hardware */
13881379   MDRV_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
r9191r9192
13921383   /* sound hardware */
13931384   MDRV_SOUND_MODIFY("discrete")
13941385   MDRV_SOUND_CONFIG_DISCRETE(kimble)
1395MACHINE_DRIVER_END
1386MACHINE_CONFIG_END
13961387
13971388
1398static MACHINE_DRIVER_START( dphltest )
1399   MDRV_IMPORT_FROM(noraut_base)
1389static MACHINE_CONFIG_DERIVED( dphltest, noraut_base )
14001390
14011391   /* basic machine hardware */
14021392   MDRV_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
r9191r9192
14061396   /* sound hardware */
14071397   MDRV_SOUND_MODIFY("discrete")
14081398   MDRV_SOUND_CONFIG_DISCRETE(dphl)
1409MACHINE_DRIVER_END
1399MACHINE_CONFIG_END
14101400
14111401
1412static MACHINE_DRIVER_START( drhl )
1413   MDRV_IMPORT_FROM(noraut_base)
1402static MACHINE_CONFIG_DERIVED( drhl, noraut_base )
14141403
14151404   /* basic machine hardware */
14161405   MDRV_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
r9191r9192
14201409   /* sound hardware */
14211410   MDRV_SOUND_MODIFY("discrete")
14221411   MDRV_SOUND_CONFIG_DISCRETE(dphl)
1423MACHINE_DRIVER_END
1412MACHINE_CONFIG_END
14241413
14251414
1426static MACHINE_DRIVER_START( ssjkrpkr )
1427   MDRV_IMPORT_FROM(noraut_base)
1415static MACHINE_CONFIG_DERIVED( ssjkrpkr, noraut_base )
14281416
14291417   /* basic machine hardware */
14301418   MDRV_CPU_REPLACE("maincpu", I8080, DPHL_CPU_CLOCK)
r9191r9192
14341422   /* sound hardware */
14351423   MDRV_SOUND_MODIFY("discrete")
14361424   MDRV_SOUND_CONFIG_DISCRETE(dphl)
1437MACHINE_DRIVER_END
1425MACHINE_CONFIG_END
14381426
14391427
14401428/*************************
r9191r9192
17951783   ROM_LOAD( "2732-1char.bin",   0x0800, 0x0800, CRC(d94be899) SHA1(b7212162324fa2d67383a475052e3b351bb1af5f) )   /* first half 0xff filled */
17961784   ROM_CONTINUE(                 0x0800, 0x0800 )
17971785
1798   ROM_REGION( 0x400,   "nvram", 0 )
1786   ROM_REGION( 0x800,   "nvram", 0 )
17991787   ROM_LOAD( "norautjp_nv.bin",  0x0000, 0x0400, CRC(0a0614b2) SHA1(eb21b2723b41743daf787cfc379bc67cce2b8538) )   /* default NVRAM */
18001788
18011789ROM_END
src/mame/drivers/fastfred.c
r9191r9192
616616#define CLOCK 18432000  /* The crystal is 18.432MHz */
617617
618618
619static MACHINE_DRIVER_START( fastfred )
619static MACHINE_CONFIG_START( fastfred, driver_device )
620620
621621   /* basic machine hardware */
622622   MDRV_CPU_ADD("maincpu", Z80, CLOCK/6)     /* 3.072 MHz */
r9191r9192
650650
651651   MDRV_SOUND_ADD("ay8910.2", AY8910, CLOCK/12)
652652   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
653MACHINE_DRIVER_END
653MACHINE_CONFIG_END
654654
655static MACHINE_DRIVER_START( jumpcoas )
655static MACHINE_CONFIG_DERIVED( jumpcoas, fastfred )
656656
657657   /* basic machine hardware */
658   MDRV_IMPORT_FROM(fastfred)
659658   MDRV_CPU_MODIFY("maincpu")
660659   MDRV_CPU_PROGRAM_MAP(jumpcoas_map)
661660
r9191r9192
666665
667666   /* sound hardware */
668667   MDRV_DEVICE_REMOVE("ay8910.2")
669MACHINE_DRIVER_END
668MACHINE_CONFIG_END
670669
671static MACHINE_DRIVER_START( imago )
670static MACHINE_CONFIG_DERIVED( imago, fastfred )
672671
673672   /* basic machine hardware */
674   MDRV_IMPORT_FROM(fastfred)
675673   MDRV_CPU_MODIFY("maincpu")
676674   MDRV_CPU_PROGRAM_MAP(imago_map)
677675
r9191r9192
683681
684682   MDRV_VIDEO_START(imago)
685683   MDRV_VIDEO_UPDATE(imago)
686MACHINE_DRIVER_END
684MACHINE_CONFIG_END
687685
688686#undef CLOCK
689687
src/mame/drivers/karnov.c
r9191r9192
810810}
811811
812812
813static MACHINE_DRIVER_START( karnov )
813static MACHINE_CONFIG_START( karnov, karnov_state )
814814
815   /* driver data */
816   MDRV_DRIVER_DATA(karnov_state)
817
818815   /* basic machine hardware */
819816   MDRV_CPU_ADD("maincpu", M68000, 10000000)   /* 10 MHz */
820817   MDRV_CPU_PROGRAM_MAP(karnov_map)
r9191r9192
852849   MDRV_SOUND_ADD("ym2", YM3526, 3000000)
853850   MDRV_SOUND_CONFIG(ym3526_config)
854851   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
855MACHINE_DRIVER_END
852MACHINE_CONFIG_END
856853
857854
858static MACHINE_DRIVER_START( wndrplnt )
855static MACHINE_CONFIG_START( wndrplnt, karnov_state )
859856
860   /* driver data */
861   MDRV_DRIVER_DATA(karnov_state)
862
863857   /* basic machine hardware */
864858   MDRV_CPU_ADD("maincpu", M68000, 10000000)   /* 10 MHz */
865859   MDRV_CPU_PROGRAM_MAP(karnov_map)
r9191r9192
897891   MDRV_SOUND_ADD("ym2", YM3526, 3000000)
898892   MDRV_SOUND_CONFIG(ym3526_config)
899893   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
900MACHINE_DRIVER_END
894MACHINE_CONFIG_END
901895
902896
903897/*************************************
src/mame/drivers/lwings.c
r9191r9192
774774   state->adpcm = 0;
775775}
776776
777static MACHINE_DRIVER_START( lwings )
777static MACHINE_CONFIG_START( lwings, lwings_state )
778778
779   /* driver data */
780   MDRV_DRIVER_DATA(lwings_state)
781
782779   /* basic machine hardware */
783780   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2)   /* verified on PCB */
784781   MDRV_CPU_PROGRAM_MAP(lwings_map)
r9191r9192
822819   MDRV_SOUND_ROUTE(1, "mono", 0.20)
823820   MDRV_SOUND_ROUTE(2, "mono", 0.20)
824821   MDRV_SOUND_ROUTE(3, "mono", 0.10)
825MACHINE_DRIVER_END
822MACHINE_CONFIG_END
826823
827static MACHINE_DRIVER_START( trojan )
828   MDRV_IMPORT_FROM( lwings )
824static MACHINE_CONFIG_DERIVED( trojan, lwings )
829825
830826   MDRV_CPU_MODIFY("maincpu")
831827   MDRV_CPU_CLOCK(XTAL_12MHz/4)         /* verified on PCB */
r9191r9192
850846   MDRV_SOUND_ADD("5205", MSM5205, XTAL_455kHz)   /* verified on PCB */
851847   MDRV_SOUND_CONFIG(msm5205_config)
852848   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
853MACHINE_DRIVER_END
849MACHINE_CONFIG_END
854850
855static MACHINE_DRIVER_START( avengers )
856   MDRV_IMPORT_FROM( trojan )
851static MACHINE_CONFIG_DERIVED( avengers, trojan )
857852
858853   MDRV_CPU_MODIFY("maincpu") //AT: (avengers37b16gre)
859854   MDRV_CPU_PROGRAM_MAP(avengers_map)
r9191r9192
864859
865860   /* video hardware */
866861   MDRV_VIDEO_START(avengers)
867MACHINE_DRIVER_END
862MACHINE_CONFIG_END
868863
869864/*************************************
870865 *
src/mame/drivers/xtheball.c
r9191r9192
1010#include "cpu/tms34010/tms34010.h"
1111#include "video/tlc34076.h"
1212#include "machine/ticket.h"
13#include "machine/nvram.h"
1314#include "sound/dac.h"
1415
1516
r9191r9192
199200 *************************************/
200201
201202static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
202   AM_RANGE(0x00000000, 0x0001ffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
203   AM_RANGE(0x00000000, 0x0001ffff) AM_RAM AM_SHARE("nvram")
203204   AM_RANGE(0x01000000, 0x010fffff) AM_RAM AM_BASE(&vram_bg)
204205   AM_RANGE(0x02000000, 0x020fffff) AM_RAM AM_BASE(&vram_fg)
205206   AM_RANGE(0x03000000, 0x030000ff) AM_DEVREADWRITE8("tlc34076", tlc34076_r, tlc34076_w, 0x00ff)
r9191r9192
320321 *
321322 *************************************/
322323
323static MACHINE_DRIVER_START( xtheball )
324static MACHINE_CONFIG_START( xtheball, driver_device )
324325
325326   MDRV_CPU_ADD("maincpu", TMS34010, 40000000)
326327   MDRV_CPU_CONFIG(tms_config)
327328   MDRV_CPU_PROGRAM_MAP(main_map)
328329   MDRV_CPU_PERIODIC_INT(irq1_line_hold, 15000)
329330
330   MDRV_NVRAM_HANDLER(generic_1fill)
331   MDRV_NVRAM_ADD_1FILL("nvram")
331332
332333   MDRV_TICKET_DISPENSER_ADD("ticket", 100, TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH)
333334
r9191r9192
345346
346347   MDRV_SOUND_ADD("dac", DAC, 0)
347348   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
348MACHINE_DRIVER_END
349MACHINE_CONFIG_END
349350
350351
351352
src/mame/drivers/punchout.c
r9191r9192
114114#include "cpu/m6502/m6502.h"
115115#include "sound/vlm5030.h"
116116#include "sound/nes_apu.h"
117
117#include "machine/nvram.h"
118118#include "rendlay.h"
119#include "includes/punchout.h"
119120
120extern UINT8 *punchout_bg_top_videoram;
121extern UINT8 *punchout_bg_bot_videoram;
122extern UINT8 *armwrest_fg_videoram;
123extern UINT8 *punchout_spr1_videoram;
124extern UINT8 *punchout_spr2_videoram;
125extern UINT8 *punchout_spr1_ctrlram;
126extern UINT8 *punchout_spr2_ctrlram;
127extern UINT8 *punchout_palettebank;
128WRITE8_HANDLER( punchout_bg_top_videoram_w );
129WRITE8_HANDLER( punchout_bg_bot_videoram_w );
130WRITE8_HANDLER( armwrest_fg_videoram_w );
131WRITE8_HANDLER( punchout_spr1_videoram_w );
132WRITE8_HANDLER( punchout_spr2_videoram_w );
133VIDEO_START( punchout );
134VIDEO_START( armwrest );
135VIDEO_UPDATE( punchout );
136VIDEO_UPDATE( armwrest );
137121
138DRIVER_INIT( punchout );
139DRIVER_INIT( spnchout );
140DRIVER_INIT( spnchotj );
141DRIVER_INIT( armwrest );
142
143
144
145122static CUSTOM_INPUT( punchout_vlm5030_busy_r )
146123{
147124   /* bit 4 of DSW1 is busy pin level */
r9191r9192
338315
339316static ADDRESS_MAP_START( punchout_map, ADDRESS_SPACE_PROGRAM, 8 )
340317   AM_RANGE(0x0000, 0xbfff) AM_ROM
341   AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
318   AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("nvram")
342319   AM_RANGE(0xd000, 0xd7ff) AM_RAM
343320   AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(punchout_bg_top_videoram_w) AM_BASE(&punchout_bg_top_videoram)
344321   AM_RANGE(0xdff0, 0xdff7) AM_BASE(&punchout_spr1_ctrlram)
r9191r9192
352329
353330static ADDRESS_MAP_START( armwrest_map, ADDRESS_SPACE_PROGRAM, 8 )
354331   AM_RANGE(0x0000, 0xbfff) AM_ROM
355   AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
332   AM_RANGE(0xc000, 0xc3ff) AM_RAM AM_SHARE("nvram")
356333   AM_RANGE(0xd000, 0xd7ff) AM_RAM
357334   AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(armwrest_fg_videoram_w) AM_BASE(&armwrest_fg_videoram)
358335   AM_RANGE(0xdff0, 0xdff7) AM_BASE(&punchout_spr1_ctrlram)
r9191r9192
946923}
947924
948925
949static MACHINE_DRIVER_START( punchout )
926static MACHINE_CONFIG_START( punchout, driver_device )
950927
951928   /* basic machine hardware */
952929   MDRV_CPU_ADD("maincpu", Z80, 8000000/2)   /* 4 MHz */
r9191r9192
959936   MDRV_CPU_VBLANK_INT("top", nmi_line_pulse)
960937
961938   MDRV_MACHINE_RESET(punchout)
962   MDRV_NVRAM_HANDLER(generic_0fill)
939   MDRV_NVRAM_ADD_0FILL("nvram")
963940
964941   /* video hardware */
965942   MDRV_GFXDECODE(punchout)
r9191r9192
992969
993970   MDRV_SOUND_ADD("vlm", VLM5030, 3580000)
994971   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
995MACHINE_DRIVER_END
972MACHINE_CONFIG_END
996973
997974
998static MACHINE_DRIVER_START( armwrest )
975static MACHINE_CONFIG_DERIVED( armwrest, punchout )
999976
1000977   /* basic machine hardware */
1001   MDRV_IMPORT_FROM(punchout)
1002978
1003979   MDRV_CPU_MODIFY("maincpu")
1004980   MDRV_CPU_PROGRAM_MAP(armwrest_map)
r9191r9192
1008984
1009985   MDRV_VIDEO_START(armwrest)
1010986   MDRV_VIDEO_UPDATE(armwrest)
1011MACHINE_DRIVER_END
987MACHINE_CONFIG_END
1012988
1013989
1014990
src/mame/drivers/maxaflex.c
r9191r9192
427427   atari_interrupt_cb
428428};
429429
430static MACHINE_DRIVER_START( a600xl )
430static MACHINE_CONFIG_START( a600xl, driver_device )
431431   /* basic machine hardware */
432432   MDRV_CPU_ADD("maincpu", M6502, FREQ_17_EXACT)
433433   MDRV_CPU_PROGRAM_MAP(a600xl_mem)
r9191r9192
461461   MDRV_SOUND_CONFIG(pokey_config)
462462   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
463463
464   MDRV_SOUND_ADD("speaker", SPEAKER, 0)
464   MDRV_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
465465   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
466466
467467   MDRV_MACHINE_START( atarixl )
468MACHINE_DRIVER_END
468MACHINE_CONFIG_END
469469
470static MACHINE_DRIVER_START( maxaflex )
471   MDRV_IMPORT_FROM( a600xl )
470static MACHINE_CONFIG_DERIVED( maxaflex, a600xl )
472471   MDRV_MACHINE_RESET( supervisor_board )
473MACHINE_DRIVER_END
472MACHINE_CONFIG_END
474473
475474ROM_START(maxaflex)
476475   ROM_REGION(0x10000,"maincpu",0) /* 64K for the CPU */
src/mame/drivers/kopunch.c
r9191r9192
187187   state->gfxbank = 0;
188188}
189189
190static MACHINE_DRIVER_START( kopunch )
190static MACHINE_CONFIG_START( kopunch, kopunch_state )
191191
192   /* driver data */
193   MDRV_DRIVER_DATA(kopunch_state)
194
195192   /* basic machine hardware */
196193   MDRV_CPU_ADD("maincpu", I8085A, 4000000)   /* 4 MHz ???? Uses SIM, must be 8085 */
197194   MDRV_CPU_PROGRAM_MAP(kopunch_map)
r9191r9192
217214   MDRV_VIDEO_UPDATE(kopunch)
218215
219216   /* sound hardware */
220MACHINE_DRIVER_END
217MACHINE_CONFIG_END
221218
222219
223220/***************************************************************************
src/mame/drivers/news.c
r9191r9192
2626   AM_RANGE(0x9000, 0x91ff) AM_RAM_WRITE(paletteram_xxxxRRRRGGGGBBBB_be_w) AM_BASE_GENERIC(paletteram)
2727   AM_RANGE(0xc000, 0xc000) AM_READ_PORT("DSW")
2828   AM_RANGE(0xc001, 0xc001) AM_READ_PORT("INPUTS")
29   AM_RANGE(0xc002, 0xc002) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
29   AM_RANGE(0xc002, 0xc002) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
3030   AM_RANGE(0xc003, 0xc003) AM_WRITE(news_bgpic_w)
3131   AM_RANGE(0xe000, 0xffff) AM_RAM
3232ADDRESS_MAP_END
r9191r9192
127127   state->bgpic = 0;
128128}
129129
130static MACHINE_DRIVER_START( news )
130static MACHINE_CONFIG_START( news, news_state )
131131
132   /* driver data */
133   MDRV_DRIVER_DATA(news_state)
134
135132   /* basic machine hardware */
136133   MDRV_CPU_ADD("maincpu", Z80,8000000)       /* ? MHz */
137134   MDRV_CPU_PROGRAM_MAP(news_map)
r9191r9192
159156
160157   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
161158   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
162MACHINE_DRIVER_END
159MACHINE_CONFIG_END
163160
164161
165162
src/mame/drivers/segaybd.c
r9191r9192
10031003 *
10041004 *************************************/
10051005
1006static MACHINE_DRIVER_START( yboard )
1006static MACHINE_CONFIG_START( yboard, segas1x_state )
10071007
1008   /* driver data */
1009   MDRV_DRIVER_DATA(segas1x_state)
1010
10111008   /* basic machine hardware */
10121009   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK/4)
10131010   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
10631060   MDRV_SOUND_CONFIG(segapcm_interface)
10641061   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
10651062   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1066MACHINE_DRIVER_END
1063MACHINE_CONFIG_END
10671064
10681065
10691066
src/mame/drivers/cclimber.c
r9191r9192
981981
982982
983983
984static MACHINE_DRIVER_START( root )
984static MACHINE_CONFIG_START( root, driver_device )
985985
986986   /* basic machine hardware */
987987   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/3/2)   /* 3.072 MHz */
r9191r9192
10051005   MDRV_PALETTE_INIT(cclimber)
10061006   MDRV_VIDEO_START(cclimber)
10071007   MDRV_VIDEO_UPDATE(cclimber)
1008MACHINE_DRIVER_END
1008MACHINE_CONFIG_END
10091009
10101010
1011static MACHINE_DRIVER_START( cclimber )
1011static MACHINE_CONFIG_DERIVED( cclimber, root )
10121012
1013   MDRV_IMPORT_FROM(root)
1014
10151013   /* sound hardware */
10161014   MDRV_SPEAKER_STANDARD_MONO("mono")
10171015
r9191r9192
10221020   MDRV_SOUND_ADD("samples", SAMPLES, 0)
10231021   MDRV_SOUND_CONFIG(cclimber_samples_interface)
10241022   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1025MACHINE_DRIVER_END
1023MACHINE_CONFIG_END
10261024
10271025
1028static MACHINE_DRIVER_START( cannonb )
1026static MACHINE_CONFIG_DERIVED( cannonb, cclimber )
10291027
1030   MDRV_IMPORT_FROM(cclimber)
1031
10321028   /* basic machine hardware */
10331029   MDRV_CPU_MODIFY("maincpu")
10341030   MDRV_CPU_PROGRAM_MAP(cannonb_map)
10351031
10361032   /* video hardware */
10371033   MDRV_GFXDECODE(cannonb)
1038MACHINE_DRIVER_END
1034MACHINE_CONFIG_END
10391035
10401036
1041static MACHINE_DRIVER_START( yamato )
1037static MACHINE_CONFIG_DERIVED( yamato, root )
10421038
1043   MDRV_IMPORT_FROM(root)
1044
10451039   /* basic machine hardware */
10461040   MDRV_CPU_MODIFY("maincpu")
10471041   MDRV_CPU_PROGRAM_MAP(yamato_map)
r9191r9192
10641058
10651059   MDRV_SOUND_ADD("ay2", AY8910, 1536000)
10661060   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1067MACHINE_DRIVER_END
1061MACHINE_CONFIG_END
10681062
10691063
1070static MACHINE_DRIVER_START( toprollr )
1064static MACHINE_CONFIG_DERIVED( toprollr, cclimber )
10711065
1072   MDRV_IMPORT_FROM(cclimber)
1073
10741066   /* basic machine hardware */
10751067   MDRV_CPU_MODIFY("maincpu")
10761068   MDRV_CPU_PROGRAM_MAP(toprollr_map)
r9191r9192
10821074
10831075   MDRV_VIDEO_START(toprollr)
10841076   MDRV_VIDEO_UPDATE(toprollr)
1085MACHINE_DRIVER_END
1077MACHINE_CONFIG_END
10861078
10871079
1088static MACHINE_DRIVER_START( swimmer )
1080static MACHINE_CONFIG_START( swimmer, driver_device )
10891081
10901082   /* basic machine hardware */
10911083    MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6)    /* verified on pcb */
r9191r9192
11191111
11201112    MDRV_SOUND_ADD("ay2", AY8910, XTAL_4MHz/2)  /* verified on pcb */
11211113   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1122MACHINE_DRIVER_END
1114MACHINE_CONFIG_END
11231115
11241116
11251117/***************************************************************************
src/mame/drivers/xorworld.c
r9191r9192
3535#include "machine/eeprom.h"
3636#include "cpu/m68000/m68000.h"
3737#include "sound/saa1099.h"
38#include "includes/xorworld.h"
3839
3940
40extern WRITE16_HANDLER(xorworld_videoram16_w);
41
42extern PALETTE_INIT( xorworld );
43extern VIDEO_START( xorworld );
44extern VIDEO_UPDATE( xorworld );
45
46
4741/****************************************************************
4842                Init machine
4943****************************************************************/
r9191r9192
8377   AM_RANGE(0xa00008, 0xa00009) AM_DEVWRITE("eeprom", eeprom_chip_select_w)
8478   AM_RANGE(0xa0000a, 0xa0000b) AM_DEVWRITE("eeprom", eeprom_serial_clock_w)
8579   AM_RANGE(0xa0000c, 0xa0000d) AM_DEVWRITE("eeprom", eeprom_data_w)
86   AM_RANGE(0xffc000, 0xffc7ff) AM_RAM_WRITE(xorworld_videoram16_w) AM_BASE_GENERIC(videoram)
80   AM_RANGE(0xffc000, 0xffc7ff) AM_RAM_WRITE(xorworld_videoram16_w) AM_BASE_MEMBER(xorworld_state, videoram)
8781   AM_RANGE(0xffc800, 0xffc87f) AM_RAM   AM_BASE_GENERIC(spriteram)
8882   AM_RANGE(0xffc880, 0xffc881) AM_WRITENOP
8983   AM_RANGE(0xffc882, 0xffc883) AM_WRITENOP
r9191r9192
179173}
180174
181175
182static MACHINE_DRIVER_START( xorworld )
176static MACHINE_CONFIG_START( xorworld, xorworld_state )
183177   // basic machine hardware
184178   MDRV_CPU_ADD("maincpu", M68000, 10000000)   // 10 MHz
185179   MDRV_CPU_PROGRAM_MAP(xorworld_map)
r9191r9192
209203   MDRV_SPEAKER_STANDARD_MONO("mono")
210204   MDRV_SOUND_ADD("saa", SAA1099, 8000000 /* guess */)
211205   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
212MACHINE_DRIVER_END
206MACHINE_CONFIG_END
213207
214208
215209ROM_START( xorworld )
src/mame/drivers/cloak.c
r9191r9192
118118#include "cpu/m6502/m6502.h"
119119#include "deprecat.h"
120120#include "sound/pokey.h"
121#include "machine/nvram.h"
121122#include "includes/cloak.h"
122123
123124static int cloak_nvram_enabled;
r9191r9192
167168
168169static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 8 )
169170   AM_RANGE(0x0000, 0x03ff) AM_RAM
170   AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(cloak_videoram_w) AM_BASE_GENERIC(videoram)
171   AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(cloak_videoram_w) AM_BASE_MEMBER(cloak_state, videoram)
171172   AM_RANGE(0x0800, 0x0fff) AM_RAM AM_SHARE("share1")
172173   AM_RANGE(0x1000, 0x100f) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w)      /* DSW0 also */
173174   AM_RANGE(0x1800, 0x180f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)      /* DSW1 also */
r9191r9192
175176   AM_RANGE(0x2200, 0x2200) AM_READ_PORT("P2")
176177   AM_RANGE(0x2400, 0x2400) AM_READ_PORT("SYSTEM")
177178   AM_RANGE(0x2600, 0x2600) AM_WRITE(cloak_custom_w)
178   AM_RANGE(0x2800, 0x29ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
179   AM_RANGE(0x2800, 0x29ff) AM_RAM AM_SHARE("nvram")
179180   AM_RANGE(0x2f00, 0x2fff) AM_NOP
180181   AM_RANGE(0x3000, 0x30ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
181182   AM_RANGE(0x3200, 0x327f) AM_WRITE(cloak_paletteram_w)
r9191r9192
330331 *
331332 *************************************/
332333
333static MACHINE_DRIVER_START( cloak )
334static MACHINE_CONFIG_START( cloak, cloak_state )
334335
335336   /* basic machine hardware */
336337   MDRV_CPU_ADD("maincpu", M6502, 1000000)      /* 1 MHz ???? */
r9191r9192
343344
344345   MDRV_QUANTUM_TIME(HZ(1000))
345346
346   MDRV_NVRAM_HANDLER(generic_0fill)
347   MDRV_NVRAM_ADD_0FILL("nvram")
347348
348349   /* video hardware */
349350   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
369370   MDRV_SOUND_ADD("pokey2", POKEY, XTAL_10MHz/8)      /* Accurate to recording */
370371   MDRV_SOUND_CONFIG(pokey_interface_2)
371372   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
372MACHINE_DRIVER_END
373MACHINE_CONFIG_END
373374
374375
375376
src/mame/drivers/foodf.c
r9191r9192
7777#include "cpu/m68000/m68000.h"
7878#include "machine/atarigen.h"
7979#include "sound/pokey.h"
80#include "machine/nvram.h"
8081#include "includes/foodf.h"
8182
8283
r9191r9192
9192
9293static READ16_HANDLER( nvram_r )
9394{
94   return space->machine->generic.nvram.u16[offset] | 0xfff0;
95   foodf_state *state = space->machine->driver_data<foodf_state>();
96   return state->m_nvram[offset] | 0xfff0;
9597}
9698
9799
r9191r9192
216218   AM_RANGE(0x018000, 0x018fff) AM_MIRROR(0x3e3000) AM_RAM
217219   AM_RANGE(0x01c000, 0x01c0ff) AM_MIRROR(0x3e3f00) AM_RAM AM_BASE_GENERIC(spriteram)
218220   AM_RANGE(0x800000, 0x8007ff) AM_MIRROR(0x03f800) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(foodf_state, playfield)
219   AM_RANGE(0x900000, 0x9001ff) AM_MIRROR(0x03fe00) AM_RAM_READ(nvram_r) AM_BASE_SIZE_GENERIC(nvram)
221   AM_RANGE(0x900000, 0x9001ff) AM_MIRROR(0x03fe00) AM_RAM_READ(nvram_r) AM_SHARE("nvram")
220222   AM_RANGE(0x940000, 0x940007) AM_MIRROR(0x023ff8) AM_READ(analog_r)
221223   AM_RANGE(0x944000, 0x944007) AM_MIRROR(0x023ff8) AM_WRITE(analog_w)
222224   AM_RANGE(0x948000, 0x948001) AM_MIRROR(0x023ffe) AM_READ_PORT("SYSTEM") AM_WRITE(digital_w)
r9191r9192
353355 *
354356 *************************************/
355357
356static MACHINE_DRIVER_START( foodf )
357   MDRV_DRIVER_DATA(foodf_state)
358static MACHINE_CONFIG_START( foodf, foodf_state )
358359
359360   /* basic machine hardware */
360361   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK/2)
r9191r9192
363364
364365   MDRV_MACHINE_START(foodf)
365366   MDRV_MACHINE_RESET(foodf)
366   MDRV_NVRAM_HANDLER(generic_1fill)
367   MDRV_NVRAM_ADD_1FILL("nvram")
367368   MDRV_WATCHDOG_VBLANK_INIT(8)
368369
369370   MDRV_TIMER_ADD("scan_timer", scanline_update)
r9191r9192
391392
392393   MDRV_SOUND_ADD("pokey3", POKEY, MASTER_CLOCK/2/10)
393394   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
394MACHINE_DRIVER_END
395MACHINE_CONFIG_END
395396
396397
397398
src/mame/drivers/forte2.c
r9191r9192
115115}
116116
117117
118static MACHINE_DRIVER_START( pesadelo )
118static MACHINE_CONFIG_START( pesadelo, driver_device )
119119
120120   MDRV_CPU_ADD("maincpu", Z80, 3579545)        /* 3.579545 Mhz */
121121   MDRV_CPU_PROGRAM_MAP(program_mem)
r9191r9192
126126   MDRV_MACHINE_RESET( forte2 )
127127
128128   /* video hardware */
129   MDRV_IMPORT_FROM(tms9928a)
129   MDRV_FRAGMENT_ADD(tms9928a)
130130   MDRV_SCREEN_MODIFY("screen")
131131   MDRV_SCREEN_REFRESH_RATE((float)XTAL_10_738635MHz/2/342/262)
132132   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
r9191r9192
137137   MDRV_SOUND_ADD("aysnd", AY8910, (float)XTAL_3_579545MHz/2)
138138   MDRV_SOUND_CONFIG(forte2_ay8910_interface)
139139   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
140MACHINE_DRIVER_END
140MACHINE_CONFIG_END
141141
142142static DRIVER_INIT(pesadelo)
143143{
src/mame/drivers/skyraid.c
r9191r9192
88#include "cpu/m6502/m6502.h"
99#include "includes/skyraid.h"
1010
11extern UINT8* skyraid_alpha_num_ram;
12extern UINT8* skyraid_pos_ram;
13extern UINT8* skyraid_obj_ram;
1411
15extern int skyraid_scroll;
1612
17extern VIDEO_START(skyraid);
18extern VIDEO_UPDATE(skyraid);
19
20static int analog_range;
21static int analog_offset;
22
23
2413static PALETTE_INIT( skyraid )
2514{
2615   palette_set_color(machine,  0, MAKE_RGB(0x00, 0x00, 0x00));   /* terrain */
r9191r9192
4736
4837static READ8_HANDLER( skyraid_port_0_r )
4938{
39   skyraid_state *state = space->machine->driver_data<skyraid_state>();
5040   UINT8 val = input_port_read(space->machine, "LANGUAGE");
5141
52   if (input_port_read(space->machine, "STICKY") > analog_range)
42   if (input_port_read(space->machine, "STICKY") > state->analog_range)
5343      val |= 0x40;
54   if (input_port_read(space->machine, "STICKX") > analog_range)
44   if (input_port_read(space->machine, "STICKX") > state->analog_range)
5545      val |= 0x80;
5646
5747   return val;
r9191r9192
6050
6151static WRITE8_HANDLER( skyraid_range_w )
6252{
63   analog_range = data & 0x3f;
53   skyraid_state *state = space->machine->driver_data<skyraid_state>();
54
55   state->analog_range = data & 0x3f;
6456}
6557
6658
6759static WRITE8_HANDLER( skyraid_offset_w )
6860{
69   analog_offset = data & 0x3f;
61   skyraid_state *state = space->machine->driver_data<skyraid_state>();
62
63   state->analog_offset = data & 0x3f;
7064}
7165
7266
7367static WRITE8_HANDLER( skyraid_scroll_w )
7468{
75   skyraid_scroll = data;
69   skyraid_state *state = space->machine->driver_data<skyraid_state>();
70
71   state->scroll = data;
7672}
7773
7874
7975static ADDRESS_MAP_START( skyraid_map, ADDRESS_SPACE_PROGRAM, 8 )
8076   AM_RANGE(0x0000, 0x00ff) AM_RAM AM_MIRROR(0x300)
81   AM_RANGE(0x0400, 0x040f) AM_WRITEONLY AM_BASE(&skyraid_pos_ram)
82   AM_RANGE(0x0800, 0x087f) AM_RAM AM_MIRROR(0x480) AM_BASE(&skyraid_alpha_num_ram)
77   AM_RANGE(0x0400, 0x040f) AM_WRITEONLY AM_BASE_MEMBER(skyraid_state, pos_ram)
78   AM_RANGE(0x0800, 0x087f) AM_RAM AM_MIRROR(0x480) AM_BASE_MEMBER(skyraid_state, alpha_num_ram)
8379   AM_RANGE(0x1000, 0x1000) AM_READ(skyraid_port_0_r)
8480   AM_RANGE(0x1001, 0x1001) AM_READ_PORT("DSW")
8581   AM_RANGE(0x1400, 0x1400) AM_READ_PORT("COIN")
8682   AM_RANGE(0x1400, 0x1401) AM_READ_PORT("SYSTEM")
87   AM_RANGE(0x1c00, 0x1c0f) AM_WRITEONLY AM_BASE(&skyraid_obj_ram)
83   AM_RANGE(0x1c00, 0x1c0f) AM_WRITEONLY AM_BASE_MEMBER(skyraid_state, obj_ram)
8884   AM_RANGE(0x4000, 0x4000) AM_WRITE(skyraid_scroll_w)
8985   AM_RANGE(0x4400, 0x4400) AM_DEVWRITE("discrete", skyraid_sound_w)
9086   AM_RANGE(0x4800, 0x4800) AM_WRITE(skyraid_range_w)
r9191r9192
223219GFXDECODE_END
224220
225221
226static MACHINE_DRIVER_START( skyraid )
222static MACHINE_CONFIG_START( skyraid, skyraid_state )
227223
228224   /* basic machine hardware */
229225   MDRV_CPU_ADD("maincpu", M6502, 12096000 / 12)
r9191r9192
253249   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
254250   MDRV_SOUND_CONFIG_DISCRETE(skyraid)
255251   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
256MACHINE_DRIVER_END
252MACHINE_CONFIG_END
257253
258254
259255ROM_START( skyraid )
src/mame/drivers/aliens.c
r9191r9192
261261   state->palette_selected = 0;
262262}
263263
264static MACHINE_DRIVER_START( aliens )
264static MACHINE_CONFIG_START( aliens, aliens_state )
265265
266   /* driver data */
267   MDRV_DRIVER_DATA(aliens_state)
268
269266   /* basic machine hardware */
270267
271268   /* external clock should be 12MHz probably, CPU internal divider and precise cycle timings */
r9191r9192
310307   MDRV_SOUND_CONFIG(k007232_config)
311308   MDRV_SOUND_ROUTE(0, "mono", 0.20)
312309   MDRV_SOUND_ROUTE(1, "mono", 0.20)
313MACHINE_DRIVER_END
310MACHINE_CONFIG_END
314311
315312
316313/***************************************************************************
src/mame/drivers/88games.c
r9191r9192
1010#include "video/konicdev.h"
1111#include "sound/2151intf.h"
1212#include "sound/upd7759.h"
13#include "machine/nvram.h"
1314#include "includes/88games.h"
1415
1516
r9191r9192
138139   AM_RANGE(0x0000, 0x0fff) AM_RAM AM_BASE_MEMBER(_88games_state, banked_rom) /* banked ROM + palette RAM */
139140   AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_be_w) AM_BASE(&paletteram_1000)   /* banked ROM + palette RAM */
140141   AM_RANGE(0x2000, 0x2fff) AM_RAM
141   AM_RANGE(0x3000, 0x37ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
142   AM_RANGE(0x3000, 0x37ff) AM_RAM AM_SHARE("nvram")
142143   AM_RANGE(0x3800, 0x3fff) AM_READWRITE(bankedram_r, bankedram_w) AM_BASE_MEMBER(_88games_state, ram)
143144   AM_RANGE(0x5f84, 0x5f84) AM_WRITE(k88games_5f84_w)
144145   AM_RANGE(0x5f88, 0x5f88) AM_WRITE(watchdog_reset_w)
r9191r9192
375376   _88games_zoom_callback
376377};
377378
378static MACHINE_DRIVER_START( 88games )
379static MACHINE_CONFIG_START( 88games, _88games_state )
379380
380   /* driver data */
381   MDRV_DRIVER_DATA(_88games_state)
382
383381   /* basic machine hardware */
384382   MDRV_CPU_ADD("maincpu", KONAMI, 3000000) /* ? */
385383   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
391389   MDRV_MACHINE_START(88games)
392390   MDRV_MACHINE_RESET(88games)
393391
394   MDRV_NVRAM_HANDLER(generic_0fill)
392   MDRV_NVRAM_ADD_0FILL("nvram")
395393
396394   /* video hardware */
397395   MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
r9191r9192
422420
423421   MDRV_SOUND_ADD("upd2", UPD7759, UPD7759_STANDARD_CLOCK)
424422   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
425MACHINE_DRIVER_END
423MACHINE_CONFIG_END
426424
427425
428426
src/mame/drivers/beezer.c
r9191r9192
1515
1616
1717static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
18   AM_RANGE(0x0000, 0xbfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
18   AM_RANGE(0x0000, 0xbfff) AM_RAM AM_BASE_MEMBER(beezer_state, videoram)
1919   AM_RANGE(0xc000, 0xcfff) AM_ROMBANK("bank1")
2020   AM_RANGE(0xd000, 0xffff) AM_ROM AM_WRITE(beezer_bankswitch_w)
2121ADDRESS_MAP_END
r9191r9192
2323static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
2424   AM_RANGE(0x0000, 0x07ff) AM_RAM
2525//  AM_RANGE(0x1000, 0x10ff) AM_READWRITE(beezer_6840_r, beezer_6840_w)
26   AM_RANGE(0x1800, 0x18ff) AM_DEVREADWRITE("via6522_1", via_r, via_w)
26   AM_RANGE(0x1800, 0x18ff) AM_DEVREADWRITE_MODERN("via6522_1", via6522_device, read, write)
2727//  AM_RANGE(0x8000, 0x9fff) AM_WRITE(beezer_dac_w)
2828   AM_RANGE(0xe000, 0xffff) AM_ROM
2929ADDRESS_MAP_END
r9191r9192
7272   PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
7373INPUT_PORTS_END
7474
75static MACHINE_DRIVER_START( beezer )
75static MACHINE_CONFIG_START( beezer, beezer_state )
7676
7777   /* basic machine hardware */
7878   MDRV_CPU_ADD("maincpu", M6809, 1000000)        /* 1 MHz */
r9191r9192
102102   /* via */
103103   MDRV_VIA6522_ADD("via6522_0", 0, b_via_0_interface)
104104   MDRV_VIA6522_ADD("via6522_1", 0, b_via_1_interface)
105MACHINE_DRIVER_END
105MACHINE_CONFIG_END
106106
107107/***************************************************************************
108108
src/mame/drivers/ddenlovr.c
r9191r9192
17461746   AM_RANGE(0x300280, 0x300283) AM_WRITE(ddenlovr_blitter_w)
17471747   AM_RANGE(0x300286, 0x300287) AM_READ(ddenlovr_gfxrom_r)                        // Video Chip
17481748
1749   AM_RANGE(0x3002c0, 0x3002c1) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)// Sound
1749   AM_RANGE(0x3002c0, 0x3002c1) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)// Sound
17501750   AM_RANGE(0x300300, 0x300303) AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff)
17511751   AM_RANGE(0x300340, 0x30035f) AM_DEVREADWRITE8("rtc", msm6242_r, msm6242_w, 0x00ff)   // 6242RTC
17521752   AM_RANGE(0x300380, 0x300383) AM_DEVWRITE8("aysnd", ay8910_address_data_w, 0x00ff)
r9191r9192
18121812   AM_RANGE(0x30018a, 0x30018b) AM_WRITEONLY AM_BASE_MEMBER(dynax_state, dsw_sel16)         // DSW select
18131813   AM_RANGE(0x30018c, 0x30018d) AM_DEVWRITE("oki", ddenlovr_oki_bank_w)
18141814   AM_RANGE(0x3001ca, 0x3001cb) AM_WRITE(ddenlovr_blitter_irq_ack_w)               // Blitter irq acknowledge
1815   AM_RANGE(0x300240, 0x300241) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)// Sound
1815   AM_RANGE(0x300240, 0x300241) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)// Sound
18161816   AM_RANGE(0xff0000, 0xffffff) AM_RAM                                       // RAM
18171817ADDRESS_MAP_END
18181818
r9191r9192
18761876   AM_RANGE(0xe00500, 0xe0051f) AM_DEVREADWRITE8("rtc", msm6242_r,   msm6242_w, 0x00ff)      // 6242RTC
18771877   AM_RANGE(0xe00600, 0xe00603) AM_DEVWRITE8("aysnd", ay8910_address_data_w, 0x00ff)
18781878   AM_RANGE(0xe00604, 0xe00605) AM_DEVREAD8("aysnd", ay8910_r, 0x00ff)
1879   AM_RANGE(0xe00700, 0xe00701) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)   // Sound
1879   AM_RANGE(0xe00700, 0xe00701) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)   // Sound
18801880   AM_RANGE(0xff0000, 0xffffff) AM_RAM                                          // RAM
18811881ADDRESS_MAP_END
18821882
r9191r9192
19141914   AM_RANGE(0xe00500, 0xe0051f) AM_DEVREADWRITE8("rtc", msm6242_r, msm6242_w, 0x00ff)      // 6242RTC
19151915   AM_RANGE(0xe00600, 0xe00603) AM_DEVWRITE8("aysnd", ay8910_address_data_w, 0x00ff)
19161916   AM_RANGE(0xe00604, 0xe00605) AM_DEVREAD8("aysnd", ay8910_r, 0x00ff)
1917   AM_RANGE(0xe00700, 0xe00701) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)   // Sound
1917   AM_RANGE(0xe00700, 0xe00701) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)   // Sound
19181918   AM_RANGE(0xff0000, 0xffffff) AM_RAM                                          // RAM
19191919ADDRESS_MAP_END
19201920
r9191r9192
20012001   AM_RANGE(0x30018a, 0x30018b) AM_WRITE(ddenlovr_select_16_w)                        //
20022002   AM_RANGE(0x30018c, 0x30018d) AM_DEVWRITE("oki", nettoqc_oki_bank_w)
20032003   AM_RANGE(0x3001ca, 0x3001cb) AM_WRITE(ddenlovr_blitter_irq_ack_w)                  // Blitter irq acknowledge
2004   AM_RANGE(0x300240, 0x300241) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)   // Sound
2004   AM_RANGE(0x300240, 0x300241) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)   // Sound
20052005   AM_RANGE(0xff0000, 0xffffff) AM_RAM                                          // RAM
20062006ADDRESS_MAP_END
20072007
r9191r9192
20552055   AM_RANGE(0x20, 0x20) AM_WRITE(ddenlovr_select2_w)
20562056   AM_RANGE(0x22, 0x23) AM_READ(rongrong_input2_r)
20572057
2058   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
2058   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
20592059   AM_RANGE(0x60, 0x61) AM_DEVWRITE("ymsnd", ym2413_w)
20602060
20612061   AM_RANGE(0x80, 0x83) AM_WRITE(ddenlovr_palette_base_w)
r9191r9192
20912091   AM_RANGE(0x1e, 0x1e) AM_WRITE(rongrong_select_w)
20922092
20932093   AM_RANGE(0x20, 0x2f) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w)   // 6242RTC
2094   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
2094   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
20952095   AM_RANGE(0x60, 0x61) AM_DEVWRITE("ymsnd", ym2413_w)
20962096
20972097   AM_RANGE(0x80, 0x83) AM_WRITE(ddenlovr_palette_base_w)
r9191r9192
22282228   AM_RANGE(0x6c, 0x6d) AM_READ(mmpanic_link_r)   // Other cabinets?
22292229   AM_RANGE(0x74, 0x74) AM_WRITE(mmpanic_rombank_w)
22302230   AM_RANGE(0x78, 0x78) AM_WRITENOP            // 0, during RST 08 (irq acknowledge?)
2231   AM_RANGE(0x7c, 0x7c) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)   // Sound
2231   AM_RANGE(0x7c, 0x7c) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)   // Sound
22322232   AM_RANGE(0x8c, 0x8c) AM_WRITE(mmpanic_soundlatch_w)   //
22332233   AM_RANGE(0x88, 0x88) AM_WRITE(mmpanic_leds_w)      // Leds
22342234   AM_RANGE(0x90, 0x90) AM_WRITENOP            // written just before port 8c
r9191r9192
23582358
23592359static ADDRESS_MAP_START( funkyfig_portmap, ADDRESS_SPACE_IO, 8 )
23602360   ADDRESS_MAP_GLOBAL_MASK(0xff)
2361   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)   // Sound
2361   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)   // Sound
23622362   AM_RANGE(0x01, 0x01) AM_WRITE(mmpanic_leds_w)      // Leds
23632363   AM_RANGE(0x02, 0x02) AM_WRITE(mmpanic_soundlatch_w)   //
23642364   AM_RANGE(0x04, 0x04) AM_READ(funkyfig_busy_r)
r9191r9192
25552555   AM_RANGE(0x94, 0x94) AM_WRITE(hanakanz_keyb_w)
25562556   AM_RANGE(0x96, 0x96) AM_READ(hanakanz_rand_r)
25572557   AM_RANGE(0xa0, 0xa1) AM_DEVWRITE("ymsnd", ym2413_w)
2558   AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
2558   AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
25592559   AM_RANGE(0xe0, 0xef) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w)   // 6242RTC
25602560ADDRESS_MAP_END
25612561
r9191r9192
25762576   AM_RANGE(0xb3, 0xb3) AM_WRITE(hanakanz_coincounter_w)
25772577   AM_RANGE(0xb4, 0xb4) AM_WRITE(hanakanz_keyb_w)
25782578   AM_RANGE(0xb6, 0xb6) AM_READ(hanakanz_rand_r)
2579   AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
2579   AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
25802580   AM_RANGE(0xe0, 0xef) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w)   // 6242RTC
25812581ADDRESS_MAP_END
25822582
r9191r9192
26102610   AM_RANGE(0x95, 0x96) AM_READ(hanakanz_keyb_r)
26112611   AM_RANGE(0x97, 0x97) AM_WRITE(hanakanz_coincounter_w)
26122612   AM_RANGE(0xa0, 0xa1) AM_DEVWRITE("ymsnd", ym2413_w)
2613   AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
2613   AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
26142614   AM_RANGE(0xe0, 0xef) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w)   // 6242RTC
26152615ADDRESS_MAP_END
26162616
r9191r9192
27422742   AM_RANGE(0x62, 0x62) AM_MIRROR(0xff00) AM_READ_PORT("DSW3")
27432743   AM_RANGE(0x63, 0x63) AM_MIRROR(0xff00) AM_READ_PORT("DSW4")
27442744   AM_RANGE(0x64, 0x64) AM_MIRROR(0xff00) AM_READ_PORT("DSW5")      // DSW 1-4 high bits
2745   AM_RANGE(0x80, 0x80) AM_MIRROR(0xff00) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
2745   AM_RANGE(0x80, 0x80) AM_MIRROR(0xff00) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
27462746   AM_RANGE(0xa0, 0xa1) AM_MIRROR(0xff00) AM_DEVWRITE("ymsnd", ym2413_w)
27472747   AM_RANGE(0xc0, 0xcf) AM_MIRROR(0xff00) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w)   // 6242RTC
27482748   AM_RANGE(0xe0, 0xe1) AM_MIRROR(0xff00) AM_DEVWRITE("aysnd", ay8910_address_data_w)
r9191r9192
28592859   AM_RANGE(0x21, 0x21) AM_WRITE(mjmyster_coincounter_w)
28602860   AM_RANGE(0x22, 0x22) AM_READ(mjmyster_coins_r)
28612861   AM_RANGE(0x23, 0x23) AM_READ(mjmyster_keyb_r)
2862   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
2862   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
28632863   AM_RANGE(0x42, 0x43) AM_DEVWRITE("ymsnd", ym2413_w)
28642864   AM_RANGE(0x44, 0x44) AM_DEVREAD("aysnd", ay8910_r)
28652865   AM_RANGE(0x46, 0x46) AM_DEVWRITE("aysnd", ay8910_data_w)
r9191r9192
31623162   AM_RANGE(0x60, 0x60) AM_WRITE(hgokou_dsw_sel_w)
31633163   AM_RANGE(0x61, 0x61) AM_WRITE(hgokou_input_w)
31643164   AM_RANGE(0x62, 0x62) AM_READ(hgokou_input_r)
3165   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
3165   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
31663166   AM_RANGE(0x82, 0x83) AM_DEVWRITE("ymsnd", ym2413_w)
31673167   AM_RANGE(0x84, 0x84) AM_DEVREAD("aysnd", ay8910_r)
31683168   AM_RANGE(0x86, 0x86) AM_DEVWRITE("aysnd", ay8910_data_w)
r9191r9192
32473247   AM_RANGE(0x1b, 0x1b) AM_READWRITE(rongrong_blitter_busy_r, rongrong_blitter_busy_w)
32483248   AM_RANGE(0x1c, 0x1c) AM_READ(hparadis_dsw_r)
32493249   AM_RANGE(0x1e, 0x1e) AM_WRITE(hparadis_select_w)
3250   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
3250   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
32513251   AM_RANGE(0x60, 0x61) AM_DEVWRITE("ymsnd", ym2413_w)
32523252   AM_RANGE(0x80, 0x83) AM_WRITE(ddenlovr_palette_base_w)
32533253   AM_RANGE(0x84, 0x87) AM_WRITE(ddenlovr_palette_mask_w)
r9191r9192
32953295   AM_RANGE(0x21, 0x21) AM_WRITE(mjmyster_coincounter_w)
32963296   AM_RANGE(0x22, 0x22) AM_READ(mjmywrld_coins_r)
32973297   AM_RANGE(0x23, 0x23) AM_READ(mjmyster_keyb_r)
3298   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
3298   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
32993299   AM_RANGE(0x42, 0x43) AM_DEVWRITE("ymsnd", ym2413_w)
33003300   AM_RANGE(0x44, 0x44) AM_DEVREAD("aysnd", ay8910_r)
33013301   AM_RANGE(0x46, 0x46) AM_DEVWRITE("aysnd", ay8910_data_w)
r9191r9192
34043404   AM_RANGE(0xe00500, 0xe0051f) AM_DEVREADWRITE8("rtc", msm6242_r, msm6242_w, 0x00ff)      // 6242RTC
34053405   AM_RANGE(0xe00600, 0xe00603) AM_DEVWRITE8("aysnd", ay8910_address_data_w, 0x00ff)
34063406   AM_RANGE(0xe00604, 0xe00605) AM_DEVREAD8("aysnd", ay8910_r, 0x00ff)
3407   AM_RANGE(0xe00700, 0xe00701) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)   // Sound
3407   AM_RANGE(0xe00700, 0xe00701) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)   // Sound
34083408   AM_RANGE(0xff0000, 0xffffff) AM_RAM                                          // RAM
34093409ADDRESS_MAP_END
34103410
r9191r9192
34973497   AM_RANGE(0x0200, 0x0201) AM_DEVWRITE("ymsnd", ym2413_w)
34983498   AM_RANGE(0x0280, 0x028f) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w)   // 6242RTC
34993499   AM_RANGE(0x0300, 0x0301) AM_DEVWRITE("aysnd", ay8910_address_data_w)
3500   AM_RANGE(0x0380, 0x0380) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
3500   AM_RANGE(0x0380, 0x0380) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
35013501ADDRESS_MAP_END
35023502
35033503
r9191r9192
35383538   AM_RANGE(0x61, 0x61) AM_WRITE(hanakanz_palette_w)
35393539   AM_RANGE(0x63, 0x64) AM_READ(hanakanz_gfxrom_r)
35403540   AM_RANGE(0x80, 0x81) AM_DEVWRITE("ymsnd", ym2413_w)
3541   AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
3541   AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
35423542   AM_RANGE(0xc0, 0xcf) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w)   // 6242RTC
35433543ADDRESS_MAP_END
35443544
r9191r9192
35983598
35993599static ADDRESS_MAP_START( sryudens_portmap, ADDRESS_SPACE_IO, 8 )
36003600   ADDRESS_MAP_GLOBAL_MASK(0xff)
3601   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
3601   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
36023602   AM_RANGE(0x02, 0x03) AM_DEVWRITE("ymsnd", ym2413_w)
36033603   AM_RANGE(0x04, 0x05) AM_DEVWRITE("aysnd", ay8910_address_data_w)
36043604   AM_RANGE(0x1c, 0x1c) AM_READNOP AM_WRITE(sryudens_rambank_w)   // ? ack on RTC int
r9191r9192
37253725   AM_RANGE(0x8a, 0x8b) AM_READ(daimyojn_year_hack_r)   // ?
37263726   AM_RANGE(0x80, 0x8f) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w)   // 6242RTC
37273727   AM_RANGE(0xa0, 0xa1) AM_DEVWRITE("ymsnd", ym2413_w)
3728   AM_RANGE(0xa2, 0xa2) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
3728   AM_RANGE(0xa2, 0xa2) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
37293729   AM_RANGE(0xa8, 0xa8) AM_READ_PORT("SYSTEM")
37303730   AM_RANGE(0xaa, 0xaa) AM_READ(daimyojn_keyb1_r)
37313731   AM_RANGE(0xac, 0xac) AM_READ(daimyojn_keyb2_r)
r9191r9192
69136913
69146914static INPUT_PORTS_START( hparadis )
69156915   PORT_START("P1")
6916   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
6916   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
69176917   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
69186918   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
69196919   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
r9191r9192
77107710                            Don Den Lover Vol.1
77117711***************************************************************************/
77127712
7713static MACHINE_DRIVER_START( ddenlovr )
7713static MACHINE_CONFIG_START( ddenlovr, dynax_state )
77147714
7715   /* driver data */
7716   MDRV_DRIVER_DATA(dynax_state)
7717
77187715   /* basic machine hardware */
77197716   MDRV_CPU_ADD("maincpu",M68000, XTAL_24MHz / 2)
77207717   MDRV_CPU_PROGRAM_MAP(ddenlovr_map)
r9191r9192
77517748
77527749   /* devices */
77537750   MDRV_MSM6242_ADD("rtc")
7754MACHINE_DRIVER_END
7751MACHINE_CONFIG_END
77557752
7756static MACHINE_DRIVER_START( ddenlovj )
7753static MACHINE_CONFIG_DERIVED( ddenlovj, ddenlovr )
77577754
77587755   /* basic machine hardware */
7759   MDRV_IMPORT_FROM(ddenlovr)
77607756   MDRV_CPU_MODIFY("maincpu")
77617757   MDRV_CPU_PROGRAM_MAP(ddenlovj_map)
7762MACHINE_DRIVER_END
7758MACHINE_CONFIG_END
77637759
7764static MACHINE_DRIVER_START( ddenlovrk )
7765   MDRV_IMPORT_FROM(ddenlovr)
7760static MACHINE_CONFIG_DERIVED( ddenlovrk, ddenlovr )
77667761   MDRV_CPU_MODIFY("maincpu")
77677762   MDRV_CPU_PROGRAM_MAP(ddenlovrk_map)
7768MACHINE_DRIVER_END
7763MACHINE_CONFIG_END
77697764
7770static MACHINE_DRIVER_START( akamaru )
7765static MACHINE_CONFIG_DERIVED( akamaru, ddenlovr )
77717766
77727767   /* basic machine hardware */
7773   MDRV_IMPORT_FROM(ddenlovr)
77747768   MDRV_CPU_MODIFY("maincpu")
77757769   MDRV_CPU_PROGRAM_MAP(akamaru_map)
7776MACHINE_DRIVER_END
7770MACHINE_CONFIG_END
77777771
77787772
77797773static const ay8910_interface quiz365_ay8910_interface =
r9191r9192
77867780   DEVCB_HANDLER(ddenlovr_select_w)
77877781};
77887782
7789static MACHINE_DRIVER_START( quiz365 )
7783static MACHINE_CONFIG_DERIVED( quiz365, ddenlovr )
77907784
77917785   /* basic machine hardware */
7792   MDRV_IMPORT_FROM(ddenlovr)
77937786   MDRV_CPU_MODIFY("maincpu")
77947787   MDRV_CPU_PROGRAM_MAP(quiz365_map)
77957788
77967789   MDRV_SOUND_MODIFY("aysnd")
77977790   MDRV_SOUND_CONFIG(quiz365_ay8910_interface)
7798MACHINE_DRIVER_END
7791MACHINE_CONFIG_END
77997792
78007793
7801static MACHINE_DRIVER_START( nettoqc )
7794static MACHINE_CONFIG_DERIVED( nettoqc, ddenlovr )
78027795
78037796   /* basic machine hardware */
7804   MDRV_IMPORT_FROM(ddenlovr)
78057797   MDRV_CPU_MODIFY("maincpu")
78067798   MDRV_CPU_PROGRAM_MAP(nettoqc_map)
7807MACHINE_DRIVER_END
7799MACHINE_CONFIG_END
78087800
78097801/***************************************************************************
78107802                                Rong Rong
r9191r9192
78407832}
78417833#endif
78427834
7843static MACHINE_DRIVER_START( quizchq )
7835static MACHINE_CONFIG_START( quizchq, dynax_state )
78447836
7845   /* driver data */
7846   MDRV_DRIVER_DATA(dynax_state)
7847
78487837   /* basic machine hardware */
7849   MDRV_CPU_ADD("maincpu", Z80, 8000000)   /* ? */
7838   MDRV_CPU_ADD("maincpu", Z80, XTAL_16MHz/2)   /* Verified */
78507839   MDRV_CPU_PROGRAM_MAP(quizchq_map)
78517840   MDRV_CPU_IO_MAP(quizchq_portmap)
78527841   MDRV_CPU_VBLANK_INT("screen", quizchq_irq)
r9191r9192
78717860   /* sound hardware */
78727861   MDRV_SPEAKER_STANDARD_MONO("mono")
78737862
7874   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
7875   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
7863   MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_28_63636MHz/8) // 3.579545Mhz, verified
7864   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.50)
78767865
7877   MDRV_OKIM6295_ADD("oki", 1022720, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
7878   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
7866   MDRV_OKIM6295_ADD("oki", XTAL_28_63636MHz/28, OKIM6295_PIN7_HIGH) // clock frequency verified 1.022MHz, pin 7 verified high
7867   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
78797868
78807869   /* devices */
78817870   MDRV_MSM6242_ADD("rtc")
7882MACHINE_DRIVER_END
7871MACHINE_CONFIG_END
78837872
7884static MACHINE_DRIVER_START( rongrong )
7873static MACHINE_CONFIG_DERIVED( rongrong, quizchq )
78857874
78867875   /* basic machine hardware */
7887   MDRV_IMPORT_FROM(quizchq)
78887876   MDRV_CPU_MODIFY("maincpu")
78897877   MDRV_CPU_PROGRAM_MAP(rongrong_map)
78907878   MDRV_CPU_IO_MAP(rongrong_portmap)
7891MACHINE_DRIVER_END
7879MACHINE_CONFIG_END
78927880
78937881/***************************************************************************
78947882
r9191r9192
79187906      cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0xcf);   // RST 08, vblank
79197907}
79207908
7921static MACHINE_DRIVER_START( mmpanic )
7909static MACHINE_CONFIG_START( mmpanic, dynax_state )
79227910
7923   /* driver data */
7924   MDRV_DRIVER_DATA(dynax_state)
7925
79267911   /* basic machine hardware */
79277912   MDRV_CPU_ADD("maincpu", Z80, 8000000)
79287913   MDRV_CPU_PROGRAM_MAP(mmpanic_map)
r9191r9192
79657950
79667951   /* devices */
79677952   MDRV_MSM6242_ADD("rtc")
7968MACHINE_DRIVER_END
7953MACHINE_CONFIG_END
79697954
79707955
79717956/***************************************************************************
r9191r9192
79957980      cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0xe0);
79967981}
79977982
7998static MACHINE_DRIVER_START( hanakanz )
7983static MACHINE_CONFIG_START( hanakanz, dynax_state )
79997984
8000   /* driver data */
8001   MDRV_DRIVER_DATA(dynax_state)
8002
80037985   /* basic machine hardware */
80047986   MDRV_CPU_ADD("maincpu",Z80,8000000)   // TMPZ84C015BF-8
80057987   MDRV_CPU_PROGRAM_MAP(hanakanz_map)
r9191r9192
80348016
80358017   /* devices */
80368018   MDRV_MSM6242_ADD("rtc")
8037MACHINE_DRIVER_END
8019MACHINE_CONFIG_END
80388020
8039static MACHINE_DRIVER_START( hkagerou )
8021static MACHINE_CONFIG_DERIVED( hkagerou, hanakanz )
8022
80408023   /* basic machine hardware */
8041   MDRV_IMPORT_FROM( hanakanz )
80428024   MDRV_CPU_MODIFY("maincpu")
80438025   MDRV_CPU_IO_MAP(hkagerou_portmap)
8044MACHINE_DRIVER_END
8026MACHINE_CONFIG_END
80458027
8046static MACHINE_DRIVER_START( mjreach1 )
8028static MACHINE_CONFIG_DERIVED( mjreach1, hanakanz )
8029
80478030   /* basic machine hardware */
8048   MDRV_IMPORT_FROM( hanakanz )
80498031   MDRV_CPU_MODIFY("maincpu")
80508032   MDRV_CPU_IO_MAP(mjreach1_portmap)
8051MACHINE_DRIVER_END
8033MACHINE_CONFIG_END
80528034
80538035
80548036/***************************************************************************
r9191r9192
80778059}
80788060
80798061
8080static MACHINE_DRIVER_START( mjchuuka )
8062static MACHINE_CONFIG_DERIVED( mjchuuka, hanakanz )
8063
80818064   /* basic machine hardware */
8082   MDRV_IMPORT_FROM( hanakanz )
80838065   MDRV_CPU_MODIFY("maincpu")
80848066   MDRV_CPU_IO_MAP(mjchuuka_portmap)
80858067   MDRV_CPU_VBLANK_INT("screen", mjchuuka_irq)
80868068
80878069   MDRV_SOUND_ADD("aysnd", AY8910, 1789772)
80888070   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
8089MACHINE_DRIVER_END
8071MACHINE_CONFIG_END
80908072
80918073
8092static MACHINE_DRIVER_START( funkyfig )
8093
8094   MDRV_IMPORT_FROM(mmpanic)
8074static MACHINE_CONFIG_DERIVED( funkyfig, mmpanic )
80958075   MDRV_CPU_MODIFY("maincpu")
80968076   MDRV_CPU_PROGRAM_MAP(funkyfig_map)
80978077   MDRV_CPU_IO_MAP(funkyfig_portmap)
r9191r9192
81038083   MDRV_CPU_IO_MAP(funkyfig_sound_portmap)
81048084
81058085   MDRV_VIDEO_START(ddenlovr)   // no extra layers?
8106MACHINE_DRIVER_END
8086MACHINE_CONFIG_END
81078087
81088088
81098089/***************************************************************************
r9191r9192
81528132   DEVCB_HANDLER(ddenlovr_select_w)
81538133};
81548134
8155static MACHINE_DRIVER_START( mjmyster )
8135static MACHINE_CONFIG_DERIVED( mjmyster, quizchq )
8136
81568137   /* basic machine hardware */
8157   MDRV_IMPORT_FROM( quizchq )
81588138   MDRV_CPU_MODIFY("maincpu")
81598139   MDRV_CPU_PROGRAM_MAP(mjmyster_map)
81608140   MDRV_CPU_IO_MAP(mjmyster_portmap)
r9191r9192
81668146   MDRV_SOUND_ADD("aysnd", AY8910, 3579545)
81678147   MDRV_SOUND_CONFIG(mjmyster_ay8910_interface)
81688148   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
8169MACHINE_DRIVER_END
8149MACHINE_CONFIG_END
81708150
81718151/***************************************************************************
81728152                            Hanafuda Hana Ginga
r9191r9192
82038183   DEVCB_NULL,                  DEVCB_HANDLER(ddenlovr_select_w)      // W
82048184};
82058185
8206static MACHINE_DRIVER_START( hginga )
8186static MACHINE_CONFIG_DERIVED( hginga, quizchq )
8187
82078188   /* basic machine hardware */
8208   MDRV_IMPORT_FROM( quizchq )
82098189   MDRV_CPU_MODIFY("maincpu")
82108190   MDRV_CPU_PROGRAM_MAP(hginga_map)
82118191   MDRV_CPU_IO_MAP(hginga_portmap)
r9191r9192
82168196   MDRV_SOUND_ADD("aysnd", AY8910, 3579545)
82178197   MDRV_SOUND_CONFIG(hginga_ay8910_interface)
82188198   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
8219MACHINE_DRIVER_END
8199MACHINE_CONFIG_END
82208200
8221static MACHINE_DRIVER_START( hgokou )
8201static MACHINE_CONFIG_DERIVED( hgokou, quizchq )
8202
82228203   /* basic machine hardware */
8223   MDRV_IMPORT_FROM( quizchq )
82248204   MDRV_CPU_MODIFY("maincpu")
82258205   MDRV_CPU_PROGRAM_MAP(hgokou_map)
82268206   MDRV_CPU_IO_MAP(hgokou_portmap)
r9191r9192
82318211   MDRV_SOUND_ADD("aysnd", AY8910, 3579545)
82328212   MDRV_SOUND_CONFIG(hginga_ay8910_interface)
82338213   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
8234MACHINE_DRIVER_END
8214MACHINE_CONFIG_END
82358215
8236static MACHINE_DRIVER_START( mjmywrld )
8216static MACHINE_CONFIG_DERIVED( mjmywrld, mjmyster )
8217
82378218   /* basic machine hardware */
8238   MDRV_IMPORT_FROM( mjmyster )
82398219   MDRV_CPU_MODIFY("maincpu")
82408220   MDRV_CPU_PROGRAM_MAP(hginga_map)
82418221   MDRV_CPU_IO_MAP(mjmywrld_portmap)
8242MACHINE_DRIVER_END
8222MACHINE_CONFIG_END
82438223
8244static MACHINE_DRIVER_START( mjmyuniv )
8224static MACHINE_CONFIG_DERIVED( mjmyuniv, quizchq )
8225
82458226   /* basic machine hardware */
8246   MDRV_IMPORT_FROM( quizchq )
82478227   MDRV_CPU_MODIFY("maincpu")
82488228   MDRV_CPU_PROGRAM_MAP(mjmyster_map)
82498229   MDRV_CPU_IO_MAP(mjmyster_portmap)
r9191r9192
82558235   MDRV_SOUND_ADD("aysnd", AY8910, 1789772)
82568236   MDRV_SOUND_CONFIG(mjmyster_ay8910_interface)
82578237   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
8258MACHINE_DRIVER_END
8238MACHINE_CONFIG_END
82598239
8260static MACHINE_DRIVER_START( mjmyornt )
8240static MACHINE_CONFIG_DERIVED( mjmyornt, quizchq )
8241
82618242   /* basic machine hardware */
8262   MDRV_IMPORT_FROM( quizchq )
82638243   MDRV_CPU_MODIFY("maincpu")
82648244   MDRV_CPU_IO_MAP(mjmyster_portmap)
82658245   MDRV_CPU_VBLANK_INT_HACK(mjmyster_irq, 2)
r9191r9192
82708250   MDRV_SOUND_ADD("aysnd", AY8910, 1789772)
82718251   MDRV_SOUND_CONFIG(mjmyster_ay8910_interface)
82728252   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
8273MACHINE_DRIVER_END
8253MACHINE_CONFIG_END
82748254
82758255static INTERRUPT_GEN( mjflove_irq )
82768256{
r9191r9192
82918271   }
82928272}
82938273
8294static MACHINE_DRIVER_START( mjflove )
8274static MACHINE_CONFIG_DERIVED( mjflove, quizchq )
8275
82958276   /* basic machine hardware */
8296   MDRV_IMPORT_FROM( quizchq )
82978277   MDRV_CPU_MODIFY("maincpu")
82988278   MDRV_CPU_PROGRAM_MAP(rongrong_map)
82998279   MDRV_CPU_IO_MAP(mjflove_portmap)
r9191r9192
83058285
83068286   MDRV_SOUND_ADD("aysnd", AY8910, 28636363/8)
83078287   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
8308MACHINE_DRIVER_END
8288MACHINE_CONFIG_END
83098289
83108290/*  It runs in IM 2, thus needs a vector on the data bus:
83118291    0xee is vblank  */
r9191r9192
83148294   cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0xee);
83158295}
83168296
8317static MACHINE_DRIVER_START( hparadis )
8297static MACHINE_CONFIG_DERIVED( hparadis, quizchq )
8298
83188299   /* basic machine hardware */
8319   MDRV_IMPORT_FROM( quizchq )
83208300   MDRV_CPU_MODIFY("maincpu")
83218301   MDRV_CPU_PROGRAM_MAP(hparadis_map)
83228302   MDRV_CPU_IO_MAP(hparadis_portmap)
83238303   MDRV_CPU_VBLANK_INT("screen", hparadis_irq)
83248304
83258305   MDRV_MACHINE_START(hparadis)
8326MACHINE_DRIVER_END
8306MACHINE_CONFIG_END
83278307
8328static MACHINE_DRIVER_START( jongtei )
8308static MACHINE_CONFIG_START( jongtei, dynax_state )
83298309
8330   /* driver data */
8331   MDRV_DRIVER_DATA(dynax_state)
8332
83338310   /* basic machine hardware */
83348311   MDRV_CPU_ADD("maincpu",Z80, XTAL_20MHz / 2)   // ?
83358312   MDRV_CPU_PROGRAM_MAP(hanakanz_map)
r9191r9192
83648341
83658342   /* devices */
83668343   MDRV_MSM6242_ADD("rtc")
8367MACHINE_DRIVER_END
8344MACHINE_CONFIG_END
83688345
83698346/***************************************************************************
83708347                            Mahjong Seiryu Densetsu
83718348***************************************************************************/
83728349
8373static MACHINE_DRIVER_START( sryudens )
8350static MACHINE_CONFIG_START( sryudens, dynax_state )
83748351
8375   /* driver data */
8376   MDRV_DRIVER_DATA(dynax_state)
8377
83788352   /* basic machine hardware */
83798353   MDRV_CPU_ADD("maincpu",Z80, XTAL_16MHz / 2)   // ?
83808354   MDRV_CPU_PROGRAM_MAP(sryudens_map)
r9191r9192
84128386
84138387   /* devices */
84148388   MDRV_MSM6242_ADD("rtc")
8415MACHINE_DRIVER_END
8389MACHINE_CONFIG_END
84168390
84178391/***************************************************************************
84188392                            Mahjong Daimyojin
84198393***************************************************************************/
84208394
8421static MACHINE_DRIVER_START( daimyojn )
8395static MACHINE_CONFIG_START( daimyojn, dynax_state )
84228396
8423   /* driver data */
8424   MDRV_DRIVER_DATA(dynax_state)
8425
84268397   /* basic machine hardware */
84278398   MDRV_CPU_ADD("maincpu",Z80, XTAL_20MHz / 2)
84288399   MDRV_CPU_PROGRAM_MAP(hanakanz_map)
r9191r9192
84578428
84588429   /* devices */
84598430   MDRV_MSM6242_ADD("rtc")
8460MACHINE_DRIVER_END
8431MACHINE_CONFIG_END
84618432
84628433
84638434
r9191r9192
86368607CPU:    TMPZ84C015BF-8
86378608
86388609Sound:  YM2413
8639        M6295
8610        M6295 - 1.022Mhz pin 7 HI? (unverified from jpn ver)
86408611
86418612OSC:    16MHz
86428613    28.6363MHz
r9191r9192
86698640   ROM_LOAD( "nwc7301.1f",   0x00000, 0x80000, CRC(52c672e8) SHA1(bc05155f4d9c711cc2ed187a4dd2207b886452f0) )   // 2 banks
86708641ROM_END
86718642
8643/***************************************************************************
8644
8645Quiz Channel Question (Chinese ver.)
8646(c)1993 Laxan (licensed from Nakanihon)
8647
8648N7311208L1-2
8649N73SUB
8650
8651CPU:    TMPZ84C015BF-8 @8mhz (16MHz/2) (verified)
8652
8653Sound:  YM2413 - 3.579545MHz (28.6363/8) (verified)
8654        M6295 - 1.022MHz (28.6363/28); pin 7 HI (verified)
8655
8656OSC:    16MHz - cpu
8657    28.6363MHz - ym2413 and m6295
8658    32.768KHz - RTC
8659
8660Custom: NL-002 - Nakanihon
8661    (1108F0405) - Dynax
8662    (1427F0071) - Dynax
8663
8664Others: M6242B (RTC)
8665
8666***************************************************************************/
86728667ROM_START( quizchql )
86738668   ROM_REGION( 0x118000, "maincpu", 0 )   /* Z80 Code + space for banked RAM */
86748669   ROM_LOAD( "2.rom",        0x00000, 0x80000, CRC(1bf8fb25) SHA1(2f9a62654a018f19f6783be655d992c457551fc9) )
src/mame/drivers/chinagat.c
r9191r9192
340340   AM_RANGE(0x0000, 0x7fff) AM_ROM
341341   AM_RANGE(0x8000, 0x87ff) AM_RAM
342342   AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
343   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
343   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
344344   AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
345345ADDRESS_MAP_END
346346
r9191r9192
351351// but only on the title screen....
352352
353353   AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ym1", ym2203_r, ym2203_w)
354//  AM_RANGE(0x8802, 0x8802) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
355//  AM_RANGE(0x8803, 0x8803) AM_DEVWRITE("oki", okim6295_w)
354//  AM_RANGE(0x8802, 0x8802) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
355//  AM_RANGE(0x8803, 0x8803) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
356356   AM_RANGE(0x8804, 0x8805) AM_DEVREADWRITE("ym2", ym2203_r, ym2203_w)
357357//  AM_RANGE(0x8804, 0x8804) AM_WRITEONLY
358358//  AM_RANGE(0x8805, 0x8805) AM_WRITEONLY
359359
360360//  AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
361//  AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
361//  AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
362362   AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
363363ADDRESS_MAP_END
364364
r9191r9192
568568}
569569
570570
571static MACHINE_DRIVER_START( chinagat )
571static MACHINE_CONFIG_START( chinagat, ddragon_state )
572572
573   /* driver data */
574   MDRV_DRIVER_DATA(ddragon_state)
575
576573   /* basic machine hardware */
577574   MDRV_CPU_ADD("maincpu", HD6309, MAIN_CLOCK / 2)      /* 1.5 MHz (12MHz oscillator / 4 internally) */
578575   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
610607
611608   MDRV_OKIM6295_ADD("oki", 1065000, OKIM6295_PIN7_HIGH) // pin 7 not verified, clock frequency estimated with recording
612609   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
613MACHINE_DRIVER_END
610MACHINE_CONFIG_END
614611
615static MACHINE_DRIVER_START( saiyugoub1 )
612static MACHINE_CONFIG_START( saiyugoub1, ddragon_state )
616613
617   /* driver data */
618   MDRV_DRIVER_DATA(ddragon_state)
619
620614   /* basic machine hardware */
621615   MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK / 8)      /* 68B09EP 1.5 MHz (12MHz oscillator) */
622616   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
659653   MDRV_SOUND_ADD("adpcm", MSM5205, 9263750 / 24)
660654   MDRV_SOUND_CONFIG(msm5205_config)
661655   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
662MACHINE_DRIVER_END
656MACHINE_CONFIG_END
663657
664static MACHINE_DRIVER_START( saiyugoub2 )
658static MACHINE_CONFIG_START( saiyugoub2, ddragon_state )
665659
666   /* driver data */
667   MDRV_DRIVER_DATA(ddragon_state)
668
669660   /* basic machine hardware */
670661   MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK / 8)      /* 1.5 MHz (12MHz oscillator) */
671662   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
708699   MDRV_SOUND_ROUTE(1, "mono", 0.50)
709700   MDRV_SOUND_ROUTE(2, "mono", 0.50)
710701   MDRV_SOUND_ROUTE(3, "mono", 0.80)
711MACHINE_DRIVER_END
702MACHINE_CONFIG_END
712703
713704
714705/***************************************************************************
src/mame/drivers/kaneko16.c
r9191r9192
378378   AM_RANGE(0x800000, 0x80001f) AM_DEVREADWRITE("ay1", kaneko16_YM2149_r, kaneko16_YM2149_w)   // Sound
379379   AM_RANGE(0x800200, 0x80021f) AM_DEVREADWRITE("ay2", kaneko16_YM2149_r, kaneko16_YM2149_w)
380380   AM_RANGE(0x8003fe, 0x8003ff) AM_NOP // for OKI when accessed as .l
381   AM_RANGE(0x800400, 0x800401) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
381   AM_RANGE(0x800400, 0x800401) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
382382   AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1)   // Layers
383383   AM_RANGE(0xc01000, 0xc01fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0)   //
384384   AM_RANGE(0xc02000, 0xc02fff) AM_RAM AM_BASE(&kaneko16_vscroll_1)                           //
r9191r9192
411411   AM_RANGE(0x400000, 0x40001d) AM_DEVWRITE("ay1", kaneko16_YM2149_w)
412412   AM_RANGE(0x40001e, 0x40001f) AM_DEVWRITE("oki", bakubrkr_oki_bank_sw)   // OKI bank Switch
413413   AM_RANGE(0x400200, 0x40021f) AM_DEVREADWRITE("ay2", kaneko16_YM2149_r,kaneko16_YM2149_w)         // Sound
414   AM_RANGE(0x400400, 0x400401) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)   //
414   AM_RANGE(0x400400, 0x400401) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)   //
415415   AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1)   // Layers 0
416416   AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0)   //
417417   AM_RANGE(0x502000, 0x502fff) AM_RAM AM_BASE(&kaneko16_vscroll_1)                           //
r9191r9192
518518   AM_RANGE(0x600000, 0x60001f) AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs)   // Layers 0 Regs
519519   AM_RANGE(0x680000, 0x68001f) AM_RAM_WRITE(kaneko16_layers_1_regs_w) AM_BASE(&kaneko16_layers_1_regs)   // Layers 1 Regs
520520   AM_RANGE(0x700000, 0x70001f) AM_RAM_WRITE(kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs)   // Sprites Regs
521   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)
522   AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
521   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
522   AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
523523   AM_RANGE(0x900000, 0x900039) AM_READWRITE(bloodwar_calc_r, bloodwar_calc_w)
524524   AM_RANGE(0xa00000, 0xa00001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w)   // Watchdog
525525   AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1")
r9191r9192
580580   AM_RANGE(0x600000, 0x60001f) AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs)   // Layers 0 Regs
581581   AM_RANGE(0x680000, 0x68001f) AM_RAM_WRITE(kaneko16_layers_1_regs_w) AM_BASE(&kaneko16_layers_1_regs)   // Layers 1 Regs
582582   AM_RANGE(0x700000, 0x70001f) AM_RAM_WRITE(kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs)   // Sprites Regs
583   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)
584   AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
583   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
584   AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
585585   AM_RANGE(0x900000, 0x900015) AM_READWRITE(galpanib_calc_r,galpanib_calc_w)
586586   AM_RANGE(0xa00000, 0xa00001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w)   // Watchdog
587587   AM_RANGE(0xb00000, 0xb00001) AM_READ_PORT("P1")
r9191r9192
666666
667667   AM_RANGE(0x700000, 0x70001f) AM_READWRITE(kaneko16_sprites_regs_r, kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs)   // Sprites Regs
668668
669   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)               // Samples
670   AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
669   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)               // Samples
670   AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
671671
672672   AM_RANGE(0x900014, 0x900015) AM_READ(kaneko16_rnd_r)                                       // Random Number ?
673673   AM_RANGE(0xa00000, 0xa00001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w)                  // Watchdog
r9191r9192
740740
741741   AM_RANGE(0x680000, 0x68000f) AM_RAM_WRITE(kaneko16_layers_1_regs_w) AM_BASE(&kaneko16_layers_1_regs)   // Layers 1 Regs
742742   AM_RANGE(0x700000, 0x70001f) AM_READWRITE(kaneko16_sprites_regs_r, kaneko16_sprites_regs_w) AM_BASE(&kaneko16_sprites_regs)   // Sprites Regs
743   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)   // Samples
744   AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
743   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)   // Samples
744   AM_RANGE(0x880000, 0x880001) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
745745
746746   AM_RANGE(0x900014, 0x900015) AM_READ(kaneko16_rnd_r)   // Random Number ?
747747   AM_RANGE(0xa00000, 0xa00001) AM_READWRITE(watchdog_reset16_r, watchdog_reset16_w)   // Watchdog
r9191r9192
769769   AM_RANGE(0x300000, 0x30ffff) AM_RAM      // Work RAM
770770   AM_RANGE(0x400000, 0x40001f) AM_DEVREADWRITE("ay1", kaneko16_YM2149_r, kaneko16_YM2149_w)   // Sound
771771   AM_RANGE(0x400200, 0x40021f) AM_DEVREADWRITE("ay2", kaneko16_YM2149_r, kaneko16_YM2149_w)
772   AM_RANGE(0x400400, 0x400401) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
772   AM_RANGE(0x400400, 0x400401) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
773773   AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram)   // Palette
774774   AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1)   // Layers 0
775775   AM_RANGE(0x601000, 0x601fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0)   //
r9191r9192
839839   //AM_RANGE(0x2c0000, 0x2c0001) AM_WRITE(calc3_run) // guess, might be irqack
840840   AM_RANGE(0x2d0000, 0x2d0001) AM_WRITE(calc3_mcu_com3_w)
841841   AM_RANGE(0x380000, 0x380fff) AM_RAM_WRITE(paletteram16_xGGGGGRRRRRBBBBB_word_w) AM_BASE_GENERIC(paletteram)   // Palette
842   AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)   // Samples
843   AM_RANGE(0x480000, 0x480001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
842   AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)   // Samples
843   AM_RANGE(0x480000, 0x480001) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
844844   AM_RANGE(0x580000, 0x581fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)               // Sprites
845845   AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1)   // Layers 0
846846   AM_RANGE(0x601000, 0x601fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0)
r9191r9192
17991799    6-7]    rte
18001800*/
18011801
1802static MACHINE_DRIVER_START( berlwall )
1802static MACHINE_CONFIG_START( berlwall, driver_device )
18031803
18041804   /* basic machine hardware */
18051805   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* MC68000P12 */
r9191r9192
18381838   MDRV_OKIM6295_ADD("oki", 12000000/6, OKIM6295_PIN7_LOW)
18391839   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
18401840   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
1841MACHINE_DRIVER_END
1841MACHINE_CONFIG_END
18421842
18431843
18441844/***************************************************************************
18451845                            Bakuretsu Breaker
18461846***************************************************************************/
18471847
1848static MACHINE_DRIVER_START( bakubrkr )
1848static MACHINE_CONFIG_START( bakubrkr, driver_device )
18491849
18501850   /* basic machine hardware */
18511851   MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz) /* verified on pcb */
r9191r9192
18831883
18841884   MDRV_OKIM6295_ADD("oki", XTAL_12MHz/6, OKIM6295_PIN7_HIGH) /* verified on pcb */
18851885   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1886MACHINE_DRIVER_END
1886MACHINE_CONFIG_END
18871887
18881888
18891889/***************************************************************************
r9191r9192
19001900        6-7]    busy loop
19011901*/
19021902
1903static MACHINE_DRIVER_START( blazeon )
1903static MACHINE_CONFIG_START( blazeon, driver_device )
19041904
19051905   /* basic machine hardware */
19061906   MDRV_CPU_ADD("maincpu", M68000,12000000)   /* TMP68HC000-12 */
r9191r9192
19351935   MDRV_SOUND_ADD("ymsnd", YM2151, 4000000)
19361936   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
19371937   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1938MACHINE_DRIVER_END
1938MACHINE_CONFIG_END
19391939
19401940
19411941
r9191r9192
19531953    VIDEO_UPDATE_AFTER_VBLANK fixes the mangled/wrong colored sprites
19541954*/
19551955
1956static MACHINE_DRIVER_START( gtmr )
1956static MACHINE_CONFIG_START( gtmr, driver_device )
19571957
19581958   /* basic machine hardware */
19591959   MDRV_CPU_ADD("gtmr", M68000, XTAL_16MHz)   /* verified on pcb */
r9191r9192
19861986
19871987   MDRV_OKIM6295_ADD("oki2", XTAL_16MHz/8, OKIM6295_PIN7_LOW)   /* verified on pcb */
19881988   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
1989MACHINE_DRIVER_END
1989MACHINE_CONFIG_END
19901990
19911991/***************************************************************************
19921992                                Blood Warrior
19931993***************************************************************************/
19941994
1995static MACHINE_DRIVER_START( bloodwar )
1995static MACHINE_CONFIG_DERIVED( bloodwar, gtmr )
19961996
19971997   /* basic machine hardware */
1998   MDRV_IMPORT_FROM(gtmr)
19991998   MDRV_CPU_MODIFY("gtmr")
20001999   MDRV_CPU_PROGRAM_MAP(bloodwar)
20012000
20022001   MDRV_MACHINE_RESET( bloodwar )
2003MACHINE_DRIVER_END
2002MACHINE_CONFIG_END
20042003
20052004/***************************************************************************
20062005                            Great 1000 Miles Rally 2
20072006***************************************************************************/
20082007
2009static MACHINE_DRIVER_START( gtmr2 )
2008static MACHINE_CONFIG_DERIVED( gtmr2, gtmr )
20102009
20112010   /* basic machine hardware */
2012   MDRV_IMPORT_FROM(gtmr)
20132011   MDRV_CPU_MODIFY("gtmr")
20142012   MDRV_CPU_PROGRAM_MAP(gtmr2_map)
2015MACHINE_DRIVER_END
2013MACHINE_CONFIG_END
20162014
20172015/***************************************************************************
20182016                            Bonk's Adventure
r9191r9192
20282026    So now test mode is fully working and visible.
20292027    SebV
20302028*/
2031static MACHINE_DRIVER_START( bonkadv )
2029static MACHINE_CONFIG_DERIVED( bonkadv, gtmr )
20322030
20332031   /* basic machine hardware */
2034   MDRV_IMPORT_FROM(gtmr)
20352032   MDRV_CPU_MODIFY("gtmr")
20362033   MDRV_CPU_PROGRAM_MAP(bonkadv)
20372034   MDRV_CPU_VBLANK_INT_HACK(kaneko16_interrupt,KANEKO16_INTERRUPTS_NUM + 1 ) // comment above
20382035
20392036   MDRV_MACHINE_RESET( bonkadv )
2040MACHINE_DRIVER_END
2037MACHINE_CONFIG_END
20412038
20422039/***************************************************************************
20432040                                Magical Crystal
20442041***************************************************************************/
20452042
2046static MACHINE_DRIVER_START( mgcrystl )
2043static MACHINE_CONFIG_START( mgcrystl, driver_device )
20472044
20482045   /* basic machine hardware */
20492046   MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz) /* verified on pcb */
r9191r9192
20812078
20822079   MDRV_OKIM6295_ADD("oki", XTAL_12MHz/6, OKIM6295_PIN7_HIGH) /* verified on pcb */
20832080   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2084MACHINE_DRIVER_END
2081MACHINE_CONFIG_END
20852082
20862083
20872084
r9191r9192
21282125}
21292126
21302127/*
2131static const unsigned char shogwarr_default_eeprom[128] = {
2132    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2133    0x4B, 0x41, 0x4E, 0x45, 0x4B, 0x4F, 0x2F, 0x41, 0x54, 0x4F, 0x50, 0x20, 0x31, 0x39, 0x39, 0x32,
2134    0x46, 0x55, 0x4A, 0x49, 0xFF, 0xFF, 0x4D, 0x41, 0x20, 0x42, 0x55, 0x53, 0x54, 0x45, 0x52, 0x20,
2135    0x20, 0x53, 0x48, 0x4F, 0xFF, 0xFF, 0x4E, 0x20, 0x57, 0x41, 0x52, 0x52, 0x49, 0x4F, 0x52, 0x53,
2136    0xFF, 0xFF, 0x70, 0x79, 0x72, 0x69, 0xFF, 0xFF, 0x74, 0x20, 0x4B, 0x41, 0x4E, 0x45, 0x4B, 0x4F,
2137    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2138    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
2139    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF
2128static const UINT16 shogwarr_default_eeprom[64] = {
2129    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2130    0x4B41, 0x4E45, 0x4B4F, 0x2F41, 0x544F, 0x5020, 0x3139, 0x3932,
2131    0x4655, 0x4A49, 0xFFFF, 0x4D41, 0x2042, 0x5553, 0x5445, 0x5220,
2132    0x2053, 0x484F, 0xFFFF, 0x4E20, 0x5741, 0x5252, 0x494F, 0x5253,
2133    0xFFFF, 0x7079, 0x7269, 0xFFFF, 0x7420, 0x4B41, 0x4E45, 0x4B4F,
2134    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2135    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
2136    0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0xFFFF
21402137};
21412138*/
21422139// the above eeprom looks corrupt, some of the text is wrong, the game never writes this text tho.. maybe it should be as below
21432140// leaving both here incase they relate to which tables get 'locked out' by the MCU somehow
2144static const UINT8 shogwarr_default_eeprom[128] = {
2145   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2146   0x4B, 0x41, 0x4E, 0x45, 0x4B, 0x4F, 0x2F, 0x41, 0x54, 0x4F, 0x50, 0x20, 0x31, 0x39, 0x39, 0x32,
2147   0x46, 0x55, 0x4A, 0x49, 0x59, 0x41, 0x4D, 0x41, 0x20, 0x42, 0x55, 0x53, 0x54, 0x45, 0x52, 0x20,
2148   0x20, 0x53, 0x48, 0x4F, 0x47, 0x55, 0x4E, 0x20, 0x57, 0x41, 0x52, 0x52, 0x49, 0x4F, 0x52, 0x53,
2149   0x63, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x4B, 0x41, 0x4E, 0x45, 0x4B, 0x4F,
2150   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2151   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
2152   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF
2141static const UINT16 shogwarr_default_eeprom[64] = {
2142   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2143   0x4B41, 0x4E45, 0x4B4F, 0x2F41, 0x544F, 0x5020, 0x3139, 0x3932,
2144   0x4655, 0x4A49, 0x5941, 0x4D41, 0x2042, 0x5553, 0x5445, 0x5220,
2145   0x2053, 0x484F, 0x4755, 0x4E20, 0x5741, 0x5252, 0x494F, 0x5253,
2146   0x636F, 0x7079, 0x7269, 0x6768, 0x7420, 0x4B41, 0x4E45, 0x4B4F,
2147   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2148   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF,
2149   0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0xFFFF
21532150};
21542151
21552152static ADDRESS_MAP_START( shogwarr_oki1_map, 0, 8 )
r9191r9192
21612158   AM_RANGE(0x00000, 0x3ffff) AM_ROMBANK("bank11")
21622159ADDRESS_MAP_END
21632160
2164static MACHINE_DRIVER_START( shogwarr )
2161static MACHINE_CONFIG_START( shogwarr, driver_device )
21652162
21662163   /* basic machine hardware */
21672164   MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz)
r9191r9192
21962193   MDRV_OKIM6295_ADD("oki2", XTAL_16MHz/8, OKIM6295_PIN7_LOW)
21972194   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
21982195   MDRV_DEVICE_ADDRESS_MAP(0, shogwarr_oki2_map)
2199MACHINE_DRIVER_END
2196MACHINE_CONFIG_END
22002197
22012198
2202static const UINT8 brapboys_default_eeprom[128] = {
2203   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2204   0x00, 0x00, 0x00, 0x05, 0x00, 0x06, 0x20, 0x30, 0x00, 0x03, 0x68, 0x18, 0x01, 0x01, 0x01, 0x01,
2205   0x01, 0x01, 0x00, 0x01, 0x00, 0x04, 0x00, 0x08, 0x4B, 0x41, 0x4E, 0x45, 0x4B, 0x4F, 0x20, 0x20,
2206   0x42, 0x65, 0x20, 0x52, 0x61, 0x70, 0x20, 0x42, 0x6F, 0x79, 0x73, 0x00, 0x30, 0x30, 0x30, 0x2E,
2207   0x30, 0x38, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
2208   0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
2209   0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
2210   0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x35, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
2199static const UINT16 brapboys_default_eeprom[64] = {
2200   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
2201   0x0000, 0x0005, 0x0006, 0x2030, 0x0003, 0x6818, 0x0101, 0x0101,
2202   0x0101, 0x0001, 0x0004, 0x0008, 0x4B41, 0x4E45, 0x4B4F, 0x2020,
2203   0x4265, 0x2052, 0x6170, 0x2042, 0x6F79, 0x7300, 0x3030, 0x302E,
2204   0x3038, 0x10FF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
2205   0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
2206   0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
2207   0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0035, 0xFFFF, 0xFFFF, 0xFFFF
22112208};
22122209
22132210static ADDRESS_MAP_START( brapboys_oki2_map, 0, 8 )
r9191r9192
22152212   AM_RANGE(0x20000, 0x3ffff) AM_ROMBANK("bank11")
22162213ADDRESS_MAP_END
22172214
2218static MACHINE_DRIVER_START( brapboys )
2219   MDRV_IMPORT_FROM(shogwarr)
2215static MACHINE_CONFIG_DERIVED( brapboys, shogwarr )
22202216   MDRV_SOUND_MODIFY("oki2")
22212217   MDRV_DEVICE_ADDRESS_MAP(0, brapboys_oki2_map)
22222218
22232219   MDRV_DEVICE_REMOVE("eeprom")
22242220   MDRV_EEPROM_93C46_ADD("eeprom")
22252221   MDRV_EEPROM_DATA(brapboys_default_eeprom, 128)
2226MACHINE_DRIVER_END
2222MACHINE_CONFIG_END
22272223
22282224/***************************************************************************
22292225
src/mame/drivers/namcos10.c
r9191r9192
375375   psx_machine_init(machine);
376376}
377377
378static MACHINE_DRIVER_START( namcos10 )
378static MACHINE_CONFIG_START( namcos10, driver_device )
379379   /* basic machine hardware */
380380   MDRV_CPU_ADD("maincpu",  PSXCPU, XTAL_101_4912MHz )
381381   MDRV_CPU_PROGRAM_MAP( namcos10_map)
r9191r9192
399399
400400   /* sound hardware */
401401   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
402MACHINE_DRIVER_END
402MACHINE_CONFIG_END
403403
404404static INPUT_PORTS_START( namcos10 )
405405   /* IN 0 */
src/mame/drivers/cybertnk.c
r9191r9192
810810   0 /* TODO */
811811};
812812
813static MACHINE_DRIVER_START( cybertnk )
813static MACHINE_CONFIG_START( cybertnk, driver_device )
814814   MDRV_CPU_ADD("maincpu", M68000,20000000/2)
815815   MDRV_CPU_PROGRAM_MAP(master_mem)
816816//  MDRV_CPU_VBLANK_INT_HACK(master_irq,2)
r9191r9192
852852   MDRV_SOUND_CONFIG(y8950_config)
853853   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
854854   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
855MACHINE_DRIVER_END
855MACHINE_CONFIG_END
856856
857857/***************************************************************************
858858
src/mame/drivers/namcops2.c
r9191r9192
4747   16384            /* data cache size */
4848};
4949
50static MACHINE_DRIVER_START( system246 )
50static MACHINE_CONFIG_START( system246, driver_device )
5151   MDRV_CPU_ADD("maincpu", R5000LE, 294000000)   // actually R5900 @ 294 MHz
5252   MDRV_CPU_PROGRAM_MAP(ps2_map)
5353   MDRV_CPU_CONFIG(r5000_config)
r9191r9192
6363
6464   MDRV_VIDEO_START(system246)
6565   MDRV_VIDEO_UPDATE(system246)
66MACHINE_DRIVER_END
66MACHINE_CONFIG_END
6767
68static MACHINE_DRIVER_START( system256 )
69   MDRV_IMPORT_FROM( system246 )
70MACHINE_DRIVER_END
68static MACHINE_CONFIG_DERIVED( system256, system246 )
69MACHINE_CONFIG_END
7170
7271#define SYSTEM246_BIOS   \
7372        ROM_LOAD( "r27v1602f.7d", 0x000000, 0x200000, CRC(2b2e41a2) SHA1(f0a74bbcaf801f3fd0b7002ebd0118564aae3528) )
r9191r9192
122121        ROM_LOAD( "kn1vera_spr.ic002", 0x800000, 0x040000, CRC(a601f981) SHA1(39485ab3c10f3d58a2c9651cca82a73617b2fe52) )
123122
124123   DISK_REGION("dvd")
125   DISK_IMAGE_READONLY( "kn1vera", 0, SHA1(2f0f9ebe74cdafe3713890221532b4d1dc18c74f) )
124   DISK_IMAGE_READONLY( "kn1-b", 0, SHA1(2f0f9ebe74cdafe3713890221532b4d1dc18c74f) )
126125ROM_END
127126
128127ROM_START( netchu02 )
r9191r9192
144143   ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
145144        ROM_LOAD( "sc23vera.ic002", 0x000000, 0x800000, CRC(5c537182) SHA1(ff4213db24b1200b494e6c3bd3eb7b75789e4032) )
146145        ROM_LOAD( "sc23vera_spr.ic002", 0x800000, 0x040000, CRC(8f548cbc) SHA1(81b844dc5873bb397cd4cd5aca101d7486d60385) )
147
148146   DISK_REGION("dvd")
149   DISK_IMAGE_READONLY( "sc210d", 0, SHA1(9a7b1ea836adc9d78481928a3067530e0f8d74a6) )
147   DISK_IMAGE_READONLY( "sc21-dvd0d", 0, SHA1(9a7b1ea836adc9d78481928a3067530e0f8d74a6) )
150148ROM_END
151149
152150ROM_START( soulcl2a )
r9191r9192
154152   SYSTEM246_BIOS
155153
156154   ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
155        ROM_LOAD( "sc22vera.ic002", 0x000000, 0x800000, CRC(2a1031b4) SHA1(81ad0b9273734758da917c62910906f06e774bd6) )
156        ROM_LOAD( "sc22vera_spr.ic002", 0x800000, 0x040000, CRC(6dd152e4) SHA1(1eb23b2c65f12b39fecf34d6b21916165441ebe4) )
157
158   DISK_REGION("dvd")
159   DISK_IMAGE_READONLY( "sc21-dvd0d", 0, SHA1(9a7b1ea836adc9d78481928a3067530e0f8d74a6) )
160ROM_END
161
162ROM_START( soulcl2b )
163   ROM_REGION(0x200000, "bios", 0)
164   SYSTEM246_BIOS
165
166   ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
157167        ROM_LOAD( "sc21vera.ic002", 0x000000, 0x800000, CRC(7e92ceeb) SHA1(0c8d9337476c04f30ed86c7a77996f81733c1953) )
158168        ROM_LOAD( "sc21vera_spr.ic002", 0x800000, 0x040000, CRC(f5502fdf) SHA1(064196982d855bd41bafe97db5ff5694b933016a) )
159169
160170   DISK_REGION("dvd")
161   DISK_IMAGE_READONLY( "sc210d", 0, SHA1(9a7b1ea836adc9d78481928a3067530e0f8d74a6) )
171   DISK_IMAGE_READONLY( "sc21-dvd0d", 0, SHA1(9a7b1ea836adc9d78481928a3067530e0f8d74a6) )
162172ROM_END
163173
164174ROM_START( soulclb3 )
r9191r9192
170180        ROM_LOAD( "sc31001-na-a_spr.ic002", 0x800000, 0x040000, CRC(18c6f56d) SHA1(13bc6a3688985c0cd9900b063824a4af691a1b31) )
171181
172182   DISK_REGION("dvd")
173   DISK_IMAGE_READONLY( "sc31na0b", 0, SHA1(b46ee35083f8fcc091ce562951c55fbdbb929e4b) )
183   DISK_IMAGE_READONLY( "sc31001-na-dvd0-b", 0, SHA1(b46ee35083f8fcc091ce562951c55fbdbb929e4b) )
174184ROM_END
175185
176186ROM_START( sukuinuf )
r9191r9192
182192        ROM_LOAD( "in2vera_spr.ic002", 0x800000, 0x040000, CRC(c43fed95) SHA1(b6001dc8ff34198400a7bf3e41e5ab73823685b0) )
183193
184194   DISK_REGION("dvd")
185   DISK_IMAGE_READONLY( "in2vera", 0, SHA1(4e2d95798a2bcc6f93bc82c364379a3936d68986) )
195   DISK_IMAGE_READONLY( "hm-in2", 0, SHA1(4e2d95798a2bcc6f93bc82c364379a3936d68986) )
186196ROM_END
187197
188198ROM_START( taiko9 )
r9191r9192
194204        ROM_LOAD( "tk91001-na-a_spr.ic002", 0x800000, 0x040000, CRC(99ece8c0) SHA1(871b1c76ccc0311da04b81c59240e65117cbc9f4) )
195205
196206   DISK_REGION("dvd")
197   DISK_IMAGE_READONLY( "tk91naa", 0, SHA1(6bd40b2c19f30a81689601c3dd46b6dac6d0a2f1) )
207   DISK_IMAGE_READONLY( "tk9100-1-na-dvd0-a", 0, SHA1(6bd40b2c19f30a81689601c3dd46b6dac6d0a2f1) )
198208ROM_END
199209
200210ROM_START( taiko10 )
r9191r9192
206216        ROM_LOAD( "t101001-na-a_spr.ic002", 0x800000, 0x040000, CRC(0a2926c4) SHA1(fb3d23545b5f9a649c4a14b6424c606139723bd5) )
207217
208218   DISK_REGION("dvd")
209   DISK_IMAGE_READONLY( "tk10naa", 0, SHA1(9aef4a6b64295a6684d56334904b4c92a20abe15) )
219   DISK_IMAGE_READONLY( "tk10100-1-na-dvd0-a", 0, SHA1(9aef4a6b64295a6684d56334904b4c92a20abe15) )
210220ROM_END
211221
212222ROM_START( tekken4 )
r9191r9192
254264        ROM_LOAD( "te51verb_spr.ic002", 0x800000, 0x040000, CRC(683bad0d) SHA1(ef10accbdc82143c31d29e2b8b812a209b341b1b) )
255265
256266   DISK_REGION("dvd")
257   DISK_IMAGE_READONLY( "te510b", 0, SHA1(2a0ac3723725572c1810b0ef4bcfa7aa114062f8) )
267   DISK_IMAGE_READONLY( "te51-dvd0", 0, SHA1(2a0ac3723725572c1810b0ef4bcfa7aa114062f8) )
258268ROM_END
259269
260270ROM_START( zgundm )
r9191r9192
266276        ROM_LOAD( "zga1vera_spr.ic002", 0x800000, 0x040000, CRC(8e4c715b) SHA1(a2218051f54d5ce4cdd21ef021b9acf7a384b766) )
267277
268278   DISK_REGION("dvd")
269   DISK_IMAGE_READONLY( "zga1vera", 0, SHA1(7930e5a65f6079851438669dfb1f0e5f9e11329a) )
279   DISK_IMAGE_READONLY( "zga1dvd0", 0, SHA1(7930e5a65f6079851438669dfb1f0e5f9e11329a) )
270280ROM_END
271281
272282ROM_START( timecrs3 )
r9191r9192
290300        ROM_LOAD( "zdx1vera_spr.ic002", 0x800000, 0x040000, CRC(16446b28) SHA1(65bdcf216917beec7a36ff640e16aa5cf413c5e4) )
291301
292302   DISK_REGION("dvd")
293   DISK_IMAGE_READONLY( "zdx1vera", 0, SHA1(fa21626f771106e2441c4515a0e5dff478187ccd) )
303   DISK_IMAGE_READONLY( "zdx1dvd0", 0, SHA1(fa21626f771106e2441c4515a0e5dff478187ccd) )
294304ROM_END
295305
296306ROM_START( gundzaft )
r9191r9192
298308   SYSTEM246_BIOS
299309
300310   ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
301        ROM_LOAD( "sed1vera.ic002", 0x000000, 0x800000, NO_DUMP )
302        ROM_LOAD( "sed1vera_spr.ic002", 0x800000, 0x040000, NO_DUMP )
311   ROM_LOAD( "sed1vera.ic002", 0x000000, 0x800000, CRC(db52309d) SHA1(3e325dfa68dadcc2f9abd9d338e47ffa511e73f8) )
312   ROM_LOAD( "sed1vera_spr.ic002", 0x800000, 0x040000, CRC(12641e0e) SHA1(64b7655f95a2e5e41b5a89998f2b858dab05ae75) )
303313
304314   DISK_REGION("dvd")
305   DISK_IMAGE_READONLY( "sed1vera", 0, SHA1(0e6db61d94f66a4ddd7d4a3013983a838d256c5d) )
315   DISK_IMAGE_READONLY( "sed1dvd0", 0, SHA1(0e6db61d94f66a4ddd7d4a3013983a838d256c5d) )
306316ROM_END
307317
308318GAME(2001, sys246,          0, system246, system246, 0, ROT0, "Namco", "System 246 BIOS", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT)
309319GAME(2002, dragchrn,   sys246, system246, system246, 0, ROT0, "Namco", "Dragon Chronicles (DC001 Ver. A)", GAME_NO_SOUND|GAME_NOT_WORKING)
310320GAME(2002, netchu02,   sys246, system246, system246, 0, ROT0, "Namco", "Netchuu Pro Yakyuu 2002 (NPY1 Ver. A)", GAME_NO_SOUND|GAME_NOT_WORKING)
311321GAME(2002, soulclb2,   sys246, system246, system246, 0, ROT0, "Namco", "Soul Calibur II (SC23 Ver. A)", GAME_NO_SOUND|GAME_NOT_WORKING)
312GAME(2002, soulcl2a, soulclb2, system246, system246, 0, ROT0, "Namco", "Soul Calibur II (SC21 Ver. A)", GAME_NO_SOUND|GAME_NOT_WORKING)
322GAME(2002, soulcl2a, soulclb2, system246, system246, 0, ROT0, "Namco", "Soul Calibur II (SC22 Ver. A)", GAME_NO_SOUND|GAME_NOT_WORKING)
323GAME(2002, soulcl2b, soulclb2, system246, system246, 0, ROT0, "Namco", "Soul Calibur II (SC21 Ver. A)", GAME_NO_SOUND|GAME_NOT_WORKING)
313324GAME(2002, tekken4,    sys246, system246, system246, 0, ROT0, "Namco", "Tekken 4 (TEF3 Ver. C)", GAME_NO_SOUND|GAME_NOT_WORKING)
314325GAME(2002, tekken4a,  tekken4, system246, system246, 0, ROT0, "Namco", "Tekken 4 (TEF2 Ver. A)", GAME_NO_SOUND|GAME_NOT_WORKING)
315326GAME(2002, tekken4b,  tekken4, system246, system246, 0, ROT0, "Namco", "Tekken 4 (TEF1 Ver. A)", GAME_NO_SOUND|GAME_NOT_WORKING)
src/mame/drivers/wc90.c
r9191r9192
306306   irqhandler
307307};
308308
309static MACHINE_DRIVER_START( wc90 )
309static MACHINE_CONFIG_START( wc90, driver_device )
310310
311311   /* basic machine hardware */
312312   MDRV_CPU_ADD("maincpu", Z80, XTAL_8MHz)      /* verified on pcb */
r9191r9192
343343   MDRV_SOUND_ROUTE(0, "mono", 0.50)
344344   MDRV_SOUND_ROUTE(1, "mono", 1.0)
345345   MDRV_SOUND_ROUTE(2, "mono", 1.0)
346MACHINE_DRIVER_END
346MACHINE_CONFIG_END
347347
348static MACHINE_DRIVER_START( wc90t )
349
350   MDRV_IMPORT_FROM( wc90 )
348static MACHINE_CONFIG_DERIVED( wc90t, wc90 )
351349   MDRV_VIDEO_START( wc90t )
352MACHINE_DRIVER_END
350MACHINE_CONFIG_END
353351
354352ROM_START( wc90 )
355353   ROM_REGION( 0x20000, "maincpu", 0 )
src/mame/drivers/gauntlet.c
r9191r9192
310310
311311   /* MBUS */
312312   AM_RANGE(0x800000, 0x801fff) AM_MIRROR(0x2fc000) AM_RAM
313   AM_RANGE(0x802000, 0x802fff) AM_MIRROR(0x2fc000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(gauntlet_state, eeprom, eeprom_size)
313   AM_RANGE(0x802000, 0x802fff) AM_MIRROR(0x2fc000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
314314   AM_RANGE(0x803000, 0x803001) AM_MIRROR(0x2fcef0) AM_READ_PORT("803000")
315315   AM_RANGE(0x803002, 0x803003) AM_MIRROR(0x2fcef0) AM_READ_PORT("803002")
316316   AM_RANGE(0x803004, 0x803005) AM_MIRROR(0x2fcef0) AM_READ_PORT("803004")
r9191r9192
513513 *
514514 *************************************/
515515
516static MACHINE_DRIVER_START( gauntlet )
517   MDRV_DRIVER_DATA(gauntlet_state)
516static MACHINE_CONFIG_START( gauntlet, gauntlet_state )
518517
519518   /* basic machine hardware */
520519   MDRV_CPU_ADD("maincpu", M68010, ATARI_CLOCK_14MHz/2)
r9191r9192
526525
527526   MDRV_MACHINE_START(gauntlet)
528527   MDRV_MACHINE_RESET(gauntlet)
529   MDRV_NVRAM_HANDLER(atarigen)
528   MDRV_NVRAM_ADD_1FILL("eeprom")
530529
531530   /* video hardware */
532531   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
556555   MDRV_SOUND_ADD("tms", TMS5220C, ATARI_CLOCK_14MHz/2/11)   /* potentially ATARI_CLOCK_14MHz/2/9 as well */
557556   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
558557   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
559MACHINE_DRIVER_END
558MACHINE_CONFIG_END
560559
561560
562561
src/mame/drivers/ms32.c
r9191r9192
13121312
13131313/********** MACHINE DRIVER **********/
13141314
1315static MACHINE_DRIVER_START( ms32 )
1315static MACHINE_CONFIG_START( ms32, driver_device )
13161316
13171317   /* basic machine hardware */
13181318   MDRV_CPU_ADD("maincpu", V70, 20000000) // 20MHz
r9191r9192
13461346   MDRV_SOUND_ADD("ymf", YMF271, 16934400)
13471347   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
13481348   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1349MACHINE_DRIVER_END
1349MACHINE_CONFIG_END
13501350
1351static MACHINE_DRIVER_START( f1superb )
1352   MDRV_IMPORT_FROM(ms32)
1351static MACHINE_CONFIG_DERIVED( f1superb, ms32 )
13531352   /* basic machine hardware */
13541353   MDRV_CPU_MODIFY("maincpu")
13551354   MDRV_CPU_PROGRAM_MAP(f1superb_map)
r9191r9192
13571356   MDRV_GFXDECODE(f1superb)
13581357
13591358   MDRV_VIDEO_START(f1superb)
1360MACHINE_DRIVER_END
1359MACHINE_CONFIG_END
13611360
13621361
13631362
src/mame/drivers/mpu4.c
r9191r9192
246246#include "emu.h"
247247#include "machine/6821pia.h"
248248#include "machine/6840ptm.h"
249#include "machine/nvram.h"
249250
250251#include "deprecat.h"
251252#include "cpu/m6809/m6809.h"
r9191r9192
17501751
17511752
17521753static ADDRESS_MAP_START( mod2_memmap, ADDRESS_SPACE_PROGRAM, 8 )
1753   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1754   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
17541755   AM_RANGE(0x0800, 0x0810) AM_READWRITE(characteriser_r,characteriser_w)
17551756
17561757   AM_RANGE(0x0850, 0x0850) AM_READWRITE(bankswitch_r,bankswitch_w)   /* write bank (rom page select) */
r9191r9192
17701771ADDRESS_MAP_END
17711772
17721773static ADDRESS_MAP_START( mod4_yam_map, ADDRESS_SPACE_PROGRAM, 8 )
1773   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1774   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
17741775
17751776   AM_RANGE(0x0800, 0x0810) AM_READWRITE(characteriser_r,characteriser_w)
17761777
r9191r9192
17931794ADDRESS_MAP_END
17941795
17951796static ADDRESS_MAP_START( mod4_oki_map, ADDRESS_SPACE_PROGRAM, 8 )
1796   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1797   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
17971798
17981799   AM_RANGE(0x0800, 0x0810) AM_READWRITE(characteriser_r,characteriser_w)
17991800
r9191r9192
18211822
18221823static ADDRESS_MAP_START( dutch_memmap, ADDRESS_SPACE_PROGRAM, 8 )
18231824
1824   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1825   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
18251826
18261827//  AM_RANGE(0x0800, 0x0810) AM_READWRITE(characteriser_r,characteriser_w)
18271828
r9191r9192
18561857
18571858
18581859/* machine driver for MOD 2 board */
1859static MACHINE_DRIVER_START( mpu4mod2 )
1860static MACHINE_CONFIG_START( mpu4mod2, driver_device )
18601861
18611862   MDRV_MACHINE_START(mpu4mod2)
18621863   MDRV_MACHINE_RESET(mpu4)
r9191r9192
18801881   MDRV_SOUND_CONFIG(ay8910_config)
18811882   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
18821883
1883   MDRV_NVRAM_HANDLER(generic_0fill)
1884   MDRV_NVRAM_ADD_0FILL("nvram")
18841885
18851886   MDRV_DEFAULT_LAYOUT(layout_mpu4)
1886MACHINE_DRIVER_END
1887MACHINE_CONFIG_END
18871888
1888static MACHINE_DRIVER_START( mod4yam )
1889   MDRV_IMPORT_FROM( mpu4mod2 )
1889static MACHINE_CONFIG_DERIVED( mod4yam, mpu4mod2 )
18901890   MDRV_MACHINE_START(mpu4mod4)
18911891
18921892   MDRV_CPU_MODIFY("maincpu")
r9191r9192
18951895   MDRV_DEVICE_REMOVE("ay8913")
18961896   MDRV_SOUND_ADD("ym2413", YM2413, MPU4_MASTER_CLOCK/4)
18971897   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
1898MACHINE_DRIVER_END
1898MACHINE_CONFIG_END
18991899
1900static MACHINE_DRIVER_START( mod4oki )
1901   MDRV_IMPORT_FROM( mpu4mod2 )
1900static MACHINE_CONFIG_DERIVED( mod4oki, mpu4mod2 )
19021901   MDRV_MACHINE_START(mpu4mod4)
19031902
19041903   MDRV_PIA6821_ADD("pia_gamebd", pia_gameboard_intf)
r9191r9192
19091908   MDRV_DEVICE_REMOVE("ay8913")
19101909   MDRV_SOUND_ADD("msm6376", OKIM6376, 4000000) //?
19111910   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1912MACHINE_DRIVER_END
1911MACHINE_CONFIG_END
19131912
1914static MACHINE_DRIVER_START( mpu4dutch )
1915   MDRV_IMPORT_FROM( mod4oki )
1913static MACHINE_CONFIG_DERIVED( mpu4dutch, mod4oki )
19161914   MDRV_CPU_MODIFY("maincpu")
19171915   MDRV_CPU_PROGRAM_MAP(dutch_memmap)            // setup read and write memorymap
19181916   MDRV_MACHINE_START(mpu4dutch)                  // main mpu4 board initialisation
1919MACHINE_DRIVER_END
1917MACHINE_CONFIG_END
19201918
19211919static DRIVER_INIT (connect4)
19221920{
src/mame/drivers/darkseal.c
r9191r9192
1919#include "sound/2203intf.h"
2020#include "sound/2151intf.h"
2121#include "sound/okim6295.h"
22#include "includes/darkseal.h"
2223
23VIDEO_START( darkseal );
24VIDEO_UPDATE( darkseal );
25
26WRITE16_HANDLER( darkseal_pf1_data_w );
27WRITE16_HANDLER( darkseal_pf2_data_w );
28WRITE16_HANDLER( darkseal_pf3_data_w );
29WRITE16_HANDLER( darkseal_pf3b_data_w );
30WRITE16_HANDLER( darkseal_control_0_w );
31WRITE16_HANDLER( darkseal_control_1_w );
32WRITE16_HANDLER( darkseal_palette_24bit_rg_w );
33WRITE16_HANDLER( darkseal_palette_24bit_b_w );
34extern UINT16 *darkseal_pf12_row, *darkseal_pf34_row;
35extern UINT16 *darkseal_pf1_data,*darkseal_pf2_data,*darkseal_pf3_data;
3624static UINT16 *darkseal_ram;
3725
3826/******************************************************************************/
r9191r9192
9482   AM_RANGE(0x000000, 0x00ffff) AM_ROM
9583   AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_r, ym2203_w)
9684   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_r, ym2151_w)
97   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
98   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
85   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
86   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
9987   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
10088   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
10189   AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
r9191r9192
239227   sound_irq
240228};
241229
242static MACHINE_DRIVER_START( darkseal )
230static MACHINE_CONFIG_START( darkseal, driver_device )
243231
244232   /* basic machine hardware */
245233   MDRV_CPU_ADD("maincpu", M68000,12000000) /* Custom chip 59 */
r9191r9192
281269
282270   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
283271   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
284MACHINE_DRIVER_END
272MACHINE_CONFIG_END
285273
286274/******************************************************************************/
287275
src/mame/drivers/deniam.c
r9191r9192
104104   ADDRESS_MAP_GLOBAL_MASK(0xff)
105105   AM_RANGE(0x01, 0x01) AM_READ(soundlatch_r)
106106   AM_RANGE(0x02, 0x03) AM_DEVWRITE("ymsnd", ym3812_w)
107   AM_RANGE(0x05, 0x05) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
107   AM_RANGE(0x05, 0x05) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
108108   AM_RANGE(0x07, 0x07) AM_DEVWRITE("oki", deniam16b_oki_rom_bank_w)
109109ADDRESS_MAP_END
110110
r9191r9192
115115   AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(deniam_textram_w) AM_BASE_MEMBER(deniam_state, textram)
116116   AM_RANGE(0x440000, 0x4407ff) AM_WRITEONLY AM_BASE_SIZE_MEMBER(deniam_state, spriteram, spriteram_size)
117117   AM_RANGE(0x840000, 0x840fff) AM_WRITE(deniam_palette_w) AM_BASE_MEMBER(deniam_state, paletteram)
118   AM_RANGE(0xc40000, 0xc40001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
118   AM_RANGE(0xc40000, 0xc40001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
119119   AM_RANGE(0xc40002, 0xc40003) AM_READWRITE(deniam_coinctrl_r, deniam_coinctrl_w)
120120   AM_RANGE(0xc40004, 0xc40005) AM_WRITE(deniam_irq_ack_w)
121121   AM_RANGE(0xc44000, 0xc44001) AM_READ_PORT("SYSTEM")
r9191r9192
267267   machine->device<okim6295_device>("oki")->set_bank_base(0x00000);
268268}
269269
270static MACHINE_DRIVER_START( deniam16b )
270static MACHINE_CONFIG_START( deniam16b, deniam_state )
271271
272   /* driver data */
273   MDRV_DRIVER_DATA(deniam_state)
274
275272   /* basic machine hardware */
276273   MDRV_CPU_ADD("maincpu", M68000,XTAL_25MHz/2)   /* 12.5Mhz verified */
277274   MDRV_CPU_PROGRAM_MAP(deniam16b_map)
r9191r9192
308305
309306   MDRV_OKIM6295_ADD("oki", XTAL_25MHz/24, OKIM6295_PIN7_HIGH) /* 1.041620 measured, = 1.0416666Mhz verified */
310307   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
311MACHINE_DRIVER_END
308MACHINE_CONFIG_END
312309
313static MACHINE_DRIVER_START( deniam16c )
310static MACHINE_CONFIG_START( deniam16c, deniam_state )
314311
315   /* driver data */
316   MDRV_DRIVER_DATA(deniam_state)
317
318312   /* basic machine hardware */
319313   MDRV_CPU_ADD("maincpu", M68000,XTAL_25MHz/2)   /* 12.5Mhz verified */
320314   MDRV_CPU_PROGRAM_MAP(deniam16c_map)
r9191r9192
347341
348342   MDRV_OKIM6295_ADD("oki", XTAL_25MHz/24, OKIM6295_PIN7_HIGH)  /* 1.041620 measured, = 1.0416666Mhz verified */
349343   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
350MACHINE_DRIVER_END
344MACHINE_CONFIG_END
351345
352346
353347
src/mame/drivers/redalert.c
r9191r9192
385385 *
386386 *************************************/
387387
388static MACHINE_DRIVER_START( redalert )
388static MACHINE_CONFIG_START( redalert, driver_device )
389389
390390   /* basic machine hardware */
391391   MDRV_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK)
r9191r9192
393393   MDRV_CPU_VBLANK_INT("screen", redalert_vblank_interrupt)
394394
395395   /* video hardware */
396   MDRV_IMPORT_FROM(redalert_video)
396   MDRV_FRAGMENT_ADD(redalert_video)
397397
398398   /* audio hardware */
399   MDRV_IMPORT_FROM(redalert_audio)
400MACHINE_DRIVER_END
399   MDRV_FRAGMENT_ADD(redalert_audio)
400MACHINE_CONFIG_END
401401
402static MACHINE_DRIVER_START( ww3 )
402static MACHINE_CONFIG_START( ww3, driver_device )
403403
404404   /* basic machine hardware */
405405   MDRV_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK)
r9191r9192
407407   MDRV_CPU_VBLANK_INT("screen", redalert_vblank_interrupt)
408408
409409   /* video hardware */
410   MDRV_IMPORT_FROM(ww3_video)
410   MDRV_FRAGMENT_ADD(ww3_video)
411411
412412   /* audio hardware */
413   MDRV_IMPORT_FROM(ww3_audio)
414MACHINE_DRIVER_END
413   MDRV_FRAGMENT_ADD(ww3_audio)
414MACHINE_CONFIG_END
415415
416static MACHINE_DRIVER_START( panther )
416static MACHINE_CONFIG_START( panther, driver_device )
417417
418418   /* basic machine hardware */
419419   MDRV_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK)
r9191r9192
421421   MDRV_CPU_VBLANK_INT("screen", redalert_vblank_interrupt)
422422
423423   /* video hardware */
424   MDRV_IMPORT_FROM(panther_video)
424   MDRV_FRAGMENT_ADD(panther_video)
425425
426426   /* audio hardware */
427   MDRV_IMPORT_FROM(ww3_audio)
428MACHINE_DRIVER_END
427   MDRV_FRAGMENT_ADD(ww3_audio)
428MACHINE_CONFIG_END
429429
430static MACHINE_DRIVER_START( demoneye )
430static MACHINE_CONFIG_START( demoneye, driver_device )
431431
432432   /* basic machine hardware */
433433   MDRV_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK)
r9191r9192
435435   MDRV_CPU_VBLANK_INT("screen", redalert_vblank_interrupt)
436436
437437   /* video hardware */
438   MDRV_IMPORT_FROM(demoneye_video)
438   MDRV_FRAGMENT_ADD(demoneye_video)
439439
440440   /* audio hardware */
441   MDRV_IMPORT_FROM(demoneye_audio)
442MACHINE_DRIVER_END
441   MDRV_FRAGMENT_ADD(demoneye_audio)
442MACHINE_CONFIG_END
443443
444444
445445
src/mame/drivers/big10.c
r9191r9192
6060#include "cpu/z80/z80.h"
6161#include "sound/ay8910.h"
6262#include "video/v9938.h"
63#include "machine/nvram.h"
6364#include "deprecat.h"
6465
6566#define VDP_MEM             0x40000
r9191r9192
128129
129130static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
130131   AM_RANGE(0x0000, 0xbfff) AM_ROM
131   AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
132   AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("nvram")
132133   AM_RANGE(0xf000, 0xffff) AM_RAM
133134ADDRESS_MAP_END
134135
r9191r9192
237238*           Machine Driver            *
238239**************************************/
239240
240static MACHINE_DRIVER_START( big10 )
241static MACHINE_CONFIG_START( big10, driver_device )
241242
242243   /* basic machine hardware */
243244   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)   /* guess */
r9191r9192
247248
248249   MDRV_MACHINE_RESET(big10)
249250
250   MDRV_NVRAM_HANDLER(generic_0fill)
251   MDRV_NVRAM_ADD_0FILL("nvram")
251252
252253   /* video hardware */
253254   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
268269   MDRV_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK/12)   /* guess */
269270   MDRV_SOUND_CONFIG(ay8910_config)
270271   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
271MACHINE_DRIVER_END
272MACHINE_CONFIG_END
272273
273274
274275/**************************************
src/mame/drivers/mcr3.c
r9191r9192
106106#include "deprecat.h"
107107#include "machine/z80ctc.h"
108108#include "audio/mcr.h"
109#include "machine/nvram.h"
109110#include "includes/mcr.h"
110111
111112#include "turbotag.lh"
r9191r9192
477478static ADDRESS_MAP_START( mcrmono_map, ADDRESS_SPACE_PROGRAM, 8 )
478479   ADDRESS_MAP_UNMAP_HIGH
479480   AM_RANGE(0x0000, 0xdfff) AM_ROM
480   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
481   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
481482   AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
482483   AM_RANGE(0xea00, 0xebff) AM_RAM
483484   AM_RANGE(0xec00, 0xec7f) AM_MIRROR(0x0380) AM_WRITE(mcr3_paletteram_w) AM_BASE_GENERIC(paletteram)
484   AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr3_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
485   AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr3_videoram_w) AM_BASE_MEMBER(mcr_state, videoram)
485486   AM_RANGE(0xf800, 0xffff) AM_ROM      /* schematics show a 2716 @ 2B here, but nobody used it */
486487ADDRESS_MAP_END
487488
r9191r9192
511512static ADDRESS_MAP_START( spyhunt_map, ADDRESS_SPACE_PROGRAM, 8 )
512513   ADDRESS_MAP_UNMAP_HIGH
513514   AM_RANGE(0x0000, 0xdfff) AM_ROM
514   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(spyhunt_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
515   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(spyhunt_videoram_w) AM_BASE_MEMBER(mcr_state, videoram)
515516   AM_RANGE(0xe800, 0xebff) AM_MIRROR(0x0400) AM_RAM_WRITE(spyhunt_alpharam_w) AM_BASE(&spyhunt_alpharam)
516   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
517   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram")
517518   AM_RANGE(0xf800, 0xf9ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
518519   AM_RANGE(0xfa00, 0xfa7f) AM_MIRROR(0x0180) AM_WRITE(mcr3_paletteram_w) AM_BASE_GENERIC(paletteram)
519520ADDRESS_MAP_END
r9191r9192
10731074 *************************************/
10741075
10751076/* Core MCR3 system with no sound */
1076static MACHINE_DRIVER_START( mcr3_base )
1077static MACHINE_CONFIG_START( mcr3_base, mcr_state )
10771078
10781079   /* basic machine hardware */
10791080   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4)
r9191r9192
10851086   MDRV_WATCHDOG_VBLANK_INIT(16)
10861087   MDRV_MACHINE_START(mcr)
10871088   MDRV_MACHINE_RESET(mcr)
1088   MDRV_NVRAM_HANDLER(generic_0fill)
1089   MDRV_NVRAM_ADD_0FILL("nvram")
10891090
10901091   /* video hardware */
10911092   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
11021103
11031104   MDRV_VIDEO_START(mcr)
11041105   MDRV_VIDEO_UPDATE(mcr)
1105MACHINE_DRIVER_END
1106MACHINE_CONFIG_END
11061107
11071108
11081109/*************************************/
11091110
11101111
11111112/* Core MCR monoboard system with no sound */
1112static MACHINE_DRIVER_START( mcrmono )
1113static MACHINE_CONFIG_DERIVED( mcrmono, mcr3_base )
11131114
11141115   /* basic machine hardware */
1115   MDRV_IMPORT_FROM(mcr3_base)
11161116
11171117   MDRV_CPU_MODIFY("maincpu")
11181118   MDRV_CPU_PROGRAM_MAP(mcrmono_map)
r9191r9192
11211121   /* video hardware */
11221122   MDRV_VIDEO_START(mcrmono)
11231123   MDRV_VIDEO_UPDATE(mcr3)
1124MACHINE_DRIVER_END
1124MACHINE_CONFIG_END
11251125
11261126
11271127/* Sarge/Demolition Derby Mono/Max RPM = MCR monoboard with Turbo Chip Squeak */
1128static MACHINE_DRIVER_START( mono_tcs )
1128static MACHINE_CONFIG_DERIVED( mono_tcs, mcrmono )
11291129
11301130   /* basic machine hardware */
1131   MDRV_IMPORT_FROM(mcrmono)
1132   MDRV_IMPORT_FROM(turbo_chip_squeak)
1133MACHINE_DRIVER_END
1131   MDRV_FRAGMENT_ADD(turbo_chip_squeak)
1132MACHINE_CONFIG_END
11341133
11351134
11361135/* Rampage/Power Drive/Star Guards = MCR monoboard with Sounds Good */
1137static MACHINE_DRIVER_START( mono_sg )
1136static MACHINE_CONFIG_DERIVED( mono_sg, mcrmono )
11381137
11391138   /* basic machine hardware */
1140   MDRV_IMPORT_FROM(mcrmono)
1141   MDRV_IMPORT_FROM(sounds_good)
1142MACHINE_DRIVER_END
1139   MDRV_FRAGMENT_ADD(sounds_good)
1140MACHINE_CONFIG_END
11431141
11441142
11451143/*************************************/
11461144
11471145
11481146/* Core scrolling system with SSIO sound */
1149static MACHINE_DRIVER_START( mcrscroll )
1147static MACHINE_CONFIG_DERIVED( mcrscroll, mcr3_base )
11501148
11511149   /* basic machine hardware */
1152   MDRV_IMPORT_FROM(mcr3_base)
1153   MDRV_IMPORT_FROM(mcr_ssio)
1150   MDRV_FRAGMENT_ADD(mcr_ssio)
11541151
11551152   MDRV_CPU_MODIFY("maincpu")
11561153   MDRV_CPU_PROGRAM_MAP(spyhunt_map)
r9191r9192
11661163   MDRV_PALETTE_INIT(spyhunt)
11671164   MDRV_VIDEO_START(spyhunt)
11681165   MDRV_VIDEO_UPDATE(spyhunt)
1169MACHINE_DRIVER_END
1166MACHINE_CONFIG_END
11701167
11711168
11721169/* Spy Hunter = scrolling system with an SSIO and a chip squeak deluxe */
1173static MACHINE_DRIVER_START( mcrsc_csd )
1170static MACHINE_CONFIG_DERIVED( mcrsc_csd, mcrscroll )
11741171
11751172   /* basic machine hardware */
1176   MDRV_IMPORT_FROM(mcrscroll)
1177   MDRV_IMPORT_FROM(chip_squeak_deluxe_stereo)
1178MACHINE_DRIVER_END
1173   MDRV_FRAGMENT_ADD(chip_squeak_deluxe_stereo)
1174MACHINE_CONFIG_END
11791175
11801176
11811177
src/mame/drivers/pipeline.c
r9191r9192
4545      HSync             - 15.40kHz
4646
4747
48Stephh's notes (based on the games Z80 code and some tests) :
49
50  - The "Continue" Dip Switch acts as follows :
51      * when set to "Normal", you can continue a game from where you just lost (table at 0x2edd)
52      * when set to "Checkpoints", your continue round is determined from where you just lost (table at 0x2f01) :
53          . if you lose from round 01 to 05, you'll continue from round 01
54          . if you lose from round 06 to 10, you'll continue from round 06
55          . if you lose from round 11 to 15, you'll continue from round 11
56          . if you lose from round 16 to 20, you'll continue from round 16
57          . if you lose from round 21 to 25, you'll continue from round 21
58          . if you lose from round 26 to 30, you'll continue from round 26
59          . if you lose from round 31 to 35, you'll continue from round 31
60          . if you lose from round 36, the game will become bogus because table is only 35 bytes wide
61            and [0x2f01 + 0x23] = 0x6c which is not a valid round
62    Round is stored at 0x800c (range 0x00-0x23).
63
4864*/
4965
5066#include "emu.h"
r9191r9192
96112   tilemap_set_transparent_pen(tilemap2,0);
97113}
98114
99static VIDEO_UPDATE ( pipeline)
115static VIDEO_UPDATE ( pipeline )
100116{
101117   tilemap_draw(bitmap,cliprect,tilemap1, 0,0);
102118   tilemap_draw(bitmap,cliprect,tilemap2, 0,0);
r9191r9192
104120}
105121
106122
107static INPUT_PORTS_START( pipeline )
108   PORT_START("P1")
109   PORT_BIT(  0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
110   PORT_BIT(  0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
111   PORT_BIT(  0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
112   PORT_BIT(  0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
113   PORT_BIT(  0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
114   PORT_BIT(  0x20, IP_ACTIVE_LOW, IPT_UNUSED )
115   PORT_BIT(  0x40, IP_ACTIVE_LOW, IPT_COIN1   )
116   PORT_BIT(  0x80, IP_ACTIVE_LOW, IPT_START1  )
117
118   PORT_START("DSW1")
119   PORT_DIPNAME( 0x01, 0x00, "DIPSW 1-1" )
120   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
121   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
122   PORT_DIPNAME( 0x02, 0x00, "DIPSW 1-2" )
123   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
124   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
125   PORT_DIPNAME( 0x04, 0x00, "DIPSW 1-3" )
126   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
127   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
128   PORT_DIPNAME( 0x08, 0x00, "DIPSW 1-4" )
129   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
130   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
131   PORT_DIPNAME( 0x10, 0x00, "DIPSW 1-5" )
132   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
133   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
134   PORT_DIPNAME( 0x20, 0x00, "DIPSW 1-6" )
135   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
136   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
137   PORT_DIPNAME( 0x40, 0x00, "DIPSW 1-7" )
138   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
139   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
140   PORT_DIPNAME( 0x80, 0x00, "DIPSW 1-8" )
141   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
142   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
143
144   PORT_START("DSW2")
145   PORT_DIPNAME( 0x01, 0x00, "DIPSW 2-1" )
146   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
147   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
148   PORT_DIPNAME( 0x02, 0x00, "DIPSW 2-2" )
149   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
150   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
151   PORT_DIPNAME( 0x04, 0x00, "DIPSW 2-3" )
152   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
153   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
154   PORT_DIPNAME( 0x08, 0x00, "DIPSW 2-4" )
155   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
156   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
157   PORT_DIPNAME( 0x10, 0x00, "DIPSW 2-5" )
158   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
159   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
160   PORT_DIPNAME( 0x20, 0x00, "DIPSW 2-6" )
161   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
162   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
163   PORT_DIPNAME( 0x40, 0x00, "DIPSW 2-7" )
164   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
165   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
166   PORT_DIPNAME( 0x80, 0x00, "DIPSW 2-8" )
167   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
168   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
169
170INPUT_PORTS_END
171
172123static WRITE8_DEVICE_HANDLER(vidctrl_w)
173124{
174125   vidctrl=data;
r9191r9192
259210   AM_RANGE(0x0080, 0x0fff) AM_ROM
260211ADDRESS_MAP_END
261212
213
214/* verified from Z80 code */
215static INPUT_PORTS_START( pipeline )
216   PORT_START("P1")
217   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_PLAYER(1)
218   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_PLAYER(1)
219   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_PLAYER(1)
220   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
221   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
222   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
223   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
224   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )
225
226   PORT_START("DSW1")
227   /* bits 0 to 6 are tested from less to most significant - code at 0x00dd */
228   PORT_DIPNAME( 0x7f, 0x00, DEF_STR( Coinage ) )
229   PORT_DIPSETTING(   0x07, "10 Coins/1 Credit" )
230   PORT_DIPSETTING(   0x03, DEF_STR( 5C_1C ) )
231   PORT_DIPSETTING(   0x01, DEF_STR( 2C_1C ) )
232   PORT_DIPSETTING(   0x00, DEF_STR( 1C_1C ) )
233//  PORT_DIPSETTING(    0x7f, DEF_STR( 1C_1C ) )            /* duplicated setting */
234   PORT_DIPSETTING(   0x0f, DEF_STR( 1C_2C ) )
235   PORT_DIPSETTING(   0x1f, DEF_STR( 1C_3C ) )
236   PORT_DIPSETTING(   0x3f, DEF_STR( 1C_4C ) )
237   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Lives ) )
238   PORT_DIPSETTING(   0x80, "1" )
239   PORT_DIPSETTING(   0x00, "2" )
240
241   PORT_START("DSW2")
242   /* bits 0 to 2 are tested from less to most significant - code at 0x0181 */
243   PORT_DIPNAME( 0x07, 0x00, DEF_STR( Difficulty ) )
244   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )             /* table at 0x35eb */
245   PORT_DIPSETTING(    0x01, DEF_STR( Medium ) )           /* table at 0x35c5 */
246//  PORT_DIPSETTING(    0x07, DEF_STR( Medium ) )           /* duplicated setting */
247   PORT_DIPSETTING(    0x03, DEF_STR( Hard ) )             /* table at 0x35a0 */
248   PORT_DIPNAME( 0x18, 0x18, "Water Speed" )               /* check code at 0x2619 - table at 0x5685 */
249   PORT_DIPSETTING(    0x18, "Slowest" )                   /* 0x12 */
250   PORT_DIPSETTING(    0x10, "Slow" )                      /* 0x0f */
251   PORT_DIPSETTING(    0x08, "Fast" )                      /* 0x0d */
252   PORT_DIPSETTING(    0x00, "Fastest" )                   /* 0x08 */
253   PORT_DIPNAME( 0x20, 0x20, "Continue" )                  /* check code at 0x0ffd - see notes */
254   PORT_DIPSETTING(   0x20, DEF_STR( Normal ) )
255   PORT_DIPSETTING(   0x00, "Checkpoints" )
256   PORT_DIPNAME( 0xc0, 0x00, "Sounds/Music" )              /* check code at 0x1c0a - determine if it really affects music once it is supported */
257   PORT_DIPSETTING(   0xc0, DEF_STR( Off ) )
258   PORT_DIPSETTING(   0x40, "Attract Mode" )
259   PORT_DIPSETTING(   0x80, "Normal Game" )
260   PORT_DIPSETTING(   0x00, DEF_STR( On ) )
261INPUT_PORTS_END
262
263
262264static const gfx_layout layout_8x8x8 =
263265{
264266   8,8,
r9191r9192
308310      DEVCB_NULL,                  /* Port B read */
309311      DEVCB_NULL,                  /* Port C read */
310312      DEVCB_NULL,                  /* Port A write */
311      DEVCB_NULL,                  /* Port B write */
313      DEVCB_NULL,                  /* Port B write */  /* related to sound/music : check code at 0x1c0a */
312314      DEVCB_HANDLER(vidctrl_w)      /* Port C write */
313315   },
314316   {
r9191r9192
358360   }
359361}
360362
361static MACHINE_DRIVER_START( pipeline )
363static MACHINE_CONFIG_START( pipeline, driver_device )
362364   /* basic machine hardware */
363365
364366   MDRV_CPU_ADD("maincpu", Z80, 7372800/2)
r9191r9192
401403   MDRV_SOUND_CONFIG(ym2203_config)
402404   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
403405
404MACHINE_DRIVER_END
406MACHINE_CONFIG_END
405407
406408ROM_START( pipeline )
407409   ROM_REGION( 0x10000, "maincpu", 0 )
r9191r9192
435437ROM_END
436438
437439GAME( 1990, pipeline, 0, pipeline, pipeline, 0, ROT0, "Daehyun Electronics", "Pipeline",GAME_NO_SOUND )
438
src/mame/drivers/stadhero.c
r9191r9192
1212#include "sound/2203intf.h"
1313#include "sound/3812intf.h"
1414#include "sound/okim6295.h"
15#include "includes/stadhero.h"
1516
16/* Video emulation definitions */
17VIDEO_START( stadhero );
18VIDEO_UPDATE( stadhero );
19
20extern UINT16 *stadhero_pf1_data;
21extern UINT16 *stadhero_pf2_control_0;
22extern UINT16 *stadhero_pf2_control_1;
23
24WRITE16_HANDLER( stadhero_pf1_data_w );
25READ16_HANDLER( stadhero_pf2_data_r );
26WRITE16_HANDLER( stadhero_pf2_data_w );
27
2817/******************************************************************************/
2918
3019static READ16_HANDLER( stadhero_control_r )
r9191r9192
8372   AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_w)
8473   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_w)
8574   AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
86   AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
75   AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
8776   AM_RANGE(0x8000, 0xffff) AM_ROM
8877ADDRESS_MAP_END
8978
r9191r9192
219208
220209/******************************************************************************/
221210
222static MACHINE_DRIVER_START( stadhero )
211static MACHINE_CONFIG_START( stadhero, driver_device )
223212
224213   /* basic machine hardware */
225214   MDRV_CPU_ADD("maincpu", M68000, 10000000)
r9191r9192
258247
259248   MDRV_OKIM6295_ADD("oki", 1023924, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
260249   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
261MACHINE_DRIVER_END
250MACHINE_CONFIG_END
262251
263252/******************************************************************************/
264253
src/mame/drivers/wwfsstar.c
r9191r9192
181181   AM_RANGE(0x0000, 0x7fff) AM_ROM
182182   AM_RANGE(0x8000, 0x87ff) AM_RAM
183183   AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
184   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
184   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
185185   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
186186ADDRESS_MAP_END
187187
r9191r9192
427427 Machine Driver(s)
428428*******************************************************************************/
429429
430static MACHINE_DRIVER_START( wwfsstar )
430static MACHINE_CONFIG_START( wwfsstar, wwfsstar_state )
431431
432   MDRV_DRIVER_DATA( wwfsstar_state )
433
434432   /* basic machine hardware */
435433   MDRV_CPU_ADD("maincpu", M68000, CPU_CLOCK)
436434   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
461459   MDRV_OKIM6295_ADD("oki", XTAL_1_056MHz, OKIM6295_PIN7_HIGH)
462460   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47)
463461   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47)
464MACHINE_DRIVER_END
462MACHINE_CONFIG_END
465463
466464/*******************************************************************************
467465 Rom Loaders / Game Drivers
src/mame/drivers/taito_b.c
r9191r9192
718718   AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
719719   AM_RANGE(0x8000, 0x8fff) AM_RAM
720720   AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
721   AM_RANGE(0xb000, 0xb001) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)      /* yes, both addresses for the same chip */
721   AM_RANGE(0xb000, 0xb001) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)      /* yes, both addresses for the same chip */
722722   AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("tc0140syt", tc0140syt_slave_port_w)
723723   AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
724724ADDRESS_MAP_END
r9191r9192
22142214   state->coin_word = 0;
22152215}
22162216
2217static MACHINE_DRIVER_START( rastsag2 )
2217static MACHINE_CONFIG_START( rastsag2, taitob_state )
22182218
2219   /* driver data */
2220   MDRV_DRIVER_DATA(taitob_state)
2221
22222219   /* basic machine hardware */
22232220   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
22242221   MDRV_CPU_PROGRAM_MAP(rastsag2_map)
r9191r9192
22612258   MDRV_SOUND_ROUTE(2, "mono", 1.0)
22622259
22632260   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2264MACHINE_DRIVER_END
2261MACHINE_CONFIG_END
22652262
22662263
2267static MACHINE_DRIVER_START( ashura )
2264static MACHINE_CONFIG_START( ashura, taitob_state )
22682265
2269   /* driver data */
2270   MDRV_DRIVER_DATA(taitob_state)
2271
22722266   /* basic machine hardware */
22732267   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
22742268   MDRV_CPU_PROGRAM_MAP(rastsag2_map)
r9191r9192
23112305   MDRV_SOUND_ROUTE(2, "mono", 1.0)
23122306
23132307   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2314MACHINE_DRIVER_END
2308MACHINE_CONFIG_END
23152309
23162310
2317static MACHINE_DRIVER_START( crimec )
2311static MACHINE_CONFIG_START( crimec, taitob_state )
23182312
2319   /* driver data */
2320   MDRV_DRIVER_DATA(taitob_state)
2321
23222313   /* basic machine hardware */
23232314   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
23242315   MDRV_CPU_PROGRAM_MAP(crimec_map)
r9191r9192
23612352   MDRV_SOUND_ROUTE(2, "mono", 1.0)
23622353
23632354   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2364MACHINE_DRIVER_END
2355MACHINE_CONFIG_END
23652356
23662357
2367static MACHINE_DRIVER_START( tetrist )
2358static MACHINE_CONFIG_START( tetrist, taitob_state )
23682359
2369   /* driver data */
2370   MDRV_DRIVER_DATA(taitob_state)
2371
23722360   /* basic machine hardware */
23732361   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz ???*/
23742362   MDRV_CPU_PROGRAM_MAP(tetrist_map)
r9191r9192
24112399   MDRV_SOUND_ROUTE(2, "mono", 1.0)
24122400
24132401   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2414MACHINE_DRIVER_END
2402MACHINE_CONFIG_END
24152403
2416static MACHINE_DRIVER_START( tetrista )
2404static MACHINE_CONFIG_START( tetrista, taitob_state )
24172405
2418   /* driver data */
2419   MDRV_DRIVER_DATA(taitob_state)
2420
24212406   /* basic machine hardware */
24222407   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
24232408   MDRV_CPU_PROGRAM_MAP(tetrista_map)
r9191r9192
24612446   MDRV_SOUND_ROUTE(3, "mono", 0.80)
24622447
24632448   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2464MACHINE_DRIVER_END
2449MACHINE_CONFIG_END
24652450
2466static MACHINE_DRIVER_START( hitice )
2451static MACHINE_CONFIG_START( hitice, taitob_state )
24672452
2468   /* driver data */
2469   MDRV_DRIVER_DATA(taitob_state)
2470
24712453   /* basic machine hardware */
24722454   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
24732455   MDRV_CPU_PROGRAM_MAP(hitice_map)
r9191r9192
25152497   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
25162498
25172499   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2518MACHINE_DRIVER_END
2500MACHINE_CONFIG_END
25192501
25202502
2521static MACHINE_DRIVER_START( rambo3 )
2503static MACHINE_CONFIG_START( rambo3, taitob_state )
25222504
2523   /* driver data */
2524   MDRV_DRIVER_DATA(taitob_state)
2525
25262505   /* basic machine hardware */
25272506   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz/2)   /* verified on pcb */
25282507   MDRV_CPU_PROGRAM_MAP(rambo3_map)
r9191r9192
25652544   MDRV_SOUND_ROUTE(2, "mono", 1.0)
25662545
25672546   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2568MACHINE_DRIVER_END
2547MACHINE_CONFIG_END
25692548
25702549
2571static MACHINE_DRIVER_START( rambo3a )
2550static MACHINE_CONFIG_START( rambo3a, taitob_state )
25722551
2573   /* driver data */
2574   MDRV_DRIVER_DATA(taitob_state)
2575
25762552   /* basic machine hardware */
25772553   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz/2)   /* verified on pcb */
25782554   MDRV_CPU_PROGRAM_MAP(rambo3_map)
r9191r9192
26152591   MDRV_SOUND_ROUTE(2, "mono", 1.0)
26162592
26172593   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2618MACHINE_DRIVER_END
2594MACHINE_CONFIG_END
26192595
2620static MACHINE_DRIVER_START( pbobble )
2596static MACHINE_CONFIG_START( pbobble, taitob_state )
26212597
2622   /* driver data */
2623   MDRV_DRIVER_DATA(taitob_state)
2624
26252598   /* basic machine hardware */
26262599   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
26272600   MDRV_CPU_PROGRAM_MAP(pbobble_map)
r9191r9192
26682641   MDRV_SOUND_ROUTE(2, "mono", 1.0)
26692642
26702643   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2671MACHINE_DRIVER_END
2644MACHINE_CONFIG_END
26722645
26732646
2674static MACHINE_DRIVER_START( spacedx )
2647static MACHINE_CONFIG_START( spacedx, taitob_state )
26752648
2676   /* driver data */
2677   MDRV_DRIVER_DATA(taitob_state)
2678
26792649   /* basic machine hardware */
26802650   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
26812651   MDRV_CPU_PROGRAM_MAP(spacedx_map)
r9191r9192
27222692   MDRV_SOUND_ROUTE(2, "mono", 1.0)
27232693
27242694   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2725MACHINE_DRIVER_END
2695MACHINE_CONFIG_END
27262696
27272697
2728static MACHINE_DRIVER_START( spacedxo )
2698static MACHINE_CONFIG_START( spacedxo, taitob_state )
27292699
2730   /* driver data */
2731   MDRV_DRIVER_DATA(taitob_state)
2732
27332700   /* basic machine hardware */
27342701   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
27352702   MDRV_CPU_PROGRAM_MAP(spacedxo_map)
r9191r9192
27722739   MDRV_SOUND_ROUTE(2, "mono", 1.0)
27732740
27742741   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2775MACHINE_DRIVER_END
2742MACHINE_CONFIG_END
27762743
27772744
2778static MACHINE_DRIVER_START( qzshowby )
2745static MACHINE_CONFIG_START( qzshowby, taitob_state )
27792746
2780   /* driver data */
2781   MDRV_DRIVER_DATA(taitob_state)
2782
27832747   /* basic machine hardware */
27842748   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz according to the readme*/
27852749   MDRV_CPU_PROGRAM_MAP(qzshowby_map)
r9191r9192
28262790   MDRV_SOUND_ROUTE(2, "mono", 1.0)
28272791
28282792   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2829MACHINE_DRIVER_END
2793MACHINE_CONFIG_END
28302794
28312795
2832static MACHINE_DRIVER_START( viofight )
2796static MACHINE_CONFIG_START( viofight, taitob_state )
28332797
2834   /* driver data */
2835   MDRV_DRIVER_DATA(taitob_state)
2836
28372798   /* basic machine hardware */
28382799   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
28392800   MDRV_CPU_PROGRAM_MAP(viofight_map)
r9191r9192
28802841   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
28812842
28822843   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2883MACHINE_DRIVER_END
2844MACHINE_CONFIG_END
28842845
2885static MACHINE_DRIVER_START( masterw )
2846static MACHINE_CONFIG_START( masterw, taitob_state )
28862847
2887   /* driver data */
2888   MDRV_DRIVER_DATA(taitob_state)
2889
28902848   /* basic machine hardware */
28912849   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
28922850   MDRV_CPU_PROGRAM_MAP(masterw_map)
r9191r9192
29302888   MDRV_SOUND_ROUTE(3, "mono", 0.80)
29312889
29322890   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2933MACHINE_DRIVER_END
2891MACHINE_CONFIG_END
29342892
29352893
2936static MACHINE_DRIVER_START( silentd )
2894static MACHINE_CONFIG_START( silentd, taitob_state )
29372895
2938   /* driver data */
2939   MDRV_DRIVER_DATA(taitob_state)
2940
29412896   /* basic machine hardware */
29422897   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz ??? */
29432898   MDRV_CPU_PROGRAM_MAP(silentd_map)
r9191r9192
29802935   MDRV_SOUND_ROUTE(2, "mono", 1.0)
29812936
29822937   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
2983MACHINE_DRIVER_END
2938MACHINE_CONFIG_END
29842939
29852940
2986static MACHINE_DRIVER_START( selfeena )
2941static MACHINE_CONFIG_START( selfeena, taitob_state )
29872942
2988   /* driver data */
2989   MDRV_DRIVER_DATA(taitob_state)
2990
29912943   /* basic machine hardware */
29922944   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
29932945   MDRV_CPU_PROGRAM_MAP(selfeena_map)
r9191r9192
30302982   MDRV_SOUND_ROUTE(2, "mono", 1.0)
30312983
30322984   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
3033MACHINE_DRIVER_END
2985MACHINE_CONFIG_END
30342986
30352987#if 0
30362988static void ryujin_patch(void)
r9191r9192
30422994}
30432995#endif
30442996
3045static MACHINE_DRIVER_START( ryujin )
2997static MACHINE_CONFIG_START( ryujin, taitob_state )
30462998
3047   /* driver data */
3048   MDRV_DRIVER_DATA(taitob_state)
3049
30502999   /* basic machine hardware */
30513000   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
30523001   MDRV_CPU_PROGRAM_MAP(selfeena_map)
r9191r9192
30893038   MDRV_SOUND_ROUTE(2, "mono", 1.0)
30903039
30913040   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
3092MACHINE_DRIVER_END
3041MACHINE_CONFIG_END
30933042
30943043#if 0
30953044static void sbm_patch(void)
r9191r9192
30993048}
31003049#endif
31013050
3102static MACHINE_DRIVER_START( sbm )
3051static MACHINE_CONFIG_START( sbm, taitob_state )
31033052
3104   /* driver data */
3105   MDRV_DRIVER_DATA(taitob_state)
3106
31073053   /* basic machine hardware */
31083054   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
31093055   MDRV_CPU_PROGRAM_MAP(sbm_map)
r9191r9192
31463092   MDRV_SOUND_ROUTE(2, "mono", 1.0)
31473093
31483094   MDRV_TC0140SYT_ADD("tc0140syt", taitob_tc0140syt_intf)
3149MACHINE_DRIVER_END
3095MACHINE_CONFIG_END
31503096
31513097/***************************************************************************
31523098
src/mame/drivers/kungfur.c
r9191r9192
333333   cputag_set_input_line(device->machine, "maincpu", M6809_IRQ_LINE, HOLD_LINE);
334334}
335335
336static MACHINE_DRIVER_START( kungfur )
336static MACHINE_CONFIG_START( kungfur, driver_device )
337337
338338   /* basic machine hardware */
339339   MDRV_CPU_ADD("maincpu",M6809,8000000/2)
r9191r9192
366366   MDRV_SOUND_ADD("adpcm2", MSM5205, 400000)
367367   MDRV_SOUND_CONFIG(msm5205_config_2)
368368   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
369MACHINE_DRIVER_END
369MACHINE_CONFIG_END
370370
371371/***************************************************************************
372372
src/mame/drivers/viper.c
r9191r9192
614614   devtag_reset(machine, "ide");
615615}
616616
617static MACHINE_DRIVER_START(viper)
617static MACHINE_CONFIG_START( viper, driver_device )
618618
619619   /* basic machine hardware */
620620   MDRV_CPU_ADD("maincpu", MPC8240, 200000000)
r9191r9192
647647   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
648648
649649   MDRV_M48T58_ADD( "m48t58" )
650MACHINE_DRIVER_END
650MACHINE_CONFIG_END
651651
652652/*****************************************************************************/
653653
src/mame/drivers/jackal.c
r9191r9192
363363   state->irq_enable = 0;
364364}
365365
366static MACHINE_DRIVER_START( jackal )
366static MACHINE_CONFIG_START( jackal, jackal_state )
367367
368   /* driver data */
369   MDRV_DRIVER_DATA(jackal_state)
370
371368   /* basic machine hardware */
372369   MDRV_CPU_ADD("master", M6809, MASTER_CLOCK/12) // verified on pcb
373370   MDRV_CPU_PROGRAM_MAP(master_map)
r9191r9192
402399   MDRV_SOUND_ADD("ymsnd", YM2151, SOUND_CLOCK) // verified on pcb
403400   MDRV_SOUND_ROUTE(0, "lspeaker", 0.50)
404401   MDRV_SOUND_ROUTE(1, "rspeaker", 0.50)
405MACHINE_DRIVER_END
402MACHINE_CONFIG_END
406403
407404/*************************************
408405 *
src/mame/drivers/mw8080bw.c
r9191r9192
222222 *
223223 *************************************/
224224
225MACHINE_DRIVER_START( mw8080bw_root )
225MACHINE_CONFIG_START( mw8080bw_root, mw8080bw_state )
226226
227   /* driver data */
228   MDRV_DRIVER_DATA(mw8080bw_state)
229
230227   /* basic machine hardware */
231228   MDRV_CPU_ADD("maincpu",I8080,MW8080BW_CPU_CLOCK)
232229   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
240237   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
241238   MDRV_SCREEN_RAW_PARAMS(MW8080BW_PIXEL_CLOCK, MW8080BW_HTOTAL, MW8080BW_HBEND, MW8080BW_HPIXCOUNT, MW8080BW_VTOTAL, MW8080BW_VBEND, MW8080BW_VBSTART)
242239
243MACHINE_DRIVER_END
240MACHINE_CONFIG_END
244241
245242
246243
r9191r9192
404401INPUT_PORTS_END
405402
406403
407static MACHINE_DRIVER_START( seawolf )
404static MACHINE_CONFIG_DERIVED( seawolf, mw8080bw_root )
408405
409406   /* basic machine hardware */
410   MDRV_IMPORT_FROM(mw8080bw_root)
411407   MDRV_CPU_MODIFY("maincpu")
412408   MDRV_CPU_IO_MAP(seawolf_io_map)
413409   /* there is no watchdog */
r9191r9192
416412   MDRV_MB14241_ADD("mb14241")
417413
418414   /* audio hardware */
419   MDRV_IMPORT_FROM(seawolf_audio)
415   MDRV_FRAGMENT_ADD(seawolf_audio)
420416
421MACHINE_DRIVER_END
417MACHINE_CONFIG_END
422418
423419
424420
r9191r9192
506502INPUT_PORTS_END
507503
508504
509static MACHINE_DRIVER_START( gunfight )
505static MACHINE_CONFIG_DERIVED( gunfight, mw8080bw_root )
510506
511507   /* basic machine hardware */
512   MDRV_IMPORT_FROM(mw8080bw_root)
513508   MDRV_CPU_MODIFY("maincpu")
514509   MDRV_CPU_IO_MAP(gunfight_io_map)
515510   /* there is no watchdog */
r9191r9192
518513   MDRV_MB14241_ADD("mb14241")
519514
520515   /* audio hardware */
521   MDRV_IMPORT_FROM(gunfight_audio)
516   MDRV_FRAGMENT_ADD(gunfight_audio)
522517
523MACHINE_DRIVER_END
518MACHINE_CONFIG_END
524519
525520
526521
r9191r9192
737732INPUT_PORTS_END
738733
739734
740static MACHINE_DRIVER_START( tornbase)
735static MACHINE_CONFIG_DERIVED( tornbase, mw8080bw_root )
741736
742737   /* basic machine hardware */
743   MDRV_IMPORT_FROM(mw8080bw_root)
744738   MDRV_CPU_MODIFY("maincpu")
745739   MDRV_CPU_IO_MAP(tornbase_io_map)
746740   /* there is no watchdog */
r9191r9192
749743   MDRV_MB14241_ADD("mb14241")
750744
751745   /* audio hardware */
752   MDRV_IMPORT_FROM(tornbase_audio)
746   MDRV_FRAGMENT_ADD(tornbase_audio)
753747
754MACHINE_DRIVER_END
748MACHINE_CONFIG_END
755749
756750
757751
r9191r9192
853847INPUT_PORTS_END
854848
855849
856static MACHINE_DRIVER_START( zzzap )
850static MACHINE_CONFIG_DERIVED( zzzap, mw8080bw_root )
857851
858852   /* basic machine hardware */
859   MDRV_IMPORT_FROM(mw8080bw_root)
860853   MDRV_CPU_MODIFY("maincpu")
861854   MDRV_CPU_IO_MAP(zzzap_io_map)
862855   MDRV_WATCHDOG_TIME_INIT(NSEC(PERIOD_OF_555_MONOSTABLE_NSEC(RES_M(1), CAP_U(1)))) /* 1.1s */
r9191r9192
865858   MDRV_MB14241_ADD("mb14241")
866859
867860   /* audio hardware */
868   /* MDRV_IMPORT_FROM(zzzap_audio) */
861   /* MDRV_FRAGMENT_ADD(zzzap_audio) */
869862
870MACHINE_DRIVER_END
863MACHINE_CONFIG_END
871864
872865
873866
r9191r9192
967960INPUT_PORTS_END
968961
969962
970static MACHINE_DRIVER_START( maze )
963static MACHINE_CONFIG_DERIVED( maze, mw8080bw_root )
971964
972965   /* basic machine hardware */
973   MDRV_IMPORT_FROM(mw8080bw_root)
974966   MDRV_CPU_MODIFY("maincpu")
975967   MDRV_CPU_IO_MAP(maze_io_map)
976968   MDRV_MACHINE_START(maze)
977969   MDRV_WATCHDOG_TIME_INIT(NSEC(PERIOD_OF_555_MONOSTABLE_NSEC(RES_K(270), CAP_U(10)))) /* 2.97s */
978970
979971   /* audio hardware */
980   MDRV_IMPORT_FROM(maze_audio)
972   MDRV_FRAGMENT_ADD(maze_audio)
981973
982MACHINE_DRIVER_END
974MACHINE_CONFIG_END
983975
984976
985977
r9191r9192
10601052INPUT_PORTS_END
10611053
10621054
1063static MACHINE_DRIVER_START( boothill )
1055static MACHINE_CONFIG_DERIVED( boothill, mw8080bw_root )
10641056
10651057   /* basic machine hardware */
1066   MDRV_IMPORT_FROM(mw8080bw_root)
10671058   MDRV_CPU_MODIFY("maincpu")
10681059   MDRV_CPU_IO_MAP(boothill_io_map)
10691060   MDRV_MACHINE_START(boothill)
r9191r9192
10731064   MDRV_MB14241_ADD("mb14241")
10741065
10751066   /* audio hardware */
1076   MDRV_IMPORT_FROM(boothill_audio)
1067   MDRV_FRAGMENT_ADD(boothill_audio)
10771068
1078MACHINE_DRIVER_END
1069MACHINE_CONFIG_END
10791070
10801071
10811072
r9191r9192
11681159INPUT_PORTS_END
11691160
11701161
1171static MACHINE_DRIVER_START( checkmat )
1162static MACHINE_CONFIG_DERIVED( checkmat, mw8080bw_root )
11721163
11731164   /* basic machine hardware */
1174   MDRV_IMPORT_FROM(mw8080bw_root)
11751165   MDRV_CPU_MODIFY("maincpu")
11761166   MDRV_CPU_IO_MAP(checkmat_io_map)
11771167   MDRV_WATCHDOG_TIME_INIT(NSEC(PERIOD_OF_555_MONOSTABLE_NSEC(RES_K(270), CAP_U(10)))) /* 2.97s */
11781168
11791169   /* audio hardware */
1180   MDRV_IMPORT_FROM(checkmat_audio)
1170   MDRV_FRAGMENT_ADD(checkmat_audio)
11811171
1182MACHINE_DRIVER_END
1172MACHINE_CONFIG_END
11831173
11841174
11851175
r9191r9192
12981288INPUT_PORTS_END
12991289
13001290
1301static MACHINE_DRIVER_START( desertgu )
1291static MACHINE_CONFIG_DERIVED( desertgu, mw8080bw_root )
13021292
13031293   /* basic machine hardware */
1304   MDRV_IMPORT_FROM(mw8080bw_root)
13051294   MDRV_CPU_MODIFY("maincpu")
13061295   MDRV_CPU_IO_MAP(desertgu_io_map)
13071296   MDRV_MACHINE_START(desertgu)
r9191r9192
13111300   MDRV_MB14241_ADD("mb14241")
13121301
13131302   /* audio hardware */
1314   MDRV_IMPORT_FROM(desertgu_audio)
1303   MDRV_FRAGMENT_ADD(desertgu_audio)
13151304
1316MACHINE_DRIVER_END
1305MACHINE_CONFIG_END
13171306
13181307
13191308
r9191r9192
14991488INPUT_PORTS_END
15001489
15011490
1502static MACHINE_DRIVER_START( dplay )
1491static MACHINE_CONFIG_DERIVED( dplay, mw8080bw_root )
15031492
15041493   /* basic machine hardware */
1505   MDRV_IMPORT_FROM(mw8080bw_root)
15061494   MDRV_CPU_MODIFY("maincpu")
15071495   MDRV_CPU_IO_MAP(dplay_io_map)
15081496   MDRV_WATCHDOG_TIME_INIT(USEC(255000000 / (MW8080BW_PIXEL_CLOCK / MW8080BW_HTOTAL / MW8080BW_VTOTAL)))
r9191r9192
15111499   MDRV_MB14241_ADD("mb14241")
15121500
15131501   /* audio hardware */
1514   MDRV_IMPORT_FROM(dplay_audio)
1502   MDRV_FRAGMENT_ADD(dplay_audio)
15151503
1516MACHINE_DRIVER_END
1504MACHINE_CONFIG_END
15171505
15181506
15191507
r9191r9192
15951583INPUT_PORTS_END
15961584
15971585
1598static MACHINE_DRIVER_START( gmissile )
1586static MACHINE_CONFIG_DERIVED( gmissile, mw8080bw_root )
15991587
16001588   /* basic machine hardware */
1601   MDRV_IMPORT_FROM(mw8080bw_root)
16021589   MDRV_CPU_MODIFY("maincpu")
16031590   MDRV_CPU_IO_MAP(gmissile_io_map)
16041591   MDRV_MACHINE_START(gmissile)
r9191r9192
16081595   MDRV_MB14241_ADD("mb14241")
16091596
16101597   /* audio hardware */
1611   MDRV_IMPORT_FROM(gmissile_audio)
1598   MDRV_FRAGMENT_ADD(gmissile_audio)
16121599
1613MACHINE_DRIVER_END
1600MACHINE_CONFIG_END
16141601
16151602
16161603
r9191r9192
16901677INPUT_PORTS_END
16911678
16921679
1693static MACHINE_DRIVER_START( m4 )
1680static MACHINE_CONFIG_DERIVED( m4, mw8080bw_root )
16941681
16951682   /* basic machine hardware */
1696   MDRV_IMPORT_FROM(mw8080bw_root)
16971683   MDRV_CPU_MODIFY("maincpu")
16981684   MDRV_CPU_IO_MAP(m4_io_map)
16991685   MDRV_MACHINE_START(m4)
r9191r9192
17031689   MDRV_MB14241_ADD("mb14241")
17041690
17051691   /* audio hardware */
1706   MDRV_IMPORT_FROM(m4_audio)
1692   MDRV_FRAGMENT_ADD(m4_audio)
17071693
1708MACHINE_DRIVER_END
1694MACHINE_CONFIG_END
17091695
17101696
17111697
r9191r9192
18611847INPUT_PORTS_END
18621848
18631849
1864static MACHINE_DRIVER_START( clowns )
1850static MACHINE_CONFIG_DERIVED( clowns, mw8080bw_root )
18651851
18661852   /* basic machine hardware */
1867   MDRV_IMPORT_FROM(mw8080bw_root)
18681853   MDRV_CPU_MODIFY("maincpu")
18691854   MDRV_CPU_IO_MAP(clowns_io_map)
18701855   MDRV_MACHINE_START(clowns)
r9191r9192
18741859   MDRV_MB14241_ADD("mb14241")
18751860
18761861   /* audio hardware */
1877   MDRV_IMPORT_FROM(clowns_audio)
1862   MDRV_FRAGMENT_ADD(clowns_audio)
18781863
1879MACHINE_DRIVER_END
1864MACHINE_CONFIG_END
18801865
18811866
18821867
r9191r9192
19561941   PORT_ADJUSTER( 40, "R507 - Music Volume" )
19571942INPUT_PORTS_END
19581943
1959static MACHINE_DRIVER_START( spacwalk )
1944static MACHINE_CONFIG_DERIVED( spacwalk, mw8080bw_root )
19601945
19611946   /* basic machine hardware */
1962   MDRV_IMPORT_FROM(mw8080bw_root)
19631947   MDRV_CPU_MODIFY("maincpu")
19641948   MDRV_CPU_IO_MAP(spacwalk_io_map)
19651949   MDRV_MACHINE_START(clowns)
r9191r9192
19691953   MDRV_MB14241_ADD("mb14241")
19701954
19711955   /* audio hardware */
1972   MDRV_IMPORT_FROM(spacwalk_audio)
1956   MDRV_FRAGMENT_ADD(spacwalk_audio)
19731957
1974MACHINE_DRIVER_END
1958MACHINE_CONFIG_END
19751959
19761960
19771961
r9191r9192
20382022INPUT_PORTS_END
20392023
20402024
2041static MACHINE_DRIVER_START( shuffle )
2025static MACHINE_CONFIG_DERIVED( shuffle, mw8080bw_root )
20422026
20432027   /* basic machine hardware */
2044   MDRV_IMPORT_FROM(mw8080bw_root)
20452028   MDRV_CPU_MODIFY("maincpu")
20462029   MDRV_CPU_IO_MAP(shuffle_io_map)
20472030   MDRV_WATCHDOG_TIME_INIT(USEC(255000000 / (MW8080BW_PIXEL_CLOCK / MW8080BW_HTOTAL / MW8080BW_VTOTAL)))
r9191r9192
20502033   MDRV_MB14241_ADD("mb14241")
20512034
20522035   /* audio hardware */
2053   MDRV_IMPORT_FROM(shuffle_audio)
2036   MDRV_FRAGMENT_ADD(shuffle_audio)
20542037
2055MACHINE_DRIVER_END
2038MACHINE_CONFIG_END
20562039
20572040
20582041
r9191r9192
21242107INPUT_PORTS_END
21252108
21262109
2127static MACHINE_DRIVER_START( dogpatch )
2110static MACHINE_CONFIG_DERIVED( dogpatch, mw8080bw_root )
21282111
21292112   /* basic machine hardware */
2130   MDRV_IMPORT_FROM(mw8080bw_root)
21312113   MDRV_CPU_MODIFY("maincpu")
21322114   MDRV_CPU_IO_MAP(dogpatch_io_map)
21332115   /* the watch dog time is unknown, but all other */
r9191r9192
21382120   MDRV_MB14241_ADD("mb14241")
21392121
21402122   /* audio hardware */
2141   MDRV_IMPORT_FROM(dogpatch_audio)
2123   MDRV_FRAGMENT_ADD(dogpatch_audio)
21422124
2143MACHINE_DRIVER_END
2125MACHINE_CONFIG_END
21442126
21452127
21462128
r9191r9192
22902272INPUT_PORTS_END
22912273
22922274
2293static MACHINE_DRIVER_START( spcenctr )
2275static MACHINE_CONFIG_DERIVED( spcenctr, mw8080bw_root )
22942276
22952277   /* basic machine hardware */
2296   MDRV_IMPORT_FROM(mw8080bw_root)
22972278   MDRV_CPU_MODIFY("maincpu")
22982279   MDRV_CPU_IO_MAP(spcenctr_io_map)
22992280   MDRV_MACHINE_START(spcenctr)
r9191r9192
23112292   MDRV_VIDEO_UPDATE(spcenctr)
23122293
23132294   /* audio hardware */
2314   MDRV_IMPORT_FROM(spcenctr_audio)
2295   MDRV_FRAGMENT_ADD(spcenctr_audio)
23152296
2316MACHINE_DRIVER_END
2297MACHINE_CONFIG_END
23172298
23182299
23192300
r9191r9192
23862367INPUT_PORTS_END
23872368
23882369
2389static MACHINE_DRIVER_START( phantom2 )
2370static MACHINE_CONFIG_DERIVED( phantom2, mw8080bw_root )
23902371
23912372   /* basic machine hardware */
2392   MDRV_IMPORT_FROM(mw8080bw_root)
23932373   MDRV_CPU_MODIFY("maincpu")
23942374   MDRV_CPU_IO_MAP(phantom2_io_map)
23952375   MDRV_MACHINE_START(phantom2)
r9191r9192
24032383   MDRV_MB14241_ADD("mb14241")
24042384
24052385   /* audio hardware */
2406   MDRV_IMPORT_FROM(phantom2_audio)
2386   MDRV_FRAGMENT_ADD(phantom2_audio)
24072387
2408MACHINE_DRIVER_END
2388MACHINE_CONFIG_END
24092389
24102390
24112391
r9191r9192
25262506INPUT_PORTS_END
25272507
25282508
2529static MACHINE_DRIVER_START( bowler )
2509static MACHINE_CONFIG_DERIVED( bowler, mw8080bw_root )
25302510
25312511   /* basic machine hardware */
2532   MDRV_IMPORT_FROM(mw8080bw_root)
25332512   MDRV_CPU_MODIFY("maincpu")
25342513   MDRV_CPU_IO_MAP(bowler_io_map)
25352514   MDRV_WATCHDOG_TIME_INIT(USEC(255000000 / (MW8080BW_PIXEL_CLOCK / MW8080BW_HTOTAL / MW8080BW_VTOTAL)))
r9191r9192
25382517   MDRV_MB14241_ADD("mb14241")
25392518
25402519   /* audio hardware */
2541   MDRV_IMPORT_FROM(bowler_audio)
2520   MDRV_FRAGMENT_ADD(bowler_audio)
25422521
2543MACHINE_DRIVER_END
2522MACHINE_CONFIG_END
25442523
25452524
25462525
r9191r9192
27432722INPUT_PORTS_END
27442723
27452724
2746MACHINE_DRIVER_START( invaders )
2725MACHINE_CONFIG_DERIVED( invaders, mw8080bw_root )
27472726
27482727   /* basic machine hardware */
2749   MDRV_IMPORT_FROM(mw8080bw_root)
27502728   MDRV_CPU_MODIFY("maincpu")
27512729   MDRV_CPU_IO_MAP(invaders_io_map)
27522730   MDRV_MACHINE_START(invaders)
r9191r9192
27592737   MDRV_MB14241_ADD("mb14241")
27602738
27612739   /* audio hardware */
2762   MDRV_IMPORT_FROM(invaders_audio)
2740   MDRV_FRAGMENT_ADD(invaders_audio)
27632741
2764MACHINE_DRIVER_END
2742MACHINE_CONFIG_END
27652743
27662744
27672745
r9191r9192
28262804INPUT_PORTS_END
28272805
28282806
2829static MACHINE_DRIVER_START( blueshrk )
2807static MACHINE_CONFIG_DERIVED( blueshrk, mw8080bw_root )
28302808
28312809   /* basic machine hardware */
2832   MDRV_IMPORT_FROM(mw8080bw_root)
28332810   MDRV_CPU_MODIFY("maincpu")
28342811   MDRV_CPU_IO_MAP(blueshrk_io_map)
28352812   MDRV_WATCHDOG_TIME_INIT(USEC(255000000 / (MW8080BW_PIXEL_CLOCK / MW8080BW_HTOTAL / MW8080BW_VTOTAL)))
r9191r9192
28382815   MDRV_MB14241_ADD("mb14241")
28392816
28402817   /* audio hardware */
2841   MDRV_IMPORT_FROM(blueshrk_audio)
2818   MDRV_FRAGMENT_ADD(blueshrk_audio)
28422819
2843MACHINE_DRIVER_END
2820MACHINE_CONFIG_END
28442821
28452822
28462823
r9191r9192
29272904INPUT_PORTS_END
29282905
29292906
2930static MACHINE_DRIVER_START( invad2ct )
2907static MACHINE_CONFIG_DERIVED( invad2ct, mw8080bw_root )
29312908
29322909   /* basic machine hardware */
2933   MDRV_IMPORT_FROM(mw8080bw_root)
29342910   MDRV_CPU_MODIFY("maincpu")
29352911   MDRV_CPU_IO_MAP(invad2ct_io_map)
29362912   MDRV_WATCHDOG_TIME_INIT(USEC(255000000 / (MW8080BW_PIXEL_CLOCK / MW8080BW_HTOTAL / MW8080BW_VTOTAL)))
r9191r9192
29392915   MDRV_MB14241_ADD("mb14241")
29402916
29412917   /* audio hardware */
2942   MDRV_IMPORT_FROM(invad2ct_audio)
2918   MDRV_FRAGMENT_ADD(invad2ct_audio)
29432919
2944MACHINE_DRIVER_END
2920MACHINE_CONFIG_END
29452921
29462922
29472923
src/mame/drivers/pinkiri8.c
r9191r9192
484484   AM_RANGE(0x60, 0x60) AM_WRITE(output_regs_w)
485485   AM_RANGE(0x80, 0x83) AM_WRITE(pinkiri8_vram_w)
486486
487   AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w ) //correct?
487   AM_RANGE(0xa0, 0xa0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write) //correct?
488488   AM_RANGE(0xb0, 0xb0) AM_WRITE(mux_w) //mux
489489   AM_RANGE(0xb0, 0xb0) AM_READ(mux_p2_r) // mux inputs
490490   AM_RANGE(0xb1, 0xb1) AM_READ(mux_p1_r) // mux inputs
r9191r9192
11071107   GFXDECODE_ENTRY( "gfx1", 0, charlayout,     0, 0x100 )
11081108GFXDECODE_END
11091109
1110static MACHINE_DRIVER_START( pinkiri8 )
1110static MACHINE_CONFIG_START( pinkiri8, driver_device )
11111111   MDRV_CPU_ADD("maincpu",Z180,16000000)
11121112   MDRV_CPU_PROGRAM_MAP(pinkiri8_map)
11131113   MDRV_CPU_IO_MAP(pinkiri8_io)
r9191r9192
11321132
11331133   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
11341134   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
1135MACHINE_DRIVER_END
1135MACHINE_CONFIG_END
11361136
11371137/***************************************************************************
11381138
src/mame/drivers/namcos86.c
r9191r9192
180180#include "sound/2151intf.h"
181181#include "sound/namco.h"
182182#include "sound/n63701x.h"
183#include "includes/namcos86.h"
183184
184extern UINT8 *rthunder_videoram1, *rthunder_videoram2, *rthunder_spriteram;
185
186PALETTE_INIT( namcos86 );
187VIDEO_START( namcos86 );
188VIDEO_UPDATE( namcos86 );
189VIDEO_EOF( namcos86 );
190READ8_HANDLER( rthunder_videoram1_r );
191WRITE8_HANDLER( rthunder_videoram1_w );
192READ8_HANDLER( rthunder_videoram2_r );
193WRITE8_HANDLER( rthunder_videoram2_w );
194WRITE8_HANDLER( rthunder_scroll0_w );
195WRITE8_HANDLER( rthunder_scroll1_w );
196WRITE8_HANDLER( rthunder_scroll2_w );
197WRITE8_HANDLER( rthunder_scroll3_w );
198WRITE8_HANDLER( rthunder_backcolor_w );
199WRITE8_HANDLER( rthunder_tilebank_select_w );
200READ8_HANDLER( rthunder_spriteram_r );
201WRITE8_HANDLER( rthunder_spriteram_w );
202
203
204185static WRITE8_HANDLER( bankswitch1_w )
205186{
206187   UINT8 *base = memory_region(space->machine, "cpu1") + 0x10000;
r9191r9192
1013994};
1014995
1015996
1016static MACHINE_DRIVER_START( hopmappy )
997static MACHINE_CONFIG_START( hopmappy, driver_device )
1017998
1018999   /* basic machine hardware */
10191000   MDRV_CPU_ADD("cpu1", M6809, 49152000/32)
r9191r9192
10591040   MDRV_SOUND_ADD("namco", NAMCO_CUS30, 49152000/2048)
10601041   MDRV_SOUND_CONFIG(namco_config)
10611042   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1062MACHINE_DRIVER_END
1043MACHINE_CONFIG_END
10631044
10641045
1065static MACHINE_DRIVER_START( skykiddx )
1046static MACHINE_CONFIG_DERIVED( skykiddx, hopmappy )
10661047
10671048   /* basic machine hardware */
1068   MDRV_IMPORT_FROM(hopmappy)
10691049   MDRV_CPU_MODIFY("cpu2")
10701050   MDRV_CPU_PROGRAM_MAP(skykiddx_cpu2_map)
10711051
10721052   MDRV_CPU_MODIFY("mcu")
10731053   MDRV_CPU_PROGRAM_MAP(skykiddx_mcu_map)
1074MACHINE_DRIVER_END
1054MACHINE_CONFIG_END
10751055
10761056
1077static MACHINE_DRIVER_START( roishtar )
1057static MACHINE_CONFIG_DERIVED( roishtar, hopmappy )
10781058
10791059   /* basic machine hardware */
1080   MDRV_IMPORT_FROM(hopmappy)
10811060   MDRV_CPU_MODIFY("cpu2")
10821061   MDRV_CPU_PROGRAM_MAP(roishtar_cpu2_map)
10831062
10841063   MDRV_CPU_MODIFY("mcu")
10851064   MDRV_CPU_PROGRAM_MAP(roishtar_mcu_map)
1086MACHINE_DRIVER_END
1065MACHINE_CONFIG_END
10871066
10881067
1089static MACHINE_DRIVER_START( genpeitd )
1068static MACHINE_CONFIG_DERIVED( genpeitd, hopmappy )
10901069
10911070   /* basic machine hardware */
1092   MDRV_IMPORT_FROM(hopmappy)
10931071   MDRV_CPU_MODIFY("cpu2")
10941072   MDRV_CPU_PROGRAM_MAP(genpeitd_cpu2_map)
10951073
r9191r9192
10991077   /* sound hardware */
11001078   MDRV_SOUND_ADD("namco2", NAMCO_63701X, 6000000)
11011079   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1102MACHINE_DRIVER_END
1080MACHINE_CONFIG_END
11031081
11041082
1105static MACHINE_DRIVER_START( rthunder )
1083static MACHINE_CONFIG_DERIVED( rthunder, hopmappy )
11061084
11071085   /* basic machine hardware */
1108   MDRV_IMPORT_FROM(hopmappy)
11091086   MDRV_CPU_MODIFY("cpu2")
11101087   MDRV_CPU_PROGRAM_MAP(rthunder_cpu2_map)
11111088
r9191r9192
11151092   /* sound hardware */
11161093   MDRV_SOUND_ADD("namco2", NAMCO_63701X, 6000000)
11171094   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1118MACHINE_DRIVER_END
1095MACHINE_CONFIG_END
11191096
11201097
1121static MACHINE_DRIVER_START( wndrmomo )
1098static MACHINE_CONFIG_DERIVED( wndrmomo, hopmappy )
11221099
11231100   /* basic machine hardware */
1124   MDRV_IMPORT_FROM(hopmappy)
11251101   MDRV_CPU_MODIFY("cpu2")
11261102   MDRV_CPU_PROGRAM_MAP(wndrmomo_cpu2_map)
11271103
r9191r9192
11311107   /* sound hardware */
11321108   MDRV_SOUND_ADD("namco2", NAMCO_63701X, 6000000)
11331109   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1134MACHINE_DRIVER_END
1110MACHINE_CONFIG_END
11351111
11361112
11371113
src/mame/drivers/suna8.c
r9191r9192
433433                                Hard Head
434434***************************************************************************/
435435
436static UINT8 protection_val;
437
438436static READ8_HANDLER( hardhead_protection_r )
439437{
438   suna8_state *state = space->machine->driver_data<suna8_state>();
439   UINT8 protection_val = state->protection_val;
440
440441   if (protection_val & 0x80)
441442      return   ((~offset & 0x20)         ?   0x20 : 0) |
442443            ((protection_val & 0x04)   ?   0x80 : 0) |
r9191r9192
448449
449450static WRITE8_HANDLER( hardhead_protection_w )
450451{
451   if (data & 0x80)   protection_val = data;
452   else            protection_val = offset & 1;
452   suna8_state *state = space->machine->driver_data<suna8_state>();
453
454   if (data & 0x80)   state->protection_val = data;
455   else            state->protection_val = offset & 1;
453456}
454457
455458
r9191r9192
465468                                Hard Head
466469***************************************************************************/
467470
468static UINT8 *hardhead_ip;
469
470471static READ8_HANDLER( hardhead_ip_r )
471472{
472   switch (*hardhead_ip)
473   suna8_state *state = space->machine->driver_data<suna8_state>();
474
475   switch (*state->hardhead_ip)
473476   {
474477      case 0:   return input_port_read(space->machine, "P1");
475478      case 1:   return input_port_read(space->machine, "P2");
476479      case 2:   return input_port_read(space->machine, "DSW1");
477480      case 3:   return input_port_read(space->machine, "DSW2");
478481      default:
479         logerror("CPU #0 - PC %04X: Unknown IP read: %02X\n",cpu_get_pc(space->cpu),*hardhead_ip);
482         logerror("CPU #0 - PC %04X: Unknown IP read: %02X\n", cpu_get_pc(space->cpu), *state->hardhead_ip);
480483         return 0xff;
481484   }
482485}
r9191r9192
513516   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")                  // Banked ROM
514517   AM_RANGE(0xc000, 0xd7ff) AM_RAM                        // RAM
515518   AM_RANGE(0xd800, 0xd9ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)   // Palette
516   AM_RANGE(0xda00, 0xda00) AM_RAM_READ(hardhead_ip_r) AM_BASE(&hardhead_ip)   // Input Port Select
519   AM_RANGE(0xda00, 0xda00) AM_RAM_READ(hardhead_ip_r) AM_BASE_MEMBER(suna8_state, hardhead_ip)   // Input Port Select
517520   AM_RANGE(0xda80, 0xda80) AM_READWRITE(soundlatch2_r, hardhead_bankswitch_w   )   // ROM Banking
518521   AM_RANGE(0xdb00, 0xdb00) AM_WRITE(soundlatch_w         )   // To Sound CPU
519522   AM_RANGE(0xdb80, 0xdb80) AM_WRITE(hardhead_flipscreen_w   )   // Flip Screen + Coin Lockout
r9191r9192
521524   AM_RANGE(0xdc80, 0xdc80) AM_NOP                        // <- R (after bank select)
522525   AM_RANGE(0xdd00, 0xdd00) AM_NOP                        // <- R (after ip select)
523526   AM_RANGE(0xdd80, 0xddff) AM_READWRITE(hardhead_protection_r, hardhead_protection_w   )   // Protection
524   AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(suna8_spriteram_w) AM_BASE_GENERIC(spriteram   )   // Sprites
527   AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(suna8_spriteram_w) AM_BASE_MEMBER(suna8_state, spriteram)   // Sprites
525528ADDRESS_MAP_END
526529
527530
r9191r9192
590593   AM_RANGE(0xc2c0, 0xc2c0) AM_READ_PORT("DSW2")            // DSW 2
591594   AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)   // Palette
592595   AM_RANGE(0xc800, 0xdfff) AM_RAM                        // RAM
593   AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(suna8_spriteram_w) AM_BASE_GENERIC(spriteram   )   // Sprites
596   AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(suna8_spriteram_w) AM_BASE_MEMBER(suna8_state, spriteram)   // Sprites
594597ADDRESS_MAP_END
595598
596599
r9191r9192
615618*/
616619static WRITE8_HANDLER( brickzn_palettebank_w )
617620{
618   suna8_palettebank = (data >> 1) & 1;
621   suna8_state *state = space->machine->driver_data<suna8_state>();
622
623   state->palettebank = (data >> 1) & 1;
619624   if (data & ~0x02)   logerror("CPU #0 - PC %04X: unknown palettebank bits: %02X\n",cpu_get_pc(space->cpu),data);
620625
621626   /* Also used as soundlatch - depending on c0c0? */
r9191r9192
629634*/
630635static WRITE8_HANDLER( brickzn_spritebank_w )
631636{
632   suna8_spritebank = (data >> 1) & 1;
637   suna8_state *state = space->machine->driver_data<suna8_state>();
638
639   state->spritebank = (data >> 1) & 1;
633640   if (data & ~0x03)   logerror("CPU #0 - PC %04X: unknown spritebank bits: %02X\n",cpu_get_pc(space->cpu),data);
634641   flip_screen_set(space->machine,  data & 0x01 );
635642}
636643
637644static WRITE8_HANDLER( brickzn_unknown_w )
638645{
639   suna8_unknown = data;
646   suna8_state *state = space->machine->driver_data<suna8_state>();
647
648   state->unknown = data;
640649}
641650
642651/*
r9191r9192
645654*/
646655static WRITE8_HANDLER( brickzn_rombank_w )
647656{
657   suna8_state *state = space->machine->driver_data<suna8_state>();
648658   int bank = data & 0x0f;
649659
650660   if (data & ~0x0f)   logerror("CPU #0 - PC %04X: unknown rom bank bits: %02X\n",cpu_get_pc(space->cpu),data);
651661
652662   memory_set_bank(space->machine, "bank1", bank);
653   suna8_rombank = data;
663   state->rombank = data;
654664}
655665
656666static ADDRESS_MAP_START( brickzn_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
677687                                Hard Head 2
678688***************************************************************************/
679689
680static UINT8 suna8_nmi_enable;
681
682690/* Probably wrong: */
683691static WRITE8_HANDLER( hardhea2_nmi_w )
684692{
685   suna8_nmi_enable = data & 0x01;
693   suna8_state *state = space->machine->driver_data<suna8_state>();
694
695   state->nmi_enable = data & 0x01;
686696//  if (data & ~0x01)   logerror("CPU #0 - PC %04X: unknown nmi bits: %02X\n",cpu_get_pc(space->cpu),data);
687697}
688698
r9191r9192
711721*/
712722static WRITE8_HANDLER( hardhea2_spritebank_w )
713723{
714   suna8_spritebank = (data >> 1) & 1;
724   suna8_state *state = space->machine->driver_data<suna8_state>();
725
726   state->spritebank = (data >> 1) & 1;
715727   if (data & ~0x02)   logerror("CPU #0 - PC %04X: unknown spritebank bits: %02X\n",cpu_get_pc(space->cpu),data);
716728}
717729
r9191r9192
721733*/
722734static WRITE8_HANDLER( hardhea2_rombank_w )
723735{
736   suna8_state *state = space->machine->driver_data<suna8_state>();
724737   int bank = data & 0x0f;
725738
726739   if (data & ~0x0f)   logerror("CPU #0 - PC %04X: unknown rom bank bits: %02X\n",cpu_get_pc(space->cpu),data);
727740
728741   memory_set_bank(space->machine, "bank1", bank);
729   suna8_rombank = data;
742
743   state->rombank = data;
730744}
731745
732746static WRITE8_HANDLER( hardhea2_spritebank_0_w )
733747{
734   suna8_spritebank = 0;
748   suna8_state *state = space->machine->driver_data<suna8_state>();
749
750   state->spritebank = 0;
735751}
736752static WRITE8_HANDLER( hardhea2_spritebank_1_w )
737753{
738   suna8_spritebank = 1;
754   suna8_state *state = space->machine->driver_data<suna8_state>();
755
756   state->spritebank = 1;
739757}
740758
741759static WRITE8_HANDLER( hardhea2_rambank_0_w )
742760{
743761   memory_set_bank(space->machine, "bank2", 0);
744762}
763
745764static WRITE8_HANDLER( hardhea2_rambank_1_w )
746765{
747766   memory_set_bank(space->machine, "bank2", 1);
r9191r9192
793812                                Star Fighter
794813***************************************************************************/
795814
796static UINT8 spritebank_latch;
797815static WRITE8_HANDLER( starfigh_spritebank_latch_w )
798816{
799   spritebank_latch = (data >> 2) & 1;
817   suna8_state *state = space->machine->driver_data<suna8_state>();
818
819   state->spritebank_latch = (data >> 2) & 1;
800820   if (data & ~0x04)   logerror("CPU #0 - PC %04X: unknown spritebank bits: %02X\n",cpu_get_pc(space->cpu),data);
801821}
802822
803823static WRITE8_HANDLER( starfigh_spritebank_w )
804824{
805   suna8_spritebank = spritebank_latch;
825   suna8_state *state = space->machine->driver_data<suna8_state>();
826
827   state->spritebank = state->spritebank_latch;
806828}
807829
808830static ADDRESS_MAP_START( starfigh_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
847869
848870*/
849871
850static UINT8 suna8_trash_prot, *suna8_wram;
851
852872/* This is a command-based protection. */
853873static WRITE8_HANDLER( sparkman_cmd_prot_w )
854874{
875   suna8_state *state = space->machine->driver_data<suna8_state>();
876
855877   switch(data)
856878   {
857      case 0xa6: suna8_nmi_enable = 1; break;
858      case 0x00: suna8_nmi_enable = 0; break;
859      case 0x18: suna8_trash_prot = 0; break;
860      case 0xce: suna8_trash_prot = 0; break;
861      case 0x81: suna8_trash_prot = 1; break;
862      case 0x99: suna8_trash_prot = 1; break;
863      case 0x54: suna8_spritebank = 1; break;
879      case 0xa6: state->nmi_enable = 1; break;
880      case 0x00: state->nmi_enable = 0; break;
881      case 0x18: state->trash_prot = 0; break;
882      case 0xce: state->trash_prot = 0; break;
883      case 0x81: state->trash_prot = 1; break;
884      case 0x99: state->trash_prot = 1; break;
885      case 0x54: state->spritebank = 1; break;
864886      default: logerror("CPU #0 - PC %04X: unknown protection command: %02X\n",cpu_get_pc(space->cpu),data);
865887   }
866888}
867889
868890static WRITE8_HANDLER( suna8_wram_w )
869891{
870   if(!suna8_trash_prot)
871      suna8_wram[offset] = data;
892   suna8_state *state = space->machine->driver_data<suna8_state>();
893
894   if (!state->trash_prot)
895      state->wram[offset] = data;
872896}
873897
874898/*
r9191r9192
900924*/
901925static WRITE8_HANDLER( sparkman_spritebank_w )
902926{
927   suna8_state *state = space->machine->driver_data<suna8_state>();
928
903929   if(data == 0xf7) //???
904      suna8_spritebank = 0;
930      state->spritebank = 0;
905931   else
906      suna8_spritebank = (data) & 1;
932      state->spritebank = (data) & 1;
907933   //if (data & ~0x02)     logerror("CPU #0 - PC %04X: unknown spritebank bits: %02X\n",cpu_get_pc(space->cpu),data);
908934}
909935
r9191r9192
913939*/
914940static WRITE8_HANDLER( sparkman_rombank_w )
915941{
942   suna8_state *state = space->machine->driver_data<suna8_state>();
916943   int bank = data & 0x0f;
917944
918945   //if (data & ~0x0f)     logerror("CPU #0 - PC %04X: unknown rom bank bits: %02X\n",cpu_get_pc(space->cpu),data);
919946
920947   memory_set_bank(space->machine, "bank1", bank);
921   suna8_rombank = data;
948   state->rombank = data;
922949}
923950
924951static READ8_HANDLER( sparkman_c0a3_r )
r9191r9192
929956#if 0
930957static WRITE8_HANDLER( sparkman_en_trash_w )
931958{
932   suna8_trash_prot = 1;
959   suna8_state *state = space->machine->driver_data<suna8_state>();
960
961   state->trash_prot = 1;
933962}
934963#endif
935964
r9191r9192
950979   AM_RANGE(0xc480, 0xc480) AM_WRITE(sparkman_coin_counter_w   )   // Coin Counter
951980   AM_RANGE(0xc500, 0xc500) AM_WRITE(soundlatch_w            )   // To Sound CPU
952981   AM_RANGE(0xc600, 0xc7ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram   )   // Palette (Banked??)
953   AM_RANGE(0xc800, 0xdfff) AM_RAM_WRITE(suna8_wram_w) AM_BASE(&suna8_wram)                        // RAM
954   AM_RANGE(0xe000, 0xffff) AM_READWRITE(suna8_banked_spriteram_r, suna8_banked_spriteram_w   )   // Sprites (Banked)
982   AM_RANGE(0xc800, 0xdfff) AM_RAM_WRITE(suna8_wram_w) AM_BASE_MEMBER(suna8_state, wram)                        // RAM
983   AM_RANGE(0xe000, 0xffff) AM_READWRITE(suna8_banked_spriteram_r, suna8_banked_spriteram_w)   // Sprites (Banked)
955984ADDRESS_MAP_END
956985
957986
r9191r9192
14651494   suna8_sh_start
14661495};
14671496
1468static MACHINE_DRIVER_START( hardhead )
1497static MACHINE_CONFIG_START( hardhead, suna8_state )
14691498
14701499   /* basic machine hardware */
14711500   MDRV_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4)   /* verified on pcb */
r9191r9192
15081537   MDRV_SOUND_CONFIG(suna8_samples_interface)
15091538   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
15101539   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
1511MACHINE_DRIVER_END
1540MACHINE_CONFIG_END
15121541
15131542
15141543
r9191r9192
15311560};
15321561
15331562/* 2203 + 8910 */
1534static MACHINE_DRIVER_START( rranger )
1563static MACHINE_CONFIG_START( rranger, suna8_state )
15351564
15361565   /* basic machine hardware */
15371566   MDRV_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4)               /* ? */
r9191r9192
15731602   MDRV_SOUND_CONFIG(suna8_samples_interface)
15741603   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
15751604   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
1576MACHINE_DRIVER_END
1605MACHINE_CONFIG_END
15771606
15781607
15791608/***************************************************************************
r9191r9192
15931622   else             cpu_set_input_line(device, 0, HOLD_LINE);
15941623}
15951624
1596static MACHINE_DRIVER_START( brickzn )
1625static MACHINE_CONFIG_START( brickzn, suna8_state )
15971626
15981627   /* basic machine hardware */
15991628   MDRV_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4)      /* SUNA PROTECTION BLOCK */
r9191r9192
16451674
16461675   MDRV_SOUND_ADD("dac4", DAC, 0)
16471676   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.17)
1648MACHINE_DRIVER_END
1677MACHINE_CONFIG_END
16491678
16501679
16511680/***************************************************************************
r9191r9192
16581687{
16591688   if (cpu_getiloops(device))
16601689   {
1661      if (suna8_nmi_enable)   cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
1690      suna8_state *state = device->machine->driver_data<suna8_state>();
1691      if (state->nmi_enable)   cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
16621692   }
16631693   else cpu_set_input_line(device, 0, HOLD_LINE);
16641694}
r9191r9192
16691699   hardhea2_rambank_0_w(space,0,0);
16701700}
16711701
1672static MACHINE_DRIVER_START( hardhea2 )
1673
1674   MDRV_IMPORT_FROM( brickzn )
1702static MACHINE_CONFIG_DERIVED( hardhea2, brickzn )
16751703   MDRV_CPU_MODIFY("maincpu")         /* SUNA T568009 */
16761704   MDRV_CPU_PROGRAM_MAP(hardhea2_map)
16771705   MDRV_CPU_VBLANK_INT_HACK(hardhea2_interrupt,2)   /* IRQ & NMI */
16781706
16791707   MDRV_MACHINE_RESET(hardhea2)
16801708   MDRV_PALETTE_LENGTH(256)
1681MACHINE_DRIVER_END
1709MACHINE_CONFIG_END
16821710
16831711
16841712/***************************************************************************
r9191r9192
16951723   DEVCB_DEVICE_HANDLER("samples", suna8_samples_number_w)
16961724};
16971725
1698static MACHINE_DRIVER_START( starfigh )
1726static MACHINE_CONFIG_START( starfigh, suna8_state )
16991727
17001728   /* basic machine hardware */
17011729   MDRV_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4)               /* ? */
r9191r9192
17381766   MDRV_SOUND_CONFIG(suna8_samples_interface)
17391767   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
17401768   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
1741MACHINE_DRIVER_END
1769MACHINE_CONFIG_END
17421770
17431771
17441772/***************************************************************************
r9191r9192
17491777{
17501778   if (cpu_getiloops(device))
17511779   {
1752      if (suna8_nmi_enable)   cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
1780      suna8_state *state = device->machine->driver_data<suna8_state>();
1781      if (state->nmi_enable)   cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
17531782   }
17541783   else cpu_set_input_line(device, 0, HOLD_LINE);
17551784}
17561785
1757static MACHINE_DRIVER_START( sparkman )
1786static MACHINE_CONFIG_START( sparkman, suna8_state )
17581787
17591788   /* basic machine hardware */
17601789   MDRV_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4)               /* ? */
r9191r9192
17961825   MDRV_SOUND_CONFIG(suna8_samples_interface)
17971826   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
17981827   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
1799MACHINE_DRIVER_END
1828MACHINE_CONFIG_END
18001829
18011830
18021831/***************************************************************************
src/mame/drivers/vaportra.c
r9191r9192
8080   AM_RANGE(0x000000, 0x00ffff) AM_ROM
8181   AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_r, ym2203_w)
8282   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_r, ym2151_w)
83   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
84   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
83   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
84   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
8585   AM_RANGE(0x140000, 0x140001) AM_READ(vaportra_soundlatch_r)
8686   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")  /* ??? LOOKUP ??? */
8787   AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
r9191r9192
249249   state->priority[1] = 0;
250250}
251251
252static MACHINE_DRIVER_START( vaportra )
252static MACHINE_CONFIG_START( vaportra, vaportra_state )
253253
254   /* driver data */
255   MDRV_DRIVER_DATA(vaportra_state)
256
257254   /* basic machine hardware */
258255   MDRV_CPU_ADD("maincpu", M68000,12000000) /* Custom chip 59 */
259256   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
297294
298295   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
299296   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
300MACHINE_DRIVER_END
297MACHINE_CONFIG_END
301298
302299/******************************************************************************/
303300
src/mame/drivers/chanbara.c
r9191r9192
5151#include "sound/2203intf.h"
5252
5353
54class chanbara_state : public driver_data_t
54class chanbara_state : public driver_device
5555{
5656public:
57   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, chanbara_state(machine)); }
57   chanbara_state(running_machine &machine, const driver_device_config_base &config)
58      : driver_device(machine, config) { }
5859
59   chanbara_state(running_machine &machine)
60      : driver_data_t(machine) { }
61
6260   /* memory pointers */
6361   UINT8 *  videoram;
6462   UINT8 *  videoram2;
r9191r9192
384382   state->scrollhi = 0;
385383}
386384
387static MACHINE_DRIVER_START( chanbara )
385static MACHINE_CONFIG_START( chanbara, chanbara_state )
388386
389   /* driver data */
390   MDRV_DRIVER_DATA(chanbara_state)
391
392387   MDRV_CPU_ADD("maincpu", M6809, 12000000/8)
393388   MDRV_CPU_PROGRAM_MAP(memmap)
394389
r9191r9192
415410   MDRV_SOUND_ADD("ymsnd", YM2203, 12000000/8)
416411   MDRV_SOUND_CONFIG(ym2203_config)
417412   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
418MACHINE_DRIVER_END
413MACHINE_CONFIG_END
419414
420415
421416ROM_START( chanbara )
src/mame/drivers/btime.c
r9191r9192
14871487   state->protection_ret = 0;
14881488}
14891489
1490static MACHINE_DRIVER_START( btime )
1490static MACHINE_CONFIG_START( btime, btime_state )
14911491
1492   /* driver data */
1493   MDRV_DRIVER_DATA(btime_state)
1494
14951492   /* basic machine hardware */
14961493   MDRV_CPU_ADD("maincpu", M6502, HCLK2)   /* seletable between H2/H4 via jumper */
14971494   MDRV_CPU_PROGRAM_MAP(btime_map)
r9191r9192
15331530   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
15341531   MDRV_SOUND_CONFIG_DISCRETE(btime_sound)
15351532   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1536MACHINE_DRIVER_END
1533MACHINE_CONFIG_END
15371534
15381535
1539static MACHINE_DRIVER_START( cookrace )
1536static MACHINE_CONFIG_DERIVED( cookrace, btime )
15401537
15411538   /* basic machine hardware */
1542   MDRV_IMPORT_FROM(btime)
15431539   MDRV_CPU_MODIFY("maincpu")
15441540   MDRV_CPU_PROGRAM_MAP(cookrace_map)
15451541
r9191r9192
15511547   MDRV_PALETTE_LENGTH(16)
15521548
15531549   MDRV_VIDEO_UPDATE(cookrace)
1554MACHINE_DRIVER_END
1550MACHINE_CONFIG_END
15551551
15561552
1557static MACHINE_DRIVER_START( lnc )
1553static MACHINE_CONFIG_DERIVED( lnc, btime )
15581554
15591555   /* basic machine hardware */
1560   MDRV_IMPORT_FROM(btime)
15611556   MDRV_CPU_MODIFY("maincpu")
15621557   MDRV_CPU_PROGRAM_MAP(lnc_map)
15631558
r9191r9192
15691564
15701565   MDRV_PALETTE_INIT(lnc)
15711566   MDRV_VIDEO_UPDATE(lnc)
1572MACHINE_DRIVER_END
1567MACHINE_CONFIG_END
15731568
15741569
1575static MACHINE_DRIVER_START( wtennis )
1570static MACHINE_CONFIG_DERIVED( wtennis, lnc )
15761571
15771572   /* basic machine hardware */
1578   MDRV_IMPORT_FROM(lnc)
15791573
15801574   /* video hardware */
15811575   MDRV_VIDEO_UPDATE(eggs)
1582MACHINE_DRIVER_END
1576MACHINE_CONFIG_END
15831577
15841578
1585static MACHINE_DRIVER_START( mmonkey )
1579static MACHINE_CONFIG_DERIVED( mmonkey, wtennis )
15861580
15871581   /* basic machine hardware */
1588   MDRV_IMPORT_FROM(wtennis)
15891582   MDRV_CPU_MODIFY("maincpu")
15901583   MDRV_CPU_PROGRAM_MAP(mmonkey_map)
15911584
15921585   MDRV_MACHINE_START(mmonkey)
15931586   MDRV_MACHINE_RESET(mmonkey)
1594MACHINE_DRIVER_END
1587MACHINE_CONFIG_END
15951588
1596static MACHINE_DRIVER_START( sdtennis )
1589static MACHINE_CONFIG_DERIVED( sdtennis, btime )
15971590
15981591   /* basic machine hardware */
1599   MDRV_IMPORT_FROM(btime)
16001592   MDRV_CPU_MODIFY("maincpu")
16011593   MDRV_CPU_CLOCK(HCLK4)
16021594   MDRV_CPU_PROGRAM_MAP(bnj_map)
r9191r9192
16071599
16081600   MDRV_VIDEO_START(bnj)
16091601   MDRV_VIDEO_UPDATE(bnj)
1610MACHINE_DRIVER_END
1602MACHINE_CONFIG_END
16111603
16121604
1613static MACHINE_DRIVER_START( bnj )
1605static MACHINE_CONFIG_DERIVED( bnj, sdtennis )
16141606
16151607   /* basic machine hardware */
1616   MDRV_IMPORT_FROM(sdtennis)
16171608
16181609   /* video hardware */
16191610   MDRV_DEVICE_MODIFY("screen")
16201611   MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) // 256 * 240, confirmed
1621MACHINE_DRIVER_END
1612MACHINE_CONFIG_END
16221613
16231614
1624static MACHINE_DRIVER_START( zoar )
1615static MACHINE_CONFIG_DERIVED( zoar, btime )
16251616
16261617   /* basic machine hardware */
1627   MDRV_IMPORT_FROM(btime)
16281618   MDRV_CPU_MODIFY("maincpu")
16291619   MDRV_CPU_PROGRAM_MAP(zoar_map)
16301620
r9191r9192
16431633
16441634   MDRV_SOUND_REPLACE("ay2", AY8910, HCLK1)
16451635   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.23)
1646MACHINE_DRIVER_END
1636MACHINE_CONFIG_END
16471637
16481638
1649static MACHINE_DRIVER_START( disco )
1639static MACHINE_CONFIG_DERIVED( disco, btime )
16501640
16511641   /* basic machine hardware */
1652   MDRV_IMPORT_FROM(btime)
16531642   MDRV_CPU_MODIFY("maincpu")
16541643   MDRV_CPU_CLOCK(HCLK4)
16551644   MDRV_CPU_PROGRAM_MAP(disco_map)
r9191r9192
16621651   MDRV_PALETTE_LENGTH(32)
16631652
16641653   MDRV_VIDEO_UPDATE(disco)
1665MACHINE_DRIVER_END
1654MACHINE_CONFIG_END
16661655
16671656
1668static MACHINE_DRIVER_START( tisland )
1657static MACHINE_CONFIG_DERIVED( tisland, btime )
16691658
16701659   /* basic machine hardware */
1671   MDRV_IMPORT_FROM(btime)
16721660   MDRV_CPU_MODIFY("maincpu")
16731661   MDRV_CPU_PROGRAM_MAP(tisland_map)
16741662
16751663   /* video hardware */
16761664   MDRV_GFXDECODE(zoar)
1677MACHINE_DRIVER_END
1665MACHINE_CONFIG_END
16781666
16791667
16801668/***************************************************************************
src/mame/drivers/m14.c
r9191r9192
5353#include "cpu/i8085/i8085.h"
5454
5555
56class m14_state : public driver_data_t
56class m14_state : public driver_device
5757{
5858public:
59   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, m14_state(machine)); }
59   m14_state(running_machine &machine, const driver_device_config_base &config)
60      : driver_device(machine, config) { }
6061
61   m14_state(running_machine &machine)
62      : driver_data_t(machine) { }
63
6462   /* video-related */
6563   tilemap_t  *m14_tilemap;
6664   UINT8 *  video_ram;
r9191r9192
330328}
331329
332330
333static MACHINE_DRIVER_START( m14 )
331static MACHINE_CONFIG_START( m14, m14_state )
334332
335   /* driver data */
336   MDRV_DRIVER_DATA(m14_state)
337
338333   /* basic machine hardware */
339334   MDRV_CPU_ADD("maincpu",I8085A,6000000/2) //guess: 6 Mhz internally divided by 2
340335   MDRV_CPU_PROGRAM_MAP(m14_map)
r9191r9192
364359//  MDRV_SOUND_ADD("discrete", DISCRETE, 0)
365360//  MDRV_SOUND_CONFIG_DISCRETE(m14)
366361//  MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
367MACHINE_DRIVER_END
362MACHINE_CONFIG_END
368363
369364/***************************************************************************
370365
src/mame/drivers/nova2001.c
r9191r9192
680680 *
681681 *************************************/
682682
683static MACHINE_DRIVER_START( nova2001 )
683static MACHINE_CONFIG_START( nova2001, driver_device )
684684
685685   /* basic machine hardware */
686686   MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4)   // 3 MHz verified on schematics
r9191r9192
711711   MDRV_SOUND_ADD("ay2", AY8910, MAIN_CLOCK/6)
712712   MDRV_SOUND_CONFIG(nova2001_ay8910_interface_2)
713713   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
714MACHINE_DRIVER_END
714MACHINE_CONFIG_END
715715
716static MACHINE_DRIVER_START( ninjakun )
716static MACHINE_CONFIG_START( ninjakun, driver_device )
717717
718718   /* basic machine hardware */
719719   MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4)   // 3 MHz
r9191r9192
752752   MDRV_SOUND_ADD("ay2", AY8910, MAIN_CLOCK/4)   // 3 MHz
753753   MDRV_SOUND_CONFIG(nova2001_ay8910_interface_1)
754754   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
755MACHINE_DRIVER_END
755MACHINE_CONFIG_END
756756
757static MACHINE_DRIVER_START( pkunwar )
757static MACHINE_CONFIG_START( pkunwar, driver_device )
758758
759759   /* basic machine hardware */
760760   MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4)   // 3 MHz
r9191r9192
786786   MDRV_SOUND_ADD("ay2", AY8910, MAIN_CLOCK/8)
787787   MDRV_SOUND_CONFIG(pkunwar_ay8910_interface_2)
788788   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
789MACHINE_DRIVER_END
789MACHINE_CONFIG_END
790790
791static MACHINE_DRIVER_START( raiders5 )
791static MACHINE_CONFIG_START( raiders5, driver_device )
792792
793793   /* basic machine hardware */
794794   MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4)   // 3 MHz
r9191r9192
825825   MDRV_SOUND_ADD("ay2", AY8910, MAIN_CLOCK/8)
826826   MDRV_SOUND_CONFIG(pkunwar_ay8910_interface_2)
827827   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
828MACHINE_DRIVER_END
828MACHINE_CONFIG_END
829829
830830
831831
src/mame/drivers/jantotsu.c
r9191r9192
9999#include "sound/sn76496.h"
100100#include "sound/msm5205.h"
101101
102class jantotsu_state : public driver_data_t
102class jantotsu_state : public driver_device
103103{
104104public:
105   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jantotsu_state(machine)); }
105   jantotsu_state(running_machine &machine, const driver_device_config_base &config)
106      : driver_device(machine, config) { }
106107
107   jantotsu_state(running_machine &machine)
108      : driver_data_t(machine) { }
109
110108   /* video-related */
111109   UINT8    *bitmap;
112110   UINT8    vram_bank, col_bank;
r9191r9192
503501   state->adpcm_trigger = 0;
504502}
505503
506static MACHINE_DRIVER_START( jantotsu )
504static MACHINE_CONFIG_START( jantotsu, jantotsu_state )
507505
508   /* driver data */
509   MDRV_DRIVER_DATA(jantotsu_state)
510
511506   /* basic machine hardware */
512507   MDRV_CPU_ADD("maincpu", Z80,18432000/4)
513508   MDRV_CPU_PROGRAM_MAP(jantotsu_map)
r9191r9192
543538   MDRV_SOUND_ADD("adpcm", MSM5205, 384000)
544539   MDRV_SOUND_CONFIG(msm5205_config)
545540   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
546MACHINE_DRIVER_END
541MACHINE_CONFIG_END
547542
548543
549544/*************************************
src/mame/drivers/vp101.c
r9191r9192
5555   100000000         /* system (bus) clock */
5656};
5757
58static MACHINE_DRIVER_START( vp101 )
58static MACHINE_CONFIG_START( vp101, driver_device )
5959   MDRV_CPU_ADD("maincpu", R5000LE, 300000000)   /* actually VR5500 with added NEC VR-series custom instructions */
6060   MDRV_CPU_CONFIG(r5000_config)
6161   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
7070
7171   MDRV_VIDEO_START(vp101)
7272   MDRV_VIDEO_UPDATE(vp101)
73MACHINE_DRIVER_END
73MACHINE_CONFIG_END
7474
7575ROM_START(jnero)
7676   ROM_REGION(0x100000, "maincpu", 0)   /* Boot ROM */
src/mame/drivers/chsuper.c
r9191r9192
1313#include "emu.h"
1414#include "cpu/z180/z180.h"
1515#include "sound/dac.h"
16#include "machine/nvram.h"
1617
1718static int chsuper_tilexor;
1819
r9191r9192
9495   AM_RANGE(0x00000, 0x0efff) AM_ROM
9596   AM_RANGE(0x00000, 0x01fff) AM_WRITE( chsuper_vram_w )
9697   AM_RANGE(0x0f000, 0x0ffff) AM_RAM AM_REGION("maincpu", 0xf000)
97   AM_RANGE(0xfb000, 0xfbfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
98   AM_RANGE(0xfb000, 0xfbfff) AM_RAM AM_SHARE("nvram")
9899ADDRESS_MAP_END
99100
100//  AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE("oki", okim6295_w)
101//  AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
101102
102103static ADDRESS_MAP_START( chsuper_portmap, ADDRESS_SPACE_IO, 8 )
103104   AM_RANGE( 0x0000, 0x003f ) AM_RAM // Z180 internal regs
r9191r9192
189190   GFXDECODE_ENTRY( "gfx1", 0x00000, charlayout,   0, 1 )
190191GFXDECODE_END
191192
192static MACHINE_DRIVER_START( chsuper )
193static MACHINE_CONFIG_START( chsuper, driver_device )
193194
194195   /* basic machine hardware */
195196   MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2)   /* HD64180RP8, 8 MHz? */
r9191r9192
205206   MDRV_SCREEN_SIZE(64*8, 64*8)
206207   MDRV_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0, 30*8-1)
207208
208   MDRV_NVRAM_HANDLER( generic_0fill )
209   MDRV_NVRAM_ADD_0FILL("nvram")
209210
210211   MDRV_GFXDECODE(chsuper)
211212   MDRV_PALETTE_LENGTH(0x100)
r9191r9192
218219
219220   MDRV_SOUND_ADD("dac", DAC, 0)
220221   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
221MACHINE_DRIVER_END
222MACHINE_CONFIG_END
222223
223224
224225/*  ROM Regions definition
src/mame/drivers/mermaid.c
r9191r9192
356356   state->rougien_gfxbank2 = 0;
357357}
358358
359static MACHINE_DRIVER_START( mermaid )
359static MACHINE_CONFIG_START( mermaid, mermaid_state )
360360
361   /* driver data */
362   MDRV_DRIVER_DATA(mermaid_state)
363
364361   /* basic machine hardware */
365362   MDRV_CPU_ADD("maincpu", Z80, 4000000)   // ???
366363   MDRV_CPU_PROGRAM_MAP(mermaid_map)
r9191r9192
393390
394391   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
395392   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
396MACHINE_DRIVER_END
393MACHINE_CONFIG_END
397394
398395/* ROMs */
399396
src/mame/drivers/gaelco3d.c
r9191r9192
171171static offs_t adsp_ireg_base, adsp_incs, adsp_size;
172172static dmadac_sound_device *dmadac[SOUND_CHANNELS];
173173
174static void adsp_tx_callback(cpu_device &device, int port, INT32 data);
174static void adsp_tx_callback(adsp21xx_device &device, int port, INT32 data);
175175
176176
177177/*************************************
r9191r9192
599599}
600600
601601
602static void adsp_tx_callback(cpu_device &device, int port, INT32 data)
602static void adsp_tx_callback(adsp21xx_device &device, int port, INT32 data)
603603{
604604   /* check if it's for SPORT1 */
605605   if (port != 1)
r9191r9192
846846   PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_SPECIAL) PORT_CUSTOM(analog_bit_r, (void *)3)
847847
848848   PORT_START("IN3")
849   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )      // verified
849   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN2 )      // verified
850850   PORT_SERVICE_NO_TOGGLE( 0x0200, IP_ACTIVE_LOW )      // verified
851851   PORT_BIT( 0xfc00, IP_ACTIVE_LOW, IPT_UNKNOWN )
852852
r9191r9192
953953};
954954
955955
956static MACHINE_DRIVER_START( gaelco3d )
956static MACHINE_CONFIG_START( gaelco3d, driver_device )
957957
958958   /* basic machine hardware */
959959   MDRV_CPU_ADD("maincpu", M68000, 15000000)
r9191r9192
965965   MDRV_CPU_PROGRAM_MAP(tms_map)
966966
967967   MDRV_CPU_ADD("adsp", ADSP2115, 16000000)
968   MDRV_CPU_CONFIG(adsp_config)
968   MDRV_ADSP21XX_CONFIG(adsp_config)
969969   MDRV_CPU_PROGRAM_MAP(adsp_program_map)
970970   MDRV_CPU_DATA_MAP(adsp_data_map)
971971
r9191r9192
10061006
10071007   MDRV_SOUND_ADD("dac4", DMADAC, 0)
10081008   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)   /* speedup: seat speaker */
1009MACHINE_DRIVER_END
1009MACHINE_CONFIG_END
10101010
10111011
1012static MACHINE_DRIVER_START( gaelco3d2 )
1013   MDRV_IMPORT_FROM(gaelco3d)
1012static MACHINE_CONFIG_DERIVED( gaelco3d2, gaelco3d )
10141013
10151014   /* basic machine hardware */
10161015   MDRV_CPU_REPLACE("maincpu", M68EC020, 25000000)
r9191r9192
10211020   MDRV_CPU_CLOCK(50000000)
10221021
10231022   MDRV_MACHINE_RESET(gaelco3d2)
1024MACHINE_DRIVER_END
1023MACHINE_CONFIG_END
10251024
10261025
10271026
src/mame/drivers/avalnche.c
r9191r9192
230230   state->avalance_video_inverted = 0;
231231}
232232
233static MACHINE_DRIVER_START( avalnche )
233static MACHINE_CONFIG_START( avalnche, avalnche_state )
234234
235   /* driver data */
236   MDRV_DRIVER_DATA(avalnche_state)
237
238235   /* basic machine hardware */
239236   MDRV_CPU_ADD("maincpu", M6502,MASTER_CLOCK/16)      /* clock input is the "2H" signal divided by two */
240237   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
259256   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
260257   MDRV_SOUND_CONFIG_DISCRETE(avalnche)
261258   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
262MACHINE_DRIVER_END
259MACHINE_CONFIG_END
263260
264261
265262
src/mame/drivers/dcon.c
r9191r9192
1616#include "cpu/m68000/m68000.h"
1717#include "cpu/z80/z80.h"
1818#include "audio/seibu.h"
19#include "includes/dcon.h"
1920
20WRITE16_HANDLER( dcon_gfxbank_w );
21WRITE16_HANDLER( dcon_background_w );
22WRITE16_HANDLER( dcon_foreground_w );
23WRITE16_HANDLER( dcon_midground_w );
24WRITE16_HANDLER( dcon_text_w );
25WRITE16_HANDLER( dcon_control_w );
26READ16_HANDLER( dcon_control_r );
27
28VIDEO_START( dcon );
29VIDEO_UPDATE( dcon );
30VIDEO_UPDATE( sdgndmps );
31
32extern UINT16 *dcon_back_data,*dcon_fore_data,*dcon_mid_data,*dcon_scroll_ram,*dcon_textram;
33
3421/***************************************************************************/
3522
3623static ADDRESS_MAP_START( dcon_map, ADDRESS_SPACE_PROGRAM, 16 )
r9191r9192
256243
257244/******************************************************************************/
258245
259static MACHINE_DRIVER_START( dcon )
246static MACHINE_CONFIG_START( dcon, driver_device )
260247
261248   /* basic machine hardware */
262249   MDRV_CPU_ADD("maincpu", M68000, 10000000)
r9191r9192
283270
284271   /* sound hardware */
285272   SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(4000000,1320000)
286MACHINE_DRIVER_END
273MACHINE_CONFIG_END
287274
288static MACHINE_DRIVER_START( sdgndmps )
275static MACHINE_CONFIG_START( sdgndmps, driver_device )
289276
290277   /* basic machine hardware */
291278   MDRV_CPU_ADD("maincpu", M68000, 10000000)
r9191r9192
312299
313300   /* sound hardware */
314301   SEIBU_SOUND_SYSTEM_YM2151_INTERFACE(14318180/4,1320000)
315MACHINE_DRIVER_END
302MACHINE_CONFIG_END
316303
317304/***************************************************************************/
318305
src/mame/drivers/photon2.c
r9191r9192
296296   memory_set_bankptr(machine, "bank1", memory_region(machine, "maincpu"));
297297}
298298
299static MACHINE_DRIVER_START( photon2 )
299static MACHINE_CONFIG_START( photon2, driver_device )
300300   /* basic machine hardware */
301301   MDRV_CPU_ADD("maincpu", Z80, 3500000)        /* 3.5 MHz */
302302   MDRV_CPU_PROGRAM_MAP(spectrum_mem)
r9191r9192
322322
323323   /* sound hardware */
324324   MDRV_SPEAKER_STANDARD_MONO("mono")
325   MDRV_SOUND_ADD("speaker", SPEAKER, 0)
325   MDRV_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
326326   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
327327
328MACHINE_DRIVER_END
328MACHINE_CONFIG_END
329329
330330/*************************************
331331 *
src/mame/drivers/gstriker.c
r9191r9192
546546
547547/*** MACHINE DRIVER **********************************************************/
548548
549static MACHINE_DRIVER_START( gstriker )
549static MACHINE_CONFIG_START( gstriker, driver_device )
550550   MDRV_CPU_ADD("maincpu", M68000, 10000000)
551551   MDRV_CPU_PROGRAM_MAP(gstriker_map)
552552   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
r9191r9192
578578   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
579579   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
580580   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
581MACHINE_DRIVER_END
581MACHINE_CONFIG_END
582582
583static MACHINE_DRIVER_START( twrldc94 )
584   MDRV_IMPORT_FROM( gstriker )
583static MACHINE_CONFIG_DERIVED( twrldc94, gstriker )
585584   MDRV_VIDEO_START( twrldc94 )
586MACHINE_DRIVER_END
585MACHINE_CONFIG_END
587586
588587
589static MACHINE_DRIVER_START( vgoal )
588static MACHINE_CONFIG_START( vgoal, driver_device )
590589   MDRV_CPU_ADD("maincpu", M68000, 16000000)
591590   MDRV_CPU_PROGRAM_MAP(vgoal_map)
592591   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
r9191r9192
618617   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
619618   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
620619   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
621MACHINE_DRIVER_END
620MACHINE_CONFIG_END
622621
623622
624623
src/mame/drivers/snk.c
r9191r9192
36253625
36263626/**********************************************************************/
36273627
3628static MACHINE_DRIVER_START( marvins )
3628static MACHINE_CONFIG_START( marvins, snk_state )
36293629
3630   MDRV_DRIVER_DATA( snk_state )
3631
36323630   /* basic machine hardware */
36333631   MDRV_CPU_ADD("maincpu", Z80, 3360000)   /* 3.36 MHz */
36343632   MDRV_CPU_PROGRAM_MAP(marvins_cpuA_map)
r9191r9192
36723670
36733671   MDRV_SOUND_ADD("wave", SNKWAVE, 8000000)   /* verified on schematics */
36743672   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
3675MACHINE_DRIVER_END
3673MACHINE_CONFIG_END
36763674
36773675
3678static MACHINE_DRIVER_START( vangrd2 )
3676static MACHINE_CONFIG_DERIVED( vangrd2, marvins )
36793677
3680   MDRV_IMPORT_FROM(marvins)
3681
36823678   /* basic machine hardware */
36833679   MDRV_CPU_MODIFY("maincpu")
36843680   MDRV_CPU_PROGRAM_MAP(madcrash_cpuA_map)
36853681
36863682   MDRV_CPU_MODIFY("sub")
36873683   MDRV_CPU_PROGRAM_MAP(madcrash_cpuB_map)
3688MACHINE_DRIVER_END
3684MACHINE_CONFIG_END
36893685
36903686
3691static MACHINE_DRIVER_START( madcrush )
3687static MACHINE_CONFIG_DERIVED( madcrush, marvins )
36923688
3693   MDRV_IMPORT_FROM(marvins)
3694
36953689   /* basic machine hardware */
36963690   MDRV_CPU_MODIFY("maincpu")
36973691   MDRV_CPU_PROGRAM_MAP(madcrush_cpuA_map)
36983692
36993693   MDRV_CPU_MODIFY("sub")
37003694   MDRV_CPU_PROGRAM_MAP(madcrush_cpuB_map)
3701MACHINE_DRIVER_END
3695MACHINE_CONFIG_END
37023696
37033697
3704static MACHINE_DRIVER_START( jcross )
3698static MACHINE_CONFIG_START( jcross, snk_state )
37053699
3706   MDRV_DRIVER_DATA( snk_state )
3707
37083700   /* basic machine hardware */
37093701   MDRV_CPU_ADD("maincpu", Z80, 3350000) /* NOT verified */
37103702   MDRV_CPU_PROGRAM_MAP(jcross_cpuA_map)
r9191r9192
37453737
37463738   MDRV_SOUND_ADD("ay2", AY8910, 2000000)   /* NOT verified */
37473739   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
3748MACHINE_DRIVER_END
3740MACHINE_CONFIG_END
37493741
37503742
3751static MACHINE_DRIVER_START( sgladiat )
3743static MACHINE_CONFIG_DERIVED( sgladiat, jcross )
37523744
3753   MDRV_IMPORT_FROM(jcross)
3754
37553745   /* basic machine hardware */
37563746   MDRV_CPU_MODIFY("maincpu")
37573747   MDRV_CPU_PROGRAM_MAP(sgladiat_cpuA_map)
r9191r9192
37643754       of the screen when the Debug dip switch is on */
37653755
37663756   MDRV_VIDEO_START(sgladiat)
3767MACHINE_DRIVER_END
3757MACHINE_CONFIG_END
37683758
37693759
3770static MACHINE_DRIVER_START( hal21 )
3760static MACHINE_CONFIG_DERIVED( hal21, jcross )
37713761
3772   MDRV_IMPORT_FROM(jcross)
3773
37743762   /* basic machine hardware */
37753763   MDRV_CPU_MODIFY("maincpu")
37763764   MDRV_CPU_PROGRAM_MAP(hal21_cpuA_map)
r9191r9192
37853773
37863774   /* video hardware */
37873775   MDRV_VIDEO_START(hal21)
3788MACHINE_DRIVER_END
3776MACHINE_CONFIG_END
37893777
37903778
3791static MACHINE_DRIVER_START( tnk3 )
3779static MACHINE_CONFIG_START( tnk3, snk_state )
37923780
3793   MDRV_DRIVER_DATA( snk_state )
3794
37953781   /* basic machine hardware */
37963782   MDRV_CPU_ADD("maincpu", Z80, XTAL_13_4MHz/4) /* verified on pcb */
37973783   MDRV_CPU_PROGRAM_MAP(tnk3_cpuA_map)
r9191r9192
38283814   MDRV_SOUND_ADD("ym1", YM3526, XTAL_8MHz/2) /* verified on pcb */
38293815   MDRV_SOUND_CONFIG(ym3526_config_1)
38303816   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
3831MACHINE_DRIVER_END
3817MACHINE_CONFIG_END
38323818
38333819
3834static MACHINE_DRIVER_START( aso )
3820static MACHINE_CONFIG_DERIVED( aso, tnk3 )
38353821
3836   MDRV_IMPORT_FROM(tnk3)
3837
38383822   /* basic machine hardware */
38393823   MDRV_CPU_MODIFY("maincpu")
38403824   MDRV_CPU_PROGRAM_MAP(aso_cpuA_map)
r9191r9192
38473831
38483832   /* video hardware */
38493833   MDRV_VIDEO_START(aso)
3850MACHINE_DRIVER_END
3834MACHINE_CONFIG_END
38513835
38523836
3853static MACHINE_DRIVER_START( athena )
3837static MACHINE_CONFIG_DERIVED( athena, tnk3 )
38543838
3855   MDRV_IMPORT_FROM(tnk3)
3856
38573839   /* basic machine hardware */
38583840   MDRV_CPU_MODIFY("audiocpu")
38593841   MDRV_CPU_PROGRAM_MAP(YM3526_YM3526_sound_map)
r9191r9192
38623844   MDRV_SOUND_ADD("ym2", YM3526, XTAL_8MHz/2) /* verified on pcb */
38633845   MDRV_SOUND_CONFIG(ym3526_config_2)
38643846   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
3865MACHINE_DRIVER_END
3847MACHINE_CONFIG_END
38663848
38673849
3868static MACHINE_DRIVER_START( fitegolf )
3850static MACHINE_CONFIG_DERIVED( fitegolf, tnk3 )
38693851
3870   MDRV_IMPORT_FROM(tnk3)
3871
38723852   /* basic machine hardware */
38733853   MDRV_CPU_MODIFY("audiocpu")
38743854   // xtal is 4MHz instead of 8MHz/2 but the end result is the same
r9191r9192
38783858   MDRV_SOUND_REPLACE("ym1", YM3812, XTAL_4MHz) /* verified on pcb */
38793859   MDRV_SOUND_CONFIG(ym3812_config_1)
38803860   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
3881MACHINE_DRIVER_END
3861MACHINE_CONFIG_END
38823862
38833863
3884static MACHINE_DRIVER_START( ikari )
3864static MACHINE_CONFIG_START( ikari, snk_state )
38853865
3886   MDRV_DRIVER_DATA( snk_state )
3887
38883866   /* basic machine hardware */
38893867   MDRV_CPU_ADD("maincpu", Z80, XTAL_13_4MHz/4) /* verified on pcb */
38903868   MDRV_CPU_PROGRAM_MAP(ikari_cpuA_map)
r9191r9192
39253903   MDRV_SOUND_ADD("ym2", YM3526, XTAL_8MHz/2) /* verified on pcb */
39263904   MDRV_SOUND_CONFIG(ym3526_config_2)
39273905   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
3928MACHINE_DRIVER_END
3906MACHINE_CONFIG_END
39293907
39303908
3931static MACHINE_DRIVER_START( victroad )
3909static MACHINE_CONFIG_DERIVED( victroad, ikari )
39323910
3933   MDRV_IMPORT_FROM(ikari)
3934
39353911   /* basic machine hardware */
39363912   MDRV_CPU_MODIFY("audiocpu")
39373913   MDRV_CPU_PROGRAM_MAP(YM3526_Y8950_sound_map)
r9191r9192
39403916   MDRV_SOUND_REPLACE("ym2", Y8950, XTAL_8MHz/2) /* verified on pcb */
39413917   MDRV_SOUND_CONFIG(y8950_config_2)
39423918   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
3943MACHINE_DRIVER_END
3919MACHINE_CONFIG_END
39443920
39453921
3946static MACHINE_DRIVER_START( bermudat )
3922static MACHINE_CONFIG_START( bermudat, snk_state )
39473923
3948   MDRV_DRIVER_DATA( snk_state )
3949
39503924   /* basic machine hardware */
39513925   MDRV_CPU_ADD("maincpu", Z80, XTAL_8MHz/2) /* verified on pcb */
39523926   MDRV_CPU_PROGRAM_MAP(bermudat_cpuA_map)
r9191r9192
39863960   MDRV_SOUND_ADD("ym2", Y8950, XTAL_8MHz/2) /* verified on pcb */
39873961   MDRV_SOUND_CONFIG(y8950_config_2)
39883962   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
3989MACHINE_DRIVER_END
3963MACHINE_CONFIG_END
39903964
39913965
3992static MACHINE_DRIVER_START( psychos )
3966static MACHINE_CONFIG_DERIVED( psychos, bermudat )
39933967
3994   MDRV_IMPORT_FROM(bermudat)
3995
39963968   /* video hardware */
39973969   MDRV_VIDEO_START(psychos)
3998MACHINE_DRIVER_END
3970MACHINE_CONFIG_END
39993971
40003972
4001static MACHINE_DRIVER_START( gwar )
3973static MACHINE_CONFIG_DERIVED( gwar, bermudat )
40023974
4003   MDRV_IMPORT_FROM(bermudat)
4004
40053975   /* basic machine hardware */
40063976   MDRV_CPU_MODIFY("maincpu")
40073977   MDRV_CPU_PROGRAM_MAP(gwar_cpuA_map)
r9191r9192
40093979   MDRV_CPU_MODIFY("sub")
40103980   MDRV_CPU_PROGRAM_MAP(gwar_cpuB_map)
40113981
4012MACHINE_DRIVER_END
3982MACHINE_CONFIG_END
40133983
40143984
4015static MACHINE_DRIVER_START( gwara )
3985static MACHINE_CONFIG_DERIVED( gwara, bermudat )
40163986
4017   MDRV_IMPORT_FROM(bermudat)
4018
40193987   /* basic machine hardware */
40203988   MDRV_CPU_MODIFY("maincpu")
40213989   MDRV_CPU_PROGRAM_MAP(gwara_cpuA_map)
40223990
40233991   MDRV_CPU_MODIFY("sub")
40243992   MDRV_CPU_PROGRAM_MAP(gwara_cpuB_map)
4025MACHINE_DRIVER_END
3993MACHINE_CONFIG_END
40263994
40273995
4028static MACHINE_DRIVER_START( chopper1 )
3996static MACHINE_CONFIG_DERIVED( chopper1, bermudat )
40293997
4030   MDRV_IMPORT_FROM(bermudat)
4031
40323998   /* basic machine hardware */
40333999   MDRV_CPU_MODIFY("sub")
40344000   MDRV_CPU_PROGRAM_MAP(gwar_cpuB_map)
r9191r9192
40464012   MDRV_SOUND_REPLACE("ym1", YM3812, 4000000)
40474013   MDRV_SOUND_CONFIG(ym3812_config_1)
40484014   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4049MACHINE_DRIVER_END
4015MACHINE_CONFIG_END
40504016
40514017
4052static MACHINE_DRIVER_START( choppera )
4018static MACHINE_CONFIG_DERIVED( choppera, chopper1 )
40534019
4054   MDRV_IMPORT_FROM(chopper1)
4055
40564020   /* basic machine hardware */
40574021   MDRV_CPU_MODIFY("maincpu")
40584022   MDRV_CPU_PROGRAM_MAP(gwar_cpuA_map)
4059MACHINE_DRIVER_END
4023MACHINE_CONFIG_END
40604024
40614025
4062static MACHINE_DRIVER_START( tdfever )
4026static MACHINE_CONFIG_START( tdfever, snk_state )
40634027
4064   MDRV_DRIVER_DATA( snk_state )
4065
40664028   /* basic machine hardware */
40674029   MDRV_CPU_ADD("maincpu", Z80, 4000000)
40684030   MDRV_CPU_PROGRAM_MAP(tdfever_cpuA_map)
r9191r9192
41034065   MDRV_SOUND_ADD("ym2", Y8950, 4000000)
41044066   MDRV_SOUND_CONFIG(y8950_config_2)
41054067   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4106MACHINE_DRIVER_END
4068MACHINE_CONFIG_END
41074069
41084070
4109static MACHINE_DRIVER_START( tdfever2 )
4071static MACHINE_CONFIG_DERIVED( tdfever2, tdfever )
41104072
4111   MDRV_IMPORT_FROM(tdfever)
4112
41134073   /* basic machine hardware */
41144074   MDRV_CPU_MODIFY("audiocpu")
41154075   MDRV_CPU_PROGRAM_MAP(Y8950_sound_map)
r9191r9192
41194079   // apparently, no "ym1" in tdfever2
41204080   // (registers are written to but they cause sound not to work)
41214081   MDRV_DEVICE_REMOVE("ym1")
4122MACHINE_DRIVER_END
4082MACHINE_CONFIG_END
41234083
41244084
41254085/***********************************************************************/
src/mame/drivers/highvdeo.c
r9191r9192
8686#include "cpu/nec/nec.h"
8787#include "cpu/i86/i86.h"
8888#include "sound/okim6376.h"
89#include "machine/nvram.h"
8990#include "fashion.lh"
9091
9192static UINT16 *blit_ram;
r9191r9192
255256
256257static ADDRESS_MAP_START( tv_vcf_map, ADDRESS_SPACE_PROGRAM, 16 )
257258   AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
258   AM_RANGE(0x00400, 0x03fff) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
259   AM_RANGE(0x00400, 0x03fff) AM_RAM AM_SHARE("nvram")
259260   AM_RANGE(0x40000, 0x4ffff) AM_RAM AM_BASE(&blit_ram) /*blitter ram*/
260261   AM_RANGE(0x80000, 0xbffff) AM_ROMBANK("bank1")
261262   AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
r9191r9192
294295}
295296static ADDRESS_MAP_START( tv_ncf_map, ADDRESS_SPACE_PROGRAM, 16 )
296297   AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
297   AM_RANGE(0x00400, 0x03fff) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
298   AM_RANGE(0x00400, 0x03fff) AM_RAM AM_SHARE("nvram")
298299   AM_RANGE(0x20000, 0x2ffff) AM_RAM AM_BASE(&blit_ram) /*blitter ram*/
299300   AM_RANGE(0x40000, 0xbffff) AM_ROM AM_REGION("user1",0x40000)
300301   AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
r9191r9192
337338
338339static ADDRESS_MAP_START( tv_tcf_map, ADDRESS_SPACE_PROGRAM, 16 )
339340   AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
340   AM_RANGE(0x00400, 0x03fff) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
341   AM_RANGE(0x00400, 0x03fff) AM_RAM AM_SHARE("nvram")
341342   AM_RANGE(0x40000, 0x5d4bf) AM_RAM AM_BASE(&blit_ram) /*blitter ram*/
342343   AM_RANGE(0x7fe00, 0x7ffff) AM_RAM_WRITE( tv_tcf_paletteram_w ) AM_BASE_GENERIC(paletteram)
343344   AM_RANGE(0x80000, 0xbffff) AM_ROMBANK("bank1")
r9191r9192
395396
396397static ADDRESS_MAP_START( newmcard_map, ADDRESS_SPACE_PROGRAM, 16 )
397398   AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
398   AM_RANGE(0x00400, 0x0ffff) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
399   AM_RANGE(0x00400, 0x0ffff) AM_RAM AM_SHARE("nvram")
399400   AM_RANGE(0x40000, 0x7ffff) AM_RAM AM_BASE(&blit_ram) /*blitter ram*/
400401   AM_RANGE(0x80000, 0xbffff) AM_ROMBANK("bank1")
401402   AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
r9191r9192
463464
464465static ADDRESS_MAP_START( brasil_map, ADDRESS_SPACE_PROGRAM, 16 )
465466   AM_RANGE(0x00000, 0x003ff) AM_RAM /*irq vector area*/
466   AM_RANGE(0x00400, 0x0ffff) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
467   AM_RANGE(0x00400, 0x0ffff) AM_RAM AM_SHARE("nvram")
467468   AM_RANGE(0x40000, 0x7ffff) AM_RAM AM_BASE(&blit_ram) /*blitter ram*/
468469   AM_RANGE(0x80000, 0xbffff) AM_ROMBANK("bank1")
469470   AM_RANGE(0xc0000, 0xfffff) AM_ROM AM_REGION("boot_prg",0)
r9191r9192
865866   cpu_set_input_line_and_vector(device,0,HOLD_LINE,0x08/4);
866867}
867868
868static MACHINE_DRIVER_START( tv_vcf )
869static MACHINE_CONFIG_START( tv_vcf, driver_device )
869870   MDRV_CPU_ADD("maincpu", V30, XTAL_12MHz/2 )   // ?
870871   MDRV_CPU_PROGRAM_MAP(tv_vcf_map)
871872   MDRV_CPU_IO_MAP(tv_vcf_io)
872873   MDRV_CPU_VBLANK_INT("screen", vblank_irq)
873874
874   MDRV_NVRAM_HANDLER(generic_0fill)
875   MDRV_NVRAM_ADD_0FILL("nvram")
875876
876877   MDRV_SCREEN_ADD("screen", RASTER)
877878   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
892893   MDRV_SOUND_ADD("oki", OKIM6376, XTAL_12MHz/2/2)
893894   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
894895
895MACHINE_DRIVER_END
896MACHINE_CONFIG_END
896897
897static MACHINE_DRIVER_START( tv_ncf )
898   MDRV_IMPORT_FROM(tv_vcf)
898static MACHINE_CONFIG_DERIVED( tv_ncf, tv_vcf )
899899
900900   MDRV_CPU_MODIFY("maincpu")
901901   MDRV_CPU_PROGRAM_MAP(tv_ncf_map)
902902   MDRV_CPU_IO_MAP(tv_ncf_io)
903903
904MACHINE_DRIVER_END
904MACHINE_CONFIG_END
905905
906static MACHINE_DRIVER_START( tv_tcf )
907   MDRV_IMPORT_FROM(tv_vcf)
906static MACHINE_CONFIG_DERIVED( tv_tcf, tv_vcf )
908907
909908   MDRV_CPU_MODIFY("maincpu")
910909   MDRV_CPU_PROGRAM_MAP(tv_tcf_map)
r9191r9192
912911
913912   MDRV_SCREEN_MODIFY("screen")
914913   MDRV_SCREEN_VISIBLE_AREA(0, 400-1, 0, 300-1)
915MACHINE_DRIVER_END
914MACHINE_CONFIG_END
916915
917static MACHINE_DRIVER_START( newmcard )
918   MDRV_IMPORT_FROM(tv_tcf)
916static MACHINE_CONFIG_DERIVED( newmcard, tv_tcf )
919917
920918   MDRV_CPU_MODIFY("maincpu")
921919   MDRV_CPU_PROGRAM_MAP(newmcard_map)
r9191r9192
923921
924922   MDRV_SCREEN_MODIFY("screen")
925923   MDRV_SCREEN_VISIBLE_AREA(0, 320-1, 0, 200-1)
926MACHINE_DRIVER_END
924MACHINE_CONFIG_END
927925
928static MACHINE_DRIVER_START( ciclone )
929   MDRV_IMPORT_FROM(tv_tcf)
926static MACHINE_CONFIG_DERIVED( ciclone, tv_tcf )
930927
931928   MDRV_DEVICE_REMOVE("maincpu")
932929
r9191r9192
934931   MDRV_CPU_PROGRAM_MAP(tv_tcf_map)
935932   MDRV_CPU_IO_MAP(tv_tcf_io)
936933   MDRV_CPU_VBLANK_INT("screen", vblank_irq)
937MACHINE_DRIVER_END
934MACHINE_CONFIG_END
938935
939static MACHINE_DRIVER_START( brasil )
936static MACHINE_CONFIG_START( brasil, driver_device )
940937   MDRV_CPU_ADD("maincpu", I80186, 20000000 )   // fashion doesn't like 20/2 Mhz
941938   MDRV_CPU_PROGRAM_MAP(brasil_map)
942939   MDRV_CPU_IO_MAP(brasil_io)
943940   MDRV_CPU_VBLANK_INT("screen", vblank_irq)
944941
945   MDRV_NVRAM_HANDLER(generic_0fill)
942   MDRV_NVRAM_ADD_0FILL("nvram")
946943
947944   MDRV_SCREEN_ADD("screen", RASTER)
948945   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
961958
962959   MDRV_SOUND_ADD("oki", OKIM6376, XTAL_12MHz/2/2)
963960   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
964MACHINE_DRIVER_END
961MACHINE_CONFIG_END
965962
966963ROM_START( tour4000 )
967964   ROM_REGION( 0x100000, "user1", 0 ) /* V30 Code */
src/mame/drivers/namconb1.c
r9191r9192
10111011
10121012#define MASTER_CLOCK_HZ 48384000
10131013
1014static MACHINE_DRIVER_START( namconb1 )
1014static MACHINE_CONFIG_START( namconb1, driver_device )
10151015   MDRV_CPU_ADD("maincpu", M68EC020,MASTER_CLOCK_HZ/2)
10161016   MDRV_CPU_PROGRAM_MAP(namconb1_am)
10171017   MDRV_CPU_VBLANK_INT("screen", namconb1_interrupt)
r9191r9192
10421042   MDRV_SOUND_ROUTE(1, "lspeaker", 1.00)
10431043   MDRV_SOUND_ROUTE(2, "rspeaker", 1.00)
10441044   MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
1045MACHINE_DRIVER_END
1045MACHINE_CONFIG_END
10461046
1047static MACHINE_DRIVER_START( namconb2 )
1047static MACHINE_CONFIG_START( namconb2, driver_device )
10481048   MDRV_CPU_ADD("maincpu", M68EC020,MASTER_CLOCK_HZ/2)
10491049   MDRV_CPU_PROGRAM_MAP(namconb2_am)
10501050   MDRV_CPU_VBLANK_INT("screen", namconb2_interrupt)
r9191r9192
10751075   MDRV_SOUND_ROUTE(1, "lspeaker", 1.00)
10761076   MDRV_SOUND_ROUTE(2, "rspeaker", 1.00)
10771077   MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
1078MACHINE_DRIVER_END
1078MACHINE_CONFIG_END
10791079
10801080/***************************************************************/
10811081
src/mame/drivers/fcrash.c
r9191r9192
725725   state->sample_select2 = 0;
726726}
727727
728static MACHINE_DRIVER_START( fcrash )
728static MACHINE_CONFIG_START( fcrash, cps_state )
729729
730   /* driver data */
731   MDRV_DRIVER_DATA(cps_state)
732
733730   /* basic machine hardware */
734731   MDRV_CPU_ADD("maincpu", M68000, 10000000)
735732   MDRV_CPU_PROGRAM_MAP(fcrash_map)
r9191r9192
778775   MDRV_SOUND_ADD("msm2", MSM5205, 24000000/64)   /* ? */
779776   MDRV_SOUND_CONFIG(msm5205_interface2)
780777   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
781MACHINE_DRIVER_END
778MACHINE_CONFIG_END
782779
783static MACHINE_DRIVER_START( kodb )
780static MACHINE_CONFIG_START( kodb, cps_state )
784781
785   /* driver data */
786   MDRV_DRIVER_DATA(cps_state)
787
788782   /* basic machine hardware */
789783   MDRV_CPU_ADD("maincpu", M68000, 10000000)
790784   MDRV_CPU_PROGRAM_MAP(kodb_map)
r9191r9192
820814
821815//  MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH) // pin 7 can be changed by the game code, see f006 on z80
822816//  MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
823MACHINE_DRIVER_END
817MACHINE_CONFIG_END
824818
825819
826820
src/mame/drivers/othello.c
r9191r9192
4747#define   TILE_WIDTH 6
4848
4949
50class othello_state : public driver_data_t
50class othello_state : public driver_device
5151{
5252public:
53   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, othello_state(machine)); }
53   othello_state(running_machine &machine, const driver_device_config_base &config)
54      : driver_device(machine, config) { }
5455
55   othello_state(running_machine &machine)
56      : driver_data_t(machine) { }
57
5856   /* memory pointers */
5957   UINT8 *  videoram;
6058
r9191r9192
410408   state->n7751_busy = 0;
411409}
412410
413static MACHINE_DRIVER_START( othello )
411static MACHINE_CONFIG_START( othello, othello_state )
414412
415   /* driver data */
416   MDRV_DRIVER_DATA(othello_state)
417
418413   /* basic machine hardware */
419414   MDRV_CPU_ADD("maincpu",Z80,XTAL_8MHz/2)
420415   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
459454
460455   MDRV_SOUND_ADD("dac", DAC, 0)
461456   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
462MACHINE_DRIVER_END
457MACHINE_CONFIG_END
463458
464459ROM_START( othello )
465460   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/f-32.c
r9191r9192
1717#include "sound/2151intf.h"
1818#include "sound/okim6295.h"
1919
20class mosaicf2_state : public driver_data_t
20class mosaicf2_state : public driver_device
2121{
2222public:
23   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mosaicf2_state(machine)); }
23   mosaicf2_state(running_machine &machine, const driver_device_config_base &config)
24      : driver_device(machine, config),
25        maincpu(*this, "maincpu") { }
2426
25   mosaicf2_state(running_machine &machine)
26      : driver_data_t(machine),
27        maincpu(machine.device<cpu_device>("maincpu")) { }
28
2927   /* memory pointers */
30   cpu_device *   maincpu;
28   required_device<e132xn_device>   maincpu;
3129   UINT32 *  videoram;
3230};
3331
r9191r9192
7472
7573
7674static ADDRESS_MAP_START( mosaicf2_io, ADDRESS_SPACE_IO, 32 )
77   AM_RANGE(0x4000, 0x4003) AM_DEVREAD8("oki", okim6295_r, 0x000000ff)
75   AM_RANGE(0x4000, 0x4003) AM_DEVREAD8_MODERN("oki", okim6295_device, read, 0x000000ff)
7876   AM_RANGE(0x4810, 0x4813) AM_DEVREAD8("ymsnd", ym2151_status_port_r, 0x000000ff)
7977   AM_RANGE(0x5000, 0x5003) AM_READ_PORT("P1")
8078   AM_RANGE(0x5200, 0x5203) AM_READ(f32_input_port_1_r)
8179   AM_RANGE(0x5400, 0x5403) AM_READ_PORT("EEPROMIN")
82   AM_RANGE(0x6000, 0x6003) AM_DEVWRITE8("oki", okim6295_w, 0x000000ff)
80   AM_RANGE(0x6000, 0x6003) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0x000000ff)
8381   AM_RANGE(0x6800, 0x6803) AM_DEVWRITE8("ymsnd", ym2151_data_port_w, 0x000000ff)
8482   AM_RANGE(0x6810, 0x6813) AM_DEVWRITE8("ymsnd", ym2151_register_port_w, 0x000000ff)
8583   AM_RANGE(0x7000, 0x7003) AM_WRITE_PORT("EEPROMCLK")
r9191r9192
131129   PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE("eeprom", eeprom_set_cs_line)
132130INPUT_PORTS_END
133131
134static MACHINE_DRIVER_START( mosaicf2 )
132static MACHINE_CONFIG_START( mosaicf2, mosaicf2_state )
135133
136   /* driver data */
137   MDRV_DRIVER_DATA(mosaicf2_state)
138
139134   /* basic machine hardware */
140135   MDRV_CPU_ADD("maincpu", E132XN, 20000000*4)   /* 4x internal multiplier */
141136   MDRV_CPU_PROGRAM_MAP(common_map)
r9191r9192
167162   MDRV_OKIM6295_ADD("oki", 1789772.5, OKIM6295_PIN7_HIGH)
168163   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
169164   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
170MACHINE_DRIVER_END
165MACHINE_CONFIG_END
171166
172167/*
173168
src/mame/drivers/strnskil.c
r9191r9192
77    19/Jun/2001 -
88
99Notes:
10 Banbam has a Fujitsu MB8841 4-Bit MCU for protection labeled SUN 8212
11 It's not known if it has internal ROM code or if rom 12 is the only
12 program code for it. Pettan Pyuu is a clone of Banbam although with
13 different levels / play fields.
10 Banbam has a Fujitsu MB8841 4-Bit MCU for protection labeled SUN 8212.
11 Its internal ROM has been imaged, manually typed, and decoded as sun-8212.ic3.
12 Pettan Pyuu is a clone of Banbam although with different levels / play fields.
1413
1514*****************************************************************************/
1615
1716#include "emu.h"
1817#include "cpu/z80/z80.h"
18#include "cpu/mb88xx/mb88xx.h"
1919#include "deprecat.h"
2020#include "sound/sn76496.h"
21#include "includes/strnskil.h"
2122
2223/****************************************************************************/
2324
24WRITE8_HANDLER( strnskil_videoram_w );
25WRITE8_HANDLER( strnskil_scrl_ctrl_w );
26
27PALETTE_INIT( strnskil );
28VIDEO_START( strnskil );
29VIDEO_UPDATE( strnskil );
30
31extern UINT8 *strnskil_xscroll;
32
33
34
3525static READ8_HANDLER( strnskil_d800_r )
3626{
37/* bit0: interrupt type?, bit1: CPU2 busack? */
38
27    /* bit0: interrupt type?, bit1: CPU2 busack? */
3928   if (cpu_getiloops(space->cpu) == 0)
4029      return 0;
4130   return 1;
r9191r9192
9382
9483   AM_RANGE(0xc000, 0xc7ff) AM_RAM
9584   AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
96   AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(strnskil_videoram_w) AM_BASE_GENERIC(videoram)
85   AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(strnskil_videoram_w) AM_BASE_MEMBER(strnskil_state, videoram)
9786
9887   AM_RANGE(0xd800, 0xd800) AM_READ(strnskil_d800_r)
9988   AM_RANGE(0xd801, 0xd801) AM_READ_PORT("DSW1")
r9191r9192
117106ADDRESS_MAP_END
118107
119108
109static ADDRESS_MAP_START( mcu_io_map, ADDRESS_SPACE_IO, 8 )
110//  AM_RANGE(MB88_PORTK,  MB88_PORTK)  AM_READ(mcu_portk_r)
111//  AM_RANGE(MB88_PORTR0, MB88_PORTR0) AM_READWRITE(mcu_portr0_r, mcu_portr0_w)
112ADDRESS_MAP_END
113
120114/****************************************************************************/
121115
122116static INPUT_PORTS_START( strnskil )
r9191r9192
321315GFXDECODE_END
322316
323317
324static MACHINE_DRIVER_START( strnskil )
318static MACHINE_CONFIG_START( strnskil, strnskil_state )
325319
326320   /* basic machine hardware */
327321   MDRV_CPU_ADD("maincpu", Z80,8000000/2) /* 4.000MHz */
r9191r9192
357351
358352   MDRV_SOUND_ADD("sn2", SN76496, 8000000/2)
359353   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
360MACHINE_DRIVER_END
354MACHINE_CONFIG_END
361355
356
357static MACHINE_CONFIG_DERIVED( banbam, strnskil )
358    MDRV_CPU_ADD("mcu", MB8841, 8000000/2)
359    MDRV_CPU_IO_MAP(mcu_io_map)
360MACHINE_CONFIG_END
361
362362/****************************************************************************/
363363
364364ROM_START( strnskil )
r9191r9192
458458   ROM_REGION( 0x0100, "user1", 0 ) /* scroll control PROM */
459459   ROM_LOAD( "16-6.59",  0x0000,  0x0100, CRC(ec4faf5b) SHA1(7ebbf50807d04105ebadec91bded069408e399ba) ) /* Prom type 24s10 */
460460
461   ROM_REGION( 0x1000, "user2", 0 ) /* protection, program code used with Fujitsu MB8841 4-Bit MCU */
461   ROM_REGION( 0x1000, "user2", 0 ) /* protection data used with Fujitsu MB8841 4-Bit MCU */
462462   ROM_LOAD( "tvg12-16.2", 0x0000,  0x1000, CRC(3abc6ba8) SHA1(15e0b0f9d068f6094e2be4f4f1dea0ff6e85686b) )
463463ROM_END
464464
r9191r9192
493493   ROM_REGION( 0x0100, "user1", 0 ) /* scroll control PROM */
494494   ROM_LOAD( "16-6.59",  0x0000,  0x0100, CRC(ec4faf5b) SHA1(7ebbf50807d04105ebadec91bded069408e399ba) ) /* Prom type 24s10 */
495495
496   ROM_REGION( 0x2000, "user2", 0 ) /* protection, program code used with Fujitsu MB8841 4-Bit MCU */
496   ROM_REGION( 0x2000, "user2", 0 ) /* protection, data used with Fujitsu MB8841 4-Bit MCU */
497497   ROM_LOAD( "ban-rom12.ic2", 0x0000,  0x2000, CRC(044bb2f6) SHA1(829b2152740061e0506c7504885d8404fb8fe360) )
498
499   ROM_REGION( 0x800, "mcu", 0 ) /* Fujitsu MB8841 4-Bit MCU internal ROM */
500   ROM_LOAD( "sun-8212.ic3", 0x000,  0x800, BAD_DUMP CRC(8869611e) SHA1(c6443f3bcb0cdb4d7b1b19afcbfe339c300f36aa) )
498501ROM_END
499502
500503static DRIVER_INIT( pettanp )
r9191r9192
518521
519522GAME( 1984, strnskil, 0,        strnskil, strnskil, 0,       ROT0, "Sun Electronics", "Strength & Skill", 0 )
520523GAME( 1984, guiness,  strnskil, strnskil, strnskil, 0,       ROT0, "Sun Electronics", "The Guiness (Japan)", 0 )
521GAME( 1984, banbam,   0,        strnskil, banbam,   banbam,  ROT0, "Sun Electronics", "BanBam", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
524GAME( 1984, banbam,   0,        banbam,  banbam,   banbam,  ROT0, "Sun Electronics", "BanBam", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
522525GAME( 1984, pettanp,  banbam,   strnskil, banbam,   pettanp, ROT0, "Sun Electronics", "Pettan Pyuu (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
src/mame/drivers/cosmic.c
r9191r9192
10491049}
10501050
10511051
1052static MACHINE_DRIVER_START( cosmic )
1052static MACHINE_CONFIG_START( cosmic, cosmic_state )
10531053
1054   /* driver data */
1055   MDRV_DRIVER_DATA(cosmic_state)
1056
10571054   /* basic machine hardware */
10581055   MDRV_CPU_ADD("maincpu", Z80,Z80_MASTER_CLOCK/6)   /* 1.8026 MHz*/
10591056
r9191r9192
10661063   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
10671064   MDRV_SCREEN_SIZE(32*8, 32*8)
10681065   MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 4*8, 28*8-1)
1069MACHINE_DRIVER_END
1066MACHINE_CONFIG_END
10701067
10711068
1072static MACHINE_DRIVER_START( panic )
1069static MACHINE_CONFIG_DERIVED( panic, cosmic )
10731070
10741071   /* basic machine hardware */
1075   MDRV_IMPORT_FROM(cosmic)
10761072   MDRV_CPU_MODIFY("maincpu")
10771073
10781074   MDRV_CPU_PROGRAM_MAP(panic_map)
r9191r9192
10941090
10951091   MDRV_SOUND_ADD("dac", DAC, 0)
10961092   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1097MACHINE_DRIVER_END
1093MACHINE_CONFIG_END
10981094
10991095
1100static MACHINE_DRIVER_START( cosmica )
1096static MACHINE_CONFIG_DERIVED( cosmica, cosmic )
11011097
11021098   /* basic machine hardware */
1103   MDRV_IMPORT_FROM(cosmic)
11041099   MDRV_CPU_MODIFY("maincpu")
11051100
11061101   MDRV_CPU_PROGRAM_MAP(cosmica_map)
r9191r9192
11231118   MDRV_SOUND_ADD("dac", DAC, 0)
11241119   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
11251120
1126MACHINE_DRIVER_END
1121MACHINE_CONFIG_END
11271122
11281123
1129static MACHINE_DRIVER_START( cosmicg )
1124static MACHINE_CONFIG_START( cosmicg, cosmic_state )
11301125
1131   /* driver data */
1132   MDRV_DRIVER_DATA(cosmic_state)
1133
11341126   /* basic machine hardware */
11351127   MDRV_CPU_ADD("maincpu", TMS9980, COSMICG_MASTER_CLOCK/8)
11361128         /* 9.828 MHz Crystal */
r9191r9192
11651157
11661158   MDRV_SOUND_ADD("dac", DAC, 0)
11671159   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1168MACHINE_DRIVER_END
1160MACHINE_CONFIG_END
11691161
11701162
1171static MACHINE_DRIVER_START( magspot )
1163static MACHINE_CONFIG_DERIVED( magspot, cosmic )
11721164
11731165   /* basic machine hardware */
1174   MDRV_IMPORT_FROM(cosmic)
11751166   MDRV_CPU_MODIFY("maincpu")
11761167
11771168   MDRV_CPU_PROGRAM_MAP(magspot_map)
r9191r9192
11891180
11901181   MDRV_SOUND_ADD("dac", DAC, 0)
11911182   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1192MACHINE_DRIVER_END
1183MACHINE_CONFIG_END
11931184
11941185
1195static MACHINE_DRIVER_START( devzone )
1186static MACHINE_CONFIG_DERIVED( devzone, magspot )
11961187
11971188   /* basic machine hardware */
1198   MDRV_IMPORT_FROM(magspot)
11991189
12001190   /* video hardware */
12011191   MDRV_VIDEO_UPDATE(devzone)
1202MACHINE_DRIVER_END
1192MACHINE_CONFIG_END
12031193
12041194
1205static MACHINE_DRIVER_START( nomnlnd )
1195static MACHINE_CONFIG_DERIVED( nomnlnd, cosmic )
12061196
12071197   /* basic machine hardware */
1208   MDRV_IMPORT_FROM(cosmic)
12091198   MDRV_CPU_MODIFY("maincpu")
12101199
12111200   MDRV_CPU_PROGRAM_MAP(magspot_map)
r9191r9192
12231212
12241213   MDRV_SOUND_ADD("dac", DAC, 0)
12251214   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1226MACHINE_DRIVER_END
1215MACHINE_CONFIG_END
12271216
12281217
12291218ROM_START( panic )
src/mame/drivers/model2.c
r9191r9192
8989#include "emu.h"
9090#include "deprecat.h"
9191#include "machine/eeprom.h"
92#include "machine/nvram.h"
9293#include "video/segaic24.h"
9394#include "cpu/i960/i960.h"
9495#include "cpu/m68000/m68000.h"
r9191r9192
101102#include "includes/model2.h"
102103
103104UINT32 *model2_bufferram, *model2_colorxlat;
104static UINT32 *model2_workram, *model2_backup1, *model2_backup2;
105static UINT32 *model2_workram;
105106UINT32 *model2_textureram0, *model2_textureram1, *model2_lumaram;
106107UINT32 *model2_paletteram32;
107108static UINT32 model2_intreq;
r9191r9192
278279   }
279280}
280281
281
282
283static NVRAM_HANDLER( model2 )
284{
285   if (read_or_write)
286   {
287      mame_fwrite(file, model2_backup1, 0x3fff);
288      if (model2_backup2)
289         mame_fwrite(file, model2_backup2, 0xff);
290   }
291   else
292   {
293      if (file)
294      {
295         mame_fread(file, model2_backup1, 0x3fff);
296         if (model2_backup2)
297            mame_fread(file, model2_backup2, 0xff);
298      }
299      else
300      {
301         /* Virtua Striker needs the nvram to be defaulted with 1s or the ranking gets un-inited. */
302         memset(model2_backup1, 0xff, 0x4000);
303         if (model2_backup2)
304            memset(model2_backup2, 0xff, 0x100);
305      }
306   }
307}
308
309282/* Timers - these count down at 25 MHz and pull IRQ2 when they hit 0 */
310283static READ32_HANDLER( timers_r )
311284{
r9191r9192
14021375   AM_RANGE(0x01810000, 0x0181bfff) AM_RAM AM_BASE(&model2_colorxlat)
14031376   AM_RANGE(0x0181c000, 0x0181c003) AM_WRITE(model2_3d_zclip_w)
14041377   AM_RANGE(0x01a10000, 0x01a1ffff) AM_READWRITE(network_r, network_w)
1405   AM_RANGE(0x01d00000, 0x01d03fff) AM_RAM AM_BASE( &model2_backup1 ) // Backup sram
1378   AM_RANGE(0x01d00000, 0x01d03fff) AM_RAM AM_SHARE("backup1") // Backup sram
14061379   AM_RANGE(0x02000000, 0x03ffffff) AM_ROM AM_REGION("user1", 0)
14071380
14081381   // "extra" data
r9191r9192
14391412   AM_RANGE(0x01c00014, 0x01c00017) AM_READ_PORT("1c00014")
14401413   AM_RANGE(0x01c0001c, 0x01c0001f) AM_READ( desert_unk_r )
14411414   AM_RANGE(0x01c00040, 0x01c00043) AM_READ( daytona_unk_r )
1442   AM_RANGE(0x01c00200, 0x01c002ff) AM_RAM AM_BASE( &model2_backup2 )
1415   AM_RANGE(0x01c00200, 0x01c002ff) AM_RAM AM_SHARE("backup2")
14431416   AM_RANGE(0x01c80000, 0x01c80003) AM_READWRITE( model2_serial_r, model2o_serial_w )
14441417
14451418   AM_IMPORT_FROM(model2_base_mem)
r9191r9192
20091982
20101983
20111984/* original Model 2 */
2012static MACHINE_DRIVER_START( model2o )
1985static MACHINE_CONFIG_START( model2o, driver_device )
20131986   MDRV_CPU_ADD("maincpu", I960, 25000000)
20141987   MDRV_CPU_PROGRAM_MAP(model2o_mem)
20151988   MDRV_CPU_VBLANK_INT_HACK(model2_interrupt,2)
r9191r9192
20241997   MDRV_MACHINE_RESET(model2o)
20251998
20261999   MDRV_EEPROM_93C46_ADD("eeprom")
2027   MDRV_NVRAM_HANDLER( model2 )
2000   MDRV_NVRAM_ADD_1FILL("backup1")
2001   MDRV_NVRAM_ADD_1FILL("backup2")
20282002
20292003   MDRV_TIMER_ADD("timer0", model2_timer_cb)
20302004   MDRV_TIMER_PTR((FPTR)0)
r9191r9192
20622036   MDRV_SOUND_ADD("sega2", MULTIPCM, 8000000)
20632037   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
20642038   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2065MACHINE_DRIVER_END
2039MACHINE_CONFIG_END
20662040
20672041/* 2A-CRX */
2068static MACHINE_DRIVER_START( model2a )
2042static MACHINE_CONFIG_START( model2a, driver_device )
20692043   MDRV_CPU_ADD("maincpu", I960, 25000000)
20702044   MDRV_CPU_PROGRAM_MAP(model2a_crx_mem)
20712045   MDRV_CPU_VBLANK_INT_HACK(model2_interrupt,2)
r9191r9192
20802054   MDRV_MACHINE_RESET(model2)
20812055
20822056   MDRV_EEPROM_93C46_ADD("eeprom")
2083   MDRV_NVRAM_HANDLER( model2 )
2057   MDRV_NVRAM_ADD_1FILL("backup1")
20842058
20852059   MDRV_TIMER_ADD("timer0", model2_timer_cb)
20862060   MDRV_TIMER_PTR((FPTR)0)
r9191r9192
21112085   MDRV_SOUND_CONFIG(scsp_config)
21122086   MDRV_SOUND_ROUTE(0, "lspeaker", 2.0)
21132087   MDRV_SOUND_ROUTE(0, "rspeaker", 2.0)
2114MACHINE_DRIVER_END
2088MACHINE_CONFIG_END
21152089
21162090static READ8_HANDLER( driveio_port_r )
21172091{
r9191r9192
21462120   AM_RANGE(0x80, 0x83) AM_NOP //r/w it during irq
21472121ADDRESS_MAP_END
21482122
2149static MACHINE_DRIVER_START( srallyc )
2150   MDRV_IMPORT_FROM( model2a )
2123static MACHINE_CONFIG_DERIVED( srallyc, model2a )
21512124
21522125   MDRV_CPU_ADD("drivecpu", Z80, 16000000/4) //???
21532126   MDRV_CPU_PROGRAM_MAP(drive_map)
21542127   MDRV_CPU_IO_MAP(drive_io_map)
21552128//  MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
2156MACHINE_DRIVER_END
2129MACHINE_CONFIG_END
21572130
21582131static const sharc_config sharc_cfg =
21592132{
r9191r9192
21612134};
21622135
21632136/* 2B-CRX */
2164static MACHINE_DRIVER_START( model2b )
2137static MACHINE_CONFIG_START( model2b, driver_device )
21652138   MDRV_CPU_ADD("maincpu", I960, 25000000)
21662139   MDRV_CPU_PROGRAM_MAP(model2b_crx_mem)
21672140   MDRV_CPU_VBLANK_INT_HACK(model2_interrupt,2)
r9191r9192
21822155   MDRV_MACHINE_RESET(model2b)
21832156
21842157   MDRV_EEPROM_93C46_ADD("eeprom")
2185   MDRV_NVRAM_HANDLER( model2 )
2158   MDRV_NVRAM_ADD_1FILL("backup1")
21862159
21872160   MDRV_TIMER_ADD("timer0", model2_timer_cb)
21882161   MDRV_TIMER_PTR((FPTR)0)
r9191r9192
22132186   MDRV_SOUND_CONFIG(scsp_config)
22142187   MDRV_SOUND_ROUTE(0, "lspeaker", 2.0)
22152188   MDRV_SOUND_ROUTE(0, "rspeaker", 2.0)
2216MACHINE_DRIVER_END
2189MACHINE_CONFIG_END
22172190
22182191/* 2C-CRX */
2219static MACHINE_DRIVER_START( model2c )
2192static MACHINE_CONFIG_START( model2c, driver_device )
22202193   MDRV_CPU_ADD("maincpu", I960, 25000000)
22212194   MDRV_CPU_PROGRAM_MAP(model2c_crx_mem)
22222195   MDRV_CPU_VBLANK_INT_HACK(model2c_interrupt,3)
r9191r9192
22272200   MDRV_MACHINE_RESET(model2c)
22282201
22292202   MDRV_EEPROM_93C46_ADD("eeprom")
2230   MDRV_NVRAM_HANDLER( model2 )
2203   MDRV_NVRAM_ADD_1FILL("backup1")
22312204
22322205   MDRV_TIMER_ADD("timer0", model2_timer_cb)
22332206   MDRV_TIMER_PTR((FPTR)0)
r9191r9192
22582231   MDRV_SOUND_CONFIG(scsp_config)
22592232   MDRV_SOUND_ROUTE(0, "lspeaker", 2.0)
22602233   MDRV_SOUND_ROUTE(0, "rspeaker", 2.0)
2261MACHINE_DRIVER_END
2234MACHINE_CONFIG_END
22622235
22632236/* ROM definitions */
22642237
r9191r9192
26042577   MODEL2A_VID_BOARD
26052578ROM_END
26062579
2607ROM_START( srallyc ) /* Sega Rally Championship, Model 2A */
2580ROM_START( srallyc ) /* Sega Rally Championship Revision C, Model 2A */
26082581   ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
2609   ROM_LOAD32_WORD( "epr-17888.12",  0x000000, 0x080000, CRC(3d6808aa) SHA1(33abf9cdcee9583dc600c94e1e29ce260e8c5d32) )
2610   ROM_LOAD32_WORD( "epr-17889.13",  0x000002, 0x080000, CRC(f43c7802) SHA1(4b1efb3d5644fed1753da1750bf5c300d3a15d2c) )
2582   ROM_LOAD32_WORD( "epr-17888c.12",  0x000000, 0x080000, CRC(3d6808aa) SHA1(33abf9cdcee9583dc600c94e1e29ce260e8c5d32) )
2583   ROM_LOAD32_WORD( "epr-17889c.13",  0x000002, 0x080000, CRC(f43c7802) SHA1(4b1efb3d5644fed1753da1750bf5c300d3a15d2c) )
26112584
26122585   ROM_REGION32_LE( 0x2400000, "user1", 0 ) // Data
26132586   ROM_LOAD32_WORD( "mpr-17746.bin", 0x000000, 0x200000, CRC(8fe311f4) SHA1(f4ada8e5c906fc384bed1b96f09cdf313f89e825) )
r9191r9192
26382611   ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
26392612
26402613   ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound program
2641   ROM_LOAD16_WORD_SWAP( "epr-17890.30", 0x080000, 0x040000, CRC(5bac3fa1) SHA1(3635333d36463b6fab25560ed918e05138f964dc) )
2614   ROM_LOAD16_WORD_SWAP( "epr-17890a.30", 0x080000, 0x040000, CRC(5bac3fa1) SHA1(3635333d36463b6fab25560ed918e05138f964dc) )
26422615
26432616   ROM_REGION( 0x800000, "scsp", 0 ) // Samples
26442617   ROM_LOAD( "mpr-17756.31", 0x000000, 0x200000, CRC(7725f111) SHA1(1f1ee3f19a6bcf57bc5a1c7dd64ee83f8b81f084) )
r9191r9192
26502623   MODEL2A_VID_BOARD
26512624ROM_END
26522625
2626ROM_START( srallycb ) /* Sega Rally Championship Revision B, Model 2A */
2627   ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
2628   ROM_LOAD32_WORD( "epr-17888b.12",  0x000000, 0x080000, CRC(95bce0b9) SHA1(9b293b430db14cfab35466d2f9a1e3f7e2df3143) )
2629   ROM_LOAD32_WORD( "epr-17889b.13",  0x000002, 0x080000, CRC(395c425e) SHA1(9868d2b79255120abfdb7f9c0930a607aeef5363) )
2630
2631   ROM_REGION32_LE( 0x2400000, "user1", 0 ) // Data
2632   ROM_LOAD32_WORD( "mpr-17746.bin", 0x000000, 0x200000, CRC(8fe311f4) SHA1(f4ada8e5c906fc384bed1b96f09cdf313f89e825) )
2633   ROM_LOAD32_WORD( "mpr-17747.bin", 0x000002, 0x200000, CRC(543593fd) SHA1(5ba63a77e9fc70569af21d50b3171bc8ff4522b8) )
2634   ROM_LOAD32_WORD( "mpr-17744.bin", 0x400000, 0x200000, CRC(71fed098) SHA1(1d187cad375121a45348d640edd3cc7dce658d28) )
2635   ROM_LOAD32_WORD( "mpr-17745.bin", 0x400002, 0x200000, CRC(8ecca705) SHA1(ed2b3298aad6f4e52dc672a0168183e457564b43) )
2636   ROM_LOAD32_WORD( "mpr-17884.bin", 0x800000, 0x200000, CRC(4cfc95e1) SHA1(81d927b8c4f9d0c4c5e29d676b30f30f83751fdc) )
2637   ROM_LOAD32_WORD( "mpr-17885.bin", 0x800002, 0x200000, CRC(a08d2467) SHA1(9449ac8f8f9ce8d8e536b05a91e46841fed7f2d0) )
2638
2639   ROM_REGION( 0x800000, "tgp", 0 ) // TGP program? (COPRO socket)
2640   ROM_LOAD32_WORD( "mpr-17754.bin", 0x000000, 0x200000, CRC(81a84f67) SHA1(c0a9b690523a529e4015e9af10dc3fb2a1726f08) )
2641   ROM_LOAD32_WORD( "mpr-17755.bin", 0x000002, 0x200000, CRC(2a6e7da4) SHA1(e60803ae951489fe47d66731d15c32249ca547b4) )
2642
2643   ROM_REGION( 0x010000, "drivecpu", 0 ) // Drive I/O program
2644   ROM_LOAD( "epr-17891.ic12", 0x000000, 0x010000, CRC(9a33b437) SHA1(3e8f210aa5159e78f640126cb5ce7f05f22560f2) )
2645
2646   ROM_REGION( 0x2000000, "user2", 0 ) // Models
2647   ROM_LOAD32_WORD( "mpr-17748.bin", 0x000000, 0x200000, CRC(3148a2b2) SHA1(283cc49bfb6c6381a7ead9273fd097dca5b981b6) )
2648   ROM_LOAD32_WORD( "mpr-17750.bin", 0x000002, 0x200000, CRC(232aec29) SHA1(4d470e71df61298282c356814e2d151fda323fb6) )
2649   ROM_LOAD32_WORD( "mpr-17749.bin", 0x400000, 0x200000, CRC(0838d184) SHA1(704175c8b29e4c989afcb7be42e7e0e096740eaf) )
2650   ROM_LOAD32_WORD( "mpr-17751.bin", 0x400002, 0x200000, CRC(ed87ac62) SHA1(601542149d33ca52a47536b4b0af47bf1fd87eb2) )
2651
2652   ROM_REGION( 0x1000000, "user3", 0 ) // Textures
2653   ROM_LOAD32_WORD( "mpr-17753.bin", 0x000000, 0x200000, CRC(6db0eb36) SHA1(dd5fd3c9592360d3e95623ac2491e6faabe9dbcb) )
2654   ROM_LOAD32_WORD( "mpr-17752.bin", 0x000002, 0x200000, CRC(d6aa86ce) SHA1(1d342f87d1af1e5438d1ae818b1b14268e765897) )
2655
2656   ROM_REGION( 0x20000, "cpu4", 0) // Communication program
2657   ROM_LOAD( "epr-16726.bin", 0x000000, 0x020000, CRC(c179b8c7) SHA1(86d3e65c77fb53b1d380b629348f4ab5b3d39228) )
2658
2659   ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound program
2660   ROM_LOAD16_WORD_SWAP( "epr-17890a.30", 0x080000, 0x040000, CRC(5bac3fa1) SHA1(3635333d36463b6fab25560ed918e05138f964dc) )
2661
2662   ROM_REGION( 0x800000, "scsp", 0 ) // Samples
2663   ROM_LOAD( "mpr-17756.31", 0x000000, 0x200000, CRC(7725f111) SHA1(1f1ee3f19a6bcf57bc5a1c7dd64ee83f8b81f084) )
2664   ROM_LOAD( "mpr-17757.32", 0x000000, 0x200000, CRC(1616e649) SHA1(1d3a0e441d150ada0535a9d50e2f69dd4b99c584) )
2665   ROM_LOAD( "mpr-17886.36", 0x000000, 0x200000, CRC(54a72923) SHA1(103c4838b27378c834c08d29d6fb6ba95e7f9d03) )
2666   ROM_LOAD( "mpr-17887.37", 0x000000, 0x200000, CRC(38c31fdd) SHA1(a85f05160b060d9d4a431aaa73cfc03f24214fb9) )
2667
2668   MODEL2_CPU_BOARD
2669   MODEL2A_VID_BOARD
2670ROM_END
2671
26532672ROM_START( manxtt ) /* Manx TT Superbike Revision C, Model 2A */
26542673   ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
26552674   ROM_LOAD32_WORD( "epr-18822c.12",  0x000000, 0x020000, CRC(c7b3e45a) SHA1(d3a6910bf6efc138e0e40332219b90dea7d6ea56) )
r9191r9192
49134932// Model 2A-CRX (TGPs, SCSP sound board)
49144933GAME( 1995, manxtt,          0, model2a, model2, 0,       ROT0, "Sega", "Manx TT Superbike (Revision C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
49154934GAME( 1995, motoraid,        0, model2a, model2, 0,       ROT0, "Sega", "Motoraid", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
4916GAME( 1995, srallyc,         0, srallyc, srallyc,srallyc, ROT0, "Sega", "Sega Rally Championship", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
4935GAME( 1995, srallyc,         0, srallyc, srallyc,srallyc, ROT0, "Sega", "Sega Rally Championship (Revision C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
4936GAME( 1995, srallycb,  srallyc, srallyc, srallyc,srallyc, ROT0, "Sega", "Sega Rally Championship (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
49174937GAME( 1995, vf2,             0, model2a, model2, 0,       ROT0, "Sega", "Virtua Fighter 2 (Version 2.1)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
49184938GAME( 1995, vf2b,          vf2, model2a, model2, 0,       ROT0, "Sega", "Virtua Fighter 2 (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
49194939GAME( 1995, vf2a,          vf2, model2a, model2, 0,       ROT0, "Sega", "Virtua Fighter 2 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
src/mame/drivers/ataxx.c
r9191r9192
2828#include "emu.h"
2929#include "cpu/i86/i86.h"
3030#include "machine/eeprom.h"
31#include "machine/nvram.h"
3132#include "cpu/z80/z80.h"
3233#include "includes/leland.h"
3334#include "sound/2151intf.h"
r9191r9192
4748static ADDRESS_MAP_START( master_map_program, ADDRESS_SPACE_PROGRAM, 8 )
4849   AM_RANGE(0x0000, 0x1fff) AM_ROM
4950   AM_RANGE(0x2000, 0x9fff) AM_ROMBANK("bank1")
50   AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank2")
51   AM_RANGE(0xa000, 0xdfff) AM_WRITE(ataxx_battery_ram_w)
51   AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank2") AM_WRITE(ataxx_battery_ram_w) AM_SHARE("battery")
5252   AM_RANGE(0xe000, 0xf7ff) AM_RAM
5353   AM_RANGE(0xf800, 0xffff) AM_READWRITE(ataxx_paletteram_and_misc_r, ataxx_paletteram_and_misc_w) AM_BASE_GENERIC(paletteram)
5454ADDRESS_MAP_END
r9191r9192
310310 *
311311 *************************************/
312312
313static MACHINE_DRIVER_START( ataxx )
313static MACHINE_CONFIG_START( ataxx, driver_device )
314314
315315   /* basic machine hardware */
316316   MDRV_CPU_ADD("master", Z80, 6000000)
r9191r9192
329329   MDRV_MACHINE_RESET(ataxx)
330330
331331   MDRV_EEPROM_ADD("eeprom", eeprom_intf)
332   MDRV_NVRAM_HANDLER(leland)
332   MDRV_NVRAM_ADD_0FILL("battery")
333333
334334   /* video hardware */
335   MDRV_IMPORT_FROM(ataxx_video)
335   MDRV_FRAGMENT_ADD(ataxx_video)
336336
337337   /* sound hardware */
338338   MDRV_SPEAKER_STANDARD_MONO("mono")
339339
340340   MDRV_SOUND_ADD("leland", LELAND_80186, 0)
341341   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
342MACHINE_DRIVER_END
342MACHINE_CONFIG_END
343343
344344
345static MACHINE_DRIVER_START( wsf )
345static MACHINE_CONFIG_DERIVED( wsf, ataxx )
346346
347347   /* basic machine hardware */
348   MDRV_IMPORT_FROM(ataxx)
349348
350349   /* sound hardware */
351350   MDRV_SOUND_ADD("ymsnd", YM2151, 4000000)
352351   MDRV_SOUND_ROUTE(0, "mono", 0.40)
353352   MDRV_SOUND_ROUTE(1, "mono", 0.40)
354MACHINE_DRIVER_END
353MACHINE_CONFIG_END
355354
356355
357356
src/mame/drivers/sshangha.c
r9191r9192
5656#include "cpu/m68000/m68000.h"
5757#include "sound/2203intf.h"
5858#include "sound/okim6295.h"
59#include "includes/sshangha.h"
5960
6061#define SSHANGHA_HACK   0
6162
62VIDEO_START( sshangha );
63VIDEO_UPDATE( sshangha );
64
65WRITE16_HANDLER( sshangha_pf2_data_w );
66WRITE16_HANDLER( sshangha_pf1_data_w );
67WRITE16_HANDLER( sshangha_control_0_w );
68WRITE16_HANDLER( sshangha_video_w );
69
70extern UINT16 *sshangha_pf1_data;
71extern UINT16 *sshangha_pf2_data;
72extern UINT16 *sshangha_pf1_rowscroll, *sshangha_pf2_rowscroll;
73
7463static UINT16 *sshangha_prot_data;
7564
7665static UINT16 *sshangha_sound_shared_ram;
r9191r9192
211200static ADDRESS_MAP_START( sshangha_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
212201   AM_RANGE(0x0000, 0x7fff) AM_ROM
213202   AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2203_r,ym2203_w)
214   AM_RANGE(0xc200, 0xc201) AM_DEVREADWRITE("oki",okim6295_r,okim6295_w)
203   AM_RANGE(0xc200, 0xc201) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
215204   AM_RANGE(0xf800, 0xf807) AM_READWRITE(sshangha_sound_shared_r,sshangha_sound_shared_w)
216205   AM_RANGE(0xf808, 0xffff) AM_RAM
217206ADDRESS_MAP_END
r9191r9192
353342   irqhandler
354343};
355344
356static MACHINE_DRIVER_START( sshangha )
345static MACHINE_CONFIG_START( sshangha, driver_device )
357346
358347   /* basic machine hardware */
359348   MDRV_CPU_ADD("maincpu", M68000, 28000000/2)
r9191r9192
394383   MDRV_OKIM6295_ADD("oki", 1023924, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
395384   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.27)
396385   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.27)
397MACHINE_DRIVER_END
386MACHINE_CONFIG_END
398387
399static MACHINE_DRIVER_START( sshanghb )
400   MDRV_IMPORT_FROM( sshangha )
388static MACHINE_CONFIG_DERIVED( sshanghb, sshangha )
401389
402390   MDRV_CPU_MODIFY("maincpu")
403391   MDRV_CPU_PROGRAM_MAP(sshanghb_map)
404MACHINE_DRIVER_END
392MACHINE_CONFIG_END
405393
406394/******************************************************************************/
407395
src/mame/drivers/wiping.c
r9191r9192
278278
279279
280280
281static MACHINE_DRIVER_START( wiping )
281static MACHINE_CONFIG_START( wiping, driver_device )
282282
283283   /* basic machine hardware */
284284   MDRV_CPU_ADD("maincpu", Z80,18432000/6)   /* 3.072 MHz */
r9191r9192
308308
309309   MDRV_SOUND_ADD("wiping", WIPING, 0)
310310   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
311MACHINE_DRIVER_END
311MACHINE_CONFIG_END
312312
313313
314314
src/mame/drivers/popeye.c
r9191r9192
1919#include "emu.h"
2020#include "cpu/z80/z80.h"
2121#include "sound/ay8910.h"
22#include "includes/popeye.h"
2223
23
24extern UINT8 *popeye_videoram;
25extern UINT8 *popeye_colorram;
26extern UINT8 *popeye_background_pos;
27extern UINT8 *popeye_palettebank;
28
29extern WRITE8_HANDLER( popeye_videoram_w );
30extern WRITE8_HANDLER( popeye_colorram_w );
31extern WRITE8_HANDLER( popeye_bitmap_w );
32extern WRITE8_HANDLER( skyskipr_bitmap_w );
33
34extern PALETTE_INIT( popeye );
35extern PALETTE_INIT( popeyebl );
36extern VIDEO_START( skyskipr );
37extern VIDEO_START( popeye );
38extern VIDEO_UPDATE( popeye );
39
40
41
4224static INTERRUPT_GEN( popeye_interrupt )
4325{
4426   /* NMIs are enabled by the I register?? How can that be? */
r9191r9192
443425
444426
445427
446static MACHINE_DRIVER_START( skyskipr )
428static MACHINE_CONFIG_START( skyskipr, driver_device )
447429   /* basic machine hardware */
448430   MDRV_CPU_ADD("maincpu", Z80, XTAL_8MHz/2)   /* 4 MHz */
449431   MDRV_CPU_PROGRAM_MAP(skyskipr_map)
r9191r9192
471453   MDRV_SOUND_ADD("aysnd", AY8910, XTAL_8MHz/4)
472454   MDRV_SOUND_CONFIG(ay8910_config)
473455   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
474MACHINE_DRIVER_END
456MACHINE_CONFIG_END
475457
476458
477static MACHINE_DRIVER_START( popeye )
478   MDRV_IMPORT_FROM(skyskipr)
459static MACHINE_CONFIG_DERIVED( popeye, skyskipr )
479460   MDRV_CPU_MODIFY("maincpu")
480461   MDRV_CPU_PROGRAM_MAP(popeye_map)
481462
482463   MDRV_VIDEO_START(popeye)
483MACHINE_DRIVER_END
464MACHINE_CONFIG_END
484465
485466
486static MACHINE_DRIVER_START( popeyebl )
487   MDRV_IMPORT_FROM(skyskipr)
467static MACHINE_CONFIG_DERIVED( popeyebl, skyskipr )
488468   MDRV_CPU_MODIFY("maincpu")
489469   MDRV_CPU_PROGRAM_MAP(popeyebl_map)
490470
491471   MDRV_PALETTE_INIT(popeyebl)
492472   MDRV_VIDEO_START(popeye)
493MACHINE_DRIVER_END
473MACHINE_CONFIG_END
494474
495475
496476
src/mame/drivers/gstream.c
r9191r9192
123123#include "emu.h"
124124#include "cpu/e132xs/e132xs.h"
125125#include "sound/okim6295.h"
126#include "machine/nvram.h"
126127
127class gstream_state : public driver_data_t
128class gstream_state : public driver_device
128129{
129130public:
130   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, gstream_state(machine)); }
131   gstream_state(running_machine &machine, const driver_device_config_base &config)
132      : driver_device(machine, config),
133        maincpu(*this, "maincpu"),
134        oki_1(*this, "oki1"),
135        oki_2(*this, "oki2") { }
131136
132   gstream_state(running_machine &machine)
133      : driver_data_t(machine),
134        maincpu(machine.device<cpu_device>("maincpu")),
135        oki_1(machine.device<okim6295_device>("oki1")),
136        oki_2(machine.device<okim6295_device>("oki2")) { }
137
138137   /* memory pointers */
139138   UINT32 *  vram;
140139   UINT32 *  workram;
r9191r9192
150149   int       oki_bank_0, oki_bank_1;
151150
152151   /* devices */
153   cpu_device *maincpu;
154   okim6295_device *oki_1;
155   okim6295_device *oki_2;
152   required_device<e132xt_device> maincpu;
153   required_device<okim6295_device> oki_1;
154   required_device<okim6295_device> oki_2;
156155};
157156
158157
r9191r9192
271270   AM_RANGE(0x4FA00000, 0x4FA00003) AM_WRITE(gstream_tilemap1_scrolly_w)
272271   AM_RANGE(0x4FC00000, 0x4FC00003) AM_WRITE(gstream_tilemap2_scrollx_w)
273272   AM_RANGE(0x4FE00000, 0x4FE00003) AM_WRITE(gstream_tilemap2_scrolly_w)
274   AM_RANGE(0xFFC00000, 0xFFC01FFF) AM_RAM AM_BASE_SIZE_GENERIC(nvram) // Backup RAM
273   AM_RANGE(0xFFC00000, 0xFFC01FFF) AM_RAM AM_SHARE("nvram") // Backup RAM
275274   AM_RANGE(0xFFF80000, 0xFFFFFFFF) AM_ROM AM_REGION("user1",0) // boot rom
276275ADDRESS_MAP_END
277276
r9191r9192
351350   AM_RANGE(0x4020, 0x4023) AM_READ_PORT("IN2")   // extra coin switches etc
352351   AM_RANGE(0x4030, 0x4033) AM_WRITE(gstream_oki_banking_w)   // oki banking
353352   AM_RANGE(0x4040, 0x4043) AM_WRITE(gstream_oki_4040_w)   // ??
354   AM_RANGE(0x4050, 0x4053) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x000000ff)   // music and samples
355   AM_RANGE(0x4060, 0x4063) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x000000ff)   // music and samples
353   AM_RANGE(0x4050, 0x4053) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x000000ff)   // music and samples
354   AM_RANGE(0x4060, 0x4063) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x000000ff)   // music and samples
356355ADDRESS_MAP_END
357356
358357static INPUT_PORTS_START( gstream )
r9191r9192
548547   state->oki_bank_1 = 0;
549548}
550549
551static MACHINE_DRIVER_START( gstream )
550static MACHINE_CONFIG_START( gstream, gstream_state )
552551
553   /* driver data */
554   MDRV_DRIVER_DATA(gstream_state)
555
556552   /* basic machine hardware */
557553   MDRV_CPU_ADD("maincpu", E132XT, 16000000*4)   /* 4x internal multiplier */
558554   MDRV_CPU_PROGRAM_MAP(gstream_32bit_map)
r9191r9192
562558   MDRV_MACHINE_START(gstream)
563559   MDRV_MACHINE_RESET(gstream)
564560
565   MDRV_NVRAM_HANDLER(generic_1fill)
561   MDRV_NVRAM_ADD_1FILL("nvram")
566562
567563   /* video hardware */
568564   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
585581
586582   MDRV_OKIM6295_ADD("oki2", 1000000, OKIM6295_PIN7_HIGH) /* 1 Mhz? */
587583   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
588MACHINE_DRIVER_END
584MACHINE_CONFIG_END
589585
590586ROM_START( gstream )
591587   ROM_REGION32_BE( 0x080000, "user1", 0 ) /* Hyperstone CPU Code */
src/mame/drivers/4enraya.c
r9191r9192
163163   state->last_snd_ctrl = 0;
164164}
165165
166static MACHINE_DRIVER_START( 4enraya )
166static MACHINE_CONFIG_START( 4enraya, _4enraya_state )
167167
168   MDRV_DRIVER_DATA(_4enraya_state)
169
170168   /* basic machine hardware */
171169   MDRV_CPU_ADD("maincpu",Z80,8000000/2)
172170   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
193191   MDRV_SPEAKER_STANDARD_MONO("mono")
194192   MDRV_SOUND_ADD("aysnd", AY8910, 8000000/4 /* guess */)
195193   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
196MACHINE_DRIVER_END
194MACHINE_CONFIG_END
197195
198196/***************************************************************************
199197
src/mame/drivers/taxidrvr.c
r9191r9192
358358
359359
360360
361static MACHINE_DRIVER_START( taxidrvr )
361static MACHINE_CONFIG_START( taxidrvr, driver_device )
362362
363363   /* basic machine hardware */
364364   MDRV_CPU_ADD("maincpu", Z80,4000000)   /* 4 MHz ??? */
r9191r9192
406406   MDRV_SOUND_ADD("ay2", AY8910, 1250000)
407407   MDRV_SOUND_CONFIG(ay8910_interface_2)
408408   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
409MACHINE_DRIVER_END
409MACHINE_CONFIG_END
410410
411411
412412
src/mame/drivers/compgolf.c
r9191r9192
248248   state->scrolly_hi = 0;
249249}
250250
251static MACHINE_DRIVER_START( compgolf )
251static MACHINE_CONFIG_START( compgolf, compgolf_state )
252252
253   /* driver data */
254   MDRV_DRIVER_DATA(compgolf_state)
255
256253   /* basic machine hardware */
257254   MDRV_CPU_ADD("maincpu", M6809, 2000000)
258255   MDRV_CPU_PROGRAM_MAP(compgolf_map)
r9191r9192
281278   MDRV_SOUND_ADD("ymsnd", YM2203, 1500000)
282279   MDRV_SOUND_CONFIG(ym2203_config)
283280   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
284MACHINE_DRIVER_END
281MACHINE_CONFIG_END
285282
286283
287284/*************************************
src/mame/drivers/cps2.c
r9191r9192
12051205}
12061206
12071207
1208static MACHINE_DRIVER_START( cps2 )
1208static MACHINE_CONFIG_START( cps2, cps_state )
12091209
1210   /* driver data */
1211   MDRV_DRIVER_DATA(cps_state)
1212
12131210   /* basic machine hardware */
12141211   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
12151212   MDRV_CPU_PROGRAM_MAP(cps2_map)
r9191r9192
12531250   MDRV_SOUND_ADD("qsound", QSOUND, QSOUND_CLOCK)
12541251   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
12551252   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1256MACHINE_DRIVER_END
1253MACHINE_CONFIG_END
12571254
12581255
1259static MACHINE_DRIVER_START( dead_cps2 )
1260   MDRV_IMPORT_FROM(cps2)
1256static MACHINE_CONFIG_DERIVED( dead_cps2, cps2 )
12611257
12621258   MDRV_CPU_MODIFY("maincpu")
12631259   MDRV_CPU_PROGRAM_MAP(dead_cps2_map)
1264MACHINE_DRIVER_END
1260MACHINE_CONFIG_END
12651261
1266static MACHINE_DRIVER_START( gigamn2 )
1267   MDRV_IMPORT_FROM(cps2)
1262static MACHINE_CONFIG_DERIVED( gigamn2, cps2 )
12681263
12691264   MDRV_DEVICE_REMOVE("audiocpu")
12701265
r9191r9192
12731268   MDRV_OKIM6295_ADD("oki", XTAL_32MHz/32, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
12741269   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47)
12751270   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47)
1276MACHINE_DRIVER_END
1271MACHINE_CONFIG_END
12771272
12781273/*************************************
12791274 *
src/mame/drivers/igs017.c
r9191r9192
11111111   AM_RANGE( 0x8000, 0x8000 ) AM_WRITE( input_select_w )
11121112   AM_RANGE( 0x8001, 0x8001 ) AM_READ ( input_r )
11131113
1114   AM_RANGE( 0x9000, 0x9000 ) AM_DEVREADWRITE( "oki", okim6295_r, okim6295_w )
1114   AM_RANGE( 0x9000, 0x9000 ) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
11151115
11161116   AM_RANGE( 0xa000, 0xa000 ) AM_READ_PORT( "BUTTONS" )
11171117
r9191r9192
12321232   AM_RANGE( 0xa0402a, 0xa0402b ) AM_WRITE( irq1_enable_w )
12331233   AM_RANGE( 0xa08000, 0xa0bfff ) AM_READWRITE( fg_lsb_r, fg_lsb_w ) AM_BASE( (UINT16**)&fg_videoram )
12341234   AM_RANGE( 0xa0c000, 0xa0ffff ) AM_READWRITE( bg_lsb_r, bg_lsb_w ) AM_BASE( (UINT16**)&bg_videoram )
1235   AM_RANGE( 0xa12000, 0xa12001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
1235   AM_RANGE( 0xa12000, 0xa12001 ) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )
12361236   // oki banking through protection (code at $1a350)?
12371237ADDRESS_MAP_END
12381238
r9191r9192
13301330   AM_RANGE(0x20402a, 0x20402b) AM_WRITE( irq1_enable_w )
13311331   AM_RANGE(0x208000, 0x20bfff) AM_READWRITE( fg_lsb_r, fg_lsb_w ) AM_BASE( (UINT16**)&fg_videoram )
13321332   AM_RANGE(0x20c000, 0x20ffff) AM_READWRITE( bg_lsb_r, bg_lsb_w ) AM_BASE( (UINT16**)&bg_videoram )
1333   AM_RANGE(0x210000, 0x210001) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
1333   AM_RANGE(0x210000, 0x210001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )
13341334   AM_RANGE(0x300000, 0x300003) AM_WRITE( sdmg2_magic_w )
13351335   AM_RANGE(0x300002, 0x300003) AM_READ ( sdmg2_magic_r )
13361336ADDRESS_MAP_END
r9191r9192
14391439   AM_RANGE(0xa0402a, 0xa0402b) AM_WRITE( irq1_enable_w )
14401440   AM_RANGE(0xa08000, 0xa0bfff) AM_READWRITE( fg_lsb_r, fg_lsb_w ) AM_BASE( (UINT16**)&fg_videoram )
14411441   AM_RANGE(0xa0c000, 0xa0ffff) AM_READWRITE( bg_lsb_r, bg_lsb_w ) AM_BASE( (UINT16**)&bg_videoram )
1442   AM_RANGE(0xa10000, 0xa10001) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
1442   AM_RANGE(0xa10000, 0xa10001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )
14431443ADDRESS_MAP_END
14441444
14451445
r9191r9192
20272027   input_select = 0;
20282028}
20292029
2030static MACHINE_DRIVER_START( iqblocka )
2030static MACHINE_CONFIG_START( iqblocka, driver_device )
20312031   MDRV_CPU_ADD("maincpu", Z180, XTAL_16MHz / 2)
20322032   MDRV_CPU_PROGRAM_MAP(iqblocka_map)
20332033   MDRV_CPU_IO_MAP(iqblocka_io)
r9191r9192
20592059
20602060   MDRV_OKIM6295_ADD("oki", XTAL_16MHz / 16, OKIM6295_PIN7_HIGH)
20612061   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
2062MACHINE_DRIVER_END
2062MACHINE_CONFIG_END
20632063
20642064
20652065
r9191r9192
20992099   DEVCB_NULL               // Port C write
21002100};
21012101
2102static MACHINE_DRIVER_START( mgcs )
2102static MACHINE_CONFIG_START( mgcs, driver_device )
21032103   MDRV_CPU_ADD("maincpu", M68000, XTAL_22MHz / 2)
21042104   MDRV_CPU_PROGRAM_MAP(mgcs)
21052105   MDRV_CPU_VBLANK_INT_HACK(mgcs_interrupt,2)
r9191r9192
21272127   MDRV_SPEAKER_STANDARD_MONO("mono")
21282128   MDRV_OKIM6295_ADD("oki", XTAL_8MHz / 8, OKIM6295_PIN7_HIGH)
21292129   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
2130MACHINE_DRIVER_END
2130MACHINE_CONFIG_END
21312131
21322132
21332133
r9191r9192
21442144   DEVCB_NULL               // Port C write
21452145};
21462146
2147static MACHINE_DRIVER_START( sdmg2 )
2147static MACHINE_CONFIG_START( sdmg2, driver_device )
21482148   MDRV_CPU_ADD("maincpu", M68000, XTAL_22MHz/2)
21492149   MDRV_CPU_PROGRAM_MAP(sdmg2)
21502150   MDRV_CPU_VBLANK_INT_HACK(mgcs_interrupt,2)
r9191r9192
21722172   MDRV_SPEAKER_STANDARD_MONO("mono")
21732173   MDRV_OKIM6295_ADD("oki", XTAL_22MHz / 22, OKIM6295_PIN7_HIGH)
21742174   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
2175MACHINE_DRIVER_END
2175MACHINE_CONFIG_END
21762176
21772177
21782178//mgdh
r9191r9192
22022202   DEVCB_NULL               // Port C write
22032203};
22042204
2205static MACHINE_DRIVER_START( mgdh )
2205static MACHINE_CONFIG_START( mgdh, driver_device )
22062206   MDRV_CPU_ADD("maincpu", M68000, XTAL_22MHz / 2)
22072207   MDRV_CPU_PROGRAM_MAP(mgdh_map)
22082208   MDRV_CPU_VBLANK_INT_HACK(mgdh_interrupt,2)
r9191r9192
22302230   MDRV_SPEAKER_STANDARD_MONO("mono")
22312231   MDRV_OKIM6295_ADD("oki", XTAL_22MHz / 22, OKIM6295_PIN7_HIGH)
22322232   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
2233MACHINE_DRIVER_END
2233MACHINE_CONFIG_END
22342234
22352235
22362236/***************************************************************************
src/mame/drivers/monzagp.c
r9191r9192
238238   GFXDECODE_ENTRY( "gfx1", 0x0000, tile_layout2,   0, 8 )
239239GFXDECODE_END
240240
241static MACHINE_DRIVER_START( monzagp )
241static MACHINE_CONFIG_START( monzagp, driver_device )
242242   MDRV_CPU_ADD("maincpu", I8035, 12000000/32)   /* 400KHz ??? - Main board Crystal is 12MHz */
243243   MDRV_CPU_PROGRAM_MAP(monzagp_map)
244244   MDRV_CPU_IO_MAP(monzagp_io)
r9191r9192
258258   MDRV_GFXDECODE(monzagp)
259259   MDRV_VIDEO_START(monzagp)
260260   MDRV_VIDEO_UPDATE(monzagp)
261MACHINE_DRIVER_END
261MACHINE_CONFIG_END
262262
263263ROM_START( monzagp )
264264   ROM_REGION( 0x1000, "maincpu", 0 )
src/mame/drivers/pushman.c
r9191r9192
444444   memset(state->shared_ram, 0, ARRAY_LENGTH(state->shared_ram));
445445}
446446
447static MACHINE_DRIVER_START( pushman )
447static MACHINE_CONFIG_START( pushman, pushman_state )
448448
449   /* driver data */
450   MDRV_DRIVER_DATA(pushman_state)
451
452449   /* basic machine hardware */
453450   MDRV_CPU_ADD("maincpu", M68000, 8000000)
454451   MDRV_CPU_PROGRAM_MAP(pushman_map)
r9191r9192
490487
491488   MDRV_SOUND_ADD("ym2", YM2203, 2000000)
492489   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
493MACHINE_DRIVER_END
490MACHINE_CONFIG_END
494491
495492static MACHINE_RESET( bballs )
496493{
r9191r9192
501498   state->latch = 0x400;
502499}
503500
504static MACHINE_DRIVER_START( bballs )
501static MACHINE_CONFIG_START( bballs, pushman_state )
505502
506   /* driver data */
507   MDRV_DRIVER_DATA(pushman_state)
508
509503   /* basic machine hardware */
510504   MDRV_CPU_ADD("maincpu", M68000, 8000000)
511505   MDRV_CPU_PROGRAM_MAP(bballs_map)
r9191r9192
543537
544538   MDRV_SOUND_ADD("ym2", YM2203, 2000000)
545539   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
546MACHINE_DRIVER_END
540MACHINE_CONFIG_END
547541
548542
549543/***************************************************************************/
src/mame/drivers/hyperspt.c
r9191r9192
1414#include "sound/sn76496.h"
1515#include "sound/vlm5030.h"
1616#include "machine/konami1.h"
17#include "machine/nvram.h"
1718#include "includes/konamipt.h"
1819#include "includes/trackfld.h"
1920
r9191r9192
4142   AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(hyperspt_videoram_w) AM_BASE_MEMBER(trackfld_state, videoram)
4243   AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(hyperspt_colorram_w) AM_BASE_MEMBER(trackfld_state, colorram)
4344   AM_RANGE(0x3000, 0x37ff) AM_RAM
44   AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
45   AM_RANGE(0x3800, 0x3fff) AM_RAM AM_SHARE("nvram")
4546   AM_RANGE(0x4000, 0xffff) AM_ROM
4647ADDRESS_MAP_END
4748
r9191r9192
6263   AM_RANGE(0x2000, 0x27ff) AM_RAM_WRITE(hyperspt_videoram_w) AM_BASE_MEMBER(trackfld_state, videoram)
6364   AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(hyperspt_colorram_w) AM_BASE_MEMBER(trackfld_state, colorram)
6465   AM_RANGE(0x3000, 0x37ff) AM_RAM
65   AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
66   AM_RANGE(0x3800, 0x3fff) AM_RAM AM_SHARE("nvram")
6667   AM_RANGE(0x4000, 0xffff) AM_ROM
6768ADDRESS_MAP_END
6869
r9191r9192
310311   state->hyprolyb_vck_ready = 0;
311312}
312313
313static MACHINE_DRIVER_START( hyperspt )
314static MACHINE_CONFIG_START( hyperspt, trackfld_state )
314315
315   /* driver data */
316   MDRV_DRIVER_DATA(trackfld_state)
317
318316   /* basic machine hardware */
319317   MDRV_CPU_ADD("maincpu", M6809, XTAL_18_432MHz/12)   /* verified on pcb */
320318   MDRV_CPU_PROGRAM_MAP(hyperspt_map)
r9191r9192
325323
326324   MDRV_MACHINE_START(hyperspt)
327325   MDRV_MACHINE_RESET(hyperspt)
328   MDRV_NVRAM_HANDLER(generic_0fill)
326   MDRV_NVRAM_ADD_0FILL("nvram")
329327
330328   /* video hardware */
331329   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
353351
354352   MDRV_SOUND_ADD("vlm", VLM5030, XTAL_3_579545MHz) /* verified on pcb */
355353   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
356MACHINE_DRIVER_END
354MACHINE_CONFIG_END
357355
358356
359static MACHINE_DRIVER_START( hypersptb )
360   MDRV_IMPORT_FROM(hyperspt)
357static MACHINE_CONFIG_DERIVED( hypersptb, hyperspt )
361358   MDRV_DEVICE_REMOVE("vlm")
362359
363360   MDRV_CPU_MODIFY("audiocpu")
r9191r9192
372369   MDRV_SOUND_ADD("msm", MSM5205, 384000)
373370   MDRV_SOUND_CONFIG(hyprolyb_msm5205_config)
374371   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
375MACHINE_DRIVER_END
372MACHINE_CONFIG_END
376373
377374
378static MACHINE_DRIVER_START( roadf )
379   MDRV_IMPORT_FROM(hyperspt)
375static MACHINE_CONFIG_DERIVED( roadf, hyperspt )
380376
381377   MDRV_CPU_MODIFY("maincpu")
382378   MDRV_CPU_PROGRAM_MAP(roadf_map)
383379   MDRV_GFXDECODE(roadf)
384380   MDRV_VIDEO_START(roadf)
385MACHINE_DRIVER_END
381MACHINE_CONFIG_END
386382
387383
388384/***************************************************************************
src/mame/drivers/hnayayoi.c
r9191r9192
3636#include "cpu/z80/z80.h"
3737#include "sound/2203intf.h"
3838#include "sound/msm5205.h"
39#include "machine/nvram.h"
3940#include "includes/hnayayoi.h"
4041
4142
r9191r9192
9192
9293static ADDRESS_MAP_START( hnayayoi_map, ADDRESS_SPACE_PROGRAM, 8 )
9394   AM_RANGE(0x0000, 0x77ff) AM_ROM
94   AM_RANGE(0x7800, 0x7fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
95   AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("nvram")
9596   AM_RANGE(0x8000, 0xffff) AM_ROM
9697ADDRESS_MAP_END
9798
r9191r9192
117118
118119static ADDRESS_MAP_START( hnfubuki_map, ADDRESS_SPACE_PROGRAM, 8 )
119120   AM_RANGE(0x0000, 0x77ff) AM_ROM
120   AM_RANGE(0x7800, 0x7fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
121   AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("nvram")
121122   AM_RANGE(0x8000, 0xfeff) AM_ROM
122123   AM_RANGE(0xff00, 0xff01) AM_DEVWRITE("ymsnd", ym2203_w)
123124   AM_RANGE(0xff02, 0xff03) AM_DEVREAD("ymsnd", ym2203_r)
r9191r9192
139140
140141static ADDRESS_MAP_START( untoucha_map, ADDRESS_SPACE_PROGRAM, 8 )
141142   AM_RANGE(0x0000, 0x77ff) AM_ROM
142   AM_RANGE(0x7800, 0x7fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
143   AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("nvram")
143144   AM_RANGE(0x8000, 0xffff) AM_ROM
144145ADDRESS_MAP_END
145146
r9191r9192
553554}
554555
555556
556static MACHINE_DRIVER_START( hnayayoi )
557static MACHINE_CONFIG_START( hnayayoi, hnayayoi_state )
557558
558   /* driver data */
559   MDRV_DRIVER_DATA(hnayayoi_state)
560
561559   /* basic machine hardware */
562560   MDRV_CPU_ADD("maincpu", Z80, 20000000/4 )        /* 5 MHz ???? */
563561   MDRV_CPU_PROGRAM_MAP(hnayayoi_map)
r9191r9192
568566   MDRV_MACHINE_START(hnayayoi)
569567   MDRV_MACHINE_RESET(hnayayoi)
570568
571   MDRV_NVRAM_HANDLER(generic_0fill)
569   MDRV_NVRAM_ADD_0FILL("nvram")
572570
573571   /* video hardware */
574572   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
597595   MDRV_SOUND_ADD("msm", MSM5205, 384000)
598596   MDRV_SOUND_CONFIG(msm5205_config)
599597   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
600MACHINE_DRIVER_END
598MACHINE_CONFIG_END
601599
602static MACHINE_DRIVER_START( hnfubuki )
603   MDRV_IMPORT_FROM(hnayayoi)
600static MACHINE_CONFIG_DERIVED( hnfubuki, hnayayoi )
604601   MDRV_CPU_MODIFY("maincpu")
605602   MDRV_CPU_PROGRAM_MAP(hnfubuki_map)
606MACHINE_DRIVER_END
603MACHINE_CONFIG_END
607604
608static MACHINE_DRIVER_START( untoucha )
609   MDRV_IMPORT_FROM(hnayayoi)
605static MACHINE_CONFIG_DERIVED( untoucha, hnayayoi )
610606   MDRV_CPU_MODIFY("maincpu")
611607   MDRV_CPU_PROGRAM_MAP(untoucha_map)
612608   MDRV_CPU_IO_MAP(untoucha_io_map)
613609
614610   MDRV_VIDEO_START(untoucha)
615MACHINE_DRIVER_END
611MACHINE_CONFIG_END
616612
617613
618614/***************************************************************************
src/mame/drivers/amaticmg.c
r9191r9192
419419
420420static ADDRESS_MAP_START( amaticmg_map, ADDRESS_SPACE_PROGRAM, 8 )
421421   AM_RANGE(0x00000, 0x3ffff) AM_ROM
422//  AM_RANGE(0x0000, 0x0000) AM_RAM // AM_BASE_SIZE_GENERIC(nvram)
422//  AM_RANGE(0x0000, 0x0000) AM_RAM // AM_SHARE("nvram")
423423//  AM_RANGE(0x0000, 0x0000) AM_DEVWRITE("crtc", mc6845_address_w)
424424//  AM_RANGE(0x0000, 0x0000) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
425425//  AM_RANGE(0x0000, 0x0000) AM_RAM_WRITE(amaticmg_videoram_w) AM_BASE(&amaticmg_videoram)
r9191r9192
610610*          Machine Drivers          *
611611************************************/
612612
613static MACHINE_DRIVER_START( amaticmg )
613static MACHINE_CONFIG_START( amaticmg, driver_device )
614614   /* basic machine hardware */
615615   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)      /* WRONG! */
616616   MDRV_CPU_PROGRAM_MAP(amaticmg_map)
617617   MDRV_CPU_IO_MAP(amaticmg_portmap)
618618   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
619619
620//  MDRV_NVRAM_HANDLER(generic_0fill)
620//  MDRV_NVRAM_ADD_0FILL("nvram")
621621
622622   /* 3x 8255 */
623623//  MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf[0] )
r9191r9192
651651//  MDRV_SOUND_ADD("dac", DAC, 0)   /* Y3014B */
652652//  MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
653653
654MACHINE_DRIVER_END
654MACHINE_CONFIG_END
655655
656656
657657/************************************
src/mame/drivers/shanghai.c
r9191r9192
424424
425425static const hd63484_interface shanghai_hd63484_intf = { 0 };
426426
427static MACHINE_DRIVER_START( shanghai )
427static MACHINE_CONFIG_START( shanghai, driver_device )
428428
429429   /* basic machine hardware */
430430   MDRV_CPU_ADD("maincpu", V30,16000000/2)   /* ? */
r9191r9192
456456   MDRV_SOUND_ROUTE(1, "mono", 0.15)
457457   MDRV_SOUND_ROUTE(2, "mono", 0.15)
458458   MDRV_SOUND_ROUTE(3, "mono", 0.80)
459MACHINE_DRIVER_END
459MACHINE_CONFIG_END
460460
461461
462static MACHINE_DRIVER_START( shangha2 )
462static MACHINE_CONFIG_START( shangha2, driver_device )
463463
464464   /* basic machine hardware */
465465   MDRV_CPU_ADD("maincpu", V30,16000000/2)   /* ? */
r9191r9192
490490   MDRV_SOUND_ROUTE(1, "mono", 0.15)
491491   MDRV_SOUND_ROUTE(2, "mono", 0.15)
492492   MDRV_SOUND_ROUTE(3, "mono", 0.80)
493MACHINE_DRIVER_END
493MACHINE_CONFIG_END
494494
495495
496static MACHINE_DRIVER_START( kothello )
496static MACHINE_CONFIG_START( kothello, driver_device )
497497
498498   /* basic machine hardware */
499499   MDRV_CPU_ADD("maincpu", V30,16000000/2)   /* ? */
r9191r9192
532532   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
533533
534534   SEIBU_SOUND_SYSTEM_ADPCM_INTERFACE
535MACHINE_DRIVER_END
535MACHINE_CONFIG_END
536536
537537/***************************************************************************
538538
src/mame/drivers/jpmimpct.c
r9191r9192
8383#include "sound/upd7759.h"
8484#include "includes/jpmimpct.h"
8585#include "machine/meters.h"
86#include "machine/nvram.h"
8687
8788/*************************************
8889 *
r9191r9192
623624static ADDRESS_MAP_START( m68k_program_map, ADDRESS_SPACE_PROGRAM, 16 )
624625   AM_RANGE(0x00000000, 0x000fffff) AM_ROM
625626   AM_RANGE(0x00100000, 0x001fffff) AM_ROM
626   AM_RANGE(0x00400000, 0x00403fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
627   AM_RANGE(0x00400000, 0x00403fff) AM_RAM AM_SHARE("nvram")
627628   AM_RANGE(0x00480000, 0x0048001f) AM_READWRITE(duart_1_r, duart_1_w)
628629   AM_RANGE(0x00480020, 0x00480033) AM_READ(inputs1_r)
629630   AM_RANGE(0x00480034, 0x00480035) AM_READ(unk_r)
r9191r9192
845846 *
846847 *************************************/
847848
848static MACHINE_DRIVER_START( jpmimpct )
849static MACHINE_CONFIG_START( jpmimpct, driver_device )
849850   MDRV_CPU_ADD("maincpu", M68000, 8000000)
850851   MDRV_CPU_PROGRAM_MAP(m68k_program_map)
851852
r9191r9192
856857   MDRV_QUANTUM_TIME(HZ(30000))
857858   MDRV_MACHINE_START(jpmimpct)
858859   MDRV_MACHINE_RESET(jpmimpct)
859   MDRV_NVRAM_HANDLER(generic_0fill)
860   MDRV_NVRAM_ADD_0FILL("nvram")
860861
861862   MDRV_TIMER_ADD( "duart_1_timer", duart_1_timer_event)
862863
r9191r9192
871872
872873   MDRV_VIDEO_START(jpmimpct)
873874   MDRV_VIDEO_UPDATE(tms340x0)
874MACHINE_DRIVER_END
875MACHINE_CONFIG_END
875876
876877
877878/*************************************
r9191r9192
12941295static ADDRESS_MAP_START( awp68k_program_map, ADDRESS_SPACE_PROGRAM, 16 )
12951296   AM_RANGE(0x00000000, 0x000fffff) AM_ROM
12961297   AM_RANGE(0x00100000, 0x001fffff) AM_ROM
1297   AM_RANGE(0x00400000, 0x00403fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1298   AM_RANGE(0x00400000, 0x00403fff) AM_RAM AM_SHARE("nvram")
12981299   AM_RANGE(0x00480000, 0x0048001f) AM_READWRITE(duart_1_r, duart_1_w)
12991300   AM_RANGE(0x00480020, 0x00480033) AM_READ(inputs1_r)
13001301   AM_RANGE(0x00480034, 0x00480035) AM_READ(ump_r)
r9191r9192
13211322 *
13221323 *************************************/
13231324
1324static MACHINE_DRIVER_START( impctawp )
1325static MACHINE_CONFIG_START( impctawp, driver_device )
13251326   MDRV_CPU_ADD("maincpu",M68000, 8000000)
13261327   MDRV_CPU_PROGRAM_MAP(awp68k_program_map)
13271328
r9191r9192
13291330
13301331   MDRV_MACHINE_START(impctawp)
13311332   MDRV_MACHINE_RESET(impctawp)
1332   MDRV_NVRAM_HANDLER(generic_0fill)
1333   MDRV_NVRAM_ADD_0FILL("nvram")
13331334
13341335   MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf[0] )
13351336
r9191r9192
13391340   MDRV_SOUND_ADD("upd",UPD7759, UPD7759_STANDARD_CLOCK)
13401341   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
13411342   MDRV_DEFAULT_LAYOUT(layout_awpvid16)
1342MACHINE_DRIVER_END
1343MACHINE_CONFIG_END
13431344
13441345/*************************************
13451346 *
src/mame/drivers/namcos12.c
r9191r9192
15111511   system11gun_install(machine);
15121512}
15131513
1514static MACHINE_DRIVER_START( coh700 )
1514static MACHINE_CONFIG_START( coh700, driver_device )
15151515   /* basic machine hardware */
15161516   MDRV_CPU_ADD("maincpu",  CXD8661R, XTAL_100MHz )
15171517   MDRV_CPU_PROGRAM_MAP( namcos12_map)
r9191r9192
15481548   MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
15491549
15501550   MDRV_AT28C16_ADD( "at28c16", NULL )
1551MACHINE_DRIVER_END
1551MACHINE_CONFIG_END
15521552
15531553static INPUT_PORTS_START( namcos12 )
15541554   PORT_START("DSW")
src/mame/drivers/scramble.c
r9191r9192
12331233   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("8910.2", ay8910_r, ay8910_data_w)
12341234ADDRESS_MAP_END
12351235
1236static MACHINE_DRIVER_START( scramble )
1236static MACHINE_CONFIG_START( scramble, driver_device )
12371237
12381238   /* basic machine hardware */
12391239   MDRV_CPU_ADD("maincpu", Z80, 18432000/6)   /* 3.072 MHz */
r9191r9192
12781278   MDRV_SOUND_ADD("8910.2", AY8910, 14318000/8)
12791279   MDRV_SOUND_CONFIG(scramble_ay8910_interface_2)
12801280   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
1281MACHINE_DRIVER_END
1281MACHINE_CONFIG_END
12821282
1283static MACHINE_DRIVER_START( mars )
1283static MACHINE_CONFIG_DERIVED( mars, scramble )
12841284
12851285   /* basic machine hardware */
1286   MDRV_IMPORT_FROM(scramble)
12871286   MDRV_CPU_MODIFY("maincpu")
12881287   MDRV_CPU_PROGRAM_MAP(mars_map)
12891288
12901289   /* video hardware */
12911290   MDRV_PALETTE_LENGTH(32+64+2+0)   /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
12921291   MDRV_PALETTE_INIT(galaxold)
1293MACHINE_DRIVER_END
1292MACHINE_CONFIG_END
12941293
1295static MACHINE_DRIVER_START( devilfsh )
1294static MACHINE_CONFIG_DERIVED( devilfsh, scramble )
12961295
12971296   /* basic machine hardware */
1298   MDRV_IMPORT_FROM(scramble)
12991297   MDRV_CPU_MODIFY("maincpu")
13001298   MDRV_CPU_PROGRAM_MAP(mars_map)
13011299
r9191r9192
13031301   MDRV_GFXDECODE(devilfsh)
13041302   MDRV_PALETTE_LENGTH(32+64+2+0)   /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
13051303   MDRV_PALETTE_INIT(galaxold)
1306MACHINE_DRIVER_END
1304MACHINE_CONFIG_END
13071305
1308static MACHINE_DRIVER_START( newsin7 )
1306static MACHINE_CONFIG_DERIVED( newsin7, scramble )
13091307
13101308   /* basic machine hardware */
1311   MDRV_IMPORT_FROM(scramble)
13121309   MDRV_CPU_MODIFY("maincpu")
13131310   MDRV_CPU_PROGRAM_MAP(newsin7_map)
13141311
r9191r9192
13171314   MDRV_PALETTE_LENGTH(32+64+2+0)   /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
13181315   MDRV_PALETTE_INIT(galaxold)
13191316   MDRV_VIDEO_START(newsin7)
1320MACHINE_DRIVER_END
1317MACHINE_CONFIG_END
13211318
1322static MACHINE_DRIVER_START( mrkougar )
1319static MACHINE_CONFIG_DERIVED( mrkougar, scramble )
13231320
13241321   /* basic machine hardware */
1325   MDRV_IMPORT_FROM(scramble)
13261322   MDRV_CPU_MODIFY("maincpu")
13271323   MDRV_CPU_PROGRAM_MAP(mrkougar_map)
13281324
r9191r9192
13321328   MDRV_GFXDECODE(mrkougar)
13331329   MDRV_PALETTE_LENGTH(32+64+2+0)   /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
13341330   MDRV_PALETTE_INIT(galaxold)
1335MACHINE_DRIVER_END
1331MACHINE_CONFIG_END
13361332
1337static MACHINE_DRIVER_START( mrkougb )
1333static MACHINE_CONFIG_DERIVED( mrkougb, scramble )
13381334
13391335   /* basic machine hardware */
1340   MDRV_IMPORT_FROM(scramble)
13411336   MDRV_CPU_MODIFY("maincpu")
13421337   MDRV_CPU_PROGRAM_MAP(mrkougar_map)
13431338
r9191r9192
13461341   /* video hardware */
13471342   MDRV_PALETTE_LENGTH(32+64+2+0)   /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
13481343   MDRV_PALETTE_INIT(galaxold)
1349MACHINE_DRIVER_END
1344MACHINE_CONFIG_END
13501345
1351static MACHINE_DRIVER_START( ckongs )
1346static MACHINE_CONFIG_DERIVED( ckongs, scramble )
13521347
13531348   /* basic machine hardware */
1354   MDRV_IMPORT_FROM(scramble)
13551349   MDRV_CPU_MODIFY("maincpu")
13561350   MDRV_CPU_PROGRAM_MAP(ckongs_map)
13571351
r9191r9192
13591353   MDRV_PALETTE_LENGTH(32+64+2+0)   /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
13601354   MDRV_PALETTE_INIT(galaxold)
13611355   MDRV_VIDEO_START(ckongs)
1362MACHINE_DRIVER_END
1356MACHINE_CONFIG_END
13631357
1364static MACHINE_DRIVER_START( hotshock )
1358static MACHINE_CONFIG_DERIVED( hotshock, scramble )
13651359
13661360   /* basic machine hardware */
1367   MDRV_IMPORT_FROM(scramble)
13681361   MDRV_CPU_MODIFY("maincpu")
13691362   MDRV_CPU_PROGRAM_MAP(hotshock_map)
13701363
r9191r9192
13871380   MDRV_SOUND_MODIFY("8910.2")
13881381   MDRV_SOUND_CONFIG(hotshock_ay8910_interface_2)
13891382   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
1390MACHINE_DRIVER_END
1383MACHINE_CONFIG_END
13911384
1392static MACHINE_DRIVER_START( cavelon )
1385static MACHINE_CONFIG_DERIVED( cavelon, scramble )
13931386
13941387   /* basic machine hardware */
1395   MDRV_IMPORT_FROM(scramble)
13961388
13971389   /* video hardware */
13981390   MDRV_PALETTE_LENGTH(32+64+2+0)   /* 32 for characters, 64 for stars, 2 for bullets, 0/1 for background */
13991391   MDRV_PALETTE_INIT(galaxold)
14001392   MDRV_VIDEO_START(ckongs)
1401MACHINE_DRIVER_END
1393MACHINE_CONFIG_END
14021394
1403static MACHINE_DRIVER_START( mimonscr )
1395static MACHINE_CONFIG_DERIVED( mimonscr, scramble )
14041396
14051397   /* basic machine hardware */
1406   MDRV_IMPORT_FROM(scramble)
14071398   MDRV_CPU_MODIFY("maincpu")
14081399   MDRV_CPU_PROGRAM_MAP(mimonscr_map)
14091400
14101401   /* video hardware */
14111402   MDRV_VIDEO_START(mimonkey)
1412MACHINE_DRIVER_END
1403MACHINE_CONFIG_END
14131404
14141405/* Triple Punch and Mariner are different - only one CPU, one 8910 */
1415static MACHINE_DRIVER_START( triplep )
1406static MACHINE_CONFIG_DERIVED( triplep, scramble )
14161407
14171408   /* basic machine hardware */
1418   MDRV_IMPORT_FROM(scramble)
14191409   MDRV_CPU_MODIFY("maincpu")
14201410   MDRV_CPU_IO_MAP(triplep_io_map)
14211411
r9191r9192
14281418
14291419   /* sound hardware */
14301420   MDRV_SOUND_MODIFY("8910.1")
1421   MDRV_SOUND_CLOCK(18432000/12) // triple punch/knock out ay clock is 1.535MHz, derived from main cpu xtal; verified on hardware
14311422   MDRV_SOUND_CONFIG(triplep_ay8910_interface)
14321423   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
14331424
14341425   MDRV_DEVICE_REMOVE("8910.2")
1435MACHINE_DRIVER_END
1426MACHINE_CONFIG_END
14361427
1437static MACHINE_DRIVER_START( mariner )
1428static MACHINE_CONFIG_DERIVED( mariner, triplep )
14381429
14391430   /* basic machine hardware */
1440   MDRV_IMPORT_FROM(triplep)
14411431
14421432   /* video hardware */
14431433   MDRV_PALETTE_LENGTH(32+64+2+16)   /* 32 for characters, 64 for stars, 2 for bullets, 16 for background */
14441434
14451435   MDRV_PALETTE_INIT(mariner)
14461436   MDRV_VIDEO_START(mariner)
1447MACHINE_DRIVER_END
1437MACHINE_CONFIG_END
14481438
14491439/* Hunchback replaces the Z80 with a S2650 CPU */
1450static MACHINE_DRIVER_START( hunchbks )
1440static MACHINE_CONFIG_DERIVED( hunchbks, scramble )
14511441
14521442   /* basic machine hardware */
1453   MDRV_IMPORT_FROM(scramble)
14541443   MDRV_CPU_REPLACE("maincpu", S2650, 18432000/6)
14551444   MDRV_CPU_PROGRAM_MAP(hunchbks_map)
14561445   MDRV_CPU_IO_MAP(hunchbks_readport)
r9191r9192
14631452   MDRV_PALETTE_LENGTH(32+64+2+0)   /* 32 for characters, 64 for stars, 2 for bullets */
14641453
14651454   MDRV_PALETTE_INIT(galaxold)
1466MACHINE_DRIVER_END
1455MACHINE_CONFIG_END
14671456
1468static MACHINE_DRIVER_START( hncholms )
1457static MACHINE_CONFIG_DERIVED( hncholms, hunchbks )
14691458
14701459   /* basic machine hardware */
1471   MDRV_IMPORT_FROM(hunchbks)
14721460   MDRV_CPU_MODIFY("maincpu")
14731461   MDRV_CPU_CLOCK(18432000/6/2/2)
14741462
14751463   MDRV_VIDEO_START(scorpion)
1476MACHINE_DRIVER_END
1464MACHINE_CONFIG_END
14771465
1478static MACHINE_DRIVER_START( ad2083 )
1466static MACHINE_CONFIG_START( ad2083, driver_device )
14791467   /* basic machine hardware */
14801468   MDRV_CPU_ADD("maincpu", Z80, 18432000/6)   /* 3.072 MHz */
14811469   MDRV_CPU_PROGRAM_MAP(ad2083_map)
r9191r9192
15051493
15061494   /* sound hardware */
15071495
1508   MDRV_IMPORT_FROM(ad2083_audio)
1496   MDRV_FRAGMENT_ADD(ad2083_audio)
15091497
1510MACHINE_DRIVER_END
1498MACHINE_CONFIG_END
15111499
1512static MACHINE_DRIVER_START( turpins )
1500static MACHINE_CONFIG_DERIVED( turpins, scramble )
15131501
15141502   /* basic machine hardware */
1515   MDRV_IMPORT_FROM(scramble)
15161503   MDRV_CPU_MODIFY("maincpu")
15171504   MDRV_CPU_PROGRAM_MAP(turpins_map)
15181505
1519MACHINE_DRIVER_END
1506MACHINE_CONFIG_END
15201507
15211508/***************************************************************************
15221509
src/mame/drivers/mole.c
r9191r9192
5353#include "sound/ay8910.h"
5454
5555
56class mole_state : public driver_data_t
56class mole_state : public driver_device
5757{
5858public:
59   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mole_state(machine)); }
59   mole_state(running_machine &machine, const driver_device_config_base &config)
60      : driver_device(machine, config) { }
6061
61   mole_state(running_machine &machine)
62      : driver_data_t(machine) { }
63
6462   /* memory pointers */
6563   UINT16 *     tileram;
6664
r9191r9192
200198   AM_RANGE(0x0800, 0x0800) AM_WRITENOP // ???
201199   AM_RANGE(0x0820, 0x0820) AM_WRITENOP // ???
202200   AM_RANGE(0x5000, 0x7fff) AM_MIRROR(0x8000) AM_ROM
203   AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(mole_videoram_w) AM_BASE_GENERIC(videoram)
201   AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(mole_videoram_w)
204202   AM_RANGE(0x8400, 0x8400) AM_WRITE(mole_tilebank_w)
205203   AM_RANGE(0x8c00, 0x8c01) AM_DEVWRITE("aysnd", ay8910_data_address_w)
206204   AM_RANGE(0x8c40, 0x8c40) AM_WRITENOP // ???
r9191r9192
316314   state->tile_bank = 0;
317315}
318316
319static MACHINE_DRIVER_START( mole )
317static MACHINE_CONFIG_START( mole, mole_state )
320318
321   /* driver data */
322   MDRV_DRIVER_DATA(mole_state)
323
324319   /* basic machine hardware */
325320   MDRV_CPU_ADD("maincpu", M6502, 4000000) // ???
326321   MDRV_CPU_PROGRAM_MAP(mole_map)
r9191r9192
349344
350345   MDRV_SOUND_ADD("aysnd", AY8910, 2000000)
351346   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
352MACHINE_DRIVER_END
347MACHINE_CONFIG_END
353348
354349
355350/*************************************
src/mame/drivers/missb2.c
r9191r9192
184184static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
185185   AM_RANGE(0x0000, 0x7fff) AM_ROM
186186   AM_RANGE(0x8000, 0x8fff) AM_RAM
187   AM_RANGE(0x9000, 0x9000) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
187   AM_RANGE(0x9000, 0x9000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
188188   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym3526_r, ym3526_w)
189189   AM_RANGE(0xb000, 0xb000) AM_READ(soundlatch_r) AM_WRITENOP // message for main cpu
190190   AM_RANGE(0xb001, 0xb001) AM_READNOP AM_WRITE(bublbobl_sh_nmi_enable_w)   // bit 0: message pending for main cpu, bit 1: message pending for sound cpu
r9191r9192
379379   state->sound_status = 0;
380380}
381381
382static MACHINE_DRIVER_START( missb2 )
382static MACHINE_CONFIG_START( missb2, bublbobl_state )
383383
384   /* driver data */
385   MDRV_DRIVER_DATA(bublbobl_state)
386
387384   /* basic machine hardware */
388385   MDRV_CPU_ADD("maincpu", Z80, MAIN_XTAL/4)   // 6 MHz
389386   MDRV_CPU_PROGRAM_MAP(master_map)
r9191r9192
425422
426423   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
427424   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
428MACHINE_DRIVER_END
425MACHINE_CONFIG_END
429426
430427/* ROMs */
431428
src/mame/drivers/pitnrun.c
r9191r9192
9494static ADDRESS_MAP_START( pitnrun_map, ADDRESS_SPACE_PROGRAM, 8 )
9595   AM_RANGE(0x0000, 0x7fff) AM_ROM
9696   AM_RANGE(0x8000, 0x87ff) AM_RAM
97   AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(pitnrun_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
97   AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(pitnrun_videoram_w) AM_BASE_MEMBER(pitnrun_state, videoram)
9898   AM_RANGE(0x9000, 0x9fff) AM_RAM_WRITE(pitnrun_videoram2_w) AM_BASE(&pitnrun_videoram2)
9999   AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
100100   AM_RANGE(0xa800, 0xa800) AM_READ_PORT("SYSTEM")
r9191r9192
228228   GFXDECODE_ENTRY( "gfx1", 0, spritelayout,  0, 4 )
229229GFXDECODE_END
230230
231static MACHINE_DRIVER_START( pitnrun )
231static MACHINE_CONFIG_START( pitnrun, pitnrun_state )
232232   MDRV_CPU_ADD("maincpu", Z80,XTAL_18_432MHz/6)       /* verified on pcb */
233233   MDRV_CPU_PROGRAM_MAP(pitnrun_map)
234234   MDRV_CPU_VBLANK_INT("screen", pitnrun_nmi_source)
r9191r9192
269269   MDRV_SOUND_ADD("ay2", AY8910, XTAL_18_432MHz/12)       /* verified on pcb */
270270   MDRV_SOUND_CONFIG(ay8910_config)
271271   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
272MACHINE_DRIVER_END
272MACHINE_CONFIG_END
273273
274274
275275ROM_START( pitnrun )
src/mame/drivers/liberatr.c
r9191r9192
380380 *
381381 *************************************/
382382
383static MACHINE_DRIVER_START( liberatr )
383static MACHINE_CONFIG_START( liberatr, driver_device )
384384
385385   /* basic machine hardware */
386386   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/16) /* 1.25Mhz divided from 20Mhz master clock */
r9191r9192
410410   MDRV_SOUND_ADD("pokey2", POKEY, MASTER_CLOCK/16) /* 1.25Mhz from Phi2 signal from 6502 */
411411   MDRV_SOUND_CONFIG(pokey_interface_2)
412412   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
413MACHINE_DRIVER_END
413MACHINE_CONFIG_END
414414
415415
416static MACHINE_DRIVER_START( liberat2 )
416static MACHINE_CONFIG_DERIVED( liberat2, liberatr )
417417
418418   /* basic machine hardware */
419   MDRV_IMPORT_FROM(liberatr)
420419   MDRV_CPU_MODIFY("maincpu")
421420   MDRV_CPU_PROGRAM_MAP(liberat2_map)
422MACHINE_DRIVER_END
421MACHINE_CONFIG_END
423422
424423
425424
src/mame/drivers/tehkanwc.c
r9191r9192
9393#include "sound/ay8910.h"
9494#include "sound/msm5205.h"
9595#include "gridiron.lh"
96#include "includes/tehkanwc.h"
9697
97extern UINT8 *tehkanwc_videoram;
98extern UINT8 *tehkanwc_colorram;
99extern UINT8 *tehkanwc_videoram2;
100
101extern WRITE8_HANDLER( tehkanwc_videoram_w );
102extern WRITE8_HANDLER( tehkanwc_colorram_w );
103extern WRITE8_HANDLER( tehkanwc_videoram2_w );
104extern WRITE8_HANDLER( tehkanwc_scroll_x_w );
105extern WRITE8_HANDLER( tehkanwc_scroll_y_w );
106extern WRITE8_HANDLER( tehkanwc_flipscreen_x_w );
107extern WRITE8_HANDLER( tehkanwc_flipscreen_y_w );
108extern WRITE8_HANDLER( gridiron_led0_w );
109extern WRITE8_HANDLER( gridiron_led1_w );
110
111extern VIDEO_START( tehkanwc );
112extern VIDEO_UPDATE( tehkanwc );
113
114
11598static WRITE8_HANDLER( sub_cpu_halt_w )
11699{
117100   if (data)
r9191r9192
657640   MSM5205_S48_4B      /* 8KHz               */
658641};
659642
660static MACHINE_DRIVER_START( tehkanwc )
643static MACHINE_CONFIG_START( tehkanwc, driver_device )
661644
662645   /* basic machine hardware */
663646   MDRV_CPU_ADD("maincpu", Z80, 18432000/4)   /* 18.432000 / 4 */
r9191r9192
703686   MDRV_SOUND_ADD("msm", MSM5205, 384000)
704687   MDRV_SOUND_CONFIG(msm5205_config)
705688   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
706MACHINE_DRIVER_END
689MACHINE_CONFIG_END
707690
708691
709692static DRIVER_INIT( teedoff )
src/mame/drivers/bionicc.c
r9191r9192
356356   state->soundcommand = 0;
357357}
358358
359static MACHINE_DRIVER_START( bionicc )
359static MACHINE_CONFIG_START( bionicc, bionicc_state )
360360
361   /* driver data */
362   MDRV_DRIVER_DATA(bionicc_state)
363
364361   /* basic machine hardware */
365362   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK / 2) /* 12 MHz - verified in schematics */
366363   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
398395   MDRV_SOUND_ADD("ymsnd", YM2151, 3579545)
399396   MDRV_SOUND_ROUTE(0, "mono", 0.60)
400397   MDRV_SOUND_ROUTE(1, "mono", 0.60)
401MACHINE_DRIVER_END
398MACHINE_CONFIG_END
402399
403400
404401
src/mame/drivers/photon.c
r9191r9192
192192   return pk8000_video_update(screen, bitmap, cliprect, memory_region(screen->machine, "maincpu"));
193193}
194194
195static MACHINE_DRIVER_START( photon )
195static MACHINE_CONFIG_START( photon, driver_device )
196196
197197    /* basic machine hardware */
198198    MDRV_CPU_ADD("maincpu",I8080, 1780000)
r9191r9192
220220
221221    /* audio hardware */
222222   MDRV_SPEAKER_STANDARD_MONO("mono")
223   MDRV_SOUND_ADD("speaker", SPEAKER, 0)
223   MDRV_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
224224   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
225MACHINE_DRIVER_END
225MACHINE_CONFIG_END
226226
227227/*
228228    Dump was made using custom adaptor, hence it is marked as bad dump.
src/mame/drivers/citycon.c
r9191r9192
204204}
205205
206206
207static MACHINE_DRIVER_START( citycon )
207static MACHINE_CONFIG_START( citycon, citycon_state )
208208
209   /* driver data */
210   MDRV_DRIVER_DATA(citycon_state)
211
212209   /* basic machine hardware */
213210   MDRV_CPU_ADD("maincpu", M6809, 2048000)        /* 2.048 MHz ??? */
214211   MDRV_CPU_PROGRAM_MAP(citycon_map)
r9191r9192
248245   MDRV_SOUND_ROUTE(1, "mono", 0.40)
249246   MDRV_SOUND_ROUTE(2, "mono", 0.40)
250247   MDRV_SOUND_ROUTE(3, "mono", 0.20)
251MACHINE_DRIVER_END
248MACHINE_CONFIG_END
252249
253250
254251
src/mame/drivers/sigmab52.c
r9191r9192
564564*    Machine Drivers     *
565565*************************/
566566
567static MACHINE_DRIVER_START( jwildb52 )
567static MACHINE_CONFIG_START( jwildb52, driver_device )
568568
569569   /* basic machine hardware */
570570   MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK/9)   /* 2 MHz */
r9191r9192
595595   MDRV_VIDEO_START(jwildb52)
596596   MDRV_VIDEO_UPDATE(jwildb52)
597597
598MACHINE_DRIVER_END
598MACHINE_CONFIG_END
599599
600600
601601/*************************
src/mame/drivers/dynadice.c
r9191r9192
3535#include "cpu/z80/z80.h"
3636#include "cpu/i8085/i8085.h"
3737#include "sound/ay8910.h"
38#include "machine/nvram.h"
3839
3940
40class dynadice_state : public driver_data_t
41class dynadice_state : public driver_device
4142{
4243public:
43   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dynadice_state(machine)); }
44   dynadice_state(running_machine &machine, const driver_device_config_base &config)
45      : driver_device(machine, config) { }
4446
45   dynadice_state(running_machine &machine)
46      : driver_data_t(machine) { }
47
4847   /* memory pointers */
4948   UINT8 *  videoram;
5049//  UINT8 *  nvram;     // currently this uses generic nvram handling
r9191r9192
9594static ADDRESS_MAP_START( dynadice_map, ADDRESS_SPACE_PROGRAM, 8 )
9695   AM_RANGE(0x0000, 0x1fff) AM_ROM
9796   AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(dynadice_videoram_w) AM_BASE_MEMBER(dynadice_state, videoram)
98   AM_RANGE(0x4000, 0x40ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
97   AM_RANGE(0x4000, 0x40ff) AM_RAM AM_SHARE("nvram")
9998ADDRESS_MAP_END
10099
101100static ADDRESS_MAP_START( dynadice_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
235234   state->ay_data = 0;
236235}
237236
238static MACHINE_DRIVER_START( dynadice )
237static MACHINE_CONFIG_START( dynadice, dynadice_state )
239238
240   /* driver data */
241   MDRV_DRIVER_DATA(dynadice_state)
242
243239   /* basic machine hardware */
244240   MDRV_CPU_ADD("maincpu", I8080,18432000/8)
245241   MDRV_CPU_PROGRAM_MAP(dynadice_map)
r9191r9192
252248   MDRV_MACHINE_START(dynadice)
253249   MDRV_MACHINE_RESET(dynadice)
254250
255   MDRV_NVRAM_HANDLER(generic_0fill)
251   MDRV_NVRAM_ADD_0FILL("nvram")
256252
257253   /* video hardware */
258254   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
273269
274270   MDRV_SOUND_ADD("aysnd", AY8910, 2000000)
275271   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
276MACHINE_DRIVER_END
272MACHINE_CONFIG_END
277273
278274ROM_START( dynadice )
279275   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/ampoker2.c
r9191r9192
44    AMERICAN POKER 2
55    ----------------
66
7    Company:    Novomatic.
8    Year:       1990.
7    Company:  Novomatic.
8    Year:     1990.
99
1010    Driver by Roberto Fresca, with a lot of help of Grull Osgo.
1111    Based on a preliminary work of Curt Coder.
r9191r9192
1919    ampkr2b1 |  clone   |  American Poker II (bootleg, set 1).
2020    ampkr2b2 |  clone   |  American Poker II (bootleg, set 2).
2121    ampkr2b3 |  clone   |  American Poker II (bootleg, set 3).
22    ampkr2b4 |  clone   |  American Poker II (bootleg, set 4).
2223    ampkr228 |  clone   |  American Poker II (iamp2 v28).
2324    pkrdewin |  clone   |  Poker De Win.
2425    ampkr95  |  clone   |  American Poker 95.
r9191r9192
2627    rabbitpk |  clone   |  Rabbit Poker / Arizona Poker 1.1? (with PIC)
2728    sigmapkr |  parent  |  Sigma Poker.
2829    sigma2k  |  parent  |  Sigma Poker 2000.
30    piccolop |  parent  |  Piccolo Poker.
2931
3032
3133*********************************************************************************
r9191r9192
367369#include "emu.h"
368370#include "cpu/z80/z80.h"
369371#include "sound/ay8910.h"
372#include "machine/nvram.h"
370373#include "ampoker2.lh"
371374#include "sigmapkr.lh"
375#include "includes/ampoker2.h"
372376
373/* from video */
374extern WRITE8_HANDLER( ampoker2_videoram_w );
375extern PALETTE_INIT( ampoker2 );
376extern VIDEO_START( ampoker2 );
377extern VIDEO_START( sigma2k );
378extern VIDEO_UPDATE( ampoker2 );
379
380
381377/**********************
382378* Read/Write Handlers *
383379*  - Output Ports -   *
r9191r9192
583579
584580static ADDRESS_MAP_START( ampoker2_map, ADDRESS_SPACE_PROGRAM, 8 )
585581   AM_RANGE(0x0000, 0xbfff) AM_ROM
586   AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
587   AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(ampoker2_videoram_w) AM_BASE_GENERIC(videoram)
582   AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("nvram")
583   AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(ampoker2_videoram_w) AM_BASE_MEMBER(ampoker2_state, videoram)
588584ADDRESS_MAP_END
589585
590586static ADDRESS_MAP_START( ampoker2_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
721717
722718   PORT_START("IN7")
723719   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not used */
724   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Remote Credits") PORT_IMPULSE(12) PORT_CODE(KEYCODE_3)
720   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Remote Credit") PORT_IMPULSE(12) PORT_CODE(KEYCODE_3)
725721   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2)
726722   PORT_DIPNAME( 0x08, 0x08, "Jackpot" )        PORT_DIPLOCATION("SW1:8") /* DSW8 */
727723   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
r9191r9192
806802
807803   PORT_START("IN7")
808804   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not used */
809   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Remote Credits") PORT_IMPULSE(12) PORT_CODE(KEYCODE_3)
805   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Remote Credit") PORT_IMPULSE(12) PORT_CODE(KEYCODE_3)
810806   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2)
811807   PORT_DIPNAME( 0x08, 0x08, "Jackpot" )        PORT_DIPLOCATION("SW1:8") /* DSW8 */
812808   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
r9191r9192
891887
892888   PORT_START("IN7")
893889   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not used */
894   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Remote Credits") PORT_IMPULSE(12) PORT_CODE(KEYCODE_3)
890   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Remote Credit") PORT_IMPULSE(12) PORT_CODE(KEYCODE_3)
895891   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2)
896892   PORT_DIPNAME( 0x08, 0x08, "Jackpot" )        PORT_DIPLOCATION("SW1:8") /* DSW8 */
897893   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
r9191r9192
10541050*     Machine Driver     *
10551051*************************/
10561052
1057static MACHINE_DRIVER_START( ampoker2 )
1053static MACHINE_CONFIG_START( ampoker2, ampoker2_state )
10581054
10591055   /* basic machine hardware */
10601056   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/2)      /* 3 MHz */
r9191r9192
10631059   MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 1536)
10641060   MDRV_WATCHDOG_TIME_INIT(MSEC(200))   /* 200 ms, measured */
10651061
1066   MDRV_NVRAM_HANDLER(generic_0fill)
1062   MDRV_NVRAM_ADD_0FILL("nvram")
10671063
10681064   /* video hardware */
10691065   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
10871083   MDRV_SOUND_ADD("aysnd", AY8910,MASTER_CLOCK/4)   /* 1.5 MHz, measured */
10881084   MDRV_SOUND_CONFIG(ay8910_config)
10891085   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
1090MACHINE_DRIVER_END
1086MACHINE_CONFIG_END
10911087
1092static MACHINE_DRIVER_START( sigma2k )
1088static MACHINE_CONFIG_DERIVED( sigma2k, ampoker2 )
1089
10931090   /* basic machine hardware */
1094   MDRV_IMPORT_FROM(ampoker2)
10951091
10961092   /* video hardware */
10971093   MDRV_GFXDECODE(sigma2k)
10981094   MDRV_VIDEO_START(sigma2k)
1099MACHINE_DRIVER_END
1095MACHINE_CONFIG_END
11001096
11011097
11021098/*************************
r9191r9192
12651261   ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) )
12661262ROM_END
12671263
1264/*
12681265
1266Piccolo Poker (Admiral, licenced by Novomatic).
1267Seems a interesting American Poker II variant.
1268
1269Roms have swapped halves.
1270Rechecked on PCB.
1271
1272*/
1273
1274ROM_START( piccolop )
1275   ROM_REGION( 0x10000, "maincpu", 0 )
1276   ROM_LOAD( "v4.1.bin", 0x4000, 0x4000, CRC(ae092c43) SHA1(191e233310d59d3b4eb71c7081799835efcae069) )
1277   ROM_CONTINUE(         0x0000, 0x4000)
1278   ROM_LOAD( "v4.2.bin", 0xc000, 0x4000, CRC(69fb6fd5) SHA1(e95c2793aaa11b9501ca544dd0a045e8e7bc52bf) )
1279   ROM_CONTINUE(         0x8000, 0x4000)
1280
1281   ROM_REGION( 0x8000, "gfx1", 0 )
1282   ROM_LOAD( "zei_8.11.bin", 0x4000, 0x4000, CRC(1b003672) SHA1(e58bd58023f332c30851204491b7e0bd7c5d9631) )
1283   ROM_CONTINUE(             0x0000, 0x4000)
1284
1285   ROM_REGION( 0x200, "proms", 0 )  /* not dumped. using the ampoker2 one instead */
1286   ROM_LOAD( "82s147an.u48", 0x0000, 0x0200, CRC(9bc8e543) SHA1(e4882868a43e21a509a180b9731600d1dd63b5cc) )
1287ROM_END
1288
1289
12691290/*************************
12701291*      Driver Init       *
12711292*************************/
r9191r9192
12921313   }
12931314}
12941315
1316static DRIVER_INIT( piccolop )
1317{
1318/*
12951319
1320  1382: 41            ld   b,c
1321  1383: 80            add  a,b
1322  1384: 00            nop  ------\
1323  1385: 00            nop         |  Obvious patch...
1324  1386: 00            nop         |  Dunno if was made originarily.
1325  1387: 00            nop  ------/
1326  1388: 3E 08         ld   a,$08
1327  138A: D3 37         out  ($37),a   ; Sets bit3 to keep happy the watchdog reset.
1328  138C: 32 01 C0      ld   ($C001),a
1329  138F: 18 FE         jr   $138F     ; INFINITE LOOP --- WTF???
1330
1331  The following patch will break the infinite loop,
1332  but reset the game constantly.
1333
1334*/
1335
1336//  UINT8 *rom = memory_region(machine, "maincpu");
1337
1338//  rom[0x138f] = 0x00;
1339//  rom[0x1390] = 0x00;
1340
1341}
1342
1343
12961344/*************************
12971345*      Game Drivers      *
12981346*************************/
12991347
1300/*     YEAR  NAME      PARENT    MACHINE   INPUT     INIT      ROT    COMPANY       FULLNAME                             FLAGS  LAYOUT      */
1301GAMEL( 1990, ampoker2, 0,        ampoker2, ampoker2, 0,        ROT0, "Novomatic",  "American Poker II",                  GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1302GAMEL( 1990, ampkr2b1, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",    "American Poker II (bootleg, set 1)", GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1303GAMEL( 1990, ampkr2b2, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",    "American Poker II (bootleg, set 2)", GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1304GAMEL( 1994, ampkr2b3, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",    "American Poker II (bootleg, set 3)", GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1305GAMEL( 1994, ampkr2b4, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",    "American Poker II (bootleg, set 4)", GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1306GAMEL( 1994, ampkr228, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg?",   "American Poker II (iamp2 v28)",      GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1307GAMEL( 1995, ampkr95,  ampoker2, ampoker2, ampkr95,  0,        ROT0, "bootleg",    "American Poker 95",                  GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1308GAMEL( 1990, pkrdewin, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",    "Poker De Win",                       GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1309GAMEL( 1990, videomat, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",    "Videomat (Polish bootleg)",          GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1310GAMEL( 1990, rabbitpk, ampoker2, ampoker2, ampoker2, rabbitpk, ROT0, "bootleg",    "Rabbit Poker (Arizona Poker v1.1?)", GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1311GAMEL( 1995, sigmapkr, 0,        ampoker2, sigmapkr, 0,        ROT0, "Sigma Inc.", "Sigma Poker",                        GAME_SUPPORTS_SAVE,     layout_sigmapkr )
1312GAMEL( 1998, sigma2k,  0,        sigma2k,  sigma2k,  0,        ROT0, "Sigma Inc.", "Sigma Poker 2000",                   GAME_SUPPORTS_SAVE,     layout_sigmapkr )
1348/*     YEAR  NAME      PARENT    MACHINE   INPUT     INIT      ROT    COMPANY                FULLNAME                             FLAGS  LAYOUT      */
1349GAMEL( 1990, ampoker2, 0,        ampoker2, ampoker2, 0,        ROT0, "Novomatic",           "American Poker II",                  GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1350GAMEL( 1990, ampkr2b1, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",             "American Poker II (bootleg, set 1)", GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1351GAMEL( 1990, ampkr2b2, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",             "American Poker II (bootleg, set 2)", GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1352GAMEL( 1994, ampkr2b3, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",             "American Poker II (bootleg, set 3)", GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1353GAMEL( 1994, ampkr2b4, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",             "American Poker II (bootleg, set 4)", GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1354GAMEL( 1994, ampkr228, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg?",            "American Poker II (iamp2 v28)",      GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1355GAMEL( 1995, ampkr95,  ampoker2, ampoker2, ampkr95,  0,        ROT0, "bootleg",             "American Poker 95",                  GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1356GAMEL( 1990, pkrdewin, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",             "Poker De Win",                       GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1357GAMEL( 1990, videomat, ampoker2, ampoker2, ampoker2, 0,        ROT0, "bootleg",             "Videomat (Polish bootleg)",          GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1358GAMEL( 1990, rabbitpk, ampoker2, ampoker2, ampoker2, rabbitpk, ROT0, "bootleg",             "Rabbit Poker (Arizona Poker v1.1?)", GAME_SUPPORTS_SAVE,     layout_ampoker2 )
1359GAMEL( 1995, sigmapkr, 0,        ampoker2, sigmapkr, 0,        ROT0, "Sigma Inc.",          "Sigma Poker",                        GAME_SUPPORTS_SAVE,     layout_sigmapkr )
1360GAMEL( 1998, sigma2k,  0,        sigma2k,  sigma2k,  0,        ROT0, "Sigma Inc.",          "Sigma Poker 2000",                   GAME_SUPPORTS_SAVE,     layout_sigmapkr )
1361GAME(  1990, piccolop, ampoker2, ampoker2, ampoker2, piccolop, ROT0, "Admiral - Novomatic", "Piccolo Poker",                      GAME_NOT_WORKING )
src/mame/drivers/playmark.c
r9191r9192
141141   }
142142   else if ((state->oki_control & 0x38) == 0x28)
143143   {
144      data = (okim6295_r(state->oki, 0) & 0x0f);
144      data = (state->oki->read(*space, 0) & 0x0f);
145145      // logerror("PC$%03x PortB reading %02x from the OKI status port\n", cpu_get_previouspc(space->cpu), data);
146146   }
147147
r9191r9192
183183   state->oki_command = data;
184184}
185185
186static WRITE8_DEVICE_HANDLER( playmark_snd_control_w )
186static WRITE8_HANDLER( playmark_snd_control_w )
187187{
188   playmark_state *state = device->machine->driver_data<playmark_state>();
188   playmark_state *state = space->machine->driver_data<playmark_state>();
189189//  address_space *space = cputag_get_address_space(device->machine, "audiocpu", ADDRESS_SPACE_PROGRAM);
190190
191191    /*  This port controls communications to and from the 68K, and the OKI
r9191r9192
206206   if ((data & 0x38) == 0x18)
207207   {
208208      // logerror("PC$%03x Writing %02x to OKI1, PortC=%02x, Code=%02x\n",cpu_get_previouspc(space->cpu),playmark_oki_command,playmark_oki_control,playmark_snd_command);
209      okim6295_w(device, 0, state->oki_command);
209      okim6295_device *oki = space->machine->device<okim6295_device>("oki");
210      oki->write(*space, 0, state->oki_command);
210211   }
211212}
212213
r9191r9192
333334static ADDRESS_MAP_START( playmark_sound_io_map, ADDRESS_SPACE_IO, 8 )
334335   AM_RANGE(0x00, 0x00) AM_DEVWRITE("oki", playmark_oki_banking_w)
335336   AM_RANGE(0x01, 0x01) AM_READWRITE(playmark_snd_command_r, playmark_oki_w)
336   AM_RANGE(0x02, 0x02) AM_READ(playmark_snd_flag_r) AM_DEVWRITE("oki", playmark_snd_control_w)
337   AM_RANGE(0x02, 0x02) AM_READWRITE(playmark_snd_flag_r, playmark_snd_control_w)
337338   AM_RANGE(PIC16C5x_T0, PIC16C5x_T0) AM_READ(PIC16C5X_T0_clk_r)
338339ADDRESS_MAP_END
339340
r9191r9192
909910{
910911   playmark_state *state = machine->driver_data<playmark_state>();
911912
912   state->oki = machine->device("oki");
913   state->oki = machine->device<okim6295_device>("oki");
913914   state->eeprom = machine->device("eeprom");
914915
915916   state_save_register_global(machine, state->bgscrollx);
r9191r9192
945946   state->old_oki_bank = 0;
946947}
947948
948static MACHINE_DRIVER_START( bigtwin )
949static MACHINE_CONFIG_START( bigtwin, playmark_state )
949950
950   /* driver data */
951   MDRV_DRIVER_DATA(playmark_state)
952
953951   /* basic machine hardware */
954952   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
955953   MDRV_CPU_PROGRAM_MAP(bigtwin_main_map)
r9191r9192
981979
982980   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
983981   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
984MACHINE_DRIVER_END
982MACHINE_CONFIG_END
985983
986984
987static MACHINE_DRIVER_START( wbeachvl )
985static MACHINE_CONFIG_START( wbeachvl, playmark_state )
988986
989   /* driver data */
990   MDRV_DRIVER_DATA(playmark_state)
991
992987   /* basic machine hardware */
993988   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
994989   MDRV_CPU_PROGRAM_MAP(wbeachvl_main_map)
r9191r9192
10231018
10241019   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
10251020   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1026MACHINE_DRIVER_END
1021MACHINE_CONFIG_END
10271022
1028static MACHINE_DRIVER_START( excelsr )
1023static MACHINE_CONFIG_START( excelsr, playmark_state )
10291024
1030   /* driver data */
1031   MDRV_DRIVER_DATA(playmark_state)
1032
10331025   /* basic machine hardware */
10341026   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
10351027   MDRV_CPU_PROGRAM_MAP(excelsr_main_map)
r9191r9192
10611053
10621054   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
10631055   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1064MACHINE_DRIVER_END
1056MACHINE_CONFIG_END
10651057
1066static MACHINE_DRIVER_START( hotmind )
1058static MACHINE_CONFIG_START( hotmind, playmark_state )
10671059
1068   /* driver data */
1069   MDRV_DRIVER_DATA(playmark_state)
1070
10711060   /* basic machine hardware */
10721061   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz/2)   /* verified on pcb */
10731062   MDRV_CPU_PROGRAM_MAP(hotmind_main_map)
r9191r9192
11021091
11031092   MDRV_OKIM6295_ADD("oki", XTAL_1MHz, OKIM6295_PIN7_HIGH)  /* verified on pcb */
11041093   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1105MACHINE_DRIVER_END
1094MACHINE_CONFIG_END
11061095
1107static MACHINE_DRIVER_START( hrdtimes )
1096static MACHINE_CONFIG_START( hrdtimes, playmark_state )
11081097
1109   /* driver data */
1110   MDRV_DRIVER_DATA(playmark_state)
1111
11121098   /* basic machine hardware */
11131099   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz/2)   /* verified on pcb */
11141100   MDRV_CPU_PROGRAM_MAP(hrdtimes_main_map)
r9191r9192
11401126
11411127   MDRV_OKIM6295_ADD("oki", XTAL_1MHz, OKIM6295_PIN7_HIGH) /* verified on pcb */
11421128   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1143MACHINE_DRIVER_END
1129MACHINE_CONFIG_END
11441130
11451131/***************************************************************************
11461132
src/mame/drivers/jangou.c
r9191r9192
3030#include "sound/hc55516.h"
3131#include "sound/msm5205.h"
3232#include "video/resnet.h"
33#include "machine/nvram.h"
3334
3435#define MASTER_CLOCK   XTAL_19_968MHz
3536
36class jangou_state : public driver_data_t
37class jangou_state : public driver_device
3738{
3839public:
39   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jangou_state(machine)); }
40   jangou_state(running_machine &machine, const driver_device_config_base &config)
41      : driver_device(machine, config) { }
4042
41   jangou_state(running_machine &machine)
42      : driver_data_t(machine) { }
43
4443   /* video-related */
4544   UINT8        *blit_buffer;
4645   UINT8        pen_data[0x10];
r9191r9192
483482
484483static ADDRESS_MAP_START( roylcrdn_cpu0_map, ADDRESS_SPACE_PROGRAM, 8 )
485484   AM_RANGE(0x0000, 0x2fff) AM_ROM
486   AM_RANGE(0x7000, 0x77ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* MK48Z02B-15 ZEROPOWER RAM */
485   AM_RANGE(0x7000, 0x77ff) AM_RAM AM_SHARE("nvram")   /* MK48Z02B-15 ZEROPOWER RAM */
487486ADDRESS_MAP_END
488487
489488static ADDRESS_MAP_START( roylcrdn_cpu0_io, ADDRESS_SPACE_IO, 8 )
r9191r9192
979978}
980979
981980/* Note: All frequencies and dividers are unverified */
982static MACHINE_DRIVER_START( jangou )
981static MACHINE_CONFIG_START( jangou, jangou_state )
983982
984   /* driver data */
985   MDRV_DRIVER_DATA(jangou_state)
986
987983   /* basic machine hardware */
988984   MDRV_CPU_ADD("cpu0", Z80, MASTER_CLOCK / 8)
989985   MDRV_CPU_PROGRAM_MAP(cpu0_map)
r9191r9192
10231019
10241020   MDRV_SOUND_ADD("cvsd", HC55516, MASTER_CLOCK / 1024)
10251021   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
1026MACHINE_DRIVER_END
1022MACHINE_CONFIG_END
10271023
1028static MACHINE_DRIVER_START( jngolady )
1024static MACHINE_CONFIG_DERIVED( jngolady, jangou )
1025
10291026   /* basic machine hardware */
1030   MDRV_IMPORT_FROM(jangou)
10311027
10321028   MDRV_CPU_MODIFY("cpu0")
10331029   MDRV_CPU_PROGRAM_MAP(jngolady_cpu0_map)
r9191r9192
10491045   MDRV_SOUND_ADD("msm", MSM5205, XTAL_400kHz)
10501046   MDRV_SOUND_CONFIG(msm5205_config)
10511047   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1052MACHINE_DRIVER_END
1048MACHINE_CONFIG_END
10531049
1054static MACHINE_DRIVER_START( cntrygrl )
1050static MACHINE_CONFIG_DERIVED( cntrygrl, jangou )
1051
10551052   /* basic machine hardware */
1056   MDRV_IMPORT_FROM(jangou)
10571053
10581054   MDRV_CPU_MODIFY("cpu0")
10591055   MDRV_CPU_PROGRAM_MAP(cntrygrl_cpu0_map )
r9191r9192
10671063   /* sound hardware */
10681064   MDRV_SOUND_START(0)
10691065   MDRV_DEVICE_REMOVE("cvsd")
1070MACHINE_DRIVER_END
1066MACHINE_CONFIG_END
10711067
1072static MACHINE_DRIVER_START( roylcrdn )
1068static MACHINE_CONFIG_DERIVED( roylcrdn, jangou )
1069
10731070   /* basic machine hardware */
1074   MDRV_IMPORT_FROM(jangou)
10751071
10761072   MDRV_CPU_MODIFY("cpu0")
10771073   MDRV_CPU_PROGRAM_MAP(roylcrdn_cpu0_map )
r9191r9192
10791075
10801076   MDRV_DEVICE_REMOVE("cpu1")
10811077
1082   MDRV_NVRAM_HANDLER(generic_0fill)
1078   MDRV_NVRAM_ADD_0FILL("nvram")
10831079
10841080   MDRV_MACHINE_START(common)
10851081   MDRV_MACHINE_RESET(common)
r9191r9192
10871083   /* sound hardware */
10881084   MDRV_SOUND_START(0)
10891085   MDRV_DEVICE_REMOVE("cvsd")
1090MACHINE_DRIVER_END
1086MACHINE_CONFIG_END
10911087
10921088
10931089/*************************************
src/mame/drivers/namcos21.c
r9191r9192
299299#include "sound/2151intf.h"
300300#include "sound/c140.h"
301301#include "includes/namcos21.h"
302#include "machine/nvram.h"
302303
303304#define PTRAM_SIZE 0x20000
304305
r9191r9192
15221523   C140_TYPE_SYSTEM21_B
15231524};
15241525
1525static MACHINE_DRIVER_START( s21base )
1526static MACHINE_CONFIG_START( s21base, namcos21_state )
15261527   MDRV_CPU_ADD("maincpu", M68000,12288000) /* Master */
15271528   MDRV_CPU_PROGRAM_MAP(namcos21_68k_master)
15281529   MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
r9191r9192
15541555
15551556   MDRV_MACHINE_START(namcos2)
15561557   MDRV_MACHINE_RESET(namcos2)
1557   MDRV_NVRAM_HANDLER(namcos2)
1558   MDRV_NVRAM_ADD_1FILL("nvram")
15581559
15591560
15601561   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
15691570
15701571   MDRV_VIDEO_START(namcos21)
15711572   MDRV_VIDEO_UPDATE(namcos21)
1572MACHINE_DRIVER_END
1573MACHINE_CONFIG_END
15731574
1574static MACHINE_DRIVER_START( poly_c140_typeA )
1575   MDRV_IMPORT_FROM(s21base)
1575static MACHINE_CONFIG_DERIVED( poly_c140_typeA, s21base )
15761576
15771577   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
15781578
r9191r9192
15841584   MDRV_SOUND_ADD("ymsnd", YM2151, 3579580)
15851585   MDRV_SOUND_ROUTE(0, "lspeaker", 0.30)
15861586   MDRV_SOUND_ROUTE(1, "rspeaker", 0.30)
1587MACHINE_DRIVER_END
1587MACHINE_CONFIG_END
15881588
1589static MACHINE_DRIVER_START( poly_c140_typeB )
1590   MDRV_IMPORT_FROM(s21base)
1589static MACHINE_CONFIG_DERIVED( poly_c140_typeB, s21base )
15911590
15921591   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
15931592
r9191r9192
15991598   MDRV_SOUND_ADD("ymsnd", YM2151, 3579580)
16001599   MDRV_SOUND_ROUTE(0, "lspeaker", 0.30)
16011600   MDRV_SOUND_ROUTE(1, "rspeaker", 0.30)
1602MACHINE_DRIVER_END
1601MACHINE_CONFIG_END
16031602
1604static MACHINE_DRIVER_START( driveyes )
1603static MACHINE_CONFIG_START( driveyes, namcos21_state )
16051604   MDRV_CPU_ADD("maincpu", M68000,12288000) /* Master */
16061605   MDRV_CPU_PROGRAM_MAP(driveyes_68k_master)
16071606   MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
r9191r9192
16281627
16291628   MDRV_MACHINE_START(namcos2)
16301629   MDRV_MACHINE_RESET(namcos2)
1631   MDRV_NVRAM_HANDLER(namcos2)
1630   MDRV_NVRAM_ADD_1FILL("nvram")
16321631
16331632
16341633   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
16541653   MDRV_SOUND_ADD("ymsnd", YM2151, 3579580)
16551654   MDRV_SOUND_ROUTE(0, "lspeaker", 0.30)
16561655   MDRV_SOUND_ROUTE(1, "rspeaker", 0.30)
1657MACHINE_DRIVER_END
1656MACHINE_CONFIG_END
16581657
1659static MACHINE_DRIVER_START( winrun_c140_typeB )
1658static MACHINE_CONFIG_START( winrun_c140_typeB, namcos21_state )
16601659   MDRV_CPU_ADD("maincpu", M68000,12288000) /* Master */
16611660   MDRV_CPU_PROGRAM_MAP(am_master_winrun)
16621661   MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
r9191r9192
16871686
16881687   MDRV_MACHINE_START(namcos2)
16891688   MDRV_MACHINE_RESET(namcos2)
1690   MDRV_NVRAM_HANDLER(namcos2)
1689   MDRV_NVRAM_ADD_1FILL("nvram")
16911690
16921691
16931692   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
17121711   MDRV_SOUND_ADD("ymsnd", YM2151, 3579580)
17131712   MDRV_SOUND_ROUTE(0, "lspeaker", 0.30)
17141713   MDRV_SOUND_ROUTE(1, "rspeaker", 0.30)
1715MACHINE_DRIVER_END
1714MACHINE_CONFIG_END
17161715
17171716ROM_START( aircomb )
17181717   ROM_REGION( 0x100000, "maincpu", 0 ) /* Master */
r9191r9192
20442043   ROM_LOAD("st1-voi1.bin",0x080000,0x80000,CRC(413e6181) SHA1(e827ec11f5755606affd2635718512aeac9354da) )
20452044   ROM_LOAD("st1-voi2.bin",0x100000,0x80000,CRC(067d0720) SHA1(a853b2d43027a46c5e707fc677afdaae00f450c7) )
20462045   ROM_LOAD("st1-voi3.bin",0x180000,0x80000,CRC(8b5aa45f) SHA1(e1214e639200758ad2045bde0368a2d500c1b84a) )
2046
2047   ROM_REGION( 0x2000, "nvram", ROMREGION_ERASE00)
2048   // starblad needs default NVRAM to be all 0
20472049ROM_END
20482050
20492051ROM_START( solvalou )
src/mame/drivers/pgm.c
r9191r9192
298298#include "deprecat.h"
299299#include "sound/ics2115.h"
300300#include "cpu/arm7/arm7core.h"
301#include "machine/nvram.h"
301302#include "includes/pgm.h"
302303
303304UINT16 *pgm_mainram;
r9191r9192
558559   }
559560}
560561
561static NVRAM_HANDLER( pgm )
562{
563   if (read_or_write)
564      /* save the SRAM settings */
565      mame_fwrite(file, pgm_mainram, 0x20000);
566   else
567   {
568      /* load the SRAM settings */
569      if (file)
570         mame_fread(file, pgm_mainram, 0x20000);
571      else
572         memset(pgm_mainram, 0, 0x20000);
573   }
574}
575
576562/*** Memory Maps *************************************************************/
577563
578564static ADDRESS_MAP_START( pgm_mem, ADDRESS_SPACE_PROGRAM, 16)
r9191r9192
581567
582568   AM_RANGE(0x700006, 0x700007) AM_WRITENOP // Watchdog?
583569
584   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) /* Main Ram */
570   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) AM_SHARE("sram") /* Main Ram */
585571
586572//  AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(pgm_bg_videoram_w) AM_BASE_MEMBER(pgm_state, bg_videoram) /* Backgrounds */
587573//  AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE_MEMBER(pgm_state, tx_videoram) /* Text Layer */
r9191r9192
612598
613599   AM_RANGE(0x700006, 0x700007) AM_WRITENOP // Watchdog?
614600
615   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) /* Main Ram */
601   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) AM_SHARE("sram") /* Main Ram */
616602
617603//  AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(pgm_bg_videoram_w) AM_BASE_MEMBER(pgm_state, bg_videoram) /* Backgrounds */
618604//  AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE_MEMBER(pgm_state, tx_videoram) /* Text Layer */
r9191r9192
643629
644630   AM_RANGE(0x700006, 0x700007) AM_WRITENOP // Watchdog?
645631
646   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) /* Main Ram */
632   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) AM_SHARE("sram") /* Main Ram */
647633
648634//  AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(pgm_bg_videoram_w) AM_BASE_MEMBER(pgm_state, bg_videoram) /* Backgrounds */
649635//  AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE_MEMBER(pgm_state, tx_videoram) /* Text Layer */
r9191r9192
673659
674660   AM_RANGE(0x700006, 0x700007) AM_WRITENOP // Watchdog?
675661
676   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) /* Main Ram */
662   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) AM_SHARE("sram") /* Main Ram */
677663
678664//  AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(pgm_bg_videoram_w) AM_BASE_MEMBER(pgm_state, bg_videoram) /* Backgrounds */
679665//  AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE_MEMBER(pgm_state, tx_videoram) /* Text Layer */
r9191r9192
707693
708694   AM_RANGE(0x700006, 0x700007) AM_WRITENOP // Watchdog?
709695
710   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) /* Main Ram */
696   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) AM_SHARE("sram") /* Main Ram */
711697
712698//  AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(pgm_bg_videoram_w) AM_BASE_MEMBER(pgm_state, bg_videoram) /* Backgrounds */
713699//  AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE_MEMBER(pgm_state, tx_videoram) /* Text Layer */
r9191r9192
840826
841827   AM_RANGE(0x700006, 0x700007) AM_WRITENOP // Watchdog?
842828
843   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) /* Main Ram */
829   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) AM_SHARE("sram") /* Main Ram */
844830
845831//  AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(pgm_bg_videoram_w) AM_BASE_MEMBER(pgm_state, bg_videoram) /* Backgrounds */
846832//  AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE_MEMBER(pgm_state, tx_videoram) /* Text Layer */
r9191r9192
955941
956942   AM_RANGE(0x700006, 0x700007) AM_WRITENOP // Watchdog?
957943
958   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) /* Main Ram */
944   AM_RANGE(0x800000, 0x81ffff) AM_RAM AM_MIRROR(0x0e0000) AM_BASE(&pgm_mainram) AM_SHARE("sram") /* Main Ram */
959945
960946//  AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(pgm_bg_videoram_w) AM_BASE_MEMBER(pgm_state, bg_videoram) /* Backgrounds */
961947//  AM_RANGE(0x904000, 0x905fff) AM_RAM_WRITE(pgm_tx_videoram_w) AM_BASE_MEMBER(pgm_state, tx_videoram) /* Text Layer */
r9191r9192
13661352   state->cal_cnt = 0;
13671353}
13681354
1369static MACHINE_DRIVER_START( pgm )
1355static MACHINE_CONFIG_START( pgm, pgm_state )
13701356
1371   /* driver data */
1372   MDRV_DRIVER_DATA(pgm_state)
1373
13741357   /* basic machine hardware */
13751358   MDRV_CPU_ADD("maincpu", M68000, 20000000) /* 20 mhz! verified on real board */
13761359   MDRV_CPU_PROGRAM_MAP(pgm_mem)
r9191r9192
13821365
13831366   MDRV_MACHINE_START( pgm )
13841367   MDRV_MACHINE_RESET( pgm )
1385   MDRV_NVRAM_HANDLER( pgm )
1368   MDRV_NVRAM_ADD_0FILL("sram")
13861369
13871370   /* video hardware */
13881371   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
14041387   MDRV_SOUND_ADD("ics", ICS2115, 0)
14051388   MDRV_SOUND_CONFIG(pgm_ics2115_interface)
14061389   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 5.0)
1407MACHINE_DRIVER_END
1390MACHINE_CONFIG_END
14081391
1409static MACHINE_DRIVER_START( drgw2 )
1410   MDRV_IMPORT_FROM(pgm)
1392static MACHINE_CONFIG_DERIVED( drgw2, pgm )
14111393
14121394   MDRV_CPU_MODIFY("maincpu")
14131395   MDRV_CPU_VBLANK_INT_HACK(drgw_interrupt,2) // needs an extra IRQ, puzzli2 doesn't want this irq!
1414MACHINE_DRIVER_END
1396MACHINE_CONFIG_END
14151397
14161398static MACHINE_RESET( killbld );
14171399
1418static MACHINE_DRIVER_START( killbld )
1419   MDRV_IMPORT_FROM(pgm)
1400static MACHINE_CONFIG_DERIVED( killbld, pgm )
14201401
14211402   MDRV_CPU_MODIFY("maincpu")
14221403   MDRV_CPU_PROGRAM_MAP(killbld_mem)
14231404
14241405   MDRV_MACHINE_RESET(killbld)
14251406
1426MACHINE_DRIVER_END
1407MACHINE_CONFIG_END
14271408
14281409static MACHINE_RESET( dw3 );
14291410
1430static MACHINE_DRIVER_START( dw3 )
1431   MDRV_IMPORT_FROM(pgm)
1411static MACHINE_CONFIG_DERIVED( dw3, pgm )
14321412
14331413   MDRV_CPU_MODIFY("maincpu")
14341414   MDRV_CPU_PROGRAM_MAP(killbld_mem)
r9191r9192
14361416
14371417   MDRV_MACHINE_RESET(dw3)
14381418
1439MACHINE_DRIVER_END
1419MACHINE_CONFIG_END
14401420
14411421static MACHINE_RESET( olds );
14421422
1443static MACHINE_DRIVER_START( olds )
1444   MDRV_IMPORT_FROM(pgm)
1423static MACHINE_CONFIG_DERIVED( olds, pgm )
14451424
14461425   MDRV_CPU_MODIFY("maincpu")
14471426   MDRV_CPU_PROGRAM_MAP(olds_mem)
14481427
14491428   MDRV_MACHINE_RESET(olds)
14501429
1451MACHINE_DRIVER_END
1430MACHINE_CONFIG_END
14521431
1453static MACHINE_DRIVER_START( kov )
1454   MDRV_IMPORT_FROM(pgm)
1432static MACHINE_CONFIG_DERIVED( kov, pgm )
14551433
14561434   MDRV_CPU_MODIFY("maincpu")
14571435   MDRV_CPU_PROGRAM_MAP(kovsh_mem)
r9191r9192
14591437   /* protection CPU */
14601438   MDRV_CPU_ADD("prot", ARM7, 20000000)   // 55857E/F/G
14611439   MDRV_CPU_PROGRAM_MAP(kovsh_arm7_map)
1462MACHINE_DRIVER_END
1440MACHINE_CONFIG_END
14631441
1464static MACHINE_DRIVER_START( kov_disabled_arm )
1465   MDRV_IMPORT_FROM(pgm)
1442static MACHINE_CONFIG_DERIVED( kov_disabled_arm, pgm )
14661443
14671444   MDRV_CPU_MODIFY("maincpu")
14681445   MDRV_CPU_PROGRAM_MAP(kovsh_mem)
r9191r9192
14721449   MDRV_CPU_ADD("prot", ARM7, 20000000)   // 55857E/F/G
14731450   MDRV_CPU_PROGRAM_MAP(kovsh_arm7_map)
14741451   MDRV_DEVICE_DISABLE()
1475MACHINE_DRIVER_END
1452MACHINE_CONFIG_END
14761453
14771454
1478static MACHINE_DRIVER_START( kov2 )
1479   MDRV_IMPORT_FROM(pgm)
1455static MACHINE_CONFIG_DERIVED( kov2, pgm )
14801456
14811457   MDRV_CPU_MODIFY("maincpu")
14821458   MDRV_CPU_PROGRAM_MAP(kov2_mem)
r9191r9192
14841460   /* protection CPU */
14851461   MDRV_CPU_ADD("prot", ARM7, 20000000)   // 55857F
14861462   MDRV_CPU_PROGRAM_MAP(arm7_map)
1487MACHINE_DRIVER_END
1463MACHINE_CONFIG_END
14881464
1489static MACHINE_DRIVER_START( svg )
1490   MDRV_IMPORT_FROM(pgm)
1465static MACHINE_CONFIG_DERIVED( svg, pgm )
14911466
14921467   MDRV_CPU_MODIFY("maincpu")
14931468   MDRV_CPU_PROGRAM_MAP(svg_68k_mem)
r9191r9192
14961471   /* protection CPU */
14971472   MDRV_CPU_ADD("prot", ARM7, 20000000)   // 55857G
14981473   MDRV_CPU_PROGRAM_MAP(svg_arm7_map)
1499MACHINE_DRIVER_END
1474MACHINE_CONFIG_END
15001475
15011476#if 0
1502static MACHINE_DRIVER_START( cavepgm )
1503   MDRV_IMPORT_FROM(pgm)
1477static MACHINE_CONFIG_DERIVED( cavepgm, pgm )
15041478
15051479   MDRV_CPU_MODIFY("maincpu")
15061480   MDRV_CPU_PROGRAM_MAP(cavepgm_mem)
r9191r9192
15081482   /* protection CPU */
15091483//  MDRV_CPU_ADD("prot", ARM7, 20000000)    // ???
15101484//  MDRV_CPU_PROGRAM_MAP(arm7_map)
1511MACHINE_DRIVER_END
1485MACHINE_CONFIG_END
15121486#endif
15131487
15141488
src/mame/drivers/itgamble.c
r9191r9192
179179*     Machine Drivers     *
180180**************************/
181181
182static MACHINE_DRIVER_START( itgamble )
182static MACHINE_CONFIG_START( itgamble, driver_device )
183183
184184    /* basic machine hardware */
185185   MDRV_CPU_ADD("maincpu", H83044, MAIN_CLOCK/2)   /* probably the wrong CPU */
r9191r9192
203203   MDRV_SPEAKER_STANDARD_MONO("mono")
204204   MDRV_OKIM6295_ADD("oki", SND_CLOCK, OKIM6295_PIN7_HIGH)   /* 1MHz resonator */
205205   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
206MACHINE_DRIVER_END
206MACHINE_CONFIG_END
207207
208208
209static MACHINE_DRIVER_START( mnumber )
210
211   MDRV_IMPORT_FROM(itgamble)
209static MACHINE_CONFIG_DERIVED( mnumber, itgamble )
212210   MDRV_CPU_MODIFY("maincpu")
213211   MDRV_CPU_CLOCK(MNUMBER_MAIN_CLOCK/2)   /* probably the wrong CPU */
214212
215213   MDRV_OKIM6295_REPLACE("oki", MNUMBER_SND_CLOCK/16, OKIM6295_PIN7_HIGH) /* clock frequency & pin 7 not verified */
216214   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
217MACHINE_DRIVER_END
215MACHINE_CONFIG_END
218216
219217
220218#ifdef UNUSED_CODE
221static MACHINE_DRIVER_START( ejollyx5 )
222
223   MDRV_IMPORT_FROM(itgamble)
219static MACHINE_CONFIG_DERIVED( ejollyx5, itgamble )
224220   /* wrong CPU. we need a Renesas M16/62A 16bit microcomputer core */
225221   MDRV_CPU_MODIFY("maincpu")
226222   MDRV_CPU_CLOCK(EJOLLYX5_MAIN_CLOCK/2)   /* up to 10MHz.*/
227223
228224   MDRV_OKIM6295_REPLACE("oki", MNUMBER_SND_CLOCK/16, OKIM6295_PIN7_HIGH) /* clock frequency & pin 7 not verified */
229225   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
230MACHINE_DRIVER_END
226MACHINE_CONFIG_END
231227#endif
232228
233229
src/mame/drivers/gameplan.c
r9191r9192
217217
218218static ADDRESS_MAP_START( gameplan_main_map, ADDRESS_SPACE_PROGRAM, 8 )
219219   AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x1c00) AM_RAM
220   AM_RANGE(0x2000, 0x200f) AM_MIRROR(0x07f0) AM_DEVREADWRITE("via6522_0", via_r, via_w)   /* VIA 1 */
221   AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x07f0) AM_DEVREADWRITE("via6522_1", via_r, via_w)   /* VIA 2 */
222   AM_RANGE(0x3000, 0x300f) AM_MIRROR(0x07f0) AM_DEVREADWRITE("via6522_2", via_r, via_w)   /* VIA 3 */
220   AM_RANGE(0x2000, 0x200f) AM_MIRROR(0x07f0) AM_DEVREADWRITE_MODERN("via6522_0", via6522_device, read, write)   /* VIA 1 */
221   AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x07f0) AM_DEVREADWRITE_MODERN("via6522_1", via6522_device, read, write)   /* VIA 2 */
222   AM_RANGE(0x3000, 0x300f) AM_MIRROR(0x07f0) AM_DEVREADWRITE_MODERN("via6522_2", via6522_device, read, write)   /* VIA 3 */
223223   AM_RANGE(0x8000, 0xffff) AM_ROM
224224ADDRESS_MAP_END
225225
r9191r9192
987987   state->maincpu = machine->device("maincpu");
988988   state->audiocpu = machine->device("audiocpu");
989989   state->riot = machine->device("riot");
990   state->via_0 = machine->device("via6522_0");
991   state->via_1 = machine->device("via6522_1");
992   state->via_2 = machine->device("via6522_2");
993990
994991   /* register for save states */
995992   state_save_register_global(machine, state->current_port);
r9191r9192
10101007   state->video_data = 0;
10111008}
10121009
1013static MACHINE_DRIVER_START( gameplan )
1010static MACHINE_CONFIG_START( gameplan, gameplan_state )
10141011
1015   MDRV_DRIVER_DATA(gameplan_state)
1016
10171012   /* basic machine hardware */
10181013   MDRV_CPU_ADD("maincpu", M6502, GAMEPLAN_MAIN_CPU_CLOCK)
10191014   MDRV_CPU_PROGRAM_MAP(gameplan_main_map)
r9191r9192
10271022   MDRV_MACHINE_RESET(gameplan)
10281023
10291024   /* video hardware */
1030   MDRV_IMPORT_FROM(gameplan_video)
1025   MDRV_FRAGMENT_ADD(gameplan_video)
10311026
10321027   /* audio hardware */
10331028   MDRV_SPEAKER_STANDARD_MONO("mono")
r9191r9192
10401035   MDRV_VIA6522_ADD("via6522_0", 0, gameplan_via_0_interface)
10411036   MDRV_VIA6522_ADD("via6522_1", 0, via_1_interface)
10421037   MDRV_VIA6522_ADD("via6522_2", 0, via_2_interface)
1043MACHINE_DRIVER_END
1038MACHINE_CONFIG_END
10441039
10451040
1046static MACHINE_DRIVER_START( leprechn )
1047
1048   MDRV_IMPORT_FROM(gameplan)
1041static MACHINE_CONFIG_DERIVED( leprechn, gameplan )
10491042   MDRV_CPU_MODIFY("maincpu")
10501043   MDRV_CPU_CLOCK(LEPRECHAUN_MAIN_CPU_CLOCK)
10511044
r9191r9192
10541047   MDRV_CPU_PROGRAM_MAP(leprechn_audio_map)
10551048
10561049   /* video hardware */
1057   MDRV_IMPORT_FROM(leprechn_video)
1050   MDRV_FRAGMENT_ADD(leprechn_video)
10581051
10591052   /* via */
10601053   MDRV_DEVICE_REMOVE("via6522_0")
10611054   MDRV_VIA6522_ADD("via6522_0", 0, leprechn_via_0_interface)
1062MACHINE_DRIVER_END
1055MACHINE_CONFIG_END
10631056
10641057
10651058
src/mame/drivers/pengadvb.c
r9191r9192
259259}
260260
261261
262static MACHINE_DRIVER_START( pengadvb )
262static MACHINE_CONFIG_START( pengadvb, driver_device )
263263
264264   MDRV_CPU_ADD("maincpu", Z80, XTAL_10_738635MHz/3)        /* 3.579545 Mhz */
265265   MDRV_CPU_PROGRAM_MAP(program_mem)
r9191r9192
272272    MDRV_I8255A_ADD( "ppi8255", pengadvb_ppi8255_interface)
273273
274274   /* video hardware */
275   MDRV_IMPORT_FROM(tms9928a)
275   MDRV_FRAGMENT_ADD(tms9928a)
276276   MDRV_SCREEN_MODIFY("screen")
277277   MDRV_SCREEN_REFRESH_RATE((float)XTAL_10_738635MHz/2/342/262)
278278   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
r9191r9192
283283   MDRV_SOUND_ADD("aysnd", AY8910, (float)XTAL_10_738635MHz/6)
284284   MDRV_SOUND_CONFIG(pengadvb_ay8910_interface)
285285   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
286MACHINE_DRIVER_END
286MACHINE_CONFIG_END
287287
288288static void pengadvb_decrypt(running_machine *machine, const char* region)
289289{
src/mame/drivers/ikki.c
r9191r9192
221221   state->flipscreen = 0;
222222}
223223
224static MACHINE_DRIVER_START( ikki )
224static MACHINE_CONFIG_START( ikki, ikki_state )
225225
226   /* driver data */
227   MDRV_DRIVER_DATA(ikki_state)
228
229226   /* basic machine hardware */
230227   MDRV_CPU_ADD("maincpu", Z80,8000000/2) /* 4.000MHz */
231228   MDRV_CPU_PROGRAM_MAP(ikki_cpu1)
r9191r9192
263260
264261   MDRV_SOUND_ADD("sn2", SN76496, 8000000/2)
265262   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
266MACHINE_DRIVER_END
263MACHINE_CONFIG_END
267264
268265
269266/*************************************
src/mame/drivers/capbowl.c
r9191r9192
213213 *
214214 *************************************/
215215
216static NVRAM_HANDLER( capbowl )
216void capbowl_state::init_nvram(nvram_device &nvram, void *base, size_t size)
217217{
218   if (read_or_write)
219      mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
220   else if (file)
221      mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
222   else
223   {
224      /* invalidate nvram to make the game initialize it.
225           A 0xff fill will cause the game to malfunction, so we use a
226           0x01 fill which seems OK */
227      memset(machine->generic.nvram.v, 0x01, machine->generic.nvram_size);
228   }
218   /* invalidate nvram to make the game initialize it.
219      A 0xff fill will cause the game to malfunction, so we use a
220      0x01 fill which seems OK */
221   memset(base, 0x01, size);
229222}
230223
231224
r9191r9192
240233   AM_RANGE(0x0000, 0x3fff) AM_ROMBANK("bank1")
241234   AM_RANGE(0x4000, 0x4000) AM_WRITEONLY AM_BASE_MEMBER(capbowl_state, rowaddress)
242235   AM_RANGE(0x4800, 0x4800) AM_WRITE(capbowl_rom_select_w)
243   AM_RANGE(0x5000, 0x57ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
236   AM_RANGE(0x5000, 0x57ff) AM_RAM AM_SHARE("nvram")
244237   AM_RANGE(0x5800, 0x5fff) AM_READWRITE(capbowl_tms34061_r, capbowl_tms34061_w)
245238   AM_RANGE(0x6000, 0x6000) AM_WRITE(capbowl_sndcmd_w)
246239   AM_RANGE(0x6800, 0x6800) AM_WRITE(track_reset_w)   /* + watchdog */
r9191r9192
253246static ADDRESS_MAP_START( bowlrama_map, ADDRESS_SPACE_PROGRAM, 8 )
254247   AM_RANGE(0x0000, 0x001f) AM_READWRITE(bowlrama_blitter_r, bowlrama_blitter_w)
255248   AM_RANGE(0x4000, 0x4000) AM_WRITEONLY AM_BASE_MEMBER(capbowl_state, rowaddress)
256   AM_RANGE(0x5000, 0x57ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
249   AM_RANGE(0x5000, 0x57ff) AM_RAM AM_SHARE("nvram")
257250   AM_RANGE(0x5800, 0x5fff) AM_READWRITE(capbowl_tms34061_r, capbowl_tms34061_w)
258251   AM_RANGE(0x6000, 0x6000) AM_WRITE(capbowl_sndcmd_w)
259252   AM_RANGE(0x6800, 0x6800) AM_WRITE(track_reset_w)   /* + watchdog */
r9191r9192
369362}
370363
371364
372static MACHINE_DRIVER_START( capbowl )
365static MACHINE_CONFIG_START( capbowl, capbowl_state )
373366
374   /* driver data */
375   MDRV_DRIVER_DATA(capbowl_state)
376
377367   /* basic machine hardware */
378368   MDRV_CPU_ADD("maincpu", M6809E, MASTER_CLOCK)
379369   MDRV_CPU_PROGRAM_MAP(capbowl_map)
r9191r9192
384374
385375   MDRV_MACHINE_START(capbowl)
386376   MDRV_MACHINE_RESET(capbowl)
387   MDRV_NVRAM_HANDLER(capbowl)
377   MDRV_NVRAM_ADD_CUSTOM("nvram", capbowl_state, init_nvram)
388378
389379   MDRV_TICKET_DISPENSER_ADD("ticket", 100, TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
390380
r9191r9192
410400
411401   MDRV_SOUND_ADD("dac", DAC, 0)
412402   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
413MACHINE_DRIVER_END
403MACHINE_CONFIG_END
414404
415405
416static MACHINE_DRIVER_START( bowlrama )
406static MACHINE_CONFIG_DERIVED( bowlrama, capbowl )
417407
418408   /* basic machine hardware */
419   MDRV_IMPORT_FROM(capbowl)
420409
421410   MDRV_CPU_MODIFY("maincpu")
422411   MDRV_CPU_PROGRAM_MAP(bowlrama_map)
r9191r9192
424413   /* video hardware */
425414   MDRV_SCREEN_MODIFY("screen")
426415   MDRV_SCREEN_VISIBLE_AREA(0, 359, 0, 239)
427MACHINE_DRIVER_END
416MACHINE_CONFIG_END
428417
429418
430419
src/mame/drivers/darius.c
r9191r9192
930930}
931931
932932
933static MACHINE_DRIVER_START( darius )
933static MACHINE_CONFIG_START( darius, darius_state )
934934
935   /* driver data */
936   MDRV_DRIVER_DATA(darius_state)
937
938935   /* basic machine hardware */
939936   MDRV_CPU_ADD("maincpu", M68000,16000000/2)   /* 8 MHz ? */
940937   MDRV_CPU_PROGRAM_MAP(darius_map)
r9191r9192
10571054   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
10581055
10591056   MDRV_TC0140SYT_ADD("tc0140syt", darius_tc0140syt_intf)
1060MACHINE_DRIVER_END
1057MACHINE_CONFIG_END
10611058
10621059
10631060/***************************************************************************
src/mame/drivers/ssingles.c
r9191r9192
150150#define NUM_PENS (4*8)
151151#define VMEM_SIZE 0x100
152152
153class ssingles_state : public driver_data_t
153class ssingles_state : public driver_device
154154{
155155public:
156   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ssingles_state(machine)); }
156   ssingles_state(running_machine &machine, const driver_device_config_base &config)
157      : driver_device(machine, config) { }
157158
158   ssingles_state(running_machine &machine)
159      : driver_data_t(machine) { }
160
161159   UINT8 *videoram;
162160   UINT8 *colorram;
163161   UINT8 prot_data;
r9191r9192
411409   PORT_DIPSETTING(   0x80, DEF_STR( Yes ) )
412410INPUT_PORTS_END
413411
414static MACHINE_DRIVER_START( ssingles )
412static MACHINE_CONFIG_START( ssingles, ssingles_state )
415413
416   MDRV_DRIVER_DATA( ssingles_state )
417
418414   MDRV_CPU_ADD("maincpu", Z80,4000000)       /* ? MHz */
419415   MDRV_CPU_PROGRAM_MAP(ssingles_map)
420416   MDRV_CPU_IO_MAP(ssingles_io_map)
r9191r9192
440436   MDRV_SOUND_ADD("ay2", AY8910, 1500000) /* ? MHz */
441437   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
442438
443MACHINE_DRIVER_END
439MACHINE_CONFIG_END
444440
445static MACHINE_DRIVER_START( atamanot )
446   MDRV_IMPORT_FROM( ssingles )
441static MACHINE_CONFIG_DERIVED( atamanot, ssingles )
447442   MDRV_CPU_MODIFY("maincpu")
448443   MDRV_CPU_PROGRAM_MAP(atamanot_map)
449MACHINE_DRIVER_END
444MACHINE_CONFIG_END
450445
451446ROM_START( ssingles )
452447   ROM_REGION( 0x10000, "maincpu", 0 ) /* Z80 main CPU  */
src/mame/drivers/kinst.c
r9191r9192
636636};
637637
638638
639static MACHINE_DRIVER_START( kinst )
639static MACHINE_CONFIG_START( kinst, driver_device )
640640
641641   /* basic machine hardware */
642642   MDRV_CPU_ADD("maincpu", R4600LE, MASTER_CLOCK*2)
r9191r9192
665665   MDRV_VIDEO_UPDATE(kinst)
666666
667667   /* sound hardware */
668   MDRV_IMPORT_FROM(dcs_audio_2k)
669MACHINE_DRIVER_END
668   MDRV_FRAGMENT_ADD(dcs_audio_2k)
669MACHINE_CONFIG_END
670670
671671
672672
src/mame/drivers/sub.c
r9191r9192
112112
113113#define MASTER_CLOCK         XTAL_18_432MHz
114114
115class sub_state : public driver_data_t
115class sub_state : public driver_device
116116{
117117public:
118   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sub_state(machine)); }
118   sub_state(running_machine &machine, const driver_device_config_base &config)
119      : driver_device(machine, config) { }
119120
120   sub_state(running_machine &machine)
121      : driver_data_t(machine) { }
122
123121   UINT8* vid;
124122   UINT8* attr;
125123   UINT8* scrolly;
r9191r9192
419417      cputag_set_input_line(device->machine, "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
420418}
421419
422static MACHINE_DRIVER_START( sub )
420static MACHINE_CONFIG_START( sub, sub_state )
423421
424   MDRV_DRIVER_DATA( sub_state )
425
426422   /* basic machine hardware */
427423   MDRV_CPU_ADD("maincpu", Z80,MASTER_CLOCK/6)       /* ? MHz */
428424   MDRV_CPU_PROGRAM_MAP(subm_map)
r9191r9192
458454
459455   MDRV_SOUND_ADD("ay2", AY8910, MASTER_CLOCK/6/2) /* ? Mhz */
460456   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.23)
461MACHINE_DRIVER_END
457MACHINE_CONFIG_END
462458
463459
464460ROM_START( sub )
src/mame/drivers/cbasebal.c
r9191r9192
125125   AM_RANGE(0x01, 0x01) AM_WRITE_PORT("IO_01")
126126   AM_RANGE(0x02, 0x02) AM_WRITE_PORT("IO_02")
127127   AM_RANGE(0x03, 0x03) AM_WRITE_PORT("IO_03")
128   AM_RANGE(0x05, 0x05) AM_DEVWRITE("oki", okim6295_w)
128   AM_RANGE(0x05, 0x05) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
129129   AM_RANGE(0x06, 0x07) AM_DEVWRITE("ymsnd", ym2413_w)
130130   AM_RANGE(0x08, 0x09) AM_WRITE(cbasebal_scrollx_w)
131131   AM_RANGE(0x0a, 0x0b) AM_WRITE(cbasebal_scrolly_w)
r9191r9192
276276   state->scroll_y[1] = 0;
277277}
278278
279static MACHINE_DRIVER_START( cbasebal )
279static MACHINE_CONFIG_START( cbasebal, cbasebal_state )
280280
281   /* driver data */
282   MDRV_DRIVER_DATA(cbasebal_state)
283
284281   /* basic machine hardware */
285282   MDRV_CPU_ADD("maincpu", Z80, 6000000)   /* ??? */
286283   MDRV_CPU_PROGRAM_MAP(cbasebal_map)
r9191r9192
316313
317314   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
318315   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
319MACHINE_DRIVER_END
316MACHINE_CONFIG_END
320317
321318
322319
src/mame/drivers/beathead.c
r9191r9192
100100
101101#include "emu.h"
102102#include "includes/beathead.h"
103#include "machine/nvram.h"
103104
104105
105106
r9191r9192
235236   if (m_eeprom_enabled)
236237   {
237238      mem_mask &= 0x000000ff;
238      COMBINE_DATA(m_machine.generic.nvram.u32 + offset);
239      COMBINE_DATA(m_nvram + offset);
239240      m_eeprom_enabled = 0;
240241   }
241242}
r9191r9192
313314static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 32, beathead_state)
314315   AM_RANGE(0x00000000, 0x0001ffff) AM_RAM AM_BASE(m_ram_base)
315316   AM_RANGE(0x01800000, 0x01bfffff) AM_ROM AM_REGION("user1", 0) AM_BASE(m_rom_base)
316   AM_RANGE(0x40000000, 0x400007ff) AM_RAM_WRITE(eeprom_data_w) AM_BASE_SIZE_GENERIC(nvram)
317   AM_RANGE(0x40000000, 0x400007ff) AM_RAM_WRITE(eeprom_data_w) AM_SHARE("nvram")
317318   AM_RANGE(0x41000000, 0x41000003) AM_READWRITE(sound_data_r, sound_data_w)
318319   AM_RANGE(0x41000100, 0x41000103) AM_READ(interrupt_control_r)
319320   AM_RANGE(0x41000100, 0x4100011f) AM_WRITE(interrupt_control_w)
r9191r9192
383384   PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNUSED )
384385
385386   PORT_INCLUDE( atarijsa_iii )      /* audio board port */
387        PORT_MODIFY("JSAIII")
388// coin 1+2 import from JSAIII not used - set to unused
389   PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED )
390
386391INPUT_PORTS_END
387392
388393
r9191r9192
393398 *
394399 *************************************/
395400
396static MACHINE_DRIVER_START( beathead )
397   MDRV_DRIVER_DATA(beathead_state)
401static MACHINE_CONFIG_START( beathead, beathead_state )
398402
399403   /* basic machine hardware */
400404   MDRV_CPU_ADD("maincpu", ASAP, ATARI_CLOCK_14MHz)
401405   MDRV_CPU_PROGRAM_MAP(main_map)
402406
403   MDRV_NVRAM_HANDLER(generic_1fill)
407   MDRV_NVRAM_ADD_1FILL("nvram")
404408
405409   MDRV_TIMER_ADD("scan_timer", scanline_callback)
406410
r9191r9192
415419   MDRV_PALETTE_LENGTH(32768)
416420
417421   /* sound hardware */
418   MDRV_IMPORT_FROM(jsa_iii_mono)
419MACHINE_DRIVER_END
422   MDRV_FRAGMENT_ADD(jsa_iii_mono)
423MACHINE_CONFIG_END
420424
421425
422426
r9191r9192
499503   atarijsa_init(machine, "IN2", 0x0040);
500504
501505   /* prepare the speedups */
502   state->m_speedup_data = state->m_maincpu.space(AS_PROGRAM)->install_handler(0x00000ae8, 0x00000aeb, 0, 0, read32_delegate_create(beathead_state, speedup_r, *state));
503   state->m_movie_speedup_data = state->m_maincpu.space(AS_PROGRAM)->install_handler(0x00000804, 0x00000807, 0, 0, read32_delegate_create(beathead_state, movie_speedup_r, *state));
506   state->m_speedup_data = state->m_maincpu->space(AS_PROGRAM)->install_handler(0x00000ae8, 0x00000aeb, 0, 0, read32_delegate_create(beathead_state, speedup_r, *state));
507   state->m_movie_speedup_data = state->m_maincpu->space(AS_PROGRAM)->install_handler(0x00000804, 0x00000807, 0, 0, read32_delegate_create(beathead_state, movie_speedup_r, *state));
504508}
505509
506510
src/mame/drivers/mpoker.c
r9191r9192
170170#include "emu.h"
171171#include "cpu/z80/z80.h"
172172//#include "sound/dac.h"
173#include "machine/nvram.h"
173174#include "mpoker.lh"
174175
175176static UINT8 output[8];
r9191r9192
453454static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
454455   AM_RANGE(0x0000, 0x2fff) AM_ROM
455456//  AM_RANGE(0x0158, 0x0158) AM_WRITE (muxed_w)
456   AM_RANGE(0x3800, 0x38ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* NVRAM = 2x SCM5101E */
457   AM_RANGE(0x3800, 0x38ff) AM_RAM AM_SHARE("nvram")   /* NVRAM = 2x SCM5101E */
457458   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE(&mpoker_video)   /* 4x MM2114N-3 */
458459   AM_RANGE(0x8000, 0x8000) AM_READ_PORT("SW1")
459460   AM_RANGE(0x8001, 0x8001) AM_READ (mixport_r) /* DIP switch bank 2 + a sort of watchdog */
r9191r9192
559560   GFXDECODE_ENTRY( "gfx1", 0, tiles16x16_layout, 0, 0x100 )
560561GFXDECODE_END
561562
562static MACHINE_DRIVER_START( mpoker )
563static MACHINE_CONFIG_START( mpoker, driver_device )
563564   /* basic machine hardware */
564565   MDRV_CPU_ADD("maincpu", Z80,MASTER_CLOCK/6)       /* 3 MHz? */
565566   MDRV_CPU_PROGRAM_MAP(main_map)
566567   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
567568
568   MDRV_NVRAM_HANDLER(generic_0fill)
569   MDRV_NVRAM_ADD_0FILL("nvram")
569570
570571   /* video hardware */
571572   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
586587//  MDRV_SPEAKER_STANDARD_MONO("mono")
587588//  MDRV_SOUND_ADD("dac", DAC, 0)
588589//  MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
589MACHINE_DRIVER_END
590MACHINE_CONFIG_END
590591
591592ROM_START( mpoker )
592593   ROM_REGION( 0x3000, "maincpu", 0 )
src/mame/drivers/st0016.c
r9191r9192
7373   st0016_rom_bank=data;
7474}
7575
76READ8_HANDLER(st0016_dma_r);
77
7876static ADDRESS_MAP_START( st0016_io, ADDRESS_SPACE_IO, 8 )
7977   ADDRESS_MAP_GLOBAL_MASK(0xff)
8078   AM_RANGE(0x00, 0xbf) AM_READ(st0016_vregs_r) AM_WRITE(st0016_vregs_w) /* video/crt regs ? */
r9191r9192
432430 *
433431 *************************************/
434432
435static MACHINE_DRIVER_START( st0016 )
433static MACHINE_CONFIG_START( st0016, driver_device )
436434   /* basic machine hardware */
437435   MDRV_CPU_ADD("maincpu",Z80,8000000) /* 8 MHz ? */
438436   MDRV_CPU_PROGRAM_MAP(st0016_mem)
r9191r9192
460458   MDRV_SOUND_CONFIG(st0016_config)
461459   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
462460   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
463MACHINE_DRIVER_END
461MACHINE_CONFIG_END
464462
465static MACHINE_DRIVER_START( mayjinsn )
466   MDRV_IMPORT_FROM(st0016)
463static MACHINE_CONFIG_DERIVED( mayjinsn, st0016 )
467464   MDRV_CPU_MODIFY("maincpu")
468465   MDRV_CPU_IO_MAP(st0016_m2_io)
469466   MDRV_CPU_ADD("sub", V810, 10000000)//25 Mhz ?
470467   MDRV_CPU_PROGRAM_MAP(v810_mem)
471468   MDRV_QUANTUM_TIME(HZ(60))
472MACHINE_DRIVER_END
469MACHINE_CONFIG_END
473470
474471/*************************************
475472 *
src/mame/drivers/cchasm.c
r9191r9192
9999   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Difficulty ) )
100100   PORT_DIPSETTING(    0x00, DEF_STR( Easy ) )
101101   PORT_DIPSETTING(    0x08, DEF_STR( Hard ) )
102   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Bonus_Life ) )
102   PORT_DIPNAME( 0x10, 0x10, "Bonus Frequency" )
103103   PORT_DIPSETTING(    0x00, "Once" )
104104   PORT_DIPSETTING(    0x10, "Every" )
105105   PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) )
r9191r9192
153153 *
154154 *************************************/
155155
156static MACHINE_DRIVER_START( cchasm )
156static MACHINE_CONFIG_START( cchasm, driver_device )
157157
158158   /* basic machine hardware */
159159   MDRV_CPU_ADD("maincpu", M68000,CCHASM_68K_CLOCK)   /* 8 MHz (from schematics) */
r9191r9192
194194
195195   /* 6840 PTM */
196196   MDRV_PTM6840_ADD("6840ptm", cchasm_6840_intf)
197MACHINE_DRIVER_END
197MACHINE_CONFIG_END
198198
199199
200200
src/mame/drivers/sbasketb.c
r9191r9192
194194   state->last_irq = 0;
195195}
196196
197static MACHINE_DRIVER_START( sbasketb )
197static MACHINE_CONFIG_START( sbasketb, trackfld_state )
198198
199   /* driver data */
200   MDRV_DRIVER_DATA(trackfld_state)
201
202199   /* basic machine hardware */
203200   MDRV_CPU_ADD("maincpu", M6809, 1400000)        /* 1.400 MHz ??? */
204201   MDRV_CPU_PROGRAM_MAP(sbasketb_map)
r9191r9192
236233
237234   MDRV_SOUND_ADD("vlm", VLM5030, XTAL_3_579545MHz) /* Schematics say 3.58MHz, but board uses 3.579545MHz xtal */
238235   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
239MACHINE_DRIVER_END
236MACHINE_CONFIG_END
240237
241238
242239
src/mame/drivers/skyarmy.c
r9191r9192
2929#include "cpu/z80/z80.h"
3030#include "sound/ay8910.h"
3131
32class skyarmy_state : public driver_data_t
32class skyarmy_state : public driver_device
3333{
3434public:
35   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, skyarmy_state(machine)); }
35   skyarmy_state(running_machine &machine, const driver_device_config_base &config)
36      : driver_device(machine, config) { }
3637
37   skyarmy_state(running_machine &machine)
38      : driver_data_t(machine) { }
39
4038   UINT8 *spriteram;
4139   UINT8 *videoram;
4240   UINT8 *colorram;
r9191r9192
273271   GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0, 8 )
274272GFXDECODE_END
275273
276static MACHINE_DRIVER_START( skyarmy )
274static MACHINE_CONFIG_START( skyarmy, skyarmy_state )
277275
278   MDRV_DRIVER_DATA( skyarmy_state )
279
280276   MDRV_CPU_ADD("maincpu", Z80,4000000)
281277   MDRV_CPU_PROGRAM_MAP(skyarmy_map)
282278   MDRV_CPU_IO_MAP(skyarmy_io_map)
r9191r9192
302298   MDRV_SPEAKER_STANDARD_MONO("mono")
303299   MDRV_SOUND_ADD("aysnd", AY8910, 2500000)
304300   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
305MACHINE_DRIVER_END
301MACHINE_CONFIG_END
306302
307303
308304ROM_START( skyarmy )
src/mame/drivers/ksayakyu.c
r9191r9192
271271   state->flipscreen = 0;
272272}
273273
274static MACHINE_DRIVER_START( ksayakyu )
274static MACHINE_CONFIG_START( ksayakyu, ksayakyu_state )
275275
276   /* driver data */
277   MDRV_DRIVER_DATA(ksayakyu_state)
278
279276   /* basic machine hardware */
280277   MDRV_CPU_ADD("maincpu", Z80,MAIN_CLOCK/8) //divider is guessed
281278   MDRV_CPU_PROGRAM_MAP(maincpu_map)
r9191r9192
318315
319316   MDRV_SOUND_ADD("dac", DAC, 0)
320317   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
321MACHINE_DRIVER_END
318MACHINE_CONFIG_END
322319
323320ROM_START( ksayakyu )
324321   ROM_REGION( 0x20000, "maincpu", 0 )
src/mame/drivers/qix.c
r9191r9192
226226#include "rendlay.h"
227227#include "includes/qix.h"
228228#include "cpu/m6809/m6809.h"
229#include "machine/nvram.h"
229230
230231#include "elecyoyo.lh"
231232
r9191r9192
548549   TRUE,      /* encrypt only the first byte in 10 xx and 11 xx opcodes */
549550};
550551
551static MACHINE_DRIVER_START( qix_base )
552static MACHINE_CONFIG_START( qix_base, qix_state )
552553
553   MDRV_DRIVER_DATA(qix_state)
554
555554   /* basic machine hardware */
556555   MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK_OSC/4/4)   /* 1.25 MHz */
557556   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
562561   MDRV_QUANTUM_PERFECT_CPU("maincpu")
563562
564563   MDRV_MACHINE_RESET(qix)
565   MDRV_NVRAM_HANDLER(generic_0fill)
564   MDRV_NVRAM_ADD_0FILL("nvram")
566565
567566   MDRV_PIA6821_ADD("pia0", qix_pia_0_intf)
568567   MDRV_PIA6821_ADD("pia1", qix_pia_1_intf)
569568   MDRV_PIA6821_ADD("pia2", qix_pia_2_intf)
570569
571570   /* video hardware */
572   MDRV_IMPORT_FROM(qix_video)
573MACHINE_DRIVER_END
571   MDRV_FRAGMENT_ADD(qix_video)
572MACHINE_CONFIG_END
574573
575574
576static MACHINE_DRIVER_START( qix )
577   MDRV_IMPORT_FROM(qix_base)
578   MDRV_IMPORT_FROM(qix_audio)
579MACHINE_DRIVER_END
575static MACHINE_CONFIG_DERIVED( qix, qix_base )
576   MDRV_FRAGMENT_ADD(qix_audio)
577MACHINE_CONFIG_END
580578
581579
582static MACHINE_DRIVER_START( mcu )
580static MACHINE_CONFIG_DERIVED( mcu, qix )
583581
584582   /* basic machine hardware */
585   MDRV_IMPORT_FROM(qix)
586583
587584   MDRV_CPU_ADD("mcu", M68705, COIN_CLOCK_OSC)   /* 1.00 MHz */
588585   MDRV_CPU_PROGRAM_MAP(mcu_map)
r9191r9192
591588
592589   MDRV_PIA6821_MODIFY("pia0", qixmcu_pia_0_intf)
593590   MDRV_PIA6821_MODIFY("pia2", qixmcu_pia_2_intf)
594MACHINE_DRIVER_END
591MACHINE_CONFIG_END
595592
596593
597static MACHINE_DRIVER_START( zookeep )
594static MACHINE_CONFIG_DERIVED( zookeep, mcu )
598595
599596   /* basic machine hardware */
600   MDRV_IMPORT_FROM(mcu)
601597
602598   MDRV_CPU_MODIFY("maincpu")
603599   MDRV_CPU_PROGRAM_MAP(zoo_main_map)
604600
605601   /* video hardware */
606   MDRV_IMPORT_FROM(zookeep_video)
607MACHINE_DRIVER_END
602   MDRV_FRAGMENT_ADD(zookeep_video)
603MACHINE_CONFIG_END
608604
609605
610static MACHINE_DRIVER_START( slither )
606static MACHINE_CONFIG_DERIVED( slither, qix_base )
611607
612608   /* basic machine hardware */
613   MDRV_IMPORT_FROM(qix_base)
614609
615610   MDRV_CPU_MODIFY("maincpu")
616611   MDRV_CPU_CLOCK(SLITHER_CLOCK_OSC/4/4)   /* 1.34 MHz */
r9191r9192
619614   MDRV_PIA6821_MODIFY("pia2", slither_pia_2_intf)
620615
621616   /* video hardware */
622   MDRV_IMPORT_FROM(slither_video)
617   MDRV_FRAGMENT_ADD(slither_video)
623618
624619   /* audio hardware */
625   MDRV_IMPORT_FROM(slither_audio)
626MACHINE_DRIVER_END
620   MDRV_FRAGMENT_ADD(slither_audio)
621MACHINE_CONFIG_END
627622
628623
629624
src/mame/drivers/suprgolf.c
r9191r9192
2424#include "sound/2203intf.h"
2525#include "sound/msm5205.h"
2626
27class suprgolf_state : public driver_data_t
27class suprgolf_state : public driver_device
2828{
2929public:
30   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, suprgolf_state(machine)); }
30   suprgolf_state(running_machine &machine, const driver_device_config_base &config)
31      : driver_device(machine, config) { }
3132
32   suprgolf_state(running_machine &machine)
33      : driver_data_t(machine) { }
34
3533   tilemap_t *tilemap;
3634   UINT8 *videoram;
3735   UINT8 *paletteram;
r9191r9192
483481   state->msm_nmi_mask = 0;
484482}
485483
486static MACHINE_DRIVER_START( suprgolf )
484static MACHINE_CONFIG_START( suprgolf, suprgolf_state )
487485
488   MDRV_DRIVER_DATA( suprgolf_state )
489
490486   /* basic machine hardware */
491487   MDRV_CPU_ADD("maincpu", Z80,4000000) /* guess */
492488   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
519515   MDRV_SOUND_ADD("msm", MSM5205, 400000) /* guess */
520516   MDRV_SOUND_CONFIG(msm5205_config)
521517   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
522MACHINE_DRIVER_END
518MACHINE_CONFIG_END
523519
524520
525521/*
src/mame/drivers/himesiki.c
r9191r9192
289289   state->flipscreen = 0;
290290}
291291
292static MACHINE_DRIVER_START( himesiki )
292static MACHINE_CONFIG_START( himesiki, himesiki_state )
293293
294   /* driver data */
295   MDRV_DRIVER_DATA(himesiki_state)
296
297294   /* basic machine hardware */
298295   MDRV_CPU_ADD("maincpu", Z80, MCLK/2) /* 6.000 MHz */
299296   MDRV_CPU_PROGRAM_MAP(himesiki_prm0)
r9191r9192
328325   MDRV_SOUND_ROUTE(2, "mono", 0.10)
329326   MDRV_SOUND_ROUTE(3, "mono", 0.50)
330327
331MACHINE_DRIVER_END
328MACHINE_CONFIG_END
332329
333330/****************************************************************************/
334331
src/mame/drivers/battlex.c
r9191r9192
132132   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
133133
134134   PORT_START("DSW2")   /* IN3 */
135   PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_A ) )
135   PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coin_B ) )
136136   PORT_DIPSETTING(    0x07, DEF_STR( 3C_1C ) )
137137   PORT_DIPSETTING(    0x05, DEF_STR( 2C_1C ) )
138138   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
r9191r9192
210210   state->scroll_msb = 0;
211211}
212212
213static MACHINE_DRIVER_START( battlex )
213static MACHINE_CONFIG_START( battlex, battlex_state )
214214
215   /* driver data */
216   MDRV_DRIVER_DATA(battlex_state)
217
218215   /* basic machine hardware */
219216   MDRV_CPU_ADD("maincpu", Z80,10000000/2 )       /* 10 MHz, divided ? (Z80A CPU) */
220217   MDRV_CPU_PROGRAM_MAP(battlex_map)
r9191r9192
241238   MDRV_SPEAKER_STANDARD_MONO("mono")
242239   MDRV_SOUND_ADD("aysnd", AY8910, 10000000/8)
243240   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
244MACHINE_DRIVER_END
241MACHINE_CONFIG_END
245242
246243
247244/*************************************
src/mame/drivers/adp.c
r9191r9192
152152#include "machine/microtch.h"
153153#include "machine/68681.h"
154154
155class adp_state : public driver_data_t
155class adp_state : public driver_device
156156{
157157public:
158   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, adp_state(machine)); }
158   adp_state(running_machine &machine, const driver_device_config_base &config)
159      : driver_device(machine, config) { }
159160
160   adp_state(running_machine &machine)
161      : driver_data_t(machine) { }
162
163161   /* misc */
164162   UINT8 mux_data;
165163   UINT8 register_active;
r9191r9192
632630static const hd63484_interface adp_hd63484_intf = { 0 };
633631static const hd63484_interface skattva_hd63484_intf = { 1 };   // skattva hd63484 hack. to be removed once the video controller emulation is complete!
634632
635static MACHINE_DRIVER_START( quickjac )
633static MACHINE_CONFIG_START( quickjac, adp_state )
636634
637   /* driver data */
638   MDRV_DRIVER_DATA(adp_state)
639
640635   MDRV_CPU_ADD("maincpu", M68000, 8000000)
641636   MDRV_CPU_PROGRAM_MAP(quickjac_mem)
642637//  MDRV_CPU_VBLANK_INT("screen", adp_int)
r9191r9192
665660   MDRV_SOUND_CONFIG(ay8910_config)
666661   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
667662
668MACHINE_DRIVER_END
663MACHINE_CONFIG_END
669664
670static MACHINE_DRIVER_START( skattv )
665static MACHINE_CONFIG_START( skattv, adp_state )
671666
672   /* driver data */
673   MDRV_DRIVER_DATA(adp_state)
674
675667   MDRV_CPU_ADD("maincpu", M68000, 8000000)
676668   MDRV_CPU_PROGRAM_MAP(skattv_mem)
677669//  MDRV_CPU_VBLANK_INT("screen", adp_int)
r9191r9192
700692   MDRV_SOUND_CONFIG(ay8910_config)
701693   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
702694
703MACHINE_DRIVER_END
695MACHINE_CONFIG_END
704696
705static MACHINE_DRIVER_START( skattva )
706   MDRV_IMPORT_FROM( skattv )
697static MACHINE_CONFIG_DERIVED( skattva, skattv )
707698
708699   MDRV_DEVICE_REMOVE("hd63484")
709700   MDRV_HD63484_ADD("hd63484", skattva_hd63484_intf)
710MACHINE_DRIVER_END
701MACHINE_CONFIG_END
711702
712static MACHINE_DRIVER_START( backgamn )
703static MACHINE_CONFIG_START( backgamn, adp_state )
713704
714   /* driver data */
715   MDRV_DRIVER_DATA(adp_state)
716
717705   MDRV_CPU_ADD("maincpu", M68000, 8000000)
718706   MDRV_CPU_PROGRAM_MAP(backgamn_mem)
719707
r9191r9192
741729   MDRV_SOUND_CONFIG(ay8910_config)
742730   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
743731
744MACHINE_DRIVER_END
732MACHINE_CONFIG_END
745733
746static MACHINE_DRIVER_START( funland )
747   MDRV_IMPORT_FROM( skattv )
734static MACHINE_CONFIG_DERIVED( funland, skattv )
748735   MDRV_CPU_MODIFY("maincpu")
749736   MDRV_CPU_PROGRAM_MAP(funland_mem)
750737
751738   MDRV_PALETTE_LENGTH(0x100)
752739   MDRV_PALETTE_INIT(all_black)
753MACHINE_DRIVER_END
740MACHINE_CONFIG_END
754741
755static MACHINE_DRIVER_START( fstation )
756   MDRV_IMPORT_FROM( skattv )
742static MACHINE_CONFIG_DERIVED( fstation, skattv )
757743   MDRV_CPU_MODIFY("maincpu")
758744   MDRV_CPU_PROGRAM_MAP(fstation_mem)
759MACHINE_DRIVER_END
745MACHINE_CONFIG_END
760746
761747
762748ROM_START( quickjac )
src/mame/drivers/konamigq.c
r9191r9192
104104
105105/* EEPROM */
106106
107static const UINT8 konamigq_def_eeprom[128] =
107static const UINT16 konamigq_def_eeprom[64] =
108108{
109   0x29, 0x2b, 0x52, 0x56, 0x20, 0x94, 0x41, 0x55, 0x00, 0x41, 0x14, 0x14, 0x00, 0x03, 0x01, 0x01,
110   0x01, 0x03, 0x00, 0x00, 0x07, 0x07, 0x00, 0x01, 0xaa, 0x00, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
111   0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
112   0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
113   0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
114   0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
115   0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
116   0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
109   0x292b, 0x5256, 0x2094, 0x4155, 0x0041, 0x1414, 0x0003, 0x0101,
110   0x0103, 0x0000, 0x0707, 0x0001, 0xaa00, 0xaaaa, 0xaaaa, 0xaaaa,
111   0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
112   0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
113   0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
114   0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
115   0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
116   0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa, 0xaaaa,
117117};
118118
119119static WRITE32_HANDLER( eeprom_w )
r9191r9192
357357   psx_machine_init(machine);
358358}
359359
360static MACHINE_DRIVER_START( konamigq )
360static MACHINE_CONFIG_START( konamigq, driver_device )
361361   /* basic machine hardware */
362362   MDRV_CPU_ADD("maincpu",  PSXCPU, XTAL_67_7376MHz )
363363   MDRV_CPU_PROGRAM_MAP( konamigq_map)
r9191r9192
398398   MDRV_SOUND_CONFIG(k054539_config)
399399   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
400400   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
401MACHINE_DRIVER_END
401MACHINE_CONFIG_END
402402
403403static INPUT_PORTS_START( konamigq )
404404   PORT_START("GUNX1")
src/mame/drivers/3super8.c
r9191r9192
6464
6565
6666
67static MACHINE_DRIVER_START( 3super8 )
67static MACHINE_CONFIG_START( 3super8, driver_device )
6868   /* basic machine hardware */
6969   MDRV_CPU_ADD("maincpu", Z80,24000000/4)       /* 6 MHz */
7070   MDRV_CPU_PROGRAM_MAP(map)
r9191r9192
8989
9090   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
9191   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
92MACHINE_DRIVER_END
92MACHINE_CONFIG_END
9393
9494
9595
src/mame/drivers/snesb.c
r9191r9192
497497INPUT_PORTS_END
498498
499499
500static MACHINE_DRIVER_START( kinstb )
500static MACHINE_CONFIG_START( kinstb, snes_state )
501501
502   /* driver data */
503   MDRV_DRIVER_DATA(snes_state)
504
505502   /* basic machine hardware */
506503   MDRV_CPU_ADD("maincpu", _5A22, 3580000*6)   /* 2.68Mhz, also 3.58Mhz */
507504   MDRV_CPU_PROGRAM_MAP(snesb_map)
r9191r9192
528525   MDRV_SOUND_ADD("spc700", SNES, 0)
529526   MDRV_SOUND_ROUTE(0, "lspeaker", 1.00)
530527   MDRV_SOUND_ROUTE(1, "rspeaker", 1.00)
531MACHINE_DRIVER_END
528MACHINE_CONFIG_END
532529
533530static DRIVER_INIT(kinstb)
534531{
src/mame/drivers/pcxt.c
r9191r9192
684684   AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE("pit8253", pit8253_r, pit8253_w)    //8253 PIT
685685   AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)  //PPI 8255
686686   AM_RANGE(0x0064, 0x0066) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)  //PPI 8255
687   AM_RANGE(0x0070, 0x007f) AM_READWRITE(mc146818_port_r,mc146818_port_w)
687   AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE_MODERN("rtc", mc146818_device, read, write)
688688   AM_RANGE(0x0080, 0x0087) AM_READWRITE(dma_page_select_r,dma_page_select_w)
689689   AM_RANGE(0x00a0, 0x00af) AM_DEVREADWRITE("pic8259_2", pic8259_r, pic8259_w )
690690//  AM_RANGE(0x0200, 0x020f) AM_RAM //game port
r9191r9192
713713   AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE("pit8253", pit8253_r, pit8253_w)    //8253 PIT
714714   AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)  //PPI 8255
715715   AM_RANGE(0x0064, 0x0066) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)  //PPI 8255
716   AM_RANGE(0x0070, 0x007f) AM_READWRITE(mc146818_port_r,mc146818_port_w)
716   AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE_MODERN("rtc", mc146818_device, read, write)
717717   AM_RANGE(0x0080, 0x0087) AM_READWRITE(dma_page_select_r,dma_page_select_w)
718718   AM_RANGE(0x00a0, 0x00af) AM_DEVREADWRITE("pic8259_2", pic8259_r, pic8259_w )
719719   AM_RANGE(0x0200, 0x020f) AM_RAM //game port
r9191r9192
917917   filetto_devices.dma8237_2 = machine->device( "dma8237_2" );
918918}
919919
920static MACHINE_DRIVER_START( filetto )
920static MACHINE_CONFIG_START( filetto, driver_device )
921921   MDRV_CPU_ADD("maincpu", I8088, 8000000) //or regular PC-XT 14318180/3 clock?
922922   MDRV_CPU_PROGRAM_MAP(filetto_map)
923923   MDRV_CPU_IO_MAP(filetto_io)
r9191r9192
935935
936936   MDRV_PIC8259_ADD( "pic8259_2", pic8259_2_config )
937937
938   MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
939
938940   MDRV_GFXDECODE(filetto)
939941
940942   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
960962//  PC "buzzer" sound
961963   MDRV_SOUND_ADD("beep", BEEP, 0)
962964   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
963MACHINE_DRIVER_END
965MACHINE_CONFIG_END
964966
965static MACHINE_DRIVER_START( tetriskr )
967static MACHINE_CONFIG_START( tetriskr, driver_device )
966968   MDRV_CPU_ADD("maincpu", I8088, 14318180/3)
967969   MDRV_CPU_PROGRAM_MAP(filetto_map)
968970   MDRV_CPU_IO_MAP(tetriskr_io)
r9191r9192
980982
981983   MDRV_PIC8259_ADD( "pic8259_2", pic8259_2_config )
982984
985   MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
986
983987   MDRV_GFXDECODE(tetriskr)
984988
985989   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
10021006//  PC "buzzer" sound
10031007   MDRV_SOUND_ADD("beep", BEEP, 0)
10041008   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
1005MACHINE_DRIVER_END
1009MACHINE_CONFIG_END
10061010
10071011ROM_START( filetto )
10081012   ROM_REGION( 0x100000, "maincpu", 0 )
src/mame/drivers/mcatadv.c
r9191r9192
441441   state_save_register_global(machine, state->palette_bank2);
442442}
443443
444static MACHINE_DRIVER_START( mcatadv )
444static MACHINE_CONFIG_START( mcatadv, mcatadv_state )
445445
446   /* driver data */
447   MDRV_DRIVER_DATA(mcatadv_state)
448
449446   /* basic machine hardware */
450447   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz) /* verified on pcb */
451448   MDRV_CPU_PROGRAM_MAP(mcatadv_map)
r9191r9192
483480   MDRV_SOUND_ROUTE(0, "rspeaker", 0.32)
484481   MDRV_SOUND_ROUTE(1, "lspeaker",  0.5)
485482   MDRV_SOUND_ROUTE(2, "rspeaker", 0.5)
486MACHINE_DRIVER_END
483MACHINE_CONFIG_END
487484
488static MACHINE_DRIVER_START( nost )
489   MDRV_IMPORT_FROM( mcatadv )
485static MACHINE_CONFIG_DERIVED( nost, mcatadv )
490486
491487   MDRV_CPU_MODIFY("soundcpu")
492488   MDRV_CPU_PROGRAM_MAP(nost_sound_map)
493489   MDRV_CPU_IO_MAP(nost_sound_io_map)
494MACHINE_DRIVER_END
490MACHINE_CONFIG_END
495491
496492
497493ROM_START( mcatadv )
src/mame/drivers/cinemat.c
r9191r9192
992992 *
993993 *************************************/
994994
995static MACHINE_DRIVER_START( cinemat_nojmi_4k )
995static MACHINE_CONFIG_START( cinemat_nojmi_4k, driver_device )
996996
997997   /* basic machine hardware */
998998   MDRV_CPU_ADD("maincpu", CCPU, MASTER_CLOCK/4)
r9191r9192
10141014
10151015   MDRV_VIDEO_START(cinemat_bilevel)
10161016   MDRV_VIDEO_UPDATE(cinemat)
1017MACHINE_DRIVER_END
1017MACHINE_CONFIG_END
10181018
10191019
1020static MACHINE_DRIVER_START( cinemat_jmi_4k )
1021   MDRV_IMPORT_FROM(cinemat_nojmi_4k)
1020static MACHINE_CONFIG_DERIVED( cinemat_jmi_4k, cinemat_nojmi_4k )
10221021   MDRV_CPU_MODIFY("maincpu")
10231022   MDRV_CPU_CONFIG(config_jmi)
1024MACHINE_DRIVER_END
1023MACHINE_CONFIG_END
10251024
10261025
1027static MACHINE_DRIVER_START( cinemat_nojmi_8k )
1028   MDRV_IMPORT_FROM(cinemat_nojmi_4k)
1026static MACHINE_CONFIG_DERIVED( cinemat_nojmi_8k, cinemat_nojmi_4k )
10291027   MDRV_CPU_MODIFY("maincpu")
10301028   MDRV_CPU_PROGRAM_MAP(program_map_8k)
1031MACHINE_DRIVER_END
1029MACHINE_CONFIG_END
10321030
10331031
1034static MACHINE_DRIVER_START( cinemat_jmi_8k )
1035   MDRV_IMPORT_FROM(cinemat_jmi_4k)
1032static MACHINE_CONFIG_DERIVED( cinemat_jmi_8k, cinemat_jmi_4k )
10361033   MDRV_CPU_MODIFY("maincpu")
10371034   MDRV_CPU_PROGRAM_MAP(program_map_8k)
1038MACHINE_DRIVER_END
1035MACHINE_CONFIG_END
10391036
10401037
1041static MACHINE_DRIVER_START( cinemat_jmi_16k )
1042   MDRV_IMPORT_FROM(cinemat_jmi_4k)
1038static MACHINE_CONFIG_DERIVED( cinemat_jmi_16k, cinemat_jmi_4k )
10431039   MDRV_CPU_MODIFY("maincpu")
10441040   MDRV_CPU_PROGRAM_MAP(program_map_16k)
1045MACHINE_DRIVER_END
1041MACHINE_CONFIG_END
10461042
10471043
1048static MACHINE_DRIVER_START( cinemat_jmi_32k )
1049   MDRV_IMPORT_FROM(cinemat_jmi_4k)
1044static MACHINE_CONFIG_DERIVED( cinemat_jmi_32k, cinemat_jmi_4k )
10501045   MDRV_CPU_MODIFY("maincpu")
10511046   MDRV_CPU_PROGRAM_MAP(program_map_32k)
1052MACHINE_DRIVER_END
1047MACHINE_CONFIG_END
10531048
10541049
10551050
r9191r9192
10601055 *
10611056 *************************************/
10621057
1063static MACHINE_DRIVER_START( spacewar )
1064   MDRV_IMPORT_FROM(cinemat_nojmi_4k)
1065   MDRV_IMPORT_FROM(spacewar_sound)
1058static MACHINE_CONFIG_DERIVED( spacewar, cinemat_nojmi_4k )
1059   MDRV_FRAGMENT_ADD(spacewar_sound)
10661060   MDRV_VIDEO_UPDATE(spacewar)
1067MACHINE_DRIVER_END
1061MACHINE_CONFIG_END
10681062
10691063
1070static MACHINE_DRIVER_START( barrier )
1071   MDRV_IMPORT_FROM(cinemat_jmi_4k)
1072   MDRV_IMPORT_FROM(barrier_sound)
1073MACHINE_DRIVER_END
1064static MACHINE_CONFIG_DERIVED( barrier, cinemat_jmi_4k )
1065   MDRV_FRAGMENT_ADD(barrier_sound)
1066MACHINE_CONFIG_END
10741067
10751068
1076static MACHINE_DRIVER_START( speedfrk )
1077   MDRV_IMPORT_FROM(cinemat_nojmi_8k)
1078   MDRV_IMPORT_FROM(speedfrk_sound)
1079MACHINE_DRIVER_END
1069static MACHINE_CONFIG_DERIVED( speedfrk, cinemat_nojmi_8k )
1070   MDRV_FRAGMENT_ADD(speedfrk_sound)
1071MACHINE_CONFIG_END
10801072
10811073
1082static MACHINE_DRIVER_START( starhawk )
1083   MDRV_IMPORT_FROM(cinemat_jmi_4k)
1084   MDRV_IMPORT_FROM(starhawk_sound)
1085MACHINE_DRIVER_END
1074static MACHINE_CONFIG_DERIVED( starhawk, cinemat_jmi_4k )
1075   MDRV_FRAGMENT_ADD(starhawk_sound)
1076MACHINE_CONFIG_END
10861077
10871078
1088static MACHINE_DRIVER_START( sundance )
1089   MDRV_IMPORT_FROM(cinemat_jmi_8k)
1090   MDRV_IMPORT_FROM(sundance_sound)
1079static MACHINE_CONFIG_DERIVED( sundance, cinemat_jmi_8k )
1080   MDRV_FRAGMENT_ADD(sundance_sound)
10911081   MDRV_VIDEO_START(cinemat_16level)
1092MACHINE_DRIVER_END
1082MACHINE_CONFIG_END
10931083
10941084
1095static MACHINE_DRIVER_START( tailg )
1096   MDRV_IMPORT_FROM(cinemat_nojmi_8k)
1097   MDRV_IMPORT_FROM(tailg_sound)
1098MACHINE_DRIVER_END
1085static MACHINE_CONFIG_DERIVED( tailg, cinemat_nojmi_8k )
1086   MDRV_FRAGMENT_ADD(tailg_sound)
1087MACHINE_CONFIG_END
10991088
11001089
1101static MACHINE_DRIVER_START( warrior )
1102   MDRV_IMPORT_FROM(cinemat_jmi_8k)
1103   MDRV_IMPORT_FROM(warrior_sound)
1104MACHINE_DRIVER_END
1090static MACHINE_CONFIG_DERIVED( warrior, cinemat_jmi_8k )
1091   MDRV_FRAGMENT_ADD(warrior_sound)
1092MACHINE_CONFIG_END
11051093
11061094
1107static MACHINE_DRIVER_START( armora )
1108   MDRV_IMPORT_FROM(cinemat_jmi_16k)
1109   MDRV_IMPORT_FROM(armora_sound)
1110MACHINE_DRIVER_END
1095static MACHINE_CONFIG_DERIVED( armora, cinemat_jmi_16k )
1096   MDRV_FRAGMENT_ADD(armora_sound)
1097MACHINE_CONFIG_END
11111098
11121099
1113static MACHINE_DRIVER_START( ripoff )
1114   MDRV_IMPORT_FROM(cinemat_jmi_8k)
1115   MDRV_IMPORT_FROM(ripoff_sound)
1116MACHINE_DRIVER_END
1100static MACHINE_CONFIG_DERIVED( ripoff, cinemat_jmi_8k )
1101   MDRV_FRAGMENT_ADD(ripoff_sound)
1102MACHINE_CONFIG_END
11171103
11181104
1119static MACHINE_DRIVER_START( starcas )
1120   MDRV_IMPORT_FROM(cinemat_jmi_8k)
1121   MDRV_IMPORT_FROM(starcas_sound)
1122MACHINE_DRIVER_END
1105static MACHINE_CONFIG_DERIVED( starcas, cinemat_jmi_8k )
1106   MDRV_FRAGMENT_ADD(starcas_sound)
1107MACHINE_CONFIG_END
11231108
11241109
1125static MACHINE_DRIVER_START( solarq )
1126   MDRV_IMPORT_FROM(cinemat_jmi_16k)
1127   MDRV_IMPORT_FROM(solarq_sound)
1110static MACHINE_CONFIG_DERIVED( solarq, cinemat_jmi_16k )
1111   MDRV_FRAGMENT_ADD(solarq_sound)
11281112   MDRV_VIDEO_START(cinemat_64level)
1129MACHINE_DRIVER_END
1113MACHINE_CONFIG_END
11301114
11311115
1132static MACHINE_DRIVER_START( boxingb )
1133   MDRV_IMPORT_FROM(cinemat_jmi_32k)
1134   MDRV_IMPORT_FROM(boxingb_sound)
1116static MACHINE_CONFIG_DERIVED( boxingb, cinemat_jmi_32k )
1117   MDRV_FRAGMENT_ADD(boxingb_sound)
11351118   MDRV_SCREEN_MODIFY("screen")
11361119   MDRV_SCREEN_VISIBLE_AREA(0, 1024, 0, 788)
11371120   MDRV_VIDEO_START(cinemat_color)
1138MACHINE_DRIVER_END
1121MACHINE_CONFIG_END
11391122
11401123
1141static MACHINE_DRIVER_START( wotw )
1142   MDRV_IMPORT_FROM(cinemat_jmi_16k)
1124static MACHINE_CONFIG_DERIVED( wotw, cinemat_jmi_16k )
11431125   MDRV_SCREEN_MODIFY("screen")
11441126   MDRV_SCREEN_VISIBLE_AREA(0, 1120, 0, 767)
1145   MDRV_IMPORT_FROM(wotw_sound)
1146MACHINE_DRIVER_END
1127   MDRV_FRAGMENT_ADD(wotw_sound)
1128MACHINE_CONFIG_END
11471129
11481130
1149static MACHINE_DRIVER_START( wotwc )
1150   MDRV_IMPORT_FROM(cinemat_jmi_16k)
1151   MDRV_IMPORT_FROM(wotwc_sound)
1131static MACHINE_CONFIG_DERIVED( wotwc, cinemat_jmi_16k )
1132   MDRV_FRAGMENT_ADD(wotwc_sound)
11521133   MDRV_VIDEO_START(cinemat_color)
1153MACHINE_DRIVER_END
1134MACHINE_CONFIG_END
11541135
11551136
1156static MACHINE_DRIVER_START( demon )
1157   MDRV_IMPORT_FROM(cinemat_jmi_16k)
1158   MDRV_IMPORT_FROM(demon_sound)
1137static MACHINE_CONFIG_DERIVED( demon, cinemat_jmi_16k )
1138   MDRV_FRAGMENT_ADD(demon_sound)
11591139   MDRV_SCREEN_MODIFY("screen")
11601140   MDRV_SCREEN_VISIBLE_AREA(0, 1024, 0, 805)
1161MACHINE_DRIVER_END
1141MACHINE_CONFIG_END
11621142
11631143
1164static MACHINE_DRIVER_START( qb3 )
1165   MDRV_IMPORT_FROM(cinemat_jmi_32k)
1166   MDRV_IMPORT_FROM(qb3_sound)
1144static MACHINE_CONFIG_DERIVED( qb3, cinemat_jmi_32k )
1145   MDRV_FRAGMENT_ADD(qb3_sound)
11671146   MDRV_CPU_MODIFY("maincpu")
11681147   MDRV_CPU_DATA_MAP(data_map_qb3)
11691148   MDRV_SCREEN_MODIFY("screen")
11701149   MDRV_SCREEN_VISIBLE_AREA(0, 1120, 0, 780)
11711150   MDRV_VIDEO_START(cinemat_qb3color)
1172MACHINE_DRIVER_END
1151MACHINE_CONFIG_END
11731152
11741153
11751154
src/mame/drivers/toaplan2.c
r9191r9192
14371437   AM_RANGE(0x200010, 0x200011) AM_READ_PORT("IN1")
14381438   AM_RANGE(0x200014, 0x200015) AM_READ_PORT("IN2")
14391439   AM_RANGE(0x200018, 0x200019) AM_READ_PORT("SYS")
1440   AM_RANGE(0x200020, 0x200021) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
1441   AM_RANGE(0x200024, 0x200025) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)
1440   AM_RANGE(0x200020, 0x200021) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
1441   AM_RANGE(0x200024, 0x200025) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
14421442   AM_RANGE(0x200028, 0x200029) AM_DEVWRITE("oki1", oki_bankswitch_w)
14431443   AM_RANGE(0x20002c, 0x20002d) AM_READ(video_count_r)
14441444   AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
r9191r9192
14641464   AM_RANGE(0x700006, 0x700007) AM_READ_PORT("IN1")
14651465   AM_RANGE(0x700008, 0x700009) AM_READ_PORT("IN2")
14661466   AM_RANGE(0x70000a, 0x70000b) AM_READ_PORT("SYS")
1467   AM_RANGE(0x700010, 0x700011) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
1467   AM_RANGE(0x700010, 0x700011) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
14681468   AM_RANGE(0x700014, 0x700017) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff)
14691469   AM_RANGE(0x70001e, 0x70001f) AM_WRITE(toaplan2_coin_word_w)      /* Coin count/lock */
14701470ADDRESS_MAP_END
r9191r9192
15621562   AM_RANGE(0x20000c, 0x20000d) AM_READ_PORT("DSWB")
15631563   AM_RANGE(0x200010, 0x200011) AM_READ_PORT("SYS")
15641564   AM_RANGE(0x200014, 0x200015) AM_DEVWRITE("oki", fixeighb_oki_bankswitch_w)   /* Sound banking. Code at $4084c, $5070 */
1565   AM_RANGE(0x200018, 0x200019) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
1565   AM_RANGE(0x200018, 0x200019) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
15661566   AM_RANGE(0x20001c, 0x20001d) AM_READ_PORT("DSWA")
15671567   AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
15681568   AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
r9191r9192
16891689   AM_RANGE(0x300000, 0x30000d) AM_DEVREADWRITE("gp9001vdp0", gp9001_vdp_r, gp9001_vdp_w)
16901690   AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
16911691   AM_RANGE(0x500000, 0x500003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff)
1692   AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
1692   AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
16931693   AM_RANGE(0x700000, 0x700001) AM_READ_PORT("JMPR")
16941694   AM_RANGE(0x700004, 0x700005) AM_READ_PORT("DSWA")
16951695   AM_RANGE(0x700008, 0x700009) AM_READ_PORT("DSWB")
r9191r9192
18411841   AM_RANGE(0x0000, 0xbfff) AM_ROM
18421842   AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE_MEMBER(toaplan2_state, z80_shared_ram)
18431843   AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
1844   AM_RANGE(0xe004, 0xe004) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
1844   AM_RANGE(0xe004, 0xe004) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
18451845   AM_RANGE(0xe00e, 0xe00e) AM_WRITE(toaplan2_coin_w)
18461846ADDRESS_MAP_END
18471847
r9191r9192
18511851   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
18521852   AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE_MEMBER(toaplan2_state, z80_shared_ram)
18531853   AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
1854   AM_RANGE(0xe004, 0xe004) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
1854   AM_RANGE(0xe004, 0xe004) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
18551855   AM_RANGE(0xe006, 0xe006) AM_WRITE(raizing_okim6295_bankselect_0)
18561856   AM_RANGE(0xe008, 0xe008) AM_WRITE(raizing_okim6295_bankselect_1)
18571857   AM_RANGE(0xe00a, 0xe00a) AM_WRITE(bgaregga_bankswitch_w)
r9191r9192
18771877   AM_RANGE(0x48, 0x48) AM_READ(soundlatch_r)
18781878   AM_RANGE(0x4a, 0x4a) AM_READ(soundlatch2_r)
18791879   AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
1880   AM_RANGE(0x82, 0x82) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
1881   AM_RANGE(0x84, 0x84) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
1880   AM_RANGE(0x82, 0x82) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
1881   AM_RANGE(0x84, 0x84) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
18821882   AM_RANGE(0x88, 0x88) AM_WRITE(batrider_bankswitch_w)
18831883   AM_RANGE(0xc0, 0xc0) AM_WRITE(raizing_okim6295_bankselect_0)
18841884   AM_RANGE(0xc2, 0xc2) AM_WRITE(raizing_okim6295_bankselect_1)
r9191r9192
19211921//  AM_RANGE(0x00000, 0x03fff) AM_ROM
19221922//  AM_RANGE(0x00000, 0x007ff) AM_RAM                           /* External shared RAM (Banked) */
19231923   AM_RANGE(0x04000, 0x04001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
1924   AM_RANGE(0x04002, 0x04002) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
1924   AM_RANGE(0x04002, 0x04002) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
19251925//  AM_RANGE(0x04004, 0x04004) AM_DEVWRITE("oki", oki_bankswitch_w)
19261926   AM_RANGE(0x04008, 0x04008) AM_READ_PORT("IN1")
19271927   AM_RANGE(0x0400a, 0x0400a) AM_READ_PORT("IN2")
r9191r9192
37663766};
37673767
37683768
3769static MACHINE_DRIVER_START( tekipaki )
3769static MACHINE_CONFIG_START( tekipaki, toaplan2_state )
37703770
3771   /* driver data */
3772   MDRV_DRIVER_DATA(toaplan2_state)
3773
37743771   /* basic machine hardware */
37753772   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)         /* 10MHz Oscillator */
37763773   MDRV_CPU_PROGRAM_MAP(tekipaki_68k_mem)
r9191r9192
38093806   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_27MHz/8)
38103807   MDRV_SOUND_CONFIG(ym3812_config)
38113808   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
3812MACHINE_DRIVER_END
3809MACHINE_CONFIG_END
38133810
38143811
3815static MACHINE_DRIVER_START( ghox )
3812static MACHINE_CONFIG_START( ghox, toaplan2_state )
38163813
3817   /* driver data */
3818   MDRV_DRIVER_DATA(toaplan2_state)
3819
38203814   /* basic machine hardware */
38213815   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)         /* verified on pcb */
38223816   MDRV_CPU_PROGRAM_MAP(ghox_68k_mem)
r9191r9192
38523846
38533847   MDRV_SOUND_ADD("ymsnd", YM2151, XTAL_27MHz/8) /* verified on pcb */
38543848   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
3855MACHINE_DRIVER_END
3849MACHINE_CONFIG_END
38563850
38573851/* x = modified to match batsugun 'unencrypted' code */
38583852
r9191r9192
38803874
38813875static const nec_config ts002mach_config ={ ts002mach_decryption_table, };
38823876
3883static MACHINE_DRIVER_START( dogyuun )
3877static MACHINE_CONFIG_START( dogyuun, toaplan2_state )
38843878
3885   /* driver data */
3886   MDRV_DRIVER_DATA(toaplan2_state)
3887
38883879   /* basic machine hardware */
38893880   MDRV_CPU_ADD("maincpu", M68000, XTAL_25MHz/2)         /* verified on pcb */
38903881   MDRV_CPU_PROGRAM_MAP(dogyuun_68k_mem)
r9191r9192
39333924
39343925   MDRV_OKIM6295_ADD("oki", XTAL_25MHz/24, OKIM6295_PIN7_HIGH) /* verified on pcb */
39353926   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
3936MACHINE_DRIVER_END
3927MACHINE_CONFIG_END
39373928
39383929/* x = modified to match batsugun 'unencrypted' code - '?' likewise, but not so sure about them
39393930  '!' = code stops being the same as batsugun at this point, might be wrong
r9191r9192
39843975
39853976
39863977
3987static MACHINE_DRIVER_START( kbash )
3978static MACHINE_CONFIG_START( kbash, toaplan2_state )
39883979
3989   /* driver data */
3990   MDRV_DRIVER_DATA(toaplan2_state)
3991
39923980   /* basic machine hardware */
39933981   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)         /* 16MHz Oscillator */
39943982   MDRV_CPU_PROGRAM_MAP(kbash_68k_mem)
r9191r9192
40294017
40304018   MDRV_OKIM6295_ADD("oki", XTAL_32MHz/32, OKIM6295_PIN7_HIGH)
40314019   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4032MACHINE_DRIVER_END
4020MACHINE_CONFIG_END
40334021
40344022
4035static MACHINE_DRIVER_START( kbash2 )
4023static MACHINE_CONFIG_START( kbash2, toaplan2_state )
40364024
4037   /* driver data */
4038   MDRV_DRIVER_DATA(toaplan2_state)
4039
40404025   /* basic machine hardware */
40414026   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)         /* 16MHz Oscillator */
40424027   MDRV_CPU_PROGRAM_MAP(kbash2_68k_mem)
r9191r9192
40704055
40714056   MDRV_OKIM6295_ADD("oki2", XTAL_16MHz/16, OKIM6295_PIN7_HIGH)
40724057   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4073MACHINE_DRIVER_END
4058MACHINE_CONFIG_END
40744059
40754060
4076static MACHINE_DRIVER_START( truxton2 )
4061static MACHINE_CONFIG_START( truxton2, toaplan2_state )
40774062
4078   /* driver data */
4079   MDRV_DRIVER_DATA(toaplan2_state)
4080
40814063   /* basic machine hardware */
40824064   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)         /* verified on pcb */
40834065   MDRV_CPU_PROGRAM_MAP(truxton2_68k_mem)
r9191r9192
41114093
41124094   MDRV_OKIM6295_ADD("oki", XTAL_16MHz/4, OKIM6295_PIN7_LOW) /* verified on pcb */
41134095   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4114MACHINE_DRIVER_END
4096MACHINE_CONFIG_END
41154097
41164098
4117static MACHINE_DRIVER_START( pipibibs )
4099static MACHINE_CONFIG_START( pipibibs, toaplan2_state )
41184100
4119   /* driver data */
4120   MDRV_DRIVER_DATA(toaplan2_state)
4121
41224101   /* basic machine hardware */
41234102   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)         /* verified on pcb */
41244103   MDRV_CPU_PROGRAM_MAP(pipibibs_68k_mem)
r9191r9192
41554134   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_27MHz/8)         /* verified on pcb */
41564135   MDRV_SOUND_CONFIG(ym3812_config)
41574136   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4158MACHINE_DRIVER_END
4137MACHINE_CONFIG_END
41594138
41604139
4161static MACHINE_DRIVER_START( whoopee )
4140static MACHINE_CONFIG_START( whoopee, toaplan2_state )
41624141
4163   /* driver data */
4164   MDRV_DRIVER_DATA(toaplan2_state)
4165
41664142   /* basic machine hardware */
41674143   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)         /* 10MHz Oscillator */
41684144   MDRV_CPU_PROGRAM_MAP(tekipaki_68k_mem)
r9191r9192
41994175   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_27MHz/8)
42004176   MDRV_SOUND_CONFIG(ym3812_config)
42014177   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4202MACHINE_DRIVER_END
4178MACHINE_CONFIG_END
42034179
42044180
4205static MACHINE_DRIVER_START( pipibibi_bootleg )
4181static MACHINE_CONFIG_START( pipibibi_bootleg, toaplan2_state )
42064182
4207   /* driver data */
4208   MDRV_DRIVER_DATA(toaplan2_state)
4209
42104183   /* basic machine hardware */
42114184   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)         /* 10MHz Oscillator */
42124185   MDRV_CPU_PROGRAM_MAP(pipibibi_bootleg_68k_mem)
r9191r9192
42434216   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_27MHz/8)
42444217   MDRV_SOUND_CONFIG(ym3812_config)
42454218   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4246MACHINE_DRIVER_END
4219MACHINE_CONFIG_END
42474220
42484221/* x = modified to match batsugun 'unencrypted' code - '?' likewise, but not so sure about them */
42494222/* this one seems more different to the other tables */
r9191r9192
42724245static const nec_config ts001turbo_config ={ ts001turbo_decryption_table, };
42734246
42744247
4275static MACHINE_DRIVER_START( fixeight )
4248static MACHINE_CONFIG_START( fixeight, toaplan2_state )
42764249
4277   /* driver data */
4278   MDRV_DRIVER_DATA(toaplan2_state)
4279
42804250   /* basic machine hardware */
42814251   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)         /* verified on pcb */
42824252   MDRV_CPU_PROGRAM_MAP(fixeight_68k_mem)
r9191r9192
43184288
43194289   MDRV_OKIM6295_ADD("oki", XTAL_16MHz/16, OKIM6295_PIN7_HIGH) /* verified on pcb */
43204290   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4321MACHINE_DRIVER_END
4291MACHINE_CONFIG_END
43224292
43234293
4324static MACHINE_DRIVER_START( fixeighb )
4294static MACHINE_CONFIG_START( fixeighb, toaplan2_state )
43254295
4326   /* driver data */
4327   MDRV_DRIVER_DATA(toaplan2_state)
4328
43294296   /* basic machine hardware */
43304297   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)         /* 10MHz Oscillator */
43314298   MDRV_CPU_PROGRAM_MAP(fixeighb_68k_mem)
r9191r9192
43564323
43574324   MDRV_OKIM6295_ADD("oki", XTAL_14MHz/16, OKIM6295_PIN7_LOW)
43584325   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4359MACHINE_DRIVER_END
4326MACHINE_CONFIG_END
43604327
43614328/* according to the comments this chip has the same markings as the Batsugun chip,
43624329   maybe they double map some opcodes on it and recycled the chips using unencrypted ones
r9191r9192
43904357static const nec_config ts007spy_vfive_config ={ ts007spy_vfive_decryption_table, };
43914358
43924359
4393static MACHINE_DRIVER_START( vfive )
4360static MACHINE_CONFIG_START( vfive, toaplan2_state )
43944361
4395   /* driver data */
4396   MDRV_DRIVER_DATA(toaplan2_state)
4397
43984362   /* basic machine hardware */
43994363   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz/2)   /* verified on pcb */
44004364   MDRV_CPU_PROGRAM_MAP(vfive_68k_mem)
r9191r9192
44294393
44304394   MDRV_SOUND_ADD("ymsnd", YM2151, XTAL_27MHz/8) /* verified on pcb */
44314395   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4432MACHINE_DRIVER_END
4396MACHINE_CONFIG_END
44334397
44344398static MACHINE_RESET(batsugun)
44354399{
r9191r9192
44854449   "oki1", "oki2", 0
44864450};
44874451
4488static MACHINE_DRIVER_START( batsugun )
4452static MACHINE_CONFIG_START( batsugun, toaplan2_state )
44894453
4490   /* driver data */
4491   MDRV_DRIVER_DATA(toaplan2_state)
4492
44934454   /* basic machine hardware */
44944455   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz/2)         /* 16MHz , 32MHz Oscillator */
44954456   MDRV_CPU_PROGRAM_MAP(batsugun_68k_mem)
r9191r9192
45414502
45424503   MDRV_OKIM6295_ADD("oki", XTAL_32MHz/8, OKIM6295_PIN7_LOW)
45434504   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4544MACHINE_DRIVER_END
4505MACHINE_CONFIG_END
45454506
45464507
4547static MACHINE_DRIVER_START( snowbro2 )
4508static MACHINE_CONFIG_START( snowbro2, toaplan2_state )
45484509
4549   /* driver data */
4550   MDRV_DRIVER_DATA(toaplan2_state)
4551
45524510   /* basic machine hardware */
45534511   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
45544512   MDRV_CPU_PROGRAM_MAP(snowbro2_68k_mem)
r9191r9192
45824540
45834541   MDRV_OKIM6295_ADD("oki", XTAL_27MHz/10, OKIM6295_PIN7_HIGH)
45844542   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4585MACHINE_DRIVER_END
4543MACHINE_CONFIG_END
45864544
45874545
4588static MACHINE_DRIVER_START( mahoudai )
4546static MACHINE_CONFIG_START( mahoudai, toaplan2_state )
45894547
4590   /* driver data */
4591   MDRV_DRIVER_DATA(toaplan2_state)
4592
45934548   /* basic machine hardware */
45944549   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz/2)      /* 16MHz , 32MHz Oscillator */
45954550   MDRV_CPU_PROGRAM_MAP(mahoudai_68k_mem)
r9191r9192
46284583
46294584   MDRV_OKIM6295_ADD("oki", XTAL_32MHz/32, OKIM6295_PIN7_HIGH)
46304585   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4631MACHINE_DRIVER_END
4586MACHINE_CONFIG_END
46324587
46334588
4634static MACHINE_DRIVER_START( shippumd )
4589static MACHINE_CONFIG_START( shippumd, toaplan2_state )
46354590
4636   /* driver data */
4637   MDRV_DRIVER_DATA(toaplan2_state)
4638
46394591   /* basic machine hardware */
46404592   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz/2)      /* 16MHz , 32MHz Oscillator */
46414593   MDRV_CPU_PROGRAM_MAP(shippumd_68k_mem)
r9191r9192
46744626
46754627   MDRV_OKIM6295_ADD("oki", XTAL_32MHz/32, OKIM6295_PIN7_HIGH)
46764628   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4677MACHINE_DRIVER_END
4629MACHINE_CONFIG_END
46784630
46794631
4680static MACHINE_DRIVER_START( bgaregga )
4632static MACHINE_CONFIG_START( bgaregga, toaplan2_state )
46814633
4682   /* driver data */
4683   MDRV_DRIVER_DATA(toaplan2_state)
4684
46854634   /* basic machine hardware */
46864635   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz/2)      /* 16MHz , 32MHz Oscillator */
46874636   MDRV_CPU_PROGRAM_MAP(bgaregga_68k_mem)
r9191r9192
47224671   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
47234672
47244673   MDRV_NMK112_ADD("nmk112", bgaregga_nmk112_intf)
4725MACHINE_DRIVER_END
4674MACHINE_CONFIG_END
47264675
47274676
4728static MACHINE_DRIVER_START( batrider )
4677static MACHINE_CONFIG_START( batrider, toaplan2_state )
47294678
4730   /* driver data */
4731   MDRV_DRIVER_DATA(toaplan2_state)
4732
47334679   /* basic machine hardware */
47344680   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz/2)      /* 16MHz , 32MHz Oscillator */
47354681   MDRV_CPU_PROGRAM_MAP(batrider_68k_mem)
r9191r9192
47734719   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
47744720
47754721   MDRV_NMK112_ADD("nmk112", batrider_nmk112_intf)
4776MACHINE_DRIVER_END
4722MACHINE_CONFIG_END
47774723
4778static MACHINE_DRIVER_START( bbakraid )
4724static MACHINE_CONFIG_START( bbakraid, toaplan2_state )
47794725
4780   /* driver data */
4781   MDRV_DRIVER_DATA(toaplan2_state)
4782
47834726   /* basic machine hardware */
47844727   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz/2)      /* 16MHz , 32MHz Oscillator */
47854728   MDRV_CPU_PROGRAM_MAP(bbakraid_68k_mem)
r9191r9192
48194762   MDRV_SOUND_CONFIG(ymz280b_config)
48204763   MDRV_SOUND_ROUTE(0, "mono", 1.0)
48214764   MDRV_SOUND_ROUTE(1, "mono", 1.0)
4822MACHINE_DRIVER_END
4765MACHINE_CONFIG_END
48234766
4824static MACHINE_DRIVER_START( bbakradu )
4825   MDRV_IMPORT_FROM(bbakraid)
4767static MACHINE_CONFIG_DERIVED( bbakradu, bbakraid )
48264768
48274769   MDRV_DEVICE_REMOVE("eeprom")
48284770   MDRV_EEPROM_ADD("eeprom", bbakraid_93C66_intf)
48294771   MDRV_EEPROM_DATA(bbakraid_unlim_default, 512)
4830MACHINE_DRIVER_END
4772MACHINE_CONFIG_END
48314773
48324774
48334775/***************************************************************************
src/mame/drivers/mjkjidai.c
r9191r9192
372372GFXDECODE_END
373373
374374
375static MACHINE_DRIVER_START( mjkjidai )
375static MACHINE_CONFIG_START( mjkjidai, mjkjidai_state )
376376
377   MDRV_DRIVER_DATA(mjkjidai_state)
378
379377   /* basic machine hardware */
380378   MDRV_CPU_ADD("maincpu", Z80,10000000/2)   /* 5 MHz ??? */
381379   MDRV_CPU_PROGRAM_MAP(mjkjidai_map)
r9191r9192
410408
411409   MDRV_SOUND_ADD("adpcm", MJKJIDAI, 6000)
412410   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
413MACHINE_DRIVER_END
411MACHINE_CONFIG_END
414412
415413
416414
src/mame/drivers/jailbrek.c
r9191r9192
251251   state->nmi_enable = 0;
252252}
253253
254static MACHINE_DRIVER_START( jailbrek )
254static MACHINE_CONFIG_START( jailbrek, jailbrek_state )
255255
256   /* driver data */
257   MDRV_DRIVER_DATA(jailbrek_state)
258
259256   /* basic machine hardware */
260257   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/12)
261258   MDRV_CPU_PROGRAM_MAP(jailbrek_map)
r9191r9192
285282
286283   MDRV_SOUND_ADD("vlm", VLM5030, VOICE_CLOCK)
287284   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
288MACHINE_DRIVER_END
285MACHINE_CONFIG_END
289286
290287
291288/***************************************************************************
src/mame/drivers/gaelco.c
r9191r9192
131131
132132static ADDRESS_MAP_START( bigkarnk_snd_map, ADDRESS_SPACE_PROGRAM, 8 )
133133   AM_RANGE(0x0000, 0x07ff) AM_RAM                                 /* RAM */
134   AM_RANGE(0x0800, 0x0801) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)   /* OKI6295 */
134   AM_RANGE(0x0800, 0x0801) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)   /* OKI6295 */
135135//  AM_RANGE(0x0900, 0x0900) AM_WRITENOP                                    /* enable sound output? */
136136   AM_RANGE(0x0a00, 0x0a01) AM_DEVREADWRITE("ymsnd", ym3812_r, ym3812_w)      /* YM3812 */
137137   AM_RANGE(0x0b00, 0x0b00) AM_READ(soundlatch_r)                     /* Sound latch */
r9191r9192
151151   AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
152152   AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
153153   AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w)                              /* OKI6295 bankswitch */
154   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)                  /* OKI6295 status register */
154   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)                  /* OKI6295 status register */
155155   AM_RANGE(0xff0000, 0xffffff) AM_RAM                                             /* Work RAM */
156156ADDRESS_MAP_END
157157
r9191r9192
168168   AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
169169   AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
170170   AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w)                              /* OKI6295 bankswitch */
171   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)                  /* OKI6295 status register */
171   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)                  /* OKI6295 status register */
172172   AM_RANGE(0xff0000, 0xffffff) AM_RAM                                             /* Work RAM */
173173ADDRESS_MAP_END
174174
r9191r9192
185185   AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
186186   AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
187187   AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w)                              /* OKI6295 bankswitch */
188   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)                  /* OKI6295 status register */
188   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)                  /* OKI6295 status register */
189189   AM_RANGE(0xff0000, 0xffffff) AM_RAM                                             /* Work RAM */
190190ADDRESS_MAP_END
191191
r9191r9192
497497   state->audiocpu = machine->device("audiocpu");
498498}
499499
500static MACHINE_DRIVER_START( bigkarnk )
500static MACHINE_CONFIG_START( bigkarnk, gaelco_state )
501501
502   /* driver data */
503   MDRV_DRIVER_DATA(gaelco_state)
504
505502   /* basic machine hardware */
506503   MDRV_CPU_ADD("maincpu", M68000, 10000000)   /* MC68000P10, 10 MHz */
507504   MDRV_CPU_PROGRAM_MAP(bigkarnk_map)
r9191r9192
536533
537534   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
538535   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
539MACHINE_DRIVER_END
536MACHINE_CONFIG_END
540537
541static MACHINE_DRIVER_START( maniacsq )
538static MACHINE_CONFIG_START( maniacsq, gaelco_state )
542539
543   /* driver data */
544   MDRV_DRIVER_DATA(gaelco_state)
545
546540   /* basic machine hardware */
547541   MDRV_CPU_ADD("maincpu", M68000,24000000/2)         /* 12 MHz */
548542   MDRV_CPU_PROGRAM_MAP(maniacsq_map)
r9191r9192
569563
570564   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
571565   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
572MACHINE_DRIVER_END
566MACHINE_CONFIG_END
573567
574static MACHINE_DRIVER_START( squash )
568static MACHINE_CONFIG_START( squash, gaelco_state )
575569
576   /* driver data */
577   MDRV_DRIVER_DATA(gaelco_state)
578
579570   /* basic machine hardware */
580571   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* MC68000P12, 12 MHz */
581572   MDRV_CPU_PROGRAM_MAP(squash_map)
r9191r9192
604595
605596   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
606597   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
607MACHINE_DRIVER_END
598MACHINE_CONFIG_END
608599
609static MACHINE_DRIVER_START( thoop )
600static MACHINE_CONFIG_START( thoop, gaelco_state )
610601
611   /* driver data */
612   MDRV_DRIVER_DATA(gaelco_state)
613
614602   /* basic machine hardware */
615603   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* MC68000P12, 12 MHz */
616604   MDRV_CPU_PROGRAM_MAP(thoop_map)
r9191r9192
639627
640628   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
641629   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
642MACHINE_DRIVER_END
630MACHINE_CONFIG_END
643631
644632
645633/*************************************
src/mame/drivers/wecleman.c
r9191r9192
277277#include "cpu/m6809/m6809.h"
278278#include "sound/2151intf.h"
279279#include "sound/k007232.h"
280
281280#include "wecleman.lh"
281#include "includes/wecleman.h"
282282
283283/* Variables only used here: */
284284static UINT16 *blitter_regs;
r9191r9192
289289/* Variables that video has acces to: */
290290int wecleman_selected_ip, wecleman_irqctrl;
291291
292/* Variables defined in video: */
293extern UINT16 *wecleman_videostatus;
294extern UINT16 *wecleman_pageram, *wecleman_txtram, *wecleman_roadram;
295extern size_t wecleman_roadram_size;
296
297/* Functions defined in video: */
298WRITE16_HANDLER( hotchase_paletteram16_SBGRBBBBGGGGRRRR_word_w );
299WRITE16_HANDLER( wecleman_paletteram16_SSSSBBBBGGGGRRRR_word_w );
300WRITE16_HANDLER( wecleman_videostatus_w );
301WRITE16_HANDLER( wecleman_pageram_w );
302WRITE16_HANDLER( wecleman_txtram_w );
303VIDEO_UPDATE( wecleman );
304VIDEO_START( wecleman );
305VIDEO_UPDATE( hotchase );
306VIDEO_START( hotchase );
307
308extern void hotchase_zoom_callback_0(running_machine *machine, int *code,int *color,int *flags);
309extern void hotchase_zoom_callback_1(running_machine *machine, int *code,int *color,int *flags);
310
311292/***************************************************************************
312293                            Common Routines
313294***************************************************************************/
r9191r9192
10521033   k007232_set_bank( machine->device("konami"), 0, 1 );
10531034}
10541035
1055static MACHINE_DRIVER_START( wecleman )
1036static MACHINE_CONFIG_START( wecleman, driver_device )
10561037
10571038   /* basic machine hardware */
10581039   MDRV_CPU_ADD("maincpu", M68000, 10000000)   /* Schems show 10MHz */
r9191r9192
10951076   MDRV_SOUND_ADD("konami", K007232, 3579545)
10961077   MDRV_SOUND_ROUTE(0, "mono", 0.20)
10971078   MDRV_SOUND_ROUTE(1, "mono", 0.20)
1098MACHINE_DRIVER_END
1079MACHINE_CONFIG_END
10991080
11001081
11011082/***************************************************************************
r9191r9192
11231104   hotchase_zoom_callback_1
11241105};
11251106
1126static MACHINE_DRIVER_START( hotchase )
1107static MACHINE_CONFIG_START( hotchase, driver_device )
11271108
11281109   /* basic machine hardware */
11291110   MDRV_CPU_ADD("maincpu", M68000, 10000000)   /* 10 MHz - PCB is drawn in one set's readme */
r9191r9192
11721153   MDRV_SOUND_ADD("konami3", K007232, 3579545)
11731154   MDRV_SOUND_ROUTE(0, "mono", 0.20)
11741155   MDRV_SOUND_ROUTE(1, "mono", 0.20)
1175MACHINE_DRIVER_END
1156MACHINE_CONFIG_END
11761157
11771158
11781159/***************************************************************************
src/mame/drivers/crbaloon.c
r9191r9192
358358 *
359359 *************************************/
360360
361static MACHINE_DRIVER_START( crbaloon )
361static MACHINE_CONFIG_START( crbaloon, driver_device )
362362
363363   /* basic machine hardware */
364364   MDRV_CPU_ADD("maincpu", Z80, CRBALOON_MASTER_XTAL / 3)
r9191r9192
385385   MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
386386
387387   /* audio hardware */
388   MDRV_IMPORT_FROM(crbaloon_audio)
388   MDRV_FRAGMENT_ADD(crbaloon_audio)
389389
390MACHINE_DRIVER_END
390MACHINE_CONFIG_END
391391
392392
393393
src/mame/drivers/dmndrby.c
r9191r9192
5252#include "emu.h"
5353#include "cpu/z80/z80.h"
5454#include "sound/ay8910.h"
55#include "machine/nvram.h"
5556#include "video/resnet.h"
5657
5758static UINT8* dderby_vidchars;
r9191r9192
105106
106107static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
107108   AM_RANGE(0x0000, 0x5fff) AM_ROM
108   AM_RANGE(0x8000, 0x8fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
109   AM_RANGE(0x8000, 0x8fff) AM_RAM AM_SHARE("nvram")
109110   AM_RANGE(0xc000, 0xc007) AM_READ(input_r)
110111   AM_RANGE(0xc000, 0xc007) AM_WRITE(output_w)
111112   AM_RANGE(0xc802, 0xc802) AM_READ_PORT("DSW1")
r9191r9192
179180   PORT_BIT( 0xf5, IP_ACTIVE_LOW, IPT_UNUSED )
180181
181182   PORT_START("DSW1")
182   PORT_DIPNAME( 0x01, 0x01, " Unknown 1")
183   PORT_DIPNAME( 0x01, 0x01, " Unknown 1-1")
183184   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
184185   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
185   PORT_DIPNAME( 0x08, 0x08, " Unknown 2" )
186   PORT_DIPNAME( 0x08, 0x08, " Unknown 1-2" )
186187   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
187188   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
188189   PORT_DIPNAME( 0x06, 0x00, "Max Prize" )
r9191r9192
209210   PORT_DIPNAME( 0x01, 0x01, "Show Results")
210211   PORT_DIPSETTING(    0x01, "Last Race" )
211212   PORT_DIPSETTING(    0x00, "Last 6 Races" )
212   PORT_DIPNAME( 0x02, 0x02, " Unknown 2" )
213   PORT_DIPNAME( 0x02, 0x02, " Unknown 2-2" )
213214   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
214215   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
215   PORT_DIPNAME( 0x04, 0x04, " Unknown 3" )
216   PORT_DIPNAME( 0x04, 0x04, " Unknown 2-3" )
216217   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
217218   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
218   PORT_DIPNAME( 0x08, 0x08, " Unknown 4" )
219   PORT_DIPNAME( 0x08, 0x08, " Unknown 2-4" )
219220   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
220221   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
221   PORT_DIPNAME( 0x10, 0x10, " Unknown 5")
222   PORT_DIPNAME( 0x10, 0x10, " Unknown 2-5")
222223   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
223224   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
224   PORT_DIPNAME( 0x20, 0x20, " Unknown 6" )
225   PORT_DIPNAME( 0x20, 0x20, " Unknown 2-6" )
225226   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
226227   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
227   PORT_DIPNAME( 0x40, 0x40, " Unknown 7" )
228   PORT_DIPNAME( 0x40, 0x40, " Unknown 2-7" )
228229   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
229230   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
230   PORT_DIPNAME( 0x80, 0x80, " Unknown 8" )
231   PORT_DIPNAME( 0x80, 0x80, " Unknown 2-8" )
231232   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
232233   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
233234INPUT_PORTS_END
r9191r9192
248249   PORT_DIPSETTING(    0x08, "80%" )
249250   PORT_DIPSETTING(    0x10, "84%" )
250251   PORT_DIPSETTING(    0x18, "88%" )
251   PORT_DIPNAME( 0x20, 0x20, " Unknown 2" )
252   PORT_DIPNAME( 0x20, 0x20, " Unknown 1-2" )
252253   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
253254   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
254   PORT_DIPNAME( 0x40, 0x40, " Unknown 3" )
255   PORT_DIPNAME( 0x40, 0x40, " Unknown 1-3" )
255256   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
256257   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
257   PORT_DIPNAME( 0x80, 0x80, " Unknown 4" )
258   PORT_DIPNAME( 0x80, 0x80, " Unknown 1-4" )
258259   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
259260   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
260261INPUT_PORTS_END
r9191r9192
486487   cputag_set_input_line_and_vector(device->machine, "maincpu", 0, HOLD_LINE, 0xcf); /* RST 08h */
487488}
488489
489static MACHINE_DRIVER_START( dderby )
490static MACHINE_CONFIG_START( dderby, driver_device )
490491   /* basic machine hardware */
491492   MDRV_CPU_ADD("maincpu", Z80,4000000)       /* ? MHz */
492493   MDRV_CPU_PROGRAM_MAP(memmap)
r9191r9192
497498   MDRV_CPU_PROGRAM_MAP(dderby_sound_map)
498499
499500   MDRV_QUANTUM_TIME(HZ(6000))
500   MDRV_NVRAM_HANDLER(generic_0fill)
501   MDRV_NVRAM_ADD_0FILL("nvram")
501502
502503   /* video hardware */
503504   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
518519
519520   MDRV_SOUND_ADD("ay1", AY8910, 1789750) // frequency guessed
520521   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
521MACHINE_DRIVER_END
522MACHINE_CONFIG_END
522523
523524
524525ROM_START( dmndrby )
src/mame/drivers/portrait.c
r9191r9192
8787#include "cpu/z80/z80.h"
8888#include "cpu/mcs48/mcs48.h"
8989#include "sound/tms5220.h"
90#include "machine/nvram.h"
91#include "includes/portrait.h"
9092
91extern PALETTE_INIT(portrait);
92
93extern UINT8 *portrait_bgvideoram,*portrait_fgvideoram;
94
95extern int portrait_scroll;
96
97//PALETTE_INIT( portrait );
98VIDEO_START( portrait );
99VIDEO_UPDATE( portrait );
100WRITE8_HANDLER( portrait_bgvideo_write );
101WRITE8_HANDLER( portrait_fgvideo_write );
102
10393static WRITE8_HANDLER( portrait_ctrl_w )
10494{
10595   /* bits 4 and 5 are unknown */
r9191r9192
140130   AM_RANGE(0xa010, 0xa010) AM_READ_PORT("INPUTS")
141131   AM_RANGE(0xa018, 0xa018) AM_READNOP AM_WRITE(portrait_positive_scroll_w)
142132   AM_RANGE(0xa019, 0xa019) AM_WRITE(portrait_negative_scroll_w)
143   AM_RANGE(0xa800, 0xa83f) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
133   AM_RANGE(0xa800, 0xa83f) AM_RAM AM_SHARE("nvram")
144134   AM_RANGE(0xffff, 0xffff) AM_READNOP
145135ADDRESS_MAP_END
146136
r9191r9192
250240   GFXDECODE_ENTRY( "gfx1", 0x00000, tile_layout, 0, 0x800/8 )
251241GFXDECODE_END
252242
253static MACHINE_DRIVER_START( portrait )
243static MACHINE_CONFIG_START( portrait, driver_device )
254244   MDRV_CPU_ADD("maincpu", Z80, 4000000)     /* 4 MHz ? */
255245   MDRV_CPU_PROGRAM_MAP(portrait_map)
256246   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
r9191r9192
259249   MDRV_CPU_PROGRAM_MAP(portrait_sound_map)
260250
261251
262   MDRV_NVRAM_HANDLER(generic_0fill)
252   MDRV_NVRAM_ADD_0FILL("nvram")
263253
264254   MDRV_SCREEN_ADD("screen", RASTER)
265255   MDRV_SCREEN_REFRESH_RATE(50)
r9191r9192
280270
281271   MDRV_SOUND_ADD("tms", TMS5200, 640000)
282272   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
283MACHINE_DRIVER_END
273MACHINE_CONFIG_END
284274
285275
286276ROM_START( portrait )
src/mame/drivers/munchmo.c
r9191r9192
328328   state->which = 0;
329329}
330330
331static MACHINE_DRIVER_START( mnchmobl )
331static MACHINE_CONFIG_START( mnchmobl, munchmo_state )
332332
333   /* driver data */
334   MDRV_DRIVER_DATA(munchmo_state)
335
336333   /* basic machine hardware */
337334   MDRV_CPU_ADD("maincpu", Z80, XTAL_15MHz/4) /* ? */
338335   MDRV_CPU_PROGRAM_MAP(mnchmobl_map)
r9191r9192
369366
370367   MDRV_SOUND_ADD("ay2", AY8910, XTAL_15MHz/4/2)
371368   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
372MACHINE_DRIVER_END
369MACHINE_CONFIG_END
373370
374371
375372/*************************************
src/mame/drivers/funkybee.c
r9191r9192
292292   state->gfx_bank = 0;
293293}
294294
295static MACHINE_DRIVER_START( funkybee )
295static MACHINE_CONFIG_START( funkybee, funkybee_state )
296296
297   /* driver data */
298   MDRV_DRIVER_DATA(funkybee_state)
299
300297   /* basic machine hardware */
301298   MDRV_CPU_ADD("maincpu", Z80, 3072000)   /* 3.072 MHz */
302299   MDRV_CPU_PROGRAM_MAP(funkybee_map)
r9191r9192
327324   MDRV_SOUND_ADD("aysnd", AY8910, 1500000)
328325   MDRV_SOUND_CONFIG(ay8910_config)
329326   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
330MACHINE_DRIVER_END
327MACHINE_CONFIG_END
331328
332329
333330/***************************************************************************
src/mame/drivers/btoads.c
r9191r9192
1212#include "video/tlc34076.h"
1313#include "includes/btoads.h"
1414#include "sound/bsmt2000.h"
15#include "machine/nvram.h"
1516
1617
1718#define CPU_CLOCK         XTAL_64MHz
r9191r9192
193194   AM_RANGE(0x20000380, 0x200003ff) AM_READWRITE(main_sound_r, main_sound_w)
194195   AM_RANGE(0x20000400, 0x2000047f) AM_WRITE(btoads_misc_control_w)
195196   AM_RANGE(0x40000000, 0x4000000f) AM_WRITENOP   /* watchdog? */
196   AM_RANGE(0x60000000, 0x6003ffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
197   AM_RANGE(0x60000000, 0x6003ffff) AM_RAM AM_SHARE("nvram")
197198   AM_RANGE(0xa0000000, 0xa03fffff) AM_READWRITE(btoads_vram_fg_display_r, btoads_vram_fg_display_w) AM_BASE(&btoads_vram_fg0)
198199   AM_RANGE(0xa4000000, 0xa43fffff) AM_READWRITE(btoads_vram_fg_draw_r, btoads_vram_fg_draw_w) AM_BASE(&btoads_vram_fg1)
199200   AM_RANGE(0xa8000000, 0xa87fffff) AM_RAM AM_BASE(&btoads_vram_fg_data)
r9191r9192
331332 *
332333 *************************************/
333334
334static MACHINE_DRIVER_START( btoads )
335static MACHINE_CONFIG_START( btoads, driver_device )
335336
336337   MDRV_CPU_ADD("maincpu", TMS34020, CPU_CLOCK/2)
337338   MDRV_CPU_CONFIG(tms_config)
r9191r9192
343344   MDRV_CPU_PERIODIC_INT(irq0_line_assert, 183)
344345
345346   MDRV_MACHINE_START(btoads)
346   MDRV_NVRAM_HANDLER(generic_1fill)
347   MDRV_NVRAM_ADD_1FILL("nvram")
347348
348349   /* video hardware */
349350   MDRV_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
r9191r9192
361362   MDRV_SOUND_ADD("bsmt", BSMT2000, SOUND_CLOCK)
362363   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
363364   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
364MACHINE_DRIVER_END
365MACHINE_CONFIG_END
365366
366367
367368
src/mame/drivers/lastduel.c
r9191r9192
185185   AM_RANGE(0xd000, 0xd7ff) AM_RAM
186186   AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ym1", ym2203_r,ym2203_w)
187187   AM_RANGE(0xf002, 0xf003) AM_DEVREADWRITE("ym2", ym2203_r,ym2203_w)
188   AM_RANGE(0xf004, 0xf004) AM_DEVWRITE("oki", okim6295_w)
188   AM_RANGE(0xf004, 0xf004) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
189189   AM_RANGE(0xf006, 0xf006) AM_READ(soundlatch_r)
190190   AM_RANGE(0xf00a, 0xf00a) AM_WRITE(mg_bankswitch_w)
191191ADDRESS_MAP_END
r9191r9192
502502      state->scroll[i] = 0;
503503}
504504
505static MACHINE_DRIVER_START( lastduel )
505static MACHINE_CONFIG_START( lastduel, lastduel_state )
506506
507   /* driver data */
508   MDRV_DRIVER_DATA(lastduel_state)
509
510507   /* basic machine hardware */
511508   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* Could be 8 MHz */
512509   MDRV_CPU_PROGRAM_MAP(lastduel_map)
r9191r9192
544541
545542   MDRV_SOUND_ADD("ym2", YM2203, 3579545)
546543   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
547MACHINE_DRIVER_END
544MACHINE_CONFIG_END
548545
549546
550static MACHINE_DRIVER_START( madgear )
547static MACHINE_CONFIG_START( madgear, lastduel_state )
551548
552   /* driver data */
553   MDRV_DRIVER_DATA(lastduel_state)
554
555549   /* basic machine hardware */
556550   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* Accurate */
557551   MDRV_CPU_PROGRAM_MAP(madgear_map)
r9191r9192
592586
593587   MDRV_OKIM6295_ADD("oki", XTAL_10MHz/10, OKIM6295_PIN7_HIGH) /* verified on pcb */
594588   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.98)
595MACHINE_DRIVER_END
589MACHINE_CONFIG_END
596590
597591/******************************************************************************/
598592
src/mame/drivers/cmmb.c
r9191r9192
3030#include "emu.h"
3131#include "cpu/m6502/m6502.h"
3232
33
34class cmmb_state : public driver_device
35{
36public:
37   cmmb_state(running_machine &machine, const driver_device_config_base &config)
38      : driver_device(machine, config) { }
39
40   UINT8 *videoram;
41};
42
43
3344static VIDEO_START( cmmb )
3445{
3546
r9191r9192
3748
3849static VIDEO_UPDATE( cmmb )
3950{
51   cmmb_state *state = screen->machine->driver_data<cmmb_state>();
52   UINT8 *videoram = state->videoram;
4053   const gfx_element *gfx = screen->machine->gfx[0];
4154   int count = 0x00000;
4255
r9191r9192
4760   {
4861      for (x=0;x<32;x++)
4962      {
50         int tile = screen->machine->generic.videoram.u8[count] & 0x3f;
51         int colour = (screen->machine->generic.videoram.u8[count] & 0xc0)>>6;
63         int tile = videoram[count] & 0x3f;
64         int colour = (videoram[count] & 0xc0)>>6;
5265         drawgfx_opaque(bitmap,cliprect,gfx,tile,colour,0,0,x*8,y*8);
5366
5467         count++;
r9191r9192
142155static ADDRESS_MAP_START( cmmb_map, ADDRESS_SPACE_PROGRAM, 8 )
143156   AM_RANGE(0x0000, 0x01ff) AM_RAM /* zero page address */
144157//  AM_RANGE(0x13c0, 0x13ff) AM_RAM //spriteram
145   AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_GENERIC(videoram)
158   AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_MEMBER(cmmb_state, videoram)
146159   AM_RANGE(0x2480, 0x249f) AM_RAM_WRITE(cmmb_paletteram_w) AM_BASE_GENERIC(paletteram)
147160   AM_RANGE(0x4000, 0x400f) AM_READWRITE(cmmb_input_r,cmmb_output_w) //i/o
148161   AM_RANGE(0x4900, 0x4900) AM_READ(kludge_r)
r9191r9192
156169
157170static INPUT_PORTS_START( cmmb )
158171   PORT_START("IN0")
159   PORT_DIPNAME( 0x01, 0x01, "SYSTEM" )
172   PORT_DIPNAME( 0x01, 0x01, "SYSTEM0" )
160173   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
161174   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
162175   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
r9191r9192
181194   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
182195   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
183196   PORT_START("IN1")
184   PORT_DIPNAME( 0x01, 0x01, "SYSTEM" )
197   PORT_DIPNAME( 0x01, 0x01, "SYSTEM1" )
185198   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
186199   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
187200   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
r9191r9192
206219   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
207220   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
208221   PORT_START("IN2")
209   PORT_DIPNAME( 0x01, 0x01, "SYSTEM" )
222   PORT_DIPNAME( 0x01, 0x01, "SYSTEM2" )
210223   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
211224   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
212225   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
r9191r9192
270283{
271284}
272285
273static MACHINE_DRIVER_START( cmmb )
286static MACHINE_CONFIG_START( cmmb, cmmb_state )
274287
275288   /* basic machine hardware */
276289   MDRV_CPU_ADD("maincpu",M65C02,8000000/2) // unknown clock
r9191r9192
296309//  MDRV_SPEAKER_STANDARD_MONO("mono")
297310//  MDRV_SOUND_ADD("aysnd", AY8910, 8000000/4)
298311//  MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
299MACHINE_DRIVER_END
312MACHINE_CONFIG_END
300313
301314/***************************************************************************
302315
src/mame/drivers/drgnmst.c
r9191r9192
8282
8383   switch (state->oki_control & 0x1f)
8484   {
85      case 0x12:   data = (okim6295_r(state->oki_2, 0) & 0x0f); break;
86      case 0x16:   data = (okim6295_r(state->oki_1, 0) & 0x0f); break;
85      case 0x12:   data = (state->oki_2->read(*space, 0) & 0x0f); break;
86      case 0x16:   data = (state->oki_1->read(*space, 0) & 0x0f); break;
8787      case 0x0b:
8888      case 0x0f:   data = state->snd_command; break;
8989      default:   break;
r9191r9192
172172      case 0x11:
173173//                  logerror("Writing %02x to OKI1", state->oki_command);
174174//                  logerror(", PortC=%02x, Code=%02x, Bank0=%01x, Bank1=%01x\n", state->oki_control, state->snd_command, state->oki0_bank, state->oki1_bank);
175               okim6295_w(state->oki_2, 0, state->oki_command);
175               state->oki_2->write(*space, 0, state->oki_command);
176176               break;
177177      case 0x15:
178178//                  logerror("Writing %02x to OKI0", state->oki_command);
179179//                  logerror(", PortC=%02x, Code=%02x, Bank0=%01x, Bank1=%01x\n", state->oki_control, state->snd_command, state->oki0_bank, state->oki1_bank);
180               okim6295_w(state->oki_1, 0, state->oki_command);
180               state->oki_1->write(*space, 0, state->oki_command);
181181               break;
182182      default:   break;
183183   }
r9191r9192
403403   state->oki0_bank = 0;
404404}
405405
406static MACHINE_DRIVER_START( drgnmst )
407   MDRV_DRIVER_DATA(drgnmst_state)
406static MACHINE_CONFIG_START( drgnmst, drgnmst_state )
408407
409408   MDRV_CPU_ADD("maincpu", M68000, 12000000) /* Confirmed */
410409   MDRV_CPU_PROGRAM_MAP(drgnmst_main_map)
r9191r9192
441440   MDRV_OKIM6295_ADD("oki2", 32000000/32, OKIM6295_PIN7_HIGH)
442441   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
443442   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
444MACHINE_DRIVER_END
443MACHINE_CONFIG_END
445444
446445
447446ROM_START( drgnmst )
src/mame/drivers/boxer.c
r9191r9192
2020 *
2121 *************************************/
2222
23class boxer_state : public driver_data_t
23class boxer_state : public driver_device
2424{
2525public:
26   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, boxer_state(machine)); }
26   boxer_state(running_machine &machine, const driver_device_config_base &config)
27      : driver_device(machine, config) { }
2728
28   boxer_state(running_machine &machine)
29      : driver_data_t(machine) { }
30
3129   /* memory pointers */
3230   UINT8 * tile_ram;
3331   UINT8 * sprite_ram;
r9191r9192
437435}
438436
439437
440static MACHINE_DRIVER_START(boxer)
438static MACHINE_CONFIG_START( boxer, boxer_state )
441439
442   /* driver data */
443   MDRV_DRIVER_DATA(boxer_state)
444
445440   /* basic machine hardware */
446441   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 16)
447442   MDRV_CPU_PROGRAM_MAP(boxer_map)
r9191r9192
462457   MDRV_VIDEO_UPDATE(boxer)
463458
464459   /* sound hardware */
465MACHINE_DRIVER_END
460MACHINE_CONFIG_END
466461
467462
468463/*************************************
src/mame/drivers/starfire.c
r9191r9192
261261 *
262262 *************************************/
263263
264static MACHINE_DRIVER_START( starfire )
264static MACHINE_CONFIG_START( starfire, driver_device )
265265
266266   /* basic machine hardware */
267267   MDRV_CPU_ADD("maincpu", Z80, STARFIRE_CPU_CLOCK)
r9191r9192
277277   MDRV_VIDEO_UPDATE(starfire)
278278
279279   /* audio hardware */
280MACHINE_DRIVER_END
280MACHINE_CONFIG_END
281281
282282
283283
src/mame/drivers/roul.c
r9191r9192
5050#include "cpu/z80/z80.h"
5151#include "sound/ay8910.h"
5252#include "roul.lh"
53#include "machine/nvram.h"
5354
5455#define VIDEOBUF_SIZE 256*256
5556
r9191r9192
153154
154155static ADDRESS_MAP_START( roul_map, ADDRESS_SPACE_PROGRAM, 8 )
155156   AM_RANGE(0x0000, 0x7fff) AM_ROM
156   AM_RANGE(0x8000, 0x8fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
157   AM_RANGE(0x8000, 0x8fff) AM_RAM AM_SHARE("nvram")
157158ADDRESS_MAP_END
158159
159160static ADDRESS_MAP_START( roul_cpu_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
240241   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
241242INPUT_PORTS_END
242243
243static MACHINE_DRIVER_START( roul )
244static MACHINE_CONFIG_START( roul, driver_device )
244245   /* basic machine hardware */
245246   MDRV_CPU_ADD("maincpu", Z80, 4000000)
246247   MDRV_CPU_PROGRAM_MAP(roul_map)
r9191r9192
251252   MDRV_CPU_PROGRAM_MAP(sound_map)
252253   MDRV_CPU_IO_MAP(sound_cpu_io_map)
253254
254   MDRV_NVRAM_HANDLER(generic_0fill)
255   MDRV_NVRAM_ADD_0FILL("nvram")
255256
256257   MDRV_PALETTE_INIT(roul)
257258
r9191r9192
271272   MDRV_SPEAKER_STANDARD_MONO("mono")
272273   MDRV_SOUND_ADD("aysnd", AY8910, 1000000)
273274   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
274MACHINE_DRIVER_END
275MACHINE_CONFIG_END
275276
276277ROM_START(roul)
277278   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/freekick.c
r9191r9192
643643   state->cnt = 0;
644644}
645645
646static MACHINE_DRIVER_START( base )
647   MDRV_DRIVER_DATA(freekick_state)
646static MACHINE_CONFIG_START( base, freekick_state )
648647
649648   MDRV_CPU_ADD("maincpu",Z80, 18432000/6)   //confirmed
650649   MDRV_CPU_PROGRAM_MAP(pbillrd_map)
r9191r9192
680679
681680   MDRV_SOUND_ADD("sn4", SN76496, 12000000/4)
682681   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
683MACHINE_DRIVER_END
682MACHINE_CONFIG_END
684683
685static MACHINE_DRIVER_START( pbillrd )
686   MDRV_IMPORT_FROM(base)
684static MACHINE_CONFIG_DERIVED( pbillrd, base )
687685
688686   MDRV_MACHINE_START(pbillrd)
689687   MDRV_MACHINE_RESET(freekick)
690MACHINE_DRIVER_END
688MACHINE_CONFIG_END
691689
692static MACHINE_DRIVER_START( freekickb )
693   MDRV_IMPORT_FROM(base)
690static MACHINE_CONFIG_DERIVED( freekickb, base )
694691
695692   MDRV_CPU_MODIFY("maincpu")
696693   MDRV_CPU_PROGRAM_MAP(freekickb_map)
r9191r9192
703700   MDRV_PPI8255_ADD( "ppi8255_1", ppi8255_intf[1] )
704701
705702   MDRV_VIDEO_UPDATE(freekick)
706MACHINE_DRIVER_END
703MACHINE_CONFIG_END
707704
708static MACHINE_DRIVER_START( gigas )
709   MDRV_IMPORT_FROM(base)
705static MACHINE_CONFIG_DERIVED( gigas, base )
710706
711707   MDRV_CPU_MODIFY("maincpu")
712708   MDRV_CPU_PROGRAM_MAP(gigas_map)
r9191r9192
716712   MDRV_MACHINE_RESET(freekick)
717713
718714   MDRV_VIDEO_UPDATE(gigas)
719MACHINE_DRIVER_END
715MACHINE_CONFIG_END
720716
721static MACHINE_DRIVER_START( oigas )
722   MDRV_IMPORT_FROM(gigas)
717static MACHINE_CONFIG_DERIVED( oigas, gigas )
723718   MDRV_CPU_MODIFY("maincpu")
724719   MDRV_CPU_IO_MAP(oigas_io_map)
725720
726721   MDRV_MACHINE_START(oigas)
727722   MDRV_MACHINE_RESET(oigas)
728MACHINE_DRIVER_END
723MACHINE_CONFIG_END
729724
730725
731726
src/mame/drivers/cischeat.c
r9191r9192
514514   AM_RANGE(0x0f0000, 0x0fffff) AM_RAM AM_BASE(&megasys1_ram)                                 // Work RAM + Spriteram
515515   AM_RANGE(0x100000, 0x100001) AM_WRITE(scudhamm_oki_bank_w)                                 // Sound
516516   AM_RANGE(0x100008, 0x100009) AM_READ_PORT("IN0") AM_WRITE(scudhamm_leds_w)                     // Buttons
517   AM_RANGE(0x100014, 0x100015) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)            // Sound
518   AM_RANGE(0x100018, 0x100019) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)            //
517   AM_RANGE(0x100014, 0x100015) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)            // Sound
518   AM_RANGE(0x100018, 0x100019) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)            //
519519   AM_RANGE(0x10001c, 0x10001d) AM_WRITE(scudhamm_enable_w)                                 // ?
520520   AM_RANGE(0x100040, 0x100041) AM_READ(scudhamm_analog_r) AM_WRITENOP                     // A / D
521521   AM_RANGE(0x100044, 0x100045) AM_READ(scudhamm_motor_pos_r)                           // Motor Position
r9191r9192
599599   AM_RANGE(0x100008, 0x100009) AM_READWRITE(armchmp2_buttons_r, armchmp2_leds_w)                  // Leds + Coin Counters + Buttons + Sensors
600600   AM_RANGE(0x10000c, 0x10000d) AM_READ(armchmp2_analog_r) AM_WRITENOP                     // A / D
601601   AM_RANGE(0x100010, 0x100011) AM_READWRITE(armchmp2_motor_status_r, armchmp2_motor_command_w)      // Motor Limit Switches?
602   AM_RANGE(0x100014, 0x100015) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff   )         // Sound
603   AM_RANGE(0x100018, 0x100019) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff   )         //
602   AM_RANGE(0x100014, 0x100015) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff   )         // Sound
603   AM_RANGE(0x100018, 0x100019) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff   )         //
604604ADDRESS_MAP_END
605605
606606
r9191r9192
707707   AM_RANGE(0x040000, 0x040001) AM_READWRITE(soundlatch_word_r, bigrun_soundbank_w)   // From Main CPU
708708   AM_RANGE(0x060000, 0x060001) AM_WRITE(soundlatch2_word_w)                     // To Main CPU
709709   AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff)
710   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)
711   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
710   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
711   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
712712   AM_RANGE(0x0f0000, 0x0fffff) AM_RAM                                       // RAM
713713ADDRESS_MAP_END
714714
r9191r9192
730730   AM_RANGE(0x060002, 0x060003) AM_WRITE(soundlatch2_word_w)                     // To Main CPU
731731   AM_RANGE(0x060004, 0x060005) AM_READ(soundlatch_word_r)                        // From Main CPU
732732   AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff)
733   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)
734   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
733   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
734   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
735735   AM_RANGE(0x0f0000, 0x0fffff) AM_RAM                                       // RAM
736736ADDRESS_MAP_END
737737
r9191r9192
746746   AM_RANGE(0x040008, 0x040009) AM_DEVWRITE("oki2", cischeat_soundbank_w)            // Sample Banking   (cischeat: 40004)
747747   AM_RANGE(0x060000, 0x060001) AM_READWRITE(soundlatch_word_r, soundlatch2_word_w)   // From Main CPU    (cischeat: 60004)
748748   AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff)
749   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)
750   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
749   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
750   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
751751   AM_RANGE(0x0e0000, 0x0fffff) AM_RAM                                       // RAM              (cischeat: f0000-fffff)
752752ADDRESS_MAP_END
753753
r9191r9192
763763   AM_RANGE(0x04000e, 0x04000f) AM_WRITENOP                                 // ? 0              (f1gpstar: no)
764764   AM_RANGE(0x060004, 0x060005) AM_READWRITE(soundlatch_word_r, soundlatch2_word_w)      // From Main CPU    (f1gpstar: 60000)
765765   AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff)
766   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)
767   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
766   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
767   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
768768   AM_RANGE(0x0e0000, 0x0fffff) AM_RAM                                          // RAM
769769ADDRESS_MAP_END
770770
r9191r9192
898898   PORT_DIPSETTING(      0x1400, DEF_STR( 1C_3C ) )
899899   PORT_DIPSETTING(      0x0400, DEF_STR( 1C_4C ) )
900900   PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
901   PORT_DIPNAME( 0x1c00, 0x1c00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW301:6,5,4") PORT_CONDITION("IN4", 0x0003, PORTCOND_NOTEQUALS, 0x0003)
901   PORT_DIPNAME( 0x1c00, 0x1c00, "Set Coin B" ) PORT_DIPLOCATION("SW301:6,5,4") PORT_CONDITION("IN4", 0x0003, PORTCOND_NOTEQUALS, 0x0003)
902902   PORT_DIPSETTING(      0x1c00, DEF_STR( Unused ) )
903903   PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
904904   PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW301:3,2,1")
r9191r9192
15651565
15661566
15671567
1568static MACHINE_DRIVER_START( bigrun )
1568static MACHINE_CONFIG_START( bigrun, driver_device )
15691569
15701570   /* basic machine hardware */
15711571   MDRV_CPU_ADD("cpu1", M68000, 10000000)
r9191r9192
16141614
16151615   MDRV_OKIM6295_ADD("oki2", STD_OKI_CLOCK, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
16161616   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
1617MACHINE_DRIVER_END
1617MACHINE_CONFIG_END
16181618
16191619
1620static MACHINE_DRIVER_START( cischeat )
1620static MACHINE_CONFIG_DERIVED( cischeat, bigrun )
16211621
16221622   /* basic machine hardware */
1623   MDRV_IMPORT_FROM(bigrun)
16241623   MDRV_CPU_MODIFY("cpu1")
16251624   MDRV_CPU_PROGRAM_MAP(cischeat_map)
16261625
r9191r9192
16421641
16431642   MDRV_VIDEO_START(cischeat)
16441643   MDRV_VIDEO_UPDATE(cischeat)
1645MACHINE_DRIVER_END
1644MACHINE_CONFIG_END
16461645
16471646
1648static MACHINE_DRIVER_START( f1gpstar )
1647static MACHINE_CONFIG_DERIVED( f1gpstar, bigrun )
16491648
16501649   /* basic machine hardware */
1651   MDRV_IMPORT_FROM(bigrun)
16521650   MDRV_CPU_MODIFY("cpu1")
16531651   MDRV_CPU_CLOCK(12000000)
16541652   MDRV_CPU_PROGRAM_MAP(f1gpstar_map)
r9191r9192
16701668
16711669   MDRV_VIDEO_START(f1gpstar)
16721670   MDRV_VIDEO_UPDATE(f1gpstar)
1673MACHINE_DRIVER_END
1671MACHINE_CONFIG_END
16741672
16751673
1676static MACHINE_DRIVER_START( f1gpstr2 )
1674static MACHINE_CONFIG_DERIVED( f1gpstr2, f1gpstar )
16771675
16781676   /* basic machine hardware */
1679   MDRV_IMPORT_FROM(f1gpstar)
16801677
16811678   MDRV_CPU_MODIFY("cpu1")
16821679   MDRV_CPU_PROGRAM_MAP(f1gpstr2_map)
r9191r9192
16871684   MDRV_CPU_ADD("cpu5", M68000, 12000000/* was 10000000 */)
16881685   MDRV_CPU_PROGRAM_MAP(f1gpstr2_io_map)
16891686   MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
1690MACHINE_DRIVER_END
1687MACHINE_CONFIG_END
16911688
16921689
16931690/**************************************************************************
r9191r9192
17131710}
17141711
17151712
1716static MACHINE_DRIVER_START( scudhamm )
1713static MACHINE_CONFIG_START( scudhamm, driver_device )
17171714
17181715   /* basic machine hardware */
17191716   MDRV_CPU_ADD("maincpu",M68000, 12000000)
r9191r9192
17461743   MDRV_OKIM6295_ADD("oki2", 2112000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
17471744   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
17481745   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
1749MACHINE_DRIVER_END
1746MACHINE_CONFIG_END
17501747
17511748
17521749/**************************************************************************
r9191r9192
17641761   }
17651762}
17661763
1767static MACHINE_DRIVER_START( armchmp2 )
1764static MACHINE_CONFIG_DERIVED( armchmp2, scudhamm )
17681765
17691766   /* basic machine hardware */
1770   MDRV_IMPORT_FROM(scudhamm)
17711767   MDRV_CPU_MODIFY("maincpu")
17721768   MDRV_CPU_PROGRAM_MAP(armchmp2_map)
17731769   MDRV_CPU_VBLANK_INT_HACK(interrupt_armchmp2,INTERRUPT_NUM_SCUDHAMM)
17741770
1775MACHINE_DRIVER_END
1771MACHINE_CONFIG_END
17761772
17771773
17781774/***************************************************************************
src/mame/drivers/redclash.c
r9191r9192
354354   state->stars_count = 0;
355355}
356356
357static MACHINE_DRIVER_START( zerohour )
357static MACHINE_CONFIG_START( zerohour, ladybug_state )
358358
359   /* driver data */
360   MDRV_DRIVER_DATA(ladybug_state)
361
362359   /* basic machine hardware */
363360   MDRV_CPU_ADD("maincpu", Z80, 4000000)  /* 4 MHz */
364361   MDRV_CPU_PROGRAM_MAP(zerohour_map)
r9191r9192
383380   MDRV_VIDEO_EOF(redclash)
384381
385382   /* sound hardware */
386MACHINE_DRIVER_END
383MACHINE_CONFIG_END
387384
388385
389static MACHINE_DRIVER_START( redclash )
386static MACHINE_CONFIG_START( redclash, ladybug_state )
390387
391   /* driver data */
392   MDRV_DRIVER_DATA(ladybug_state)
393
394388   /* basic machine hardware */
395389   MDRV_CPU_ADD("maincpu", Z80, 4000000)  /* 4 MHz */
396390   MDRV_CPU_PROGRAM_MAP(redclash_map)
r9191r9192
415409   MDRV_VIDEO_EOF(redclash)
416410
417411   /* sound hardware */
418MACHINE_DRIVER_END
412MACHINE_CONFIG_END
419413
420414/***************************************************************************
421415
src/mame/drivers/vicdual.c
r9191r9192
226226 *
227227 *************************************/
228228
229static MACHINE_DRIVER_START( vicdual_root )
229static MACHINE_CONFIG_START( vicdual_root, driver_device )
230230
231231   /* basic machine hardware */
232232   MDRV_CPU_ADD("maincpu", Z80, VICDUAL_MAIN_CPU_CLOCK)
r9191r9192
236236   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
237237   MDRV_SCREEN_RAW_PARAMS(VICDUAL_PIXEL_CLOCK, VICDUAL_HTOTAL, VICDUAL_HBEND, VICDUAL_HBSTART, VICDUAL_VTOTAL, VICDUAL_VBEND, VICDUAL_VBSTART)
238238
239MACHINE_DRIVER_END
239MACHINE_CONFIG_END
240240
241241
242242
r9191r9192
303303INPUT_PORTS_END
304304
305305
306static MACHINE_DRIVER_START( depthch )
306static MACHINE_CONFIG_DERIVED( depthch, vicdual_root )
307307
308308   /* basic machine hardware */
309   MDRV_IMPORT_FROM(vicdual_root)
310309   MDRV_CPU_REPLACE("maincpu", I8080, VICDUAL_MAIN_CPU_CLOCK)
311310   MDRV_CPU_PROGRAM_MAP(depthch_map)
312311   MDRV_CPU_IO_MAP(depthch_io_map)
r9191r9192
316315
317316   /* audio hardware */
318317   MDRV_SPEAKER_STANDARD_MONO("mono")
319   MDRV_IMPORT_FROM(depthch_audio)
318   MDRV_FRAGMENT_ADD(depthch_audio)
320319
321MACHINE_DRIVER_END
320MACHINE_CONFIG_END
322321
323322
324323
r9191r9192
391390INPUT_PORTS_END
392391
393392
394static MACHINE_DRIVER_START( safari )
393static MACHINE_CONFIG_DERIVED( safari, vicdual_root )
395394
396395   /* basic machine hardware */
397   MDRV_IMPORT_FROM(vicdual_root)
398396   MDRV_CPU_MODIFY("maincpu")
399397   MDRV_CPU_PROGRAM_MAP(safari_map)
400398   MDRV_CPU_IO_MAP(safari_io_map)
r9191r9192
402400   /* video hardware */
403401   MDRV_VIDEO_UPDATE(vicdual_bw)
404402
405MACHINE_DRIVER_END
403MACHINE_CONFIG_END
406404
407405
408406
r9191r9192
493491INPUT_PORTS_END
494492
495493
496static MACHINE_DRIVER_START( frogs )
494static MACHINE_CONFIG_DERIVED( frogs, vicdual_root )
497495
498496   /* basic machine hardware */
499   MDRV_IMPORT_FROM(vicdual_root)
500497   MDRV_CPU_MODIFY("maincpu")
501498   MDRV_CPU_PROGRAM_MAP(frogs_map)
502499   MDRV_CPU_IO_MAP(frogs_io_map)
r9191r9192
507504
508505   /* audio hardware */
509506   MDRV_SPEAKER_STANDARD_MONO("mono")
510   MDRV_IMPORT_FROM(frogs_audio)
507   MDRV_FRAGMENT_ADD(frogs_audio)
511508
512MACHINE_DRIVER_END
509MACHINE_CONFIG_END
513510
514511
515512
r9191r9192
682679INPUT_PORTS_END
683680
684681
685static MACHINE_DRIVER_START( headon )
682static MACHINE_CONFIG_DERIVED( headon, vicdual_root )
686683
687684   /* basic machine hardware */
688   MDRV_IMPORT_FROM(vicdual_root)
689685   MDRV_CPU_MODIFY("maincpu")
690686   MDRV_CPU_PROGRAM_MAP(headon_map)
691687   MDRV_CPU_IO_MAP(headon_io_map)
r9191r9192
695691
696692   /* audio hardware */
697693   MDRV_SPEAKER_STANDARD_MONO("mono")
698   MDRV_IMPORT_FROM(headon_audio)
694   MDRV_FRAGMENT_ADD(headon_audio)
699695
700MACHINE_DRIVER_END
696MACHINE_CONFIG_END
701697
702static MACHINE_DRIVER_START( headons )
703   MDRV_IMPORT_FROM(headon)
698static MACHINE_CONFIG_DERIVED( headons, headon )
704699
705700   /* video hardware */
706701   MDRV_VIDEO_UPDATE(vicdual_bw) // no colour prom on PCB, must be bw?
707MACHINE_DRIVER_END
702MACHINE_CONFIG_END
708703
709704
710705
711static MACHINE_DRIVER_START( sspaceat )
706static MACHINE_CONFIG_DERIVED( sspaceat, vicdual_root )
712707
713708   /* basic machine hardware */
714   MDRV_IMPORT_FROM(vicdual_root)
715709   MDRV_CPU_MODIFY("maincpu")
716710   MDRV_CPU_PROGRAM_MAP(headon_map)
717711   MDRV_CPU_IO_MAP(sspaceat_io_map)
r9191r9192
719713   /* video hardware */
720714   MDRV_VIDEO_UPDATE(vicdual_bw_or_color)
721715
722MACHINE_DRIVER_END
716MACHINE_CONFIG_END
723717
724718
725719
r9191r9192
902896INPUT_PORTS_END
903897
904898
905static MACHINE_DRIVER_START( headon2 )
899static MACHINE_CONFIG_DERIVED( headon2, vicdual_root )
906900
907901   /* basic machine hardware */
908   MDRV_IMPORT_FROM(vicdual_root)
909902   MDRV_CPU_MODIFY("maincpu")
910903   MDRV_CPU_PROGRAM_MAP(headon2_map)
911904   MDRV_CPU_IO_MAP(headon2_io_map)
r9191r9192
915908
916909   /* audio hardware */
917910   MDRV_SPEAKER_STANDARD_MONO("mono")
918   MDRV_IMPORT_FROM(headon_audio)
911   MDRV_FRAGMENT_ADD(headon_audio)
919912
920MACHINE_DRIVER_END
913MACHINE_CONFIG_END
921914
922static MACHINE_DRIVER_START( headon2bw )
915static MACHINE_CONFIG_DERIVED( headon2bw, headon2 )
916
923917   /* basic machine hardware */
924   MDRV_IMPORT_FROM(headon2)
925918   /* video hardware */
926919   MDRV_VIDEO_UPDATE(vicdual_bw)
927MACHINE_DRIVER_END
920MACHINE_CONFIG_END
928921
929922
930static MACHINE_DRIVER_START( digger )
923static MACHINE_CONFIG_DERIVED( digger, vicdual_root )
931924
932925   /* basic machine hardware */
933   MDRV_IMPORT_FROM(vicdual_root)
934926   MDRV_CPU_MODIFY("maincpu")
935927   MDRV_CPU_PROGRAM_MAP(headon2_map)
936928   MDRV_CPU_IO_MAP(digger_io_map)
r9191r9192
938930   /* video hardware */
939931   MDRV_VIDEO_UPDATE(vicdual_color)
940932
941MACHINE_DRIVER_END
933MACHINE_CONFIG_END
942934
943935
944936
r9191r9192
18481840INPUT_PORTS_END
18491841
18501842
1851static MACHINE_DRIVER_START( vicdual_dualgame_root )
1843static MACHINE_CONFIG_DERIVED( vicdual_dualgame_root, vicdual_root )
18521844
18531845   /* basic machine hardware */
1854   MDRV_IMPORT_FROM(vicdual_root)
18551846   MDRV_CPU_MODIFY("maincpu")
18561847   MDRV_CPU_PROGRAM_MAP(vicdual_dualgame_map)
18571848
18581849   /* video hardware */
18591850   MDRV_VIDEO_UPDATE(vicdual_color)
18601851
1861MACHINE_DRIVER_END
1852MACHINE_CONFIG_END
18621853
18631854
1864static MACHINE_DRIVER_START( invho2 )
1855static MACHINE_CONFIG_DERIVED( invho2, vicdual_dualgame_root )
18651856
18661857   /* basic machine hardware */
1867   MDRV_IMPORT_FROM(vicdual_dualgame_root)
18681858   MDRV_CPU_MODIFY("maincpu")
18691859   MDRV_CPU_IO_MAP(invho2_io_map)
18701860
18711861   /* audio hardware */
18721862   MDRV_SPEAKER_STANDARD_MONO("mono")
1873   MDRV_IMPORT_FROM(invinco_audio)
1874   MDRV_IMPORT_FROM(headon_audio)
1863   MDRV_FRAGMENT_ADD(invinco_audio)
1864   MDRV_FRAGMENT_ADD(headon_audio)
18751865
1876MACHINE_DRIVER_END
1866MACHINE_CONFIG_END
18771867
18781868
1879static MACHINE_DRIVER_START( invds )
1869static MACHINE_CONFIG_DERIVED( invds, vicdual_dualgame_root )
18801870
18811871   /* basic machine hardware */
1882   MDRV_IMPORT_FROM(vicdual_dualgame_root)
18831872   MDRV_CPU_MODIFY("maincpu")
18841873   MDRV_CPU_IO_MAP(invds_io_map)
18851874
18861875   /* audio hardware */
18871876   MDRV_SPEAKER_STANDARD_MONO("mono")
1888   MDRV_IMPORT_FROM(invinco_audio)
1877   MDRV_FRAGMENT_ADD(invinco_audio)
18891878
1890MACHINE_DRIVER_END
1879MACHINE_CONFIG_END
18911880
18921881
1893static MACHINE_DRIVER_START( sspacaho )
1882static MACHINE_CONFIG_DERIVED( sspacaho, vicdual_dualgame_root )
18941883
18951884   /* basic machine hardware */
1896   MDRV_IMPORT_FROM(vicdual_dualgame_root)
18971885   MDRV_CPU_MODIFY("maincpu")
18981886   MDRV_CPU_IO_MAP(sspacaho_io_map)
18991887
19001888   /* audio hardware */
19011889   MDRV_SPEAKER_STANDARD_MONO("mono")
1902   MDRV_IMPORT_FROM(headon_audio)
1903MACHINE_DRIVER_END
1890   MDRV_FRAGMENT_ADD(headon_audio)
1891MACHINE_CONFIG_END
19041892
19051893
1906static MACHINE_DRIVER_START( spacetrk )
1894static MACHINE_CONFIG_DERIVED( spacetrk, vicdual_dualgame_root )
19071895
19081896   /* basic machine hardware */
1909   MDRV_IMPORT_FROM(vicdual_dualgame_root)
19101897   MDRV_CPU_MODIFY("maincpu")
19111898   MDRV_CPU_IO_MAP(spacetrk_io_map)
19121899
1913MACHINE_DRIVER_END
1900MACHINE_CONFIG_END
19141901
19151902
1916static MACHINE_DRIVER_START( carnival )
1903static MACHINE_CONFIG_DERIVED( carnival, vicdual_dualgame_root )
19171904
19181905   /* basic machine hardware */
1919   MDRV_IMPORT_FROM(vicdual_dualgame_root)
19201906   MDRV_CPU_MODIFY("maincpu")
19211907   MDRV_CPU_IO_MAP(carnival_io_map)
19221908
19231909   /* audio hardware */
19241910   MDRV_SPEAKER_STANDARD_MONO("mono")
1925   MDRV_IMPORT_FROM(carnival_audio)
1911   MDRV_FRAGMENT_ADD(carnival_audio)
19261912
1927MACHINE_DRIVER_END
1913MACHINE_CONFIG_END
19281914
1929static MACHINE_DRIVER_START( carnivalh )
1915static MACHINE_CONFIG_DERIVED( carnivalh, vicdual_dualgame_root )
19301916
19311917   /* basic machine hardware */
1932   MDRV_IMPORT_FROM(vicdual_dualgame_root)
19331918   MDRV_CPU_MODIFY("maincpu")
19341919   MDRV_CPU_IO_MAP(headon_io_map)
19351920
19361921   /* audio hardware */
19371922   MDRV_SPEAKER_STANDARD_MONO("mono")
1938   MDRV_IMPORT_FROM(carnival_audio)
1923   MDRV_FRAGMENT_ADD(carnival_audio)
19391924
1940MACHINE_DRIVER_END
1925MACHINE_CONFIG_END
19411926
19421927
19431928
1944static MACHINE_DRIVER_START( tranqgun )
1929static MACHINE_CONFIG_DERIVED( tranqgun, vicdual_dualgame_root )
19451930
19461931   /* basic machine hardware */
1947   MDRV_IMPORT_FROM(vicdual_dualgame_root)
19481932   MDRV_CPU_MODIFY("maincpu")
19491933   MDRV_CPU_IO_MAP(tranqgun_io_map)
19501934
1951MACHINE_DRIVER_END
1935MACHINE_CONFIG_END
19521936
19531937
1954static MACHINE_DRIVER_START( brdrline )
1938static MACHINE_CONFIG_DERIVED( brdrline, vicdual_dualgame_root )
19551939
19561940   /* basic machine hardware */
1957   MDRV_IMPORT_FROM(vicdual_dualgame_root)
19581941   MDRV_CPU_MODIFY("maincpu")
19591942   MDRV_CPU_IO_MAP(brdrline_io_map)
19601943
1961MACHINE_DRIVER_END
1944MACHINE_CONFIG_END
19621945
19631946
1964static MACHINE_DRIVER_START( pulsar )
1947static MACHINE_CONFIG_DERIVED( pulsar, vicdual_dualgame_root )
19651948
19661949   /* basic machine hardware */
1967   MDRV_IMPORT_FROM(vicdual_dualgame_root)
19681950   MDRV_CPU_MODIFY("maincpu")
19691951   MDRV_CPU_IO_MAP(pulsar_io_map)
19701952
19711953   /* audio hardware */
19721954   MDRV_SPEAKER_STANDARD_MONO("mono")
1973   MDRV_IMPORT_FROM(pulsar_audio)
1955   MDRV_FRAGMENT_ADD(pulsar_audio)
19741956
1975MACHINE_DRIVER_END
1957MACHINE_CONFIG_END
19761958
19771959
1978static MACHINE_DRIVER_START( heiankyo )
1960static MACHINE_CONFIG_DERIVED( heiankyo, vicdual_dualgame_root )
19791961
19801962   /* basic machine hardware */
1981   MDRV_IMPORT_FROM(vicdual_dualgame_root)
19821963   MDRV_CPU_MODIFY("maincpu")
19831964   MDRV_CPU_IO_MAP(heiankyo_io_map)
19841965
1985MACHINE_DRIVER_END
1966MACHINE_CONFIG_END
19861967
19871968
1988static MACHINE_DRIVER_START( alphaho )
1969static MACHINE_CONFIG_DERIVED( alphaho, vicdual_dualgame_root )
19891970
19901971   /* basic machine hardware */
1991   MDRV_IMPORT_FROM(vicdual_dualgame_root)
19921972   MDRV_CPU_MODIFY("maincpu")
19931973   MDRV_CPU_IO_MAP(alphaho_io_map)
19941974
1995MACHINE_DRIVER_END
1975MACHINE_CONFIG_END
19961976
19971977
19981978
r9191r9192
21072087INPUT_PORTS_END
21082088
21092089
2110static MACHINE_DRIVER_START( samurai )
2090static MACHINE_CONFIG_DERIVED( samurai, vicdual_root )
21112091
21122092   /* basic machine hardware */
2113   MDRV_IMPORT_FROM(vicdual_root)
21142093   MDRV_CPU_MODIFY("maincpu")
21152094   MDRV_CPU_PROGRAM_MAP(samurai_map)
21162095   MDRV_CPU_IO_MAP(samurai_io_map)
r9191r9192
21182097   /* video hardware */
21192098   MDRV_VIDEO_UPDATE(vicdual_color)
21202099
2121MACHINE_DRIVER_END
2100MACHINE_CONFIG_END
21222101
21232102
21242103
r9191r9192
22062185INPUT_PORTS_END
22072186
22082187
2209static MACHINE_DRIVER_START( nsub )
2188static MACHINE_CONFIG_DERIVED( nsub, vicdual_root )
22102189
22112190   /* basic machine hardware */
2212   MDRV_IMPORT_FROM(vicdual_root)
22132191   MDRV_CPU_MODIFY("maincpu")
22142192   MDRV_CPU_PROGRAM_MAP(nsub_map)
22152193   MDRV_CPU_IO_MAP(nsub_io_map)
r9191r9192
22172195   /* video hardware */
22182196   MDRV_VIDEO_UPDATE(vicdual_color)
22192197
2220MACHINE_DRIVER_END
2198MACHINE_CONFIG_END
22212199
22222200
22232201
r9191r9192
23052283INPUT_PORTS_END
23062284
23072285
2308static MACHINE_DRIVER_START( invinco )
2286static MACHINE_CONFIG_DERIVED( invinco, vicdual_root )
23092287
23102288   /* basic machine hardware */
2311   MDRV_IMPORT_FROM(vicdual_root)
23122289   MDRV_CPU_MODIFY("maincpu")
23132290   MDRV_CPU_PROGRAM_MAP(invinco_map)
23142291   MDRV_CPU_IO_MAP(invinco_io_map)
r9191r9192
23182295
23192296   /* audio hardware */
23202297   MDRV_SPEAKER_STANDARD_MONO("mono")
2321   MDRV_IMPORT_FROM(invinco_audio)
2298   MDRV_FRAGMENT_ADD(invinco_audio)
23222299
2323MACHINE_DRIVER_END
2300MACHINE_CONFIG_END
23242301
23252302
23262303
src/mame/drivers/xybots.c
r9191r9192
9292   AM_RANGE(0xffae00, 0xffafff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
9393   AM_RANGE(0xffb000, 0xffbfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(xybots_state, playfield)
9494   AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x7f8800) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
95   AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(xybots_state, eeprom, eeprom_size)
95   AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
9696   AM_RANGE(0xffe000, 0xffe0ff) AM_MIRROR(0x7f8000) AM_READ(atarigen_sound_r)
9797   AM_RANGE(0xffe100, 0xffe1ff) AM_MIRROR(0x7f8000) AM_READ_PORT("FFE100")
9898   AM_RANGE(0xffe200, 0xffe2ff) AM_MIRROR(0x7f8000) AM_READ(special_port1_r)
r9191r9192
191191 *
192192 *************************************/
193193
194static MACHINE_DRIVER_START( xybots )
195   MDRV_DRIVER_DATA(xybots_state)
194static MACHINE_CONFIG_START( xybots, xybots_state )
196195
197196   /* basic machine hardware */
198197   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
201200
202201   MDRV_MACHINE_START(xybots)
203202   MDRV_MACHINE_RESET(xybots)
204   MDRV_NVRAM_HANDLER(atarigen)
203   MDRV_NVRAM_ADD_1FILL("eeprom")
205204
206205   /* video hardware */
207206   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
218217   MDRV_VIDEO_UPDATE(xybots)
219218
220219   /* sound hardware */
221   MDRV_IMPORT_FROM(jsa_i_stereo_swapped)
222MACHINE_DRIVER_END
220   MDRV_FRAGMENT_ADD(jsa_i_stereo_swapped)
221MACHINE_CONFIG_END
223222
224223
225224
src/mame/drivers/speglsht.c
r9191r9192
109109#include "sound/st0016.h"
110110#include "includes/st0016.h"
111111
112READ8_HANDLER(st0016_dma_r);
113112static UINT8 *shared;
114113
115114UINT32 *speglsht_framebuffer;
r9191r9192
319318   memset(shared,0,0x1000);
320319}
321320
322static MACHINE_DRIVER_START( speglsht )
321static MACHINE_CONFIG_START( speglsht, driver_device )
323322   /* basic machine hardware */
324323   MDRV_CPU_ADD("maincpu",Z80, 8000000) /* 8 MHz ? */
325324   MDRV_CPU_PROGRAM_MAP(st0016_mem)
r9191r9192
355354   MDRV_SOUND_CONFIG(st0016_config)
356355   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
357356   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
358MACHINE_DRIVER_END
357MACHINE_CONFIG_END
359358
360359ROM_START( speglsht )
361360   ROM_REGION( 0x210000, "maincpu", 0 )
src/mame/drivers/magicfly.c
r9191r9192
399399#include "cpu/m6502/m6502.h"
400400#include "video/mc6845.h"
401401#include "sound/dac.h"
402#include "machine/nvram.h"
402403
403404
404405/*************************
r9191r9192
555556*************************/
556557
557558static ADDRESS_MAP_START( magicfly_map, ADDRESS_SPACE_PROGRAM, 8 )
558   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)    /* MK48Z02B NVRAM */
559   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")    /* MK48Z02B NVRAM */
559560   AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_address_w)
560561   AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
561562   AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(magicfly_videoram_w) AM_BASE(&videoram)   /* HM6116LP #1 (2K x 8) RAM (only 1st half used) */
r9191r9192
755756*    Machine Drivers     *
756757*************************/
757758
758static MACHINE_DRIVER_START( magicfly )
759static MACHINE_CONFIG_START( magicfly, driver_device )
759760
760761   /* basic machine hardware */
761762   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/12)   /* guess */
762763   MDRV_CPU_PROGRAM_MAP(magicfly_map)
763764   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
764765
765   MDRV_NVRAM_HANDLER(generic_0fill)
766   MDRV_NVRAM_ADD_0FILL("nvram")
766767
767768   /* video hardware */
768769   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
785786   MDRV_SPEAKER_STANDARD_MONO("mono")
786787   MDRV_SOUND_ADD("dac", DAC, 0)
787788   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
788MACHINE_DRIVER_END
789MACHINE_CONFIG_END
789790
790static MACHINE_DRIVER_START( 7mezzo )
791static MACHINE_CONFIG_DERIVED( 7mezzo, magicfly )
791792
792793   /* basic machine hardware */
793   MDRV_IMPORT_FROM(magicfly)
794794
795795   /* video hardware */
796796   MDRV_VIDEO_START(7mezzo)
797797
798MACHINE_DRIVER_END
798MACHINE_CONFIG_END
799799
800800
801801/*************************
src/mame/drivers/centiped.c
r9191r9192
674674static ADDRESS_MAP_START( centiped_map, ADDRESS_SPACE_PROGRAM, 8 )
675675   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
676676   AM_RANGE(0x0000, 0x03ff) AM_RAM AM_BASE(&rambase)
677   AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
677   AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
678678   AM_RANGE(0x07c0, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
679679   AM_RANGE(0x0800, 0x0800) AM_READ_PORT("DSW1")      /* DSW1 */
680680   AM_RANGE(0x0801, 0x0801) AM_READ_PORT("DSW2")      /* DSW2 */
r9191r9192
699699static ADDRESS_MAP_START( centipdb_map, ADDRESS_SPACE_PROGRAM, 8 )
700700   ADDRESS_MAP_GLOBAL_MASK(0x7fff)
701701   AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x4000) AM_RAM
702   AM_RANGE(0x0400, 0x07bf) AM_MIRROR(0x4000) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
702   AM_RANGE(0x0400, 0x07bf) AM_MIRROR(0x4000) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
703703   AM_RANGE(0x07c0, 0x07ff) AM_MIRROR(0x4000) AM_RAM AM_BASE_GENERIC(spriteram)
704704   AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x4000) AM_READ_PORT("DSW1")      /* DSW1 */
705705   AM_RANGE(0x0801, 0x0801) AM_MIRROR(0x4000) AM_READ_PORT("DSW2")      /* DSW2 */
r9191r9192
735735   AM_RANGE(0x0000, 0x03ff) AM_RAM
736736   AM_RANGE(0x0400, 0x040f) AM_DEVREADWRITE("pokey", pokey_r, pokey_w)
737737   AM_RANGE(0x0800, 0x080f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)
738   AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
738   AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
739739   AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_GENERIC(spriteram)
740740   AM_RANGE(0x2000, 0x2000) AM_READ(centiped_IN0_r)
741741   AM_RANGE(0x2001, 0x2001) AM_READ(milliped_IN1_r)
r9191r9192
766766static ADDRESS_MAP_START( warlords_map, ADDRESS_SPACE_PROGRAM, 8 )
767767   ADDRESS_MAP_GLOBAL_MASK(0x7fff)
768768   AM_RANGE(0x0000, 0x03ff) AM_RAM
769   AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
769   AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
770770   AM_RANGE(0x07c0, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
771771   AM_RANGE(0x0800, 0x0800) AM_READ_PORT("DSW1")   /* DSW1 */
772772   AM_RANGE(0x0801, 0x0801) AM_READ_PORT("DSW2")   /* DSW2 */
r9191r9192
793793   AM_RANGE(0x0000, 0x03ff) AM_RAM
794794   AM_RANGE(0x0400, 0x040f) AM_DEVREADWRITE("pokey", pokey_r, pokey_w)
795795   AM_RANGE(0x0800, 0x080f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)
796   AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
796   AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
797797   AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_GENERIC(spriteram)
798798   AM_RANGE(0x2000, 0x2000) AM_READ_PORT("IN0")
799799   AM_RANGE(0x2001, 0x2001) AM_READ_PORT("IN1")
r9191r9192
837837   AM_RANGE(0x1487, 0x1487) AM_MIRROR(0x6000) AM_WRITE(centiped_flip_screen_w)
838838   AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x6000) AM_WRITE(watchdog_reset_w)
839839   AM_RANGE(0x1580, 0x1580) AM_MIRROR(0x6000) AM_NOP
840   AM_RANGE(0x1800, 0x1bbf) AM_MIRROR(0x6000) AM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
840   AM_RANGE(0x1800, 0x1bbf) AM_MIRROR(0x6000) AM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
841841   AM_RANGE(0x1bc0, 0x1bff) AM_MIRROR(0x6000) AM_RAM AM_BASE_GENERIC(spriteram)
842842   AM_RANGE(0x1c00, 0x1fff) AM_MIRROR(0x6000) AM_RAM
843843   AM_RANGE(0x2000, 0x2fff) AM_ROM
r9191r9192
15861586 *
15871587 *************************************/
15881588
1589static MACHINE_DRIVER_START( centiped )
1589static MACHINE_CONFIG_START( centiped, centiped_state )
15901590
15911591   /* basic machine hardware */
15921592   MDRV_CPU_ADD("maincpu", M6502, 12096000/8)   /* 1.512 MHz (slows down to 0.75MHz while accessing playfield RAM) */
r9191r9192
16181618
16191619   MDRV_SOUND_ADD("pokey", POKEY, 12096000/8)
16201620   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1621MACHINE_DRIVER_END
1621MACHINE_CONFIG_END
16221622
16231623
1624static MACHINE_DRIVER_START( caterplr )
1624static MACHINE_CONFIG_DERIVED( caterplr, centiped )
16251625
16261626   /* basic machine hardware */
1627   MDRV_IMPORT_FROM(centiped)
16281627
16291628   /* sound hardware */
16301629   MDRV_SOUND_REPLACE("pokey", AY8910, 12096000/8)
16311630   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1632MACHINE_DRIVER_END
1631MACHINE_CONFIG_END
16331632
16341633
1635static MACHINE_DRIVER_START( centipdb )
1634static MACHINE_CONFIG_DERIVED( centipdb, centiped )
16361635
16371636   /* basic machine hardware */
1638   MDRV_IMPORT_FROM(centiped)
16391637   MDRV_CPU_MODIFY("maincpu")
16401638   MDRV_CPU_PROGRAM_MAP(centipdb_map)
16411639
r9191r9192
16431641   MDRV_SOUND_REPLACE("pokey", AY8910, 12096000/8)
16441642   MDRV_SOUND_CONFIG(centipdb_ay8910_interface)
16451643   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
1646MACHINE_DRIVER_END
1644MACHINE_CONFIG_END
16471645
16481646
1649static MACHINE_DRIVER_START( magworm )
1647static MACHINE_CONFIG_DERIVED( magworm, centiped )
16501648
16511649   /* basic machine hardware */
1652   MDRV_IMPORT_FROM(centiped)
16531650   MDRV_MACHINE_RESET(magworm)
16541651
16551652   /* sound hardware */
16561653   MDRV_SOUND_REPLACE("pokey", AY8910, 12096000/8)
16571654   MDRV_SOUND_CONFIG(centipdb_ay8910_interface)
16581655   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
1659MACHINE_DRIVER_END
1656MACHINE_CONFIG_END
16601657
16611658
1662static MACHINE_DRIVER_START( milliped )
1659static MACHINE_CONFIG_DERIVED( milliped, centiped )
16631660
16641661   /* basic machine hardware */
1665   MDRV_IMPORT_FROM(centiped)
16661662   MDRV_CPU_MODIFY("maincpu")
16671663   MDRV_CPU_PROGRAM_MAP(milliped_map)
16681664
r9191r9192
16811677   MDRV_SOUND_ADD("pokey2", POKEY, 12096000/8)
16821678   MDRV_SOUND_CONFIG(milliped_pokey_interface_2)
16831679   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1684MACHINE_DRIVER_END
1680MACHINE_CONFIG_END
16851681
16861682
1687static MACHINE_DRIVER_START( warlords )
1683static MACHINE_CONFIG_DERIVED( warlords, centiped )
16881684
16891685   /* basic machine hardware */
1690   MDRV_IMPORT_FROM(centiped)
16911686   MDRV_CPU_MODIFY("maincpu")
16921687   MDRV_CPU_PROGRAM_MAP(warlords_map)
16931688
r9191r9192
17031698   MDRV_SOUND_REPLACE("pokey", POKEY, 12096000/8)
17041699   MDRV_SOUND_CONFIG(warlords_pokey_interface)
17051700   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1706MACHINE_DRIVER_END
1701MACHINE_CONFIG_END
17071702
17081703
1709static MACHINE_DRIVER_START( mazeinv )
1704static MACHINE_CONFIG_DERIVED( mazeinv, milliped )
17101705
17111706   /* basic machine hardware */
1712   MDRV_IMPORT_FROM(milliped)
17131707   MDRV_CPU_MODIFY("maincpu")
17141708   MDRV_CPU_PROGRAM_MAP(mazeinv_map)
17151709   MDRV_VIDEO_UPDATE(centiped)
1716MACHINE_DRIVER_END
1710MACHINE_CONFIG_END
17171711
17181712
1719static MACHINE_DRIVER_START( bullsdrt )
1713static MACHINE_CONFIG_START( bullsdrt, centiped_state )
17201714
17211715   /* basic machine hardware */
17221716   MDRV_CPU_ADD("maincpu", S2650, 12096000/8)
r9191r9192
17431737
17441738   MDRV_SOUND_ADD("snsnd", SN76496, 12096000/8)
17451739   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1746MACHINE_DRIVER_END
1740MACHINE_CONFIG_END
17471741
17481742
17491743
src/mame/drivers/wgp.c
r9191r9192
998998   "sub", "audiocpu"
999999};
10001000
1001static MACHINE_DRIVER_START( wgp )
1001static MACHINE_CONFIG_START( wgp, wgp_state )
10021002
1003   /* driver data */
1004   MDRV_DRIVER_DATA(wgp_state)
1005
10061003   /* basic machine hardware */
10071004   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz ??? */
10081005   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
10491046   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
10501047
10511048   MDRV_TC0140SYT_ADD("tc0140syt", wgp_tc0140syt_intf)
1052MACHINE_DRIVER_END
1049MACHINE_CONFIG_END
10531050
10541051
1055static MACHINE_DRIVER_START( wgp2 )
1056   MDRV_IMPORT_FROM(wgp)
1052static MACHINE_CONFIG_DERIVED( wgp2, wgp )
10571053
10581054   MDRV_QUANTUM_TIME(HZ(12000))
10591055   /* video hardware */
r9191r9192
10611057
10621058   MDRV_DEVICE_REMOVE("tc0100scn")
10631059   MDRV_TC0100SCN_ADD("tc0100scn", wgp2_tc0100scn_intf)
1064MACHINE_DRIVER_END
1060MACHINE_CONFIG_END
10651061
10661062
10671063/***************************************************************************
src/mame/drivers/welltris.c
r9191r9192
705705
706706
707707
708static MACHINE_DRIVER_START( welltris )
708static MACHINE_CONFIG_START( welltris, welltris_state )
709709
710   MDRV_DRIVER_DATA( welltris_state )
711
712710   /* basic machine hardware */
713711   MDRV_CPU_ADD("maincpu", M68000,20000000/2)   /* 10 MHz */
714712   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
740738   MDRV_SOUND_ROUTE(0, "mono", 0.25)
741739   MDRV_SOUND_ROUTE(1, "mono", 0.75)
742740   MDRV_SOUND_ROUTE(2, "mono", 0.75)
743MACHINE_DRIVER_END
741MACHINE_CONFIG_END
744742
745static MACHINE_DRIVER_START( quiz18k )
743static MACHINE_CONFIG_DERIVED( quiz18k, welltris )
746744
747745   /* basic machine hardware */
748   MDRV_IMPORT_FROM( welltris )
749746
750747   MDRV_SCREEN_MODIFY("screen")
751748   MDRV_SCREEN_VISIBLE_AREA(15, 335-1, 0, 224-1)
752MACHINE_DRIVER_END
749MACHINE_CONFIG_END
753750
754751
755752
src/mame/drivers/scregg.c
r9191r9192
226226   state->btime_tilemap[3] = 0;
227227}
228228
229static MACHINE_DRIVER_START( dommy )
229static MACHINE_CONFIG_START( dommy, btime_state )
230230
231   /* driver data */
232   MDRV_DRIVER_DATA(btime_state)
233
234231   /* basic machine hardware */
235232   MDRV_CPU_ADD("maincpu", M6502, 1500000)
236233   MDRV_CPU_PROGRAM_MAP(dommy_map)
r9191r9192
262259
263260   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
264261   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.23)
265MACHINE_DRIVER_END
262MACHINE_CONFIG_END
266263
267264
268static MACHINE_DRIVER_START( scregg )
265static MACHINE_CONFIG_START( scregg, btime_state )
269266
270   /* driver data */
271   MDRV_DRIVER_DATA(btime_state)
272
273267   /* basic machine hardware */
274268   MDRV_CPU_ADD("maincpu", M6502, 1500000)
275269   MDRV_CPU_PROGRAM_MAP(eggs_map)
r9191r9192
301295
302296   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
303297   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.23)
304MACHINE_DRIVER_END
298MACHINE_CONFIG_END
305299
306300
307301ROM_START( dommy )
src/mame/drivers/taitoair.c
r9191r9192
648648   }
649649}
650650
651static MACHINE_DRIVER_START( airsys )
651static MACHINE_CONFIG_START( airsys, taitoair_state )
652652
653   /* driver data */
654   MDRV_DRIVER_DATA(taitoair_state)
655
656653   /* basic machine hardware */
657654   MDRV_CPU_ADD("maincpu", M68000,24000000 / 2)      /* 12 MHz ??? */
658655   MDRV_CPU_PROGRAM_MAP(airsys_map)
r9191r9192
698695   MDRV_SOUND_ROUTE(2, "mono", 0.60)
699696
700697   MDRV_TC0140SYT_ADD("tc0140syt", airsys_tc0140syt_intf)
701MACHINE_DRIVER_END
698MACHINE_CONFIG_END
702699
703700
704701/*************************************************************
src/mame/drivers/tceptor.c
r9191r9192
1717#include "sound/namco.h"
1818#include "rendlay.h"
1919#include "tceptor2.lh"
20#include "includes/tceptor.h"
21#include "machine/nvram.h"
2022
21PALETTE_INIT( tceptor );
22VIDEO_START( tceptor );
23VIDEO_UPDATE( tceptor );
24VIDEO_EOF( tceptor );
25
26WRITE8_HANDLER( tceptor_tile_ram_w );
27WRITE8_HANDLER( tceptor_tile_attr_w );
28WRITE8_HANDLER( tceptor_bg_ram_w );
29WRITE8_HANDLER( tceptor_bg_scroll_w );
30
31extern UINT8 *tceptor_tile_ram;
32extern UINT8 *tceptor_tile_attr;
33extern UINT8 *tceptor_bg_ram;
34extern UINT16 *tceptor_sprite_ram;
35
36
3723/*******************************************************************/
3824
3925static UINT8 m6809_irq_enable;
r9191r9192
243229   AM_RANGE(0x8800, 0x8800) AM_WRITE(mcu_irq_enable_w)
244230   AM_RANGE(0x8000, 0xbfff) AM_ROM
245231   AM_RANGE(0xc000, 0xc7ff) AM_RAM
246   AM_RANGE(0xc800, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   // Battery Backup
232   AM_RANGE(0xc800, 0xdfff) AM_RAM AM_SHARE("nvram")   // Battery Backup
247233   AM_RANGE(0xf000, 0xffff) AM_ROM
248234ADDRESS_MAP_END
249235
r9191r9192
377363
378364/*******************************************************************/
379365
380static MACHINE_DRIVER_START( tceptor )
366static MACHINE_CONFIG_START( tceptor, driver_device )
381367
382368   /* basic machine hardware */
383369   MDRV_CPU_ADD("maincpu", M6809, 49152000/32)
r9191r9192
401387
402388   MDRV_QUANTUM_TIME(HZ(6000))
403389
404   MDRV_NVRAM_HANDLER(generic_1fill)
390   MDRV_NVRAM_ADD_1FILL("nvram")
405391
406392   MDRV_MACHINE_START(tceptor)
407393   MDRV_MACHINE_RESET(tceptor)
r9191r9192
453439   MDRV_SOUND_ADD("dac", DAC, 0)
454440   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
455441   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
456MACHINE_DRIVER_END
442MACHINE_CONFIG_END
457443
458444
459445/***************************************************************************
src/mame/drivers/aquarium.c
r9191r9192
120120   return data;
121121}
122122
123static READ8_DEVICE_HANDLER( aquarium_oki_r )
123static READ8_HANDLER( aquarium_oki_r )
124124{
125   return aquarium_snd_bitswap(okim6295_r(device, 0));
125   okim6295_device *oki = space->machine->device<okim6295_device>("oki");
126   return aquarium_snd_bitswap(oki->read(*space, offset));
126127}
127128
128static WRITE8_DEVICE_HANDLER( aquarium_oki_w )
129static WRITE8_HANDLER( aquarium_oki_w )
129130{
130   logerror("%s:Writing %04x to the OKI M6295\n", cpuexec_describe_context(device->machine), aquarium_snd_bitswap(data));
131   okim6295_w(device, 0, (aquarium_snd_bitswap(data)));
131   logerror("%s:Writing %04x to the OKI M6295\n", cpuexec_describe_context(space->machine), aquarium_snd_bitswap(data));
132   okim6295_device *oki = space->machine->device<okim6295_device>("oki");
133   oki->write(*space, offset, (aquarium_snd_bitswap(data)));
132134}
133135
134136
r9191r9192
161163static ADDRESS_MAP_START( snd_portmap, ADDRESS_SPACE_IO, 8 )
162164   ADDRESS_MAP_GLOBAL_MASK(0xff)
163165   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
164   AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("oki", aquarium_oki_r, aquarium_oki_w)
166   AM_RANGE(0x02, 0x02) AM_READWRITE(aquarium_oki_r, aquarium_oki_w)
165167   AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r)
166168   AM_RANGE(0x06, 0x06) AM_WRITE(aquarium_snd_ack_w)
167169   AM_RANGE(0x08, 0x08) AM_WRITE(aquarium_z80_bank_w)
r9191r9192
357359#endif
358360}
359361
360static MACHINE_DRIVER_START( aquarium )
362static MACHINE_CONFIG_START( aquarium, aquarium_state )
361363
362   /* driver data */
363   MDRV_DRIVER_DATA(aquarium_state)
364
365364   /* basic machine hardware */
366365   MDRV_CPU_ADD("maincpu", M68000, 32000000/2)
367366   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
398397   MDRV_OKIM6295_ADD("oki", 1122000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
399398   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47)
400399   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47)
401MACHINE_DRIVER_END
400MACHINE_CONFIG_END
402401
403402ROM_START( aquarium )
404403   ROM_REGION( 0x080000, "maincpu", 0 )     /* 68000 code */
src/mame/drivers/gal3.c
r9191r9192
491491
492492static INPUT_PORTS_START( gal3 )
493493   PORT_START("DSW_CPU_mst")   //
494   PORT_DIPNAME( 0x00010000, 0x00010000, "CPU_mst_DIPSW 3-1")
494   PORT_DIPNAME( 0x00010000, 0x00010000, "CPU_mst_DIPSW 1-1")
495495   PORT_DIPSETTING(      0x00010000, DEF_STR( Off ) )
496496   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
497   PORT_DIPNAME( 0x00020000, 0x00020000, "DIPSW 3-2")
497   PORT_DIPNAME( 0x00020000, 0x00020000, "DIPSW 1-2")
498498   PORT_DIPSETTING(      0x00020000, DEF_STR( Off ) )
499499   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
500   PORT_DIPNAME( 0x00040000, 0x00040000, "DIPSW 3-3")
500   PORT_DIPNAME( 0x00040000, 0x00040000, "DIPSW 1-3")
501501   PORT_DIPSETTING(      0x00040000, DEF_STR( Off ) )
502502   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
503   PORT_DIPNAME( 0x00080000, 0x00080000, "DIPSW 3-4")
503   PORT_DIPNAME( 0x00080000, 0x00080000, "DIPSW 1-4")
504504   PORT_DIPSETTING(      0x00080000, DEF_STR( Off ) )
505505   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
506   PORT_DIPNAME( 0x00100000, 0x00100000, "DIPSW 3-5")
506   PORT_DIPNAME( 0x00100000, 0x00100000, "DIPSW 1-5")
507507   PORT_DIPSETTING(      0x00100000, DEF_STR( Off ) )
508508   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
509   PORT_DIPNAME( 0x00200000, 0x00200000, "DIPSW 3-6")
509   PORT_DIPNAME( 0x00200000, 0x00200000, "DIPSW 1-6")
510510   PORT_DIPSETTING(      0x00200000, DEF_STR( Off ) )
511511   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
512   PORT_DIPNAME( 0x00400000, 0x00400000, "DIPSW 3-7")
512   PORT_DIPNAME( 0x00400000, 0x00400000, "DIPSW 1-7")
513513   PORT_DIPSETTING(      0x00400000, DEF_STR( Off ) )
514514   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
515   PORT_DIPNAME( 0x00800000, 0x00800000, "DIPSW 3-8")
515   PORT_DIPNAME( 0x00800000, 0x00800000, "DIPSW 1-8")
516516   PORT_DIPSETTING(      0x00800000, DEF_STR( Off ) )
517517   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
518518
519   PORT_DIPNAME( 0x01000000, 0x01000000, "DIPSW 4-1")
519   PORT_DIPNAME( 0x01000000, 0x01000000, "DIPSW 2-1")
520520   PORT_DIPSETTING(      0x01000000, DEF_STR( Off ) )
521521   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
522   PORT_DIPNAME( 0x02000000, 0x02000000, "DIPSW 4-2")
522   PORT_DIPNAME( 0x02000000, 0x02000000, "DIPSW 2-2")
523523   PORT_DIPSETTING(      0x02000000, DEF_STR( Off ) )
524524   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
525   PORT_DIPNAME( 0x04000000, 0x04000000, "DIPSW 4-3")
525   PORT_DIPNAME( 0x04000000, 0x04000000, "DIPSW 2-3")
526526   PORT_DIPSETTING(      0x04000000, DEF_STR( Off ) )
527527   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
528   PORT_DIPNAME( 0x08000000, 0x08000000, "DIPSW 4-4")
528   PORT_DIPNAME( 0x08000000, 0x08000000, "DIPSW 2-4")
529529   PORT_DIPSETTING(      0x08000000, DEF_STR( Off ) )
530530   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
531   PORT_DIPNAME( 0x10000000, 0x10000000, "DIPSW 4-5")   //on pour zolgear?
531   PORT_DIPNAME( 0x10000000, 0x10000000, "DIPSW 2-5")   //on pour zolgear?
532532   PORT_DIPSETTING(      0x10000000, DEF_STR( Off ) )
533533   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
534   PORT_DIPNAME( 0x20000000, 0x20000000, "DIPSW 4-6")   //on pour zolgear?
534   PORT_DIPNAME( 0x20000000, 0x20000000, "DIPSW 2-6")   //on pour zolgear?
535535   PORT_DIPSETTING(      0x20000000, DEF_STR( Off ) )
536536   PORT_DIPSETTING(      0x00, DEF_STR( On ) )
537   PORT_DIPNAME( 0x40000000, 0x40000000, "DIPSW 4-7")
537   PORT_DIPNAME( 0x40000000, 0x40000000, "DIPSW 2-7")
538538   PORT_DIPSETTING(      0x40000000, DEF_STR( Off ) )
539539   PORT_DIPSETTING(      0x00000000, DEF_STR( On ) )
540   PORT_DIPNAME( 0x80000000, 0x80000000, "DIPSW 4-8")
540   PORT_DIPNAME( 0x80000000, 0x80000000, "DIPSW 2-8")
541541   PORT_DIPSETTING(      0x80000000, DEF_STR( Off ) )
542542   PORT_DIPSETTING(      0x00000000, DEF_STR( On ) )
543543
r9191r9192
630630   C140_TYPE_SYSTEM21_B
631631};
632632
633static MACHINE_DRIVER_START( gal3 )
633static MACHINE_CONFIG_START( gal3, driver_device )
634634   MDRV_CPU_ADD("cpumst", M68020, 49152000/2)
635635   MDRV_CPU_PROGRAM_MAP(cpu_mst_map)
636636   MDRV_CPU_VBLANK_INT("lscreen", irq1_line_hold)
r9191r9192
690690   MDRV_SOUND_CONFIG(C140_interface_typeA)
691691   MDRV_SOUND_ROUTE(0, "lspeaker", 0.50)
692692   MDRV_SOUND_ROUTE(1, "rspeaker", 0.50)
693MACHINE_DRIVER_END
693MACHINE_CONFIG_END
694694
695695/*
696696
src/mame/drivers/metro.c
r9191r9192
463463   {
464464      /* write */
465465      if (!BIT(data, 4))
466         okim6295_w(state->oki, 0, state->porta);
466         state->oki->write(*space, 0, state->porta);
467467   }
468468
469469   state->portb = data;
r9191r9192
513513   {
514514      /* write */
515515      if (!BIT(data, 4))
516         okim6295_w(state->oki, 0, state->porta);
516         state->oki->write(*space, 0, state->porta);
517517   }
518518
519519   if (BIT(state->portb, 3) && !BIT(data, 3))   /* clock 1->0 */
520520   {
521521      /* read */
522522      if (!BIT(data, 4))
523         state->porta = okim6295_r(state->oki, 0);
523         state->porta = state->oki->read(*space, 0);
524524   }
525525
526526   state->portb = data;
r9191r9192
13601360   AM_RANGE(0x400000, 0x400001) AM_WRITENOP                              // ? 5
13611361   AM_RANGE(0x500000, 0x500001) AM_DEVWRITE("oki", gakusai_oki_bank_lo_w)               // Sound
13621362   AM_RANGE(0x600000, 0x600003) AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff)
1363   AM_RANGE(0x700000, 0x700001) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff)         // Sound
1363   AM_RANGE(0x700000, 0x700001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)         // Sound
13641364   AM_RANGE(0xc00000, 0xc00001) AM_DEVREADWRITE("eeprom", gakusai_eeprom_r, gakusai_eeprom_w)   // EEPROM
13651365   AM_RANGE(0xd00000, 0xd00001) AM_DEVWRITE("oki", gakusai_oki_bank_hi_w)
13661366ADDRESS_MAP_END
r9191r9192
13981398   AM_RANGE(0x800000, 0x800001) AM_WRITENOP                              // ? 5
13991399   AM_RANGE(0x900000, 0x900001) AM_DEVWRITE("oki", gakusai_oki_bank_lo_w)               // Sound bank
14001400   AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE("oki", gakusai_oki_bank_hi_w)
1401   AM_RANGE(0xb00000, 0xb00001) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff)         // Sound
1401   AM_RANGE(0xb00000, 0xb00001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)         // Sound
14021402   AM_RANGE(0xc00000, 0xc00003) AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff)
14031403   AM_RANGE(0xe00000, 0xe00001) AM_DEVREADWRITE("eeprom", gakusai_eeprom_r,gakusai_eeprom_w)      // EEPROM
14041404ADDRESS_MAP_END
r9191r9192
14661466   AM_RANGE(0x400000, 0x400001) AM_WRITENOP                              // ? 5
14671467   AM_RANGE(0x500000, 0x500001) AM_DEVWRITE("oki", gakusai_oki_bank_lo_w)               // Sound
14681468   AM_RANGE(0x600000, 0x600003) AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff)
1469   AM_RANGE(0x700000, 0x700001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)      // Sound
1469   AM_RANGE(0x700000, 0x700001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)      // Sound
14701470   AM_RANGE(0xc00000, 0xc00001) AM_DEVWRITE("eeprom", dokyusp_eeprom_reset_w)            // EEPROM
14711471   AM_RANGE(0xd00000, 0xd00001) AM_DEVREADWRITE("eeprom", dokyusp_eeprom_r, dokyusp_eeprom_bit_w)   // EEPROM
14721472ADDRESS_MAP_END
r9191r9192
15081508   AM_RANGE(0x900000, 0x900001) AM_WRITENOP                              // ? 4
15091509   AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE("oki", gakusai_oki_bank_lo_w)               // Samples Bank
15101510   AM_RANGE(0xc00000, 0xc00003) AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff)               //
1511   AM_RANGE(0xd00000, 0xd00001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)      // Sound
1511   AM_RANGE(0xd00000, 0xd00001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)      // Sound
15121512ADDRESS_MAP_END
15131513
15141514
r9191r9192
18011801   AM_RANGE(0x479700, 0x479713) AM_WRITEONLY AM_BASE_MEMBER(metro_state, videoregs)         // Video Registers
18021802   AM_RANGE(0x800000, 0x800001) AM_DEVWRITE("oki", mouja_sound_rombank_w)
18031803   AM_RANGE(0xc00000, 0xc00003) AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff)
1804   AM_RANGE(0xd00000, 0xd00001) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0xffff)
1804   AM_RANGE(0xd00000, 0xd00001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xffff)
18051805#if 0
18061806   AM_RANGE(0x460000, 0x46ffff) AM_READ(metro_bankedrom_r)                     // Banked ROM
18071807   AM_RANGE(0x478840, 0x47884d) AM_WRITE(metro_blitter_w) AM_BASE_MEMBER(metro_state, blitter_regs)   // Tiles Blitter
r9191r9192
18611861   AM_RANGE(0x430000, 0x433fff) AM_RAM
18621862   AM_RANGE(0x470000, 0x47dfff) AM_RAM
18631863
1864   AM_RANGE(0x500000, 0x500001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0xff00)
1864   AM_RANGE(0x500000, 0x500001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff00)
18651865   AM_RANGE(0x580000, 0x580003) AM_DEVWRITE8("ymsnd", ym2413_w, 0xff00)
18661866
18671867   AM_RANGE(0x700000, 0x71ffff) AM_RAM_WRITE(metro_vram_0_w) AM_BASE_MEMBER(metro_state, vram_0)   // Layer 0
r9191r9192
36093609   metro_io_callback
36103610};
36113611
3612static MACHINE_DRIVER_START( balcube )
3612static MACHINE_CONFIG_START( balcube, metro_state )
36133613
3614   /* driver data */
3615   MDRV_DRIVER_DATA(metro_state)
3616
36173614   /* basic machine hardware */
36183615   MDRV_CPU_ADD("maincpu", M68000, 16000000)
36193616   MDRV_CPU_PROGRAM_MAP(balcube_map)
r9191r9192
36433640   MDRV_SOUND_CONFIG(ymf278b_config)
36443641   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
36453642   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
3646MACHINE_DRIVER_END
3643MACHINE_CONFIG_END
36473644
36483645
3649static MACHINE_DRIVER_START( daitoa )
3646static MACHINE_CONFIG_START( daitoa, metro_state )
36503647
3651   /* driver data */
3652   MDRV_DRIVER_DATA(metro_state)
3653
36543648   /* basic machine hardware */
36553649   MDRV_CPU_ADD("maincpu", M68000, 16000000)
36563650   MDRV_CPU_PROGRAM_MAP(daitoa_map)
r9191r9192
36803674   MDRV_SOUND_CONFIG(ymf278b_config)
36813675   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
36823676   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
3683MACHINE_DRIVER_END
3677MACHINE_CONFIG_END
36843678
36853679
3686static MACHINE_DRIVER_START( msgogo )
3680static MACHINE_CONFIG_START( msgogo, metro_state )
36873681
3688   /* driver data */
3689   MDRV_DRIVER_DATA(metro_state)
3690
36913682   /* basic machine hardware */
36923683   MDRV_CPU_ADD("maincpu", M68000, 16000000)
36933684   MDRV_CPU_PROGRAM_MAP(msgogo_map)
r9191r9192
37173708   MDRV_SOUND_CONFIG(ymf278b_config)
37183709   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
37193710   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
3720MACHINE_DRIVER_END
3711MACHINE_CONFIG_END
37213712
37223713
3723static MACHINE_DRIVER_START( bangball )
3714static MACHINE_CONFIG_START( bangball, metro_state )
37243715
3725   /* driver data */
3726   MDRV_DRIVER_DATA(metro_state)
3727
37283716   /* basic machine hardware */
37293717   MDRV_CPU_ADD("maincpu", M68000, 16000000)
37303718   MDRV_CPU_PROGRAM_MAP(bangball_map)
r9191r9192
37543742   MDRV_SOUND_CONFIG(ymf278b_config)
37553743   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
37563744   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
3757MACHINE_DRIVER_END
3745MACHINE_CONFIG_END
37583746
37593747
3760static MACHINE_DRIVER_START( batlbubl )
3748static MACHINE_CONFIG_START( batlbubl, metro_state )
37613749
3762   /* driver data */
3763   MDRV_DRIVER_DATA(metro_state)
3764
37653750   /* basic machine hardware */
37663751   MDRV_CPU_ADD("maincpu", M68000, 16000000)
37673752   MDRV_CPU_PROGRAM_MAP(batlbubl_map)
r9191r9192
37913776   MDRV_SOUND_CONFIG(ymf278b_config)
37923777   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
37933778   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
3794MACHINE_DRIVER_END
3779MACHINE_CONFIG_END
37953780
3796static MACHINE_DRIVER_START( daitorid )
3781static MACHINE_CONFIG_START( daitorid, metro_state )
37973782
3798   /* driver data */
3799   MDRV_DRIVER_DATA(metro_state)
3800
38013783   /* basic machine hardware */
38023784   MDRV_CPU_ADD("maincpu", M68000, 16000000)
38033785   MDRV_CPU_PROGRAM_MAP(daitorid_map)
r9191r9192
38363818   MDRV_OKIM6295_ADD("oki", 1200000, OKIM6295_PIN7_HIGH) // was /128.. so pin 7 not verified
38373819   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
38383820   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
3839MACHINE_DRIVER_END
3821MACHINE_CONFIG_END
38403822
38413823
3842static MACHINE_DRIVER_START( dharma )
3824static MACHINE_CONFIG_START( dharma, metro_state )
38433825
3844   /* driver data */
3845   MDRV_DRIVER_DATA(metro_state)
3846
38473826   /* basic machine hardware */
38483827   MDRV_CPU_ADD("maincpu", M68000, 12000000)
38493828   MDRV_CPU_PROGRAM_MAP(dharma_map)
r9191r9192
38813860   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
38823861   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
38833862   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
3884MACHINE_DRIVER_END
3863MACHINE_CONFIG_END
38853864
38863865
3887static MACHINE_DRIVER_START( karatour )
3866static MACHINE_CONFIG_START( karatour, metro_state )
38883867
3889   /* driver data */
3890   MDRV_DRIVER_DATA(metro_state)
3891
38923868   /* basic machine hardware */
38933869   MDRV_CPU_ADD("maincpu", M68000, 12000000)
38943870   MDRV_CPU_PROGRAM_MAP(karatour_map)
r9191r9192
39263902   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
39273903   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
39283904   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
3929MACHINE_DRIVER_END
3905MACHINE_CONFIG_END
39303906
39313907
3932static MACHINE_DRIVER_START( 3kokushi )
3908static MACHINE_CONFIG_START( 3kokushi, metro_state )
39333909
3934   /* driver data */
3935   MDRV_DRIVER_DATA(metro_state)
3936
39373910   /* basic machine hardware */
39383911   MDRV_CPU_ADD("maincpu", M68000, 12000000)
39393912   MDRV_CPU_PROGRAM_MAP(kokushi_map)
r9191r9192
39713944   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
39723945   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
39733946   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
3974MACHINE_DRIVER_END
3947MACHINE_CONFIG_END
39753948
39763949
3977static MACHINE_DRIVER_START( lastfort )
3950static MACHINE_CONFIG_START( lastfort, metro_state )
39783951
3979   /* driver data */
3980   MDRV_DRIVER_DATA(metro_state)
3981
39823952   /* basic machine hardware */
39833953   MDRV_CPU_ADD("maincpu", M68000, 12000000)
39843954   MDRV_CPU_PROGRAM_MAP(lastfort_map)
r9191r9192
40163986   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
40173987   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
40183988   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
4019MACHINE_DRIVER_END
3989MACHINE_CONFIG_END
40203990
4021static MACHINE_DRIVER_START( lastforg )
3991static MACHINE_CONFIG_START( lastforg, metro_state )
40223992
4023   /* driver data */
4024   MDRV_DRIVER_DATA(metro_state)
4025
40263993   /* basic machine hardware */
40273994   MDRV_CPU_ADD("maincpu", M68000, 12000000)
40283995   MDRV_CPU_PROGRAM_MAP(lastforg_map)
r9191r9192
40604027   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
40614028   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
40624029   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
4063MACHINE_DRIVER_END
4030MACHINE_CONFIG_END
40644031
4065static MACHINE_DRIVER_START( dokyusei )
4032static MACHINE_CONFIG_START( dokyusei, metro_state )
40664033
4067   /* driver data */
4068   MDRV_DRIVER_DATA(metro_state)
4069
40704034   /* basic machine hardware */
40714035   MDRV_CPU_ADD("maincpu", M68000, 16000000)
40724036   MDRV_CPU_PROGRAM_MAP(dokyusei_map)
r9191r9192
40994063   MDRV_SOUND_ADD("ymsnd", YM2413, 8000000)
41004064   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
41014065   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
4102MACHINE_DRIVER_END
4066MACHINE_CONFIG_END
41034067
4104static MACHINE_DRIVER_START( dokyusp )
4068static MACHINE_CONFIG_START( dokyusp, metro_state )
41054069
4106   /* driver data */
4107   MDRV_DRIVER_DATA(metro_state)
4108
41094070   /* basic machine hardware */
41104071   MDRV_CPU_ADD("maincpu", M68000, 16000000)
41114072   MDRV_CPU_PROGRAM_MAP(dokyusp_map)
r9191r9192
41394100   MDRV_SOUND_ADD("ymsnd", YM2413, 8000000)
41404101   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
41414102   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
4142MACHINE_DRIVER_END
4103MACHINE_CONFIG_END
41434104
41444105
4145static MACHINE_DRIVER_START( gakusai )
4106static MACHINE_CONFIG_START( gakusai, metro_state )
41464107
4147   /* driver data */
4148   MDRV_DRIVER_DATA(metro_state)
4149
41504108   /* basic machine hardware */
41514109   MDRV_CPU_ADD("maincpu", M68000, 16000000)
41524110   MDRV_CPU_PROGRAM_MAP(gakusai_map)
r9191r9192
41804138   MDRV_SOUND_ADD("ymsnd", YM2413, 8000000)
41814139   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
41824140   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
4183MACHINE_DRIVER_END
4141MACHINE_CONFIG_END
41844142
41854143
4186static MACHINE_DRIVER_START( gakusai2 )
4144static MACHINE_CONFIG_START( gakusai2, metro_state )
41874145
4188   /* driver data */
4189   MDRV_DRIVER_DATA(metro_state)
4190
41914146   /* basic machine hardware */
41924147   MDRV_CPU_ADD("maincpu", M68000, 16000000)
41934148   MDRV_CPU_PROGRAM_MAP(gakusai2_map)
r9191r9192
42214176   MDRV_SOUND_ADD("ymsnd", YM2413, 8000000)
42224177   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
42234178   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
4224MACHINE_DRIVER_END
4179MACHINE_CONFIG_END
42254180
42264181
4227static MACHINE_DRIVER_START( pangpoms )
4182static MACHINE_CONFIG_START( pangpoms, metro_state )
42284183
4229   /* driver data */
4230   MDRV_DRIVER_DATA(metro_state)
4231
42324184   /* basic machine hardware */
42334185   MDRV_CPU_ADD("maincpu", M68000, 12000000)
42344186   MDRV_CPU_PROGRAM_MAP(pangpoms_map)
r9191r9192
42664218   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
42674219   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
42684220   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
4269MACHINE_DRIVER_END
4221MACHINE_CONFIG_END
42704222
42714223
4272static MACHINE_DRIVER_START( poitto )
4224static MACHINE_CONFIG_START( poitto, metro_state )
42734225
4274   /* driver data */
4275   MDRV_DRIVER_DATA(metro_state)
4276
42774226   /* basic machine hardware */
42784227   MDRV_CPU_ADD("maincpu", M68000, 12000000)
42794228   MDRV_CPU_PROGRAM_MAP(poitto_map)
r9191r9192
43114260   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
43124261   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
43134262   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
4314MACHINE_DRIVER_END
4263MACHINE_CONFIG_END
43154264
43164265
4317static MACHINE_DRIVER_START( pururun )
4266static MACHINE_CONFIG_START( pururun, metro_state )
43184267
4319   /* driver data */
4320   MDRV_DRIVER_DATA(metro_state)
4321
43224268   /* basic machine hardware */
43234269   MDRV_CPU_ADD("maincpu", M68000, 12000000)
43244270   MDRV_CPU_PROGRAM_MAP(pururun_map)
r9191r9192
43584304   MDRV_OKIM6295_ADD("oki", 1200000, OKIM6295_PIN7_HIGH) // was /128.. so pin 7 not verified
43594305   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
43604306   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
4361MACHINE_DRIVER_END
4307MACHINE_CONFIG_END
43624308
43634309
4364static MACHINE_DRIVER_START( skyalert )
4310static MACHINE_CONFIG_START( skyalert, metro_state )
43654311
4366   /* driver data */
4367   MDRV_DRIVER_DATA(metro_state)
4368
43694312   /* basic machine hardware */
43704313   MDRV_CPU_ADD("maincpu", M68000, 12000000)
43714314   MDRV_CPU_PROGRAM_MAP(skyalert_map)
r9191r9192
44034346   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
44044347   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
44054348   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
4406MACHINE_DRIVER_END
4349MACHINE_CONFIG_END
44074350
44084351
4409static MACHINE_DRIVER_START( toride2g )
4352static MACHINE_CONFIG_START( toride2g, metro_state )
44104353
4411   /* driver data */
4412   MDRV_DRIVER_DATA(metro_state)
4413
44144354   /* basic machine hardware */
44154355   MDRV_CPU_ADD("maincpu", M68000, 12000000)
44164356   MDRV_CPU_PROGRAM_MAP(toride2g_map)
r9191r9192
44484388   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
44494389   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90)
44504390   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90)
4451MACHINE_DRIVER_END
4391MACHINE_CONFIG_END
44524392
44534393
4454static MACHINE_DRIVER_START( mouja )
4394static MACHINE_CONFIG_START( mouja, metro_state )
44554395
4456   /* driver data */
4457   MDRV_DRIVER_DATA(metro_state)
4458
44594396   /* basic machine hardware */
44604397   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* ??? */
44614398   MDRV_CPU_PROGRAM_MAP(mouja_map)
r9191r9192
44874424   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
44884425   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00)
44894426   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
4490MACHINE_DRIVER_END
4427MACHINE_CONFIG_END
44914428
44924429
44934430static const k053936_interface blzntrnd_k053936_intf =
r9191r9192
44954432   0, -69, -21
44964433};
44974434
4498static MACHINE_DRIVER_START( blzntrnd )
4435static MACHINE_CONFIG_START( blzntrnd, metro_state )
44994436
4500   /* driver data */
4501   MDRV_DRIVER_DATA(metro_state)
4502
45034437   /* basic machine hardware */
45044438   MDRV_CPU_ADD("maincpu", M68000, 16000000)
45054439   MDRV_CPU_PROGRAM_MAP(blzntrnd_map)
r9191r9192
45374471   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
45384472   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
45394473   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
4540MACHINE_DRIVER_END
4474MACHINE_CONFIG_END
45414475
45424476/* like blzntrnd but new vidstart / gfxdecode for the different bg tilemap */
45434477
r9191r9192
45464480   0, -69, -19
45474481};
45484482
4549static MACHINE_DRIVER_START( gstrik2 )
4483static MACHINE_CONFIG_START( gstrik2, metro_state )
45504484
4551   /* driver data */
4552   MDRV_DRIVER_DATA(metro_state)
4553
45544485   /* basic machine hardware */
45554486   MDRV_CPU_ADD("maincpu", M68000, 16000000)
45564487   MDRV_CPU_PROGRAM_MAP(blzntrnd_map)
r9191r9192
45884519   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
45894520   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
45904521   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
4591MACHINE_DRIVER_END
4522MACHINE_CONFIG_END
45924523
45934524
45944525static INTERRUPT_GEN( puzzlet_interrupt )
r9191r9192
46244555   }
46254556}
46264557
4627static MACHINE_DRIVER_START( puzzlet )
4558static MACHINE_CONFIG_START( puzzlet, metro_state )
46284559
4629   /* driver data */
4630   MDRV_DRIVER_DATA(metro_state)
4631
46324560   /* basic machine hardware */
46334561   MDRV_CPU_ADD("maincpu", H83007, XTAL_20MHz)   // H8/3007 - Hitachi HD6413007F20 CPU. Clock 20MHz
46344562   MDRV_CPU_PROGRAM_MAP(puzzlet_map)
r9191r9192
46624590   MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_20MHz/5)
46634591   MDRV_SOUND_ROUTE(0, "lspeaker", 0.90)
46644592   MDRV_SOUND_ROUTE(1, "rspeaker", 0.90)
4665MACHINE_DRIVER_END
4593MACHINE_CONFIG_END
46664594
46674595
46684596/***************************************************************************
src/mame/drivers/angelkds.c
r9191r9192
604604   state->bgtopbank = 0;
605605}
606606
607static MACHINE_DRIVER_START( angelkds )
607static MACHINE_CONFIG_START( angelkds, angelkds_state )
608608
609   /* driver data */
610   MDRV_DRIVER_DATA(angelkds_state)
611
612609   MDRV_CPU_ADD("maincpu", Z80, 8000000) /* 8MHz? 6 seems too slow? */
613610   MDRV_CPU_PROGRAM_MAP(main_map)
614611   MDRV_CPU_IO_MAP(main_portmap)
r9191r9192
650647   MDRV_SOUND_ROUTE(1, "mono", 0.65)
651648   MDRV_SOUND_ROUTE(2, "mono", 0.65)
652649   MDRV_SOUND_ROUTE(3, "mono", 0.45)
653MACHINE_DRIVER_END
650MACHINE_CONFIG_END
654651
655652/*** Rom Loading
656653
src/mame/drivers/jrpacman.c
r9191r9192
263263 *
264264 *************************************/
265265
266static MACHINE_DRIVER_START( jrpacman )
266static MACHINE_CONFIG_START( jrpacman, driver_device )
267267
268268   /* basic machine hardware */
269269   MDRV_CPU_ADD("maincpu", Z80, 18432000/6)   /* 3.072 MHz */
r9191r9192
292292   MDRV_SOUND_ADD("namco", NAMCO, 3072000/32)
293293   MDRV_SOUND_CONFIG(namco_config)
294294   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
295MACHINE_DRIVER_END
295MACHINE_CONFIG_END
296296
297297
298298
src/mame/drivers/nightgal.c
r9191r9192
2727
2828#define MASTER_CLOCK   XTAL_19_968MHz
2929
30class nightgal_state : public driver_data_t
30class nightgal_state : public driver_device
3131{
3232public:
33   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nightgal_state(machine)); }
33   nightgal_state(running_machine &machine, const driver_device_config_base &config)
34      : driver_device(machine, config) { }
3435
35   nightgal_state(running_machine &machine)
36      : driver_data_t(machine) { }
37
3836   /* memory pointers */
3937   UINT8 *    blit_buffer;
4038
r9191r9192
858856   memset(state->pen_raw_data, 0, ARRAY_LENGTH(state->pen_raw_data));
859857}
860858
861static MACHINE_DRIVER_START( royalqn )
859static MACHINE_CONFIG_START( royalqn, nightgal_state )
862860
863   /* driver data */
864   MDRV_DRIVER_DATA(nightgal_state)
865
866861   /* basic machine hardware */
867862   MDRV_CPU_ADD("maincpu", Z80,MASTER_CLOCK / 8)       /* ? MHz */
868863   MDRV_CPU_PROGRAM_MAP(royalqn_map)
r9191r9192
898893   MDRV_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK / 8)
899894   MDRV_SOUND_CONFIG(ay8910_config)
900895   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
901MACHINE_DRIVER_END
896MACHINE_CONFIG_END
902897
903static MACHINE_DRIVER_START( sexygal )
898static MACHINE_CONFIG_DERIVED( sexygal, royalqn )
899
904900   /* basic machine hardware */
905   MDRV_IMPORT_FROM( royalqn )
906901   MDRV_CPU_MODIFY("maincpu")
907902   MDRV_CPU_PROGRAM_MAP(sexygal_map)
908903   MDRV_CPU_IO_MAP(sexygal_io)
r9191r9192
917912   MDRV_SOUND_ADD("ymsnd", YM2203, MASTER_CLOCK / 8)
918913   MDRV_SOUND_CONFIG(ay8910_config)
919914   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
920MACHINE_DRIVER_END
915MACHINE_CONFIG_END
921916
922static MACHINE_DRIVER_START( ngalsumr )
923   MDRV_IMPORT_FROM( royalqn )
917static MACHINE_CONFIG_DERIVED( ngalsumr, royalqn )
924918   MDRV_CPU_MODIFY("maincpu")
925919   MDRV_CPU_PROGRAM_MAP(royalqn_map)
926920   MDRV_CPU_IO_MAP(royalqn_io)
927921   MDRV_CPU_PERIODIC_INT(nmi_line_pulse,244)//???
928MACHINE_DRIVER_END
922MACHINE_CONFIG_END
929923
930924/*
931925Night Gal
src/mame/drivers/maygayv1.c
r9191r9192
132132#include "machine/68681.h"
133133#include "sound/2413intf.h"
134134#include "sound/upd7759.h"
135#include "machine/nvram.h"
135136
136137
137138/*************************************
r9191r9192
641642
642643static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
643644   AM_RANGE(0x000000, 0x07ffff) AM_ROM
644   AM_RANGE(0x080000, 0x083fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
645   AM_RANGE(0x080000, 0x083fff) AM_RAM AM_SHARE("nvram")
645646   AM_RANGE(0x100000, 0x17ffff) AM_ROM AM_REGION("maincpu", 0x80000)
646647   AM_RANGE(0x820000, 0x820003) AM_READWRITE(maygay_8279_r, maygay_8279_w)
647648   AM_RANGE(0x800000, 0x800003) AM_DEVWRITE8( "ymsnd", ym2413_w, 0xff00 )
r9191r9192
989990}
990991
991992
992static MACHINE_DRIVER_START( maygayv1 )
993static MACHINE_CONFIG_START( maygayv1, driver_device )
993994   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK / 2)
994995   MDRV_CPU_PROGRAM_MAP(main_map)
995996   MDRV_CPU_VBLANK_INT("screen", vsync_interrupt)
r9191r9192
10041005   MDRV_MACHINE_START(maygayv1)
10051006   MDRV_MACHINE_RESET(maygayv1)
10061007
1007   MDRV_NVRAM_HANDLER(generic_0fill)
1008   MDRV_NVRAM_ADD_0FILL("nvram")
10081009
10091010   /* TODO: Use real video timings */
10101011   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
10291030
10301031   MDRV_SOUND_ADD("upd",UPD7759, UPD7759_STANDARD_CLOCK)
10311032   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1032MACHINE_DRIVER_END
1033MACHINE_CONFIG_END
10331034
10341035
10351036/*************************************
src/mame/drivers/namcond1.c
r9191r9192
281281  - The level 1 interrupt to the 68k has been measured at 60Hz.
282282*******************************************/
283283
284static MACHINE_DRIVER_START( namcond1 )
284static MACHINE_CONFIG_START( namcond1, driver_device )
285285
286286   /* basic machine hardware */
287287   MDRV_CPU_ADD("maincpu", M68000, 12288000)
r9191r9192
329329   MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
330330
331331   MDRV_AT28C16_ADD( "at28c16", NULL )
332MACHINE_DRIVER_END
332MACHINE_CONFIG_END
333333
334334ROM_START( ncv1 )
335335   ROM_REGION( 0x100000,"maincpu", 0 )      /* 16MB for Main CPU */
src/mame/drivers/rgum.c
r9191r9192
249249   DEVCB_NULL
250250};
251251
252static MACHINE_DRIVER_START( rgum )
252static MACHINE_CONFIG_START( rgum, driver_device )
253253   /* basic machine hardware */
254254   MDRV_CPU_ADD("maincpu", M65C02,24000000/16)       /* ? MHz */
255255   MDRV_CPU_PROGRAM_MAP(rgum_map)
r9191r9192
278278   MDRV_SOUND_ADD("aysnd", AY8910, 24000000/16) /* guessed to use the same xtal as the crtc */
279279   MDRV_SOUND_CONFIG(ay8910_config)
280280   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
281MACHINE_DRIVER_END
281MACHINE_CONFIG_END
282282
283283
284284
src/mame/drivers/surpratk.c
r9191r9192
238238   state->videobank = 0;
239239}
240240
241static MACHINE_DRIVER_START( surpratk )
241static MACHINE_CONFIG_START( surpratk, surpratk_state )
242242
243   /* driver data */
244   MDRV_DRIVER_DATA(surpratk_state)
245
246243   /* basic machine hardware */
247244   MDRV_CPU_ADD("maincpu", KONAMI, 3000000)   /* 053248 */
248245   MDRV_CPU_PROGRAM_MAP(surpratk_map)
r9191r9192
276273   MDRV_SOUND_CONFIG(ym2151_config)
277274   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
278275   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
279MACHINE_DRIVER_END
276MACHINE_CONFIG_END
280277
281278/***************************************************************************
282279
src/mame/drivers/neptunp2.c
r9191r9192
6666//  GFXDECODE_ENTRY( "gfx1", 0, charlayout,     0, 8 )
6767GFXDECODE_END
6868
69static MACHINE_DRIVER_START( neptunp2 )
69static MACHINE_CONFIG_START( neptunp2, driver_device )
7070
7171   /* basic machine hardware */
7272   MDRV_CPU_ADD("maincpu",I80188,20000000) // N80C188-20 AMD
r9191r9192
9090   /* sound hardware */
9191   MDRV_SPEAKER_STANDARD_MONO("mono")
9292
93MACHINE_DRIVER_END
93MACHINE_CONFIG_END
9494
9595/***************************************************************************
9696
src/mame/drivers/zaccaria.c
r9191r9192
4545#include "sound/ay8910.h"
4646#include "sound/dac.h"
4747#include "sound/tms5220.h"
48#include "includes/zaccaria.h"
4849
4950
50extern UINT8 *zaccaria_videoram,*zaccaria_attributesram;
51
52PALETTE_INIT( zaccaria );
53VIDEO_START( zaccaria );
54WRITE8_HANDLER( zaccaria_videoram_w );
55WRITE8_HANDLER( zaccaria_attributes_w );
56WRITE8_HANDLER( zaccaria_flip_screen_x_w );
57WRITE8_HANDLER( zaccaria_flip_screen_y_w );
58VIDEO_UPDATE( zaccaria );
59
60
6151static int dsw;
6252static int active_8910, port0a, acs;
6353static int last_port0b;
r9191r9192
586576
587577
588578
589static MACHINE_DRIVER_START( zaccaria )
579static MACHINE_CONFIG_START( zaccaria, driver_device )
590580
591581   /* basic machine hardware */
592582   MDRV_CPU_ADD("maincpu", Z80,XTAL_18_432MHz/6)   /* verified on pcb */
r9191r9192
640630   MDRV_SOUND_ADD("tms", TMS5200, 649200) /* ROMCLK pin measured at 162.3Khz, OSC is exactly *4 of that) */
641631   MDRV_SOUND_CONFIG(tms5220_config)
642632   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
643MACHINE_DRIVER_END
633MACHINE_CONFIG_END
644634
645635
646636
src/mame/drivers/speedbal.c
r9191r9192
5454#include "cpu/z80/z80.h"
5555#include "deprecat.h"
5656#include "sound/3812intf.h"
57#include "includes/speedbal.h"
58#include "machine/nvram.h"
5759
58
59extern UINT8 *speedbal_background_videoram;
60extern UINT8 *speedbal_foreground_videoram;
61
62VIDEO_START( speedbal );
63VIDEO_UPDATE( speedbal );
64WRITE8_HANDLER( speedbal_foreground_videoram_w );
65WRITE8_HANDLER( speedbal_background_videoram_w );
66
6760static WRITE8_HANDLER( speedbal_coincounter_w )
6861{
6962   coin_counter_w(space->machine, 0, data & 0x80);
r9191r9192
7871   AM_RANGE(0xe000, 0xe1ff) AM_RAM_WRITE(speedbal_background_videoram_w) AM_BASE(&speedbal_background_videoram)
7972   AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(speedbal_foreground_videoram_w) AM_BASE(&speedbal_foreground_videoram)
8073   AM_RANGE(0xf000, 0xf5ff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_be_w) AM_BASE_GENERIC(paletteram)
81   AM_RANGE(0xf600, 0xfeff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
74   AM_RANGE(0xf600, 0xfeff) AM_RAM AM_SHARE("nvram")
8275   AM_RANGE(0xff00, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
8376ADDRESS_MAP_END
8477
r9191r9192
225218
226219
227220
228static MACHINE_DRIVER_START( speedbal )
221static MACHINE_CONFIG_START( speedbal, driver_device )
229222
230223   /* basic machine hardware */
231224   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz ??? */
r9191r9192
238231   MDRV_CPU_IO_MAP(sound_cpu_io_map)
239232   MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,8)
240233
241   MDRV_NVRAM_HANDLER(generic_1fill)
234   MDRV_NVRAM_ADD_1FILL("nvram")
242235
243236   /* video hardware */
244237   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
259252
260253   MDRV_SOUND_ADD("ymsnd", YM3812, 3600000)
261254   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
262MACHINE_DRIVER_END
255MACHINE_CONFIG_END
263256
264257
265258
src/mame/drivers/attckufo.c
r9191r9192
4646#include "sound/mos6560.h"
4747
4848
49class attckufo_state : public driver_data_t
49class attckufo_state : public driver_device
5050{
5151public:
52   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, attckufo_state(machine)); }
52   attckufo_state(running_machine &machine, const driver_device_config_base &config)
53      : driver_device(machine, config),
54        maincpu(*this, "maincpu"),
55        mos6560(*this, "mos6560") { }
5356
54   attckufo_state(running_machine &machine)
55      : driver_data_t(machine),
56        maincpu(machine.device<cpu_device>("maincpu")),
57        mos6560(machine.device("mos6560")) { }
58
5957   /* memory pointers */
6058   UINT8 *      mainram;
6159   UINT8 *      tileram;
6260
6361   /* devices */
64   cpu_device *maincpu;
65   running_device *mos6560;
62   required_device<cpu_device> maincpu;
63   required_device<mos6560_device> mos6560;
6664};
6765
6866
r9191r9192
191189};
192190
193191
194static MACHINE_DRIVER_START( attckufo )
192static MACHINE_CONFIG_START( attckufo, attckufo_state )
195193
196   /* driver data */
197   MDRV_DRIVER_DATA(attckufo_state)
198
199194   /* basic machine hardware */
200195   MDRV_CPU_ADD("maincpu", M6502, 14318181/14)
201196   MDRV_CPU_PROGRAM_MAP(cpu_map)
r9191r9192
218213   MDRV_SPEAKER_STANDARD_MONO("mono")
219214   MDRV_MOS656X_ADD("mos6560", attckufo_6560_intf)
220215   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
221MACHINE_DRIVER_END
216MACHINE_CONFIG_END
222217
223218ROM_START( attckufo )
224219   ROM_REGION( 0x4000, "maincpu", 0 )
src/mame/drivers/jongkyo.c
r9191r9192
3232#define JONGKYO_CLOCK 18432000
3333
3434
35class jongkyo_state : public driver_data_t
35class jongkyo_state : public driver_device
3636{
3737public:
38   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jongkyo_state(machine)); }
38   jongkyo_state(running_machine &machine, const driver_device_config_base &config)
39      : driver_device(machine, config) { }
3940
40   jongkyo_state(running_machine &machine)
41      : driver_data_t(machine) { }
42
4341   /* memory pointers */
4442   UINT8 *  videoram;
4543   UINT8 *  videoram2;
r9191r9192
486484}
487485
488486
489static MACHINE_DRIVER_START( jongkyo )
487static MACHINE_CONFIG_START( jongkyo, jongkyo_state )
490488
491   /* driver data */
492   MDRV_DRIVER_DATA(jongkyo_state)
493
494489   /* basic machine hardware */
495490   MDRV_CPU_ADD("maincpu", Z80,JONGKYO_CLOCK/4)
496491   MDRV_CPU_PROGRAM_MAP(jongkyo_memmap)
r9191r9192
518513   MDRV_SOUND_ADD("aysnd", AY8910, JONGKYO_CLOCK/8)
519514   MDRV_SOUND_CONFIG(ay8910_config)
520515   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
521MACHINE_DRIVER_END
516MACHINE_CONFIG_END
522517
523518
524519/*************************************
src/mame/drivers/littlerb.c
r9191r9192
494494   cpu_set_input_line(device, 4, HOLD_LINE);
495495}
496496
497static MACHINE_DRIVER_START( littlerb )
497static MACHINE_CONFIG_START( littlerb, driver_device )
498498   MDRV_CPU_ADD("maincpu", M68000, 12000000)
499499   MDRV_CPU_PROGRAM_MAP(littlerb_main)
500500   MDRV_CPU_VBLANK_INT("screen", littlerb)
r9191r9192
513513
514514//  MDRV_PALETTE_INIT(littlerb)
515515   MDRV_VIDEO_UPDATE(littlerb)
516MACHINE_DRIVER_END
516MACHINE_CONFIG_END
517517
518518ROM_START( littlerb )
519519   ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
src/mame/drivers/tagteam.c
r9191r9192
2929#include "cpu/m6502/m6502.h"
3030#include "sound/ay8910.h"
3131#include "sound/dac.h"
32#include "includes/tagteam.h"
3233
33extern UINT8 *tagteam_videoram;
34extern UINT8 *tagteam_colorram;
35
36extern WRITE8_HANDLER( tagteam_videoram_w );
37extern WRITE8_HANDLER( tagteam_colorram_w );
38extern READ8_HANDLER( tagteam_mirrorvideoram_r );
39extern WRITE8_HANDLER( tagteam_mirrorvideoram_w );
40extern READ8_HANDLER( tagteam_mirrorcolorram_r );
41extern WRITE8_HANDLER( tagteam_mirrorcolorram_w );
42extern WRITE8_HANDLER( tagteam_control_w );
43extern WRITE8_HANDLER( tagteam_flipscreen_w );
44
45extern PALETTE_INIT( tagteam );
46extern VIDEO_START( tagteam );
47extern VIDEO_UPDATE( tagteam );
48
4934static WRITE8_HANDLER( sound_command_w )
5035{
5136   soundlatch_w(space, offset, data);
r9191r9192
226211
227212
228213
229static MACHINE_DRIVER_START( tagteam )
214static MACHINE_CONFIG_START( tagteam, driver_device )
230215
231216   /* basic machine hardware */
232217   MDRV_CPU_ADD("maincpu", M6502, 1500000)   /* 1.5 MHz ?? */
r9191r9192
263248
264249   MDRV_SOUND_ADD("dac", DAC, 0)
265250   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
266MACHINE_DRIVER_END
251MACHINE_CONFIG_END
267252
268253
269254
src/mame/drivers/eolith.c
r9191r9192
5555#include "cpu/e132xs/e132xs.h"
5656#include "deprecat.h"
5757#include "machine/eeprom.h"
58#include "includes/eolith.h"
5859
59READ32_HANDLER(eolith_vram_r);
60WRITE32_HANDLER(eolith_vram_w);
61VIDEO_START(eolith);
62VIDEO_UPDATE(eolith);
63
64extern int eolith_buffer;
65
6660static int coin_counter_bit = 0;
6761
6862#include "includes/eolithsp.h"
r9191r9192
337331
338332
339333
340static MACHINE_DRIVER_START( eolith45 )
334static MACHINE_CONFIG_START( eolith45, driver_device )
341335   MDRV_CPU_ADD("maincpu", E132N, 45000000)       /* 45 MHz */
342336   MDRV_CPU_PROGRAM_MAP(eolith_map)
343337   MDRV_CPU_VBLANK_INT_HACK(eolith_speedup,262)
r9191r9192
361355   MDRV_VIDEO_UPDATE(eolith)
362356
363357   /* sound hardware */
364MACHINE_DRIVER_END
358MACHINE_CONFIG_END
365359
366static MACHINE_DRIVER_START( eolith50 )
367   MDRV_IMPORT_FROM(eolith45)
360static MACHINE_CONFIG_DERIVED( eolith50, eolith45 )
368361   MDRV_CPU_MODIFY("maincpu")
369362   MDRV_CPU_CLOCK(50000000)       /* 50 MHz */
370MACHINE_DRIVER_END
363MACHINE_CONFIG_END
371364
372static MACHINE_DRIVER_START( ironfort )
373   MDRV_IMPORT_FROM(eolith45)
365static MACHINE_CONFIG_DERIVED( ironfort, eolith45 )
374366   MDRV_CPU_MODIFY("maincpu")
375367   MDRV_CPU_CLOCK(44900000) /* Normaly 45MHz??? but PCB actually had a 44.9MHz OSC, so it's value is used */
376MACHINE_DRIVER_END
368MACHINE_CONFIG_END
377369
378370
379371
src/mame/drivers/namcos23.c
r9191r9192
669669      Game             Code and revision    Notes
670670      -----------------------------------------------------------------------
671671      Crisis Zone      CSZO3 Ver.B          Serialsed ROMs, IC2 not populated
672      Crisis Zone      CSZO2 Ver.A          Serialsed ROMs, IC2 not populated
672673
673674
674675ROM PCB
r9191r9192
11591160#include "cpu/h83002/h8.h"
11601161#include "cpu/sh2/sh2.h"
11611162#include "sound/c352.h"
1163#include "machine/nvram.h"
11621164
11631165#define S23_BUSCLOCK   (66664460/2)   // 33 MHz CPU bus clock / input, somehow derived from 14.31721 MHz crystal
11641166#define S23_VSYNC1   (59.8824)
r9191r9192
22412243
22422244   AM_RANGE(0x08000000, 0x087fffff) AM_ROM AM_REGION("data", 0)   // data ROMs
22432245
2244   AM_RANGE(0x0c000000, 0x0c00ffff) AM_RAM   AM_BASE_SIZE_GENERIC(nvram) // BACKUP
2246   AM_RANGE(0x0c000000, 0x0c00ffff) AM_RAM   AM_SHARE("nvram") // BACKUP
22452247
22462248   AM_RANGE(0x0d000000, 0x0d00000f) AM_READWRITE16( s23_ctl_r, s23_ctl_w, 0xffffffff ) // write for LEDs at d000000, watchdog at d000004
22472249
r9191r9192
22602262   AM_RANGE(0x04400000, 0x0440ffff) AM_RAM AM_BASE(&namcos23_shared_ram)
22612263   AM_RANGE(0x04c3ff08, 0x04c3ff0b) AM_WRITE( s23_mcuen_w )
22622264   AM_RANGE(0x04c3ff0c, 0x04c3ff0f) AM_RAM
2263   AM_RANGE(0x06000000, 0x0600ffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) // Backup
2265   AM_RANGE(0x06000000, 0x0600ffff) AM_RAM AM_SHARE("nvram") // Backup
22642266   AM_RANGE(0x06200000, 0x06203fff) AM_RAM                             // C422
22652267   AM_RANGE(0x06400000, 0x0640000f) AM_READWRITE16( s23_c422_r, s23_c422_w, 0xffffffff ) // C422 registers
22662268   AM_RANGE(0x06800000, 0x06807fff) AM_RAM_WRITE( s23_txtchar_w ) AM_BASE(&namcos23_charram) // text layer characters (shown as CGRAM in POST)
r9191r9192
28362838       (!strcmp(machine->gamedrv->name, "finfurl2")) ||
28372839       (!strcmp(machine->gamedrv->name, "finfurl2j")) ||
28382840       (!strcmp(machine->gamedrv->name, "crszone")) ||
2841       (!strcmp(machine->gamedrv->name, "crszone2")) ||
28392842       (!strcmp(machine->gamedrv->name, "timecrs2b")) ||
28402843       (!strcmp(machine->gamedrv->name, "timecrs2")))
28412844   {
r9191r9192
28712874   8192            /* data cache size - VERIFIED */
28722875};
28732876
2874static MACHINE_DRIVER_START( gorgon )
2877static MACHINE_CONFIG_START( gorgon, driver_device )
28752878
28762879   /* basic machine hardware */
28772880   MDRV_CPU_ADD("maincpu", R4650BE, S23_BUSCLOCK*4)
r9191r9192
28992902
29002903   MDRV_PALETTE_LENGTH(0x8000)
29012904
2902   MDRV_NVRAM_HANDLER(generic_0fill)
2905   MDRV_NVRAM_ADD_0FILL("nvram")
29032906
29042907   MDRV_GFXDECODE(namcos23)
29052908
r9191r9192
29162919   MDRV_SOUND_ROUTE(1, "lspeaker", 1.00)
29172920   MDRV_SOUND_ROUTE(2, "rspeaker", 1.00)
29182921   MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
2919MACHINE_DRIVER_END
2922MACHINE_CONFIG_END
29202923
2921static MACHINE_DRIVER_START( s23 )
2924static MACHINE_CONFIG_START( s23, driver_device )
29222925   /* basic machine hardware */
29232926   MDRV_CPU_ADD("maincpu", R4650BE, S23_BUSCLOCK*4)
29242927   MDRV_CPU_CONFIG(r4650_config)
r9191r9192
29472950
29482951   MDRV_GFXDECODE(namcos23)
29492952
2950   MDRV_NVRAM_HANDLER(generic_0fill)
2953   MDRV_NVRAM_ADD_0FILL("nvram")
29512954
29522955   MDRV_VIDEO_START(ss23)
29532956   MDRV_VIDEO_UPDATE(ss23)
r9191r9192
29622965   MDRV_SOUND_ROUTE(1, "lspeaker", 1.00)
29632966   MDRV_SOUND_ROUTE(2, "rspeaker", 1.00)
29642967   MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
2965MACHINE_DRIVER_END
2968MACHINE_CONFIG_END
29662969
2967static MACHINE_DRIVER_START( ss23 )
2970static MACHINE_CONFIG_START( ss23, driver_device )
29682971   /* basic machine hardware */
29692972   MDRV_CPU_ADD("maincpu", R4650BE, S23_BUSCLOCK*5)
29702973   MDRV_CPU_CONFIG(r4650_config)
r9191r9192
29892992
29902993   MDRV_GFXDECODE(namcos23)
29912994
2992   MDRV_NVRAM_HANDLER(generic_0fill)
2995   MDRV_NVRAM_ADD_0FILL("nvram")
29932996
29942997   MDRV_VIDEO_START(ss23)
29952998   MDRV_VIDEO_UPDATE(ss23)
r9191r9192
30043007   MDRV_SOUND_ROUTE(1, "lspeaker", 1.00)
30053008   MDRV_SOUND_ROUTE(2, "rspeaker", 1.00)
30063009   MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
3007MACHINE_DRIVER_END
3010MACHINE_CONFIG_END
30083011
3009static MACHINE_DRIVER_START( ss23io )
3010   MDRV_IMPORT_FROM( ss23 )
3012static MACHINE_CONFIG_DERIVED( ss23io, ss23 )
30113013
30123014   MDRV_CPU_MODIFY("audiocpu")
30133015   MDRV_CPU_IO_MAP( s23h8iomap )
r9191r9192
30153017   MDRV_CPU_ADD("ioboard", H83334, 14745600 )
30163018   MDRV_CPU_PROGRAM_MAP( s23iobrdmap )
30173019   MDRV_CPU_IO_MAP( s23iobrdiomap )
3018MACHINE_DRIVER_END
3020MACHINE_CONFIG_END
30193021
3020static MACHINE_DRIVER_START( ss23e2 )
3021   MDRV_IMPORT_FROM( ss23 )
3022static MACHINE_CONFIG_DERIVED( ss23e2, ss23 )
30223023
30233024   MDRV_CPU_MODIFY("maincpu")
30243025   MDRV_CPU_CLOCK(S23_BUSCLOCK*6)
r9191r9192
30293030   MDRV_CPU_ADD("ioboard", H83334, 14745600 )
30303031   MDRV_CPU_PROGRAM_MAP( s23iobrdmap )
30313032   MDRV_CPU_IO_MAP( s23iobrdiomap )
3032MACHINE_DRIVER_END
3033MACHINE_CONFIG_END
30333034
3034static MACHINE_DRIVER_START( gmen )
3035   MDRV_IMPORT_FROM( s23 )
3035static MACHINE_CONFIG_DERIVED( gmen, s23 )
30363036
30373037   MDRV_CPU_MODIFY("maincpu")
30383038   MDRV_CPU_CLOCK(S23_BUSCLOCK*5)
r9191r9192
30423042   MDRV_CPU_PROGRAM_MAP(gmen_sh2_map)
30433043
30443044   MDRV_MACHINE_RESET(gmen)
3045MACHINE_DRIVER_END
3045MACHINE_CONFIG_END
30463046
30473047ROM_START( rapidrvr )
30483048   ROM_REGION32_BE( 0x400000, "user1", 0 ) /* 4 megs for main R4650 code */
r9191r9192
37163716   ROM_LOAD( "csz1ccrh.7k",  0x000000, 0x200000, CRC(bc2fa03c) SHA1(e63d8e75494a383bf9a213edfa9c472a010f8efe) )
37173717ROM_END
37183718
3719ROM_START( crszonea )
3720   ROM_REGION32_BE( 0x800000, "user1", 0 ) /* 4 megs for main R4650 code */
3721        ROM_LOAD16_WORD_SWAP( "cszo2vera.ic4", 0x400000, 0x400000, CRC(1426d8d0) SHA1(e8049df1b2db1180f9edf6e5fa9fe8692ae81086) )
3722   ROM_CONTINUE( 0x000000, 0x400000 )
3723
3724   ROM_REGION( 0x80000, "audiocpu", 0 )   /* Hitachi H8/3002 MCU code */
3725   ROM_LOAD16_WORD_SWAP( "cszo3verb.ic1", 0x000000, 0x080000, CRC(c790743b) SHA1(5fa7b83a7a1b1105a3aa0870b782cf2741b7d11c) )
3726
3727   ROM_REGION( 0x40000, "ioboard", 0 )   /* I/O board HD643334 H8/3334 MCU code. "MIU-I/O;Ver2.05;JPN,GUN-EXTENTION" */
3728   ROM_LOAD( "csz1prg0a.8f", 0x000000, 0x020000, CRC(8edc36b3) SHA1(b5df211988d856572fcc313480e693c8561784e4) )
3729
3730   ROM_REGION32_BE( 0x2000000, "data", 0 )   /* data roms */
3731   ROM_LOAD16_BYTE( "csz1mtah.2j",  0x0000000, 0x800000, CRC(66b076ad) SHA1(edd32e0b380f01a9626d32f5eec860f841c8be8a) )
3732   ROM_LOAD16_BYTE( "csz1mtal.2h",  0x0000001, 0x800000, CRC(38dc639a) SHA1(aa9b5b35174c1b007a57a4bd7a53bc3f479b5b71) )
3733   ROM_LOAD16_BYTE( "csz1mtbh.2m",  0x1000000, 0x800000, CRC(bdec4188) SHA1(a098651fbd8a69a0afc17f4b6c93350926cacd6b) )
3734   ROM_LOAD16_BYTE( "csz1mtbl.2f",  0x1000001, 0x800000, CRC(9c8f8d7a) SHA1(f61bcc9763df15428c82931a605ee40334d5ad98) )
3735
3736   ROM_REGION( 0x2000000, "textile", 0 )   /* texture tiles */
3737   ROM_LOAD( "csz1cgll.4m",  0x0000000, 0x800000, CRC(0bcd41f2) SHA1(80b74f9398e8bd074f79a14490d06cfeb875c874) )
3738   ROM_LOAD( "csz1cglm.4k",  0x0800000, 0x800000, CRC(d4af93d1) SHA1(0df37b793ce8da02d14f714722382786ae5d3ce2) )
3739   ROM_LOAD( "csz1cgum.4j",  0x1000000, 0x800000, CRC(913c98b5) SHA1(b952dbc19053796077d4f33e8da836893e933b12) )
3740   ROM_LOAD( "csz1cguu.5f",  0x1800000, 0x800000, CRC(e1d1bf24) SHA1(daf2c68e2d9a8f313d262d221cc990c93dfdf22f) )
3741
3742   ROM_REGION16_LE( 0x400000, "textilemapl", 0 )   /* texture tilemap 0-15 */
3743   ROM_LOAD( "csz1ccrl.7f",  0x000000, 0x400000, CRC(1c20768d) SHA1(6cf4280e26f3625d6f750837bf344163e7e93c3d) )
3744
3745   ROM_REGION( 0x200000, "textilemaph", 0 )      /* texture tilemap 16-17 + attr */
3746   ROM_LOAD( "csz1ccrh.7e",  0x000000, 0x200000, CRC(bc2fa03c) SHA1(e63d8e75494a383bf9a213edfa9c472a010f8efe) )
3747
3748   ROM_REGION32_BE( 0x2000000, "pointrom", 0 )   /* 3D model data */
3749   ROM_LOAD32_WORD_SWAP( "csz1pt0h.7a",  0x0000000, 0x400000, CRC(e82f1abb) SHA1(b1c57152cc27835e06e429fd1659fe0973638142) )
3750   ROM_LOAD32_WORD_SWAP( "csz1pt0l.7c",  0x0000002, 0x400000, CRC(b0d66afe) SHA1(7cda4eebf1bb1191d17e4b5e616be2fbe4ae9328) )
3751   ROM_LOAD32_WORD_SWAP( "csz1pt1h.5a",  0x0800000, 0x400000, CRC(e54f80ad) SHA1(3b3fbb3001e630d800b02ec8e653d74878ac5116) )
3752   ROM_LOAD32_WORD_SWAP( "csz1pt1l.5c",  0x0800002, 0x400000, CRC(527171c8) SHA1(0b2ce3858f40bdedf1543309a6bc28d780415250) )
3753   ROM_LOAD32_WORD_SWAP( "csz1pt2h.4a",  0x1000000, 0x400000, CRC(e295137a) SHA1(37b18af1b3d9f0e69b45135f89b49a1ceec79127) )
3754   ROM_LOAD32_WORD_SWAP( "csz1pt2l.4c",  0x1000002, 0x400000, CRC(c87d6dbd) SHA1(686f39073c521d6b21ef8bc1161b41b680697c63) )
3755   ROM_LOAD32_WORD_SWAP( "csz1pt3h.3a",  0x1800000, 0x400000, CRC(05f65bdf) SHA1(0c349fe5381fe7aeb81f9365a2b44a212f6bd33e) )
3756   ROM_LOAD32_WORD_SWAP( "csz1pt3l.3c",  0x1800002, 0x400000, CRC(5d077c0f) SHA1(a4fd0167d89bf9417766405726e0334e7c7eaec3) )
3757
3758   ROM_REGION( 0x1000000, "c352", 0 ) /* C352 PCM samples */
3759   ROM_LOAD( "csz1wavel.2c", 0x000000, 0x800000, CRC(d0d74132) SHA1(a293d93bca8e12e388a088a592cfa7bcb9a976f7) )
3760   ROM_LOAD( "csz1waveh.2a", 0x800000, 0x800000, CRC(de9d14a8) SHA1(e5006861928bb1d29bf80c7304f1a6d044b094fd) )
3761
3762   ROM_REGION( 0x800000, "dups", 0 )   /* duplicate roms */
3763   ROM_LOAD( "csz1cguu.4f",  0x000000, 0x800000, CRC(e1d1bf24) SHA1(daf2c68e2d9a8f313d262d221cc990c93dfdf22f) )
3764   ROM_LOAD( "csz1cgum.5j",  0x000000, 0x800000, CRC(913c98b5) SHA1(b952dbc19053796077d4f33e8da836893e933b12) )
3765   ROM_LOAD( "csz1cgll.5m",  0x000000, 0x800000, CRC(0bcd41f2) SHA1(80b74f9398e8bd074f79a14490d06cfeb875c874) )
3766   ROM_LOAD( "csz1cglm.5k",  0x000000, 0x800000, CRC(d4af93d1) SHA1(0df37b793ce8da02d14f714722382786ae5d3ce2) )
3767   ROM_LOAD( "csz1ccrl.7m",  0x000000, 0x400000, CRC(1c20768d) SHA1(6cf4280e26f3625d6f750837bf344163e7e93c3d) )
3768   ROM_LOAD( "csz1ccrh.7k",  0x000000, 0x200000, CRC(bc2fa03c) SHA1(e63d8e75494a383bf9a213edfa9c472a010f8efe) )
3769ROM_END
3770
37193771/* Games */
37203772GAME( 1997, rapidrvr, 0,      gorgon, gorgon, ss23, ROT0, "Namco", "Rapid River (RD3 Ver. C)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
37213773GAME( 1997, rapidrvr2,rapidrvr,gorgon,gorgon, ss23, ROT0, "Namco", "Rapid River (RD2 Ver. C)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
r9191r9192
37313783GAME( 1999, finfurl2, 0,        gmen,   ss23, ss23, ROT0, "Namco", "Final Furlong 2 (World)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
37323784GAME( 1999, finfurl2j,finfurl2, gmen,   ss23, ss23, ROT0, "Namco", "Final Furlong 2 (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
37333785GAME( 2000, crszone,  0,      ss23e2,   ss23, ss23, ROT0, "Namco", "Crisis Zone (CSZO3 Ver. B)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
3786GAME( 2000, crszonea, crszone,ss23e2,   ss23, ss23, ROT0, "Namco", "Crisis Zone (CSZO2 Ver. A)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
3787
src/mame/drivers/chihiro.c
r9191r9192
294294static MACHINE_START( chihiro )
295295{
296296   smbus_register_device(0x45,smbus_cx25871);
297   debug_console_register_command(machine,"jamdis",CMDFLAG_NONE,0,2,3,jamtable_disasm_command);
297   if (machine->debug_flags & DEBUG_FLAG_ENABLED)
298      debug_console_register_command(machine,"jamdis",CMDFLAG_NONE,0,2,3,jamtable_disasm_command);
298299}
299300
300static MACHINE_DRIVER_START( chihiro_base )
301static MACHINE_CONFIG_START( chihiro_base, driver_device )
301302
302303   /* basic machine hardware */
303304   MDRV_CPU_ADD("maincpu", PENTIUM, 733333333) /* Wrong! */
r9191r9192
326327   MDRV_MACHINE_START(chihiro)
327328
328329   MDRV_PALETTE_LENGTH(65536)
329MACHINE_DRIVER_END
330MACHINE_CONFIG_END
330331
331static MACHINE_DRIVER_START( chihirogd )
332   MDRV_IMPORT_FROM(chihiro_base)
332static MACHINE_CONFIG_DERIVED( chihirogd, chihiro_base )
333333   MDRV_NAOMI_DIMM_BOARD_ADD("rom_board", "gdrom", "user1", "picreturn")
334MACHINE_DRIVER_END
334MACHINE_CONFIG_END
335335
336336#define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \
337337      ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_BIOS(bios+1)) /* Note '+1' */
src/mame/drivers/commando.c
r9191r9192
245245}
246246
247247
248static MACHINE_DRIVER_START( commando )
248static MACHINE_CONFIG_START( commando, commando_state )
249249
250   /* driver data */
251   MDRV_DRIVER_DATA(commando_state)
252
253250   /* basic machine hardware */
254251   MDRV_CPU_ADD("maincpu", Z80, PHI_MAIN)   // ???
255252   MDRV_CPU_PROGRAM_MAP(commando_map)
r9191r9192
288285
289286   MDRV_SOUND_ADD("ym2", YM2203, PHI_B/2)
290287   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
291MACHINE_DRIVER_END
288MACHINE_CONFIG_END
292289
293290
294291/* ROMs */
src/mame/drivers/atarisy2.c
r9191r9192
752752/* full memory map derived from schematics */
753753static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
754754   AM_RANGE(0x0000, 0x0fff) AM_MIRROR(0x2000) AM_RAM
755   AM_RANGE(0x1000, 0x17ff) AM_MIRROR(0x2000) AM_RAM AM_BASE_SIZE_MEMBER(atarisy2_state, eeprom, eeprom_size)
755   AM_RANGE(0x1000, 0x17ff) AM_MIRROR(0x2000) AM_RAM AM_SHARE("eeprom")
756756   AM_RANGE(0x1800, 0x180f) AM_MIRROR(0x2780) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w)
757757   AM_RANGE(0x1810, 0x1813) AM_MIRROR(0x278c) AM_READ(leta_r)
758758   AM_RANGE(0x1830, 0x183f) AM_MIRROR(0x2780) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)
r9191r9192
11421142};
11431143
11441144
1145static MACHINE_DRIVER_START( atarisy2 )
1146   MDRV_DRIVER_DATA(atarisy2_state)
1145static MACHINE_CONFIG_START( atarisy2, atarisy2_state )
11471146
11481147   /* basic machine hardware */
11491148   MDRV_CPU_ADD("maincpu", T11, MASTER_CLOCK/2)
r9191r9192
11571156
11581157   MDRV_MACHINE_START(atarisy2)
11591158   MDRV_MACHINE_RESET(atarisy2)
1160   MDRV_NVRAM_HANDLER(atarigen)
1159   MDRV_NVRAM_ADD_1FILL("eeprom")
11611160
11621161   /* video hardware */
11631162   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
11881187   MDRV_SOUND_ADD("tms", TMS5220C, MASTER_CLOCK/4/4/2)
11891188   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75)
11901189   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
1191MACHINE_DRIVER_END
1190MACHINE_CONFIG_END
11921191
11931192
1194static MACHINE_DRIVER_START( sprint )
1193static MACHINE_CONFIG_DERIVED( sprint, atarisy2 )
11951194
11961195   /* basic machine hardware */
1197   MDRV_IMPORT_FROM(atarisy2)
11981196
11991197   /* sound hardware */
12001198   MDRV_DEVICE_REMOVE("tms")
1201MACHINE_DRIVER_END
1199MACHINE_CONFIG_END
12021200
12031201
12041202
r9191r9192
12441242
12451243   ROM_REGION( 0x2000, "gfx3", 0 )
12461244   ROM_LOAD( "vid_t06.rv1", 0x000000, 0x002000, CRC(60d7aebb) SHA1(ad74221c4270496ebcfedd46ea16dca2cda1b4be) )
1245
1246   ROM_REGION( 0x800, "eeprom", 0 )
1247   ROM_LOAD( "paperboy-eeprom.bin", 0x0000, 0x0800, CRC(0a0e057b) SHA1(a7cd245e826580ff54a490b421f65a72de5a2ed2) )
12471248ROM_END
12481249
12491250
r9191r9192
12831284
12841285   ROM_REGION( 0x2000, "gfx3", 0 )
12851286   ROM_LOAD( "vid_t06.rv1", 0x000000, 0x002000, CRC(60d7aebb) SHA1(ad74221c4270496ebcfedd46ea16dca2cda1b4be) )
1287
1288   ROM_REGION( 0x800, "eeprom", 0 )
1289   ROM_LOAD( "paperboy-eeprom.bin", 0x0000, 0x0800, CRC(0a0e057b) SHA1(a7cd245e826580ff54a490b421f65a72de5a2ed2) )
12861290ROM_END
12871291
12881292
r9191r9192
13221326
13231327   ROM_REGION( 0x2000, "gfx3", 0 )
13241328   ROM_LOAD( "vid_t06.rv1", 0x000000, 0x002000, CRC(60d7aebb) SHA1(ad74221c4270496ebcfedd46ea16dca2cda1b4be) )
1329
1330   ROM_REGION( 0x800, "eeprom", 0 )
1331   ROM_LOAD( "paperboy-eeprom.bin", 0x0000, 0x0800, CRC(0a0e057b) SHA1(a7cd245e826580ff54a490b421f65a72de5a2ed2) )
13251332ROM_END
13261333
13271334
r9191r9192
13871394
13881395   ROM_REGION( 0x4000, "gfx3", 0 )
13891396   ROM_LOAD( "136047-1125.4t",  0x000000, 0x004000, CRC(6b7e2328) SHA1(cc9a315ccafe7228951b7c32cf3b31caa89ae7d3) )
1397
1398   ROM_REGION( 0x800, "eeprom", 0 )
1399   ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) )
13901400ROM_END
13911401
13921402
r9191r9192
14521462
14531463   ROM_REGION( 0x4000, "gfx3", 0 )
14541464   ROM_LOAD( "136047-1125.4t",  0x000000, 0x004000, CRC(6b7e2328) SHA1(cc9a315ccafe7228951b7c32cf3b31caa89ae7d3) )
1465
1466   ROM_REGION( 0x800, "eeprom", 0 )
1467   ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) )
14551468ROM_END
14561469
14571470
r9191r9192
15171530
15181531   ROM_REGION( 0x4000, "gfx3", 0 )
15191532   ROM_LOAD( "136047-1125.4t",  0x000000, 0x004000, CRC(6b7e2328) SHA1(cc9a315ccafe7228951b7c32cf3b31caa89ae7d3) )
1533
1534   ROM_REGION( 0x800, "eeprom", 0 )
1535   ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) )
15201536ROM_END
15211537
15221538
r9191r9192
15821598
15831599   ROM_REGION( 0x4000, "gfx3", 0 )
15841600   ROM_LOAD( "136047-1125.4t",  0x000000, 0x004000, CRC(6b7e2328) SHA1(cc9a315ccafe7228951b7c32cf3b31caa89ae7d3) )
1601
1602   ROM_REGION( 0x800, "eeprom", 0 )
1603   ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) )
15851604ROM_END
15861605
15871606
r9191r9192
16471666
16481667   ROM_REGION( 0x4000, "gfx3", 0 )
16491668   ROM_LOAD( "136047-1225.4t",  0x000000, 0x004000, CRC(264eda88) SHA1(f0f5fe87741e0e17117085cf45f700090a02cb94) )
1669
1670   ROM_REGION( 0x800, "eeprom", 0 )
1671   ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) )
16501672ROM_END
16511673
16521674
r9191r9192
17121734
17131735   ROM_REGION( 0x4000, "gfx3", 0 )
17141736   ROM_LOAD( "136047-1225.4t",  0x000000, 0x004000, CRC(264eda88) SHA1(f0f5fe87741e0e17117085cf45f700090a02cb94) )
1737
1738   ROM_REGION( 0x800, "eeprom", 0 )
1739   ROM_LOAD( "720-eeprom.bin", 0x0000, 0x0800, CRC(a13090e3) SHA1(bc827ef76a3f9d96ffbd20a4099507c05bb46de4) )
17151740ROM_END
17161741
17171742
r9191r9192
17571782
17581783   ROM_REGION( 0x4000, "gfx3", 0 )
17591784   ROM_LOAD( "136042-118.6t",   0x000000, 0x004000, CRC(8489d113) SHA1(f8ead7954d9be95792fd7e9d2487957d1e194641) )
1785
1786   ROM_REGION( 0x800, "eeprom", 0 )
1787   ROM_LOAD( "ssprint-eeprom.bin", 0x0000, 0x0800, CRC(dfcd40de) SHA1(c68f0fd876b5edfd751bfa6c5967dc2a1e679b19) )
17601788ROM_END
17611789
17621790
r9191r9192
18011829
18021830   ROM_REGION( 0x4000, "gfx3", 0 )
18031831   ROM_LOAD( "136042-218.6t",   0x000000, 0x004000, CRC(8e500be1) SHA1(f21799bf97c8bf82328999cb912ad5f293035d55) )
1832
1833   ROM_REGION( 0x800, "eeprom", 0 )
1834   ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) )
18041835ROM_END
18051836
18061837
r9191r9192
18451876
18461877   ROM_REGION( 0x4000, "gfx3", 0 )
18471878   ROM_LOAD( "136042-218.6t",   0x000000, 0x004000, CRC(8e500be1) SHA1(f21799bf97c8bf82328999cb912ad5f293035d55) )
1879
1880   ROM_REGION( 0x800, "eeprom", 0 )
1881   ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) )
18481882ROM_END
18491883
18501884
r9191r9192
18891923
18901924   ROM_REGION( 0x4000, "gfx3", 0 )
18911925   ROM_LOAD( "136042-118.6t",   0x000000, 0x004000, CRC(8489d113) SHA1(f8ead7954d9be95792fd7e9d2487957d1e194641) )
1926
1927   ROM_REGION( 0x800, "eeprom", 0 )
1928   ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) )
18921929ROM_END
18931930
18941931
r9191r9192
19331970
19341971   ROM_REGION( 0x4000, "gfx3", 0 )
19351972   ROM_LOAD( "136042-118.6t",   0x000000, 0x004000, CRC(8489d113) SHA1(f8ead7954d9be95792fd7e9d2487957d1e194641) )
1973
1974   ROM_REGION( 0x800, "eeprom", 0 )
1975   ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) )
19361976ROM_END
19371977
19381978
r9191r9192
19772017
19782018   ROM_REGION( 0x4000, "gfx3", 0 )
19792019   ROM_LOAD( "136042-118.6t",   0x000000, 0x004000, CRC(8489d113) SHA1(f8ead7954d9be95792fd7e9d2487957d1e194641) )
2020
2021   ROM_REGION( 0x800, "eeprom", 0 )
2022   ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) )
19802023ROM_END
19812024
19822025
r9191r9192
20212064
20222065   ROM_REGION( 0x4000, "gfx3", 0 )
20232066   ROM_LOAD( "136042-118.6t",   0x000000, 0x004000, CRC(8489d113) SHA1(f8ead7954d9be95792fd7e9d2487957d1e194641) )
2067
2068   ROM_REGION( 0x800, "eeprom", 0 )
2069   ROM_LOAD( "ssprint1-eeprom.bin", 0x0000, 0x0800, CRC(62921dcc) SHA1(d394f53d8ad97b597d618238ff9b69ea48e86851) )
20242070ROM_END
20252071
20262072
r9191r9192
20632109
20642110   ROM_REGION( 0x4000, "gfx3", 0 )
20652111   ROM_LOAD( "136045-1117.6t",  0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) )
2112
2113   ROM_REGION( 0x800, "eeprom", 0 )
2114   ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) )
20662115ROM_END
20672116
20682117
r9191r9192
21052154
21062155   ROM_REGION( 0x4000, "gfx3", 0 )
21072156   ROM_LOAD( "136045-1117.6t",  0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) )
2157
2158   ROM_REGION( 0x800, "eeprom", 0 )
2159   ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) )
21082160ROM_END
21092161
21102162
r9191r9192
21472199
21482200   ROM_REGION( 0x4000, "gfx3", 0 )
21492201   ROM_LOAD( "136045-1117.6t",  0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) )
2202
2203   ROM_REGION( 0x800, "eeprom", 0 )
2204   ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) )
21502205ROM_END
21512206
21522207
r9191r9192
21892244
21902245   ROM_REGION( 0x4000, "gfx3", 0 )
21912246   ROM_LOAD( "136045-1117.6t",  0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) )
2247
2248   ROM_REGION( 0x800, "eeprom", 0 )
2249   ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) )
21922250ROM_END
21932251
21942252
r9191r9192
22312289
22322290   ROM_REGION( 0x4000, "gfx3", 0 )
22332291   ROM_LOAD( "136045-1117.6t",  0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) )
2292
2293   ROM_REGION( 0x800, "eeprom", 0 )
2294   ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) )
22342295ROM_END
22352296
22362297
r9191r9192
22732334
22742335   ROM_REGION( 0x4000, "gfx3", 0 )
22752336   ROM_LOAD( "136045-1117.6t",  0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) )
2337
2338   ROM_REGION( 0x800, "eeprom", 0 )
2339   ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) )
22762340ROM_END
22772341
22782342
r9191r9192
23152379
23162380   ROM_REGION( 0x4000, "gfx3", 0 )
23172381   ROM_LOAD( "136045-1117.6t",  0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) )
2382
2383   ROM_REGION( 0x800, "eeprom", 0 )
2384   ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) )
23182385ROM_END
23192386
23202387
r9191r9192
23572424
23582425   ROM_REGION( 0x4000, "gfx3", 0 )
23592426   ROM_LOAD( "136045-1117.6t",  0x000000, 0x004000, CRC(82da786d) SHA1(929cc4ebac3d4404e1a8b22b80aae975e0c9da85) )
2427
2428   ROM_REGION( 0x800, "eeprom", 0 )
2429   ROM_LOAD( "csprint-eeprom.bin", 0x0000, 0x0800, CRC(064a6c9c) SHA1(b8867a554d97094ac9ec800a1d665cdb5a029b12) )
23602430ROM_END
23612431
23622432
r9191r9192
30083078
30093079static DRIVER_INIT( paperboy )
30103080{
3011   static const UINT16 compressed_default_eeprom[] =
3012   {
3013      0x0000,0x4300,0x0113,0x0124,0x0150,0x0153,0x0154,0x0100,
3014      0x0112,0x01C0,0x0155,0x0143,0x0148,0x0100,0x0112,0x015C,
3015      0x0154,0x014F,0x0149,0x0100,0x0111,0x01F8,0x0120,0x0152,
3016      0x0153,0x0100,0x0111,0x0149,0x0159,0x0145,0x0120,0x0100,
3017      0x0111,0x0130,0x014F,0x0120,0x0154,0x0100,0x0110,0x01CC,
3018      0x0155,0x014F,0x0141,0x0100,0x0110,0x0168,0x0152,0x014E,
3019      0x0142,0x0100,0x0110,0x0104,0x0120,0x0154,0x014C,0x0100,
3020      0x010F,0x01A0,0x0120,0x014F,0x0145,0x0100,0x0126,0x01AC,
3021      0x0150,0x0149,0x0147,0x0100,0x0126,0x0148,0x0141,0x0153,
3022      0x0152,0x0100,0x0125,0x01E4,0x0150,0x0120,0x0145,0x0100,
3023      0x0125,0x0180,0x0145,0x0154,0x0141,0x0100,0x0125,0x011C,
3024      0x0152,0x0148,0x0154,0x0100,0x0124,0x01B8,0x0120,0x0245,
3025      0x0100,0x0124,0x0154,0x0142,0x0120,0x0153,0x0100,0x0123,
3026      0x01F0,0x014F,0x0120,0x0154,0x0100,0x0123,0x018C,0x0159,
3027      0x0220,0x0100,0x0123,0x0128,0x0320,0x0100,0x013A,0x0134,
3028      0x0144,0x0141,0x0154,0x0100,0x0139,0x01D0,0x0154,0x0148,
3029      0x0145,0x0100,0x0139,0x016C,0x0142,0x014F,0x0159,0x0100,
3030      0x0139,0x0108,0x0142,0x0146,0x0120,0x0100,0x0138,0x01A4,
3031      0x014D,0x0145,0x0143,0x0100,0x0138,0x0140,0x0143,0x014A,
3032      0x0120,0x0100,0x0137,0x01DC,0x014A,0x0145,0x0153,0x0100,
3033      0x0137,0x0178,0x0150,0x0143,0x0154,0x0100,0x0137,0x0114,
3034      0x014D,0x0241,0x0100,0x0136,0x01B0,0x0142,0x0141,0x0146,
3035      0x0101,0x0400,0x010F,0x017F,0x012A,0x017F,0x013D,0x010F,
3036      0x017F,0x012A,0x017F,0x013C,0x010F,0x017F,0x012A,0x017F,
3037      0x013B,0xFF00,0xFF00,0xFF00,0xFF00,0xFF00,0xFF00,0xFC00,
3038      0x0000
3039   };
30403081   int i;
30413082   atarisy2_state *state = machine->driver_data<atarisy2_state>();
30423083   UINT8 *cpu1 = memory_region(machine, "maincpu");
30433084
3044   state->eeprom_default = compressed_default_eeprom;
30453085   slapstic_init(machine, 105);
30463086
30473087   /* expand the 16k program ROMs into full 64k chunks */
r9191r9192
30633103   /* without the default EEPROM, 720 hangs at startup due to communication
30643104       issues with the sound CPU; temporarily increasing the sound CPU frequency
30653105       to ~2.2MHz "fixes" the problem */
3066   static const UINT16 compressed_default_eeprom[] =
3067   {
3068      0x0000,0x01ff,0x01d0,0x0107,0x0100,0x01d7,0x0300,0x01d7,0x0400,0x01d0,
3069      0x0107,0x0100,0xffff,0x4fff,0x0100,0x014e,0x0120,0x0139,
3070      0x01a4,0x0100,0x014c,0x012c,0x014e,0x01ce,0x0100,0x014a,
3071      0x0138,0x014c,0x01f1,0x0100,0x0148,0x0144,0x0115,0x01d1,
3072      0x0100,0x0146,0x0150,0x0215,0x0100,0x0144,0x015c,0x0149,
3073      0x0117,0x0100,0x0142,0x0168,0x0148,0x0195,0x0100,0x0140,
3074      0x0174,0x0111,0x0106,0x0100,0x013e,0x0180,0x0135,0x010d,
3075      0x0100,0x013c,0x018c,0x014c,0x018d,0x0100,0x013a,0x0198,
3076      0x0300,0x0138,0x01a4,0x0104,0x0121,0x0100,0x0136,0x01b0,
3077      0x0108,0x0142,0x0100,0x0134,0x01bc,0x010c,0x0163,0x0100,
3078      0x0132,0x01c8,0x0110,0x0184,0x0100,0x0130,0x01d4,0x0114,
3079      0x01a5,0x0100,0x012e,0x01e0,0x0118,0x01c6,0x0100,0x012c,
3080      0x01ec,0x011c,0x01e7,0x0100,0x012a,0x01f8,0x0121,0x0108,
3081      0x0100,0x0129,0x0104,0x0125,0x0129,0x010f,0x0100,0x0163,
3082      0x010e,0x01ca,0x0181,0x010e,0x0106,0x0120,0x010d,0x0189,
3083      0x0162,0x010d,0x010c,0x0182,0x010c,0x01a1,0x01a2,0x010c,
3084      0x0109,0x0171,0x010b,0x01a5,0x018f,0x010b,0x0146,0x0172,
3085      0x010a,0x01b4,0x0186,0x010a,0x0105,0x0102,0x0109,0x0185,
3086      0x0112,0x0109,0x0109,0x01cc,0x0108,0x01b5,0x01cf,0x0108,
3087      0x0102,0x014b,0x0107,0x0182,0x0151,0x0107,0x0104,0x0190,
3088      0x0106,0x0184,0x0142,0x0106,0x0105,0x0173,0x0105,0x0184,
3089      0x0152,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0x06ff,
3090      0x0000
3091   };
30923106   atarisy2_state *state = machine->driver_data<atarisy2_state>();
3093   state->eeprom_default = compressed_default_eeprom;
30943107   slapstic_init(machine, 107);
30953108
30963109   state->pedal_count = -1;
r9191r9192
30993112}
31003113
31013114
3102static void ssprint_init_common(running_machine *machine, const UINT16 *default_eeprom)
3115static DRIVER_INIT( ssprint )
31033116{
31043117   atarisy2_state *state = machine->driver_data<atarisy2_state>();
31053118   int i;
31063119   UINT8 *cpu1 = memory_region(machine, "maincpu");
31073120
3108   state->eeprom_default = default_eeprom;
31093121   slapstic_init(machine, 108);
31103122
31113123   /* expand the 32k program ROMs into full 64k chunks */
r9191r9192
31163128   state->has_tms5220 = 0;
31173129}
31183130
3119static DRIVER_INIT( ssprint )
3120{
3121   static const UINT16 compressed_default_eeprom[] =
3122   {
3123      0x0000,0x01FF,0x0E00,0x01FF,0x0100,0x0120,0x0100,0x0120,
3124      0x0300,0x0120,0x0500,0x0120,0x01FF,0x0100,0x0140,0x0100,
3125      0x0140,0x0110,0x0100,0x0110,0x0150,0x0100,0x0110,0x0300,
3126      0x0140,0x01FF,0x0100,0x0160,0x0100,0x0160,0x0300,0x0160,
3127      0x0500,0x0160,0x01FF,0x0100,0x0180,0x0100,0x0180,0x0300,
3128      0x0180,0x0500,0x0180,0x01FF,0x0100,0x01A0,0x0100,0x01A0,
3129      0x0300,0x01A0,0x0500,0x01A0,0x01FF,0x0100,0x01C0,0x0100,
3130      0x01C0,0x0300,0x01C0,0x0500,0x01C0,0xFFFF,0x1EFF,0x0103,
3131      0x01E8,0x0146,0x01D6,0x0103,0x01DE,0x0128,0x01B3,0x0103,
3132      0x01D4,0x0144,0x0123,0x0103,0x01CA,0x011C,0x010B,0x0103,
3133      0x01C0,0x0159,0x01BF,0x0103,0x01B6,0x0129,0x019F,0x0103,
3134      0x01AC,0x014A,0x01C2,0x0103,0x01A2,0x010E,0x01DF,0x0103,
3135      0x0198,0x0131,0x01BF,0x0103,0x018E,0x010D,0x0106,0x0103,
3136      0x0184,0x010E,0x0186,0x0103,0x017A,0x0124,0x010C,0x0103,
3137      0x0170,0x014A,0x0148,0x0103,0x0166,0x0151,0x01F2,0x0103,
3138      0x015C,0x013E,0x013F,0x0103,0x0152,0x0111,0x0106,0x0103,
3139      0x0148,0x0145,0x01B1,0x0103,0x013E,0x017E,0x0164,0x0103,
3140      0x0134,0x017F,0x01E0,0x0103,0x012A,0x017F,0x01F3,0x0103,
3141      0x0120,0x017F,0x01FF,0x0103,0x0116,0x012A,0x01D6,0x0103,
3142      0x010C,0x0125,0x0176,0x0103,0x0102,0x014C,0x0161,0x0102,
3143      0x01F8,0x0128,0x0101,0x0102,0x01EE,0x0101,0x0153,0x0102,
3144      0x01E4,0x0109,0x0132,0x0102,0x01DA,0x012C,0x0132,0x0102,
3145      0x01D0,0x0125,0x0186,0x0102,0x01C6,0x011D,0x011F,0xFF00,
3146      0xFF00,0xFF00,0xFF00,0xFF00,0xFF00,0x0800,0x0000
3147   };
3148   ssprint_init_common(machine, compressed_default_eeprom);
3149}
31503131
3151static DRIVER_INIT( ssprint1 )
3152{
3153   static const UINT16 compressed_default_eeprom[] =
3154   {
3155      0x0000,0x1e00,0x01ff,0x2500,0x0103,0x01e8,0x0152,0x0157,
3156      0x0157,0x0103,0x01de,0x014b,0x0146,0x0154,0x0103,0x01d4,
3157      0x0152,0x0142,0x0144,0x0103,0x01ca,0x0148,0x0141,0x014c,
3158      0x0103,0x01c0,0x0157,0x014e,0x0120,0x0103,0x01b6,0x014b,
3159      0x014d,0x0120,0x0103,0x01ac,0x0153,0x0157,0x0143,0x0103,
3160      0x01a2,0x0144,0x0157,0x0120,0x0103,0x0198,0x014d,0x014e,
3161      0x0120,0x0103,0x018e,0x0144,0x0149,0x0147,0x0103,0x0184,
3162      0x0144,0x0155,0x0147,0x0103,0x017a,0x014a,0x0141,0x014d,
3163      0x0103,0x0170,0x0153,0x0153,0x0149,0x0103,0x0166,0x0155,
3164      0x0150,0x0153,0x0103,0x015c,0x0150,0x0152,0x0120,0x0103,
3165      0x0152,0x0145,0x0149,0x0147,0x0103,0x0148,0x0152,0x014e,
3166      0x0152,0x0103,0x013e,0x0120,0x0154,0x0145,0x0103,0x0134,
3167      0x0220,0x0141,0x0103,0x012a,0x0220,0x0154,0x0103,0x0420,
3168      0x0103,0x0116,0x014b,0x0257,0x0103,0x010c,0x014a,0x014c,
3169      0x0157,0x0103,0x0102,0x0154,0x0144,0x0142,0x0102,0x01f8,
3170      0x014b,0x0141,0x0142,0x0102,0x01ee,0x0141,0x014b,0x0154,
3171      0x0102,0x01e4,0x0143,0x014a,0x0153,0x0102,0x01da,0x014c,
3172      0x0142,0x0153,0x0102,0x01d0,0x014a,0x014d,0x0147,0x0102,
3173      0x01c6,0x0148,0x0149,0x0120,0x0110,0x0100,0x0110,0x0100,
3174      0x0110,0x0100,0x0138,0x0110,0x0100,0x0110,0x0100,0x0110,
3175      0x0100,0x0137,0x0110,0x0100,0x0110,0x0100,0x0110,0x0100,
3176      0x0136,0x97ff,0x0103,0x01e8,0x0146,0x01d6,0x0103,0x01de,
3177      0x0128,0x01b3,0x0103,0x01d4,0x0144,0x0123,0x0103,0x01ca,
3178      0x011c,0x010b,0x0103,0x01c0,0x0159,0x01bf,0x0103,0x01b6,
3179      0x0129,0x019f,0x0103,0x01ac,0x014a,0x01c2,0x0103,0x01a2,
3180      0x010e,0x01df,0x0103,0x0198,0x0131,0x01bf,0x0103,0x018e,
3181      0x010d,0x0106,0x0103,0x0184,0x010e,0x0186,0x0103,0x017a,
3182      0x0124,0x010c,0x0103,0x0170,0x014a,0x0148,0x0103,0x0166,
3183      0x0151,0x01f2,0x0103,0x015c,0x013e,0x013f,0x0103,0x0152,
3184      0x0111,0x0106,0x0103,0x0148,0x0145,0x01b1,0x0103,0x013e,
3185      0x017e,0x0164,0x0103,0x0134,0x017f,0x01e0,0x0103,0x012a,
3186      0x017f,0x01f3,0x0103,0x0120,0x017f,0x01ff,0x0103,0x0116,
3187      0x012a,0x01d6,0x0103,0x010c,0x0125,0x0176,0x0103,0x0102,
3188      0x014c,0x0161,0x0102,0x01f8,0x0128,0x0101,0x0102,0x01ee,
3189      0x0101,0x0153,0x0102,0x01e4,0x0109,0x0132,0x0102,0x01da,
3190      0x012c,0x0132,0x0102,0x01d0,0x0125,0x0186,0x0102,0x01c6,
3191      0x011d,0x011f,0x0200,0x0000
3192   };
3193   ssprint_init_common(machine, compressed_default_eeprom);
3194}
3195
3196
31973132static DRIVER_INIT( csprint )
31983133{
3199   static const UINT16 compressed_default_eeprom[] =
3200   {
3201      0x0000,0x01FF,0x0E00,0x0128,0x01D0,0x0127,0x0100,0x0120,
3202      0x0300,0x01F7,0x01D0,0x0107,0x0300,0x0120,0x010F,0x01F0,
3203      0x0140,0x0100,0x0140,0x0110,0x0100,0x0110,0x01A0,0x01F0,
3204      0x0110,0x0300,0x0140,0x01FF,0x0100,0x0160,0x0100,0x0160,
3205      0x0300,0x0160,0x0500,0x0160,0x01FF,0x0100,0x0180,0x0100,
3206      0x0180,0x0300,0x0180,0x0500,0x0180,0x01FF,0x0100,0x01A0,
3207      0x0100,0x01A0,0x0300,0x01A0,0x0500,0x01A0,0x01FF,0x0100,
3208      0x01C0,0x0100,0x01C0,0x0300,0x01C0,0x0500,0x01C0,0xFFFF,
3209      0x0100,0x0127,0x0110,0x0146,0x01D6,0x0100,0x0126,0x01AC,
3210      0x0128,0x01B3,0x0100,0x0126,0x0148,0x0144,0x0123,0x0100,
3211      0x0125,0x01E4,0x011C,0x010B,0x0100,0x0125,0x0180,0x0159,
3212      0x01BF,0x0100,0x0125,0x011C,0x0129,0x019F,0x0100,0x0124,
3213      0x0168,0x014A,0x01C2,0x0100,0x0124,0x0154,0x010E,0x01DF,
3214      0x0100,0x0123,0x01F0,0x0131,0x01BF,0x0100,0x0123,0x018C,
3215      0x010D,0x0106,0x0100,0x0123,0x0128,0x010E,0x0186,0x0100,
3216      0x0122,0x01C4,0x0124,0x010C,0x0100,0x0122,0x0160,0x014A,
3217      0x0148,0x0100,0x0121,0x01FC,0x0151,0x01F2,0x0100,0x0121,
3218      0x0198,0x013E,0x013F,0x0100,0x0121,0x0134,0x0111,0x0106,
3219      0x0100,0x0120,0x01D0,0x0145,0x01B1,0x0100,0x0120,0x016C,
3220      0x017E,0x0164,0x0100,0x0120,0x0108,0x017F,0x01E0,0x0100,
3221      0x011F,0x01A4,0x017F,0x01F3,0x0100,0x011F,0x0140,0x017F,
3222      0x01FF,0x0100,0x011E,0x01DC,0x012A,0x01D6,0x0100,0x011E,
3223      0x0178,0x0125,0x0176,0x0100,0x011E,0x0114,0x014C,0x0161,
3224      0x0100,0x011D,0x01B0,0x0128,0x0101,0x0100,0x011D,0x014C,
3225      0x0101,0x0153,0x0100,0x011C,0x01E8,0x0109,0x0132,0x0100,
3226      0x011C,0x0184,0x012C,0x0132,0x0100,0x011C,0x0120,0x0125,
3227      0x0186,0x0100,0x011B,0x01BC,0x011D,0x011F,0x0000
3228   };
32293134   int i;
32303135   atarisy2_state *state = machine->driver_data<atarisy2_state>();
32313136   UINT8 *cpu1 = memory_region(machine, "maincpu");
32323137
3233   state->eeprom_default = compressed_default_eeprom;
32343138   slapstic_init(machine, 109);
32353139
32363140   /* expand the 32k program ROMs into full 64k chunks */
r9191r9192
32463150{
32473151   atarisy2_state *state = machine->driver_data<atarisy2_state>();
32483152
3249   state->eeprom_default = NULL;
32503153   slapstic_init(machine, 110);
32513154
32523155   state->pedal_count = 2;
r9191r9192
32743177GAME( 1986, 720gr1,   720,      atarisy2, 720,      720,      ROT0,   "Atari Games", "720 Degrees (German, rev 1)", GAME_SUPPORTS_SAVE )
32753178
32763179GAME( 1986, ssprint,  0,        sprint,   ssprint,  ssprint,  ROT0,   "Atari Games", "Super Sprint (rev 4)", GAME_SUPPORTS_SAVE )
3277GAME( 1986, ssprint3, ssprint,  sprint,   ssprint,  ssprint1, ROT0,   "Atari Games", "Super Sprint (rev 3)", GAME_SUPPORTS_SAVE )
3278GAME( 1986, ssprint1, ssprint,  sprint,   ssprint,  ssprint1, ROT0,   "Atari Games", "Super Sprint (rev 1)", GAME_SUPPORTS_SAVE )
3279GAME( 1986, ssprintg, ssprint,  sprint,   ssprint,  ssprint1, ROT0,   "Atari Games", "Super Sprint (German, rev 2)", GAME_SUPPORTS_SAVE )
3280GAME( 1986, ssprintg1,ssprint,  sprint,   ssprint,  ssprint1, ROT0,   "Atari Games", "Super Sprint (German, rev 1)", GAME_SUPPORTS_SAVE )
3281GAME( 1986, ssprintf, ssprint,  sprint,   ssprint,  ssprint1, ROT0,   "Atari Games", "Super Sprint (French)", GAME_SUPPORTS_SAVE )
3282GAME( 1986, ssprints, ssprint,  sprint,   ssprint,  ssprint1, ROT0,   "Atari Games", "Super Sprint (Spanish)", GAME_SUPPORTS_SAVE )
3180GAME( 1986, ssprint3, ssprint,  sprint,   ssprint,  ssprint,  ROT0,   "Atari Games", "Super Sprint (rev 3)", GAME_SUPPORTS_SAVE )
3181GAME( 1986, ssprint1, ssprint,  sprint,   ssprint,  ssprint,  ROT0,   "Atari Games", "Super Sprint (rev 1)", GAME_SUPPORTS_SAVE )
3182GAME( 1986, ssprintg, ssprint,  sprint,   ssprint,  ssprint,  ROT0,   "Atari Games", "Super Sprint (German, rev 2)", GAME_SUPPORTS_SAVE )
3183GAME( 1986, ssprintg1,ssprint,  sprint,   ssprint,  ssprint,  ROT0,   "Atari Games", "Super Sprint (German, rev 1)", GAME_SUPPORTS_SAVE )
3184GAME( 1986, ssprintf, ssprint,  sprint,   ssprint,  ssprint,  ROT0,   "Atari Games", "Super Sprint (French)", GAME_SUPPORTS_SAVE )
3185GAME( 1986, ssprints, ssprint,  sprint,   ssprint,  ssprint,  ROT0,   "Atari Games", "Super Sprint (Spanish)", GAME_SUPPORTS_SAVE )
32833186
32843187GAME( 1986, csprint,  0,        sprint,   csprint,  csprint,  ROT0,   "Atari Games", "Championship Sprint (rev 3)", GAME_SUPPORTS_SAVE )
32853188GAME( 1986, csprint2, csprint,  sprint,   csprint,  csprint,  ROT0,   "Atari Games", "Championship Sprint (rev 2)", GAME_SUPPORTS_SAVE )
src/mame/drivers/skydiver.c
r9191r9192
371371 *
372372 *************************************/
373373
374static MACHINE_DRIVER_START( skydiver )
374static MACHINE_CONFIG_START( skydiver, driver_device )
375375
376376   /* basic machine hardware */
377377   MDRV_CPU_ADD("maincpu", M6800,MASTER_CLOCK/16)      /* ???? */
r9191r9192
402402   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
403403   MDRV_SOUND_CONFIG_DISCRETE(skydiver)
404404   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
405MACHINE_DRIVER_END
405MACHINE_CONFIG_END
406406
407407
408408
src/mame/drivers/ninjakd2.c
r9191r9192
905905 *
906906 *************************************/
907907
908static MACHINE_DRIVER_START( ninjakd2 )
908static MACHINE_CONFIG_START( ninjakd2, driver_device )
909909
910910   /* basic machine hardware */
911911   MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK_12/2)      /* verified */
r9191r9192
951951   MDRV_SOUND_ADD("pcm", SAMPLES, 0)
952952   MDRV_SOUND_CONFIG(ninjakd2_samples_interface)
953953   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
954MACHINE_DRIVER_END
954MACHINE_CONFIG_END
955955
956static MACHINE_DRIVER_START( mnight )
956static MACHINE_CONFIG_DERIVED( mnight, ninjakd2 )
957957
958958   /* basic machine hardware */
959   MDRV_IMPORT_FROM(ninjakd2)
960959
961960   MDRV_CPU_MODIFY("maincpu")
962961   MDRV_CPU_PROGRAM_MAP(mnight_main_cpu)
r9191r9192
966965
967966   /* sound hardware */
968967   MDRV_DEVICE_REMOVE("pcm")
969MACHINE_DRIVER_END
968MACHINE_CONFIG_END
970969
971static MACHINE_DRIVER_START( arkarea )
970static MACHINE_CONFIG_DERIVED( arkarea, ninjakd2 )
972971
973972   /* basic machine hardware */
974   MDRV_IMPORT_FROM(ninjakd2)
975973
976974   MDRV_CPU_MODIFY("maincpu")
977975   MDRV_CPU_PROGRAM_MAP(mnight_main_cpu)
r9191r9192
981979
982980   /* sound hardware */
983981   MDRV_DEVICE_REMOVE("pcm")
984MACHINE_DRIVER_END
982MACHINE_CONFIG_END
985983
986static MACHINE_DRIVER_START( robokid )
984static MACHINE_CONFIG_DERIVED( robokid, mnight )
987985
988986   /* basic machine hardware */
989   MDRV_IMPORT_FROM(mnight)
990987
991988   MDRV_CPU_MODIFY("maincpu")
992989   MDRV_CPU_PROGRAM_MAP(robokid_main_cpu)
r9191r9192
999996
1000997   MDRV_VIDEO_START(robokid)
1001998   MDRV_VIDEO_UPDATE(robokid)
1002MACHINE_DRIVER_END
999MACHINE_CONFIG_END
10031000
1004static MACHINE_DRIVER_START( omegaf )
1001static MACHINE_CONFIG_DERIVED( omegaf, robokid )
10051002
10061003   /* basic machine hardware */
1007   MDRV_IMPORT_FROM(robokid)
10081004
10091005   MDRV_CPU_MODIFY("maincpu")
10101006   MDRV_CPU_PROGRAM_MAP(omegaf_main_cpu)
r9191r9192
10141010   /* video hardware */
10151011   MDRV_VIDEO_START(omegaf)
10161012   MDRV_VIDEO_UPDATE(omegaf)
1017MACHINE_DRIVER_END
1013MACHINE_CONFIG_END
10181014
10191015
10201016
src/mame/drivers/mjsister.c
r9191r9192
1515#define MCLK 12000000
1616
1717
18class mjsister_state : public driver_data_t
18class mjsister_state : public driver_device
1919{
2020public:
21   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mjsister_state(machine)); }
21   mjsister_state(running_machine &machine, const driver_device_config_base &config)
22      : driver_device(machine, config) { }
2223
23   mjsister_state(running_machine &machine)
24      : driver_data_t(machine) { }
25
2624   /* memory pointers */
2725   UINT8 *     videoram0, *videoram1;
2826
r9191r9192
493491}
494492
495493
496static MACHINE_DRIVER_START( mjsister )
494static MACHINE_CONFIG_START( mjsister, mjsister_state )
497495
498   /* driver data */
499   MDRV_DRIVER_DATA(mjsister_state)
500
501496   /* basic machine hardware */
502497   MDRV_CPU_ADD("maincpu", Z80, MCLK/2) /* 6.000 MHz */
503498   MDRV_CPU_PROGRAM_MAP(mjsister_map)
r9191r9192
530525
531526   MDRV_SOUND_ADD("dac", DAC, 0)
532527   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
533MACHINE_DRIVER_END
528MACHINE_CONFIG_END
534529
535530/*************************************
536531 *
src/mame/drivers/yunsung8.c
r9191r9192
500500}
501501
502502
503static MACHINE_DRIVER_START( yunsung8 )
503static MACHINE_CONFIG_START( yunsung8, yunsung8_state )
504504
505   /* driver data */
506   MDRV_DRIVER_DATA(yunsung8_state)
507
508505   /* basic machine hardware */
509506   MDRV_CPU_ADD("maincpu", Z80, 8000000)         /* Z80B */
510507   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
543540   MDRV_SOUND_CONFIG(yunsung8_msm5205_interface)
544541   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
545542   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
546MACHINE_DRIVER_END
543MACHINE_CONFIG_END
547544
548545
549546/***************************************************************************
src/mame/drivers/spacefb.c
r9191r9192
328328 *
329329 *************************************/
330330
331static MACHINE_DRIVER_START( spacefb )
331static MACHINE_CONFIG_START( spacefb, driver_device )
332332
333333   /* basic machine hardware */
334334   MDRV_CPU_ADD("maincpu", Z80, SPACEFB_MAIN_CPU_CLOCK)
r9191r9192
353353   MDRV_SCREEN_RAW_PARAMS(SPACEFB_PIXEL_CLOCK, SPACEFB_HTOTAL, SPACEFB_HBEND, SPACEFB_HBSTART, SPACEFB_VTOTAL, SPACEFB_VBEND, SPACEFB_VBSTART)
354354
355355   /* audio hardware */
356   MDRV_IMPORT_FROM(spacefb_audio)
356   MDRV_FRAGMENT_ADD(spacefb_audio)
357357
358MACHINE_DRIVER_END
358MACHINE_CONFIG_END
359359
360360
361361
src/mame/drivers/m52.c
r9191r9192
390390   state->bgcontrol = 0;
391391}
392392
393static MACHINE_DRIVER_START( m52 )
393static MACHINE_CONFIG_START( m52, irem_z80_state )
394394
395   /* driver data */
396   MDRV_DRIVER_DATA(irem_z80_state)
397
398395   /* basic machine hardware */
399396   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)
400397   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
416413   MDRV_VIDEO_UPDATE(m52)
417414
418415   /* sound hardware */
419   MDRV_IMPORT_FROM(m52_sound_c_audio)
420MACHINE_DRIVER_END
416   MDRV_FRAGMENT_ADD(m52_sound_c_audio)
417MACHINE_CONFIG_END
421418
422419
423static MACHINE_DRIVER_START( alpha1v )
424   MDRV_IMPORT_FROM(m52)
420static MACHINE_CONFIG_DERIVED( alpha1v, m52 )
425421
426422   /* basic machine hardware */
427423   MDRV_CPU_MODIFY("maincpu")
428424   MDRV_CPU_PROGRAM_MAP(alpha1v_map)
429MACHINE_DRIVER_END
425MACHINE_CONFIG_END
430426
431427
432428
src/mame/drivers/warpwarp.c
r9191r9192
722722
723723
724724
725static MACHINE_DRIVER_START( geebee )
725static MACHINE_CONFIG_START( geebee, driver_device )
726726
727727   /* basic machine hardware */
728728   MDRV_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9) /* verified on pcb */
r9191r9192
747747
748748   MDRV_SOUND_ADD("geebee", GEEBEE, 0)
749749   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
750MACHINE_DRIVER_END
750MACHINE_CONFIG_END
751751
752static MACHINE_DRIVER_START( navarone )
752static MACHINE_CONFIG_DERIVED( navarone, geebee )
753753
754754   /* basic machine hardware */
755   MDRV_IMPORT_FROM(geebee)
756755
757756   MDRV_GFXDECODE(2k)
758757   MDRV_PALETTE_LENGTH(2*2+1)
r9191r9192
760759   MDRV_PALETTE_INIT(navarone)
761760   MDRV_VIDEO_START(navarone)
762761   MDRV_VIDEO_UPDATE(navarone)
763MACHINE_DRIVER_END
762MACHINE_CONFIG_END
764763
765static MACHINE_DRIVER_START( bombbee )
764static MACHINE_CONFIG_START( bombbee, driver_device )
766765
767766   /* basic machine hardware */
768767   MDRV_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9)      /* 18.432 MHz / 9 */
r9191r9192
786785
787786   MDRV_SOUND_ADD("warpwarp", WARPWARP, 0)
788787   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
789MACHINE_DRIVER_END
788MACHINE_CONFIG_END
790789
791static MACHINE_DRIVER_START( warpwarp )
790static MACHINE_CONFIG_DERIVED( warpwarp, bombbee )
792791
793792   /* basic machine hardware */
794   MDRV_IMPORT_FROM(bombbee)
795793   MDRV_CPU_MODIFY("maincpu")
796794   MDRV_CPU_PROGRAM_MAP(warpwarp_map)
797MACHINE_DRIVER_END
795MACHINE_CONFIG_END
798796
799797
800798/***************************************************************************
src/mame/drivers/wheelfir.c
r9191r9192
225225};
226226
227227
228class wheelfir_state : public driver_data_t
228class wheelfir_state : public driver_device
229229{
230230public:
231   static driver_data_t *alloc(running_machine &machine)
232   {
233      return auto_alloc_clear(&machine, wheelfir_state(machine));
234   }
231   wheelfir_state(running_machine &machine, const driver_device_config_base &config)
232      : driver_device(machine, config) { }
235233
236   wheelfir_state(running_machine &machine)
237      : driver_data_t(machine) { }
238
239234   running_device *maincpu;
240235   running_device *subcpu;
241236   running_device *screen;
r9191r9192
809804}
810805
811806
812static MACHINE_DRIVER_START( wheelfir )
813   MDRV_DRIVER_DATA(wheelfir_state)
807static MACHINE_CONFIG_START( wheelfir, wheelfir_state )
814808
815809   MDRV_CPU_ADD("maincpu", M68000, 32000000/2)
816810   MDRV_CPU_PROGRAM_MAP(wheelfir_main)
r9191r9192
850844   MDRV_SOUND_ADD("dac2", DAC, 0)
851845   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
852846
853MACHINE_DRIVER_END
847MACHINE_CONFIG_END
854848
855849
856850ROM_START( wheelfir )
src/mame/drivers/onetwo.c
r9191r9192
4646
4747#define MASTER_CLOCK        XTAL_4MHz
4848
49class onetwo_state : public driver_data_t
49class onetwo_state : public driver_device
5050{
5151public:
52   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, onetwo_state(machine)); }
52   onetwo_state(running_machine &machine, const driver_device_config_base &config)
53      : driver_device(machine, config) { }
5354
54   onetwo_state(running_machine &machine)
55      : driver_data_t(machine) { }
56
5755   /* memory pointers */
5856   UINT8 *  fgram;
5957   UINT8 *  paletteram;
r9191r9192
190188   ADDRESS_MAP_GLOBAL_MASK(0xff)
191189   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_status_port_r, ym3812_control_port_w)
192190   AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_write_port_w)
193   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
191   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
194192   AM_RANGE(0xc0, 0xc0) AM_WRITE(soundlatch_clear_w)
195193ADDRESS_MAP_END
196194
r9191r9192
353351   state->audiocpu = machine->device("audiocpu");
354352}
355353
356static MACHINE_DRIVER_START( onetwo )
354static MACHINE_CONFIG_START( onetwo, onetwo_state )
357355
358   /* driver data */
359   MDRV_DRIVER_DATA(onetwo_state)
360
361356   /* basic machine hardware */
362357   MDRV_CPU_ADD("maincpu", Z80,MASTER_CLOCK)   /* 4 MHz */
363358   MDRV_CPU_PROGRAM_MAP(main_cpu)
r9191r9192
393388
394389   MDRV_OKIM6295_ADD("oki", 1056000*2, OKIM6295_PIN7_LOW) // clock frequency & pin 7 not verified
395390   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
396MACHINE_DRIVER_END
391MACHINE_CONFIG_END
397392
398393/*************************************
399394 *
src/mame/drivers/gng.c
r9191r9192
323323   state->scrolly[1] = 0;
324324}
325325
326static MACHINE_DRIVER_START( gng )
326static MACHINE_CONFIG_START( gng, gng_state )
327327
328   /* driver data */
329   MDRV_DRIVER_DATA(gng_state)
330
331328   /* basic machine hardware */
332329   MDRV_CPU_ADD("maincpu", M6809, XTAL_12MHz/8)      /* verified on pcb */
333330   MDRV_CPU_PROGRAM_MAP(gng_map)
r9191r9192
371368   MDRV_SOUND_ROUTE(1, "mono", 0.40)
372369   MDRV_SOUND_ROUTE(2, "mono", 0.40)
373370   MDRV_SOUND_ROUTE(3, "mono", 0.20)
374MACHINE_DRIVER_END
371MACHINE_CONFIG_END
375372
376373
377374
src/mame/drivers/nbmj8891.c
r9191r9192
4848#include "sound/ay8910.h"
4949#include "sound/3812intf.h"
5050#include "includes/nbmj8891.h"
51#include "machine/nvram.h"
5152
5253
5354#define SIGNED_DAC   0      // 0:unsigned DAC, 1:signed DAC
r9191r9192
332333   AM_RANGE(0x0000, 0xefff) AM_ROM
333334   AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
334335   AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w)
335   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
336   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
336337ADDRESS_MAP_END
337338
338339static ADDRESS_MAP_START( mgion_map, ADDRESS_SPACE_PROGRAM, 8 )
339340   AM_RANGE(0x0000, 0xefff) AM_ROM
340341   AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w)
341342   AM_RANGE(0xf400, 0xf40f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
342   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
343   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
343344ADDRESS_MAP_END
344345
345346static ADDRESS_MAP_START( omotesnd_map, ADDRESS_SPACE_PROGRAM, 8 )
346347   AM_RANGE(0x0000, 0xefff) AM_ROM
347348   AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w)
348   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
349   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
349350ADDRESS_MAP_END
350351
351352static ADDRESS_MAP_START( hanamomo_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
358359static ADDRESS_MAP_START( scandalm_map, ADDRESS_SPACE_PROGRAM, 8 )
359360   AM_RANGE(0x0000, 0xefff) AM_ROM
360361   AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type1_r,nbmj8891_palette_type1_w)
361   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
362   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
362363ADDRESS_MAP_END
363364
364365static ADDRESS_MAP_START( club90s_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
372373   AM_RANGE(0x0000, 0xefff) AM_ROM
373374   AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
374375   AM_RANGE(0xf400, 0xf5ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w)
375   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
376   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
376377ADDRESS_MAP_END
377378
378379static ADDRESS_MAP_START( maiko_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
400401   AM_RANGE(0x0000, 0xefff) AM_ROM
401402   AM_RANGE(0xf000, 0xf1ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w)
402403   AM_RANGE(0xf400, 0xf40f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
403   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
404   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
404405ADDRESS_MAP_END
405406
406407static ADDRESS_MAP_START( hanaoji_map, ADDRESS_SPACE_PROGRAM, 8 )
407408   AM_RANGE(0x0000, 0xefff) AM_ROM
408409   AM_RANGE(0xf200, 0xf3ff) AM_READWRITE(nbmj8891_palette_type2_r,nbmj8891_palette_type2_w)
409410   AM_RANGE(0xf700, 0xf70f) AM_READWRITE(nbmj8891_clut_r,nbmj8891_clut_w)
410   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
411   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
411412ADDRESS_MAP_END
412413
413414static READ8_HANDLER( taiwanmb_unk_r )
r9191r9192
418419static ADDRESS_MAP_START( taiwanmb_map, ADDRESS_SPACE_PROGRAM, 8 )
419420   AM_RANGE(0x0000, 0x7fff) AM_ROM
420421   AM_RANGE(0xec00, 0xedff) AM_READWRITE(nbmj8891_palette_type3_r,nbmj8891_palette_type3_w)
421   AM_RANGE(0xf800, 0xfeff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
422   AM_RANGE(0xf800, 0xfeff) AM_RAM AM_SHARE("nvram")
422423   AM_RANGE(0xff00, 0xff1f) AM_NOP                           // ?
423424   AM_RANGE(0xff20, 0xff20) AM_READ(taiwanmb_unk_r)            // MCU or 1413M3 STATUS? (return != 0x00 then loop)
424425   AM_RANGE(0xff20, 0xff20) AM_WRITE(nbmj8891_taiwanmb_mcu_w)      // MCU PARAMETER?
r9191r9192
26052606
26062607
26072608
2608static MACHINE_DRIVER_START( gionbana )
2609static MACHINE_CONFIG_START( gionbana, driver_device )
26092610
26102611   /* basic machine hardware */
26112612   MDRV_CPU_ADD("maincpu", Z80, 20000000/4)   /* 5.00 MHz ? */
r9191r9192
26372638
26382639   MDRV_SOUND_ADD("dac", DAC, 0)
26392640   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2640MACHINE_DRIVER_END
2641MACHINE_CONFIG_END
26412642
26422643
2643static MACHINE_DRIVER_START( mgion )
2644static MACHINE_CONFIG_DERIVED( mgion, gionbana )
26442645
26452646   /* basic machine hardware */
2646   MDRV_IMPORT_FROM(gionbana)
26472647   MDRV_CPU_MODIFY("maincpu")
26482648   MDRV_CPU_PROGRAM_MAP(mgion_map)
26492649   MDRV_CPU_IO_MAP(mgion_io_map)
26502650
2651   MDRV_NVRAM_HANDLER(nb1413m3)
2652MACHINE_DRIVER_END
2651   MDRV_NVRAM_ADD_0FILL("nvram")
2652MACHINE_CONFIG_END
26532653
26542654
2655static MACHINE_DRIVER_START( omotesnd )
2655static MACHINE_CONFIG_DERIVED( omotesnd, gionbana )
26562656
26572657   /* basic machine hardware */
2658   MDRV_IMPORT_FROM(gionbana)
26592658   MDRV_CPU_MODIFY("maincpu")
26602659   MDRV_CPU_PROGRAM_MAP(omotesnd_map)
26612660   MDRV_CPU_IO_MAP(omotesnd_io_map)
26622661
2663   MDRV_NVRAM_HANDLER(nb1413m3)
2662   MDRV_NVRAM_ADD_0FILL("nvram")
26642663
26652664   /* sound hardware */
26662665   MDRV_SOUND_REPLACE("fmsnd", AY8910, 1250000)
26672666   MDRV_SOUND_CONFIG(ay8910_config)
26682667   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
2669MACHINE_DRIVER_END
2668MACHINE_CONFIG_END
26702669
26712670
26722671/* NBMJDRV2 */
2673static MACHINE_DRIVER_START( mjcamerb )
2672static MACHINE_CONFIG_DERIVED( mjcamerb, gionbana )
26742673
26752674   /* basic machine hardware */
2676   MDRV_IMPORT_FROM(gionbana)
26772675   MDRV_CPU_MODIFY("maincpu")
26782676   MDRV_CPU_IO_MAP(hanamomo_io_map)
26792677//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 142)    // ?
26802678
2681   MDRV_NVRAM_HANDLER(nb1413m3)
2679   MDRV_NVRAM_ADD_0FILL("nvram")
26822680
26832681   /* video hardware */
26842682   MDRV_SCREEN_MODIFY("screen")
26852683   MDRV_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
26862684   MDRV_VIDEO_START(nbmj8891_1layer)
2687MACHINE_DRIVER_END
2685MACHINE_CONFIG_END
26882686
2689static MACHINE_DRIVER_START( mmcamera )
2687static MACHINE_CONFIG_DERIVED( mmcamera, gionbana )
26902688
26912689   /* basic machine hardware */
2692   MDRV_IMPORT_FROM(gionbana)
26932690   MDRV_CPU_MODIFY("maincpu")
26942691   MDRV_CPU_IO_MAP(hanamomo_io_map)
26952692//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128)
26962693
2697   MDRV_NVRAM_HANDLER(nb1413m3)
2694   MDRV_NVRAM_ADD_0FILL("nvram")
26982695
26992696   /* video hardware */
27002697   MDRV_SCREEN_MODIFY("screen")
27012698   MDRV_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
27022699   MDRV_VIDEO_START(nbmj8891_1layer)
2703MACHINE_DRIVER_END
2700MACHINE_CONFIG_END
27042701
2705static MACHINE_DRIVER_START( hanamomo )
2702static MACHINE_CONFIG_DERIVED( hanamomo, gionbana )
27062703
27072704   /* basic machine hardware */
2708   MDRV_IMPORT_FROM(gionbana)
27092705   MDRV_CPU_MODIFY("maincpu")
27102706   MDRV_CPU_PROGRAM_MAP(hanamomo_map)
27112707   MDRV_CPU_IO_MAP(hanamomo_io_map)
r9191r9192
27152711   MDRV_SCREEN_MODIFY("screen")
27162712   MDRV_SCREEN_VISIBLE_AREA(0, 512-1, 16, 240-1)
27172713   MDRV_VIDEO_START(nbmj8891_1layer)
2718MACHINE_DRIVER_END
2714MACHINE_CONFIG_END
27192715
27202716
2721static MACHINE_DRIVER_START( msjiken )
2717static MACHINE_CONFIG_DERIVED( msjiken, hanamomo )
27222718
27232719   /* basic machine hardware */
2724   MDRV_IMPORT_FROM(hanamomo)
27252720   MDRV_CPU_MODIFY("maincpu")
27262721   MDRV_CPU_PROGRAM_MAP(gionbana_map)
27272722   MDRV_CPU_IO_MAP(msjiken_io_map)
27282723//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 142)    // nmiclock = 70
2729MACHINE_DRIVER_END
2724MACHINE_CONFIG_END
27302725
27312726
27322727
27332728/* NBMJDRV3 */
2734static MACHINE_DRIVER_START( telmahjn )
2729static MACHINE_CONFIG_DERIVED( telmahjn, gionbana )
27352730
27362731   /* basic machine hardware */
2737   MDRV_IMPORT_FROM(gionbana)
27382732   MDRV_CPU_MODIFY("maincpu")
27392733//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 142)    // nmiclock = 70
27402734
27412735   /* video hardware */
27422736   MDRV_VIDEO_START(nbmj8891_1layer)
2743MACHINE_DRIVER_END
2737MACHINE_CONFIG_END
27442738
27452739
2746static MACHINE_DRIVER_START( mgmen89 )
2740static MACHINE_CONFIG_DERIVED( mgmen89, telmahjn )
27472741
27482742   /* basic machine hardware */
2749   MDRV_IMPORT_FROM(telmahjn)
27502743   MDRV_CPU_MODIFY("maincpu")
27512744//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128)
2752MACHINE_DRIVER_END
2745MACHINE_CONFIG_END
27532746
27542747
27552748/* NBMJDRV4 */
2756static MACHINE_DRIVER_START( mjfocus )
2749static MACHINE_CONFIG_DERIVED( mjfocus, gionbana )
27572750
27582751   /* basic machine hardware */
2759   MDRV_IMPORT_FROM(gionbana)
27602752
27612753   /* video hardware */
27622754   MDRV_VIDEO_START(nbmj8891_1layer)
2763MACHINE_DRIVER_END
2755MACHINE_CONFIG_END
27642756
27652757
27662758/* NBMJDRV5 */
2767static MACHINE_DRIVER_START( mjnanpas )
2759static MACHINE_CONFIG_DERIVED( mjnanpas, gionbana )
27682760
27692761   /* basic machine hardware */
2770   MDRV_IMPORT_FROM(gionbana)
27712762   MDRV_CPU_MODIFY("maincpu")
27722763   MDRV_CPU_PROGRAM_MAP(club90s_map)
2773MACHINE_DRIVER_END
2764MACHINE_CONFIG_END
27742765
27752766
2776static MACHINE_DRIVER_START( maiko )
2767static MACHINE_CONFIG_DERIVED( maiko, mjnanpas )
27772768
27782769   /* basic machine hardware */
2779   MDRV_IMPORT_FROM(mjnanpas)
27802770   MDRV_CPU_MODIFY("maincpu")
27812771   MDRV_CPU_PROGRAM_MAP(maiko_map)
27822772   MDRV_CPU_IO_MAP(maiko_io_map)
2783MACHINE_DRIVER_END
2773MACHINE_CONFIG_END
27842774
27852775
2786static MACHINE_DRIVER_START( mmaiko )
2776static MACHINE_CONFIG_DERIVED( mmaiko, maiko )
27872777
27882778   /* basic machine hardware */
2789   MDRV_IMPORT_FROM(maiko)
27902779   MDRV_CPU_MODIFY("maincpu")
27912780   MDRV_CPU_PROGRAM_MAP(mmaiko_map)
27922781
2793   MDRV_NVRAM_HANDLER(nb1413m3)
2794MACHINE_DRIVER_END
2782   MDRV_NVRAM_ADD_0FILL("nvram")
2783MACHINE_CONFIG_END
27952784
27962785
2797static MACHINE_DRIVER_START( lovehous )
2786static MACHINE_CONFIG_DERIVED( lovehous, mjnanpas )
27982787
27992788   /* basic machine hardware */
2800   MDRV_IMPORT_FROM(mjnanpas)
28012789   MDRV_CPU_MODIFY("maincpu")
28022790   MDRV_CPU_PROGRAM_MAP(lovehous_map)
28032791   MDRV_CPU_IO_MAP(lovehous_io_map)
28042792
2805   MDRV_NVRAM_HANDLER(nb1413m3)
2806MACHINE_DRIVER_END
2793   MDRV_NVRAM_ADD_0FILL("nvram")
2794MACHINE_CONFIG_END
28072795
28082796
2809static MACHINE_DRIVER_START( hanaoji )
2797static MACHINE_CONFIG_DERIVED( hanaoji, maiko )
28102798
28112799   /* basic machine hardware */
2812   MDRV_IMPORT_FROM(maiko)
28132800   MDRV_CPU_MODIFY("maincpu")
28142801   MDRV_CPU_PROGRAM_MAP(hanaoji_map)
28152802
2816   MDRV_NVRAM_HANDLER(nb1413m3)
2817MACHINE_DRIVER_END
2803   MDRV_NVRAM_ADD_0FILL("nvram")
2804MACHINE_CONFIG_END
28182805
2819static MACHINE_DRIVER_START( hnxmasev )
2806static MACHINE_CONFIG_DERIVED( hnxmasev, maiko )
28202807
28212808   /* basic machine hardware */
2822   MDRV_IMPORT_FROM(maiko)
28232809   MDRV_CPU_MODIFY("maincpu")
28242810   MDRV_CPU_PROGRAM_MAP(hnxmasev_map)
28252811   MDRV_CPU_IO_MAP(maiko_io_map)
2826MACHINE_DRIVER_END
2812MACHINE_CONFIG_END
28272813
2828static MACHINE_DRIVER_START( hnageman )
2814static MACHINE_CONFIG_DERIVED( hnageman, maiko )
28292815
28302816   /* basic machine hardware */
2831   MDRV_IMPORT_FROM(maiko)
28322817   MDRV_CPU_MODIFY("maincpu")
28332818   MDRV_CPU_PROGRAM_MAP(hnageman_map)
28342819   MDRV_CPU_IO_MAP(maiko_io_map)
2835MACHINE_DRIVER_END
2820MACHINE_CONFIG_END
28362821
2837static MACHINE_DRIVER_START( scandal )
2822static MACHINE_CONFIG_DERIVED( scandal, hanamomo )
28382823
28392824   /* basic machine hardware */
2840   MDRV_IMPORT_FROM(hanamomo)
28412825   MDRV_CPU_MODIFY("maincpu")
28422826   MDRV_CPU_PROGRAM_MAP(scandalm_map)
28432827   MDRV_CPU_IO_MAP(scandal_io_map)
2844MACHINE_DRIVER_END
2828MACHINE_CONFIG_END
28452829
28462830
2847static MACHINE_DRIVER_START( bananadr )
2831static MACHINE_CONFIG_DERIVED( bananadr, mjnanpas )
28482832
28492833   /* basic machine hardware */
2850   MDRV_IMPORT_FROM(mjnanpas)
28512834   MDRV_CPU_MODIFY("maincpu")
28522835   MDRV_CPU_PROGRAM_MAP(scandalm_map)
28532836   MDRV_CPU_IO_MAP(bananadr_io_map)
28542837
2855   MDRV_NVRAM_HANDLER(nb1413m3)
2856MACHINE_DRIVER_END
2838   MDRV_NVRAM_ADD_0FILL("nvram")
2839MACHINE_CONFIG_END
28572840
28582841
28592842/* NBMJDRV6 */
2860static MACHINE_DRIVER_START( mjfocusm )
2843static MACHINE_CONFIG_DERIVED( mjfocusm, gionbana )
28612844
28622845   /* basic machine hardware */
2863   MDRV_IMPORT_FROM(gionbana)
28642846   MDRV_CPU_MODIFY("maincpu")
28652847   MDRV_CPU_PROGRAM_MAP(scandalm_map)
28662848   MDRV_CPU_IO_MAP(scandalm_io_map)
28672849//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128)
28682850
2869   MDRV_NVRAM_HANDLER(nb1413m3)
2851   MDRV_NVRAM_ADD_0FILL("nvram")
28702852
28712853   /* video hardware */
28722854   MDRV_SCREEN_MODIFY("screen")
r9191r9192
28772859   MDRV_SOUND_REPLACE("fmsnd", AY8910, 1250000)
28782860   MDRV_SOUND_CONFIG(ay8910_config)
28792861   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
2880MACHINE_DRIVER_END
2862MACHINE_CONFIG_END
28812863
28822864
2883static MACHINE_DRIVER_START( taiwanmb )
2865static MACHINE_CONFIG_DERIVED( taiwanmb, gionbana )
28842866
28852867   /* basic machine hardware */
2886   MDRV_IMPORT_FROM(gionbana)
28872868   MDRV_CPU_MODIFY("maincpu")
28882869   MDRV_CPU_PROGRAM_MAP(taiwanmb_map)
28892870   MDRV_CPU_IO_MAP(taiwanmb_io_map)
28902871//  MDRV_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
28912872
2892   MDRV_NVRAM_HANDLER(nb1413m3)
2873   MDRV_NVRAM_ADD_0FILL("nvram")
28932874
28942875   /* video hardware */
28952876   MDRV_SCREEN_MODIFY("screen")
r9191r9192
29002881   MDRV_SOUND_REPLACE("fmsnd", AY8910, 1250000)
29012882   MDRV_SOUND_CONFIG(ay8910_config)
29022883   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
2903MACHINE_DRIVER_END
2884MACHINE_CONFIG_END
29042885
29052886
29062887
src/mame/drivers/wc90b.c
r9191r9192
8686#include "cpu/z80/z80.h"
8787#include "sound/2203intf.h"
8888#include "sound/msm5205.h"
89#include "includes/wc90b.h"
8990
90
9191#define TEST_DIPS false /* enable to test unmapped dip switches */
9292
9393#define MASTER_CLOCK XTAL_14_31818MHz/2
r9191r9192
9595#define YM2203_CLOCK XTAL_20MHz/16
9696#define MSM5205_CLOCK XTAL_384kHz
9797
98extern UINT8 *wc90b_fgvideoram,*wc90b_bgvideoram,*wc90b_txvideoram;
99
100extern UINT8 *wc90b_scroll1x;
101extern UINT8 *wc90b_scroll2x;
102
103extern UINT8 *wc90b_scroll1y;
104extern UINT8 *wc90b_scroll2y;
105
106extern UINT8 *wc90b_scroll_x_lo;
107
108VIDEO_START( wc90b );
109WRITE8_HANDLER( wc90b_bgvideoram_w );
110WRITE8_HANDLER( wc90b_fgvideoram_w );
111WRITE8_HANDLER( wc90b_txvideoram_w );
112VIDEO_UPDATE( wc90b );
113
11498static int msm5205next;
11599
116100static WRITE8_HANDLER( wc90b_bankswitch_w )
r9191r9192
376360   MSM5205_S96_4B   /* 4KHz 4-bit */
377361};
378362
379static MACHINE_DRIVER_START( wc90b )
363static MACHINE_CONFIG_START( wc90b, driver_device )
380364
381365   /* basic machine hardware */
382366   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK)
r9191r9192
415399   MDRV_SOUND_ADD("msm", MSM5205, MSM5205_CLOCK)
416400   MDRV_SOUND_CONFIG(msm5205_config)
417401   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
418MACHINE_DRIVER_END
402MACHINE_CONFIG_END
419403
420404ROM_START( wc90b1 )
421405   ROM_REGION( 0x20000, "maincpu", 0 )
src/mame/drivers/holeland.c
r9191r9192
1414#include "emu.h"
1515#include "cpu/z80/z80.h"
1616#include "sound/ay8910.h"
17#include "machine/nvram.h"
1718#include "includes/holeland.h"
1819
1920
r9191r9192
3031
3132static ADDRESS_MAP_START( crzrally_map, ADDRESS_SPACE_PROGRAM, 8 )
3233   AM_RANGE(0x0000, 0xbfff) AM_ROM
33   AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
34   AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("nvram")
3435   AM_RANGE(0xe000, 0xe3ff) AM_WRITE(holeland_colorram_w) AM_BASE_MEMBER(holeland_state, colorram)
3536   AM_RANGE(0xe400, 0xe7ff) AM_WRITE(holeland_videoram_w) AM_BASE_SIZE_MEMBER(holeland_state, videoram, videoram_size)
3637   AM_RANGE(0xe800, 0xebff) AM_RAM AM_BASE_SIZE_MEMBER(holeland_state, spriteram, spriteram_size)
r9191r9192
273274
274275
275276
276static MACHINE_DRIVER_START( holeland )
277static MACHINE_CONFIG_START( holeland, holeland_state )
277278
278   /* driver data */
279   MDRV_DRIVER_DATA(holeland_state)
280
281279   /* basic machine hardware */
282280   MDRV_CPU_ADD("maincpu", Z80, 4000000)        /* 4 MHz ? */
283281   MDRV_CPU_PROGRAM_MAP(holeland_map)
r9191r9192
309307   MDRV_SOUND_ADD("ay2", AY8910, 1818182)
310308   MDRV_SOUND_CONFIG(ay8910_interface_2)
311309   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
312MACHINE_DRIVER_END
310MACHINE_CONFIG_END
313311
314312/*
315313
r9191r9192
345343
346344*/
347345
348static MACHINE_DRIVER_START( crzrally )
346static MACHINE_CONFIG_START( crzrally, holeland_state )
349347
350   /* driver data */
351   MDRV_DRIVER_DATA(holeland_state)
352
353348   /* basic machine hardware */
354349   MDRV_CPU_ADD("maincpu", Z80, 20000000/4)        /* 5 MHz */
355350   MDRV_CPU_PROGRAM_MAP(crzrally_map)
356351   MDRV_CPU_IO_MAP(io_map)
357352   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
358353
359   MDRV_NVRAM_HANDLER(generic_1fill)
354   MDRV_NVRAM_ADD_1FILL("nvram")
360355
361356   /* video hardware */
362357   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
383378   MDRV_SOUND_ADD("ay2", AY8910, 20000000/16)
384379   MDRV_SOUND_CONFIG(ay8910_interface_2)
385380   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
386MACHINE_DRIVER_END
381MACHINE_CONFIG_END
387382
388383
389384/***************************************************************************
src/mame/drivers/liberate.c
r9191r9192
826826   state->bank = 0;
827827}
828828
829static MACHINE_DRIVER_START( liberate )
829static MACHINE_CONFIG_START( liberate, liberate_state )
830830
831   MDRV_DRIVER_DATA(liberate_state)
832
833831   /* basic machine hardware */
834832   MDRV_CPU_ADD("maincpu",DECO16, 2000000)
835833   MDRV_CPU_PROGRAM_MAP(liberate_map)
r9191r9192
868866
869867   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
870868   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
871MACHINE_DRIVER_END
869MACHINE_CONFIG_END
872870
873static MACHINE_DRIVER_START( liberatb )
874   MDRV_IMPORT_FROM(liberate)
871static MACHINE_CONFIG_DERIVED( liberatb, liberate )
875872
876873   /* basic machine hardware */
877874   MDRV_CPU_REPLACE("maincpu", M6502, 2000000)
878875   MDRV_CPU_PROGRAM_MAP(liberatb_map)
879876   MDRV_CPU_VBLANK_INT("screen", deco16_interrupt)
880MACHINE_DRIVER_END
877MACHINE_CONFIG_END
881878
882static MACHINE_DRIVER_START( boomrang )
883   MDRV_IMPORT_FROM(liberate)
879static MACHINE_CONFIG_DERIVED( boomrang, liberate )
884880
885881   MDRV_VIDEO_START(boomrang)
886882   MDRV_VIDEO_UPDATE(boomrang)
887MACHINE_DRIVER_END
883MACHINE_CONFIG_END
888884
889static MACHINE_DRIVER_START( prosoccr )
885static MACHINE_CONFIG_DERIVED( prosoccr, liberate )
890886
891   MDRV_IMPORT_FROM(liberate)
892
893887   /* basic machine hardware */
894888   MDRV_CPU_MODIFY("maincpu")
895889   MDRV_CPU_CLOCK(10000000/8) //xtal is unknown?
r9191r9192
909903
910904   MDRV_VIDEO_START(prosoccr)
911905   MDRV_VIDEO_UPDATE(prosoccr)
912MACHINE_DRIVER_END
906MACHINE_CONFIG_END
913907
914static MACHINE_DRIVER_START( prosport )
908static MACHINE_CONFIG_START( prosport, liberate_state )
915909
916   MDRV_DRIVER_DATA(liberate_state)
917
918910   /* basic machine hardware */
919911   MDRV_CPU_ADD("maincpu", DECO16, 2000000)
920912   MDRV_CPU_PROGRAM_MAP(prosport_map)
r9191r9192
952944
953945   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
954946   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
955MACHINE_DRIVER_END
947MACHINE_CONFIG_END
956948
957949
958950/*************************************
src/mame/drivers/gunsmoke.c
r9191r9192
295295   state->sprite3bank = 0;
296296}
297297
298static MACHINE_DRIVER_START( gunsmoke )
298static MACHINE_CONFIG_START( gunsmoke, gunsmoke_state )
299299
300   /* driver data */
301   MDRV_DRIVER_DATA(gunsmoke_state)
302
303300   /* basic machine hardware */
304301   MDRV_CPU_ADD("maincpu", Z80, 4000000)   // 4 MHz
305302   MDRV_CPU_PROGRAM_MAP(gunsmoke_map)
r9191r9192
341338   MDRV_SOUND_ROUTE(1, "mono", 0.22)
342339   MDRV_SOUND_ROUTE(2, "mono", 0.22)
343340   MDRV_SOUND_ROUTE(3, "mono", 0.14)
344MACHINE_DRIVER_END
341MACHINE_CONFIG_END
345342
346343/* ROMs */
347344
src/mame/drivers/truco.c
r9191r9192
1818#include "emu.h"
1919#include "cpu/m6809/m6809.h"
2020#include "sound/dac.h"
21#include "includes/truco.h"
2122
2223static UINT8 *battery_ram;
2324
24/* from video */
25VIDEO_UPDATE( truco );
26PALETTE_INIT( truco );
2725
28
2926/***************************************************************************/
3027
3128
3229static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
3330   AM_RANGE(0x0000, 0x17ff) AM_RAM                              /* general purpose ram */
34   AM_RANGE(0x1800, 0x7bff) AM_RAM AM_BASE_GENERIC(videoram)               /* video ram */
31   AM_RANGE(0x1800, 0x7bff) AM_RAM AM_BASE_MEMBER(truco_state, videoram)               /* video ram */
3532   AM_RANGE(0x7c00, 0x7fff) AM_RAM AM_BASE(&battery_ram)            /* battery backed ram */
3633   AM_RANGE(0x8000, 0x8000) AM_READ_PORT("P1") AM_WRITENOP            /* controls (and irq ack?) */
3734   AM_RANGE(0x8001, 0x8001) AM_NOP            /* unknown */
r9191r9192
135132}
136133
137134
138static MACHINE_DRIVER_START( truco )
135static MACHINE_CONFIG_START( truco, truco_state )
139136
140137   /* basic machine hardware */
141138   MDRV_CPU_ADD("maincpu", M6809, 750000)        /* ?? guess */
r9191r9192
163160
164161   MDRV_SOUND_ADD("dac", DAC, 0)
165162   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
166MACHINE_DRIVER_END
163MACHINE_CONFIG_END
167164
168165
169166/***************************************************************************
src/mame/drivers/seta.c
r9191r9192
24942494   AM_RANGE(0x400004, 0x400005) AM_READ_PORT("COINS")            // Coins
24952495   AM_RANGE(0x400000, 0x400001) AM_WRITENOP                  // ? IRQ Ack
24962496   AM_RANGE(0x500000, 0x500005) AM_RAM_WRITE(seta_vregs_w) AM_BASE_MEMBER(seta_state, vregs)   // Coin Lockout + Video Registers
2497   AM_RANGE(0x500006, 0x500007) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff) // tfun sound
2497   AM_RANGE(0x500006, 0x500007) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff) // tfun sound
24982498   AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_BASE_MEMBER(seta_state, vram_0)   // VRAM 0&1
24992499   AM_RANGE(0x880000, 0x883fff) AM_RAM_WRITE(seta_vram_2_w) AM_BASE_MEMBER(seta_state, vram_2)   // VRAM 2&3
25002500/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_BASE_MEMBER(seta_state, vctrl_0)      // VRAM 0&1 Ctrl
r9191r9192
26452645static ADDRESS_MAP_START( wiggie_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
26462646   AM_RANGE(0x0000, 0x7fff) AM_ROM
26472647   AM_RANGE(0x8000, 0x87ff) AM_RAM
2648   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
2648   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
26492649   AM_RANGE(0xa000, 0xa000) AM_READ(wiggie_soundlatch_r)
26502650ADDRESS_MAP_END
26512651
r9191r9192
27622762   AM_RANGE(0x630000, 0x630003) AM_READ(seta_dsw_r)
27632763   AM_RANGE(0x640400, 0x640fff) AM_WRITEONLY AM_BASE_SIZE_MEMBER(seta_state, paletteram, paletteram_size)   // Palette
27642764   AM_RANGE(0x650000, 0x650003) AM_DEVWRITE8("ymsnd", ym3812_w, 0x00ff)
2765   AM_RANGE(0x658000, 0x658001) AM_DEVWRITE8("oki", okim6295_w, 0x00ff)
2765   AM_RANGE(0x658000, 0x658001) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0x00ff)
27662766   AM_RANGE(0x670000, 0x670001) AM_READNOP      // watchdog?
27672767   AM_RANGE(0x800000, 0x803fff) AM_WRITE(seta_vram_2_w) AM_BASE_MEMBER(seta_state, vram_2) // VRAM 2
27682768   AM_RANGE(0x880000, 0x883fff) AM_WRITE(seta_vram_0_w) AM_BASE_MEMBER(seta_state, vram_0) // VRAM 0
r9191r9192
68506850      cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
68516851}
68526852
6853static MACHINE_DRIVER_START( tndrcade )
6853static MACHINE_CONFIG_START( tndrcade, seta_state )
68546854
6855   MDRV_DRIVER_DATA( seta_state )
6856
68576855   /* basic machine hardware */
68586856   MDRV_CPU_ADD("maincpu", M68000, 16000000/2)   /* 8 MHz */
68596857   MDRV_CPU_PROGRAM_MAP(tndrcade_map)
r9191r9192
68886886   MDRV_SOUND_ADD("ym2", YM3812, 16000000/4)   /* 4 MHz */
68896887   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
68906888   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
6891MACHINE_DRIVER_END
6889MACHINE_CONFIG_END
68926890
68936891
68946892/***************************************************************************
r9191r9192
69016899
69026900/* twineagl lev 3 = lev 2 + lev 1 ! */
69036901
6904static MACHINE_DRIVER_START( twineagl )
6902static MACHINE_CONFIG_START( twineagl, seta_state )
69056903
6906   MDRV_DRIVER_DATA( seta_state )
6907
69086904   /* basic machine hardware */
69096905   MDRV_CPU_ADD("maincpu", M68000, 16000000/2)   /* 8 MHz */
69106906   MDRV_CPU_PROGRAM_MAP(downtown_map)
r9191r9192
69356931   MDRV_SOUND_CONFIG(seta_sound_intf)
69366932   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
69376933   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
6938MACHINE_DRIVER_END
6934MACHINE_CONFIG_END
69396935
69406936
69416937/***************************************************************************
r9191r9192
69446940
69456941/* downtown lev 3 = lev 2 + lev 1 ! */
69466942
6947static MACHINE_DRIVER_START( downtown )
6943static MACHINE_CONFIG_START( downtown, seta_state )
69486944
6949   MDRV_DRIVER_DATA( seta_state )
6950
69516945   /* basic machine hardware */
69526946   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) /* verified on pcb */
69536947   MDRV_CPU_PROGRAM_MAP(downtown_map)
r9191r9192
69766970   MDRV_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
69776971   MDRV_SOUND_CONFIG(seta_sound_intf)
69786972   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
6979MACHINE_DRIVER_END
6973MACHINE_CONFIG_END
69806974
69816975
69826976/***************************************************************************
r9191r9192
70036997}
70046998
70056999
7006static MACHINE_DRIVER_START( usclssic )
7000static MACHINE_CONFIG_START( usclssic, seta_state )
70077001
7008   MDRV_DRIVER_DATA( seta_state )
7009
70107002   /* basic machine hardware */
70117003   MDRV_CPU_ADD("maincpu", M68000, 16000000/2)   /* 8 MHz */
70127004   MDRV_CPU_PROGRAM_MAP(usclssic_map)
r9191r9192
70407032   MDRV_SOUND_CONFIG(seta_sound_intf2)
70417033   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
70427034   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7043MACHINE_DRIVER_END
7035MACHINE_CONFIG_END
70447036
70457037
70467038/***************************************************************************
r9191r9192
70527044    Test mode shows a 16ms and 4ms counters. I wonder if every game has
70537045    5 ints per frame */
70547046
7055static MACHINE_DRIVER_START( calibr50 )
7047static MACHINE_CONFIG_START( calibr50, seta_state )
70567048
7057   MDRV_DRIVER_DATA( seta_state )
7058
70597049   /* basic machine hardware */
70607050   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) /* verified on pcb */
70617051   MDRV_CPU_PROGRAM_MAP(calibr50_map)
r9191r9192
70877077   MDRV_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
70887078   MDRV_SOUND_CONFIG(seta_sound_intf2)
70897079   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
7090MACHINE_DRIVER_END
7080MACHINE_CONFIG_END
70917081
70927082
70937083/***************************************************************************
r9191r9192
70967086
70977087/* metafox lev 3 = lev 2 + lev 1 ! */
70987088
7099static MACHINE_DRIVER_START( metafox )
7089static MACHINE_CONFIG_START( metafox, seta_state )
71007090
7101   MDRV_DRIVER_DATA( seta_state )
7102
71037091   /* basic machine hardware */
71047092   MDRV_CPU_ADD("maincpu", M68000, 16000000/2)   /* 8 MHz */
71057093   MDRV_CPU_PROGRAM_MAP(downtown_map)
r9191r9192
71307118   MDRV_SOUND_CONFIG(seta_sound_intf)
71317119   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
71327120   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7133MACHINE_DRIVER_END
7121MACHINE_CONFIG_END
71347122
71357123
71367124/***************************************************************************
71377125                                Athena no Hatena?
71387126***************************************************************************/
71397127
7140static MACHINE_DRIVER_START( atehate )
7128static MACHINE_CONFIG_START( atehate, seta_state )
71417129
7142   MDRV_DRIVER_DATA( seta_state )
7143
71447130   /* basic machine hardware */
71457131   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
71467132   MDRV_CPU_PROGRAM_MAP(atehate_map)
r9191r9192
71677153   MDRV_SOUND_CONFIG(seta_sound_intf)
71687154   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
71697155   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7170MACHINE_DRIVER_END
7156MACHINE_CONFIG_END
71717157
71727158
71737159/***************************************************************************
r9191r9192
71807166    samples are bankswitched
71817167*/
71827168
7183static MACHINE_DRIVER_START( blandia )
7169static MACHINE_CONFIG_START( blandia, seta_state )
71847170
7185   MDRV_DRIVER_DATA( seta_state )
7186
71877171   /* basic machine hardware */
71887172   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
71897173   MDRV_CPU_PROGRAM_MAP(blandia_map)
r9191r9192
72127196   MDRV_SOUND_CONFIG(seta_sound_intf)
72137197   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
72147198   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7215MACHINE_DRIVER_END
7199MACHINE_CONFIG_END
72167200
7217static MACHINE_DRIVER_START( blandiap )
7201static MACHINE_CONFIG_START( blandiap, seta_state )
72187202
7219   MDRV_DRIVER_DATA( seta_state )
7220
72217203   /* basic machine hardware */
72227204   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
72237205   MDRV_CPU_PROGRAM_MAP(blandiap_map)
r9191r9192
72467228   MDRV_SOUND_CONFIG(seta_sound_intf)
72477229   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
72487230   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7249MACHINE_DRIVER_END
7231MACHINE_CONFIG_END
72507232
72517233
72527234/***************************************************************************
72537235                                Block Carnival
72547236***************************************************************************/
72557237
7256static MACHINE_DRIVER_START( blockcar )
7238static MACHINE_CONFIG_START( blockcar, seta_state )
72577239
7258   MDRV_DRIVER_DATA( seta_state )
7259
72607240   /* basic machine hardware */
72617241   MDRV_CPU_ADD("maincpu", M68000, 16000000/2)   /* 8 MHz */
72627242   MDRV_CPU_PROGRAM_MAP(blockcar_map)
r9191r9192
72837263   MDRV_SOUND_CONFIG(seta_sound_intf)
72847264   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
72857265   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7286MACHINE_DRIVER_END
7266MACHINE_CONFIG_END
72877267
72887268
72897269/***************************************************************************
72907270                                Daioh
72917271***************************************************************************/
72927272
7293static MACHINE_DRIVER_START( daioh )
7273static MACHINE_CONFIG_START( daioh, seta_state )
72947274
7295   MDRV_DRIVER_DATA( seta_state )
7296
72977275   /* basic machine hardware */
72987276   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
72997277   MDRV_CPU_PROGRAM_MAP(daioh_map)
r9191r9192
73207298   MDRV_SOUND_CONFIG(seta_sound_intf)
73217299   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
73227300   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7323MACHINE_DRIVER_END
7301MACHINE_CONFIG_END
73247302
73257303/***************************************************************************
73267304                Dragon Unit, Quiz Kokology, Strike Gunner
r9191r9192
73327310    lev 2 drives the game
73337311*/
73347312
7335static MACHINE_DRIVER_START( drgnunit )
7313static MACHINE_CONFIG_START( drgnunit, seta_state )
73367314
7337   MDRV_DRIVER_DATA( seta_state )
7338
73397315   /* basic machine hardware */
73407316   MDRV_CPU_ADD("maincpu", M68000, 16000000/2)   /* 8 MHz */
73417317   MDRV_CPU_PROGRAM_MAP(drgnunit_map)
r9191r9192
73637339   MDRV_SOUND_CONFIG(seta_sound_intf)
73647340   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
73657341   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7366MACHINE_DRIVER_END
7342MACHINE_CONFIG_END
73677343
73687344/*  Same as qzkklogy, but with a 16MHz CPU and different
73697345    layout for the layer's tiles    */
73707346
7371static MACHINE_DRIVER_START( qzkklgy2 )
7347static MACHINE_CONFIG_START( qzkklgy2, seta_state )
73727348
7373   MDRV_DRIVER_DATA( seta_state )
7374
73757349   /* basic machine hardware */
73767350   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
73777351   MDRV_CPU_PROGRAM_MAP(drgnunit_map)
r9191r9192
73997373   MDRV_SOUND_CONFIG(seta_sound_intf)
74007374   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
74017375   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7402MACHINE_DRIVER_END
7376MACHINE_CONFIG_END
74037377
74047378/***************************************************************************
74057379                                Seta Roulette
r9191r9192
74167390}
74177391
74187392
7419static MACHINE_DRIVER_START( setaroul )
7393static MACHINE_CONFIG_START( setaroul, seta_state )
74207394
7421   MDRV_DRIVER_DATA( seta_state )
7422
74237395   /* basic machine hardware */
74247396   MDRV_CPU_ADD("maincpu", M68000, 16000000/2)   /* 8 MHz */
74257397   MDRV_CPU_PROGRAM_MAP(setaroul_map)
r9191r9192
74487420   MDRV_SOUND_CONFIG(seta_sound_intf)
74497421   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
74507422   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7451MACHINE_DRIVER_END
7423MACHINE_CONFIG_END
74527424
74537425
74547426/***************************************************************************
74557427                                Eight Force
74567428***************************************************************************/
74577429
7458static MACHINE_DRIVER_START( eightfrc )
7430static MACHINE_CONFIG_START( eightfrc, seta_state )
74597431
7460   MDRV_DRIVER_DATA( seta_state )
7461
74627432   /* basic machine hardware */
74637433   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
74647434   MDRV_CPU_PROGRAM_MAP(wrofaero_map)
r9191r9192
74857455   MDRV_SOUND_CONFIG(seta_sound_intf)
74867456   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
74877457   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7488MACHINE_DRIVER_END
7458MACHINE_CONFIG_END
74897459
74907460
74917461/***************************************************************************
r9191r9192
74977467    lev 1 == lev 3 (writes to $500000, bit 4 -> 1 then 0)
74987468    lev 2 drives the game
74997469*/
7500static MACHINE_DRIVER_START( extdwnhl )
7470static MACHINE_CONFIG_START( extdwnhl, seta_state )
75017471
7502   MDRV_DRIVER_DATA( seta_state )
7503
75047472   /* basic machine hardware */
75057473   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
75067474   MDRV_CPU_PROGRAM_MAP(extdwnhl_map)
r9191r9192
75287496   MDRV_SOUND_CONFIG(seta_sound_intf)
75297497   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
75307498   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7531MACHINE_DRIVER_END
7499MACHINE_CONFIG_END
75327500
75337501
75347502/***************************************************************************
r9191r9192
75517519    lev 2: VBlank
75527520    lev 4: Sound (generated by a timer mapped at $d00000-6 ?)
75537521*/
7554static MACHINE_DRIVER_START( gundhara )
7522static MACHINE_CONFIG_START( gundhara, seta_state )
75557523
7556   MDRV_DRIVER_DATA( seta_state )
7557
75587524   /* basic machine hardware */
75597525   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
75607526   MDRV_CPU_PROGRAM_MAP(wrofaero_map)
r9191r9192
75917557   MDRV_SOUND_CONFIG(seta_sound_intf)
75927558   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
75937559   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7594MACHINE_DRIVER_END
7560MACHINE_CONFIG_END
75957561
75967562
75977563/***************************************************************************
r9191r9192
76027568    lev 1 == lev 3 (writes to $500000, bit 4 -> 1 then 0)
76037569    lev 2 drives the game
76047570*/
7605static MACHINE_DRIVER_START( jjsquawk )
7571static MACHINE_CONFIG_START( jjsquawk, seta_state )
76067572
7607   MDRV_DRIVER_DATA( seta_state )
7608
76097573   /* basic machine hardware */
76107574   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
76117575   MDRV_CPU_PROGRAM_MAP(wrofaero_map)
r9191r9192
76337597   MDRV_SOUND_CONFIG(seta_sound_intf)
76347598   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
76357599   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7636MACHINE_DRIVER_END
7600MACHINE_CONFIG_END
76377601
7638static MACHINE_DRIVER_START( jjsquawb )
7602static MACHINE_CONFIG_START( jjsquawb, seta_state )
76397603
7640   MDRV_DRIVER_DATA( seta_state )
7641
76427604   /* basic machine hardware */
76437605   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
76447606   MDRV_CPU_PROGRAM_MAP(jjsquawb_map)
r9191r9192
76667628   MDRV_SOUND_CONFIG(seta_sound_intf)
76677629   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
76687630   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7669MACHINE_DRIVER_END
7631MACHINE_CONFIG_END
76707632
76717633/***************************************************************************
76727634                (Kamen) Masked Riders Club Battle Race
76737635***************************************************************************/
76747636
76757637/*  kamenrid: lev 2 by vblank, lev 4 by timer */
7676static MACHINE_DRIVER_START( kamenrid )
7638static MACHINE_CONFIG_START( kamenrid, seta_state )
76777639
7678   MDRV_DRIVER_DATA( seta_state )
7679
76807640   /* basic machine hardware */
76817641   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
76827642   MDRV_CPU_PROGRAM_MAP(kamenrid_map)
r9191r9192
77077667   MDRV_SOUND_CONFIG(seta_sound_intf)
77087668   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
77097669   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7710MACHINE_DRIVER_END
7670MACHINE_CONFIG_END
77117671
77127672/***************************************************************************
77137673                                Orbs
r9191r9192
77157675
77167676/* The CPU clock has been verified/measured, PCB only has one OSC and it's 14.318180 MHz */
77177677
7718static MACHINE_DRIVER_START( orbs )
7678static MACHINE_CONFIG_START( orbs, seta_state )
77197679
7720   MDRV_DRIVER_DATA( seta_state )
7721
77227680   /* basic machine hardware */
77237681   MDRV_CPU_ADD("maincpu", M68000, 14318180/2)   /* 7.143 MHz */
77247682   MDRV_CPU_PROGRAM_MAP(orbs_map)
r9191r9192
77457703   MDRV_SOUND_CONFIG(seta_sound_intf)
77467704   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
77477705   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7748MACHINE_DRIVER_END
7706MACHINE_CONFIG_END
77497707
77507708
77517709/***************************************************************************
77527710                  Kero Kero Keroppi no Issyoni Asobou
77537711***************************************************************************/
77547712
7755static MACHINE_DRIVER_START( keroppi )
7713static MACHINE_CONFIG_START( keroppi, seta_state )
77567714
7757   MDRV_DRIVER_DATA( seta_state )
7758
77597715   /* basic machine hardware */
77607716   MDRV_CPU_ADD("maincpu", M68000, 14318180/2)   /* 7.143 MHz */
77617717   MDRV_CPU_PROGRAM_MAP(keroppi_map)
r9191r9192
77847740   MDRV_SOUND_CONFIG(seta_sound_intf)
77857741   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
77867742   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7787MACHINE_DRIVER_END
7743MACHINE_CONFIG_END
77887744
77897745
77907746/***************************************************************************
77917747                                Krazy Bowl
77927748***************************************************************************/
77937749
7794static MACHINE_DRIVER_START( krzybowl )
7750static MACHINE_CONFIG_START( krzybowl, seta_state )
77957751
7796   MDRV_DRIVER_DATA( seta_state )
7797
77987752   /* basic machine hardware */
77997753   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
78007754   MDRV_CPU_PROGRAM_MAP(krzybowl_map)
r9191r9192
78217775   MDRV_SOUND_CONFIG(seta_sound_intf)
78227776   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
78237777   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7824MACHINE_DRIVER_END
7778MACHINE_CONFIG_END
78257779
78267780
78277781/***************************************************************************
r9191r9192
78297783***************************************************************************/
78307784
78317785/*  madshark: lev 2 by vblank, lev 4 by timer */
7832static MACHINE_DRIVER_START( madshark )
7786static MACHINE_CONFIG_START( madshark, seta_state )
78337787
7834   MDRV_DRIVER_DATA( seta_state )
7835
78367788   /* basic machine hardware */
78377789   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
78387790   MDRV_CPU_PROGRAM_MAP(madshark_map)
r9191r9192
78657817   MDRV_SOUND_CONFIG(seta_sound_intf)
78667818   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
78677819   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7868MACHINE_DRIVER_END
7820MACHINE_CONFIG_END
78697821
78707822/***************************************************************************
78717823                            Mobile Suit Gundam
r9191r9192
78737825
78747826/* msgundam lev 2 == lev 6 ! */
78757827
7876static MACHINE_DRIVER_START( msgundam )
7828static MACHINE_CONFIG_START( msgundam, seta_state )
78777829
7878   MDRV_DRIVER_DATA( seta_state )
7879
78807830   /* basic machine hardware */
78817831   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
78827832   MDRV_CPU_PROGRAM_MAP(msgundam_map)
r9191r9192
79127862   MDRV_SOUND_CONFIG(seta_sound_intf)
79137863   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
79147864   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7915MACHINE_DRIVER_END
7865MACHINE_CONFIG_END
79167866
79177867
79187868
r9191r9192
79207870                            Oishii Puzzle
79217871***************************************************************************/
79227872
7923static MACHINE_DRIVER_START( oisipuzl )
7873static MACHINE_CONFIG_START( oisipuzl, seta_state )
79247874
7925   MDRV_DRIVER_DATA( seta_state )
7926
79277875   /* basic machine hardware */
79287876   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
79297877   MDRV_CPU_PROGRAM_MAP(oisipuzl_map)
r9191r9192
79507898   MDRV_SOUND_CONFIG(seta_sound_intf)
79517899   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
79527900   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
7953MACHINE_DRIVER_END
7901MACHINE_CONFIG_END
79547902
79557903/***************************************************************************
79567904                            Triple Fun
r9191r9192
79587906
79597907/* same as oisipuzl but with different interrupts and sound */
79607908
7961static MACHINE_DRIVER_START( triplfun )
7909static MACHINE_CONFIG_START( triplfun, seta_state )
79627910
7963   MDRV_DRIVER_DATA( seta_state )
7964
79657911   /* basic machine hardware */
79667912   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
79677913   MDRV_CPU_PROGRAM_MAP(triplfun_map)
r9191r9192
79877933   MDRV_OKIM6295_ADD("oki", 792000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
79887934   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
79897935   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
7990MACHINE_DRIVER_END
7936MACHINE_CONFIG_END
79917937
79927938/***************************************************************************
79937939                            Pro Mahjong Kiwame
79947940***************************************************************************/
79957941
7996static MACHINE_DRIVER_START( kiwame )
7942static MACHINE_CONFIG_START( kiwame, seta_state )
79977943
7998   MDRV_DRIVER_DATA( seta_state )
7999
80007944   /* basic machine hardware */
80017945   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
80027946   MDRV_CPU_PROGRAM_MAP(kiwame_map)
r9191r9192
80247968   MDRV_SOUND_CONFIG(seta_sound_intf)
80257969   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
80267970   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
8027MACHINE_DRIVER_END
7971MACHINE_CONFIG_END
80287972
80297973
80307974
r9191r9192
80347978
80357979/* pretty much like wrofaero, but ints are 1&2, not 2&4 */
80367980
8037static MACHINE_DRIVER_START( rezon )
7981static MACHINE_CONFIG_START( rezon, seta_state )
80387982
8039   MDRV_DRIVER_DATA( seta_state )
8040
80417983   /* basic machine hardware */
80427984   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
80437985   MDRV_CPU_PROGRAM_MAP(wrofaero_map)
r9191r9192
80648006   MDRV_SOUND_CONFIG(seta_sound_intf)
80658007   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
80668008   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
8067MACHINE_DRIVER_END
8009MACHINE_CONFIG_END
80688010
80698011
80708012
r9191r9192
80748016
80758017/*  thunderl lev 2 = lev 3 - other levels lead to an error */
80768018
8077static MACHINE_DRIVER_START( thunderl )
8019static MACHINE_CONFIG_START( thunderl, seta_state )
80788020
8079   MDRV_DRIVER_DATA( seta_state )
8080
80818021   /* basic machine hardware */
80828022   MDRV_CPU_ADD("maincpu", M68000, 16000000/2)   /* 8 MHz */
80838023   MDRV_CPU_PROGRAM_MAP(thunderl_map)
r9191r9192
81048044   MDRV_SOUND_CONFIG(seta_sound_intf)
81058045   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
81068046   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
8107MACHINE_DRIVER_END
8047MACHINE_CONFIG_END
81088048
81098049
8110static MACHINE_DRIVER_START( wiggie )
8050static MACHINE_CONFIG_START( wiggie, seta_state )
81118051
8112   MDRV_DRIVER_DATA( seta_state )
8113
81148052   /* basic machine hardware */
81158053   MDRV_CPU_ADD("maincpu", M68000, 16000000/2)   /* 8 MHz */
81168054   MDRV_CPU_PROGRAM_MAP(wiggie_map)
r9191r9192
81388076
81398077   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
81408078   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
8141MACHINE_DRIVER_END
8079MACHINE_CONFIG_END
81428080
8143static MACHINE_DRIVER_START( superbar )
8144   MDRV_IMPORT_FROM( wiggie )
8081static MACHINE_CONFIG_DERIVED( superbar, wiggie )
81458082
81468083   MDRV_GFXDECODE(superbar)
8147MACHINE_DRIVER_END
8084MACHINE_CONFIG_END
81488085
8149static MACHINE_DRIVER_START( wits )
8086static MACHINE_CONFIG_START( wits, seta_state )
81508087
8151   MDRV_DRIVER_DATA( seta_state )
8152
81538088   /* basic machine hardware */
81548089   MDRV_CPU_ADD("maincpu", M68000, 16000000/2)   /* 8 MHz */
81558090   MDRV_CPU_PROGRAM_MAP(thunderl_map)
r9191r9192
81768111   MDRV_SOUND_CONFIG(seta_sound_intf)
81778112   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
81788113   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
8179MACHINE_DRIVER_END
8114MACHINE_CONFIG_END
81808115
81818116
81828117/***************************************************************************
81838118                    Ultraman Club / SD Gundam Neo Battling
81848119***************************************************************************/
81858120
8186static MACHINE_DRIVER_START( umanclub )
8121static MACHINE_CONFIG_START( umanclub, seta_state )
81878122
8188   MDRV_DRIVER_DATA( seta_state )
8189
81908123   /* basic machine hardware */
81918124   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
81928125   MDRV_CPU_PROGRAM_MAP(umanclub_map)
r9191r9192
82138146   MDRV_SOUND_CONFIG(seta_sound_intf)
82148147   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
82158148   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
8216MACHINE_DRIVER_END
8149MACHINE_CONFIG_END
82178150
82188151
82198152/***************************************************************************
82208153                            Ultra Toukond Densetsu
82218154***************************************************************************/
82228155
8223static MACHINE_DRIVER_START( utoukond )
8156static MACHINE_CONFIG_START( utoukond, seta_state )
82248157
8225   MDRV_DRIVER_DATA( seta_state )
8226
82278158   /* basic machine hardware */
82288159   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
82298160   MDRV_CPU_PROGRAM_MAP(utoukond_map)
r9191r9192
82598190   MDRV_SOUND_CONFIG(utoukond_ym3438_intf)
82608191   MDRV_SOUND_ROUTE(0, "lspeaker", 0.30)
82618192   MDRV_SOUND_ROUTE(1, "rspeaker", 0.30)
8262MACHINE_DRIVER_END
8193MACHINE_CONFIG_END
82638194
82648195
82658196/***************************************************************************
82668197                                War of Aero
82678198***************************************************************************/
82688199
8269static MACHINE_DRIVER_START( wrofaero )
8200static MACHINE_CONFIG_START( wrofaero, seta_state )
82708201
8271   MDRV_DRIVER_DATA( seta_state )
8272
82738202   /* basic machine hardware */
82748203   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
82758204   MDRV_CPU_PROGRAM_MAP(wrofaero_map)
r9191r9192
83048233   MDRV_SOUND_CONFIG(seta_sound_intf)
83058234   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
83068235   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
8307MACHINE_DRIVER_END
8236MACHINE_CONFIG_END
83088237
83098238
83108239
r9191r9192
83188247   at int 1 is necessary: it plays the background music.
83198248*/
83208249
8321static MACHINE_DRIVER_START( zingzip )
8250static MACHINE_CONFIG_START( zingzip, seta_state )
83228251
8323   MDRV_DRIVER_DATA( seta_state )
8324
83258252   /* basic machine hardware */
83268253   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
83278254   MDRV_CPU_PROGRAM_MAP(wrofaero_map)
r9191r9192
83498276   MDRV_SOUND_CONFIG(seta_sound_intf)
83508277   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
83518278   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
8352MACHINE_DRIVER_END
8279MACHINE_CONFIG_END
83538280
83548281/***************************************************************************
83558282                                Pairs Love
83568283***************************************************************************/
83578284
8358static MACHINE_DRIVER_START( pairlove )
8285static MACHINE_CONFIG_START( pairlove, seta_state )
83598286
8360   MDRV_DRIVER_DATA( seta_state )
8361
83628287   /* basic machine hardware */
83638288   MDRV_CPU_ADD("maincpu", M68000, 16000000/2)   /* 8 MHz */
83648289   MDRV_CPU_PROGRAM_MAP(pairlove_map)
r9191r9192
83858310   MDRV_SOUND_CONFIG(seta_sound_intf)
83868311   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
83878312   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
8388MACHINE_DRIVER_END
8313MACHINE_CONFIG_END
83898314
83908315
83918316/***************************************************************************
r9191r9192
84018326   }
84028327}
84038328
8404static MACHINE_DRIVER_START( crazyfgt )
8329static MACHINE_CONFIG_START( crazyfgt, seta_state )
84058330
8406   MDRV_DRIVER_DATA( seta_state )
8407
84088331   /* basic machine hardware */
84098332   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
84108333   MDRV_CPU_PROGRAM_MAP(crazyfgt_map)
r9191r9192
84338356
84348357   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)   // clock?
84358358   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
8436MACHINE_DRIVER_END
8359MACHINE_CONFIG_END
84378360
84388361/***************************************************************************
84398362                             International Toote
r9191r9192
84938416   DEVCB_NULL      /* IRQB */
84948417};
84958418
8496static MACHINE_DRIVER_START( inttoote )
8419static MACHINE_CONFIG_START( inttoote, seta_state )
84978420
8498   MDRV_DRIVER_DATA( seta_state )
8499
85008421   /* basic machine hardware */
85018422   MDRV_CPU_ADD("maincpu", M68000, 16000000)
85028423   MDRV_CPU_PROGRAM_MAP(inttoote_map)
r9191r9192
85308451
85318452   /* devices */
85328453   MDRV_MSM6242_ADD("rtc")
8533MACHINE_DRIVER_END
8454MACHINE_CONFIG_END
85348455
8535static MACHINE_DRIVER_START( jockeyc )
8536   MDRV_IMPORT_FROM( inttoote )
8456static MACHINE_CONFIG_DERIVED( jockeyc, inttoote )
85378457   MDRV_CPU_MODIFY("maincpu")
85388458   MDRV_CPU_PROGRAM_MAP(jockeyc_map)
8539MACHINE_DRIVER_END
8459MACHINE_CONFIG_END
85408460
85418461
85428462
src/mame/drivers/laserbat.c
r9191r9192
768768   state->bit14 = 0;
769769}
770770
771static MACHINE_DRIVER_START( laserbat )
771static MACHINE_CONFIG_START( laserbat, laserbat_state )
772772
773   /* driver data */
774   MDRV_DRIVER_DATA(laserbat_state)
775
776773   /* basic machine hardware */
777774   MDRV_CPU_ADD("maincpu", S2650, 14318180/4) // ???
778775   MDRV_CPU_PROGRAM_MAP(laserbat_map)
r9191r9192
811808
812809   MDRV_SOUND_ADD("tms2", TMS3615, 4000000/8) // 500 kHz
813810   MDRV_SOUND_ROUTE(TMS3615_FOOTAGE_8, "mono", 1.0)
814MACHINE_DRIVER_END
811MACHINE_CONFIG_END
815812
816static MACHINE_DRIVER_START( catnmous )
813static MACHINE_CONFIG_START( catnmous, laserbat_state )
817814
818   /* driver data */
819   MDRV_DRIVER_DATA(laserbat_state)
820
821815   /* basic machine hardware */
822816   MDRV_CPU_ADD("maincpu", S2650, 14318000/4)   /* ? */
823817   MDRV_CPU_PROGRAM_MAP(laserbat_map)
r9191r9192
860854
861855   MDRV_SOUND_ADD("ay2", AY8910, 3580000/2) // ?
862856   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
863MACHINE_DRIVER_END
857MACHINE_CONFIG_END
864858
865859
866860/*
src/mame/drivers/tp84.c
r9191r9192
7070#include "sound/sn76496.h"
7171#include "sound/flt_rc.h"
7272#include "includes/konamipt.h"
73#include "includes/tp84.h"
7374
74extern UINT8 *tp84_bg_videoram;
75extern UINT8 *tp84_bg_colorram;
76extern UINT8 *tp84_fg_videoram;
77extern UINT8 *tp84_fg_colorram;
78extern UINT8 *tp84_spriteram;
79extern UINT8 *tp84_scroll_x;
80extern UINT8 *tp84_scroll_y;
81extern UINT8 *tp84_palette_bank;
82extern UINT8 *tp84_flipscreen_x;
83extern UINT8 *tp84_flipscreen_y;
84
85WRITE8_HANDLER( tp84_spriteram_w );
86READ8_HANDLER( tp84_scanline_r );
87
88PALETTE_INIT( tp84 );
89VIDEO_START( tp84 );
90VIDEO_UPDATE( tp84 );
91
9275static cpu_device *audiocpu;
9376
9477
r9191r9192
291274
292275
293276
294static MACHINE_DRIVER_START( tp84 )
277static MACHINE_CONFIG_START( tp84, driver_device )
295278
296279   /* basic machine hardware */
297280   MDRV_CPU_ADD("cpu1",M6809, XTAL_18_432MHz/12) /* verified on pcb */
r9191r9192
343326   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
344327   MDRV_SOUND_ADD("filter3", FILTER_RC, 0)
345328   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
346MACHINE_DRIVER_END
329MACHINE_CONFIG_END
347330
348static MACHINE_DRIVER_START( tp84b )
349   MDRV_IMPORT_FROM(tp84)
331static MACHINE_CONFIG_DERIVED( tp84b, tp84 )
350332   MDRV_CPU_MODIFY("cpu1")
351333   MDRV_CPU_PROGRAM_MAP(tp84b_cpu1_map)
352MACHINE_DRIVER_END
334MACHINE_CONFIG_END
353335
354336/***************************************************************************
355337
src/mame/drivers/vball.c
r9191r9192
232232   AM_RANGE(0x0000, 0x7fff) AM_ROM
233233   AM_RANGE(0x8000, 0x87ff) AM_RAM
234234   AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
235   AM_RANGE(0x9800, 0x9803) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
235   AM_RANGE(0x9800, 0x9803) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
236236   AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
237237ADDRESS_MAP_END
238238
r9191r9192
415415};
416416
417417
418static MACHINE_DRIVER_START( vball )
418static MACHINE_CONFIG_START( vball, driver_device )
419419
420420   /* basic machine hardware */
421421   MDRV_CPU_ADD("maincpu", M6502, CPU_CLOCK)   /* 2 MHz - measured by guru but it makes the game far far too slow ?! */
r9191r9192
448448   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH)
449449   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
450450   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
451MACHINE_DRIVER_END
451MACHINE_CONFIG_END
452452
453453
454454/***************************************************************************
src/mame/drivers/naomi.c
r9191r9192
934934
935935
936936
937Atomiswave cart PCB layout and game usage (revision 0.3 19/7/2009 5:55pm)
937Atomiswave cart PCB layout and game usage (revision 0.4 13/9/2010 6:12pm)
938938-----------------------------------------
939939
940940Type 1 ROM Board:
r9191r9192
970970               -----------------------------------------------
971971               Sports Shooting USA                   AX0101F01
972972               Dolphin Blue                          AX0401F01
973               Maximum Speed                         AX0501F01
973974               Demolish Fist                         AX0601F01
974975               Guilt Gear Isuka                      AX1201F01
975976               Knights Of Valour Seven Spirits       AX1301F01
r9191r9192
10061007               -----------------------------------------------------------------------
10071008               Sports Shooting USA                   AX0101M01 to AX0104M01    4
10081009               Dolphin Blue                          AX0401M01 to AX0405M01    5
1010               Maximum Speed                         AX0501M01 to AX0505M01    5
10091011               Demolish Fist                         AX0601M01 to AX0607M01    7
10101012               Guilty Gear Isuka                     AX1201M01 to AX1208M01    8
10111013               Knights Of Valour Seven Spirits       AX1301M01 to AX1307M01    7
r9191r9192
11231125               Force Five
11241126               Guilty Gear X Version 1.5 *
11251127               Kenju
1126               Maximum Speed *
11271128               Metal Slug 6 *
11281129               Premier Eleven
11291130               Sushi Bar
r9191r9192
12261227      CN3 - Gun connection for player 2 pump switch
12271228      CN4 - Gun connection for player 1 trigger and optical
12281229      CN5 - Gun connection for player 1 pump switch
1229
12301230*/
12311231
12321232#include "emu.h"
r9191r9192
12421242
12431243#define CPU_CLOCK (200000000)
12441244static UINT32 *dc_sound_ram;
1245static macronix_29l001mc_device *awflash;
1246
12451247                                             /* MD2 MD1 MD0 MD6 MD4 MD3 MD5 MD7 MD8 */
12461248static const struct sh4_config sh4cpu_config = {  1,  0,  1,  0,  0,  0,  1,  1,  0, CPU_CLOCK };
12471249
r9191r9192
13011303   { "keyboard", { 0x32, 0x7E, 0x10, 0x42, 0x45, 0x42, 0x30, 0x09, 0x10, 0x00, 0x01, 0x01,   0x01, 0x00, 0x11, 0x11, 0x11, 0x11, 0x32, 0x7E, 0x10, 0x42, 0x45, 0x42,   0x30, 0x09, 0x10, 0x00, 0x01, 0x01, 0x01, 0x00, 0x11, 0x11, 0x11, 0x11,   0xF0, 0x4A, 0x0C, 0x0C, 0xF0, 0x4A, 0x0C, 0x0C, 0x18, 0x09, 0x01, 0x20,   0x02, 0x00, 0x3C, 0x00, 0x32, 0x00, 0x00, 0x00, 0x18, 0x09, 0x01, 0x20,   0x02, 0x00, 0x3C, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }
13021304};
13031305
1304static NVRAM_HANDLER( aw_nvram )
1305{
1306   nvram_handler_intelflash(machine, 0, file, read_or_write);
1307
1308   // TODO: save AW NVRAM at 00200000
1309}
1310
13111306static NVRAM_HANDLER( naomi_eeproms )
13121307{
13131308   if (read_or_write)
r9191r9192
15161511
15171512static READ64_HANDLER( aw_flash_r )
15181513{
1519   return (UINT64)intelflash_read(0, offset*8) | (UINT64)intelflash_read(0, (offset*8)+1)<<8 | (UINT64)intelflash_read(0, (offset*8)+2)<<16 | (UINT64)intelflash_read(0, (offset*8)+3)<<24 |
1520          (UINT64)intelflash_read(0, (offset*8)+4)<<32 | (UINT64)intelflash_read(0, (offset*8)+5)<<40 | (UINT64)intelflash_read(0, (offset*8)+6)<<48 | (UINT64)intelflash_read(0, (offset*8)+7)<<56;
1514   return (UINT64)awflash->read(offset*8) | (UINT64)awflash->read((offset*8)+1)<<8 | (UINT64)awflash->read((offset*8)+2)<<16 | (UINT64)awflash->read((offset*8)+3)<<24 |
1515          (UINT64)awflash->read((offset*8)+4)<<32 | (UINT64)awflash->read((offset*8)+5)<<40 | (UINT64)awflash->read((offset*8)+6)<<48 | (UINT64)awflash->read((offset*8)+7)<<56;
15211516}
15221517
15231518static WRITE64_HANDLER( aw_flash_w )
r9191r9192
15361531
15371532   data >>= (i*8);
15381533
1539   intelflash_write(0, addr, data);
1534   awflash->write(addr, data);
15401535}
15411536
15421537INLINE int decode_reg32_64(running_machine *machine, UINT32 offset, UINT64 mem_mask, UINT64 *shift)
r9191r9192
16011596
16021597static ADDRESS_MAP_START( aw_map, ADDRESS_SPACE_PROGRAM, 64 )
16031598   /* Area 0 */
1604   AM_RANGE(0x00000000, 0x0001ffff) AM_READWRITE( aw_flash_r, aw_flash_w )
1605   AM_RANGE(0xa0000000, 0xa001ffff) AM_READWRITE( aw_flash_r, aw_flash_w )
1599   AM_RANGE(0x00000000, 0x0001ffff) AM_READWRITE( aw_flash_r, aw_flash_w ) AM_REGION("awflash", 0)
1600   AM_RANGE(0xa0000000, 0xa001ffff) AM_READWRITE( aw_flash_r, aw_flash_w ) AM_REGION("awflash", 0)
16061601
16071602   AM_RANGE(0x00200000, 0x0021ffff) AM_RAM    // battery backed up RAM
16081603   AM_RANGE(0x005f6800, 0x005f69ff) AM_READWRITE( dc_sysctrl_r, dc_sysctrl_w )
r9191r9192
19151910 * Common for Naomi 1, Naomi GD-Rom, Naomi 2, Atomiswave ...
19161911 */
19171912
1918static MACHINE_DRIVER_START( naomi_base )
1913static MACHINE_CONFIG_START( naomi_base, driver_device )
19191914   /* basic machine hardware */
19201915   MDRV_CPU_ADD("maincpu", SH4, CPU_CLOCK) // SH4!!!
19211916   MDRV_CPU_CONFIG(sh4cpu_config)
r9191r9192
19511946   MDRV_SOUND_CONFIG(aica_config)
19521947   MDRV_SOUND_ROUTE(0, "lspeaker", 2.0)
19531948   MDRV_SOUND_ROUTE(1, "rspeaker", 2.0)
1954MACHINE_DRIVER_END
1949MACHINE_CONFIG_END
19551950
19561951/*
19571952 * Naomi 1
19581953 */
19591954
1960static MACHINE_DRIVER_START( naomi )
1961   MDRV_IMPORT_FROM(naomi_base)
1955static MACHINE_CONFIG_DERIVED( naomi, naomi_base )
19621956   MDRV_NAOMI_ROM_BOARD_ADD("rom_board", "user1")
1963MACHINE_DRIVER_END
1957MACHINE_CONFIG_END
19641958
19651959/*
19661960 * Naomi 1 GD-Rom
19671961 */
19681962
1969static MACHINE_DRIVER_START( naomigd )
1970   MDRV_IMPORT_FROM(naomi_base)
1963static MACHINE_CONFIG_DERIVED( naomigd, naomi_base )
19711964   MDRV_NAOMI_DIMM_BOARD_ADD("rom_board", "gdrom", "user1", "picreturn")
1972MACHINE_DRIVER_END
1965MACHINE_CONFIG_END
19731966
19741967/*
19751968 * Naomi 2
r9191r9192
19871980 * Atomiswave
19881981 */
19891982
1990static MACHINE_DRIVER_START( aw )
1991   MDRV_IMPORT_FROM(naomi_base)
1983static MACHINE_CONFIG_DERIVED( aw, naomi_base )
19921984//  MDRV_DEVICE_REMOVE("main_eeprom")
19931985   MDRV_CPU_MODIFY("maincpu")
19941986   MDRV_CPU_PROGRAM_MAP(aw_map)
1995   MDRV_NVRAM_HANDLER(aw_nvram)
1987   MDRV_MACRONIX_29L001MC_ADD("awflash")
19961988   MDRV_AW_ROM_BOARD_ADD("rom_board", "user1")
1997MACHINE_DRIVER_END
1989MACHINE_CONFIG_END
19981990
19991991#define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \
20001992      ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_BIOS(bios+1)) /* Note '+1' */
r9191r9192
22672259ROM_END
22682260
22692261ROM_START( awbios )
2270   ROM_REGION( 0x200000, "maincpu", 0)
2262   ROM_REGION( 0x200000, "awflash", 0)
22712263   AW_BIOS
22722264
22732265   ROM_REGION( 0x8400000, "user1", ROMREGION_ERASE)
r9191r9192
64376429static const UINT32 ggisuka_key  = 0x8b10a;
64386430static const UINT32 vfurlong_key = 0xa547a;
64396431static const UINT32 salmankt_key = 0x34b74;
6432static const UINT32 maxspeed_key = 0x28dd6;
64406433
6441
64426434static DRIVER_INIT( atomiswave )
64436435{
6444   UINT64 *ROM = (UINT64 *)memory_region(machine, "maincpu");
6436   UINT64 *ROM = (UINT64 *)memory_region(machine, "awflash");
64456437#if 0
64466438   UINT8 *dcdata = (UINT8 *)memory_region(machine, "user1");
64476439   FILE *f;
r9191r9192
64536445   // patch out long startup delay
64546446   ROM[0x98e/8] = (ROM[0x98e/8] & U64(0xffffffffffff)) | (UINT64)0x0009<<48;
64556447
6456   intelflash_init(machine, 0, FLASH_MACRONIX_29L001MC, memory_region(machine, "maincpu"));
6448   awflash = machine->device<macronix_29l001mc_device>("awflash");
64576449}
64586450
64596451#define AW_DRIVER_INIT(DRIVER)   \
r9191r9192
64836475AW_DRIVER_INIT(ggisuka)
64846476AW_DRIVER_INIT(vfurlong)
64856477AW_DRIVER_INIT(salmankt)
6478AW_DRIVER_INIT(maxspeed)
64866479
64876480ROM_START( fotns )
6488   ROM_REGION( 0x200000, "maincpu", 0)
6481   ROM_REGION( 0x200000, "awflash", 0)
64896482   AW_BIOS
64906483
64916484   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
65006493ROM_END
65016494
65026495ROM_START( rangrmsn )
6503   ROM_REGION( 0x200000, "maincpu", 0)
6496   ROM_REGION( 0x200000, "awflash", 0)
65046497   AW_BIOS
65056498
65066499   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
65136506ROM_END
65146507
65156508ROM_START( sprtshot )
6516   ROM_REGION( 0x200000, "maincpu", 0)
6509   ROM_REGION( 0x200000, "awflash", 0)
65176510   AW_BIOS
65186511
65196512   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
65256518ROM_END
65266519
65276520ROM_START( xtrmhunt )
6528   ROM_REGION( 0x200000, "maincpu", 0)
6521   ROM_REGION( 0x200000, "awflash", 0)
65296522   AW_BIOS
65306523
65316524   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
65396532ROM_END
65406533
65416534ROM_START( xtrmhnt2 )
6542   ROM_REGION( 0x200000, "maincpu", 0)
6535   ROM_REGION( 0x200000, "awflash", 0)
65436536   AW_BIOS
65446537
65456538   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
65586551ROM_END
65596552
65606553ROM_START( dolphin )
6561   ROM_REGION( 0x200000, "maincpu", 0)
6554   ROM_REGION( 0x200000, "awflash", 0)
65626555   AW_BIOS
65636556
65646557   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
65716564ROM_END
65726565
65736566ROM_START( demofist )
6574   ROM_REGION( 0x200000, "maincpu", 0)
6567   ROM_REGION( 0x200000, "awflash", 0)
65756568   AW_BIOS
65766569
65776570   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
65866579ROM_END
65876580
65886581ROM_START( rumblef )
6589   ROM_REGION( 0x200000, "maincpu", 0)
6582   ROM_REGION( 0x200000, "awflash", 0)
65906583   AW_BIOS
65916584
65926585   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
66016594ROM_END
66026595
66036596ROM_START( ngbc )
6604   ROM_REGION( 0x200000, "maincpu", 0)
6597   ROM_REGION( 0x200000, "awflash", 0)
66056598   AW_BIOS
66066599
66076600   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
66096602ROM_END
66106603
66116604ROM_START( kofnw )
6612   ROM_REGION( 0x200000, "maincpu", 0)
6605   ROM_REGION( 0x200000, "awflash", 0)
66136606   AW_BIOS
66146607
66156608   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
66236616ROM_END
66246617
66256618ROM_START( kofnwj )
6626   ROM_REGION( 0x200000, "maincpu", 0)
6619   ROM_REGION( 0x200000, "awflash", 0)
66276620   AW_BIOS
66286621
66296622   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
66386631ROM_END
66396632
66406633ROM_START( kov7sprt )
6641   ROM_REGION( 0x200000, "maincpu", 0)
6634   ROM_REGION( 0x200000, "awflash", 0)
66426635   AW_BIOS
66436636
66446637   ROM_REGION( 0x8000000, "user1", ROMREGION_ERASE)
r9191r9192
66536646ROM_END
66546647
66556648ROM_START( ggisuka )
6656   ROM_REGION( 0x200000, "maincpu", 0)
6649   ROM_REGION( 0x200000, "awflash", 0)
66576650   AW_BIOS
66586651
66596652   ROM_REGION( 0x9000000, "user1", ROMREGION_ERASE)
r9191r9192
66686661        ROM_LOAD( "ax1208m01.ic17", 0x7000000, 0x1000000, CRC(38bda476) SHA1(0234a6f5fbaf5e958b3ba0db311dff157f80addc) )
66696662ROM_END
66706663
6664ROM_START( maxspeed )
6665   ROM_REGION( 0x200000, "awflash", 0)
6666   AW_BIOS
6667
6668   ROM_REGION( 0x9000000, "user1", ROMREGION_ERASE)
6669        ROM_LOAD( "ax0501p01.ic18", 0x0000000, 0x0800000, CRC(e1651867) SHA1(49caf82f4b111da312b14bb0a9c31e3732b4b24e) )
6670        ROM_LOAD( "ax0501m01.ic11", 0x0800000, 0x1000000, CRC(4a847a59) SHA1(7808bcd357b85861082b426dbe34a20ae7016f6a) )
6671        ROM_LOAD( "ax0502m01.ic12", 0x1000000, 0x1000000, CRC(2580237f) SHA1(2e92c940f95edae33d6a7e8a071544a9083a0fd6) )
6672        ROM_LOAD( "ax0503m01.ic13", 0x2000000, 0x1000000, CRC(e5a3766b) SHA1(1fe6e072adad27ac43c0bff04e3c448678aabc18) )
6673        ROM_LOAD( "ax0504m01.ic14", 0x3000000, 0x1000000, CRC(7955b55a) SHA1(927f58d6961e702c2a8afce79bac5e5cff3dfed6) )
6674        ROM_LOAD( "ax0505m01.ic15", 0x4000000, 0x1000000, CRC(e8ccc660) SHA1(a5f414f200a0d41e958430d0fc2d4e1fda1cc67c) )
6675ROM_END
6676
66716677ROM_START( vfurlong )
6672   ROM_REGION( 0x200000, "maincpu", 0)
6678   ROM_REGION( 0x200000, "awflash", 0)
66736679   AW_BIOS
66746680
66756681   ROM_REGION( 0x9000000, "user1", ROMREGION_ERASE)
r9191r9192
66846690ROM_END
66856691
66866692ROM_START( salmankt )
6687   ROM_REGION( 0x200000, "maincpu", 0)
6693   ROM_REGION( 0x200000, "awflash", 0)
66886694   AW_BIOS
66896695
66906696   ROM_REGION( 0x9000000, "user1", ROMREGION_ERASE)
r9191r9192
66996705ROM_END
67006706
67016707/* Atomiswave */
6702GAME( 2001, awbios,   0,        aw,    aw,    0,        ROT0, "Sammy",                           "Atomiswave Bios", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
6708GAME( 2001, awbios,   0,        aw,    aw,    atomiswave, ROT0, "Sammy",                           "Atomiswave Bios", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
67036709
6710GAME( 2002, maxspeed, awbios,   aw,    aw,    maxspeed, ROT0, "Sammy",                           "Maximum Speed", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
67046711GAME( 2002, sprtshot, awbios,   aw,    aw,    sprtshot, ROT0, "Sammy USA",                       "Sports Shooting USA", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
67056712GAME( 2003, demofist, awbios,   aw,    aw,    demofist, ROT0, "Polygon Magic / Dimps",           "Demolish Fist", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
67066713GAME( 2003, dolphin,  awbios,   aw,    aw,    dolphin,  ROT0, "Sammy",                           "Dolphin Blue", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
src/mame/drivers/cheekyms.c
r9191r9192
117117   state->dac = machine->device("dac");
118118}
119119
120static MACHINE_DRIVER_START( cheekyms )
120static MACHINE_CONFIG_START( cheekyms, cheekyms_state )
121121
122   /* driver data */
123   MDRV_DRIVER_DATA(cheekyms_state)
124
125122   /* basic machine hardware */
126123   MDRV_CPU_ADD("maincpu", Z80,5000000/2)  /* 2.5 MHz */
127124   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
150147
151148   MDRV_SOUND_ADD("dac", DAC, 0)
152149   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
153MACHINE_DRIVER_END
150MACHINE_CONFIG_END
154151
155152
156153
src/mame/drivers/asteroid.c
r9191r9192
609609 *
610610 *************************************/
611611
612static MACHINE_DRIVER_START( asteroid )
612static MACHINE_CONFIG_START( asteroid, driver_device )
613613
614614   /* basic machine hardware */
615615   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
r9191r9192
633633   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
634634   MDRV_SOUND_CONFIG_DISCRETE(asteroid)
635635   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.4)
636MACHINE_DRIVER_END
636MACHINE_CONFIG_END
637637
638static MACHINE_DRIVER_START( asterock )
638static MACHINE_CONFIG_DERIVED( asterock, asteroid )
639639
640640   /* basic machine hardware */
641   MDRV_IMPORT_FROM(asteroid)
642641   MDRV_CPU_MODIFY("maincpu")
643642   MDRV_CPU_PERIODIC_INT(asterock_interrupt, (double)MASTER_CLOCK/4096/12)
644MACHINE_DRIVER_END
643MACHINE_CONFIG_END
645644
646645
647static MACHINE_DRIVER_START( astdelux )
646static MACHINE_CONFIG_DERIVED( astdelux, asteroid )
648647
649648   /* basic machine hardware */
650   MDRV_IMPORT_FROM(asteroid)
651649   MDRV_CPU_MODIFY("maincpu")
652650   MDRV_CPU_PROGRAM_MAP(astdelux_map)
653651
r9191r9192
661659   MDRV_SOUND_ADD("pokey", POKEY, MASTER_CLOCK/8)
662660   MDRV_SOUND_CONFIG(pokey_config)
663661   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
664MACHINE_DRIVER_END
662MACHINE_CONFIG_END
665663
666664
667static MACHINE_DRIVER_START( llander )
665static MACHINE_CONFIG_DERIVED( llander, asteroid )
668666
669667   /* basic machine hardware */
670   MDRV_IMPORT_FROM(asteroid)
671668   MDRV_CPU_MODIFY("maincpu")
672669   MDRV_CPU_PROGRAM_MAP(llander_map)
673670   MDRV_CPU_PERIODIC_INT(llander_interrupt, (double)MASTER_CLOCK/4096/12)
r9191r9192
684681   MDRV_SOUND_REPLACE("discrete", DISCRETE, 0)
685682   MDRV_SOUND_CONFIG_DISCRETE(llander)
686683   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
687MACHINE_DRIVER_END
684MACHINE_CONFIG_END
688685
689686
690687
src/mame/drivers/stv.c
r9191r9192
28522852}
28532853
28542854
2855static MACHINE_DRIVER_START( stv )
2855static MACHINE_CONFIG_START( stv, driver_device )
28562856
28572857   /* basic machine hardware */
28582858   MDRV_CPU_ADD("maincpu", SH2, MASTER_CLOCK_352/2) // 28.6364 MHz
r9191r9192
28962896   MDRV_SOUND_CONFIG(scsp_config)
28972897   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
28982898   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2899MACHINE_DRIVER_END
2899MACHINE_CONFIG_END
29002900
29012901#define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \
29022902      ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_BIOS(bios+1)) /* Note '+1' */
src/mame/drivers/queen.c
r9191r9192
5050   AM_RANGE(0x0020, 0x003f) AM_RAM//AM_DEVREADWRITE8("pic8259_1", pic8259_r, pic8259_w, 0xffffffff)
5151   AM_RANGE(0x0040, 0x005f) AM_RAM//AM_DEVREADWRITE8("pit8254", pit8253_r, pit8253_w, 0xffffffff)
5252   AM_RANGE(0x0060, 0x006f) AM_RAM//AM_READWRITE(kbdc8042_32le_r,          kbdc8042_32le_w)
53   AM_RANGE(0x0070, 0x007f) AM_RAM//AM_READWRITE(mc146818_port32le_r,      mc146818_port32le_w)
53   AM_RANGE(0x0070, 0x007f) AM_RAM//AM_DEVREADWRITE8_MODERN("rtc", mc146818_device, read, write, 0xffffffff)
5454   AM_RANGE(0x0080, 0x009f) AM_RAM//AM_READWRITE(at_page32_r,              at_page32_w)
5555   AM_RANGE(0x00a0, 0x00bf) AM_RAM//AM_DEVREADWRITE8("pic8259_2", pic8259_r, pic8259_w, 0xffffffff)
5656   AM_RANGE(0x00c0, 0x00df) AM_RAM//AM_DEVREADWRITE("dma8237_2", at32_dma8237_2_r, at32_dma8237_2_w)
r9191r9192
7171INPUT_PORTS_END
7272
7373
74static MACHINE_DRIVER_START( queen )
74static MACHINE_CONFIG_START( queen, driver_device )
7575   MDRV_CPU_ADD("maincpu", PENTIUM, 533000000) // Celeron or Pentium 3, 533 Mhz
7676   MDRV_CPU_PROGRAM_MAP(queen_map)
7777   MDRV_CPU_IO_MAP(queen_io)
r9191r9192
8787
8888   MDRV_VIDEO_START(queen)
8989   MDRV_VIDEO_UPDATE(queen)
90MACHINE_DRIVER_END
90MACHINE_CONFIG_END
9191
9292
9393
src/mame/drivers/megatech.c
r9191r9192
521521   megatech_select_game(machine, 0);
522522}
523523
524static MACHINE_DRIVER_START( megatech )
524static MACHINE_CONFIG_DERIVED( megatech, megadriv )
525525
526526   /* basic machine hardware */
527   MDRV_IMPORT_FROM(megadriv)
528527
529528   /* Megatech has an extra SMS based bios *and* an additional screen */
530529   MDRV_CPU_ADD("mtbios", Z80, MASTER_CLOCK / 15) /* ?? */
r9191r9192
549548   MDRV_SOUND_ADD("sn2", SN76496, MASTER_CLOCK/15)
550549   MDRV_SOUND_ROUTE(0, "lspeaker", 0.50)
551550   MDRV_SOUND_ROUTE(1, "rspeaker", 0.50)
552MACHINE_DRIVER_END
551MACHINE_CONFIG_END
553552
554553
555554/* MegaTech Games - Genesis & sms! Games with a timer */
src/mame/drivers/timelimt.c
r9191r9192
1313#include "emu.h"
1414#include "cpu/z80/z80.h"
1515#include "sound/ay8910.h"
16#include "includes/timelimt.h"
1617
17/* from video */
18extern VIDEO_START( timelimt );
19extern PALETTE_INIT( timelimt );
20extern VIDEO_UPDATE( timelimt );
21
22extern WRITE8_HANDLER( timelimt_videoram_w );
23extern WRITE8_HANDLER( timelimt_bg_videoram_w );
24extern WRITE8_HANDLER( timelimt_scroll_y_w );
25extern WRITE8_HANDLER( timelimt_scroll_x_msb_w );
26extern WRITE8_HANDLER( timelimt_scroll_x_lsb_w );
27
28extern UINT8 *timelimt_bg_videoram;
29extern size_t timelimt_bg_videoram_size;
30
3118/***************************************************************************/
3219
3320static int nmi_enabled = 0;
r9191r9192
5845static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
5946   AM_RANGE(0x0000, 0x7fff) AM_ROM      /* rom */
6047   AM_RANGE(0x8000, 0x87ff) AM_RAM      /* ram */
61   AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(timelimt_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)   /* video ram */
48   AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(timelimt_videoram_w) AM_BASE_MEMBER(timelimt_state, videoram)   /* video ram */
6249   AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(timelimt_bg_videoram_w) AM_BASE(&timelimt_bg_videoram) AM_SIZE(&timelimt_bg_videoram_size)/* background ram */
6350   AM_RANGE(0x9800, 0x98ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)   /* sprite ram */
6451   AM_RANGE(0xa000, 0xa000) AM_READ_PORT("INPUTS")
r9191r9192
241228
242229/***************************************************************************/
243230
244static MACHINE_DRIVER_START( timelimt )
231static MACHINE_CONFIG_START( timelimt, timelimt_state )
245232
246233   /* basic machine hardware */
247234   MDRV_CPU_ADD("maincpu", Z80, 5000000)   /* 5.000 MHz */
r9191r9192
283270   MDRV_SOUND_ADD("ay2", AY8910, 18432000/12)
284271   MDRV_SOUND_CONFIG(ay8910_config)
285272   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
286MACHINE_DRIVER_END
273MACHINE_CONFIG_END
287274
288static MACHINE_DRIVER_START( progress )
275static MACHINE_CONFIG_DERIVED( progress, timelimt )
276
289277   /* basic machine hardware */
290   MDRV_IMPORT_FROM(timelimt)
291278
292279   MDRV_GFXDECODE(progress)
293280   MDRV_PALETTE_LENGTH(96)
294281
295MACHINE_DRIVER_END
282MACHINE_CONFIG_END
296283
297284/***************************************************************************
298285
src/mame/drivers/champbwl.c
r9191r9192
153153#include "emu.h"
154154#include "cpu/z80/z80.h"
155155#include "sound/x1_010.h"
156#include "machine/nvram.h"
156157#include "includes/tnzs.h"
157158
158159
r9191r9192
194195static ADDRESS_MAP_START( champbwl_map, ADDRESS_SPACE_PROGRAM, 8 )
195196   AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("maincpu", 0x10000)
196197   AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
197   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
198   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
198199   AM_RANGE(0xa000, 0xbfff) AM_RAM AM_BASE_MEMBER(tnzs_state, objram)
199200   AM_RANGE(0xc000, 0xdfff) AM_DEVREADWRITE("x1snd", seta_sound_r, seta_sound_w)
200201   AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_BASE_MEMBER(tnzs_state, vdcram)
r9191r9192
354355
355356}
356357
357static MACHINE_DRIVER_START( champbwl )
358static MACHINE_CONFIG_START( champbwl, tnzs_state )
358359
359   /* driver data */
360   MDRV_DRIVER_DATA(tnzs_state)
361
362360   /* basic machine hardware */
363361   MDRV_CPU_ADD("maincpu", Z80, 16000000/4) /* 4MHz */
364362   MDRV_CPU_PROGRAM_MAP(champbwl_map)
365363   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
366364
367   MDRV_NVRAM_HANDLER(generic_0fill)
365   MDRV_NVRAM_ADD_0FILL("nvram")
368366
369367   MDRV_MACHINE_START(champbwl)
370368   MDRV_MACHINE_RESET(champbwl)
r9191r9192
391389   MDRV_SOUND_CONFIG(champbwl_sound_intf)
392390   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
393391   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
394MACHINE_DRIVER_END
392MACHINE_CONFIG_END
395393
396394ROM_START( champbwl )
397395   ROM_REGION( 0x20000, "maincpu", 0 )      /* Z80 Code */
src/mame/drivers/vamphalf.c
r9191r9192
6767static UINT16 finalgdr_backupram_bank;
6868static UINT8 *finalgdr_backupram;
6969
70static READ16_DEVICE_HANDLER( oki_r )
71{
72   if(offset)
73      return okim6295_r(device, 0);
74   else
75      return 0;
76}
77
78static WRITE16_DEVICE_HANDLER( oki_w )
79{
80   if(offset)
81      okim6295_w(device, 0, data);
82}
83
8470static READ16_DEVICE_HANDLER( eeprom_r )
8571{
8672   if(offset)
r9191r9192
244230ADDRESS_MAP_END
245231
246232static ADDRESS_MAP_START( vamphalf_io, ADDRESS_SPACE_IO, 16 )
247   AM_RANGE(0x0c0, 0x0c3) AM_DEVREADWRITE("oki", oki_r, oki_w)
233   AM_RANGE(0x0c2, 0x0c3) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
248234   AM_RANGE(0x140, 0x143) AM_DEVWRITE8("ymsnd", ym2151_register_port_w, 0x00ff)
249235   AM_RANGE(0x146, 0x147) AM_DEVREADWRITE8("ymsnd", ym2151_status_port_r, ym2151_data_port_w, 0x00ff)
250236   AM_RANGE(0x1c0, 0x1c3) AM_DEVREAD("eeprom", eeprom_r)
r9191r9192
267253   AM_RANGE(0x300, 0x303) AM_READ_PORT("SYSTEM")
268254   AM_RANGE(0x304, 0x307) AM_READ_PORT("P1_P2")
269255   AM_RANGE(0x308, 0x30b) AM_DEVWRITE("eeprom", eeprom_w)
270   AM_RANGE(0x4c0, 0x4c3) AM_DEVREADWRITE("oki", oki_r, oki_w)
256   AM_RANGE(0x4c2, 0x4c3) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
271257   AM_RANGE(0x540, 0x543) AM_DEVWRITE8("ymsnd", ym2151_register_port_w, 0x00ff)
272258   AM_RANGE(0x546, 0x547) AM_DEVREADWRITE8("ymsnd", ym2151_status_port_r, ym2151_data_port_w, 0x00ff)
273259   AM_RANGE(0x7c0, 0x7c3) AM_DEVREAD("eeprom", eeprom_r)
r9191r9192
277263   AM_RANGE(0x020, 0x023) AM_DEVWRITE("eeprom", eeprom_w)
278264   AM_RANGE(0x040, 0x043) AM_READ_PORT("P1_P2")
279265   AM_RANGE(0x060, 0x063) AM_READ_PORT("SYSTEM")
280   AM_RANGE(0x080, 0x083) AM_DEVREADWRITE("oki", oki_r, oki_w)
266   AM_RANGE(0x082, 0x083) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
281267   AM_RANGE(0x0c0, 0x0c3) AM_DEVWRITE8("ymsnd", ym2151_register_port_w, 0x00ff)
282268   AM_RANGE(0x0c4, 0x0c7) AM_DEVREADWRITE8("ymsnd", ym2151_status_port_r, ym2151_data_port_w, 0x00ff)
283269   AM_RANGE(0x100, 0x103) AM_DEVREAD("eeprom", eeprom_r)
r9191r9192
299285   AM_RANGE(0x2c00, 0x2dff) AM_READWRITE(finalgdr_backupram_r, finalgdr_backupram_w)
300286   AM_RANGE(0x3000, 0x3007) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x0000ff00)
301287   AM_RANGE(0x3800, 0x3803) AM_READ_PORT("P1_P2")
302   AM_RANGE(0x3400, 0x3403) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x0000ff00)
288   AM_RANGE(0x3400, 0x3403) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x0000ff00)
303289   AM_RANGE(0x3c00, 0x3c03) AM_READ_PORT("SYSTEM")
304290   AM_RANGE(0x4400, 0x4403) AM_DEVREAD("eeprom", eeprom32_r)
305291   AM_RANGE(0x6000, 0x6003) AM_READNOP //?
r9191r9192
316302   AM_RANGE(0x4040, 0x4043) AM_WRITE(finalgdr_prot_w)
317303   AM_RANGE(0x6400, 0x6403) AM_READ(finalgdr_prot_r)
318304   AM_RANGE(0x7000, 0x7007) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x0000ff00)
319//  AM_RANGE(0x7400, 0x7403) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x0000ff00)
305//  AM_RANGE(0x7400, 0x7403) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x0000ff00)
320306
321307//  AM_RANGE(0xxxxx, 0xxxxx) AM_WRITE(finalgdr_backupram_bank_w)
322308//  AM_RANGE(0xxxxx, 0xxxxx) AM_READWRITE(finalgdr_backupram_r, finalgdr_backupram_w)
r9191r9192
335321   AM_RANGE(0x240, 0x243) AM_READ_PORT("P1_P2")
336322   AM_RANGE(0x280, 0x283) AM_DEVWRITE("eeprom", eeprom_w)
337323   AM_RANGE(0x2c0, 0x2c3) AM_DEVREAD("eeprom", eeprom_r)
338   AM_RANGE(0x440, 0x443) AM_DEVREADWRITE("oki", oki_r, oki_w)
324   AM_RANGE(0x442, 0x443) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
339325   AM_RANGE(0x540, 0x543) AM_READ_PORT("SYSTEM")
340326   AM_RANGE(0x680, 0x683) AM_DEVWRITE8("ymsnd", ym2151_register_port_w, 0x00ff)
341327   AM_RANGE(0x684, 0x687) AM_DEVREADWRITE8("ymsnd", ym2151_status_port_r, ym2151_data_port_w, 0x00ff)
r9191r9192
346332   AM_RANGE(0x500, 0x503) AM_READ_PORT("P1_P2")
347333   AM_RANGE(0x3c0, 0x3c3) AM_DEVWRITE("eeprom", eeprom_w)
348334   AM_RANGE(0x180, 0x183) AM_DEVREAD("eeprom", eeprom_r)
349   AM_RANGE(0x080, 0x083) AM_DEVREADWRITE("oki", oki_r, oki_w)
335   AM_RANGE(0x082, 0x083) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
350336   AM_RANGE(0x280, 0x283) AM_READ_PORT("SYSTEM")
351337   AM_RANGE(0x0c0, 0x0c3) AM_DEVWRITE8("ymsnd", ym2151_register_port_w, 0x00ff)
352338   AM_RANGE(0x0c4, 0x0c7) AM_DEVREADWRITE8("ymsnd", ym2151_status_port_r, ym2151_data_port_w, 0x00ff)
r9191r9192
363349
364350static ADDRESS_MAP_START( aoh_io, ADDRESS_SPACE_IO, 32 )
365351   AM_RANGE(0x0480, 0x0483) AM_DEVWRITE("eeprom", eeprom32_w)
366   AM_RANGE(0x0620, 0x0623) AM_DEVREADWRITE8("oki_2", okim6295_r, okim6295_w, 0x0000ff00)
367   AM_RANGE(0x0660, 0x0663) AM_DEVREADWRITE8("oki_1", okim6295_r, okim6295_w, 0x0000ff00)
352   AM_RANGE(0x0620, 0x0623) AM_DEVREADWRITE8_MODERN("oki_2", okim6295_device, read, write, 0x0000ff00)
353   AM_RANGE(0x0660, 0x0663) AM_DEVREADWRITE8_MODERN("oki_1", okim6295_device, read, write, 0x0000ff00)
368354   AM_RANGE(0x0640, 0x0647) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x0000ff00)
369355   AM_RANGE(0x0680, 0x0683) AM_DEVWRITE("oki_2", aoh_oki_bank_w)
370356ADDRESS_MAP_END
r9191r9192
673659   AM_RANGE( 0x0000, 0x007f) AM_RAM   // RAM?  wavetable registers?  not sure.
674660ADDRESS_MAP_END
675661
676static MACHINE_DRIVER_START( common )
662static MACHINE_CONFIG_START( common, driver_device )
677663   MDRV_CPU_ADD("maincpu", E116T, 50000000)   /* 50 MHz */
678664   MDRV_CPU_PROGRAM_MAP(common_map)
679665   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
r9191r9192
692678   MDRV_GFXDECODE(vamphalf)
693679
694680   MDRV_VIDEO_UPDATE(common)
695MACHINE_DRIVER_END
681MACHINE_CONFIG_END
696682
697static MACHINE_DRIVER_START( sound_ym_oki )
683static MACHINE_CONFIG_FRAGMENT( sound_ym_oki )
698684   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
699685
700686   MDRV_SOUND_ADD("ymsnd", YM2151, 28000000/8)
r9191r9192
704690   MDRV_OKIM6295_ADD("oki", 28000000/16 , OKIM6295_PIN7_HIGH)
705691   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
706692   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
707MACHINE_DRIVER_END
693MACHINE_CONFIG_END
708694
709static MACHINE_DRIVER_START( sound_suplup )
695static MACHINE_CONFIG_FRAGMENT( sound_suplup )
710696   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
711697
712698   MDRV_SOUND_ADD("ymsnd", YM2151, 14318180/4)
r9191r9192
716702   MDRV_OKIM6295_ADD("oki", 1789772.5 , OKIM6295_PIN7_HIGH)
717703   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
718704   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
719MACHINE_DRIVER_END
705MACHINE_CONFIG_END
720706
721static MACHINE_DRIVER_START( sound_qs1000 )
707static MACHINE_CONFIG_FRAGMENT( sound_qs1000 )
722708   MDRV_CPU_ADD("audiocpu", I8052, 24000000/4)   /* 6 MHz? */
723709   MDRV_CPU_PROGRAM_MAP(qs1000_prg_map)
724710   MDRV_CPU_IO_MAP( qs1000_io_map)
725711
726MACHINE_DRIVER_END
712MACHINE_CONFIG_END
727713
728static MACHINE_DRIVER_START( vamphalf )
729   MDRV_IMPORT_FROM(common)
714static MACHINE_CONFIG_DERIVED( vamphalf, common )
730715   MDRV_CPU_MODIFY("maincpu")
731716   MDRV_CPU_IO_MAP(vamphalf_io)
732717
733   MDRV_IMPORT_FROM(sound_ym_oki)
734MACHINE_DRIVER_END
718   MDRV_FRAGMENT_ADD(sound_ym_oki)
719MACHINE_CONFIG_END
735720
736static MACHINE_DRIVER_START( misncrft )
737   MDRV_IMPORT_FROM(common)
721static MACHINE_CONFIG_DERIVED( misncrft, common )
738722   MDRV_CPU_REPLACE("maincpu", GMS30C2116, 50000000)   /* 50 MHz */
739723   MDRV_CPU_PROGRAM_MAP(common_map)
740724   MDRV_CPU_IO_MAP(misncrft_io)
741725   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
742726
743   MDRV_IMPORT_FROM(sound_qs1000)
744MACHINE_DRIVER_END
727   MDRV_FRAGMENT_ADD(sound_qs1000)
728MACHINE_CONFIG_END
745729
746static MACHINE_DRIVER_START( coolmini )
747   MDRV_IMPORT_FROM(common)
730static MACHINE_CONFIG_DERIVED( coolmini, common )
748731   MDRV_CPU_MODIFY("maincpu")
749732   MDRV_CPU_IO_MAP(coolmini_io)
750733
751   MDRV_IMPORT_FROM(sound_ym_oki)
752MACHINE_DRIVER_END
734   MDRV_FRAGMENT_ADD(sound_ym_oki)
735MACHINE_CONFIG_END
753736
754static MACHINE_DRIVER_START( suplup )
755   MDRV_IMPORT_FROM(common)
737static MACHINE_CONFIG_DERIVED( suplup, common )
756738   MDRV_CPU_MODIFY("maincpu")
757739   MDRV_CPU_IO_MAP(suplup_io)
758740
759   MDRV_IMPORT_FROM(sound_suplup)
760MACHINE_DRIVER_END
741   MDRV_FRAGMENT_ADD(sound_suplup)
742MACHINE_CONFIG_END
761743
762static MACHINE_DRIVER_START( jmpbreak )
763   MDRV_IMPORT_FROM(common)
744static MACHINE_CONFIG_DERIVED( jmpbreak, common )
764745   MDRV_CPU_MODIFY("maincpu")
765746   MDRV_CPU_IO_MAP(jmpbreak_io)
766747
767   MDRV_IMPORT_FROM(sound_ym_oki)
768MACHINE_DRIVER_END
748   MDRV_FRAGMENT_ADD(sound_ym_oki)
749MACHINE_CONFIG_END
769750
770static MACHINE_DRIVER_START( mrdig )
771   MDRV_IMPORT_FROM(common)
751static MACHINE_CONFIG_DERIVED( mrdig, common )
772752
773753   MDRV_CPU_REPLACE("maincpu", GMS30C2116, 50000000)   /* 50 MHz */
774754   MDRV_CPU_PROGRAM_MAP(common_map)
r9191r9192
776756   MDRV_CPU_IO_MAP(mrdig_io)
777757   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
778758
779   MDRV_IMPORT_FROM(sound_ym_oki)
780MACHINE_DRIVER_END
759   MDRV_FRAGMENT_ADD(sound_ym_oki)
760MACHINE_CONFIG_END
781761
782static MACHINE_DRIVER_START( wyvernwg )
783   MDRV_IMPORT_FROM(common)
762static MACHINE_CONFIG_DERIVED( wyvernwg, common )
784763   MDRV_CPU_REPLACE("maincpu", E132T, 50000000)   /* 50 MHz */
785764   MDRV_CPU_PROGRAM_MAP(common_32bit_map)
786765   MDRV_CPU_IO_MAP(wyvernwg_io)
787766   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
788767
789   MDRV_IMPORT_FROM(sound_qs1000)
790MACHINE_DRIVER_END
768   MDRV_FRAGMENT_ADD(sound_qs1000)
769MACHINE_CONFIG_END
791770
792static MACHINE_DRIVER_START( finalgdr )
793   MDRV_IMPORT_FROM(common)
771static MACHINE_CONFIG_DERIVED( finalgdr, common )
794772   MDRV_CPU_REPLACE("maincpu", E132T, 50000000)   /* 50 MHz */
795773   MDRV_CPU_PROGRAM_MAP(common_32bit_map)
796774   MDRV_CPU_IO_MAP(finalgdr_io)
r9191r9192
798776
799777   MDRV_NVRAM_HANDLER(finalgdr)
800778
801   MDRV_IMPORT_FROM(sound_ym_oki)
802MACHINE_DRIVER_END
779   MDRV_FRAGMENT_ADD(sound_ym_oki)
780MACHINE_CONFIG_END
803781
804static MACHINE_DRIVER_START( mrkicker )
805   MDRV_IMPORT_FROM(common)
782static MACHINE_CONFIG_DERIVED( mrkicker, common )
806783   MDRV_CPU_REPLACE("maincpu", E132T, 50000000)   /* 50 MHz */
807784   MDRV_CPU_PROGRAM_MAP(common_32bit_map)
808785   MDRV_CPU_IO_MAP(mrkicker_io)
809786
810787   MDRV_NVRAM_HANDLER(finalgdr)
811788
812   MDRV_IMPORT_FROM(sound_ym_oki)
813MACHINE_DRIVER_END
789   MDRV_FRAGMENT_ADD(sound_ym_oki)
790MACHINE_CONFIG_END
814791
815static MACHINE_DRIVER_START( aoh )
792static MACHINE_CONFIG_START( aoh, driver_device )
816793   MDRV_CPU_ADD("maincpu", E132XN, 20000000*4)   /* 4x internal multiplier */
817794   MDRV_CPU_PROGRAM_MAP(aoh_map)
818795   MDRV_CPU_IO_MAP(aoh_io)
r9191r9192
847824   MDRV_OKIM6295_ADD("oki_2", 32000000/32, OKIM6295_PIN7_HIGH)
848825   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
849826   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
850MACHINE_DRIVER_END
827MACHINE_CONFIG_END
851828
852829/*
853830
src/mame/drivers/bishi.c
r9191r9192
418418   state->cur_control2 = 0;
419419}
420420
421static MACHINE_DRIVER_START( bishi )
421static MACHINE_CONFIG_START( bishi, bishi_state )
422422
423   /* driver data */
424   MDRV_DRIVER_DATA(bishi_state)
425
426423   /* basic machine hardware */
427424   MDRV_CPU_ADD("maincpu", M68000, CPU_CLOCK) /* 12MHz (24MHz OSC / 2 ) */
428425   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
457454   MDRV_SOUND_CONFIG(ymz280b_intf)
458455   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
459456   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
460MACHINE_DRIVER_END
457MACHINE_CONFIG_END
461458
462459// ROM definitions
463460
src/mame/drivers/1942.c
r9191r9192
253253   state->scroll[1] = 0;
254254}
255255
256static MACHINE_DRIVER_START( 1942 )
256static MACHINE_CONFIG_START( 1942, _1942_state )
257257
258   MDRV_DRIVER_DATA(_1942_state)
259
260258   /* basic machine hardware */
261259   MDRV_CPU_ADD("maincpu", Z80, MAIN_CPU_CLOCK)   /* 4 MHz ??? */
262260   MDRV_CPU_PROGRAM_MAP(c1942_map)
r9191r9192
291289   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
292290   MDRV_SOUND_ADD("ay2", AY8910, AUDIO_CLOCK)   /* 1.5 MHz */
293291   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
294MACHINE_DRIVER_END
292MACHINE_CONFIG_END
295293
296294
297295
src/mame/drivers/poolshrk.c
r9191r9192
212212}
213213
214214
215static MACHINE_DRIVER_START( poolshrk )
215static MACHINE_CONFIG_START( poolshrk, driver_device )
216216
217217   /* basic machine hardware */
218218   MDRV_CPU_ADD("maincpu", M6800, 11055000 / 8) /* ? */
r9191r9192
238238   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
239239   MDRV_SOUND_CONFIG_DISCRETE(poolshrk)
240240   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
241MACHINE_DRIVER_END
241MACHINE_CONFIG_END
242242
243243
244244ROM_START( poolshrk )
src/mame/drivers/mayumi.c
r9191r9192
99#include "emu.h"
1010#include "cpu/z80/z80.h"
1111#include "sound/2203intf.h"
12#include "machine/nvram.h"
1213
1314#define MCLK 10000000
1415
1516
16class mayumi_state : public driver_data_t
17class mayumi_state : public driver_device
1718{
1819public:
19   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mayumi_state(machine)); }
20   mayumi_state(running_machine &machine, const driver_device_config_base &config)
21      : driver_device(machine, config) { }
2022
21   mayumi_state(running_machine &machine)
22      : driver_data_t(machine) { }
23
2423   /* memory pointers */
2524   UINT8 *    videoram;
2625//  UINT8 *    nvram;       // this currently uses generic nvram handlers
r9191r9192
139138static ADDRESS_MAP_START( mayumi_map, ADDRESS_SPACE_PROGRAM, 8 )
140139   AM_RANGE(0x0000, 0x7fff) AM_ROM
141140   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
142   AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
141   AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("nvram")
143142   AM_RANGE(0xe000, 0xf7ff) AM_RAM_WRITE(mayumi_videoram_w) AM_BASE_MEMBER(mayumi_state, videoram)
144143ADDRESS_MAP_END
145144
r9191r9192
368367   state->input_sel = 0;
369368}
370369
371static MACHINE_DRIVER_START( mayumi )
370static MACHINE_CONFIG_START( mayumi, mayumi_state )
372371
373   /* driver data */
374   MDRV_DRIVER_DATA(mayumi_state)
375
376372   /* basic machine hardware */
377373   MDRV_CPU_ADD("maincpu", Z80, MCLK/2) /* 5.000 MHz ? */
378374   MDRV_CPU_PROGRAM_MAP(mayumi_map)
r9191r9192
407403   MDRV_SOUND_ROUTE(2, "mono", 0.15)
408404   MDRV_SOUND_ROUTE(3, "mono", 0.40)
409405
410   MDRV_NVRAM_HANDLER(generic_0fill)
406   MDRV_NVRAM_ADD_0FILL("nvram")
411407
412MACHINE_DRIVER_END
408MACHINE_CONFIG_END
413409
414410/*************************************
415411 *
src/mame/drivers/raiden.c
r9191r9192
4141#include "audio/seibu.h"
4242#include "sound/3812intf.h"
4343#include "sound/okim6295.h"
44#include "includes/raiden.h"
4445
45WRITE16_HANDLER( raiden_background_w );
46WRITE16_HANDLER( raiden_foreground_w );
47WRITE16_HANDLER( raiden_text_w );
48VIDEO_START( raiden );
49VIDEO_START( raidena );
50WRITE16_HANDLER( raiden_control_w );
51WRITE16_HANDLER( raidena_control_w );
52VIDEO_UPDATE( raiden );
53
5446static UINT16 *raiden_shared_ram;
55extern UINT16 *raiden_back_data,*raiden_fore_data,*raiden_scroll_ram;
5647
5748/******************************************************************************/
5849
r9191r9192
6354   AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
6455   AM_RANGE(0x0b002, 0x0b003) AM_READ_PORT("DSW")
6556   AM_RANGE(0x0b000, 0x0b007) AM_WRITE(raiden_control_w)
66   AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_GENERIC(videoram)
57   AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_MEMBER(raiden_state, videoram)
6758   AM_RANGE(0x0d000, 0x0d00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
6859   AM_RANGE(0x0d060, 0x0d067) AM_WRITEONLY AM_BASE(&raiden_scroll_ram)
6960   AM_RANGE(0xa0000, 0xfffff) AM_ROM
r9191r9192
8677   AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
8778   AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE("share1") AM_BASE(&raiden_shared_ram)
8879   AM_RANGE(0x0a000, 0x0a00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
89   AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_GENERIC(videoram)
80   AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_MEMBER(raiden_state, videoram)
9081   AM_RANGE(0x0e000, 0x0e001) AM_READ_PORT("P1_P2")
9182   AM_RANGE(0x0e000, 0x0e007) AM_WRITE(raidena_control_w)
9283   AM_RANGE(0x0e002, 0x0e003) AM_READ_PORT("DSW")
r9191r9192
10495   AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
10596   AM_RANGE(0x0b002, 0x0b003) AM_READ_PORT("DSW")
10697   AM_RANGE(0x0b000, 0x0b007) AM_WRITE(raidena_control_w)
107   AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_GENERIC(videoram)
98   AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_MEMBER(raiden_state, videoram)
10899   AM_RANGE(0x0d000, 0x0d00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
109100   AM_RANGE(0xa0000, 0xfffff) AM_ROM
110101ADDRESS_MAP_END
r9191r9192
258249   buffer_spriteram16_w(space,0,0,0xffff); /* Could be a memory location instead */
259250}
260251
261static MACHINE_DRIVER_START( raiden )
252static MACHINE_CONFIG_START( raiden, raiden_state )
262253
263254   /* basic machine hardware */
264255   MDRV_CPU_ADD("maincpu", V30,XTAL_20MHz/2) /* NEC V30 CPU, 20MHz verified on pcb */
r9191r9192
294285
295286   /* sound hardware */
296287   SEIBU_SOUND_SYSTEM_YM3812_RAIDEN_INTERFACE(XTAL_14_31818MHz/4,XTAL_12MHz/12) // frequency and pin 7 verified (pin set in audio\seibu.h)
297MACHINE_DRIVER_END
288MACHINE_CONFIG_END
298289
299static MACHINE_DRIVER_START( raidena )
300
301   MDRV_IMPORT_FROM( raiden )
290static MACHINE_CONFIG_DERIVED( raidena, raiden )
302291   MDRV_CPU_MODIFY("maincpu")
303292   MDRV_CPU_PROGRAM_MAP(alt_main_map)
304293
305294   MDRV_VIDEO_START(raidena)
306MACHINE_DRIVER_END
295MACHINE_CONFIG_END
307296
308static MACHINE_DRIVER_START( raidenu )
309   MDRV_IMPORT_FROM( raiden )
297static MACHINE_CONFIG_DERIVED( raidenu, raiden )
310298
311299   MDRV_CPU_MODIFY("maincpu")
312300   MDRV_CPU_PROGRAM_MAP(raidenu_main_map)
r9191r9192
315303   MDRV_CPU_PROGRAM_MAP(raidenu_sub_map)
316304
317305   MDRV_VIDEO_START(raidena)
318MACHINE_DRIVER_END
306MACHINE_CONFIG_END
319307
320308
321309/***************************************************************************/
src/mame/drivers/bloodbro.c
r9191r9192
110110#include "audio/seibu.h"
111111#include "cpu/z80/z80.h"
112112#include "sound/3812intf.h"
113#include "includes/bloodbro.h"
113114
114115
115extern UINT16 *bloodbro_bgvideoram, *bloodbro_fgvideoram;
116extern UINT16 *bloodbro_txvideoram;
117extern UINT16 *bloodbro_scroll;
118
119WRITE16_HANDLER( bloodbro_bgvideoram_w );
120WRITE16_HANDLER( bloodbro_fgvideoram_w );
121WRITE16_HANDLER( bloodbro_txvideoram_w );
122
123extern VIDEO_UPDATE( bloodbro );
124extern VIDEO_UPDATE( weststry );
125extern VIDEO_UPDATE( skysmash );
126extern VIDEO_START( bloodbro );
127
128
129116/* Memory Maps */
130117
131118static ADDRESS_MAP_START( bloodbro_map, ADDRESS_SPACE_PROGRAM, 16 )
r9191r9192
433420
434421/* Machine Drivers */
435422
436static MACHINE_DRIVER_START( bloodbro )
423static MACHINE_CONFIG_START( bloodbro, driver_device )
437424   // basic machine hardware
438425   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb */
439426   MDRV_CPU_PROGRAM_MAP(bloodbro_map)
r9191r9192
460447
461448   // sound hardware
462449   SEIBU_SOUND_SYSTEM_YM3812_RAIDEN_INTERFACE(XTAL_7_15909MHz/2, XTAL_12MHz/12)
463MACHINE_DRIVER_END
450MACHINE_CONFIG_END
464451
465static MACHINE_DRIVER_START( weststry )
466   MDRV_IMPORT_FROM(bloodbro)
452static MACHINE_CONFIG_DERIVED( weststry, bloodbro )
467453
468454   MDRV_CPU_MODIFY("maincpu")
469455   MDRV_CPU_PROGRAM_MAP(weststry_map)
r9191r9192
473459   MDRV_PALETTE_LENGTH(1024)
474460
475461   MDRV_VIDEO_UPDATE(weststry)
476MACHINE_DRIVER_END
462MACHINE_CONFIG_END
477463
478static MACHINE_DRIVER_START( skysmash )
479   MDRV_IMPORT_FROM(bloodbro)
464static MACHINE_CONFIG_DERIVED( skysmash, bloodbro )
480465
481466   MDRV_CPU_MODIFY("maincpu")
482467   MDRV_CPU_VBLANK_INT("screen", irq2_line_hold)
483468
484469   MDRV_VIDEO_UPDATE(skysmash)
485MACHINE_DRIVER_END
470MACHINE_CONFIG_END
486471
487472/* ROMs */
488473
src/mame/drivers/vegaeo.c
r9191r9192
162162}
163163
164164
165static MACHINE_DRIVER_START( vega )
165static MACHINE_CONFIG_START( vega, driver_device )
166166   MDRV_CPU_ADD("maincpu", GMS30C2132, 55000000)   /* 55 MHz */
167167   MDRV_CPU_PROGRAM_MAP(vega_map)
168168   MDRV_CPU_VBLANK_INT_HACK(eolith_speedup,262)
r9191r9192
184184
185185   /* sound hardware */
186186   MDRV_AT28C16_ADD( "at28c16", NULL )
187MACHINE_DRIVER_END
187MACHINE_CONFIG_END
188188
189189/*
190190Crazy Wars
src/mame/drivers/galaxia.c
r9191r9192
256256   "s2636snd_2"
257257};
258258
259static MACHINE_DRIVER_START( galaxia )
259static MACHINE_CONFIG_START( galaxia, driver_device )
260260   /* basic machine hardware */
261261   MDRV_CPU_ADD("maincpu", S2650,2000000)       /* ? MHz */
262262   MDRV_CPU_PROGRAM_MAP(mem_map)
r9191r9192
282282
283283   MDRV_SPEAKER_STANDARD_MONO("mono")
284284
285   MDRV_SOUND_ADD("s2636snd_0", S2636, 0)
285   MDRV_SOUND_ADD("s2636snd_0", S2636_SOUND, 0)
286286   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
287287
288   MDRV_SOUND_ADD("s2636snd_1", S2636, 0)
288   MDRV_SOUND_ADD("s2636snd_1", S2636_SOUND, 0)
289289   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
290290
291   MDRV_SOUND_ADD("s2636snd_2", S2636, 0)
291   MDRV_SOUND_ADD("s2636snd_2", S2636_SOUND, 0)
292292   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
293MACHINE_DRIVER_END
293MACHINE_CONFIG_END
294294
295static MACHINE_DRIVER_START( astrowar )
296   MDRV_IMPORT_FROM( galaxia )
295static MACHINE_CONFIG_DERIVED( astrowar, galaxia )
297296   MDRV_CPU_MODIFY("maincpu")
298297   MDRV_CPU_PROGRAM_MAP(astrowar_mem)
299298   MDRV_CPU_IO_MAP(astrowar_io)
300299   MDRV_GFXDECODE(astrowar)
301MACHINE_DRIVER_END
300MACHINE_CONFIG_END
302301
303302ROM_START( galaxia )
304303   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/fromanc2.c
r9191r9192
556556   state->datalatch_2l = 0;
557557}
558558
559static MACHINE_DRIVER_START( fromanc2 )
559static MACHINE_CONFIG_START( fromanc2, fromanc2_state )
560560
561   /* driver data */
562   MDRV_DRIVER_DATA(fromanc2_state)
563
564561   /* basic machine hardware */
565562   MDRV_CPU_ADD("maincpu", M68000,32000000/2)      /* 16.00 MHz */
566563   MDRV_CPU_PROGRAM_MAP(fromanc2_main_map)
r9191r9192
609606   MDRV_SOUND_ROUTE(0, "mono", 0.50)
610607   MDRV_SOUND_ROUTE(1, "mono", 0.75)
611608   MDRV_SOUND_ROUTE(2, "mono", 0.75)
612MACHINE_DRIVER_END
609MACHINE_CONFIG_END
613610
614static MACHINE_DRIVER_START( fromancr )
611static MACHINE_CONFIG_START( fromancr, fromanc2_state )
615612
616   /* driver data */
617   MDRV_DRIVER_DATA(fromanc2_state)
618
619613   /* basic machine hardware */
620614   MDRV_CPU_ADD("maincpu", M68000,32000000/2)      /* 16.00 MHz */
621615   MDRV_CPU_PROGRAM_MAP(fromancr_main_map)
r9191r9192
664658   MDRV_SOUND_ROUTE(0, "mono", 0.50)
665659   MDRV_SOUND_ROUTE(1, "mono", 0.75)
666660   MDRV_SOUND_ROUTE(2, "mono", 0.75)
667MACHINE_DRIVER_END
661MACHINE_CONFIG_END
668662
669static MACHINE_DRIVER_START( fromanc4 )
663static MACHINE_CONFIG_START( fromanc4, fromanc2_state )
670664
671   /* driver data */
672   MDRV_DRIVER_DATA(fromanc2_state)
673
674665   /* basic machine hardware */
675666   MDRV_CPU_ADD("maincpu", M68000,32000000/2)      /* 16.00 MHz */
676667   MDRV_CPU_PROGRAM_MAP(fromanc4_main_map)
r9191r9192
716707   MDRV_SOUND_ROUTE(0, "mono", 0.50)
717708   MDRV_SOUND_ROUTE(1, "mono", 0.75)
718709   MDRV_SOUND_ROUTE(2, "mono", 0.75)
719MACHINE_DRIVER_END
710MACHINE_CONFIG_END
720711
721712
722713/*************************************
src/mame/drivers/rallyx.c
r9191r9192
891891   state->stars_enable = 0;
892892}
893893
894static MACHINE_DRIVER_START( rallyx )
894static MACHINE_CONFIG_START( rallyx, timeplt_state )
895895
896   /* driver data */
897   MDRV_DRIVER_DATA(timeplt_state)
898
899896   /* basic machine hardware */
900897   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)   /* 3.072 MHz */
901898   MDRV_CPU_PROGRAM_MAP(rallyx_map)
r9191r9192
932929   MDRV_SOUND_ADD("samples", SAMPLES, 0)
933930   MDRV_SOUND_CONFIG(rallyx_samples_interface)
934931   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
935MACHINE_DRIVER_END
932MACHINE_CONFIG_END
936933
937934
938static MACHINE_DRIVER_START( jungler )
935static MACHINE_CONFIG_START( jungler, timeplt_state )
939936
940   /* driver data */
941   MDRV_DRIVER_DATA(timeplt_state)
942
943937   /* basic machine hardware */
944938   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)   /* 3.072 MHz */
945939   MDRV_CPU_PROGRAM_MAP(jungler_map)
r9191r9192
966960   MDRV_VIDEO_UPDATE(jungler)
967961
968962   /* sound hardware */
969   MDRV_IMPORT_FROM(locomotn_sound)
970MACHINE_DRIVER_END
963   MDRV_FRAGMENT_ADD(locomotn_sound)
964MACHINE_CONFIG_END
971965
972966
973static MACHINE_DRIVER_START( tactcian )
967static MACHINE_CONFIG_DERIVED( tactcian, jungler )
974968
975969   /* basic machine hardware */
976   MDRV_IMPORT_FROM(jungler)
977970
978971   /* video hardware */
979972   MDRV_VIDEO_START(locomotn)
980973   MDRV_VIDEO_UPDATE(locomotn)
981MACHINE_DRIVER_END
974MACHINE_CONFIG_END
982975
983976
984static MACHINE_DRIVER_START( locomotn )
977static MACHINE_CONFIG_DERIVED( locomotn, jungler )
985978
986979   /* basic machine hardware */
987   MDRV_IMPORT_FROM(jungler)
988980
989981   /* video hardware */
990982   MDRV_SCREEN_MODIFY("screen")
991983   MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
992984   MDRV_VIDEO_START(locomotn)
993985   MDRV_VIDEO_UPDATE(locomotn)
994MACHINE_DRIVER_END
986MACHINE_CONFIG_END
995987
996988
997static MACHINE_DRIVER_START( commsega )
989static MACHINE_CONFIG_DERIVED( commsega, jungler )
998990
999991   /* basic machine hardware */
1000   MDRV_IMPORT_FROM(jungler)
1001992
1002993   /* video hardware */
1003994   MDRV_SCREEN_MODIFY("screen")
1004995   MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
1005996   MDRV_VIDEO_START(commsega)
1006997   MDRV_VIDEO_UPDATE(locomotn)
1007MACHINE_DRIVER_END
998MACHINE_CONFIG_END
1008999
10091000
10101001/*************************************
src/mame/drivers/gridlee.c
r9191r9192
8282#include "includes/gridlee.h"
8383#include "includes/balsente.h"
8484#include "sound/samples.h"
85#include "machine/nvram.h"
8586
8687
8788/* constants */
r9191r9192
316317/* CPU 1 read addresses */
317318static ADDRESS_MAP_START( cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
318319   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
319   AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(gridlee_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
320   AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(gridlee_videoram_w) AM_BASE_MEMBER(gridlee_state, videoram)
320321   AM_RANGE(0x9000, 0x9000) AM_WRITE(led_0_w)
321322   AM_RANGE(0x9010, 0x9010) AM_WRITE(led_1_w)
322323   AM_RANGE(0x9020, 0x9020) AM_WRITE(gridlee_coin_counter_w)
r9191r9192
331332   AM_RANGE(0x9700, 0x9700) AM_READ_PORT("IN2") AM_WRITENOP
332333   AM_RANGE(0x9820, 0x9820) AM_READ(random_num_r)
333334   AM_RANGE(0x9828, 0x993f) AM_WRITE(gridlee_sound_w)
334   AM_RANGE(0x9c00, 0x9cff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
335   AM_RANGE(0x9c00, 0x9cff) AM_RAM AM_SHARE("nvram")
335336   AM_RANGE(0xa000, 0xffff) AM_ROM
336337ADDRESS_MAP_END
337338
r9191r9192
433434 *
434435 *************************************/
435436
436static MACHINE_DRIVER_START( gridlee )
437static MACHINE_CONFIG_START( gridlee, gridlee_state )
437438
438439   /* basic machine hardware */
439440   MDRV_CPU_ADD("maincpu", M6809, BALSENTE_CPU_CLOCK)
r9191r9192
441442
442443    MDRV_MACHINE_START(gridlee)
443444   MDRV_MACHINE_RESET(gridlee)
444   MDRV_NVRAM_HANDLER(generic_0fill)
445   MDRV_NVRAM_ADD_0FILL("nvram")
445446
446447   /* video hardware */
447448   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
463464   MDRV_SOUND_ADD("samples", SAMPLES, 0)
464465   MDRV_SOUND_CONFIG(gridlee_samples_interface)
465466   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
466MACHINE_DRIVER_END
467MACHINE_CONFIG_END
467468
468469
469470
src/mame/drivers/bnstars.c
r9191r9192
13241324}
13251325
13261326
1327static MACHINE_DRIVER_START( bnstars )
1327static MACHINE_CONFIG_START( bnstars, driver_device )
13281328
13291329   /* basic machine hardware */
13301330   MDRV_CPU_ADD("maincpu", V70, 20000000) // 20MHz
r9191r9192
13711371   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
13721372   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
13731373
1374MACHINE_DRIVER_END
1374MACHINE_CONFIG_END
13751375
13761376
13771377ROM_START( bnstars1 )
src/mame/drivers/realbrk.c
r9191r9192
673673   }
674674}
675675
676static MACHINE_DRIVER_START( realbrk )
676static MACHINE_CONFIG_START( realbrk, driver_device )
677677
678678   /* basic machine hardware */
679679   MDRV_CPU_ADD("maincpu",M68000, XTAL_32MHz / 2)         /* !! TMP68301 !! */
r9191r9192
707707   MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_3_579545MHz)
708708   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
709709   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
710MACHINE_DRIVER_END
710MACHINE_CONFIG_END
711711
712static MACHINE_DRIVER_START( pkgnsh )
713   MDRV_IMPORT_FROM( realbrk )
712static MACHINE_CONFIG_DERIVED( pkgnsh, realbrk )
714713   MDRV_CPU_MODIFY("maincpu")
715714   MDRV_CPU_PROGRAM_MAP(pkgnsh_mem)
716MACHINE_DRIVER_END
715MACHINE_CONFIG_END
717716
718static MACHINE_DRIVER_START( pkgnshdx )
719   MDRV_IMPORT_FROM( realbrk )
717static MACHINE_CONFIG_DERIVED( pkgnshdx, realbrk )
720718   MDRV_CPU_MODIFY("maincpu")
721719   MDRV_CPU_PROGRAM_MAP(pkgnshdx_mem)
722MACHINE_DRIVER_END
720MACHINE_CONFIG_END
723721
724static MACHINE_DRIVER_START( dai2kaku )
725   MDRV_IMPORT_FROM( realbrk )
722static MACHINE_CONFIG_DERIVED( dai2kaku, realbrk )
726723   MDRV_CPU_MODIFY("maincpu")
727724   MDRV_CPU_PROGRAM_MAP(dai2kaku_mem)
728725
729726   MDRV_GFXDECODE(dai2kaku)
730727   MDRV_VIDEO_UPDATE(dai2kaku)
731MACHINE_DRIVER_END
728MACHINE_CONFIG_END
732729
733730
734731/***************************************************************************
src/mame/drivers/diverboy.c
r9191r9192
5353
5454
5555
56class diverboy_state : public driver_data_t
56class diverboy_state : public driver_device
5757{
5858public:
59   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, diverboy_state(machine)); }
59   diverboy_state(running_machine &machine, const driver_device_config_base &config)
60      : driver_device(machine, config) { }
6061
61   diverboy_state(running_machine &machine)
62      : driver_data_t(machine) { }
63
6462   /* memory pointers */
6563   UINT16 *  spriteram;
6664//  UINT16 *  paletteram;   // currently this uses generic palette handling
r9191r9192
162160   AM_RANGE(0x0000, 0x7fff) AM_ROM
163161   AM_RANGE(0x8000, 0x87ff) AM_RAM
164162   AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("oki", okibank_w)
165   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
163   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
166164   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
167165ADDRESS_MAP_END
168166
r9191r9192
251249   state->audiocpu = machine->device("audiocpu");
252250}
253251
254static MACHINE_DRIVER_START( diverboy )
255   MDRV_DRIVER_DATA(diverboy_state)
252static MACHINE_CONFIG_START( diverboy, diverboy_state )
256253
257254   MDRV_CPU_ADD("maincpu", M68000, 12000000) /* guess */
258255   MDRV_CPU_PROGRAM_MAP(diverboy_map)
r9191r9192
281278
282279   MDRV_OKIM6295_ADD("oki", 1320000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
283280   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
284MACHINE_DRIVER_END
281MACHINE_CONFIG_END
285282
286283
287284
src/mame/drivers/arcadia.c
r9191r9192
5151#include "cpu/m68000/m68000.h"
5252#include "includes/amiga.h"
5353#include "machine/6526cia.h"
54#include "machine/nvram.h"
5455
5556
5657
r9191r9192
191192
192193   AM_RANGE(0x800000, 0x97ffff) AM_ROMBANK("bank2") AM_REGION("user3", 0)
193194   AM_RANGE(0x980000, 0x9fbfff) AM_ROM AM_REGION("user2", 0)
194   AM_RANGE(0x9fc000, 0x9ffffd) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
195   AM_RANGE(0x9fc000, 0x9ffffd) AM_RAM AM_SHARE("nvram")
195196   AM_RANGE(0x9ffffe, 0x9fffff) AM_WRITE(arcadia_multibios_change_game)
196197   AM_RANGE(0xf00000, 0xf7ffff) AM_ROM AM_REGION("user2", 0)
197198ADDRESS_MAP_END
r9191r9192
286287   DEVCB_NULL
287288};
288289
289static MACHINE_DRIVER_START( arcadia )
290static MACHINE_CONFIG_START( arcadia, driver_device )
290291
291292   /* basic machine hardware */
292293   MDRV_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
293294   MDRV_CPU_PROGRAM_MAP(amiga_map)
294295
295296   MDRV_MACHINE_RESET(amiga)
296   MDRV_NVRAM_HANDLER(generic_0fill)
297   MDRV_NVRAM_ADD_0FILL("nvram")
297298
298299   /* video hardware */
299300   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
322323   /* cia */
323324   MDRV_MOS8520_ADD("cia_0", AMIGA_68000_NTSC_CLOCK / 10, cia_0_intf)
324325   MDRV_MOS8520_ADD("cia_1", AMIGA_68000_NTSC_CLOCK / 10, cia_1_intf)
325MACHINE_DRIVER_END
326MACHINE_CONFIG_END
326327
327328
328329
src/mame/drivers/carjmbre.c
r9191r9192
189189   state->bgcolor = 0;
190190}
191191
192static MACHINE_DRIVER_START( carjmbre )
192static MACHINE_CONFIG_START( carjmbre, carjmbre_state )
193193
194   /* driver data */
195   MDRV_DRIVER_DATA(carjmbre_state)
196
197194   /* basic machine hardware */
198195   MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6)
199196   MDRV_CPU_PROGRAM_MAP(carjmbre_map)
r9191r9192
229226
230227   MDRV_SOUND_ADD("ay2", AY8910, XTAL_18_432MHz/6/2)
231228   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.12)
232MACHINE_DRIVER_END
229MACHINE_CONFIG_END
233230
234231/*************************************
235232 *
src/mame/drivers/vmetal.c
r9191r9192
234234   AM_RANGE(0x31fffa, 0x31fffb) AM_READ(varia_dips_bit2_r)   // 0x40 = dip1-2  -> 0xff0085 , 0x80 = dip2-2 -> 0xff0084
235235   AM_RANGE(0x31fffc, 0x31fffd) AM_READ(varia_dips_bit1_r)   // 0x40 = dip1-1  -> 0xff0085 , 0x80 = dip2-1 -> 0xff0084
236236
237   AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff )
238   AM_RANGE(0x400002, 0x400003) AM_DEVWRITE8("oki", okim6295_w, 0x00ff)   // Volume/channel info
237   AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )
238   AM_RANGE(0x400002, 0x400003) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0x00ff)   // Volume/channel info
239239   AM_RANGE(0x500000, 0x50000d) AM_DEVWRITE8("essnd", vmetal_es8712_w, 0x00ff)
240240
241241   AM_RANGE(0xff0000, 0xffffff) AM_RAM
r9191r9192
421421}
422422
423423
424static MACHINE_DRIVER_START( varia )
424static MACHINE_CONFIG_START( varia, metro_state )
425425
426   /* driver data */
427   MDRV_DRIVER_DATA(metro_state)
428
429426   /* basic machine hardware */
430427   MDRV_CPU_ADD("maincpu", M68000, 16000000)
431428   MDRV_CPU_PROGRAM_MAP(varia_program_map)
r9191r9192
455452   MDRV_SOUND_ADD("essnd", ES8712, 12000)
456453   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
457454   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
458MACHINE_DRIVER_END
455MACHINE_CONFIG_END
459456
460457
461458ROM_START( vmetal )
src/mame/drivers/superchs.c
r9191r9192
4242#include "audio/taito_en.h"
4343
4444#include "superchs.lh"
45#include "includes/superchs.h"
4546
46
47VIDEO_START( superchs );
48VIDEO_UPDATE( superchs );
49
5047static UINT16 coin_word;
5148static UINT32 *superchs_ram;
5249static UINT32 *shared_ram;
r9191r9192
369366   0      /* col_base */
370367};
371368
372static MACHINE_DRIVER_START( superchs )
369static MACHINE_CONFIG_START( superchs, driver_device )
373370
374371   /* basic machine hardware */
375372   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)   /* 16 MHz */
r9191r9192
401398   MDRV_TC0480SCP_ADD("tc0480scp", superchs_tc0480scp_intf)
402399
403400   /* sound hardware */
404   MDRV_IMPORT_FROM(taito_f3_sound)
405MACHINE_DRIVER_END
401   MDRV_FRAGMENT_ADD(taito_f3_sound)
402MACHINE_CONFIG_END
406403
407404/***************************************************************************/
408405
src/mame/drivers/battlera.c
r9191r9192
2626#include "sound/2203intf.h"
2727#include "sound/msm5205.h"
2828#include "sound/c6280.h"
29#include "includes/battlera.h"
2930
30VIDEO_UPDATE( battlera );
31VIDEO_START( battlera );
32INTERRUPT_GEN( battlera_interrupt );
33
34READ8_HANDLER( HuC6270_register_r );
35WRITE8_HANDLER( HuC6270_register_w );
36//READ8_HANDLER( HuC6270_data_r );
37WRITE8_HANDLER( HuC6270_data_w );
38WRITE8_HANDLER( battlera_palette_w );
39
40READ8_HANDLER( HuC6270_debug_r );
41WRITE8_HANDLER( HuC6270_debug_w );
42
4331static int control_port_select;
4432
4533/******************************************************************************/
r9191r9192
241229   "audiocpu"
242230};
243231
244static MACHINE_DRIVER_START( battlera )
232static MACHINE_CONFIG_START( battlera, driver_device )
245233
246234   /* basic machine hardware */
247235   MDRV_CPU_ADD("maincpu", H6280,21477200/3)
r9191r9192
281269   MDRV_SOUND_CONFIG(c6280_config)
282270   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60)
283271   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60)
284MACHINE_DRIVER_END
272MACHINE_CONFIG_END
285273
286274/******************************************************************************/
287275
src/mame/drivers/flower.c
r9191r9192
238238   cpu_set_input_line(device, 0, ASSERT_LINE);
239239}
240240
241static MACHINE_DRIVER_START( flower )
241static MACHINE_CONFIG_START( flower, driver_device )
242242
243243   /* basic machine hardware */
244244   MDRV_CPU_ADD("maincpu", Z80,8000000)
r9191r9192
276276
277277   MDRV_SOUND_ADD("flower", FLOWER, 0)
278278   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
279MACHINE_DRIVER_END
279MACHINE_CONFIG_END
280280
281281
282282ROM_START( flower ) /* Komax version */
src/mame/drivers/xain.c
r9191r9192
141141#include "cpu/m6809/m6809.h"
142142#include "cpu/m6805/m6805.h"
143143#include "sound/2203intf.h"
144#include "includes/xain.h"
144145
145146#define MASTER_CLOCK      XTAL_12MHz
146147#define CPU_CLOCK         MASTER_CLOCK / 8
r9191r9192
149150
150151static int vblank;
151152
152VIDEO_UPDATE( xain );
153VIDEO_START( xain );
154WRITE8_HANDLER( xain_scrollxP0_w );
155WRITE8_HANDLER( xain_scrollyP0_w );
156WRITE8_HANDLER( xain_scrollxP1_w );
157WRITE8_HANDLER( xain_scrollyP1_w );
158WRITE8_HANDLER( xain_charram_w );
159WRITE8_HANDLER( xain_bgram0_w );
160WRITE8_HANDLER( xain_bgram1_w );
161WRITE8_HANDLER( xain_flipscreen_w );
162
163extern UINT8 *xain_charram, *xain_bgram0, *xain_bgram1, xain_pri;
164
165153/* MCU */
166154static int from_main;
167155static int from_mcu;
r9191r9192
595583   memory_set_bank(machine, "bank2", 0);
596584}
597585
598static MACHINE_DRIVER_START( xsleena )
586static MACHINE_CONFIG_START( xsleena, driver_device )
599587
600588   /* basic machine hardware */
601589   MDRV_CPU_ADD("maincpu", M6809, CPU_CLOCK)
r9191r9192
641629   MDRV_SOUND_ROUTE(1, "mono", 0.50)
642630   MDRV_SOUND_ROUTE(2, "mono", 0.50)
643631   MDRV_SOUND_ROUTE(3, "mono", 0.40)
644MACHINE_DRIVER_END
632MACHINE_CONFIG_END
645633
646634
647static MACHINE_DRIVER_START( xsleenab )
648   MDRV_IMPORT_FROM(xsleena)
635static MACHINE_CONFIG_DERIVED( xsleenab, xsleena )
649636   MDRV_DEVICE_REMOVE("mcu")
650MACHINE_DRIVER_END
637MACHINE_CONFIG_END
651638
652639
653640/***************************************************************************
src/mame/drivers/namcos1.c
r9191r9192
344344#include "sound/2151intf.h"
345345#include "sound/namco.h"
346346#include "sound/dac.h"
347#include "machine/nvram.h"
347348#include "includes/namcos1.h"
348349
349350static int dac0_value, dac1_value, dac0_gain, dac1_gain;
r9191r9192
485486   AM_RANGE(0x4000, 0xbfff) AM_ROMBANK("bank20") /* banked ROM */
486487   AM_RANGE(0xc000, 0xc000) AM_WRITE(namcos1_mcu_patch_w)   /* kludge! see notes */
487488   AM_RANGE(0xc000, 0xc7ff) AM_RAMBANK("bank19")   /* TRIRAM (shared) */
488   AM_RANGE(0xc800, 0xcfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* EEPROM */
489   AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("nvram") /* EEPROM */
489490   AM_RANGE(0xd000, 0xd000) AM_WRITE(namcos1_dac0_w)
490491   AM_RANGE(0xd400, 0xd400) AM_WRITE(namcos1_dac1_w)
491492   AM_RANGE(0xd800, 0xd800) AM_WRITE(namcos1_mcu_bankswitch_w) /* ROM bank selector */
r9191r9192
10771078    LPF info : Fco = 3.3KHz , g = -12dB/oct
10781079*/
10791080
1080static MACHINE_DRIVER_START( ns1 )
1081static MACHINE_CONFIG_START( ns1, driver_device )
10811082
10821083   /* basic machine hardware */
10831084   MDRV_CPU_ADD("maincpu", M6809,49152000/32)
r9191r9192
11011102   MDRV_QUANTUM_TIME(HZ(38400))
11021103
11031104   MDRV_MACHINE_RESET(namcos1)
1104   MDRV_NVRAM_HANDLER(generic_0fill)
1105   MDRV_NVRAM_ADD_0FILL("nvram")
11051106
11061107   /* video hardware */
11071108   MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
r9191r9192
11361137   MDRV_SOUND_ADD("dac", DAC, 0)
11371138   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
11381139   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
1139MACHINE_DRIVER_END
1140MACHINE_CONFIG_END
11401141
11411142
11421143
src/mame/drivers/mrdo.c
r9191r9192
165165
166166
167167
168static MACHINE_DRIVER_START( mrdo )
168static MACHINE_CONFIG_START( mrdo, mrdo_state )
169169
170   /* driver data */
171   MDRV_DRIVER_DATA(mrdo_state)
172
173170   /* basic machine hardware */
174171   MDRV_CPU_ADD("maincpu", Z80, MAIN_CLOCK/2)   /* Verified */
175172   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
195192
196193   MDRV_SOUND_ADD("sn2", SN76489, MAIN_CLOCK/2)   /* Verified */
197194   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
198MACHINE_DRIVER_END
195MACHINE_CONFIG_END
199196
200197
201198
src/mame/drivers/gundealr.c
r9191r9192
466466   state->scroll[3] = 0;
467467}
468468
469static MACHINE_DRIVER_START( gundealr )
469static MACHINE_CONFIG_START( gundealr, gundealr_state )
470470
471   /* driver data */
472   MDRV_DRIVER_DATA(gundealr_state)
473
474471   /* basic machine hardware */
475472   MDRV_CPU_ADD("maincpu", Z80, 8000000)   /* 8 MHz ??? */
476473   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
499496
500497   MDRV_SOUND_ADD("ymsnd", YM2203, 1500000)
501498   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
502MACHINE_DRIVER_END
499MACHINE_CONFIG_END
503500
504501
505502
src/mame/drivers/firefox.c
r9191r9192
641641};
642642
643643
644static MACHINE_DRIVER_START( firefox )
644static MACHINE_CONFIG_START( firefox, driver_device )
645645
646646   /* basic machine hardware */
647647   MDRV_CPU_ADD("maincpu", M6809E, MASTER_XTAL/2)
r9191r9192
696696   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75)
697697   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
698698
699   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
699   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
700700   MDRV_SOUND_ROUTE(0, "lspeaker", 0.50)
701701   MDRV_SOUND_ROUTE(1, "rspeaker", 0.50)
702MACHINE_DRIVER_END
702MACHINE_CONFIG_END
703703
704704
705705
src/mame/drivers/mainevt.c
r9191r9192
439439   state->nmi_enable = 0;
440440}
441441
442static MACHINE_DRIVER_START( mainevt )
442static MACHINE_CONFIG_START( mainevt, mainevt_state )
443443
444   /* driver data */
445   MDRV_DRIVER_DATA(mainevt_state)
446
447444   /* basic machine hardware */
448445   MDRV_CPU_ADD("maincpu", HD6309, 3000000*4)   /* ?? */
449446   MDRV_CPU_PROGRAM_MAP(mainevt_map)
r9191r9192
484481
485482   MDRV_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
486483   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
487MACHINE_DRIVER_END
484MACHINE_CONFIG_END
488485
489486
490487static const k052109_interface dv_k052109_intf =
r9191r9192
503500   dv_sprite_callback
504501};
505502
506static MACHINE_DRIVER_START( devstors )
503static MACHINE_CONFIG_START( devstors, mainevt_state )
507504
508   /* driver data */
509   MDRV_DRIVER_DATA(mainevt_state)
510
511505   /* basic machine hardware */
512506   MDRV_CPU_ADD("maincpu", HD6309, 3000000*4)   /* ?? */
513507   MDRV_CPU_PROGRAM_MAP(devstors_map)
r9191r9192
550544   MDRV_SOUND_CONFIG(k007232_config)
551545   MDRV_SOUND_ROUTE(0, "mono", 0.20)
552546   MDRV_SOUND_ROUTE(1, "mono", 0.20)
553MACHINE_DRIVER_END
547MACHINE_CONFIG_END
554548
555549
556550
src/mame/drivers/toki.c
r9191r9192
4141#include "sound/3812intf.h"
4242#include "sound/msm5205.h"
4343#include "sound/3812intf.h"
44#include "includes/toki.h"
4445
45extern UINT16 *toki_background1_videoram16;
46extern UINT16 *toki_background2_videoram16;
47extern UINT16 *toki_scrollram16;
48
49VIDEO_START( toki );
50VIDEO_EOF( toki );
51VIDEO_EOF( tokib );
52VIDEO_UPDATE( toki );
53VIDEO_UPDATE( tokib );
54WRITE16_HANDLER( toki_background1_videoram16_w );
55WRITE16_HANDLER( toki_background2_videoram16_w );
56WRITE16_HANDLER( toki_control_w );
57WRITE16_HANDLER( toki_foreground_videoram16_w );
58
59
6046static WRITE16_HANDLER( tokib_soundcommand16_w )
6147{
6248   soundlatch_w(space, 0, data & 0xff);
r9191r9192
11197   AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
11298   AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE(toki_background1_videoram16_w) AM_BASE(&toki_background1_videoram16)
11399   AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE(toki_background2_videoram16_w) AM_BASE(&toki_background2_videoram16)
114   AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE_GENERIC(videoram)
100   AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE_MEMBER(toki_state, videoram)
115101   AM_RANGE(0x080000, 0x08000d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
116102   AM_RANGE(0x0a0000, 0x0a005f) AM_WRITE(toki_control_w) AM_BASE(&toki_scrollram16)
117103   AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("DSW")
r9191r9192
126112   AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
127113   AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE(toki_background1_videoram16_w) AM_BASE(&toki_background1_videoram16)
128114   AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE(toki_background2_videoram16_w) AM_BASE(&toki_background2_videoram16)
129   AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE_GENERIC(videoram)
115   AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE_MEMBER(toki_state, videoram)
130116   AM_RANGE(0x071000, 0x071001) AM_WRITENOP   /* sprite related? seems another scroll register */
131117            /* gets written the same value as 75000a (bg2 scrollx) */
132118   AM_RANGE(0x071804, 0x071807) AM_WRITENOP   /* sprite related, always 01be0100 */
r9191r9192
427413};
428414
429415
430static MACHINE_DRIVER_START( toki ) /* KOYO 20.000MHz near the cpu */
416static MACHINE_CONFIG_START( toki, toki_state ) /* KOYO 20.000MHz near the cpu */
431417
432418   /* basic machine hardware */
433419   MDRV_CPU_ADD("maincpu", M68000,XTAL_20MHz /2)   /* verified on pcb */
r9191r9192
456442
457443   /* sound hardware */
458444   SEIBU_SOUND_SYSTEM_YM3812_RAIDEN_INTERFACE(XTAL_14_31818MHz/4,XTAL_12MHz/12) /* verifed on pcb */
459MACHINE_DRIVER_END
445MACHINE_CONFIG_END
460446
461447
462static MACHINE_DRIVER_START( tokib )
448static MACHINE_CONFIG_START( tokib, toki_state )
463449
464450   /* basic machine hardware */
465451   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 10MHz causes bad slowdowns with monkey machine rd1 */
r9191r9192
494480   MDRV_SOUND_ADD("msm", MSM5205, 384000)
495481   MDRV_SOUND_CONFIG(msm5205_config)
496482   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
497MACHINE_DRIVER_END
483MACHINE_CONFIG_END
498484
499485
500486
src/mame/drivers/deco156.c
r9191r9192
2222#include "sound/ymz280b.h"
2323#include "video/deco16ic.h"
2424
25class deco156_state : public driver_data_t
25class deco156_state : public driver_device
2626{
2727public:
28   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, deco156_state(machine)); }
28   deco156_state(running_machine &machine, const driver_device_config_base &config)
29      : driver_device(machine, config),
30        maincpu(*this, "maincpu"),
31        deco16ic(*this, "deco_custom"),
32        oki2(*this, "oki2") { }
2933
30   deco156_state(running_machine &machine)
31      : driver_data_t(machine),
32        oki2(machine.device<okim6295_device>("oki2")) { }
33
3434   /* memory pointers */
3535   UINT16 *  pf1_rowscroll;
3636   UINT16 *  pf2_rowscroll;
3737
3838   /* devices */
39   cpu_device *maincpu;
40   deco16ic_device *deco16ic;
41   okim6295_device *oki2;
39   required_device<arm_device> maincpu;
40   required_device<deco16ic_device> deco16ic;
41   optional_device<okim6295_device> oki2;
4242};
4343
4444
r9191r9192
204204   AM_RANGE(0x120004, 0x120007) AM_WRITE(hvysmsh_eeprom_w)
205205   AM_RANGE(0x120008, 0x12000b) AM_WRITENOP // IRQ ack?
206206   AM_RANGE(0x12000c, 0x12000f) AM_DEVWRITE("oki1", hvysmsh_oki_0_bank_w)
207   AM_RANGE(0x140000, 0x140003) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x000000ff)
208   AM_RANGE(0x160000, 0x160003) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x000000ff)
207   AM_RANGE(0x140000, 0x140003) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x000000ff)
208   AM_RANGE(0x160000, 0x160003) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x000000ff)
209209   AM_RANGE(0x180000, 0x18001f) AM_DEVREADWRITE("deco_custom", deco16ic_pf12_control_dword_r, deco16ic_pf12_control_dword_w)
210210   AM_RANGE(0x190000, 0x191fff) AM_DEVREADWRITE("deco_custom", deco16ic_pf1_data_dword_r, deco16ic_pf1_data_dword_w)
211211   AM_RANGE(0x194000, 0x195fff) AM_DEVREADWRITE("deco_custom", deco16ic_pf2_data_dword_r, deco16ic_pf2_data_dword_w)
r9191r9192
401401   NULL
402402};
403403
404static MACHINE_START( deco156 )
405{
406   deco156_state *state = machine->driver_data<deco156_state>();
404static MACHINE_CONFIG_START( hvysmsh, deco156_state )
407405
408   state->maincpu = machine->device<cpu_device>("maincpu");
409   state->deco16ic = machine->device<deco16ic_device>("deco_custom");
410}
411
412static MACHINE_DRIVER_START( hvysmsh )
413
414   /* driver data */
415   MDRV_DRIVER_DATA(deco156_state)
416
417406   /* basic machine hardware */
418407   MDRV_CPU_ADD("maincpu", ARM, 28000000) /* Unconfirmed */
419408   MDRV_CPU_PROGRAM_MAP(hvysmsh_map)
r9191r9192
421410
422411   MDRV_EEPROM_93C46_ADD("eeprom")
423412
424   MDRV_MACHINE_START(deco156)
425
426413   /* video hardware */
427414   MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM )
428415
r9191r9192
451438   MDRV_OKIM6295_ADD("oki2", 28000000/14, OKIM6295_PIN7_HIGH)
452439   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.35)
453440   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35)
454MACHINE_DRIVER_END
441MACHINE_CONFIG_END
455442
456static MACHINE_DRIVER_START( wcvol95 )
443static MACHINE_CONFIG_START( wcvol95, deco156_state )
457444
458   /* driver data */
459   MDRV_DRIVER_DATA(deco156_state)
460
461445   /* basic machine hardware */
462446   MDRV_CPU_ADD("maincpu", ARM, 28000000) /* Unconfirmed */
463447   MDRV_CPU_PROGRAM_MAP(wcvol95_map)
r9191r9192
465449
466450   MDRV_EEPROM_93C46_ADD("eeprom")
467451
468   MDRV_MACHINE_START(deco156)
469
470452   /* video hardware */
471453   MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM )
472454
r9191r9192
492474   MDRV_SOUND_CONFIG(ymz280b_intf)
493475   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
494476   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
495MACHINE_DRIVER_END
477MACHINE_CONFIG_END
496478
497479
498480/**********************************************************************************/
src/mame/drivers/dwarfd.c
r9191r9192
278278#include "cpu/i8085/i8085.h"
279279#include "sound/ay8910.h"
280280
281class dwarfd_state : public driver_data_t
281class dwarfd_state : public driver_device
282282{
283283public:
284   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dwarfd_state(machine)); }
284   dwarfd_state(running_machine &machine, const driver_device_config_base &config)
285      : driver_device(machine, config) { }
285286
286   dwarfd_state(running_machine &machine)
287      : driver_data_t(machine) { }
288
289287   /* memory pointers */
290288   UINT8 *  dw_ram;
291289   UINT8 *  videobuf;
r9191r9192
959957   state->i8275HorizontalRetrace = 0;
960958}
961959
962static MACHINE_DRIVER_START( dwarfd )
960static MACHINE_CONFIG_START( dwarfd, dwarfd_state )
963961
964   /* driver data */
965   MDRV_DRIVER_DATA(dwarfd_state)
966
967962   /* basic machine hardware */
968963   /* FIXME: The 8085A had a max clock of 6MHz, internally divided by 2! */
969964   MDRV_CPU_ADD("maincpu", I8085A, 10595000/3*2)        /* ? MHz */
r9191r9192
995990   MDRV_SOUND_ADD("aysnd", AY8910, 1500000)
996991   MDRV_SOUND_CONFIG(ay8910_config)
997992   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
998MACHINE_DRIVER_END
993MACHINE_CONFIG_END
999994
1000static MACHINE_DRIVER_START( qc )
1001   MDRV_IMPORT_FROM( dwarfd )
995static MACHINE_CONFIG_DERIVED( qc, dwarfd )
1002996
1003997   MDRV_CPU_MODIFY("maincpu")
1004998   MDRV_CPU_PROGRAM_MAP(qc_map)
1005999   MDRV_CPU_IO_MAP(qc_io_map)
1006MACHINE_DRIVER_END
1000MACHINE_CONFIG_END
10071001
10081002ROM_START( dwarfd )
10091003   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/renegade.c
r9191r9192
108108#include "cpu/m6805/m6805.h"
109109#include "sound/3526intf.h"
110110#include "sound/okim6295.h"
111#include "includes/renegade.h"
111112
112extern VIDEO_UPDATE( renegade );
113extern VIDEO_START( renegade );
114WRITE8_HANDLER( renegade_scroll0_w );
115WRITE8_HANDLER( renegade_scroll1_w );
116WRITE8_HANDLER( renegade_videoram_w );
117WRITE8_HANDLER( renegade_videoram2_w );
118WRITE8_HANDLER( renegade_flipscreen_w );
119
120extern UINT8 *renegade_videoram2;
121
122113static UINT8 bank;
123114static int mcu_sim;
124115
r9191r9192
677668   AM_RANGE(0x0000, 0x17ff) AM_RAM
678669   AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(renegade_videoram2_w) AM_BASE(&renegade_videoram2)
679670   AM_RANGE(0x2000, 0x27ff) AM_RAM AM_BASE_GENERIC(spriteram)
680   AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(renegade_videoram_w) AM_BASE_GENERIC(videoram)
671   AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(renegade_videoram_w) AM_BASE_MEMBER(renegade_state, videoram)
681672   AM_RANGE(0x3000, 0x30ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
682673   AM_RANGE(0x3100, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
683674   AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") AM_WRITE(renegade_scroll0_w)      /* Player#1 controls, P1,P2 start */
r9191r9192
927918}
928919
929920
930static MACHINE_DRIVER_START( renegade )
921static MACHINE_CONFIG_START( renegade, renegade_state )
931922
932923   /* basic machine hardware */
933924   MDRV_CPU_ADD("maincpu", M6502, 12000000/8)   /* 1.5 MHz (measured) */
r9191r9192
966957
967958   MDRV_SOUND_ADD("adpcm", RENEGADE_ADPCM, 8000)
968959   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
969MACHINE_DRIVER_END
960MACHINE_CONFIG_END
970961
971962
972static MACHINE_DRIVER_START( kuniokunb )
973   MDRV_IMPORT_FROM(renegade)
963static MACHINE_CONFIG_DERIVED( kuniokunb, renegade )
974964   MDRV_DEVICE_REMOVE("mcu")
975MACHINE_DRIVER_END
965MACHINE_CONFIG_END
976966
977967
978968ROM_START( renegade )
src/mame/drivers/junofrst.c
r9191r9192
310310   state->blitterdata[3] = 0;
311311}
312312
313static MACHINE_DRIVER_START( junofrst )
313static MACHINE_CONFIG_START( junofrst, timeplt_state )
314314
315   /* driver data */
316   MDRV_DRIVER_DATA(timeplt_state)
317
318315   /* basic machine hardware */
319316   MDRV_CPU_ADD("maincpu", M6809, 1500000)         /* 1.5 MHz ??? */
320317   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
358355   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
359356   MDRV_SOUND_ADD("filter.0.2", FILTER_RC, 0)
360357   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
361MACHINE_DRIVER_END
358MACHINE_CONFIG_END
362359
363360
364361ROM_START( junofrst )
src/mame/drivers/nbmj8688.c
r9191r9192
3939#include "rendlay.h"
4040#include "nbmj8688.lh"
4141#include "includes/nbmj8688.h"
42#include "machine/nvram.h"
4243
4344
4445#define SIGNED_DAC   0      // 0:unsigned DAC, 1:signed DAC
r9191r9192
281282
282283static ADDRESS_MAP_START( mjsikaku_map, ADDRESS_SPACE_PROGRAM, 8 )
283284   AM_RANGE(0x0000, 0xf7ff) AM_ROM
284   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
285   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")
285286ADDRESS_MAP_END
286287
287288static ADDRESS_MAP_START( secolove_map, ADDRESS_SPACE_PROGRAM, 8 )
288289   AM_RANGE(0x0000, 0xefff) AM_ROM
289   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
290   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram")
290291ADDRESS_MAP_END
291292
292293static ADDRESS_MAP_START( ojousan_map, ADDRESS_SPACE_PROGRAM, 8 )
293294   AM_RANGE(0x0000, 0x6fff) AM_ROM
294   AM_RANGE(0x7000, 0x7fff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
295   AM_RANGE(0x7000, 0x7fff) AM_RAM AM_SHARE("nvram")
295296   AM_RANGE(0x8000, 0xffff) AM_ROM
296297ADDRESS_MAP_END
297298
r9191r9192
29162917
29172918
29182919
2919static MACHINE_DRIVER_START( NBMJDRV_4096 )
2920static MACHINE_CONFIG_START( NBMJDRV_4096, driver_device )
29202921
29212922   /* basic machine hardware */
29222923   MDRV_CPU_ADD("maincpu", Z80, 5000000)   /* 5.00 MHz */
29232924   MDRV_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
29242925
29252926   MDRV_MACHINE_RESET(nb1413m3)
2926   MDRV_NVRAM_HANDLER(nb1413m3)
2927   MDRV_NVRAM_ADD_0FILL("nvram")
29272928
29282929   /* video hardware */
29292930   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
29482949
29492950   MDRV_SOUND_ADD("dac", DAC, 0)
29502951   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
2951MACHINE_DRIVER_END
2952MACHINE_CONFIG_END
29522953
29532954
2954static MACHINE_DRIVER_START( NBMJDRV_256 )
2955static MACHINE_CONFIG_DERIVED( NBMJDRV_256, NBMJDRV_4096 )
29552956
29562957   /* basic machine hardware */
2957   MDRV_IMPORT_FROM(NBMJDRV_4096)
29582958
29592959   /* video hardware */
29602960   MDRV_PALETTE_LENGTH(256)
29612961
29622962   MDRV_PALETTE_INIT(mbmj8688_8bit)
29632963   MDRV_VIDEO_START(mbmj8688_8bit)
2964MACHINE_DRIVER_END
2964MACHINE_CONFIG_END
29652965
29662966
2967static MACHINE_DRIVER_START( NBMJDRV_65536 )
2967static MACHINE_CONFIG_DERIVED( NBMJDRV_65536, NBMJDRV_4096 )
29682968
29692969   /* basic machine hardware */
2970   MDRV_IMPORT_FROM(NBMJDRV_4096)
29712970
29722971   /* video hardware */
29732972   MDRV_SCREEN_MODIFY("screen")
r9191r9192
29762975
29772976   MDRV_PALETTE_INIT(mbmj8688_16bit)
29782977   MDRV_VIDEO_START(mbmj8688_hybrid_16bit)
2979MACHINE_DRIVER_END
2978MACHINE_CONFIG_END
29802979
29812980
29822981// --------------------------------------------------------------------------------
29832982
2984static MACHINE_DRIVER_START( crystalg )
2983static MACHINE_CONFIG_DERIVED( crystalg, NBMJDRV_256 )
29852984
29862985   /* basic machine hardware */
2987   MDRV_IMPORT_FROM(NBMJDRV_256)
29882986   MDRV_CPU_MODIFY("maincpu")
29892987   MDRV_CPU_PROGRAM_MAP(secolove_map)
29902988   MDRV_CPU_IO_MAP(crystalg_io_map)
29912989//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 96) // nmiclock = 2f
2992MACHINE_DRIVER_END
2990MACHINE_CONFIG_END
29932991
29942992
2995static MACHINE_DRIVER_START( apparel )
2993static MACHINE_CONFIG_DERIVED( apparel, NBMJDRV_256 )
29962994
29972995   /* basic machine hardware */
2998   MDRV_IMPORT_FROM(NBMJDRV_256)
29992996   MDRV_CPU_MODIFY("maincpu")
30002997   MDRV_CPU_PROGRAM_MAP(secolove_map)
30012998   MDRV_CPU_IO_MAP(secolove_io_map)
30022999//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128)    // nmiclock = 60
3003MACHINE_DRIVER_END
3000MACHINE_CONFIG_END
30043001
30053002
3006static MACHINE_DRIVER_START( mbmj_h12bit )
3003static MACHINE_CONFIG_DERIVED( mbmj_h12bit, NBMJDRV_4096 )
30073004
30083005   /* basic machine hardware */
3009   MDRV_IMPORT_FROM(NBMJDRV_4096)
30103006   MDRV_CPU_MODIFY("maincpu")
30113007   MDRV_CPU_PROGRAM_MAP(secolove_map)
30123008   MDRV_CPU_IO_MAP(secolove_io_map)
r9191r9192
30143010
30153011   /* video hardware */
30163012   MDRV_VIDEO_START(mbmj8688_hybrid_12bit)
3017MACHINE_DRIVER_END
3013MACHINE_CONFIG_END
30183014
30193015/*Same as h12bit HW with different sound HW + NMI enable bit*/
3020static MACHINE_DRIVER_START( barline )
3016static MACHINE_CONFIG_DERIVED( barline, mbmj_h12bit )
30213017
30223018   /* basic machine hardware */
3023   MDRV_IMPORT_FROM(mbmj_h12bit)
30243019   MDRV_CPU_MODIFY("maincpu")
30253020   MDRV_CPU_IO_MAP(barline_io_map)
30263021//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128)    // nmiclock = 60
r9191r9192
30293024   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
30303025
30313026   MDRV_DEVICE_REMOVE("dac")
3032MACHINE_DRIVER_END
3027MACHINE_CONFIG_END
30333028
3034static MACHINE_DRIVER_START( mbmj_p16bit )
3029static MACHINE_CONFIG_DERIVED( mbmj_p16bit, NBMJDRV_65536 )
30353030
30363031   /* basic machine hardware */
3037   MDRV_IMPORT_FROM(NBMJDRV_65536)
30383032   MDRV_CPU_MODIFY("maincpu")
30393033   MDRV_CPU_PROGRAM_MAP(secolove_map)
30403034   MDRV_CPU_IO_MAP(secolove_io_map)
r9191r9192
30423036
30433037   /* video hardware */
30443038   MDRV_VIDEO_START(mbmj8688_pure_16bit)
3045MACHINE_DRIVER_END
3039MACHINE_CONFIG_END
30463040
30473041
3048static MACHINE_DRIVER_START( mbmj_p16bit_LCD )
3042static MACHINE_CONFIG_START( mbmj_p16bit_LCD, driver_device )
30493043
30503044   /* basic machine hardware */
30513045   MDRV_CPU_ADD("maincpu", Z80, 5000000)   /* 5.00 MHz */
r9191r9192
30553049   MDRV_CPU_IO_MAP(p16bit_LCD_io_map)
30563050
30573051   MDRV_MACHINE_RESET(nb1413m3)
3058   MDRV_NVRAM_HANDLER(nb1413m3)
3052   MDRV_NVRAM_ADD_0FILL("nvram")
30593053
30603054   /* video hardware */
30613055   MDRV_PALETTE_LENGTH(65536)
r9191r9192
30953089
30963090   MDRV_SOUND_ADD("dac", DAC, 0)
30973091   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
3098MACHINE_DRIVER_END
3092MACHINE_CONFIG_END
30993093
31003094
3101static MACHINE_DRIVER_START( seiha )
3095static MACHINE_CONFIG_DERIVED( seiha, NBMJDRV_65536 )
31023096
31033097   /* basic machine hardware */
3104   MDRV_IMPORT_FROM(NBMJDRV_65536)
31053098   MDRV_CPU_MODIFY("maincpu")
31063099   MDRV_CPU_PROGRAM_MAP(secolove_map)
31073100   MDRV_CPU_IO_MAP(seiha_io_map)
31083101//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128)    // nmiclock = 60
3109MACHINE_DRIVER_END
3102MACHINE_CONFIG_END
31103103
3111static MACHINE_DRIVER_START( mjgaiden )
3104static MACHINE_CONFIG_DERIVED( mjgaiden, NBMJDRV_4096 )
31123105
31133106   /* basic machine hardware */
3114   MDRV_IMPORT_FROM(NBMJDRV_4096)
31153107
31163108   MDRV_CPU_MODIFY("maincpu")
31173109   MDRV_CPU_PROGRAM_MAP(ojousan_map)
31183110   MDRV_CPU_IO_MAP(mjgaiden_io_map)
3119MACHINE_DRIVER_END
3111MACHINE_CONFIG_END
31203112
3121static MACHINE_DRIVER_START( iemoto )
3113static MACHINE_CONFIG_DERIVED( iemoto, NBMJDRV_65536 )
31223114
31233115   /* basic machine hardware */
3124   MDRV_IMPORT_FROM(NBMJDRV_65536)
31253116   MDRV_CPU_MODIFY("maincpu")
31263117   MDRV_CPU_PROGRAM_MAP(secolove_map)
31273118   MDRV_CPU_IO_MAP(iemoto_io_map)
31283119//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128)    // nmiclock = 60
3129MACHINE_DRIVER_END
3120MACHINE_CONFIG_END
31303121
31313122
3132static MACHINE_DRIVER_START( ojousan )
3123static MACHINE_CONFIG_DERIVED( ojousan, NBMJDRV_65536 )
31333124
31343125   /* basic machine hardware */
3135   MDRV_IMPORT_FROM(NBMJDRV_65536)
31363126   MDRV_CPU_MODIFY("maincpu")
31373127   MDRV_CPU_PROGRAM_MAP(ojousan_map)
31383128   MDRV_CPU_IO_MAP(iemoto_io_map)
31393129//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128)    // nmiclock = 60
3140MACHINE_DRIVER_END
3130MACHINE_CONFIG_END
31413131
3142static MACHINE_DRIVER_START( mbmj_p12bit )
3132static MACHINE_CONFIG_DERIVED( mbmj_p12bit, NBMJDRV_4096 )
31433133
31443134   /* basic machine hardware */
3145   MDRV_IMPORT_FROM(NBMJDRV_4096)
31463135   MDRV_CPU_MODIFY("maincpu")
31473136   MDRV_CPU_PROGRAM_MAP(mjsikaku_map)
31483137   MDRV_CPU_IO_MAP(kaguya_io_map)
31493138//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128)
3150MACHINE_DRIVER_END
3139MACHINE_CONFIG_END
31513140
31523141
3153static MACHINE_DRIVER_START( mjsikaku )
3142static MACHINE_CONFIG_DERIVED( mjsikaku, NBMJDRV_4096 )
31543143
31553144   /* basic machine hardware */
3156   MDRV_IMPORT_FROM(NBMJDRV_4096)
31573145   MDRV_CPU_MODIFY("maincpu")
31583146   MDRV_CPU_PROGRAM_MAP(mjsikaku_map)
31593147   MDRV_CPU_IO_MAP(mjsikaku_io_map)
r9191r9192
31623150   /* sound hardware */
31633151   MDRV_SOUND_REPLACE("psg", YM3812, 20000000/8)
31643152   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
3165MACHINE_DRIVER_END
3153MACHINE_CONFIG_END
31663154
31673155
3168static MACHINE_DRIVER_START( mmsikaku )
3156static MACHINE_CONFIG_DERIVED( mmsikaku, NBMJDRV_4096 )
31693157
31703158   /* basic machine hardware */
3171   MDRV_IMPORT_FROM(NBMJDRV_4096)
31723159   MDRV_CPU_MODIFY("maincpu")
31733160   MDRV_CPU_PROGRAM_MAP(secolove_map)
31743161   MDRV_CPU_IO_MAP(mmsikaku_io_map)
31753162//  MDRV_CPU_VBLANK_INT_HACK(nb1413m3_interrupt, 128)
3176MACHINE_DRIVER_END
3163MACHINE_CONFIG_END
31773164
31783165
3179static MACHINE_DRIVER_START( otonano )
3166static MACHINE_CONFIG_DERIVED( otonano, mjsikaku )
31803167
31813168   /* basic machine hardware */
3182   MDRV_IMPORT_FROM(mjsikaku)
31833169   MDRV_CPU_MODIFY("maincpu")
31843170   MDRV_CPU_IO_MAP(otonano_io_map)
3185MACHINE_DRIVER_END
3171MACHINE_CONFIG_END
31863172
31873173
31883174
src/mame/drivers/caswin.c
r9191r9192
4444#include "emu.h"
4545#include "cpu/z80/z80.h"
4646#include "sound/ay8910.h"
47#include "machine/nvram.h"
4748
4849static UINT8 *sc0_vram,*sc0_attr;
4950static tilemap_t *sc0_tilemap;
r9191r9192
135136static ADDRESS_MAP_START( vvillage_mem, ADDRESS_SPACE_PROGRAM, 8 )
136137   AM_RANGE(0x0000, 0x7fff) AM_ROM
137138   AM_RANGE(0xa000, 0xa000) AM_READ(vvillage_rng_r) //accessed by caswin only
138   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
139   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
139140   AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(sc0_vram_w) AM_BASE(&sc0_vram)
140141   AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(sc0_attr_w) AM_BASE(&sc0_attr)
141142ADDRESS_MAP_END
r9191r9192
274275}
275276
276277
277static MACHINE_DRIVER_START( vvillage )
278static MACHINE_CONFIG_START( vvillage, driver_device )
278279   /* basic machine hardware */
279280   MDRV_CPU_ADD("maincpu", Z80,4000000)       /* ? MHz */
280281   MDRV_CPU_PROGRAM_MAP(vvillage_mem)
r9191r9192
289290   MDRV_SCREEN_SIZE(256, 256)
290291   MDRV_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
291292
292   MDRV_NVRAM_HANDLER(generic_0fill)
293   MDRV_NVRAM_ADD_0FILL("nvram")
293294
294295   MDRV_GFXDECODE(vvillage)
295296   MDRV_PALETTE_LENGTH(0x40)
r9191r9192
303304   MDRV_SOUND_ADD("aysnd", AY8910, 4000000 / 4)
304305   MDRV_SOUND_CONFIG(ay8910_config)
305306   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
306MACHINE_DRIVER_END
307MACHINE_CONFIG_END
307308
308309ROM_START( caswin )
309310   ROM_REGION( 0x8000, "maincpu", 0 )
src/mame/drivers/hitpoker.c
r9191r9192
461461   cpu_set_input_line(device, MC68HC11_IRQ_LINE, HOLD_LINE);
462462}
463463
464static MACHINE_DRIVER_START( hitpoker )
464static MACHINE_CONFIG_START( hitpoker, driver_device )
465465   MDRV_CPU_ADD("maincpu", MC68HC11,1000000)
466466   MDRV_CPU_PROGRAM_MAP(hitpoker_map)
467467   MDRV_CPU_IO_MAP(hitpoker_io)
r9191r9192
489489   MDRV_SOUND_ADD("aysnd", AY8910, 1500000)
490490   MDRV_SOUND_CONFIG(ay8910_config)
491491   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
492MACHINE_DRIVER_END
492MACHINE_CONFIG_END
493493
494494static DRIVER_INIT(hitpoker)
495495{
src/mame/drivers/taito_h.c
r9191r9192
563563   "maincpu", "audiocpu"
564564};
565565
566static MACHINE_DRIVER_START( syvalion )
566static MACHINE_CONFIG_START( syvalion, taitoh_state )
567567
568   /* driver data */
569   MDRV_DRIVER_DATA(taitoh_state)
570
571568   /* basic machine hardware */
572569   MDRV_CPU_ADD("maincpu", M68000,24000000 / 2)      /* 12 MHz */
573570   MDRV_CPU_PROGRAM_MAP(syvalion_map)
r9191r9192
608605   MDRV_SOUND_ROUTE(2, "mono", 1.0)
609606
610607   MDRV_TC0140SYT_ADD("tc0140syt", taitoh_tc0140syt_intf)
611MACHINE_DRIVER_END
608MACHINE_CONFIG_END
612609
613610
614static MACHINE_DRIVER_START( recordbr )
611static MACHINE_CONFIG_START( recordbr, taitoh_state )
615612
616   /* driver data */
617   MDRV_DRIVER_DATA(taitoh_state)
618
619613   /* basic machine hardware */
620614   MDRV_CPU_ADD("maincpu", M68000,24000000 / 2)      /* 12 MHz */
621615   MDRV_CPU_PROGRAM_MAP(recordbr_map)
r9191r9192
656650   MDRV_SOUND_ROUTE(2, "mono", 1.0)
657651
658652   MDRV_TC0140SYT_ADD("tc0140syt", taitoh_tc0140syt_intf)
659MACHINE_DRIVER_END
653MACHINE_CONFIG_END
660654
661655
662static MACHINE_DRIVER_START( dleague )
656static MACHINE_CONFIG_START( dleague, taitoh_state )
663657
664   /* driver data */
665   MDRV_DRIVER_DATA(taitoh_state)
666
667658   /* basic machine hardware */
668659   MDRV_CPU_ADD("maincpu", M68000,24000000 / 2)      /* 12 MHz */
669660   MDRV_CPU_PROGRAM_MAP(dleague_map)
r9191r9192
704695   MDRV_SOUND_ROUTE(2, "mono", 1.0)
705696
706697   MDRV_TC0140SYT_ADD("tc0140syt", taitoh_tc0140syt_intf)
707MACHINE_DRIVER_END
698MACHINE_CONFIG_END
708699
709700
710701/***************************************************************************
src/mame/drivers/ginganin.c
r9191r9192
337337}
338338
339339
340static MACHINE_DRIVER_START( ginganin )
340static MACHINE_CONFIG_START( ginganin, ginganin_state )
341341
342   /* driver data */
343   MDRV_DRIVER_DATA(ginganin_state)
344
345342   /* basic machine hardware */
346343   MDRV_CPU_ADD("maincpu", M68000, 6000000)   /* ? */
347344   MDRV_CPU_PROGRAM_MAP(ginganin_map)
r9191r9192
376373
377374   MDRV_SOUND_ADD("ymsnd", Y8950, 3579545)   /* The Y8950 is basically a YM3526 with ADPCM built in */
378375   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
379MACHINE_DRIVER_END
376MACHINE_CONFIG_END
380377
381378
382379
src/mame/drivers/tail2nos.c
r9191r9192
236236   state->video_enable = 0;
237237}
238238
239static MACHINE_DRIVER_START( tail2nos )
239static MACHINE_CONFIG_START( tail2nos, tail2nos_state )
240240
241   /* driver data */
242   MDRV_DRIVER_DATA(tail2nos_state)
243
244241   /* basic machine hardware */
245242   MDRV_CPU_ADD("maincpu", M68000,XTAL_20MHz/2)   /* verified on pcb */
246243   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
278275   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
279276   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
280277   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
281MACHINE_DRIVER_END
278MACHINE_CONFIG_END
282279
283280
284281
src/mame/drivers/mrjong.c
r9191r9192
178178 *
179179 *************************************/
180180
181static MACHINE_DRIVER_START( mrjong )
181static MACHINE_CONFIG_START( mrjong, mrjong_state )
182182
183   /* driver data */
184   MDRV_DRIVER_DATA(mrjong_state)
185
186183   /* basic machine hardware */
187184   MDRV_CPU_ADD("maincpu", Z80,15468000/6)   /* 2.578 MHz?? */
188185   MDRV_CPU_PROGRAM_MAP(mrjong_map)
r9191r9192
212209
213210   MDRV_SOUND_ADD("sn2", SN76489, 15468000/6)
214211   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
215MACHINE_DRIVER_END
212MACHINE_CONFIG_END
216213
217214
218215/*************************************
src/mame/drivers/m79amb.c
r9191r9192
5858#include "includes/m79amb.h"
5959#include "cpu/i8085/i8085.h"
6060
61class m79amb_state : public driver_data_t
61class m79amb_state : public driver_device
6262{
6363public:
64   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, m79amb_state(machine)); }
64   m79amb_state(running_machine &machine, const driver_device_config_base &config)
65      : driver_device(machine, config) { }
6566
66   m79amb_state(running_machine &machine)
67      : driver_data_t(machine) { }
68
6967   /* memory pointers */
7068   UINT8 *        videoram;
7169   UINT8 *        mask;
r9191r9192
205203   cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0xcf);  /* RST 08h */
206204}
207205
208static MACHINE_DRIVER_START( m79amb )
206static MACHINE_CONFIG_START( m79amb, m79amb_state )
209207
210   /* driver data */
211   MDRV_DRIVER_DATA(m79amb_state)
212
213208   /* basic machine hardware */
214209   MDRV_CPU_ADD("maincpu", I8080, XTAL_19_6608MHz / 10)
215210   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
232227   MDRV_SOUND_CONFIG_DISCRETE(m79amb)
233228
234229   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
235MACHINE_DRIVER_END
230MACHINE_CONFIG_END
236231
237232
238233
src/mame/drivers/slapshot.c
r9191r9192
551551}
552552
553553
554static MACHINE_DRIVER_START( slapshot )
554static MACHINE_CONFIG_START( slapshot, slapshot_state )
555555
556   /* driver data */
557   MDRV_DRIVER_DATA(slapshot_state)
558
559556   /* basic machine hardware */
560557   MDRV_CPU_ADD("maincpu", M68000, 14346000)   /* 28.6860 MHz / 2 ??? */
561558   MDRV_CPU_PROGRAM_MAP(slapshot_map)
r9191r9192
601598   MDRV_MK48T08_ADD( "mk48t08" )
602599
603600   MDRV_TC0140SYT_ADD("tc0140syt", slapshot_tc0140syt_intf)
604MACHINE_DRIVER_END
601MACHINE_CONFIG_END
605602
606static MACHINE_DRIVER_START( opwolf3 )
603static MACHINE_CONFIG_START( opwolf3, slapshot_state )
607604
608   /* driver data */
609   MDRV_DRIVER_DATA(slapshot_state)
610
611605   /* basic machine hardware */
612606   MDRV_CPU_ADD("maincpu", M68000, 14346000)   /* 28.6860 MHz / 2 ??? */
613607   MDRV_CPU_PROGRAM_MAP(opwolf3_map)
r9191r9192
653647   MDRV_MK48T08_ADD( "mk48t08" )
654648
655649   MDRV_TC0140SYT_ADD("tc0140syt", slapshot_tc0140syt_intf)
656MACHINE_DRIVER_END
650MACHINE_CONFIG_END
657651
658652/***************************************************************************
659653                    DRIVERS
src/mame/drivers/meritm.c
r9191r9192
108108#include "machine/z80pio.h"
109109#include "machine/pc16552d.h"
110110#include "machine/microtch.h"
111#include "machine/nvram.h"
111112
112113/*************************************
113114 *
r9191r9192
484485         default: logerror( "meritm_crt250_questions_bank_w: unknown data = %02x\n", data ); return;
485486      }
486487      logerror( "Reading question byte at %06X\n", questions_address | questions_loword_address);
487      *dst = memory_region(space->machine, "user1")[questions_address | questions_loword_address];
488      *dst = memory_region(space->machine, "extra")[questions_address | questions_loword_address];
488489   }
489490};
490491
r9191r9192
547548
548549static ADDRESS_MAP_START( meritm_crt250_map, ADDRESS_SPACE_PROGRAM, 8 )
549550   AM_RANGE(0x0000, 0xdfff) AM_ROMBANK("bank1")
550   AM_RANGE(0xe000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
551   AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram")
551552ADDRESS_MAP_END
552553
553554static ADDRESS_MAP_START( meritm_crt250_questions_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
555556   AM_RANGE(0x0000, 0x0000) AM_WRITE(meritm_crt250_questions_lo_w)
556557   AM_RANGE(0x0001, 0x0001) AM_WRITE(meritm_crt250_questions_hi_w)
557558   AM_RANGE(0x0002, 0x0002) AM_WRITE(meritm_crt250_questions_bank_w)
558   AM_RANGE(0xe000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
559   AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("nvram")
559560ADDRESS_MAP_END
560561
561562static ADDRESS_MAP_START( meritm_crt250_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
598599static ADDRESS_MAP_START( meritm_map, ADDRESS_SPACE_PROGRAM, 8 )
599600   AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1")
600601   AM_RANGE(0x8000, 0xdfff) AM_ROMBANK("bank2")
601   AM_RANGE(0xe000, 0xffff) AM_RAMBANK("bank3")
602   AM_RANGE(0xe000, 0xffff) AM_RAMBANK("bank3") AM_SHARE("nvram")
602603ADDRESS_MAP_END
603604
604605static ADDRESS_MAP_START( meritm_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
998999static MACHINE_START(meritm_crt260)
9991000{
10001001   meritm_ram = auto_alloc_array(machine, UINT8,  0x8000 );
1002   machine->device<nvram_device>("nvram")->set_base(meritm_ram, 0x8000);
10011003   memset(meritm_ram, 0x00, 0x8000);
10021004   memory_configure_bank(machine, "bank1", 0, 128, memory_region(machine, "maincpu"), 0x8000);
10031005   memory_configure_bank(machine, "bank2", 0, 128, memory_region(machine, "maincpu"), 0x8000);
r9191r9192
10131015   state_save_register_global_pointer(machine, meritm_ram, 0x8000);
10141016};
10151017
1016static NVRAM_HANDLER(meritm_crt260)
1017{
1018   if (read_or_write)
1019      mame_fwrite(file, meritm_ram, 0x8000);
1020   else
1021      if (file)
1022         mame_fread(file, meritm_ram, 0x8000);
1023      else
1024         if ( memory_region(machine, "user1") )
1025            memcpy(meritm_ram, memory_region(machine, "user1"), 0x8000);
1026};
1027
10281018// from MSX2 driver, may be not accurate for merit games
10291019#define MSX2_XBORDER_PIXELS      16
10301020#define MSX2_YBORDER_PIXELS      28
r9191r9192
10471037   z80pio_pa_w(meritm_z80pio[0], 0, meritm_vint);
10481038}
10491039
1050static MACHINE_DRIVER_START(meritm_crt250)
1040static MACHINE_CONFIG_START( meritm_crt250, driver_device )
10511041   MDRV_CPU_ADD("maincpu", Z80, SYSTEM_CLK/6)
10521042   MDRV_CPU_PROGRAM_MAP(meritm_crt250_map)
10531043   MDRV_CPU_IO_MAP(meritm_crt250_io_map)
r9191r9192
10641054   MDRV_TIMER_ADD_SCANLINE("vblank_start", vblank_start_tick, "screen", 259, 262)
10651055   MDRV_TIMER_ADD_SCANLINE("vblank_end",   vblank_end_tick,   "screen", 262, 262)
10661056
1067   MDRV_NVRAM_HANDLER(generic_0fill)
1057   MDRV_NVRAM_ADD_0FILL("nvram")
10681058
10691059   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
10701060
r9191r9192
10871077   MDRV_SOUND_ADD("aysnd", AY8910, SYSTEM_CLK/12)
10881078   MDRV_SOUND_CONFIG(ay8910_config)
10891079   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1090MACHINE_DRIVER_END
1080MACHINE_CONFIG_END
10911081
1092static MACHINE_DRIVER_START(meritm_crt250_questions)
1093   MDRV_IMPORT_FROM(meritm_crt250)
1082static MACHINE_CONFIG_DERIVED( meritm_crt250_questions, meritm_crt250 )
10941083   MDRV_CPU_MODIFY("maincpu")
10951084   MDRV_CPU_PROGRAM_MAP(meritm_crt250_questions_map)
10961085   MDRV_MACHINE_START(meritm_crt250_questions)
1097MACHINE_DRIVER_END
1086MACHINE_CONFIG_END
10981087
1099static MACHINE_DRIVER_START(meritm_crt250_crt252_crt258)
1100   MDRV_IMPORT_FROM(meritm_crt250_questions)
1088static MACHINE_CONFIG_DERIVED( meritm_crt250_crt252_crt258, meritm_crt250_questions )
11011089   MDRV_CPU_MODIFY("maincpu")
11021090   MDRV_CPU_IO_MAP(meritm_crt250_crt258_io_map)
11031091   MDRV_MACHINE_START(meritm_crt250_crt252_crt258)
1104MACHINE_DRIVER_END
1092MACHINE_CONFIG_END
11051093
1106static MACHINE_DRIVER_START(meritm_crt260)
1107   MDRV_IMPORT_FROM(meritm_crt250)
1094static MACHINE_CONFIG_DERIVED( meritm_crt260, meritm_crt250 )
11081095   MDRV_CPU_MODIFY("maincpu")
11091096   MDRV_CPU_PROGRAM_MAP(meritm_map)
11101097   MDRV_CPU_IO_MAP(meritm_io_map)
r9191r9192
11141101   MDRV_WATCHDOG_TIME_INIT(MSEC(1200))   // DS1232, TD connected to VCC
11151102   MDRV_MACHINE_START(meritm_crt260)
11161103
1117   MDRV_NVRAM_HANDLER(meritm_crt260)
1104MACHINE_CONFIG_END
11181105
1119MACHINE_DRIVER_END
11201106
1121
11221107/*
11231108    Pit Boss II - Merit Industries Inc. 1988
11241109    ----------------------------------------
r9191r9192
12301215   ROM_RELOAD(     0x70000, 0x10000)
12311216
12321217
1233   ROM_REGION( 0xc0000, "user1", 0 ) // extra data / extra banks?
1218   ROM_REGION( 0xc0000, "extra", 0 ) // extra data / extra banks?
12341219   ROM_LOAD( "qs9243-00-01_u7-r0",  0x00000, 0x40000, CRC(35f4ca46) SHA1(87917b3017f505fae65d6bfa2c7d6fb503c2da6a) ) /* These 3 roms are on CRT-256 sattalite PCB */
12351220   ROM_LOAD( "qs9243-00-01_u6-r0",  0x40000, 0x40000, CRC(606f1656) SHA1(7f1e3a698a34d3c3b8f9f2cd8d5224b6c096e941) )
12361221   ROM_LOAD( "qs9243-00-01_u5-r0",  0x80000, 0x40000, CRC(590a1565) SHA1(b80ea967b6153847b2594e9c59bfe87559022b6c) )
r9191r9192
12481233   ROM_RELOAD(     0x70000, 0x10000)
12491234
12501235
1251   ROM_REGION( 0xc0000, "user1", 0 ) // extra data / extra banks?
1236   ROM_REGION( 0xc0000, "extra", 0 ) // extra data / extra banks?
12521237   ROM_LOAD( "qs9243-00-01_u7-r0",  0x00000, 0x40000, CRC(35f4ca46) SHA1(87917b3017f505fae65d6bfa2c7d6fb503c2da6a) ) /* These 3 roms are on CRT-256 sattalite PCB */
12531238   ROM_LOAD( "qs9243-00-01_u6-r0",  0x40000, 0x40000, CRC(606f1656) SHA1(7f1e3a698a34d3c3b8f9f2cd8d5224b6c096e941) )
12541239   ROM_LOAD( "qs9243-00-01_u5-r0",  0x80000, 0x40000, CRC(590a1565) SHA1(b80ea967b6153847b2594e9c59bfe87559022b6c) )
r9191r9192
12651250   ROM_LOAD( "9234-10-01_u15-r0", 0x60000, 0x10000, CRC(9fbd8582) SHA1(c0f68c8a7cdca34c8736cefc71767c421bcaba8a) )
12661251
12671252
1268   ROM_REGION( 0xc0000, "user1", 0 ) // extra data / extra banks?
1253   ROM_REGION( 0xc0000, "extra", 0 ) // extra data / extra banks?
12691254   ROM_LOAD( "qs9234-01_u7-r0",  0x00000, 0x40000, CRC(c0534aaa) SHA1(4b3cbf03f29fd5b4b8fd423e73c0c8147692fa75) ) /* These 3 roms are on CRT-256 sattalite PCB */
12701255   ROM_LOAD( "qs9234-01_u6-r0",  0x40000, 0x40000, CRC(fe2cd934) SHA1(623011dc53ed6eefefa0725dba6fd1efee2077c1) )
12711256   ROM_LOAD( "qs9234-01_u5-r0",  0x80000, 0x40000, CRC(293fe305) SHA1(8a551ae8fb4fa4bf329128be1bfd6f1c3ff5a366) )
r9191r9192
12821267   ROM_LOAD( "9234-00-01_u15-r0a", 0x60000, 0x10000, CRC(f10f0d39) SHA1(2b5d5a93adb5251e09160b10c067b6e70289f608) )
12831268
12841269
1285   ROM_REGION( 0xc0000, "user1", 0 ) // extra data / extra banks?
1270   ROM_REGION( 0xc0000, "extra", 0 ) // extra data / extra banks?
12861271   ROM_LOAD( "qs9234-01_u7-r0",  0x00000, 0x40000, CRC(c0534aaa) SHA1(4b3cbf03f29fd5b4b8fd423e73c0c8147692fa75) ) /* These 3 roms are on CRT-256 sattalite PCB */
12871272   ROM_LOAD( "qs9234-01_u6-r0",  0x40000, 0x40000, CRC(fe2cd934) SHA1(623011dc53ed6eefefa0725dba6fd1efee2077c1) )
12881273   ROM_LOAD( "qs9234-01_u5-r0",  0x80000, 0x40000, CRC(293fe305) SHA1(8a551ae8fb4fa4bf329128be1bfd6f1c3ff5a366) )
r9191r9192
14981483   ROM_LOAD( "9255-41-07_u38-r0g", 0x300000, 0x80000,  CRC(71eac4d4) SHA1(73b9ed876f0af94bbd88503921a2b4f26bcfd397) ) /* Location U38, 02/11/1997 11:59:41 - New Jersey version */
14991484   ROM_RELOAD(                     0x380000, 0x80000)
15001485
1501   ROM_REGION( 0x8000, "user1", 0 ) // DS1225Y nv ram
1486   ROM_REGION( 0x8000, "nvram", 0 ) // DS1225Y nv ram
15021487   ROM_LOAD( "mt4sn_ds1225y.u31",  0x0000, 0x8000, CRC(8d2a97e7) SHA1(7cb01d9499fed1674da6a04a11ed1cef0a39b3c0) ) /* No actual label, so use a unique name for this set */
15031488
15041489   ROM_REGION( 0x1000, "user2", 0 ) // PALs
r9191r9192
15181503   ROM_LOAD( "9255-50-01_u38-r0d", 0x300000, 0x080000, CRC(124d5b84) SHA1(3c2117f56d0dc406bfb508989729e36781e215a4) ) /* Location U38, 07/02/1996 14:41:59 - Standard Version */
15191504   ROM_RELOAD(                     0x380000, 0x080000 )
15201505
1521   ROM_REGION( 0x8000, "user1", 0 ) // DS1644 nv ram
1506   ROM_REGION( 0x8000, "nvram", 0 ) // DS1644 nv ram
15221507   ROM_LOAD( "mt4te_ds1644.u31",  0x00000,  0x8000,   CRC(d9485491) SHA1(c602bf954fe8b06f81b0f5002246e8fa89237705) ) /* No actual label, so use a unique name for this set */
15231508
15241509   ROM_REGION( 0x1000, "user2", 0 ) // PALs
r9191r9192
15381523   ROM_LOAD( "9255-50-01_u38-r0a", 0x300000, 0x080000, CRC(abf187a5) SHA1(d4d2327b4564f3cafa2640499f8c6ae818ed04b8) ) /* Location U38, 06/06/1996 13:43:39 - Standard Version */
15391524   ROM_RELOAD(                     0x380000, 0x080000 )
15401525
1541   ROM_REGION( 0x8000, "user1", 0 ) // DS1644 nv ram
1526   ROM_REGION( 0x8000, "nvram", 0 ) // DS1644 nv ram
15421527   ROM_LOAD( "mt4tea_ds1644.u31",  0x00000,  0x8000,   CRC(11e2c7ed) SHA1(99ee83410f7dbf5a259b11193829bb5c706d9fca) ) /* No actual label, so use a unique name for this set */
15431528
15441529   ROM_REGION( 0x1000, "user2", 0 ) // PALs
r9191r9192
15581543   ROM_LOAD( "9255-51-01_u38-r0b", 0x300000, 0x080000, CRC(181a83cb) SHA1(b8f92ae76ebba3849db76b084f0ab7d82256d81a) ) /* Location U38, 12/10/1996 16:59:23 - Standard Version */
15591544   ROM_RELOAD(                     0x380000, 0x080000 )
15601545
1561   ROM_REGION( 0x8000, "user1", 0 ) // DS1644 nv ram
1546   ROM_REGION( 0x8000, "nvram", 0 ) // DS1644 nv ram
15621547   ROM_LOAD( "mt4st_ds1644.u31",  0x00000,  0x8000,   CRC(c6226d91) SHA1(20c9fa7ad135ac229c6bdf85b901629a0ecb8a81) ) /* No actual label, so use a unique name for this set */
15631548
15641549   ROM_REGION( 0x1000, "user2", 0 ) // PALs
r9191r9192
15781563   ROM_LOAD( "9255-51-50_u38-r0a", 0x300000, 0x080000, CRC(f7c2914d) SHA1(5d05b8db5ca734f7b05c3e215c0ef5b917455537) ) /* Location U38, 11/18/1996 10:11:01 - Bi-Lingual GER/ENG Version */
15791564   ROM_RELOAD(                     0x380000, 0x080000 )
15801565
1581   ROM_REGION( 0x8000, "user1", 0 ) // DS1644 nv ram
1566   ROM_REGION( 0x8000, "nvram", 0 ) // DS1644 nv ram
15821567   ROM_LOAD( "mt4stg_ds1644.u31",  0x00000,  0x8000,   CRC(7f6f8e57) SHA1(d65f20ae19afc05b33d7605143b8362d6e955e89) ) /* No actual label, so use a unique name for this set */
15831568
15841569   ROM_REGION( 0x1000, "user2", 0 ) // PALs
r9191r9192
16451630   ROM_RELOAD(                     0x280000, 0x80000)
16461631   ROM_LOAD( "9255-70-50_u38-r0d", 0x300000, 0x100000, CRC(044d123f) SHA1(d73df1f97f6da03fdee2ca3fda3845ec262a0f9a) ) /* Location U38, 10/29/1997 10:19:08 - Bi-Lingual GER/ENG Version */
16471632
1648   ROM_REGION( 0x8000, "user1", 0 ) // DS1644 nv ram
1633   ROM_REGION( 0x8000, "nvram", 0 ) // DS1644 nv ram
16491634   ROM_LOAD( "mt5tg_ds1644.u31",  0x00000,  0x8000,   CRC(a054bb32) SHA1(4efc19cb0a671dfe9249ce85d31f6bd633f2a237) ) /* No actual label, so use a unique name for this set */
16501635
16511636   ROM_REGION( 0x1000, "user2", 0 ) // PALs
r9191r9192
16631648   ROM_LOAD( "qs9255-08_u37-r0",   0x200000, 0x100000, CRC(5ba01949) SHA1(1598949ea18d07bbc78af0ddd279a687173c1229) ) /* Location U37 */
16641649   ROM_LOAD( "9255-80-01_u38-r0a", 0x300000, 0x100000, CRC(3df6b840) SHA1(31ba1ac04eed3e76cdf637507dedcc5f7e22c919) ) /* Location U38, 08/07/1998 15:54:23 - Standard Version */
16651650
1666   ROM_REGION( 0x8000, "user1", 0 ) // DS1230 nv ram
1651   ROM_REGION( 0x8000, "nvram", 0 ) // DS1230 nv ram
16671652   ROM_LOAD( "ds1230y.u31",  0x00000, 0x8000, CRC(51b6da5c) SHA1(1d53af89d7867bb48b9d46feff6fc3b7e8e80ac8) )
16681653
16691654   ROM_REGION( 0x1000, "user2", 0 ) // PALs
src/mame/drivers/ertictac.c
r9191r9192
216216   I2CMEM_SLAVE_ADDRESS, NVRAM_PAGE_SIZE, NVRAM_SIZE
217217};
218218
219static MACHINE_DRIVER_START( ertictac )
219static MACHINE_CONFIG_START( ertictac, driver_device )
220220
221221   MDRV_CPU_ADD("maincpu", ARM, 8000000) /* guess */
222222   MDRV_CPU_PROGRAM_MAP(ertictac_map)
r9191r9192
263263
264264   MDRV_SOUND_ADD("dac7", DAC, 0)
265265   MDRV_SOUND_ROUTE(0, "mono", 0.10)
266MACHINE_DRIVER_END
266MACHINE_CONFIG_END
267267
268268ROM_START( ertictac )
269269   ROM_REGION(0x800000, "maincpu", 0 )
src/mame/drivers/koftball.c
r9191r9192
149149   AM_RANGE(0x2db000, 0x2db001) AM_WRITE(bmc_RAMDAC_offset_w)
150150   AM_RANGE(0x2db002, 0x2db003) AM_READWRITE(bmc_RAMDAC_color_r, bmc_RAMDAC_color_w)
151151   AM_RANGE(0x2db004, 0x2db005) AM_WRITENOP
152   AM_RANGE(0x2dc000, 0x2dc001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0xff00)
152   AM_RANGE(0x2dc000, 0x2dc001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff00)
153153   AM_RANGE(0x2f0000, 0x2f0003) AM_READ_PORT("INPUTS")
154154   AM_RANGE(0x300000, 0x300001) AM_WRITENOP
155155   AM_RANGE(0x320000, 0x320001) AM_WRITENOP
r9191r9192
202202GFXDECODE_END
203203
204204
205static MACHINE_DRIVER_START( koftball )
205static MACHINE_CONFIG_START( koftball, driver_device )
206206   MDRV_CPU_ADD("maincpu", M68000, 21477270/2 )
207207   MDRV_CPU_PROGRAM_MAP(koftball_mem)
208208   MDRV_CPU_VBLANK_INT_HACK(bmc_interrupt,3)
r9191r9192
226226   MDRV_OKIM6295_ADD("oki", 1122000, OKIM6295_PIN7_LOW) /* clock frequency & pin 7 not verified */
227227   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
228228   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
229MACHINE_DRIVER_END
229MACHINE_CONFIG_END
230230
231231ROM_START( koftball )
232232   ROM_REGION( 0x200000, "maincpu", 0 ) /* 68000 Code */
src/mame/drivers/vsnes.c
r9191r9192
16451645   "sub"
16461646};
16471647
1648static MACHINE_DRIVER_START( vsnes )
1648static MACHINE_CONFIG_START( vsnes, driver_device )
16491649
16501650   /* basic machine hardware */
16511651   MDRV_CPU_ADD("maincpu", N2A03,N2A03_DEFAULTCLOCK)
r9191r9192
16781678
16791679   MDRV_SOUND_ADD("dac1", DAC, 0)
16801680   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1681MACHINE_DRIVER_END
1681MACHINE_CONFIG_END
16821682
1683static MACHINE_DRIVER_START( jajamaru )
1684   MDRV_IMPORT_FROM( vsnes )
1683static MACHINE_CONFIG_DERIVED( jajamaru, vsnes )
16851684
16861685   MDRV_DEVICE_REMOVE( "ppu1" )
16871686   MDRV_PPU2C05_01_ADD("ppu1", vsnes_ppu_interface_1)
1688MACHINE_DRIVER_END
1687MACHINE_CONFIG_END
16891688
1690static MACHINE_DRIVER_START( mightybj )
1691   MDRV_IMPORT_FROM( vsnes )
1689static MACHINE_CONFIG_DERIVED( mightybj, vsnes )
16921690
16931691   MDRV_DEVICE_REMOVE( "ppu1" )
16941692   MDRV_PPU2C05_02_ADD("ppu1", vsnes_ppu_interface_1)
1695MACHINE_DRIVER_END
1693MACHINE_CONFIG_END
16961694
1697static MACHINE_DRIVER_START( vsgshoe )
1698   MDRV_IMPORT_FROM( vsnes )
1695static MACHINE_CONFIG_DERIVED( vsgshoe, vsnes )
16991696
17001697   MDRV_DEVICE_REMOVE( "ppu1" )
17011698   MDRV_PPU2C05_03_ADD("ppu1", vsnes_ppu_interface_1)
1702MACHINE_DRIVER_END
1699MACHINE_CONFIG_END
17031700
1704static MACHINE_DRIVER_START( topgun )
1705   MDRV_IMPORT_FROM( vsnes )
1701static MACHINE_CONFIG_DERIVED( topgun, vsnes )
17061702
17071703   MDRV_DEVICE_REMOVE( "ppu1" )
17081704   MDRV_PPU2C05_04_ADD("ppu1", vsnes_ppu_interface_1)
1709MACHINE_DRIVER_END
1705MACHINE_CONFIG_END
17101706
1711static MACHINE_DRIVER_START( vsdual )
1707static MACHINE_CONFIG_START( vsdual, driver_device )
17121708
17131709   /* basic machine hardware */
17141710   MDRV_CPU_ADD("maincpu", N2A03,N2A03_DEFAULTCLOCK)
r9191r9192
17591755
17601756   MDRV_SOUND_ADD("dac2", DAC, 0)
17611757   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1762MACHINE_DRIVER_END
1758MACHINE_CONFIG_END
17631759
17641760
17651761/******************************************************************************/
src/mame/drivers/victory.c
r9191r9192
9898#include "cpu/z80/z80.h"
9999#include "includes/exidy.h"
100100#include "includes/victory.h"
101#include "machine/nvram.h"
101102
102103
103104
r9191r9192
131132   AM_RANGE(0xc400, 0xc7ff) AM_RAM AM_BASE(&victory_videoram)
132133   AM_RANGE(0xc800, 0xdfff) AM_RAM AM_BASE(&victory_charram)
133134   AM_RANGE(0xe000, 0xefff) AM_RAM
134   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
135   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram")
135136   AM_RANGE(0xf800, 0xf800) AM_MIRROR(0x07fc) AM_READWRITE(victory_sound_response_r, victory_sound_command_w)
136137   AM_RANGE(0xf801, 0xf801) AM_MIRROR(0x07fc) AM_READ(victory_sound_status_r)
137138ADDRESS_MAP_END
r9191r9192
207208 *
208209 *************************************/
209210
210static MACHINE_DRIVER_START( victory )
211static MACHINE_CONFIG_START( victory, driver_device )
211212
212213   /* basic machine hardware */
213214   MDRV_CPU_ADD("maincpu", Z80, VICTORY_MAIN_CPU_CLOCK)
r9191r9192
215216   MDRV_CPU_IO_MAP(main_io_map)
216217   MDRV_CPU_VBLANK_INT("screen", victory_vblank_interrupt)
217218
218   MDRV_NVRAM_HANDLER(generic_0fill)
219   MDRV_NVRAM_ADD_0FILL("nvram")
219220
220221   /* video hardware */
221222   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK | VIDEO_ALWAYS_UPDATE)
r9191r9192
231232   MDRV_VIDEO_UPDATE(victory)
232233
233234   /* audio hardware */
234   MDRV_IMPORT_FROM(victory_audio)
235   MDRV_FRAGMENT_ADD(victory_audio)
235236
236MACHINE_DRIVER_END
237MACHINE_CONFIG_END
237238
238239
239240
src/mame/drivers/atarisy4.c
r9191r9192
694694 *
695695 *************************************/
696696
697static MACHINE_DRIVER_START( atarisy4 )
697static MACHINE_CONFIG_START( atarisy4, driver_device )
698698   MDRV_CPU_ADD("maincpu", M68000, 8000000)
699699   MDRV_CPU_PROGRAM_MAP(main_map)
700700   MDRV_CPU_VBLANK_INT("screen", vblank_int)
r9191r9192
714714
715715   MDRV_VIDEO_START(atarisy4)
716716   MDRV_VIDEO_UPDATE(atarisy4)
717MACHINE_DRIVER_END
717MACHINE_CONFIG_END
718718
719static MACHINE_DRIVER_START( airrace )
720   MDRV_IMPORT_FROM(atarisy4)
719static MACHINE_CONFIG_DERIVED( airrace, atarisy4 )
721720
722721   MDRV_CPU_ADD("dsp1", TMS32010, 16000000)
723722   MDRV_CPU_PROGRAM_MAP(dsp1_map)
724723   MDRV_CPU_IO_MAP(dsp1_io_map)
725724
726725   MDRV_MACHINE_RESET(airrace)
727MACHINE_DRIVER_END
726MACHINE_CONFIG_END
728727
729728
730729/*************************************
src/mame/drivers/cninja.c
r9191r9192
315315   AM_RANGE(0x000000, 0x00ffff) AM_ROM
316316   AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_r, ym2203_w)
317317   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_r, ym2151_w)
318   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
319   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
318   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
319   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
320320   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
321321   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
322322   AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
r9191r9192
327327   AM_RANGE(0x000000, 0x00ffff) AM_ROM
328328   AM_RANGE(0x100000, 0x100001) AM_READNOP AM_WRITENOP
329329   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
330   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
331   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
330   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
331   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
332332   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
333333   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
334334   AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
r9191r9192
340340   AM_RANGE(0x8000, 0x87ff) AM_RAM
341341   AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
342342   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
343   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
343   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
344344ADDRESS_MAP_END
345345
346346/***********************************************************
r9191r9192
842842   state->irq_mask = 0;
843843}
844844
845static MACHINE_DRIVER_START( cninja )
845static MACHINE_CONFIG_START( cninja, cninja_state )
846846
847   /* driver data */
848   MDRV_DRIVER_DATA(cninja_state)
849
850847   /* basic machine hardware */
851848   MDRV_CPU_ADD("maincpu", M68000, 12000000)
852849   MDRV_CPU_PROGRAM_MAP(cninja_map)
r9191r9192
892889
893890   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
894891   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
895MACHINE_DRIVER_END
892MACHINE_CONFIG_END
896893
897static MACHINE_DRIVER_START( stoneage )
894static MACHINE_CONFIG_START( stoneage, cninja_state )
898895
899   /* driver data */
900   MDRV_DRIVER_DATA(cninja_state)
901
902896   /* basic machine hardware */
903897   MDRV_CPU_ADD("maincpu", M68000, 12000000)
904898   MDRV_CPU_PROGRAM_MAP(cninja_map)
r9191r9192
942936
943937   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
944938   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
945MACHINE_DRIVER_END
939MACHINE_CONFIG_END
946940
947941
948static MACHINE_DRIVER_START( cninjabl )
942static MACHINE_CONFIG_START( cninjabl, cninja_state )
949943
950   /* driver data */
951   MDRV_DRIVER_DATA(cninja_state)
952
953944   /* basic machine hardware */
954945   MDRV_CPU_ADD("maincpu", M68000, 12000000)
955946   MDRV_CPU_PROGRAM_MAP(cninjabl_map)
r9191r9192
989980
990981   MDRV_OKIM6295_ADD("oki1", 32220000/32, OKIM6295_PIN7_HIGH)
991982   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
992MACHINE_DRIVER_END
983MACHINE_CONFIG_END
993984
994985
995static MACHINE_DRIVER_START( edrandy )
986static MACHINE_CONFIG_START( edrandy, cninja_state )
996987
997   /* driver data */
998   MDRV_DRIVER_DATA(cninja_state)
999
1000988   /* basic machine hardware */
1001989   MDRV_CPU_ADD("maincpu", M68000, 12000000)
1002990   MDRV_CPU_PROGRAM_MAP(edrandy_map)
r9191r9192
10421030
10431031   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
10441032   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
1045MACHINE_DRIVER_END
1033MACHINE_CONFIG_END
10461034
1047static MACHINE_DRIVER_START( robocop2 )
1035static MACHINE_CONFIG_START( robocop2, cninja_state )
10481036
1049   /* driver data */
1050   MDRV_DRIVER_DATA(cninja_state)
1051
10521037   /* basic machine hardware */
10531038   MDRV_CPU_ADD("maincpu", M68000, 14000000)
10541039   MDRV_CPU_PROGRAM_MAP(robocop2_map)
r9191r9192
10971082   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
10981083   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60)
10991084   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60)
1100MACHINE_DRIVER_END
1085MACHINE_CONFIG_END
11011086
1102static MACHINE_DRIVER_START( mutantf )
1087static MACHINE_CONFIG_START( mutantf, cninja_state )
11031088
1104   /* driver data */
1105   MDRV_DRIVER_DATA(cninja_state)
1106
11071089   /* basic machine hardware */
11081090   MDRV_CPU_ADD("maincpu", M68000, 14000000)
11091091   MDRV_CPU_PROGRAM_MAP(mutantf_map)
r9191r9192
11461128   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
11471129   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60)
11481130   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60)
1149MACHINE_DRIVER_END
1131MACHINE_CONFIG_END
11501132
11511133/**********************************************************************************/
11521134
src/mame/drivers/lucky74.c
r9191r9192
672672#include "sound/sn76496.h"
673673#include "sound/msm5205.h"
674674#include "machine/8255ppi.h"
675#include "machine/nvram.h"
675676#include "lucky74.lh"
677#include "includes/lucky74.h"
676678
677/* from video hardware */
678extern UINT8 *lucky74_fg_videoram, *lucky74_fg_colorram, *lucky74_bg_videoram, *lucky74_bg_colorram;
679WRITE8_HANDLER( lucky74_fg_videoram_w );
680WRITE8_HANDLER( lucky74_fg_colorram_w );
681WRITE8_HANDLER( lucky74_bg_videoram_w );
682WRITE8_HANDLER( lucky74_bg_colorram_w );
683PALETTE_INIT( lucky74 );
684VIDEO_START( lucky74 );
685VIDEO_UPDATE( lucky74 );
686
687679static UINT8 ym2149_portb;
688680static UINT8 usart_8251;
689681static UINT8 copro_sm7831;
r9191r9192
820812
821813static ADDRESS_MAP_START( lucky74_map, ADDRESS_SPACE_PROGRAM, 8 )
822814   AM_RANGE(0x0000, 0xbfff) AM_ROM
823   AM_RANGE(0xc000, 0xcfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* NVRAM */
815   AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("nvram")   /* NVRAM */
824816   AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(lucky74_fg_videoram_w) AM_BASE(&lucky74_fg_videoram)            /* VRAM1-1 */
825817   AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(lucky74_fg_colorram_w) AM_BASE(&lucky74_fg_colorram)            /* VRAM1-2 */
826818   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(lucky74_bg_videoram_w) AM_BASE(&lucky74_bg_videoram)            /* VRAM2-1 */
r9191r9192
12381230*    Machine Drivers     *
12391231*************************/
12401232
1241static MACHINE_DRIVER_START( lucky74 )
1233static MACHINE_CONFIG_START( lucky74, driver_device )
12421234
12431235   /* basic machine hardware */
12441236   MDRV_CPU_ADD("maincpu", Z80, C_06B49P_CLKOUT_03)   /* 3 MHz. */
r9191r9192
12461238   MDRV_CPU_IO_MAP(lucky74_portmap)
12471239   MDRV_CPU_VBLANK_INT("screen", nmi_interrupt)   /* 60 Hz. measured */
12481240
1249   MDRV_NVRAM_HANDLER(generic_0fill)
1241   MDRV_NVRAM_ADD_0FILL("nvram")
12501242
12511243   MDRV_SOUND_START(lucky74)
12521244
r9191r9192
12921284   MDRV_SOUND_CONFIG(msm5205_config)
12931285   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
12941286
1295MACHINE_DRIVER_END
1287MACHINE_CONFIG_END
12961288
12971289
12981290/*************************
src/mame/drivers/wardner.c
r9191r9192
392392
393393
394394
395static MACHINE_DRIVER_START( wardner )
395static MACHINE_CONFIG_START( wardner, driver_device )
396396
397397   /* basic machine hardware */
398398   MDRV_CPU_ADD("maincpu", Z80, XTAL_24MHz/4)      /* 6MHz */
r9191r9192
438438   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_14MHz/4)
439439   MDRV_SOUND_CONFIG(ym3812_config)
440440   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
441MACHINE_DRIVER_END
441MACHINE_CONFIG_END
442442
443443
444444
src/mame/drivers/missile.c
r9191r9192
332332#include "sound/pokey.h"
333333
334334
335class missile_state : public driver_device
336{
337public:
338   missile_state(running_machine &machine, const driver_device_config_base &config)
339      : driver_device(machine, config) { }
340
341   UINT8 *videoram;
342};
343
344
345
335346#define MASTER_CLOCK   XTAL_10MHz
336347
337348#define PIXEL_CLOCK      (MASTER_CLOCK/2)
r9191r9192
454465   /* RAM? */
455466   if (address < 0x4000)
456467   {
457      direct.explicit_configure(0x0000 | offset, 0x3fff | offset, 0x3fff, direct.space().m_machine.generic.videoram.u8);
468      missile_state *state = direct.space().m_machine.driver_data<missile_state>();
469      direct.explicit_configure(0x0000 | offset, 0x3fff | offset, 0x3fff, state->videoram);
458470      return ~0;
459471   }
460472
r9191r9192
551563
552564static void write_vram(address_space *space, offs_t address, UINT8 data)
553565{
566   missile_state *state = space->machine->driver_data<missile_state>();
567   UINT8 *videoram = state->videoram;
554568   static const UINT8 data_lookup[4] = { 0x00, 0x0f, 0xf0, 0xff };
555569   offs_t vramaddr;
556570   UINT8 vramdata;
r9191r9192
562576   vramaddr = address >> 2;
563577   vramdata = data_lookup[data >> 6];
564578   vrammask = writeprom[(address & 7) | 0x10];
565   space->machine->generic.videoram.u8[vramaddr] = (space->machine->generic.videoram.u8[vramaddr] & vrammask) | (vramdata & ~vrammask);
579   videoram[vramaddr] = (videoram[vramaddr] & vrammask) | (vramdata & ~vrammask);
566580
567581   /* 3-bit VRAM writes use an extra clock to write the 3rd bit elsewhere */
568582   /* on the schematics, this is the MUSHROOM == 1 case */
r9191r9192
571585      vramaddr = get_bit3_addr(address);
572586      vramdata = -((data >> 5) & 1);
573587      vrammask = writeprom[(address & 7) | 0x18];
574      space->machine->generic.videoram.u8[vramaddr] = (space->machine->generic.videoram.u8[vramaddr] & vrammask) | (vramdata & ~vrammask);
588      videoram[vramaddr] = (videoram[vramaddr] & vrammask) | (vramdata & ~vrammask);
575589
576590      /* account for the extra clock cycle */
577591      cpu_adjust_icount(space->cpu, -1);
r9191r9192
581595
582596static UINT8 read_vram(address_space *space, offs_t address)
583597{
598   missile_state *state = space->machine->driver_data<missile_state>();
599   UINT8 *videoram = state->videoram;
584600   offs_t vramaddr;
585601   UINT8 vramdata;
586602   UINT8 vrammask;
r9191r9192
591607   /* this should only be called if MADSEL == 1 */
592608   vramaddr = address >> 2;
593609   vrammask = 0x11 << (address & 3);
594   vramdata = space->machine->generic.videoram.u8[vramaddr] & vrammask;
610   vramdata = videoram[vramaddr] & vrammask;
595611   if ((vramdata & 0xf0) == 0)
596612      result &= ~0x80;
597613   if ((vramdata & 0x0f) == 0)
r9191r9192
603619   {
604620      vramaddr = get_bit3_addr(address);
605621      vrammask = 1 << (address & 7);
606      vramdata = space->machine->generic.videoram.u8[vramaddr] & vrammask;
622      vramdata = videoram[vramaddr] & vrammask;
607623      if (vramdata == 0)
608624         result &= ~0x20;
609625
r9191r9192
623639
624640static VIDEO_UPDATE( missile )
625641{
642   missile_state *state = screen->machine->driver_data<missile_state>();
643   UINT8 *videoram = state->videoram;
626644   int x, y;
627645
628646   /* draw the bitmap to the screen, looping over Y */
r9191r9192
631649      UINT16 *dst = (UINT16 *)bitmap->base + y * bitmap->rowpixels;
632650
633651      int effy = flipscreen ? ((256+24 - y) & 0xff) : y;
634      UINT8 *src = &screen->machine->generic.videoram.u8[effy * 64];
652      UINT8 *src = &videoram[effy * 64];
635653      UINT8 *src3 = NULL;
636654
637655      /* compute the base of the 3rd pixel row */
638656      if (effy >= 224)
639         src3 = &screen->machine->generic.videoram.u8[get_bit3_addr(effy << 8)];
657         src3 = &videoram[get_bit3_addr(effy << 8)];
640658
641659      /* loop over X */
642660      for (x = cliprect->min_x; x <= cliprect->max_x; x++)
r9191r9192
664682
665683static WRITE8_HANDLER( missile_w )
666684{
685   missile_state *state = space->machine->driver_data<missile_state>();
686   UINT8 *videoram = state->videoram;
667687   /* if we're in MADSEL mode, write to video RAM */
668688   if (get_madsel(space))
669689   {
r9191r9192
676696
677697   /* RAM */
678698   if (offset < 0x4000)
679      space->machine->generic.videoram.u8[offset] = data;
699      videoram[offset] = data;
680700
681701   /* POKEY */
682702   else if (offset < 0x4800)
r9191r9192
720740
721741static READ8_HANDLER( missile_r )
722742{
743   missile_state *state = space->machine->driver_data<missile_state>();
744   UINT8 *videoram = state->videoram;
723745   UINT8 result = 0xff;
724746
725747   /* if we're in MADSEL mode, read from video RAM */
r9191r9192
731753
732754   /* RAM */
733755   if (offset < 0x4000)
734      result = space->machine->generic.videoram.u8[offset];
756      result = videoram[offset];
735757
736758   /* ROM */
737759   else if (offset >= 0x5000)
r9191r9192
779801
780802/* complete memory map derived from schematics (implemented above) */
781803static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
782   AM_RANGE(0x0000, 0xffff) AM_READWRITE(missile_r, missile_w) AM_BASE_GENERIC(videoram)
804   AM_RANGE(0x0000, 0xffff) AM_READWRITE(missile_r, missile_w) AM_BASE_MEMBER(missile_state, videoram)
783805ADDRESS_MAP_END
784806
785807
r9191r9192
975997 *
976998 *************************************/
977999
978static MACHINE_DRIVER_START( missile )
1000static MACHINE_CONFIG_START( missile, missile_state )
9791001
9801002   /* basic machine hardware */
9811003   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
r9191r9192
10001022   MDRV_SOUND_ADD("pokey", POKEY, MASTER_CLOCK/8)
10011023   MDRV_SOUND_CONFIG(pokey_config)
10021024   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1003MACHINE_DRIVER_END
1025MACHINE_CONFIG_END
10041026
10051027
10061028
src/mame/drivers/go2000.c
r9191r9192
3434#include "cpu/z80/z80.h"
3535#include "sound/dac.h"
3636
37class go2000_state : public driver_data_t
37class go2000_state : public driver_device
3838{
3939public:
40   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, go2000_state(machine)); }
40   go2000_state(running_machine &machine, const driver_device_config_base &config)
41      : driver_device(machine, config) { }
4142
42   go2000_state(running_machine &machine)
43      : driver_data_t(machine) { }
44
4543   /* memory pointers */
4644   UINT16 *  videoram;
4745   UINT16 *  videoram2;
r9191r9192
320318   state->soundcpu = machine->device("soundcpu");
321319}
322320
323static MACHINE_DRIVER_START( go2000 )
324   MDRV_DRIVER_DATA(go2000_state)
321static MACHINE_CONFIG_START( go2000, go2000_state )
325322
326323   MDRV_CPU_ADD("maincpu", M68000, 10000000)
327324   MDRV_CPU_PROGRAM_MAP(go2000_map)
r9191r9192
352349   MDRV_SOUND_ADD("dac1", DAC, 0)
353350   MDRV_SOUND_ROUTE(0, "lspeaker", 0.50)
354351   MDRV_SOUND_ROUTE(1, "rspeaker", 0.50)
355MACHINE_DRIVER_END
352MACHINE_CONFIG_END
356353
357354ROM_START( go2000 )
358355   ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 Code */
src/mame/drivers/jack.c
r9191r9192
817817      state->remap_address[i] = 0;
818818}
819819
820static MACHINE_DRIVER_START( jack )
820static MACHINE_CONFIG_START( jack, jack_state )
821821
822   /* driver data */
823   MDRV_DRIVER_DATA(jack_state)
824
825822   /* basic machine hardware */
826823   MDRV_CPU_ADD("maincpu", Z80, 18000000/6)   /* 3 MHz */
827824   MDRV_CPU_PROGRAM_MAP(jack_map)
r9191r9192
854851   MDRV_SOUND_ADD("aysnd", AY8910, 18000000/12)
855852   MDRV_SOUND_CONFIG(ay8910_config)
856853   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
857MACHINE_DRIVER_END
854MACHINE_CONFIG_END
858855
859static MACHINE_DRIVER_START( tripool )
856static MACHINE_CONFIG_DERIVED( tripool, jack )
860857
861858   /* basic machine hardware */
862   MDRV_IMPORT_FROM(jack)
863859   MDRV_CPU_MODIFY("maincpu")
864860   MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,2) /* tripool needs 2 or the palette is broken */
865MACHINE_DRIVER_END
861MACHINE_CONFIG_END
866862
867863static INTERRUPT_GEN( joinem_interrupts )
868864{
r9191r9192
875871   }
876872}
877873
878static MACHINE_DRIVER_START( joinem )
874static MACHINE_CONFIG_DERIVED( joinem, jack )
879875
880876   /* basic machine hardware */
881   MDRV_IMPORT_FROM(jack)
882877   MDRV_CPU_MODIFY("maincpu")
883878   MDRV_CPU_PROGRAM_MAP(joinem_map)
884879   MDRV_CPU_VBLANK_INT_HACK(joinem_interrupts,3)
r9191r9192
892887   MDRV_PALETTE_INIT(joinem)
893888   MDRV_VIDEO_START(joinem)
894889   MDRV_VIDEO_UPDATE(joinem)
895MACHINE_DRIVER_END
890MACHINE_CONFIG_END
896891
897892
898static MACHINE_DRIVER_START( loverboy )
893static MACHINE_CONFIG_DERIVED( loverboy, jack )
899894
900895   /* basic machine hardware */
901   MDRV_IMPORT_FROM(jack)
902896   MDRV_CPU_MODIFY("maincpu")
903897   MDRV_CPU_PROGRAM_MAP(joinem_map)
904898   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
r9191r9192
912906   MDRV_PALETTE_INIT(joinem)
913907   MDRV_VIDEO_START(joinem)
914908   MDRV_VIDEO_UPDATE(joinem)
915MACHINE_DRIVER_END
909MACHINE_CONFIG_END
916910
917911/*************************************
918912 *
src/mame/drivers/dogfgt.c
r9191r9192
246246}
247247
248248
249static MACHINE_DRIVER_START( dogfgt )
249static MACHINE_CONFIG_START( dogfgt, dogfgt_state )
250250
251   /* driver data */
252   MDRV_DRIVER_DATA(dogfgt_state)
253
254251   /* basic machine hardware */
255252   MDRV_CPU_ADD("maincpu", M6502, 1500000)   /* 1.5 MHz ???? */
256253   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
287284
288285   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
289286   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
290MACHINE_DRIVER_END
287MACHINE_CONFIG_END
291288
292289
293290
src/mame/drivers/vigilant.c
r9191r9192
2121#include "sound/dac.h"
2222#include "sound/2203intf.h"
2323#include "sound/2151intf.h"
24#include "includes/vigilant.h"
2425
25/* video/vigilant.c */
26VIDEO_START( vigilant );
27VIDEO_RESET( vigilant );
28WRITE8_HANDLER( vigilant_paletteram_w );
29WRITE8_HANDLER( vigilant_horiz_scroll_w );
30WRITE8_HANDLER( vigilant_rear_horiz_scroll_w );
31WRITE8_HANDLER( vigilant_rear_color_w );
32VIDEO_UPDATE( vigilant );
33VIDEO_UPDATE( kikcubic );
34
35
3626static WRITE8_HANDLER( vigilant_bank_select_w )
3727{
3828   int bankaddress;
r9191r9192
7666   AM_RANGE(0x0000, 0x7fff) AM_ROM
7767   AM_RANGE(0xc020, 0xc0df) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
7868   AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(vigilant_paletteram_w) AM_BASE_GENERIC(paletteram)
79   AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
69   AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_MEMBER(vigilant_state, videoram)
8070   AM_RANGE(0xe000, 0xefff) AM_RAM
8171ADDRESS_MAP_END
8272
r9191r9192
9787   AM_RANGE(0x0000, 0x7fff) AM_ROM
9888   AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
9989   AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE(vigilant_paletteram_w) AM_BASE_GENERIC(paletteram)
100   AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
90   AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_MEMBER(vigilant_state, videoram)
10191   AM_RANGE(0xe000, 0xffff) AM_RAM
10292ADDRESS_MAP_END
10393
r9191r9192
523513};
524514
525515
526static MACHINE_DRIVER_START( vigilant )
516static MACHINE_CONFIG_START( vigilant, vigilant_state )
527517
528518   /* basic machine hardware */
529519   MDRV_CPU_ADD("maincpu", Z80, 3579645)         /* 3.579645 MHz */
r9191r9192
565555   MDRV_SOUND_ADD("dac", DAC, 0)
566556   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
567557   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
568MACHINE_DRIVER_END
558MACHINE_CONFIG_END
569559
570static MACHINE_DRIVER_START( buccanrs )
560static MACHINE_CONFIG_START( buccanrs, vigilant_state )
571561
572562   /* basic machine hardware */
573563   MDRV_CPU_ADD("maincpu", Z80, 5688800)         /* 5.688800 MHz */
r9191r9192
625615   MDRV_SOUND_ADD("dac", DAC, 0)
626616   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.35)
627617   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35)
628MACHINE_DRIVER_END
618MACHINE_CONFIG_END
629619
630static MACHINE_DRIVER_START( kikcubic )
620static MACHINE_CONFIG_START( kikcubic, vigilant_state )
631621
632622   /* basic machine hardware */
633623   MDRV_CPU_ADD("maincpu", Z80, 3579645)         /* 3.579645 MHz */
r9191r9192
669659   MDRV_SOUND_ADD("dac", DAC, 0)
670660   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
671661   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
672MACHINE_DRIVER_END
662MACHINE_CONFIG_END
673663
674664
675665
r9191r9192
716706   ROM_LOAD( "pal16l8.1b", 0x0400, 0x0104, NO_DUMP ) /* PAL is read protected */
717707ROM_END
718708
709
710
711ROM_START( vigilant1 )
712   ROM_REGION( 0x30000, "maincpu", 0 ) /* 64k for code + 128k for bankswitching */
713   ROM_LOAD( "vg_a-8h-c.rom",  0x00000, 0x10000, CRC(0f77aa7e) SHA1(fcf156ba7d164808e65b7e9a695a2639a19cfc2e) )
714   ROM_LOAD( "vg_a-8l-a.rom",  0x10000, 0x10000, CRC(690d812f) SHA1(60d6513f8b27411018cdca1b25f94bc281476ae7) )
715   /* 0x20000-0x2ffff empty */
716
717   ROM_REGION( 0x10000, "soundcpu", 0 ) /* 64k for sound */
718   ROM_LOAD( "g05_c02.bin",  0x00000, 0x10000, CRC(10582b2d) SHA1(6e7e5f07c49b347b427572efeb180c89f49bf2c7) )
719
720   ROM_REGION( 0x20000, "gfx1", 0 )
721   ROM_LOAD( "f05_c08.bin",  0x00000, 0x10000, CRC(01579d20) SHA1(e58d8ca0ea0ac9d77225bf55faa499d1565924f9) )
722   ROM_LOAD( "h05_c09.bin",  0x10000, 0x10000, CRC(4f5872f0) SHA1(6af21ba1c94097eecce30585983b4b07528c8635) )
723
724   ROM_REGION( 0x80000, "gfx2", 0 )
725   ROM_LOAD( "n07_c12.bin",  0x00000, 0x10000, CRC(10af8eb2) SHA1(664b178b248babc43a9af0fe140fe57bc7367762) )
726   ROM_LOAD( "k07_c10.bin",  0x10000, 0x10000, CRC(9576f304) SHA1(0ec2a7d3d82208e2a9a4ef9ab2824e6fe26ebbe5) )
727   ROM_LOAD( "o07_c13.bin",  0x20000, 0x10000, CRC(b1d9d4dc) SHA1(1aacf6b0ff8d102880d3dce3b55cd1488edb90cf) )
728   ROM_LOAD( "l07_c11.bin",  0x30000, 0x10000, CRC(4598be4a) SHA1(6b68ec94bdee0e58133a8d3891054ef44a8ff0e5) )
729   ROM_LOAD( "t07_c16.bin",  0x40000, 0x10000, CRC(f5425e42) SHA1(c401263b6a266d3e9cd23133f1d823fb4b095e3d) )
730   ROM_LOAD( "p07_c14.bin",  0x50000, 0x10000, CRC(cb50a17c) SHA1(eb15704f715b6475ae7096f8d82f1b20f8277c71) )
731   ROM_LOAD( "v07_c17.bin",  0x60000, 0x10000, CRC(959ba3c7) SHA1(dcd2a885ae7b61210cbd55a38ccbe91c73d071b0) )
732   ROM_LOAD( "s07_c15.bin",  0x70000, 0x10000, CRC(7f2e91c5) SHA1(27dcc9b696834897c36c0b7a1c6202d93f41ad8d) )
733
734   ROM_REGION( 0x40000, "gfx3", 0 )
735   ROM_LOAD( "d01_c05.bin",  0x00000, 0x10000, CRC(81b1ee5c) SHA1(2014165ec71f089fecb5a3e60b939cc0f565d7f1) )
736   ROM_LOAD( "e01_c06.bin",  0x10000, 0x10000, CRC(d0d33673) SHA1(39761d97a71deaf7f17233d5bd5a55dbb1e6b30e) )
737   ROM_LOAD( "f01_c07.bin",  0x20000, 0x10000, CRC(aae81695) SHA1(ca8e136eca3543b27f3a61b105d4a280711cd6ea) )
738
739   ROM_REGION( 0x10000, "samples", 0 ) /* samples */
740   ROM_LOAD( "d04_c01.bin",  0x00000, 0x10000, CRC(9b85101d) SHA1(6b8a0f33b9b66bb968f7b61e49d19a6afad8db95) )
741
742   ROM_REGION( 0x0600, "plds", 0 )
743   ROM_LOAD( "pal16l8.8r", 0x0000, 0x0104, NO_DUMP ) /* PAL is read protected */
744   ROM_LOAD( "pal16l8.4m", 0x0200, 0x0104, CRC(6c628a26) SHA1(65a45e762ce218e4552c30302c1ac4272c099fb5) )
745   ROM_LOAD( "pal16l8.1b", 0x0400, 0x0104, NO_DUMP ) /* PAL is read protected */
746ROM_END
747
748
719749ROM_START( vigilantu )
720750   ROM_REGION( 0x30000, "maincpu", 0 ) /* 64k for code + 128k for bankswitching */
721751   ROM_LOAD( "a-8h",  0x00000, 0x08000, CRC(8d15109e) SHA1(9ef57047a0b53cd0143a260193b33e3d5680ca71) )
r9191r9192
922952   ROM_LOAD( "prom2.u99",  0x0300, 0x0100, CRC(e0aa8869) SHA1(ac8bdfeba69420ba56ec561bf3d0f1229d02cea2) )
923953ROM_END
924954
925GAME( 1988, vigilant, 0,        vigilant, vigilant, 0, ROT0, "Irem", "Vigilante (World)", GAME_NO_COCKTAIL )
955GAME( 1988, vigilant, 0,        vigilant, vigilant, 0, ROT0, "Irem", "Vigilante (World, set 1)", GAME_NO_COCKTAIL )
956GAME( 1988, vigilant1,vigilant, vigilant, vigilant, 0, ROT0, "Irem", "Vigilante (World, set 2)", GAME_NO_COCKTAIL )
926957GAME( 1988, vigilantu,vigilant, vigilant, vigilant, 0, ROT0, "Irem (Data East USA license)", "Vigilante (US)", GAME_NO_COCKTAIL )
927958GAME( 1988, vigilantj,vigilant, vigilant, vigilant, 0, ROT0, "Irem", "Vigilante (Japan)", GAME_NO_COCKTAIL )
928959GAME( 1988, kikcubic, 0,        kikcubic, kikcubic, 0, ROT0, "Irem", "Meikyu Jima (Japan)", GAME_NO_COCKTAIL )   /* English title is Kickle Cubicle */
src/mame/drivers/taitosj.c
r9191r9192
17901790
17911791
17921792
1793static MACHINE_DRIVER_START( nomcu )
1793static MACHINE_CONFIG_START( nomcu, driver_device )
17941794
17951795   /* basic machine hardware */
17961796   MDRV_CPU_ADD("maincpu",Z80,8000000/2)      /* 4 MHz */
r9191r9192
18431843
18441844   MDRV_SOUND_ADD("dac", DAC, 0)
18451845   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
1846MACHINE_DRIVER_END
1846MACHINE_CONFIG_END
18471847
18481848
18491849/* same as above, but with additional 68705 MCU */
1850static MACHINE_DRIVER_START( mcu )
1850static MACHINE_CONFIG_DERIVED( mcu, nomcu )
18511851
18521852   /* basic machine hardware */
1853   MDRV_IMPORT_FROM(nomcu)
18541853   MDRV_CPU_MODIFY("maincpu")
18551854   MDRV_CPU_PROGRAM_MAP(taitosj_main_mcu_map)
18561855
r9191r9192
18581857   MDRV_CPU_PROGRAM_MAP(taitosj_mcu_map)
18591858
18601859   MDRV_QUANTUM_TIME(HZ(6000))
1861MACHINE_DRIVER_END
1860MACHINE_CONFIG_END
18621861
18631862
1864static MACHINE_DRIVER_START( kikstart )
1863static MACHINE_CONFIG_DERIVED( kikstart, mcu )
18651864
18661865   /* basic machine hardware */
1867   MDRV_IMPORT_FROM(mcu)
18681866   MDRV_CPU_MODIFY("maincpu")
18691867   MDRV_CPU_PROGRAM_MAP(kikstart_main_map)
18701868
18711869   MDRV_VIDEO_UPDATE(kikstart)
1872MACHINE_DRIVER_END
1870MACHINE_CONFIG_END
18731871
18741872
18751873
src/mame/drivers/nbmj8991.c
r9191r9192
3535#include "sound/3812intf.h"
3636#include "sound/dac.h"
3737#include "includes/nbmj8991.h"
38#include "machine/nvram.h"
3839
3940
4041#define SIGNED_DAC   0      // 0:unsigned DAC, 1:signed DAC
r9191r9192
193194   AM_RANGE(0x0000, 0xefff) AM_ROM
194195   AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
195196   AM_RANGE(0xf200, 0xf3ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
196   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)   // finalbny
197   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")   // finalbny
197198ADDRESS_MAP_END
198199
199200static ADDRESS_MAP_START( triplew1_map, ADDRESS_SPACE_PROGRAM, 8 )
200201   AM_RANGE(0x0000, 0xefff) AM_ROM
201202   AM_RANGE(0xf000, 0xf1ff) AM_RAM_WRITE(nbmj8991_palette_type3_w) AM_BASE_GENERIC(paletteram)
202203   AM_RANGE(0xf200, 0xf20f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
203   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)   // mjgottub
204   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")   // mjgottub
204205ADDRESS_MAP_END
205206
206207static ADDRESS_MAP_START( triplew2_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
221222   AM_RANGE(0x0000, 0xefff) AM_ROM
222223   AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
223224   AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE(nbmj8991_palette_type1_w) AM_BASE_GENERIC(paletteram)
224   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)   // hyouban
225   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")   // hyouban
225226ADDRESS_MAP_END
226227
227228static ADDRESS_MAP_START( galkaika_map, ADDRESS_SPACE_PROGRAM, 8 )
228229   AM_RANGE(0x0000, 0xefff) AM_ROM
229230   AM_RANGE(0xf000, 0xf00f) AM_READWRITE(nbmj8991_clut_r,nbmj8991_clut_w)
230231   AM_RANGE(0xf400, 0xf5ff) AM_RAM_WRITE(nbmj8991_palette_type2_w) AM_BASE_GENERIC(paletteram)
231   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)   // tokimbsj
232   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("nvram")   // tokimbsj
232233ADDRESS_MAP_END
233234
234235static ADDRESS_MAP_START( tokyogal_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
14741475};
14751476
14761477
1477static MACHINE_DRIVER_START( nbmjdrv1 )   // galkoku
1478static MACHINE_CONFIG_START( nbmjdrv1, driver_device )   // galkoku
14781479
14791480   /* basic machine hardware */
14801481   MDRV_CPU_ADD("maincpu", Z80, 25000000/5)      /* 5.00 MHz ? */
r9191r9192
15041505
15051506   MDRV_SOUND_ADD("dac", DAC, 0)
15061507   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1507MACHINE_DRIVER_END
1508MACHINE_CONFIG_END
15081509
15091510
1510static MACHINE_DRIVER_START( nbmjdrv2 )   // pstadium
1511static MACHINE_CONFIG_START( nbmjdrv2, driver_device )   // pstadium
15111512
15121513   /* basic machine hardware */
15131514   MDRV_CPU_ADD("maincpu", Z80, 6000000/2)   /* 3.00 MHz */
r9191r9192
15461547
15471548   MDRV_SOUND_ADD("dac2", DAC, 0)
15481549   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1549MACHINE_DRIVER_END
1550MACHINE_CONFIG_END
15501551
15511552
1552static MACHINE_DRIVER_START( nbmjdrv3 )
1553static MACHINE_CONFIG_DERIVED( nbmjdrv3, nbmjdrv1 )
15531554
15541555   /* basic machine hardware */
1555   MDRV_IMPORT_FROM(nbmjdrv1)
15561556
15571557   /* sound hardware */
15581558   MDRV_SOUND_REPLACE("fmsnd", AY8910, 1250000)
15591559   MDRV_SOUND_CONFIG(ay8910_config)
15601560   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
1561MACHINE_DRIVER_END
1561MACHINE_CONFIG_END
15621562
15631563
15641564// ---------------------------------------------------------------------
15651565
1566static MACHINE_DRIVER_START( galkoku )
1566static MACHINE_CONFIG_DERIVED( galkoku, nbmjdrv1 )
15671567
15681568   /* basic machine hardware */
1569   MDRV_IMPORT_FROM(nbmjdrv1)
1570MACHINE_DRIVER_END
1569MACHINE_CONFIG_END
15711570
15721571
1573static MACHINE_DRIVER_START( galkaika )
1572static MACHINE_CONFIG_DERIVED( galkaika, nbmjdrv1 )
15741573
15751574   /* basic machine hardware */
1576   MDRV_IMPORT_FROM(nbmjdrv1)
15771575   MDRV_CPU_MODIFY("maincpu")
15781576   MDRV_CPU_PROGRAM_MAP(galkaika_map)
1579MACHINE_DRIVER_END
1577MACHINE_CONFIG_END
15801578
15811579
1582static MACHINE_DRIVER_START( tokyogal )
1580static MACHINE_CONFIG_DERIVED( tokyogal, nbmjdrv1 )
15831581
15841582   /* basic machine hardware */
1585   MDRV_IMPORT_FROM(nbmjdrv1)
15861583   MDRV_CPU_MODIFY("maincpu")
15871584   MDRV_CPU_PROGRAM_MAP(tokyogal_map)
1588MACHINE_DRIVER_END
1585MACHINE_CONFIG_END
15891586
15901587
1591static MACHINE_DRIVER_START( tokimbsj )
1588static MACHINE_CONFIG_DERIVED( tokimbsj, nbmjdrv1 )
15921589
15931590   /* basic machine hardware */
1594   MDRV_IMPORT_FROM(nbmjdrv1)
15951591   MDRV_CPU_MODIFY("maincpu")
15961592   MDRV_CPU_PROGRAM_MAP(galkaika_map)
15971593
1598   MDRV_NVRAM_HANDLER(nb1413m3)
1599MACHINE_DRIVER_END
1594   MDRV_NVRAM_ADD_0FILL("nvram")
1595MACHINE_CONFIG_END
16001596
16011597
1602static MACHINE_DRIVER_START( mcontest )
1598static MACHINE_CONFIG_DERIVED( mcontest, nbmjdrv1 )
16031599
16041600   /* basic machine hardware */
1605   MDRV_IMPORT_FROM(nbmjdrv1)
1606MACHINE_DRIVER_END
1601MACHINE_CONFIG_END
16071602
16081603
1609static MACHINE_DRIVER_START( uchuuai )
1604static MACHINE_CONFIG_DERIVED( uchuuai, nbmjdrv1 )
16101605
16111606   /* basic machine hardware */
1612   MDRV_IMPORT_FROM(nbmjdrv1)
1613MACHINE_DRIVER_END
1607MACHINE_CONFIG_END
16141608
16151609
1616static MACHINE_DRIVER_START( hyouban )
1610static MACHINE_CONFIG_DERIVED( hyouban, nbmjdrv3 )
16171611
16181612   /* basic machine hardware */
1619   MDRV_IMPORT_FROM(nbmjdrv3)
16201613   MDRV_CPU_MODIFY("maincpu")
16211614   MDRV_CPU_IO_MAP(hyouban_io_map)
16221615
1623   MDRV_NVRAM_HANDLER(nb1413m3)
1624MACHINE_DRIVER_END
1616   MDRV_NVRAM_ADD_0FILL("nvram")
1617MACHINE_CONFIG_END
16251618
16261619
1627static MACHINE_DRIVER_START( pstadium )
1620static MACHINE_CONFIG_DERIVED( pstadium, nbmjdrv2 )
16281621
16291622   /* basic machine hardware */
1630   MDRV_IMPORT_FROM(nbmjdrv2)
1631MACHINE_DRIVER_END
1623MACHINE_CONFIG_END
16321624
16331625
1634static MACHINE_DRIVER_START( triplew1 )
1626static MACHINE_CONFIG_DERIVED( triplew1, nbmjdrv2 )
16351627
16361628   /* basic machine hardware */
1637   MDRV_IMPORT_FROM(nbmjdrv2)
16381629   MDRV_CPU_MODIFY("maincpu")
16391630   MDRV_CPU_PROGRAM_MAP(triplew1_map)
1640MACHINE_DRIVER_END
1631MACHINE_CONFIG_END
16411632
16421633
1643static MACHINE_DRIVER_START( triplew2 )
1634static MACHINE_CONFIG_DERIVED( triplew2, nbmjdrv2 )
16441635
16451636   /* basic machine hardware */
1646   MDRV_IMPORT_FROM(nbmjdrv2)
16471637   MDRV_CPU_MODIFY("maincpu")
16481638   MDRV_CPU_PROGRAM_MAP(triplew2_map)
1649MACHINE_DRIVER_END
1639MACHINE_CONFIG_END
16501640
16511641
1652static MACHINE_DRIVER_START( ntopstar )
1642static MACHINE_CONFIG_DERIVED( ntopstar, nbmjdrv2 )
16531643
16541644   /* basic machine hardware */
1655   MDRV_IMPORT_FROM(nbmjdrv2)
1656MACHINE_DRIVER_END
1645MACHINE_CONFIG_END
16571646
16581647
1659static MACHINE_DRIVER_START( mjlstory )
1648static MACHINE_CONFIG_DERIVED( mjlstory, nbmjdrv2 )
16601649
16611650   /* basic machine hardware */
1662   MDRV_IMPORT_FROM(nbmjdrv2)
16631651   MDRV_CPU_MODIFY("maincpu")
16641652   MDRV_CPU_PROGRAM_MAP(mjlstory_map)
1665MACHINE_DRIVER_END
1653MACHINE_CONFIG_END
16661654
16671655
1668static MACHINE_DRIVER_START( vanilla )
1656static MACHINE_CONFIG_DERIVED( vanilla, nbmjdrv2 )
16691657
16701658   /* basic machine hardware */
1671   MDRV_IMPORT_FROM(nbmjdrv2)
1672MACHINE_DRIVER_END
1659MACHINE_CONFIG_END
16731660
16741661
1675static MACHINE_DRIVER_START( finalbny )
1662static MACHINE_CONFIG_DERIVED( finalbny, nbmjdrv2 )
16761663
16771664   /* basic machine hardware */
1678   MDRV_IMPORT_FROM(nbmjdrv2)
1679   MDRV_NVRAM_HANDLER(nb1413m3)
1680MACHINE_DRIVER_END
1665   MDRV_NVRAM_ADD_0FILL("nvram")
1666MACHINE_CONFIG_END
16811667
16821668
1683static MACHINE_DRIVER_START( qmhayaku )
1669static MACHINE_CONFIG_DERIVED( qmhayaku, nbmjdrv2 )
16841670
16851671   /* basic machine hardware */
1686   MDRV_IMPORT_FROM(nbmjdrv2)
1687MACHINE_DRIVER_END
1672MACHINE_CONFIG_END
16881673
16891674
1690static MACHINE_DRIVER_START( mjgottub )
1675static MACHINE_CONFIG_DERIVED( mjgottub, nbmjdrv2 )
16911676
16921677   /* basic machine hardware */
1693   MDRV_IMPORT_FROM(nbmjdrv2)
16941678   MDRV_CPU_MODIFY("maincpu")
16951679   MDRV_CPU_PROGRAM_MAP(triplew1_map)
16961680
1697   MDRV_NVRAM_HANDLER(nb1413m3)
1698MACHINE_DRIVER_END
1681   MDRV_NVRAM_ADD_0FILL("nvram")
1682MACHINE_CONFIG_END
16991683
17001684
1701static MACHINE_DRIVER_START( av2mj1bb )
1685static MACHINE_CONFIG_DERIVED( av2mj1bb, nbmjdrv2 )
17021686
17031687   /* basic machine hardware */
1704   MDRV_IMPORT_FROM(nbmjdrv2)
17051688   MDRV_CPU_MODIFY("maincpu")
17061689   MDRV_CPU_PROGRAM_MAP(av2mj1bb_map)
17071690   MDRV_CPU_IO_MAP(av2mj1bb_io_map)
1708MACHINE_DRIVER_END
1691MACHINE_CONFIG_END
17091692
17101693
1711static MACHINE_DRIVER_START( av2mj2rg )
1694static MACHINE_CONFIG_DERIVED( av2mj2rg, nbmjdrv2 )
17121695
17131696   /* basic machine hardware */
1714   MDRV_IMPORT_FROM(nbmjdrv2)
17151697   MDRV_CPU_MODIFY("maincpu")
17161698   MDRV_CPU_PROGRAM_MAP(av2mj2rg_map)
17171699   MDRV_CPU_IO_MAP(av2mj1bb_io_map)
1718MACHINE_DRIVER_END
1700MACHINE_CONFIG_END
17191701
17201702
17211703
src/mame/drivers/galivan.c
r9191r9192
453453   state->ninjemak_dispdisable = 0;
454454}
455455
456static MACHINE_DRIVER_START( galivan )
456static MACHINE_CONFIG_START( galivan, galivan_state )
457457
458   /* driver data */
459   MDRV_DRIVER_DATA(galivan_state)
460
461458   /* basic machine hardware */
462459   MDRV_CPU_ADD("maincpu", Z80,12000000/2)      /* 6 MHz? */
463460   MDRV_CPU_PROGRAM_MAP(galivan_map)
r9191r9192
498495
499496   MDRV_SOUND_ADD("dac2", DAC, 0)
500497   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
501MACHINE_DRIVER_END
498MACHINE_CONFIG_END
502499
503static MACHINE_DRIVER_START( ninjemak )
500static MACHINE_CONFIG_START( ninjemak, galivan_state )
504501
505   /* driver data */
506   MDRV_DRIVER_DATA(galivan_state)
507
508502   /* basic machine hardware */
509503   MDRV_CPU_ADD("maincpu", Z80,12000000/2)      /* 6 MHz? */
510504   MDRV_CPU_PROGRAM_MAP(ninjemak_map)
r9191r9192
544538
545539   MDRV_SOUND_ADD("dac2", DAC, 0)
546540   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
547MACHINE_DRIVER_END
541MACHINE_CONFIG_END
548542
549543
550544
src/mame/drivers/deshoros.c
r9191r9192
154154   bank = -1;
155155}
156156
157static MACHINE_DRIVER_START( deshoros )
157static MACHINE_CONFIG_START( deshoros, driver_device )
158158
159159   /* basic machine hardware */
160160   MDRV_CPU_ADD("maincpu",M6809,2000000)
r9191r9192
178178   /* sound hardware */
179179   MDRV_SPEAKER_STANDARD_MONO("mono")
180180
181MACHINE_DRIVER_END
181MACHINE_CONFIG_END
182182
183183/***************************************************************************
184184
src/mame/drivers/canyon.c
r9191r9192
234234 *
235235 *************************************/
236236
237static MACHINE_DRIVER_START( canyon )
237static MACHINE_CONFIG_START( canyon, canyon_state )
238238
239   /* driver data */
240   MDRV_DRIVER_DATA(canyon_state)
241
242239   /* basic machine hardware */
243240   MDRV_CPU_ADD("maincpu", M6502, XTAL_12_096MHz / 16)
244241   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
267264   MDRV_SOUND_CONFIG_DISCRETE(canyon)
268265   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
269266   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
270MACHINE_DRIVER_END
267MACHINE_CONFIG_END
271268
272269
273270
src/mame/drivers/igs_m027.c
r9191r9192
1717#include "emu.h"
1818#include "cpu/arm7/arm7.h"
1919#include "cpu/arm7/arm7core.h"
20#include "machine/nvram.h"
2021
2122
2223/***************************************************************************
r9191r9192
364365}
365366
366367
367static MACHINE_DRIVER_START( igs_majhong )
368static MACHINE_CONFIG_START( igs_majhong, driver_device )
368369   MDRV_CPU_ADD("maincpu",ARM7, 20000000)
369370
370371   MDRV_CPU_PROGRAM_MAP(igs_majhong_map)
371372
372373   MDRV_CPU_VBLANK_INT("screen", igs_majhong_interrupt)
373   //MDRV_NVRAM_HANDLER(generic_0fill)
374   //MDRV_NVRAM_ADD_0FILL("nvram")
374375
375376   MDRV_GFXDECODE(igs_m027)
376377
r9191r9192
389390
390391   /* sound hardware */
391392
392MACHINE_DRIVER_END
393MACHINE_CONFIG_END
393394
394395
395396
src/mame/drivers/splash.c
r9191r9192
4747#include "sound/2203intf.h"
4848#include "sound/3812intf.h"
4949#include "sound/msm5205.h"
50#include "includes/splash.h"
5051
51
52extern UINT16 *splash_vregs;
53extern UINT16 *splash_videoram;
54extern UINT16 *splash_spriteram;
55extern UINT16 *splash_pixelram;
56extern UINT16 *roldfrog_bitmap_mode;
57static UINT16 *roldfrog_protdata;
58static int adpcm_data;
59static int ret;
60
61extern int splash_bitmap_type;
62extern int splash_sprite_attr2_shift;
63
64WRITE16_HANDLER( splash_vram_w );
65VIDEO_START( splash );
66VIDEO_UPDATE( splash );
67VIDEO_UPDATE( funystrp );
68
6952static WRITE16_HANDLER( splash_sh_irqtrigger_w )
7053{
7154   if (ACCESSING_BITS_0_7)
r9191r9192
10790
10891static ADDRESS_MAP_START( splash_map, ADDRESS_SPACE_PROGRAM, 16 )
10992   AM_RANGE(0x000000, 0x3fffff) AM_ROM                                       /* ROM */
110   AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE(&splash_pixelram)                  /* Pixel Layer */
93   AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE_MEMBER(splash_state, pixelram)                  /* Pixel Layer */
11194   AM_RANGE(0x840000, 0x840001) AM_READ_PORT("DSW1")
11295   AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2")
11396   AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1")
11497   AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2")
11598   AM_RANGE(0x84000e, 0x84000f) AM_WRITE(splash_sh_irqtrigger_w)                  /* Sound command */
11699   AM_RANGE(0x84000a, 0x84003b) AM_WRITE(splash_coin_w)                        /* Coin Counters + Coin Lockout */
117   AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE(&splash_videoram)   /* Video RAM */
118   AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs)                     /* Scroll registers */
100   AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE_MEMBER(splash_state, videoram)   /* Video RAM */
101   AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE_MEMBER(splash_state, vregs)                     /* Scroll registers */
119102   AM_RANGE(0x881804, 0x881fff) AM_RAM                                       /* Work RAM */
120103   AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)/* Palette is xRRRRxGGGGxBBBBx */
121   AM_RANGE(0x900000, 0x900fff) AM_RAM AM_BASE(&splash_spriteram)                  /* Sprite RAM */
104   AM_RANGE(0x900000, 0x900fff) AM_RAM AM_BASE_MEMBER(splash_state, spriteram)                  /* Sprite RAM */
122105   AM_RANGE(0xffc000, 0xffffff) AM_RAM                                       /* Work RAM */
123106ADDRESS_MAP_END
124107
125108static WRITE8_HANDLER( splash_adpcm_data_w )
126109{
127   adpcm_data = data;
110   splash_state *state = space->machine->driver_data<splash_state>();
111
112   state->adpcm_data = data;
128113}
129114
130115static void splash_msm5205_int(running_device *device)
131116{
132   msm5205_data_w(device,adpcm_data >> 4);
133   adpcm_data = (adpcm_data << 4) & 0xf0;
117   splash_state *state = device->machine->driver_data<splash_state>();
118
119   msm5205_data_w(device, state->adpcm_data >> 4);
120   state->adpcm_data = (state->adpcm_data << 4) & 0xf0;
134121}
135122
136123static ADDRESS_MAP_START( splash_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
148135
149136static READ16_HANDLER( roldfrog_bombs_r )
150137{
151   ret ^= 0x100;
152   return ret;
138   splash_state *state = space->machine->driver_data<splash_state>();
139
140   state->ret ^= 0x100;
141   return state->ret;
153142}
154143
155144static ADDRESS_MAP_START( roldfrog_map, ADDRESS_SPACE_PROGRAM, 16 )
156145   AM_RANGE(0x000000, 0x3fffff) AM_ROM                                       /* ROM */
157   AM_RANGE(0x400000, 0x407fff) AM_ROM   AM_BASE(&roldfrog_protdata)                  /* Protection Data */
146   AM_RANGE(0x400000, 0x407fff) AM_ROM AM_BASE_MEMBER(splash_state, protdata)                  /* Protection Data */
158147   AM_RANGE(0x408000, 0x4087ff) AM_RAM                                     /* Extra Ram */
159   AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE(&splash_pixelram)                  /* Pixel Layer */
148   AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE_MEMBER(splash_state, pixelram)                  /* Pixel Layer */
160149   AM_RANGE(0x840000, 0x840001) AM_READ_PORT("DSW1")
161150   AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2")
162151   AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1")
163152   AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2")
164153   AM_RANGE(0x84000e, 0x84000f) AM_WRITE(roldf_sh_irqtrigger_w)                  /* Sound command */
165154   AM_RANGE(0x84000a, 0x84003b) AM_WRITE(splash_coin_w)                        /* Coin Counters + Coin Lockout */
166   AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE(&splash_videoram)   /* Video RAM */
167   AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs)                     /* Scroll registers */
155   AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE_MEMBER(splash_state, videoram)   /* Video RAM */
156   AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE_MEMBER(splash_state, vregs)                     /* Scroll registers */
168157   AM_RANGE(0x881804, 0x881fff) AM_RAM                                       /* Work RAM */
169158   AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)/* Palette is xRRRRxGGGGxBBBBx */
170159   AM_RANGE(0xa00000, 0xa00001) AM_READ(roldfrog_bombs_r)
171   AM_RANGE(0xd00000, 0xd00fff) AM_RAM AM_BASE(&splash_spriteram)                  /* Sprite RAM */
172   AM_RANGE(0xe00000, 0xe00001) AM_WRITEONLY AM_BASE(&roldfrog_bitmap_mode)         /* Bitmap Mode? */
160   AM_RANGE(0xd00000, 0xd00fff) AM_RAM AM_BASE_MEMBER(splash_state, spriteram)                  /* Sprite RAM */
161   AM_RANGE(0xe00000, 0xe00001) AM_WRITEONLY AM_BASE_MEMBER(splash_state, bitmap_mode)         /* Bitmap Mode? */
173162   AM_RANGE(0xffc000, 0xffffff) AM_RAM                                       /* Work RAM */
174163ADDRESS_MAP_END
175164
r9191r9192
190179static ADDRESS_MAP_START( funystrp_map, ADDRESS_SPACE_PROGRAM, 16 )
191180   AM_RANGE(0x000000, 0x01ffff) AM_ROM                                       /* ROM */
192181   AM_RANGE(0x100000, 0x100fff) AM_RAM                                       /* protection? RAM */
193   AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE(&splash_pixelram)                  /* Pixel Layer */
182   AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE_MEMBER(splash_state, pixelram)                  /* Pixel Layer */
194183//  AM_RANGE(0x84000e, 0x84000f) AM_WRITE(splash_sh_irqtrigger_w)                       /* Sound command */
195184   AM_RANGE(0x84000a, 0x84003b) AM_WRITE(splash_coin_w)                        /* Coin Counters + Coin Lockout */
196185   AM_RANGE(0x840000, 0x840001) AM_READ_PORT("DSW1")
197186   AM_RANGE(0x840002, 0x840003) AM_READ_PORT("DSW2")
198187   AM_RANGE(0x840004, 0x840005) AM_READ_PORT("P1")
199188   AM_RANGE(0x840006, 0x840007) AM_READ_PORT("P2")
200   AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE(&splash_videoram)   /* Video RAM */
201   AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE(&splash_vregs)                     /* Scroll registers */
189   AM_RANGE(0x880000, 0x8817ff) AM_RAM_WRITE(splash_vram_w) AM_BASE_MEMBER(splash_state, videoram)   /* Video RAM */
190   AM_RANGE(0x881800, 0x881803) AM_RAM AM_BASE_MEMBER(splash_state, vregs)                     /* Scroll registers */
202191   AM_RANGE(0x881804, 0x881fff) AM_RAM                                       /* Work RAM */
203192   AM_RANGE(0x8c0000, 0x8c0fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)/* Palette is xRRRRxGGGGxBBBBx */
204   AM_RANGE(0xd00000, 0xd01fff) AM_RAM AM_BASE(&splash_spriteram)                  /* Sprite RAM */
193   AM_RANGE(0xd00000, 0xd01fff) AM_RAM AM_BASE_MEMBER(splash_state, spriteram)                  /* Sprite RAM */
205194   AM_RANGE(0xff0000, 0xffffff) AM_RAM                                       /* Work RAM */
206195ADDRESS_MAP_END
207196
r9191r9192
387376
388377static MACHINE_RESET( splash )
389378{
390   adpcm_data = 0;
391   ret = 0x100;
379   splash_state *state = machine->driver_data<splash_state>();
380
381   state->adpcm_data = 0;
382   state->ret = 0x100;
392383}
393384
394static MACHINE_DRIVER_START( splash )
385static MACHINE_CONFIG_START( splash, splash_state )
395386
396387   /* basic machine hardware */
397388   MDRV_CPU_ADD("maincpu", M68000,24000000/2)         /* 12 MHz (24/2) */
r9191r9192
427418   MDRV_SOUND_ADD("msm", MSM5205, 384000)
428419   MDRV_SOUND_CONFIG(splash_msm5205_interface)
429420   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
430MACHINE_DRIVER_END
421MACHINE_CONFIG_END
431422
432423static void ym_irq(running_device *device, int state)
433424{
r9191r9192
444435   ym_irq
445436};
446437
447static MACHINE_DRIVER_START( roldfrog )
438static MACHINE_CONFIG_START( roldfrog, splash_state )
448439
449440   /* basic machine hardware */
450441   MDRV_CPU_ADD("maincpu", M68000,24000000/2)         /* 12 MHz - verified */
r9191r9192
481472   MDRV_SOUND_ROUTE(1, "mono", 0.60)
482473   MDRV_SOUND_ROUTE(2, "mono", 0.60)
483474   MDRV_SOUND_ROUTE(3, "mono", 0.40)
484MACHINE_DRIVER_END
475MACHINE_CONFIG_END
485476
486477
487static MACHINE_DRIVER_START( funystrp )
478static MACHINE_CONFIG_START( funystrp, splash_state )
488479
489480   /* basic machine hardware */
490481   MDRV_CPU_ADD("maincpu", M68000,24000000/2)         /* 12 MHz (24/2) */
r9191r9192
520511//  MDRV_SOUND_ADD("msm", MSM5205, 384000)
521512//  MDRV_SOUND_CONFIG(msm5205_config)
522513//  MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
523MACHINE_DRIVER_END
514MACHINE_CONFIG_END
524515
525516
526517/***************************************************************************
r9191r9192
849840
850841static DRIVER_INIT( splash )
851842{
852   splash_bitmap_type = 0;
853   splash_sprite_attr2_shift = 8;
843   splash_state *state = machine->driver_data<splash_state>();
844
845   state->bitmap_type = 0;
846   state->sprite_attr2_shift = 8;
854847}
855848
856849static DRIVER_INIT( splash10 )
857850{
858   splash_bitmap_type = 0;
859   splash_sprite_attr2_shift = 0;
851   splash_state *state = machine->driver_data<splash_state>();
852
853   state->bitmap_type = 0;
854   state->sprite_attr2_shift = 0;
860855}
861856
862857static DRIVER_INIT( roldfrog )
863858{
864   splash_bitmap_type = 1;
865   splash_sprite_attr2_shift = 8;
859   splash_state *state = machine->driver_data<splash_state>();
860
861   state->bitmap_type = 1;
862   state->sprite_attr2_shift = 8;
866863}
867864
868865static DRIVER_INIT( rebus )
869866{
867   splash_state *state = machine->driver_data<splash_state>();
870868   UINT16 *ROM = (UINT16 *)memory_region(machine, "maincpu");
871   splash_bitmap_type = 1;
872   splash_sprite_attr2_shift = 0;
873869
870   state->bitmap_type = 1;
871   state->sprite_attr2_shift = 0;
872
874873   //d1 clear , regs restore and rte - end of trap $b
875874   ROM[0x196c0/2] = 0x7200;
876875   ROM[0x196c2/2] = 0x4cdf;
r9191r9192
895894
896895static DRIVER_INIT( funystrp )
897896{
897   splash_state *state = machine->driver_data<splash_state>();
898898   UINT16 *ROM = (UINT16 *)memory_region(machine, "maincpu");
899899
900   splash_bitmap_type = 0;
901   splash_sprite_attr2_shift = 0;
900   state->bitmap_type = 0;
901   state->sprite_attr2_shift = 0;
902902
903903   /* part of the protection? */
904904   ROM[0x04770/2] = 0x4e71;
src/mame/drivers/midwunit.c
r9191r9192
8888#include "cpu/tms34010/tms34010.h"
8989#include "cpu/adsp2100/adsp2100.h"
9090#include "audio/dcs.h"
91#include "machine/nvram.h"
9192#include "includes/midwunit.h"
9293
9394
r9191r9192
103104static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
104105   AM_RANGE(0x00000000, 0x003fffff) AM_READWRITE(midtunit_vram_r, midtunit_vram_w)
105106   AM_RANGE(0x01000000, 0x013fffff) AM_RAM
106   AM_RANGE(0x01400000, 0x0145ffff) AM_READWRITE(midwunit_cmos_r, midwunit_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
107   AM_RANGE(0x01400000, 0x0145ffff) AM_READWRITE(midwunit_cmos_r, midwunit_cmos_w) AM_SHARE("nvram")
107108   AM_RANGE(0x01480000, 0x014fffff) AM_WRITE(midwunit_cmos_enable_w)
108109   AM_RANGE(0x01600000, 0x0160001f) AM_READWRITE(midwunit_security_r, midwunit_security_w)
109110   AM_RANGE(0x01680000, 0x0168001f) AM_READWRITE(midwunit_sound_r, midwunit_sound_w)
r9191r9192
631632 *
632633 *************************************/
633634
634static MACHINE_DRIVER_START( wunit )
635static MACHINE_CONFIG_START( wunit, midwxunit_state )
635636
636637   MDRV_CPU_ADD("maincpu", TMS34010, 50000000)
637638   MDRV_CPU_CONFIG(tms_config)
638639   MDRV_CPU_PROGRAM_MAP(main_map)
639640
640641   MDRV_MACHINE_RESET(midwunit)
641   MDRV_NVRAM_HANDLER(generic_0fill)
642   MDRV_NVRAM_ADD_0FILL("nvram")
642643
643644   /* video hardware */
644645   MDRV_PALETTE_LENGTH(32768)
r9191r9192
651652   MDRV_VIDEO_UPDATE(tms340x0)
652653
653654   /* sound hardware */
654   MDRV_IMPORT_FROM(dcs_audio_8k)
655MACHINE_DRIVER_END
655   MDRV_FRAGMENT_ADD(dcs_audio_8k)
656MACHINE_CONFIG_END
656657
657658
658659
src/mame/drivers/buster.c
r9191r9192
6969   GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 16 )
7070GFXDECODE_END
7171
72static MACHINE_DRIVER_START( buster )
72static MACHINE_CONFIG_START( buster, driver_device )
7373   /* basic machine hardware */
7474   MDRV_CPU_ADD("maincpu", Z80,8000000)       /* ? MHz */
7575   MDRV_CPU_PROGRAM_MAP(mainmap)
r9191r9192
9494   MDRV_SOUND_ADD("aysnd", AY8910, 1500000/2)
9595//  MDRV_SOUND_CONFIG(ay8910_config)
9696   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
97MACHINE_DRIVER_END
97MACHINE_CONFIG_END
9898
9999
100100ROM_START( buster )
src/mame/drivers/route16.c
r9191r9192
7373#include "sound/dac.h"
7474#include "sound/sn76477.h"
7575#include "sound/ay8910.h"
76#include "includes/route16.h"
7677
7778
78extern UINT8 *route16_videoram1;
79extern UINT8 *route16_videoram2;
80extern size_t route16_videoram_size;
81
82WRITE8_HANDLER( route16_out0_w );
83WRITE8_HANDLER( route16_out1_w );
84VIDEO_UPDATE( route16 );
85VIDEO_UPDATE( stratvox );
86VIDEO_UPDATE( ttmahjng );
87
8879static READ8_HANDLER( routex_prot_read );
8980
9081
r9191r9192
607598};
608599
609600
610static MACHINE_DRIVER_START( route16 )
601static MACHINE_CONFIG_START( route16, driver_device )
611602
612603   /* basic machine hardware */
613604   MDRV_CPU_ADD("cpu1", Z80, 2500000)   /* 10MHz / 4 = 2.5MHz */
r9191r9192
632623   MDRV_SPEAKER_STANDARD_MONO("mono")
633624   MDRV_SOUND_ADD("ay8910", AY8910, 10000000/8)
634625   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
635MACHINE_DRIVER_END
626MACHINE_CONFIG_END
636627
637628
638static MACHINE_DRIVER_START( routex )
629static MACHINE_CONFIG_DERIVED( routex, route16 )
639630
640631   /* basic machine hardware */
641   MDRV_IMPORT_FROM(route16)
642632   MDRV_CPU_MODIFY("cpu1")
643633   MDRV_CPU_PROGRAM_MAP(routex_cpu1_map)
644MACHINE_DRIVER_END
634MACHINE_CONFIG_END
645635
646636
647static MACHINE_DRIVER_START( stratvox )
637static MACHINE_CONFIG_DERIVED( stratvox, route16 )
648638
649639   /* basic machine hardware */
650   MDRV_IMPORT_FROM(route16)
651640   MDRV_CPU_MODIFY("cpu1")
652641   MDRV_CPU_PROGRAM_MAP(stratvox_cpu1_map)
653642
r9191r9192
668657
669658   MDRV_SOUND_ADD("dac", DAC, 0)
670659   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
671MACHINE_DRIVER_END
660MACHINE_CONFIG_END
672661
673662
674static MACHINE_DRIVER_START( speakres )
663static MACHINE_CONFIG_DERIVED( speakres, stratvox )
675664
676665   /* basic machine hardware */
677   MDRV_IMPORT_FROM(stratvox)
678666   MDRV_CPU_MODIFY("cpu1")
679667   MDRV_CPU_PROGRAM_MAP(speakres_cpu1_map)
680MACHINE_DRIVER_END
668MACHINE_CONFIG_END
681669
682670
683static MACHINE_DRIVER_START( spacecho )
671static MACHINE_CONFIG_DERIVED( spacecho, speakres )
684672
685673   /* basic machine hardware */
686   MDRV_IMPORT_FROM(speakres)
687674   MDRV_CPU_MODIFY("cpu2")
688675   MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,48)
689MACHINE_DRIVER_END
676MACHINE_CONFIG_END
690677
691678
692static MACHINE_DRIVER_START( ttmahjng )
693
694   MDRV_IMPORT_FROM(route16)
679static MACHINE_CONFIG_DERIVED( ttmahjng, route16 )
695680   MDRV_CPU_MODIFY("cpu1")
696681   MDRV_CPU_PROGRAM_MAP(ttmahjng_cpu1_map)
697682   MDRV_CPU_IO_MAP(0)
698683
699684   /* video hardware */
700685   MDRV_VIDEO_UPDATE(ttmahjng)
701MACHINE_DRIVER_END
686MACHINE_CONFIG_END
702687
703688
704689
src/mame/drivers/m63.c
r9191r9192
121121#include "sound/ay8910.h"
122122#include "sound/samples.h"
123123
124class m63_state : public driver_data_t
124class m63_state : public driver_device
125125{
126126public:
127   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, m63_state(machine)); }
127   m63_state(running_machine &machine, const driver_device_config_base &config)
128      : driver_device(machine, config) { }
128129
129   m63_state(running_machine &machine)
130      : driver_data_t(machine) { }
131
132130   UINT8 *  videoram;
133131   UINT8 *  colorram;
134132   UINT8 *  spriteram;
r9191r9192
732730   state->p2 = 0;
733731}
734732
735static MACHINE_DRIVER_START( m63 )
733static MACHINE_CONFIG_START( m63, m63_state )
736734
737   /* driver data */
738   MDRV_DRIVER_DATA(m63_state)
739
740735   /* basic machine hardware */
741736   MDRV_CPU_ADD("maincpu",Z80,XTAL_12MHz/4)     /* 3 MHz */
742737   MDRV_CPU_PROGRAM_MAP(m63_map)
r9191r9192
773768
774769   MDRV_SOUND_ADD("ay2", AY8910, XTAL_12MHz/8) /* ????? */
775770   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
776MACHINE_DRIVER_END
771MACHINE_CONFIG_END
777772
778static MACHINE_DRIVER_START( atomboy )
779   MDRV_IMPORT_FROM(m63)
773static MACHINE_CONFIG_DERIVED( atomboy, m63 )
780774   MDRV_CPU_MODIFY("soundcpu")
781775   MDRV_CPU_PERIODIC_INT(snd_irq, 60/2)
782MACHINE_DRIVER_END
776MACHINE_CONFIG_END
783777
784static MACHINE_DRIVER_START( fghtbskt )
778static MACHINE_CONFIG_START( fghtbskt, m63_state )
785779
786   /* driver data */
787   MDRV_DRIVER_DATA(m63_state)
788
789780   /* basic machine hardware */
790781   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/4)     /* 3 MHz */
791782   MDRV_CPU_PROGRAM_MAP(fghtbskt_map)
r9191r9192
823814   MDRV_SOUND_ADD("samples", SAMPLES, 0)
824815   MDRV_SOUND_CONFIG(fghtbskt_samples_interface)
825816   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
826MACHINE_DRIVER_END
817MACHINE_CONFIG_END
827818
828819
829820/***************************************************************************
src/mame/drivers/tecmosys.c
r9191r9192
546546static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
547547   ADDRESS_MAP_GLOBAL_MASK(0xff)
548548   AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymf", ymf262_r, ymf262_w)
549   AM_RANGE(0x10, 0x10) AM_DEVWRITE("oki", okim6295_w)
549   AM_RANGE(0x10, 0x10) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
550550   AM_RANGE(0x20, 0x20) AM_WRITE(tecmosys_oki_bank_w)
551551   AM_RANGE(0x30, 0x30) AM_WRITE(deroon_bankswitch_w)
552552   AM_RANGE(0x40, 0x40) AM_READ(soundlatch_r)
r9191r9192
876876};
877877
878878
879static MACHINE_DRIVER_START( deroon )
879static MACHINE_CONFIG_START( deroon, driver_device )
880880   MDRV_CPU_ADD("maincpu", M68000, 16000000)
881881   MDRV_CPU_PROGRAM_MAP(main_map)
882882   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
r9191r9192
921921   MDRV_SOUND_ADD("ymz", YMZ280B, 16900000)
922922   MDRV_SOUND_ROUTE(0, "lspeaker", 0.30)
923923   MDRV_SOUND_ROUTE(1, "rspeaker", 0.30)
924MACHINE_DRIVER_END
924MACHINE_CONFIG_END
925925
926926
927927ROM_START( deroon )
src/mame/drivers/snk6502.c
r9191r9192
821821 *
822822 *************************************/
823823
824static MACHINE_DRIVER_START( sasuke )
824static MACHINE_CONFIG_START( sasuke, snk6502_state )
825825
826   MDRV_DRIVER_DATA( snk6502_state )
827
828826   // basic machine hardware
829827   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 16) // 700 kHz
830828   MDRV_CPU_PROGRAM_MAP(sasuke_map)
r9191r9192
873871   MDRV_SOUND_ADD("sn76477.3", SN76477, 0)
874872   MDRV_SOUND_CONFIG(sasuke_sn76477_intf_3)
875873   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
876MACHINE_DRIVER_END
874MACHINE_CONFIG_END
877875
878static MACHINE_DRIVER_START( satansat )
876static MACHINE_CONFIG_DERIVED( satansat, sasuke )
879877   // basic machine hardware
880   MDRV_IMPORT_FROM(sasuke)
881878   MDRV_CPU_MODIFY("maincpu")
882879   MDRV_CPU_PROGRAM_MAP(satansat_map)
883880
r9191r9192
897894
898895   MDRV_DEVICE_REMOVE("sn76477.2")
899896   MDRV_DEVICE_REMOVE("sn76477.3")
900MACHINE_DRIVER_END
897MACHINE_CONFIG_END
901898
902static MACHINE_DRIVER_START( vanguard )
899static MACHINE_CONFIG_START( vanguard, snk6502_state )
903900
904   MDRV_DRIVER_DATA( snk6502_state )
905
906901   // basic machine hardware
907902   //MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 8)   // 1.4 MHz
908903   MDRV_CPU_ADD("maincpu", M6502, 930000)      // adjusted
r9191r9192
946941   MDRV_SOUND_ADD("sn76477.2", SN76477, 0)
947942   MDRV_SOUND_CONFIG(vanguard_sn76477_intf_2)
948943   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
949MACHINE_DRIVER_END
944MACHINE_CONFIG_END
950945
951static MACHINE_DRIVER_START( fantasy )
946static MACHINE_CONFIG_DERIVED( fantasy, vanguard )
952947   // basic machine hardware
953   MDRV_IMPORT_FROM(vanguard)
954948   MDRV_CPU_MODIFY("maincpu")
955949   MDRV_CPU_PROGRAM_MAP(fantasy_map)
956950
r9191r9192
968962   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
969963
970964   MDRV_DEVICE_REMOVE("sn76477.2")
971MACHINE_DRIVER_END
965MACHINE_CONFIG_END
972966
973static MACHINE_DRIVER_START( nibbler )
974   // basic machine hardware
975   MDRV_IMPORT_FROM(fantasy)
967static MACHINE_CONFIG_DERIVED( nibbler, fantasy )
976968
977969   // sound hardware
978970   MDRV_DEVICE_REMOVE("samples")
979MACHINE_DRIVER_END
971MACHINE_CONFIG_END
980972
981static MACHINE_DRIVER_START( pballoon )
973static MACHINE_CONFIG_DERIVED( pballoon, nibbler )
982974   // basic machine hardware
983   MDRV_IMPORT_FROM(nibbler)
984975   MDRV_CPU_MODIFY("maincpu")
985976   MDRV_CPU_PROGRAM_MAP(pballoon_map)
986977
987978   MDRV_MACHINE_RESET(pballoon)
988979
989980   MDRV_VIDEO_START( pballoon )
990MACHINE_DRIVER_END
981MACHINE_CONFIG_END
991982
992983
993984/*************************************
src/mame/drivers/polyplay.c
r9191r9192
156156   AM_RANGE(0x1000, 0x8fff) AM_ROM
157157   AM_RANGE(0xe800, 0xebff) AM_ROM AM_REGION("gfx1", 0)
158158   AM_RANGE(0xec00, 0xf7ff) AM_RAM_WRITE(polyplay_characterram_w) AM_BASE(&polyplay_characterram)
159   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
159   AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE_MEMBER(polyplay_state, videoram)
160160ADDRESS_MAP_END
161161
162162
r9191r9192
276276
277277/* the machine driver */
278278
279static MACHINE_DRIVER_START( polyplay )
279static MACHINE_CONFIG_START( polyplay, polyplay_state )
280280
281281   /* basic machine hardware */
282282   MDRV_CPU_ADD("maincpu", Z80, 9830400/4)
r9191r9192
310310   MDRV_SOUND_ADD("samples", SAMPLES, 0)
311311   MDRV_SOUND_CONFIG(polyplay_samples_interface)
312312   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
313MACHINE_DRIVER_END
313MACHINE_CONFIG_END
314314
315315
316316/* ROM loading and mapping */
src/mame/drivers/exidy440.c
r9191r9192
217217#include "emu.h"
218218#include "cpu/m6809/m6809.h"
219219#include "includes/exidy440.h"
220#include "machine/nvram.h"
220221
221222
222223/* constants */
r9191r9192
236237
237238/*************************************
238239 *
239 *  EEROM save/load
240 *
241 *************************************/
242
243static NVRAM_HANDLER( exidy440 )
244{
245   UINT8 *rom = memory_region(machine, "maincpu");
246   if (read_or_write)
247      /* the EEROM lives in the uppermost 8k of the top bank */
248      mame_fwrite(file, &rom[0x10000 + 15 * 0x4000 + 0x2000], 0x2000);
249   else
250   {
251      if (file)
252         mame_fread(file, &rom[0x10000 + 15 * 0x4000 + 0x2000], 0x2000);
253      else
254         memset(&rom[0x10000 + 15 * 0x4000 + 0x2000], 0, 0x2000);
255   }
256}
257
258
259/*************************************
260 *
261240 *  Coin handling
262241 *
263242 *************************************/
r9191r9192
453432 *
454433 *************************************/
455434
435static MACHINE_START( exidy440 )
436{
437   /* the EEROM lives in the uppermost 8k of the top bank */
438   UINT8 *rom = memory_region(machine, "maincpu");
439   machine->device<nvram_device>("nvram")->set_base(&rom[0x10000 + 15 * 0x4000 + 0x2000], 0x2000);
440}
441
456442static MACHINE_RESET( exidy440 )
457443{
458444   exidy440_bank = 0xff;
r9191r9192
997983 *
998984 *************************************/
999985
1000static MACHINE_DRIVER_START( exidy440 )
986static MACHINE_CONFIG_START( exidy440, driver_device )
1001987
1002988   /* basic machine hardware */
1003989   MDRV_CPU_ADD("maincpu", M6809, MAIN_CPU_CLOCK)
1004990   MDRV_CPU_PROGRAM_MAP(exidy440_map)
1005991   MDRV_CPU_VBLANK_INT("screen", exidy440_vblank_interrupt)
1006992
993   MDRV_MACHINE_START(exidy440)
1007994   MDRV_MACHINE_RESET(exidy440)
1008   MDRV_NVRAM_HANDLER(exidy440)
995   MDRV_NVRAM_ADD_0FILL("nvram")
1009996
1010997   /* video hardware */
1011   MDRV_IMPORT_FROM(exidy440_video)
998   MDRV_FRAGMENT_ADD(exidy440_video)
1012999
10131000   /* audio hardware */
1014   MDRV_IMPORT_FROM(exidy440_audio)
1015MACHINE_DRIVER_END
1001   MDRV_FRAGMENT_ADD(exidy440_audio)
1002MACHINE_CONFIG_END
10161003
10171004
1018static MACHINE_DRIVER_START( topsecex )
1005static MACHINE_CONFIG_DERIVED( topsecex, exidy440 )
10191006
10201007   /* basic machine hardware */
1021   MDRV_IMPORT_FROM(exidy440)
10221008
10231009   /* video hardware */
1024   MDRV_IMPORT_FROM(topsecex_video)
1025MACHINE_DRIVER_END
1010   MDRV_FRAGMENT_ADD(topsecex_video)
1011MACHINE_CONFIG_END
10261012
10271013
10281014
src/mame/drivers/dassault.c
r9191r9192
261261   AM_RANGE(0x000000, 0x00ffff) AM_ROM
262262   AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_r, ym2203_w)
263263   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_r, ym2151_w)
264   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
265   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
264   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
265   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
266266   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
267267   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
268268   AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
r9191r9192
551551   dassault_bank_callback
552552};
553553
554static MACHINE_DRIVER_START( dassault )
554static MACHINE_CONFIG_START( dassault, dassault_state )
555555
556   /* driver data */
557   MDRV_DRIVER_DATA(dassault_state)
558
559556   /* basic machine hardware */
560557   MDRV_CPU_ADD("maincpu", M68000, 14000000) /* Accurate */
561558   MDRV_CPU_PROGRAM_MAP(dassault_map)
r9191r9192
606603   MDRV_OKIM6295_ADD("oki2", 2047848, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
607604   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25)
608605   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25)
609MACHINE_DRIVER_END
606MACHINE_CONFIG_END
610607
611608/**********************************************************************************/
612609
src/mame/drivers/dambustr.c
r9191r9192
231231
232232
233233
234static MACHINE_DRIVER_START( dambustr )
234static MACHINE_CONFIG_START( dambustr, driver_device )
235235   /* basic machine hardware */
236236   MDRV_CPU_ADD("maincpu", Z80, 18432000/6)   /* 3.072 MHz */
237237   MDRV_CPU_PROGRAM_MAP(dambustr_map)
r9191r9192
260260   /* sound hardware */
261261   MDRV_SPEAKER_STANDARD_MONO("mono")
262262
263   MDRV_IMPORT_FROM(galaxian_audio)
264MACHINE_DRIVER_END
263   MDRV_FRAGMENT_ADD(galaxian_audio)
264MACHINE_CONFIG_END
265265
266266
267267ROM_START( dambustr )
src/mame/drivers/tatsumi.c
r9191r9192
144144#include "includes/tatsumi.h"
145145#include "sound/2151intf.h"
146146#include "sound/okim6295.h"
147#include "machine/nvram.h"
147148
148149#include "roundup5.lh"
149150
r9191r9192
194195
195196static ADDRESS_MAP_START( apache3_v30_map, ADDRESS_SPACE_PROGRAM, 16 )
196197   AM_RANGE(0x00000, 0x03fff) AM_RAM
197   AM_RANGE(0x04000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
198   AM_RANGE(0x04000, 0x07fff) AM_RAM AM_SHARE("nvram")
198199   AM_RANGE(0x08000, 0x08fff) AM_RAM_WRITE(apache3_palette_w) AM_BASE_GENERIC(paletteram)
199   AM_RANGE(0x0c000, 0x0dfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE_GENERIC(videoram)
200   AM_RANGE(0x0c000, 0x0dfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE_MEMBER(tatsumi_state, videoram)
200201   AM_RANGE(0x0e800, 0x0e803) AM_WRITENOP // CRT
201202   AM_RANGE(0x0f000, 0x0f001) AM_READ_PORT("DSW")
202203   AM_RANGE(0x0f000, 0x0f001) AM_WRITENOP // todo
r9191r9192
223224   AM_RANGE(0x04000, 0x04003) AM_NOP // piu select .. ?
224225   AM_RANGE(0x06000, 0x06001) AM_READ_PORT("IN0") // esw
225226   AM_RANGE(0x08000, 0x08001) AM_DEVREADWRITE("ymsnd", tatsumi_hack_ym2151_r, ym2151_w)
226   AM_RANGE(0x0a000, 0x0a000) AM_DEVREADWRITE("oki", tatsumi_hack_oki_r, okim6295_w)
227   AM_RANGE(0x0a000, 0x0a000) AM_DEVREAD("oki", tatsumi_hack_oki_r) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
227228   AM_RANGE(0x0e000, 0x0e007) AM_READWRITE(apache3_adc_r, apache3_adc_w) //adc select
228229   AM_RANGE(0xf0000, 0xfffff) AM_ROM
229230ADDRESS_MAP_END
r9191r9192
237238
238239static ADDRESS_MAP_START( roundup5_v30_map, ADDRESS_SPACE_PROGRAM, 16 )
239240   AM_RANGE(0x00000, 0x07fff) AM_RAM
240   AM_RANGE(0x08000, 0x0bfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE_GENERIC(videoram)
241   AM_RANGE(0x08000, 0x0bfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE_MEMBER(tatsumi_state, videoram)
241242   AM_RANGE(0x0c000, 0x0c003) AM_WRITE(roundup5_crt_w)
242243   AM_RANGE(0x0d000, 0x0d001) AM_READ_PORT("DSW")
243244   AM_RANGE(0x0d400, 0x0d40f) AM_WRITEONLY AM_BASE(&roundup5_unknown0)
r9191r9192
267268   AM_RANGE(0x0000, 0xdfff) AM_ROM
268269   AM_RANGE(0xe000, 0xffef) AM_RAM
269270   AM_RANGE(0xfff0, 0xfff1) AM_DEVREADWRITE("ymsnd", tatsumi_hack_ym2151_r, ym2151_w)
270   AM_RANGE(0xfff4, 0xfff4) AM_DEVREADWRITE("oki", tatsumi_hack_oki_r, okim6295_w)
271   AM_RANGE(0xfff4, 0xfff4) AM_DEVREAD("oki", tatsumi_hack_oki_r) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
271272   AM_RANGE(0xfff8, 0xfff8) AM_READ_PORT("IN0")
272273   AM_RANGE(0xfff9, 0xfff9) AM_READ_PORT("IN1")
273274   AM_RANGE(0xfffc, 0xfffc) AM_READ_PORT("STICKX")
r9191r9192
324325   AM_RANGE(0x0000, 0xdfff) AM_ROM
325326   AM_RANGE(0xe000, 0xffef) AM_RAM
326327   AM_RANGE(0xfff0, 0xfff1) AM_DEVREADWRITE("ymsnd", tatsumi_hack_ym2151_r, ym2151_w)
327   AM_RANGE(0xfff4, 0xfff4) AM_DEVREADWRITE("oki", tatsumi_hack_oki_r, okim6295_w)
328   AM_RANGE(0xfff4, 0xfff4) AM_DEVREAD("oki", tatsumi_hack_oki_r) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
328329   AM_RANGE(0xfffc, 0xfffc) AM_READ(soundlatch_r)
329330   AM_RANGE(0xfffe, 0xfffe) AM_WRITENOP
330331ADDRESS_MAP_END
r9191r9192
855856}
856857
857858
858static MACHINE_DRIVER_START( apache3 )
859static MACHINE_CONFIG_START( apache3, tatsumi_state )
859860
860861   /* basic machine hardware */
861862   MDRV_CPU_ADD("maincpu", V30, CLOCK_1 / 2)
r9191r9192
874875   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
875876
876877   MDRV_QUANTUM_TIME(HZ(6000))
877   MDRV_NVRAM_HANDLER(generic_0fill)
878   MDRV_NVRAM_ADD_0FILL("nvram")
878879   MDRV_MACHINE_RESET(apache3)
879880
880881   /* video hardware */
r9191r9192
899900   MDRV_OKIM6295_ADD("oki", CLOCK_1 / 4 / 2, OKIM6295_PIN7_HIGH)
900901   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75)
901902   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
902MACHINE_DRIVER_END
903MACHINE_CONFIG_END
903904
904static MACHINE_DRIVER_START( roundup5 )
905static MACHINE_CONFIG_START( roundup5, tatsumi_state )
905906
906907   /* basic machine hardware */
907908   MDRV_CPU_ADD("maincpu", V30, CLOCK_1 / 2)
r9191r9192
941942   MDRV_OKIM6295_ADD("oki", CLOCK_1 / 4 / 2, OKIM6295_PIN7_HIGH)
942943   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75)
943944   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
944MACHINE_DRIVER_END
945MACHINE_CONFIG_END
945946
946static MACHINE_DRIVER_START( cyclwarr )
947static MACHINE_CONFIG_START( cyclwarr, tatsumi_state )
947948
948949   /* basic machine hardware */
949950   MDRV_CPU_ADD("maincpu", M68000, CLOCK_2 / 4)
r9191r9192
984985   MDRV_OKIM6295_ADD("oki", CLOCK_1 / 8, OKIM6295_PIN7_HIGH)
985986   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75)
986987   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
987MACHINE_DRIVER_END
988MACHINE_CONFIG_END
988989
989static MACHINE_DRIVER_START( bigfight )
990static MACHINE_CONFIG_START( bigfight, tatsumi_state )
990991
991992   /* basic machine hardware */
992993   MDRV_CPU_ADD("maincpu", M68000, CLOCK_2 / 4)
r9191r9192
10271028   MDRV_OKIM6295_ADD("oki", CLOCK_1 / 8 / 2, OKIM6295_PIN7_HIGH) /* 2MHz was too fast. Can the clock be software controlled? */
10281029   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75)
10291030   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
1030MACHINE_DRIVER_END
1031MACHINE_CONFIG_END
10311032
10321033/***************************************************************************/
10331034
src/mame/drivers/supbtime.c
r9191r9192
9999   AM_RANGE(0x000000, 0x00ffff) AM_ROM
100100   AM_RANGE(0x100000, 0x100001) AM_NOP /* YM2203 - this board doesn't have one */
101101   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
102   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
102   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
103103   AM_RANGE(0x130000, 0x130001) AM_NOP /* This board only has 1 oki chip */
104104   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
105105   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
r9191r9192
339339   state->deco16ic = machine->device("deco_custom");
340340}
341341
342static MACHINE_DRIVER_START( supbtime )
342static MACHINE_CONFIG_START( supbtime, supbtime_state )
343343
344   /* driver data */
345   MDRV_DRIVER_DATA(supbtime_state)
346
347344   /* basic machine hardware */
348345   MDRV_CPU_ADD("maincpu", M68000, 14000000)
349346   MDRV_CPU_PROGRAM_MAP(supbtime_map)
r9191r9192
381378
382379   MDRV_OKIM6295_ADD("oki", 1023924, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
383380   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
384MACHINE_DRIVER_END
381MACHINE_CONFIG_END
385382
386383
387static MACHINE_DRIVER_START( chinatwn )
384static MACHINE_CONFIG_START( chinatwn, supbtime_state )
388385
389   /* driver data */
390   MDRV_DRIVER_DATA(supbtime_state)
391
392386   /* basic machine hardware */
393387   MDRV_CPU_ADD("maincpu", M68000, 14000000)
394388   MDRV_CPU_PROGRAM_MAP(chinatwn_map)
r9191r9192
426420
427421   MDRV_OKIM6295_ADD("oki", 1023924, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
428422   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
429MACHINE_DRIVER_END
423MACHINE_CONFIG_END
430424
431425/******************************************************************************/
432426
src/mame/drivers/ggconnie.c
r9191r9192
143143   "maincpu"
144144};
145145
146static MACHINE_DRIVER_START( ggconnie )
146static MACHINE_CONFIG_START( ggconnie, driver_device )
147147   /* basic machine hardware */
148148   MDRV_CPU_ADD("maincpu", H6280, PCE_MAIN_CLOCK/3)
149149   MDRV_CPU_PROGRAM_MAP(sgx_mem)
r9191r9192
171171   MDRV_SOUND_ROUTE(0, "lspeaker", 1.00)
172172   MDRV_SOUND_ROUTE(1, "rspeaker", 1.00)
173173
174MACHINE_DRIVER_END
174MACHINE_CONFIG_END
175175
176176ROM_START(ggconnie)
177177   ROM_REGION( 0x100000, "maincpu", 0 )
src/mame/drivers/toratora.c
r9191r9192
2323#include "sound/sn76477.h"
2424
2525
26class toratora_state : public driver_data_t
26class toratora_state : public driver_device
2727{
2828public:
29   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, toratora_state(machine)); }
29   toratora_state(running_machine &machine, const driver_device_config_base &config)
30      : driver_device(machine, config) { }
3031
31   toratora_state(running_machine &machine)
32      : driver_data_t(machine) { }
33
3432   /* memory pointers */
3533   UINT8 *    videoram;
3634   size_t     videoram_size;
r9191r9192
396394   state->clear_tv = 0;
397395}
398396
399static MACHINE_DRIVER_START( toratora )
397static MACHINE_CONFIG_START( toratora, toratora_state )
400398
401   /* driver data */
402   MDRV_DRIVER_DATA(toratora_state)
403
404399   /* basic machine hardware */
405400   MDRV_CPU_ADD("maincpu", M6800,500000)   /* ?????? game speed is entirely controlled by this */
406401   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
434429   MDRV_SOUND_CONFIG(sn76477_intf)
435430   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
436431
437MACHINE_DRIVER_END
432MACHINE_CONFIG_END
438433
439434
440435
src/mame/drivers/segamsys.c
r9191r9192
17111711   }
17121712}
17131713
1714MACHINE_DRIVER_START( sms )
1714MACHINE_CONFIG_START( sms, driver_device )
17151715   MDRV_CPU_ADD("maincpu", Z80, 3579540)
17161716   //MDRV_CPU_PROGRAM_MAP(sms_map)
17171717   MDRV_CPU_IO_MAP(sms_io_map)
r9191r9192
17401740
17411741   MDRV_SOUND_ADD("snsnd", SN76496, 3579540)
17421742   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1743MACHINE_DRIVER_END
1743MACHINE_CONFIG_END
17441744
17451745
src/mame/drivers/blmbycar.c
r9191r9192
123123   AM_RANGE(0x700008, 0x700009) AM_READ(blmbycar_pot_wheel_r)                        // Wheel (potentiometer)
124124   AM_RANGE(0x70000a, 0x70000b) AM_WRITENOP                                    // ? Wheel
125125   AM_RANGE(0x70000c, 0x70000d) AM_WRITE(blmbycar_okibank_w)                        // Sound
126   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)   // Sound
126   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)   // Sound
127127   AM_RANGE(0x70006a, 0x70006b) AM_WRITE(blmbycar_pot_wheel_reset_w)                  // Wheel (potentiometer)
128128   AM_RANGE(0x70007a, 0x70007b) AM_WRITE(blmbycar_pot_wheel_shift_w)                  //
129129ADDRESS_MAP_END
r9191r9192
157157   AM_RANGE(0x700008, 0x700009) AM_READ(waterball_unk_r)                           // 0x0008 must toggle
158158   AM_RANGE(0x70000a, 0x70000b) AM_WRITEONLY                                    // ?? busy
159159   AM_RANGE(0x70000c, 0x70000d) AM_WRITE(blmbycar_okibank_w)                        // Sound
160   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)   //
160   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)   //
161161ADDRESS_MAP_END
162162
163163/***************************************************************************
r9191r9192
356356}
357357
358358
359static MACHINE_DRIVER_START( blmbycar )
359static MACHINE_CONFIG_START( blmbycar, blmbycar_state )
360360
361   /* driver data */
362   MDRV_DRIVER_DATA(blmbycar_state)
363
364361   /* basic machine hardware */
365362   MDRV_CPU_ADD("maincpu", M68000, 10000000)   /* ? */
366363   MDRV_CPU_PROGRAM_MAP(blmbycar_map)
r9191r9192
389386   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
390387   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
391388   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
392MACHINE_DRIVER_END
389MACHINE_CONFIG_END
393390
394391
395392static MACHINE_START( watrball )
r9191r9192
406403   state->retvalue = 0;
407404}
408405
409static MACHINE_DRIVER_START( watrball )
406static MACHINE_CONFIG_START( watrball, blmbycar_state )
410407
411   /* driver data */
412   MDRV_DRIVER_DATA(blmbycar_state)
413
414408   /* basic machine hardware */
415409   MDRV_CPU_ADD("maincpu", M68000, 10000000)   /* ? */
416410   MDRV_CPU_PROGRAM_MAP(watrball_map)
r9191r9192
439433   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
440434   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
441435   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
442MACHINE_DRIVER_END
436MACHINE_CONFIG_END
443437
444438
445439/***************************************************************************
src/mame/drivers/gbusters.c
r9191r9192
307307   state->priority = 0;
308308}
309309
310static MACHINE_DRIVER_START( gbusters )
310static MACHINE_CONFIG_START( gbusters, gbusters_state )
311311
312   /* driver data */
313   MDRV_DRIVER_DATA(gbusters_state)
314
315312   /* basic machine hardware */
316313   MDRV_CPU_ADD("maincpu", KONAMI, 3000000)   /* Konami custom 052526 */
317314   MDRV_CPU_PROGRAM_MAP(gbusters_map)
r9191r9192
352349   MDRV_SOUND_CONFIG(k007232_config)
353350   MDRV_SOUND_ROUTE(0, "mono", 0.30)
354351   MDRV_SOUND_ROUTE(1, "mono", 0.30)
355MACHINE_DRIVER_END
352MACHINE_CONFIG_END
356353
357354
358355/***************************************************************************
src/mame/drivers/megaplay.c
r9191r9192
648648   VIDEO_EOF_CALL(megatech_bios);
649649}
650650
651static MACHINE_DRIVER_START( mpnew )
651static MACHINE_CONFIG_DERIVED( mpnew, megadriv )
652652
653653   /* basic machine hardware */
654   MDRV_IMPORT_FROM(megadriv)
655654
656655   /* The Megaplay has an extra BIOS cpu which drives an SMS VDP
657656       which includes an SN76496 for sound */
r9191r9192
672671   /* New update functions to handle the extra layer */
673672   MDRV_VIDEO_START(megplay)
674673   MDRV_VIDEO_UPDATE(megplay)
675MACHINE_DRIVER_END
674MACHINE_CONFIG_END
676675
677676
678677/* MegaPlay Games - Modified Genesis games */
src/mame/drivers/bogeyman.c
r9191r9192
242242   DEVCB_NULL
243243};
244244
245static MACHINE_DRIVER_START( bogeyman )
245static MACHINE_CONFIG_START( bogeyman, bogeyman_state )
246246
247   /* driver data */
248   MDRV_DRIVER_DATA(bogeyman_state)
249
250247   // basic machine hardware
251248   MDRV_CPU_ADD("maincpu", M6502, 1500000)   /* Verified */
252249   MDRV_CPU_PROGRAM_MAP(bogeyman_map)
r9191r9192
281278
282279   MDRV_SOUND_ADD("ay2", AY8910, 1500000)   /* Verified */
283280   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
284MACHINE_DRIVER_END
281MACHINE_CONFIG_END
285282
286283/* ROMs */
287284
src/mame/drivers/r2dtank.c
r9191r9192
3838#include "cpu/m6800/m6800.h"
3939#include "cpu/m6809/m6809.h"
4040#include "sound/ay8910.h"
41#include "machine/nvram.h"
4142
4243
4344#define LOG_AUDIO_COMM   (0)
r9191r9192
412413   AM_RANGE(0x8004, 0x8004) AM_READWRITE(audio_answer_r, audio_command_w)
413414   AM_RANGE(0xb000, 0xb000) AM_DEVWRITE("crtc", mc6845_address_w)
414415   AM_RANGE(0xb001, 0xb001) AM_DEVWRITE("crtc", mc6845_register_w)
415   AM_RANGE(0xc000, 0xc007) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
416   AM_RANGE(0xc000, 0xc007) AM_RAM AM_SHARE("nvram")
416417   AM_RANGE(0xc800, 0xffff) AM_ROM
417418ADDRESS_MAP_END
418419
r9191r9192
515516 *
516517 *************************************/
517518
518static MACHINE_DRIVER_START( r2dtank )
519static MACHINE_CONFIG_START( r2dtank, driver_device )
519520   MDRV_CPU_ADD("maincpu", M6809,3000000)       /* ?? too fast ? */
520521   MDRV_CPU_PROGRAM_MAP(r2dtank_main_map)
521522
r9191r9192
523524   MDRV_CPU_PROGRAM_MAP(r2dtank_audio_map)
524525
525526   MDRV_MACHINE_START(r2dtank)
526   MDRV_NVRAM_HANDLER(generic_0fill)
527   MDRV_NVRAM_ADD_0FILL("nvram")
527528
528529   /* video hardware */
529530   MDRV_VIDEO_UPDATE(r2dtank)
r9191r9192
552553   MDRV_SOUND_CONFIG(ay8910_2_interface)
553554   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
554555
555MACHINE_DRIVER_END
556MACHINE_CONFIG_END
556557
557558
558559
src/mame/drivers/m72.c
r9191r9192
17911791
17921792
17931793
1794static MACHINE_DRIVER_START( m72_base )
1794static MACHINE_CONFIG_START( m72_base, driver_device )
17951795
17961796   /* basic machine hardware */
17971797   MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
18301830   MDRV_SOUND_ADD("dac", DAC, 0)
18311831   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
18321832   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
1833MACHINE_DRIVER_END
1833MACHINE_CONFIG_END
18341834
1835static MACHINE_DRIVER_START( m72 )
1836
1837   MDRV_IMPORT_FROM(m72_base)
1835static MACHINE_CONFIG_DERIVED( m72, m72_base )
18381836   MDRV_CPU_MODIFY("maincpu")
18391837   MDRV_CPU_VBLANK_INT_HACK(fake_nmi,128)   /* clocked by V1? (Vigilante) */
18401838                     /* IRQs are generated by main Z80 and YM2151 */
1841MACHINE_DRIVER_END
1839MACHINE_CONFIG_END
18421840
1843static MACHINE_DRIVER_START( m72_8751 )
1841static MACHINE_CONFIG_DERIVED( m72_8751, m72_base )
18441842
1845   MDRV_IMPORT_FROM(m72_base)
1846
18471843   MDRV_CPU_ADD("mcu",I8751, MASTER_CLOCK/4)
18481844   MDRV_CPU_IO_MAP(mcu_io_map)
18491845   MDRV_CPU_VBLANK_INT("screen", m72_mcu_int)
18501846
1851MACHINE_DRIVER_END
1847MACHINE_CONFIG_END
18521848
18531849
1854static MACHINE_DRIVER_START( rtype )
1850static MACHINE_CONFIG_START( rtype, driver_device )
18551851
18561852   /* basic machine hardware */
18571853   MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
18871883   MDRV_SOUND_CONFIG(ym2151_config)
18881884   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
18891885   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1890MACHINE_DRIVER_END
1886MACHINE_CONFIG_END
18911887
1892static MACHINE_DRIVER_START( xmultipl )
1888static MACHINE_CONFIG_START( xmultipl, driver_device )
18931889
18941890   /* basic machine hardware */
18951891   MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
19301926   MDRV_SOUND_ADD("dac", DAC, 0)
19311927   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
19321928   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
1933MACHINE_DRIVER_END
1929MACHINE_CONFIG_END
19341930
1935static MACHINE_DRIVER_START( xmultiplm72 )
1931static MACHINE_CONFIG_START( xmultiplm72, driver_device )
19361932
19371933   /* basic machine hardware */
19381934   MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
19731969   MDRV_SOUND_ADD("dac", DAC, 0)
19741970   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
19751971   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
1976MACHINE_DRIVER_END
1972MACHINE_CONFIG_END
19771973
1978static MACHINE_DRIVER_START( dbreed )
1974static MACHINE_CONFIG_START( dbreed, driver_device )
19791975
19801976   /* basic machine hardware */
19811977   MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
20162012   MDRV_SOUND_ADD("dac", DAC, 0)
20172013   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
20182014   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
2019MACHINE_DRIVER_END
2015MACHINE_CONFIG_END
20202016
2021static MACHINE_DRIVER_START( dbreedm72 )
2017static MACHINE_CONFIG_START( dbreedm72, driver_device )
20222018
20232019   /* basic machine hardware */
20242020   MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
20592055   MDRV_SOUND_ADD("dac", DAC, 0)
20602056   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
20612057   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
2062MACHINE_DRIVER_END
2058MACHINE_CONFIG_END
20632059
2064static MACHINE_DRIVER_START( rtype2 )
2060static MACHINE_CONFIG_START( rtype2, driver_device )
20652061
20662062   /* basic machine hardware */
20672063   MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
21022098   MDRV_SOUND_ADD("dac", DAC, 0)
21032099   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
21042100   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
2105MACHINE_DRIVER_END
2101MACHINE_CONFIG_END
21062102
2107static MACHINE_DRIVER_START( majtitle )
2103static MACHINE_CONFIG_START( majtitle, driver_device )
21082104
21092105   /* basic machine hardware */
21102106   MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
21452141   MDRV_SOUND_ADD("dac", DAC, 0)
21462142   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
21472143   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
2148MACHINE_DRIVER_END
2144MACHINE_CONFIG_END
21492145
2150static MACHINE_DRIVER_START( hharry )
2146static MACHINE_CONFIG_START( hharry, driver_device )
21512147
21522148   /* basic machine hardware */
21532149   MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
21882184   MDRV_SOUND_ADD("dac", DAC, 0)
21892185   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
21902186   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
2191MACHINE_DRIVER_END
2187MACHINE_CONFIG_END
21922188
2193static MACHINE_DRIVER_START( hharryu )
2189static MACHINE_CONFIG_START( hharryu, driver_device )
21942190
21952191   /* basic machine hardware */
21962192   MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
22312227   MDRV_SOUND_ADD("dac", DAC, 0)
22322228   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
22332229   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
2234MACHINE_DRIVER_END
2230MACHINE_CONFIG_END
22352231
2236static MACHINE_DRIVER_START( dkgenm72 )
2232static MACHINE_CONFIG_START( dkgenm72, driver_device )
22372233
22382234   /* basic machine hardware */
22392235   MDRV_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
22742270   MDRV_SOUND_ADD("dac", DAC, 0)
22752271   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
22762272   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
2277MACHINE_DRIVER_END
2273MACHINE_CONFIG_END
22782274
2279static MACHINE_DRIVER_START( poundfor )
2275static MACHINE_CONFIG_START( poundfor, driver_device )
22802276
22812277   /* basic machine hardware */
22822278   MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2)   /* 16 MHz external freq (8MHz internal) */
r9191r9192
23172313   MDRV_SOUND_ADD("dac", DAC, 0)
23182314   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
23192315   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
2320MACHINE_DRIVER_END
2316MACHINE_CONFIG_END
23212317
2322static MACHINE_DRIVER_START( cosmccop )
2318static MACHINE_CONFIG_START( cosmccop, driver_device )
23232319
23242320   /* basic machine hardware */
23252321   MDRV_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2)
r9191r9192
23602356   MDRV_SOUND_ADD("dac", DAC, 0)
23612357   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
23622358   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
2363MACHINE_DRIVER_END
2359MACHINE_CONFIG_END
23642360
23652361static const nec_config kengo_config ={ gunforce_decryption_table, };
23662362
2367static MACHINE_DRIVER_START( kengo )
2368   MDRV_IMPORT_FROM( cosmccop )
2363static MACHINE_CONFIG_DERIVED( kengo, cosmccop )
23692364   MDRV_CPU_MODIFY("maincpu")
23702365   MDRV_CPU_CONFIG(kengo_config)
2371MACHINE_DRIVER_END
2366MACHINE_CONFIG_END
23722367
23732368
23742369/***************************************************************************
src/mame/drivers/pokechmp.c
r9191r9192
4949#include "sound/2203intf.h"
5050#include "sound/3812intf.h"
5151#include "sound/okim6295.h"
52#include "includes/pokechmp.h"
5253
53extern WRITE8_HANDLER( pokechmp_videoram_w );
54extern WRITE8_HANDLER( pokechmp_flipscreen_w );
55
56extern VIDEO_START( pokechmp );
57extern VIDEO_UPDATE( pokechmp );
58
59
6054static WRITE8_HANDLER( pokechmp_bank_w )
6155{
6256   UINT8 *RAM = memory_region(space->machine, "maincpu");
r9191r9192
113107
114108static ADDRESS_MAP_START( pokechmp_map, ADDRESS_SPACE_PROGRAM, 8 )
115109   AM_RANGE(0x0000, 0x07ff) AM_RAM
116   AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pokechmp_videoram_w) AM_BASE_GENERIC(videoram)
110   AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pokechmp_videoram_w) AM_BASE_MEMBER(pokechmp_state, videoram)
117111   AM_RANGE(0x1000, 0x11ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
118112
119113   AM_RANGE(0x1800, 0x1800) AM_READ_PORT("P1")
r9191r9192
141135   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_w)
142136   AM_RANGE(0x1800, 0x1800) AM_WRITENOP   /* MSM5205 chip on Pocket Gal, not connected here? */
143137//  AM_RANGE(0x2000, 0x2000) AM_WRITE(pokechmp_sound_bank_w)/ * might still be sound bank */
144   AM_RANGE(0x2800, 0x2800) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w) // extra
138   AM_RANGE(0x2800, 0x2800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write) // extra
145139   AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
146140//  AM_RANGE(0x3400, 0x3400) AM_READ(pokechmp_adpcm_reset_r)    /* ? not sure */
147141   AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank3")
r9191r9192
228222GFXDECODE_END
229223
230224
231static MACHINE_DRIVER_START( pokechmp )
225static MACHINE_CONFIG_START( pokechmp, pokechmp_state )
232226
233227   /* basic machine hardware */
234228   MDRV_CPU_ADD("maincpu", M6502, 4000000)
r9191r9192
265259   MDRV_OKIM6295_ADD("oki", 4000000/4, OKIM6295_PIN7_HIGH) // ?? unknown frequency
266260   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)   /* sound fx */
267261   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
268MACHINE_DRIVER_END
262MACHINE_CONFIG_END
269263
270264static DRIVER_INIT( pokechmp )
271265{
src/mame/drivers/crgolf.c
r9191r9192
382382 *
383383 *************************************/
384384
385static MACHINE_DRIVER_START( crgolf )
385static MACHINE_CONFIG_START( crgolf, crgolf_state )
386386
387   /* driver data */
388   MDRV_DRIVER_DATA(crgolf_state)
389
390387   /* basic machine hardware */
391388   MDRV_CPU_ADD("maincpu", Z80,MASTER_CLOCK/3/2)
392389   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
401398   MDRV_QUANTUM_TIME(HZ(6000))
402399
403400   /* video hardware */
404   MDRV_IMPORT_FROM(crgolf_video)
401   MDRV_FRAGMENT_ADD(crgolf_video)
405402
406403   /* sound hardware */
407404   MDRV_SPEAKER_STANDARD_MONO("mono")
408405   MDRV_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK/3/2/2)
409406   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
410MACHINE_DRIVER_END
407MACHINE_CONFIG_END
411408
412409
413static MACHINE_DRIVER_START( crgolfhi )
414   MDRV_IMPORT_FROM(crgolf)
410static MACHINE_CONFIG_DERIVED( crgolfhi, crgolf )
415411
416412   MDRV_SOUND_ADD("msm", MSM5205, 384000)
417413   MDRV_SOUND_CONFIG(msm5205_intf)
418414   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
419MACHINE_DRIVER_END
415MACHINE_CONFIG_END
420416
421417
422418
src/mame/drivers/mastboy.c
r9191r9192
437437#include "cpu/z180/z180.h"
438438#include "sound/saa1099.h"
439439#include "sound/msm5205.h"
440#include "machine/nvram.h"
440441
441442/* RAM areas */
442443static UINT8* mastboy_tileram;
r9191r9192
456457static int mastboy_m5205_part;
457458static int mastboy_m5205_sambit0, mastboy_m5205_sambit1;
458459
460class mastboy_state : public driver_device
461{
462public:
463   mastboy_state(running_machine &machine, const driver_device_config_base &config)
464      : driver_device(machine, config),
465        m_nvram(*this, "nvram") { }
466
467   required_shared_ptr<UINT8>   m_nvram;
468};
469
470
459471/* VIDEO EMULATION */
460472
461473static VIDEO_START(mastboy)
r9191r9192
583595
584596static READ8_HANDLER( mastboy_backupram_r )
585597{
586   return space->machine->generic.nvram.u8[offset];
598   mastboy_state *state = space->machine->driver_data<mastboy_state>();
599   return state->m_nvram[offset];
587600}
588601
589602static WRITE8_HANDLER( mastboy_backupram_w )
590603{
604   mastboy_state *state = space->machine->driver_data<mastboy_state>();
591605//  if (mastboy_backupram_enabled)
592606//  {
593      space->machine->generic.nvram.u8[offset] = data;
607      state->m_nvram[offset] = data;
594608//  }
595609//  else
596610//  {
r9191r9192
685699
686700   AM_RANGE(0xc000, 0xffff) AM_READWRITE(banked_ram_r,banked_ram_w) // mastboy bank area read / write
687701
688   AM_RANGE(0xff000, 0xff7ff) AM_READWRITE(mastboy_backupram_r,mastboy_backupram_w) AM_BASE_SIZE_GENERIC(nvram)
702   AM_RANGE(0xff000, 0xff7ff) AM_READWRITE(mastboy_backupram_r,mastboy_backupram_w) AM_SHARE("nvram")
689703
690704   AM_RANGE(0xff800, 0xff807) AM_READ_PORT("P1")
691705   AM_RANGE(0xff808, 0xff80f) AM_READ_PORT("P2")
r9191r9192
855869
856870
857871
858static MACHINE_DRIVER_START( mastboy )
872static MACHINE_CONFIG_START( mastboy, mastboy_state )
859873   MDRV_CPU_ADD("maincpu", Z180, 12000000/2)   /* HD647180X0CP6-1M1R */
860874   MDRV_CPU_PROGRAM_MAP(mastboy_map)
861875   MDRV_CPU_IO_MAP(mastboy_io_map)
862876   MDRV_CPU_VBLANK_INT("screen", mastboy_interrupt)
863877
864   MDRV_NVRAM_HANDLER(generic_1fill)
878   MDRV_NVRAM_ADD_1FILL("nvram")
865879
866880   MDRV_MACHINE_RESET( mastboy )
867881
r9191r9192
887901   MDRV_SOUND_ADD("msm", MSM5205, 384000)
888902   MDRV_SOUND_CONFIG(msm5205_config)
889903   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
890MACHINE_DRIVER_END
904MACHINE_CONFIG_END
891905
892906/* Romsets */
893907
src/mame/drivers/rmhaihai.c
r9191r9192
437437
438438
439439
440static MACHINE_DRIVER_START( rmhaihai )
440static MACHINE_CONFIG_START( rmhaihai, driver_device )
441441
442442   /* basic machine hardware */
443443   MDRV_CPU_ADD("maincpu",Z80,20000000/4)   /* 5 MHz ??? */
r9191r9192
470470   MDRV_SOUND_ADD("msm", MSM5205, 500000)
471471   MDRV_SOUND_CONFIG(msm5205_config)
472472   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
473MACHINE_DRIVER_END
473MACHINE_CONFIG_END
474474
475static MACHINE_DRIVER_START( rmhaisei )
475static MACHINE_CONFIG_DERIVED( rmhaisei, rmhaihai )
476476
477477   /* basic machine hardware */
478   MDRV_IMPORT_FROM(rmhaihai)
479478
480479   /* video hardware */
481480   MDRV_GFXDECODE(themj)
482481   MDRV_PALETTE_LENGTH(0x200)
483MACHINE_DRIVER_END
482MACHINE_CONFIG_END
484483
485static MACHINE_DRIVER_START( themj )
484static MACHINE_CONFIG_DERIVED( themj, rmhaihai )
486485
487486   /* basic machine hardware */
488   MDRV_IMPORT_FROM(rmhaihai)
489487
490488   MDRV_CPU_MODIFY("maincpu")
491489   MDRV_CPU_PROGRAM_MAP(themj_map)
r9191r9192
496494   /* video hardware */
497495   MDRV_GFXDECODE(themj)
498496   MDRV_PALETTE_LENGTH(0x200)
499MACHINE_DRIVER_END
497MACHINE_CONFIG_END
500498
501499
502500
src/mame/drivers/topspeed.c
r9191r9192
693693   "maincpu", "audiocpu"
694694};
695695
696static MACHINE_DRIVER_START( topspeed )
696static MACHINE_CONFIG_START( topspeed, topspeed_state )
697697
698   /* driver data */
699   MDRV_DRIVER_DATA(topspeed_state)
700
701698   /* basic machine hardware */
702699   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz ??? */
703700   MDRV_CPU_PROGRAM_MAP(topspeed_map)
r9191r9192
744741   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
745742
746743   MDRV_TC0140SYT_ADD("tc0140syt", topspeed_tc0140syt_intf)
747MACHINE_DRIVER_END
744MACHINE_CONFIG_END
748745
749746
750747
src/mame/drivers/segae.c
r9191r9192
865865   ADDRESS_MAP_GLOBAL_MASK(0xff)
866866ADDRESS_MAP_END
867867
868static MACHINE_DRIVER_START( systeme )
868static MACHINE_CONFIG_START( systeme, driver_device )
869869   MDRV_CPU_ADD("maincpu", Z80, 10738600/2) /* correct?  */
870870   MDRV_CPU_PROGRAM_MAP(systeme_map)
871871   MDRV_CPU_IO_MAP(io_map)
r9191r9192
897897
898898   MDRV_SOUND_ADD("sn2", SN76496, 3579540)
899899   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
900MACHINE_DRIVER_END
900MACHINE_CONFIG_END
901901
902902
903903/*- Hang On Jr. Specific -*/
src/mame/drivers/amspdwy.c
r9191r9192
271271   state->wheel_return[1] = 0;
272272}
273273
274static MACHINE_DRIVER_START( amspdwy )
274static MACHINE_CONFIG_START( amspdwy, amspdwy_state )
275275
276   /* driver data */
277   MDRV_DRIVER_DATA(amspdwy_state)
278
279276   /* basic machine hardware */
280277   MDRV_CPU_ADD("maincpu", Z80,3000000)
281278   MDRV_CPU_PROGRAM_MAP(amspdwy_map)
r9191r9192
308305   MDRV_SOUND_CONFIG(amspdwy_ym2151_interface)
309306   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
310307   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
311MACHINE_DRIVER_END
308MACHINE_CONFIG_END
312309
313310
314311
src/mame/drivers/fantland.c
r9191r9192
590590
591591static INPUT_PORTS_START( borntofi )
592592   PORT_START("P1_GUN")   /* 53000 (Lightgun) */
593   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
594   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
595   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
596   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
597   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
598   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
599   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
600   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
593   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
594   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
595   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
596   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
597   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
598   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
599   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
600   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
601601
602602   PORT_START("P2_GUN")   /* 53001 (Lightgun) */
603   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
604   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
605   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
606   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
607   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
608   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
609   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
610   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
603   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
604   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
605   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03) PORT_PLAYER(2)
606   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03) PORT_PLAYER(2)
607   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
608   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
609   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
610   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x03)
611611
612612   PORT_START("P1_TRACK")   /* 53000 (Trackball) */
613   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_COIN1 )
614   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_START1 )
615   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL )   // trackball x
616   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL )   // trackball x
617   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )   // trackball y
618   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL )   // trackball y
619   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_BUTTON2   )
620   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_BUTTON1   )
613   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_COIN1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00)
614   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_START1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00)
615   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00) // trackball x
616   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00) // trackball x
617   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00) // trackball y
618   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00) // trackball y
619   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_BUTTON2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00)
620   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_BUTTON1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00)
621621
622622   PORT_START("P2_TRACK")   /* 53001 (Trackball) */
623   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_COIN2 )
624   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_START2 )
625   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL )   // trackball x
626   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL )   // trackball x
627   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )   // trackball y
628   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL )   // trackball y
629   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_BUTTON2   ) PORT_PLAYER(2)
630   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_BUTTON1   ) PORT_PLAYER(2)
623   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_COIN2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00)
624   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_START2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00)
625   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00) // trackball x
626   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00) // trackball x
627   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00) // trackball y
628   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00) // trackball y
629   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_BUTTON2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00) PORT_PLAYER(2)
630   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_BUTTON1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x00) PORT_PLAYER(2)
631631
632632   PORT_START("P1_JOY")   /* 53000 (Joystick) */
633   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
634   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
635   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
636   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
637   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
638   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
639   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )
640   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
633   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02)
634   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02)
635   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02)
636   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02)
637   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02)
638   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02)
639   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02)
640   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02)
641641
642642   PORT_START("P2_JOY")   /* 53001 (Joystick) */
643   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )
644   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
645   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
646   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
647   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
648   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
649   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
650   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
643   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02)
644   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02)
645   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02) PORT_PLAYER(2)
646   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02) PORT_PLAYER(2)
647   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02) PORT_PLAYER(2)
648   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02) PORT_PLAYER(2)
649   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02) PORT_PLAYER(2)
650   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )   PORT_CONDITION("Controls", 0x03, PORTCOND_EQUALS, 0x02) PORT_PLAYER(2)
651651
652652   PORT_START("DSW")   /* 53002 */
653653   PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
r9191r9192
852852   cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0x80 / 4);
853853}
854854
855static MACHINE_DRIVER_START( fantland )
855static MACHINE_CONFIG_START( fantland, fantland_state )
856856
857   /* driver data */
858   MDRV_DRIVER_DATA(fantland_state)
859
860857   /* basic machine hardware */
861858   MDRV_CPU_ADD("maincpu", I8086, 8000000)        // ?
862859   MDRV_CPU_PROGRAM_MAP(fantland_map)
r9191r9192
895892
896893   MDRV_SOUND_ADD("dac", DAC, 0)
897894   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
898MACHINE_DRIVER_END
895MACHINE_CONFIG_END
899896
900897
901898static void galaxygn_sound_irq( running_device *device, int line )
r9191r9192
909906   galaxygn_sound_irq
910907};
911908
912static MACHINE_DRIVER_START( galaxygn )
909static MACHINE_CONFIG_START( galaxygn, fantland_state )
913910
914   /* driver data */
915   MDRV_DRIVER_DATA(fantland_state)
916
917911   /* basic machine hardware */
918912   MDRV_CPU_ADD("maincpu", I8088, 8000000)        // ?
919913   MDRV_CPU_PROGRAM_MAP(galaxygn_map)
r9191r9192
947941   MDRV_SOUND_CONFIG(galaxygn_ym2151_interface)
948942   MDRV_SOUND_ROUTE(0, "mono", 1.0)
949943   MDRV_SOUND_ROUTE(1, "mono", 1.0)
950MACHINE_DRIVER_END
944MACHINE_CONFIG_END
951945
952946
953947// OKI M5205 running at 384kHz [18.432/48]. Sample rate = 384000 / 48
r9191r9192
10221016   borntofi_adpcm_stop(machine->device("msm4"), 3);
10231017}
10241018
1025static MACHINE_DRIVER_START( borntofi )
1019static MACHINE_CONFIG_START( borntofi, fantland_state )
10261020
1027   /* driver data */
1028   MDRV_DRIVER_DATA(fantland_state)
1029
10301021   /* basic machine hardware */
10311022   MDRV_CPU_ADD("maincpu", V20, 16000000/2)        // D701080C-8 - NEC D70108C-8 V20 CPU, running at 8.000MHz [16/2]
10321023   MDRV_CPU_PROGRAM_MAP(borntofi_map)
r9191r9192
10581049   MDRV_SOUND_ADD("msm2", MSM5205, 384000) MDRV_SOUND_CONFIG(msm5205_config_1) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
10591050   MDRV_SOUND_ADD("msm3", MSM5205, 384000) MDRV_SOUND_CONFIG(msm5205_config_2) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
10601051   MDRV_SOUND_ADD("msm4", MSM5205, 384000) MDRV_SOUND_CONFIG(msm5205_config_3) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1061MACHINE_DRIVER_END
1052MACHINE_CONFIG_END
10621053
10631054
10641055
r9191r9192
10731064   wheelrun_ym3526_irqhandler
10741065};
10751066
1076static MACHINE_DRIVER_START( wheelrun )
1067static MACHINE_CONFIG_START( wheelrun, fantland_state )
10771068
1078   /* driver data */
1079   MDRV_DRIVER_DATA(fantland_state)
1080
10811069   /* basic machine hardware */
10821070   MDRV_CPU_ADD("maincpu", V20, XTAL_18MHz/2)      // D701080C-8 (V20)
10831071   MDRV_CPU_PROGRAM_MAP(wheelrun_map)
r9191r9192
11091097   MDRV_SOUND_ADD("ymsnd", YM3526, XTAL_14MHz/4)
11101098   MDRV_SOUND_CONFIG(wheelrun_ym3526_interface)
11111099   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1112MACHINE_DRIVER_END
1100MACHINE_CONFIG_END
11131101
11141102
11151103/***************************************************************************
src/mame/drivers/atarig1.c
r9191r9192
221221   AM_RANGE(0xfc0000, 0xfc0001) AM_READ(special_port0_r)
222222   AM_RANGE(0xfc8000, 0xfc8007) AM_READWRITE(a2d_data_r, a2d_select_w)
223223   AM_RANGE(0xfd0000, 0xfd0001) AM_READ(atarigen_sound_upper_r)
224   AM_RANGE(0xfd8000, 0xfdffff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(atarig1_state, eeprom, eeprom_size)
224   AM_RANGE(0xfd8000, 0xfdffff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
225225/*  AM_RANGE(0xfe0000, 0xfe7fff) AM_READ(from_r)*/
226226   AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
227227   AM_RANGE(0xff0000, 0xff0fff) AM_WRITE(atarirle_0_spriteram_w) AM_BASE(&atarirle_0_spriteram)
r9191r9192
407407 *
408408 *************************************/
409409
410static MACHINE_DRIVER_START( atarig1 )
411   MDRV_DRIVER_DATA(atarig1_state)
410static MACHINE_CONFIG_START( atarig1, atarig1_state )
412411
413412   /* basic machine hardware */
414413   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz)
r9191r9192
417416
418417   MDRV_MACHINE_START(atarig1)
419418   MDRV_MACHINE_RESET(atarig1)
420   MDRV_NVRAM_HANDLER(atarigen)
419   MDRV_NVRAM_ADD_1FILL("eeprom")
421420
422421   /* video hardware */
423422   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
434433   MDRV_VIDEO_UPDATE(atarig1)
435434
436435   /* sound hardware */
437   MDRV_IMPORT_FROM(jsa_ii_mono)
438MACHINE_DRIVER_END
436   MDRV_FRAGMENT_ADD(jsa_ii_mono)
437MACHINE_CONFIG_END
439438
440439
441440
src/mame/drivers/toobin.c
r9191r9192
127127   AM_RANGE(0xff8800, 0xff8801) AM_MIRROR(0x4507fe) AM_READ_PORT("FF8800")
128128   AM_RANGE(0xff9000, 0xff9001) AM_MIRROR(0x4507fe) AM_READ(special_port1_r)
129129   AM_RANGE(0xff9800, 0xff9801) AM_MIRROR(0x4507fe) AM_READ(atarigen_sound_r)
130   AM_RANGE(0xffa000, 0xffafff) AM_MIRROR(0x451000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(toobin_state, eeprom, eeprom_size)
130   AM_RANGE(0xffa000, 0xffafff) AM_MIRROR(0x451000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
131131   AM_RANGE(0xffc000, 0xffffff) AM_MIRROR(0x450000) AM_RAM
132132ADDRESS_MAP_END
133133
r9191r9192
223223 *
224224 *************************************/
225225
226static MACHINE_DRIVER_START( toobin )
227   MDRV_DRIVER_DATA(toobin_state)
226static MACHINE_CONFIG_START( toobin, toobin_state )
228227
229228   /* basic machine hardware */
230229   MDRV_CPU_ADD("maincpu", M68010, MASTER_CLOCK/4)
r9191r9192
232231
233232   MDRV_MACHINE_START(toobin)
234233   MDRV_MACHINE_RESET(toobin)
235   MDRV_NVRAM_HANDLER(atarigen)
234   MDRV_NVRAM_ADD_1FILL("eeprom")
236235   MDRV_WATCHDOG_VBLANK_INIT(8)
237236
238237   /* video hardware */
r9191r9192
249248   MDRV_VIDEO_UPDATE(toobin)
250249
251250   /* sound hardware */
252   MDRV_IMPORT_FROM(jsa_i_stereo_pokey)
253MACHINE_DRIVER_END
251   MDRV_FRAGMENT_ADD(jsa_i_stereo_pokey)
252MACHINE_CONFIG_END
254253
255254
256255
src/mame/drivers/albazc.c
r9191r9192
1414#include "cpu/z80/z80.h"
1515#include "sound/ay8910.h"
1616
17class albazc_state : public driver_data_t
17class albazc_state : public driver_device
1818{
1919public:
20   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, albazc_state(machine)); }
20   albazc_state(running_machine &machine, const driver_device_config_base &config)
21      : driver_device(machine, config) { }
2122
22   albazc_state(running_machine &machine)
23      : driver_data_t(machine) { }
24
2523   /* video-related */
2624   UINT8 *  spriteram1;
2725   UINT8 *  spriteram2;
r9191r9192
259257};
260258
261259
262static MACHINE_DRIVER_START( hanaroku )
260static MACHINE_CONFIG_START( hanaroku, albazc_state )
263261
264   /* driver data */
265   MDRV_DRIVER_DATA(albazc_state)
266
267262   MDRV_CPU_ADD("maincpu", Z80,6000000)       /* ? MHz */
268263   MDRV_CPU_PROGRAM_MAP(hanaroku_map)
269264   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
r9191r9192
289284   MDRV_SOUND_ADD("aysnd", AY8910, 1500000) /* ? MHz */
290285   MDRV_SOUND_CONFIG(ay8910_config)
291286   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
292MACHINE_DRIVER_END
287MACHINE_CONFIG_END
293288
294289
295290ROM_START( hanaroku )
src/mame/drivers/legionna.c
r9191r9192
217217   AM_RANGE(0x0000, 0x7fff) AM_ROM
218218   AM_RANGE(0x8000, 0x87ff) AM_RAM
219219   AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("oki", okim_rombank_w)
220   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
220   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
221221   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
222222ADDRESS_MAP_END
223223
r9191r9192
10391039
10401040/*****************************************************************************/
10411041
1042static MACHINE_DRIVER_START( legionna )
1042static MACHINE_CONFIG_START( legionna, driver_device )
10431043
10441044   /* basic machine hardware */
10451045   MDRV_CPU_ADD("maincpu", M68000,20000000/2)   /* ??? */
r9191r9192
10681068
10691069   /* sound hardware */
10701070   SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4,1320000)
1071MACHINE_DRIVER_END
1071MACHINE_CONFIG_END
10721072
10731073
1074static MACHINE_DRIVER_START( heatbrl )
1074static MACHINE_CONFIG_START( heatbrl, driver_device )
10751075
10761076   /* basic machine hardware */
10771077   MDRV_CPU_ADD("maincpu", M68000,20000000/2)   /* ??? */
r9191r9192
11001100
11011101   /* sound hardware */
11021102   SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4,1320000)
1103MACHINE_DRIVER_END
1103MACHINE_CONFIG_END
11041104
1105static MACHINE_DRIVER_START( godzilla )
1105static MACHINE_CONFIG_START( godzilla, driver_device )
11061106
11071107   /* basic machine hardware */
11081108   MDRV_CPU_ADD("maincpu", M68000, 20000000/2)
r9191r9192
11311131
11321132   /* sound hardware */
11331133   SEIBU_SOUND_SYSTEM_YM2151_INTERFACE(14318180/4,1320000)
1134MACHINE_DRIVER_END
1134MACHINE_CONFIG_END
11351135
1136static MACHINE_DRIVER_START( denjinmk )
1136static MACHINE_CONFIG_START( denjinmk, driver_device )
11371137
11381138   /* basic machine hardware */
11391139   MDRV_CPU_ADD("maincpu", M68000, 20000000/2)
r9191r9192
11621162
11631163   /* sound hardware */
11641164   SEIBU_SOUND_SYSTEM_YM2151_INTERFACE(14318180/4,1320000)
1165MACHINE_DRIVER_END
1165MACHINE_CONFIG_END
11661166
1167static MACHINE_DRIVER_START( grainbow )
1167static MACHINE_CONFIG_START( grainbow, driver_device )
11681168
11691169   /* basic machine hardware */
11701170   MDRV_CPU_ADD("maincpu", M68000, 20000000/2)
r9191r9192
11931193
11941194   /* sound hardware */
11951195   SEIBU_SOUND_SYSTEM_YM2151_INTERFACE(14318180/4,1320000)
1196MACHINE_DRIVER_END
1196MACHINE_CONFIG_END
11971197
11981198
1199static MACHINE_DRIVER_START( cupsoc )
1199static MACHINE_CONFIG_START( cupsoc, driver_device )
12001200
12011201   /* basic machine hardware */
12021202   MDRV_CPU_ADD("maincpu", M68000,20000000/2)
r9191r9192
12251225
12261226   /* sound hardware */
12271227   SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4,1320000)
1228MACHINE_DRIVER_END
1228MACHINE_CONFIG_END
12291229
12301230
1231static MACHINE_DRIVER_START( cupsocbl )
1231static MACHINE_CONFIG_START( cupsocbl, driver_device )
12321232
12331233   /* basic machine hardware */
12341234   MDRV_CPU_ADD("maincpu", M68000,12000000)
r9191r9192
12641264
12651265   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
12661266   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1267MACHINE_DRIVER_END
1267MACHINE_CONFIG_END
12681268
12691269/***************************************************************************
12701270
src/mame/drivers/midas.c
r9191r9192
671671   livequiz_irqhandler
672672};
673673
674static MACHINE_DRIVER_START( livequiz )
674static MACHINE_CONFIG_START( livequiz, driver_device )
675675
676676   /* basic machine hardware */
677677   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2)
r9191r9192
700700   MDRV_SOUND_CONFIG(ymz280b_config)
701701   MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
702702   MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
703MACHINE_DRIVER_END
703MACHINE_CONFIG_END
704704
705static MACHINE_DRIVER_START( hammer )
705static MACHINE_CONFIG_START( hammer, driver_device )
706706
707707   /* basic machine hardware */
708708   MDRV_CPU_ADD("maincpu", M68000, XTAL_28MHz / 2)
r9191r9192
735735   MDRV_SOUND_CONFIG(ymz280b_config)
736736   MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
737737   MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
738MACHINE_DRIVER_END
738MACHINE_CONFIG_END
739739
740740
741741/***************************************************************************************
src/mame/drivers/aristmk4.c
r9191r9192
5959        since they match 4 of 6 bitplanes. The PROM at U71 is also marked for Fantasy Fortune,
6060        so maybe is the correct one for this game.
6161
62        The mc146818 driver is buggy - reported problem to Firewave and issues will be addressed.
63        In this driver, the wrong day of the month is shown, wrong hours are shown.
64        rtc causes game to freeze if the game is left in audit mode with continuous writes to 0xA reg - 0x80 data.
62        1/9/10 - Frasher
63        Cashcade workaround for topgear
6564
65        The mc146818 emulation has issues and is not working correctly.
66
67        - day of week is incorrect
68        - day of month is incorrect ( code is using day instead of mday ).
69        - hours are not showing up correct in PM and 12 hour mode
70        - rtc causes game to freeze if the game is left in audit mode with continuous writes to 0xA reg - 0x80 data )
71
6672        TODO:
6773        1.Create layouts for each game  ( each game is currently using the generic aristmk4.lay for now ).
6874        - Games may have different button configuration requirements ( ie.. 9 or 5 lines and different bet values )
6975
7076        2.Extend the driver to use the keno keyboard input for keno games.
7177
72        3.Some with cashcade jackpot systems such as topgear do not work yet. Eforest does not work.
78        3.Eforest does not work.
7379
74        5.Add note acceptor support
80        4.Add note acceptor support
7581
76        6.Robot test
82        5.Robot test
7783
78***********************************************************************************************************************************************/
84        6.Provide complete cashcade emulation
7985
86        7.Look into cashbox photo-optic fault issues ( reproduced in robo test )
87
88        8.Look into what the hopper probe signal is for.
89
90
91 ***********************************************************************************************************************************************/
92
8093#define MAIN_CLOCK   XTAL_12MHz
8194
82
8395#include "emu.h"
8496#include "cpu/m6809/m6809.h"
8597#include "video/mc6845.h"
r9191r9192
92104#include "state.h"
93105#include "sound/samples.h"
94106#include "machine/mc146818.h" // DALLAS1287 is functionally compatible.
107#include "machine/nvram.h"
95108
96109
97110int rtc_address_strobe = 0;
r9191r9192
99112
100113running_device *samples;
101114UINT8 *shapeRomPtr;     // pointer to tile_gfx shape roms
102UINT8 shapeRom[0xC000]; // shaperom restore array.
115UINT8 shapeRom[0xc000]; // shaperom restore array.
103116
104117static UINT8 *mkiv_vram;
105118static UINT8 *nvram;    // backup
r9191r9192
112125static int hopper_motor;
113126static int inscrd;
114127
128/* Partial Caschcade protocol */
129static int cashcade_p[] ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0};
130static int cashcade_c = 0;
131
115132static VIDEO_START(aristmk4)
116133{
117134    int tile;
r9191r9192
232249    if (u3_p0_w&0x20) // DOPTE on
233250    {
234251        if (u3_p3_ret&0x02) // door closed
235               u3_p2_ret = u3_p2_ret^0x08; // DOPTI on
252         u3_p2_ret = u3_p2_ret^0x08; // DOPTI on
236253   }
237254
238255    if (inscrd==0)
r9191r9192
273290
274291static READ8_HANDLER(mkiv_pia_ina)
275292{
276    return mc146818_port_r(space,1);
293    return space->machine->device<mc146818_device>("rtc")->read(*space,1);
277294}
278295
279296//output a
280297
281298static WRITE8_HANDLER(mkiv_pia_outa)
282299{
300   mc146818_device *mc = space->machine->device<mc146818_device>("rtc");
283301    if(rtc_data_strobe)
284302    {
285        mc146818_port_w(space,1,data);
303        mc->write(*space,1,data);
286304        //logerror("rtc protocol write data: %02X\n",data);
287305
288306    }
289307    else
290308    {
291        mc146818_port_w(space,0,data);
309        mc->write(*space,0,data);
292310        //logerror("rtc protocol write address: %02X\n",data);
293311
294312    }
r9191r9192
618636    output_set_lamp_value(17, (data >> 7) & 1); // light tower
619637
620638    //logerror("Lights port B: %02X\n",data);
621
622
623639}
624640
625641static WRITE8_HANDLER(mlamps)
r9191r9192
640656}
641657
642658
659static READ8_HANDLER(cashcade_r)
660{
661   /* work around for cashcade games */
662   return cashcade_p[(cashcade_c++)%15];
663}
664
665static WRITE8_HANDLER(mk4_printer_w)
666{
667   //logerror("Printer: %c %d\n",data,data);
668}
669
670static READ8_HANDLER(mk4_printer_r)
671{
672   return 0;
673}
674
643675static ADDRESS_MAP_START( aristmk4_map, ADDRESS_SPACE_PROGRAM, 8 )
644676   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&mkiv_vram) // video ram -  chips U49 / U50
645677   AM_RANGE(0x0800, 0x17ff) AM_RAM
646   AM_RANGE(0x1800, 0x1800) AM_DEVWRITE("crtc", mc6845_address_w)
647   AM_RANGE(0x1801, 0x1801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
678   AM_RANGE(0x1800, 0x1801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
679   AM_RANGE(0x1c00, 0x1cff) AM_WRITE(mk4_printer_w)
680   AM_RANGE(0x1900, 0x19ff) AM_READ(mk4_printer_r)
648681   AM_RANGE(0x2000, 0x3fff) AM_ROM  // graphics rom map
649   AM_RANGE(0x4000, 0x4fff) AM_RAMBANK("bank1") AM_BASE_SIZE_GENERIC(nvram)
682   AM_RANGE(0x4000, 0x4fff) AM_RAMBANK("bank1") AM_SHARE("nvram")
650683
651684   AM_RANGE(0x5000, 0x5000) AM_WRITE(u3_p0)
652685   AM_RANGE(0x5002, 0x5002) AM_READ(u3_p2)
r9191r9192
655688   AM_RANGE(0x500d, 0x500d) AM_READ_PORT("500d")
656689   AM_RANGE(0x500e, 0x500e) AM_READ_PORT("500e")
657690   AM_RANGE(0x500f, 0x500f) AM_READ_PORT("500f")
658   AM_RANGE(0x5010, 0x501f) AM_DEVREADWRITE("via6522_0",via_r,via_w)
659   AM_RANGE(0x5200, 0x5200) AM_READ_PORT("5200")
691   AM_RANGE(0x5010, 0x501f) AM_DEVREADWRITE_MODERN("via6522_0",via6522_device,read,write)
692   AM_RANGE(0x5200, 0x5200) AM_READ(cashcade_r)
660693   AM_RANGE(0x5201, 0x5201) AM_READ_PORT("5201")
661694   AM_RANGE(0x527f, 0x5281) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
662695   AM_RANGE(0x5300, 0x5300) AM_READ_PORT("5300")
r9191r9192
731764   PORT_DIPSETTING(    0x00, DEF_STR( Off ) ) PORT_DIPLOCATION("5003:8")
732765   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
733766
734   /************************************************************************************************************
735
736    5300
737
738    ************************************************************************************************************/
739
740767    PORT_START("5300")
741768   PORT_DIPNAME( 0x01, 0x00, "5300-1")
742769   PORT_DIPSETTING(    0X00, DEF_STR( Off ) ) PORT_DIPLOCATION("5300:1")
r9191r9192
760787   PORT_DIPSETTING(    0X00, DEF_STR( Off ) ) PORT_DIPLOCATION("5300:7")
761788   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
762789   PORT_DIPNAME( 0x80, 0x80, "5300-8")
763   PORT_DIPSETTING(    0X00, DEF_STR( Off ) ) PORT_DIPLOCATION("5300:8")
790   PORT_DIPSETTING(    0X00, DEF_STR( Off ) ) PORT_DIPLOCATION("5300:8") // mechanical meter
764791   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
765792
766793   PORT_START("500d")
r9191r9192
11401167
11411168static DRIVER_INIT( aristmk4 )
11421169{
1143    mc146818_init(machine, MC146818_IGNORE_CENTURY);
11441170   shapeRomPtr = (UINT8 *)memory_region(machine, "tile_gfx");
11451171    memcpy(shapeRom,shapeRomPtr,sizeof(shapeRom)); // back up
11461172}
r9191r9192
11561182static MACHINE_RESET( aristmk4 )
11571183{
11581184    /* mark 4 has a link on the motherboard to switch between 1.5Mhz and 3Mhz clock speed */
1159    switch(input_port_read(machine, "LK13"))  // cpu speed cotrol.. 3mhz or 1.5mhz
1185    switch(input_port_read(machine, "LK13"))  // cpu speed control... 3mhz or 1.5mhz
11601186    {
11611187        case  0x00:
11621188            machine->device("maincpu")->set_unscaled_clock(MAIN_CLOCK/4);  // 3 Mhz
r9191r9192
11691195}
11701196
11711197
1172static MACHINE_DRIVER_START( aristmk4 )
1198static MACHINE_CONFIG_START( aristmk4, driver_device )
11731199
11741200   /* basic machine hardware */
11751201   MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK/8) // 1.5mhz (goldenc needs a bit faster for some reason)
11761202   MDRV_CPU_PROGRAM_MAP(aristmk4_map)
11771203   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
11781204   MDRV_MACHINE_START(aristmk4)
1179   MDRV_NVRAM_HANDLER( mc146818 )
11801205    MDRV_MACHINE_RESET(aristmk4 )
1181   MDRV_NVRAM_HANDLER(generic_0fill)
1206   MDRV_NVRAM_ADD_0FILL("nvram")
11821207
11831208    /* video hardware */
11841209   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
11991224   MDRV_VIA6522_ADD("via6522_0", 0, via_interface)   /* 1 MHz.(only 1 or 2 MHz.are valid) */
12001225   MDRV_PIA6821_ADD("pia6821_0", aristmk4_pia1_intf)
12011226    MDRV_MC6845_ADD("crtc", MC6845, MAIN_CLOCK/8, mc6845_intf)
1227    MDRV_MC146818_ADD("rtc", MC146818_IGNORE_CENTURY)
12021228
12031229    MDRV_SPEAKER_STANDARD_MONO("mono")
12041230
r9191r9192
12161242    MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.05)
12171243
12181244
1219MACHINE_DRIVER_END
1245MACHINE_CONFIG_END
12201246
12211247ROM_START( 3bagflvt )
12221248
src/mame/drivers/thunderx.c
r9191r9192
679679   MACHINE_RESET_CALL(scontra);
680680}
681681
682static MACHINE_DRIVER_START( scontra )
682static MACHINE_CONFIG_START( scontra, thunderx_state )
683683
684   /* driver data */
685   MDRV_DRIVER_DATA(thunderx_state)
686
687684   /* basic machine hardware */
688685   MDRV_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8)      /* Verified on pcb, CPU is 052001 */
689686   MDRV_CPU_PROGRAM_MAP(scontra_map)
r9191r9192
724721   MDRV_SOUND_CONFIG(k007232_config)
725722   MDRV_SOUND_ROUTE(0, "mono", 0.20)
726723   MDRV_SOUND_ROUTE(1, "mono", 0.20)
727MACHINE_DRIVER_END
724MACHINE_CONFIG_END
728725
729726
730static MACHINE_DRIVER_START( thunderx )
727static MACHINE_CONFIG_START( thunderx, thunderx_state )
731728
732   /* driver data */
733   MDRV_DRIVER_DATA(thunderx_state)
734
735729   /* basic machine hardware */
736730   MDRV_CPU_ADD("maincpu", KONAMI, 3000000)      /* ? */
737731   MDRV_CPU_PROGRAM_MAP(thunderx_map)
r9191r9192
767761   MDRV_SOUND_ADD("ymsnd", YM2151, 3579545)
768762   MDRV_SOUND_ROUTE(0, "mono", 1.0)
769763   MDRV_SOUND_ROUTE(1, "mono", 1.0)
770MACHINE_DRIVER_END
764MACHINE_CONFIG_END
771765
772766
773767/***************************************************************************
src/mame/drivers/galaxi.c
r9191r9192
4242#include "emu.h"
4343#include "cpu/m68000/m68000.h"
4444#include "sound/okim6295.h"
45#include "machine/nvram.h"
4546#include "galaxi.lh"
4647
47class galaxi_state : public driver_data_t
48class galaxi_state : public driver_device
4849{
4950public:
50   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, galaxi_state(machine)); }
51   galaxi_state(running_machine &machine, const driver_device_config_base &config)
52      : driver_device(machine, config) { }
5153
52   galaxi_state(running_machine &machine)
53      : driver_data_t(machine) { }
54
5554   /* memory pointers */
5655   UINT16 *  bg1_ram;
5756   UINT16 *  bg2_ram;
r9191r9192
286285   AM_RANGE(0x500002, 0x500003) AM_WRITE(galaxi_500002_w)
287286   AM_RANGE(0x500004, 0x500005) AM_WRITE(galaxi_500004_w)
288287
289   AM_RANGE(0x700000, 0x700001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
288   AM_RANGE(0x700000, 0x700001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
290289
291   AM_RANGE(0x600000, 0x607fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   // 2x DS1230Y (non volatile SRAM)
290   AM_RANGE(0x600000, 0x607fff) AM_RAM AM_SHARE("nvram")   // 2x DS1230Y (non volatile SRAM)
292291ADDRESS_MAP_END
293292
294293/***************************************************************************
r9191r9192
392391   state->out[2] = 0;
393392}
394393
395static MACHINE_DRIVER_START( galaxi )
394static MACHINE_CONFIG_START( galaxi, galaxi_state )
396395
397   /* driver data */
398   MDRV_DRIVER_DATA(galaxi_state)
399
400396   /* basic machine hardware */
401397   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)   // ?
402398   MDRV_CPU_PROGRAM_MAP(galaxi_map)
r9191r9192
404400
405401   MDRV_MACHINE_START(galaxi)
406402   MDRV_MACHINE_RESET(galaxi)
407   MDRV_NVRAM_HANDLER(generic_0fill)
403   MDRV_NVRAM_ADD_0FILL("nvram")
408404
409405   /* video hardware */
410406   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
425421
426422   MDRV_OKIM6295_ADD("oki", XTAL_16MHz/16, OKIM6295_PIN7_LOW)   // ?
427423   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
428MACHINE_DRIVER_END
424MACHINE_CONFIG_END
429425
430426
431static MACHINE_DRIVER_START( magjoker )
427static MACHINE_CONFIG_DERIVED( magjoker, galaxi )
428
432429   /* basic machine hardware */
433   MDRV_IMPORT_FROM(galaxi)
434430
435431   /* sound hardware */
436432   MDRV_SOUND_MODIFY("oki")
437433
438434   /* ADPCM samples are recorded with extremely low volume */
439435   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 4.0)
440MACHINE_DRIVER_END
436MACHINE_CONFIG_END
441437
442438
443439/***************************************************************************
src/mame/drivers/videopin.c
r9191r9192
321321 *
322322 *************************************/
323323
324static MACHINE_DRIVER_START( videopin )
324static MACHINE_CONFIG_START( videopin, driver_device )
325325
326326   /* basic machine hardware */
327327   MDRV_CPU_ADD("maincpu", M6502, 12096000 / 16)
r9191r9192
349349   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
350350   MDRV_SOUND_CONFIG_DISCRETE(videopin)
351351   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
352MACHINE_DRIVER_END
352MACHINE_CONFIG_END
353353
354354
355355
src/mame/drivers/murogmbl.c
r9191r9192
166166   GFXDECODE_ENTRY( "gfx1", 0, layout8x8x2,  0x0, 1 )
167167GFXDECODE_END
168168
169static MACHINE_DRIVER_START( murogmbl )
169static MACHINE_CONFIG_START( murogmbl, driver_device )
170170   /* basic machine hardware */
171171   MDRV_CPU_ADD("maincpu", Z80, 1000000) /* Z80? */
172172   MDRV_CPU_PROGRAM_MAP(murogmbl_map)
r9191r9192
191191   MDRV_SPEAKER_STANDARD_MONO("mono")
192192   MDRV_SOUND_ADD("dac1", DAC, 0)
193193   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
194MACHINE_DRIVER_END
194MACHINE_CONFIG_END
195195
196196
197197
src/mame/drivers/runaway.c
r9191r9192
1414#include "cpu/m6502/m6502.h"
1515#include "machine/atari_vg.h"
1616#include "sound/pokey.h"
17#include "includes/runaway.h"
1718
18extern VIDEO_START( runaway );
19extern VIDEO_START( qwak );
20extern VIDEO_UPDATE( runaway );
21extern VIDEO_UPDATE( qwak );
22
23extern UINT8* runaway_video_ram;
24extern UINT8* runaway_sprite_ram;
25
26extern WRITE8_HANDLER( runaway_paletteram_w );
27extern WRITE8_HANDLER( runaway_video_ram_w );
28extern WRITE8_HANDLER( runaway_tile_bank_w );
29
3019static emu_timer *interrupt_timer;
3120
3221static TIMER_CALLBACK( interrupt_callback )
r9191r9192
356345};
357346
358347
359static MACHINE_DRIVER_START( runaway )
348static MACHINE_CONFIG_START( runaway, driver_device )
360349
361350   /* basic machine hardware */
362351   MDRV_CPU_ADD("maincpu", M6502, 12096000 / 8) /* ? */
r9191r9192
390379   MDRV_SOUND_ADD("pokey2", POKEY, 12096000 / 8)
391380   MDRV_SOUND_CONFIG(pokey_interface_2)
392381   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
393MACHINE_DRIVER_END
382MACHINE_CONFIG_END
394383
395384
396static MACHINE_DRIVER_START( qwak )
385static MACHINE_CONFIG_DERIVED( qwak, runaway )
397386
398387   /* basic machine hardware */
399   MDRV_IMPORT_FROM(runaway)
400388
401389   /* video hardware */
402390   MDRV_GFXDECODE(qwak)
r9191r9192
404392   MDRV_VIDEO_START(qwak)
405393   MDRV_VIDEO_UPDATE(qwak)
406394
407MACHINE_DRIVER_END
395MACHINE_CONFIG_END
408396
409397
410398ROM_START( runaway )
src/mame/drivers/sothello.c
r9191r9192
344344    irqhandler
345345};
346346
347static MACHINE_DRIVER_START( sothello )
347static MACHINE_CONFIG_START( sothello, driver_device )
348348
349349    /* basic machine hardware */
350350
r9191r9192
390390    MDRV_SOUND_CONFIG(msm_interface)
391391    MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
392392
393MACHINE_DRIVER_END
393MACHINE_CONFIG_END
394394
395395/***************************************************************************
396396
src/mame/drivers/tumbleb.c
r9191r9192
325325
326326/******************************************************************************/
327327
328static WRITE16_DEVICE_HANDLER( tumblepb_oki_w )
328static WRITE16_HANDLER( tumblepb_oki_w )
329329{
330   okim6295_device *oki = space->machine->device<okim6295_device>("oki");
330331   if (mem_mask == 0xffff)
331332   {
332      okim6295_w(device, 0, data & 0xff);
333      oki->write(*space, 0, data & 0xff);
333334      //printf("tumbleb_oki_w %04x %04x\n", data, mem_mask);
334335   }
335336   else
336337   {
337      okim6295_w(device, 0, (data >> 8) & 0xff);
338      oki->write(*space, 0, (data >> 8) & 0xff);
338339      //printf("tumbleb_oki_w %04x %04x\n", data, mem_mask);
339340   }
340341    /* STUFF IN OTHER BYTE TOO..*/
r9191r9192
453454static void tumbleb2_playmusic( running_device *device )
454455{
455456   tumbleb_state *state = device->machine->driver_data<tumbleb_state>();
456   int status = okim6295_r(device, 0);
457   okim6295_device *oki = downcast<okim6295_device *>(device);
458   int status = oki->read_status();
457459
458460   if (state->music_is_playing)
459461   {
460462      if (!BIT(status, 3))
461463      {
462         okim6295_w(device, 0, 0x80 | state->music_command);
463         okim6295_w(device, 0, 0x00 | 0x82);
464         oki->write_command(0x80 | state->music_command);
465         oki->write_command(0x00 | 0x82);
464466      }
465467   }
466468}
r9191r9192
500502   memcpy(&oki[0x38000], &oki[0x80000 + 0x38000 + 0x8000 * bank], 0x8000);
501503}
502504
503static void tumbleb2_play_sound( running_device *device, int data )
505static void tumbleb2_play_sound( okim6295_device *oki, int data )
504506{
505   int status = okim6295_r(device, 0);
507   int status = oki->read_status();
506508
507509   if (!BIT(status, 0))
508510   {
509      okim6295_w(device, 0, 0x80 | data);
510      okim6295_w(device, 0, 0x00 | 0x12);
511      oki->write_command(0x80 | data);
512      oki->write_command(0x00 | 0x12);
511513   }
512514   else if (!BIT(status, 1))
513515   {
514      okim6295_w(device, 0, 0x80 | data);
515      okim6295_w(device, 0, 0x00 | 0x22);
516      oki->write_command(0x80 | data);
517      oki->write_command(0x00 | 0x22);
516518   }
517519   else if (!BIT(status, 2))
518520   {
519      okim6295_w(device, 0, 0x80 | data);
520      okim6295_w(device, 0, 0x00 | 0x42);
521      oki->write_command(0x80 | data);
522      oki->write_command(0x00 | 0x42);
521523   }
522524}
523525
r9191r9192
533535// bank 7 = how to play?
534536// bank 8 = boss???
535537
536static void process_tumbleb2_music_command( running_device *device, int data )
538static void process_tumbleb2_music_command( okim6295_device *oki, int data )
537539{
538   tumbleb_state *state = device->machine->driver_data<tumbleb_state>();
539   int status = okim6295_r(device, 0);
540   tumbleb_state *state = oki->machine->driver_data<tumbleb_state>();
541   int status = oki->read_status();
540542
541543   if (data == 1) // stop?
542544   {
543545      if (BIT(status, 3))
544546      {
545         okim6295_w(device, 0, 0x40);      /* Stop playing music */
547         oki->write_command(0x40);      /* Stop playing music */
546548         state->music_is_playing = 0;
547549      }
548550   }
r9191r9192
551553      if (state->music_is_playing != data)
552554      {
553555         state->music_is_playing = data;
554         okim6295_w(device, 0, 0x40); // stop the current music
556         oki->write_command(0x40); // stop the current music
555557         switch (data)
556558         {
557559            case 0x04: // map screen
r9191r9192
625627               break;
626628         }
627629
628         tumbleb2_set_music_bank(device->machine, state->music_bank);
629         tumbleb2_playmusic(device);
630         tumbleb2_set_music_bank(oki->machine, state->music_bank);
631         tumbleb2_playmusic(oki);
630632      }
631633   }
632634}
r9191r9192
643645   }
644646   else if (sound == -2)
645647   {
646      process_tumbleb2_music_command(device, data);
648      process_tumbleb2_music_command(downcast<okim6295_device *>(device), data);
647649   }
648650   else
649651   {
650      tumbleb2_play_sound(device, sound);
652      tumbleb2_play_sound(downcast<okim6295_device *>(device), sound);
651653   }
652654}
653655
r9191r9192
658660#if TUMBLEP_HACK
659661   AM_RANGE(0x000000, 0x07ffff) AM_WRITEONLY   /* To write levels modifications */
660662#endif
661   AM_RANGE(0x100000, 0x100001) AM_READ(tumblepb_prot_r) AM_DEVWRITE("oki", tumblepb_oki_w)
663   AM_RANGE(0x100000, 0x100001) AM_READWRITE(tumblepb_prot_r, tumblepb_oki_w)
662664   AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_MEMBER(tumbleb_state, mainram)
663665   AM_RANGE(0x140000, 0x1407ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
664666   AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_MEMBER(tumbleb_state, spriteram, spriteram_size) /* Bootleg sprite buffer */
r9191r9192
681683   AM_RANGE(0x000000, 0x0fffff) AM_WRITEONLY   /* To write levels modifications */
682684#endif
683685   AM_RANGE(0x100000, 0x100003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff)
684   AM_RANGE(0x100004, 0x100005) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
686   AM_RANGE(0x100004, 0x100005) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
685687   AM_RANGE(0x140000, 0x140fff) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
686688   AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_MEMBER(tumbleb_state, spriteram, spriteram_size) /* sprites */
687689   AM_RANGE(0x160800, 0x16080f) AM_WRITEONLY /* goes slightly past the end of spriteram? */
r9191r9192
797799   AM_RANGE(0x0000, 0xcfff) AM_ROM
798800   AM_RANGE(0xd000, 0xd7ff) AM_RAM
799801   AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
800   AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
802   AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
801803   //AM_RANGE(0xf006, 0xf006) ??
802804   AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_r)
803805   AM_RANGE(0xf00e, 0xf00e) AM_WRITE(oki_sound_bank_w)
r9191r9192
806808static ADDRESS_MAP_START( suprtrio_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
807809   AM_RANGE(0x0000, 0xcfff) AM_ROM
808810   AM_RANGE(0xd000, 0xd7ff) AM_RAM
809   AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
811   AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
810812   //AM_RANGE(0xf006, 0xf006) ??
811813   AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_r)
812814   AM_RANGE(0xf00e, 0xf00e) AM_WRITE(oki_sound_bank_w)
r9191r9192
833835static ADDRESS_MAP_START( jumppop_sound_io_map, ADDRESS_SPACE_IO, 8 )
834836   ADDRESS_MAP_GLOBAL_MASK(0xff)
835837   AM_RANGE(0x00, 0x01) AM_DEVWRITE("ymsnd", ym3812_w)
836   AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
838   AM_RANGE(0x02, 0x02) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
837839   AM_RANGE(0x03, 0x03) AM_READ(jumppop_z80latch_r)
838840   AM_RANGE(0x04, 0x04) AM_NOP
839841   AM_RANGE(0x05, 0x05) AM_WRITE(jumppop_z80_bank_w)
r9191r9192
874876   AM_RANGE(0x0000, 0x0fff) AM_ROM
875877   AM_RANGE(0x8000, 0x87ff) AM_RAM
876878   AM_RANGE(0x9000, 0x9000) AM_WRITE(jumpkids_oki_bank_w)
877   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
879   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
878880   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
879881ADDRESS_MAP_END
880882
r9191r9192
20122014   memset(state->control_0, 0, ARRAY_LENGTH(state->control_0));
20132015}
20142016
2015static MACHINE_DRIVER_START( tumblepb )
2017static MACHINE_CONFIG_START( tumblepb, tumbleb_state )
20162018
2017   /* driver data */
2018   MDRV_DRIVER_DATA(tumbleb_state)
2019
20202019   /* basic machine hardware */
20212020   MDRV_CPU_ADD("maincpu", M68000, 14000000)
20222021   MDRV_CPU_PROGRAM_MAP(tumblepopb_main_map)
r9191r9192
20442043
20452044   MDRV_OKIM6295_ADD("oki", 8000000/10, OKIM6295_PIN7_HIGH)
20462045   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2047MACHINE_DRIVER_END
2046MACHINE_CONFIG_END
20482047
20492048
2050static MACHINE_DRIVER_START( tumbleb2 )
2049static MACHINE_CONFIG_START( tumbleb2, tumbleb_state )
20512050
2052   /* driver data */
2053   MDRV_DRIVER_DATA(tumbleb_state)
2054
20552051   /* basic machine hardware */
20562052   MDRV_CPU_ADD("maincpu", M68000, 14000000)
20572053   MDRV_CPU_PROGRAM_MAP(tumblepopb_main_map)
r9191r9192
20792075
20802076   MDRV_OKIM6295_ADD("oki", 8000000/10, OKIM6295_PIN7_HIGH)
20812077   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2082MACHINE_DRIVER_END
2078MACHINE_CONFIG_END
20832079
2084static MACHINE_DRIVER_START( jumpkids )
2080static MACHINE_CONFIG_START( jumpkids, tumbleb_state )
20852081
2086   /* driver data */
2087   MDRV_DRIVER_DATA(tumbleb_state)
2088
20892082   /* basic machine hardware */
20902083   MDRV_CPU_ADD("maincpu", M68000, 12000000)
20912084   MDRV_CPU_PROGRAM_MAP(jumpkids_main_map)
r9191r9192
21172110
21182111   MDRV_OKIM6295_ADD("oki", 8000000/8, OKIM6295_PIN7_HIGH)
21192112   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2120MACHINE_DRIVER_END
2113MACHINE_CONFIG_END
21212114
2122static MACHINE_DRIVER_START( fncywld )
2115static MACHINE_CONFIG_START( fncywld, tumbleb_state )
21232116
2124   /* driver data */
2125   MDRV_DRIVER_DATA(tumbleb_state)
2126
21272117   /* basic machine hardware */
21282118   MDRV_CPU_ADD("maincpu", M68000, 12000000)
21292119   MDRV_CPU_PROGRAM_MAP(fncywld_main_map)
r9191r9192
21562146   MDRV_OKIM6295_ADD("oki", 1023924, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
21572147   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
21582148   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
2159MACHINE_DRIVER_END
2149MACHINE_CONFIG_END
21602150
21612151
21622152
r9191r9192
21862176   MACHINE_RESET_CALL(tumbleb);
21872177}
21882178
2189static MACHINE_DRIVER_START( htchctch )
2179static MACHINE_CONFIG_START( htchctch, tumbleb_state )
21902180
2191   /* driver data */
2192   MDRV_DRIVER_DATA(tumbleb_state)
2193
21942181   /* basic machine hardware */
21952182   MDRV_CPU_ADD("maincpu", M68000, 15000000) /* verified */
21962183   MDRV_CPU_PROGRAM_MAP(htchctch_main_map)
r9191r9192
22272214   MDRV_OKIM6295_ADD("oki", 1024000, OKIM6295_PIN7_HIGH)
22282215   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
22292216   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
2230MACHINE_DRIVER_END
2217MACHINE_CONFIG_END
22312218
2232static MACHINE_DRIVER_START( cookbib )
2233   MDRV_IMPORT_FROM(htchctch)
2219static MACHINE_CONFIG_DERIVED( cookbib, htchctch )
22342220   MDRV_VIDEO_UPDATE( semicom_altoffsets )
2235MACHINE_DRIVER_END
2221MACHINE_CONFIG_END
22362222
2237static MACHINE_DRIVER_START( bcstory )
2238   MDRV_IMPORT_FROM(htchctch)
2223static MACHINE_CONFIG_DERIVED( bcstory, htchctch )
22392224   MDRV_VIDEO_UPDATE(bcstory)
22402225
22412226   MDRV_SOUND_REPLACE("ymsnd", YM2151, 3427190)
22422227   MDRV_SOUND_CONFIG(semicom_ym2151_interface)
22432228   MDRV_SOUND_ROUTE(0, "lspeaker", 0.10)
22442229   MDRV_SOUND_ROUTE(1, "rspeaker", 0.10)
2245MACHINE_DRIVER_END
2230MACHINE_CONFIG_END
22462231
2247static MACHINE_DRIVER_START( semibase )
2248   MDRV_IMPORT_FROM(bcstory)
2232static MACHINE_CONFIG_DERIVED( semibase, bcstory )
22492233   MDRV_VIDEO_UPDATE(semibase )
2250MACHINE_DRIVER_END
2234MACHINE_CONFIG_END
22512235
2252static MACHINE_DRIVER_START( sdfight )
2253   MDRV_IMPORT_FROM(bcstory)
2236static MACHINE_CONFIG_DERIVED( sdfight, bcstory )
22542237   MDRV_VIDEO_START(sdfight)
22552238   MDRV_VIDEO_UPDATE(sdfight)
2256MACHINE_DRIVER_END
2239MACHINE_CONFIG_END
22572240
22582241
2259static MACHINE_DRIVER_START( metlsavr )
2260   MDRV_IMPORT_FROM(cookbib)
2242static MACHINE_CONFIG_DERIVED( metlsavr, cookbib )
22612243
22622244   MDRV_SOUND_REPLACE("ymsnd", YM2151, 3427190)
22632245   MDRV_SOUND_CONFIG(semicom_ym2151_interface)
22642246   MDRV_SOUND_ROUTE(0, "lspeaker", 0.10)
22652247   MDRV_SOUND_ROUTE(1, "rspeaker", 0.10)
2266MACHINE_DRIVER_END
2248MACHINE_CONFIG_END
22672249
2268static MACHINE_DRIVER_START( jumppop )
2250static MACHINE_CONFIG_START( jumppop, tumbleb_state )
22692251
2270   /* driver data */
2271   MDRV_DRIVER_DATA(tumbleb_state)
2272
22732252   /* basic machine hardware */
22742253   MDRV_CPU_ADD("maincpu", M68000, 16000000)
22752254   MDRV_CPU_PROGRAM_MAP(jumppop_main_map)
r9191r9192
23062285   MDRV_OKIM6295_ADD("oki", 875000, OKIM6295_PIN7_HIGH)
23072286   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
23082287   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
2309MACHINE_DRIVER_END
2288MACHINE_CONFIG_END
23102289
2311static MACHINE_DRIVER_START( suprtrio )
2290static MACHINE_CONFIG_START( suprtrio, tumbleb_state )
23122291
2313   /* driver data */
2314   MDRV_DRIVER_DATA(tumbleb_state)
2315
23162292   /* basic machine hardware */
23172293   MDRV_CPU_ADD("maincpu", M68000, 14000000) /* 14mhz should be correct, but lots of sprite flicker later in game */
23182294   MDRV_CPU_PROGRAM_MAP(suprtrio_main_map)
r9191r9192
23442320   MDRV_OKIM6295_ADD("oki", 875000, OKIM6295_PIN7_HIGH)
23452321   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
23462322   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
2347MACHINE_DRIVER_END
2323MACHINE_CONFIG_END
23482324
2349static MACHINE_DRIVER_START( pangpang )
2325static MACHINE_CONFIG_START( pangpang, tumbleb_state )
23502326
2351   /* driver data */
2352   MDRV_DRIVER_DATA(tumbleb_state)
2353
23542327   /* basic machine hardware */
23552328   MDRV_CPU_ADD("maincpu", M68000, 14000000)
23562329   MDRV_CPU_PROGRAM_MAP(pangpang_main_map)
r9191r9192
23782351
23792352   MDRV_OKIM6295_ADD("oki", 8000000/10, OKIM6295_PIN7_HIGH)
23802353   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2381MACHINE_DRIVER_END
2354MACHINE_CONFIG_END
23822355
23832356/******************************************************************************/
23842357
src/mame/drivers/toypop.c
r9191r9192
543543};
544544
545545
546static MACHINE_DRIVER_START( liblrabl )
546static MACHINE_CONFIG_START( liblrabl, toypop_state )
547547
548   MDRV_DRIVER_DATA(toypop_state)
549
550548   /* basic machine hardware */
551549   MDRV_CPU_ADD("maincpu", M6809, 1536000)   /* 1.536 MHz (measured on Libble Rabble board) */
552550   MDRV_CPU_PROGRAM_MAP(liblrabl_map)
r9191r9192
589587   MDRV_SOUND_ADD("namco", NAMCO_15XX, 24000)
590588   MDRV_SOUND_CONFIG(namco_config)
591589   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
592MACHINE_DRIVER_END
590MACHINE_CONFIG_END
593591
594static MACHINE_DRIVER_START( toypop )
592static MACHINE_CONFIG_DERIVED( toypop, liblrabl )
595593
596594   /* basic machine hardware */
597   MDRV_IMPORT_FROM(liblrabl)
598595   MDRV_CPU_MODIFY("maincpu")
599596   MDRV_CPU_PROGRAM_MAP(toypop_map)
600597
601598   MDRV_DEVICE_REMOVE("58xx")
602599   MDRV_NAMCO58XX_ADD("58xx", intf0_coin)
603MACHINE_DRIVER_END
600MACHINE_CONFIG_END
604601
605602
606603
src/mame/drivers/taitotz.c
r9191r9192
102102};
103103
104104
105static MACHINE_DRIVER_START( taitotz )
105static MACHINE_CONFIG_START( taitotz, driver_device )
106106   MDRV_CPU_ADD("maincpu", PPC603E, 100000000)
107107   MDRV_CPU_CONFIG(ppc603e_config)
108108   MDRV_CPU_PROGRAM_MAP(ppc603e_mem)
r9191r9192
119119
120120   MDRV_VIDEO_START(taitotz)
121121   MDRV_VIDEO_UPDATE(taitotz)
122MACHINE_DRIVER_END
122MACHINE_CONFIG_END
123123
124124#define TAITOTZ_BIOS   \
125125   ROM_LOAD32_WORD_SWAP( "e68-05-1.ic6", 0x000000, 0x080000, CRC(6ad9b006) SHA1(f05a0ae26b6abaeda9c7944aee96c72b08fff7a5) )   \
src/mame/drivers/micro3d.c
r9191r9192
2828#include "machine/68681.h"
2929#include "sound/2151intf.h"
3030#include "sound/upd7759.h"
31#include "machine/nvram.h"
3132#include "includes/micro3d.h"
3233
3334
r9191r9192
196197
197198static ADDRESS_MAP_START( hostmem, ADDRESS_SPACE_PROGRAM, 16 )
198199   AM_RANGE(0x000000, 0x143fff) AM_ROM
199   AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
200   AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("nvram")
200201   AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_BASE_MEMBER(micro3d_state, shared_ram)
201202   AM_RANGE(0x900000, 0x900001) AM_WRITE(host_drmath_int_w)
202203   AM_RANGE(0x920000, 0x920001) AM_READ_PORT("INPUTS_C_D")
r9191r9192
312313 *
313314 *************************************/
314315
315static MACHINE_DRIVER_START( micro3d )
316   MDRV_DRIVER_DATA(micro3d_state)
316static MACHINE_CONFIG_START( micro3d, micro3d_state )
317317
318318   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz / 2)
319319   MDRV_CPU_PROGRAM_MAP(hostmem)
r9191r9192
334334   MDRV_DUART68681_ADD("duart68681", XTAL_3_6864MHz, micro3d_duart68681_config)
335335
336336   MDRV_MACHINE_RESET(micro3d)
337   MDRV_NVRAM_HANDLER(generic_0fill)
337   MDRV_NVRAM_ADD_0FILL("nvram")
338338   MDRV_QUANTUM_TIME(HZ(3000))
339339
340340   MDRV_PALETTE_LENGTH(4096)
r9191r9192
364364   MDRV_SOUND_ADD("noise_2", MICRO3D, 0)
365365   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
366366   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
367MACHINE_DRIVER_END
367MACHINE_CONFIG_END
368368
369369
370370/*************************************
src/mame/drivers/momoko.c
r9191r9192
260260   state->flipscreen = 0;
261261}
262262
263static MACHINE_DRIVER_START( momoko )
263static MACHINE_CONFIG_START( momoko, momoko_state )
264264
265   /* driver data */
266   MDRV_DRIVER_DATA(momoko_state)
267
268265   /* basic machine hardware */
269266   MDRV_CPU_ADD("maincpu", Z80, 5000000)   /* 5.0MHz */
270267   MDRV_CPU_PROGRAM_MAP(momoko_map)
r9191r9192
304301   MDRV_SOUND_ROUTE(1, "mono", 0.15)
305302   MDRV_SOUND_ROUTE(2, "mono", 0.15)
306303   MDRV_SOUND_ROUTE(3, "mono", 0.40)
307MACHINE_DRIVER_END
304MACHINE_CONFIG_END
308305
309306/****************************************************************************/
310307
src/mame/drivers/cabaret.c
r9191r9192
303303      cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
304304}
305305
306static MACHINE_DRIVER_START( cabaret )
306static MACHINE_CONFIG_START( cabaret, driver_device )
307307   /* basic machine hardware */
308308   MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2)
309309   MDRV_CPU_PROGRAM_MAP(cabaret_map)
r9191r9192
330330   MDRV_SPEAKER_STANDARD_MONO("mono")
331331   MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_3_579545MHz)
332332   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
333MACHINE_DRIVER_END
333MACHINE_CONFIG_END
334334
335335
336336static DRIVER_INIT( cabaret )
src/mame/drivers/kchamp.c
r9191r9192
418418   state->sound_nmi_enable = 0;
419419}
420420
421static MACHINE_DRIVER_START( kchampvs )
421static MACHINE_CONFIG_START( kchampvs, kchamp_state )
422422
423   /* driver data */
424   MDRV_DRIVER_DATA(kchamp_state)
425
426423   /* basic machine hardware */
427424   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/4)    /* verified on pcb */
428425   MDRV_CPU_PROGRAM_MAP(kchampvs_map)
r9191r9192
464461   MDRV_SOUND_ADD("msm", MSM5205, 375000)  /* verified on pcb, discrete circuit clock */
465462   MDRV_SOUND_CONFIG(msm_interface)
466463   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
467MACHINE_DRIVER_END
464MACHINE_CONFIG_END
468465
469466/********************
470467* 1 Player Version  *
471468********************/
472469
473static MACHINE_DRIVER_START( kchamp )
470static MACHINE_CONFIG_START( kchamp, kchamp_state )
474471
475   /* driver data */
476   MDRV_DRIVER_DATA(kchamp_state)
477
478472   /* basic machine hardware */
479473   MDRV_CPU_ADD("maincpu", Z80, 3000000)   /* 12MHz / 4 = 3.0 MHz */
480474   MDRV_CPU_PROGRAM_MAP(kchamp_map)
r9191r9192
517511
518512   MDRV_SOUND_ADD("dac", DAC, 0)
519513   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15) /* guess: using volume 0.50 makes the sound to clip a lot */
520MACHINE_DRIVER_END
514MACHINE_CONFIG_END
521515
522516
523517/***************************************************************************
src/mame/drivers/ultratnk.c
r9191r9192
7070
7171static READ8_HANDLER( ultratnk_wram_r )
7272{
73   return space->machine->generic.videoram.u8[0x380 + offset];
73   ultratnk_state *state = space->machine->driver_data<ultratnk_state>();
74   UINT8 *videoram = state->videoram;
75   return videoram[0x380 + offset];
7476}
7577
7678
r9191r9192
9698
9799static WRITE8_HANDLER( ultratnk_wram_w )
98100{
99   space->machine->generic.videoram.u8[0x380 + offset] = data;
101   ultratnk_state *state = space->machine->driver_data<ultratnk_state>();
102   UINT8 *videoram = state->videoram;
103   videoram[0x380 + offset] = data;
100104}
101105
102106
r9191r9192
152156
153157   AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x700) AM_RAM
154158   AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x700) AM_READWRITE(ultratnk_wram_r, ultratnk_wram_w)
155   AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(ultratnk_video_ram_w) AM_BASE_GENERIC(videoram)
159   AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(ultratnk_video_ram_w) AM_BASE_MEMBER(ultratnk_state, videoram)
156160
157161   AM_RANGE(0x1000, 0x17ff) AM_READ_PORT("IN0")
158162   AM_RANGE(0x1800, 0x1fff) AM_READ_PORT("IN1")
r9191r9192
287291GFXDECODE_END
288292
289293
290static MACHINE_DRIVER_START( ultratnk )
294static MACHINE_CONFIG_START( ultratnk, ultratnk_state )
291295
292296   /* basic machine hardware */
293297   MDRV_CPU_ADD("maincpu", M6502, PIXEL_CLOCK / 8)
r9191r9192
316320   MDRV_SOUND_CONFIG_DISCRETE(ultratnk)
317321   MDRV_SOUND_ROUTE(0, "mono", 1.0)
318322
319MACHINE_DRIVER_END
323MACHINE_CONFIG_END
320324
321325
322326ROM_START( ultratnk )
src/mame/drivers/olibochu.c
r9191r9192
5656#include "deprecat.h"
5757#include "sound/ay8910.h"
5858
59class olibochu_state : public driver_data_t
59class olibochu_state : public driver_device
6060{
6161public:
62   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, olibochu_state(machine)); }
62   olibochu_state(running_machine &machine, const driver_device_config_base &config)
63      : driver_device(machine, config) { }
6364
64   olibochu_state(running_machine &machine)
65      : driver_data_t(machine) { }
66
6765   /* memory pointers */
6866   UINT8 *  videoram;
6967   UINT8 *  colorram;
r9191r9192
438436   state->cmd = 0;
439437}
440438
441static MACHINE_DRIVER_START( olibochu )
439static MACHINE_CONFIG_START( olibochu, olibochu_state )
442440
443   /* driver data */
444   MDRV_DRIVER_DATA(olibochu_state)
445
446441   /* basic machine hardware */
447442   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz ?? */
448443   MDRV_CPU_PROGRAM_MAP(olibochu_map)
r9191r9192
477472
478473   MDRV_SOUND_ADD("aysnd", AY8910, 2000000)
479474   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
480MACHINE_DRIVER_END
475MACHINE_CONFIG_END
481476
482477
483478
src/mame/drivers/tugboat.c
r9191r9192
313313GFXDECODE_END
314314
315315
316static MACHINE_DRIVER_START( tugboat )
316static MACHINE_CONFIG_START( tugboat, driver_device )
317317   MDRV_CPU_ADD("maincpu", M6502, 2000000)   /* 2 MHz ???? */
318318   MDRV_CPU_PROGRAM_MAP(main_map)
319319   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
r9191r9192
340340
341341   MDRV_SOUND_ADD("aysnd", AY8910, 2000000)
342342   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.35)
343MACHINE_DRIVER_END
343MACHINE_CONFIG_END
344344
345345
346346ROM_START( tugboat )
src/mame/drivers/m90.c
r9191r9192
3333#include "audio/m72.h"
3434#include "sound/dac.h"
3535#include "sound/2151intf.h"
36#include "includes/m90.h"
3637
3738static UINT32 bankaddress;
3839
39extern UINT16 *m90_video_data;
40
41VIDEO_START( m90 );
42VIDEO_START( dynablsb );
43VIDEO_START( bomblord );
44VIDEO_UPDATE( m90 );
45VIDEO_UPDATE( dynablsb );
46VIDEO_UPDATE( bomblord );
47WRITE16_HANDLER( m90_video_w );
48WRITE16_HANDLER( m90_video_control_w );
49
5040/***************************************************************************/
5141
5242static void set_m90_bank(running_machine *machine)
r9191r9192
697687
698688
699689/* Basic hardware -- no decryption table is setup for CPU */
700static MACHINE_DRIVER_START( m90 )
690static MACHINE_CONFIG_START( m90, driver_device )
701691   /* basic machine hardware */
702692   MDRV_CPU_ADD("maincpu", V30,XTAL_32MHz/2/2) /* verified clock on cpu is 16Mhz but probably divided internally by 2 */
703693   MDRV_CPU_PROGRAM_MAP(m90_main_cpu_map)
r9191r9192
737727
738728   MDRV_SOUND_ADD("dac", DAC, 0)
739729   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
740MACHINE_DRIVER_END
730MACHINE_CONFIG_END
741731
742732
743733static const nec_config hasamu_config ={ gunforce_decryption_table, };
744static MACHINE_DRIVER_START( hasamu )
745   MDRV_IMPORT_FROM( m90 )
734static MACHINE_CONFIG_DERIVED( hasamu, m90 )
746735   MDRV_CPU_MODIFY("maincpu")
747736   MDRV_CPU_CONFIG(hasamu_config)
748MACHINE_DRIVER_END
737MACHINE_CONFIG_END
749738
750739static const nec_config quizf1_config ={   lethalth_decryption_table, };
751static MACHINE_DRIVER_START( quizf1 )
752   MDRV_IMPORT_FROM( m90 )
740static MACHINE_CONFIG_DERIVED( quizf1, m90 )
753741   MDRV_CPU_MODIFY("maincpu")
754742   MDRV_CPU_CONFIG(quizf1_config)
755743   MDRV_SCREEN_MODIFY("screen")
756744   MDRV_SCREEN_VISIBLE_AREA(6*8, 54*8-1, 17*8-8, 47*8-1+8)
757MACHINE_DRIVER_END
745MACHINE_CONFIG_END
758746
759747static const nec_config matchit2_config ={   matchit2_decryption_table, };
760static MACHINE_DRIVER_START( matchit2 )
761   MDRV_IMPORT_FROM( m90 )
748static MACHINE_CONFIG_DERIVED( matchit2, m90 )
762749   MDRV_CPU_MODIFY("maincpu")
763750   MDRV_CPU_CONFIG(matchit2_config)
764751   MDRV_SCREEN_MODIFY("screen")
765752   MDRV_SCREEN_VISIBLE_AREA(6*8, 54*8-1, 17*8-8, 47*8-1+8)
766MACHINE_DRIVER_END
753MACHINE_CONFIG_END
767754
768755
769756static const nec_config riskchal_config ={   gussun_decryption_table, };
770static MACHINE_DRIVER_START( riskchal )
771   MDRV_IMPORT_FROM( m90 )
757static MACHINE_CONFIG_DERIVED( riskchal, m90 )
772758   MDRV_CPU_MODIFY("maincpu")
773759   MDRV_CPU_CONFIG(riskchal_config)
774760   MDRV_SCREEN_MODIFY("screen")
775761   MDRV_SCREEN_VISIBLE_AREA(10*8, 50*8-1, 17*8, 47*8-1)
776MACHINE_DRIVER_END
762MACHINE_CONFIG_END
777763
778764
779765static const nec_config bomberman_config ={    bomberman_decryption_table, };
780static MACHINE_DRIVER_START( bombrman )
766static MACHINE_CONFIG_START( bombrman, driver_device )
781767
782768   /* basic machine hardware */
783769   MDRV_CPU_ADD("maincpu", V30,XTAL_32MHz/2/2) /* verified clock on cpu is 16Mhz but probably divided internally by 2 */
r9191r9192
818804
819805   MDRV_SOUND_ADD("dac", DAC, 0)
820806   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
821MACHINE_DRIVER_END
807MACHINE_CONFIG_END
822808
823809static const nec_config dynablaster_config ={   dynablaster_decryption_table, };
824810
825static MACHINE_DRIVER_START( bbmanw )
811static MACHINE_CONFIG_START( bbmanw, driver_device )
826812
827813   /* basic machine hardware */
828814   MDRV_CPU_ADD("maincpu", V30,XTAL_32MHz/2/2) /* verified clock on cpu is 16Mhz but probably divided internally by 2 */
r9191r9192
863849
864850   MDRV_SOUND_ADD("dac", DAC, 0)
865851   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
866MACHINE_DRIVER_END
852MACHINE_CONFIG_END
867853
868854static const nec_config no_table ={ NULL, };
869855
870static MACHINE_DRIVER_START( bbmanwj )
871
872   MDRV_IMPORT_FROM( bbmanw )
856static MACHINE_CONFIG_DERIVED( bbmanwj, bbmanw )
873857   MDRV_CPU_MODIFY("soundcpu")
874858   MDRV_CPU_PROGRAM_MAP(m90_sound_cpu_map)
875859   MDRV_CPU_IO_MAP(m90_sound_cpu_io_map)
876860   MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,128)   /* clocked by V1? (Vigilante) */
877861                        /* IRQs are generated by main Z80 and YM2151 */
878862
879MACHINE_DRIVER_END
863MACHINE_CONFIG_END
880864
881static MACHINE_DRIVER_START( bomblord )
882
883   MDRV_IMPORT_FROM( bbmanw )
865static MACHINE_CONFIG_DERIVED( bomblord, bbmanw )
884866   MDRV_CPU_MODIFY("maincpu")
885867   MDRV_CPU_CONFIG(no_table)
886868   MDRV_CPU_PROGRAM_MAP(bomblord_main_cpu_map)
r9191r9192
891873
892874   MDRV_CPU_VBLANK_INT("screen", bomblord_interrupt)
893875
894MACHINE_DRIVER_END
876MACHINE_CONFIG_END
895877
896static MACHINE_DRIVER_START( dynablsb )
878static MACHINE_CONFIG_START( dynablsb, driver_device )
897879
898880   /* basic machine hardware */
899881   MDRV_CPU_ADD("maincpu", V30,32000000/4)
r9191r9192
933915
934916   MDRV_SOUND_ADD("dac", DAC, 0)
935917   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
936MACHINE_DRIVER_END
918MACHINE_CONFIG_END
937919
938920/***************************************************************************/
939921
src/mame/drivers/kingdrby.c
r9191r9192
7070#include "sound/ay8910.h"
7171#include "sound/okim6295.h"
7272#include "sound/2203intf.h"
73#include "machine/nvram.h"
7374
7475#define CLK_1   XTAL_20MHz
7576#define CLK_2   XTAL_3_579545MHz
r9191r9192
357358static ADDRESS_MAP_START( slave_map, ADDRESS_SPACE_PROGRAM, 8 )
358359   AM_RANGE(0x0000, 0x2fff) AM_ROM
359360   AM_RANGE(0x3000, 0x3fff) AM_ROM //sound rom tested for the post check
360   AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) //backup ram
361   AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("nvram") //backup ram
361362   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)   /* I/O Ports */
362363   AM_RANGE(0x6000, 0x6003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)   /* I/O Ports */
363364   AM_RANGE(0x7000, 0x73ff) AM_RAM AM_SHARE("share1")
r9191r9192
377378static ADDRESS_MAP_START( slave_1986_map, ADDRESS_SPACE_PROGRAM, 8 )
378379   AM_RANGE(0x0000, 0x2fff) AM_ROM
379380   AM_RANGE(0x3000, 0x3fff) AM_ROM //sound rom tested for the post check
380   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) //backup ram
381   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram") //backup ram
381382   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)   /* I/O Ports */
382383//  AM_RANGE(0x6000, 0x6003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) /* I/O Ports */
383384   AM_RANGE(0x7000, 0x73ff) AM_RAM AM_SHARE("share1")
r9191r9192
901902      AY8910_LEGACY_OUTPUT,
902903      AY8910_DEFAULT_LOADS,
903904      DEVCB_HANDLER(sound_cmd_r),                           // read A
904      DEVCB_DEVICE_HANDLER("oki", okim6295_r),               // read B
905      DEVCB_DEVICE_MEMBER("oki", okim6295_device, read),         // read B
905906      DEVCB_NULL,                                       // write A
906      DEVCB_DEVICE_HANDLER("oki", okim6295_w)                  // write B
907      DEVCB_DEVICE_MEMBER("oki", okim6295_device, write)         // write B
907908   },
908909   NULL
909910};
r9191r9192
965966   }
966967}
967968
968static MACHINE_DRIVER_START( kingdrby )
969static MACHINE_CONFIG_START( kingdrby, driver_device )
969970   MDRV_CPU_ADD("master", Z80, CLK_2)
970971   MDRV_CPU_PROGRAM_MAP(master_map)
971972   MDRV_CPU_IO_MAP(master_io_map)
r9191r9192
983984
984985   MDRV_QUANTUM_PERFECT_CPU("master")
985986
986   MDRV_NVRAM_HANDLER(generic_0fill)
987   MDRV_NVRAM_ADD_0FILL("nvram")
987988
988989   MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf[0] )
989990   MDRV_PPI8255_ADD( "ppi8255_1", ppi8255_intf[1] )
r9191r9192
10091010   MDRV_SOUND_ADD("aysnd", AY8910, CLK_1/8)   /* guess */
10101011   MDRV_SOUND_CONFIG(ay8910_config)
10111012   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1012MACHINE_DRIVER_END
1013MACHINE_CONFIG_END
10131014
1014static MACHINE_DRIVER_START( kingdrbb )
1015   MDRV_IMPORT_FROM( kingdrby )
1015static MACHINE_CONFIG_DERIVED( kingdrbb, kingdrby )
10161016
10171017   MDRV_CPU_MODIFY("slave")
10181018   MDRV_CPU_PROGRAM_MAP(slave_1986_map)
r9191r9192
10211021
10221022   MDRV_PPI8255_RECONFIG( "ppi8255_0", ppi8255_1986_intf[0] )
10231023   MDRV_PPI8255_RECONFIG( "ppi8255_1", ppi8255_1986_intf[1] )
1024MACHINE_DRIVER_END
1024MACHINE_CONFIG_END
10251025
1026static MACHINE_DRIVER_START( cowrace )
1027   MDRV_IMPORT_FROM( kingdrbb )
1026static MACHINE_CONFIG_DERIVED( cowrace, kingdrbb )
10281027
10291028   MDRV_CPU_MODIFY("soundcpu")
10301029   MDRV_CPU_PROGRAM_MAP(cowrace_sound_map)
r9191r9192
10391038   MDRV_SOUND_REPLACE("aysnd", YM2203, 3000000)
10401039   MDRV_SOUND_CONFIG(cowrace_ym2203_interface)
10411040   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1042MACHINE_DRIVER_END
1041MACHINE_CONFIG_END
10431042
10441043ROM_START( kingdrby )
10451044   ROM_REGION( 0x3000, "master", 0 )
src/mame/drivers/phoenix.c
r9191r9192
3434#include "sound/tms36xx.h"
3535#include "cpu/i8085/i8085.h"
3636#include "sound/ay8910.h"
37#include "audio/pleiads.h"
3738#include "includes/phoenix.h"
3839
3940
r9191r9192
449450}
450451
451452
452static MACHINE_DRIVER_START( phoenix )
453static MACHINE_CONFIG_START( phoenix, driver_device )
453454
454455   /* basic machine hardware */
455456   MDRV_CPU_ADD("maincpu", I8085A, CPU_CLOCK)   /* 2.75 MHz */
r9191r9192
484485   MDRV_SOUND_ADD("discrete", DISCRETE, 120000)
485486   MDRV_SOUND_CONFIG_DISCRETE(phoenix)
486487   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.6)
487MACHINE_DRIVER_END
488MACHINE_CONFIG_END
488489
489490
490static MACHINE_DRIVER_START( pleiads )
491static MACHINE_CONFIG_DERIVED( pleiads, phoenix )
491492
492493   /* basic machine hardware */
493   MDRV_IMPORT_FROM(phoenix)
494494   MDRV_CPU_MODIFY("maincpu")
495495   MDRV_CPU_PROGRAM_MAP(pleiads_memory_map)
496496
r9191r9192
508508   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
509509
510510   MDRV_DEVICE_REMOVE("discrete")
511MACHINE_DRIVER_END
511MACHINE_CONFIG_END
512512
513513
514514/* Same as Phoenix, but uses an AY8910 and an extra visible line (column) */
r9191r9192
521521   DEVCB_NULL                     /* SOD changed callback (8085A only) */
522522};
523523
524static MACHINE_DRIVER_START( survival )
524static MACHINE_CONFIG_START( survival, driver_device )
525525
526526   /* basic machine hardware */
527527   MDRV_CPU_ADD("maincpu", I8085A, CPU_CLOCK)   /* 5.50 MHz */
r9191r9192
553553   MDRV_SOUND_ADD("aysnd", AY8910, 11000000/4)
554554   MDRV_SOUND_CONFIG(survival_ay8910_interface)
555555   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
556MACHINE_DRIVER_END
556MACHINE_CONFIG_END
557557
558558
559559/* Uses a Z80 */
560static MACHINE_DRIVER_START( condor )
560static MACHINE_CONFIG_DERIVED( condor, phoenix )
561561
562562   /* basic machine hardware */
563   MDRV_IMPORT_FROM(phoenix)
564563   /* FIXME: Verify clock. This is most likely 11MHz/2 */
565564   MDRV_CPU_REPLACE("maincpu", Z80, 11000000/4)   /* 2.75 MHz??? */
566565   MDRV_CPU_PROGRAM_MAP(phoenix_memory_map)
567MACHINE_DRIVER_END
566MACHINE_CONFIG_END
568567
569568
570569/***************************************************************************
src/mame/drivers/embargo.c
r9191r9192
88#include "cpu/s2650/s2650.h"
99
1010
11class embargo_state : public driver_data_t
11class embargo_state : public driver_device
1212{
1313public:
14   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, embargo_state(machine)); }
14   embargo_state(running_machine &machine, const driver_device_config_base &config)
15      : driver_device(machine, config) { }
1516
16   embargo_state(running_machine &machine)
17      : driver_data_t(machine) { }
18
1917   /* memory pointers */
2018   UINT8 *  videoram;
2119   size_t   videoram_size;
r9191r9192
254252 *
255253 *************************************/
256254
257static MACHINE_DRIVER_START( embargo )
255static MACHINE_CONFIG_START( embargo, embargo_state )
258256
259   /* driver data */
260   MDRV_DRIVER_DATA(embargo_state)
261
262257   /* basic machine hardware */
263258   MDRV_CPU_ADD("maincpu", S2650, 625000)
264259   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
276271   MDRV_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
277272   MDRV_SCREEN_REFRESH_RATE(60)
278273
279MACHINE_DRIVER_END
274MACHINE_CONFIG_END
280275
281276
282277
src/mame/drivers/lastfght.c
r9191r9192
6565#include "emu.h"
6666#include "deprecat.h"
6767#include "cpu/h83002/h8.h"
68#include "machine/nvram.h"
6869
69class lastfght_state : public driver_data_t
70class lastfght_state : public driver_device
7071{
7172public:
72   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, lastfght_state(machine)); }
73   lastfght_state(running_machine &machine, const driver_device_config_base &config)
74      : driver_device(machine, config) { }
7375
74   lastfght_state(running_machine &machine)
75      : driver_data_t(machine) { }
76
7776   /* memory pointers */
7877   UINT8 *  colorram;
7978//  UINT8 *  nvram; // currently this uses generic nvram handling
r9191r9192
415414   AM_RANGE( 0x000000, 0x07ffff ) AM_ROM AM_REGION("maincpu", 0)
416415   AM_RANGE( 0x080000, 0x0fffff ) AM_ROM AM_REGION("maincpu", 0)
417416
418   AM_RANGE( 0x200000, 0x20ffff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   // battery
417   AM_RANGE( 0x200000, 0x20ffff ) AM_RAM AM_SHARE("nvram")   // battery
419418
420419   AM_RANGE( 0x600000, 0x600001 ) AM_WRITE( lastfght_hi_w )
421420   AM_RANGE( 0x600002, 0x600003 ) AM_READWRITE( lastfght_sound_r, lastfght_sound_w )
r9191r9192
570569   state->c00006 = 0;
571570}
572571
573static MACHINE_DRIVER_START( lastfght )
572static MACHINE_CONFIG_START( lastfght, lastfght_state )
574573
575   /* driver data */
576   MDRV_DRIVER_DATA(lastfght_state)
577
578574   /* basic machine hardware */
579575   MDRV_CPU_ADD("maincpu", H83044, 32000000/2)
580576   MDRV_CPU_PROGRAM_MAP( lastfght_map)
581577   MDRV_CPU_VBLANK_INT_HACK(unknown_interrupt,2)
582578
583   MDRV_NVRAM_HANDLER(generic_0fill)
579   MDRV_NVRAM_ADD_0FILL("nvram")
584580
585581   MDRV_MACHINE_START(lastfght)
586582   MDRV_MACHINE_RESET(lastfght)
r9191r9192
596592
597593   MDRV_VIDEO_START( lastfght )
598594   MDRV_VIDEO_UPDATE( lastfght )
599MACHINE_DRIVER_END
595MACHINE_CONFIG_END
600596
601597
602598/***************************************************************************
src/mame/drivers/superqix.c
r9191r9192
111111#include "cpu/mcs51/mcs51.h"
112112#include "sound/ay8910.h"
113113#include "sound/samples.h"
114#include "includes/superqix.h"
114115
115
116extern UINT8 *superqix_videoram;
117extern UINT8 *superqix_bitmapram,*superqix_bitmapram2;
118extern int pbillian_show_power;
119
120
121WRITE8_HANDLER( superqix_videoram_w );
122WRITE8_HANDLER( superqix_bitmapram_w );
123WRITE8_HANDLER( superqix_bitmapram2_w );
124WRITE8_HANDLER( pbillian_0410_w );
125WRITE8_HANDLER( superqix_0410_w );
126
127VIDEO_START( pbillian );
128VIDEO_UPDATE( pbillian );
129VIDEO_START( superqix );
130VIDEO_UPDATE( superqix );
131
132
133116/* pbillian sample playback */
134117static INT16 *samplebuf;
135118
r9191r9192
10281011
10291012
10301013
1031static MACHINE_DRIVER_START( pbillian )
1014static MACHINE_CONFIG_START( pbillian, driver_device )
10321015   MDRV_CPU_ADD("maincpu", Z80,12000000/2)       /* 6 MHz */
10331016   MDRV_CPU_PROGRAM_MAP(main_map)
10341017   MDRV_CPU_IO_MAP(pbillian_port_map)
r9191r9192
10591042   MDRV_SOUND_ADD("samples", SAMPLES, 0)
10601043   MDRV_SOUND_CONFIG(pbillian_samples_interface)
10611044   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1062MACHINE_DRIVER_END
1045MACHINE_CONFIG_END
10631046
1064static MACHINE_DRIVER_START( hotsmash )
1047static MACHINE_CONFIG_START( hotsmash, driver_device )
10651048   MDRV_CPU_ADD("maincpu", Z80,12000000/2)       /* 6 MHz */
10661049   MDRV_CPU_PROGRAM_MAP(main_map)
10671050   MDRV_CPU_IO_MAP(hotsmash_port_map)
r9191r9192
10951078   MDRV_SOUND_ADD("samples", SAMPLES, 0)
10961079   MDRV_SOUND_CONFIG(pbillian_samples_interface)
10971080   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1098MACHINE_DRIVER_END
1081MACHINE_CONFIG_END
10991082
1100static MACHINE_DRIVER_START( sqix )
1083static MACHINE_CONFIG_START( sqix, driver_device )
11011084
11021085   /* basic machine hardware */
11031086   MDRV_CPU_ADD("maincpu", Z80, 12000000/2)   /* 6 MHz */
r9191r9192
11361119   MDRV_SOUND_ADD("ay2", AY8910, 12000000/8)
11371120   MDRV_SOUND_CONFIG(sqix_ay8910_interface_2)
11381121   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1139MACHINE_DRIVER_END
1122MACHINE_CONFIG_END
11401123
11411124
1142static MACHINE_DRIVER_START( sqixu )
1143   MDRV_IMPORT_FROM( sqix )
1125static MACHINE_CONFIG_DERIVED( sqixu, sqix )
11441126
11451127   MDRV_CPU_MODIFY("mcu")
11461128   MDRV_CPU_IO_MAP(sqixu_mcu_io_map)
1147MACHINE_DRIVER_END
1129MACHINE_CONFIG_END
11481130
11491131
1150static MACHINE_DRIVER_START( sqixbl )
1132static MACHINE_CONFIG_START( sqixbl, driver_device )
11511133
11521134   /* basic machine hardware */
11531135   MDRV_CPU_ADD("maincpu", Z80, 12000000/2)   /* 6 MHz */
r9191r9192
11811163   MDRV_SOUND_ADD("ay2", AY8910, 12000000/8)
11821164   MDRV_SOUND_CONFIG(bootleg_ay8910_interface_2)
11831165   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1184MACHINE_DRIVER_END
1166MACHINE_CONFIG_END
11851167
11861168
11871169
src/mame/drivers/markham.c
r9191r9192
172172GFXDECODE_END
173173
174174
175static MACHINE_DRIVER_START( markham )
175static MACHINE_CONFIG_START( markham, markham_state )
176176
177   /* driver data */
178   MDRV_DRIVER_DATA(markham_state)
179
180177   /* basic machine hardware */
181178   MDRV_CPU_ADD("maincpu", Z80,8000000/2) /* 4.000MHz */
182179   MDRV_CPU_PROGRAM_MAP(markham_master_map)
r9191r9192
211208
212209   MDRV_SOUND_ADD("sn2", SN76496, 8000000/2)
213210   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
214MACHINE_DRIVER_END
211MACHINE_CONFIG_END
215212
216213/****************************************************************************/
217214
src/mame/drivers/dday.c
r9191r9192
242242}
243243
244244
245static MACHINE_DRIVER_START( dday )
245static MACHINE_CONFIG_START( dday, dday_state )
246246
247   /* driver data */
248   MDRV_DRIVER_DATA(dday_state)
249
250247   /* basic machine hardware */
251248   MDRV_CPU_ADD("maincpu", Z80, 2000000)     /* 2 MHz ? */
252249   MDRV_CPU_PROGRAM_MAP(dday_map)
r9191r9192
278275
279276   MDRV_SOUND_ADD("ay2", AY8910, 1000000)
280277   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
281MACHINE_DRIVER_END
278MACHINE_CONFIG_END
282279
283280
284281
src/mame/drivers/vega.c
r9191r9192
3535   return 0;
3636}
3737
38static MACHINE_DRIVER_START( vega )
38static MACHINE_CONFIG_START( vega, driver_device )
3939   MDRV_CPU_ADD("maincpu", I8035, 6000000) // what CPU? what speed?
4040   MDRV_CPU_PROGRAM_MAP(vega_map)
4141
r9191r9192
5151
5252   MDRV_PALETTE_INIT(vega)
5353   MDRV_VIDEO_UPDATE(vega)
54MACHINE_DRIVER_END
54MACHINE_CONFIG_END
5555
5656ROM_START( vega )
5757   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/cyberbal.c
r9191r9192
149149
150150static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
151151   AM_RANGE(0x000000, 0x03ffff) AM_ROM
152   AM_RANGE(0xfc0000, 0xfc0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(cyberbal_state, eeprom, eeprom_size)
152   AM_RANGE(0xfc0000, 0xfc0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
153153   AM_RANGE(0xfc8000, 0xfcffff) AM_READ(atarigen_sound_upper_r)
154154   AM_RANGE(0xfd0000, 0xfd1fff) AM_WRITE(atarigen_eeprom_enable_w)
155155   AM_RANGE(0xfd2000, 0xfd3fff) AM_WRITE(atarigen_sound_reset_w)
r9191r9192
253253   AM_RANGE(0xfc2000, 0xfc2003) AM_READ_PORT("IN1")
254254   AM_RANGE(0xfc4000, 0xfc4003) AM_READ(special_port2_r)
255255   AM_RANGE(0xfc6000, 0xfc6003) AM_READ(atarigen_sound_upper_r)
256   AM_RANGE(0xfc8000, 0xfc8fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(cyberbal_state, eeprom, eeprom_size)
256   AM_RANGE(0xfc8000, 0xfc8fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
257257   AM_RANGE(0xfca000, 0xfcafff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
258258   AM_RANGE(0xfd0000, 0xfd0003) AM_WRITE(atarigen_eeprom_enable_w)
259259   AM_RANGE(0xfd2000, 0xfd2003) AM_WRITE(atarigen_sound_reset_w)
r9191r9192
429429 *
430430 *************************************/
431431
432static MACHINE_DRIVER_START( cyberbal )
433   MDRV_DRIVER_DATA(cyberbal_state)
432static MACHINE_CONFIG_START( cyberbal, cyberbal_state )
434433
435434   /* basic machine hardware */
436435   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
452451
453452   MDRV_MACHINE_START(cyberbal)
454453   MDRV_MACHINE_RESET(cyberbal)
455   MDRV_NVRAM_HANDLER(atarigen)
454   MDRV_NVRAM_ADD_1FILL("eeprom")
456455
457456   /* video hardware */
458457   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
487486
488487   MDRV_SOUND_ADD("dac2", DAC, 0)
489488   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
490MACHINE_DRIVER_END
489MACHINE_CONFIG_END
491490
492491
493static MACHINE_DRIVER_START( cyberbal2p )
494   MDRV_DRIVER_DATA(cyberbal_state)
492static MACHINE_CONFIG_START( cyberbal2p, cyberbal_state )
495493
496494   /* basic machine hardware */
497495   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
500498
501499   MDRV_MACHINE_START(cyberbal)
502500   MDRV_MACHINE_RESET(cyberbal2p)
503   MDRV_NVRAM_HANDLER(atarigen)
501   MDRV_NVRAM_ADD_1FILL("eeprom")
504502
505503   /* video hardware */
506504   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
517515   MDRV_VIDEO_UPDATE(cyberbal)
518516
519517   /* sound hardware */
520   MDRV_IMPORT_FROM(jsa_ii_mono)
521MACHINE_DRIVER_END
518   MDRV_FRAGMENT_ADD(jsa_ii_mono)
519MACHINE_CONFIG_END
522520
523521
524522
r9191r9192
583581   ROM_LOAD( "gal16v8-136064-1028.b56", 0x0400, 0x0117, CRC(12d1a257) SHA1(32914dffd58ce694913c2108a27b078422a9dc63) )
584582   ROM_LOAD( "gal16v8-136064-1029.d58", 0x0600, 0x0117, CRC(fd39d238) SHA1(55c1b9a56c9b2bfa434eed54f7baea436ea141b8) )
585583   ROM_LOAD( "gal16v8-136064-1030.d91", 0x0800, 0x0117, CRC(84102588) SHA1(b6bffb47e5975c96b056d07357eb020caf3f0a0a) )
584
585   ROM_REGION( 0x1000, "eeprom", 0 )
586   ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) )
586587ROM_END
587588
588589
r9191r9192
634635   ROM_REGION( 0x020000, "gfx3", 0 )
635636   ROM_LOAD( "136064-1121.15n", 0x000000, 0x010000, CRC(0ca1e3b3) SHA1(d934bc9a1def4404fb86175878404cbb18127a11) )
636637   ROM_LOAD( "136064-1122.16n", 0x010000, 0x010000, CRC(882f4e1c) SHA1(f7517ff03502ff029fb375260a35e45414567433) )
638
639   ROM_REGION( 0x1000, "eeprom", 0 )
640   ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) )
637641ROM_END
638642
639643
r9191r9192
685689   ROM_REGION( 0x020000, "gfx3", 0 )
686690   ROM_LOAD( "136064-1121.15n", 0x000000, 0x010000, CRC(0ca1e3b3) SHA1(d934bc9a1def4404fb86175878404cbb18127a11) )
687691   ROM_LOAD( "136064-1122.16n", 0x010000, 0x010000, CRC(882f4e1c) SHA1(f7517ff03502ff029fb375260a35e45414567433) )
692
693   ROM_REGION( 0x1000, "eeprom", 0 )
694   ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) )
688695ROM_END
689696
690697
r9191r9192
732739   ROM_LOAD( "136071-1044.7j",  0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
733740   ROM_LOAD( "136071-1045.7e",  0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
734741   ROM_LOAD( "136071-1046.7d",  0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) )
742
743   ROM_REGION( 0x1000, "eeprom", 0 )
744   ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) )
735745ROM_END
736746
737747
r9191r9192
779789   ROM_LOAD( "136071-1044.7j",  0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
780790   ROM_LOAD( "136071-1045.7e",  0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
781791   ROM_LOAD( "136071-1046.7d",  0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) )
792
793   ROM_REGION( 0x1000, "eeprom", 0 )
794   ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) )
782795ROM_END
783796
784797
r9191r9192
826839   ROM_LOAD( "136071-1044.7j",  0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
827840   ROM_LOAD( "136071-1045.7e",  0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
828841   ROM_LOAD( "136071-1046.7d",  0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) )
842
843   ROM_REGION( 0x1000, "eeprom", 0 )
844   ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) )
829845ROM_END
830846
831847
r9191r9192
873889   ROM_LOAD( "136071-1044.7j",  0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
874890   ROM_LOAD( "136071-1045.7e",  0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
875891   ROM_LOAD( "136071-1046.7d",  0x030000, 0x010000, CRC(d96437ad) SHA1(b0b5cd75de4048e54b9d7d09a75381eb73c22ee1) )
892
893   ROM_REGION( 0x1000, "eeprom", 0 )
894   ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) )
876895ROM_END
877896
878897
r9191r9192
922941   ROM_REGION( 0x020000, "gfx3", 0 )
923942   ROM_LOAD( "136073-1005.15n", 0x000000, 0x010000, CRC(833b4768) SHA1(754f00089d439fb0aa1f650c1fef73cf7e5f33a1) )
924943   ROM_LOAD( "136073-1006.16n", 0x010000, 0x010000, CRC(4976cffd) SHA1(4cac8d9bd30743da6e6e4f013e6101ebc27060b6) )
944
945   ROM_REGION( 0x1000, "eeprom", 0 )
946   ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) )
925947ROM_END
926948
927949
r9191r9192
971993   ROM_REGION( 0x020000, "gfx3", 0 )
972994   ROM_LOAD( "136073-1005.15n", 0x000000, 0x010000, CRC(833b4768) SHA1(754f00089d439fb0aa1f650c1fef73cf7e5f33a1) )
973995   ROM_LOAD( "136073-1006.16n", 0x010000, 0x010000, CRC(4976cffd) SHA1(4cac8d9bd30743da6e6e4f013e6101ebc27060b6) )
996
997   ROM_REGION( 0x1000, "eeprom", 0 )
998   ROM_LOAD( "cyberbal-eeprom.bin", 0x0000, 0x1000, CRC(72334788) SHA1(101a8057d616969ece4050a1e15593280099c5a5) )
974999ROM_END
9751000
9761001
r9191r9192
9811006 *
9821007 *************************************/
9831008
984static const UINT16 default_eeprom[] =
985{
986   0x0001,0x01FF,0x0F00,0x011A,0x014A,0x0100,0x01A1,0x0200,
987   0x010E,0x01AF,0x0300,0x01FF,0x0114,0x0144,0x01FF,0x0F00,
988   0x011A,0x014A,0x0100,0x01A1,0x0200,0x010E,0x01AF,0x0300,
989   0x01FF,0x0114,0x0144,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,
990   0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,
991   0x0E00,0x01A8,0x0131,0x010B,0x0100,0x014C,0x0A00,0x01FF,
992   0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0xB5FF,0x0E00,0x01FF,
993   0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,0x0E00,0x01FF,
994   0x0E00,0x01FF,0x0E00,0x0000
995};
996
997
9981009static DRIVER_INIT( cyberbal )
9991010{
1000   cyberbal_state *state = machine->driver_data<cyberbal_state>();
1001   state->eeprom_default = default_eeprom;
10021011   atarigen_slapstic_init(machine->device("maincpu"), 0x018000, 0, 0);
10031012}
10041013
10051014
10061015static DRIVER_INIT( cyberbalt )
10071016{
1008   cyberbal_state *state = machine->driver_data<cyberbal_state>();
1009   state->eeprom_default = default_eeprom;
10101017   atarigen_slapstic_init(machine->device("maincpu"), 0x018000, 0, 116);
10111018}
10121019
10131020
10141021static DRIVER_INIT( cyberbal2p )
10151022{
1016   cyberbal_state *state = machine->driver_data<cyberbal_state>();
1017   state->eeprom_default = default_eeprom;
10181023   atarijsa_init(machine, "IN2", 0x8000);
10191024}
10201025
r9191r9192
10371042
10381043GAMEL(1989, cyberbalt,  cyberbal, cyberbal, cyberbal, cyberbalt,  ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 2)", 0, layout_dualhsxs )
10391044GAMEL(1989, cyberbalt1, cyberbal, cyberbal, cyberbal, cyberbalt,  ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 1)", 0, layout_dualhsxs )
1040
src/mame/drivers/lockon.c
r9191r9192
517517   state->main_inten = 0;
518518}
519519
520static MACHINE_DRIVER_START( lockon )
520static MACHINE_CONFIG_START( lockon, lockon_state )
521521
522   /* driver data */
523   MDRV_DRIVER_DATA(lockon_state)
524
525522   MDRV_CPU_ADD("maincpu", V30, XTAL_16MHz / 2)
526523   MDRV_CPU_PROGRAM_MAP(main_v30)
527524
r9191r9192
580577   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
581578   MDRV_SOUND_ADD("f2203.3r", FILTER_VOLUME, 0)
582579   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
583MACHINE_DRIVER_END
580MACHINE_CONFIG_END
584581
585582
586583/*************************************
src/mame/drivers/gijoe.c
r9191r9192
296296   state->cur_control2 = 0;
297297}
298298
299static MACHINE_DRIVER_START( gijoe )
299static MACHINE_CONFIG_START( gijoe, gijoe_state )
300300
301   /* driver data */
302   MDRV_DRIVER_DATA(gijoe_state)
303
304301   /* basic machine hardware */
305302   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* Confirmed */
306303   MDRV_CPU_PROGRAM_MAP(gijoe_map)
r9191r9192
340337   MDRV_SOUND_CONFIG(k054539_config)
341338   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
342339   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
343MACHINE_DRIVER_END
340MACHINE_CONFIG_END
344341
345342
346343ROM_START( gijoe )
src/mame/drivers/tigeroad.c
r9191r9192
2424#include "cpu/z80/z80.h"
2525#include "sound/2203intf.h"
2626#include "sound/msm5205.h"
27#include "includes/tigeroad.h"
2728
2829
29extern WRITE16_HANDLER( tigeroad_videoram_w );
30extern WRITE16_HANDLER( tigeroad_videoctrl_w );
31extern WRITE16_HANDLER( tigeroad_scroll_w );
32extern VIDEO_START( tigeroad );
33extern VIDEO_UPDATE( tigeroad );
34extern VIDEO_EOF( tigeroad );
35
36
3730static UINT16 *ram16;
3831
3932/*
r9191r9192
181174   AM_RANGE(0xfe4002, 0xfe4003) AM_READ_PORT("SYSTEM")
182175/*  AM_RANGE(0xfe4002, 0xfe4003) AM_WRITE(tigeroad_soundcmd_w) added by init_tigeroad() */
183176   AM_RANGE(0xfe4004, 0xfe4005) AM_READ_PORT("DSW")
184   AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE(tigeroad_videoram_w) AM_BASE_GENERIC(videoram)
177   AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE(tigeroad_videoram_w) AM_BASE_MEMBER(tigeroad_state, videoram)
185178   AM_RANGE(0xfe8000, 0xfe8003) AM_WRITE(tigeroad_scroll_w)
186179   AM_RANGE(0xfe800e, 0xfe800f) AM_WRITEONLY    /* fe800e = watchdog or IRQ acknowledge */
187180   AM_RANGE(0xff8200, 0xff867f) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
r9191r9192
521514};
522515
523516
524static MACHINE_DRIVER_START( tigeroad )
517static MACHINE_CONFIG_START( tigeroad, tigeroad_state )
525518
526519   /* basic machine hardware */
527520   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* verified on pcb */
r9191r9192
560553
561554   MDRV_SOUND_ADD("ym2", YM2203, XTAL_3_579545MHz) /* verified on pcb */
562555   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
563MACHINE_DRIVER_END
556MACHINE_CONFIG_END
564557
565558
566559/* same as above but with additional Z80 for samples playback */
567static MACHINE_DRIVER_START( toramich )
560static MACHINE_CONFIG_DERIVED( toramich, tigeroad )
568561
569562   /* basic machine hardware */
570   MDRV_IMPORT_FROM(tigeroad)
571563
572564   MDRV_CPU_ADD("sample", Z80, 3579545) /* ? */
573565   MDRV_CPU_PROGRAM_MAP(sample_map)
r9191r9192
578570   MDRV_SOUND_ADD("msm", MSM5205, 384000)
579571   MDRV_SOUND_CONFIG(msm5205_config)
580572   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
581MACHINE_DRIVER_END
573MACHINE_CONFIG_END
582574
583575
584576
src/mame/drivers/spaceg.c
r9191r9192
173173 *
174174 *************************************/
175175
176class spaceg_state : public driver_data_t
176class spaceg_state : public driver_device
177177{
178178public:
179   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, spaceg_state(machine)); }
179   spaceg_state(running_machine &machine, const driver_device_config_base &config)
180      : driver_device(machine, config) { }
180181
181   spaceg_state(running_machine &machine)
182      : driver_data_t(machine) { }
183
184182   UINT8 *  videoram;
185183   UINT8 *  unkram;
186184   UINT8 *  io9400;
r9191r9192
398396 *
399397 *************************************/
400398
401static MACHINE_DRIVER_START( spaceg )
399static MACHINE_CONFIG_START( spaceg, spaceg_state )
402400
403   /* driver data */
404   MDRV_DRIVER_DATA(spaceg_state)
405
406401   /* basic machine hardware */
407402   MDRV_CPU_ADD("maincpu", Z80,2500000)       /* 2.5 MHz */
408403   MDRV_CPU_PROGRAM_MAP(spaceg_map)
r9191r9192
434429
435430//  MDRV_SOUND_ADD("dac", DAC, 0)
436431//  MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
437MACHINE_DRIVER_END
432MACHINE_CONFIG_END
438433
439434
440435/*************************************
src/mame/drivers/gei.c
r9191r9192
6969#include "cpu/z80/z80.h"
7070#include "machine/8255ppi.h"
7171#include "machine/ticket.h"
72#include "machine/nvram.h"
7273#include "sound/dac.h"
7374
7475static UINT8 drawctrl[3];
r9191r9192
367368static ADDRESS_MAP_START( getrivia_map, ADDRESS_SPACE_PROGRAM, 8 )
368369   AM_RANGE(0x0000, 0x1fff) AM_ROM
369370   AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
370   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
371   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
371372   AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
372373   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
373374   AM_RANGE(0x600f, 0x600f) AM_WRITE(banksel_5_1_w)
r9191r9192
389390static ADDRESS_MAP_START( gselect_map, ADDRESS_SPACE_PROGRAM, 8 )
390391   AM_RANGE(0x0000, 0x1fff) AM_ROM
391392   AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
392   AM_RANGE(0x4000, 0x40ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
393   AM_RANGE(0x4000, 0x40ff) AM_RAM AM_SHARE("nvram")
393394   AM_RANGE(0x4400, 0x4400) AM_WRITE(banksel_1_1_w)
394395   AM_RANGE(0x4401, 0x4401) AM_WRITE(banksel_1_2_w)
395396   AM_RANGE(0x4402, 0x4402) AM_WRITE(banksel_2_1_w)
r9191r9192
404405static ADDRESS_MAP_START( amuse_map, ADDRESS_SPACE_PROGRAM, 8 )
405406   AM_RANGE(0x0000, 0x1fff) AM_ROM
406407   AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
407   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
408   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
408409   AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
409410   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
410411   AM_RANGE(0x606f, 0x606f) AM_WRITE(banksel_5_1_w)
r9191r9192
420421static ADDRESS_MAP_START( gepoker_map, ADDRESS_SPACE_PROGRAM, 8 )
421422   AM_RANGE(0x0000, 0x1fff) AM_ROM
422423   AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
423   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
424   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
424425   AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
425426   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
426427   AM_RANGE(0x60ef, 0x60ef) AM_WRITE(banksel_3_1_w)
r9191r9192
437438static ADDRESS_MAP_START( amuse1_map, ADDRESS_SPACE_PROGRAM, 8 )
438439   AM_RANGE(0x0000, 0x1fff) AM_ROM
439440   AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
440   AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
441   AM_RANGE(0x4000, 0x43ff) AM_RAM AM_SHARE("nvram")
441442   AM_RANGE(0x4400, 0x4400) AM_WRITE(banksel_1_1_w)
442443   AM_RANGE(0x4401, 0x4401) AM_WRITE(banksel_2_1_w)
443444   AM_RANGE(0x4402, 0x4402) AM_WRITE(banksel_3_1_w)
r9191r9192
453454
454455static ADDRESS_MAP_START( findout_map, ADDRESS_SPACE_PROGRAM, 8 )
455456   AM_RANGE(0x0000, 0x3fff) AM_ROM
456   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
457   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
457458   AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r,ppi8255_w)
458459   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r,ppi8255_w)
459460   /* banked ROMs are enabled by low 6 bits of the address */
r9191r9192
474475
475476static ADDRESS_MAP_START( quizvid_map, ADDRESS_SPACE_PROGRAM, 8 )
476477   AM_RANGE(0x0000, 0x3fff) AM_ROM
477   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
478   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
478479   AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r,ppi8255_w)
479480   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r,ppi8255_w)
480481   /* banked ROMs are enabled by low 6 bits of the address */
r9191r9192
492493
493494static ADDRESS_MAP_START( suprpokr_map, ADDRESS_SPACE_PROGRAM, 8 )
494495   AM_RANGE(0x0000, 0x3fff) AM_ROM
495   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
496   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
496497   AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
497498   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
498499   AM_RANGE(0x6200, 0x6200) AM_WRITE(signature2_w)
r9191r9192
504505
505506static ADDRESS_MAP_START( geimulti_map, ADDRESS_SPACE_PROGRAM, 8 )
506507   AM_RANGE(0x0000, 0x3fff) AM_ROM
507   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
508   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
508509   AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
509510   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
510511   AM_RANGE(0x5800, 0x5fff) AM_ROM
r9191r9192
517518
518519static ADDRESS_MAP_START( sprtauth_map, ADDRESS_SPACE_PROGRAM, 8 )
519520   AM_RANGE(0x0000, 0x3fff) AM_ROM
520   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
521   AM_RANGE(0x4000, 0x47ff) AM_RAM AM_SHARE("nvram")
521522   AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
522523   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
523524   AM_RANGE(0x5600, 0x5600) AM_READ(signature_r)
r9191r9192
10461047   }
10471048};
10481049
1049static MACHINE_DRIVER_START( getrivia )
1050static MACHINE_CONFIG_START( getrivia, driver_device )
10501051   MDRV_CPU_ADD("maincpu",Z80,4000000) /* 4 MHz */
10511052   MDRV_CPU_PROGRAM_MAP(getrivia_map)
10521053   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
r9191r9192
10621063   MDRV_PALETTE_LENGTH(8)
10631064   MDRV_PALETTE_INIT(gei)
10641065
1065   MDRV_NVRAM_HANDLER(generic_0fill)
1066   MDRV_NVRAM_ADD_0FILL("nvram")
10661067
10671068   MDRV_VIDEO_START(generic_bitmapped)
10681069   MDRV_VIDEO_UPDATE(generic_bitmapped)
r9191r9192
10761077
10771078   MDRV_SOUND_ADD("dac", DAC, 0)
10781079   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1079MACHINE_DRIVER_END
1080MACHINE_CONFIG_END
10801081
1081static MACHINE_DRIVER_START( findout )
1082   MDRV_IMPORT_FROM(getrivia)
1082static MACHINE_CONFIG_DERIVED( findout, getrivia )
10831083
10841084   MDRV_CPU_MODIFY("maincpu")
10851085   MDRV_CPU_PROGRAM_MAP(findout_map)
10861086
10871087   MDRV_PPI8255_RECONFIG( "ppi8255_0", findout_ppi8255_intf[0] )
10881088   MDRV_PPI8255_RECONFIG( "ppi8255_1", findout_ppi8255_intf[1] )
1089MACHINE_DRIVER_END
1089MACHINE_CONFIG_END
10901090
1091static MACHINE_DRIVER_START( quizvid )
1092   MDRV_IMPORT_FROM(findout)
1091static MACHINE_CONFIG_DERIVED( quizvid, findout )
10931092
10941093   MDRV_CPU_MODIFY("maincpu")
10951094   MDRV_CPU_PROGRAM_MAP(quizvid_map)
10961095
10971096   MDRV_PALETTE_INIT(quizvid)
1098MACHINE_DRIVER_END
1097MACHINE_CONFIG_END
10991098
1100static MACHINE_DRIVER_START( gselect )
1099static MACHINE_CONFIG_DERIVED( gselect, getrivia )
11011100
11021101   /* basic machine hardware */
1103   MDRV_IMPORT_FROM(getrivia)
11041102
11051103   MDRV_DEVICE_REMOVE("ticket")
11061104
r9191r9192
11091107
11101108   MDRV_PPI8255_RECONFIG( "ppi8255_0", gselect_ppi8255_intf[0] )
11111109   MDRV_PPI8255_RECONFIG( "ppi8255_1", gselect_ppi8255_intf[1] )
1112MACHINE_DRIVER_END
1110MACHINE_CONFIG_END
11131111
1114static MACHINE_DRIVER_START( jokpokera )
1112static MACHINE_CONFIG_DERIVED( jokpokera, getrivia )
11151113
11161114   /* basic machine hardware */
1117   MDRV_IMPORT_FROM(getrivia)
11181115
11191116   MDRV_DEVICE_REMOVE("ticket")
11201117
r9191r9192
11221119   MDRV_CPU_PROGRAM_MAP(gselect_map)
11231120
11241121   MDRV_PPI8255_RECONFIG( "ppi8255_0", gselect_ppi8255_intf[0] )
1125MACHINE_DRIVER_END
1122MACHINE_CONFIG_END
11261123
1127static MACHINE_DRIVER_START( amuse )
1124static MACHINE_CONFIG_DERIVED( amuse, getrivia )
11281125
11291126   /* basic machine hardware */
1130   MDRV_IMPORT_FROM(getrivia)
11311127
11321128   MDRV_CPU_MODIFY("maincpu")
11331129   MDRV_CPU_PROGRAM_MAP(amuse_map)
1134MACHINE_DRIVER_END
1130MACHINE_CONFIG_END
11351131
1136static MACHINE_DRIVER_START( gepoker )
1132static MACHINE_CONFIG_DERIVED( gepoker, getrivia )
11371133
11381134   /* basic machine hardware */
1139   MDRV_IMPORT_FROM(getrivia)
11401135
11411136   MDRV_CPU_MODIFY("maincpu")
11421137   MDRV_CPU_PROGRAM_MAP(gepoker_map)
1143MACHINE_DRIVER_END
1138MACHINE_CONFIG_END
11441139
1145static MACHINE_DRIVER_START( amuse1 )
1140static MACHINE_CONFIG_DERIVED( amuse1, getrivia )
11461141
1147   MDRV_IMPORT_FROM(getrivia)
1148
11491142   MDRV_CPU_MODIFY("maincpu")
11501143   MDRV_CPU_PROGRAM_MAP(amuse1_map)
1151MACHINE_DRIVER_END
1144MACHINE_CONFIG_END
11521145
1153static MACHINE_DRIVER_START( suprpokr )
1146static MACHINE_CONFIG_DERIVED( suprpokr, getrivia )
11541147
1155   MDRV_IMPORT_FROM(getrivia)
1156
11571148   MDRV_CPU_MODIFY("maincpu")
11581149   MDRV_CPU_PROGRAM_MAP(suprpokr_map)
1159MACHINE_DRIVER_END
1150MACHINE_CONFIG_END
11601151
1161static MACHINE_DRIVER_START( geimulti )
1152static MACHINE_CONFIG_DERIVED( geimulti, getrivia )
11621153
1163   MDRV_IMPORT_FROM(getrivia)
1164
11651154   MDRV_CPU_MODIFY("maincpu")
11661155   MDRV_CPU_PROGRAM_MAP(geimulti_map)
1167MACHINE_DRIVER_END
1156MACHINE_CONFIG_END
11681157
1169static MACHINE_DRIVER_START( sprtauth )
1158static MACHINE_CONFIG_DERIVED( sprtauth, getrivia )
11701159
1171   MDRV_IMPORT_FROM(getrivia)
1172
11731160   MDRV_CPU_MODIFY("maincpu")
11741161   MDRV_CPU_PROGRAM_MAP(sprtauth_map)
1175MACHINE_DRIVER_END
1162MACHINE_CONFIG_END
11761163
11771164/***************************************************
11781165Rom board is UVM-1A
src/mame/drivers/segas32.c
r9191r9192
21832183 *
21842184 *************************************/
21852185
2186static MACHINE_DRIVER_START( system32 )
2186static MACHINE_CONFIG_START( system32, driver_device )
21872187
21882188   /* basic machine hardware */
21892189   MDRV_CPU_ADD("maincpu", V60, MASTER_CLOCK/2)
r9191r9192
22292229   MDRV_SOUND_ADD("rfsnd", RF5C68, RFC_CLOCK/4)
22302230   MDRV_SOUND_ROUTE(0, "lspeaker", 0.55)
22312231   MDRV_SOUND_ROUTE(1, "rspeaker", 0.55)
2232MACHINE_DRIVER_END
2232MACHINE_CONFIG_END
22332233
22342234
2235static MACHINE_DRIVER_START( system32_v25 )
2236   MDRV_IMPORT_FROM(system32)
2235static MACHINE_CONFIG_DERIVED( system32_v25, system32 )
22372236
22382237   /* add a V25 for protection */
22392238   MDRV_CPU_ADD("mcu", V25, 10000000)
22402239   MDRV_CPU_PROGRAM_MAP(ga2_v25_map)
2241MACHINE_DRIVER_END
2240MACHINE_CONFIG_END
22422241
22432242
2244static MACHINE_DRIVER_START( multi32 )
2243static MACHINE_CONFIG_START( multi32, driver_device )
22452244
22462245   /* basic machine hardware */
22472246   MDRV_CPU_ADD("maincpu", V70, MULTI32_CLOCK/2)
r9191r9192
22902289   MDRV_SOUND_ADD("sega", MULTIPCM, MASTER_CLOCK/4)
22912290   MDRV_SOUND_ROUTE(1, "lspeaker", 1.0)
22922291   MDRV_SOUND_ROUTE(0, "rspeaker", 1.0)
2293MACHINE_DRIVER_END
2292MACHINE_CONFIG_END
22942293
22952294
22962295
r9191r9192
41514150
41524151static DRIVER_INIT( scross )
41534152{
4154   multipcm_sound_device *multipcm = machine->device<multipcm_sound_device>("sega");
4153   multipcm_device *multipcm = machine->device<multipcm_device>("sega");
41554154   segas32_common_init(analog_custom_io_r, analog_custom_io_w);
41564155   memory_install_write8_device_handler(cputag_get_address_space(machine, "soundcpu", ADDRESS_SPACE_PROGRAM), multipcm, 0xb0, 0xbf, 0, 0, scross_bank_w);
41574156
src/mame/drivers/looping.c
r9191r9192
9595 *
9696 *************************************/
9797
98class looping_state : public driver_data_t
98class looping_state : public driver_device
9999{
100100public:
101   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, looping_state(machine)); }
101   looping_state(running_machine &machine, const driver_device_config_base &config)
102      : driver_device(machine, config) { }
102103
103   looping_state(running_machine &machine)
104      : driver_data_t(machine) { }
105
106104   /* memory pointers */
107105   UINT8 *      videoram;
108106   UINT8 *      colorram;
r9191r9192
608606 *
609607 *************************************/
610608
611static MACHINE_DRIVER_START( looping )
612   MDRV_DRIVER_DATA(looping_state)
609static MACHINE_CONFIG_START( looping, looping_state )
613610
614611   /* basic machine hardware */
615612   MDRV_CPU_ADD("maincpu", TMS9995, MAIN_CPU_CLOCK)
r9191r9192
654651
655652   MDRV_SOUND_ADD("dac", DAC, 0)
656653   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
657MACHINE_DRIVER_END
654MACHINE_CONFIG_END
658655
659656
660657
src/mame/drivers/slapfght.c
r9191r9192
743743   buffer_spriteram_w(space, 0, 0);
744744}
745745
746static MACHINE_DRIVER_START( perfrman )
746static MACHINE_CONFIG_START( perfrman, driver_device )
747747
748748   /* basic machine hardware */
749749   MDRV_CPU_ADD("maincpu", Z80,16000000/4)         /* 4MHz ???, 16MHz Oscillator */
r9191r9192
787787   MDRV_SOUND_ADD("ay2", AY8910, 16000000/8)
788788   MDRV_SOUND_CONFIG(ay8910_interface_2)
789789   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
790MACHINE_DRIVER_END
790MACHINE_CONFIG_END
791791
792792
793static MACHINE_DRIVER_START( tigerhb )
793static MACHINE_CONFIG_START( tigerhb, driver_device )
794794
795795   /* basic machine hardware */
796796   MDRV_CPU_ADD("maincpu", Z80, 6000000)
r9191r9192
834834   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
835835   MDRV_SOUND_CONFIG(ay8910_interface_2)
836836   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
837MACHINE_DRIVER_END
837MACHINE_CONFIG_END
838838
839static MACHINE_DRIVER_START( tigerh )
839static MACHINE_CONFIG_START( tigerh, driver_device )
840840
841841   /* basic machine hardware */
842842   MDRV_CPU_ADD("maincpu", Z80, XTAL_36MHz/6) /* verified on pcb */
r9191r9192
883883   MDRV_SOUND_ADD("ay2", AY8910, XTAL_36MHz/24) /* verified on pcb */
884884   MDRV_SOUND_CONFIG(ay8910_interface_2)
885885   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
886MACHINE_DRIVER_END
886MACHINE_CONFIG_END
887887
888888
889static MACHINE_DRIVER_START( slapfigh )
889static MACHINE_CONFIG_START( slapfigh, driver_device )
890890
891891   /* basic machine hardware */
892892   MDRV_CPU_ADD("maincpu",Z80, XTAL_36MHz/6) /* verified on pcb */
r9191r9192
933933   MDRV_SOUND_ADD("ay2", AY8910, XTAL_36MHz/24) /* verified on pcb */
934934   MDRV_SOUND_CONFIG(ay8910_interface_2)
935935   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
936MACHINE_DRIVER_END
936MACHINE_CONFIG_END
937937
938static MACHINE_DRIVER_START( slapfighb1 )
938static MACHINE_CONFIG_DERIVED( slapfighb1, slapfigh )
939939
940940   /* basic machine hardware */
941   MDRV_IMPORT_FROM(slapfigh)
942941
943942   MDRV_DEVICE_REMOVE("mcu")
944MACHINE_DRIVER_END
943MACHINE_CONFIG_END
945944
946945/* identical to slapfigh_ but the scroll registers are located elsewhere in memory */
947static MACHINE_DRIVER_START( slapfighb2 )
946static MACHINE_CONFIG_DERIVED( slapfighb2, slapfigh )
948947
949948   /* basic machine hardware */
950   MDRV_IMPORT_FROM(slapfigh)
951949
952950   MDRV_CPU_MODIFY("maincpu")
953951   MDRV_CPU_PROGRAM_MAP(slapfighb2_map)
954952
955953   MDRV_DEVICE_REMOVE("mcu")
956MACHINE_DRIVER_END
954MACHINE_CONFIG_END
957955
958956
959957ROM_START( perfrman )
src/mame/drivers/1945kiii.c
r9191r9192
4747#define MASTER_CLOCK   XTAL_16MHz
4848
4949
50class k3_state : public driver_data_t
50class k3_state : public driver_device
5151{
5252public:
53   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, k3_state(machine)); }
53   k3_state(running_machine &machine, const driver_device_config_base &config)
54      : driver_device(machine, config),
55        oki1(*this, "oki1"),
56        oki2(*this, "oki2") { }
5457
55   k3_state(running_machine &machine)
56      : driver_data_t(machine),
57        oki1(machine.device<okim6295_device>("oki1")),
58        oki2(machine.device<okim6295_device>("oki2")) { }
59
6058   /* memory pointers */
6159   UINT16 *  spriteram_1;
6260   UINT16 *  spriteram_2;
r9191r9192
6765   tilemap_t  *bg_tilemap;
6866
6967   /* devices */
70   okim6295_device *oki1;
71   okim6295_device *oki2;
68   required_device<okim6295_device> oki1;
69   required_device<okim6295_device> oki2;
7270};
7371
7472
r9191r9192
162160   AM_RANGE(0x400000, 0x400001) AM_READ_PORT("INPUTS")
163161   AM_RANGE(0x440000, 0x440001) AM_READ_PORT("SYSTEM")
164162   AM_RANGE(0x480000, 0x480001) AM_READ_PORT("DSW")
165   AM_RANGE(0x4c0000, 0x4c0001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0xff00)
166   AM_RANGE(0x500000, 0x500001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0xff00)
163   AM_RANGE(0x4c0000, 0x4c0001) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0xff00)
164   AM_RANGE(0x500000, 0x500001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0xff00)
167165   AM_RANGE(0x8c0000, 0x8cffff) AM_RAM   // not used?
168166ADDRESS_MAP_END
169167
r9191r9192
251249{
252250}
253251
254static MACHINE_DRIVER_START( k3 )
252static MACHINE_CONFIG_START( k3, k3_state )
255253
256   /* driver data */
257   MDRV_DRIVER_DATA(k3_state)
258
259254   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK)
260255   MDRV_CPU_PROGRAM_MAP(k3_map)
261256   MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
r9191r9192
282277
283278   MDRV_OKIM6295_ADD("oki2", MASTER_CLOCK/16, OKIM6295_PIN7_HIGH) /* dividers? */
284279   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
285MACHINE_DRIVER_END
280MACHINE_CONFIG_END
286281
287282
288283
src/mame/drivers/badlands.c
r9191r9192
384384static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
385385   AM_RANGE(0x000000, 0x03ffff) AM_ROM
386386   AM_RANGE(0xfc0000, 0xfc1fff) AM_READWRITE(sound_busy_r, atarigen_sound_reset_w)
387   AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(badlands_state, eeprom, eeprom_size)
387   AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
388388   AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE(watchdog_reset16_w)
389389   AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE(atarigen_video_int_ack_w)
390390   AM_RANGE(0xfe4000, 0xfe5fff) AM_READ_PORT("FE4000")
r9191r9192
503503 *
504504 *************************************/
505505
506static MACHINE_DRIVER_START( badlands )
507   MDRV_DRIVER_DATA(badlands_state)
506static MACHINE_CONFIG_START( badlands, badlands_state )
508507
509508   /* basic machine hardware */
510509   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
516515
517516   MDRV_MACHINE_START(badlands)
518517   MDRV_MACHINE_RESET(badlands)
519   MDRV_NVRAM_HANDLER(atarigen)
518   MDRV_NVRAM_ADD_1FILL("eeprom")
520519
521520   /* video hardware */
522521   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
538537   MDRV_SOUND_ADD("ymsnd", YM2151, ATARI_CLOCK_14MHz/4)
539538   MDRV_SOUND_ROUTE(0, "mono", 0.30)
540539   MDRV_SOUND_ROUTE(1, "mono", 0.30)
541MACHINE_DRIVER_END
540MACHINE_CONFIG_END
542541
543542
544543
r9191r9192
653652   AM_RANGE(0xfe4006, 0xfe4007) AM_READ(badlandsb_unk_r )
654653
655654
656   AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(badlands_state, eeprom, eeprom_size)
655   AM_RANGE(0xfd0000, 0xfd1fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
657656   //AM_RANGE(0xfe0000, 0xfe1fff) AM_WRITE(watchdog_reset16_w)
658657   AM_RANGE(0xfe2000, 0xfe3fff) AM_WRITE(atarigen_video_int_ack_w)
659658
r9191r9192
713712//  memcpy(state->bank_base, &state->bank_source_data[0x0000], 0x1000);
714713}
715714
716static MACHINE_DRIVER_START( badlandsb )
717   MDRV_DRIVER_DATA(badlands_state)
715static MACHINE_CONFIG_START( badlandsb, badlands_state )
718716
719717   /* basic machine hardware */
720718   MDRV_CPU_ADD("maincpu", M68000, 2800000/2)
r9191r9192
726724
727725   MDRV_MACHINE_START(badlands)
728726   MDRV_MACHINE_RESET(badlandsb)
729   MDRV_NVRAM_HANDLER(atarigen)
727   MDRV_NVRAM_ADD_1FILL("eeprom")
730728
731729   /* video hardware */
732730   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
748746   MDRV_SOUND_ADD("ymsnd", YM2151, 2800000/4)
749747   MDRV_SOUND_ROUTE(0, "mono", 0.30)
750748   MDRV_SOUND_ROUTE(1, "mono", 0.30)
751MACHINE_DRIVER_END
749MACHINE_CONFIG_END
752750
753751
754752
src/mame/drivers/psikyosh.c
r9191r9192
811811}
812812
813813
814static MACHINE_DRIVER_START( psikyo3v1 )
814static MACHINE_CONFIG_START( psikyo3v1, psikyosh_state )
815815
816   /* driver data */
817   MDRV_DRIVER_DATA(psikyosh_state)
818
819816   /* basic machine hardware */
820817   MDRV_CPU_ADD("maincpu", SH2, MASTER_CLOCK/2)
821818   MDRV_CPU_PROGRAM_MAP(ps3v1_map)
r9191r9192
850847   MDRV_SOUND_CONFIG(ymf278b_config)
851848   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
852849   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
853MACHINE_DRIVER_END
850MACHINE_CONFIG_END
854851
855static MACHINE_DRIVER_START( psikyo5 )
852static MACHINE_CONFIG_DERIVED( psikyo5, psikyo3v1 )
853
856854   /* basic machine hardware */
857   MDRV_IMPORT_FROM(psikyo3v1)
858855
859856   MDRV_CPU_MODIFY("maincpu")
860857   MDRV_CPU_PROGRAM_MAP(ps5_map)
861MACHINE_DRIVER_END
858MACHINE_CONFIG_END
862859
863static MACHINE_DRIVER_START( psikyo5_240 )
860static MACHINE_CONFIG_DERIVED( psikyo5_240, psikyo3v1 )
861
864862   /* basic machine hardware */
865   MDRV_IMPORT_FROM(psikyo3v1)
866863
867864   MDRV_CPU_MODIFY("maincpu")
868865   MDRV_CPU_PROGRAM_MAP(ps5_map)
r9191r9192
870867   /* Ideally this would be driven off the video register. However, it doesn't changeat runtime and MAME will pick a better screen resolution if it knows upfront */
871868   MDRV_SCREEN_MODIFY("screen")
872869   MDRV_SCREEN_VISIBLE_AREA(0, 40*8-1, 0, 30*8-1)
873MACHINE_DRIVER_END
870MACHINE_CONFIG_END
874871
875872
876873/* PS3 */
src/mame/drivers/astinvad.c
r9191r9192
4141};
4242
4343
44class astinvad_state : public driver_data_t
44class astinvad_state : public driver_device
4545{
4646public:
47   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, astinvad_state(machine)); }
47   astinvad_state(running_machine &machine, const driver_device_config_base &config)
48      : driver_device(machine, config) { }
4849
49   astinvad_state(running_machine &machine)
50      : driver_data_t(machine) { }
51
5250   UINT8 *    colorram;
5351   UINT8 *    videoram;
5452   size_t     videoram_size;
r9191r9192
586584 *
587585 *************************************/
588586
589static MACHINE_DRIVER_START( kamikaze )
587static MACHINE_CONFIG_START( kamikaze, astinvad_state )
590588
591   /* driver data */
592   MDRV_DRIVER_DATA(astinvad_state)
593
594589   /* basic machine hardware */
595590   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK)
596591   MDRV_CPU_PROGRAM_MAP(kamikaze_map)
r9191r9192
615610   MDRV_SOUND_ADD("samples", SAMPLES, 0)
616611   MDRV_SOUND_CONFIG(astinvad_samples_interface)
617612   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
618MACHINE_DRIVER_END
613MACHINE_CONFIG_END
619614
620615
621static MACHINE_DRIVER_START( spcking2 )
616static MACHINE_CONFIG_DERIVED( spcking2, kamikaze )
622617
623618   /* basic machine hardware */
624   MDRV_IMPORT_FROM(kamikaze)
625619   MDRV_SCREEN_MODIFY("screen")
626620   MDRV_SCREEN_RAW_PARAMS(VIDEO_CLOCK, 320, 0, 256, 256, 16, 240)
627MACHINE_DRIVER_END
621MACHINE_CONFIG_END
628622
629623
630static MACHINE_DRIVER_START( spaceint )
624static MACHINE_CONFIG_START( spaceint, astinvad_state )
631625
632   /* driver data */
633   MDRV_DRIVER_DATA(astinvad_state)
634
635626   /* basic machine hardware */
636627   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK)        /* a guess */
637628   MDRV_CPU_PROGRAM_MAP(spaceint_map)
r9191r9192
657648   MDRV_SOUND_ADD("samples", SAMPLES, 0)
658649   MDRV_SOUND_CONFIG(astinvad_samples_interface)
659650   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
660MACHINE_DRIVER_END
651MACHINE_CONFIG_END
661652
662653
663654
src/mame/drivers/supertnk.c
r9191r9192
105105   every 8 bytes */
106106#define NUM_PENS   (8)
107107
108class supertnk_state : public driver_data_t
108class supertnk_state : public driver_device
109109{
110110public:
111   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, supertnk_state(machine)); }
111   supertnk_state(running_machine &machine, const driver_device_config_base &config)
112      : driver_device(machine, config) { }
112113
113   supertnk_state(running_machine &machine)
114      : driver_data_t(machine) { }
115
116114   UINT8 *videoram[3];
117115   UINT8 rom_bank;
118116   UINT8 bitplane_select;
r9191r9192
422420 *
423421 *************************************/
424422
425static MACHINE_DRIVER_START( supertnk )
423static MACHINE_CONFIG_START( supertnk, supertnk_state )
426424
427   MDRV_DRIVER_DATA( supertnk_state )
428
429425   /* basic machine hardware */
430426   MDRV_CPU_ADD("maincpu", TMS9980, 2598750) /* ? to which frequency is the 20.79 Mhz crystal mapped down? */
431427   MDRV_CPU_PROGRAM_MAP(supertnk_map)
r9191r9192
450446
451447   MDRV_SOUND_ADD("aysnd", AY8910, 2000000)
452448   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
453MACHINE_DRIVER_END
449MACHINE_CONFIG_END
454450
455451
456452
src/mame/drivers/quizdna.c
r9191r9192
1212#include "cpu/z80/z80.h"
1313#include "sound/2203intf.h"
1414#include "sound/okim6295.h"
15#include "includes/quizdna.h"
1516
1617#define MCLK 16000000
1718
18VIDEO_START( quizdna );
19VIDEO_UPDATE( quizdna );
20
21WRITE8_HANDLER( quizdna_fg_ram_w );
22WRITE8_HANDLER( quizdna_bg_ram_w );
23WRITE8_HANDLER( quizdna_bg_yscroll_w );
24WRITE8_HANDLER( quizdna_bg_xscroll_w );
25WRITE8_HANDLER( quizdna_screen_ctrl_w );
26
27WRITE8_HANDLER( paletteram_xBGR_RRRR_GGGG_BBBB_w );
28
29
3019static WRITE8_HANDLER( quizdna_rombank_w )
3120{
3221   UINT8 *ROM = memory_region(space->machine, "maincpu");
r9191r9192
7564   AM_RANGE(0xc0, 0xc0) AM_WRITE(quizdna_rombank_w)
7665   AM_RANGE(0xd0, 0xd0) AM_WRITE(quizdna_screen_ctrl_w)
7766   AM_RANGE(0xe0, 0xe1) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
78   AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
67   AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
7968ADDRESS_MAP_END
8069
8170static ADDRESS_MAP_START( gakupara_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
9079   AM_RANGE(0xc0, 0xc0) AM_WRITE(quizdna_rombank_w)
9180   AM_RANGE(0xd0, 0xd0) AM_WRITE(quizdna_screen_ctrl_w)
9281   AM_RANGE(0xe0, 0xe1) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
93   AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
82   AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
9483ADDRESS_MAP_END
9584
9685static ADDRESS_MAP_START( gekiretu_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
10594   AM_RANGE(0xc0, 0xc0) AM_WRITE(gekiretu_rombank_w)
10695   AM_RANGE(0xd0, 0xd0) AM_WRITE(quizdna_screen_ctrl_w)
10796   AM_RANGE(0xe0, 0xe1) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
108   AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
97   AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
10998ADDRESS_MAP_END
11099
111100
r9191r9192
452441};
453442
454443
455static MACHINE_DRIVER_START( quizdna )
444static MACHINE_CONFIG_START( quizdna, driver_device )
456445
457446   /* basic machine hardware */
458447   MDRV_CPU_ADD("maincpu", Z80, MCLK/2) /* 8.000 MHz */
r9191r9192
486475
487476   MDRV_OKIM6295_ADD("oki", (MCLK/1024)*132, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
488477   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
489MACHINE_DRIVER_END
478MACHINE_CONFIG_END
490479
491static MACHINE_DRIVER_START( gakupara )
480static MACHINE_CONFIG_DERIVED( gakupara, quizdna )
492481
493482   /* basic machine hardware */
494   MDRV_IMPORT_FROM(quizdna)
495483
496484   MDRV_CPU_MODIFY("maincpu")
497485   MDRV_CPU_IO_MAP(gakupara_io_map)
498486
499MACHINE_DRIVER_END
487MACHINE_CONFIG_END
500488
501static MACHINE_DRIVER_START( gekiretu )
489static MACHINE_CONFIG_DERIVED( gekiretu, quizdna )
502490
503491   /* basic machine hardware */
504   MDRV_IMPORT_FROM(quizdna)
505492
506493   MDRV_CPU_MODIFY("maincpu")
507494   MDRV_CPU_PROGRAM_MAP(gekiretu_map)
508495   MDRV_CPU_IO_MAP(gekiretu_io_map)
509496
510MACHINE_DRIVER_END
497MACHINE_CONFIG_END
511498
512499
513500/****************************************************************************/
src/mame/drivers/boogwing.c
r9191r9192
131131   AM_RANGE(0x000000, 0x00ffff) AM_ROM
132132   AM_RANGE(0x100000, 0x100001) AM_NOP
133133   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
134   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
135   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
134   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
135   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
136136   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
137137   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
138138   AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
r9191r9192
322322};
323323
324324
325static MACHINE_DRIVER_START( boogwing )
325static MACHINE_CONFIG_START( boogwing, boogwing_state )
326326
327   /* driver data */
328   MDRV_DRIVER_DATA(boogwing_state)
329
330327   /* basic machine hardware */
331328   MDRV_CPU_ADD("maincpu", M68000, 14000000)   /* DE102 */
332329   MDRV_CPU_PROGRAM_MAP(boogwing_map)
r9191r9192
367364   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
368365   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.30)
369366   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.30)
370MACHINE_DRIVER_END
367MACHINE_CONFIG_END
371368
372369/**********************************************************************************/
373370
src/mame/drivers/offtwall.c
r9191r9192
278278static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
279279   AM_RANGE(0x000000, 0x037fff) AM_ROM
280280   AM_RANGE(0x038000, 0x03ffff) AM_READ(bankrom_r) AM_REGION("maincpu", 0x38000) AM_BASE_MEMBER(offtwall_state, bankrom_base)
281   AM_RANGE(0x120000, 0x120fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(offtwall_state, eeprom, eeprom_size)
281   AM_RANGE(0x120000, 0x120fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
282282   AM_RANGE(0x260000, 0x260001) AM_READ_PORT("260000")
283283   AM_RANGE(0x260002, 0x260003) AM_READ_PORT("260002")
284284   AM_RANGE(0x260010, 0x260011) AM_READ(special_port3_r)
r9191r9192
403403 *
404404 *************************************/
405405
406static MACHINE_DRIVER_START( offtwall )
407   MDRV_DRIVER_DATA(offtwall_state)
406static MACHINE_CONFIG_START( offtwall, offtwall_state )
408407
409408   /* basic machine hardware */
410409   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
412411
413412   MDRV_MACHINE_START(offtwall)
414413   MDRV_MACHINE_RESET(offtwall)
415   MDRV_NVRAM_HANDLER(atarigen)
414   MDRV_NVRAM_ADD_1FILL("eeprom")
416415
417416   /* video hardware */
418417   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
429428   MDRV_VIDEO_UPDATE(offtwall)
430429
431430   /* sound hardware */
432   MDRV_IMPORT_FROM(jsa_iii_mono_noadpcm)
433MACHINE_DRIVER_END
431   MDRV_FRAGMENT_ADD(jsa_iii_mono_noadpcm)
432MACHINE_CONFIG_END
434433
435434
436435
r9191r9192
456455   ROM_LOAD( "otw1015.bin", 0x060000, 0x20000, CRC(271f7856) SHA1(928bc5e7dc589ceb5f55e536b5a05c3866116a24) )
457456   ROM_LOAD( "otw1017.bin", 0x080000, 0x20000, CRC(7f7f8012) SHA1(1123ea3c6cd2c73617a87d6a5bbb26fca8941af3) )
458457   ROM_LOAD( "otw1019.bin", 0x0a0000, 0x20000, CRC(9efe511b) SHA1(db1f1d8792bf497bc9ad652b0b7d78c3abf0e817) )
458
459   ROM_REGION( 0x1000, "eeprom", 0 )
460   ROM_LOAD( "offtwall-eeprom.bin", 0x0000, 0x1000, CRC(73dc2139) SHA1(28ee9be4b5a65708a4f3e7d88e98af15cd9badca) )
459461ROM_END
460462
461463
r9191r9192
475477   ROM_LOAD( "090-1615.rom", 0x060000, 0x20000, CRC(ac3642c7) SHA1(bb57e039c113c4ce5702983c8e01dbe286d7b58e) )
476478   ROM_LOAD( "090-1617.rom", 0x080000, 0x20000, CRC(15208a89) SHA1(124484ab54959a1e6d9022a4f3ee4288a79c768b) )
477479   ROM_LOAD( "090-1619.rom", 0x0a0000, 0x20000, CRC(8a5d79b3) SHA1(0a202d20e6c86989ce2223e10eadf9009dd6ca8e) )
480
481   ROM_REGION( 0x1000, "eeprom", 0 )
482   ROM_LOAD( "offtwall-eeprom.bin", 0x0000, 0x1000, CRC(73dc2139) SHA1(28ee9be4b5a65708a4f3e7d88e98af15cd9badca) )
478483ROM_END
479484
480485
r9191r9192
485490 *
486491 *************************************/
487492
488static const UINT16 default_eeprom[] =
489{
490   0x0001,0x011A,0x012A,0x0146,0x0100,0x0168,0x0300,0x011E,
491   0x0700,0x0122,0x0600,0x0120,0x0400,0x0102,0x0300,0x017E,
492   0x0200,0x0128,0x0104,0x0100,0x014E,0x0100,0x013E,0x0122,
493   0x011A,0x012A,0x0146,0x0100,0x0168,0x0300,0x011E,0x0700,
494   0x0122,0x0600,0x0120,0x0400,0x0102,0x0300,0x017E,0x0200,
495   0x0128,0x0104,0x0100,0x014E,0x0100,0x013E,0x0122,0x1A00,
496   0x0154,0x0125,0x01DC,0x0100,0x0192,0x0105,0x01DC,0x0181,
497   0x012E,0x0106,0x0100,0x0105,0x0179,0x0132,0x0101,0x0100,
498   0x01D3,0x0105,0x0116,0x0127,0x0134,0x0100,0x0104,0x01B0,
499   0x0165,0x0102,0x1600,0x0000
500};
501
502
503493static DRIVER_INIT( offtwall )
504494{
505495   offtwall_state *state = machine->driver_data<offtwall_state>();
506496
507   state->eeprom_default = default_eeprom;
508497   atarijsa_init(machine, "260010", 0x0040);
509498
510499   /* install son-of-slapstic workarounds */
r9191r9192
518507{
519508   offtwall_state *state = machine->driver_data<offtwall_state>();
520509
521   state->eeprom_default = default_eeprom;
522510   atarijsa_init(machine, "260010", 0x0040);
523511
524512   /* install son-of-slapstic workarounds */
src/mame/drivers/neodrvr.c
r9191r9192
15451545
15461546   NEO_SFIX_128K( "029-s1.bin", CRC(bcd502f0) SHA1(a3400f52c037aa6a42e59e602cc24fa45fcbc951) )
15471547
1548   NEO_BIOS_AUDIO_128K( "029-m1.bin", CRC(8ed64977) SHA1(c2f77213f05b4b2e1962a45e718a9e36cc398cbb) )
1548   /* TC531001 */
1549   NEO_BIOS_AUDIO_128K( "029-m1.bin", CRC(6f2843f0) SHA1(975fb1598b87a2798fff05e951fca2e2e0329e79) )
15491550
15501551   ROM_REGION( 0x100000, "ymsnd", 0 )
15511552   ROM_LOAD( "029-v1.bin", 0x000000, 0x100000, CRC(85065452) SHA1(7154b7c59b16c32753ac6b5790fb50b51ce30a20) )
r9191r9192
17791780   ROM_LOAD16_BYTE( "036-c4.bin", 0x200001, 0x100000, CRC(f2577d22) SHA1(a37db8055ca4680e244c556dc6df8bdba16c2083) ) /* Plane 2,3 */
17801781ROM_END
17811782
1782ROM_START( crsword )
1783ROM_START( crsword ) /* MVS AND AES VERSION */
17831784   ROM_REGION( 0x100000, "maincpu", 0 )
17841785   ROM_LOAD16_WORD_SWAP( "037-p1.bin", 0x000000, 0x080000, CRC(e7f2553c) SHA1(8469ecb900477feed05ae3311fe9515019bbec2a) )
17851786
17861787   NEO_SFIX_128K( "037-s1.bin", CRC(74651f27) SHA1(bff7ff2429d2be82c1647abac2ee45b339b3b310) )
17871788
1788   NEO_BIOS_AUDIO_128K( "037-m1.bin", CRC(9c384263) SHA1(74b86284048669e316c5d241b4aaeb02d59d4dfa) )
1789   /* TC531001 */
1790   NEO_BIOS_AUDIO_128K( "037-m1.bin", CRC(9504b2c6) SHA1(9ce8e681b9df6eacd0d23a36bad836bd5074233d) )
17891791
17901792   ROM_REGION( 0x100000, "ymsnd", 0 )
17911793   ROM_LOAD( "037-v1.bin", 0x000000, 0x100000, CRC(61fedf65) SHA1(98f31d1e23bf7c1f7844e67f14707a704134042e) )
r9191r9192
21632165   NEO_BIOS_AUDIO_128K( "051-m1.bin", CRC(8e69f29a) SHA1(7a25f4997996434ea1b7d0d1ca9e7aaf966cbd03) )
21642166
21652167   ROM_REGION( 0x400000, "ymsnd", 0 )
2166   ROM_LOAD( "051-v1.bin", 0x000000, 0x200000, CRC(019978b6) SHA1(7896a551115fc6ed38b5944e0c8dcb2b2c1c077d) )
2167   ROM_LOAD( "051-v2.bin", 0x200000, 0x200000, CRC(5758f38c) SHA1(da10f4b7d22d9139bbf068bd940be82168a74ca1) )
2168   ROM_LOAD( "051-v2.bin", 0x000000, 0x200000, CRC(019978b6) SHA1(7896a551115fc6ed38b5944e0c8dcb2b2c1c077d) )
2169   ROM_LOAD( "051-v4.bin", 0x200000, 0x200000, CRC(5758f38c) SHA1(da10f4b7d22d9139bbf068bd940be82168a74ca1) )
21682170
21692171   NO_DELTAT_REGION
21702172
r9191r9192
24422444   NO_DELTAT_REGION
24432445
24442446   ROM_REGION( 0x1000000, "sprites", 0 )
2445   ROM_LOAD16_BYTE( "059-c1.bin", 0x000000, 0x200000, CRC(763ba611) SHA1(d3262e0332c894ee149c5963f882cc5e5562ee57) ) /* Plane 0,1 */
2447   ROM_LOAD16_BYTE( "059-c1.bin", 0x000000, 0x200000, CRC(45622698) SHA1(25e7e61ae128b124be9c9e28278a2fed916dd3a1) ) /* Plane 0,1 */
24462448   ROM_LOAD16_BYTE( "059-c2.bin", 0x000001, 0x200000, CRC(e05e8ca6) SHA1(986a9b16ff92bc101ab567d2d01348e093abea9a) ) /* Plane 2,3 */
24472449   ROM_LOAD16_BYTE( "059-c3.bin", 0x400000, 0x200000, CRC(3e4eba4b) SHA1(770adec719e63a30ebe9522cc7576caaca44f3b2) ) /* Plane 0,1 */
24482450   ROM_LOAD16_BYTE( "059-c4.bin", 0x400001, 0x200000, CRC(3c2a3808) SHA1(698adcec0715c9e78b6286be38debf0ce28fd644) ) /* Plane 2,3 */
r9191r9192
37713773   NO_DELTAT_REGION
37723774
37733775   ROM_REGION( 0x1c00000, "sprites", 0 )
3774   ROM_LOAD16_BYTE( "059-c1.bin", 0x0000000, 0x200000, CRC(763ba611) SHA1(d3262e0332c894ee149c5963f882cc5e5562ee57) ) /* Plane 0,1 */
3776   ROM_LOAD16_BYTE( "059-c1.bin", 0x0000000, 0x200000, CRC(45622698) SHA1(25e7e61ae128b124be9c9e28278a2fed916dd3a1) ) /* Plane 0,1 */
37753777   ROM_LOAD16_BYTE( "059-c2.bin", 0x0000001, 0x200000, CRC(e05e8ca6) SHA1(986a9b16ff92bc101ab567d2d01348e093abea9a) ) /* Plane 2,3 */
37763778   /* 400000-7fffff empty */
37773779   ROM_LOAD16_BYTE( "216-c3.bin", 0x0800000, 0x400000, CRC(665c9f16) SHA1(7ec781a49a462f395b450460b29493f55134eac2) ) /* Plane 0,1 */
r9191r9192
40544056   ROM_LOAD16_BYTE( "227-c4.bin", 0x0800001, 0x200000, CRC(7efea43a) SHA1(3f2b1718fe7be06b6d75ec34badc2de2a3554d3e) ) /* Plane 2,3 */
40554057ROM_END
40564058
4057ROM_START( ghostlop )
4059ROM_START( ghostlop ) /* Prototype */
40584060   ROM_REGION( 0x100000, "maincpu", 0 )
4059   ROM_LOAD16_WORD_SWAP( "gl-p1.bin", 0x000000, 0x100000, CRC(6033172e) SHA1(f57fb706aa8dd9e5f9e992a5d35c1799578b59f8) )
4061   ROM_LOAD16_WORD_SWAP( "228-p1p.bin", 0x000000, 0x100000, CRC(6033172e) SHA1(f57fb706aa8dd9e5f9e992a5d35c1799578b59f8) )
40604062
4061   NEO_SFIX_128K( "gl-s1.bin", CRC(83c24e81) SHA1(585ef209d8bfc23bdccc1f37d8b764eeedfedc1c) )
4063   NEO_SFIX_128K( "228-s1p.bin", CRC(83c24e81) SHA1(585ef209d8bfc23bdccc1f37d8b764eeedfedc1c) )
40624064
4063   NEO_BIOS_AUDIO_128K( "gl-m1.bin", CRC(fd833b33) SHA1(ab6c218c42cba821654cbdae154efecb69f844f6) )
4065   NEO_BIOS_AUDIO_128K( "228-m1p.bin", CRC(fd833b33) SHA1(ab6c218c42cba821654cbdae154efecb69f844f6) )
40644066
40654067   ROM_REGION( 0x200000, "ymsnd", 0 )
4066   ROM_LOAD( "gl-v1.bin", 0x000000, 0x200000, CRC(c603fce6) SHA1(5a866471d35895b2ae13cbd5d1cb41bf2e72e1b8) )
4068   ROM_LOAD( "228-v1p.bin", 0x000000, 0x200000, CRC(c603fce6) SHA1(5a866471d35895b2ae13cbd5d1cb41bf2e72e1b8) )
40674069
40684070   NO_DELTAT_REGION
40694071
40704072   ROM_REGION( 0x800000, "sprites", 0 )
4071   ROM_LOAD16_BYTE( "gl-c1.bin", 0x000000, 0x400000, CRC(bfc99efe) SHA1(5cd2545310142080b8286e787cf5b859f627b3db) ) /* Plane 0,1 */
4072   ROM_LOAD16_BYTE( "gl-c2.bin", 0x000001, 0x400000, CRC(69788082) SHA1(c3ecb42ddcbd9e16d0018a0c3adb56a911d813ca) ) /* Plane 2,3 */
4073   ROM_LOAD16_BYTE( "228-c1p.bin", 0x000000, 0x400000, CRC(bfc99efe) SHA1(5cd2545310142080b8286e787cf5b859f627b3db) ) /* Plane 0,1 */
4074   ROM_LOAD16_BYTE( "228-c2p.bin", 0x000001, 0x400000, CRC(69788082) SHA1(c3ecb42ddcbd9e16d0018a0c3adb56a911d813ca) ) /* Plane 2,3 */
40734075ROM_END
40744076
40754077ROM_START( breakers )
src/mame/drivers/esh.c
r9191r9192
2525#include "emu.h"
2626#include "cpu/z80/z80.h"
2727#include "machine/laserdsc.h"
28#include "machine/nvram.h"
2829
2930/* From daphne */
3031#define PCB_CLOCK (18432000)
r9191r9192
142143/* PROGRAM MAPS */
143144static ADDRESS_MAP_START( z80_0_mem, ADDRESS_SPACE_PROGRAM, 8 )
144145   AM_RANGE(0x0000,0x3fff) AM_ROM
145   AM_RANGE(0xe000,0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
146   AM_RANGE(0xe000,0xe7ff) AM_RAM AM_SHARE("nvram")
146147   AM_RANGE(0xf000,0xf3ff) AM_RAM AM_BASE(&tile_ram)
147148   AM_RANGE(0xf400,0xf7ff) AM_RAM AM_BASE(&tile_control_ram)
148149ADDRESS_MAP_END
r9191r9192
277278
278279
279280/* DRIVER */
280static MACHINE_DRIVER_START( esh )
281static MACHINE_CONFIG_START( esh, driver_device )
281282
282283   /* main cpu */
283284   MDRV_CPU_ADD("maincpu", Z80, PCB_CLOCK/6)                  /* The denominator is a Daphne guess based on PacMan's hardware */
r9191r9192
285286   MDRV_CPU_IO_MAP(z80_0_io)
286287   MDRV_CPU_VBLANK_INT("screen", vblank_callback_esh)
287288
288   MDRV_NVRAM_HANDLER(generic_0fill)
289   MDRV_NVRAM_ADD_0FILL("nvram")
289290
290291   MDRV_MACHINE_START(esh)
291292
r9191r9192
303304   /* sound hardware */
304305   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
305306
306   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
307   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
307308   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
308309   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
309MACHINE_DRIVER_END
310MACHINE_CONFIG_END
310311
311312
312313ROM_START( esh )
src/mame/drivers/fromance.c
r9191r9192
10081008      state->crtc_data[i] = 0;
10091009}
10101010
1011static MACHINE_DRIVER_START( nekkyoku )
1011static MACHINE_CONFIG_START( nekkyoku, fromance_state )
10121012
1013   /* driver data */
1014   MDRV_DRIVER_DATA(fromance_state)
1015
10161013   /* basic machine hardware */
10171014   MDRV_CPU_ADD("maincpu", Z80,12000000/2)      /* 6.00 Mhz ? */
10181015   MDRV_CPU_PROGRAM_MAP(nekkyoku_main_map)
r9191r9192
10471044   MDRV_SOUND_ADD("msm", MSM5205, 384000)
10481045   MDRV_SOUND_CONFIG(msm5205_config)
10491046   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1050MACHINE_DRIVER_END
1047MACHINE_CONFIG_END
10511048
10521049
1053static MACHINE_DRIVER_START( idolmj )
1050static MACHINE_CONFIG_START( idolmj, fromance_state )
10541051
1055   /* driver data */
1056   MDRV_DRIVER_DATA(fromance_state)
1057
10581052   /* basic machine hardware */
10591053   MDRV_CPU_ADD("maincpu", Z80,12000000/2)      /* 6.00 Mhz ? */
10601054   MDRV_CPU_PROGRAM_MAP(fromance_main_map)
r9191r9192
10891083   MDRV_SOUND_ADD("msm", MSM5205, 384000)
10901084   MDRV_SOUND_CONFIG(msm5205_config)
10911085   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1092MACHINE_DRIVER_END
1086MACHINE_CONFIG_END
10931087
10941088
1095static MACHINE_DRIVER_START( fromance )
1089static MACHINE_CONFIG_START( fromance, fromance_state )
10961090
1097   /* driver data */
1098   MDRV_DRIVER_DATA(fromance_state)
1099
11001091   /* basic machine hardware */
11011092   MDRV_CPU_ADD("maincpu", Z80,12000000/2)      /* 6.00 Mhz ? */
11021093   MDRV_CPU_PROGRAM_MAP(fromance_main_map)
r9191r9192
11311122   MDRV_SOUND_ADD("msm", MSM5205, 384000)
11321123   MDRV_SOUND_CONFIG(msm5205_config)
11331124   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
1134MACHINE_DRIVER_END
1125MACHINE_CONFIG_END
11351126
11361127
11371128
src/mame/drivers/skykid.c
r9191r9192
1717#include "cpu/m6809/m6809.h"
1818#include "cpu/m6800/m6800.h"
1919#include "sound/namco.h"
20#include "includes/skykid.h"
2021
21extern UINT8 *skykid_textram, *skykid_videoram, *skykid_spriteram;
22
23/* from video/skykid.c */
24VIDEO_START( skykid );
25READ8_HANDLER( skykid_videoram_r );
26WRITE8_HANDLER( skykid_videoram_w );
27READ8_HANDLER( skykid_textram_r );
28WRITE8_HANDLER( skykid_textram_w );
29WRITE8_HANDLER( skykid_scroll_x_w );
30WRITE8_HANDLER( skykid_scroll_y_w );
31WRITE8_HANDLER( skykid_flipscreen_priority_w );
32VIDEO_UPDATE( skykid );
33PALETTE_INIT( skykid );
34
35
3622static UINT8 inputport_selected;
3723
3824static WRITE8_HANDLER( inputport_select_w )
r9191r9192
439425
440426
441427
442static MACHINE_DRIVER_START( skykid )
428static MACHINE_CONFIG_START( skykid, driver_device )
443429
444430   /* basic machine hardware */
445431   MDRV_CPU_ADD("maincpu", M6809,49152000/32)
r9191r9192
476462   MDRV_SOUND_ADD("namco", NAMCO_CUS30, 49152000/2048)
477463   MDRV_SOUND_CONFIG(namco_config)
478464   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
479MACHINE_DRIVER_END
465MACHINE_CONFIG_END
480466
481467
482468ROM_START( skykid )
src/mame/drivers/halleys.c
r9191r9192
19331933};
19341934
19351935
1936static MACHINE_DRIVER_START( halleys )
1936static MACHINE_CONFIG_START( halleys, driver_device )
19371937   MDRV_CPU_ADD("maincpu", M6809, XTAL_19_968MHz/12) /* verified on pcb */
19381938   MDRV_CPU_PROGRAM_MAP(halleys_map)
19391939   MDRV_CPU_VBLANK_INT_HACK(halleys_interrupt, 4)
r9191r9192
19741974   MDRV_SOUND_ADD("ay4", AY8910, XTAL_6MHz/4) /* verified on pcb */
19751975   MDRV_SOUND_CONFIG(ay8910_config)
19761976   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
1977MACHINE_DRIVER_END
1977MACHINE_CONFIG_END
19781978
19791979
1980static MACHINE_DRIVER_START( benberob )
1981   MDRV_IMPORT_FROM(halleys)
1980static MACHINE_CONFIG_DERIVED( benberob, halleys )
19821981   MDRV_CPU_MODIFY("maincpu")
19831982   MDRV_CPU_CLOCK(XTAL_19_968MHz/12) /* not verified but pcb identical to halley's comet */
19841983   MDRV_CPU_VBLANK_INT_HACK(benberob_interrupt, 4)
19851984   MDRV_VIDEO_UPDATE(benberob)
1986MACHINE_DRIVER_END
1985MACHINE_CONFIG_END
19871986
19881987
19891988//**************************************************************************
src/mame/drivers/djmain.c
r9191r9192
6969#include "machine/idectrl.h"
7070#include "sound/k054539.h"
7171#include "video/konicdev.h"
72#include "includes/djmain.h"
7273
73
74extern UINT32 *djmain_obj_ram;
75
76VIDEO_UPDATE( djmain );
77VIDEO_START( djmain );
78extern void djmain_tile_callback(running_machine* machine, int layer, int *code, int *color, int *flags);
79
80
8174static int sndram_bank;
8275static UINT8 *sndram;
8376
r9191r9192
14851478   djmain_tile_callback, "none"
14861479};
14871480
1488static MACHINE_DRIVER_START( djmain )
1481static MACHINE_CONFIG_START( djmain, driver_device )
14891482
14901483   /* basic machine hardware */
14911484   // popn3 works 9.6 MHz or slower in some songs */
r9191r9192
15271520   MDRV_SOUND_CONFIG(k054539_config)
15281521   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
15291522   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1530MACHINE_DRIVER_END
1523MACHINE_CONFIG_END
15311524
15321525
15331526
src/mame/drivers/mustache.c
r9191r9192
3131#include "cpu/z80/z80.h"
3232#include "audio/seibu.h"   // for seibu_sound_decrypt on the MAIN cpu (not sound)
3333#include "audio/t5182.h"
34#include "includes/mustache.h"
3435
3536#define XTAL1  14318180
3637#define XTAL2  18432000
r9191r9192
4142#define YM_CLOCK    (XTAL1/4)
4243
4344
44WRITE8_HANDLER( mustache_videoram_w );
45WRITE8_HANDLER( mustache_scroll_w );
46WRITE8_HANDLER ( mustache_video_control_w);
47VIDEO_START( mustache );
48VIDEO_UPDATE( mustache );
49PALETTE_INIT( mustache );
50
51
5245static READ8_HANDLER(t5182shared_r)
5346{
5447   return t5182_sharedram[offset];
r9191r9192
6356static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
6457   AM_RANGE(0x0000, 0x7fff) AM_ROM
6558   AM_RANGE(0x8000, 0xbfff) AM_ROM
66   AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(mustache_videoram_w) AM_BASE_GENERIC(videoram)
59   AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(mustache_videoram_w) AM_BASE_MEMBER(mustache_state, videoram)
6760   AM_RANGE(0xd000, 0xd000) AM_WRITE(t5182_sound_irq_w)
6861   AM_RANGE(0xd001, 0xd001) AM_READ(t5182_sharedram_semaphore_snd_r)
6962   AM_RANGE(0xd002, 0xd002) AM_WRITE(t5182_sharedram_semaphore_main_acquire_w)
r9191r9192
195188       */
196189}
197190
198static MACHINE_DRIVER_START( mustache )
191static MACHINE_CONFIG_START( mustache, mustache_state )
199192
200193   /* basic machine hardware */
201194   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
r9191r9192
228221   MDRV_SOUND_CONFIG(t5182_ym2151_interface)
229222   MDRV_SOUND_ROUTE(0, "mono", 1.0)
230223   MDRV_SOUND_ROUTE(1, "mono", 1.0)
231MACHINE_DRIVER_END
224MACHINE_CONFIG_END
232225
233226ROM_START( mustache )
234227   ROM_REGION( 0x20000, "maincpu", 0 )
src/mame/drivers/segas16a.c
r9191r9192
19561956 *
19571957 *************************************/
19581958
1959static MACHINE_DRIVER_START( system16a )
1959static MACHINE_CONFIG_START( system16a, segas1x_state )
19601960
1961   /* driver data */
1962   MDRV_DRIVER_DATA(segas1x_state)
1963
19641961   /* basic machine hardware */
19651962   MDRV_CPU_ADD("maincpu", M68000, 10000000)
19661963   MDRV_CPU_PROGRAM_MAP(system16a_map)
r9191r9192
20052002
20062003   MDRV_SOUND_ADD("dac", DAC, 0)
20072004   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
2008MACHINE_DRIVER_END
2005MACHINE_CONFIG_END
20092006
20102007
2011static MACHINE_DRIVER_START( system16a_no7751 )
2012   MDRV_IMPORT_FROM(system16a)
2008static MACHINE_CONFIG_DERIVED( system16a_no7751, system16a )
20132009   MDRV_DEVICE_REMOVE("n7751")
20142010   MDRV_DEVICE_REMOVE("dac")
20152011
20162012   MDRV_SOUND_REPLACE("ymsnd", YM2151, 4000000)
20172013   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2018MACHINE_DRIVER_END
2014MACHINE_CONFIG_END
20192015
20202016
2021static MACHINE_DRIVER_START( system16a_8751 )
2022   MDRV_IMPORT_FROM(system16a)
2017static MACHINE_CONFIG_DERIVED( system16a_8751, system16a )
20232018   MDRV_CPU_MODIFY("maincpu")
20242019   MDRV_CPU_VBLANK_INT("screen", i8751_main_cpu_vblank)
20252020
20262021   MDRV_CPU_ADD("mcu", I8751, 8000000)
20272022   MDRV_CPU_IO_MAP(mcu_io_map)
20282023   MDRV_CPU_VBLANK_INT("screen", mcu_irq_assert)
2029MACHINE_DRIVER_END
2024MACHINE_CONFIG_END
20302025
20312026
20322027
src/mame/drivers/snookr10.c
r9191r9192
365365#include "cpu/m6502/m6502.h"
366366#include "sound/okim6295.h"
367367#include "snookr10.lh"
368#include "includes/snookr10.h"
369#include "machine/nvram.h"
368370
369
370/* from video */
371extern UINT8 *snookr10_videoram;
372extern UINT8 *snookr10_colorram;
373
374WRITE8_HANDLER( snookr10_videoram_w );
375WRITE8_HANDLER( snookr10_colorram_w );
376PALETTE_INIT( snookr10 );
377PALETTE_INIT( apple10 );
378VIDEO_START( snookr10 );
379VIDEO_START( apple10 );
380VIDEO_UPDATE( snookr10 );
381
382371static int outportl, outporth;
383372static int bit0, bit1, bit2, bit3, bit4, bit5;
384373
r9191r9192
508497*************************/
509498
510499static ADDRESS_MAP_START( snookr10_map, ADDRESS_SPACE_PROGRAM, 8 )
511   AM_RANGE(0x0000, 0x0fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
512   AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
500   AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
501   AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
513502   AM_RANGE(0x3000, 0x3000) AM_READ_PORT("IN0")      /* IN0 */
514503   AM_RANGE(0x3001, 0x3001) AM_READ_PORT("IN1")      /* IN1 */
515504   AM_RANGE(0x3002, 0x3002) AM_READ_PORT("IN2")      /* IN2 */
r9191r9192
523512ADDRESS_MAP_END
524513
525514static ADDRESS_MAP_START( tenballs_map, ADDRESS_SPACE_PROGRAM, 8 )
526   AM_RANGE(0x0000, 0x0fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
527   AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
515   AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
516   AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
528517   AM_RANGE(0x4000, 0x4000) AM_READ_PORT("IN0")      /* IN0 */
529518   AM_RANGE(0x4001, 0x4001) AM_READ_PORT("IN1")      /* IN1 */
530519   AM_RANGE(0x4002, 0x4002) AM_READ_PORT("IN2")      /* IN2 */
r9191r9192
698687*     Machine Drivers     *
699688**************************/
700689
701static MACHINE_DRIVER_START( snookr10 )
690static MACHINE_CONFIG_START( snookr10, driver_device )
702691
703692    /* basic machine hardware */
704693   MDRV_CPU_ADD("maincpu", M65SC02, MASTER_CLOCK/8)   /* 2 MHz (1.999 MHz measured) */
705694   MDRV_CPU_PROGRAM_MAP(snookr10_map)
706695   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
707696
708   MDRV_NVRAM_HANDLER(generic_0fill)
697   MDRV_NVRAM_ADD_0FILL("nvram")
709698
710699    /* video hardware */
711700
r9191r9192
728717   MDRV_OKIM6295_ADD("oki", MASTER_CLOCK/16, OKIM6295_PIN7_HIGH)   /* 1 MHz (995.5 kHz measured); pin7 checked HIGH on PCB */
729718   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.8)
730719
731MACHINE_DRIVER_END
720MACHINE_CONFIG_END
732721
733static MACHINE_DRIVER_START( apple10 )
722static MACHINE_CONFIG_DERIVED( apple10, snookr10 )
734723
735724   /* basic machine hardware */
736   MDRV_IMPORT_FROM(snookr10)
737725   MDRV_CPU_MODIFY("maincpu")
738726
739727    /* video hardware */
740728   MDRV_PALETTE_INIT(apple10)
741729   MDRV_VIDEO_START(apple10)
742730
743MACHINE_DRIVER_END
731MACHINE_CONFIG_END
744732
745static MACHINE_DRIVER_START( tenballs )
733static MACHINE_CONFIG_DERIVED( tenballs, snookr10 )
746734
747735   /* basic machine hardware */
748   MDRV_IMPORT_FROM(snookr10)
749736   MDRV_CPU_MODIFY("maincpu")
750737   MDRV_CPU_PROGRAM_MAP(tenballs_map)
751738
752MACHINE_DRIVER_END
739MACHINE_CONFIG_END
753740
754741
755742/*************************
src/mame/drivers/neogeo.c
r9191r9192
13371337 *
13381338 *************************************/
13391339
1340static MACHINE_DRIVER_START( neogeo )
1340static MACHINE_CONFIG_START( neogeo, neogeo_state )
13411341
1342   /* driver data */
1343   MDRV_DRIVER_DATA(neogeo_state)
1344
13451342   /* basic machine hardware */
13461343   MDRV_CPU_ADD("maincpu", M68000, NEOGEO_MAIN_CPU_CLOCK)
13471344   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
13791376
13801377   /* NEC uPD4990A RTC */
13811378   MDRV_UPD4990A_ADD("upd4990a")
1382MACHINE_DRIVER_END
1379MACHINE_CONFIG_END
13831380
13841381/*************************************
13851382 *
src/mame/drivers/segahang.c
r9191r9192
913913 *
914914 *************************************/
915915
916static MACHINE_DRIVER_START( hangon_base )
916static MACHINE_CONFIG_START( hangon_base, segas1x_state )
917917
918   /* driver data */
919   MDRV_DRIVER_DATA(segas1x_state)
920
921918   /* basic machine hardware */
922919   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK_25MHz/4)
923920   MDRV_CPU_PROGRAM_MAP(hangon_map)
r9191r9192
942939
943940   MDRV_VIDEO_START(hangon)
944941   MDRV_VIDEO_UPDATE(hangon)
945MACHINE_DRIVER_END
942MACHINE_CONFIG_END
946943
947944
948static MACHINE_DRIVER_START( sharrier_base )
949   MDRV_IMPORT_FROM(hangon_base)
945static MACHINE_CONFIG_DERIVED( sharrier_base, hangon_base )
950946
951947   /* basic machine hardware */
952948   MDRV_CPU_MODIFY("maincpu")
r9191r9192
959955
960956   /* video hardware */
961957   MDRV_VIDEO_START(sharrier)
962MACHINE_DRIVER_END
958MACHINE_CONFIG_END
963959
964960
965static MACHINE_DRIVER_START( sound_board_2203 )
961static MACHINE_CONFIG_FRAGMENT( sound_board_2203 )
966962
967963   /* basic machine hardware */
968964   MDRV_CPU_ADD("soundcpu", Z80, MASTER_CLOCK_8MHz/2)
r9191r9192
987983   MDRV_SOUND_CONFIG(segapcm_interface)
988984   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
989985   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
990MACHINE_DRIVER_END
986MACHINE_CONFIG_END
991987
992988
993static MACHINE_DRIVER_START( sound_board_2203x2 )
989static MACHINE_CONFIG_FRAGMENT( sound_board_2203x2 )
994990
995991   /* basic machine hardware */
996992   MDRV_CPU_ADD("soundcpu", Z80, MASTER_CLOCK_8MHz/2)
r9191r9192
10251021   MDRV_SOUND_CONFIG(segapcm_interface)
10261022   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
10271023   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1028MACHINE_DRIVER_END
1024MACHINE_CONFIG_END
10291025
10301026
1031static MACHINE_DRIVER_START( sound_board_2151 )
1027static MACHINE_CONFIG_FRAGMENT( sound_board_2151 )
10321028
10331029   /* basic machine hardware */
10341030   MDRV_CPU_ADD("soundcpu", Z80, MASTER_CLOCK_8MHz/2)
r9191r9192
10471043   MDRV_SOUND_CONFIG(segapcm_interface)
10481044   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
10491045   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1050MACHINE_DRIVER_END
1046MACHINE_CONFIG_END
10511047
10521048
10531049
r9191r9192
10571053 *
10581054 *************************************/
10591055
1060static MACHINE_DRIVER_START( hangon )
1061   MDRV_IMPORT_FROM(hangon_base)
1062   MDRV_IMPORT_FROM(sound_board_2203)
1056static MACHINE_CONFIG_DERIVED( hangon, hangon_base )
1057   MDRV_FRAGMENT_ADD(sound_board_2203)
10631058
10641059   MDRV_SEGA16SP_ADD_HANGON("segaspr1")
1065MACHINE_DRIVER_END
1060MACHINE_CONFIG_END
10661061
10671062
1068static MACHINE_DRIVER_START( shangupb )
1069   MDRV_IMPORT_FROM(hangon_base)
1070   MDRV_IMPORT_FROM(sound_board_2151)
1063static MACHINE_CONFIG_DERIVED( shangupb, hangon_base )
1064   MDRV_FRAGMENT_ADD(sound_board_2151)
10711065
10721066   /* not sure about these speeds, but at 6MHz, the road is not updated fast enough */
10731067   MDRV_CPU_MODIFY("maincpu")
r9191r9192
10761070   MDRV_CPU_CLOCK(10000000)
10771071
10781072   MDRV_SEGA16SP_ADD_HANGON("segaspr1")
1079MACHINE_DRIVER_END
1073MACHINE_CONFIG_END
10801074
10811075
1082static MACHINE_DRIVER_START( sharrier )
1083   MDRV_IMPORT_FROM(sharrier_base)
1084   MDRV_IMPORT_FROM(sound_board_2203)
1076static MACHINE_CONFIG_DERIVED( sharrier, sharrier_base )
1077   MDRV_FRAGMENT_ADD(sound_board_2203)
10851078
10861079   MDRV_CPU_ADD("mcu", I8751, 8000000)
10871080   MDRV_CPU_IO_MAP(mcu_io_map)
10881081   MDRV_CPU_VBLANK_INT("screen", irq0_line_pulse)
10891082
10901083   MDRV_SEGA16SP_ADD_SHARRIER("segaspr1")
1091MACHINE_DRIVER_END
1084MACHINE_CONFIG_END
10921085
10931086
1094static MACHINE_DRIVER_START( enduror )
1095   MDRV_IMPORT_FROM(sharrier_base)
1096   MDRV_IMPORT_FROM(sound_board_2151)
1087static MACHINE_CONFIG_DERIVED( enduror, sharrier_base )
1088   MDRV_FRAGMENT_ADD(sound_board_2151)
10971089
10981090   MDRV_SEGA16SP_ADD_SHARRIER("segaspr1")
1099MACHINE_DRIVER_END
1091MACHINE_CONFIG_END
11001092
11011093
1102static MACHINE_DRIVER_START( enduror1 )
1103   MDRV_IMPORT_FROM(sharrier_base)
1104   MDRV_IMPORT_FROM(sound_board_2203)
1094static MACHINE_CONFIG_DERIVED( enduror1, sharrier_base )
1095   MDRV_FRAGMENT_ADD(sound_board_2203)
11051096
11061097   MDRV_SEGA16SP_ADD_SHARRIER("segaspr1")
1107MACHINE_DRIVER_END
1098MACHINE_CONFIG_END
11081099
11091100
1110static MACHINE_DRIVER_START( endurob2 )
1111   MDRV_IMPORT_FROM(sharrier_base)
1112   MDRV_IMPORT_FROM(sound_board_2203x2)
1101static MACHINE_CONFIG_DERIVED( endurob2, sharrier_base )
1102   MDRV_FRAGMENT_ADD(sound_board_2203x2)
11131103
11141104   MDRV_SEGA16SP_ADD_SHARRIER("segaspr1")
1115MACHINE_DRIVER_END
1105MACHINE_CONFIG_END
11161106
11171107
11181108
src/mame/drivers/statriv2.c
r9191r9192
7373#include "sound/ay8910.h"
7474#include "machine/8255ppi.h"
7575#include "video/tms9927.h"
76#include "machine/nvram.h"
7677
78
79class statriv2_state : public driver_device
80{
81public:
82   statriv2_state(running_machine &machine, const driver_device_config_base &config)
83      : driver_device(machine, config) { }
84
85   UINT8 *videoram;
86};
87
88
7789#define MASTER_CLOCK      12440000
7890
7991
r9191r9192
97109
98110static TILE_GET_INFO( horizontal_tile_info )
99111{
100   int code = machine->generic.videoram.u8[0x400+tile_index];
101   int attr = machine->generic.videoram.u8[tile_index] & 0x3f;
112   statriv2_state *state = machine->driver_data<statriv2_state>();
113   UINT8 *videoram = state->videoram;
114   int code = videoram[0x400+tile_index];
115   int attr = videoram[tile_index] & 0x3f;
102116
103117   SET_TILE_INFO(0, code, attr, 0);
104118}
105119
106120static TILE_GET_INFO( vertical_tile_info )
107121{
108   int code = machine->generic.videoram.u8[0x400+tile_index];
109   int attr = machine->generic.videoram.u8[tile_index] & 0x3f;
122   statriv2_state *state = machine->driver_data<statriv2_state>();
123   UINT8 *videoram = state->videoram;
124   int code = videoram[0x400+tile_index];
125   int attr = videoram[tile_index] & 0x3f;
110126
111127   SET_TILE_INFO(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), attr, 0);
112128}
r9191r9192
150166
151167static WRITE8_HANDLER( statriv2_videoram_w )
152168{
153   space->machine->generic.videoram.u8[offset] = data;
169   statriv2_state *state = space->machine->driver_data<statriv2_state>();
170   UINT8 *videoram = state->videoram;
171   videoram[offset] = data;
154172   tilemap_mark_tile_dirty(statriv2_tilemap, offset & 0x3ff);
155173}
156174
r9191r9192
271289static ADDRESS_MAP_START( statriv2_map, ADDRESS_SPACE_PROGRAM, 8 )
272290   AM_RANGE(0x0000, 0x3fff) AM_ROM
273291   AM_RANGE(0x4000, 0x43ff) AM_RAM
274   AM_RANGE(0x4800, 0x48ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
275   AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(statriv2_videoram_w) AM_BASE_GENERIC(videoram)
292   AM_RANGE(0x4800, 0x48ff) AM_RAM AM_SHARE("nvram")
293   AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(statriv2_videoram_w) AM_BASE_MEMBER(statriv2_state, videoram)
276294ADDRESS_MAP_END
277295
278296static ADDRESS_MAP_START( statriv2_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
567585 *
568586 *************************************/
569587
570static MACHINE_DRIVER_START( statriv2 )
588static MACHINE_CONFIG_START( statriv2, statriv2_state )
571589   /* basic machine hardware */
572590   /* FIXME: The 8085A had a max clock of 6MHz, internally divided by 2! */
573591    MDRV_CPU_ADD("maincpu", I8085A, MASTER_CLOCK)
r9191r9192
575593   MDRV_CPU_IO_MAP(statriv2_io_map)
576594   MDRV_CPU_VBLANK_INT("screen", statriv2_interrupt)
577595
578   MDRV_NVRAM_HANDLER(generic_0fill)
596   MDRV_NVRAM_ADD_0FILL("nvram")
579597
580598   /* 1x 8255 */
581599   MDRV_PPI8255_ADD("ppi", ppi8255_intf)
r9191r9192
599617
600618   MDRV_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK/8)
601619   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
602MACHINE_DRIVER_END
620MACHINE_CONFIG_END
603621
604static MACHINE_DRIVER_START( statriv2v )
622static MACHINE_CONFIG_DERIVED( statriv2v, statriv2 )
623
605624   /* basic machine hardware */
606   MDRV_IMPORT_FROM(statriv2)
607625
608626   MDRV_SCREEN_MODIFY("screen")
609627   MDRV_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 392, 0, 256, 262, 0, 256)
610628
611629   MDRV_VIDEO_START(vertical)
612630   MDRV_GFXDECODE(vertical)
613MACHINE_DRIVER_END
631MACHINE_CONFIG_END
614632
615static MACHINE_DRIVER_START( funcsino )
633static MACHINE_CONFIG_DERIVED( funcsino, statriv2 )
634
616635   /* basic machine hardware */
617   MDRV_IMPORT_FROM(statriv2)
618636
619637    MDRV_CPU_MODIFY("maincpu")
620638    MDRV_CPU_CLOCK(MASTER_CLOCK/2)   /* 3 MHz?? seems accurate */
621MACHINE_DRIVER_END
639MACHINE_CONFIG_END
622640
623641
624642
src/mame/drivers/carrera.c
r9191r9192
313313};
314314
315315
316static MACHINE_DRIVER_START( carrera )
316static MACHINE_CONFIG_START( carrera, driver_device )
317317   /* basic machine hardware */
318318   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK / 6)
319319   MDRV_CPU_PROGRAM_MAP(carrera_map)
r9191r9192
342342   MDRV_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK/12)
343343   MDRV_SOUND_CONFIG(ay8910_config)
344344   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
345MACHINE_DRIVER_END
345MACHINE_CONFIG_END
346346
347347
348348ROM_START( carrera )
src/mame/drivers/ultraman.c
r9191r9192
6060   AM_RANGE(0x8000, 0xbfff) AM_RAM
6161   AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r)   /* Sound latch read */
6262//  AM_RANGE(0xd000, 0xd000) AM_WRITENOP      /* ??? */
63   AM_RANGE(0xe000, 0xe000) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)      /* M6295 */
63   AM_RANGE(0xe000, 0xe000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)      /* M6295 */
6464   AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)   /* YM2151 */
6565ADDRESS_MAP_END
6666
r9191r9192
216216   state->bank2 = -1;
217217}
218218
219static MACHINE_DRIVER_START( ultraman )
219static MACHINE_CONFIG_START( ultraman, ultraman_state )
220220
221   /* driver data */
222   MDRV_DRIVER_DATA(ultraman_state)
223
224221   /* basic machine hardware */
225222   MDRV_CPU_ADD("maincpu", M68000,24000000/2)      /* 12 MHz? */
226223   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
265262   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
266263   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
267264   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
268MACHINE_DRIVER_END
265MACHINE_CONFIG_END
269266
270267
271268
src/mame/drivers/d9final.c
r9191r9192
220220   PORT_DIPSETTING(    0x05, "1 Coin / 20 Credits" )
221221   PORT_DIPSETTING(    0x03, "1 Coin / 25 Credits" )
222222   PORT_DIPSETTING(    0x07, "1 Coin / 50 Credits" )
223   PORT_DIPNAME( 0x38, 0x00, "Key In" ) PORT_DIPLOCATION("SW4:4,5,6")
223   PORT_DIPNAME( 0x38, 0x00, "Key In Credit" ) PORT_DIPLOCATION("SW4:4,5,6")
224224   PORT_DIPSETTING(    0x00, "1 Coin / 10 Credits" )
225225   PORT_DIPSETTING(    0x20, "1 Coin / 20 Credits" )
226226   PORT_DIPSETTING(    0x10, "1 Coin / 40 Credits" )
r9191r9192
255255   memory_set_bankptr(machine, "bank1", &ROM[0x10000]);
256256}
257257
258static MACHINE_DRIVER_START( d9final )
258static MACHINE_CONFIG_START( d9final, driver_device )
259259   /* basic machine hardware */
260260   MDRV_CPU_ADD("maincpu", Z80, 24000000/4)/* ? MHz */
261261   MDRV_CPU_PROGRAM_MAP(d9final_map)
r9191r9192
283283
284284   MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_3_579545MHz)
285285   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
286MACHINE_DRIVER_END
286MACHINE_CONFIG_END
287287
288288
289289ROM_START( d9final )
src/mame/drivers/ladybug.c
r9191r9192
773773      state->weird_value[i] = 0;
774774}
775775
776static MACHINE_DRIVER_START( ladybug )
776static MACHINE_CONFIG_START( ladybug, ladybug_state )
777777
778   /* driver data */
779   MDRV_DRIVER_DATA(ladybug_state)
780
781778   /* basic machine hardware */
782779   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz */
783780   MDRV_CPU_PROGRAM_MAP(ladybug_map)
r9191r9192
807804
808805   MDRV_SOUND_ADD("sn2", SN76489, 4000000)
809806   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
810MACHINE_DRIVER_END
807MACHINE_CONFIG_END
811808
812809
813static MACHINE_DRIVER_START( sraider )
810static MACHINE_CONFIG_START( sraider, ladybug_state )
814811
815   /* driver data */
816   MDRV_DRIVER_DATA(ladybug_state)
817
818812   /* basic machine hardware */
819813   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz */
820814   MDRV_CPU_PROGRAM_MAP(sraider_cpu1_map)
r9191r9192
861855
862856   MDRV_SOUND_ADD("sn5", SN76489, 4000000)
863857   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
864MACHINE_DRIVER_END
858MACHINE_CONFIG_END
865859
866860
867861/***************************************************************************
src/mame/drivers/blueprnt.c
r9191r9192
297297}
298298
299299
300static MACHINE_DRIVER_START( blueprnt )
300static MACHINE_CONFIG_START( blueprnt, blueprnt_state )
301301
302   /* driver data */
303   MDRV_DRIVER_DATA(blueprnt_state)
304
305302   /* basic machine hardware */
306303   MDRV_CPU_ADD("maincpu", Z80, 7000000/2)   // 3.5 MHz
307304   MDRV_CPU_PROGRAM_MAP(blueprnt_map)
r9191r9192
340337   MDRV_SOUND_ADD("ay2", AY8910, 10000000/2/2/2/2)
341338   MDRV_SOUND_CONFIG(ay8910_interface_2)
342339   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
343MACHINE_DRIVER_END
340MACHINE_CONFIG_END
344341
345342
346343/*************************************
src/mame/drivers/ttchamp.c
r9191r9192
222222   cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
223223}
224224
225static MACHINE_DRIVER_START( ttchamp )
225static MACHINE_CONFIG_START( ttchamp, driver_device )
226226   /* basic machine hardware */
227227   MDRV_CPU_ADD("maincpu", V30, 8000000)
228228   MDRV_CPU_PROGRAM_MAP(ttchamp_map)
r9191r9192
241241
242242   MDRV_VIDEO_START(ttchamp)
243243   MDRV_VIDEO_UPDATE(ttchamp)
244MACHINE_DRIVER_END
244MACHINE_CONFIG_END
245245
246246ROM_START( ttchamp )
247247
src/mame/drivers/buggychl.c
r9191r9192
433433   state->ddr_c = 0;
434434}
435435
436static MACHINE_DRIVER_START( buggychl )
436static MACHINE_CONFIG_START( buggychl, buggychl_state )
437437
438   /* driver data */
439   MDRV_DRIVER_DATA(buggychl_state)
440
441438   /* basic machine hardware */
442439   MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz??? */
443440   MDRV_CPU_PROGRAM_MAP(buggychl_map)
r9191r9192
493490   // pin 1 SOLO  8'       not mapped
494491   // pin 2 SOLO 16'       not mapped
495492   // pin 22 Noise Output  not mapped
496MACHINE_DRIVER_END
493MACHINE_CONFIG_END
497494
498495/***************************************************************************
499496
src/mame/drivers/starshp1.c
r9191r9192
293293GFXDECODE_END
294294
295295
296static MACHINE_DRIVER_START( starshp1 )
296static MACHINE_CONFIG_START( starshp1, driver_device )
297297
298298   /* basic machine hardware */
299299
r9191r9192
322322   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
323323   MDRV_SOUND_CONFIG_DISCRETE(starshp1)
324324   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
325MACHINE_DRIVER_END
325MACHINE_CONFIG_END
326326
327327
328328/***************************************************************************
src/mame/drivers/gotcha.c
r9191r9192
118118static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
119119   AM_RANGE(0x0000, 0x7fff) AM_ROM
120120   AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
121   AM_RANGE(0xc002, 0xc003) AM_DEVWRITE("oki", okim6295_w)   // TWO addresses!
121   AM_RANGE(0xc002, 0xc003) AM_DEVWRITE_MODERN("oki", okim6295_device, write)   // TWO addresses!
122122   AM_RANGE(0xc006, 0xc006) AM_READ(soundlatch_r)
123123   AM_RANGE(0xd000, 0xd7ff) AM_RAM
124124ADDRESS_MAP_END
r9191r9192
273273   state->banksel = 0;
274274}
275275
276static MACHINE_DRIVER_START( gotcha )
276static MACHINE_CONFIG_START( gotcha, gotcha_state )
277277
278   /* driver data */
279   MDRV_DRIVER_DATA(gotcha_state)
280
281278   /* basic machine hardware */
282279   MDRV_CPU_ADD("maincpu", M68000,14318180)   /* 14.31818 MHz */
283280   MDRV_CPU_PROGRAM_MAP(gotcha_map)
r9191r9192
314311
315312   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
316313   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
317MACHINE_DRIVER_END
314MACHINE_CONFIG_END
318315
319316
320317
src/mame/drivers/taito_f2.c
r9191r9192
11881188   AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("tc0140syt", tc0140syt_slave_port_w)
11891189   AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
11901190//  AM_RANGE(0xb000, 0xb000) AM_WRITE(unknown_w)    // probably controlling sample player?
1191   AM_RANGE(0xb000, 0xb001) AM_MIRROR(0x0001) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
1191   AM_RANGE(0xb000, 0xb001) AM_MIRROR(0x0001) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
11921192ADDRESS_MAP_END
11931193
11941194
r9191r9192
11961196   AM_RANGE(0x0000, 0x7fff) AM_ROM
11971197   AM_RANGE(0x8000, 0x87ff) AM_RAM
11981198   AM_RANGE(0x9000, 0x9000) AM_WRITE(oki_bank_w)
1199   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
1199   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
12001200   AM_RANGE(0xa000, 0xa000) AM_READ(driveout_sound_command_r)
12011201ADDRESS_MAP_END
12021202
r9191r9192
33653365   memory_configure_bank(machine, "bank2", 0, 8, memory_region(machine, "audiocpu") + 0x10000, 0x4000);
33663366}
33673367
3368static MACHINE_DRIVER_START( taito_f2 )
3368static MACHINE_CONFIG_START( taito_f2, taitof2_state )
33693369
3370   /* driver data */
3371   MDRV_DRIVER_DATA(taitof2_state)
3372
33733370   /* basic machine hardware */
33743371   MDRV_CPU_ADD("maincpu", M68000, 24000000/2)   /* 12 MHz */
33753372   MDRV_CPU_VBLANK_INT("screen", taitof2_interrupt)
r9191r9192
34053402   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
34063403
34073404   MDRV_TC0140SYT_ADD("tc0140syt", taitof2_tc0140syt_intf)
3408MACHINE_DRIVER_END
3405MACHINE_CONFIG_END
34093406
3410static MACHINE_DRIVER_START( taito_f2_tc0220ioc )
3407static MACHINE_CONFIG_DERIVED( taito_f2_tc0220ioc, taito_f2 )
34113408
34123409   /* basic machine hardware */
3413   MDRV_IMPORT_FROM(taito_f2)
34143410
34153411   MDRV_TC0220IOC_ADD("tc0220ioc", taitof2_io220_intf)
3416MACHINE_DRIVER_END
3412MACHINE_CONFIG_END
34173413
3418static MACHINE_DRIVER_START( taito_f2_tc0510nio )
3414static MACHINE_CONFIG_DERIVED( taito_f2_tc0510nio, taito_f2 )
34193415
34203416   /* basic machine hardware */
3421   MDRV_IMPORT_FROM(taito_f2)
34223417
34233418   MDRV_TC0510NIO_ADD("tc0510nio", taitof2_io510_intf)
3424MACHINE_DRIVER_END
3419MACHINE_CONFIG_END
34253420
34263421
3427static MACHINE_DRIVER_START( finalb )
3422static MACHINE_CONFIG_DERIVED( finalb, taito_f2_tc0220ioc )
34283423
34293424   /* basic machine hardware */
3430   MDRV_IMPORT_FROM(taito_f2_tc0220ioc)
34313425   MDRV_CPU_MODIFY("maincpu")
34323426   MDRV_CPU_PROGRAM_MAP(finalb_map)
34333427
r9191r9192
34383432
34393433   MDRV_TC0100SCN_ADD("tc0100scn", finalb_tc0100scn_intf)
34403434   MDRV_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
3441MACHINE_DRIVER_END
3435MACHINE_CONFIG_END
34423436
34433437
3444static MACHINE_DRIVER_START( dondokod )
3438static MACHINE_CONFIG_DERIVED( dondokod, taito_f2_tc0220ioc )
34453439
34463440   /* basic machine hardware */
3447   MDRV_IMPORT_FROM(taito_f2_tc0220ioc)
34483441   MDRV_CPU_MODIFY("maincpu")
34493442   MDRV_CPU_PROGRAM_MAP(dondokod_map)
34503443
r9191r9192
34573450   MDRV_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
34583451   MDRV_TC0430GRW_ADD("tc0280grd", taitof2_tc0280grd_intf)
34593452   MDRV_TC0360PRI_ADD("tc0360pri")
3460MACHINE_DRIVER_END
3453MACHINE_CONFIG_END
34613454
34623455
3463static MACHINE_DRIVER_START( megab )
3456static MACHINE_CONFIG_DERIVED( megab, taito_f2_tc0220ioc )
34643457
34653458   /* basic machine hardware */
3466   MDRV_IMPORT_FROM(taito_f2_tc0220ioc)
34673459   MDRV_CPU_MODIFY("maincpu")
34683460   MDRV_CPU_PROGRAM_MAP(megab_map)
34693461
r9191r9192
34733465
34743466   MDRV_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
34753467   MDRV_TC0360PRI_ADD("tc0360pri")
3476MACHINE_DRIVER_END
3468MACHINE_CONFIG_END
34773469
34783470
3479static MACHINE_DRIVER_START( thundfox )
3471static MACHINE_CONFIG_DERIVED( thundfox, taito_f2_tc0220ioc )
34803472
34813473   /* basic machine hardware */
3482   MDRV_IMPORT_FROM(taito_f2_tc0220ioc)
34833474   MDRV_CPU_MODIFY("maincpu")
34843475   MDRV_CPU_PROGRAM_MAP(thundfox_map)
34853476
r9191r9192
34923483   MDRV_TC0100SCN_ADD("tc0100scn_1", thundfox_tc0100scn_intf_1)
34933484   MDRV_TC0100SCN_ADD("tc0100scn_2", thundfox_tc0100scn_intf_2)
34943485   MDRV_TC0360PRI_ADD("tc0360pri")
3495MACHINE_DRIVER_END
3486MACHINE_CONFIG_END
34963487
34973488
3498static MACHINE_DRIVER_START( cameltry )
3489static MACHINE_CONFIG_DERIVED( cameltry, taito_f2_tc0220ioc )
34993490
35003491   /* basic machine hardware */
3501   MDRV_IMPORT_FROM(taito_f2_tc0220ioc)
35023492   MDRV_CPU_MODIFY("maincpu")
35033493   MDRV_CPU_PROGRAM_MAP(cameltry_map)
35043494
r9191r9192
35103500   MDRV_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
35113501   MDRV_TC0430GRW_ADD("tc0280grd", taitof2_tc0280grd_intf)
35123502   MDRV_TC0360PRI_ADD("tc0360pri")
3513MACHINE_DRIVER_END
3503MACHINE_CONFIG_END
35143504
35153505
3516static MACHINE_DRIVER_START( qtorimon )
3506static MACHINE_CONFIG_DERIVED( qtorimon, taito_f2_tc0220ioc )
35173507
35183508   /* basic machine hardware */
3519   MDRV_IMPORT_FROM(taito_f2_tc0220ioc)
35203509   MDRV_CPU_MODIFY("maincpu")
35213510   MDRV_CPU_PROGRAM_MAP(qtorimon_map)
35223511
r9191r9192
35263515
35273516   MDRV_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
35283517   MDRV_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
3529MACHINE_DRIVER_END
3518MACHINE_CONFIG_END
35303519
35313520
3532static MACHINE_DRIVER_START( liquidk )
3521static MACHINE_CONFIG_DERIVED( liquidk, taito_f2_tc0220ioc )
35333522
35343523   /* basic machine hardware */
3535   MDRV_IMPORT_FROM(taito_f2_tc0220ioc)
35363524   MDRV_CPU_MODIFY("maincpu")
35373525   MDRV_CPU_PROGRAM_MAP(liquidk_map)
35383526
r9191r9192
35433531
35443532   MDRV_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
35453533   MDRV_TC0360PRI_ADD("tc0360pri")
3546MACHINE_DRIVER_END
3534MACHINE_CONFIG_END
35473535
35483536
3549static MACHINE_DRIVER_START( quizhq )
3537static MACHINE_CONFIG_DERIVED( quizhq, taito_f2 )
35503538
35513539   /* basic machine hardware */
3552   MDRV_IMPORT_FROM(taito_f2)
35533540   MDRV_CPU_MODIFY("maincpu")
35543541   MDRV_CPU_PROGRAM_MAP(quizhq_map)
35553542
r9191r9192
35593546
35603547   MDRV_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
35613548   MDRV_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
3562MACHINE_DRIVER_END
3549MACHINE_CONFIG_END
35633550
35643551
3565static MACHINE_DRIVER_START( ssi )
3552static MACHINE_CONFIG_DERIVED( ssi, taito_f2_tc0510nio )
35663553
35673554   /* basic machine hardware */
3568   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
35693555   MDRV_CPU_MODIFY("maincpu")
35703556   MDRV_CPU_PROGRAM_MAP(ssi_map)
35713557
r9191r9192
35753561   MDRV_VIDEO_UPDATE(taitof2_ssi)
35763562
35773563   MDRV_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
3578MACHINE_DRIVER_END
3564MACHINE_CONFIG_END
35793565
35803566
3581static MACHINE_DRIVER_START( gunfront )
3567static MACHINE_CONFIG_DERIVED( gunfront, taito_f2_tc0510nio )
35823568
35833569   /* basic machine hardware */
3584   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
35853570   MDRV_CPU_MODIFY("maincpu")
35863571   MDRV_CPU_PROGRAM_MAP(gunfront_map)
35873572
r9191r9192
35913576
35923577   MDRV_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
35933578   MDRV_TC0360PRI_ADD("tc0360pri")
3594MACHINE_DRIVER_END
3579MACHINE_CONFIG_END
35953580
35963581
3597static MACHINE_DRIVER_START( growl )
3582static MACHINE_CONFIG_DERIVED( growl, taito_f2 )
35983583
35993584   /* basic machine hardware */
3600   MDRV_IMPORT_FROM(taito_f2)
36013585   MDRV_CPU_MODIFY("maincpu")
36023586   MDRV_CPU_PROGRAM_MAP(growl_map)
36033587
r9191r9192
36073591
36083592   MDRV_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
36093593   MDRV_TC0360PRI_ADD("tc0360pri")
3610MACHINE_DRIVER_END
3594MACHINE_CONFIG_END
36113595
36123596
3613static MACHINE_DRIVER_START( mjnquest )
3597static MACHINE_CONFIG_DERIVED( mjnquest, taito_f2 )
36143598
36153599   /* basic machine hardware */
3616   MDRV_IMPORT_FROM(taito_f2)
36173600   MDRV_CPU_MODIFY("maincpu")
36183601   MDRV_CPU_PROGRAM_MAP(mjnquest_map)
36193602
r9191r9192
36223605
36233606   MDRV_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
36243607   MDRV_TC0110PCR_ADD("tc0110pcr", taitof2_tc0110pcr_intf)
3625MACHINE_DRIVER_END
3608MACHINE_CONFIG_END
36263609
36273610
3628static MACHINE_DRIVER_START( footchmp )
3611static MACHINE_CONFIG_DERIVED( footchmp, taito_f2 )
36293612
36303613   /* basic machine hardware */
3631   MDRV_IMPORT_FROM(taito_f2)
36323614   MDRV_CPU_MODIFY("maincpu")
36333615   MDRV_CPU_PROGRAM_MAP(footchmp_map)
36343616
r9191r9192
36403622
36413623   MDRV_TC0480SCP_ADD("tc0480scp", footchmp_tc0480scp_intf)
36423624   MDRV_TC0360PRI_ADD("tc0360pri")
3643MACHINE_DRIVER_END
3625MACHINE_CONFIG_END
36443626
36453627
3646static MACHINE_DRIVER_START( hthero )
3628static MACHINE_CONFIG_DERIVED( hthero, taito_f2 )
36473629
36483630   /* basic machine hardware */
3649   MDRV_IMPORT_FROM(taito_f2)
36503631   MDRV_CPU_MODIFY("maincpu")
36513632   MDRV_CPU_PROGRAM_MAP(footchmp_map)
36523633
r9191r9192
36583639
36593640   MDRV_TC0360PRI_ADD("tc0360pri")
36603641   MDRV_TC0480SCP_ADD("tc0480scp", hthero_tc0480scp_intf)
3661MACHINE_DRIVER_END
3642MACHINE_CONFIG_END
36623643
36633644
3664static MACHINE_DRIVER_START( koshien )
3645static MACHINE_CONFIG_DERIVED( koshien, taito_f2_tc0510nio )
36653646
36663647   /* basic machine hardware */
3667   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
36683648   MDRV_CPU_MODIFY("maincpu")
36693649   MDRV_CPU_PROGRAM_MAP(koshien_map)
36703650
r9191r9192
36743654
36753655   MDRV_TC0100SCN_ADD("tc0100scn", koshien_tc0100scn_intf)
36763656   MDRV_TC0360PRI_ADD("tc0360pri")
3677MACHINE_DRIVER_END
3657MACHINE_CONFIG_END
36783658
36793659
3680static MACHINE_DRIVER_START( yuyugogo )
3660static MACHINE_CONFIG_DERIVED( yuyugogo, taito_f2_tc0510nio )
36813661
36823662   /* basic machine hardware */
3683   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
36843663   MDRV_CPU_MODIFY("maincpu")
36853664   MDRV_CPU_PROGRAM_MAP(yuyugogo_map)
36863665
r9191r9192
36903669   MDRV_VIDEO_UPDATE(taitof2_yesnoj)
36913670
36923671   MDRV_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
3693MACHINE_DRIVER_END
3672MACHINE_CONFIG_END
36943673
36953674
3696static MACHINE_DRIVER_START( ninjak )
3675static MACHINE_CONFIG_DERIVED( ninjak, taito_f2 )
36973676
36983677   /* basic machine hardware */
3699   MDRV_IMPORT_FROM(taito_f2)
37003678   MDRV_CPU_MODIFY("maincpu")
37013679   MDRV_CPU_PROGRAM_MAP(ninjak_map)
37023680
r9191r9192
37063684
37073685   MDRV_TC0100SCN_ADD("tc0100scn", finalb_tc0100scn_intf)
37083686   MDRV_TC0360PRI_ADD("tc0360pri")
3709MACHINE_DRIVER_END
3687MACHINE_CONFIG_END
37103688
37113689
3712static MACHINE_DRIVER_START( solfigtr )
3690static MACHINE_CONFIG_DERIVED( solfigtr, taito_f2 )
37133691
37143692   /* basic machine hardware */
3715   MDRV_IMPORT_FROM(taito_f2)
37163693   MDRV_CPU_MODIFY("maincpu")
37173694   MDRV_CPU_PROGRAM_MAP(solfigtr_map)
37183695
r9191r9192
37223699
37233700   MDRV_TC0100SCN_ADD("tc0100scn", solfigtr_tc0100scn_intf)
37243701   MDRV_TC0360PRI_ADD("tc0360pri")
3725MACHINE_DRIVER_END
3702MACHINE_CONFIG_END
37263703
37273704
3728static MACHINE_DRIVER_START( qzquest )
3705static MACHINE_CONFIG_DERIVED( qzquest, taito_f2_tc0510nio )
37293706
37303707   /* basic machine hardware */
3731   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
37323708   MDRV_CPU_MODIFY("maincpu")
37333709   MDRV_CPU_PROGRAM_MAP(qzquest_map)
37343710
r9191r9192
37363712   MDRV_VIDEO_EOF(taitof2_partial_buffer_delayed)
37373713
37383714   MDRV_TC0100SCN_ADD("tc0100scn", taitof2_tc0100scn_intf)
3739MACHINE_DRIVER_END
3715MACHINE_CONFIG_END
37403716
37413717
3742static MACHINE_DRIVER_START( pulirula )
3718static MACHINE_CONFIG_DERIVED( pulirula, taito_f2_tc0510nio )
37433719
37443720   /* basic machine hardware */
3745   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
37463721   MDRV_CPU_MODIFY("maincpu")
37473722   MDRV_CPU_PROGRAM_MAP(pulirula_map)
37483723
r9191r9192
37543729   MDRV_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
37553730   MDRV_TC0430GRW_ADD("tc0430grw", taitof2_tc0430grw_intf)
37563731   MDRV_TC0360PRI_ADD("tc0360pri")
3757MACHINE_DRIVER_END
3732MACHINE_CONFIG_END
37583733
37593734
3760static MACHINE_DRIVER_START( metalb )
3735static MACHINE_CONFIG_DERIVED( metalb, taito_f2_tc0510nio )
37613736
37623737   /* basic machine hardware */
3763   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
37643738   MDRV_CPU_MODIFY("maincpu")
37653739   MDRV_CPU_PROGRAM_MAP(metalb_map)
37663740
r9191r9192
37723746
37733747   MDRV_TC0480SCP_ADD("tc0480scp", metalb_tc0480scp_intf)
37743748   MDRV_TC0360PRI_ADD("tc0360pri")
3775MACHINE_DRIVER_END
3749MACHINE_CONFIG_END
37763750
37773751
3778static MACHINE_DRIVER_START( qzchikyu )
3752static MACHINE_CONFIG_DERIVED( qzchikyu, taito_f2_tc0510nio )
37793753
37803754   /* basic machine hardware */
3781   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
37823755   MDRV_CPU_MODIFY("maincpu")
37833756   MDRV_CPU_PROGRAM_MAP(qzchikyu_map)
37843757
r9191r9192
37873760   MDRV_VIDEO_EOF(taitof2_partial_buffer_delayed_qzchikyu)
37883761
37893762   MDRV_TC0100SCN_ADD("tc0100scn", qzchikyu_tc0100scn_intf)
3790MACHINE_DRIVER_END
3763MACHINE_CONFIG_END
37913764
37923765
3793static MACHINE_DRIVER_START( yesnoj )
3766static MACHINE_CONFIG_DERIVED( yesnoj, taito_f2 )
37943767
37953768   /* basic machine hardware */
3796   MDRV_IMPORT_FROM(taito_f2)
37973769   MDRV_CPU_MODIFY("maincpu")
37983770   MDRV_CPU_PROGRAM_MAP(yesnoj_map)
37993771
r9191r9192
38033775   MDRV_VIDEO_UPDATE(taitof2_yesnoj)
38043776
38053777   MDRV_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
3806MACHINE_DRIVER_END
3778MACHINE_CONFIG_END
38073779
38083780
3809static MACHINE_DRIVER_START( deadconx )
3781static MACHINE_CONFIG_DERIVED( deadconx, taito_f2 )
38103782
38113783   /* basic machine hardware */
3812   MDRV_IMPORT_FROM(taito_f2)
38133784   MDRV_CPU_MODIFY("maincpu")
38143785   MDRV_CPU_PROGRAM_MAP(deadconx_map)
38153786
r9191r9192
38203791
38213792   MDRV_TC0480SCP_ADD("tc0480scp", deadconx_tc0480scp_intf)
38223793   MDRV_TC0360PRI_ADD("tc0360pri")
3823MACHINE_DRIVER_END
3794MACHINE_CONFIG_END
38243795
38253796
3826static MACHINE_DRIVER_START( deadconxj )
3797static MACHINE_CONFIG_DERIVED( deadconxj, taito_f2 )
38273798
38283799   /* basic machine hardware */
3829   MDRV_IMPORT_FROM(taito_f2)
38303800   MDRV_CPU_MODIFY("maincpu")
38313801   MDRV_CPU_PROGRAM_MAP(deadconx_map)
38323802
r9191r9192
38373807
38383808   MDRV_TC0480SCP_ADD("tc0480scp", deadconxj_tc0480scp_intf)
38393809   MDRV_TC0360PRI_ADD("tc0360pri")
3840MACHINE_DRIVER_END
3810MACHINE_CONFIG_END
38413811
38423812
3843static MACHINE_DRIVER_START( dinorex )
3813static MACHINE_CONFIG_DERIVED( dinorex, taito_f2_tc0510nio )
38443814
38453815   /* basic machine hardware */
3846   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
38473816   MDRV_CPU_MODIFY("maincpu")
38483817   MDRV_CPU_PROGRAM_MAP(dinorex_map)
38493818
r9191r9192
38533822
38543823   MDRV_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
38553824   MDRV_TC0360PRI_ADD("tc0360pri")
3856MACHINE_DRIVER_END
3825MACHINE_CONFIG_END
38573826
38583827
3859static MACHINE_DRIVER_START( qjinsei )
3828static MACHINE_CONFIG_DERIVED( qjinsei, taito_f2_tc0510nio )
38603829
38613830   /* basic machine hardware */
3862   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
38633831   MDRV_CPU_MODIFY("maincpu")
38643832   MDRV_CPU_PROGRAM_MAP(qjinsei_map)
38653833
r9191r9192
38693837
38703838   MDRV_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
38713839   MDRV_TC0360PRI_ADD("tc0360pri")
3872MACHINE_DRIVER_END
3840MACHINE_CONFIG_END
38733841
38743842
3875static MACHINE_DRIVER_START( qcrayon )
3843static MACHINE_CONFIG_DERIVED( qcrayon, taito_f2_tc0510nio )
38763844
38773845   /* basic machine hardware */
3878   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
38793846   MDRV_CPU_MODIFY("maincpu")
38803847   MDRV_CPU_PROGRAM_MAP(qcrayon_map)
38813848
r9191r9192
38853852
38863853   MDRV_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
38873854   MDRV_TC0360PRI_ADD("tc0360pri")
3888MACHINE_DRIVER_END
3855MACHINE_CONFIG_END
38893856
38903857
3891static MACHINE_DRIVER_START( qcrayon2 )
3858static MACHINE_CONFIG_DERIVED( qcrayon2, taito_f2_tc0510nio )
38923859
38933860   /* basic machine hardware */
3894   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
38953861   MDRV_CPU_MODIFY("maincpu")
38963862   MDRV_CPU_PROGRAM_MAP(qcrayon2_map)
38973863
r9191r9192
39013867
39023868   MDRV_TC0100SCN_ADD("tc0100scn", liquidk_tc0100scn_intf)
39033869   MDRV_TC0360PRI_ADD("tc0360pri")
3904MACHINE_DRIVER_END
3870MACHINE_CONFIG_END
39053871
39063872
3907static MACHINE_DRIVER_START( driftout )
3873static MACHINE_CONFIG_DERIVED( driftout, taito_f2_tc0510nio )
39083874
39093875   /* basic machine hardware */
3910   MDRV_IMPORT_FROM(taito_f2_tc0510nio)
39113876   MDRV_CPU_MODIFY("maincpu")
39123877   MDRV_CPU_PROGRAM_MAP(driftout_map)
39133878
r9191r9192
39193884   MDRV_TC0100SCN_ADD("tc0100scn", dondokod_tc0100scn_intf)
39203885   MDRV_TC0430GRW_ADD("tc0430grw", taitof2_tc0430grw_intf)
39213886   MDRV_TC0360PRI_ADD("tc0360pri")
3922MACHINE_DRIVER_END
3887MACHINE_CONFIG_END
39233888
39243889
3925static MACHINE_DRIVER_START( cameltrya )
3890static MACHINE_CONFIG_START( cameltrya, taitof2_state )
39263891
3927   /* driver data */
3928   MDRV_DRIVER_DATA(taitof2_state)
3929
39303892   /* basic machine hardware */
39313893   MDRV_CPU_ADD("maincpu", M68000,24000000/2)   /* verified on pcb  */
39323894   MDRV_CPU_PROGRAM_MAP(cameltry_map)
r9191r9192
39723934   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
39733935
39743936   MDRV_TC0140SYT_ADD("tc0140syt", taitof2_tc0140syt_intf)
3975MACHINE_DRIVER_END
3937MACHINE_CONFIG_END
39763938
39773939
3978static MACHINE_DRIVER_START( driveout )
3940static MACHINE_CONFIG_START( driveout, taitof2_state )
39793941
3980   /* driver data */
3981   MDRV_DRIVER_DATA(taitof2_state)
3982
39833942   /* basic machine hardware */
39843943   MDRV_CPU_ADD("maincpu", M68000,24000000/2)   /* 12 MHz */
39853944   MDRV_CPU_PROGRAM_MAP(driveout_map)
r9191r9192
40193978   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
40203979
40213980   MDRV_TC0140SYT_ADD("tc0140syt", taitof2_tc0140syt_intf)
4022MACHINE_DRIVER_END
3981MACHINE_CONFIG_END
40233982
40243983
40253984/***************************************************************************
src/mame/drivers/pandoras.c
r9191r9192
349349   DEVCB_NULL
350350};
351351
352static MACHINE_DRIVER_START( pandoras )
352static MACHINE_CONFIG_START( pandoras, pandoras_state )
353353
354   /* driver data */
355   MDRV_DRIVER_DATA(pandoras_state)
356
357354   /* basic machine hardware */
358355   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/6)   /* CPU A */
359356   MDRV_CPU_PROGRAM_MAP(pandoras_master_map)
r9191r9192
399396
400397   MDRV_SOUND_ADD("dac", DAC, 0)
401398   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
402MACHINE_DRIVER_END
399MACHINE_CONFIG_END
403400
404401
405402/***************************************************************************
src/mame/drivers/gottlieb.c
r9191r9192
201201#include "sound/dac.h"
202202#include "sound/samples.h"
203203#include "sound/sp0250.h"
204#include "machine/nvram.h"
204205#include "streams.h"
205206#include "includes/gottlieb.h"
206207
r9191r9192
716717   ADDRESS_MAP_GLOBAL_MASK(0xffff)
717718   AM_RANGE(0x0000, 0x1fff) AM_RAM
718719   AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0f00) AM_WRITEONLY AM_BASE_GENERIC(spriteram)                     /* FRSEL */
719   AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE_GENERIC(videoram)      /* BRSEL */
720   AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE_MEMBER(gottlieb_state, videoram)      /* BRSEL */
720721   AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(gottlieb_charram_w) AM_BASE(&gottlieb_charram)            /* BOJRSEL1 */
721722/*  AM_RANGE(0x5000, 0x5fff) AM_WRITE() */                                                /* BOJRSEL2 */
722723   AM_RANGE(0x6000, 0x601f) AM_MIRROR(0x0fe0) AM_WRITE(gottlieb_paletteram_w) AM_BASE_GENERIC(paletteram)      /* COLSEL */
r9191r9192
735736
736737static ADDRESS_MAP_START( gottlieb_map, ADDRESS_SPACE_PROGRAM, 8 )
737738   ADDRESS_MAP_GLOBAL_MASK(0xffff)
738   AM_RANGE(0x0000, 0x0fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
739   AM_RANGE(0x0000, 0x0fff) AM_RAM AM_SHARE("nvram")
739740   AM_RANGE(0x1000, 0x1fff) AM_RAM AM_REGION("maincpu", 0x1000)   /* or ROM */
740741   AM_RANGE(0x2000, 0x2fff) AM_RAM AM_REGION("maincpu", 0x2000)   /* or ROM */
741742   AM_RANGE(0x3000, 0x30ff) AM_MIRROR(0x0700) AM_WRITEONLY AM_BASE_GENERIC(spriteram)                     /* FRSEL */
742   AM_RANGE(0x3800, 0x3bff) AM_MIRROR(0x0400) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE_GENERIC(videoram)      /* BRSEL */
743   AM_RANGE(0x3800, 0x3bff) AM_MIRROR(0x0400) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE_MEMBER(gottlieb_state, videoram)      /* BRSEL */
743744   AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(gottlieb_charram_w) AM_BASE(&gottlieb_charram)            /* BOJRSEL1 */
744745   AM_RANGE(0x5000, 0x501f) AM_MIRROR(0x07e0) AM_WRITE(gottlieb_paletteram_w) AM_BASE_GENERIC(paletteram)      /* COLSEL */
745746   AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x07f8) AM_WRITE(watchdog_reset_w)
r9191r9192
19151916 *
19161917 *************************************/
19171918
1918static MACHINE_DRIVER_START( gottlieb_core )
1919static MACHINE_CONFIG_START( gottlieb_core, gottlieb_state )
19191920
19201921   /* basic machine hardware */
19211922   MDRV_CPU_ADD("maincpu", I8088, CPU_CLOCK/3)
r9191r9192
19241925
19251926   MDRV_MACHINE_START(gottlieb)
19261927   MDRV_MACHINE_RESET(gottlieb)
1927   MDRV_NVRAM_HANDLER(generic_1fill)
1928   MDRV_NVRAM_ADD_1FILL("nvram")
19281929   MDRV_WATCHDOG_VBLANK_INIT(16)
19291930
19301931   /* video hardware */
r9191r9192
19401941
19411942   /* sound hardware */
19421943   MDRV_SPEAKER_STANDARD_MONO("mono")
1943MACHINE_DRIVER_END
1944MACHINE_CONFIG_END
19441945
19451946
1946static MACHINE_DRIVER_START( gottlieb1 )
1947   MDRV_IMPORT_FROM(gottlieb_core)
1948   MDRV_IMPORT_FROM(gottlieb_soundrev1)
1949MACHINE_DRIVER_END
1947static MACHINE_CONFIG_DERIVED( gottlieb1, gottlieb_core )
1948   MDRV_FRAGMENT_ADD(gottlieb_soundrev1)
1949MACHINE_CONFIG_END
19501950
19511951
1952static MACHINE_DRIVER_START( gottlieb2 )
1953   MDRV_IMPORT_FROM(gottlieb_core)
1954   MDRV_IMPORT_FROM(gottlieb_soundrev2)
1955MACHINE_DRIVER_END
1952static MACHINE_CONFIG_DERIVED( gottlieb2, gottlieb_core )
1953   MDRV_FRAGMENT_ADD(gottlieb_soundrev2)
1954MACHINE_CONFIG_END
19561955
19571956
1958static MACHINE_DRIVER_START( g2laser )
1959   MDRV_IMPORT_FROM(gottlieb_core)
1960   MDRV_IMPORT_FROM(gottlieb_soundrev2)
1957static MACHINE_CONFIG_DERIVED( g2laser, gottlieb_core )
1958   MDRV_FRAGMENT_ADD(gottlieb_soundrev2)
19611959
19621960   MDRV_LASERDISC_ADD("laserdisc", PIONEER_PR8210, "screen", "ldsound")
19631961   MDRV_LASERDISC_AUDIO(laserdisc_audio_process)
r9191r9192
19671965   MDRV_DEVICE_REMOVE("screen")
19681966   MDRV_LASERDISC_SCREEN_ADD_NTSC("screen", BITMAP_FORMAT_INDEXED16)
19691967
1970   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
1968   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
19711969   MDRV_SOUND_ROUTE(0, "mono", 1.0)
19721970   /* right channel is processed as data */
1973MACHINE_DRIVER_END
1971MACHINE_CONFIG_END
19741972
19751973
19761974
r9191r9192
19801978 *
19811979 *************************************/
19821980
1983static MACHINE_DRIVER_START( reactor )
1984   MDRV_IMPORT_FROM(gottlieb1)
1981static MACHINE_CONFIG_DERIVED( reactor, gottlieb1 )
19851982
19861983   /* basic machine hardware */
19871984   MDRV_CPU_MODIFY("maincpu")
19881985   MDRV_CPU_PROGRAM_MAP(reactor_map)
19891986
1990   MDRV_NVRAM_HANDLER(0)
1987   MDRV_DEVICE_REMOVE("nvram")
19911988
19921989   /* sound hardware */
19931990   MDRV_SOUND_ADD("samples", SAMPLES, 0)
19941991   MDRV_SOUND_CONFIG(reactor_samples_interface)
19951992   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1996MACHINE_DRIVER_END
1993MACHINE_CONFIG_END
19971994
19981995
1999static MACHINE_DRIVER_START( qbert )
2000   MDRV_IMPORT_FROM(gottlieb1)
1996static MACHINE_CONFIG_DERIVED( qbert, gottlieb1 )
20011997
20021998   /* video hardware */
20031999   MDRV_SOUND_ADD("samples", SAMPLES, 0)
20042000   MDRV_SOUND_CONFIG(qbert_samples_interface)
20052001   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2006MACHINE_DRIVER_END
2002MACHINE_CONFIG_END
20072003
20082004
2009static MACHINE_DRIVER_START( screwloo )
2010   MDRV_IMPORT_FROM(gottlieb2)
2005static MACHINE_CONFIG_DERIVED( screwloo, gottlieb2 )
20112006
20122007   MDRV_VIDEO_START(screwloo)
2013MACHINE_DRIVER_END
2008MACHINE_CONFIG_END
20142009
20152010
2016static MACHINE_DRIVER_START( cobram3 )
2017   MDRV_IMPORT_FROM(g2laser)
2011static MACHINE_CONFIG_DERIVED( cobram3, g2laser )
20182012
20192013   /* sound hardware */
20202014   MDRV_SOUND_MODIFY("dac1")
20212015   MDRV_SOUND_ROUTES_RESET()
20222016   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
2023MACHINE_DRIVER_END
2017MACHINE_CONFIG_END
20242018
20252019
20262020
src/mame/drivers/psattack.c
r9191r9192
7676#include "video/vrender0.h"
7777#include "machine/ds1302.h"
7878#include "sound/vrender0.h"
79#include "machine/nvram.h"
7980
8081static READ32_HANDLER( psattack_unk_r )
8182{
r9191r9192
157158};
158159
159160
160static MACHINE_DRIVER_START( psattack )
161static MACHINE_CONFIG_START( psattack, driver_device )
161162   MDRV_CPU_ADD("maincpu", SE3208, 43000000)
162163   MDRV_CPU_PROGRAM_MAP(psattack_mem)
163164   MDRV_CPU_VBLANK_INT("screen", psattack_interrupt)
r9191r9192
165166   MDRV_MACHINE_START(psattack)
166167   MDRV_MACHINE_RESET(psattack)
167168
168   //MDRV_NVRAM_HANDLER(generic_0fill)
169   //MDRV_NVRAM_ADD_0FILL("nvram")
169170
170171   MDRV_SCREEN_ADD("screen", RASTER)
171172   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
187188   MDRV_SOUND_CONFIG(vr0_config)
188189   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
189190   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
190MACHINE_DRIVER_END
191MACHINE_CONFIG_END
191192
192193
193194ROM_START( psattack )
src/mame/drivers/ddragon.c
r9191r9192
607607   AM_RANGE(0x0000, 0x7fff) AM_ROM
608608   AM_RANGE(0x8000, 0x87ff) AM_RAM
609609   AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("fmsnd", ym2151_r, ym2151_w)
610   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
610   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
611611   AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
612612ADDRESS_MAP_END
613613
r9191r9192
974974 *
975975 *************************************/
976976
977static MACHINE_DRIVER_START( ddragon )
977static MACHINE_CONFIG_START( ddragon, ddragon_state )
978978
979   /* driver data */
980   MDRV_DRIVER_DATA(ddragon_state)
981
982979   /* basic machine hardware */
983980   MDRV_CPU_ADD("maincpu", HD6309, MAIN_CLOCK)      /* 12 MHz / 4 internally */
984981   MDRV_CPU_PROGRAM_MAP(ddragon_map)
r9191r9192
10211018   MDRV_SOUND_ADD("adpcm2", MSM5205, MAIN_CLOCK/32)
10221019   MDRV_SOUND_CONFIG(msm5205_config)
10231020   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1024MACHINE_DRIVER_END
1021MACHINE_CONFIG_END
10251022
10261023
1027static MACHINE_DRIVER_START( ddragonb )
1028   MDRV_IMPORT_FROM(ddragon)
1024static MACHINE_CONFIG_DERIVED( ddragonb, ddragon )
10291025
10301026   /* basic machine hardware */
10311027   MDRV_CPU_REPLACE("sub", M6809, MAIN_CLOCK / 8)   /* 1.5Mhz */
10321028   MDRV_CPU_PROGRAM_MAP(sub_map)
1033MACHINE_DRIVER_END
1029MACHINE_CONFIG_END
10341030
10351031
1036static MACHINE_DRIVER_START( ddragonba )
1037   MDRV_IMPORT_FROM(ddragon)
1032static MACHINE_CONFIG_DERIVED( ddragonba, ddragon )
10381033
10391034   /* basic machine hardware */
10401035   MDRV_CPU_REPLACE("sub", M6803, MAIN_CLOCK / 2)   /* 6Mhz / 4 internally */
10411036   MDRV_CPU_PROGRAM_MAP(ddragonba_sub_map)
10421037   MDRV_CPU_IO_MAP(ddragonba_sub_portmap)
1043MACHINE_DRIVER_END
1038MACHINE_CONFIG_END
10441039
10451040
1046static MACHINE_DRIVER_START( ddragon6809 )
1041static MACHINE_CONFIG_START( ddragon6809, ddragon_state )
10471042
1048   /* driver data */
1049   MDRV_DRIVER_DATA(ddragon_state)
1050
10511043   /* basic machine hardware */
10521044   MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK / 8)   /* 1.5 MHz */
10531045   MDRV_CPU_PROGRAM_MAP(ddragon_map)
r9191r9192
10901082   MDRV_SOUND_ADD("adpcm2", MSM5205, MAIN_CLOCK/32)
10911083   MDRV_SOUND_CONFIG(msm5205_config)
10921084   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1093MACHINE_DRIVER_END
1085MACHINE_CONFIG_END
10941086
10951087
1096static MACHINE_DRIVER_START( ddragon2 )
1088static MACHINE_CONFIG_START( ddragon2, ddragon_state )
10971089
1098   /* driver data */
1099   MDRV_DRIVER_DATA(ddragon_state)
1100
11011090   /* basic machine hardware */
11021091   MDRV_CPU_ADD("maincpu", HD6309, MAIN_CLOCK)      /* 12 MHz / 4 internally */
11031092   MDRV_CPU_PROGRAM_MAP(dd2_map)
r9191r9192
11351124
11361125   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
11371126   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
1138MACHINE_DRIVER_END
1127MACHINE_CONFIG_END
11391128
11401129
1141static MACHINE_DRIVER_START( darktowr )
1142   MDRV_IMPORT_FROM(ddragon)
1130static MACHINE_CONFIG_DERIVED( darktowr, ddragon )
11431131
11441132   /* basic machine hardware */
11451133   MDRV_CPU_ADD("mcu", M68705,XTAL_4MHz)
11461134   MDRV_CPU_PROGRAM_MAP(mcu_map)
11471135
11481136   /* video hardware */
1149MACHINE_DRIVER_END
1137MACHINE_CONFIG_END
11501138
11511139
1152static MACHINE_DRIVER_START( toffy )
1153   MDRV_IMPORT_FROM(ddragon)
1140static MACHINE_CONFIG_DERIVED( toffy, ddragon )
11541141
11551142   /* basic machine hardware */
11561143   MDRV_DEVICE_REMOVE("sub")
r9191r9192
11581145   /* sound hardware */
11591146   MDRV_DEVICE_REMOVE("adpcm1")
11601147   MDRV_DEVICE_REMOVE("adpcm2")
1161MACHINE_DRIVER_END
1148MACHINE_CONFIG_END
11621149
11631150
11641151
src/mame/drivers/asterix.c
r9191r9192
294294   }
295295}
296296
297static MACHINE_DRIVER_START( asterix )
297static MACHINE_CONFIG_START( asterix, asterix_state )
298298
299   /* driver data */
300   MDRV_DRIVER_DATA(asterix_state)
301
302299   /* basic machine hardware */
303300   MDRV_CPU_ADD("maincpu", M68000, 12000000)
304301   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
339336   MDRV_SOUND_ADD("k053260", K053260, 4000000)
340337   MDRV_SOUND_ROUTE(0, "lspeaker", 0.75)
341338   MDRV_SOUND_ROUTE(1, "rspeaker", 0.75)
342MACHINE_DRIVER_END
339MACHINE_CONFIG_END
343340
344341
345342ROM_START( asterix )
src/mame/drivers/acommand.c
r9191r9192
293293         return input_port_read(space->machine, "IN0");
294294      case 0x0014/2:
295295      case 0x0016/2:
296         return okim6295_r(space->machine->device("oki1"),0);
296         return space->machine->device<okim6295_device>("oki1")->read(*space,0);
297297      case 0x0018/2:
298298      case 0x001a/2:
299         return okim6295_r(space->machine->device("oki2"),0);
299         return space->machine->device<okim6295_device>("oki2")->read(*space,0);
300300      case 0x0040/2:
301301         /*
302302                "Upper switch / Under Switch"
r9191r9192
385385      case 0x14/2:
386386      case 0x16/2:
387387         if(ACCESSING_BITS_0_7)
388            okim6295_w(space->machine->device("oki1"),0,data);
388         {
389            okim6295_device *oki1 = space->machine->device<okim6295_device>("oki1");
390            oki1->write(*space,0,data);
391         }
389392         break;
390393      case 0x18/2:
391394      case 0x1a/2:
392395         if(ACCESSING_BITS_0_7)
393            okim6295_w(space->machine->device("oki2"),0,data);
396         {
397            okim6295_device *oki2 = space->machine->device<okim6295_device>("oki2");
398            oki2->write(*space,0,data);
399         }
394400         break;
395401      case 0x1c/2:
396402         /*IRQ mask?*/
r9191r9192
558564   }
559565}
560566
561static MACHINE_DRIVER_START( acommand )
567static MACHINE_CONFIG_START( acommand, driver_device )
562568
563569   /* basic machine hardware */
564570   MDRV_CPU_ADD("maincpu",M68000,12000000)
r9191r9192
588594   MDRV_OKIM6295_ADD("oki2", 2112000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
589595   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
590596   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
591MACHINE_DRIVER_END
597MACHINE_CONFIG_END
592598
593599/***************************************************************************
594600
src/mame/drivers/ppmast93.c
r9191r9192
339339   return 0;
340340}
341341
342static MACHINE_DRIVER_START( ppmast93 )
342static MACHINE_CONFIG_START( ppmast93, driver_device )
343343   /* basic machine hardware */
344344   MDRV_CPU_ADD("maincpu", Z80,5000000)       /* 5 MHz */
345345   MDRV_CPU_PROGRAM_MAP(ppmast93_cpu1_map)
r9191r9192
375375   MDRV_SOUND_ADD("dac", DAC, 0)
376376   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
377377
378MACHINE_DRIVER_END
378MACHINE_CONFIG_END
379379
380380ROM_START( ppmast93 )
381381   ROM_REGION( 0x30000, "maincpu", 0 )
src/mame/drivers/goldnpkr.c
r9191r9192
622622#include "video/mc6845.h"
623623#include "machine/6821pia.h"
624624#include "sound/discrete.h"
625#include "machine/nvram.h"
625626
626627#include "pmpoker.lh"
627628#include "goldnpkr.lh"
r9191r9192
896897
897898static ADDRESS_MAP_START( goldnpkr_map, ADDRESS_SPACE_PROGRAM, 8 )
898899   ADDRESS_MAP_GLOBAL_MASK(0x7fff)
899   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* battery backed RAM */
900   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")   /* battery backed RAM */
900901   AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_address_w)
901902   AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
902903   AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
r9191r9192
908909
909910static ADDRESS_MAP_START( pottnpkr_map, ADDRESS_SPACE_PROGRAM, 8 )
910911   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
911   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* battery backed RAM */
912   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")   /* battery backed RAM */
912913   AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_address_w)
913914   AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
914915   AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
r9191r9192
920921
921922static ADDRESS_MAP_START( witchcrd_map, ADDRESS_SPACE_PROGRAM, 8 )
922923   ADDRESS_MAP_GLOBAL_MASK(0x7fff)
923   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* battery backed RAM */
924   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")   /* battery backed RAM */
924925   AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_address_w)
925926   AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
926927   AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
r9191r9192
946947
947948static ADDRESS_MAP_START( genie_map, ADDRESS_SPACE_PROGRAM, 8 )
948949   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
949   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* battery backed RAM */
950   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")   /* battery backed RAM */
950951   AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_address_w)
951952   AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
952953   AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
r9191r9192
22872288*              Machine Drivers               *
22882289*********************************************/
22892290
2290static MACHINE_DRIVER_START( goldnpkr_base )
2291static MACHINE_CONFIG_START( goldnpkr_base, driver_device )
22912292
22922293   /* basic machine hardware */
22932294   MDRV_CPU_ADD("maincpu", M6502, CPU_CLOCK)
22942295   MDRV_CPU_PROGRAM_MAP(goldnpkr_map)
22952296   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
22962297
2297   MDRV_NVRAM_HANDLER(generic_0fill)
2298   MDRV_NVRAM_ADD_0FILL("nvram")
22982299
22992300   MDRV_PIA6821_ADD("pia0", goldnpkr_pia0_intf)
23002301   MDRV_PIA6821_ADD("pia1", goldnpkr_pia1_intf)
r9191r9192
23142315   MDRV_PALETTE_LENGTH(256)
23152316   MDRV_VIDEO_START(goldnpkr)
23162317   MDRV_VIDEO_UPDATE(goldnpkr)
2317MACHINE_DRIVER_END
2318MACHINE_CONFIG_END
23182319
23192320
2320static MACHINE_DRIVER_START( goldnpkr )
2321static MACHINE_CONFIG_DERIVED( goldnpkr, goldnpkr_base )
23212322
2322   MDRV_IMPORT_FROM(goldnpkr_base)
2323
23242323   /* sound hardware */
23252324   MDRV_SPEAKER_STANDARD_MONO("mono")
23262325   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
23272326   MDRV_SOUND_CONFIG_DISCRETE(goldnpkr)
23282327   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2329MACHINE_DRIVER_END
2328MACHINE_CONFIG_END
23302329
23312330
2332static MACHINE_DRIVER_START( pottnpkr )
2331static MACHINE_CONFIG_DERIVED( pottnpkr, goldnpkr_base )
23332332
2334   MDRV_IMPORT_FROM(goldnpkr_base)
2335
23362333   /* basic machine hardware */
23372334   MDRV_CPU_MODIFY("maincpu")
23382335   MDRV_CPU_PROGRAM_MAP(pottnpkr_map)
r9191r9192
23442341   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
23452342   MDRV_SOUND_CONFIG_DISCRETE(pottnpkr)
23462343   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2347MACHINE_DRIVER_END
2344MACHINE_CONFIG_END
23482345
23492346
2350static MACHINE_DRIVER_START( witchcrd )
2347static MACHINE_CONFIG_DERIVED( witchcrd, goldnpkr_base )
23512348
2352   MDRV_IMPORT_FROM(goldnpkr_base)
2353
23542349   /* basic machine hardware */
23552350   MDRV_CPU_MODIFY("maincpu")
23562351   MDRV_CPU_PROGRAM_MAP(witchcrd_map)
r9191r9192
23652360   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
23662361   MDRV_SOUND_CONFIG_DISCRETE(goldnpkr)
23672362   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2368MACHINE_DRIVER_END
2363MACHINE_CONFIG_END
23692364
23702365
2371static MACHINE_DRIVER_START( genie )
2366static MACHINE_CONFIG_DERIVED( genie, goldnpkr_base )
23722367
2373   MDRV_IMPORT_FROM(goldnpkr_base)
2374
23752368   /* basic machine hardware */
23762369   MDRV_CPU_MODIFY("maincpu")
23772370   MDRV_CPU_PROGRAM_MAP(genie_map)
r9191r9192
23862379   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
23872380   MDRV_SOUND_CONFIG_DISCRETE(goldnpkr)
23882381   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2389MACHINE_DRIVER_END
2382MACHINE_CONFIG_END
23902383
23912384
23922385/*********************************************
src/mame/drivers/xxmissio.c
r9191r9192
1212#include "cpu/z80/z80.h"
1313#include "deprecat.h"
1414#include "sound/2203intf.h"
15#include "includes/xxmissio.h"
1516
16VIDEO_START( xxmissio );
17VIDEO_UPDATE( xxmissio );
18
19extern UINT8 *xxmissio_bgram;
20extern UINT8 *xxmissio_fgram;
21extern UINT8 *xxmissio_spriteram;
22
2317static UINT8 xxmissio_status;
2418
25
26WRITE8_DEVICE_HANDLER( xxmissio_scroll_x_w );
27WRITE8_DEVICE_HANDLER( xxmissio_scroll_y_w );
28WRITE8_HANDLER( xxmissio_flipscreen_w );
29
30READ8_HANDLER( xxmissio_bgram_r );
31WRITE8_HANDLER( xxmissio_bgram_w );
32
33WRITE8_HANDLER( xxmissio_paletteram_w );
34
3519static WRITE8_HANDLER( xxmissio_bank_sel_w )
3620{
3721   memory_set_bank(space->machine, "bank1", data & 7);
r9191r9192
303287   NULL
304288};
305289
306static MACHINE_DRIVER_START( xxmissio )
290static MACHINE_CONFIG_START( xxmissio, driver_device )
307291
308292   /* basic machine hardware */
309293   MDRV_CPU_ADD("maincpu", Z80,12000000/4)   /* 3.0MHz */
r9191r9192
348332   MDRV_SOUND_ROUTE(1, "mono", 0.15)
349333   MDRV_SOUND_ROUTE(2, "mono", 0.15)
350334   MDRV_SOUND_ROUTE(3, "mono", 0.40)
351MACHINE_DRIVER_END
335MACHINE_CONFIG_END
352336
353337/****************************************************************************/
354338
src/mame/drivers/hyhoo.c
r9191r9192
2626#include "includes/nb1413m3.h"
2727#include "sound/ay8910.h"
2828#include "sound/dac.h"
29#include "includes/hyhoo.h"
30#include "machine/nvram.h"
2931
30
3132#define   SIGNED_DAC   0      // 0:unsigned DAC, 1:signed DAC
3233#if SIGNED_DAC
3334#define DAC_WRITE   dac_signed_w
r9191r9192
3637#endif
3738
3839
39VIDEO_UPDATE( hyhoo );
40VIDEO_START( hyhoo );
41
42extern UINT8 *hyhoo_clut;
43WRITE8_HANDLER( hyhoo_blitter_w );
44WRITE8_HANDLER( hyhoo_romsel_w );
45
46
4740static DRIVER_INIT( hyhoo )
4841{
4942   nb1413m3_type = NB1413M3_HYHOO;
r9191r9192
5750
5851static ADDRESS_MAP_START( hyhoo_map, ADDRESS_SPACE_PROGRAM, 8 )
5952   AM_RANGE(0x0000, 0xefff) AM_ROM
60   AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
53   AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("nvram")
6154ADDRESS_MAP_END
6255
6356static ADDRESS_MAP_START( hyhoo_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
252245};
253246
254247
255static MACHINE_DRIVER_START( hyhoo )
248static MACHINE_CONFIG_START( hyhoo, driver_device )
256249
257250   /* basic machine hardware */
258251   MDRV_CPU_ADD("maincpu", Z80, 5000000)   /* 5.00 MHz ?? */
r9191r9192
261254   MDRV_CPU_VBLANK_INT("screen", nb1413m3_interrupt)
262255
263256   MDRV_MACHINE_RESET(nb1413m3)
264   MDRV_NVRAM_HANDLER(nb1413m3)
257   MDRV_NVRAM_ADD_0FILL("nvram")
265258
266259   /* video hardware */
267260   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
283276
284277   MDRV_SOUND_ADD("dac", DAC, 0)
285278   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
286MACHINE_DRIVER_END
279MACHINE_CONFIG_END
287280
288281
289282ROM_START( hyhoo )
src/mame/drivers/moo.c
r9191r9192
306306   AM_RANGE(0x0cc000, 0x0cc01f) AM_DEVWRITE("k053251", k053251_lsb_w)
307307   AM_RANGE(0x0d0000, 0x0d001f) AM_WRITEONLY                  /* CCU regs (ignored) */
308308   AM_RANGE(0x0d6ffc, 0x0d6ffd) AM_DEVWRITE("oki", moobl_oki_bank_w)
309   AM_RANGE(0x0d6ffe, 0x0d6fff) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff)
309   AM_RANGE(0x0d6ffe, 0x0d6fff) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
310310   AM_RANGE(0x0d8000, 0x0d8007) AM_DEVWRITE("k056832", k056832_b_word_w)     /* VSCCS regs */
311311   AM_RANGE(0x0da000, 0x0da001) AM_READ_PORT("P1_P3")
312312   AM_RANGE(0x0da002, 0x0da003) AM_READ_PORT("P2_P4")
r9191r9192
505505};
506506
507507
508static MACHINE_DRIVER_START( moo )
508static MACHINE_CONFIG_START( moo, moo_state )
509509
510   /* driver data */
511   MDRV_DRIVER_DATA(moo_state)
512
513510   /* basic machine hardware */
514511   MDRV_CPU_ADD("maincpu", M68000, 16000000)
515512   MDRV_CPU_PROGRAM_MAP(moo_map)
r9191r9192
553550   MDRV_SOUND_ADD("k054539", K054539, 48000)
554551   MDRV_SOUND_ROUTE(0, "lspeaker", 0.75)
555552   MDRV_SOUND_ROUTE(1, "rspeaker", 0.75)
556MACHINE_DRIVER_END
553MACHINE_CONFIG_END
557554
558static MACHINE_DRIVER_START( moobl )
555static MACHINE_CONFIG_START( moobl, moo_state )
559556
560   /* driver data */
561   MDRV_DRIVER_DATA(moo_state)
562
563557   /* basic machine hardware */
564558   MDRV_CPU_ADD("maincpu", M68000, 16100000)
565559   MDRV_CPU_PROGRAM_MAP(moobl_map)
r9191r9192
596590   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
597591   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
598592   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
599MACHINE_DRIVER_END
593MACHINE_CONFIG_END
600594
601static MACHINE_DRIVER_START( bucky )
602   MDRV_IMPORT_FROM(moo)
595static MACHINE_CONFIG_DERIVED( bucky, moo )
603596
604597   MDRV_CPU_MODIFY("maincpu")
605598   MDRV_CPU_PROGRAM_MAP(bucky_map)
r9191r9192
611604
612605   /* video hardware */
613606   MDRV_PALETTE_LENGTH(4096)
614MACHINE_DRIVER_END
607MACHINE_CONFIG_END
615608
616609
617610
src/mame/drivers/taito_l.c
r9191r9192
20202020};
20212021
20222022
2023static MACHINE_DRIVER_START( fhawk )
2023static MACHINE_CONFIG_START( fhawk, taitol_state )
20242024
2025   /* driver data */
2026   MDRV_DRIVER_DATA(taitol_state)
2027
20282025   /* basic machine hardware */
20292026   MDRV_CPU_ADD("maincpu", Z80, XTAL_13_33056MHz/2)   /* verified freq on pin122 of TC0090LVC cpu */
20302027   MDRV_CPU_PROGRAM_MAP(fhawk_map)
r9191r9192
20682065   MDRV_SOUND_ROUTE(3, "mono", 0.80)
20692066
20702067   MDRV_TC0140SYT_ADD("tc0140syt", taitol_tc0140syt_intf)
2071MACHINE_DRIVER_END
2068MACHINE_CONFIG_END
20722069
20732070
2074static MACHINE_DRIVER_START( champwr )
2071static MACHINE_CONFIG_DERIVED( champwr, fhawk )
20752072
20762073   /* basic machine hardware */
2077   MDRV_IMPORT_FROM(fhawk)
20782074   MDRV_CPU_MODIFY("maincpu")
20792075   MDRV_CPU_PROGRAM_MAP(champwr_map)
20802076
r9191r9192
20972093   MDRV_SOUND_ADD("msm", MSM5205, XTAL_384kHz)
20982094   MDRV_SOUND_CONFIG(msm5205_config)
20992095   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
2100MACHINE_DRIVER_END
2096MACHINE_CONFIG_END
21012097
21022098
21032099
2104static MACHINE_DRIVER_START( raimais )
2100static MACHINE_CONFIG_DERIVED( raimais, fhawk )
21052101
21062102   /* basic machine hardware */
2107   MDRV_IMPORT_FROM(fhawk)
21082103   MDRV_CPU_MODIFY("maincpu")
21092104   MDRV_CPU_PROGRAM_MAP(raimais_map)
21102105
r9191r9192
21222117   MDRV_SOUND_ROUTE(0, "mono", 0.25)
21232118   MDRV_SOUND_ROUTE(1, "mono", 1.0)
21242119   MDRV_SOUND_ROUTE(2, "mono", 1.0)
2125MACHINE_DRIVER_END
2120MACHINE_CONFIG_END
21262121
21272122
2128static MACHINE_DRIVER_START( kurikint )
2123static MACHINE_CONFIG_START( kurikint, taitol_state )
21292124
2130   /* driver data */
2131   MDRV_DRIVER_DATA(taitol_state)
2132
21332125   /* basic machine hardware */
21342126   MDRV_CPU_ADD("maincpu", Z80, XTAL_13_33056MHz/2)   /* verified freq on pin122 of TC0090LVC cpu */
21352127   MDRV_CPU_PROGRAM_MAP(kurikint_map)
r9191r9192
21692161   MDRV_SOUND_ROUTE(3, "mono", 0.80)
21702162
21712163   MDRV_TC0140SYT_ADD("tc0140syt", taitol_tc0140syt_intf)
2172MACHINE_DRIVER_END
2164MACHINE_CONFIG_END
21732165
21742166
2175static MACHINE_DRIVER_START( kurikinta )
2167static MACHINE_CONFIG_DERIVED( kurikinta, kurikint )
21762168
21772169   /* basic machine hardware */
2178   MDRV_IMPORT_FROM(kurikint)
21792170
21802171   /* video hardware */
21812172   MDRV_GFXDECODE(1)
2182MACHINE_DRIVER_END
2173MACHINE_CONFIG_END
21832174
21842175
2185static MACHINE_DRIVER_START( plotting )
2176static MACHINE_CONFIG_START( plotting, taitol_state )
21862177
2187   /* driver data */
2188   MDRV_DRIVER_DATA(taitol_state)
2189
21902178   /* basic machine hardware */
21912179   MDRV_CPU_ADD("maincpu", Z80, XTAL_13_33056MHz/2)   /* verified freq on pin122 of TC0090LVC cpu */
21922180   MDRV_CPU_PROGRAM_MAP(plotting_map)
r9191r9192
22212209   MDRV_SOUND_ROUTE(3, "mono", 0.80)
22222210
22232211   MDRV_TC0140SYT_ADD("tc0140syt", taitol_tc0140syt_intf)
2224MACHINE_DRIVER_END
2212MACHINE_CONFIG_END
22252213
22262214
2227static MACHINE_DRIVER_START( puzznic )
2215static MACHINE_CONFIG_DERIVED( puzznic, plotting )
22282216
22292217   /* basic machine hardware */
2230   MDRV_IMPORT_FROM(plotting)
22312218   MDRV_CPU_MODIFY("maincpu")
22322219   MDRV_CPU_PROGRAM_MAP(puzznic_map)
22332220
22342221   MDRV_MACHINE_RESET(puzznic)
2235MACHINE_DRIVER_END
2222MACHINE_CONFIG_END
22362223
2237static MACHINE_DRIVER_START( puzznici )
2224static MACHINE_CONFIG_DERIVED( puzznici, plotting )
22382225
22392226   /* basic machine hardware */
2240   MDRV_IMPORT_FROM(plotting)
22412227   MDRV_CPU_MODIFY("maincpu")
22422228   MDRV_CPU_PROGRAM_MAP(puzznici_map)
22432229
22442230   MDRV_MACHINE_RESET(puzznic)
2245MACHINE_DRIVER_END
2231MACHINE_CONFIG_END
22462232
22472233
2248static MACHINE_DRIVER_START( horshoes )
2234static MACHINE_CONFIG_DERIVED( horshoes, plotting )
22492235
22502236   /* basic machine hardware */
2251   MDRV_IMPORT_FROM(plotting)
22522237   MDRV_CPU_MODIFY("maincpu")
22532238   MDRV_CPU_PROGRAM_MAP(horshoes_map)
22542239
22552240   MDRV_MACHINE_RESET(horshoes)
2256MACHINE_DRIVER_END
2241MACHINE_CONFIG_END
22572242
22582243
2259static MACHINE_DRIVER_START( palamed )
2244static MACHINE_CONFIG_DERIVED( palamed, plotting )
22602245
22612246   /* basic machine hardware */
2262   MDRV_IMPORT_FROM(plotting)
22632247   MDRV_CPU_MODIFY("maincpu")
22642248   MDRV_CPU_PROGRAM_MAP(palamed_map)
22652249
22662250   MDRV_MACHINE_RESET(palamed)
2267MACHINE_DRIVER_END
2251MACHINE_CONFIG_END
22682252
22692253
2270static MACHINE_DRIVER_START( cachat )
2254static MACHINE_CONFIG_DERIVED( cachat, plotting )
22712255
22722256   /* basic machine hardware */
2273   MDRV_IMPORT_FROM(plotting)
22742257   MDRV_CPU_MODIFY("maincpu")
22752258   MDRV_CPU_PROGRAM_MAP(cachat_map)
22762259
22772260   MDRV_MACHINE_RESET(cachat)
2278MACHINE_DRIVER_END
2261MACHINE_CONFIG_END
22792262
2280static MACHINE_DRIVER_START( evilston )
2263static MACHINE_CONFIG_START( evilston, taitol_state )
22812264
2282   /* driver data */
2283   MDRV_DRIVER_DATA(taitol_state)
2284
22852265   /* basic machine hardware */
22862266   MDRV_CPU_ADD("maincpu", Z80, XTAL_13_33056MHz/2)   /* not verified */
22872267   MDRV_CPU_PROGRAM_MAP(evilston_map)
r9191r9192
23212301   MDRV_SOUND_ROUTE(3, "mono", 0.80)
23222302
23232303   MDRV_TC0140SYT_ADD("tc0140syt", taitol_tc0140syt_intf)
2324MACHINE_DRIVER_END
2304MACHINE_CONFIG_END
23252305
23262306#ifdef UNUSED_CODE
2327static MACHINE_DRIVER_START( lagirl )
2307static MACHINE_CONFIG_DERIVED( lagirl, plotting )
23282308
23292309   /* basic machine hardware */
2330   MDRV_IMPORT_FROM(plotting)
23312310   MDRV_CPU_MODIFY("maincpu")
23322311   MDRV_CPU_CLOCK(XTAL_27_2109MHz/4)
23332312   MDRV_CPU_PROGRAM_MAP(cachat_map)
r9191r9192
23362315   MDRV_SOUND_REPLACE("ymsnd", YM2203, XTAL_27_2109MHz/8)
23372316
23382317   MDRV_MACHINE_RESET(cachat)
2339MACHINE_DRIVER_END
2318MACHINE_CONFIG_END
23402319#endif
23412320
23422321
src/mame/drivers/eolith16.c
r9191r9192
6464   AM_RANGE(0x50000000, 0x5000ffff) AM_READWRITE(vram_r, vram_w)
6565   AM_RANGE(0x90000000, 0x9000002f) AM_WRITENOP //?
6666   AM_RANGE(0xff000000, 0xff1fffff) AM_ROM AM_REGION("user2", 0)
67   AM_RANGE(0xffe40000, 0xffe40001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
67   AM_RANGE(0xffe40000, 0xffe40001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
6868   AM_RANGE(0xffe80000, 0xffe80001) AM_WRITE(eeprom_w)
6969   AM_RANGE(0xffea0000, 0xffea0001) AM_READ(eolith16_custom_r)
7070   AM_RANGE(0xffea0002, 0xffea0003) AM_READ_PORT("SYSTEM")
r9191r9192
157157
158158
159159
160static MACHINE_DRIVER_START( eolith16 )
160static MACHINE_CONFIG_START( eolith16, driver_device )
161161   MDRV_CPU_ADD("maincpu", E116T, 60000000)      /* no internal multiplier */
162162   MDRV_CPU_PROGRAM_MAP(eolith16_map)
163163   MDRV_CPU_VBLANK_INT_HACK(eolith_speedup,262)
r9191r9192
183183   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
184184   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
185185   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
186MACHINE_DRIVER_END
186MACHINE_CONFIG_END
187187
188188/*
189189
src/mame/drivers/groundfx.c
r9191r9192
6969#include "sound/es5506.h"
7070#include "includes/taito_f3.h"
7171#include "audio/taito_en.h"
72#include "includes/groundfx.h"
7273
73VIDEO_START( groundfx );
74VIDEO_UPDATE( groundfx );
75
7674static UINT16 coin_word, frame_counter=0;
7775static UINT16 port_sel = 0;
78extern UINT16 groundfx_rotate_ctrl[8];
7976static UINT32 *groundfx_ram;
8077
8178/***********************************************************
r9191r9192
367364   cpu_set_input_line(device, 4, HOLD_LINE);
368365}
369366
370static MACHINE_DRIVER_START( groundfx )
367static MACHINE_CONFIG_START( groundfx, driver_device )
371368
372369   /* basic machine hardware */
373370   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)   /* 16 MHz */
r9191r9192
394391   MDRV_TC0480SCP_ADD("tc0480scp", groundfx_tc0480scp_intf)
395392
396393   /* sound hardware */
397   MDRV_IMPORT_FROM(taito_f3_sound)
398MACHINE_DRIVER_END
394   MDRV_FRAGMENT_ADD(taito_f3_sound)
395MACHINE_CONFIG_END
399396
400397/***************************************************************************
401398                    DRIVERS
src/mame/drivers/segald.c
r9191r9192
2424
2525#define SCHEMATIC_CLOCK (20000000)
2626
27static UINT8 nmi_enable = 0;
27class segald_state : public driver_device
28{
29public:
30   segald_state(running_machine &machine, const driver_device_config_base &config)
31      : driver_device(machine, config) { }
2832
29static UINT8* obj_RAM;
30static UINT8* color_RAM;
31static UINT8* fix_RAM;
32static UINT8* out_RAM;
33   UINT8 nmi_enable;
3334
34static running_device *laserdisc;
35static UINT8 ldv1000_input_latch;
36static UINT8 ldv1000_output_latch;
35   UINT8* obj_RAM;
36   UINT8* color_RAM;
37   UINT8* fix_RAM;
38   UINT8* out_RAM;
3739
40   running_device *laserdisc;
41   UINT8 ldv1000_input_latch;
42   UINT8 ldv1000_output_latch;
43
44};
45
3846/* VIDEO GOODS */
3947static void astron_draw_characters(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect)
4048{
49   segald_state *state = machine->driver_data<segald_state>();
4150   UINT8 characterX, characterY;
4251
4352   for (characterX = 0; characterX < 32; characterX++)
r9191r9192
4554      for (characterY = 0; characterY < 32; characterY++)
4655      {
4756         int current_screen_character = (characterY*32) + characterX;
48         drawgfx_transpen(bitmap, cliprect, machine->gfx[0], fix_RAM[current_screen_character],
57         drawgfx_transpen(bitmap, cliprect, machine->gfx[0], state->fix_RAM[current_screen_character],
4958               1, 0, 0, characterX*8, characterY*8, 0);
5059      }
5160   }
5261}
5362
54static void astron_draw_sprites(bitmap_t *bitmap, const rectangle *cliprect)
63static void astron_draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
5564{
5665   /* Heisted from Daphne */
5766   const UINT8 SPR_Y_TOP     = 0;
r9191r9192
6372/*  const UINT8 SPR_GFXOFS_LO = 6;*/
6473/*  const UINT8 SPR_GFXOFS_HI = 7;*/
6574
75   segald_state *state = machine->driver_data<segald_state>();
6676   int sx,sy;
6777   int spr_number;
6878   int spr_base;
r9191r9192
7080   for (spr_number = 0; spr_number < 32; spr_number++)
7181   {
7282      spr_base = 0x10 * spr_number;
73      sy = obj_RAM[spr_base + SPR_Y_TOP];
74      sx = obj_RAM[spr_base + SPR_X_LO];
83      sy = state->obj_RAM[spr_base + SPR_Y_TOP];
84      sx = state->obj_RAM[spr_base + SPR_X_LO];
7585
7686      if (sx != 0 || sy != 0)
7787         logerror("Hey!  A sprite's not at 0,0 : %d %d", sx, sy);
r9191r9192
8494   bitmap_fill(bitmap, cliprect, 0);
8595
8696   astron_draw_characters(screen->machine, bitmap, cliprect);
87   astron_draw_sprites(bitmap, cliprect);
97   astron_draw_sprites(screen->machine, bitmap, cliprect);
8898
8999   return 0;
90100}
r9191r9192
95105/* READS */
96106static READ8_HANDLER( astron_DISC_read )
97107{
98   if (nmi_enable)
99      ldv1000_input_latch = laserdisc_data_r(laserdisc);
108   segald_state *state = space->machine->driver_data<segald_state>();
100109
101   logerror("DISC read   (0x%04x) @ 0x%04x [0x%x]\n", ldv1000_input_latch, offset, cpu_get_pc(space->cpu));
110   if (state->nmi_enable)
111      state->ldv1000_input_latch = laserdisc_data_r(state->laserdisc);
102112
103   return ldv1000_input_latch;
113   logerror("DISC read   (0x%04x) @ 0x%04x [0x%x]\n", state->ldv1000_input_latch, offset, cpu_get_pc(space->cpu));
114
115   return state->ldv1000_input_latch;
104116}
105117
106118static READ8_HANDLER( astron_OUT_read )
107119{
108   logerror("OUT read   (0x%04x) @ 0x%04x [0x%x]\n", out_RAM[offset], offset, cpu_get_pc(space->cpu));
109   return out_RAM[offset];
120   segald_state *state = space->machine->driver_data<segald_state>();
121
122   logerror("OUT read   (0x%04x) @ 0x%04x [0x%x]\n", state->out_RAM[offset], offset, cpu_get_pc(space->cpu));
123   return state->out_RAM[offset];
110124}
111125
112126static READ8_HANDLER( astron_OBJ_read )
113127{
114   logerror("OBJ read   (0x%04x) @ 0x%04x [0x%x]\n", obj_RAM[offset], offset, cpu_get_pc(space->cpu));
115   return obj_RAM[offset];
128   segald_state *state = space->machine->driver_data<segald_state>();
129
130   logerror("OBJ read   (0x%04x) @ 0x%04x [0x%x]\n", state->obj_RAM[offset], offset, cpu_get_pc(space->cpu));
131   return state->obj_RAM[offset];
116132}
117133
118134static READ8_HANDLER( astron_COLOR_read )
119135{
120   logerror("COLOR read   (0x%04x) @ 0x%04x [0x%x]\n", color_RAM[offset], offset, cpu_get_pc(space->cpu));
121   return color_RAM[offset];
136   segald_state *state = space->machine->driver_data<segald_state>();
137
138   logerror("COLOR read   (0x%04x) @ 0x%04x [0x%x]\n", state->color_RAM[offset], offset, cpu_get_pc(space->cpu));
139   return state->color_RAM[offset];
122140}
123141
124142
125143/* WRITES */
126144static WRITE8_HANDLER( astron_DISC_write )
127145{
146   segald_state *state = space->machine->driver_data<segald_state>();
147
128148   logerror("DISC write : 0x%04x @  0x%04x [0x%x]\n", data, offset, cpu_get_pc(space->cpu));
129149
130   ldv1000_output_latch = data;
150   state->ldv1000_output_latch = data;
131151
132   if (nmi_enable)
133      laserdisc_data_w(laserdisc, ldv1000_output_latch);
152   if (state->nmi_enable)
153      laserdisc_data_w(state->laserdisc, state->ldv1000_output_latch);
134154}
135155
136156static WRITE8_HANDLER( astron_OUT_write )
137157{
158   segald_state *state = space->machine->driver_data<segald_state>();
159
138160   logerror("OUT write : 0x%04x @  0x%04x [0x%x]\n", data, offset, cpu_get_pc(space->cpu));
139161
140162   switch(offset)
r9191r9192
153175         /* data & 0x10 = Continue Lamp */
154176
155177         /* data & 0x20 = CHC           */
156         nmi_enable = data & 0x40;      /* NMIE */
178         state->nmi_enable = data & 0x40;      /* NMIE */
157179         /* data & 0x80 = CN0 Pin 19    */
158180         break;
159181
r9191r9192
166188         break;
167189   }
168190
169   out_RAM[offset] = data;
191   state->out_RAM[offset] = data;
170192}
171193
172194static WRITE8_HANDLER( astron_OBJ_write )
173195{
174   obj_RAM[offset] = data;
196   segald_state *state = space->machine->driver_data<segald_state>();
197
198   state->obj_RAM[offset] = data;
175199   logerror("OBJ write : 0x%04x @ 0x%04x [0x%x]\n", data, offset, cpu_get_pc(space->cpu));
176200}
177201
178202static WRITE8_HANDLER( astron_COLOR_write )
179203{
204   segald_state *state = space->machine->driver_data<segald_state>();
180205   UINT8 r, g, b, a;
181206   UINT8 highBits, lowBits;
182207   const UINT8 palIndex = offset >> 1;
183208
184209   /* Combine */
185   color_RAM[offset] = data;
210   state->color_RAM[offset] = data;
186211
187212   /* Easy access */
188   highBits = color_RAM[(palIndex<<1)+1] & 0x0f;
189   lowBits  = color_RAM[(palIndex<<1)];
213   highBits = state->color_RAM[(palIndex<<1)+1] & 0x0f;
214   lowBits  = state->color_RAM[(palIndex<<1)];
190215
191216   /* 4-bit RGB */
192217   r = (lowBits  & 0x0f);
r9191r9192
200225
201226static WRITE8_HANDLER( astron_FIX_write )
202227{
203   fix_RAM[offset] = data;
228   segald_state *state = space->machine->driver_data<segald_state>();
229
230   state->fix_RAM[offset] = data;
204231   /* logerror("FIX write : 0x%04x @ 0x%04x [0x%x]\n", data, offset, cpu_get_pc(space->cpu)); */
205232}
206233
r9191r9192
218245   AM_RANGE(0x0000, 0x7fff) AM_ROM
219246   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
220247
221   AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(astron_OBJ_read,astron_OBJ_write) AM_BASE(&obj_RAM)   /* OBJ according to the schematics (sprite) */
222   AM_RANGE(0xc800, 0xcfff) AM_READWRITE(astron_DISC_read,astron_DISC_write)               /* DISC interface according to schematics */
248   AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(astron_OBJ_read, astron_OBJ_write) AM_BASE_MEMBER(segald_state, obj_RAM)   /* OBJ according to the schematics (sprite) */
249   AM_RANGE(0xc800, 0xcfff) AM_READWRITE(astron_DISC_read, astron_DISC_write)               /* DISC interface according to schematics */
223250   AM_RANGE(0xd000, 0xd000) AM_READ_PORT("DSWA")                        /* SW bank 2 (DIPs) */
224251   AM_RANGE(0xd001, 0xd001) AM_READ_PORT("DSWB")                        /* SW bank 3 (DIPs) */
225252   AM_RANGE(0xd002, 0xd002) AM_READ_PORT("IN0")                        /* SW bank 0 (IO) */
226253   AM_RANGE(0xd003, 0xd003) AM_READ_PORT("IN1")                        /* SW bank 1 (IO) */
227   AM_RANGE(0xd800, 0xd803) AM_READWRITE(astron_OUT_read, astron_OUT_write) AM_BASE(&out_RAM)   /* OUT according to schematics (output port) */
228   AM_RANGE(0xe000, 0xe1ff) AM_READWRITE(astron_COLOR_read, astron_COLOR_write) AM_BASE(&color_RAM) /* COLOR according to the schematics */
229   AM_RANGE(0xf000, 0xf7ff) AM_WRITE(astron_FIX_write)   AM_BASE(&fix_RAM)                  /* FIX according to schematics (characters) */
254   AM_RANGE(0xd800, 0xd803) AM_READWRITE(astron_OUT_read, astron_OUT_write) AM_BASE_MEMBER(segald_state, out_RAM)   /* OUT according to schematics (output port) */
255   AM_RANGE(0xe000, 0xe1ff) AM_READWRITE(astron_COLOR_read, astron_COLOR_write) AM_BASE_MEMBER(segald_state, color_RAM) /* COLOR according to the schematics */
256   AM_RANGE(0xf000, 0xf7ff) AM_WRITE(astron_FIX_write) AM_BASE_MEMBER(segald_state, fix_RAM)                  /* FIX according to schematics (characters) */
230257   AM_RANGE(0xf800, 0xffff) AM_RAM                                                /* RAM according to schematics */
231258ADDRESS_MAP_END
232259
r9191r9192
329356
330357static MACHINE_START( astron )
331358{
332   laserdisc = machine->device("laserdisc");
359   segald_state *state = machine->driver_data<segald_state>();
360
361   state->laserdisc = machine->device("laserdisc");
333362}
334363
335364
336365/* DRIVER */
337static MACHINE_DRIVER_START( astron )
366static MACHINE_CONFIG_START( astron, segald_state )
338367
339368   /* main cpu */
340369   MDRV_CPU_ADD("maincpu", Z80, SCHEMATIC_CLOCK/4)
r9191r9192
356385   /* sound hardare */
357386   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
358387
359   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
388   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
360389   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
361390   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
362MACHINE_DRIVER_END
391MACHINE_CONFIG_END
363392
364393
365394ROM_START( astron )
src/mame/drivers/tickee.c
r9191r9192
2424#include "video/tlc34076.h"
2525#include "sound/ay8910.h"
2626#include "sound/okim6295.h"
27#include "machine/nvram.h"
2728
2829#define CPU_CLOCK         XTAL_40MHz
2930#define VIDEO_CLOCK         XTAL_14_31818MHz
r9191r9192
352353static ADDRESS_MAP_START( tickee_map, ADDRESS_SPACE_PROGRAM, 16 )
353354   AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_BASE(&tickee_vram)
354355   AM_RANGE(0x02000000, 0x02ffffff) AM_ROM AM_REGION("user1", 0)
355   AM_RANGE(0x04000000, 0x04003fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
356   AM_RANGE(0x04000000, 0x04003fff) AM_RAM AM_SHARE("nvram")
356357   AM_RANGE(0x04100000, 0x041000ff) AM_DEVREADWRITE8("tlc34076", tlc34076_r, tlc34076_w, 0x00ff)
357358   AM_RANGE(0x04200000, 0x0420000f) AM_DEVREAD8("ym1", ay8910_r, 0x00ff)
358359   AM_RANGE(0x04200000, 0x0420001f) AM_DEVWRITE8("ym1", ay8910_address_data_w, 0x00ff)
r9191r9192
370371static ADDRESS_MAP_START( ghoshunt_map, ADDRESS_SPACE_PROGRAM, 16 )
371372   AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_BASE(&tickee_vram)
372373   AM_RANGE(0x02000000, 0x02ffffff) AM_ROM AM_REGION("user1", 0)
373   AM_RANGE(0x04100000, 0x04103fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
374   AM_RANGE(0x04100000, 0x04103fff) AM_RAM AM_SHARE("nvram")
374375   AM_RANGE(0x04200000, 0x042000ff) AM_DEVREADWRITE8("tlc34076", tlc34076_r, tlc34076_w, 0x00ff)
375376   AM_RANGE(0x04300000, 0x0430000f) AM_DEVREAD8("ym1", ay8910_r, 0x00ff)
376377   AM_RANGE(0x04300000, 0x0430001f) AM_DEVWRITE8("ym1", ay8910_address_data_w, 0x00ff)
r9191r9192
386387static ADDRESS_MAP_START( mouseatk_map, ADDRESS_SPACE_PROGRAM, 16 )
387388   AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_BASE(&tickee_vram)
388389   AM_RANGE(0x02000000, 0x02ffffff) AM_ROM AM_REGION("user1", 0)
389   AM_RANGE(0x04000000, 0x04003fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
390   AM_RANGE(0x04000000, 0x04003fff) AM_RAM AM_SHARE("nvram")
390391   AM_RANGE(0x04100000, 0x041000ff) AM_DEVREADWRITE8("tlc34076", tlc34076_r, tlc34076_w, 0x00ff)
391392   AM_RANGE(0x04200000, 0x0420000f) AM_DEVREAD8("ym", ay8910_r, 0x00ff)
392393   AM_RANGE(0x04200000, 0x0420000f) AM_DEVWRITE8("ym", ay8910_address_data_w, 0x00ff)
393   AM_RANGE(0x04200100, 0x0420010f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
394   AM_RANGE(0x04200100, 0x0420010f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
394395   AM_RANGE(0x04400000, 0x0440007f) AM_WRITE(tickee_control_w) AM_BASE(&tickee_control)
395396   AM_RANGE(0x04400040, 0x0440004f) AM_READ_PORT("IN2") // ?
396397   AM_RANGE(0xc0000000, 0xc00001ff) AM_READWRITE(tms34010_io_register_r, tms34010_io_register_w)
r9191r9192
417418   AM_RANGE(0xfc000c00, 0xfc000c1f) AM_READ_PORT("DSW1")
418419   AM_RANGE(0xfc000e00, 0xfc000e1f) AM_READ(watchdog_reset16_r)
419420   AM_RANGE(0xfc100000, 0xfc1000ff) AM_DEVREADWRITE8("tlc34076", tlc34076_r, tlc34076_w, 0x00ff)
420   AM_RANGE(0xfc200000, 0xfc207fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
421   AM_RANGE(0xfc300000, 0xfc30000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
421   AM_RANGE(0xfc200000, 0xfc207fff) AM_RAM AM_SHARE("nvram")
422   AM_RANGE(0xfc300000, 0xfc30000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
422423   AM_RANGE(0xfc400010, 0xfc40001f) AM_READ(ff7f_r)
423424   AM_RANGE(0xfe000000, 0xffffffff) AM_ROM AM_REGION("user1", 0)
424425ADDRESS_MAP_END
r9191r9192
724725 *
725726 *************************************/
726727
727static MACHINE_DRIVER_START( tickee )
728static MACHINE_CONFIG_START( tickee, driver_device )
728729
729730   /* basic machine hardware */
730731   MDRV_CPU_ADD("maincpu", TMS34010, XTAL_40MHz)
r9191r9192
732733   MDRV_CPU_PROGRAM_MAP(tickee_map)
733734
734735   MDRV_MACHINE_RESET(tickee)
735   MDRV_NVRAM_HANDLER(generic_1fill)
736   MDRV_NVRAM_ADD_1FILL("nvram")
736737
737738   MDRV_TICKET_DISPENSER_ADD("ticket1", 100, TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_HIGH)
738739   MDRV_TICKET_DISPENSER_ADD("ticket2", 100, TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_HIGH)
r9191r9192
757758   MDRV_SOUND_ADD("ym2", YM2149, VIDEO_CLOCK/8)
758759   MDRV_SOUND_CONFIG(ay8910_interface_2)
759760   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
760MACHINE_DRIVER_END
761MACHINE_CONFIG_END
761762
762763
763static MACHINE_DRIVER_START( ghoshunt )
764   MDRV_IMPORT_FROM(tickee)
764static MACHINE_CONFIG_DERIVED( ghoshunt, tickee )
765765
766766   /* basic machine hardware */
767767   MDRV_CPU_MODIFY("maincpu")
768768   MDRV_CPU_PROGRAM_MAP(ghoshunt_map)
769MACHINE_DRIVER_END
769MACHINE_CONFIG_END
770770
771771
772static MACHINE_DRIVER_START( rapidfir )
772static MACHINE_CONFIG_START( rapidfir, driver_device )
773773
774774   /* basic machine hardware */
775775   MDRV_CPU_ADD("maincpu", TMS34010, XTAL_50MHz)
r9191r9192
777777   MDRV_CPU_PROGRAM_MAP(rapidfir_map)
778778
779779   MDRV_MACHINE_RESET(rapidfir)
780   MDRV_NVRAM_HANDLER(generic_1fill)
780   MDRV_NVRAM_ADD_1FILL("nvram")
781781
782782   /* video hardware */
783783   MDRV_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
r9191r9192
794794
795795   MDRV_OKIM6295_ADD("oki", OKI_CLOCK, OKIM6295_PIN7_HIGH)
796796   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
797MACHINE_DRIVER_END
797MACHINE_CONFIG_END
798798
799799
800static MACHINE_DRIVER_START( mouseatk )
800static MACHINE_CONFIG_START( mouseatk, driver_device )
801801
802802   /* basic machine hardware */
803803   MDRV_CPU_ADD("maincpu", TMS34010, XTAL_40MHz)
r9191r9192
805805   MDRV_CPU_PROGRAM_MAP(mouseatk_map)
806806
807807   MDRV_MACHINE_RESET(tickee)
808   MDRV_NVRAM_HANDLER(generic_1fill)
808   MDRV_NVRAM_ADD_1FILL("nvram")
809809
810810   MDRV_TICKET_DISPENSER_ADD("ticket1", 100, TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_HIGH)
811811   MDRV_TICKET_DISPENSER_ADD("ticket2", 100, TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_HIGH)
r9191r9192
828828
829829   MDRV_OKIM6295_ADD("oki", OKI_CLOCK, OKIM6295_PIN7_HIGH)
830830   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
831MACHINE_DRIVER_END
831MACHINE_CONFIG_END
832832
833833
834834/*************************************
src/mame/drivers/suprloco.c
r9191r9192
1313
1414#include "emu.h"
1515#include "deprecat.h"
16#include "video/system1.h"
1716#include "cpu/z80/z80.h"
1817#include "machine/segacrpt.h"
1918#include "sound/sn76496.h"
19#include "includes/suprloco.h"
2020
21extern UINT8 *suprloco_videoram;
22extern UINT8 *suprloco_scrollram;
23
24PALETTE_INIT( suprloco );
25VIDEO_START( suprloco );
26VIDEO_UPDATE( suprloco );
27WRITE8_HANDLER( suprloco_videoram_w );
28WRITE8_HANDLER( suprloco_scrollram_w );
29WRITE8_HANDLER( suprloco_control_w );
30READ8_HANDLER( suprloco_control_r );
31
32
3321static WRITE8_HANDLER( suprloco_soundport_w )
3422{
3523   soundlatch_w(space, 0, data);
r9191r9192
164152
165153
166154
167static MACHINE_DRIVER_START( suprloco )
155static MACHINE_CONFIG_START( suprloco, driver_device )
168156
169157   /* basic machine hardware */
170158   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz (?) */
r9191r9192
198186
199187   MDRV_SOUND_ADD("sn2", SN76496, 2000000)
200188   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
201MACHINE_DRIVER_END
189MACHINE_CONFIG_END
202190
203191
204192/***************************************************************************
src/mame/drivers/srmp5.c
r9191r9192
6262
6363#define SPRITE_DATA_GRANULARITY 0x80
6464
65class srmp5_state : public driver_data_t
65class srmp5_state : public driver_device
6666{
6767public:
68   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, srmp5_state(machine)); }
68   srmp5_state(running_machine &machine, const driver_device_config_base &config)
69      : driver_device(machine, config) { }
6970
70   srmp5_state(running_machine &machine)
71      : driver_data_t(machine) { }
72
7371   UINT32 databank;
7472   UINT16 *tileram;
7573   UINT16 *palram;
r9191r9192
386384   AM_RANGE(0xf000, 0xffff) AM_RAM
387385ADDRESS_MAP_END
388386
389READ8_HANDLER(st0016_dma_r);
390
391387static READ8_HANDLER(cmd1_r)
392388{
393389   srmp5_state *state = space->machine->driver_data<srmp5_state>();
r9191r9192
557553   //GFXDECODE_ENTRY( "gfx1", 0, tile_16x16x8_layout, 0x0, 0x800  )
558554GFXDECODE_END
559555
560static MACHINE_DRIVER_START( srmp5 )
556static MACHINE_CONFIG_START( srmp5, srmp5_state )
561557
562   MDRV_DRIVER_DATA( srmp5_state )
563
564558   /* basic machine hardware */
565559   MDRV_CPU_ADD("maincpu",Z80,8000000)
566560   MDRV_CPU_PROGRAM_MAP(st0016_mem)
r9191r9192
594588   MDRV_SOUND_CONFIG(st0016_config)
595589   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
596590   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
597MACHINE_DRIVER_END
591MACHINE_CONFIG_END
598592
599593ROM_START( srmp5 )
600594   ROM_REGION( 0x410000, "maincpu", 0 )
src/mame/drivers/m92.c
r9191r9192
917917   cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, M92_IRQ_1);
918918}
919919
920static MACHINE_DRIVER_START( m92 )
920static MACHINE_CONFIG_START( m92, driver_device )
921921
922922   /* basic machine hardware */
923923   MDRV_CPU_ADD("maincpu",V33,18000000/2)   /* NEC V33, 18 MHz clock */
r9191r9192
956956
957957   MDRV_SOUND_ADD("irem", IREMGA20, 14318180/4)
958958   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
959MACHINE_DRIVER_END
959MACHINE_CONFIG_END
960960
961961
962962static const nec_config gunforce_config ={   gunforce_decryption_table, };
963static MACHINE_DRIVER_START( gunforce )
964   MDRV_IMPORT_FROM( m92 )
963static MACHINE_CONFIG_DERIVED( gunforce, m92 )
965964   MDRV_CPU_MODIFY("soundcpu")
966965   MDRV_CPU_CONFIG(gunforce_config)
967MACHINE_DRIVER_END
966MACHINE_CONFIG_END
968967
969968static const nec_config bmaster_config ={ bomberman_decryption_table, };
970static MACHINE_DRIVER_START( bmaster )
971   MDRV_IMPORT_FROM( m92 )
969static MACHINE_CONFIG_DERIVED( bmaster, m92 )
972970   MDRV_CPU_MODIFY("soundcpu")
973971   MDRV_CPU_CONFIG(bmaster_config)
974MACHINE_DRIVER_END
972MACHINE_CONFIG_END
975973
976974static const nec_config lethalth_config ={ lethalth_decryption_table, };
977static MACHINE_DRIVER_START( lethalth )
978   MDRV_IMPORT_FROM(m92)
975static MACHINE_CONFIG_DERIVED( lethalth, m92 )
979976   MDRV_CPU_MODIFY("maincpu")
980977   MDRV_CPU_PROGRAM_MAP(lethalth_map)
981978   MDRV_CPU_MODIFY("soundcpu")
982979   MDRV_CPU_CONFIG(lethalth_config)
983MACHINE_DRIVER_END
980MACHINE_CONFIG_END
984981
985982static const nec_config uccops_config ={ dynablaster_decryption_table, };
986static MACHINE_DRIVER_START( uccops )
987   MDRV_IMPORT_FROM(m92)
983static MACHINE_CONFIG_DERIVED( uccops, m92 )
988984   MDRV_CPU_MODIFY("soundcpu")
989985   MDRV_CPU_CONFIG(uccops_config)
990MACHINE_DRIVER_END
986MACHINE_CONFIG_END
991987
992988static const nec_config mysticri_config ={ mysticri_decryption_table, };
993static MACHINE_DRIVER_START( mysticri )
994   MDRV_IMPORT_FROM(m92)
989static MACHINE_CONFIG_DERIVED( mysticri, m92 )
995990   MDRV_CPU_MODIFY("soundcpu")
996991   MDRV_CPU_CONFIG(mysticri_config)
997MACHINE_DRIVER_END
992MACHINE_CONFIG_END
998993
999994static const nec_config majtitl2_config ={ majtitl2_decryption_table, };
1000static MACHINE_DRIVER_START( majtitl2 )
1001   MDRV_IMPORT_FROM(m92)
995static MACHINE_CONFIG_DERIVED( majtitl2, m92 )
1002996   MDRV_CPU_MODIFY("soundcpu")
1003997   MDRV_CPU_CONFIG(majtitl2_config)
1004MACHINE_DRIVER_END
998MACHINE_CONFIG_END
1005999
10061000static const nec_config hook_config ={ hook_decryption_table, };
1007static MACHINE_DRIVER_START( hook )
1008   MDRV_IMPORT_FROM(m92)
1001static MACHINE_CONFIG_DERIVED( hook, m92 )
10091002   MDRV_CPU_MODIFY("soundcpu")
10101003   MDRV_CPU_CONFIG(hook_config)
1011MACHINE_DRIVER_END
1004MACHINE_CONFIG_END
10121005
1013static MACHINE_DRIVER_START( ppan )
1006static MACHINE_CONFIG_START( ppan, driver_device )
10141007
10151008   /* basic machine hardware */
10161009   MDRV_CPU_ADD("maincpu",V33,18000000/2)
r9191r9192
10431036
10441037   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
10451038   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1046MACHINE_DRIVER_END
1039MACHINE_CONFIG_END
10471040
10481041static const nec_config rtypeleo_config ={ rtypeleo_decryption_table, };
1049static MACHINE_DRIVER_START( rtypeleo )
1050   MDRV_IMPORT_FROM(m92)
1042static MACHINE_CONFIG_DERIVED( rtypeleo, m92 )
10511043   MDRV_CPU_MODIFY("soundcpu")
10521044   MDRV_CPU_CONFIG(rtypeleo_config)
1053MACHINE_DRIVER_END
1045MACHINE_CONFIG_END
10541046
10551047
10561048static const nec_config inthunt_config ={ inthunt_decryption_table, };
1057static MACHINE_DRIVER_START( inthunt )
1058   MDRV_IMPORT_FROM(m92)
1049static MACHINE_CONFIG_DERIVED( inthunt, m92 )
10591050   MDRV_CPU_MODIFY("soundcpu")
10601051   MDRV_CPU_CONFIG(inthunt_config)
1061MACHINE_DRIVER_END
1052MACHINE_CONFIG_END
10621053
10631054
10641055static const nec_config nbbatman_config ={ leagueman_decryption_table, };
1065static MACHINE_DRIVER_START( nbbatman )
1066   MDRV_IMPORT_FROM(m92)
1056static MACHINE_CONFIG_DERIVED( nbbatman, m92 )
10671057   MDRV_CPU_MODIFY("soundcpu")
10681058   MDRV_CPU_CONFIG(nbbatman_config)
1069MACHINE_DRIVER_END
1059MACHINE_CONFIG_END
10701060
10711061
10721062static const nec_config psoldier_config ={ psoldier_decryption_table, };
1073static MACHINE_DRIVER_START( psoldier )
1074   MDRV_IMPORT_FROM(m92)
1063static MACHINE_CONFIG_DERIVED( psoldier, m92 )
10751064   MDRV_CPU_MODIFY("soundcpu")
10761065   MDRV_CPU_CONFIG(psoldier_config)
10771066   /* video hardware */
10781067   MDRV_GFXDECODE(2)
1079MACHINE_DRIVER_END
1068MACHINE_CONFIG_END
10801069
10811070static const nec_config dsoccr94_config ={ dsoccr94_decryption_table, };
1082static MACHINE_DRIVER_START( dsoccr94j )
1083   MDRV_IMPORT_FROM(m92)
1071static MACHINE_CONFIG_DERIVED( dsoccr94j, m92 )
10841072   MDRV_CPU_MODIFY("soundcpu")
10851073   MDRV_CPU_CONFIG(dsoccr94_config)
10861074   /* video hardware */
10871075   MDRV_GFXDECODE(2)
1088MACHINE_DRIVER_END
1076MACHINE_CONFIG_END
10891077
10901078static const nec_config gunforc2_config ={ lethalth_decryption_table, };
1091static MACHINE_DRIVER_START( gunforc2 )
1092   MDRV_IMPORT_FROM(m92)
1079static MACHINE_CONFIG_DERIVED( gunforc2, m92 )
10931080   MDRV_CPU_MODIFY("soundcpu")
10941081   MDRV_CPU_CONFIG(gunforc2_config)
1095MACHINE_DRIVER_END
1082MACHINE_CONFIG_END
10961083
10971084
10981085/***************************************************************************/
src/mame/drivers/m58.c
r9191r9192
187187 *
188188 *************************************/
189189
190static MACHINE_DRIVER_START( yard )
190static MACHINE_CONFIG_START( yard, irem_z80_state )
191191
192   /* driver data */
193   MDRV_DRIVER_DATA(irem_z80_state)
194
195192   /* basic machine hardware */
196193   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/3/2)
197194   MDRV_CPU_PROGRAM_MAP(yard_map)
r9191r9192
210207   MDRV_VIDEO_UPDATE(yard)
211208
212209   /* sound hardware */
213   MDRV_IMPORT_FROM(m52_large_audio)
214MACHINE_DRIVER_END
210   MDRV_FRAGMENT_ADD(m52_large_audio)
211MACHINE_CONFIG_END
215212
216213
217214
src/mame/drivers/destroyr.c
r9191r9192
99#include "deprecat.h"
1010
1111
12class destroyr_state : public driver_data_t
12class destroyr_state : public driver_device
1313{
1414public:
15   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, destroyr_state(machine)); }
15   destroyr_state(running_machine &machine, const driver_device_config_base &config)
16      : driver_device(machine, config) { }
1617
17   destroyr_state(running_machine &machine)
18      : driver_data_t(machine) { }
19
2018   /* memory pointers */
2119   UINT8 *        major_obj_ram;
2220   UINT8 *        minor_obj_ram;
r9191r9192
448446   state_save_register_global_array(machine, state->potsense);
449447}
450448
451static MACHINE_DRIVER_START( destroyr )
449static MACHINE_CONFIG_START( destroyr, destroyr_state )
452450
453   /* driver data */
454   MDRV_DRIVER_DATA(destroyr_state)
455
456451   /* basic machine hardware */
457452   MDRV_CPU_ADD("maincpu", M6800, XTAL_12_096MHz / 16)
458453   MDRV_CPU_PROGRAM_MAP(destroyr_map)
r9191r9192
474469   MDRV_VIDEO_UPDATE(destroyr)
475470
476471   /* sound hardware */
477MACHINE_DRIVER_END
472MACHINE_CONFIG_END
478473
479474
480475ROM_START( destroyr )
src/mame/drivers/fcombat.c
r9191r9192
295295   state->ty = 0;
296296}
297297
298static MACHINE_DRIVER_START( fcombat )
298static MACHINE_CONFIG_START( fcombat, fcombat_state )
299299
300   /* driver data */
301   MDRV_DRIVER_DATA(fcombat_state)
302
303300   /* basic machine hardware */
304301   MDRV_CPU_ADD("maincpu", Z80, 10000000/3)
305302   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
333330
334331   MDRV_SOUND_ADD("ay3", AY8910, 1500000)
335332   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.12)
336MACHINE_DRIVER_END
333MACHINE_CONFIG_END
337334
338335/*************************************
339336 *
src/mame/drivers/feversoc.c
r9191r9192
154154   AM_RANGE(0x06000000, 0x06000003) AM_WRITE(output_w)
155155   AM_RANGE(0x06000004, 0x06000007) AM_WRITENOP //???
156156   AM_RANGE(0x06000008, 0x0600000b) AM_READ(in0_r)
157   AM_RANGE(0x0600000c, 0x0600000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff0000)
157   AM_RANGE(0x0600000c, 0x0600000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff0000)
158158//  AM_RANGE(0x06010000, 0x06017fff) AM_RAM //contains RISE11 keys and other related stuff.
159159   AM_RANGE(0x06018000, 0x06019fff) AM_RAM_WRITE(fs_paletteram_w) AM_BASE_GENERIC(paletteram)
160160ADDRESS_MAP_END
r9191r9192
234234   cputag_set_input_line(device->machine, "maincpu", 8, HOLD_LINE );
235235}
236236
237static MACHINE_DRIVER_START( feversoc )
237static MACHINE_CONFIG_START( feversoc, driver_device )
238238
239239   /* basic machine hardware */
240240   MDRV_CPU_ADD("maincpu",SH2,MASTER_CLOCK)
r9191r9192
258258   MDRV_SPEAKER_STANDARD_MONO("mono")
259259   MDRV_OKIM6295_ADD("oki", MASTER_CLOCK/16, OKIM6295_PIN7_LOW) //pin 7 & frequency not verified (clock should be 28,6363 / n)
260260   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.6)
261MACHINE_DRIVER_END
261MACHINE_CONFIG_END
262262
263263/***************************************************************************
264264
src/mame/drivers/wwfwfest.c
r9191r9192
8989   AM_RANGE(0x0000, 0xbfff) AM_ROM
9090   AM_RANGE(0xc000, 0xc7ff) AM_RAM
9191   AM_RANGE(0xc800, 0xc801) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
92   AM_RANGE(0xd800, 0xd800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
92   AM_RANGE(0xd800, 0xd800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
9393   AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
9494   AM_RANGE(0xe800, 0xe800) AM_DEVWRITE("oki", oki_bankswitch_w)
9595ADDRESS_MAP_END
r9191r9192
390390 Machine Driver(s)
391391*******************************************************************************/
392392
393static MACHINE_DRIVER_START( wwfwfest )
393static MACHINE_CONFIG_START( wwfwfest, driver_device )
394394
395395   /* basic machine hardware */
396396   MDRV_CPU_ADD("maincpu", M68000, CPU_CLOCK)   /* 24 crystal, 12 rated chip */
r9191r9192
424424
425425   MDRV_OKIM6295_ADD("oki", 1024188, OKIM6295_PIN7_HIGH) /* Verified - Pin 7 tied to +5VDC */
426426   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
427MACHINE_DRIVER_END
427MACHINE_CONFIG_END
428428
429static MACHINE_DRIVER_START( wwfwfstb )
430   MDRV_IMPORT_FROM(wwfwfest)
429static MACHINE_CONFIG_DERIVED( wwfwfstb, wwfwfest )
431430   MDRV_VIDEO_START(wwfwfstb)
432MACHINE_DRIVER_END
431MACHINE_CONFIG_END
433432
434433/*******************************************************************************
435434 Rom Loaders / Game Drivers
src/mame/drivers/multigam.c
r9191r9192
11331133   multigmc_mmc3_6000_ram = auto_alloc_array(machine, UINT8, 0x2000);
11341134}
11351135
1136static MACHINE_DRIVER_START( multigam )
1136static MACHINE_CONFIG_START( multigam, driver_device )
11371137   /* basic machine hardware */
11381138   MDRV_CPU_ADD("maincpu", N2A03, N2A03_DEFAULTCLOCK)
11391139   MDRV_CPU_PROGRAM_MAP(multigam_map)
r9191r9192
11661166
11671167   MDRV_SOUND_ADD("dac", DAC, 0)
11681168   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1169MACHINE_DRIVER_END
1169MACHINE_CONFIG_END
11701170
1171static MACHINE_DRIVER_START( multigm3 )
1172   MDRV_IMPORT_FROM(multigam)
1171static MACHINE_CONFIG_DERIVED( multigm3, multigam )
11731172   MDRV_CPU_MODIFY("maincpu")
11741173   MDRV_CPU_PROGRAM_MAP(multigm3_map)
11751174
11761175   MDRV_MACHINE_START( multigm3 )
11771176   MDRV_MACHINE_RESET( multigm3 )
1178MACHINE_DRIVER_END
1177MACHINE_CONFIG_END
11791178
1180static MACHINE_DRIVER_START( multigmt )
1181   MDRV_IMPORT_FROM(multigam)
1179static MACHINE_CONFIG_DERIVED( multigmt, multigam )
11821180   MDRV_CPU_MODIFY("maincpu")
11831181   MDRV_CPU_PROGRAM_MAP(multigmt_map)
1184MACHINE_DRIVER_END
1182MACHINE_CONFIG_END
11851183
1186static MACHINE_DRIVER_START( supergm3 )
1187   MDRV_IMPORT_FROM(multigam)
1184static MACHINE_CONFIG_DERIVED( supergm3, multigam )
11881185   MDRV_CPU_MODIFY("maincpu")
11891186   MDRV_CPU_PROGRAM_MAP(supergm3_map)
11901187
11911188   MDRV_MACHINE_START(supergm3)
1192MACHINE_DRIVER_END
1189MACHINE_CONFIG_END
11931190
11941191ROM_START( multigam )
11951192   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/fuukifg2.c
r9191r9192
136136   AM_RANGE(0x30, 0x30) AM_WRITENOP   // ? In the NMI routine
137137   AM_RANGE(0x40, 0x41) AM_DEVWRITE("ym1", ym2203_w)
138138   AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ym2", ym3812_r, ym3812_w)
139   AM_RANGE(0x60, 0x60) AM_DEVREAD("oki", okim6295_r)   // M6295
140   AM_RANGE(0x61, 0x61) AM_DEVWRITE("oki", okim6295_w)   // M6295
139   AM_RANGE(0x60, 0x60) AM_DEVREAD_MODERN("oki", okim6295_device, read)   // M6295
140   AM_RANGE(0x61, 0x61) AM_DEVWRITE_MODERN("oki", okim6295_device, write)   // M6295
141141ADDRESS_MAP_END
142142
143143
r9191r9192
447447}
448448
449449
450static MACHINE_DRIVER_START( fuuki16 )
450static MACHINE_CONFIG_START( fuuki16, fuuki16_state )
451451
452   /* driver data */
453   MDRV_DRIVER_DATA(fuuki16_state)
454
455452   /* basic machine hardware */
456453   MDRV_CPU_ADD("maincpu", M68000, 16000000)
457454   MDRV_CPU_PROGRAM_MAP(fuuki16_map)
r9191r9192
491488   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH)
492489   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.85)
493490   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.85)
494MACHINE_DRIVER_END
491MACHINE_CONFIG_END
495492
496493
497494/***************************************************************************
src/mame/drivers/vulgus.c
r9191r9192
4343#include "cpu/z80/z80.h"
4444#include "deprecat.h"
4545#include "sound/ay8910.h"
46#include "includes/vulgus.h"
4647
4748
48extern UINT8 *vulgus_fgvideoram;
49extern UINT8 *vulgus_bgvideoram;
50extern UINT8 *vulgus_scroll_low,*vulgus_scroll_high;
51
52WRITE8_HANDLER( vulgus_fgvideoram_w );
53WRITE8_HANDLER( vulgus_bgvideoram_w );
54WRITE8_HANDLER( vulgus_c804_w );
55WRITE8_HANDLER( vulgus_palette_bank_w );
56VIDEO_START( vulgus );
57PALETTE_INIT( vulgus );
58VIDEO_UPDATE( vulgus );
59
60
61
6249static INTERRUPT_GEN( vulgus_interrupt )
6350{
6451   if (cpu_getiloops(device) != 0)
r9191r9192
230217
231218
232219
233static MACHINE_DRIVER_START( vulgus )
220static MACHINE_CONFIG_START( vulgus, driver_device )
234221
235222   /* basic machine hardware */
236223   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz (?) */
r9191r9192
264251
265252   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
266253   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
267MACHINE_DRIVER_END
254MACHINE_CONFIG_END
268255
269256
270257
src/mame/drivers/sderby.c
r9191r9192
6262#include "cpu/m68000/m68000.h"
6363#include "sound/okim6295.h"
6464#include "includes/sderby.h"
65#include "machine/nvram.h"
6566
6667#include "sderby.lh"
6768#include "spacewin.lh"
r9191r9192
284285   AM_RANGE(0x200000, 0x200fff) AM_RAM AM_BASE_MEMBER(sderby_state,spriteram) AM_SIZE_MEMBER(sderby_state,spriteram_size)
285286   AM_RANGE(0x308000, 0x30800d) AM_READ(sderby_input_r)
286287   AM_RANGE(0x308008, 0x308009) AM_WRITE(sderby_out_w)   /* output port */
287   AM_RANGE(0x30800e, 0x30800f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
288   AM_RANGE(0x30800e, 0x30800f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
288289   AM_RANGE(0x380000, 0x380fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
289290   AM_RANGE(0x500000, 0x500001) AM_WRITENOP   /* unknown... write 0x01 in game, and 0x00 on reset */
290   AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
291   AM_RANGE(0xd00000, 0xd007ff) AM_RAM AM_SHARE("nvram")
291292   AM_RANGE(0xffc000, 0xffffff) AM_RAM
292293ADDRESS_MAP_END
293294
r9191r9192
303304   AM_RANGE(0x300000, 0x300001) AM_WRITENOP   /* unknown... write 0x01 in game, and 0x00 on reset */
304305   AM_RANGE(0x308000, 0x30800d) AM_READ(sderby_input_r)
305306   AM_RANGE(0x308008, 0x308009) AM_WRITE(scmatto_out_w)   /* output port */
306   AM_RANGE(0x30800e, 0x30800f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
307   AM_RANGE(0x30800e, 0x30800f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
307308   AM_RANGE(0x380000, 0x380fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
308309   AM_RANGE(0xd00000, 0xd001ff) AM_RAM
309310   AM_RANGE(0x800000, 0x800fff) AM_RAM AM_BASE_MEMBER(sderby_state,spriteram) AM_SIZE_MEMBER(sderby_state,spriteram_size)
310311   AM_RANGE(0x801000, 0x80100d) AM_WRITENOP   /* unknown */
311   AM_RANGE(0x8f0000, 0x8f07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* 16K Dallas DS1220Y-200 NVRAM */
312   AM_RANGE(0x8f0000, 0x8f07ff) AM_RAM AM_SHARE("nvram")   /* 16K Dallas DS1220Y-200 NVRAM */
312313   AM_RANGE(0x8fc000, 0x8fffff) AM_RAM
313314ADDRESS_MAP_END
314315
r9191r9192
323324
324325   AM_RANGE(0x708000, 0x708009) AM_READ(roulette_input_r)
325326   AM_RANGE(0x708006, 0x708007) AM_WRITE(roulette_out_w)
326   AM_RANGE(0x70800a, 0x70800b) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
327   AM_RANGE(0x70800a, 0x70800b) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
327328   AM_RANGE(0x70800c, 0x70800d) AM_WRITENOP   /* watchdog?? (0x0003) */
328329   AM_RANGE(0x70800e, 0x70800f) AM_READWRITE(rprot_r, rprot_w)   /* MCU communication */
329330   AM_RANGE(0x780000, 0x780fff) AM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
330331
331   AM_RANGE(0xff0000, 0xff07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
332   AM_RANGE(0xff0000, 0xff07ff) AM_RAM AM_SHARE("nvram")
332333   AM_RANGE(0xffc000, 0xffffff) AM_RAM
333334ADDRESS_MAP_END
334335
r9191r9192
453454*      Machine Drivers      *
454455****************************/
455456
456static MACHINE_DRIVER_START( sderby )
457static MACHINE_CONFIG_START( sderby, sderby_state )
457458
458   MDRV_DRIVER_DATA( sderby_state )
459
460459   MDRV_CPU_ADD("maincpu", M68000, 12000000)
461460   MDRV_CPU_PROGRAM_MAP(sderby_map)
462461   MDRV_CPU_VBLANK_INT("screen", irq2_line_hold)
463462
464   MDRV_NVRAM_HANDLER(generic_0fill)
463   MDRV_NVRAM_ADD_0FILL("nvram")
465464
466465   MDRV_SCREEN_ADD("screen", RASTER)
467466   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
478477   MDRV_SPEAKER_STANDARD_MONO("mono")
479478   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) /* clock frequency & pin 7 not verified */
480479   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
481MACHINE_DRIVER_END
480MACHINE_CONFIG_END
482481
483static MACHINE_DRIVER_START( spacewin )
482static MACHINE_CONFIG_START( spacewin, sderby_state )
484483
485   MDRV_DRIVER_DATA( sderby_state )
486
487484   MDRV_CPU_ADD("maincpu", M68000, 12000000)
488485   MDRV_CPU_PROGRAM_MAP(spacewin_map)
489486   MDRV_CPU_VBLANK_INT("screen", irq2_line_hold)
490487
491   MDRV_NVRAM_HANDLER(generic_0fill)
488   MDRV_NVRAM_ADD_0FILL("nvram")
492489
493490   MDRV_SCREEN_ADD("screen", RASTER)
494491   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
505502   MDRV_SPEAKER_STANDARD_MONO("mono")
506503   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) /* clock frequency & pin 7 not verified */
507504   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
508MACHINE_DRIVER_END
505MACHINE_CONFIG_END
509506
510static MACHINE_DRIVER_START( pmroulet )
507static MACHINE_CONFIG_START( pmroulet, sderby_state )
511508
512   MDRV_DRIVER_DATA( sderby_state )
513
514509   MDRV_CPU_ADD("maincpu", M68000, 12000000)
515510   MDRV_CPU_PROGRAM_MAP(roulette_map)
516511   MDRV_CPU_VBLANK_INT("screen", irq2_line_hold)
517512
518   MDRV_NVRAM_HANDLER(generic_0fill)
513   MDRV_NVRAM_ADD_0FILL("nvram")
519514
520515   MDRV_SCREEN_ADD("screen", RASTER)
521516   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
532527   MDRV_SPEAKER_STANDARD_MONO("mono")
533528   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) /* clock frequency & pin 7 not verified */
534529   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
535MACHINE_DRIVER_END
530MACHINE_CONFIG_END
536531
537532
538533/****************************
src/mame/drivers/vcombat.c
r9191r9192
8787#include "video/tlc34076.h"
8888#include "video/mc6845.h"
8989#include "sound/dac.h"
90#include "machine/nvram.h"
9091
9192
9293static UINT16* m68k_framebuffer[2];
r9191r9192
327328
328329   AM_RANGE(0x60000c, 0x60000d) AM_WRITE(crtc_w)
329330   AM_RANGE(0x600010, 0x600011) AM_RAM AM_BASE(&framebuffer_ctrl)
330   AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
331   AM_RANGE(0x700000, 0x7007ff) AM_RAM AM_SHARE("nvram")
331332   AM_RANGE(0x701000, 0x701001) AM_READ(main_irqiack_r)
332333   AM_RANGE(0x702000, 0x702001) AM_READ(control_3_r)
333334   AM_RANGE(0x705000, 0x705001) AM_RAM AM_SHARE("share4")      /* M1->M0 */
r9191r9192
546547};
547548
548549
549static MACHINE_DRIVER_START( vcombat )
550static MACHINE_CONFIG_START( vcombat, driver_device )
550551   MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz)
551552   MDRV_CPU_PROGRAM_MAP(main_map)
552553   MDRV_CPU_VBLANK_INT("screen", irq1_line_assert)
r9191r9192
564565   MDRV_CPU_PROGRAM_MAP(sound_map)
565566   MDRV_CPU_PERIODIC_INT(irq1_line_hold, 15000)   /* Remove this if MC6845 is enabled */
566567
567   MDRV_NVRAM_HANDLER(generic_0fill)
568   MDRV_NVRAM_ADD_0FILL("nvram")
568569   MDRV_MACHINE_RESET(vcombat)
569570
570571/* Temporary hack for experimenting with timing. */
r9191r9192
593594
594595   MDRV_SOUND_ADD("dac", DAC, 0)
595596   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
596MACHINE_DRIVER_END
597MACHINE_CONFIG_END
597598
598599
599static MACHINE_DRIVER_START( shadfgtr )
600static MACHINE_CONFIG_START( shadfgtr, driver_device )
600601   MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz)
601602   MDRV_CPU_PROGRAM_MAP(main_map)
602603   MDRV_CPU_VBLANK_INT("screen", irq1_line_assert)
r9191r9192
609610   MDRV_CPU_ADD("soundcpu", M68000, XTAL_12MHz)
610611   MDRV_CPU_PROGRAM_MAP(sound_map)
611612
612   MDRV_NVRAM_HANDLER(generic_0fill)
613   MDRV_NVRAM_ADD_0FILL("nvram")
613614   MDRV_MACHINE_RESET(shadfgtr)
614615
615616   MDRV_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
r9191r9192
626627
627628   MDRV_SOUND_ADD("dac", DAC, 0)
628629   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
629MACHINE_DRIVER_END
630MACHINE_CONFIG_END
630631
631632
632633ROM_START( vcombat )
src/mame/drivers/shangha3.c
r9191r9192
2525#include "sound/ay8910.h"
2626#include "sound/okim6295.h"
2727#include "sound/2612intf.h"
28#include "includes/shangha3.h"
2829
29extern UINT16 *shangha3_ram;
30extern size_t shangha3_ram_size;
31extern int shangha3_do_shadows;
3230
33WRITE16_HANDLER( shangha3_flipscreen_w );
34WRITE16_HANDLER( shangha3_gfxlist_addr_w );
35WRITE16_HANDLER( shangha3_blitter_go_w );
36VIDEO_START( shangha3 );
37VIDEO_UPDATE( shangha3 );
3831
39
40
4132/* this looks like a simple protection check */
4233/*
4334write    read
r9191r9192
5344*/
5445static READ16_HANDLER( shangha3_prot_r )
5546{
56   static int count;
47   shangha3_state *state = space->machine->driver_data<shangha3_state>();
5748   static const int result[] = { 0x0,0x1,0x3,0x7,0xf,0xe,0xc,0x8,0x0};
5849
5950   logerror("PC %04x: read 20004e\n",cpu_get_pc(space->cpu));
6051
61   return result[count++ % 9];
52   return result[state->prot_count++ % 9];
6253}
6354static WRITE16_HANDLER( shangha3_prot_w )
6455{
r9191r9192
138129   AM_RANGE(0x20002e, 0x20002f) AM_DEVWRITE8("aysnd", ay8910_data_w, 0x00ff)
139130   AM_RANGE(0x20003e, 0x20003f) AM_DEVWRITE8("aysnd", ay8910_address_w, 0x00ff)
140131   AM_RANGE(0x20004e, 0x20004f) AM_READWRITE(shangha3_prot_r,shangha3_prot_w)
141   AM_RANGE(0x20006e, 0x20006f) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff)
142   AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_BASE(&shangha3_ram) AM_SIZE(&shangha3_ram_size)   /* gfx & work ram */
132   AM_RANGE(0x20006e, 0x20006f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
133   AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_BASE_SIZE_MEMBER(shangha3_state, ram, ram_size)   /* gfx & work ram */
143134   AM_RANGE(0x340000, 0x340001) AM_WRITE(shangha3_flipscreen_w)
144135   AM_RANGE(0x360000, 0x360001) AM_WRITE(shangha3_gfxlist_addr_w)
145136ADDRESS_MAP_END
r9191r9192
154145   AM_RANGE(0x20000a, 0x20000b) AM_WRITENOP   /* irq ack? */
155146   AM_RANGE(0x20000c, 0x20000d) AM_WRITE(heberpop_coinctrl_w)
156147   AM_RANGE(0x20000e, 0x20000f) AM_WRITE(heberpop_sound_command_w)
157   AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_BASE(&shangha3_ram) AM_SIZE(&shangha3_ram_size)   /* gfx & work ram */
148   AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_BASE_SIZE_MEMBER(shangha3_state, ram, ram_size)   /* gfx & work ram */
158149   AM_RANGE(0x340000, 0x340001) AM_WRITE(shangha3_flipscreen_w)
159150   AM_RANGE(0x360000, 0x360001) AM_WRITE(shangha3_gfxlist_addr_w)
160151   AM_RANGE(0x800000, 0xb7ffff) AM_READ(heberpop_gfxrom_r)
r9191r9192
170161   AM_RANGE(0x10000c, 0x10000d) AM_WRITE(blocken_coinctrl_w)
171162   AM_RANGE(0x10000e, 0x10000f) AM_WRITE(heberpop_sound_command_w)
172163   AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
173   AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_BASE(&shangha3_ram) AM_SIZE(&shangha3_ram_size)   /* gfx & work ram */
164   AM_RANGE(0x300000, 0x30ffff) AM_RAM AM_BASE_SIZE_MEMBER(shangha3_state, ram, ram_size)   /* gfx & work ram */
174165   AM_RANGE(0x340000, 0x340001) AM_WRITE(shangha3_flipscreen_w)
175166   AM_RANGE(0x360000, 0x360001) AM_WRITE(shangha3_gfxlist_addr_w)
176167   AM_RANGE(0x800000, 0xb7ffff) AM_READ(heberpop_gfxrom_r)
r9191r9192
185176static ADDRESS_MAP_START( heberpop_sound_io_map, ADDRESS_SPACE_IO, 8 )
186177   ADDRESS_MAP_GLOBAL_MASK(0xff)
187178   AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymsnd", ym3438_r, ym3438_w)
188   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
179   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
189180   AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
190181ADDRESS_MAP_END
191182
r9191r9192
476467};
477468
478469
479static MACHINE_DRIVER_START( shangha3 )
470static MACHINE_CONFIG_START( shangha3, shangha3_state )
480471
481472   /* basic machine hardware */
482473   MDRV_CPU_ADD("maincpu", M68000, 8000000)
r9191r9192
508499
509500   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
510501   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
511MACHINE_DRIVER_END
502MACHINE_CONFIG_END
512503
513504
514static MACHINE_DRIVER_START( heberpop )
505static MACHINE_CONFIG_START( heberpop, shangha3_state )
515506
516507   /* basic machine hardware */
517508   MDRV_CPU_ADD("maincpu", M68000, 8000000)
r9191r9192
548539
549540   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
550541   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
551MACHINE_DRIVER_END
542MACHINE_CONFIG_END
552543
553544
554static MACHINE_DRIVER_START( blocken )
545static MACHINE_CONFIG_START( blocken, shangha3_state )
555546
556547   /* basic machine hardware */
557548   MDRV_CPU_ADD("maincpu", M68000, 8000000)
r9191r9192
588579
589580   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
590581   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
591MACHINE_DRIVER_END
582MACHINE_CONFIG_END
592583
593584
594585
r9191r9192
666657
667658static DRIVER_INIT( shangha3 )
668659{
669   shangha3_do_shadows = 1;
660   shangha3_state *state = machine->driver_data<shangha3_state>();
661
662   state->do_shadows = 1;
670663}
671664
672665static DRIVER_INIT( heberpop )
673666{
674   shangha3_do_shadows = 0;
667   shangha3_state *state = machine->driver_data<shangha3_state>();
668
669   state->do_shadows = 0;
675670}
676671
677672GAME( 1993, shangha3, 0, shangha3, shangha3, shangha3, ROT0, "Sunsoft", "Shanghai III (Japan)", 0 )
678673GAME( 1994, heberpop, 0, heberpop, heberpop, heberpop, ROT0, "Sunsoft / Atlus", "Hebereke no Popoon (Japan)", 0 )
679674GAME( 1994, blocken,  0, blocken,  blocken,  heberpop, ROT0, "KID / Visco", "Blocken (Japan)", 0 )
680
src/mame/drivers/vastar.c
r9191r9192
292292
293293
294294
295static MACHINE_DRIVER_START( vastar )
295static MACHINE_CONFIG_START( vastar, vastar_state )
296296
297   MDRV_DRIVER_DATA(vastar_state)
298
299297   /* basic machine hardware */
300298   MDRV_CPU_ADD("maincpu", Z80, 3072000)   /* 3.072 MHz ???? */
301299   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
332330   MDRV_SOUND_ADD("aysnd", AY8910, 1500000)
333331   MDRV_SOUND_CONFIG(ay8910_config)
334332   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
335MACHINE_DRIVER_END
333MACHINE_CONFIG_END
336334
337335
338336
src/mame/drivers/pkscram.c
r9191r9192
1414#include "emu.h"
1515#include "cpu/m68000/m68000.h"
1616#include "sound/2203intf.h"
17#include "machine/nvram.h"
1718
1819static int interrupt_scanline=192;
1920
r9191r9192
8283static ADDRESS_MAP_START( pkscramble_map, ADDRESS_SPACE_PROGRAM, 16 )
8384   ADDRESS_MAP_GLOBAL_MASK(0x7ffff)
8485   AM_RANGE(0x000000, 0x01ffff) AM_ROM
85   AM_RANGE(0x040000, 0x0400ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
86   AM_RANGE(0x040000, 0x0400ff) AM_RAM AM_SHARE("nvram")
8687   AM_RANGE(0x041000, 0x043fff) AM_RAM // main ram
8788   AM_RANGE(0x044000, 0x044fff) AM_RAM_WRITE(pkscramble_fgtilemap_w) AM_BASE(&pkscramble_fgtilemap_ram) // fg tilemap
8889   AM_RANGE(0x045000, 0x045fff) AM_RAM_WRITE(pkscramble_mdtilemap_w) AM_BASE(&pkscramble_mdtilemap_ram) // md tilemap (just a copy of fg?)
r9191r9192
272273   scanline_timer->adjust(machine->primary_screen->time_until_pos(interrupt_scanline), interrupt_scanline);
273274}
274275
275static MACHINE_DRIVER_START( pkscramble )
276static MACHINE_CONFIG_START( pkscramble, driver_device )
276277   /* basic machine hardware */
277278   MDRV_CPU_ADD("maincpu", M68000, 8000000 )
278279   MDRV_CPU_PROGRAM_MAP(pkscramble_map)
279280   //MDRV_CPU_VBLANK_INT("screen", irq1_line_hold) /* only valid irq */
280281
281   MDRV_NVRAM_HANDLER(generic_0fill)
282   MDRV_NVRAM_ADD_0FILL("nvram")
282283
283284   MDRV_MACHINE_START(pkscramble)
284285   MDRV_MACHINE_RESET(pkscramble)
r9191r9192
305306   MDRV_SOUND_ADD("ymsnd", YM2203, 12000000/4)
306307   MDRV_SOUND_CONFIG(ym2203_config)
307308   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
308MACHINE_DRIVER_END
309MACHINE_CONFIG_END
309310
310311
311312ROM_START( pkscram )
src/mame/drivers/39in1.c
r9191r9192
2727#include "machine/pxa255.h"
2828#include "sound/dmadac.h"
2929
30class _39in1_state : public driver_data_t
30class _39in1_state : public driver_device
3131{
3232public:
33   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _39in1_state(machine)); }
33   _39in1_state(running_machine &machine, const driver_device_config_base &config)
34      : driver_device(machine, config) { }
3435
35   _39in1_state(running_machine &machine)
36      : driver_data_t(machine) { }
37
3836   UINT32 seed;
3937   UINT32 magic;
4038   UINT32 state;
r9191r9192
15841582   pxa255_start(machine);
15851583}
15861584
1587static MACHINE_DRIVER_START( 39in1 )
1585static MACHINE_CONFIG_START( 39in1, _39in1_state )
15881586
1589   MDRV_DRIVER_DATA( _39in1_state )
1590
15911587   MDRV_CPU_ADD("maincpu", PXA255, 200000000)
15921588   MDRV_CPU_PROGRAM_MAP(39in1_map)
15931589   MDRV_CPU_VBLANK_INT("screen", pxa255_vblank_start)
r9191r9192
16131609   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
16141610   MDRV_SOUND_ADD("dac2", DMADAC, 0)
16151611   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
1616MACHINE_DRIVER_END
1612MACHINE_CONFIG_END
16171613
16181614ROM_START( 39in1 )
16191615   // main program, encrypted
src/mame/drivers/fortecar.c
r9191r9192
277277};
278278
279279//51f
280static MACHINE_DRIVER_START( fortecar )
280static MACHINE_CONFIG_START( fortecar, driver_device )
281281   /* basic machine hardware */
282282   MDRV_CPU_ADD("maincpu", Z80,6000000)       /* ? MHz */
283283   MDRV_CPU_PROGRAM_MAP(fortecar_map)
r9191r9192
313313   MDRV_SOUND_ADD("aysnd", AY8910, 1500000)
314314   MDRV_SOUND_CONFIG(ay8910_config)
315315   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
316MACHINE_DRIVER_END
316MACHINE_CONFIG_END
317317
318318ROM_START( fortecar )
319319   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/gunpey.c
r9191r9192
179179//  AM_RANGE(0x7f48, 0x7f48) AM_WRITE(output_w)
180180   AM_RANGE(0x7f80, 0x7f81) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0xffff)
181181
182   AM_RANGE(0x7f88, 0x7f89) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0xff00)
182   AM_RANGE(0x7f88, 0x7f89) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff00)
183183
184184   AM_RANGE(0x7fc8, 0x7fc9) AM_READWRITE8( gunpey_status_r,  gunpey_status_w, 0xffff )
185185   AM_RANGE(0x7fd0, 0x7fdf) AM_WRITE8( gunpey_blitter_w, 0xffff )
r9191r9192
313313}
314314
315315/***************************************************************************************/
316static MACHINE_DRIVER_START( gunpey )
316static MACHINE_CONFIG_START( gunpey, driver_device )
317317
318318   /* basic machine hardware */
319319   MDRV_CPU_ADD("maincpu", V30, 57242400 / 4)
r9191r9192
345345   MDRV_SOUND_CONFIG(ymz280b_intf)
346346   MDRV_SOUND_ROUTE(0, "lspeaker", 0.25)
347347   MDRV_SOUND_ROUTE(1, "rspeaker", 0.25)
348MACHINE_DRIVER_END
348MACHINE_CONFIG_END
349349
350350
351351/***************************************************************************************/
src/mame/drivers/cyclemb.c
r9191r9192
512512   GFXDECODE_ENTRY( "sprite_data_2", 0, spritelayout_32x32,    0x00, 0x40 )
513513GFXDECODE_END
514514
515static MACHINE_DRIVER_START( cyclemb )
515static MACHINE_CONFIG_START( cyclemb, driver_device )
516516   /* basic machine hardware */
517517   MDRV_CPU_ADD("maincpu",Z80,18000000/4)
518518   MDRV_CPU_PROGRAM_MAP(cyclemb_map)
r9191r9192
543543   MDRV_SPEAKER_STANDARD_MONO("mono")
544544   MDRV_SOUND_ADD("aysnd", AY8910, 18000000/16)
545545   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
546MACHINE_DRIVER_END
546MACHINE_CONFIG_END
547547
548548/***************************************************************************
549549
src/mame/drivers/baraduke.c
r9191r9192
108108#include "cpu/m6809/m6809.h"
109109#include "cpu/m6800/m6800.h"
110110#include "sound/namco.h"
111#include "includes/baraduke.h"
111112
112extern UINT8 *baraduke_textram, *baraduke_videoram, *baraduke_spriteram;
113
114/* from video/baraduke.c */
115VIDEO_START( baraduke );
116VIDEO_UPDATE( baraduke );
117VIDEO_EOF( baraduke );
118READ8_HANDLER( baraduke_videoram_r );
119WRITE8_HANDLER( baraduke_videoram_w );
120READ8_HANDLER( baraduke_textram_r );
121WRITE8_HANDLER( baraduke_textram_w );
122WRITE8_HANDLER( baraduke_scroll0_w );
123WRITE8_HANDLER( baraduke_scroll1_w );
124READ8_HANDLER( baraduke_spriteram_r );
125WRITE8_HANDLER( baraduke_spriteram_w );
126PALETTE_INIT( baraduke );
127
128113static int inputport_selected;
129114
130115static WRITE8_HANDLER( inputport_select_w )
r9191r9192
390375
391376
392377
393static MACHINE_DRIVER_START( baraduke )
378static MACHINE_CONFIG_START( baraduke, driver_device )
394379
395380   /* basic machine hardware */
396381   MDRV_CPU_ADD("maincpu", M6809,49152000/32)
r9191r9192
425410   MDRV_SOUND_ADD("namco", NAMCO_CUS30, 49152000/2048)
426411   MDRV_SOUND_CONFIG(namco_config)
427412   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
428MACHINE_DRIVER_END
413MACHINE_CONFIG_END
429414
430415
431416
src/mame/drivers/guab.c
r9191r9192
760760   memset(&fdc, 0, sizeof(fdc));
761761}
762762
763static MACHINE_DRIVER_START( guab )
763static MACHINE_CONFIG_START( guab, driver_device )
764764   /* TODO: Verify clock */
765765   MDRV_CPU_ADD("maincpu", M68000, 8000000)
766766   MDRV_CPU_PROGRAM_MAP(guab_map)
r9191r9192
789789
790790   /* 6840 PTM */
791791   MDRV_PTM6840_ADD("6840ptm", ptm_intf)
792MACHINE_DRIVER_END
792MACHINE_CONFIG_END
793793
794794
795795/*************************************
src/mame/drivers/bingor.c
r9191r9192
602602GFXDECODE_END
603603
604604
605static MACHINE_DRIVER_START( bingor )
605static MACHINE_CONFIG_START( bingor, driver_device )
606606   MDRV_CPU_ADD("maincpu", I80186, 14000000 ) //?? Mhz
607607   MDRV_CPU_PROGRAM_MAP(bingor_map)
608608   MDRV_CPU_IO_MAP(bingor_io)
r9191r9192
615615
616616
617617   MDRV_GFXDECODE(bingor)
618   //MDRV_NVRAM_HANDLER(generic_0fill)
618   //MDRV_NVRAM_ADD_0FILL("nvram")
619619
620620   MDRV_SCREEN_ADD("screen", RASTER)
621621   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
632632   MDRV_SPEAKER_STANDARD_MONO("mono")
633633   MDRV_SOUND_ADD("saa", SAA1099, 6000000 )
634634   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
635MACHINE_DRIVER_END
635MACHINE_CONFIG_END
636636
637637// I doubt we need to load the eeproms
638638
src/mame/drivers/mcr.c
r9191r9192
290290#include "machine/z80sio.h"
291291#include "audio/mcr.h"
292292#include "sound/samples.h"
293#include "machine/nvram.h"
293294#include "includes/mcr.h"
294295
295296
r9191r9192
617618static ADDRESS_MAP_START( cpu_90009_map, ADDRESS_SPACE_PROGRAM, 8 )
618619   ADDRESS_MAP_UNMAP_HIGH
619620   AM_RANGE(0x0000, 0x6fff) AM_ROM
620   AM_RANGE(0x7000, 0x77ff) AM_MIRROR(0x0800) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
621   AM_RANGE(0x7000, 0x77ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("nvram")
621622   AM_RANGE(0xf000, 0xf1ff) AM_MIRROR(0x0200) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
622623   AM_RANGE(0xf400, 0xf41f) AM_MIRROR(0x03e0) AM_WRITE(paletteram_xxxxRRRRBBBBGGGG_split1_w) AM_BASE_GENERIC(paletteram)
623624   AM_RANGE(0xf800, 0xf81f) AM_MIRROR(0x03e0) AM_WRITE(paletteram_xxxxRRRRBBBBGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
624   AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(mcr_90009_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
625   AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(mcr_90009_videoram_w) AM_BASE_MEMBER(mcr_state, videoram)
625626ADDRESS_MAP_END
626627
627628/* upper I/O map determined by PAL; only SSIO ports are verified from schematics */
r9191r9192
646647static ADDRESS_MAP_START( cpu_90010_map, ADDRESS_SPACE_PROGRAM, 8 )
647648   ADDRESS_MAP_UNMAP_HIGH
648649   AM_RANGE(0x0000, 0xbfff) AM_ROM
649   AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
650   AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_SHARE("nvram")
650651   AM_RANGE(0xe000, 0xe1ff) AM_MIRROR(0x1600) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
651   AM_RANGE(0xe800, 0xefff) AM_MIRROR(0x1000) AM_RAM_WRITE(mcr_90010_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
652   AM_RANGE(0xe800, 0xefff) AM_MIRROR(0x1000) AM_RAM_WRITE(mcr_90010_videoram_w) AM_BASE_MEMBER(mcr_state, videoram)
652653ADDRESS_MAP_END
653654
654655/* upper I/O map determined by PAL; only SSIO ports are verified from schematics */
r9191r9192
673674static ADDRESS_MAP_START( cpu_91490_map, ADDRESS_SPACE_PROGRAM, 8 )
674675   ADDRESS_MAP_UNMAP_HIGH
675676   AM_RANGE(0x0000, 0xdfff) AM_ROM
676   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
677   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
677678   AM_RANGE(0xe800, 0xe9ff) AM_MIRROR(0x0200) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
678   AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr_91490_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
679   AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr_91490_videoram_w) AM_BASE_MEMBER(mcr_state, videoram)
679680   AM_RANGE(0xf800, 0xf87f) AM_MIRROR(0x0780) AM_WRITE(mcr_91490_paletteram_w) AM_BASE_GENERIC(paletteram)
680681ADDRESS_MAP_END
681682
r9191r9192
15661567 *************************************/
15671568
15681569/* 90009 CPU board plus 90908/90913/91483 sound board */
1569static MACHINE_DRIVER_START( mcr_90009 )
1570static MACHINE_CONFIG_START( mcr_90009, mcr_state )
15701571
15711572   /* basic machine hardware */
15721573   MDRV_CPU_ADD("maincpu", Z80, MAIN_OSC_MCR_I/8)
r9191r9192
15801581   MDRV_WATCHDOG_VBLANK_INIT(16)
15811582   MDRV_MACHINE_START(mcr)
15821583   MDRV_MACHINE_RESET(mcr)
1583   MDRV_NVRAM_HANDLER(generic_1fill)
1584   MDRV_NVRAM_ADD_1FILL("nvram")
15841585
15851586   /* video hardware */
15861587   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
15991600   MDRV_VIDEO_UPDATE(mcr)
16001601
16011602   /* sound hardware */
1602   MDRV_IMPORT_FROM(mcr_ssio)
1603MACHINE_DRIVER_END
1603   MDRV_FRAGMENT_ADD(mcr_ssio)
1604MACHINE_CONFIG_END
16041605
16051606
16061607/* 90010 CPU board plus 90908/90913/91483 sound board */
1607static MACHINE_DRIVER_START( mcr_90010 )
1608   MDRV_IMPORT_FROM(mcr_90009)
1608static MACHINE_CONFIG_DERIVED( mcr_90010, mcr_90009 )
16091609
16101610   /* basic machine hardware */
16111611   MDRV_CPU_MODIFY("maincpu")
r9191r9192
16141614
16151615   /* video hardware */
16161616   MDRV_PALETTE_LENGTH(64)
1617MACHINE_DRIVER_END
1617MACHINE_CONFIG_END
16181618
16191619
16201620/* 91475 CPU board plus 90908/90913/91483 sound board plus cassette interface */
1621static MACHINE_DRIVER_START( mcr_91475 )
1622   MDRV_IMPORT_FROM(mcr_90010)
1621static MACHINE_CONFIG_DERIVED( mcr_91475, mcr_90010 )
16231622
16241623   /* video hardware */
16251624   MDRV_PALETTE_LENGTH(128)
r9191r9192
16291628   MDRV_SOUND_CONFIG(journey_samples_interface)
16301629   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25)
16311630   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25)
1632MACHINE_DRIVER_END
1631MACHINE_CONFIG_END
16331632
16341633
16351634/* 91490 CPU board plus 90908/90913/91483 sound board */
1636static MACHINE_DRIVER_START( mcr_91490 )
1637   MDRV_IMPORT_FROM(mcr_90010)
1635static MACHINE_CONFIG_DERIVED( mcr_91490, mcr_90010 )
16381636
16391637   /* basic machine hardware */
16401638   MDRV_CPU_MODIFY("maincpu")
r9191r9192
16441642
16451643   MDRV_DEVICE_MODIFY("ctc")
16461644   MDRV_DEVICE_CLOCK(5000000 /* same as "maincpu" */)
1647MACHINE_DRIVER_END
1645MACHINE_CONFIG_END
16481646
16491647
16501648/* 91490 CPU board plus 90908/90913/91483 sound board plus Squawk n' Talk sound board */
1651static MACHINE_DRIVER_START( mcr_91490_snt )
1649static MACHINE_CONFIG_DERIVED( mcr_91490_snt, mcr_91490 )
16521650
16531651   /* basic machine hardware */
1654   MDRV_IMPORT_FROM(mcr_91490)
1655   MDRV_IMPORT_FROM(squawk_n_talk)
1656MACHINE_DRIVER_END
1652   MDRV_FRAGMENT_ADD(squawk_n_talk)
1653MACHINE_CONFIG_END
16571654
16581655
16591656/* 91490 CPU board plus 90908/90913/91483 sound board plus Squawk n' Talk sound board plus IPU */
1660static MACHINE_DRIVER_START( mcr_91490_ipu )
1657static MACHINE_CONFIG_DERIVED( mcr_91490_ipu, mcr_91490_snt )
16611658
16621659   /* basic machine hardware */
1663   MDRV_IMPORT_FROM(mcr_91490_snt)
16641660   MDRV_MACHINE_START(nflfoot)
16651661
16661662   MDRV_CPU_ADD("ipu", Z80, 7372800/2)
r9191r9192
16731669   MDRV_Z80PIO_ADD("ipu_pio0", 7372800/2, nflfoot_pio_intf)
16741670   MDRV_Z80PIO_ADD("ipu_pio1", 7372800/2, nflfoot_pio_intf)
16751671   MDRV_Z80SIO_ADD("ipu_sio", 7372800/2 /* same as "ipu" */, nflfoot_sio_intf)
1676MACHINE_DRIVER_END
1672MACHINE_CONFIG_END
16771673
16781674
16791675/* 91490 CPU board plus 90908/90913/91483 sound board plus Turbo Chip Squeak sound board */
1680static MACHINE_DRIVER_START( mcr_91490_tcs )
1676static MACHINE_CONFIG_DERIVED( mcr_91490_tcs, mcr_91490 )
16811677
16821678   /* basic machine hardware */
1683   MDRV_IMPORT_FROM(mcr_91490)
1684   MDRV_IMPORT_FROM(turbo_chip_squeak)
1685MACHINE_DRIVER_END
1679   MDRV_FRAGMENT_ADD(turbo_chip_squeak)
1680MACHINE_CONFIG_END
16861681
16871682
16881683
src/mame/drivers/beaminv.c
r9191r9192
5555#include "cpu/z80/z80.h"
5656
5757
58class beaminv_state : public driver_data_t
58class beaminv_state : public driver_device
5959{
6060public:
61   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, beaminv_state(machine)); }
61   beaminv_state(running_machine &machine, const driver_device_config_base &config)
62      : driver_device(machine, config) { }
6263
63   beaminv_state(running_machine &machine)
64      : driver_data_t(machine) { }
65
6664   /* memory pointers */
6765   UINT8 *    videoram;
6866   size_t     videoram_size;
r9191r9192
329327 *
330328 *************************************/
331329
332static MACHINE_DRIVER_START( beaminv )
330static MACHINE_CONFIG_START( beaminv, beaminv_state )
333331
334   /* driver data */
335   MDRV_DRIVER_DATA(beaminv_state)
336
337332   /* basic machine hardware */
338333   MDRV_CPU_ADD("maincpu", Z80, 2000000)   /* 2 MHz ? */
339334   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
351346   MDRV_SCREEN_VISIBLE_AREA(0, 247, 16, 231)
352347   MDRV_SCREEN_REFRESH_RATE(60)
353348
354MACHINE_DRIVER_END
349MACHINE_CONFIG_END
355350
356351
357352
src/mame/drivers/matmania.c
r9191r9192
308308   state->mcu = machine->device("mcu");
309309}
310310
311static MACHINE_DRIVER_START( matmania )
311static MACHINE_CONFIG_START( matmania, matmania_state )
312312
313   /* driver data */
314   MDRV_DRIVER_DATA(matmania_state)
315
316313   /* basic machine hardware */
317314   MDRV_CPU_ADD("maincpu", M6502, 1500000)   /* 1.5 MHz ???? */
318315   MDRV_CPU_PROGRAM_MAP(matmania_map)
r9191r9192
352349
353350   MDRV_SOUND_ADD("dac", DAC, 0)
354351   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
355MACHINE_DRIVER_END
352MACHINE_CONFIG_END
356353
357354
358355
r9191r9192
409406   state->from_mcu = 0;
410407}
411408
412static MACHINE_DRIVER_START( maniach )
409static MACHINE_CONFIG_START( maniach, matmania_state )
413410
414   /* driver data */
415   MDRV_DRIVER_DATA(matmania_state)
416
417411   /* basic machine hardware */
418412   MDRV_CPU_ADD("maincpu", M6502, 1500000)   /* 1.5 MHz ???? */
419413   MDRV_CPU_PROGRAM_MAP(maniach_map)
r9191r9192
455449
456450   MDRV_SOUND_ADD("dac", DAC, 0)
457451   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
458MACHINE_DRIVER_END
452MACHINE_CONFIG_END
459453
460454/*************************************
461455 *
src/mame/drivers/clshroad.c
r9191r9192
2020#include "emu.h"
2121#include "cpu/z80/z80.h"
2222#include "includes/wiping.h"
23#include "includes/clshroad.h"
2324
24/* Variables & functions defined in video: */
25
26extern UINT8 *clshroad_vram_0, *clshroad_vram_1;
27extern UINT8 *clshroad_vregs;
28
29WRITE8_HANDLER( clshroad_vram_0_w );
30WRITE8_HANDLER( clshroad_vram_1_w );
31WRITE8_HANDLER( clshroad_flipscreen_w );
32
33PALETTE_INIT( firebatl );
34PALETTE_INIT( clshroad );
35VIDEO_START( firebatl );
36VIDEO_START( clshroad );
37VIDEO_UPDATE( clshroad );
38
39extern UINT8 *wiping_soundregs;
40
41DEVICE_GET_INFO( wiping_sound );
42
43WRITE8_HANDLER( wiping_sound_w );
44
45
46
4725static MACHINE_RESET( clshroad )
4826{
4927   flip_screen_set(machine, 0);
r9191r9192
248226
249227
250228
251static MACHINE_DRIVER_START( firebatl )
229static MACHINE_CONFIG_START( firebatl, driver_device )
252230
253231   /* basic machine hardware */
254232   MDRV_CPU_ADD("maincpu", Z80, 3000000)   /* ? */
r9191r9192
281259
282260   MDRV_SOUND_ADD("custom", WIPING, 0)
283261   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
284MACHINE_DRIVER_END
262MACHINE_CONFIG_END
285263
286static MACHINE_DRIVER_START( clshroad )
264static MACHINE_CONFIG_START( clshroad, driver_device )
287265
288266   /* basic machine hardware */
289267   MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/4)   /* ? real speed unknown. 3MHz is too low and causes problems */
r9191r9192
316294
317295   MDRV_SOUND_ADD("custom", WIPING, 0)
318296   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
319MACHINE_DRIVER_END
297MACHINE_CONFIG_END
320298
321299
322300
src/mame/drivers/dcheese.c
r9191r9192
405405 *
406406 *************************************/
407407
408static MACHINE_DRIVER_START( dcheese )
408static MACHINE_CONFIG_START( dcheese, dcheese_state )
409409
410   /* driver data */
411   MDRV_DRIVER_DATA(dcheese_state)
412
413410   /* basic machine hardware */
414411   MDRV_CPU_ADD("maincpu", M68000, MAIN_OSC)
415412   MDRV_CPU_PROGRAM_MAP(main_cpu_map)
r9191r9192
443440   MDRV_SOUND_ADD("bsmt", BSMT2000, SOUND_OSC)
444441   MDRV_SOUND_ROUTE(0, "lspeaker", 1.2)
445442   MDRV_SOUND_ROUTE(1, "rspeaker", 1.2)
446MACHINE_DRIVER_END
443MACHINE_CONFIG_END
447444
448445
449static MACHINE_DRIVER_START( fredmem )
450   MDRV_IMPORT_FROM(dcheese)
446static MACHINE_CONFIG_DERIVED( fredmem, dcheese )
451447   MDRV_SCREEN_MODIFY("screen")
452448   MDRV_SCREEN_VISIBLE_AREA(0, 359, 0, 239)
453MACHINE_DRIVER_END
449MACHINE_CONFIG_END
454450
455451
456452
src/mame/drivers/chqflag.c
r9191r9192
385385   state->wheel = 0;
386386}
387387
388static MACHINE_DRIVER_START( chqflag )
388static MACHINE_CONFIG_START( chqflag, chqflag_state )
389389
390   /* driver data */
391   MDRV_DRIVER_DATA(chqflag_state)
392
393390   /* basic machine hardware */
394391   MDRV_CPU_ADD("maincpu", KONAMI,XTAL_24MHz/8)   /* 052001 (verified on pcb) */
395392   MDRV_CPU_PROGRAM_MAP(chqflag_map)
r9191r9192
442439   MDRV_SOUND_CONFIG(k007232_interface_2)
443440   MDRV_SOUND_ROUTE(0, "lspeaker", 0.20)
444441   MDRV_SOUND_ROUTE(1, "rspeaker", 0.20)
445MACHINE_DRIVER_END
442MACHINE_CONFIG_END
446443
447444ROM_START( chqflag )
448445   ROM_REGION( 0x58000, "maincpu", 0 )   /* 052001 code */
src/mame/drivers/sengokmj.c
r9191r9192
5656#include "audio/seibu.h"
5757#include "sound/3812intf.h"
5858#include "includes/sei_crtc.h"
59#include "machine/nvram.h"
5960
60extern UINT16 *seibucrtc_sc0vram,*seibucrtc_sc1vram,*seibucrtc_sc2vram,*seibucrtc_sc3vram;
61extern UINT16 *seibucrtc_vregs;
62
6361static UINT16 sengokumj_mux_data;
6462static UINT8 hopper_io;
6563
r9191r9192
104102
105103static ADDRESS_MAP_START( sengokmj_map, ADDRESS_SPACE_PROGRAM, 16 )
106104   AM_RANGE(0x00000, 0x07fff) AM_RAM
107   AM_RANGE(0x08000, 0x09fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
105   AM_RANGE(0x08000, 0x09fff) AM_RAM AM_SHARE("nvram")
108106   AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(seibucrtc_sc0vram_w) AM_BASE(&seibucrtc_sc0vram)
109107   AM_RANGE(0x0c800, 0x0cfff) AM_RAM_WRITE(seibucrtc_sc1vram_w) AM_BASE(&seibucrtc_sc1vram)
110108   AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(seibucrtc_sc2vram_w) AM_BASE(&seibucrtc_sc2vram)
r9191r9192
278276   cpu_set_input_line_and_vector(device,0,HOLD_LINE,0xc8/4);
279277}
280278
281static MACHINE_DRIVER_START( sengokmj )
279static MACHINE_CONFIG_START( sengokmj, driver_device )
282280
283281   /* basic machine hardware */
284282   MDRV_CPU_ADD("maincpu", V30, 16000000/2) /* V30-8 */
r9191r9192
289287   SEIBU_SOUND_SYSTEM_CPU(14318180/4)
290288
291289   MDRV_MACHINE_RESET(seibu_sound)
292   MDRV_NVRAM_HANDLER(generic_0fill)
290   MDRV_NVRAM_ADD_0FILL("nvram")
293291
294292   /* video hardware */
295293   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
307305
308306   /* sound hardware */
309307   SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4,1320000)
310MACHINE_DRIVER_END
308MACHINE_CONFIG_END
311309
312310
313311ROM_START( sengokmj )
src/mame/drivers/lsasquad.c
r9191r9192
616616}
617617
618618/* Note: lsasquad clock values are not verified */
619static MACHINE_DRIVER_START( lsasquad )
619static MACHINE_CONFIG_START( lsasquad, lsasquad_state )
620620
621   /* driver data */
622   MDRV_DRIVER_DATA(lsasquad_state)
623
624621   /* basic machine hardware */
625622   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK / 4)
626623   MDRV_CPU_PROGRAM_MAP(lsasquad_map)
r9191r9192
665662   MDRV_SOUND_ROUTE(1, "mono", 0.12)
666663   MDRV_SOUND_ROUTE(2, "mono", 0.12)
667664   MDRV_SOUND_ROUTE(3, "mono", 0.63)
668MACHINE_DRIVER_END
665MACHINE_CONFIG_END
669666
670static MACHINE_DRIVER_START( storming )
671   MDRV_IMPORT_FROM( lsasquad )
667static MACHINE_CONFIG_DERIVED( storming, lsasquad )
672668
673669   MDRV_CPU_MODIFY("maincpu")
674670   MDRV_CPU_PROGRAM_MAP(storming_map)
675671
676672   MDRV_DEVICE_REMOVE("mcu")
677MACHINE_DRIVER_END
673MACHINE_CONFIG_END
678674
679static MACHINE_DRIVER_START( daikaiju )
675static MACHINE_CONFIG_START( daikaiju, lsasquad_state )
680676
681   /* driver data */
682   MDRV_DRIVER_DATA(lsasquad_state)
683
684677   /* basic machine hardware */
685678   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK / 4)
686679   MDRV_CPU_PROGRAM_MAP(daikaiju_map)
r9191r9192
726719   MDRV_SOUND_ROUTE(1, "mono", 0.12)
727720   MDRV_SOUND_ROUTE(2, "mono", 0.12)
728721   MDRV_SOUND_ROUTE(3, "mono", 0.63)
729MACHINE_DRIVER_END
722MACHINE_CONFIG_END
730723
731724
732725/***************************************************************************
src/mame/drivers/cham24.c
r9191r9192
309309   /* none, the ppu generates one */
310310GFXDECODE_END
311311
312static MACHINE_DRIVER_START( cham24 )
312static MACHINE_CONFIG_START( cham24, driver_device )
313313   /* basic machine hardware */
314314   MDRV_CPU_ADD("maincpu", N2A03, N2A03_DEFAULTCLOCK)
315315   MDRV_CPU_PROGRAM_MAP(cham24_map)
r9191r9192
342342
343343   MDRV_SOUND_ADD("dac", DAC, 0)
344344   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
345MACHINE_DRIVER_END
345MACHINE_CONFIG_END
346346
347347ROM_START( cham24 )
348348   ROM_REGION(0x10000, "maincpu", ROMREGION_ERASE00)
src/mame/drivers/dooyong.c
r9191r9192
271271   AM_RANGE(0xf000, 0xf7ff) AM_RAM
272272   AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
273273   AM_RANGE(0xf808, 0xf809) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
274   AM_RANGE(0xf80a, 0xf80a) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
274   AM_RANGE(0xf80a, 0xf80a) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
275275ADDRESS_MAP_END
276276
277277/***************************************************************************
r9191r9192
440440   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
441441   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
442442   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
443   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
444   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START1 )
445   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN2 )
446   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
447   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE1 )
448   PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
449   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
450   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
443
444/*
445    PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
446    PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START1 )
447    PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_COIN2 )
448    PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_START2 )
449    PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_SERVICE1 )
450    PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
451    PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
452    PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
453*/
454
451455INPUT_PORTS_END
452456
453457/***************************************************************************
r9191r9192
773777***************************************************************************/
774778
775779
776static MACHINE_DRIVER_START( sound_2203 )
780static MACHINE_CONFIG_FRAGMENT( sound_2203 )
777781   MDRV_SPEAKER_STANDARD_MONO("mono")
778782
779783   MDRV_SOUND_ADD("ym1", YM2203, 4000000)
r9191r9192
783787   MDRV_SOUND_ADD("ym2", YM2203, 4000000)
784788   MDRV_SOUND_CONFIG(ym2203_interface_2)
785789   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
786MACHINE_DRIVER_END
790MACHINE_CONFIG_END
787791
788static MACHINE_DRIVER_START( sound_2151 )
792static MACHINE_CONFIG_FRAGMENT( sound_2151 )
789793   MDRV_SPEAKER_STANDARD_MONO("mono")
790794
791795   MDRV_SOUND_ADD("ymsnd", YM2151, 3579545)
r9191r9192
795799
796800   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
797801   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
798MACHINE_DRIVER_END
802MACHINE_CONFIG_END
799803
800static MACHINE_DRIVER_START( sound_2151_m68k )
804static MACHINE_CONFIG_FRAGMENT( sound_2151_m68k )
801805   MDRV_SPEAKER_STANDARD_MONO("mono")
802806
803807   MDRV_SOUND_ADD("ymsnd", YM2151, 4000000)
r9191r9192
807811
808812   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
809813   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
810MACHINE_DRIVER_END
814MACHINE_CONFIG_END
811815
812static MACHINE_DRIVER_START( lastday )
816static MACHINE_CONFIG_START( lastday, driver_device )
813817
814818   /* basic machine hardware */
815819   MDRV_CPU_ADD("maincpu", Z80, 8000000)   /* ??? */
r9191r9192
839843   MDRV_VIDEO_UPDATE(lastday)
840844
841845   /* sound hardware */
842   MDRV_IMPORT_FROM( sound_2203 )
843MACHINE_DRIVER_END
846   MDRV_FRAGMENT_ADD( sound_2203 )
847MACHINE_CONFIG_END
844848
845static MACHINE_DRIVER_START( gulfstrm )
849static MACHINE_CONFIG_START( gulfstrm, driver_device )
846850
847851   /* basic machine hardware */
848852   MDRV_CPU_ADD("maincpu", Z80, 8000000)   /* ??? */
r9191r9192
872876   MDRV_VIDEO_UPDATE(gulfstrm)
873877
874878   /* sound hardware */
875   MDRV_IMPORT_FROM( sound_2203 )
876MACHINE_DRIVER_END
879   MDRV_FRAGMENT_ADD( sound_2203 )
880MACHINE_CONFIG_END
877881
878static MACHINE_DRIVER_START( pollux )
882static MACHINE_CONFIG_START( pollux, driver_device )
879883
880884   /* basic machine hardware */
881885   MDRV_CPU_ADD("maincpu", Z80, 8000000)   /* ??? */
r9191r9192
905909   MDRV_VIDEO_UPDATE(pollux)
906910
907911   /* sound hardware */
908   MDRV_IMPORT_FROM( sound_2203 )
909MACHINE_DRIVER_END
912   MDRV_FRAGMENT_ADD( sound_2203 )
913MACHINE_CONFIG_END
910914
911static MACHINE_DRIVER_START( bluehawk )
915static MACHINE_CONFIG_START( bluehawk, driver_device )
912916
913917   /* basic machine hardware */
914918   MDRV_CPU_ADD("maincpu", Z80, 8000000)   /* ??? */
r9191r9192
938942   MDRV_VIDEO_UPDATE(bluehawk)
939943
940944   /* sound hardware */
941   MDRV_IMPORT_FROM( sound_2151 )
942MACHINE_DRIVER_END
945   MDRV_FRAGMENT_ADD( sound_2151 )
946MACHINE_CONFIG_END
943947
944static MACHINE_DRIVER_START( flytiger )
948static MACHINE_CONFIG_START( flytiger, driver_device )
945949
946950   /* basic machine hardware */
947951   MDRV_CPU_ADD("maincpu", Z80, 8000000)   /* ??? */
r9191r9192
971975   MDRV_VIDEO_UPDATE(flytiger)
972976
973977   /* sound hardware */
974   MDRV_IMPORT_FROM( sound_2151 )
975MACHINE_DRIVER_END
978   MDRV_FRAGMENT_ADD( sound_2151 )
979MACHINE_CONFIG_END
976980
977static MACHINE_DRIVER_START( primella )
981static MACHINE_CONFIG_START( primella, driver_device )
978982
979983   /* basic machine hardware */
980984   MDRV_CPU_ADD("maincpu", Z80, 8000000)   /* ??? */
r9191r9192
10021006   MDRV_VIDEO_UPDATE(primella)
10031007
10041008   /* sound hardware */
1005   MDRV_IMPORT_FROM( sound_2151 )
1006MACHINE_DRIVER_END
1009   MDRV_FRAGMENT_ADD( sound_2151 )
1010MACHINE_CONFIG_END
10071011
10081012static INTERRUPT_GEN( rshark_interrupt )
10091013{
r9191r9192
10131017      cpu_set_input_line(device, 6, HOLD_LINE);
10141018}
10151019
1016static MACHINE_DRIVER_START( rshark )
1020static MACHINE_CONFIG_START( rshark, driver_device )
10171021
10181022   /* basic machine hardware */
10191023   MDRV_CPU_ADD("maincpu", M68000, 8000000)   /* measured on super-x */
r9191r9192
10411045   MDRV_VIDEO_UPDATE(rshark)
10421046
10431047   /* sound hardware */
1044   MDRV_IMPORT_FROM( sound_2151_m68k )
1045MACHINE_DRIVER_END
1048   MDRV_FRAGMENT_ADD( sound_2151_m68k )
1049MACHINE_CONFIG_END
10461050
1047static MACHINE_DRIVER_START( superx ) // dif mem map
1051static MACHINE_CONFIG_START( superx, driver_device ) // dif mem map
10481052
10491053   /* basic machine hardware */
10501054   MDRV_CPU_ADD("maincpu", M68000, 8000000)   /* measured on super-x */
r9191r9192
10721076   MDRV_VIDEO_UPDATE(rshark)
10731077
10741078   /* sound hardware */
1075   MDRV_IMPORT_FROM( sound_2151_m68k )
1076MACHINE_DRIVER_END
1079   MDRV_FRAGMENT_ADD( sound_2151_m68k )
1080MACHINE_CONFIG_END
10771081
1078static MACHINE_DRIVER_START( popbingo )
1082static MACHINE_CONFIG_START( popbingo, driver_device )
10791083
10801084   /* basic machine hardware */
10811085   MDRV_CPU_ADD("maincpu", M68000, 10000000)
r9191r9192
11031107   MDRV_VIDEO_UPDATE(popbingo)
11041108
11051109   /* sound hardware */
1106   MDRV_IMPORT_FROM( sound_2151_m68k )
1107MACHINE_DRIVER_END
1110   MDRV_FRAGMENT_ADD( sound_2151_m68k )
1111MACHINE_CONFIG_END
11081112
11091113/***************************************************************************
11101114
src/mame/drivers/brkthru.c
r9191r9192
384384   state->flipscreen = 0;
385385}
386386
387static MACHINE_DRIVER_START( brkthru )
387static MACHINE_CONFIG_START( brkthru, brkthru_state )
388388
389   /* driver data */
390   MDRV_DRIVER_DATA(brkthru_state)
391
392389   /* basic machine hardware */
393390   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/8)        /* 1.5 MHz ? */
394391   MDRV_CPU_PROGRAM_MAP(brkthru_map)
r9191r9192
425422   MDRV_SOUND_ADD("ym2", YM3526, MASTER_CLOCK/4)
426423   MDRV_SOUND_CONFIG(ym3526_config)
427424   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
428MACHINE_DRIVER_END
425MACHINE_CONFIG_END
429426
430427
431static MACHINE_DRIVER_START( darwin )
428static MACHINE_CONFIG_START( darwin, brkthru_state )
432429
433   /* driver data */
434   MDRV_DRIVER_DATA(brkthru_state)
435
436430   /* basic machine hardware */
437431   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/8)        /* 1.5 MHz ? */
438432   MDRV_CPU_PROGRAM_MAP(darwin_map)
r9191r9192
480474   MDRV_SOUND_ADD("ym2", YM3526, MASTER_CLOCK/4)
481475   MDRV_SOUND_CONFIG(ym3526_config)
482476   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
483MACHINE_DRIVER_END
477MACHINE_CONFIG_END
484478
485479
486480
src/mame/drivers/rbmk.c
r9191r9192
512512   cputag_set_input_line(device->machine, "mcu", INPUT_LINE_NMI, PULSE_LINE);
513513}
514514
515static MACHINE_DRIVER_START( rbmk )
515static MACHINE_CONFIG_START( rbmk, driver_device )
516516   MDRV_CPU_ADD("maincpu", M68000, 22000000 /2)
517517   MDRV_CPU_PROGRAM_MAP(rbmk_mem)
518518   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
r9191r9192
550550//  MDRV_SOUND_CONFIG(ym2151_config)
551551   MDRV_SOUND_ROUTE(0, "lspeaker", 0.60)
552552   MDRV_SOUND_ROUTE(1, "rspeaker", 0.60)
553MACHINE_DRIVER_END
553MACHINE_CONFIG_END
554554
555555ROM_START( rbmk )
556556   ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 Code */
src/mame/drivers/tourtabl.c
r9191r9192
165165INPUT_PORTS_END
166166
167167
168static MACHINE_DRIVER_START( tourtabl )
168static MACHINE_CONFIG_START( tourtabl, driver_device )
169169   /* basic machine hardware */
170170   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 3)   /* actually M6507 */
171171   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
191191
192192   MDRV_SOUND_ADD("tia", TIA, MASTER_CLOCK/114)
193193   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
194MACHINE_DRIVER_END
194MACHINE_CONFIG_END
195195
196196
197197ROM_START( tourtabl )
src/mame/drivers/thepit.c
r9191r9192
117117#include "emu.h"
118118#include "cpu/z80/z80.h"
119119#include "sound/ay8910.h"
120#include "includes/thepit.h"
120121
121122
122123#define MASTER_CLOCK      (18432000)
r9191r9192
134135#define VBSTART            (224+16)
135136
136137
137
138
139extern UINT8 *thepit_videoram;
140extern UINT8 *thepit_colorram;
141extern UINT8 *thepit_attributesram;
142extern UINT8 *thepit_spriteram;
143extern size_t thepit_spriteram_size;
144
145PALETTE_INIT( thepit );
146PALETTE_INIT( suprmous );
147VIDEO_START( thepit );
148VIDEO_UPDATE( thepit );
149WRITE8_HANDLER( thepit_videoram_w );
150WRITE8_HANDLER( thepit_colorram_w );
151WRITE8_HANDLER( thepit_flip_screen_x_w );
152WRITE8_HANDLER( thepit_flip_screen_y_w );
153READ8_HANDLER( thepit_input_port_0_r );
154WRITE8_HANDLER( intrepid_graphics_bank_w );
155
156138static READ8_HANDLER( thepit_colorram_r )
157139{
158140   return thepit_colorram[offset];
r9191r9192
648630};
649631
650632
651static MACHINE_DRIVER_START( thepit )
633static MACHINE_CONFIG_START( thepit, driver_device )
652634
653635   /* basic machine hardware */
654636   MDRV_CPU_ADD("maincpu", Z80, PIXEL_CLOCK/2)     /* 3.072 MHz */
r9191r9192
681663
682664   MDRV_SOUND_ADD("ay2", AY8910, PIXEL_CLOCK/4)
683665   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
684MACHINE_DRIVER_END
666MACHINE_CONFIG_END
685667
686668
687static MACHINE_DRIVER_START( intrepid )
669static MACHINE_CONFIG_DERIVED( intrepid, thepit )
688670
689671   /* basic machine hardware */
690   MDRV_IMPORT_FROM(thepit)
691672   MDRV_CPU_MODIFY("maincpu")
692673   MDRV_CPU_PROGRAM_MAP(intrepid_main_map)
693674
694675   /* video hardware */
695676   MDRV_GFXDECODE(intrepid)
696MACHINE_DRIVER_END
677MACHINE_CONFIG_END
697678
698679
699static MACHINE_DRIVER_START( suprmous )
680static MACHINE_CONFIG_DERIVED( suprmous, intrepid )
700681
701682   /* basic machine hardware */
702   MDRV_IMPORT_FROM(intrepid)
703683
704684   /* video hardware */
705685   MDRV_PALETTE_INIT(suprmous)
706686   MDRV_GFXDECODE(suprmous)
707MACHINE_DRIVER_END
687MACHINE_CONFIG_END
708688
709689
710690
src/mame/drivers/trvmadns.c
r9191r9192
322322   old_data = -1;
323323}
324324
325static MACHINE_DRIVER_START( trvmadns )
325static MACHINE_CONFIG_START( trvmadns, driver_device )
326326   MDRV_CPU_ADD("maincpu", Z80,10000000/2) // ?
327327   MDRV_CPU_PROGRAM_MAP(cpu_map)
328328   MDRV_CPU_IO_MAP(io_map)
r9191r9192
349349
350350   MDRV_SOUND_ADD("aysnd", AY8910, 10000000/2/4) //?
351351   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
352MACHINE_DRIVER_END
352MACHINE_CONFIG_END
353353
354354
355355ROM_START( trvmadns )
src/mame/drivers/cloud9.c
r9191r9192
106106
107107/*************************************
108108 *
109 *  Globals
110 *
111 *************************************/
112
113static UINT8 *nvram_stage;
114
115
116/*************************************
117 *
118109 *  VBLANK and IRQ generation
119110 *
120111 *************************************/
r9191r9192
200191   state->irq_state = 0;
201192   schedule_next_irq(machine, 0-64);
202193
203   /* allocate backing memory for the NVRAM */
204   machine->generic.nvram.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram_size);
205
206194   /* setup for save states */
207195   state_save_register_global(machine, state->irq_state);
208   state_save_register_global_pointer(machine, machine->generic.nvram.u8, machine->generic.nvram_size);
196   state_save_register_global_array(machine, state->nvram);
209197}
210198
211199
r9191r9192
262250
263251static NVRAM_HANDLER( cloud9 )
264252{
253   cloud9_state *state = machine->driver_data<cloud9_state>();
265254   if (read_or_write)
266255   {
267256      /* on power down, the EAROM is implicitly stored */
268      memcpy(machine->generic.nvram.v, nvram_stage, machine->generic.nvram_size);
269      mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
257      memcpy(state->nvram, state->nvram_stage, sizeof(state->nvram));
258      mame_fwrite(file, state->nvram, sizeof(state->nvram));
270259   }
271260   else if (file)
272      mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
261      mame_fread(file, state->nvram, sizeof(state->nvram));
273262   else
274      memset(machine->generic.nvram.v, 0, machine->generic.nvram_size);
263      memset(state->nvram, 0, sizeof(state->nvram));
275264}
276265
277266
278267static WRITE8_HANDLER( nvram_recall_w )
279268{
280   memcpy(nvram_stage, space->machine->generic.nvram.v, space->machine->generic.nvram_size);
269   cloud9_state *state = space->machine->driver_data<cloud9_state>();
270   memcpy(state->nvram_stage, state->nvram, sizeof(state->nvram));
281271}
282272
283273
284274static WRITE8_HANDLER( nvram_store_w )
285275{
286   memcpy(space->machine->generic.nvram.v, nvram_stage, space->machine->generic.nvram_size);
276   cloud9_state *state = space->machine->driver_data<cloud9_state>();
277   memcpy(state->nvram, state->nvram_stage, sizeof(state->nvram));
287278}
288279
289280
290281static READ8_HANDLER( nvram_r )
291282{
292283   /* only a single XD2212 for 4 bits of NVRAM */
293   return nvram_stage[offset] | 0xf0;
284   cloud9_state *state = space->machine->driver_data<cloud9_state>();
285   return state->nvram_stage[offset] | 0xf0;
294286}
295287
296288
r9191r9192
319311   AM_RANGE(0x5900, 0x5903) AM_MIRROR(0x007c) AM_READ(leta_r)
320312   AM_RANGE(0x5a00, 0x5a0f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w)
321313   AM_RANGE(0x5b00, 0x5b0f) AM_MIRROR(0x00f0) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)
322   AM_RANGE(0x5c00, 0x5cff) AM_MIRROR(0x0300) AM_RAM_READ(nvram_r) AM_BASE(&nvram_stage) AM_SIZE_GENERIC(nvram)
314   AM_RANGE(0x5c00, 0x5cff) AM_MIRROR(0x0300) AM_RAM_READ(nvram_r) AM_SHARE("nvram")
323315   AM_RANGE(0x6000, 0xffff) AM_ROM
324316ADDRESS_MAP_END
325317
r9191r9192
456448 *
457449 *************************************/
458450
459static MACHINE_DRIVER_START( cloud9 )
451static MACHINE_CONFIG_START( cloud9, cloud9_state )
460452
461   /* driver data */
462   MDRV_DRIVER_DATA(cloud9_state)
463
464453   /* basic machine hardware */
465454   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
466455   MDRV_CPU_PROGRAM_MAP(cloud9_map)
r9191r9192
493482   MDRV_SOUND_ADD("pokey2", POKEY, MASTER_CLOCK/8)
494483   MDRV_SOUND_CONFIG(pokey_config)
495484   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
496MACHINE_DRIVER_END
485MACHINE_CONFIG_END
497486
498487
499488
src/mame/drivers/rpunch.c
r9191r9192
110110#include "cpu/m6809/m6809.h"
111111#include "sound/2151intf.h"
112112#include "sound/upd7759.h"
113#include "includes/rpunch.h"
113114
114115
115
116116#define MASTER_CLOCK      16000000
117117
118118
119/* video driver data & functions */
120VIDEO_START( rpunch );
121VIDEO_UPDATE( rpunch );
122
123extern UINT16 *rpunch_bitmapram;
124extern size_t rpunch_bitmapram_size;
125extern int rpunch_sprite_palette;
126
127119static UINT8 sound_data;
128120static UINT8 sound_busy;
129121static UINT8 ym2151_irq;
130122static UINT8 upd_rom_bank;
131123
132WRITE16_HANDLER( rpunch_videoram_w );
133WRITE16_HANDLER( rpunch_videoreg_w );
134WRITE16_HANDLER( rpunch_scrollreg_w );
135WRITE16_HANDLER( rpunch_ins_w );
136WRITE16_HANDLER( rpunch_crtc_data_w );
137WRITE16_HANDLER( rpunch_crtc_register_w );
138124
139125
140
141126/*************************************
142127 *
143128 *  Interrupt handling
r9191r9192
245230   AM_RANGE(0x000000, 0x03ffff) AM_ROM
246231   AM_RANGE(0x040000, 0x04ffff) AM_RAM AM_BASE(&rpunch_bitmapram) AM_SIZE(&rpunch_bitmapram_size)
247232   AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_GENERIC(spriteram)
248   AM_RANGE(0x080000, 0x083fff) AM_RAM_WRITE(rpunch_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
233   AM_RANGE(0x080000, 0x083fff) AM_RAM_WRITE(rpunch_videoram_w) AM_BASE_MEMBER(rpunch_state, videoram)
249234   AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
250235   AM_RANGE(0x0c0000, 0x0c0007) AM_WRITE(rpunch_scrollreg_w)
251236   AM_RANGE(0x0c0008, 0x0c0009) AM_WRITE(rpunch_crtc_data_w)
r9191r9192
479464 *
480465 *************************************/
481466
482static MACHINE_DRIVER_START( rpunch )
467static MACHINE_CONFIG_START( rpunch, rpunch_state )
483468
484469   /* basic machine hardware */
485470   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK/2)
r9191r9192
513498
514499   MDRV_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
515500   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
516MACHINE_DRIVER_END
501MACHINE_CONFIG_END
517502
518503
519504
src/mame/drivers/albazg.c
r9191r9192
6161#include "machine/8255ppi.h"
6262
6363
64class albazg_state : public driver_data_t
64class albazg_state : public driver_device
6565{
6666public:
67   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, albazg_state(machine)); }
67   albazg_state(running_machine &machine, const driver_device_config_base &config)
68      : driver_device(machine, config) { }
6869
69   albazg_state(running_machine &machine)
70      : driver_data_t(machine) { }
71
7270   /* memory pointers */
7371   UINT8 *  cus_ram;
7472   UINT8 *  videoram;
r9191r9192
395393   state->prot_lock = 0;
396394}
397395
398static MACHINE_DRIVER_START( yumefuda )
396static MACHINE_CONFIG_START( yumefuda, albazg_state )
399397
400   /* driver data */
401   MDRV_DRIVER_DATA(albazg_state)
402
403398   /* basic machine hardware */
404399   MDRV_CPU_ADD("maincpu", Z80 , MASTER_CLOCK/2) /* xtal is 12 Mhz, unknown divider*/
405400   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
437432   MDRV_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK/16) /* guessed to use the same xtal as the crtc */
438433   MDRV_SOUND_CONFIG(ay8910_config)
439434   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
440MACHINE_DRIVER_END
435MACHINE_CONFIG_END
441436
442437/***************************************************************************************/
443438
src/mame/drivers/bingoc.c
r9191r9192
125125INPUT_PORTS_END
126126
127127
128static MACHINE_DRIVER_START( bingoc )
128static MACHINE_CONFIG_START( bingoc, driver_device )
129129
130130   MDRV_CPU_ADD("maincpu", M68000,8000000)       /* ? MHz */
131131   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
160160   MDRV_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
161161   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
162162   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
163MACHINE_DRIVER_END
163MACHINE_CONFIG_END
164164
165165ROM_START( bingoc )
166166   ROM_REGION( 0x40000, "maincpu", 0 )
src/mame/drivers/changela.c
r9191r9192
520520   state->dir_31 = 0;
521521}
522522
523static MACHINE_DRIVER_START( changela )
523static MACHINE_CONFIG_START( changela, changela_state )
524524
525   /* driver data */
526   MDRV_DRIVER_DATA(changela_state)
527
528525   MDRV_CPU_ADD("maincpu", Z80,5000000)
529526   MDRV_CPU_PROGRAM_MAP(changela_map)
530527   MDRV_CPU_VBLANK_INT_HACK(chl_interrupt,4)
r9191r9192
555552   MDRV_SOUND_ADD("ay2", AY8910, 1250000)
556553   MDRV_SOUND_CONFIG(ay8910_interface_2)
557554   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
558MACHINE_DRIVER_END
555MACHINE_CONFIG_END
559556
560557
561558ROM_START( changela )
src/mame/drivers/sstrangr.c
r9191r9192
1414
1515#define NUM_PENS   (8)
1616
17class sstrangr_state : public driver_data_t
17class sstrangr_state : public driver_device
1818{
1919public:
20   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sstrangr_state(machine)); }
20   sstrangr_state(running_machine &machine, const driver_device_config_base &config)
21      : driver_device(machine, config) { }
2122
22   sstrangr_state(running_machine &machine)
23      : driver_data_t(machine) { }
24
2523   UINT8 *ram;
2624   UINT8 flip_screen;
2725   UINT8 *proms;
r9191r9192
193191INPUT_PORTS_END
194192
195193
196static MACHINE_DRIVER_START( sstrangr )
194static MACHINE_CONFIG_START( sstrangr, sstrangr_state )
197195
198   MDRV_DRIVER_DATA( sstrangr_state )
199
200196   /* basic machine hardware */
201197   MDRV_CPU_ADD("maincpu",I8080,1996800)   /* clock is a guess, taken from mw8080bw */
202198   MDRV_CPU_PROGRAM_MAP(sstrangr_map)
r9191r9192
214210
215211   /* sound hardware */
216212
217MACHINE_DRIVER_END
213MACHINE_CONFIG_END
218214
219215
220216
r9191r9192
267263INPUT_PORTS_END
268264
269265
270static MACHINE_DRIVER_START( sstrngr2 )
266static MACHINE_CONFIG_DERIVED( sstrngr2, sstrangr )
271267
272268   /* basic machine hardware */
273   MDRV_IMPORT_FROM(sstrangr)
274269
275270   /* video hardware */
276271   MDRV_VIDEO_UPDATE(sstrngr2)
277272
278MACHINE_DRIVER_END
273MACHINE_CONFIG_END
279274
280275
281276
src/mame/drivers/backfire.c
r9191r9192
2020#include "video/deco16ic.h"
2121#include "rendlay.h"
2222
23class backfire_state : public driver_data_t
23class backfire_state : public driver_device
2424{
2525public:
26   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, backfire_state(machine)); }
26   backfire_state(running_machine &machine, const driver_device_config_base &config)
27      : driver_device(machine, config) { }
2728
28   backfire_state(running_machine &machine)
29      : driver_data_t(machine) { }
30
3129   /* memory pointers */
3230   UINT16 *  pf1_rowscroll;
3331   UINT16 *  pf2_rowscroll;
r9191r9192
479477   state->eeprom = machine->device("eeprom");
480478}
481479
482static MACHINE_DRIVER_START( backfire )
480static MACHINE_CONFIG_START( backfire, backfire_state )
483481
484   /* driver data */
485   MDRV_DRIVER_DATA(backfire_state)
486
487482   /* basic machine hardware */
488483   MDRV_CPU_ADD("maincpu", ARM, 28000000/4) /* Unconfirmed */
489484   MDRV_CPU_PROGRAM_MAP(backfire_map)
r9191r9192
524519   MDRV_SOUND_CONFIG(ymz280b_intf)
525520   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
526521   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
527MACHINE_DRIVER_END
522MACHINE_CONFIG_END
528523
529524
530525/*
src/mame/drivers/cubeqst.c
r9191r9192
2323#include "sound/dac.h"
2424#include "streams.h"
2525#include "machine/laserdsc.h"
26#include "machine/nvram.h"
2627
2728
2829/*************************************
r9191r9192
404405   AM_RANGE(0x03800e, 0x03800f) AM_READWRITE(laserdisc_r, laserdisc_w)
405406   AM_RANGE(0x03c800, 0x03c9ff) AM_RAM_WRITE(palette_w) AM_BASE_GENERIC(paletteram)
406407   AM_RANGE(0x03cc00, 0x03cc01) AM_WRITE(control_w)
407   AM_RANGE(0x03e000, 0x03efff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
408   AM_RANGE(0x03e000, 0x03efff) AM_RAM AM_SHARE("nvram")
408409   AM_RANGE(0x03f000, 0x03ffff) AM_RAM
409410ADDRESS_MAP_END
410411
r9191r9192
493494 *
494495 *************************************/
495496
496static MACHINE_DRIVER_START( cubeqst )
497static MACHINE_CONFIG_START( cubeqst, driver_device )
497498   MDRV_CPU_ADD("main_cpu", M68000, XTAL_16MHz / 2)
498499   MDRV_CPU_PROGRAM_MAP(m68k_program_map)
499500   MDRV_CPU_VBLANK_INT("screen", vblank)
r9191r9192
514515
515516   MDRV_MACHINE_START(cubeqst)
516517   MDRV_MACHINE_RESET(cubeqst)
517   MDRV_NVRAM_HANDLER(generic_0fill)
518   MDRV_NVRAM_ADD_0FILL("nvram")
518519
519520   MDRV_LASERDISC_SCREEN_ADD_NTSC("screen", BITMAP_FORMAT_RGB32)
520521   MDRV_VIDEO_START(cubeqst)
r9191r9192
529530
530531   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
531532
532   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
533   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
533534   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
534535   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
535536
r9191r9192
565566   MDRV_SOUND_ROUTE(0, "rspeaker", 0.125)
566567   MDRV_SOUND_ADD("ldac7", DAC, 0)
567568   MDRV_SOUND_ROUTE(0, "lspeaker", 0.125)
568MACHINE_DRIVER_END
569MACHINE_CONFIG_END
569570
570571
571572/*************************************
src/mame/drivers/sidepckt.c
r9191r9192
259259
260260
261261
262static MACHINE_DRIVER_START( sidepckt )
262static MACHINE_CONFIG_START( sidepckt, sidepckt_state )
263263
264   MDRV_DRIVER_DATA(sidepckt_state)
265
266264   /* basic machine hardware */
267265   MDRV_CPU_ADD("maincpu", M6809, 2000000)        /* 2 MHz */
268266   MDRV_CPU_PROGRAM_MAP(sidepckt_map)
r9191r9192
296294   MDRV_SOUND_ADD("ym2", YM3526, 3000000)
297295   MDRV_SOUND_CONFIG(ym3526_config)
298296   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
299MACHINE_DRIVER_END
297MACHINE_CONFIG_END
300298
301299
302300/***************************************************************************
src/mame/drivers/starwars.c
r9191r9192
324324 *
325325 *************************************/
326326
327static MACHINE_DRIVER_START( starwars )
327static MACHINE_CONFIG_START( starwars, driver_device )
328328
329329   /* basic machine hardware */
330330   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK / 8)
r9191r9192
336336   MDRV_CPU_PROGRAM_MAP(sound_map)
337337
338338   MDRV_MACHINE_RESET(starwars)
339   MDRV_NVRAM_HANDLER(generic_0fill)
340339
341340   MDRV_RIOT6532_ADD("riot", MASTER_CLOCK / 8, starwars_riot6532_intf)
342341
r9191r9192
369368
370369   MDRV_SOUND_ADD("tms", TMS5220, MASTER_CLOCK/2/9)
371370   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
372MACHINE_DRIVER_END
371MACHINE_CONFIG_END
373372
374373
375374
src/mame/drivers/exerion.c
r9191r9192
413413      state->background_latches[i] = 0;
414414}
415415
416static MACHINE_DRIVER_START( exerion )
416static MACHINE_CONFIG_START( exerion, exerion_state )
417417
418   /* driver data */
419   MDRV_DRIVER_DATA(exerion_state)
420
421418   MDRV_CPU_ADD("maincpu", Z80, EXERION_CPU_CLOCK)
422419   MDRV_CPU_PROGRAM_MAP(main_map)
423420
r9191r9192
448445   MDRV_SOUND_ADD("ay2", AY8910, EXERION_AY8910_CLOCK)
449446   MDRV_SOUND_CONFIG(ay8910_config)
450447   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
451MACHINE_DRIVER_END
448MACHINE_CONFIG_END
452449
453450
454451
src/mame/drivers/mosaic.c
r9191r9192
267267   state->prot_val = 0;
268268}
269269
270static MACHINE_DRIVER_START( mosaic )
270static MACHINE_CONFIG_START( mosaic, mosaic_state )
271271
272   /* driver data */
273   MDRV_DRIVER_DATA(mosaic_state)
274
275272   /* basic machine hardware */
276273   MDRV_CPU_ADD("maincpu", Z180, 7000000)   /* ??? */
277274   MDRV_CPU_PROGRAM_MAP(mosaic_map)
r9191r9192
301298   MDRV_SOUND_ADD("ymsnd", YM2203, 3000000)
302299   MDRV_SOUND_CONFIG(ym2203_config)
303300   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
304MACHINE_DRIVER_END
301MACHINE_CONFIG_END
305302
306static MACHINE_DRIVER_START( gfire2 )
307   MDRV_IMPORT_FROM(mosaic)
303static MACHINE_CONFIG_DERIVED( gfire2, mosaic )
308304   MDRV_CPU_MODIFY("maincpu")
309305   MDRV_CPU_PROGRAM_MAP(gfire2_map)
310306   MDRV_CPU_IO_MAP(gfire2_io_map)
311MACHINE_DRIVER_END
307MACHINE_CONFIG_END
312308
313309
314310
src/mame/drivers/savquest.c
r9191r9192
5454static INPUT_PORTS_START( savquest )
5555INPUT_PORTS_END
5656
57static MACHINE_DRIVER_START( savquest )
57static MACHINE_CONFIG_START( savquest, driver_device )
5858   MDRV_CPU_ADD("maincpu", PENTIUM, 450000000)   // actually Pentium II 450
5959   MDRV_CPU_PROGRAM_MAP(savquest_map)
6060   MDRV_CPU_IO_MAP(savquest_io)
r9191r9192
7070
7171   MDRV_VIDEO_START(savquest)
7272   MDRV_VIDEO_UPDATE(savquest)
73MACHINE_DRIVER_END
73MACHINE_CONFIG_END
7474
7575ROM_START( savquest )
7676   ROM_REGION32_LE(0x40000, "user1", 0)
src/mame/drivers/segas18.c
r9191r9192
12881288 *
12891289 *************************************/
12901290
1291static MACHINE_DRIVER_START( system18 )
1291static MACHINE_CONFIG_START( system18, segas1x_state )
12921292
1293   /* driver data */
1294   MDRV_DRIVER_DATA(segas1x_state)
1295
12961293   /* basic machine hardware */
12971294   MDRV_CPU_ADD("maincpu", M68000, 10000000)
12981295   MDRV_CPU_PROGRAM_MAP(system18_map)
r9191r9192
13311328
13321329   MDRV_SOUND_ADD("rfsnd", RF5C68, 10000000)
13331330   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1334MACHINE_DRIVER_END
1331MACHINE_CONFIG_END
13351332
13361333
1337static MACHINE_DRIVER_START( system18_8751 )
1338   MDRV_IMPORT_FROM(system18)
1334static MACHINE_CONFIG_DERIVED( system18_8751, system18 )
13391335   MDRV_CPU_MODIFY("maincpu")
13401336   MDRV_CPU_VBLANK_INT_HACK(NULL,0)
13411337
13421338   MDRV_CPU_ADD("mcu", I8751, 8000000)
13431339   MDRV_CPU_IO_MAP(mcu_io_map)
13441340   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
1345MACHINE_DRIVER_END
1341MACHINE_CONFIG_END
13461342
13471343
13481344
src/mame/drivers/ltcasino.c
r9191r9192
626626}
627627
628628
629static MACHINE_DRIVER_START( ltcasino )
629static MACHINE_CONFIG_START( ltcasino, driver_device )
630630   /* basic machine hardware */
631631   MDRV_CPU_ADD("maincpu", M6502,2000000)       /* ? MHz */
632632   MDRV_CPU_PROGRAM_MAP(ltcasino_map)
r9191r9192
651651
652652   MDRV_SOUND_ADD("aysnd", AY8910, 1000000)
653653   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
654MACHINE_DRIVER_END
654MACHINE_CONFIG_END
655655
656656
657657ROM_START( ltcasino )
src/mame/drivers/astrocorp.c
r9191r9192
3333#include "cpu/m68000/m68000.h"
3434#include "machine/eeprom.h"
3535#include "machine/ticket.h"
36#include "machine/nvram.h"
3637#include "sound/okim6295.h"
3738
38class astrocorp_state : public driver_data_t
39class astrocorp_state : public driver_device
3940{
4041public:
41   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, astrocorp_state(machine)); }
42   astrocorp_state(running_machine &machine, const driver_device_config_base &config)
43      : driver_device(machine, config) { }
4244
43   astrocorp_state(running_machine &machine)
44      : driver_data_t(machine) { }
45
4645   /* memory pointers */
4746   UINT16 *   spriteram;
4847   UINT16 *   paletteram;
r9191r9192
292291   AM_RANGE( 0x05a000, 0x05a001 ) AM_WRITE(showhand_outputs_w)
293292   AM_RANGE( 0x05e000, 0x05e001 ) AM_READ_PORT("EEPROMIN")
294293   AM_RANGE( 0x060000, 0x0601ff ) AM_RAM_WRITE(astrocorp_palette_w) AM_BASE_MEMBER(astrocorp_state, paletteram)
295   AM_RANGE( 0x070000, 0x073fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   // battery
294   AM_RANGE( 0x070000, 0x073fff ) AM_RAM AM_SHARE("nvram")   // battery
296295   AM_RANGE( 0x080000, 0x080001 ) AM_DEVWRITE("oki", astrocorp_sound_bank_w)
297296   AM_RANGE( 0x0a0000, 0x0a0001 ) AM_WRITE(astrocorp_screen_enable_w)
298   AM_RANGE( 0x0d0000, 0x0d0001 ) AM_READ(astrocorp_unk_r) AM_DEVWRITE8("oki", okim6295_w, 0xff00)
297   AM_RANGE( 0x0d0000, 0x0d0001 ) AM_READ(astrocorp_unk_r) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0xff00)
299298ADDRESS_MAP_END
300299
301300static ADDRESS_MAP_START( showhanc_map, ADDRESS_SPACE_PROGRAM, 16 )
r9191r9192
308307   AM_RANGE( 0x088000, 0x088001 ) AM_WRITE(astrocorp_eeprom_w)
309308   AM_RANGE( 0x08a000, 0x08a001 ) AM_WRITE(showhand_outputs_w)
310309   AM_RANGE( 0x08e000, 0x08e001 ) AM_READ_PORT("EEPROMIN")
311   AM_RANGE( 0x090000, 0x093fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   // battery
310   AM_RANGE( 0x090000, 0x093fff ) AM_RAM AM_SHARE("nvram")   // battery
312311   AM_RANGE( 0x0a0000, 0x0a0001 ) AM_WRITE(astrocorp_screen_enable_w)
313   AM_RANGE( 0x0e0000, 0x0e0001 ) AM_READ(astrocorp_unk_r) AM_DEVWRITE8("oki", okim6295_w, 0xff00)
312   AM_RANGE( 0x0e0000, 0x0e0001 ) AM_READ(astrocorp_unk_r) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0xff00)
314313ADDRESS_MAP_END
315314
316315static ADDRESS_MAP_START( skilldrp_map, ADDRESS_SPACE_PROGRAM, 16 )
r9191r9192
323322   AM_RANGE( 0x20e000, 0x20e001 ) AM_READ_PORT("EEPROMIN")
324323   AM_RANGE( 0x380000, 0x3801ff ) AM_RAM_WRITE(astrocorp_palette_w) AM_BASE_MEMBER(astrocorp_state, paletteram)
325324   AM_RANGE( 0x400000, 0x400001 ) AM_WRITE(astrocorp_screen_enable_w)
326   AM_RANGE( 0x500000, 0x507fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   // battery
325   AM_RANGE( 0x500000, 0x507fff ) AM_RAM AM_SHARE("nvram")   // battery
327326   AM_RANGE( 0x580000, 0x580001 ) AM_DEVWRITE("oki", skilldrp_sound_bank_w)
328   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
327   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
329328ADDRESS_MAP_END
330329
331330static ADDRESS_MAP_START( speeddrp_map, ADDRESS_SPACE_PROGRAM, 16 )
332331   AM_RANGE( 0x000000, 0x01ffff ) AM_ROM
333   AM_RANGE( 0x280000, 0x283fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   // battery
332   AM_RANGE( 0x280000, 0x283fff ) AM_RAM AM_SHARE("nvram")   // battery
334333   AM_RANGE( 0x380000, 0x380fff ) AM_RAM AM_BASE_SIZE_MEMBER(astrocorp_state, spriteram, spriteram_size)
335334   AM_RANGE( 0x382000, 0x382001 ) AM_WRITE(astrocorp_draw_sprites_w)
336335   AM_RANGE( 0x384000, 0x384001 ) AM_READ_PORT("INPUTS")
r9191r9192
340339   AM_RANGE( 0x480000, 0x4801ff ) AM_RAM_WRITE(astrocorp_palette_w) AM_BASE_MEMBER(astrocorp_state, paletteram)
341340   AM_RANGE( 0x500000, 0x500001 ) AM_WRITE(astrocorp_screen_enable_w)
342341   AM_RANGE( 0x580000, 0x580001 ) AM_DEVWRITE("oki", skilldrp_sound_bank_w)
343   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
342   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
344343ADDRESS_MAP_END
345344
346345/***************************************************************************
r9191r9192
460459
461460static const UINT16 showhand_default_eeprom[15] =   {0x0001,0x0007,0x000a,0x0003,0x0000,0x0009,0x0003,0x0000,0x0002,0x0001,0x0000,0x0000,0x0000,0x0000,0x0000};
462461
463static MACHINE_DRIVER_START( showhand )
462static MACHINE_CONFIG_START( showhand, astrocorp_state )
464463
465   /* driver data */
466   MDRV_DRIVER_DATA(astrocorp_state)
467
468464   /* basic machine hardware */
469465   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
470466   MDRV_CPU_PROGRAM_MAP(showhand_map)
471467   MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
472468
473   MDRV_NVRAM_HANDLER(generic_0fill)
469   MDRV_NVRAM_ADD_0FILL("nvram")
474470   MDRV_EEPROM_93C46_ADD("eeprom")
475471   MDRV_EEPROM_DATA(showhand_default_eeprom, sizeof(showhand_default_eeprom))
476472
r9191r9192
493489
494490   MDRV_OKIM6295_ADD("oki", XTAL_20MHz/20, OKIM6295_PIN7_HIGH)
495491   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
496MACHINE_DRIVER_END
492MACHINE_CONFIG_END
497493
498494
499static MACHINE_DRIVER_START( showhanc )
500   MDRV_IMPORT_FROM( showhand )
495static MACHINE_CONFIG_DERIVED( showhanc, showhand )
501496   MDRV_CPU_MODIFY("maincpu")
502497   MDRV_CPU_PROGRAM_MAP(showhanc_map)
503MACHINE_DRIVER_END
498MACHINE_CONFIG_END
504499
505500
506501static INTERRUPT_GEN( skilldrp_irq )
r9191r9192
512507   }
513508}
514509
515static MACHINE_DRIVER_START( skilldrp )
510static MACHINE_CONFIG_START( skilldrp, astrocorp_state )
516511
517   /* driver data */
518   MDRV_DRIVER_DATA(astrocorp_state)
519
520512   /* basic machine hardware */
521513   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2)   // JX-1689F1028N GRX586.V5
522514   MDRV_CPU_PROGRAM_MAP(skilldrp_map)
523515   MDRV_CPU_VBLANK_INT_HACK(skilldrp_irq, 2)
524516
525   MDRV_NVRAM_HANDLER(generic_0fill)
517   MDRV_NVRAM_ADD_0FILL("nvram")
526518   MDRV_EEPROM_93C46_ADD("eeprom")
527519
528520   MDRV_TICKET_DISPENSER_ADD("ticket", 200, TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW )
r9191r9192
547539
548540   MDRV_OKIM6295_ADD("oki", XTAL_24MHz/24, OKIM6295_PIN7_HIGH)
549541   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
550MACHINE_DRIVER_END
542MACHINE_CONFIG_END
551543
552544
553static MACHINE_DRIVER_START( speeddrp )
554   MDRV_IMPORT_FROM( skilldrp )
545static MACHINE_CONFIG_DERIVED( speeddrp, skilldrp )
555546   MDRV_CPU_MODIFY("maincpu")
556547   MDRV_CPU_PROGRAM_MAP(speeddrp_map)
557MACHINE_DRIVER_END
548MACHINE_CONFIG_END
558549
559550
560551/***************************************************************************
src/mame/drivers/meijinsn.c
r9191r9192
6565#include "video/resnet.h"
6666#include "sound/ay8910.h"
6767
68class meijinsn_state : public driver_data_t
68class meijinsn_state : public driver_device
6969{
7070public:
71   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, meijinsn_state(machine)); }
71   meijinsn_state(running_machine &machine, const driver_device_config_base &config)
72      : driver_device(machine, config) { }
7273
73   meijinsn_state(running_machine &machine)
74      : driver_data_t(machine) { }
75
7674   /* memory pointers */
7775   UINT16 *   shared_ram;
7876   UINT16 *   videoram;
r9191r9192
339337}
340338
341339
342static MACHINE_DRIVER_START( meijinsn )
340static MACHINE_CONFIG_START( meijinsn, meijinsn_state )
343341
344   /* driver data */
345   MDRV_DRIVER_DATA(meijinsn_state)
346
347342   /* basic machine hardware */
348343   MDRV_CPU_ADD("maincpu", M68000, 9000000 )
349344   MDRV_CPU_PROGRAM_MAP(meijinsn_map)
r9191r9192
378373   MDRV_SOUND_CONFIG(ay8910_config)
379374   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
380375
381MACHINE_DRIVER_END
376MACHINE_CONFIG_END
382377
383378
384379ROM_START( meijinsn )
src/mame/drivers/coolridr.c
r9191r9192
975975   PORT_BIT( 0xff00ff00, IP_ACTIVE_LOW, IPT_UNUSED )
976976
977977   PORT_START("IN6")
978   PORT_DIPNAME( 0x00000001, 0x00000001, "IN5-0" )
978   PORT_DIPNAME( 0x00000001, 0x00000001, "IN6-0" )
979979   PORT_DIPSETTING(    0x00000001, DEF_STR( Off ) )
980980   PORT_DIPSETTING(    0x00000000, DEF_STR( On ) )
981981   PORT_DIPNAME( 0x00000002, 0x00000002, DEF_STR( Unknown ) )
r9191r9192
999999   PORT_DIPNAME( 0x00000080, 0x00000080, DEF_STR( Unknown ) )
10001000   PORT_DIPSETTING(    0x00000080, DEF_STR( Off ) )
10011001   PORT_DIPSETTING(    0x00000000, DEF_STR( On ) )
1002   PORT_DIPNAME( 0x00010000, 0x00010000, "IN5-1" )
1002   PORT_DIPNAME( 0x00010000, 0x00010000, "IN6-1" )
10031003   PORT_DIPSETTING(    0x00010000, DEF_STR( Off ) )
10041004   PORT_DIPSETTING(    0x00000000, DEF_STR( On ) )
10051005   PORT_DIPNAME( 0x00020000, 0x00020000, DEF_STR( Unknown ) )
r9191r9192
10561056   cputag_set_input_line(machine, "soundcpu", INPUT_LINE_HALT, ASSERT_LINE);
10571057}
10581058
1059static MACHINE_DRIVER_START( coolridr )
1059static MACHINE_CONFIG_START( coolridr, driver_device )
10601060   MDRV_CPU_ADD("maincpu", SH2, 28000000)   // 28 mhz
10611061   MDRV_CPU_PROGRAM_MAP(system_h1_map)
10621062   MDRV_CPU_VBLANK_INT("screen",system_h1)
r9191r9192
10821082
10831083   MDRV_VIDEO_START(coolridr)
10841084   MDRV_VIDEO_UPDATE(coolridr)
1085MACHINE_DRIVER_END
1085MACHINE_CONFIG_END
10861086
10871087ROM_START( coolridr )
10881088   ROM_REGION( 0x200000, "maincpu", 0 ) /* SH2 code */
src/mame/drivers/blitz.c
r9191r9192
455455static ADDRESS_MAP_START( megadpkr_map, ADDRESS_SPACE_PROGRAM, 8 )
456456//  ADDRESS_MAP_GLOBAL_MASK(0x7fff) // seems that hardware is playing with A14 & A15 CPU lines...
457457
458   AM_RANGE(0x0000, 0x07ff) AM_RAM //AM_BASE_SIZE_GENERIC(nvram)   /* battery backed RAM */
458   AM_RANGE(0x0000, 0x07ff) AM_RAM //AM_SHARE("nvram")   /* battery backed RAM */
459459//  AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_address_w)
460460//  AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
461461   AM_RANGE(0x0844, 0x0847) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
r9191r9192
766766*              Machine Drivers               *
767767*********************************************/
768768
769static MACHINE_DRIVER_START( megadpkr )
769static MACHINE_CONFIG_START( megadpkr, driver_device )
770770
771771   /* basic machine hardware */
772772   MDRV_CPU_ADD("maincpu", M6502, CPU_CLOCK)
r9191r9192
776776//  MDRV_CPU_ADD("mcu", M68705, CPU_CLOCK) /* unknown */
777777//  MDRV_CPU_PROGRAM_MAP(mcu_map)
778778
779//  MDRV_NVRAM_HANDLER(generic_0fill)
779//  MDRV_NVRAM_ADD_0FILL("nvram")
780780
781781   MDRV_PIA6821_ADD("pia0", megadpkr_pia0_intf)
782782   MDRV_PIA6821_ADD("pia1", megadpkr_pia1_intf)
r9191r9192
797797   MDRV_VIDEO_START(megadpkr)
798798   MDRV_VIDEO_UPDATE(megadpkr)
799799
800MACHINE_DRIVER_END
800MACHINE_CONFIG_END
801801
802802
803803/*********************************************
src/mame/drivers/tutankhm.c
r9191r9192
218218   state->flip_y = 0;
219219}
220220
221static MACHINE_DRIVER_START( tutankhm )
221static MACHINE_CONFIG_START( tutankhm, timeplt_state )
222222
223   /* driver data */
224   MDRV_DRIVER_DATA(timeplt_state)
225
226223   /* basic machine hardware */
227224   MDRV_CPU_ADD("maincpu", M6809, XTAL_18_432MHz/12)   /* 1.5 MHz ??? */
228225   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
242239   MDRV_VIDEO_UPDATE(tutankhm)
243240
244241   /* sound hardware */
245   MDRV_IMPORT_FROM(timeplt_sound)
246MACHINE_DRIVER_END
242   MDRV_FRAGMENT_ADD(timeplt_sound)
243MACHINE_CONFIG_END
247244
248245
249246/*************************************
src/mame/drivers/nitedrvr.c
r9191r9192
134134
135135/* Machine Driver */
136136
137static MACHINE_DRIVER_START( nitedrvr )
137static MACHINE_CONFIG_START( nitedrvr, nitedrvr_state )
138138
139   /* driver data */
140   MDRV_DRIVER_DATA(nitedrvr_state)
141
142139   /* basic machine hardware */
143140   MDRV_CPU_ADD("maincpu", M6502, XTAL_12_096MHz/12) // 1 MHz
144141   MDRV_CPU_PROGRAM_MAP(nitedrvr_map)
r9191r9192
171168   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
172169   MDRV_SOUND_CONFIG_DISCRETE(nitedrvr)
173170   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
174MACHINE_DRIVER_END
171MACHINE_CONFIG_END
175172
176173/* ROMs */
177174
src/mame/drivers/targeth.c
r9191r9192
1212#include "deprecat.h"
1313#include "cpu/m68000/m68000.h"
1414#include "sound/okim6295.h"
15#include "includes/targeth.h"
1516
16extern UINT16 *targeth_vregs;
17extern UINT16 *targeth_videoram;
18extern UINT16 *targeth_spriteram;
19
20/* from video/targeth.c */
21WRITE16_HANDLER( targeth_vram_w );
22VIDEO_START( targeth );
23VIDEO_UPDATE( targeth );
24
25
2617static const gfx_layout tilelayout16_0x080000 =
2718{
2819   16,16,                                          /* 16x16 tiles */
r9191r9192
8576   AM_RANGE(0x700006, 0x700007) AM_READ_PORT("SYSTEM")            /* Coins, Start & Fire buttons */
8677   AM_RANGE(0x700008, 0x700009) AM_READ_PORT("SERVICE")         /* Service & Guns Reload? */
8778   AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w)   /* OKI6295 bankswitch */
88   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)   /* OKI6295 status register */
79   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)   /* OKI6295 status register */
8980   AM_RANGE(0x700010, 0x70001b) AM_WRITENOP                  /* ??? Guns reload related? */
9081   AM_RANGE(0x70002a, 0x70003b) AM_WRITE(targeth_coin_counter_w)   /* Coin counters */
9182   AM_RANGE(0xfe0000, 0xfeffff) AM_RAM                        /* Work RAM (partially shared with DS5002FP) */
r9191r9192
176167INPUT_PORTS_END
177168
178169
179static MACHINE_DRIVER_START( targeth )
170static MACHINE_CONFIG_START( targeth, driver_device )
180171
181172   /* basic machine hardware */
182173   MDRV_CPU_ADD("maincpu", M68000,24000000/2)         /* 12 MHz */
r9191r9192
202193
203194   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
204195   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
205MACHINE_DRIVER_END
196MACHINE_CONFIG_END
206197
207198ROM_START( targeth )
208199   ROM_REGION( 0x100000, "maincpu", 0 )   /* 68000 code */
src/mame/drivers/intrscti.c
r9191r9192
8080   return 0;
8181}
8282
83static MACHINE_DRIVER_START( intrscti )
83static MACHINE_CONFIG_START( intrscti, driver_device )
8484   /* basic machine hardware */
8585   MDRV_CPU_ADD("maincpu", Z80,4000000)       /* ? MHz */
8686   MDRV_CPU_PROGRAM_MAP(intrscti_map)
r9191r9192
100100
101101   MDRV_VIDEO_START(intrscti)
102102   MDRV_VIDEO_UPDATE(intrscti)
103MACHINE_DRIVER_END
103MACHINE_CONFIG_END
104104
105105
106106ROM_START( intrscti )
src/mame/drivers/rainbow.c
r9191r9192
325325#include "audio/taitosnd.h"
326326#include "sound/2203intf.h"
327327#include "sound/2151intf.h"
328#include "includes/rastan.h"
328329#include "includes/rainbow.h"
329330
330331
r9191r9192
674675   state->pc090oj = machine->device("pc090oj");
675676}
676677
677static MACHINE_DRIVER_START( rainbow )
678static MACHINE_CONFIG_START( rainbow, rainbow_state )
678679
679   /* driver data */
680   MDRV_DRIVER_DATA(rainbow_state)
681
682680   /* basic machine hardware */
683681   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) /* verified on pcb */
684682   MDRV_CPU_PROGRAM_MAP(rainbow_map)
r9191r9192
716714   MDRV_SOUND_ROUTE(1, "mono", 0.50)
717715
718716   MDRV_TC0140SYT_ADD("tc0140syt", rainbow_tc0140syt_intf)
719MACHINE_DRIVER_END
717MACHINE_CONFIG_END
720718
721719
722720/* Jumping: The PCB has 2 Xtals, 24MHz and 18,432MHz */
723static MACHINE_DRIVER_START( jumping )
721static MACHINE_CONFIG_START( jumping, rainbow_state )
724722
725   /* driver data */
726   MDRV_DRIVER_DATA(rainbow_state)
727
728723   /* basic machine hardware */
729724   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz/3)   /* not verified but matches original */
730725   MDRV_CPU_PROGRAM_MAP(jumping_map)
r9191r9192
761756
762757   MDRV_SOUND_ADD("ym2", YM2203, XTAL_18_432MHz/6)   /* not verified */
763758   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
764MACHINE_DRIVER_END
759MACHINE_CONFIG_END
765760
766761
767762/***************************************************************************
src/mame/drivers/galspnbl.c
r9191r9192
6565static ADDRESS_MAP_START( audio_map, ADDRESS_SPACE_PROGRAM, 8 )
6666   AM_RANGE(0x0000, 0xefff) AM_ROM
6767   AM_RANGE(0xf000, 0xf7ff) AM_RAM
68   AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
68   AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
6969   AM_RANGE(0xf810, 0xf811) AM_DEVWRITE("ymsnd", ym3812_w)
7070   AM_RANGE(0xfc00, 0xfc00) AM_NOP   /* irq ack ?? */
7171   AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_r)
r9191r9192
207207   state->audiocpu = machine->device("audiocpu");
208208}
209209
210static MACHINE_DRIVER_START( galspnbl )
210static MACHINE_CONFIG_START( galspnbl, galspnbl_state )
211211
212   /* driver data */
213   MDRV_DRIVER_DATA(galspnbl_state)
214
215212   /* basic machine hardware */
216213   MDRV_CPU_ADD("maincpu", M68000, 10000000)   /* 10 MHz ??? */
217214   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
246243
247244   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
248245   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
249MACHINE_DRIVER_END
246MACHINE_CONFIG_END
250247
251248
252249
src/mame/drivers/tunhunt.c
r9191r9192
301301 *
302302 *************************************/
303303
304static MACHINE_DRIVER_START( tunhunt )
304static MACHINE_CONFIG_START( tunhunt, tunhunt_state )
305305
306   MDRV_DRIVER_DATA( tunhunt_state )
307
308306   /* basic machine hardware */
309307   MDRV_CPU_ADD("maincpu", M6502,2000000)      /* ??? */
310308   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
335333   MDRV_SOUND_ADD("pokey2", POKEY, 1209600)
336334   MDRV_SOUND_CONFIG(pokey_interface_2)
337335   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
338MACHINE_DRIVER_END
336MACHINE_CONFIG_END
339337
340338
341339
src/mame/drivers/tryout.c
r9191r9192
2323#include "emu.h"
2424#include "cpu/m6502/m6502.h"
2525#include "sound/2203intf.h"
26#include "includes/tryout.h"
2627
27extern UINT8 *tryout_gfx_control;
28
29extern READ8_HANDLER( tryout_vram_r );
30extern WRITE8_HANDLER( tryout_videoram_w );
31extern WRITE8_HANDLER( tryout_vram_w );
32extern WRITE8_HANDLER( tryout_vram_bankswitch_w );
33extern WRITE8_HANDLER( tryout_flipscreen_w );
34
35extern PALETTE_INIT( tryout );
36extern VIDEO_START( tryout );
37extern VIDEO_UPDATE( tryout );
38
3928static WRITE8_HANDLER( tryout_nmi_ack_w )
4029{
4130   cputag_set_input_line(space->machine, "maincpu", INPUT_LINE_NMI, CLEAR_LINE );
r9191r9192
6554
6655static ADDRESS_MAP_START( main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
6756   AM_RANGE(0x0000, 0x07ff) AM_RAM
68   AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(tryout_videoram_w) AM_BASE_GENERIC(videoram)
57   AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(tryout_videoram_w) AM_BASE_MEMBER(tryout_state, videoram)
6958   AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
7059   AM_RANGE(0x4000, 0xbfff) AM_ROM
7160   AM_RANGE(0xc800, 0xc87f) AM_RAM AM_BASE_GENERIC(spriteram)
r9191r9192
196185   GFXDECODE_ENTRY( NULL,    0, vramlayout,   0, 4 )
197186GFXDECODE_END
198187
199static MACHINE_DRIVER_START( tryout )
188static MACHINE_CONFIG_START( tryout, tryout_state )
200189   /* basic machine hardware */
201190   MDRV_CPU_ADD("maincpu", M6502, 2000000)      /* ? */
202191   MDRV_CPU_PROGRAM_MAP(main_cpu)
r9191r9192
225214
226215   MDRV_SOUND_ADD("ymsnd", YM2203, 1500000)
227216   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
228MACHINE_DRIVER_END
217MACHINE_CONFIG_END
229218
230219ROM_START( tryout )
231220   ROM_REGION( 0x14000, "maincpu", 0 )
src/mame/drivers/photoply.c
r9191r9192
357357   AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("pic8259_1", pic8259_r, pic8259_w, 0xffffffff)
358358   AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("pit8254", pit8253_r, pit8253_w, 0xffffffff)
359359   AM_RANGE(0x0060, 0x006f) AM_READWRITE(kbdc8042_32le_r,         kbdc8042_32le_w)
360   AM_RANGE(0x0070, 0x007f) AM_RAM//READWRITE(mc146818_port32le_r,     mc146818_port32le_w)
360   AM_RANGE(0x0070, 0x007f) AM_RAM//DEVREADWRITE8_MODERN("rtc", mc146818_device, read, write, 0xffffffff)
361361   AM_RANGE(0x0080, 0x009f) AM_READWRITE8(dma_page_select_r,dma_page_select_w, 0xffffffff)//TODO
362362   AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("pic8259_2", pic8259_r, pic8259_w, 0xffffffff)
363363   AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE8("dma8237_2", i8237_r, i8237_w, 0xffff)
r9191r9192
475475   photoply_devices.dma8237_2 = machine->device( "dma8237_2" );
476476
477477   init_pc_common(machine, PCCOMMON_KEYBOARD_AT, photoply_set_keyb_int);
478   mc146818_init(machine, MC146818_STANDARD);
479478}
480479
481480static const gfx_layout CGA_charlayout =
r9191r9192
495494GFXDECODE_END
496495
497496
498static MACHINE_DRIVER_START( photoply )
497static MACHINE_CONFIG_START( photoply, driver_device )
499498   /* basic machine hardware */
500499   MDRV_CPU_ADD("maincpu", I486, 75000000)   /* I486DX4, 75 or 100 Mhz */
501500   MDRV_CPU_PROGRAM_MAP(photoply_map)
r9191r9192
512511   MDRV_GFXDECODE( photoply )
513512
514513   MDRV_MACHINE_START(photoply)
515   MDRV_NVRAM_HANDLER( mc146818 )
514   MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
516515
517//  MDRV_IMPORT_FROM( at_kbdc8042 )
516//  MDRV_FRAGMENT_ADD( at_kbdc8042 )
518517   MDRV_PIC8259_ADD( "pic8259_1", pic8259_1_config )
519518   MDRV_PIC8259_ADD( "pic8259_2", pic8259_2_config )
520519   MDRV_I8237_ADD( "dma8237_1", XTAL_14_31818MHz/3, dma8237_1_config )
r9191r9192
527526
528527   MDRV_VIDEO_START(photoply)
529528   MDRV_VIDEO_UPDATE(photoply)
530MACHINE_DRIVER_END
529MACHINE_CONFIG_END
531530
532531
533532ROM_START(photoply)
src/mame/drivers/rungun.c
r9191r9192
393393   state->sound_status = 0;
394394}
395395
396static MACHINE_DRIVER_START( rng )
396static MACHINE_CONFIG_START( rng, rungun_state )
397397
398   /* driver data */
399   MDRV_DRIVER_DATA(rungun_state)
400
401398   /* basic machine hardware */
402399   MDRV_CPU_ADD("maincpu", M68000, 16000000)
403400   MDRV_CPU_PROGRAM_MAP(rungun_map)
r9191r9192
447444   MDRV_SOUND_CONFIG(k054539_config)
448445   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
449446   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
450MACHINE_DRIVER_END
447MACHINE_CONFIG_END
451448
452449
453450ROM_START( rungun )
src/mame/drivers/sfbonus.c
r9191r9192
11591159   AM_RANGE(0x0430, 0x0430) AM_READ_PORT("SWITCH4")
11601160   AM_RANGE(0x0438, 0x0438) AM_READ_PORT("SWITCH5")
11611161
1162   AM_RANGE(0x0800, 0x0800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
1162   AM_RANGE(0x0800, 0x0800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
11631163
11641164   AM_RANGE(0x0c00, 0x0c03) AM_WRITE( paletteram_io_w )
11651165
r9191r9192
12461246}
12471247
12481248
1249static MACHINE_DRIVER_START( sfbonus )
1249static MACHINE_CONFIG_START( sfbonus, driver_device )
12501250   MDRV_CPU_ADD("maincpu", Z80, 6000000) // custom packaged z80 CPU ?? Mhz
12511251   MDRV_CPU_PROGRAM_MAP(sfbonus_map)
12521252   MDRV_CPU_IO_MAP(sfbonus_io)
r9191r9192
12761276   MDRV_SPEAKER_STANDARD_MONO("mono")
12771277   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
12781278   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
1279MACHINE_DRIVER_END
1279MACHINE_CONFIG_END
12801280
12811281
12821282/* Skill Fruit Bonus */
src/mame/drivers/crystal.c
r9191r9192
121121#include "video/vrender0.h"
122122#include "machine/ds1302.h"
123123#include "sound/vrender0.h"
124#include "machine/nvram.h"
124125
125126#define IDLE_LOOP_SPEEDUP
126127
127class crystal_state : public driver_data_t
128class crystal_state : public driver_device
128129{
129130public:
130   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, crystal_state(machine)); }
131   crystal_state(running_machine &machine, const driver_device_config_base &config)
132      : driver_device(machine, config) { }
131133
132   crystal_state(running_machine &machine)
133      : driver_data_t(machine) { }
134
135134   /* memory pointers */
136135   UINT32 *  workram;
137136   UINT32 *  textureram;
r9191r9192
470469
471470   AM_RANGE(0x01200000, 0x0120000f) AM_READ(Input_r)
472471   AM_RANGE(0x01280000, 0x01280003) AM_WRITE(Banksw_w)
473   AM_RANGE(0x01400000, 0x0140ffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
472   AM_RANGE(0x01400000, 0x0140ffff) AM_RAM AM_SHARE("nvram")
474473
475474   AM_RANGE(0x01801400, 0x01801403) AM_READWRITE(Timer0_r, Timer0_w)
476475   AM_RANGE(0x01801408, 0x0180140b) AM_READWRITE(Timer1_r, Timer1_w)
r9191r9192
816815   "maincpu"
817816};
818817
819static MACHINE_DRIVER_START( crystal )
818static MACHINE_CONFIG_START( crystal, crystal_state )
820819
821   MDRV_DRIVER_DATA(crystal_state)
822
823820   MDRV_CPU_ADD("maincpu", SE3208, 43000000)
824821   MDRV_CPU_PROGRAM_MAP(crystal_mem)
825822   MDRV_CPU_VBLANK_INT("screen", crystal_interrupt)
r9191r9192
827824   MDRV_MACHINE_START(crystal)
828825   MDRV_MACHINE_RESET(crystal)
829826
830   MDRV_NVRAM_HANDLER(generic_0fill)
827   MDRV_NVRAM_ADD_0FILL("nvram")
831828
832829   MDRV_SCREEN_ADD("screen", RASTER)
833830   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
852849   MDRV_SOUND_CONFIG(vr0_config)
853850   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
854851   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
855MACHINE_DRIVER_END
852MACHINE_CONFIG_END
856853
857854/*
858855    Top blade screen is 32 pixels wider
859856*/
860static MACHINE_DRIVER_START( topbladv )
861   MDRV_IMPORT_FROM(crystal)
857static MACHINE_CONFIG_DERIVED( topbladv, crystal )
862858
863859   MDRV_SCREEN_MODIFY("screen")
864860   MDRV_SCREEN_SIZE(320+32, 240)
865861   MDRV_SCREEN_VISIBLE_AREA(0, 319+32, 0, 239)
866862
867MACHINE_DRIVER_END
863MACHINE_CONFIG_END
868864
869865ROM_START( crysbios )
870866   ROM_REGION( 0x20000, "maincpu", 0 ) // bios
src/mame/drivers/tempest.c
r9191r9192
570570 *
571571 *************************************/
572572
573static MACHINE_DRIVER_START( tempest )
573static MACHINE_CONFIG_START( tempest, driver_device )
574574
575575   /* basic machine hardware */
576576   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 8)
r9191r9192
604604   MDRV_SOUND_ADD("pokey2", POKEY, MASTER_CLOCK / 8)
605605   MDRV_SOUND_CONFIG(pokey_interface_2)
606606   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
607MACHINE_DRIVER_END
607MACHINE_CONFIG_END
608608
609609
610610
src/mame/drivers/madmotor.c
r9191r9192
6363   AM_RANGE(0x000000, 0x00ffff) AM_ROM
6464   AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_r,ym2203_w)
6565   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_r,ym2151_w)
66   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r,okim6295_w)
67   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r,okim6295_w)
66   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
67   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
6868   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
6969   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
7070   AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
r9191r9192
240240   state->flipscreen = 0;
241241}
242242
243static MACHINE_DRIVER_START( madmotor )
243static MACHINE_CONFIG_START( madmotor, madmotor_state )
244244
245   /* driver data */
246   MDRV_DRIVER_DATA(madmotor_state)
247
248245   /* basic machine hardware */
249246   MDRV_CPU_ADD("maincpu", M68000, 12000000) /* Custom chip 59, 24 MHz crystal */
250247   MDRV_CPU_PROGRAM_MAP(madmotor_map)
r9191r9192
288285
289286   MDRV_OKIM6295_ADD("oki2", 2047848, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
290287   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
291MACHINE_DRIVER_END
288MACHINE_CONFIG_END
292289
293290/******************************************************************************/
294291
src/mame/drivers/eprom.c
r9191r9192
161161
162162static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
163163   AM_RANGE(0x000000, 0x09ffff) AM_ROM
164   AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(eprom_state, eeprom, eeprom_size)
164   AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
165165   AM_RANGE(0x16cc00, 0x16cc01) AM_RAM AM_SHARE("share2")
166166   AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
167167   AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w)
r9191r9192
186186
187187static ADDRESS_MAP_START( guts_map, ADDRESS_SPACE_PROGRAM, 16 )
188188   AM_RANGE(0x000000, 0x09ffff) AM_ROM
189   AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(eprom_state, eeprom, eeprom_size)
189   AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
190190   AM_RANGE(0x16cc00, 0x16cc01) AM_RAM AM_SHARE("share2")
191191   AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
192192   AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w)
r9191r9192
406406 *
407407 *************************************/
408408
409static MACHINE_DRIVER_START( eprom )
410   MDRV_DRIVER_DATA(eprom_state)
409static MACHINE_CONFIG_START( eprom, eprom_state )
411410
412411   /* basic machine hardware */
413412   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
421420
422421   MDRV_MACHINE_START(eprom)
423422   MDRV_MACHINE_RESET(eprom)
424   MDRV_NVRAM_HANDLER(atarigen)
423   MDRV_NVRAM_ADD_1FILL("eeprom")
425424
426425   /* video hardware */
427426   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
438437   MDRV_VIDEO_UPDATE(eprom)
439438
440439   /* sound hardware */
441   MDRV_IMPORT_FROM(jsa_i_mono_speech)
442MACHINE_DRIVER_END
440   MDRV_FRAGMENT_ADD(jsa_i_mono_speech)
441MACHINE_CONFIG_END
443442
444443
445static MACHINE_DRIVER_START( klaxp )
446   MDRV_DRIVER_DATA(eprom_state)
444static MACHINE_CONFIG_START( klaxp, eprom_state )
447445
448446   /* basic machine hardware */
449447   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
454452
455453   MDRV_MACHINE_START(eprom)
456454   MDRV_MACHINE_RESET(eprom)
457   MDRV_NVRAM_HANDLER(atarigen)
455   MDRV_NVRAM_ADD_1FILL("eeprom")
458456
459457   /* video hardware */
460458   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
471469   MDRV_VIDEO_UPDATE(eprom)
472470
473471   /* sound hardware */
474   MDRV_IMPORT_FROM(jsa_ii_mono)
475MACHINE_DRIVER_END
472   MDRV_FRAGMENT_ADD(jsa_ii_mono)
473MACHINE_CONFIG_END
476474
477475
478static MACHINE_DRIVER_START( guts )
479   MDRV_DRIVER_DATA(eprom_state)
476static MACHINE_CONFIG_START( guts, eprom_state )
480477
481478   /* basic machine hardware */
482479   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
487484
488485   MDRV_MACHINE_START(eprom)
489486   MDRV_MACHINE_RESET(eprom)
490   MDRV_NVRAM_HANDLER(atarigen)
487   MDRV_NVRAM_ADD_1FILL("eeprom")
491488
492489   /* video hardware */
493490   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
504501   MDRV_VIDEO_UPDATE(guts)
505502
506503   /* sound hardware */
507   MDRV_IMPORT_FROM(jsa_ii_mono)
508MACHINE_DRIVER_END
504   MDRV_FRAGMENT_ADD(jsa_ii_mono)
505MACHINE_CONFIG_END
509506
510507
511508
src/mame/drivers/chinsan.c
r9191r9192
4747#include "sound/2203intf.h"
4848#include "sound/msm5205.h"
4949
50class chinsan_state : public driver_data_t
50class chinsan_state : public driver_device
5151{
5252public:
53   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, chinsan_state(machine)); }
53   chinsan_state(running_machine &machine, const driver_device_config_base &config)
54      : driver_device(machine, config) { }
5455
55   chinsan_state(running_machine &machine)
56      : driver_data_t(machine) { }
57
5856   /* memory pointers */
5957   UINT8 *  video;
6058
r9191r9192
591589}
592590
593591
594static MACHINE_DRIVER_START( chinsan )
592static MACHINE_CONFIG_START( chinsan, chinsan_state )
595593
596   /* driver data */
597   MDRV_DRIVER_DATA(chinsan_state)
598
599594   /* basic machine hardware */
600595   MDRV_CPU_ADD("maincpu", Z80,10000000/2)       /* ? MHz */
601596   MDRV_CPU_PROGRAM_MAP(chinsan_map)
r9191r9192
633628   MDRV_SOUND_ADD("adpcm", MSM5205, 384000)
634629   MDRV_SOUND_CONFIG(msm5205_config)
635630   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
636MACHINE_DRIVER_END
631MACHINE_CONFIG_END
637632
638633
639634
src/mame/drivers/cshooter.c
r9191r9192
416416   GFXDECODE_ENTRY( "gfx1", 128/8, cshooter_charlayout,   0, 64  )
417417GFXDECODE_END
418418
419static MACHINE_DRIVER_START( cshooter )
419static MACHINE_CONFIG_START( cshooter, driver_device )
420420   MDRV_CPU_ADD("maincpu", Z80,XTAL_12MHz/2)       /* verified on pcb */
421421   MDRV_CPU_PROGRAM_MAP(cshooter_map)
422422   MDRV_CPU_VBLANK_INT_HACK(cshooter_interrupt,2)
r9191r9192
443443   /* sound hardware */
444444   /* YM2151 and ym3931 seibu custom cpu running at XTAL_14_31818MHz/4 */
445445
446MACHINE_DRIVER_END
446MACHINE_CONFIG_END
447447
448static MACHINE_DRIVER_START( airraid )
448static MACHINE_CONFIG_START( airraid, driver_device )
449449   MDRV_CPU_ADD("maincpu", Z80,XTAL_12MHz/2)       /* verified on pcb */
450450   MDRV_CPU_PROGRAM_MAP(airraid_map)
451451   MDRV_CPU_VBLANK_INT_HACK(cshooter_interrupt,2)
r9191r9192
471471
472472   /* sound hardware */
473473   /* YM2151 and ym3931 seibu custom cpu running at XTAL_14_31818MHz/4 */
474MACHINE_DRIVER_END
474MACHINE_CONFIG_END
475475
476476
477477
src/mame/drivers/aerofgt.c
r9191r9192
167167   AM_RANGE(0xfff000, 0xfff001) AM_READ_PORT("IN0")
168168   AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1")
169169   AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW") AM_WRITE(aerofgt_bg1scrolly_w)
170   AM_RANGE(0xfff006, 0xfff007) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
170   AM_RANGE(0xfff006, 0xfff007) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
171171   AM_RANGE(0xfff008, 0xfff009) AM_DEVWRITE("oki", pspikesb_oki_banking_w)
172172ADDRESS_MAP_END
173173
r9191r9192
203203   AM_RANGE(0xfff002, 0xfff003) AM_READ_PORT("IN1") AM_WRITE(pspikes_gfxbank_w)
204204   AM_RANGE(0xfff004, 0xfff005) AM_READ_PORT("DSW")
205205   AM_RANGE(0xfff004, 0xfff005) AM_WRITE(aerofgt_bg1scrolly_w)
206   AM_RANGE(0xfff006, 0xfff007) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
206   AM_RANGE(0xfff006, 0xfff007) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
207207ADDRESS_MAP_END
208208
209209static ADDRESS_MAP_START( karatblz_map, ADDRESS_SPACE_PROGRAM, 16 )
r9191r9192
355355   AM_RANGE(0x0fe004, 0x0fe005) AM_WRITE(aerofgt_bg2scrollx_w)
356356   AM_RANGE(0x0fe006, 0x0fe007) AM_WRITE(aerofgt_bg2scrolly_w)
357357   AM_RANGE(0x0fe008, 0x0fe00b) AM_WRITE(turbofrc_gfxbank_w)
358   AM_RANGE(0x0fe006, 0x0fe007) AM_DEVREAD8("oki", okim6295_r, 0xff00)
359   AM_RANGE(0x0fe00e, 0x0fe00f) AM_DEVWRITE8("oki", okim6295_w, 0xff00)
358   AM_RANGE(0x0fe006, 0x0fe007) AM_DEVREAD8_MODERN("oki", okim6295_device, read, 0xff00)
359   AM_RANGE(0x0fe00e, 0x0fe00f) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0xff00)
360360   AM_RANGE(0x0fe01e, 0x0fe01f) AM_DEVWRITE("oki", aerfboo2_okim6295_banking_w)
361361//  AM_RANGE(0x0fe010, 0x0fe011) AM_WRITENOP
362362//  AM_RANGE(0x0fe012, 0x0fe013) AM_WRITE(aerfboot_soundlatch_w)
r9191r9192
406406   AM_RANGE(0x0000, 0x7fff) AM_ROM
407407   AM_RANGE(0x8000, 0x87ff) AM_RAM
408408   AM_RANGE(0x9000, 0x9000) AM_WRITE(aerfboot_okim6295_banking_w)
409   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
409   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
410410   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
411411ADDRESS_MAP_END
412412
413413static ADDRESS_MAP_START( wbbc97_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
414414   AM_RANGE(0x0000, 0xefff) AM_ROM
415415   AM_RANGE(0xf000, 0xf7ff) AM_RAM
416   AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
416   AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
417417   AM_RANGE(0xf810, 0xf811) AM_DEVWRITE("ymsnd", ym3812_w)
418418   AM_RANGE(0xfc00, 0xfc00) AM_NOP
419419   AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_r)
r9191r9192
13271327   memory_set_bank(machine, "bank1", 0);   /* needed by spinlbrk */
13281328}
13291329
1330static MACHINE_DRIVER_START( pspikes )
1330static MACHINE_CONFIG_START( pspikes, aerofgt_state )
13311331
1332   /* driver data */
1333   MDRV_DRIVER_DATA(aerofgt_state)
1334
13351332   /* basic machine hardware */
13361333   MDRV_CPU_ADD("maincpu",M68000,XTAL_20MHz/2)    /* verified on pcb */
13371334   MDRV_CPU_PROGRAM_MAP(pspikes_map)
r9191r9192
13681365   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
13691366   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
13701367   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
1371MACHINE_DRIVER_END
1368MACHINE_CONFIG_END
13721369
1373static MACHINE_DRIVER_START( spikes91 )
1370static MACHINE_CONFIG_START( spikes91, aerofgt_state )
13741371
1375   /* driver data */
1376   MDRV_DRIVER_DATA(aerofgt_state)
1377
13781372   /* basic machine hardware */
13791373   MDRV_CPU_ADD("maincpu",M68000,20000000/2)   /* 10 MHz (?) */
13801374   MDRV_CPU_PROGRAM_MAP(spikes91_map)
r9191r9192
14041398        1x OKI M5205 (sound)(ic145)
14051399        2x LM324N (sound)(ic152, ic153)
14061400    */
1407MACHINE_DRIVER_END
1401MACHINE_CONFIG_END
14081402
14091403
1410static MACHINE_DRIVER_START( pspikesb )
1404static MACHINE_CONFIG_START( pspikesb, aerofgt_state )
14111405
1412   /* driver data */
1413   MDRV_DRIVER_DATA(aerofgt_state)
1414
14151406   /* basic machine hardware */
14161407   MDRV_CPU_ADD("maincpu",M68000,20000000/2)   /* 10 MHz (?) */
14171408   MDRV_CPU_PROGRAM_MAP(pspikesb_map)
r9191r9192
14381429
14391430   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
14401431   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1441MACHINE_DRIVER_END
1432MACHINE_CONFIG_END
14421433
1443static MACHINE_DRIVER_START( pspikesc )
1434static MACHINE_CONFIG_START( pspikesc, aerofgt_state )
14441435
1445   /* driver data */
1446   MDRV_DRIVER_DATA(aerofgt_state)
1447
14481436   /* basic machine hardware */
14491437   MDRV_CPU_ADD("maincpu",M68000,20000000/2)   /* 10 MHz (?) */
14501438   MDRV_CPU_PROGRAM_MAP(pspikesc_map)
r9191r9192
14711459
14721460   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
14731461   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1474MACHINE_DRIVER_END
1462MACHINE_CONFIG_END
14751463
1476static MACHINE_DRIVER_START( karatblz )
1464static MACHINE_CONFIG_START( karatblz, aerofgt_state )
14771465
1478   /* driver data */
1479   MDRV_DRIVER_DATA(aerofgt_state)
1480
14811466   /* basic machine hardware */
14821467   MDRV_CPU_ADD("maincpu",M68000,20000000/2)   /* 10 MHz (?) */
14831468   MDRV_CPU_PROGRAM_MAP(karatblz_map)
r9191r9192
15131498   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
15141499   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
15151500   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
1516MACHINE_DRIVER_END
1501MACHINE_CONFIG_END
15171502
1518static MACHINE_DRIVER_START( spinlbrk )
1503static MACHINE_CONFIG_START( spinlbrk, aerofgt_state )
15191504
1520   /* driver data */
1521   MDRV_DRIVER_DATA(aerofgt_state)
1522
15231505   /* basic machine hardware */
15241506   MDRV_CPU_ADD("maincpu",M68000,XTAL_20MHz/2)   /* verified on pcb */
15251507   MDRV_CPU_PROGRAM_MAP(spinlbrk_map)
r9191r9192
15551537   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
15561538   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
15571539   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
1558MACHINE_DRIVER_END
1540MACHINE_CONFIG_END
15591541
1560static MACHINE_DRIVER_START( turbofrc )
1542static MACHINE_CONFIG_START( turbofrc, aerofgt_state )
15611543
1562   /* driver data */
1563   MDRV_DRIVER_DATA(aerofgt_state)
1564
15651544   /* basic machine hardware */
15661545   MDRV_CPU_ADD("maincpu",M68000,XTAL_20MHz/2)   /* verified on pcb */
15671546   MDRV_CPU_PROGRAM_MAP(turbofrc_map)
r9191r9192
15971576   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
15981577   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
15991578   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
1600MACHINE_DRIVER_END
1579MACHINE_CONFIG_END
16011580
1602static MACHINE_DRIVER_START( aerofgtb )
1581static MACHINE_CONFIG_START( aerofgtb, aerofgt_state )
16031582
1604   /* driver data */
1605   MDRV_DRIVER_DATA(aerofgt_state)
1606
16071583   /* basic machine hardware */
16081584   MDRV_CPU_ADD("maincpu",M68000,20000000/2)   /* 10 MHz (?) */
16091585   MDRV_CPU_PROGRAM_MAP(aerofgtb_map)
r9191r9192
16401616   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
16411617   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
16421618   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
1643MACHINE_DRIVER_END
1619MACHINE_CONFIG_END
16441620
1645static MACHINE_DRIVER_START( aerofgt )
1621static MACHINE_CONFIG_START( aerofgt, aerofgt_state )
16461622
1647   /* driver data */
1648   MDRV_DRIVER_DATA(aerofgt_state)
1649
16501623   /* basic machine hardware */
16511624   MDRV_CPU_ADD("maincpu",M68000,XTAL_20MHz/2)   /* verified on pcb */
16521625   MDRV_CPU_PROGRAM_MAP(aerofgt_map)
r9191r9192
16831656   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
16841657   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
16851658   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
1686MACHINE_DRIVER_END
1659MACHINE_CONFIG_END
16871660
1688static MACHINE_DRIVER_START( aerfboot )
1661static MACHINE_CONFIG_START( aerfboot, aerofgt_state )
16891662
1690   /* driver data */
1691   MDRV_DRIVER_DATA(aerofgt_state)
1692
16931663   /* basic machine hardware */
16941664   MDRV_CPU_ADD("maincpu",M68000,20000000/2)   /* 10 MHz (?) */
16951665   MDRV_CPU_PROGRAM_MAP(aerfboot_map)
r9191r9192
17201690
17211691   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
17221692   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1723MACHINE_DRIVER_END
1693MACHINE_CONFIG_END
17241694
1725static MACHINE_DRIVER_START( aerfboo2 )
1695static MACHINE_CONFIG_START( aerfboo2, aerofgt_state )
17261696
1727   /* driver data */
1728   MDRV_DRIVER_DATA(aerofgt_state)
1729
17301697   /* basic machine hardware */
17311698   MDRV_CPU_ADD("maincpu",M68000,20000000/2)   /* 10 MHz (?) */
17321699   MDRV_CPU_PROGRAM_MAP(aerfboo2_map)
r9191r9192
17541721
17551722   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
17561723   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1757MACHINE_DRIVER_END
1724MACHINE_CONFIG_END
17581725
1759static MACHINE_DRIVER_START( wbbc97 )
1726static MACHINE_CONFIG_START( wbbc97, aerofgt_state )
17601727
1761   /* driver data */
1762   MDRV_DRIVER_DATA(aerofgt_state)
1763
17641728   /* basic machine hardware */
17651729   MDRV_CPU_ADD("maincpu",M68000,20000000/2)   /* 10 MHz (?) */
17661730   MDRV_CPU_PROGRAM_MAP(wbbc97_map)
r9191r9192
17951759
17961760   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
17971761   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1798MACHINE_DRIVER_END
1762MACHINE_CONFIG_END
17991763
18001764
18011765
src/mame/drivers/rocnrope.c
r9191r9192
182182 *
183183 *************************************/
184184
185static MACHINE_DRIVER_START( rocnrope )
185static MACHINE_CONFIG_START( rocnrope, timeplt_state )
186186
187   /* driver data */
188   MDRV_DRIVER_DATA(timeplt_state)
189
190187   /* basic machine hardware */
191188   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK / 3 / 4)        /* Verified in schematics */
192189   MDRV_CPU_PROGRAM_MAP(rocnrope_map)
r9191r9192
208205   MDRV_VIDEO_UPDATE(rocnrope)
209206
210207   /* sound hardware */
211   MDRV_IMPORT_FROM(timeplt_sound)
212MACHINE_DRIVER_END
208   MDRV_FRAGMENT_ADD(timeplt_sound)
209MACHINE_CONFIG_END
213210
214211/*************************************
215212 *
src/mame/drivers/quakeat.c
r9191r9192
8585   AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("pic8259_1", pic8259_r, pic8259_w, 0xffffffff)
8686//  AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("pit8254", pit8253_r, pit8253_w, 0xffffffff)
8787//  AM_RANGE(0x0060, 0x006f) AM_READWRITE(kbdc8042_32le_r,          kbdc8042_32le_w)
88//  AM_RANGE(0x0070, 0x007f) AM_READWRITE(mc146818_port32le_r,      mc146818_port32le_w)
88//  AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8_MODERN("rtc", mc146818_device, read, write, 0xffffffff)
8989//  AM_RANGE(0x0080, 0x009f) AM_READWRITE(at_page32_r,              at_page32_w)
9090   AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("pic8259_2", pic8259_r, pic8259_w, 0xffffffff)
9191//  AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE("dma8237_2", at32_dma8237_2_r, at32_dma8237_2_w)
r9191r9192
147147}
148148/*************************************************************/
149149
150static MACHINE_DRIVER_START( quake )
150static MACHINE_CONFIG_START( quake, driver_device )
151151   /* basic machine hardware */
152152   MDRV_CPU_ADD("maincpu", PENTIUM, 233000000) /* Pentium II, 233MHz */
153153   MDRV_CPU_PROGRAM_MAP(quake_map)
r9191r9192
170170
171171   MDRV_VIDEO_START(quake)
172172   MDRV_VIDEO_UPDATE(quake)
173MACHINE_DRIVER_END
173MACHINE_CONFIG_END
174174
175175
176176ROM_START(quake)
src/mame/drivers/ultrsprt.c
r9191r9192
201201};
202202
203203
204static MACHINE_DRIVER_START( ultrsprt )
204static MACHINE_CONFIG_START( ultrsprt, driver_device )
205205   /* basic machine hardware */
206206   MDRV_CPU_ADD("maincpu", PPC403GA, 25000000)      /* PowerPC 403GA 25MHz */
207207   MDRV_CPU_PROGRAM_MAP(ultrsprt_map)
r9191r9192
236236   MDRV_SOUND_ADD("konami", K054539, 48000)
237237   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
238238   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
239MACHINE_DRIVER_END
239MACHINE_CONFIG_END
240240
241241
242242/*****************************************************************************/
src/mame/drivers/midyunit.c
r9191r9192
171171
172172/*************************************
173173 *
174 *  CMOS read/write
175 *
176 *************************************/
177
178static NVRAM_HANDLER( midyunit )
179{
180   if (read_or_write)
181      mame_fwrite(file, midyunit_cmos_ram, 0x8000);
182   else if (file)
183      mame_fread(file, midyunit_cmos_ram, 0x8000);
184   else
185      memset(midyunit_cmos_ram, 0, 0x8000);
186}
187
188
189
190/*************************************
191 *
192174 *  Memory maps
193175 *
194176 *************************************/
r9191r9192
213195   AM_RANGE(0x0000, 0x7fff) AM_ROM
214196   AM_RANGE(0x8000, 0x87ff) AM_RAM
215197   AM_RANGE(0x9000, 0x97ff) AM_DEVWRITE("oki", yawdim_oki_bank_w)
216   AM_RANGE(0x9800, 0x9fff) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
198   AM_RANGE(0x9800, 0x9fff) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
217199   AM_RANGE(0xa000, 0xa7ff) AM_READ(soundlatch_r)
218200ADDRESS_MAP_END
219201
r9191r9192
1014996 *
1015997 *************************************/
1016998
1017static MACHINE_DRIVER_START( zunit )
999static MACHINE_CONFIG_START( zunit, driver_device )
10181000
10191001   /* basic machine hardware */
10201002   MDRV_CPU_ADD("maincpu", TMS34010, FAST_MASTER_CLOCK)
r9191r9192
10221004   MDRV_CPU_PROGRAM_MAP(main_map)
10231005
10241006   MDRV_MACHINE_RESET(midyunit)
1025   MDRV_NVRAM_HANDLER(midyunit)
1007   MDRV_NVRAM_ADD_0FILL("nvram")
10261008
10271009   /* video hardware */
10281010   MDRV_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
r9191r9192
10361018   MDRV_VIDEO_UPDATE(tms340x0)
10371019
10381020   /* sound hardware */
1039   MDRV_IMPORT_FROM(williams_narc_sound)
1040MACHINE_DRIVER_END
1021   MDRV_FRAGMENT_ADD(williams_narc_sound)
1022MACHINE_CONFIG_END
10411023
10421024
10431025
r9191r9192
10471029 *
10481030 *************************************/
10491031
1050static MACHINE_DRIVER_START( yunit_core )
1032static MACHINE_CONFIG_START( yunit_core, driver_device )
10511033
10521034   /* basic machine hardware */
10531035   MDRV_CPU_ADD("maincpu", TMS34010, SLOW_MASTER_CLOCK)
r9191r9192
10551037   MDRV_CPU_PROGRAM_MAP(main_map)
10561038
10571039   MDRV_MACHINE_RESET(midyunit)
1058   MDRV_NVRAM_HANDLER(midyunit)
1040   MDRV_NVRAM_ADD_0FILL("nvram")
10591041
10601042   /* video hardware */
10611043   MDRV_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
r9191r9192
10661048   MDRV_SCREEN_RAW_PARAMS(STDRES_PIXEL_CLOCK*2, 505, 0, 399, 289, 0, 253)
10671049
10681050   MDRV_VIDEO_UPDATE(tms340x0)
1069MACHINE_DRIVER_END
1051MACHINE_CONFIG_END
10701052
10711053
1072static MACHINE_DRIVER_START( yunit_cvsd_4bit_slow )
1054static MACHINE_CONFIG_DERIVED( yunit_cvsd_4bit_slow, yunit_core )
10731055
10741056   /* basic machine hardware */
1075   MDRV_IMPORT_FROM(yunit_core)
1076   MDRV_IMPORT_FROM(williams_cvsd_sound)
1057   MDRV_FRAGMENT_ADD(williams_cvsd_sound)
10771058
10781059   /* video hardware */
10791060   MDRV_PALETTE_LENGTH(256)
10801061   MDRV_VIDEO_START(midyunit_4bit)
1081MACHINE_DRIVER_END
1062MACHINE_CONFIG_END
10821063
10831064
1084static MACHINE_DRIVER_START( yunit_cvsd_4bit_fast )
1065static MACHINE_CONFIG_DERIVED( yunit_cvsd_4bit_fast, yunit_core )
10851066
10861067   /* basic machine hardware */
1087   MDRV_IMPORT_FROM(yunit_core)
10881068   MDRV_CPU_MODIFY("maincpu")
10891069   MDRV_CPU_CLOCK(FAST_MASTER_CLOCK)
1090   MDRV_IMPORT_FROM(williams_cvsd_sound)
1070   MDRV_FRAGMENT_ADD(williams_cvsd_sound)
10911071
10921072   /* video hardware */
10931073   MDRV_PALETTE_LENGTH(256)
10941074   MDRV_VIDEO_START(midyunit_4bit)
1095MACHINE_DRIVER_END
1075MACHINE_CONFIG_END
10961076
10971077
1098static MACHINE_DRIVER_START( yunit_cvsd_6bit_slow )
1078static MACHINE_CONFIG_DERIVED( yunit_cvsd_6bit_slow, yunit_core )
10991079
11001080   /* basic machine hardware */
1101   MDRV_IMPORT_FROM(yunit_core)
1102   MDRV_IMPORT_FROM(williams_cvsd_sound)
1081   MDRV_FRAGMENT_ADD(williams_cvsd_sound)
11031082
11041083   /* video hardware */
11051084   MDRV_PALETTE_LENGTH(4096)
11061085   MDRV_VIDEO_START(midyunit_6bit)
1107MACHINE_DRIVER_END
1086MACHINE_CONFIG_END
11081087
11091088
1110static MACHINE_DRIVER_START( yunit_adpcm_6bit_fast )
1089static MACHINE_CONFIG_DERIVED( yunit_adpcm_6bit_fast, yunit_core )
11111090
11121091   /* basic machine hardware */
1113   MDRV_IMPORT_FROM(yunit_core)
11141092   MDRV_CPU_MODIFY("maincpu")
11151093   MDRV_CPU_CLOCK(FAST_MASTER_CLOCK)
1116   MDRV_IMPORT_FROM(williams_adpcm_sound)
1094   MDRV_FRAGMENT_ADD(williams_adpcm_sound)
11171095
11181096   /* video hardware */
11191097   MDRV_PALETTE_LENGTH(4096)
11201098   MDRV_VIDEO_START(midyunit_6bit)
1121MACHINE_DRIVER_END
1099MACHINE_CONFIG_END
11221100
11231101
1124static MACHINE_DRIVER_START( yunit_adpcm_6bit_faster )
1102static MACHINE_CONFIG_DERIVED( yunit_adpcm_6bit_faster, yunit_core )
11251103
11261104   /* basic machine hardware */
1127   MDRV_IMPORT_FROM(yunit_core)
11281105   MDRV_CPU_MODIFY("maincpu")
11291106   MDRV_CPU_CLOCK(FASTER_MASTER_CLOCK)
1130   MDRV_IMPORT_FROM(williams_adpcm_sound)
1107   MDRV_FRAGMENT_ADD(williams_adpcm_sound)
11311108
11321109   /* video hardware */
11331110   MDRV_PALETTE_LENGTH(4096)
11341111   MDRV_VIDEO_START(midyunit_6bit)
1135MACHINE_DRIVER_END
1112MACHINE_CONFIG_END
11361113
11371114
1138static MACHINE_DRIVER_START( mkyawdim )
1115static MACHINE_CONFIG_DERIVED( mkyawdim, yunit_core )
11391116
11401117   /* basic machine hardware */
1141   MDRV_IMPORT_FROM(yunit_core)
11421118
11431119   MDRV_CPU_ADD("audiocpu", Z80, 5000000)
11441120   MDRV_CPU_PROGRAM_MAP(yawdim_sound_map)
r9191r9192
11521128
11531129   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
11541130   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1155MACHINE_DRIVER_END
1131MACHINE_CONFIG_END
11561132
11571133
11581134
src/mame/drivers/hitme.c
r9191r9192
316316   state->timeout_time = attotime_zero;
317317}
318318
319static MACHINE_DRIVER_START( hitme )
319static MACHINE_CONFIG_START( hitme, hitme_state )
320320
321   /* driver data */
322   MDRV_DRIVER_DATA(hitme_state)
323
324321   /* basic machine hardware */
325322   MDRV_CPU_ADD("maincpu", I8080, MASTER_CLOCK/16)
326323   MDRV_CPU_PROGRAM_MAP(hitme_map)
r9191r9192
349346   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
350347   MDRV_SOUND_CONFIG_DISCRETE(hitme)
351348   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
352MACHINE_DRIVER_END
349MACHINE_CONFIG_END
353350
354351
355352
r9191r9192
360357    Barricade or is the resolution set by a dip switch?
361358*/
362359
363static MACHINE_DRIVER_START( barricad )
364   MDRV_IMPORT_FROM(hitme)
360static MACHINE_CONFIG_DERIVED( barricad, hitme )
365361
366362   /* video hardware */
367363   MDRV_SCREEN_MODIFY("screen")
r9191r9192
372368
373369   MDRV_VIDEO_START(barricad)
374370   MDRV_VIDEO_UPDATE(barricad)
375MACHINE_DRIVER_END
371MACHINE_CONFIG_END
376372
377373
378374
src/mame/drivers/senjyo.c
r9191r9192
7575#include "machine/segacrpt.h"
7676#include "includes/senjyo.h"
7777
78extern UINT8 senjyo_sound_cmd;
79static int int_delay_kludge;
80
8178static MACHINE_RESET( senjyo )
8279{
80   senjyo_state *state = machine->driver_data<senjyo_state>();
81
8382   /* we must avoid generating interrupts for the first few frames otherwise */
8483   /* Senjyo locks up. There must be an interrupt enable port somewhere, */
8584   /* or maybe interrupts are genenrated by the CTC. */
8685   /* Maybe a write to port d002 clears the IRQ line, but I'm not sure. */
87   int_delay_kludge = 10;
86   state->int_delay_kludge = 10;
8887}
8988
9089static INTERRUPT_GEN( senjyo_interrupt )
9190{
92   if (int_delay_kludge == 0) cpu_set_input_line(device, 0, HOLD_LINE);
93   else int_delay_kludge--;
91   senjyo_state *state = device->machine->driver_data<senjyo_state>();
92
93   if (state->int_delay_kludge == 0) cpu_set_input_line(device, 0, HOLD_LINE);
94   else state->int_delay_kludge--;
9495}
9596
9697static WRITE8_HANDLER( flip_screen_w )
r9191r9192
100101
101102static WRITE8_DEVICE_HANDLER( sound_cmd_w )
102103{
103   senjyo_sound_cmd = data;
104   senjyo_state *state = device->machine->driver_data<senjyo_state>();
104105
106   state->sound_cmd = data;
107
105108   z80pio_astb_w(device, 0);
106109   z80pio_astb_w(device, 1);
107110}
r9191r9192
109112static ADDRESS_MAP_START( senjyo_map, ADDRESS_SPACE_PROGRAM, 8 )
110113   AM_RANGE(0x0000, 0x7fff) AM_ROM
111114   AM_RANGE(0x8000, 0x8fff) AM_RAM
112   AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(senjyo_fgvideoram_w) AM_BASE(&senjyo_fgvideoram)
113   AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(senjyo_fgcolorram_w) AM_BASE(&senjyo_fgcolorram)
114   AM_RANGE(0x9800, 0x987f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
115   AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(senjyo_fgvideoram_w) AM_BASE_MEMBER(senjyo_state, fgvideoram)
116   AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(senjyo_fgcolorram_w) AM_BASE_MEMBER(senjyo_state, fgcolorram)
117   AM_RANGE(0x9800, 0x987f) AM_RAM AM_BASE_SIZE_MEMBER(senjyo_state, spriteram, spriteram_size)
115118   AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(paletteram_IIBBGGRR_w) AM_BASE_GENERIC(paletteram)
116   AM_RANGE(0x9e00, 0x9e1f) AM_RAM AM_BASE(&senjyo_fgscroll)
117   AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_BASE(&senjyo_scrolly3)
119   AM_RANGE(0x9e00, 0x9e1f) AM_RAM AM_BASE_MEMBER(senjyo_state, fgscroll)
120   AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_BASE_MEMBER(senjyo_state, scrolly3)
118121/*  AM_RANGE(0x9e22, 0x9e23) height of the layer (Senjyo only, fixed at 0x380) */
119   AM_RANGE(0x9e25, 0x9e25) AM_RAM AM_BASE(&senjyo_scrollx3)
120   AM_RANGE(0x9e27, 0x9e27) AM_RAM_WRITE(senjyo_bgstripes_w) AM_BASE(&senjyo_bgstripesram)   /* controls width of background stripes */
121   AM_RANGE(0x9e28, 0x9e29) AM_RAM AM_BASE(&senjyo_scrolly2)
122   AM_RANGE(0x9e25, 0x9e25) AM_RAM AM_BASE_MEMBER(senjyo_state, scrollx3)
123   AM_RANGE(0x9e27, 0x9e27) AM_RAM_WRITE(senjyo_bgstripes_w) AM_BASE_MEMBER(senjyo_state, bgstripesram)   /* controls width of background stripes */
124   AM_RANGE(0x9e28, 0x9e29) AM_RAM AM_BASE_MEMBER(senjyo_state, scrolly2)
122125/*  AM_RANGE(0x9e2a, 0x9e2b) height of the layer (Senjyo only, fixed at 0x200) */
123   AM_RANGE(0x9e2d, 0x9e2d) AM_RAM AM_BASE(&senjyo_scrollx2)
124   AM_RANGE(0x9e30, 0x9e31) AM_RAM AM_BASE(&senjyo_scrolly1)
126   AM_RANGE(0x9e2d, 0x9e2d) AM_RAM AM_BASE_MEMBER(senjyo_state, scrollx2)
127   AM_RANGE(0x9e30, 0x9e31) AM_RAM AM_BASE_MEMBER(senjyo_state, scrolly1)
125128/*  AM_RANGE(0x9e32, 0x9e33) height of the layer (Senjyo only, fixed at 0x100) */
126   AM_RANGE(0x9e35, 0x9e35) AM_RAM AM_BASE(&senjyo_scrollx1)
129   AM_RANGE(0x9e35, 0x9e35) AM_RAM AM_BASE_MEMBER(senjyo_state, scrollx1)
127130/*  AM_RANGE(0x9e38, 0x9e38) probably radar y position (Senjyo only, fixed at 0x61) */
128131/*  AM_RANGE(0x9e3d, 0x9e3d) probably radar x position (Senjyo only, 0x00/0xc0 depending on screen flip) */
129132   AM_RANGE(0x9e00, 0x9e3f) AM_RAM
130   AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(senjyo_bg3videoram_w) AM_BASE(&senjyo_bg3videoram)
131   AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(senjyo_bg2videoram_w) AM_BASE(&senjyo_bg2videoram)
132   AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(senjyo_bg1videoram_w) AM_BASE(&senjyo_bg1videoram)
133   AM_RANGE(0xb800, 0xbbff) AM_RAM AM_BASE(&senjyo_radarram)
133   AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(senjyo_bg3videoram_w) AM_BASE_MEMBER(senjyo_state, bg3videoram)
134   AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(senjyo_bg2videoram_w) AM_BASE_MEMBER(senjyo_state, bg2videoram)
135   AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(senjyo_bg1videoram_w) AM_BASE_MEMBER(senjyo_state, bg1videoram)
136   AM_RANGE(0xb800, 0xbbff) AM_RAM AM_BASE_MEMBER(senjyo_state, radarram)
134137   AM_RANGE(0xd000, 0xd000) AM_READ_PORT("P1") AM_WRITE(flip_screen_w)
135138   AM_RANGE(0xd001, 0xd001) AM_READ_PORT("P2")
136139   AM_RANGE(0xd002, 0xd002) AM_READ_PORT("SYSTEM")
r9191r9192
162165/* are scroll registers 1+2 linked on the bootleg?, only one copy is written */
163166static WRITE8_HANDLER(starforb_scrolly2)
164167{
165   senjyo_scrolly2[offset] = data;
166   senjyo_scrolly1[offset] = data;
168   senjyo_state *state = space->machine->driver_data<senjyo_state>();
169
170   state->scrolly2[offset] = data;
171   state->scrolly1[offset] = data;
167172}
168173
169174static WRITE8_HANDLER(starforb_scrollx2)
170175{
171   senjyo_scrollx2[offset] = data;
172   senjyo_scrollx1[offset] = data;
176   senjyo_state *state = space->machine->driver_data<senjyo_state>();
177
178   state->scrollx2[offset] = data;
179   state->scrollx1[offset] = data;
173180}
174181
175182static ADDRESS_MAP_START( starforb_map, ADDRESS_SPACE_PROGRAM, 8 )
176183   AM_RANGE(0x0000, 0x7fff) AM_ROM
177184   AM_RANGE(0x8000, 0x8fff) AM_RAM
178   AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(senjyo_fgvideoram_w) AM_BASE(&senjyo_fgvideoram)
179   AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(senjyo_fgcolorram_w) AM_BASE(&senjyo_fgcolorram)
180   AM_RANGE(0x9800, 0x987f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
185   AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(senjyo_fgvideoram_w) AM_BASE_MEMBER(senjyo_state, fgvideoram)
186   AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(senjyo_fgcolorram_w) AM_BASE_MEMBER(senjyo_state, fgcolorram)
187   AM_RANGE(0x9800, 0x987f) AM_RAM AM_BASE_SIZE_MEMBER(senjyo_state, spriteram, spriteram_size)
181188   AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(paletteram_IIBBGGRR_w) AM_BASE_GENERIC(paletteram)
182189   /* The format / use of the ram here is different on the bootleg */
183   AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_BASE(&senjyo_scrolly3)
184   AM_RANGE(0x9e25, 0x9e25) AM_RAM AM_BASE(&senjyo_scrollx3)
185   AM_RANGE(0x9e30, 0x9e31) AM_RAM_WRITE(starforb_scrolly2) AM_BASE(&senjyo_scrolly2) // ok
186   AM_RANGE(0x9e35, 0x9e35) AM_RAM_WRITE(starforb_scrollx2) AM_BASE(&senjyo_scrollx2) // ok
190   AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_BASE_MEMBER(senjyo_state, scrolly3)
191   AM_RANGE(0x9e25, 0x9e25) AM_RAM AM_BASE_MEMBER(senjyo_state, scrollx3)
192   AM_RANGE(0x9e30, 0x9e31) AM_RAM_WRITE(starforb_scrolly2) AM_BASE_MEMBER(senjyo_state, scrolly2) // ok
193   AM_RANGE(0x9e35, 0x9e35) AM_RAM_WRITE(starforb_scrollx2) AM_BASE_MEMBER(senjyo_state, scrollx2) // ok
187194   AM_RANGE(0x9e00, 0x9e3f) AM_RAM
188195
189   AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(senjyo_bg3videoram_w) AM_BASE(&senjyo_bg3videoram)
190   AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(senjyo_bg2videoram_w) AM_BASE(&senjyo_bg2videoram)
191   AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(senjyo_bg1videoram_w) AM_BASE(&senjyo_bg1videoram)
192   AM_RANGE(0xb800, 0xbbff) AM_RAM AM_BASE(&senjyo_radarram)
196   AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(senjyo_bg3videoram_w) AM_BASE_MEMBER(senjyo_state, bg3videoram)
197   AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(senjyo_bg2videoram_w) AM_BASE_MEMBER(senjyo_state, bg2videoram)
198   AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(senjyo_bg1videoram_w) AM_BASE_MEMBER(senjyo_state, bg1videoram)
199   AM_RANGE(0xb800, 0xbbff) AM_RAM AM_BASE_MEMBER(senjyo_state, radarram)
193200   AM_RANGE(0xd000, 0xd000) AM_READ_PORT("P1") AM_WRITE(flip_screen_w)
194201   AM_RANGE(0xd001, 0xd001) AM_READ_PORT("P2")
195202   AM_RANGE(0xd002, 0xd002) AM_READ_PORT("SYSTEM")
r9191r9192
197204   AM_RANGE(0xd005, 0xd005) AM_READ_PORT("DSW2")
198205
199206   /* these aren't used / written, left here to make sure memory is allocated */
200   AM_RANGE(0xfe00, 0xfe1f) AM_RAM AM_BASE(&senjyo_fgscroll)
201   AM_RANGE(0xfe27, 0xfe27) AM_RAM_WRITE(senjyo_bgstripes_w) AM_BASE(&senjyo_bgstripesram)   /* controls width of background stripes */
202   AM_RANGE(0xfe28, 0xfe29) AM_RAM AM_BASE(&senjyo_scrolly1)
203   AM_RANGE(0xfe2d, 0xfe2d) AM_RAM AM_BASE(&senjyo_scrollx1)
207   AM_RANGE(0xfe00, 0xfe1f) AM_RAM AM_BASE_MEMBER(senjyo_state, fgscroll)
208   AM_RANGE(0xfe27, 0xfe27) AM_RAM_WRITE(senjyo_bgstripes_w) AM_BASE_MEMBER(senjyo_state, bgstripesram)   /* controls width of background stripes */
209   AM_RANGE(0xfe28, 0xfe29) AM_RAM AM_BASE_MEMBER(senjyo_state, scrolly1)
210   AM_RANGE(0xfe2d, 0xfe2d) AM_RAM AM_BASE_MEMBER(senjyo_state, scrollx1)
204211ADDRESS_MAP_END
205212
206213
r9191r9192
537544};
538545
539546
540static MACHINE_DRIVER_START( senjyo )
547static MACHINE_CONFIG_START( senjyo, senjyo_state )
541548
542549   /* basic machine hardware */
543550   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz? */
r9191r9192
583590   MDRV_SOUND_ADD("samples", SAMPLES, 0)
584591   MDRV_SOUND_CONFIG(senjyo_samples_interface)
585592   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
586MACHINE_DRIVER_END
593MACHINE_CONFIG_END
587594
588595
589static MACHINE_DRIVER_START( starforb )
596static MACHINE_CONFIG_DERIVED( starforb, senjyo )
590597
591598   /* basic machine hardware */
592   MDRV_IMPORT_FROM(senjyo)
593599   MDRV_CPU_MODIFY("maincpu")
594600   MDRV_CPU_PROGRAM_MAP(starforb_map)
595601
596602   MDRV_CPU_MODIFY("sub")
597603   MDRV_CPU_PROGRAM_MAP(starforb_sound_map)
598MACHINE_DRIVER_END
604MACHINE_CONFIG_END
599605
600606
601607/***************************************************************************
r9191r9192
642648   ROM_LOAD( "08k_10b.bin", 0x0a000, 0x2000, CRC(a9f41ec9) SHA1(c24f9d54593e764a0b4530b1a2550b999916992c) )
643649
644650   ROM_REGION( 0x0020, "proms", 0 )   /* PROMs */
645    ROM_LOAD( "07b.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
651   ROM_LOAD( "07b.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
646652ROM_END
647653
648654ROM_START( starforc )
r9191r9192
679685   ROM_LOAD( "starforc.4",   0x08000, 0x4000, CRC(dd9d68a4) SHA1(34c60d2b34c7980bf65a5ebadb9c73f89128141f) )
680686
681687   ROM_REGION( 0x0020, "proms", 0 )   /* PROMs */
682    ROM_LOAD( "07b.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
688   ROM_LOAD( "07b.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
683689ROM_END
684690
685691ROM_START( starforcb )
r9191r9192
721727   ROM_LOAD( "b10.8l",       0x0a000, 0x2000, CRC(6ea27bec) SHA1(30da81a99d5920107751afda359576e426c497c4) )
722728
723729   ROM_REGION( 0x0020, "proms", 0 )   /* PROMs */
724    ROM_LOAD( "a18s030.7b",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
730   ROM_LOAD( "a18s030.7b",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
725731ROM_END
726732
727733
r9191r9192
764770   ROM_LOAD( "10.bin",       0x0a000, 0x2000, CRC(6ea27bec) SHA1(30da81a99d5920107751afda359576e426c497c4) )
765771
766772   ROM_REGION( 0x0020, "proms", 0 )   /* PROMs */
767    ROM_LOAD( "prom.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
773   ROM_LOAD( "prom.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
768774ROM_END
769775
770776
r9191r9192
804810   ROM_LOAD( "starforc.4",   0x08000, 0x4000, CRC(dd9d68a4) SHA1(34c60d2b34c7980bf65a5ebadb9c73f89128141f) )
805811
806812   ROM_REGION( 0x0020, "proms", 0 )   /* PROMs */
807    ROM_LOAD( "07b.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
813   ROM_LOAD( "07b.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
808814ROM_END
809815
810816ROM_START( megaforc )
r9191r9192
841847   ROM_LOAD( "starforc.4",   0x08000, 0x4000, CRC(dd9d68a4) SHA1(34c60d2b34c7980bf65a5ebadb9c73f89128141f) )
842848
843849   ROM_REGION( 0x0020, "proms", 0 )   /* PROMs */
844    ROM_LOAD( "07b.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
850   ROM_LOAD( "07b.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
845851ROM_END
846852
847853ROM_START( baluba )
r9191r9192
878884   ROM_LOAD( "3",          0x08000, 0x4000, CRC(7ac24983) SHA1(4ac32d95af3147af5b9b1af1f292bb629c5d4fb9) )
879885
880886   ROM_REGION( 0x0020, "proms", 0 )   /* PROMs */
881    ROM_LOAD( "07b.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
887   ROM_LOAD( "07b.bin",    0x0000, 0x0020, CRC(68db8300) SHA1(33cd6b5ed92d7b73a708f2e4b12b6e7f6496d0c6) )   /* unknown - timing? */
882888ROM_END
883889
884890
885891static DRIVER_INIT( starforc )
886892{
887   is_senjyo = 0;
888   senjyo_scrollhack = 1;
893   senjyo_state *state = machine->driver_data<senjyo_state>();
894
895   state->is_senjyo = 0;
896   state->scrollhack = 1;
889897}
890898static DRIVER_INIT( starfore )
891899{
900   senjyo_state *state = machine->driver_data<senjyo_state>();
901
892902   /* encrypted CPU */
893903   suprloco_decode(machine, "maincpu");
894904
895   is_senjyo = 0;
896   senjyo_scrollhack = 0;
905   state->is_senjyo = 0;
906   state->scrollhack = 0;
897907}
898908
899909static DRIVER_INIT( starfora )
900910{
911   senjyo_state *state = machine->driver_data<senjyo_state>();
912
901913   /* encrypted CPU */
902914   yamato_decode(machine, "maincpu");
903915
904   is_senjyo = 0;
905   senjyo_scrollhack = 1;
916   state->is_senjyo = 0;
917   state->scrollhack = 1;
906918}
907919
908920static DRIVER_INIT( senjyo )
909921{
910   is_senjyo = 1;
911   senjyo_scrollhack = 0;
922   senjyo_state *state = machine->driver_data<senjyo_state>();
923
924   state->is_senjyo = 1;
925   state->scrollhack = 0;
912926}
913927
914928
src/mame/drivers/tokyocop.c
r9191r9192
3636INPUT_PORTS_END
3737
3838
39static MACHINE_DRIVER_START( tokyocop )
39static MACHINE_CONFIG_START( tokyocop, driver_device )
4040   /* basic machine hardware */
4141   MDRV_CPU_ADD("maincpu", PENTIUM, 2000000000) /* Pentium4? */
4242   MDRV_CPU_PROGRAM_MAP(tokyocop_map)
r9191r9192
5353
5454   MDRV_VIDEO_START(tokyocop)
5555   MDRV_VIDEO_UPDATE(tokyocop)
56MACHINE_DRIVER_END
56MACHINE_CONFIG_END
5757
5858
5959ROM_START(tokyocop)
src/mame/drivers/maygay1b.c
r9191r9192
2121#include "sound/ay8910.h"
2222#include "sound/2413intf.h"
2323#include "sound/okim6376.h"
24#include "machine/nvram.h"
2425
2526#define VERBOSE 1
2627#define LOG(x)   do { if (VERBOSE) logerror x; } while (0)
r9191r9192
746747
747748
748749static ADDRESS_MAP_START( m1_memmap, ADDRESS_SPACE_PROGRAM, 8 )
749   AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
750   AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
750751
751752   AM_RANGE(0x2000, 0x2000) AM_WRITE(reel12_w)
752753   AM_RANGE(0x2010, 0x2010) AM_WRITE(reel34_w)
r9191r9192
791792
792793// machine driver for maygay m1 board /////////////////////////////////
793794
794static MACHINE_DRIVER_START( m1 )
795static MACHINE_CONFIG_START( m1, driver_device )
795796
796797   MDRV_MACHINE_START(m1)
797798   MDRV_MACHINE_RESET(m1)
r9191r9192
811812   MDRV_SOUND_ADD("msm6376", OKIM6376, M1_MASTER_CLOCK/4) //?
812813   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
813814
814   MDRV_NVRAM_HANDLER(generic_0fill)
815   MDRV_NVRAM_ADD_0FILL("nvram")
815816
816817   MDRV_DEFAULT_LAYOUT(layout_awpvid16)
817MACHINE_DRIVER_END
818MACHINE_CONFIG_END
818819
819820ROM_START( m_sptlgt )
820821   ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00  )
src/mame/drivers/bzone.c
r9191r9192
549549 *
550550 *************************************/
551551
552static MACHINE_DRIVER_START( bzone_base )
552static MACHINE_CONFIG_START( bzone_base, driver_device )
553553
554554   /* basic machine hardware */
555555   MDRV_CPU_ADD("maincpu", M6502, BZONE_MASTER_CLOCK / 8)
r9191r9192
570570   /* Drivers */
571571   MDRV_MATHBOX_ADD("mathbox")
572572
573MACHINE_DRIVER_END
573MACHINE_CONFIG_END
574574
575static MACHINE_DRIVER_START( bzone )
575static MACHINE_CONFIG_DERIVED( bzone, bzone_base )
576576
577   MDRV_IMPORT_FROM(bzone_base)
578
579577   /* sound hardware */
580   MDRV_IMPORT_FROM(bzone_audio)
578   MDRV_FRAGMENT_ADD(bzone_audio)
581579
582MACHINE_DRIVER_END
580MACHINE_CONFIG_END
583581
584582
585583
586static MACHINE_DRIVER_START( redbaron )
584static MACHINE_CONFIG_DERIVED( redbaron, bzone_base )
587585
588586   /* basic machine hardware */
589   MDRV_IMPORT_FROM(bzone_base)
590587   MDRV_CPU_MODIFY("maincpu")
591588   MDRV_CPU_PROGRAM_MAP(redbaron_map)
592589   MDRV_CPU_PERIODIC_INT(bzone_interrupt, (double)BZONE_MASTER_CLOCK / 4096 / 12)
r9191r9192
612609   MDRV_SOUND_ADD("custom", REDBARON, 0)
613610
614611   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
615MACHINE_DRIVER_END
612MACHINE_CONFIG_END
616613
617614
618615
src/mame/drivers/mhavoc.c
r9191r9192
190190#include "video/vector.h"
191191#include "sound/tms5220.h"
192192#include "sound/pokey.h"
193#include "machine/nvram.h"
193194#include "includes/mhavoc.h"
194195
195196/*************************************
r9191r9192
271272   AM_RANGE(0x4000, 0x4000) AM_READ_PORT("DSW2") AM_WRITE(mhavoc_gamma_irq_ack_w)   /* DSW at 8S, IRQ Acknowledge*/
272273   AM_RANGE(0x4800, 0x4800) AM_WRITE(mhavoc_out_1_w)         /* Coin Counters    */
273274   AM_RANGE(0x5000, 0x5000) AM_WRITE(mhavoc_alpha_w)         /* Alpha Comm. Write Port */
274   AM_RANGE(0x6000, 0x61ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* EEROM */
275   AM_RANGE(0x6000, 0x61ff) AM_RAM AM_SHARE("nvram")   /* EEROM */
275276   AM_RANGE(0x8000, 0xffff) AM_ROM               /* Program ROM (16K)    */
276277ADDRESS_MAP_END
277278
r9191r9192
301302   AM_RANGE(0x10b4, 0x10b4) AM_WRITE(mhavoc_rom_banksel_w)
302303   AM_RANGE(0x10b8, 0x10b8) AM_WRITE(mhavoc_ram_banksel_w)
303304   AM_RANGE(0x10e0, 0x10ff) AM_WRITEONLY AM_BASE(&avgdvg_colorram)   /* ColorRAM */
304   AM_RANGE(0x1800, 0x18ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* EEROM */
305   AM_RANGE(0x1800, 0x18ff) AM_RAM AM_SHARE("nvram")   /* EEROM */
305306   AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank2")                  /* Paged Program ROM (32K) */
306307   AM_RANGE(0x4000, 0x4fff) AM_RAM AM_BASE(&avgdvg_vectorram) AM_SIZE(&avgdvg_vectorram_size) AM_REGION("alpha", 0x4000) /* Vector Generator RAM */
307308   AM_RANGE(0x5000, 0x7fff) AM_ROM                        /* Vector ROM */
r9191r9192
471472 *
472473 *************************************/
473474
474static MACHINE_DRIVER_START( mhavoc )
475static MACHINE_CONFIG_START( mhavoc, driver_device )
475476
476477   /* basic machine hardware */
477478   MDRV_CPU_ADD("alpha", M6502, MHAVOC_CLOCK_2_5M)      /* 2.5 MHz */
r9191r9192
482483
483484   MDRV_MACHINE_START(mhavoc)
484485   MDRV_MACHINE_RESET(mhavoc)
485   MDRV_NVRAM_HANDLER(generic_1fill)
486   MDRV_NVRAM_ADD_1FILL("nvram")
486487
487488   MDRV_TIMER_ADD_PERIODIC("5k_timer", mhavoc_cpu_irq_clock, HZ(MHAVOC_CLOCK_5K))
488489
r9191r9192
510511
511512   MDRV_SOUND_ADD("pokey4", POKEY, MHAVOC_CLOCK_1_25M)
512513   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
513MACHINE_DRIVER_END
514MACHINE_CONFIG_END
514515
515516
516static MACHINE_DRIVER_START( mhavocrv )
517   MDRV_IMPORT_FROM( mhavoc )
517static MACHINE_CONFIG_DERIVED( mhavocrv, mhavoc )
518518
519519   MDRV_SOUND_ADD("tms", TMS5220, MHAVOC_CLOCK/2/9)
520520   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
521MACHINE_DRIVER_END
521MACHINE_CONFIG_END
522522
523523
524static MACHINE_DRIVER_START( alphaone )
524static MACHINE_CONFIG_DERIVED( alphaone, mhavoc )
525525
526526   /* basic machine hardware */
527   MDRV_IMPORT_FROM(mhavoc)
528527   MDRV_CPU_MODIFY("alpha")
529528   MDRV_CPU_PROGRAM_MAP(alphaone_map)
530529   MDRV_DEVICE_REMOVE("gamma")
r9191r9192
541540
542541   MDRV_DEVICE_REMOVE("pokey3")
543542   MDRV_DEVICE_REMOVE("pokey4")
544MACHINE_DRIVER_END
543MACHINE_CONFIG_END
545544
546545
547546
src/mame/drivers/twinkle.c
r9191r9192
896896   I2CMEM_SLAVE_ADDRESS, 0, 0x100
897897};
898898
899static MACHINE_DRIVER_START( twinkle )
899static MACHINE_CONFIG_START( twinkle, driver_device )
900900   /* basic machine hardware */
901901   MDRV_CPU_ADD("maincpu",  PSXCPU, XTAL_67_7376MHz )
902902   MDRV_CPU_PROGRAM_MAP( main_map )
r9191r9192
942942   MDRV_SOUND_ADD( "cdda", CDDA, 0 )
943943   MDRV_SOUND_ROUTE( 0, "speakerleft", 1.0 )
944944   MDRV_SOUND_ROUTE( 1, "speakerright", 1.0 )
945MACHINE_DRIVER_END
945MACHINE_CONFIG_END
946946
947947static INPUT_PORTS_START( twinkle )
948948
src/mame/drivers/spool99.c
r9191r9192
9494#include "sound/okim6295.h"
9595#include "machine/eeprom.h"
9696
97class spool99_state : public driver_data_t
97class spool99_state : public driver_device
9898{
9999public:
100   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, spool99_state(machine)); }
100   spool99_state(running_machine &machine, const driver_device_config_base &config)
101      : driver_device(machine, config) { }
101102
102   spool99_state(running_machine &machine)
103      : driver_data_t(machine) { }
104
105103   UINT8 *main;
106104   tilemap_t *sc0_tilemap;
107105   UINT8 *cram;
r9191r9192
178176//          case 0xafe5: return 1;
179177//          case 0xafe6: return 1;
180178         case 0xafe7: return eeprom_read_bit(space->machine->device("eeprom"));
181         case 0xaff8: return okim6295_r(space->machine->device("oki"),0);
179         case 0xaff8: return space->machine->device<okim6295_device>("oki")->read(*space,0);
182180      }
183181   }
184182//  printf("%04x %d\n",offset+0xaf00,io_switch);
r9191r9192
212210   AM_RANGE(0xafed, 0xafed) AM_DEVWRITE("eeprom", eeprom_resetline_w )
213211   AM_RANGE(0xafee, 0xafee) AM_DEVWRITE("eeprom", eeprom_clockline_w )
214212   AM_RANGE(0xafef, 0xafef) AM_DEVWRITE("eeprom", eeprom_dataline_w )
215   AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE("oki", okim6295_w)
213   AM_RANGE(0xaff8, 0xaff8) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
216214
217215   AM_RANGE(0xb000, 0xb3ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
218216
r9191r9192
236234         case 0xa725: return input_port_read(space->machine,"HOLD3");
237235         case 0xa726: return input_port_read(space->machine,"HOLD4");
238236         case 0xa727: return input_port_read(space->machine,"HOLD2");
239         case 0xa780: return okim6295_r(space->machine->device("oki"),0);
237         case 0xa780: return space->machine->device<okim6295_device>("oki")->read(*space,0);
240238         case 0xa7a0: return input_port_read(space->machine,"HOLD1");
241239         case 0xa7a1: return input_port_read(space->machine,"HOLD5");
242240         case 0xa7a2: return input_port_read(space->machine,"START");
r9191r9192
258256   AM_RANGE(0xa745, 0xa745) AM_DEVWRITE("eeprom", eeprom_resetline_w )
259257   AM_RANGE(0xa746, 0xa746) AM_DEVWRITE("eeprom", eeprom_clockline_w )
260258   AM_RANGE(0xa747, 0xa747) AM_DEVWRITE("eeprom", eeprom_dataline_w )
261   AM_RANGE(0xa780, 0xa780) AM_DEVWRITE("oki", okim6295_w)
259   AM_RANGE(0xa780, 0xa780) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
262260
263261   AM_RANGE(0xa800, 0xabff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
264262
r9191r9192
335333
336334
337335
338static MACHINE_DRIVER_START( spool99 )
336static MACHINE_CONFIG_START( spool99, spool99_state )
339337
340   MDRV_DRIVER_DATA( spool99_state )
341
342338   MDRV_CPU_ADD("maincpu", Z80, 24000000/8)
343339   MDRV_CPU_PROGRAM_MAP(spool99_map)
344340   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
r9191r9192
364360   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
365361   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47)
366362   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47)
367MACHINE_DRIVER_END
363MACHINE_CONFIG_END
368364
369static MACHINE_DRIVER_START( vcarn )
370
371   MDRV_IMPORT_FROM( spool99)
365static MACHINE_CONFIG_DERIVED( vcarn, spool99 )
372366   MDRV_CPU_MODIFY("maincpu")
373367   MDRV_CPU_PROGRAM_MAP(vcarn_map)
374368
375369   MDRV_SCREEN_MODIFY("screen")
376370   MDRV_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 1*8, 31*8-1) //512x240, raw guess
377371
378MACHINE_DRIVER_END
372MACHINE_CONFIG_END
379373
380374
381375ROM_START( spool99 )
src/mame/drivers/simpl156.c
r9191r9192
259259   AM_RANGE(0x160000, 0x161fff) AM_READWRITE(simpl156_pf1_rowscroll_r, simpl156_pf1_rowscroll_w)
260260   AM_RANGE(0x164000, 0x165fff) AM_READWRITE(simpl156_pf2_rowscroll_r, simpl156_pf2_rowscroll_w)
261261   AM_RANGE(0x170000, 0x170003) AM_READONLY AM_WRITENOP // ?
262   AM_RANGE(0x180000, 0x180003) AM_DEVREADWRITE8("okisfx", okim6295_r, okim6295_w, 0x000000ff)
263   AM_RANGE(0x1c0000, 0x1c0003) AM_DEVREADWRITE8("okimusic", okim6295_r, okim6295_w, 0x000000ff)
262   AM_RANGE(0x180000, 0x180003) AM_DEVREADWRITE8_MODERN("okisfx", okim6295_device, read, write, 0x000000ff)
263   AM_RANGE(0x1c0000, 0x1c0003) AM_DEVREADWRITE8_MODERN("okimusic", okim6295_device, read, write, 0x000000ff)
264264   AM_RANGE(0x200000, 0x200003) AM_READ(simpl156_inputs_read)
265265   AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE_MEMBER(simpl156_state, systemram) // work ram (32-bit)
266266ADDRESS_MAP_END
r9191r9192
271271   AM_RANGE(0x000000, 0x07ffff) AM_ROM // rom (32-bit)
272272   AM_RANGE(0x200000, 0x200003) AM_READ(simpl156_inputs_read)
273273   AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE_MEMBER(simpl156_state, systemram) // work ram (32-bit)
274   AM_RANGE(0x3c0000, 0x3c0003) AM_DEVREADWRITE8("okimusic", okim6295_r, okim6295_w, 0x000000ff)
274   AM_RANGE(0x3c0000, 0x3c0003) AM_DEVREADWRITE8_MODERN("okimusic", okim6295_device, read, write, 0x000000ff)
275275   AM_RANGE(0x400000, 0x407fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE_MEMBER(simpl156_state, mainram) // main ram?
276276   AM_RANGE(0x410000, 0x411fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
277277   AM_RANGE(0x420000, 0x420fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
r9191r9192
283283   AM_RANGE(0x460000, 0x461fff) AM_READWRITE(simpl156_pf1_rowscroll_r, simpl156_pf1_rowscroll_w)
284284   AM_RANGE(0x464000, 0x465fff) AM_READWRITE(simpl156_pf2_rowscroll_r, simpl156_pf2_rowscroll_w)
285285   AM_RANGE(0x470000, 0x470003) AM_READONLY AM_WRITENOP // ??
286   AM_RANGE(0x480000, 0x480003) AM_DEVREADWRITE8("okisfx", okim6295_r, okim6295_w, 0x000000ff)
286   AM_RANGE(0x480000, 0x480003) AM_DEVREADWRITE8_MODERN("okisfx", okim6295_device, read, write, 0x000000ff)
287287ADDRESS_MAP_END
288288
289289
r9191r9192
292292   AM_RANGE(0x000000, 0x07ffff) AM_ROM
293293   AM_RANGE(0x200000, 0x200003) AM_READ(simpl156_inputs_read)
294294   AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE_MEMBER(simpl156_state, systemram) // work ram (32-bit)
295   AM_RANGE(0x340000, 0x340003) AM_DEVREADWRITE8("okimusic", okim6295_r, okim6295_w, 0x000000ff)
295   AM_RANGE(0x340000, 0x340003) AM_DEVREADWRITE8_MODERN("okimusic", okim6295_device, read, write, 0x000000ff)
296296   AM_RANGE(0x380000, 0x387fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE_MEMBER(simpl156_state, mainram) // main ram?
297297   AM_RANGE(0x390000, 0x391fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
298298   AM_RANGE(0x3a0000, 0x3a0fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
r9191r9192
304304   AM_RANGE(0x3e0000, 0x3e1fff) AM_READWRITE(simpl156_pf1_rowscroll_r, simpl156_pf1_rowscroll_w)
305305   AM_RANGE(0x3e4000, 0x3e5fff) AM_READWRITE(simpl156_pf2_rowscroll_r, simpl156_pf2_rowscroll_w)
306306   AM_RANGE(0x3f0000, 0x3f0003) AM_READONLY AM_WRITENOP //?
307   AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8("okisfx", okim6295_r, okim6295_w, 0x000000ff)
307   AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8_MODERN("okisfx", okim6295_device, read, write, 0x000000ff)
308308ADDRESS_MAP_END
309309
310310
r9191r9192
313313   AM_RANGE(0x000000, 0x07ffff) AM_ROM
314314   AM_RANGE(0x200000, 0x200003) AM_READ(simpl156_inputs_read)
315315   AM_RANGE(0x201000, 0x201fff) AM_RAM AM_BASE_MEMBER(simpl156_state, systemram) // work ram (32-bit)
316   AM_RANGE(0x4c0000, 0x4c0003) AM_DEVREADWRITE8("okimusic", okim6295_r, okim6295_w, 0x000000ff)
316   AM_RANGE(0x4c0000, 0x4c0003) AM_DEVREADWRITE8_MODERN("okimusic", okim6295_device, read, write, 0x000000ff)
317317   AM_RANGE(0x680000, 0x687fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE_MEMBER(simpl156_state, mainram) // main ram?
318318   AM_RANGE(0x690000, 0x691fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
319319   AM_RANGE(0x6a0000, 0x6a0fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
r9191r9192
325325   AM_RANGE(0x6e0000, 0x6e1fff) AM_READWRITE(simpl156_pf1_rowscroll_r, simpl156_pf1_rowscroll_w)
326326   AM_RANGE(0x6e4000, 0x6e5fff) AM_READWRITE(simpl156_pf2_rowscroll_r, simpl156_pf2_rowscroll_w)
327327   AM_RANGE(0x6f0000, 0x6f0003) AM_READONLY AM_WRITENOP // ?
328   AM_RANGE(0x780000, 0x780003) AM_DEVREADWRITE8("okisfx", okim6295_r, okim6295_w, 0x000000ff)
328   AM_RANGE(0x780000, 0x780003) AM_DEVREADWRITE8_MODERN("okisfx", okim6295_device, read, write, 0x000000ff)
329329ADDRESS_MAP_END
330330
331331
332332/* Mitchell MT5601-0 PCB (prtytime, charlien, osman) */
333333static ADDRESS_MAP_START( mitchell156_map, ADDRESS_SPACE_PROGRAM, 32 )
334334   AM_RANGE(0x000000, 0x07ffff) AM_ROM
335   AM_RANGE(0x100000, 0x100003) AM_DEVREADWRITE8("okisfx", okim6295_r, okim6295_w, 0x000000ff)
336   AM_RANGE(0x140000, 0x140003) AM_DEVREADWRITE8("okimusic", okim6295_r, okim6295_w, 0x000000ff)
335   AM_RANGE(0x100000, 0x100003) AM_DEVREADWRITE8_MODERN("okisfx", okim6295_device, read, write, 0x000000ff)
336   AM_RANGE(0x140000, 0x140003) AM_DEVREADWRITE8_MODERN("okimusic", okim6295_device, read, write, 0x000000ff)
337337   AM_RANGE(0x180000, 0x187fff) AM_READWRITE(simpl156_mainram_r, simpl156_mainram_w) AM_BASE_MEMBER(simpl156_state, mainram) // main ram
338338   AM_RANGE(0x190000, 0x191fff) AM_READWRITE(simpl156_spriteram_r, simpl156_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
339339   AM_RANGE(0x1a0000, 0x1a0fff) AM_READWRITE(simpl156_palette_r,simpl156_palette_w)
r9191r9192
415415   NULL
416416};
417417
418static MACHINE_DRIVER_START( chainrec )
418static MACHINE_CONFIG_START( chainrec, simpl156_state )
419419
420   /* driver data */
421   MDRV_DRIVER_DATA(simpl156_state)
422
423420   /* basic machine hardware */
424421   MDRV_CPU_ADD("maincpu", ARM, 28000000 /* /4 */)   /*DE156*/ /* 7.000 MHz */ /* measured at 7.. seems to need 28? */
425422   MDRV_CPU_PROGRAM_MAP(chainrec_map)
r9191r9192
451448   MDRV_OKIM6295_ADD("okimusic", 32220000/16, OKIM6295_PIN7_HIGH)
452449   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.2)
453450   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.2)
454MACHINE_DRIVER_END
451MACHINE_CONFIG_END
455452
456static MACHINE_DRIVER_START( magdrop )
453static MACHINE_CONFIG_DERIVED( magdrop, chainrec )
454
457455   /* basic machine hardware */
458   MDRV_IMPORT_FROM(chainrec)
459456   MDRV_CPU_MODIFY("maincpu")
460457   MDRV_CPU_PROGRAM_MAP(magdrop_map)
461MACHINE_DRIVER_END
458MACHINE_CONFIG_END
462459
463static MACHINE_DRIVER_START( magdropp )
460static MACHINE_CONFIG_DERIVED( magdropp, chainrec )
461
464462   /* basic machine hardware */
465   MDRV_IMPORT_FROM(chainrec)
466463   MDRV_CPU_MODIFY("maincpu")
467464   MDRV_CPU_PROGRAM_MAP(magdropp_map)
468MACHINE_DRIVER_END
465MACHINE_CONFIG_END
469466
470static MACHINE_DRIVER_START( joemacr )
467static MACHINE_CONFIG_DERIVED( joemacr, chainrec )
468
471469   /* basic machine hardware */
472   MDRV_IMPORT_FROM(chainrec)
473470   MDRV_CPU_MODIFY("maincpu")
474471   MDRV_CPU_PROGRAM_MAP(joemacr_map)
475MACHINE_DRIVER_END
472MACHINE_CONFIG_END
476473
477static MACHINE_DRIVER_START( mitchell156 )
474static MACHINE_CONFIG_DERIVED( mitchell156, chainrec )
475
478476   /* basic machine hardware */
479   MDRV_IMPORT_FROM(chainrec)
480477   MDRV_CPU_MODIFY("maincpu")
481478   MDRV_CPU_PROGRAM_MAP(mitchell156_map)
482479
483480   MDRV_OKIM6295_REPLACE("okimusic", 32220000/32, OKIM6295_PIN7_HIGH)
484481   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.2)
485482   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.2)
486MACHINE_DRIVER_END
483MACHINE_CONFIG_END
487484
488485
489486/*
src/mame/drivers/lgp.c
r9191r9192
338338
339339
340340/* DRIVER */
341static MACHINE_DRIVER_START( lgp )
341static MACHINE_CONFIG_START( lgp, driver_device )
342342   /* main cpu */
343343   MDRV_CPU_ADD("maincpu", Z80, CPU_PCB_CLOCK)
344344   MDRV_CPU_PROGRAM_MAP(main_program_map)
r9191r9192
366366   /* sound hardware */
367367   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
368368
369   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
369   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
370370   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
371371   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
372MACHINE_DRIVER_END
372MACHINE_CONFIG_END
373373
374374
375375ROM_START( lgp )
src/mame/drivers/deadang.c
r9191r9192
4242#include "audio/seibu.h"
4343#include "sound/2203intf.h"
4444#include "sound/msm5205.h"
45#include "includes/deadang.h"
4546
46extern UINT16 *deadang_video_data, *deadang_scroll_ram;
47
48extern WRITE16_HANDLER( deadang_foreground_w );
49extern WRITE16_HANDLER( deadang_text_w );
50extern WRITE16_HANDLER( deadang_bank_w );
51
52extern VIDEO_START( deadang );
53extern VIDEO_UPDATE( deadang );
54
5547/* Read/Write Handlers */
5648
5749static READ16_HANDLER( ghunter_trackball_low_r )
r9191r9192
7264   AM_RANGE(0x05000, 0x05fff) AM_WRITEONLY
7365   AM_RANGE(0x06000, 0x0600f) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
7466   AM_RANGE(0x06010, 0x07fff) AM_WRITEONLY
75   AM_RANGE(0x08000, 0x087ff) AM_WRITE(deadang_text_w) AM_BASE_GENERIC(videoram)
67   AM_RANGE(0x08000, 0x087ff) AM_WRITE(deadang_text_w) AM_BASE_MEMBER(deadang_state, videoram)
7668   AM_RANGE(0x08800, 0x0bfff) AM_WRITEONLY
7769   AM_RANGE(0x0a000, 0x0a001) AM_READ_PORT("P1_P2")
7870   AM_RANGE(0x0a002, 0x0a003) AM_READ_PORT("DSW")
r9191r9192
225217
226218/* Machine Drivers */
227219
228static MACHINE_DRIVER_START( deadang )
220static MACHINE_CONFIG_START( deadang, deadang_state )
229221
230222   /* basic machine hardware */
231223   MDRV_CPU_ADD("maincpu", V30,XTAL_16MHz/2) /* Sony 8623h9 CXQ70116D-8 (V30 compatible) */
r9191r9192
259251   /* sound hardware */
260252   SEIBU_SOUND_SYSTEM_YM2203_INTERFACE(XTAL_14_31818MHz/4)
261253   SEIBU_SOUND_SYSTEM_ADPCM_INTERFACE
262MACHINE_DRIVER_END
254MACHINE_CONFIG_END
263255
264256/* ROMs */
265257
src/mame/drivers/cliffhgr.c
r9191r9192
7979#include "machine/laserdsc.h"
8080#include "video/tms9928a.h"
8181#include "sound/discrete.h"
82#include "machine/nvram.h"
8283
8384#define CLIFF_ENABLE_SND_1   NODE_01
8485#define CLIFF_ENABLE_SND_2   NODE_02
r9191r9192
230231
231232static ADDRESS_MAP_START( mainmem, ADDRESS_SPACE_PROGRAM, 8 )
232233   AM_RANGE(0x0000, 0xbfff) AM_ROM      /* ROM */
233   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* NVRAM */
234   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")   /* NVRAM */
234235   AM_RANGE(0xe800, 0xefff) AM_RAM      /* RAM */
235236ADDRESS_MAP_END
236237
r9191r9192
684685 *
685686 *************************************/
686687
687static MACHINE_DRIVER_START( cliffhgr )
688static MACHINE_CONFIG_START( cliffhgr, driver_device )
688689
689690   MDRV_CPU_ADD("maincpu", Z80, 4000000)       /* 4MHz */
690691   MDRV_CPU_PROGRAM_MAP(mainmem)
r9191r9192
694695   MDRV_MACHINE_START(cliffhgr)
695696   MDRV_MACHINE_RESET(cliffhgr)
696697
697   MDRV_NVRAM_HANDLER(generic_0fill)
698   MDRV_NVRAM_ADD_0FILL("nvram")
698699
699700   MDRV_LASERDISC_ADD("laserdisc", PIONEER_PR8210, "screen", "ldsound")
700701   MDRV_LASERDISC_OVERLAY(tms9928a, 15+32*8+15, 27+24*8+24, BITMAP_FORMAT_INDEXED16)
701702   MDRV_LASERDISC_OVERLAY_CLIP(15-12, 15+32*8+12-1, 27-9, 27+24*8+9-1)
702703
703704   /* start with the TMS9928a video configuration */
704   MDRV_IMPORT_FROM(tms9928a)
705   MDRV_FRAGMENT_ADD(tms9928a)
705706
706707   /* override video rendering and raw screen info */
707708   MDRV_DEVICE_REMOVE("screen")
r9191r9192
710711   /* sound hardware */
711712   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
712713
713   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
714   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
714715   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
715716   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
716717
717718   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
718719   MDRV_SOUND_CONFIG_DISCRETE(cliffhgr)
719720   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
720MACHINE_DRIVER_END
721MACHINE_CONFIG_END
721722
722723
723724
src/mame/drivers/artmagic.c
r9191r9192
2727#include "video/tlc34076.h"
2828#include "includes/artmagic.h"
2929#include "sound/okim6295.h"
30#include "machine/nvram.h"
3031
3132
3233#define MASTER_CLOCK_40MHz      (XTAL_40MHz)
r9191r9192
428429static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
429430   AM_RANGE(0x000000, 0x07ffff) AM_ROM
430431   AM_RANGE(0x220000, 0x23ffff) AM_RAM
431   AM_RANGE(0x240000, 0x240fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
432   AM_RANGE(0x240000, 0x240fff) AM_RAM AM_SHARE("nvram")
432433   AM_RANGE(0x300000, 0x300001) AM_READ_PORT("300000")
433434   AM_RANGE(0x300002, 0x300003) AM_READ_PORT("300002")
434435   AM_RANGE(0x300004, 0x300005) AM_READ_PORT("300004")
r9191r9192
437438   AM_RANGE(0x30000a, 0x30000b) AM_READ_PORT("30000a")
438439   AM_RANGE(0x300000, 0x300003) AM_WRITE(control_w) AM_BASE(&control)
439440   AM_RANGE(0x300004, 0x300007) AM_WRITE(protection_bit_w)
440   AM_RANGE(0x360000, 0x360001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
441   AM_RANGE(0x360000, 0x360001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
441442   AM_RANGE(0x380000, 0x380007) AM_READWRITE(tms_host_r, tms_host_w)
442443ADDRESS_MAP_END
443444
r9191r9192
445446static ADDRESS_MAP_START( stonebal_map, ADDRESS_SPACE_PROGRAM, 16 )
446447   AM_RANGE(0x000000, 0x07ffff) AM_ROM
447448   AM_RANGE(0x200000, 0x27ffff) AM_RAM
448   AM_RANGE(0x280000, 0x280fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
449   AM_RANGE(0x280000, 0x280fff) AM_RAM AM_SHARE("nvram")
449450   AM_RANGE(0x300000, 0x300001) AM_READ_PORT("300000")
450451   AM_RANGE(0x300002, 0x300003) AM_READ_PORT("300002")
451452   AM_RANGE(0x300004, 0x300005) AM_READ_PORT("300004")
r9191r9192
456457   AM_RANGE(0x30000e, 0x30000f) AM_READ_PORT("30000e")
457458   AM_RANGE(0x300000, 0x300003) AM_WRITE(control_w) AM_BASE(&control)
458459   AM_RANGE(0x300004, 0x300007) AM_WRITE(protection_bit_w)
459   AM_RANGE(0x340000, 0x340001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
460   AM_RANGE(0x340000, 0x340001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
460461   AM_RANGE(0x380000, 0x380007) AM_READWRITE(tms_host_r, tms_host_w)
461462ADDRESS_MAP_END
462463
r9191r9192
705706 *
706707 *************************************/
707708
708static MACHINE_DRIVER_START( artmagic )
709static MACHINE_CONFIG_START( artmagic, driver_device )
709710
710711   /* basic machine hardware */
711712   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK_25MHz/2)
r9191r9192
718719   MDRV_MACHINE_START(artmagic)
719720   MDRV_MACHINE_RESET(artmagic)
720721   MDRV_QUANTUM_TIME(HZ(6000))
721   MDRV_NVRAM_HANDLER(generic_1fill)
722   MDRV_NVRAM_ADD_1FILL("nvram")
722723
723724   /* video hardware */
724725   MDRV_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
r9191r9192
735736
736737   MDRV_OKIM6295_ADD("oki", MASTER_CLOCK_40MHz/3/10, OKIM6295_PIN7_LOW)
737738   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.65)
738MACHINE_DRIVER_END
739MACHINE_CONFIG_END
739740
740741
741static MACHINE_DRIVER_START( cheesech )
742   MDRV_IMPORT_FROM(artmagic)
742static MACHINE_CONFIG_DERIVED( cheesech, artmagic )
743743
744744   MDRV_SOUND_MODIFY("oki")
745745   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
746MACHINE_DRIVER_END
746MACHINE_CONFIG_END
747747
748748
749static MACHINE_DRIVER_START( stonebal )
750   MDRV_IMPORT_FROM(artmagic)
749static MACHINE_CONFIG_DERIVED( stonebal, artmagic )
751750
752751   MDRV_CPU_MODIFY("maincpu")
753752   MDRV_CPU_PROGRAM_MAP(stonebal_map)
r9191r9192
757756
758757   MDRV_SOUND_MODIFY("oki")
759758   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
760MACHINE_DRIVER_END
759MACHINE_CONFIG_END
761760
762761
763762
src/mame/drivers/twincobr.c
r9191r9192
556556
557557
558558
559static MACHINE_DRIVER_START( twincobr )
559static MACHINE_CONFIG_START( twincobr, driver_device )
560560
561561   /* basic machine hardware */
562562   MDRV_CPU_ADD("maincpu", M68000, XTAL_28MHz/4)      /* 7MHz - Main board Crystal is 28MHz */
r9191r9192
601601   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
602602   MDRV_SOUND_CONFIG(ym3812_config)
603603   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
604MACHINE_DRIVER_END
604MACHINE_CONFIG_END
605605
606606
607static MACHINE_DRIVER_START( fsharkbt )
608   MDRV_IMPORT_FROM( twincobr )
607static MACHINE_CONFIG_DERIVED( fsharkbt, twincobr )
609608
610609   MDRV_CPU_ADD("mcu", I8741, XTAL_28MHz/16)
611610   /* Program Map is internal to the CPU */
r9191r9192
613612   MDRV_DEVICE_DISABLE()      /* Internal program code is not dumped */
614613
615614   MDRV_MACHINE_RESET(fsharkbt)   /* Reset fshark bootleg 8741 MCU data */
616MACHINE_DRIVER_END
615MACHINE_CONFIG_END
617616
618617
619618
src/mame/drivers/hexion.c
r9191r9192
8484#include "sound/okim6295.h"
8585#include "sound/k051649.h"
8686#include "includes/konamipt.h"
87#include "includes/hexion.h"
8788
88VIDEO_START( hexion );
89VIDEO_UPDATE( hexion );
9089
91WRITE8_HANDLER( hexion_bankswitch_w );
92READ8_HANDLER( hexion_bankedram_r );
93WRITE8_HANDLER( hexion_bankedram_w );
94WRITE8_HANDLER( hexion_bankctrl_w );
95WRITE8_HANDLER( hexion_gfxrom_select_w );
96
97
98
9990static WRITE8_HANDLER( coincntr_w )
10091{
10192//logerror("%04x: coincntr_w %02x\n",cpu_get_pc(space->cpu),data);
r9191r9192
124115   AM_RANGE(0xe88a, 0xe88e) AM_DEVWRITE("konami", k051649_volume_w)
125116   AM_RANGE(0xe88f, 0xe88f) AM_DEVWRITE("konami", k051649_keyonoff_w)
126117   AM_RANGE(0xf000, 0xf00f) AM_WRITENOP   /* 053252? f00e = IRQ ack, f00f = NMI ack */
127   AM_RANGE(0xf200, 0xf200) AM_DEVWRITE("oki", okim6295_w)
118   AM_RANGE(0xf200, 0xf200) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
128119   AM_RANGE(0xf400, 0xf400) AM_READ_PORT("DSW1")
129120   AM_RANGE(0xf401, 0xf401) AM_READ_PORT("DSW2")
130121   AM_RANGE(0xf402, 0xf402) AM_READ_PORT("P1")
r9191r9192
227218      cpu_set_input_line(device, 0, HOLD_LINE);
228219}
229220
230static MACHINE_DRIVER_START( hexion )
221static MACHINE_CONFIG_START( hexion, driver_device )
231222
232223   /* basic machine hardware */
233224   MDRV_CPU_ADD("maincpu", Z80,24000000/4)   /* Z80B 6 MHz */
r9191r9192
257248
258249   MDRV_SOUND_ADD("konami", K051649, 24000000/16)
259250   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
260MACHINE_DRIVER_END
251MACHINE_CONFIG_END
261252
262253
263254
src/mame/drivers/battlnts.c
r9191r9192
242242   state->spritebank = 0;
243243}
244244
245static MACHINE_DRIVER_START( battlnts )
245static MACHINE_CONFIG_START( battlnts, battlnts_state )
246246
247   /* driver data */
248   MDRV_DRIVER_DATA(battlnts_state)
249
250247   /* basic machine hardware */
251248   MDRV_CPU_ADD("maincpu", HD6309, XTAL_24MHz / 2 /* 3000000*4? */)
252249   MDRV_CPU_PROGRAM_MAP(battlnts_map)
r9191r9192
281278
282279   MDRV_SOUND_ADD("ym2", YM3812, XTAL_24MHz / 8)
283280   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
284MACHINE_DRIVER_END
281MACHINE_CONFIG_END
285282
286283
287284/*************************************
src/mame/drivers/multfish.c
r9191r9192
5555
5656  CPU: Z80
5757Video: ALTERA EPM3032ALC44-10 (x4) + ALTERA MAX EPM3256AOC208-10 (on the HEAD sub board)
58       later board revisions comes with EPM3064 and EPM3512 ALTERA's
5859Sound: File KC98C72 (compatible to YM2149 / AY3-9810)
5960  OSC: 24MHz
6061  RAM: UMC UM61256AK-15 (x2 on mainboard, one on the HEAD)
r9191r9192
8788
8889  Todo:
8990  -------------------------------------------------------------------------
90  Hook up Lamps
9191
92
9392  NOTE:
9493  Revision information comes from dat files, not all of them can be tested
9594  becuase some program rom revisions don't seem to be dumped.
r9191r9192
122121  Keks               FC
123122  Pirate 2           FD
124123
124
125  Edge Connector pinout
126
127+-------------------------+--------------------------+
128|     COMPONENT SIDE      |     SOLDER SIDE          |
129+---+-----------------+---+---+------------------+---+
130|   |                 |1A |1B |                  |   |
131|   |                 |2A |2B |                  |   |
132|Out|SPEAKER          |3A |3B |GND               |   |
133|In |HOLD 1 SW        |4A |4B |BILL ACCEPTOR 1   |In |
134|In |HOLD 2 SW        |5A |5B |BILL ACCEPTOR 2   |In |
135|In |HOLD 3 SW        |6A |6B |BILL ACCEPTOR 3   |In |
136|In |HOLD 4 SW        |7A |7B |BILL ACCEPTOR 4   |In |
137|In |HOLD 5 SW        |8A |8B |HOPPER INHIBIT*   |In |
138|In |START SW         |9A |9B |                  |In |
139|In |BET/DOUBLE SW    |10A|10B|                  |In |
140|In |reserved         |11A|11B|                  |In |
141|In |reserved         |12A|12B|                  |In |
142|In |reserved         |13A|13B|                  |In |
143|In |MAXBET SW        |14A|14B|                  |In |
144|In |HELP SW          |15A|15B|                  |In |
145|In |FRONT DOOR SW    |16A|16B|                  |In |
146|In |BACK DOOR SW     |17A|17B|                  |In |
147|In |COIN A           |18A|18B|COIN B            |In |
148|In |COIN C           |19A|19B|COIN D            |In |
149|In |STATISTIC SW     |20A|20B|SERVICE SW        |In |
150|In |PAY OUT SW*      |21A|21B|KEY OUT SW        |In |
151|Out|                 |22A|22B|HOPPER COIN SW    |In |
152|Out|COIN+BILL COUNTER|23A|23B|COIN LOCK         |Out|
153|Out|KEY IN COUNTER   |24A|24B|BILL ACCEPTOR LOCK|Out|
154|Out|TOTAL IN COUNTER |25A|25B|UPPER LAMP GREEN  |Out|
155|Out|TOTAL OUT COUNTER|26A|26B|UPPER LAMP RED    |Out|
156|Out|KEY OUT COUNTER  |27A|27B|UPPER LAMP YELLOW |Out|
157|Out|                 |28A|28B|TOTAL BET COUNTER |Out|
158|Out|HOLD 1 LAMP      |29A|29B|BET / DOUBLE LAMP |Out|
159|Out|HOLD 2 LAMP      |30A|30B|MAXBET LAMP       |Out|
160|Out|HOLD 3 LAMP      |31A|31B|PAYOUT LAMP       |Out|
161|Out|HOLD 4 LAMP      |32A|32B|                  |Out|
162|Out|HOLD 5 LAMP      |33A|33B|HOPPER MOTOR      |Out|
163|Out|START LAMP       |34A|34B|HELP LAMP         |Out|
164|In |KEY IN SW        |35A|35B|                  |In |
165|   |GND              |36A|36B|GND               |   |
166+---+-----------------+---+---+------------------+---+
125167*/
126168
127169#define ALL_REVISIONS 0
170#define multfish_ROM_SIZE 0x80000
128171
129172#include "emu.h"
130173#include "sound/ay8910.h"
131174#include "cpu/z80/z80.h"
175#include "machine/nvram.h"
132176
133177#define multfish_VIDRAM_SIZE (0x2000*0x10)
134178#define multfish_BRAM_SIZE (0x2000*0x10)
r9191r9192
137181static UINT8* multfish_bram;
138182
139183static int multfish_disp_enable;
184static int multfish_xor_paltype;
185static int multfish_xor_palette;
140186
141187/* Video Part */
142188
r9191r9192
233279
234280      coldat = multfish_vid[(offset&0xfffe)] | (multfish_vid[(offset&0xfffe)^1] << 8);
235281
282      /* xor and bitswap palette */
283      switch (multfish_xor_paltype) {
284         case 1:
285            coldat ^= multfish_xor_palette;
286            coldat ^= ((coldat&0x2) >>1) | ((coldat&0x80) >>3) ;
287            coldat = BITSWAP16(coldat,10,15,5,13,8,12,11,2,0,4,7,14,9,3,1,6);
288            break;
289         case 2:
290                           coldat ^= multfish_xor_palette;
291                           coldat ^= ((coldat&0x0001) <<1) ^ ((coldat&0x0010) <<1) ^ ((coldat&0x0010) <<2) ^ ((coldat&0x0020) <<1) ^ ((coldat&0x0080) >>1);
292                           coldat = BITSWAP16(coldat,4,10,13,14,8,11,15,12,2,6,5,0,7,3,1,9);
293            break;
294      }
236295      r = ( (coldat &0x001f)>> 0);
237296      g = ( (coldat &0x1f00)>> 8);
238297      b = ( (coldat &0x00e0)>> (5));
r9191r9192
285344   otherrambk = data & 0xf0;
286345}
287346
347
288348static READ8_HANDLER( ray_r )
289349{
290350   // the games read the raster beam position as part of the hardware checks..
r9191r9192
308368   }
309369}
310370
311static WRITE8_HANDLER( multfish_port33_w )
371static WRITE8_HANDLER( multfish_hopper_w )
312372{
313   multfish_hopper_motor = data & 0x10; //0x10 Hopper Motor (33B)
373/*  Port 0x33
374
375    7654 3210
376    ---- ---X Coin Lock 23B
377    ---- -X-- Bill Acceptor Lock 24B
378    ---X ---- Hopper Motor 33B
379*/
380   multfish_hopper_motor = data & 0x10;
381        coin_lockout_w(space->machine, 0, data & 0x01);
382        coin_lockout_w(space->machine, 1, data & 0x01);
383        coin_lockout_w(space->machine, 2, data & 0x01);
384        coin_lockout_w(space->machine, 3, data & 0x01);
385        coin_lockout_w(space->machine, 4, data & 0x04);
386        coin_lockout_w(space->machine, 5, data & 0x04);
387        coin_lockout_w(space->machine, 6, data & 0x04);
388        coin_lockout_w(space->machine, 7, data & 0x04);
314389}
315390
316391INLINE UINT8 make_bcd(UINT8 data)
r9191r9192
320395
321396static READ8_HANDLER(multfish_rtc_r)
322397{
398
323399   system_time systime;
324400
325401   space->machine->current_datetime(systime);
r9191r9192
352428}
353429
354430
431DRIVER_INIT( igrosoft )
432{
433        multfish_xor_paltype = 0;
434}
435
436DRIVER_INIT( custom_altera )
437{
438/*
439rom 1
440 swap msb/lsb
441D0 = D0 xor A15
442D1 = D1 xor A14
443D2 = D2 xor A07
444D3 = D3 xor A06
445
446rom 3
447 swap msb/lsb
448D0 = D0 xor A16
449D1 = D1 xor A17
450D2 = D2 xor A08
451D3 = D3 xor A09
452
453rom 2,4
454msb = msb xor lsb
455
456All roms address lines swapped:
457A06 <-> A15
458A07 <-> A14
459A08 <-> A16
460A09 <-> A17
461A10 <-> A18
462A12 <-> A13
463*/
464
465   UINT32 i,j,jscr,romoffset;
466   UINT8 *multfish_gfx = memory_region(machine, "gfx");
467   UINT8 *temprom = auto_alloc_array(machine, UINT8, multfish_ROM_SIZE);
468
469
470   /* ROM 1 decode */
471   romoffset = 0x000000;
472   for (i = 0; i < multfish_ROM_SIZE; i++)
473   {
474      jscr = ((i & 0x8000)>>15) | ((i & 0x4000)>>13) | ((i & 0x0080)>>5) | ((i & 0x0040)>>3);
475      multfish_gfx[romoffset+i] = (((0x0f & multfish_gfx[romoffset+i])<<4) | ((0xf0 & multfish_gfx[romoffset+i])>>4)) ^ jscr;
476   }
477        /* ROM 2 decode */
478   romoffset = 0x100000;
479   for (i = 0; i < multfish_ROM_SIZE; i++)
480   {
481      multfish_gfx[romoffset+i] ^=  (0x0f & multfish_gfx[romoffset+i])<<4;
482   }
483   /* ROM 3 decode */
484   romoffset = 0x200000;
485   for (i = 0; i < multfish_ROM_SIZE; i++)
486   {
487      jscr = ((i & 0x300)>>6) | ((i & 0x30000)>>16);
488      multfish_gfx[romoffset+i] = (((0x0f & multfish_gfx[romoffset+i])<<4) | ((0xf0 & multfish_gfx[romoffset+i])>>4)) ^ jscr;
489   }
490   /* ROM 4 decode */
491   romoffset = 0x300000;
492   for (i = 0; i < multfish_ROM_SIZE; i++)
493   {
494      multfish_gfx[romoffset+i] ^= (0x0f & multfish_gfx[romoffset+i])<<4;
495   }
496
497   /* Deshuffle all roms*/
498   for (i = 0;i < 8;i++)
499   {
500      romoffset = i * multfish_ROM_SIZE;
501
502      for (j = 0; j < (multfish_ROM_SIZE/0x40); j++)
503      {
504         jscr =  BITSWAP16(j,15,14,13,4,3,2,0,1,6,7,5,12,11,10,8,9);
505         memcpy(&temprom[j*0x40],&multfish_gfx[romoffset+(jscr*0x40)],0x40);
506
507      }
508      memcpy(&multfish_gfx[romoffset],temprom,multfish_ROM_SIZE);
509          }
510        auto_free(machine, temprom);
511}
512
513INLINE void rom_decodel(UINT8 *romptr, UINT8 *tmprom, UINT8 xor_data, UINT32 xor_add)
514{
515   UINT32 i, jscr;
516
517   for (i = 0; i < multfish_ROM_SIZE; i++)
518   {
519      jscr =  BITSWAP24(i,23,22,21,20,19,17,14,18,16,15,12,13,11,9,6,10,8,7,4,5,3,2,1,0) ^ xor_add ^ 8;
520           tmprom[i] = romptr[jscr] ^ xor_data;
521   }
522   memcpy(romptr,tmprom,multfish_ROM_SIZE);
523}
524INLINE void rom_decodeh(UINT8 *romptr, UINT8 *tmprom, UINT8 xor_data, UINT32 xor_add)
525{
526   UINT32 i, jscr;
527
528   for (i = 0; i < multfish_ROM_SIZE; i++)
529   {
530      jscr =  BITSWAP24(i,23,22,21,20,19,17,14,18,16,15,12,13,11,9,6,10,8,7,4,5,2,3,1,0) ^ xor_add;
531           tmprom[i] = romptr[jscr] ^ xor_data;
532   }
533   memcpy(romptr,tmprom,multfish_ROM_SIZE);
534}
535
536static void lottery_decode(running_machine *machine, UINT8 xor12, UINT8 xor34, UINT8 xor56, UINT8 xor78, UINT32 xor_addr)
537{
538   UINT8 *multfish_gfx = memory_region(machine, "gfx");
539   UINT8 *temprom = auto_alloc_array(machine, UINT8, multfish_ROM_SIZE);
540
541   /* ROMs decode */
542   rom_decodel(&multfish_gfx[0x000000], temprom, xor12, xor_addr);
543   rom_decodel(&multfish_gfx[0x100000], temprom, xor12, xor_addr);
544   rom_decodel(&multfish_gfx[0x200000], temprom, xor34, xor_addr);
545   rom_decodel(&multfish_gfx[0x300000], temprom, xor34, xor_addr);
546   rom_decodeh(&multfish_gfx[0x080000], temprom, xor56, xor_addr);
547   rom_decodeh(&multfish_gfx[0x180000], temprom, xor56, xor_addr);
548   rom_decodeh(&multfish_gfx[0x280000], temprom, xor78, xor_addr);
549   rom_decodeh(&multfish_gfx[0x380000], temprom, xor78, xor_addr);
550
551        auto_free(machine, temprom);
552}
553
554DRIVER_INIT( island2_altera )
555{
556        multfish_xor_palette = 0x8bf7;
557        multfish_xor_paltype = 1;
558   lottery_decode(machine, 0xff, 0x11, 0x77, 0xee, 0x44c40);
559}
560DRIVER_INIT( keks_altera )
561{
562        multfish_xor_palette = 0x41f3;
563        multfish_xor_paltype = 1;
564   lottery_decode(machine, 0xdd, 0xaa, 0x22, 0x55, 0x2cac0);
565}
566DRIVER_INIT( pirate2_altera )
567{
568        multfish_xor_palette = 0x8bfb;
569        multfish_xor_paltype = 1;
570   lottery_decode(machine, 0xaa, 0x11, 0x22, 0xee, 0x48480);
571}
572DRIVER_INIT( cocktail2_altera )
573{
574        multfish_xor_palette = 0xedfb;
575        multfish_xor_paltype = 1;
576   lottery_decode(machine, 0x55, 0x11, 0xff, 0xee, 0x78780);
577}
578DRIVER_INIT( sweetl2_altera )
579{
580        multfish_xor_palette = 0x4bf7;
581        multfish_xor_paltype = 1;
582   lottery_decode(machine, 0xdd, 0x33, 0x33, 0x77, 0x00800);
583}
584DRIVER_INIT( gnome_altera )
585{
586        multfish_xor_palette = 0x49ff;
587        multfish_xor_paltype = 1;
588   lottery_decode(machine, 0xcc, 0x22, 0x33, 0x66, 0x14940);
589}
590DRIVER_INIT( crzmonent_altera )
591{
592        multfish_xor_palette = 0x1cdb;
593        multfish_xor_paltype = 2;
594}
595DRIVER_INIT( resdntent_altera )
596{
597        multfish_xor_palette = 0x6edb;
598        multfish_xor_paltype = 2;
599}
600DRIVER_INIT( gnomeent_altera )
601{
602        multfish_xor_palette = 0x9edb;
603        multfish_xor_paltype = 2;
604}
605
355606static ADDRESS_MAP_START( multfish_map, ADDRESS_SPACE_PROGRAM, 8 )
356607   AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITE(multfish_vid_w)
357608   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
358   AM_RANGE(0xc000, 0xdff7) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
609   AM_RANGE(0xc000, 0xdff7) AM_RAM AM_SHARE("nvram")
359610   AM_RANGE(0xdff8, 0xdfff) AM_READWRITE(multfish_rtc_r, multfish_rtc_w)
360   AM_RANGE(0xe000, 0xffff) AM_READWRITE(bankedram_r, bankedram_w)
611   AM_RANGE(0xe000, 0xffff) AM_READWRITE(bankedram_r, bankedram_w)      // FIXME: actualy here SRAM
361612ADDRESS_MAP_END
362613
363// According to the self test the 7 user buttons are arranged as
364// Bet/Cancel  |  1 Line  |  3 Lines  |  5 Lines  | 7 Lines  | 9 Lines  | Start
614// According to control panel the user buttons are arranged as
615// Maxbet | Help | Payout |
616// Bet/Cancel  |  1 Line  |  3 Lines  |  5 Lines  | 7 Lines  | 9 Lines  | Start |
365617
366618
367619static INPUT_PORTS_START( multfish )
368620   PORT_START("IN0")
369   PORT_DIPNAME(     0x01, 0x01, "Key In (35 A)" ) // Key In ( 35 A )
370   PORT_DIPSETTING(  0x01, DEF_STR( Off ) )
371   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
372   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN B (18 B)
621   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_TOGGLE // Key In ( 35 A )
622   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) // COIN B (18 B)
373623   PORT_DIPNAME(     0x04, 0x04, "S Reserve (14 B)" ) // S Reserve ( 14 B )
374624   PORT_DIPSETTING(  0x04, DEF_STR( Off ) )
375625   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
376626   PORT_DIPNAME(     0x08, 0x08, "Hopper 3 ( 10 B )" ) // Hooper 3 ( 10 B )
377627   PORT_DIPSETTING(  0x08, DEF_STR( Off ) )
378628   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
379   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("7 Lines") PORT_CODE(KEYCODE_B)
629   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP4 ) PORT_NAME("7 Lines")
380630   PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
381631
382632   PORT_START("IN1")
r9191r9192
387637   PORT_DIPNAME(     0x04, 0x04, "P Reserve (13 A)" )
388638   PORT_DIPSETTING(  0x04, DEF_STR( Off ) )
389639   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
390   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start")
391   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN8 ) // BILL 4 (07 A)
640   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Take")
641   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN8 ) PORT_IMPULSE(2) // BILL 4 (07 A)
392642   PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
393643
394
395644   PORT_START("IN2")
396645   PORT_DIPNAME(     0x01, 0x01, "Unused??" ) // unused?
397646   PORT_DIPSETTING(  0x01, DEF_STR( Off ) )
r9191r9192
405654   PORT_DIPNAME(     0x08, 0x08, "Hopper 2 (09 B)" )
406655   PORT_DIPSETTING(  0x08, DEF_STR( Off ) )
407656   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
408   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("5 Lines") PORT_CODE(KEYCODE_V)
657   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("5 Lines")
409658   PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
410659
411
412660   PORT_START("IN3")
413   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Pay Out") PORT_CODE(KEYCODE_D) // not currently working!
661   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT )
414662   PORT_DIPNAME(     0x02, 0x02, "S Reserve (16 B)" )
415663   PORT_DIPSETTING(  0x02, DEF_STR( Off ) )
416664   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
r9191r9192
420668   PORT_DIPNAME(     0x08, 0x08, "Hopper 1 (08 B)" )
421669   PORT_DIPSETTING(  0x08, DEF_STR( Off ) )
422670   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
423   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN5 ) // BILL 1 (04 B)
671   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN5 ) PORT_IMPULSE(2) // BILL 1 (04 B)
424672   PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
425673
426
427674   PORT_START("IN4")
428675   PORT_DIPNAME(     0x01, 0x01, "S Reserve (35 B)" )
429676   PORT_DIPSETTING(  0x01, DEF_STR( Off ) )
430677   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
431   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) // COIN C (19 A)
432   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Help") PORT_CODE(KEYCODE_S)
433   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("9 Lines") PORT_CODE(KEYCODE_N)
434   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("1 Line") PORT_CODE(KEYCODE_X)
678   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) // COIN C (19 A)
679   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Help")
680   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) PORT_NAME("9 Lines") // must be IPT_SLOT_STOP5
681   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("1 Line")
435682   PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
436683
437
438684   PORT_START("IN5")
439685   PORT_SERVICE(     0x01, IP_ACTIVE_LOW )
440   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN4 ) // COIN D (19 B)
686   PORT_BIT(         0x02, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) // COIN D (19 B)
441687   PORT_DIPNAME(     0x04, 0x04, "S Reserve (16 B)" )
442688   PORT_DIPSETTING(  0x04, DEF_STR( Off ) )
443689   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
444   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Bet / Double / Cancel") PORT_CODE(KEYCODE_Z)
445   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN6 ) // BILL 2 (05 A)
690   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_NAME("Bet / Double / Cancel")
691   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN6 ) PORT_IMPULSE(2) // BILL 2 (05 A)
446692   PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
447693
448694   PORT_START("IN6")
449   PORT_DIPNAME(     0x01, 0x01, "Short St (20 A)")
450   PORT_DIPSETTING(  0x01, DEF_STR( Off ) )
451   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
452   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN A (18 A)
453   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Max Bet") PORT_CODE(KEYCODE_A)
695   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Short Statistic") // Short St (20 A)
696   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // COIN A (18 A)
697   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Max Bet")
454698   PORT_DIPNAME(     0x08, 0x08, "Hopper 4 (11 A)" )
455699   PORT_DIPSETTING(  0x08, DEF_STR( Off ) )
456700   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
457   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("3 Lines") PORT_CODE(KEYCODE_C)
701   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("3 Lines")
458702   PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
459703
460704   PORT_START("IN7")
461   PORT_DIPNAME(     0x01, 0x01, "Key Out (21 B)" )
462   PORT_DIPSETTING(  0x01, DEF_STR( Off ) )
463   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
705   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // Key Out (21 B)
464706   PORT_DIPNAME(     0x02, 0x02, "Fr Door (16 A)" )
465707   PORT_DIPSETTING(  0x02, DEF_STR( Off ) )
466708   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
r9191r9192
470712   PORT_DIPNAME(     0x08, 0x08, "P Reserve (11 A)" )
471713   PORT_DIPSETTING(  0x08, DEF_STR( Off ) )
472714   PORT_DIPSETTING(  0x00, DEF_STR( On ) )
473   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN7 ) // BILL 3 (06 A)
715   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN7 ) PORT_IMPULSE(2) // BILL 3 (06 A)
474716   PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNUSED ) // unused?
475717INPUT_PORTS_END
476718
477719static INPUT_PORTS_START( rollfr )
478720   PORT_START("IN0")
479721   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
480   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN B (18 B)
722   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // COIN B (18 B)
481723   PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
482724
483725   PORT_START("IN1")
r9191r9192
500742   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
501743
502744   PORT_START("IN5")
503   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) //Service SW (20 B)
745   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) //Service SW (20 B)
504746   PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
505747
506748   PORT_START("IN6")
507   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE2 ) //Statistic SW (20 A)
749   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) //Statistic SW (20 A)
508750   PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNUSED )
509751
510752   PORT_START("IN7")
r9191r9192
514756INPUT_PORTS_END
515757
516758
759static WRITE8_HANDLER( multfish_lamps1_w )
760{
761/*  Port 0x30
762
763    7654 3210
764    ---- ---X Hold 1 Lamp 29A
765    ---- --X- Hold 2 Lamp 30A
766    ---- -X-- Hold 3 Lamp 31A
767    ---- X--- Hold 4 Lamp 32A
768    ---X ---- Hold 5 Lamp 33A
769    --X- ---- Help Lamp 34B
770    -X-- ---- Start Lamp 34A
771    X--- ---- Bet/Double Lamp 29B
772*/
773   output_set_lamp_value(1, ((data) & 1));      /* Hold 1 Lamp */
774   output_set_lamp_value(2, ((data >> 1) & 1)); /* Hold 2 Lamp */
775   output_set_lamp_value(3, ((data >> 2) & 1)); /* Hold 3 Lamp */
776   output_set_lamp_value(4, ((data >> 3) & 1)); /* Hold 4 Lamp */
777   output_set_lamp_value(5, ((data >> 4) & 1)); /* Hold 5 Lamp */
778   output_set_lamp_value(8, ((data >> 5) & 1)); /* Help Lamp */
779   output_set_lamp_value(6, ((data >> 6) & 1)); /* Start Lamp */
780   output_set_lamp_value(0, ((data >> 7) & 1)); /* Bet/Double Lamp */
781}
782
783static WRITE8_HANDLER( multfish_lamps2_w )
784{
785/*  Port 0x34
786
787    7654 3210
788    ---- ---X Payout Lamp 31B
789    ---- --X- Upper Lamp Yellow 27B (Hopper Error)
790    ---- -X-- Maxbet Lamp 30B
791    ---X ---- Upper Lamp Green 25B  (Demo Mode)
792*/
793   output_set_lamp_value(9, ((data) & 1));       /* Payout Lamp */
794   output_set_lamp_value(12, ((data >> 1) & 1)); /* Upper Lamp Yellow */
795   output_set_lamp_value(7, ((data >> 2) & 1));  /* Maxbet Lamp */
796   output_set_lamp_value(10, ((data >> 4) & 1)); /* Upper Lamp Green */
797}
798
799static WRITE8_HANDLER( multfish_lamps3_w )
800{
801/*  Port 0x35
802
803    7654 3210
804    ---- --X- Upper Lamp Red 26B (Service Mode)
805*/
806   output_set_lamp_value(11, ((data >> 1) & 1)); /* Upper Lamp Red */
807}
808
809static WRITE8_HANDLER( multfish_counters_w )
810{
811/*  Port 0x31
812
813    7654 3210
814    ---- ---X Total In Counter 25A
815    ---- --X- Coin+Bill Counter 23A
816    ---- -X-- Key In Counter 24A
817    ---X ---- Total Out Counter 26A
818    -X-- ---- Key Out Counter 27A
819    X--- ---- Total Bet Counter 28B
820*/
821        coin_counter_w(space->machine, 0, data & 0x01);
822        coin_counter_w(space->machine, 1, data & 0x02);
823        coin_counter_w(space->machine, 2, data & 0x04);
824        coin_counter_w(space->machine, 3, data & 0x10);
825        coin_counter_w(space->machine, 4, data & 0x40);
826        coin_counter_w(space->machine, 5, data & 0x80);
827}
828
517829static WRITE8_HANDLER( multfish_f3_w )
518830{
519831   //popmessage("multfish_f3_w %02x",data);
520832}
521833
522static WRITE8_HANDLER( multfish_f4_w )
834static WRITE8_HANDLER( multfish_dispenable_w )
523835{
524836   //popmessage("multfish_f4_w %02x",data); // display enable?
525837   multfish_disp_enable = data;
r9191r9192
536848   AM_RANGE(0x16, 0x16) AM_READ_PORT("IN6")
537849   AM_RANGE(0x17, 0x17) AM_READ_PORT("IN7")
538850
539   /* Write ports not hooked up yet (lights etc.) */
540//  AM_RANGE(0x30, 0x30) AM_WRITE(multfish_port30_w)
541//  AM_RANGE(0x31, 0x31) AM_WRITE(multfish_port31_w)
851   /* Write ports not hooked up yet */
852   AM_RANGE(0x30, 0x30) AM_WRITE(multfish_lamps1_w)
853        AM_RANGE(0x31, 0x31) AM_WRITE(multfish_counters_w)
542854//  AM_RANGE(0x32, 0x32) AM_WRITE(multfish_port32_w)
543   AM_RANGE(0x33, 0x33) AM_WRITE(multfish_port33_w) //0x10 Hopper Motor (33B)
544//  AM_RANGE(0x34, 0x34) AM_WRITE(multfish_port34_w)
545//  AM_RANGE(0x35, 0x35) AM_WRITE(multfish_port35_w)
855   AM_RANGE(0x33, 0x33) AM_WRITE(multfish_hopper_w)
856   AM_RANGE(0x34, 0x34) AM_WRITE(multfish_lamps2_w)
857   AM_RANGE(0x35, 0x35) AM_WRITE(multfish_lamps3_w)
546858//  AM_RANGE(0x36, 0x36) AM_WRITE(multfish_port36_w)
547//  AM_RANGE(0x37, 0x37) AM_WRITE(multfish_watchdog_reset_w)
859   AM_RANGE(0x37, 0x37) AM_WRITE(watchdog_reset_w)
548860   AM_RANGE(0x38, 0x38) AM_DEVWRITE("aysnd", ay8910_address_w)
549861   AM_RANGE(0x39, 0x39) AM_DEVWRITE("aysnd", ay8910_data_w)
550862   AM_RANGE(0x3a, 0x3a) AM_DEVREAD("aysnd", ay8910_r)
551863
864   AM_RANGE(0x60, 0x60) AM_WRITE(multfish_dispenable_w) // display enable mirror for lottery sets
865
552866   AM_RANGE(0x90, 0x90) AM_READ(ray_r)
553867
554   AM_RANGE(0xd0, 0xd0)  AM_WRITE(multfish_bank_w) // rollfr_3a banking
868   AM_RANGE(0xa0, 0xa0)  AM_WRITE(multfish_bank_w) // Crazy Monkey 2 banking
869   AM_RANGE(0xb0, 0xb0)  AM_WRITE(multfish_bank_w) // Fruit Cocktail 2 lottery banking
870   AM_RANGE(0xb1, 0xb1)  AM_WRITE(multfish_bank_w) // Crazy Monkey Ent banking
871   AM_RANGE(0xb6, 0xb6)  AM_WRITE(multfish_bank_w) // Resident Ent banking
872   AM_RANGE(0xbf, 0xbf)  AM_WRITE(multfish_bank_w) // Gnome Ent banking
873   AM_RANGE(0xc7, 0xc7)  AM_WRITE(multfish_bank_w) // Resident lottery banking
874   AM_RANGE(0xca, 0xca)  AM_WRITE(multfish_bank_w) // Gnome lottery banking
875   AM_RANGE(0xcb, 0xcb)  AM_WRITE(multfish_bank_w) // Keks lottery banking
876   AM_RANGE(0xcc, 0xcc)  AM_WRITE(multfish_bank_w) // Sweet Life 2 lottery banking
877   AM_RANGE(0xcd, 0xcd)  AM_WRITE(multfish_bank_w) // Island 2 lottery banking
878   AM_RANGE(0xce, 0xce)  AM_WRITE(multfish_bank_w) // Pirate 2 lottery banking
879   AM_RANGE(0xd0, 0xd0)  AM_WRITE(multfish_bank_w) // rollfr_4 banking
555880   AM_RANGE(0xe1, 0xe1)  AM_WRITE(multfish_bank_w) // Island 2 banking
556881   AM_RANGE(0xe5, 0xe5)  AM_WRITE(multfish_bank_w) // Gnome banking
557882   AM_RANGE(0xe8, 0xe8)  AM_WRITE(multfish_bank_w) // Sweet Life 2 banking
558883   AM_RANGE(0xea, 0xea)  AM_WRITE(multfish_bank_w) // Fruit Cocktail 2 banking
884   AM_RANGE(0xec, 0xec)  AM_WRITE(multfish_bank_w) // Crazy Monkey lottery banking
559885
560886   AM_RANGE(0xf1, 0xf1)  AM_WRITE(multfish_rambank_w)
561887   AM_RANGE(0xf3, 0xf3)  AM_WRITE(multfish_f3_w) // from 00->01 at startup, irq enable maybe?
562   AM_RANGE(0xf4, 0xf4)  AM_WRITE(multfish_f4_w) // display enable?
888   AM_RANGE(0xf4, 0xf4)  AM_WRITE(multfish_dispenable_w) // display enable
563889
564890   /* mirrors of the rom banking */
565891   AM_RANGE(0xf8, 0xfd)  AM_WRITE(multfish_bank_w)
r9191r9192
606932};
607933
608934
609static MACHINE_DRIVER_START( multfish )
935static MACHINE_CONFIG_START( multfish, driver_device )
610936   /* basic machine hardware */
611937   MDRV_CPU_ADD("maincpu", Z80,6000000) /* 6 MHz? */
612938   MDRV_CPU_PROGRAM_MAP(multfish_map)
r9191r9192
624950   MDRV_GFXDECODE(multfish)
625951   MDRV_PALETTE_LENGTH(0x1000)
626952
627   MDRV_NVRAM_HANDLER(generic_0fill)
953   MDRV_NVRAM_ADD_0FILL("nvram")
628954
629955   MDRV_VIDEO_START(multfish)
630956   MDRV_VIDEO_UPDATE(multfish)
r9191r9192
633959   MDRV_SOUND_ADD("aysnd", AY8910, 6000000/4)
634960   MDRV_SOUND_CONFIG(ay8910_config)
635961   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
636MACHINE_DRIVER_END
962MACHINE_CONFIG_END
637963
964
638965static MACHINE_RESET( island2a )
639966{
640967   MACHINE_RESET_CALL(multfish);
r9191r9192
644971   multfish_bram[0x2003] = 0x01;
645972   multfish_bram[0x4003] = 0x02;
646973}
647static MACHINE_DRIVER_START( island2a )
974static MACHINE_CONFIG_DERIVED( island2a, multfish )
975
648976   /* basic machine hardware */
649   MDRV_IMPORT_FROM(multfish)
650977   MDRV_MACHINE_RESET( island2a )
651MACHINE_DRIVER_END
978MACHINE_CONFIG_END
652979
653980
654981
982/* Rom Naming note:
655983
984The GFX ROMs do not have labels, for clarity we name
985them after the first revision on which they were used
986
987*/
988
656989/*********************************************************
657990   Multifish
658991**********************************************************/
659992
660#if ALL_REVISIONS
661993ROM_START( mfish ) // 021120
662994   ROM_REGION( 0x40000, "maincpu", 0 )
663995   ROM_LOAD( "mf021120.rom", 0x00000, 0x40000, MD5(6021e2bfa67abdfc0beb7f291fdc9d9c) SHA1(eb7eb5aae00a77edcf328f460970eb180d86d058) )
664996
665997   ROM_REGION( 0x400000, "gfx", 0 )
666   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
667   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
668   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
669   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
670   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
671   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
672   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
673   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
998   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
999   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1000   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1001   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1002   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1003   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1004   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1005   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
6741006ROM_END
6751007
6761008ROM_START( mfish_2 ) // 021121
r9191r9192
6781010   ROM_LOAD( "mf021121.rom", 0x00000, 0x40000, MD5(727dc01459f6745caa2b19fbd4432055) SHA1(87a1fb81330cf4b66e17702c22fda694ebff58eb) )
6791011
6801012   ROM_REGION( 0x400000, "gfx", 0 )
681   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
682   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
683   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
684   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
685   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
686   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
687   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
688   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1013   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1014   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1015   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1016   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1017   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1018   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1019   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1020   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
6891021ROM_END
690#endif
6911022
6921023ROM_START( mfish_3 ) // 021124
6931024   ROM_REGION( 0x40000, "maincpu", 0 )
6941025   ROM_LOAD( "mf021124.rom", 0x00000, 0x40000, CRC(59fd16f5) SHA1(ea132f68e9c09c40369d4cc02c670ee6e26bdcbe) )
6951026
6961027   ROM_REGION( 0x400000, "gfx", 0 )
697   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
698   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
699   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
700   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
701   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
702   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
703   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
704   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1028   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1029   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1030   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1031   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1032   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1033   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1034   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1035   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
7051036ROM_END
7061037
707ROM_START( mfish_3a ) // 021124 bank F9
708   ROM_REGION( 0x40000, "maincpu", 0 )
709   ROM_LOAD( "mf021124a.rom", 0x00000, 0x40000, CRC(31344b4e) SHA1(33c7f30b55d22c087a02e840456d475177df8bf1) ) /* Not officially listed on Igrosoft's web site hash page */
7101038
711   ROM_REGION( 0x400000, "gfx", 0 )
712   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
713   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
714   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
715   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
716   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
717   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
718   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
719   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
720ROM_END
721
722#if ALL_REVISIONS
7231039ROM_START( mfish_4 ) // 021219
7241040   ROM_REGION( 0x40000, "maincpu", 0 )
7251041   ROM_LOAD( "mf021219.rom", 0x00000, 0x40000, MD5(c8810d803d320d9fefa46588c8ef28c0) SHA1(887d456b2ba89560329457d9eaea26fb72223a38) )
7261042
7271043   ROM_REGION( 0x400000, "gfx", 0 )
728   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
729   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
730   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
731   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
732   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
733   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
734   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
735   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1044   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1045   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1046   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1047   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1048   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1049   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1050   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1051   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
7361052ROM_END
7371053
7381054ROM_START( mfish_5 ) // 021227
r9191r9192
7401056   ROM_LOAD( "mf021227.rom", 0x00000, 0x40000, MD5(1bbdff5bd2b89a0c9c474286c55d16db) SHA1(58b74c41a88a781da01dba52744dc74e41deae70) )
7411057
7421058   ROM_REGION( 0x400000, "gfx", 0 )
743   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
744   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
745   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
746   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
747   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
748   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
749   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
750   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1059   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1060   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1061   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1062   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1063   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1064   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1065   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1066   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
7511067ROM_END
752#endif
7531068
7541069ROM_START( mfish_6 ) // 030124
7551070   ROM_REGION( 0x40000, "maincpu", 0 )
7561071   ROM_LOAD( "mf030124.rom", 0x00000, 0x40000, CRC(554c9cda) SHA1(b119b086bad3f6f8acc64a5809ce449800615406) )
7571072
7581073   ROM_REGION( 0x400000, "gfx", 0 )
759   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
760   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
761   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
762   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
763   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
764   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
765   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
766   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1074   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1075   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1076   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1077   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1078   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1079   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1080   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1081   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
7671082ROM_END
7681083
769#if ALL_REVISIONS
7701084ROM_START( mfish_7 ) // 030511
7711085   ROM_REGION( 0x40000, "maincpu", 0 )
7721086   ROM_LOAD( "mf030511.rom", 0x00000, 0x40000, MD5(a910910ce7963a4385e31769789842f7) SHA1(06b3e3875f036782983e29e305f67a36f78a4f06) )
7731087
7741088   ROM_REGION( 0x400000, "gfx", 0 )
775   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
776   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
777   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
778   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
779   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
780   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
781   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
782   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1089   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1090   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1091   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1092   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1093   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1094   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1095   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1096   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
7831097ROM_END
7841098
7851099ROM_START( mfish_8 ) // 030522
r9191r9192
7871101   ROM_LOAD( "mf030522.rom", 0x00000, 0x40000, MD5(17dc6bf0308a4ac53bdff0ade1216235) SHA1(fa80e12275b960374c84518bcaa1e32d0a4ff437) )
7881102
7891103   ROM_REGION( 0x400000, "gfx", 0 )
790   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
791   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
792   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
793   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
794   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
795   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
796   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
797   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1104   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1105   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1106   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1107   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1108   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1109   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1110   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1111   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
7981112ROM_END
7991113
8001114ROM_START( mfish_9 ) // 031026
r9191r9192
8021116   ROM_LOAD( "mf031026.rom", 0x00000, 0x40000, MD5(a0a31829705ad78786f7c1bd36cee0cf) SHA1(451b390793f89188afe2b6e82fc02b474fb97a7c) )
8031117
8041118   ROM_REGION( 0x400000, "gfx", 0 )
805   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
806   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
807   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
808   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
809   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
810   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
811   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
812   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1119   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1120   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1121   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1122   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1123   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1124   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1125   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1126   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
8131127ROM_END
8141128
8151129ROM_START( mfish_10 ) // 031117
r9191r9192
8171131   ROM_LOAD( "mf031117.rom", 0x00000, 0x40000, MD5(531a3e63c46be33a151c06bdd9479655) SHA1(1d244a332af0fb6aa593a246211ff2b6d2c48a59) )
8181132
8191133   ROM_REGION( 0x400000, "gfx", 0 )
820   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
821   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
822   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
823   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
824   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
825   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
826   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
827   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1134   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1135   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1136   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1137   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1138   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1139   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1140   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1141   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
8281142ROM_END
829#endif
8301143
8311144ROM_START( mfish_11 ) // 031124
8321145   ROM_REGION( 0x40000, "maincpu", 0 )
8331146   ROM_LOAD( "mf031124.rom", 0x00000, 0x40000, CRC(1d60d37a) SHA1(c0d1b541c4b076bbc810ad637acb4a2663a919ba) )
8341147
8351148   ROM_REGION( 0x400000, "gfx", 0 )
836   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
837   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
838   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
839   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
840   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
841   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
842   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
843   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1149   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1150   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1151   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1152   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1153   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1154   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1155   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1156   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
8441157ROM_END
8451158
8461159ROM_START( mfish_12 ) // 040308
r9191r9192
8481161   ROM_LOAD( "mf040308.rom", 0x00000, 0x40000, CRC(adb9c1d9) SHA1(88c69f48766dc7c98a6f03c1a0a4aa63b76560b6) )
8491162
8501163   ROM_REGION( 0x400000, "gfx", 0 )
851   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
852   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
853   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
854   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
855   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
856   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
857   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
858   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1164   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1165   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1166   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1167   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1168   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1169   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1170   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1171   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
8591172ROM_END
8601173
861ROM_START( mfish_12a ) // 040308 bank F9
862   ROM_REGION( 0x40000, "maincpu", 0 )
863   ROM_LOAD( "mf040308a.rom", 0x00000, 0x40000, CRC(44537648) SHA1(7bce6085778ff0b21c052ae91703de3b78b8eed0) ) /* Not officially listed on Igrosoft's web site hash page */
8641174
865   ROM_REGION( 0x400000, "gfx", 0 )
866   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
867   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
868   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
869   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
870   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
871   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
872   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
873   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
874ROM_END
875
876#if ALL_REVISIONS
8771175ROM_START( mfish_13 ) // 040316
8781176   ROM_REGION( 0x40000, "maincpu", 0 )
879   ROM_LOAD( "mf040316.rom", 0x00000, 0x40000, MD5(66019927201954518261652147b05e43) SHA1(c1f4d1c51632a45b533d19c8b6f63d337d84d9cd) )
1177   ROM_LOAD( "mf040316.rom", 0x00000, 0x40000, CRC(1acf9f4f) SHA1(c1f4d1c51632a45b533d19c8b6f63d337d84d9cd) )
8801178
8811179   ROM_REGION( 0x400000, "gfx", 0 )
882   ROM_LOAD( "1", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
883   ROM_LOAD( "2", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
884   ROM_LOAD( "3", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
885   ROM_LOAD( "4", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
886   ROM_LOAD( "5", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
887   ROM_LOAD( "6", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
888   ROM_LOAD( "7", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
889   ROM_LOAD( "8", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
1180   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
1181   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
1182   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
1183   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
1184   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
1185   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
1186   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
1187   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
8901188ROM_END
891#endif
8921189
1190
8931191/*********************************************************
8941192   Crazy Monkey
8951193
r9191r9192
8981196
8991197**********************************************************/
9001198
901#if ALL_REVISIONS
9021199ROM_START( crzmon ) // 030217
9031200   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
9041201   ROM_LOAD( "cm030217.rom", 0x00000, 0x40000, MD5(5e2e4eec4cb20437a3e389003f8e2bb7) SHA1(75787f32aa4c8e8ff7bc11c57a37ad5a65f71c52) )
9051202
9061203   ROM_REGION( 0x400000, "gfx", 0 )
907   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
908   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
909   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
910   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
911   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
912   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
913   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
914   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1204   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1205   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1206   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1207   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1208   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1209   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1210   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1211   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
9151212ROM_END
9161213
9171214ROM_START( crzmon_2 ) // 030225
r9191r9192
9191216   ROM_LOAD( "cm030225.rom", 0x00000, 0x40000, MD5(8f8d0ca97b5a2ad255d36094a6b30e0e) SHA1(3627a3d6a4a50ed8544456d53ab5a489af389a19) )
9201217
9211218   ROM_REGION( 0x400000, "gfx", 0 )
922   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
923   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
924   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
925   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
926   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
927   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
928   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
929   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1219   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1220   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1221   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1222   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1223   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1224   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1225   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1226   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
9301227ROM_END
9311228
9321229ROM_START( crzmon_3 ) // 030227
r9191r9192
9341231   ROM_LOAD( "cm030227.rom", 0x00000, 0x40000, MD5(e2704337640db28a92b9946209eec2b1) SHA1(4f8cd68dd2b6abeaabc9b45da18469cc6e7ac74d) )
9351232
9361233   ROM_REGION( 0x400000, "gfx", 0 )
937   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
938   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
939   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
940   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
941   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
942   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
943   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
944   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1234   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1235   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1236   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1237   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1238   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1239   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1240   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1241   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
9451242ROM_END
9461243
9471244ROM_START( crzmon_4 ) // 030404
r9191r9192
9491246   ROM_LOAD( "cm030404.rom", 0x00000, 0x40000, MD5(a3a9fce896f75cf9f8046c68a70a098d) SHA1(fd99caa2b6ef7218563db4f3b755e34dd551e05f) )
9501247
9511248   ROM_REGION( 0x400000, "gfx", 0 )
952   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
953   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
954   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
955   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
956   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
957   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
958   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
959   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1249   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1250   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1251   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1252   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1253   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1254   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1255   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1256   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
9601257ROM_END
9611258
9621259ROM_START( crzmon_5 ) // 030421
9631260   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
964   ROM_LOAD( "cm030421.rom", 0x00000, 0x40000, MD5(2b30aabb2c1becc3209018580ebe0086) SHA1(6559e45e3ec39c1d201ed54a10fdb5c6aeff6582) )
1261   ROM_LOAD( "cm030421.rom", 0x00000, 0x40000, CRC(6826564E) SHA1(6559e45e3ec39c1d201ed54a10fdb5c6aeff6582) )
9651262
9661263   ROM_REGION( 0x400000, "gfx", 0 )
967   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
968   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
969   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
970   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
971   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
972   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
973   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
974   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1264   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1265   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1266   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1267   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1268   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1269   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1270   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1271   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
9751272ROM_END
9761273
9771274ROM_START( crzmon_6 ) // 031016
r9191r9192
9791276   ROM_LOAD( "cm031016.rom", 0x00000, 0x40000, MD5(36901e462cd3a9d221a9cefcdf377cbe) SHA1(2f2a5ecbb311ade75f8fdc322c6e63836d4119c3) )
9801277
9811278   ROM_REGION( 0x400000, "gfx", 0 )
982   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
983   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
984   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
985   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
986   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
987   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
988   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
989   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1279   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1280   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1281   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1282   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1283   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1284   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1285   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1286   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
9901287ROM_END
991#endif
9921288
9931289ROM_START( crzmon_7 ) // 031110
9941290   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
9951291   ROM_LOAD( "cm031110.rom", 0x00000, 0x40000, CRC(d3e67980) SHA1(f0daa91abdde211a2ff61414d84386b763c30949) )
9961292
9971293   ROM_REGION( 0x400000, "gfx", 0 )
998   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
999   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1000   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1001   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1002   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1003   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1004   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1005   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1294   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1295   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1296   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1297   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1298   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1299   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1300   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1301   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
10061302ROM_END
10071303
1008ROM_START( crzmon_7a ) // 031110 backdoor
1304ROM_START( crzmon_8 ) // 050120
10091305   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1010   ROM_LOAD( "cm031110a.rom", 0x00000, 0x40000, CRC(80666246) SHA1(e15a210b11ba769ca4fd637c962932417555dc0e) ) /* Not officially listed on Igrosoft's web site hash page */
1306   ROM_LOAD( "cm050120.rom", 0x00000, 0x40000, CRC(9af1e03f) SHA1(caadf48a36da48f4e126b286f6f5498005d8182a) )
10111307
10121308   ROM_REGION( 0x400000, "gfx", 0 )
1013   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1014   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1015   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1016   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1017   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1018   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1019   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1020   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1309   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1310   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1311   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1312   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1313   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1314   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1315   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1316   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
10211317ROM_END
10221318
1023ROM_START( crzmon_7b ) // 031110 backdoor
1024   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1025   ROM_LOAD( "cm031110b.rom", 0x00000, 0x40000, CRC(bb6f4f85) SHA1(a2f44632f857392eb422412b55a19decae4c8620) ) /* Not officially listed on Igrosoft's web site hash page */
10261319
1027   ROM_REGION( 0x400000, "gfx", 0 )
1028   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1029   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1030   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1031   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1032   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1033   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1034   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1035   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1036ROM_END
10371320
1038ROM_START( crzmon_8 ) // 050120
1321ROM_START( crzmon_9 ) // 070315
10391322   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1040   ROM_LOAD( "cm050120.rom", 0x00000, 0x40000, CRC(9af1e03f) SHA1(caadf48a36da48f4e126b286f6f5498005d8182a) )
1323   ROM_LOAD( "cm070315.rom", 0x00000, 0x40000, CRC(5b2310b0) SHA1(b9bcb45bd97cbf1546c938512709bae44501447d) )
10411324
10421325   ROM_REGION( 0x400000, "gfx", 0 )
1043   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1044   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1045   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1046   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1047   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1048   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1049   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1050   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1326   ROM_LOAD( "1_070315", 0x000000, 0x80000, CRC(665ae6a1) SHA1(2ef2d657918d66d303d45d2d82430d13108f3fad) )
1327   ROM_LOAD( "2_070315", 0x100000, 0x80000, CRC(1a8e235a) SHA1(6d562cc5250283fc0c8ca7e103231a2e5bab4c69) )
1328   ROM_LOAD( "3_070315", 0x200000, 0x80000, CRC(415133eb) SHA1(227f7c8858fd5b928fdde691017104d3bd69910a) )
1329   ROM_LOAD( "4_070315", 0x300000, 0x80000, CRC(ec45fe14) SHA1(4a0fc87e2f19ea05c9a5746bb4ca7cafe5592d33) )
1330   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1331   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1332   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1333   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
10511334ROM_END
10521335
1053ROM_START( crzmon_8a ) // 050120 backdoor
1054   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1055   ROM_LOAD( "cm050120a.rom", 0x00000, 0x40000, CRC(e20a6997) SHA1(50e0f0f354dd6db2be64d42e36b4043915c4276b) ) /* Not officially listed on Igrosoft's web site hash page */
10561336
1057   ROM_REGION( 0x400000, "gfx", 0 )
1058   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1059   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1060   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1061   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1062   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1063   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1064   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1065   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1066ROM_END
10671337
1068ROM_START( crzmon_8b ) // 050120 changed version text to 070315
1069   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1070   ROM_LOAD( "cm050120b.rom", 0x00000, 0x40000, CRC(9350d184) SHA1(ccb79bb6c5e9025d64fe07c02334c43d75ee3334) ) /* Not officially listed on Igrosoft's web site hash page */
10711338
1072   ROM_REGION( 0x400000, "gfx", 0 )
1073   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
1074   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
1075   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
1076   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
1077   ROM_LOAD( "5",  0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
1078   ROM_LOAD( "6",  0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
1079   ROM_LOAD( "7",  0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
1080   ROM_LOAD( "8",  0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
1081ROM_END
1082
10831339/*********************************************************
10841340   Fruit Cocktail
10851341
r9191r9192
10881344
10891345**********************************************************/
10901346
1091#if ALL_REVISIONS
10921347ROM_START( fcockt ) // 030505
10931348   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
10941349   ROM_LOAD( "fc030505.rom", 0x00000, 0x40000, MD5(5ee5ad269498787e5eb69194874b6544) SHA1(cc65334e8dfae5ffef1d73bd5085e3555905e259) )
10951350
10961351   ROM_REGION( 0x400000, "gfx", 0 )
1097   ROM_LOAD( "1b", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1098   ROM_LOAD( "2b", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1099   ROM_LOAD( "3b", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1100   ROM_LOAD( "4b", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1101   ROM_LOAD( "5b", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1102   ROM_LOAD( "6b", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1103   ROM_LOAD( "7",  0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // the same as newer sets?
1104   ROM_LOAD( "8b", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
1352   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1353   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1354   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1355   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1356   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1357   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1358   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
1359   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
11051360ROM_END
11061361
11071362ROM_START( fcockt_2 ) // 030512
r9191r9192
11091364   ROM_LOAD( "fc030512.rom", 0x00000, 0x40000, MD5(e94917c5935641601f17a3fe56dedb17) SHA1(c23ebcf64609a56a029f05101185f3adf73cdadd) )
11101365
11111366   ROM_REGION( 0x400000, "gfx", 0 )
1112   ROM_LOAD( "1b", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1113   ROM_LOAD( "2b", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1114   ROM_LOAD( "3b", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1115   ROM_LOAD( "4b", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1116   ROM_LOAD( "5b", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1117   ROM_LOAD( "6b", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1118   ROM_LOAD( "7",  0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // the same as newer sets?
1119   ROM_LOAD( "8b", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
1367   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1368   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1369   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1370   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1371   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1372   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1373   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
1374   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
11201375ROM_END
11211376
11221377ROM_START( fcockt_3 ) // 030623
r9191r9192
11241379   ROM_LOAD( "fc030623.rom", 0x00000, 0x40000, MD5(f787356afecbe02dcfcd89060cc30daf) SHA1(b95c5e06cf41762802199e1b55a5eda2243c9af7) )
11251380
11261381   ROM_REGION( 0x400000, "gfx", 0 )
1127   ROM_LOAD( "1b", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1128   ROM_LOAD( "2b", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1129   ROM_LOAD( "3b", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1130   ROM_LOAD( "4b", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1131   ROM_LOAD( "5b", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1132   ROM_LOAD( "6b", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1133   ROM_LOAD( "7",  0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // the same as newer sets?
1134   ROM_LOAD( "8b", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
1382   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1383   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1384   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1385   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1386   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1387   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1388   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
1389   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
11351390ROM_END
11361391
11371392ROM_START( fcockt_4 ) // 031028
r9191r9192
11391394   ROM_LOAD( "fc031028.rom", 0x00000, 0x40000, MD5(ffab543f86538d4717da7cf20d97e3d1) SHA1(18a0ac6e3c6f1d6ae7aeae5322e6b6617923cfdf) )
11401395
11411396   ROM_REGION( 0x400000, "gfx", 0 )
1142   ROM_LOAD( "1b", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1143   ROM_LOAD( "2b", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1144   ROM_LOAD( "3b", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1145   ROM_LOAD( "4b", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1146   ROM_LOAD( "5b", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1147   ROM_LOAD( "6b", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1148   ROM_LOAD( "7",  0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // the same as newer sets?
1149   ROM_LOAD( "8b", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
1397   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1398   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1399   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1400   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1401   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1402   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1403   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
1404   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
11501405ROM_END
11511406
11521407ROM_START( fcockt_5 ) // 031111
11531408   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1154   ROM_LOAD( "fc031111.rom", 0x00000, 0x40000, MD5(6df6a06bf0c4df16b6f4d76493d31a39) SHA1(7cc9aeb88a2923f6c5c176abcd6c6b241b353eab) )
1409   ROM_LOAD( "fc031111.rom", 0x00000, 0x40000, CRC(feef74bf) SHA1(7cc9aeb88a2923f6c5c176abcd6c6b241b353eab) )
11551410
11561411   ROM_REGION( 0x400000, "gfx", 0 )
1157   ROM_LOAD( "1b", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1158   ROM_LOAD( "2b", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1159   ROM_LOAD( "3b", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1160   ROM_LOAD( "4b", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1161   ROM_LOAD( "5b", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1162   ROM_LOAD( "6b", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1163   ROM_LOAD( "7",  0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // the same as newer sets?
1164   ROM_LOAD( "8b", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
1412   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1413   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1414   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1415   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1416   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1417   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1418   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
1419   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
11651420ROM_END
1166#endif
11671421
11681422ROM_START( fcockt_6 ) // 040216
11691423   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
11701424   ROM_LOAD( "fc040216.rom", 0x00000, 0x40000, CRC(d12b0201) SHA1(09f4b0b5239609ebf13e643782d1881920a1203d) )
11711425
11721426   ROM_REGION( 0x400000, "gfx", 0 )
1173   ROM_LOAD( "1b", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1174   ROM_LOAD( "2b", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1175   ROM_LOAD( "3b", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1176   ROM_LOAD( "4b", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1177   ROM_LOAD( "5b", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1178   ROM_LOAD( "6b", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1179   ROM_LOAD( "7",  0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // the same as newer sets?
1180   ROM_LOAD( "8b", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
1427   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1428   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1429   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1430   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1431   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1432   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1433   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
1434   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
11811435ROM_END
11821436
1183ROM_START( fcockt_6a ) // 040216 bank F8
1437ROM_START( fcockt_7 ) // 050118
11841438   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1185   ROM_LOAD( "fc040216a.rom", 0x00000, 0x40000, CRC(58e7a0c6) SHA1(8022f92af05e9ff6999ff936bad6048d6c264086) ) /* Not officially listed on Igrosoft's web site hash page */
1439   ROM_LOAD( "fc050118.rom", 0x00000, 0x40000, CRC(356b140a) SHA1(d6e671b5c7fa6592f80b90b289cce0afe1a9cea3) )
11861440
11871441   ROM_REGION( 0x400000, "gfx", 0 )
1188   ROM_LOAD( "1b", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1189   ROM_LOAD( "2b", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1190   ROM_LOAD( "3b", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1191   ROM_LOAD( "4b", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1192   ROM_LOAD( "5b", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1193   ROM_LOAD( "6b", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1194   ROM_LOAD( "7",  0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // the same as newer sets?
1195   ROM_LOAD( "8b", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
1442   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1443   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1444   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1445   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1446   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1447   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1448   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
1449   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
11961450ROM_END
11971451
1198ROM_START( fcockt_6b ) // 040216 backdoor
1452
1453ROM_START( fcockt_8 ) // 060111
11991454   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1200   ROM_LOAD( "fc040216b.rom", 0x00000, 0x40000, CRC(0f6bcf03) SHA1(6c8765f836f1d899aec3be9c842d5064fd70a435) ) /* Not officially listed on Igrosoft's web site hash page */
1455   ROM_LOAD( "fc060111.rom", 0x00000, 0x40000, CRC(a4af79e3) SHA1(28f40573d6c61e1937b8d05da94e197da5236f57) )
12011456
12021457   ROM_REGION( 0x400000, "gfx", 0 )
1203   ROM_LOAD( "1b", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1204   ROM_LOAD( "2b", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1205   ROM_LOAD( "3b", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1206   ROM_LOAD( "4b", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1207   ROM_LOAD( "5b", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1208   ROM_LOAD( "6b", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1209   ROM_LOAD( "7",  0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // the same as newer sets?
1210   ROM_LOAD( "8b", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
1458   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1459   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1460   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1461   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1462   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1463   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1464   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
1465   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
12111466ROM_END
12121467
1213ROM_START( fcockt_7 ) // 050118
1468
1469
1470
1471ROM_START( fcockt_9 ) // 070305
12141472   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1215   ROM_LOAD( "fc050118.rom", 0x00000, 0x40000, CRC(356b140a) SHA1(d6e671b5c7fa6592f80b90b289cce0afe1a9cea3) )
1473   ROM_LOAD( "fc070305.rom", 0x00000, 0x40000, CRC(4eb835d9) SHA1(406b2fcad0ca587eacee123ac4b040cb6f6db18c) )
12161474
12171475   ROM_REGION( 0x400000, "gfx", 0 )
1218   ROM_LOAD( "1b", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1219   ROM_LOAD( "2b", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1220   ROM_LOAD( "3b", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1221   ROM_LOAD( "4b", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1222   ROM_LOAD( "5b", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1223   ROM_LOAD( "6b", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1224   ROM_LOAD( "7",  0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // the same as newer sets?
1225   ROM_LOAD( "8b", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
1476   ROM_LOAD( "1_070305", 0x000000, 0x80000, CRC(735FBE79) SHA1(6ab590e00043dcb6648fd942e11747486d497df1) ) /* Only this set is listed as official hashes */
1477   ROM_LOAD( "2_070305", 0x100000, 0x80000, CRC(28fc888e) SHA1(2b8c55675bf61203682d560c9b3f29568719113f) )
1478   ROM_LOAD( "3_070305", 0x200000, 0x80000, CRC(01fc1a18) SHA1(4f73c6cde6ed741cc8c1bc32442f572ee7ba208a) )
1479   ROM_LOAD( "4_070305", 0x300000, 0x80000, CRC(68daa864) SHA1(b05c455e23ace80e102699616b75f3a0946c04bc) )
1480   ROM_LOAD( "5_070305", 0x080000, 0x80000, CRC(64b547e3) SHA1(285421fa3aa67a16cf6a9dadb20d74e6a8471dc0) )
1481   ROM_LOAD( "6_070305", 0x180000, 0x80000, CRC(965d6363) SHA1(5c229238a09ec54147d492e9843595962ce79952) )
1482   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // this remains the same
1483   ROM_LOAD( "8_070305", 0x380000, 0x80000, CRC(8384e4d4) SHA1(83d0bbbd7cca7328a66a69cf802632fd8d22d5b8) )
12261484ROM_END
12271485
1228ROM_START( fcockt_7a ) // 050118 backdoor
1486ROM_START( fcockt_10 ) // 070517
12291487   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1230   ROM_LOAD( "fc050118a.rom", 0x00000, 0x40000, CRC(eb2bd908) SHA1(b8e9ef469767fb9e95ff181876ffeaee4b7b9361) ) /* Not officially listed on Igrosoft's web site hash page */
1488   ROM_LOAD( "fc070517.rom", 0x00000, 0x40000, CRC(8b43f765) SHA1(86412c37252cf1f12a3acd9359bbf1cdcf52da9f) )
12311489
12321490   ROM_REGION( 0x400000, "gfx", 0 )
1233   ROM_LOAD( "1b", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1234   ROM_LOAD( "2b", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1235   ROM_LOAD( "3b", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1236   ROM_LOAD( "4b", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1237   ROM_LOAD( "5b", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1238   ROM_LOAD( "6b", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1239   ROM_LOAD( "7",  0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // the same as newer sets?
1240   ROM_LOAD( "8b", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
1491   ROM_LOAD( "1_070305", 0x000000, 0x80000, CRC(735FBE79) SHA1(6ab590e00043dcb6648fd942e11747486d497df1) ) /* Only this set is listed as official hashes */
1492   ROM_LOAD( "2_070305", 0x100000, 0x80000, CRC(28fc888e) SHA1(2b8c55675bf61203682d560c9b3f29568719113f) )
1493   ROM_LOAD( "3_070305", 0x200000, 0x80000, CRC(01fc1a18) SHA1(4f73c6cde6ed741cc8c1bc32442f572ee7ba208a) )
1494   ROM_LOAD( "4_070305", 0x300000, 0x80000, CRC(68daa864) SHA1(b05c455e23ace80e102699616b75f3a0946c04bc) )
1495   ROM_LOAD( "5_070305", 0x080000, 0x80000, CRC(64b547e3) SHA1(285421fa3aa67a16cf6a9dadb20d74e6a8471dc0) )
1496   ROM_LOAD( "6_070305", 0x180000, 0x80000, CRC(965d6363) SHA1(5c229238a09ec54147d492e9843595962ce79952) )
1497   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // this remains the same
1498   ROM_LOAD( "8_070305", 0x380000, 0x80000, CRC(8384e4d4) SHA1(83d0bbbd7cca7328a66a69cf802632fd8d22d5b8) )
12411499ROM_END
12421500
1243ROM_START( fcockt_8 ) // 060111
1501ROM_START( fcockt_11 ) // 070822
12441502   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1245   ROM_LOAD( "fc060111.rom", 0x00000, 0x40000, CRC(a4af79e3) SHA1(28f40573d6c61e1937b8d05da94e197da5236f57) )
1503   ROM_LOAD( "fc070822.rom", 0x00000, 0x40000, CRC(f156657d) SHA1(bd538e714a87461bdf84df18ae3f8caeee876747) )
12461504
12471505   ROM_REGION( 0x400000, "gfx", 0 )
1248   ROM_LOAD( "1b", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
1249   ROM_LOAD( "2b", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
1250   ROM_LOAD( "3b", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
1251   ROM_LOAD( "4b", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
1252   ROM_LOAD( "5b", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
1253   ROM_LOAD( "6b", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
1254   ROM_LOAD( "7",  0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // the same as newer sets?
1255   ROM_LOAD( "8b", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
1506   ROM_LOAD( "1_070305", 0x000000, 0x80000, CRC(735FBE79) SHA1(6ab590e00043dcb6648fd942e11747486d497df1) ) /* Only this set is listed as official hashes */
1507   ROM_LOAD( "2_070305", 0x100000, 0x80000, CRC(28fc888e) SHA1(2b8c55675bf61203682d560c9b3f29568719113f) )
1508   ROM_LOAD( "3_070305", 0x200000, 0x80000, CRC(01fc1a18) SHA1(4f73c6cde6ed741cc8c1bc32442f572ee7ba208a) )
1509   ROM_LOAD( "4_070305", 0x300000, 0x80000, CRC(68daa864) SHA1(b05c455e23ace80e102699616b75f3a0946c04bc) )
1510   ROM_LOAD( "5_070305", 0x080000, 0x80000, CRC(64b547e3) SHA1(285421fa3aa67a16cf6a9dadb20d74e6a8471dc0) )
1511   ROM_LOAD( "6_070305", 0x180000, 0x80000, CRC(965d6363) SHA1(5c229238a09ec54147d492e9843595962ce79952) )
1512   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // this remains the same
1513   ROM_LOAD( "8_070305", 0x380000, 0x80000, CRC(8384e4d4) SHA1(83d0bbbd7cca7328a66a69cf802632fd8d22d5b8) )
12561514ROM_END
12571515
1516ROM_START( fcockt_12 ) // 070911
1517   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1518   ROM_LOAD( "fc070911.rom", 0x00000, 0x40000, CRC(17c015bb) SHA1(5369549853f1c463b999bb4ff9d06c5d8e467c5b) )
1519
1520   ROM_REGION( 0x400000, "gfx", 0 )
1521   ROM_LOAD( "1_070305", 0x000000, 0x80000, CRC(735FBE79) SHA1(6ab590e00043dcb6648fd942e11747486d497df1) ) /* Only this set is listed as official hashes */
1522   ROM_LOAD( "2_070305", 0x100000, 0x80000, CRC(28fc888e) SHA1(2b8c55675bf61203682d560c9b3f29568719113f) )
1523   ROM_LOAD( "3_070305", 0x200000, 0x80000, CRC(01fc1a18) SHA1(4f73c6cde6ed741cc8c1bc32442f572ee7ba208a) )
1524   ROM_LOAD( "4_070305", 0x300000, 0x80000, CRC(68daa864) SHA1(b05c455e23ace80e102699616b75f3a0946c04bc) )
1525   ROM_LOAD( "5_070305", 0x080000, 0x80000, CRC(64b547e3) SHA1(285421fa3aa67a16cf6a9dadb20d74e6a8471dc0) )
1526   ROM_LOAD( "6_070305", 0x180000, 0x80000, CRC(965d6363) SHA1(5c229238a09ec54147d492e9843595962ce79952) )
1527   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) ) // this remains the same
1528   ROM_LOAD( "8_070305", 0x380000, 0x80000, CRC(8384e4d4) SHA1(83d0bbbd7cca7328a66a69cf802632fd8d22d5b8) )
1529ROM_END
1530
1531
1532
12581533/*********************************************************
12591534   Lucky Haunter
12601535
r9191r9192
12631538
12641539**********************************************************/
12651540
1266#if ALL_REVISIONS
12671541ROM_START( lhaunt ) // 030707
12681542   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
12691543   ROM_LOAD( "lh030707.rom", 0x00000, 0x40000, MD5(f2e42fb479888c21351e3029025e6700) SHA1(c7b8e1b98cd0aa665d62c1652716993539c9f3ef) )
12701544
12711545   ROM_REGION( 0x400000, "gfx", 0 )
1272   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1273   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1274   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1275   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1276   ROM_LOAD( "5",  0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1277   ROM_LOAD( "6",  0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1278   ROM_LOAD( "7",  0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1279   ROM_LOAD( "8",  0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
1546   ROM_LOAD( "1_030707", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1547   ROM_LOAD( "2_030707", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1548   ROM_LOAD( "3_030707", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1549   ROM_LOAD( "4_030707", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1550   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1551   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1552   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1553   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
12801554ROM_END
12811555
1556
12821557ROM_START( lhaunt_2 ) // 030804
12831558   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
12841559   ROM_LOAD( "lh030804.rom", 0x00000, 0x40000, MD5(01352f3dd0e7d301f8edfb170600e2a1) SHA1(b75702a678d716cd0ccb1f2d1e58c1d3e9f7ca98) )
12851560
12861561   ROM_REGION( 0x400000, "gfx", 0 )
1287   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1288   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1289   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1290   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1291   ROM_LOAD( "5",  0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1292   ROM_LOAD( "6",  0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1293   ROM_LOAD( "7",  0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1294   ROM_LOAD( "8",  0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
1562   ROM_LOAD( "1_030707", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1563   ROM_LOAD( "2_030707", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1564   ROM_LOAD( "3_030707", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1565   ROM_LOAD( "4_030707", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1566   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1567   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1568   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1569   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
12951570ROM_END
12961571
12971572ROM_START( lhaunt_3 ) // 031027
r9191r9192
12991574   ROM_LOAD( "lh031027.rom", 0x00000, 0x40000, MD5(49b1cf6f89d03b36c5f80d0ccfc23aa2) SHA1(caec736dde2878588ab197ba37801cf7a9ed975b) )
13001575
13011576   ROM_REGION( 0x400000, "gfx", 0 )
1302   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1303   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1304   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1305   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1306   ROM_LOAD( "5",  0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1307   ROM_LOAD( "6",  0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1308   ROM_LOAD( "7",  0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1309   ROM_LOAD( "8",  0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
1577   ROM_LOAD( "1_030707", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1578   ROM_LOAD( "2_030707", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1579   ROM_LOAD( "3_030707", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1580   ROM_LOAD( "4_030707", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1581   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1582   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1583   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1584   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
13101585ROM_END
1311#endif
13121586
13131587ROM_START( lhaunt_4 ) // 031111
13141588   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
13151589   ROM_LOAD( "lh031111.rom", 0x00000, 0x40000, CRC(fc357b75) SHA1(512e4f57612851284bb93ba97c276cbc7cb758d9) )
13161590
13171591   ROM_REGION( 0x400000, "gfx", 0 )
1318   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1319   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1320   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1321   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1322   ROM_LOAD( "5",  0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1323   ROM_LOAD( "6",  0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1324   ROM_LOAD( "7",  0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1325   ROM_LOAD( "8",  0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
1592   ROM_LOAD( "1_030707", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1593   ROM_LOAD( "2_030707", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1594   ROM_LOAD( "3_030707", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1595   ROM_LOAD( "4_030707", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1596   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1597   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1598   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1599   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
13261600ROM_END
13271601
1328ROM_START( lhaunt_4a ) // 031111 backdoor
1329   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1330   ROM_LOAD( "lh031111a.rom", 0x00000, 0x40000, CRC(83d487c9) SHA1(5b88745d06acba542e2d0660298c9058f2bdfa3f) ) /* Not officially listed on Igrosoft's web site hash page */
1331
1332   ROM_REGION( 0x400000, "gfx", 0 )
1333   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1334   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1335   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1336   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1337   ROM_LOAD( "5",  0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1338   ROM_LOAD( "6",  0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1339   ROM_LOAD( "7",  0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1340   ROM_LOAD( "8",  0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
1341ROM_END
1342
13431602ROM_START( lhaunt_5 ) // 040216
13441603   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
13451604   ROM_LOAD( "lh040216.rom", 0x00000, 0x40000, CRC(558d8345) SHA1(30a87902b291413b1e6eaad6bf4964c54e391e23) )
13461605
13471606   ROM_REGION( 0x400000, "gfx", 0 )
1348   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1349   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1350   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1351   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1352   ROM_LOAD( "5",  0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1353   ROM_LOAD( "6",  0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1354   ROM_LOAD( "7",  0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1355   ROM_LOAD( "8",  0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
1607   ROM_LOAD( "1_030707", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1608   ROM_LOAD( "2_030707", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1609   ROM_LOAD( "3_030707", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1610   ROM_LOAD( "4_030707", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1611   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1612   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1613   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1614   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
13561615ROM_END
13571616
1358ROM_START( lhaunt_5a ) // 040216 backdoor
1617ROM_START( lhaunt_5a ) // 040216 backdoor 1,1 1,3 1,5 1,7  3,3  3,4
13591618   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
13601619   ROM_LOAD( "lh040216a.rom", 0x00000, 0x40000, CRC(2a6c7ff9) SHA1(4a0137c7df5003e8fd843d5489d416d15f001f46) ) /* Not officially listed on Igrosoft's web site hash page */
13611620
13621621   ROM_REGION( 0x400000, "gfx", 0 )
1363   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1364   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1365   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1366   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1367   ROM_LOAD( "5",  0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1368   ROM_LOAD( "6",  0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1369   ROM_LOAD( "7",  0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1370   ROM_LOAD( "8",  0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
1622   ROM_LOAD( "1_030707", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1623   ROM_LOAD( "2_030707", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1624   ROM_LOAD( "3_030707", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1625   ROM_LOAD( "4_030707", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1626   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1627   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1628   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1629   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
13711630ROM_END
13721631
13731632ROM_START( lhaunt_6 ) // 040825
r9191r9192
13751634   ROM_LOAD( "lh040825.rom", 0x00000, 0x40000, CRC(f9924fa1) SHA1(57a1730fef4963d30f3991f27021647a8c681952) )
13761635
13771636   ROM_REGION( 0x400000, "gfx", 0 )
1378   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1379   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1380   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1381   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1382   ROM_LOAD( "5",  0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1383   ROM_LOAD( "6",  0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1384   ROM_LOAD( "7",  0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1385   ROM_LOAD( "8",  0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
1637   ROM_LOAD( "1_030707", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1638   ROM_LOAD( "2_030707", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1639   ROM_LOAD( "3_030707", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1640   ROM_LOAD( "4_030707", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1641   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1642   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1643   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1644   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
13861645ROM_END
13871646
1388ROM_START( lhaunt_6a ) // 040825 backdoor
1647ROM_START( lhaunt_7 ) // 070402
13891648   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1390   ROM_LOAD( "lh040825a.rom", 0x00000, 0x40000, CRC(18ba5704) SHA1(3c77ed129db0e5181217167b76292f8e4ee78728) ) /* Not officially listed on Igrosoft's web site hash page */
1649   ROM_LOAD( "lh070402.rom", 0x00000, 0x40000, CRC(16e921d9) SHA1(66849020a451d0c1dc4ac310e98fa7ef6a962548) )
13911650
13921651   ROM_REGION( 0x400000, "gfx", 0 )
1393   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
1394   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
1395   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
1396   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
1397   ROM_LOAD( "5",  0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1398   ROM_LOAD( "6",  0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1399   ROM_LOAD( "7",  0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1400   ROM_LOAD( "8",  0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
1652   ROM_LOAD( "1_070402", 0x000000, 0x80000, CRC(c541ce0f) SHA1(5b5ad171168f204e1a4892a4be06a4983dcfc5e5) )
1653   ROM_LOAD( "2_070402", 0x100000, 0x80000, CRC(ea49e52f) SHA1(7c6b0da1c4ebca5439dda7d38882055b47d00169) )
1654   ROM_LOAD( "3_070402", 0x200000, 0x80000, CRC(f601cd05) SHA1(b983d703ff5f5795ed60248cd4affc91f983072c) )
1655   ROM_LOAD( "4_070402", 0x300000, 0x80000, CRC(10040104) SHA1(966abcccb67949b73f84ffc85ead70b10856fa5b) )
1656   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1657   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1658   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1659   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
14011660ROM_END
14021661
1662ROM_START( lhaunt_8 ) // 070604
1663   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1664   ROM_LOAD( "lh070604.rom", 0x00000, 0x40000, CRC(a9e80888) SHA1(57fdfc1149db1555808040a7a902dec5f1389943) )
1665
1666   ROM_REGION( 0x400000, "gfx", 0 )
1667   ROM_LOAD( "1_070402", 0x000000, 0x80000, CRC(c541ce0f) SHA1(5b5ad171168f204e1a4892a4be06a4983dcfc5e5) )
1668   ROM_LOAD( "2_070402", 0x100000, 0x80000, CRC(ea49e52f) SHA1(7c6b0da1c4ebca5439dda7d38882055b47d00169) )
1669   ROM_LOAD( "3_070402", 0x200000, 0x80000, CRC(f601cd05) SHA1(b983d703ff5f5795ed60248cd4affc91f983072c) )
1670   ROM_LOAD( "4_070402", 0x300000, 0x80000, CRC(10040104) SHA1(966abcccb67949b73f84ffc85ead70b10856fa5b) )
1671   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
1672   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
1673   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
1674   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
1675ROM_END
1676
14031677/*********************************************************
14041678   Garage
14051679
r9191r9192
14081682
14091683**********************************************************/
14101684
1411#if ALL_REVISIONS
1412ROM_START( garage ) // 040122.
1685ROM_START( garage ) // 040122
14131686   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
14141687   ROM_LOAD( "gg040122.rom", 0x00000, 0x40000, MD5(b1fca0a1293d6891171b168ade2112c0) SHA1(327e55d1f4bdc0ad0556faa2fbdaa05b9a5f1c16) )
14151688
14161689   ROM_REGION( 0x400000, "gfx", 0 )
1417   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1418   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1419   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1420   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1421   ROM_LOAD( "5",  0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1422   ROM_LOAD( "6",  0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1423   ROM_LOAD( "7",  0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1424   ROM_LOAD( "8",  0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
1690   ROM_LOAD( "1_040122", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1691   ROM_LOAD( "2_040122", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1692   ROM_LOAD( "3_040122", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1693   ROM_LOAD( "4_040122", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1694   ROM_LOAD( "5_040122", 0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1695   ROM_LOAD( "6_040122", 0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1696   ROM_LOAD( "7_040122", 0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1697   ROM_LOAD( "8_040122", 0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
14251698ROM_END
14261699
1427ROM_START( garage_2 ) // 040123.
1700ROM_START( garage_2 ) // 040123
14281701   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
14291702   ROM_LOAD( "gg040123.rom", 0x00000, 0x40000, MD5(7b66e7c7b9ddf74bd344a626c64fce5e) SHA1(3051c99d22cfe46b532fcc59a0b98eec186f4a76) )
14301703
14311704   ROM_REGION( 0x400000, "gfx", 0 )
1432   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1433   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1434   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1435   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1436   ROM_LOAD( "5",  0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1437   ROM_LOAD( "6",  0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1438   ROM_LOAD( "7",  0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1439   ROM_LOAD( "8",  0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
1705   ROM_LOAD( "1_040122", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1706   ROM_LOAD( "2_040122", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1707   ROM_LOAD( "3_040122", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1708   ROM_LOAD( "4_040122", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1709   ROM_LOAD( "5_040122", 0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1710   ROM_LOAD( "6_040122", 0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1711   ROM_LOAD( "7_040122", 0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1712   ROM_LOAD( "8_040122", 0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
14401713ROM_END
14411714
1442ROM_START( garage_3 ) // 040216.
1715ROM_START( garage_3 ) // 040216
14431716   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
14441717   ROM_LOAD( "gg040216.rom", 0x00000, 0x40000, MD5(9d89036118ece87c98bb9b64021014ff) SHA1(321c4106ce07e195a05eacdef6387d61d5e58bb9) )
14451718
14461719   ROM_REGION( 0x400000, "gfx", 0 )
1447   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1448   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1449   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1450   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1451   ROM_LOAD( "5",  0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1452   ROM_LOAD( "6",  0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1453   ROM_LOAD( "7",  0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1454   ROM_LOAD( "8",  0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
1720   ROM_LOAD( "1_040122", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1721   ROM_LOAD( "2_040122", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1722   ROM_LOAD( "3_040122", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1723   ROM_LOAD( "4_040122", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1724   ROM_LOAD( "5_040122", 0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1725   ROM_LOAD( "6_040122", 0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1726   ROM_LOAD( "7_040122", 0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1727   ROM_LOAD( "8_040122", 0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
14551728ROM_END
1456#endif
14571729
1458ROM_START( garage_4 ) // 040219.
1730ROM_START( garage_4 ) // 040219
14591731   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
14601732   ROM_LOAD( "gg040219.rom", 0x00000, 0x40000, CRC(49fe4a55) SHA1(df55df0065b4718d2b0c7ff3da85f5d66c2dd95f) )
14611733
14621734   ROM_REGION( 0x400000, "gfx", 0 )
1463   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1464   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1465   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1466   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1467   ROM_LOAD( "5",  0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1468   ROM_LOAD( "6",  0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1469   ROM_LOAD( "7",  0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1470   ROM_LOAD( "8",  0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
1735   ROM_LOAD( "1_040122", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1736   ROM_LOAD( "2_040122", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1737   ROM_LOAD( "3_040122", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1738   ROM_LOAD( "4_040122", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1739   ROM_LOAD( "5_040122", 0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1740   ROM_LOAD( "6_040122", 0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1741   ROM_LOAD( "7_040122", 0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1742   ROM_LOAD( "8_040122", 0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
14711743ROM_END
14721744
1473ROM_START( garage_4a ) // 040219 backdoor
1745
1746ROM_START( garage_5 ) // 050311
14741747   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1475   ROM_LOAD( "gg040219a.rom", 0x00000, 0x40000, CRC(e16b213a) SHA1(af0d78116d985efe5f09eb86eb67df2535765527) ) /* Not officially listed on Igrosoft's web site hash page */
1748   ROM_LOAD( "gg050311.rom", 0x00000, 0x40000, CRC(405aee88) SHA1(356a8c309434ae4ad6b6fab97aeaece8aa60a730) )
14761749
14771750   ROM_REGION( 0x400000, "gfx", 0 )
1478   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1479   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1480   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1481   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1482   ROM_LOAD( "5",  0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1483   ROM_LOAD( "6",  0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1484   ROM_LOAD( "7",  0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1485   ROM_LOAD( "8",  0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
1751   ROM_LOAD( "1_040122", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1752   ROM_LOAD( "2_040122", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1753   ROM_LOAD( "3_040122", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1754   ROM_LOAD( "4_040122", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1755   ROM_LOAD( "5_040122", 0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1756   ROM_LOAD( "6_040122", 0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1757   ROM_LOAD( "7_040122", 0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1758   ROM_LOAD( "8_040122", 0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
14861759ROM_END
14871760
1488ROM_START( garage_4b ) // 040219 changed version text to 070329
1761
1762ROM_START( garage_6 ) // 070213
14891763   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1490   ROM_LOAD( "gg040219b.rom", 0x00000, 0x40000, CRC(b8ebf3b6) SHA1(14c5263571123d251125723b32861bef578de67b) ) /* Not officially listed on Igrosoft's web site hash page */
1764   ROM_LOAD( "gg070213.rom", 0x00000, 0x40000, CRC(2ae974c3) SHA1(61076d4154befffd3f90ae32b9bfa0e8d003ae72) )
14911765
14921766   ROM_REGION( 0x400000, "gfx", 0 )
1493   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1494   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1495   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1496   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1497   ROM_LOAD( "5",  0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1498   ROM_LOAD( "6",  0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1499   ROM_LOAD( "7",  0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1500   ROM_LOAD( "8",  0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
1767   ROM_LOAD( "1_070213", 0x000000, 0x80000, CRC(15349b8c) SHA1(4f59e67114d7440dab82655787a6df9404bcb4b2) )
1768   ROM_LOAD( "2_070213", 0x100000, 0x80000, CRC(634d1f94) SHA1(d979b0c22c7722eea8789296e9bd3f65b27a2b50) )
1769   ROM_LOAD( "3_070213", 0x200000, 0x80000, CRC(3fb65c28) SHA1(0b3cacc8907267be84051c562bce1fc82701a5d5) )
1770   ROM_LOAD( "4_070213", 0x300000, 0x80000, CRC(fc489452) SHA1(ac421f99c3ac3c9b7adf274881c00cbee65b6df5) )
1771   ROM_LOAD( "5_040122", 0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1772   ROM_LOAD( "6_040122", 0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1773   ROM_LOAD( "7_040122", 0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1774   ROM_LOAD( "8_040122", 0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
15011775ROM_END
15021776
1503ROM_START( garage_5 ) // 050311
1777ROM_START( garage_7 ) // 070329
15041778   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1505   ROM_LOAD( "gg050311.rom", 0x00000, 0x40000, CRC(405aee88) SHA1(356a8c309434ae4ad6b6fab97aeaece8aa60a730) )
1779   ROM_LOAD( "gg070329.rom", 0x00000, 0x40000, CRC(2bd50a8f) SHA1(b0c66eb0ae40b87f81ee5bb66dc4ff7d7acd14bd) )
15061780
15071781   ROM_REGION( 0x400000, "gfx", 0 )
1508   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1509   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1510   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1511   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1512   ROM_LOAD( "5",  0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1513   ROM_LOAD( "6",  0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1514   ROM_LOAD( "7",  0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1515   ROM_LOAD( "8",  0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
1782   ROM_LOAD( "1_070213", 0x000000, 0x80000, CRC(15349b8c) SHA1(4f59e67114d7440dab82655787a6df9404bcb4b2) )
1783   ROM_LOAD( "2_070213", 0x100000, 0x80000, CRC(634d1f94) SHA1(d979b0c22c7722eea8789296e9bd3f65b27a2b50) )
1784   ROM_LOAD( "3_070213", 0x200000, 0x80000, CRC(3fb65c28) SHA1(0b3cacc8907267be84051c562bce1fc82701a5d5) )
1785   ROM_LOAD( "4_070213", 0x300000, 0x80000, CRC(fc489452) SHA1(ac421f99c3ac3c9b7adf274881c00cbee65b6df5) )
1786   ROM_LOAD( "5_040122", 0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1787   ROM_LOAD( "6_040122", 0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1788   ROM_LOAD( "7_040122", 0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1789   ROM_LOAD( "8_040122", 0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
15161790ROM_END
15171791
1518ROM_START( garage_5a ) // 050311 backdoor
1519   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1520   ROM_LOAD( "gg050311a.rom", 0x00000, 0x40000, CRC(874a2c27) SHA1(9bf586314f375c2c6f7d79557cc777ac3559cb64) ) /* Not officially listed on Igrosoft's web site hash page */
15211792
1522   ROM_REGION( 0x400000, "gfx", 0 )
1523   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
1524   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
1525   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
1526   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
1527   ROM_LOAD( "5",  0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
1528   ROM_LOAD( "6",  0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
1529   ROM_LOAD( "7",  0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
1530   ROM_LOAD( "8",  0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
1531ROM_END
15321793
15331794/*********************************************************
1534   Rock Clibmer
1795   Rock Climber
15351796
15361797    Roms 1-4 were changed after the 070322 update.
15371798        The official list of hashes shows the 070322 updated roms.
15381799
1800
15391801**********************************************************/
15401802
1541#if ALL_REVISIONS
15421803ROM_START( rclimb ) // 040815
15431804   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1544   ROM_LOAD( "rc040815.rom", 0x00000, 0x40000, MD5(82c3ee54f8112c0d0f8007c7e87bb8a2) SHA1(593e64bfe57ba271c04bdd2a35c9484c4efaaa00))
1805   ROM_LOAD( "rc040815.rom", 0x00000, 0x40000, CRC(5efd5c86) SHA1(593e64bfe57ba271c04bdd2a35c9484c4efaaa00))
15451806
15461807   ROM_REGION( 0x400000, "gfx", 0 )
1547   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(934f18c7) SHA1(da3a7cddc68e104d415d947e89c0e7f0d067c056) )
1548   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(7364bd2b) SHA1(c0edfd3b8de813c95fe5d6072662fa0e39fec89e) )
1549   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(e7befb17) SHA1(8a214680142cd657784a667ab3f6422165fea224) )
1550   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(dc6d43a0) SHA1(62fc47136775f3fa9369857ec91fe897a1f1ebd6) )
1551   ROM_LOAD( "5",  0x080000, 0x80000, CRC(ea127c3d) SHA1(a6391eed69a4723b68d727f59b6baebe51633e66) )
1552   ROM_LOAD( "6",  0x180000, 0x80000, CRC(277fa273) SHA1(6320e6c5b5e48dc451cc48189054c42d85e8ccc1) )
1553   ROM_LOAD( "7",  0x280000, 0x80000, CRC(3ca7f69a) SHA1(878cca181d915dc3548d5285a4bbb51aef31a64e) )
1554   ROM_LOAD( "8",  0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
1808   ROM_LOAD( "1_040815", 0x000000, 0x80000, CRC(934f18c7) SHA1(da3a7cddc68e104d415d947e89c0e7f0d067c056) )
1809   ROM_LOAD( "2_040815", 0x100000, 0x80000, CRC(7364bd2b) SHA1(c0edfd3b8de813c95fe5d6072662fa0e39fec89e) )
1810   ROM_LOAD( "3_040815", 0x200000, 0x80000, CRC(e7befb17) SHA1(8a214680142cd657784a667ab3f6422165fea224) )
1811   ROM_LOAD( "4_040815", 0x300000, 0x80000, CRC(dc6d43a0) SHA1(62fc47136775f3fa9369857ec91fe897a1f1ebd6) )
1812   ROM_LOAD( "5_040815", 0x080000, 0x80000, CRC(ea127c3d) SHA1(a6391eed69a4723b68d727f59b6baebe51633e66) )
1813   ROM_LOAD( "6_040815", 0x180000, 0x80000, CRC(277fa273) SHA1(6320e6c5b5e48dc451cc48189054c42d85e8ccc1) )
1814   ROM_LOAD( "7_040815", 0x280000, 0x80000, CRC(3ca7f69a) SHA1(878cca181d915dc3548d5285a4bbb51aef31a64e) )
1815   ROM_LOAD( "8_040815", 0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
15551816ROM_END
15561817
15571818ROM_START( rclimb_2 ) // 040823
r9191r9192
15591820   ROM_LOAD( "rc040823.rom", 0x00000, 0x40000, MD5(f3f5edf6f838f07f4848fbcf9e566a38) SHA1(31cf4d7f50102d35556817273893182e30c9a70c) )
15601821
15611822   ROM_REGION( 0x400000, "gfx", 0 )
1562   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(934f18c7) SHA1(da3a7cddc68e104d415d947e89c0e7f0d067c056) )
1563   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(7364bd2b) SHA1(c0edfd3b8de813c95fe5d6072662fa0e39fec89e) )
1564   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(e7befb17) SHA1(8a214680142cd657784a667ab3f6422165fea224) )
1565   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(dc6d43a0) SHA1(62fc47136775f3fa9369857ec91fe897a1f1ebd6) )
1566   ROM_LOAD( "5",  0x080000, 0x80000, CRC(ea127c3d) SHA1(a6391eed69a4723b68d727f59b6baebe51633e66) )
1567   ROM_LOAD( "6",  0x180000, 0x80000, CRC(277fa273) SHA1(6320e6c5b5e48dc451cc48189054c42d85e8ccc1) )
1568   ROM_LOAD( "7",  0x280000, 0x80000, CRC(3ca7f69a) SHA1(878cca181d915dc3548d5285a4bbb51aef31a64e) )
1569   ROM_LOAD( "8",  0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
1823   ROM_LOAD( "1_040815", 0x000000, 0x80000, CRC(934f18c7) SHA1(da3a7cddc68e104d415d947e89c0e7f0d067c056) )
1824   ROM_LOAD( "2_040815", 0x100000, 0x80000, CRC(7364bd2b) SHA1(c0edfd3b8de813c95fe5d6072662fa0e39fec89e) )
1825   ROM_LOAD( "3_040815", 0x200000, 0x80000, CRC(e7befb17) SHA1(8a214680142cd657784a667ab3f6422165fea224) )
1826   ROM_LOAD( "4_040815", 0x300000, 0x80000, CRC(dc6d43a0) SHA1(62fc47136775f3fa9369857ec91fe897a1f1ebd6) )
1827   ROM_LOAD( "5_040815", 0x080000, 0x80000, CRC(ea127c3d) SHA1(a6391eed69a4723b68d727f59b6baebe51633e66) )
1828   ROM_LOAD( "6_040815", 0x180000, 0x80000, CRC(277fa273) SHA1(6320e6c5b5e48dc451cc48189054c42d85e8ccc1) )
1829   ROM_LOAD( "7_040815", 0x280000, 0x80000, CRC(3ca7f69a) SHA1(878cca181d915dc3548d5285a4bbb51aef31a64e) )
1830   ROM_LOAD( "8_040815", 0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
15701831ROM_END
1571#endif
15721832
15731833ROM_START( rclimb_3 ) // 040827
15741834   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
15751835   ROM_LOAD( "rc040827.rom", 0x00000, 0x40000, CRC(3ba55647) SHA1(56e96be0d9782da4b3d5d911ea67962257626ae0) )
15761836
15771837   ROM_REGION( 0x400000, "gfx", 0 )
1578   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(934f18c7) SHA1(da3a7cddc68e104d415d947e89c0e7f0d067c056) )
1579   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(7364bd2b) SHA1(c0edfd3b8de813c95fe5d6072662fa0e39fec89e) )
1580   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(e7befb17) SHA1(8a214680142cd657784a667ab3f6422165fea224) )
1581   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(dc6d43a0) SHA1(62fc47136775f3fa9369857ec91fe897a1f1ebd6) )
1582   ROM_LOAD( "5",  0x080000, 0x80000, CRC(ea127c3d) SHA1(a6391eed69a4723b68d727f59b6baebe51633e66) )
1583   ROM_LOAD( "6",  0x180000, 0x80000, CRC(277fa273) SHA1(6320e6c5b5e48dc451cc48189054c42d85e8ccc1) )
1584   ROM_LOAD( "7",  0x280000, 0x80000, CRC(3ca7f69a) SHA1(878cca181d915dc3548d5285a4bbb51aef31a64e) )
1585   ROM_LOAD( "8",  0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
1838   ROM_LOAD( "1_040815", 0x000000, 0x80000, CRC(934f18c7) SHA1(da3a7cddc68e104d415d947e89c0e7f0d067c056) )
1839   ROM_LOAD( "2_040815", 0x100000, 0x80000, CRC(7364bd2b) SHA1(c0edfd3b8de813c95fe5d6072662fa0e39fec89e) )
1840   ROM_LOAD( "3_040815", 0x200000, 0x80000, CRC(e7befb17) SHA1(8a214680142cd657784a667ab3f6422165fea224) )
1841   ROM_LOAD( "4_040815", 0x300000, 0x80000, CRC(dc6d43a0) SHA1(62fc47136775f3fa9369857ec91fe897a1f1ebd6) )
1842   ROM_LOAD( "5_040815", 0x080000, 0x80000, CRC(ea127c3d) SHA1(a6391eed69a4723b68d727f59b6baebe51633e66) )
1843   ROM_LOAD( "6_040815", 0x180000, 0x80000, CRC(277fa273) SHA1(6320e6c5b5e48dc451cc48189054c42d85e8ccc1) )
1844   ROM_LOAD( "7_040815", 0x280000, 0x80000, CRC(3ca7f69a) SHA1(878cca181d915dc3548d5285a4bbb51aef31a64e) )
1845   ROM_LOAD( "8_040815", 0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
15861846ROM_END
15871847
1588ROM_START( rclimb_3a ) // 040827
1848
1849ROM_START( rclimb_4 ) // 070322
15891850   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1590   ROM_LOAD( "rc040827a.rom", 0x00000, 0x40000, CRC(6420f8b4) SHA1(64e4018dbea245ddc06a65fb2f8cf38e77f60999) ) /* Not officially listed on Igrosoft's web site hash page */
1851   ROM_LOAD( "rc070322.rom", 0x00000, 0x40000, CRC(200fcc35) SHA1(a9f71c5a3cb328f6522436693364d85586cca796) )
15911852
15921853   ROM_REGION( 0x400000, "gfx", 0 )
1593   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(934f18c7) SHA1(da3a7cddc68e104d415d947e89c0e7f0d067c056) )
1594   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(7364bd2b) SHA1(c0edfd3b8de813c95fe5d6072662fa0e39fec89e) )
1595   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(e7befb17) SHA1(8a214680142cd657784a667ab3f6422165fea224) )
1596   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(dc6d43a0) SHA1(62fc47136775f3fa9369857ec91fe897a1f1ebd6) )
1597   ROM_LOAD( "5",  0x080000, 0x80000, CRC(ea127c3d) SHA1(a6391eed69a4723b68d727f59b6baebe51633e66) )
1598   ROM_LOAD( "6",  0x180000, 0x80000, CRC(277fa273) SHA1(6320e6c5b5e48dc451cc48189054c42d85e8ccc1) )
1599   ROM_LOAD( "7",  0x280000, 0x80000, CRC(3ca7f69a) SHA1(878cca181d915dc3548d5285a4bbb51aef31a64e) )
1600   ROM_LOAD( "8",  0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
1854   ROM_LOAD( "1_070322", 0x000000, 0x80000, CRC(2c6c10b6) SHA1(b2f96fb90a5f2150d84fe5012414c74fcbde81d1) )
1855   ROM_LOAD( "2_070322", 0x100000, 0x80000, CRC(7def062a) SHA1(d418f5e8b80680ecdc10159322c83d298c96cf4d) )
1856   ROM_LOAD( "3_070322", 0x200000, 0x80000, CRC(313a6490) SHA1(96430117f45cc0a34a7dbc51c0df032595451390) )
1857   ROM_LOAD( "4_070322", 0x300000, 0x80000, CRC(0cfaa33f) SHA1(df289b816fdb094228d518e823a3e660f5b8a0b6) )
1858   ROM_LOAD( "5_040815", 0x080000, 0x80000, CRC(ea127c3d) SHA1(a6391eed69a4723b68d727f59b6baebe51633e66) )
1859   ROM_LOAD( "6_040815", 0x180000, 0x80000, CRC(277fa273) SHA1(6320e6c5b5e48dc451cc48189054c42d85e8ccc1) )
1860   ROM_LOAD( "7_040815", 0x280000, 0x80000, CRC(3ca7f69a) SHA1(878cca181d915dc3548d5285a4bbb51aef31a64e) )
1861   ROM_LOAD( "8_040815", 0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
16011862ROM_END
16021863
1603ROM_START( rclimb_3b ) // 040827 - new service menu
1864ROM_START( rclimb_5 ) // 070621
16041865   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1605   ROM_LOAD( "rc040827.rom", 0x00000, 0x40000, CRC(3ba55647) SHA1(56e96be0d9782da4b3d5d911ea67962257626ae0) ) /* Not officially listed on Igrosoft's web site hash page */
1866   ROM_LOAD( "rc070621.rom", 0x00000, 0x40000, CRC(7f5223a6) SHA1(9aaed66ce6cd12faad09e2b74f8ae764a9707be7) )
16061867
16071868   ROM_REGION( 0x400000, "gfx", 0 )
1608   ROM_LOAD( "rc1_.bin", 0x000000, 0x80000, CRC(4bc00c66) SHA1(e4d89c2b188f253b642ae341a1a4c04af33024c8) ) /* is this set a total hack??? */
1609   ROM_LOAD( "rc2_.bin", 0x100000, 0x80000, CRC(89237f10) SHA1(a493a03f79656332089f2794872be44e62d7e306) )
1610   ROM_LOAD( "rc3_.bin", 0x200000, 0x80000, CRC(c4147d05) SHA1(8497fca6e64896cf8f03877c3455ee7bf9965b60) )
1611   ROM_LOAD( "rc4_.bin", 0x300000, 0x80000, CRC(06176cb1) SHA1(0644861042ca4be2d459b31870369a2e46d80aa4) )
1612   ROM_LOAD( "rc5_.bin", 0x080000, 0x80000, CRC(fb5f2036) SHA1(5f8885332a2d9249d34a0a50ac464a5637b9bc95) )
1613   ROM_LOAD( "rc6_.bin", 0x180000, 0x80000, CRC(36a8148f) SHA1(57d84e44c77f2bb1e97ec8a1acd3ef71246e3274) )
1614   ROM_LOAD( "rc7_.bin", 0x280000, 0x80000, CRC(26c620e3) SHA1(b14f2cfc0e5b740360e6ecca97f6bf941136141f) )
1615   ROM_LOAD( "rc8_.bin", 0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
1869   ROM_LOAD( "1_070322", 0x000000, 0x80000, CRC(2c6c10b6) SHA1(b2f96fb90a5f2150d84fe5012414c74fcbde81d1) )
1870   ROM_LOAD( "2_070322", 0x100000, 0x80000, CRC(7def062a) SHA1(d418f5e8b80680ecdc10159322c83d298c96cf4d) )
1871   ROM_LOAD( "3_070322", 0x200000, 0x80000, CRC(313a6490) SHA1(96430117f45cc0a34a7dbc51c0df032595451390) )
1872   ROM_LOAD( "4_070322", 0x300000, 0x80000, CRC(0cfaa33f) SHA1(df289b816fdb094228d518e823a3e660f5b8a0b6) )
1873   ROM_LOAD( "5_040815", 0x080000, 0x80000, CRC(ea127c3d) SHA1(a6391eed69a4723b68d727f59b6baebe51633e66) )
1874   ROM_LOAD( "6_040815", 0x180000, 0x80000, CRC(277fa273) SHA1(6320e6c5b5e48dc451cc48189054c42d85e8ccc1) )
1875   ROM_LOAD( "7_040815", 0x280000, 0x80000, CRC(3ca7f69a) SHA1(878cca181d915dc3548d5285a4bbb51aef31a64e) )
1876   ROM_LOAD( "8_040815", 0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
16161877ROM_END
16171878
1879
1880
16181881/*********************************************************
16191882   Sweet Life
16201883**********************************************************/
r9191r9192
16241887   ROM_LOAD( "sl041220.rom", 0x00000, 0x40000, CRC(851b85c6) SHA1(a5db94d94fe82d06f3fac1c16aed5358fcb92f29) )
16251888
16261889   ROM_REGION( 0x400000, "gfx", 0 )
1627   ROM_LOAD( "1", 0x000000, 0x80000, CRC(a096c786) SHA1(81f6b083cb089e9412a8506889196354c670d945) )
1628   ROM_LOAD( "2", 0x100000, 0x80000, CRC(c5e1e22c) SHA1(973ad27681a0f3beee7084b1b85fc9deb79d638e) )
1629   ROM_LOAD( "3", 0x200000, 0x80000, CRC(af335323) SHA1(b8afdce231a8ec0f313cc47e00a27f05461bbbc4) )
1630   ROM_LOAD( "4", 0x300000, 0x80000, CRC(a35c7503) SHA1(78f7a868660bbaa066e8e9e341db52018aaf3af1) )
1631   ROM_LOAD( "5", 0x080000, 0x80000, CRC(e2d6b632) SHA1(65d05e55671b8c335cae2dfbf6a6f5bd8cc90e2c) )
1632   ROM_LOAD( "6", 0x180000, 0x80000, CRC(d34e0905) SHA1(cc4afe64fb9052a31f759be41ff07a727e0a9093) )
1633   ROM_LOAD( "7", 0x280000, 0x80000, CRC(978b67bb) SHA1(87357d5832588f00272bd76df736c06c599f3853) )
1634   ROM_LOAD( "8", 0x380000, 0x80000, CRC(75954355) SHA1(e6ef2b70d859b61e8e3d1751de8558b8778e502d) )
1890   ROM_LOAD( "1_041220", 0x000000, 0x80000, CRC(a096c786) SHA1(81f6b083cb089e9412a8506889196354c670d945) )
1891   ROM_LOAD( "2_041220", 0x100000, 0x80000, CRC(c5e1e22c) SHA1(973ad27681a0f3beee7084b1b85fc9deb79d638e) )
1892   ROM_LOAD( "3_041220", 0x200000, 0x80000, CRC(af335323) SHA1(b8afdce231a8ec0f313cc47e00a27f05461bbbc4) )
1893   ROM_LOAD( "4_041220", 0x300000, 0x80000, CRC(a35c7503) SHA1(78f7a868660bbaa066e8e9e341db52018aaf3af1) )
1894   ROM_LOAD( "5_041220", 0x080000, 0x80000, CRC(e2d6b632) SHA1(65d05e55671b8c335cae2dfbf6a6f5bd8cc90e2c) )
1895   ROM_LOAD( "6_041220", 0x180000, 0x80000, CRC(d34e0905) SHA1(cc4afe64fb9052a31f759be41ff07a727e0a9093) )
1896   ROM_LOAD( "7_041220", 0x280000, 0x80000, CRC(978b67bb) SHA1(87357d5832588f00272bd76df736c06c599f3853) )
1897   ROM_LOAD( "8_041220", 0x380000, 0x80000, CRC(75954355) SHA1(e6ef2b70d859b61e8e3d1751de8558b8778e502d) )
16351898ROM_END
16361899
1637ROM_START( sweetla ) // 041220
1900
1901ROM_START( sweetl_2 ) // 070412
16381902   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1639   ROM_LOAD( "sl041220a.rom", 0x00000, 0x40000, CRC(920fd9fe) SHA1(0b5ad099ae4c8e3ba0f99baf8fc9322cae24e9d2) ) /* Not officially listed on Igrosoft's web site hash page */
1903   ROM_LOAD( "sl070412.rom", 0x00000, 0x40000, CRC(2d2cd8ec) SHA1(40f7778c6eb4681452635249a708e9dbc15c9045) )
16401904
16411905   ROM_REGION( 0x400000, "gfx", 0 )
1642   ROM_LOAD( "1", 0x000000, 0x80000, CRC(a096c786) SHA1(81f6b083cb089e9412a8506889196354c670d945) )
1643   ROM_LOAD( "2", 0x100000, 0x80000, CRC(c5e1e22c) SHA1(973ad27681a0f3beee7084b1b85fc9deb79d638e) )
1644   ROM_LOAD( "3", 0x200000, 0x80000, CRC(af335323) SHA1(b8afdce231a8ec0f313cc47e00a27f05461bbbc4) )
1645   ROM_LOAD( "4", 0x300000, 0x80000, CRC(a35c7503) SHA1(78f7a868660bbaa066e8e9e341db52018aaf3af1) )
1646   ROM_LOAD( "5", 0x080000, 0x80000, CRC(e2d6b632) SHA1(65d05e55671b8c335cae2dfbf6a6f5bd8cc90e2c) )
1647   ROM_LOAD( "6", 0x180000, 0x80000, CRC(d34e0905) SHA1(cc4afe64fb9052a31f759be41ff07a727e0a9093) )
1648   ROM_LOAD( "7", 0x280000, 0x80000, CRC(978b67bb) SHA1(87357d5832588f00272bd76df736c06c599f3853) )
1649   ROM_LOAD( "8", 0x380000, 0x80000, CRC(75954355) SHA1(e6ef2b70d859b61e8e3d1751de8558b8778e502d) )
1906   ROM_LOAD( "1_041220", 0x000000, 0x80000, CRC(a096c786) SHA1(81f6b083cb089e9412a8506889196354c670d945) )
1907   ROM_LOAD( "2_041220", 0x100000, 0x80000, CRC(c5e1e22c) SHA1(973ad27681a0f3beee7084b1b85fc9deb79d638e) )
1908   ROM_LOAD( "3_041220", 0x200000, 0x80000, CRC(af335323) SHA1(b8afdce231a8ec0f313cc47e00a27f05461bbbc4) )
1909   ROM_LOAD( "4_041220", 0x300000, 0x80000, CRC(a35c7503) SHA1(78f7a868660bbaa066e8e9e341db52018aaf3af1) )
1910   ROM_LOAD( "5_041220", 0x080000, 0x80000, CRC(e2d6b632) SHA1(65d05e55671b8c335cae2dfbf6a6f5bd8cc90e2c) )
1911   ROM_LOAD( "6_041220", 0x180000, 0x80000, CRC(d34e0905) SHA1(cc4afe64fb9052a31f759be41ff07a727e0a9093) )
1912   ROM_LOAD( "7_041220", 0x280000, 0x80000, CRC(978b67bb) SHA1(87357d5832588f00272bd76df736c06c599f3853) )
1913   ROM_LOAD( "8_041220", 0x380000, 0x80000, CRC(75954355) SHA1(e6ef2b70d859b61e8e3d1751de8558b8778e502d) )
16501914ROM_END
16511915
1652ROM_START( sweetlb ) // 041220 bank F9, changed version text to 070412
1653   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1654   ROM_LOAD( "sl041220b.rom", 0x00000, 0x40000, CRC(53f1a0e1) SHA1(a00a8e8d95bd2be27313c1421d40120ee79ff29d) ) /* Not officially listed on Igrosoft's web site hash page */
16551916
1656   ROM_REGION( 0x400000, "gfx", 0 )
1657   ROM_LOAD( "1", 0x000000, 0x80000, CRC(a096c786) SHA1(81f6b083cb089e9412a8506889196354c670d945) )
1658   ROM_LOAD( "2", 0x100000, 0x80000, CRC(c5e1e22c) SHA1(973ad27681a0f3beee7084b1b85fc9deb79d638e) )
1659   ROM_LOAD( "3", 0x200000, 0x80000, CRC(af335323) SHA1(b8afdce231a8ec0f313cc47e00a27f05461bbbc4) )
1660   ROM_LOAD( "4", 0x300000, 0x80000, CRC(a35c7503) SHA1(78f7a868660bbaa066e8e9e341db52018aaf3af1) )
1661   ROM_LOAD( "5", 0x080000, 0x80000, CRC(e2d6b632) SHA1(65d05e55671b8c335cae2dfbf6a6f5bd8cc90e2c) )
1662   ROM_LOAD( "6", 0x180000, 0x80000, CRC(d34e0905) SHA1(cc4afe64fb9052a31f759be41ff07a727e0a9093) )
1663   ROM_LOAD( "7", 0x280000, 0x80000, CRC(978b67bb) SHA1(87357d5832588f00272bd76df736c06c599f3853) )
1664   ROM_LOAD( "8", 0x380000, 0x80000, CRC(75954355) SHA1(e6ef2b70d859b61e8e3d1751de8558b8778e502d) )
1665ROM_END
1917/*********************************************************
1918   Sweet Life 2
1919**********************************************************/
16661920
1921/* no supported sets */
1922
16671923/*********************************************************
16681924   Resident
16691925
r9191r9192
16721928
16731929**********************************************************/
16741930
1675#if ALL_REVISIONS
16761931ROM_START( resdnt ) // 040415
16771932   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
16781933   ROM_LOAD( "rs040415.rom", 0x00000, 0x40000, MD5(a46e993839a7ce5c4a3d90ba0e961e69) SHA1(b9f07bc2765d4f366e548007e51b9f605c884ba1) )
16791934
16801935   ROM_REGION( 0x400000, "gfx", 0 )
1681   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(e0645da6) SHA1(dd72f4830d8011f603aa6d430f34ac2598005281) )
1682   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(dd8de247) SHA1(498c5b931ce65e289f52d8864b603166f81e3dc4) )
1683   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(0d346ec2) SHA1(e2456b28825c54c5e16829525627c40611c0083d) )
1684   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(1f95aad9) SHA1(51d003288d5ff23b3c981fbaa99d29b66dd2c101) )
1685   ROM_LOAD( "5",  0x080000, 0x80000, CRC(0cfe7d44) SHA1(9f0e4925e815ff9f79188f18e78c0a7b377daa3f) )
1686   ROM_LOAD( "6",  0x180000, 0x80000, CRC(7437904f) SHA1(630c79cd6a990ce7658a1ffabba5a27efba985a1) )
1687   ROM_LOAD( "7",  0x280000, 0x80000, CRC(6e94728a) SHA1(ab414879cb957d9bc8d653b5e3bb2bbf91139ec0) )
1688   ROM_LOAD( "8",  0x380000, 0x80000, CRC(a9f55043) SHA1(4771df3d45bdc0a21b1c479f45e09ac5bab6c94f) )
1936   ROM_LOAD( "1_040415", 0x000000, 0x80000, CRC(e0645da6) SHA1(dd72f4830d8011f603aa6d430f34ac2598005281) )
1937   ROM_LOAD( "2_040415", 0x100000, 0x80000, CRC(dd8de247) SHA1(498c5b931ce65e289f52d8864b603166f81e3dc4) )
1938   ROM_LOAD( "3_040415", 0x200000, 0x80000, CRC(0d346ec2) SHA1(e2456b28825c54c5e16829525627c40611c0083d) )
1939   ROM_LOAD( "4_040415", 0x300000, 0x80000, CRC(1f95aad9) SHA1(51d003288d5ff23b3c981fbaa99d29b66dd2c101) )
1940   ROM_LOAD( "5_040415", 0x080000, 0x80000, CRC(0cfe7d44) SHA1(9f0e4925e815ff9f79188f18e78c0a7b377daa3f) )
1941   ROM_LOAD( "6_040415", 0x180000, 0x80000, CRC(7437904f) SHA1(630c79cd6a990ce7658a1ffabba5a27efba985a1) )
1942   ROM_LOAD( "7_040415", 0x280000, 0x80000, CRC(6e94728a) SHA1(ab414879cb957d9bc8d653b5e3bb2bbf91139ec0) )
1943   ROM_LOAD( "8_040415", 0x380000, 0x80000, CRC(a9f55043) SHA1(4771df3d45bdc0a21b1c479f45e09ac5bab6c94f) )
16891944ROM_END
1690#endif
16911945
16921946ROM_START( resdnt_2 ) // 040513
16931947   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
16941948   ROM_LOAD( "rs040513.rom", 0x00000, 0x40000, CRC(95f74cb3) SHA1(2e4862ac0ad86899b8ce12580ebd217dfb74f6a2) )
16951949
16961950   ROM_REGION( 0x400000, "gfx", 0 )
1697   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(e0645da6) SHA1(dd72f4830d8011f603aa6d430f34ac2598005281) )
1698   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(dd8de247) SHA1(498c5b931ce65e289f52d8864b603166f81e3dc4) )
1699   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(0d346ec2) SHA1(e2456b28825c54c5e16829525627c40611c0083d) )
1700   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(1f95aad9) SHA1(51d003288d5ff23b3c981fbaa99d29b66dd2c101) )
1701   ROM_LOAD( "5",  0x080000, 0x80000, CRC(0cfe7d44) SHA1(9f0e4925e815ff9f79188f18e78c0a7b377daa3f) )
1702   ROM_LOAD( "6",  0x180000, 0x80000, CRC(7437904f) SHA1(630c79cd6a990ce7658a1ffabba5a27efba985a1) )
1703   ROM_LOAD( "7",  0x280000, 0x80000, CRC(6e94728a) SHA1(ab414879cb957d9bc8d653b5e3bb2bbf91139ec0) )
1704   ROM_LOAD( "8",  0x380000, 0x80000, CRC(a9f55043) SHA1(4771df3d45bdc0a21b1c479f45e09ac5bab6c94f) )
1951   ROM_LOAD( "1_040415", 0x000000, 0x80000, CRC(e0645da6) SHA1(dd72f4830d8011f603aa6d430f34ac2598005281) )
1952   ROM_LOAD( "2_040415", 0x100000, 0x80000, CRC(dd8de247) SHA1(498c5b931ce65e289f52d8864b603166f81e3dc4) )
1953   ROM_LOAD( "3_040415", 0x200000, 0x80000, CRC(0d346ec2) SHA1(e2456b28825c54c5e16829525627c40611c0083d) )
1954   ROM_LOAD( "4_040415", 0x300000, 0x80000, CRC(1f95aad9) SHA1(51d003288d5ff23b3c981fbaa99d29b66dd2c101) )
1955   ROM_LOAD( "5_040415", 0x080000, 0x80000, CRC(0cfe7d44) SHA1(9f0e4925e815ff9f79188f18e78c0a7b377daa3f) )
1956   ROM_LOAD( "6_040415", 0x180000, 0x80000, CRC(7437904f) SHA1(630c79cd6a990ce7658a1ffabba5a27efba985a1) )
1957   ROM_LOAD( "7_040415", 0x280000, 0x80000, CRC(6e94728a) SHA1(ab414879cb957d9bc8d653b5e3bb2bbf91139ec0) )
1958   ROM_LOAD( "8_040415", 0x380000, 0x80000, CRC(a9f55043) SHA1(4771df3d45bdc0a21b1c479f45e09ac5bab6c94f) )
17051959ROM_END
17061960
1707ROM_START( resdnt_2a ) // 040513
1961ROM_START( resdnt_3 ) // 070222
17081962   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1709   ROM_LOAD( "rs040513a.rom", 0x00000, 0x40000, CRC(5b6480d7) SHA1(e54ddc822819136687d613ce4f38dd98f3e01bb5) ) /* Not officially listed on Igrosoft's web site hash page */
1963   ROM_LOAD( "rs070222.rom", 0x00000, 0x40000, CRC(8aec434e) SHA1(e83c57bbde3379b4d09aa615f2f3fc82d5c5a3cb) )
17101964
17111965   ROM_REGION( 0x400000, "gfx", 0 )
1712   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(e0645da6) SHA1(dd72f4830d8011f603aa6d430f34ac2598005281) )
1713   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(dd8de247) SHA1(498c5b931ce65e289f52d8864b603166f81e3dc4) )
1714   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(0d346ec2) SHA1(e2456b28825c54c5e16829525627c40611c0083d) )
1715   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(1f95aad9) SHA1(51d003288d5ff23b3c981fbaa99d29b66dd2c101) )
1716   ROM_LOAD( "5",  0x080000, 0x80000, CRC(0cfe7d44) SHA1(9f0e4925e815ff9f79188f18e78c0a7b377daa3f) )
1717   ROM_LOAD( "6",  0x180000, 0x80000, CRC(7437904f) SHA1(630c79cd6a990ce7658a1ffabba5a27efba985a1) )
1718   ROM_LOAD( "7",  0x280000, 0x80000, CRC(6e94728a) SHA1(ab414879cb957d9bc8d653b5e3bb2bbf91139ec0) )
1719   ROM_LOAD( "8",  0x380000, 0x80000, CRC(a9f55043) SHA1(4771df3d45bdc0a21b1c479f45e09ac5bab6c94f) )
1966   ROM_LOAD( "1_070222", 0x000000, 0x80000, CRC(5a1a24f1) SHA1(da601ed84603b880d2ce4b98784067531d5294b2) )
1967   ROM_LOAD( "2_070222", 0x100000, 0x80000, CRC(9a8bfa95) SHA1(392690b7031ce2c8ff87843befeefa0e68ae8fce) )
1968   ROM_LOAD( "3_070222", 0x200000, 0x80000, CRC(0d0db860) SHA1(93bc2b0bb51d754e19f58d8388c837ba2c7ba5ee) )
1969   ROM_LOAD( "4_070222", 0x300000, 0x80000, CRC(1d3a5b92) SHA1(c8bebca6beb225911c26e30e090d66b724733d59) )
1970   ROM_LOAD( "5_040415", 0x080000, 0x80000, CRC(0cfe7d44) SHA1(9f0e4925e815ff9f79188f18e78c0a7b377daa3f) )
1971   ROM_LOAD( "6_040415", 0x180000, 0x80000, CRC(7437904f) SHA1(630c79cd6a990ce7658a1ffabba5a27efba985a1) )
1972   ROM_LOAD( "7_040415", 0x280000, 0x80000, CRC(6e94728a) SHA1(ab414879cb957d9bc8d653b5e3bb2bbf91139ec0) )
1973   ROM_LOAD( "8_040415", 0x380000, 0x80000, CRC(a9f55043) SHA1(4771df3d45bdc0a21b1c479f45e09ac5bab6c94f) )
17201974ROM_END
17211975
17221976/*********************************************************
r9191r9192
17271981
17281982**********************************************************/
17291983
1730#if ALL_REVISIONS
17311984ROM_START( rollfr ) // 030821
17321985   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
17331986   ROM_LOAD( "rf5-030821.rom", 0x00000, 0x40000, MD5(ef4e9d1845676fe655d2f415ca7bd953) SHA1(5e9c2235ea4207086db23870993d8e28356c9eb8) )
17341987
1735   ROM_REGION( 0x400000, "gfx", 0 ) // no gfx roms listed in dat..
1736   ROM_LOAD( "1",  0x000000, 0x80000, CRC(caeb1fc3) SHA1(14b9f99f892849faecb3327e572dc134e1065463) )
1737   ROM_LOAD( "2",  0x100000, 0x80000, CRC(f017c200) SHA1(a247bbbd1c4ca99978dcc705bd62590815a891f2) )
1738   ROM_LOAD( "3",  0x200000, 0x80000, CRC(a2d6df11) SHA1(c2553136252aebe3b3ce0b5c33e740d0e27fb7b2) )
1739   ROM_LOAD( "4",  0x300000, 0x80000, CRC(cd3c928a) SHA1(4c50ce17bd5714149eae91279a0133059397b776) )
1740   ROM_LOAD( "5a", 0x080000, 0x80000, CRC(24c7362a) SHA1(684b7b370fcad07bf74bddffaf432bd52e5d29e2) )
1741   ROM_LOAD( "6a", 0x180000, 0x80000, CRC(d6a61904) SHA1(73700e88358ed9bccbb63643b7daaff416737e43) )
1742   ROM_LOAD( "7a", 0x280000, 0x80000, CRC(81e3480b) SHA1(c0f006cf2a4747359cb79f14976ac3411951af1c) )
1743   ROM_LOAD( "8a", 0x380000, 0x80000, CRC(ed3558b8) SHA1(8ec808069053f0c07d81c45090b2ba22ef8e9c32) )
1988   ROM_REGION( 0x400000, "gfx", 0 )
1989   ROM_LOAD( "1_030821",  0x000000, 0x80000, CRC(caeb1fc3) SHA1(14b9f99f892849faecb3327e572dc134e1065463) )
1990   ROM_LOAD( "2_030821",  0x100000, 0x80000, CRC(f017c200) SHA1(a247bbbd1c4ca99978dcc705bd62590815a891f2) )
1991   ROM_LOAD( "3_030821",  0x200000, 0x80000, CRC(a2d6df11) SHA1(c2553136252aebe3b3ce0b5c33e740d0e27fb7b2) )
1992   ROM_LOAD( "4_030821",  0x300000, 0x80000, CRC(cd3c928a) SHA1(4c50ce17bd5714149eae91279a0133059397b776) )
1993   ROM_LOAD( "5_030821",  0x080000, 0x80000, CRC(24c7362a) SHA1(684b7b370fcad07bf74bddffaf432bd52e5d29e2) )
1994   ROM_LOAD( "6_030821",  0x180000, 0x80000, CRC(d6a61904) SHA1(73700e88358ed9bccbb63643b7daaff416737e43) )
1995   ROM_LOAD( "7_030821",  0x280000, 0x80000, CRC(81e3480b) SHA1(c0f006cf2a4747359cb79f14976ac3411951af1c) )
1996   ROM_LOAD( "8_030821",  0x380000, 0x80000, CRC(ed3558b8) SHA1(8ec808069053f0c07d81c45090b2ba22ef8e9c32) )
17441997ROM_END
1745#endif
17461998
17471999ROM_START( rollfr_2 ) // 040318
17482000   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
17492001   ROM_LOAD( "rf5-040318.rom", 0x00000, 0x40000, CRC(d8efd395) SHA1(71edd1541df400fef97abacabb10d882ace4c8b0) )
17502002
17512003   ROM_REGION( 0x400000, "gfx", 0 )
1752   ROM_LOAD( "1",  0x000000, 0x80000, CRC(caeb1fc3) SHA1(14b9f99f892849faecb3327e572dc134e1065463) )
1753   ROM_LOAD( "2",  0x100000, 0x80000, CRC(f017c200) SHA1(a247bbbd1c4ca99978dcc705bd62590815a891f2) )
1754   ROM_LOAD( "3",  0x200000, 0x80000, CRC(a2d6df11) SHA1(c2553136252aebe3b3ce0b5c33e740d0e27fb7b2) )
1755   ROM_LOAD( "4",  0x300000, 0x80000, CRC(cd3c928a) SHA1(4c50ce17bd5714149eae91279a0133059397b776) )
1756   ROM_LOAD( "5a", 0x080000, 0x80000, CRC(24c7362a) SHA1(684b7b370fcad07bf74bddffaf432bd52e5d29e2) )
1757   ROM_LOAD( "6a", 0x180000, 0x80000, CRC(d6a61904) SHA1(73700e88358ed9bccbb63643b7daaff416737e43) )
1758   ROM_LOAD( "7a", 0x280000, 0x80000, CRC(81e3480b) SHA1(c0f006cf2a4747359cb79f14976ac3411951af1c) )
1759   ROM_LOAD( "8a", 0x380000, 0x80000, CRC(ed3558b8) SHA1(8ec808069053f0c07d81c45090b2ba22ef8e9c32) )
2004   ROM_LOAD( "1_030821",  0x000000, 0x80000, CRC(caeb1fc3) SHA1(14b9f99f892849faecb3327e572dc134e1065463) )
2005   ROM_LOAD( "2_030821",  0x100000, 0x80000, CRC(f017c200) SHA1(a247bbbd1c4ca99978dcc705bd62590815a891f2) )
2006   ROM_LOAD( "3_030821",  0x200000, 0x80000, CRC(a2d6df11) SHA1(c2553136252aebe3b3ce0b5c33e740d0e27fb7b2) )
2007   ROM_LOAD( "4_030821",  0x300000, 0x80000, CRC(cd3c928a) SHA1(4c50ce17bd5714149eae91279a0133059397b776) )
2008   ROM_LOAD( "5_030821",  0x080000, 0x80000, CRC(24c7362a) SHA1(684b7b370fcad07bf74bddffaf432bd52e5d29e2) )
2009   ROM_LOAD( "6_030821",  0x180000, 0x80000, CRC(d6a61904) SHA1(73700e88358ed9bccbb63643b7daaff416737e43) )
2010   ROM_LOAD( "7_030821",  0x280000, 0x80000, CRC(81e3480b) SHA1(c0f006cf2a4747359cb79f14976ac3411951af1c) )
2011   ROM_LOAD( "8_030821",  0x380000, 0x80000, CRC(ed3558b8) SHA1(8ec808069053f0c07d81c45090b2ba22ef8e9c32) )
17602012ROM_END
17612013
2014
17622015/*********************************************************
17632016   Island
17642017**********************************************************/
r9191r9192
17682021   ROM_LOAD( "is050713.rom", 0x00000, 0x40000, CRC(26c7013e) SHA1(5d604f5b4859e9e82830424a1e21f32a9e49bf34) )
17692022
17702023   ROM_REGION( 0x400000, "gfx", 0 )
1771   ROM_LOAD( "1", 0x000000, 0x80000, CRC(dbe8cdda) SHA1(4747cf0d85afdef22d3ba9fa5e75b39548725745) )
1772   ROM_LOAD( "2", 0x100000, 0x80000, CRC(64064745) SHA1(91a7bc7204a8f7a7512eeaf4906da20a9f587565) )
1773   ROM_LOAD( "3", 0x200000, 0x80000, CRC(1d993f68) SHA1(b0459d3941d50668f7533909e3f3da91453d3efd) )
1774   ROM_LOAD( "4", 0x300000, 0x80000, CRC(a4739404) SHA1(8f7ffcc13dcb35adfa8060ab1930d07195b6110c) )
1775   ROM_LOAD( "5", 0x080000, 0x80000, CRC(d016eb31) SHA1(a84f18af470f72730b241b9031cd6131c8a03db2) )
1776   ROM_LOAD( "6", 0x180000, 0x80000, CRC(0faaa968) SHA1(0f05546e6e0559e24c6afdde65b3feeb66b6adff) )
1777   ROM_LOAD( "7", 0x280000, 0x80000, CRC(d7277a6c) SHA1(d96a0befc965ad22087381982305d68208978a7e) )
1778   ROM_LOAD( "8", 0x380000, 0x80000, CRC(ac6fba48) SHA1(64dd03d624f16da52bc7fa0702246e91ae39a806) )
2024   ROM_LOAD( "1_050713", 0x000000, 0x80000, CRC(dbe8cdda) SHA1(4747cf0d85afdef22d3ba9fa5e75b39548725745) )
2025   ROM_LOAD( "2_050713", 0x100000, 0x80000, CRC(64064745) SHA1(91a7bc7204a8f7a7512eeaf4906da20a9f587565) )
2026   ROM_LOAD( "3_050713", 0x200000, 0x80000, CRC(1d993f68) SHA1(b0459d3941d50668f7533909e3f3da91453d3efd) )
2027   ROM_LOAD( "4_050713", 0x300000, 0x80000, CRC(a4739404) SHA1(8f7ffcc13dcb35adfa8060ab1930d07195b6110c) )
2028   ROM_LOAD( "5_050713", 0x080000, 0x80000, CRC(d016eb31) SHA1(a84f18af470f72730b241b9031cd6131c8a03db2) )
2029   ROM_LOAD( "6_050713", 0x180000, 0x80000, CRC(0faaa968) SHA1(0f05546e6e0559e24c6afdde65b3feeb66b6adff) )
2030   ROM_LOAD( "7_050713", 0x280000, 0x80000, CRC(d7277a6c) SHA1(d96a0befc965ad22087381982305d68208978a7e) )
2031   ROM_LOAD( "8_050713", 0x380000, 0x80000, CRC(ac6fba48) SHA1(64dd03d624f16da52bc7fa0702246e91ae39a806) )
17792032ROM_END
17802033
1781ROM_START( islanda ) // 050713
2034ROM_START( island_2 ) // 070409
17822035   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1783   ROM_LOAD( "is050713a.rom", 0x00000, 0x40000, CRC(d3d62cb3) SHA1(2ceb83ac9d59a570435220f06e8317057bb46608) ) /* Not officially listed on Igrosoft's web site hash page */
2036   ROM_LOAD( "is070409.rom", 0x00000, 0x40000, CRC(b6790aeb) SHA1(b80d0e4ae003473ac623183439737d6159f59274) )
17842037
17852038   ROM_REGION( 0x400000, "gfx", 0 )
1786   ROM_LOAD( "1", 0x000000, 0x80000, CRC(dbe8cdda) SHA1(4747cf0d85afdef22d3ba9fa5e75b39548725745) )
1787   ROM_LOAD( "2", 0x100000, 0x80000, CRC(64064745) SHA1(91a7bc7204a8f7a7512eeaf4906da20a9f587565) )
1788   ROM_LOAD( "3", 0x200000, 0x80000, CRC(1d993f68) SHA1(b0459d3941d50668f7533909e3f3da91453d3efd) )
1789   ROM_LOAD( "4", 0x300000, 0x80000, CRC(a4739404) SHA1(8f7ffcc13dcb35adfa8060ab1930d07195b6110c) )
1790   ROM_LOAD( "5", 0x080000, 0x80000, CRC(d016eb31) SHA1(a84f18af470f72730b241b9031cd6131c8a03db2) )
1791   ROM_LOAD( "6", 0x180000, 0x80000, CRC(0faaa968) SHA1(0f05546e6e0559e24c6afdde65b3feeb66b6adff) )
1792   ROM_LOAD( "7", 0x280000, 0x80000, CRC(d7277a6c) SHA1(d96a0befc965ad22087381982305d68208978a7e) )
1793   ROM_LOAD( "8", 0x380000, 0x80000, CRC(ac6fba48) SHA1(64dd03d624f16da52bc7fa0702246e91ae39a806) )
2039   ROM_LOAD( "1_050713", 0x000000, 0x80000, CRC(dbe8cdda) SHA1(4747cf0d85afdef22d3ba9fa5e75b39548725745) )
2040   ROM_LOAD( "2_050713", 0x100000, 0x80000, CRC(64064745) SHA1(91a7bc7204a8f7a7512eeaf4906da20a9f587565) )
2041   ROM_LOAD( "3_050713", 0x200000, 0x80000, CRC(1d993f68) SHA1(b0459d3941d50668f7533909e3f3da91453d3efd) )
2042   ROM_LOAD( "4_050713", 0x300000, 0x80000, CRC(a4739404) SHA1(8f7ffcc13dcb35adfa8060ab1930d07195b6110c) )
2043   ROM_LOAD( "5_050713", 0x080000, 0x80000, CRC(d016eb31) SHA1(a84f18af470f72730b241b9031cd6131c8a03db2) )
2044   ROM_LOAD( "6_050713", 0x180000, 0x80000, CRC(0faaa968) SHA1(0f05546e6e0559e24c6afdde65b3feeb66b6adff) )
2045   ROM_LOAD( "7_050713", 0x280000, 0x80000, CRC(d7277a6c) SHA1(d96a0befc965ad22087381982305d68208978a7e) )
2046   ROM_LOAD( "8_050713", 0x380000, 0x80000, CRC(ac6fba48) SHA1(64dd03d624f16da52bc7fa0702246e91ae39a806) )
17942047ROM_END
17952048
2049
17962050/*********************************************************
17972051   Island 2
17982052**********************************************************/
r9191r9192
18022056   ROM_LOAD( "is2_060529.rom", 0x00000, 0x40000, CRC(4ccddabd) SHA1(ae5902734488b7ddfa0f7bbf9b800d25b2b657b5) )
18032057
18042058   ROM_REGION( 0x400000, "gfx", 0 )
1805   ROM_LOAD( "1", 0x000000, 0x80000, CRC(f8dd9fe9) SHA1(0cf67fbca107b255011fded6390507d12cbac514) )
1806   ROM_LOAD( "2", 0x100000, 0x80000, CRC(4f9607c0) SHA1(cd3e7b4a88f46231a115c9d18a26b5e30fea74e4) )
1807   ROM_LOAD( "3", 0x200000, 0x80000, CRC(bceccdba) SHA1(5cf3b51ccfe317ca57d770bff0204b0ee83d1173) )
1808   ROM_LOAD( "4", 0x300000, 0x80000, CRC(15fdecc7) SHA1(6882ea10f117c85544df51d9abd67ef52db91d95) )
1809   ROM_LOAD( "5", 0x080000, 0x80000, CRC(2d4905aa) SHA1(c4a1e4db61e8af6cf0fb70aabe5e3896ab5227ca) )
1810   ROM_LOAD( "6", 0x180000, 0x80000, CRC(55e285d9) SHA1(ba58963441c65220700cd8057e6afe3f5f8faa4f) )
1811   ROM_LOAD( "7", 0x280000, 0x80000, CRC(edd72be6) SHA1(fb1e63f59e8565c23ae43630fa572fbc022c878f) )
1812   ROM_LOAD( "8", 0x380000, 0x80000, CRC(c336d608) SHA1(55391183c6d95ecea81354efa70641350860d1f5) )
2059   ROM_LOAD( "1_060529", 0x000000, 0x80000, CRC(f8dd9fe9) SHA1(0cf67fbca107b255011fded6390507d12cbac514) )
2060   ROM_LOAD( "2_060529", 0x100000, 0x80000, CRC(4f9607c0) SHA1(cd3e7b4a88f46231a115c9d18a26b5e30fea74e4) )
2061   ROM_LOAD( "3_060529", 0x200000, 0x80000, CRC(bceccdba) SHA1(5cf3b51ccfe317ca57d770bff0204b0ee83d1173) )
2062   ROM_LOAD( "4_060529", 0x300000, 0x80000, CRC(15fdecc7) SHA1(6882ea10f117c85544df51d9abd67ef52db91d95) )
2063   ROM_LOAD( "5_060529", 0x080000, 0x80000, CRC(2d4905aa) SHA1(c4a1e4db61e8af6cf0fb70aabe5e3896ab5227ca) )
2064   ROM_LOAD( "6_060529", 0x180000, 0x80000, CRC(55e285d9) SHA1(ba58963441c65220700cd8057e6afe3f5f8faa4f) )
2065   ROM_LOAD( "7_060529", 0x280000, 0x80000, CRC(edd72be6) SHA1(fb1e63f59e8565c23ae43630fa572fbc022c878f) )
2066   ROM_LOAD( "8_060529", 0x380000, 0x80000, CRC(c336d608) SHA1(55391183c6d95ecea81354efa70641350860d1f5) )
18132067ROM_END
18142068
1815ROM_START( island2a ) // 060529
2069
2070ROM_START( island2_2 ) // 061214
18162071   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1817   ROM_LOAD( "is2_060529a.rom", 0x00000, 0x40000, CRC(4341d65c) SHA1(e7120c805d7dbf0fee5d18243ddf2cfa19a0d88c) ) /* Not officially listed on Igrosoft's web site hash page */
2072   ROM_LOAD( "is2_061214.rom", 0x00000, 0x40000, MD5(566eb61392eaf72e7c311dceb92cdb11) SHA1(dd416d831c3773f044b355efcb1121f7eb81932b) )
18182073
18192074   ROM_REGION( 0x400000, "gfx", 0 )
1820   ROM_LOAD( "1", 0x000000, 0x80000, CRC(f8dd9fe9) SHA1(0cf67fbca107b255011fded6390507d12cbac514) )
1821   ROM_LOAD( "2", 0x100000, 0x80000, CRC(4f9607c0) SHA1(cd3e7b4a88f46231a115c9d18a26b5e30fea74e4) )
1822   ROM_LOAD( "3", 0x200000, 0x80000, CRC(bceccdba) SHA1(5cf3b51ccfe317ca57d770bff0204b0ee83d1173) )
1823   ROM_LOAD( "4", 0x300000, 0x80000, CRC(15fdecc7) SHA1(6882ea10f117c85544df51d9abd67ef52db91d95) )
1824   ROM_LOAD( "5", 0x080000, 0x80000, CRC(2d4905aa) SHA1(c4a1e4db61e8af6cf0fb70aabe5e3896ab5227ca) )
1825   ROM_LOAD( "6", 0x180000, 0x80000, CRC(55e285d9) SHA1(ba58963441c65220700cd8057e6afe3f5f8faa4f) )
1826   ROM_LOAD( "7", 0x280000, 0x80000, CRC(edd72be6) SHA1(fb1e63f59e8565c23ae43630fa572fbc022c878f) )
1827   ROM_LOAD( "8", 0x380000, 0x80000, CRC(c336d608) SHA1(55391183c6d95ecea81354efa70641350860d1f5) )
2075   ROM_LOAD( "1_060529", 0x000000, 0x80000, CRC(f8dd9fe9) SHA1(0cf67fbca107b255011fded6390507d12cbac514) )
2076   ROM_LOAD( "2_060529", 0x100000, 0x80000, CRC(4f9607c0) SHA1(cd3e7b4a88f46231a115c9d18a26b5e30fea74e4) )
2077   ROM_LOAD( "3_060529", 0x200000, 0x80000, CRC(bceccdba) SHA1(5cf3b51ccfe317ca57d770bff0204b0ee83d1173) )
2078   ROM_LOAD( "4_060529", 0x300000, 0x80000, CRC(15fdecc7) SHA1(6882ea10f117c85544df51d9abd67ef52db91d95) )
2079   ROM_LOAD( "5_060529", 0x080000, 0x80000, CRC(2d4905aa) SHA1(c4a1e4db61e8af6cf0fb70aabe5e3896ab5227ca) )
2080   ROM_LOAD( "6_060529", 0x180000, 0x80000, CRC(55e285d9) SHA1(ba58963441c65220700cd8057e6afe3f5f8faa4f) )
2081   ROM_LOAD( "7_060529", 0x280000, 0x80000, CRC(edd72be6) SHA1(fb1e63f59e8565c23ae43630fa572fbc022c878f) )
2082   ROM_LOAD( "8_060529", 0x380000, 0x80000, CRC(c336d608) SHA1(55391183c6d95ecea81354efa70641350860d1f5) )
18282083ROM_END
18292084
2085ROM_START( island2_3 ) // 061218
2086   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2087   ROM_LOAD( "is2_061218.rom", 0x00000, 0x40000, CRC(f16cecc5) SHA1(c9caa265295837deb83d1454daf586f3d0be0ee6) )
2088
2089   ROM_REGION( 0x400000, "gfx", 0 )
2090   ROM_LOAD( "1_060529", 0x000000, 0x80000, CRC(f8dd9fe9) SHA1(0cf67fbca107b255011fded6390507d12cbac514) )
2091   ROM_LOAD( "2_060529", 0x100000, 0x80000, CRC(4f9607c0) SHA1(cd3e7b4a88f46231a115c9d18a26b5e30fea74e4) )
2092   ROM_LOAD( "3_060529", 0x200000, 0x80000, CRC(bceccdba) SHA1(5cf3b51ccfe317ca57d770bff0204b0ee83d1173) )
2093   ROM_LOAD( "4_060529", 0x300000, 0x80000, CRC(15fdecc7) SHA1(6882ea10f117c85544df51d9abd67ef52db91d95) )
2094   ROM_LOAD( "5_060529", 0x080000, 0x80000, CRC(2d4905aa) SHA1(c4a1e4db61e8af6cf0fb70aabe5e3896ab5227ca) )
2095   ROM_LOAD( "6_060529", 0x180000, 0x80000, CRC(55e285d9) SHA1(ba58963441c65220700cd8057e6afe3f5f8faa4f) )
2096   ROM_LOAD( "7_060529", 0x280000, 0x80000, CRC(edd72be6) SHA1(fb1e63f59e8565c23ae43630fa572fbc022c878f) )
2097   ROM_LOAD( "8_060529", 0x380000, 0x80000, CRC(c336d608) SHA1(55391183c6d95ecea81354efa70641350860d1f5) )
2098ROM_END
2099
2100
2101ROM_START( island2_4 ) // 070205
2102   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2103   ROM_LOAD( "is2_070205.rom", 0x00000, 0x40000, CRC(bc3e619b) SHA1(4a8e01d60f73e58b2c6cfa739a0a8fce60e565cc) )
2104
2105   ROM_REGION( 0x400000, "gfx", 0 )
2106   ROM_LOAD( "1_060529", 0x000000, 0x80000, CRC(f8dd9fe9) SHA1(0cf67fbca107b255011fded6390507d12cbac514) )
2107   ROM_LOAD( "2_060529", 0x100000, 0x80000, CRC(4f9607c0) SHA1(cd3e7b4a88f46231a115c9d18a26b5e30fea74e4) )
2108   ROM_LOAD( "3_060529", 0x200000, 0x80000, CRC(bceccdba) SHA1(5cf3b51ccfe317ca57d770bff0204b0ee83d1173) )
2109   ROM_LOAD( "4_060529", 0x300000, 0x80000, CRC(15fdecc7) SHA1(6882ea10f117c85544df51d9abd67ef52db91d95) )
2110   ROM_LOAD( "5_060529", 0x080000, 0x80000, CRC(2d4905aa) SHA1(c4a1e4db61e8af6cf0fb70aabe5e3896ab5227ca) )
2111   ROM_LOAD( "6_060529", 0x180000, 0x80000, CRC(55e285d9) SHA1(ba58963441c65220700cd8057e6afe3f5f8faa4f) )
2112   ROM_LOAD( "7_060529", 0x280000, 0x80000, CRC(edd72be6) SHA1(fb1e63f59e8565c23ae43630fa572fbc022c878f) )
2113   ROM_LOAD( "8_060529", 0x380000, 0x80000, CRC(c336d608) SHA1(55391183c6d95ecea81354efa70641350860d1f5) )
2114ROM_END
2115
2116
2117
18302118/*********************************************************
18312119   Pirate
18322120**********************************************************/
18332121
1834#if ALL_REVISIONS
18352122ROM_START( pirate ) // 051229
18362123   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
18372124   ROM_LOAD( "pr051229.rom", 0x00000, 0x40000, MD5(d813af59a7a356800470b109a41b978f) SHA1(d1286cba474ccbbff8358ba2fd6917d43d101674) )
18382125
18392126   ROM_REGION( 0x400000, "gfx", 0 )
1840   ROM_LOAD( "1", 0x000000, 0x80000, CRC(d2199619) SHA1(8c67ef7d0e305ae0783302ba9a1cb56cdcf4bc09) )
1841   ROM_LOAD( "2", 0x100000, 0x80000, CRC(ce5c6548) SHA1(ef1cd6ae36cc1abcf010762dc89a255cd817d016) )
1842   ROM_LOAD( "3", 0x200000, 0x80000, CRC(d6a8338d) SHA1(6a0e41309dc909decf8bd49cf13cbeca95f0314a) )
1843   ROM_LOAD( "4", 0x300000, 0x80000, CRC(590b8cf6) SHA1(b2778f6e1b7bcf7f33ced43f999eff983e5a6af4) )
1844   ROM_LOAD( "5", 0x080000, 0x80000, CRC(bf9f1267) SHA1(b0947bd7d31301ffbe80cbaf1e96c3476f6f9ca3) )
1845   ROM_LOAD( "6", 0x180000, 0x80000, CRC(b0cdf7eb) SHA1(cf6bd20fb40cf0d87eeb6f1502fb73d9760c9140) )
1846   ROM_LOAD( "7", 0x280000, 0x80000, CRC(6c4a9510) SHA1(e10bf8475ff7c73ba90b904b9214b285a5b2669f) )
1847   ROM_LOAD( "8", 0x380000, 0x80000, CRC(cc2edac2) SHA1(24bacd9e092a83945a8def3a254ec66758d71ff5) )
2127   ROM_LOAD( "1_051229", 0x000000, 0x80000, CRC(d2199619) SHA1(8c67ef7d0e305ae0783302ba9a1cb56cdcf4bc09) )
2128   ROM_LOAD( "2_051229", 0x100000, 0x80000, CRC(ce5c6548) SHA1(ef1cd6ae36cc1abcf010762dc89a255cd817d016) )
2129   ROM_LOAD( "3_051229", 0x200000, 0x80000, CRC(d6a8338d) SHA1(6a0e41309dc909decf8bd49cf13cbeca95f0314a) )
2130   ROM_LOAD( "4_051229", 0x300000, 0x80000, CRC(590b8cf6) SHA1(b2778f6e1b7bcf7f33ced43f999eff983e5a6af4) )
2131   ROM_LOAD( "5_051229", 0x080000, 0x80000, CRC(bf9f1267) SHA1(b0947bd7d31301ffbe80cbaf1e96c3476f6f9ca3) )
2132   ROM_LOAD( "6_051229", 0x180000, 0x80000, CRC(b0cdf7eb) SHA1(cf6bd20fb40cf0d87eeb6f1502fb73d9760c9140) )
2133   ROM_LOAD( "7_051229", 0x280000, 0x80000, CRC(6c4a9510) SHA1(e10bf8475ff7c73ba90b904b9214b285a5b2669f) )
2134   ROM_LOAD( "8_051229", 0x380000, 0x80000, CRC(cc2edac2) SHA1(24bacd9e092a83945a8def3a254ec66758d71ff5) )
18482135ROM_END
1849#endif
18502136
18512137ROM_START( pirate_2 ) // 060210
18522138   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
18532139   ROM_LOAD( "pr060210.rom", 0x00000, 0x40000, CRC(5684d67d) SHA1(4cbd103bcd071df26830d56760ef477b9a652857) )
18542140
18552141   ROM_REGION( 0x400000, "gfx", 0 )
1856   ROM_LOAD( "1", 0x000000, 0x80000, CRC(d2199619) SHA1(8c67ef7d0e305ae0783302ba9a1cb56cdcf4bc09) )
1857   ROM_LOAD( "2", 0x100000, 0x80000, CRC(ce5c6548) SHA1(ef1cd6ae36cc1abcf010762dc89a255cd817d016) )
1858   ROM_LOAD( "3", 0x200000, 0x80000, CRC(d6a8338d) SHA1(6a0e41309dc909decf8bd49cf13cbeca95f0314a) )
1859   ROM_LOAD( "4", 0x300000, 0x80000, CRC(590b8cf6) SHA1(b2778f6e1b7bcf7f33ced43f999eff983e5a6af4) )
1860   ROM_LOAD( "5", 0x080000, 0x80000, CRC(bf9f1267) SHA1(b0947bd7d31301ffbe80cbaf1e96c3476f6f9ca3) )
1861   ROM_LOAD( "6", 0x180000, 0x80000, CRC(b0cdf7eb) SHA1(cf6bd20fb40cf0d87eeb6f1502fb73d9760c9140) )
1862   ROM_LOAD( "7", 0x280000, 0x80000, CRC(6c4a9510) SHA1(e10bf8475ff7c73ba90b904b9214b285a5b2669f) )
1863   ROM_LOAD( "8", 0x380000, 0x80000, CRC(cc2edac2) SHA1(24bacd9e092a83945a8def3a254ec66758d71ff5) )
2142   ROM_LOAD( "1_051229", 0x000000, 0x80000, CRC(d2199619) SHA1(8c67ef7d0e305ae0783302ba9a1cb56cdcf4bc09) )
2143   ROM_LOAD( "2_051229", 0x100000, 0x80000, CRC(ce5c6548) SHA1(ef1cd6ae36cc1abcf010762dc89a255cd817d016) )
2144   ROM_LOAD( "3_051229", 0x200000, 0x80000, CRC(d6a8338d) SHA1(6a0e41309dc909decf8bd49cf13cbeca95f0314a) )
2145   ROM_LOAD( "4_051229", 0x300000, 0x80000, CRC(590b8cf6) SHA1(b2778f6e1b7bcf7f33ced43f999eff983e5a6af4) )
2146   ROM_LOAD( "5_051229", 0x080000, 0x80000, CRC(bf9f1267) SHA1(b0947bd7d31301ffbe80cbaf1e96c3476f6f9ca3) )
2147   ROM_LOAD( "6_051229", 0x180000, 0x80000, CRC(b0cdf7eb) SHA1(cf6bd20fb40cf0d87eeb6f1502fb73d9760c9140) )
2148   ROM_LOAD( "7_051229", 0x280000, 0x80000, CRC(6c4a9510) SHA1(e10bf8475ff7c73ba90b904b9214b285a5b2669f) )
2149   ROM_LOAD( "8_051229", 0x380000, 0x80000, CRC(cc2edac2) SHA1(24bacd9e092a83945a8def3a254ec66758d71ff5) )
18642150ROM_END
18652151
18662152ROM_START( pirate_3 ) // 060803
r9191r9192
18682154   ROM_LOAD( "pr060803.rom", 0x00000, 0x40000, CRC(1de68707) SHA1(99dd3c5186ed8ba6c17e9f5479df93173da527e0) )
18692155
18702156   ROM_REGION( 0x400000, "gfx", 0 )
1871   ROM_LOAD( "1", 0x000000, 0x80000, CRC(d2199619) SHA1(8c67ef7d0e305ae0783302ba9a1cb56cdcf4bc09) )
1872   ROM_LOAD( "2", 0x100000, 0x80000, CRC(ce5c6548) SHA1(ef1cd6ae36cc1abcf010762dc89a255cd817d016) )
1873   ROM_LOAD( "3", 0x200000, 0x80000, CRC(d6a8338d) SHA1(6a0e41309dc909decf8bd49cf13cbeca95f0314a) )
1874   ROM_LOAD( "4", 0x300000, 0x80000, CRC(590b8cf6) SHA1(b2778f6e1b7bcf7f33ced43f999eff983e5a6af4) )
1875   ROM_LOAD( "5", 0x080000, 0x80000, CRC(bf9f1267) SHA1(b0947bd7d31301ffbe80cbaf1e96c3476f6f9ca3) )
1876   ROM_LOAD( "6", 0x180000, 0x80000, CRC(b0cdf7eb) SHA1(cf6bd20fb40cf0d87eeb6f1502fb73d9760c9140) )
1877   ROM_LOAD( "7", 0x280000, 0x80000, CRC(6c4a9510) SHA1(e10bf8475ff7c73ba90b904b9214b285a5b2669f) )
1878   ROM_LOAD( "8", 0x380000, 0x80000, CRC(cc2edac2) SHA1(24bacd9e092a83945a8def3a254ec66758d71ff5) )
2157   ROM_LOAD( "1_051229", 0x000000, 0x80000, CRC(d2199619) SHA1(8c67ef7d0e305ae0783302ba9a1cb56cdcf4bc09) )
2158   ROM_LOAD( "2_051229", 0x100000, 0x80000, CRC(ce5c6548) SHA1(ef1cd6ae36cc1abcf010762dc89a255cd817d016) )
2159   ROM_LOAD( "3_051229", 0x200000, 0x80000, CRC(d6a8338d) SHA1(6a0e41309dc909decf8bd49cf13cbeca95f0314a) )
2160   ROM_LOAD( "4_051229", 0x300000, 0x80000, CRC(590b8cf6) SHA1(b2778f6e1b7bcf7f33ced43f999eff983e5a6af4) )
2161   ROM_LOAD( "5_051229", 0x080000, 0x80000, CRC(bf9f1267) SHA1(b0947bd7d31301ffbe80cbaf1e96c3476f6f9ca3) )
2162   ROM_LOAD( "6_051229", 0x180000, 0x80000, CRC(b0cdf7eb) SHA1(cf6bd20fb40cf0d87eeb6f1502fb73d9760c9140) )
2163   ROM_LOAD( "7_051229", 0x280000, 0x80000, CRC(6c4a9510) SHA1(e10bf8475ff7c73ba90b904b9214b285a5b2669f) )
2164   ROM_LOAD( "8_051229", 0x380000, 0x80000, CRC(cc2edac2) SHA1(24bacd9e092a83945a8def3a254ec66758d71ff5) )
18792165ROM_END
18802166
2167ROM_START( pirate_4 ) // 070412
2168   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2169   ROM_LOAD( "pr070412.rom", 0x00000, 0x40000, CRC(31909fb2) SHA1(f9ebad0de53645f7ed854147d8227a3b5b9224f4) )
18812170
2171   ROM_REGION( 0x400000, "gfx", 0 )
2172   ROM_LOAD( "1_051229", 0x000000, 0x80000, CRC(d2199619) SHA1(8c67ef7d0e305ae0783302ba9a1cb56cdcf4bc09) )
2173   ROM_LOAD( "2_051229", 0x100000, 0x80000, CRC(ce5c6548) SHA1(ef1cd6ae36cc1abcf010762dc89a255cd817d016) )
2174   ROM_LOAD( "3_051229", 0x200000, 0x80000, CRC(d6a8338d) SHA1(6a0e41309dc909decf8bd49cf13cbeca95f0314a) )
2175   ROM_LOAD( "4_051229", 0x300000, 0x80000, CRC(590b8cf6) SHA1(b2778f6e1b7bcf7f33ced43f999eff983e5a6af4) )
2176   ROM_LOAD( "5_051229", 0x080000, 0x80000, CRC(bf9f1267) SHA1(b0947bd7d31301ffbe80cbaf1e96c3476f6f9ca3) )
2177   ROM_LOAD( "6_051229", 0x180000, 0x80000, CRC(b0cdf7eb) SHA1(cf6bd20fb40cf0d87eeb6f1502fb73d9760c9140) )
2178   ROM_LOAD( "7_051229", 0x280000, 0x80000, CRC(6c4a9510) SHA1(e10bf8475ff7c73ba90b904b9214b285a5b2669f) )
2179   ROM_LOAD( "8_051229", 0x380000, 0x80000, CRC(cc2edac2) SHA1(24bacd9e092a83945a8def3a254ec66758d71ff5) )
2180ROM_END
2181
2182
18822183/*********************************************************
18832184   Pirate 2
18842185**********************************************************/
r9191r9192
18882189   ROM_LOAD( "pr2_061005.rom", 0x00000, 0x40000, CRC(4ad0a29a) SHA1(72950da5f201a393a4761a8696cfc210725df23f) )
18892190
18902191   ROM_REGION( 0x400000, "gfx", 0 )
1891   ROM_LOAD( "1", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
1892   ROM_LOAD( "2", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
1893   ROM_LOAD( "3", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
1894   ROM_LOAD( "4", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
1895   ROM_LOAD( "5", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
1896   ROM_LOAD( "6", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
1897   ROM_LOAD( "7", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
1898   ROM_LOAD( "8", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
2192   ROM_LOAD( "1_061005", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
2193   ROM_LOAD( "2_061005", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
2194   ROM_LOAD( "3_061005", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
2195   ROM_LOAD( "4_061005", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
2196   ROM_LOAD( "5_061005", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
2197   ROM_LOAD( "6_061005", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
2198   ROM_LOAD( "7_061005", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
2199   ROM_LOAD( "8_061005", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
18992200ROM_END
19002201
2202
2203ROM_START( pirate2_2 ) // 070126
2204   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2205   ROM_LOAD( "pr2_070126.rom", 0x00000, 0x40000, CRC(5abf1580) SHA1(0f5c2ed4f52070dcbeb3adf0d209088e2822696d) )
2206
2207   ROM_REGION( 0x400000, "gfx", 0 )
2208   ROM_LOAD( "1_061005", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
2209   ROM_LOAD( "2_061005", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
2210   ROM_LOAD( "3_061005", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
2211   ROM_LOAD( "4_061005", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
2212   ROM_LOAD( "5_061005", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
2213   ROM_LOAD( "6_061005", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
2214   ROM_LOAD( "7_061005", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
2215   ROM_LOAD( "8_061005", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
2216ROM_END
2217
2218
2219/*********************************************************
2220   Keks
2221
2222    Roms 1-4 were changed after the 070119 update.
2223        The official list of hashes shows the 070119 updated roms.
2224
2225**********************************************************/
2226
2227ROM_START( keks ) // 060328
2228   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2229   ROM_LOAD( "ks060328.rom", 0x00000, 0x40000, CRC(bcf77f77) SHA1(26b09994907c41be957a0b7442cfb1807b27d7be) )
2230
2231   ROM_REGION( 0x400000, "gfx", 0 )
2232   ROM_LOAD( "1_060328", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
2233   ROM_LOAD( "2_060328", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
2234   ROM_LOAD( "3_060328", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
2235   ROM_LOAD( "4_060328", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
2236   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
2237   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
2238   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
2239   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
2240ROM_END
2241
2242
2243ROM_START( keks_2 ) // 060403
2244   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2245   ROM_LOAD( "ks060403.rom", 0x00000, 0x40000, CRC(7abb9392) SHA1(f7a0ba5bcc7566f706e911486fa9cf3e62b86b8b) )
2246
2247   ROM_REGION( 0x400000, "gfx", 0 )
2248   ROM_LOAD( "1_060328", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
2249   ROM_LOAD( "2_060328", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
2250   ROM_LOAD( "3_060328", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
2251   ROM_LOAD( "4_060328", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
2252   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
2253   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
2254   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
2255   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
2256ROM_END
2257
2258ROM_START( keks_3 ) // 070119
2259   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2260   ROM_LOAD( "ks070119.rom", 0x00000, 0x40000, CRC(1cf8fdaa) SHA1(a7f1242d19c5fb5a6fccacc06dd9d27f3352fe24) )
2261
2262   ROM_REGION( 0x400000, "gfx", 0 )
2263   ROM_LOAD( "1_070119", 0x000000, 0x80000, CRC(fc399595) SHA1(037afd4a613cd58d4a28627b9e395d48c3fa866a) )
2264   ROM_LOAD( "2_070119", 0x100000, 0x80000, CRC(474b36e7) SHA1(e1e62acd4a706b2654fc1249850806b612fc1419) )
2265   ROM_LOAD( "3_070119", 0x200000, 0x80000, CRC(7f885e3d) SHA1(09bb4690e86ed4a29eef75ee4e5753ce40a164dd) )
2266   ROM_LOAD( "4_070119", 0x300000, 0x80000, CRC(a0fc654b) SHA1(3354bdb7aa372816a766b0d36408543de7d3482f) )
2267   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
2268   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
2269   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
2270   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
2271ROM_END
2272
2273/*********************************************************
2274   Gnome
2275**********************************************************/
2276
2277ROM_START( gnome ) // 070906
2278   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2279   ROM_LOAD( "gn070906.rom", 0x00000, 0x40000, CRC(8fe48f72) SHA1(cc3c74be120359ecfc42a5e96eff95c2da1e8f4c) )
2280
2281   ROM_REGION( 0x400000, "gfx", 0 )
2282   ROM_LOAD( "1_070906", 0x000000, 0x80000, CRC(6ed866d7) SHA1(68d75d24d98e6d533cb26ceac0a680203cb26069) )
2283   ROM_LOAD( "2_070906", 0x100000, 0x80000, CRC(f6e5e6f0) SHA1(9751e8df87f14a252595547d24b8dd865ee4f08d) )
2284   ROM_LOAD( "3_070906", 0x200000, 0x80000, CRC(f8beb972) SHA1(3afbca8ce7e69d2dadae05f69205a6fd9036cf6a) )
2285   ROM_LOAD( "4_070906", 0x300000, 0x80000, CRC(83357c38) SHA1(45cd31c4f02f9d7b1888701c2146d1e7229b6cb5) )
2286   ROM_LOAD( "5_070906", 0x080000, 0x80000, CRC(687ad3e3) SHA1(23941a4f40c45029b9a43451f78b04c03c3cd7da) )
2287   ROM_LOAD( "6_070906", 0x180000, 0x80000, CRC(7ef2b88a) SHA1(7e7de60fc6791731d7cfd6a50e2bc5af1bf5e4b2) )
2288   ROM_LOAD( "7_070906", 0x280000, 0x80000, CRC(71976bdf) SHA1(c44dbfa75a0f12893b3177907fc93b3d5e8ad390) )
2289   ROM_LOAD( "8_070906", 0x380000, 0x80000, CRC(c86a1586) SHA1(e622bca8dc618ca8edc1a7daa9c8286383caebef) )
2290ROM_END
2291
2292
2293/*********************************************************
2294   Fruit Cocktail 2
2295
2296    Roms 4-8 were changed 11/19/2008 (listed below as non "a" roms)
2297
2298        The Igrosoft web site explains:
2299         The wrong representation of the number of free games
2300         on the page 6 of help was corrected
2301
2302**********************************************************/
2303
2304/* no supported sets */
2305
2306/*********************************************************
2307   Crazy Monkey 2
2308**********************************************************/
2309
2310/* no supported sets */
2311
2312
2313/*
2314
2315Note:
2316
2317   Only the first set of a given revision is listed in Igrosoft's official hashes list.
2318
2319   The sets which differs from the originals by 5-6 bytes are bootlegs that simply change
2320     the banking address. Usually to convert a Crazy Monkey PCB which use the address "F9".
2321     Software exists to automatic modify any program rom's banking address for any PCB.
2322     This has resulted in dozens of different bootleg versions floating around the net.
2323
2324   Some sets simply changed the version text to show a newer version.  This was likely done
2325     so the opperator appears to be running a version that meets the standards of the changed
2326     gambling law (see below).
2327
2328   Sets marked as "backdoor" are identical to originals, but have added code.  This code is
2329     activated by a secret sequence of actions that leads to a guaranteed win, or dramatically
2330     increases odds for winning. These backdoor version were commonly used by administrators
2331     or PCB sellers to steal money from the slots owners.
2332   Software does exist to automatically add the backdoor code and allows for custom key
2333     sequences.  As a result of this, there is also software to dectect the backdoor code
2334     in program roms.
2335   How to activate the backdoor (each combination is: No of lines, Bet value then Start):
2336     Enter the first five combinations - you'll become very lucky from this moment.
2337     Note: backdoor state stored in NVRAM.
2338   How to deactivate the backdoor:
2339     Enter the sixth combination twice.
2340crzmon_7a 1,1 1,3 1,5 1,7  3,3  3,4
2341crzmon_7b 1,5 5,5 1,7 3,2  3,3  3,4
2342crzmon_8a 1,1 1,3 1,5 1,7  3,3  3,4
2343fcockt_6b 1,1 1,3 1,5 1,7  3,3  3,4
2344fcockt_7a 1,1 1,3 1,5 1,7  3,3  3,4
2345lhaunt_4a 1,1 1,3 1,5 1,7  3,3  3,4
2346lhaunt_5a 1,1 1,3 1,5 1,7  3,3  3,4
2347lhaunt_6a 1,5 9,1 5,1 1,5  3,3  3,4
2348garage_4a 1,1 1,3 1,5 1,7  3,3  3,4
2349garage_5a 1,1 1,3 1,5 1,7  3,3  3,4
2350rclimb_3a 1,5 9,1 5,1 1,5  3,3  3,4
2351sweetla   1,5 9,1 5,3 1,5  3,3  3,4
2352resdnt_2a 1,5 9,1 5,1 1,5  3,3  3,4
2353islanda   1,1 1,3 1,5 1,7  3,3  3,4
2354keksb     1,1 1,3 1,5 1,7  3,3  3,4
2355
2356Most games had a revision in early 2007 to meet the standards of the "Government gambling control"
2357   law of The Russian Federation No 244-03 of Dec 29, 2006
2358
2359   From Igrosoft's web site about version types (IE: some version have "M" in them):
2360
2361   * Two software versions are shown, one of them corresponds to Russian legislation,
2362     the other one (with the letter m) is for the countries without such restrictions.
2363
2364*/
2365
2366
2367#define mfish_parent mfish_3
2368//GAME( 2002, mfish,       mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (021120)",  0 ) /* World */
2369//GAME( 2002, mfish_2,     mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (021121)",  0 ) /* World */
2370  GAME( 2002, mfish_3,     0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (021124)",  0 ) /* World */
2371//GAME( 2002, mfish_4,     mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (021219)",  0 ) /* World */
2372//GAME( 2002, mfish_5,     mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (021227)",  0 ) /* World */
2373  GAME( 2002, mfish_6,     mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (030124)",  0 ) /* World */
2374//GAME( 2002, mfish_7,     mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (030511)",  0 ) /* World */
2375//GAME( 2002, mfish_8,     mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (030522)",  0 ) /* World */
2376//GAME( 2002, mfish_9,     mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (031026)",  0 ) /* World */
2377//GAME( 2002, mfish_10,    mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (031117)",  0 ) /* World */
2378  GAME( 2002, mfish_11,    mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (031124)",  0 ) /* World */
2379  GAME( 2002, mfish_12,    mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (040308)",  0 ) /* World */
2380  GAME( 2002, mfish_13,    mfish_parent,    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Multi Fish (040316)",  0 ) /* World */
2381
2382#define crzmon_parent crzmon_5
2383//GAME( 2003, crzmon,      fcockt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Crazy Monkey (030217 World)",  0 ) /* World */
2384//GAME( 2003, crzmon_2,    crzmon_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Crazy Monkey (030225 World)",  0 ) /* World */
2385//GAME( 2003, crzmon_3,    crzmon_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Crazy Monkey (030227 World)",  0 ) /* World */
2386//GAME( 2003, crzmon_4,    crzmon_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Crazy Monkey (030404 World)",  0 ) /* World */
2387  GAME( 2003, crzmon_5,    0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Crazy Monkey (030421 World)",  0 ) /* World */
2388//GAME( 2003, crzmon_6,    crzmon_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Crazy Monkey (031016 World)",  0 ) /* World */
2389  GAME( 2003, crzmon_7,    crzmon_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Crazy Monkey (031110 World)",  0 ) /* World */
2390  GAME( 2003, crzmon_8,    crzmon_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Crazy Monkey (050120 World)",  0 ) /* World */
2391  GAME( 2003, crzmon_9,    crzmon_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Crazy Monkey (070315 Russia)",  0 ) /* Russia */
2392
2393#define fcockt_parent fcockt_5
2394//GAME( 2003, fcockt,      fcockt_parent    multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (030505 World)",  0 ) /* World */
2395//GAME( 2003, fcockt_2,    fcockt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (030512 World)",  0 ) /* World */
2396//GAME( 2003, fcockt_3,    fcockt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (030623 World)",  0 ) /* World */
2397//GAME( 2003, fcockt_4,    fcockt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (031028 World)",  0 ) /* World */
2398  GAME( 2003, fcockt_5,    0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (031111 World)",  0 ) /* World */
2399  GAME( 2003, fcockt_6,    fcockt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (040216 World)",  0 ) /* World */
2400  GAME( 2003, fcockt_7,    fcockt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (050118 World)",  0 ) /* World */
2401  GAME( 2003, fcockt_8,    fcockt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (060111 World)",  0 ) /* World */
2402  GAME( 2003, fcockt_9,    fcockt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (070305 Russia)",  0 ) /* Russia */
2403  GAME( 2003, fcockt_10,   fcockt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (070517 Russia)",  0 ) /* Russia */
2404  GAME( 2003, fcockt_11,   fcockt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (070822 Russia)",  0 ) /* Russia */
2405  GAME( 2003, fcockt_12,   fcockt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Fruit Cocktail (070911 Russia)",  0 ) /* Russia */
2406
2407
2408#define lhaunt_parent lhaunt_4
2409//GAME( 2003, lhaunt,      lhaunt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Lucky Haunter (030707 World)",  0 ) /* World */
2410//GAME( 2003, lhaunt_2,    lhaunt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Lucky Haunter (030804 World)",  0 ) /* World */
2411//GAME( 2003, lhaunt_3,    lhaunt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Lucky Haunter (031027 World)",  0 ) /* World */
2412  GAME( 2003, lhaunt_4,    0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Lucky Haunter (031111 World)",  0 ) /* World */
2413  GAME( 2003, lhaunt_5,    lhaunt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Lucky Haunter (040216 World)",  0 ) /* World */
2414  GAME( 2003, lhaunt_6,    lhaunt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Lucky Haunter (040825 World)",  0 ) /* World */
2415  GAME( 2003, lhaunt_7,    lhaunt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Lucky Haunter (070402 Russia)",  0 ) /* Russia */
2416  GAME( 2003, lhaunt_8,    lhaunt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Lucky Haunter (070604 Russia)",  0 ) /* Russia */
2417
2418#define rollfr_parent rollfr_2
2419//GAME( 2003, rollfr,      rollfr_parent,   multfish, rollfr,    igrosoft, ROT0, "Igrosoft", "Roll Fruit (030821)",  0 ) /* World */
2420  GAME( 2003, rollfr_2,    0,               multfish, rollfr,    igrosoft, ROT0, "Igrosoft", "Roll Fruit (040318)",  0 ) /* World */
2421
2422#define garage_parent garage_4
2423//GAME( 2004, garage,      garage_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Garage (040122 World)",  0 ) /* World */
2424//GAME( 2004, garage_2,    garage_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Garage (040123 World)",  0 ) /* World */
2425//GAME( 2004, garage_3,    garage_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Garage (040216 World)",  0 ) /* World */
2426  GAME( 2004, garage_4,    0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Garage (040219 World)",  0 ) /* World */
2427  GAME( 2004, garage_5,    garage_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Garage (050311 World)",  0 ) /* World */
2428  GAME( 2004, garage_6,    garage_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Garage (070213 Russia)",  0 ) /* Russia */
2429  GAME( 2004, garage_7,    garage_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Garage (070329 Russia)",  0 ) /* Russia */
2430
2431#define rclimb_parent rclimb
2432  GAME( 2004, rclimb,      0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Rock Climber (040815 World)", 0 ) /* World */
2433//GAME( 2004, rclimb_2,    rclimb_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Rock Climber (040823 World)", 0 ) /* World */
2434  GAME( 2004, rclimb_3,    rclimb_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Rock Climber (040827 World)", 0 ) /* World */
2435  GAME( 2004, rclimb_4,    rclimb_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Rock Climber (070322 Russia)", 0 ) /* Russia */
2436  GAME( 2004, rclimb_5,    rclimb_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Rock Climber (070621 Russia)", 0 ) /* Russia */
2437
2438#define sweetl_parent sweetl
2439  GAME( 2004, sweetl,      0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Sweet Life (041220 World)",  0 ) /* World */
2440  GAME( 2004, sweetl_2,    sweetl_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Sweet Life (070412 Russia)",  0 ) /* Russia */
2441
2442#define resdnt_parent resdnt_2
2443//GAME( 2004, resdnt,      resdnt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Resident (040415 World)",  0 ) /* World */
2444  GAME( 2004, resdnt_2,    0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Resident (040513 World)",  0 ) /* World */
2445  GAME( 2004, resdnt_3,    resdnt_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Resident (070222 Russia)",  0 ) /* Russia */
2446
2447#define island_parent island
2448  GAME( 2005, island,      0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Island (050713 World)",  0 ) /* World */
2449
2450#define pirate_parent pirate_2
2451//GAME( 2005, pirate,      pirate_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Pirate (051229 World)",  0 ) /* World */
2452  GAME( 2005, pirate_2,    0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Pirate (060210 World)",  0 ) /* World */
2453  GAME( 2005, pirate_3,    pirate_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Pirate (060803 World)",  0 ) /* World */
2454  GAME( 2005, pirate_4,    pirate_parent,   multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Pirate (070412 Russia)",  0 ) /* Russia */
2455
2456#define island2_parent island2
2457  GAME( 2006, island2,     0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Island 2 (060529 World)",  0 ) /* World */
2458//GAME( 2006, island2_2,   island2_parent,  multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Island 2 (061214 World)",  0 ) /* World */
2459  GAME( 2006, island2_3,   island2_parent,  multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Island 2 (061218 World)",  0 ) /* World */
2460  GAME( 2006, island2_4,   island2_parent,  multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Island 2 (070205 Russia)",  0 ) /* Russia */
2461
2462#define pirate2_parent pirate2
2463  GAME( 2006, pirate2,     0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Pirate 2 (061005 World)",  0 ) /* World */
2464  GAME( 2006, pirate2_2,   pirate2_parent,  multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Pirate 2 (070126 Russia)",  0 ) /* Russia */
2465
2466#define keks_parent keks
2467  GAME( 2006, keks,        0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Keks (060328 World)",  0 ) /* World */
2468  GAME( 2006, keks_2,      keks_parent,     multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Keks (060403 World)",  0 ) /* World */
2469  GAME( 2006, keks_3,      keks_parent,     multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Keks (070119 Russia)",  0 )  /* Russia */
2470
2471#define gnome_parent gnome
2472  GAME( 2007, gnome,       0,               multfish, multfish,  igrosoft, ROT0, "Igrosoft", "Gnome (070906 Russia)",  0 ) /* Russia */
2473
2474
2475/*************************************************************************************************************************************************************/
2476/*************************************************************************************************************************************************************/
2477/*************************************************************************************************************************************************************/
2478/*************************************************************************************************************************************************************/
2479/**************************************************************************************************************************************************************
2480
2481  Sets below are bootleg / hacked sets, descriptions of what has been modified are provided where known
2482 -- use of these sets may present a risk to the operator, you should always ensure you're using original Igrosoft program roms on your PCB!
2483
2484**************************************************************************************************************************************************************/
2485/*************************************************************************************************************************************************************/
2486/*************************************************************************************************************************************************************/
2487/*************************************************************************************************************************************************************/
2488/*************************************************************************************************************************************************************/
2489
2490ROM_START( mfish_3a ) // 021124 bank F9
2491   ROM_REGION( 0x40000, "maincpu", 0 )
2492   ROM_LOAD( "bootleg_mf021124a.rom", 0x00000, 0x40000, CRC(31344b4e) SHA1(33c7f30b55d22c087a02e840456d475177df8bf1) ) /* Not officially listed on Igrosoft's web site hash page */
2493
2494   ROM_REGION( 0x400000, "gfx", 0 )
2495   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
2496   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
2497   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
2498   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
2499   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
2500   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
2501   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
2502   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
2503ROM_END
2504
2505
2506ROM_START( mfish_12a ) // 040308 bank F9
2507   ROM_REGION( 0x40000, "maincpu", 0 )
2508   ROM_LOAD( "bootleg_mf040308a.rom", 0x00000, 0x40000, CRC(44537648) SHA1(7bce6085778ff0b21c052ae91703de3b78b8eed0) ) /* Not officially listed on Igrosoft's web site hash page */
2509
2510   ROM_REGION( 0x400000, "gfx", 0 )
2511   ROM_LOAD( "1_021120", 0x000000, 0x80000, CRC(2f2a7367) SHA1(ce7ee9ca4f374ec61edc3b89d4752f0edb64a910) )
2512   ROM_LOAD( "2_021120", 0x100000, 0x80000, CRC(606acd73) SHA1(ce5f7b1366dbb16d57fe4b7f395f08725e3cf756) )
2513   ROM_LOAD( "3_021120", 0x200000, 0x80000, CRC(33759c2a) SHA1(6afcee2e00a27542fc9751702abcc84cd7d3a2a8) )
2514   ROM_LOAD( "4_021120", 0x300000, 0x80000, CRC(d0053546) SHA1(01c69be0c594947d57648f491904a3b6938a5570) )
2515   ROM_LOAD( "5_021120", 0x080000, 0x80000, CRC(6f632872) SHA1(949661cb234855a9c86403e9893c5d9f465ddd79) )
2516   ROM_LOAD( "6_021120", 0x180000, 0x80000, CRC(023c1193) SHA1(98cf2732f9542b0bb3bee324611f6d3143ef1dc4) )
2517   ROM_LOAD( "7_021120", 0x280000, 0x80000, CRC(9afdc2d3) SHA1(b112fd2005354c9f97d77030bdb6f99d7b5c8050) )
2518   ROM_LOAD( "8_021120", 0x380000, 0x80000, CRC(29f1a326) SHA1(5e268411cab888c0727aaf8ae7d0b435d2efd189) )
2519ROM_END
2520
2521
2522ROM_START( crzmon_7a ) // 031110 backdoor 1,1 1,3 1,5 1,7  3,3  3,4
2523   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2524   ROM_LOAD( "bootleg_cm031110a.rom", 0x00000, 0x40000, CRC(80666246) SHA1(e15a210b11ba769ca4fd637c962932417555dc0e) ) /* Not officially listed on Igrosoft's web site hash page */
2525
2526   ROM_REGION( 0x400000, "gfx", 0 )
2527   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
2528   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
2529   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
2530   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
2531   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
2532   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
2533   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
2534   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
2535ROM_END
2536
2537ROM_START( crzmon_7b ) // 031110 backdoor 1,5 5,5 1,7 3,2  3,3  3,4
2538   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2539   ROM_LOAD( "bootleg_cm031110b.rom", 0x00000, 0x40000, CRC(bb6f4f85) SHA1(a2f44632f857392eb422412b55a19decae4c8620) ) /* Not officially listed on Igrosoft's web site hash page */
2540
2541   ROM_REGION( 0x400000, "gfx", 0 )
2542   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
2543   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
2544   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
2545   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
2546   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
2547   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
2548   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
2549   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
2550ROM_END
2551
2552
2553
2554
2555ROM_START( crzmon_8a ) // 050120 backdoor 1,1 1,3 1,5 1,7  3,3  3,4
2556   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2557   ROM_LOAD( "bootleg_cm050120a.rom", 0x00000, 0x40000, CRC(e20a6997) SHA1(50e0f0f354dd6db2be64d42e36b4043915c4276b) ) /* Not officially listed on Igrosoft's web site hash page */
2558
2559   ROM_REGION( 0x400000, "gfx", 0 )
2560   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
2561   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
2562   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
2563   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
2564   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
2565   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
2566   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
2567   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
2568ROM_END
2569
2570ROM_START( crzmon_8b ) // 050120 changed version text to 070315
2571   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2572   ROM_LOAD( "bootleg_cm050120b.rom", 0x00000, 0x40000, CRC(9350d184) SHA1(ccb79bb6c5e9025d64fe07c02334c43d75ee3334) ) /* Not officially listed on Igrosoft's web site hash page */
2573
2574   ROM_REGION( 0x400000, "gfx", 0 )
2575   ROM_LOAD( "1_030217", 0x000000, 0x80000, CRC(683f2be3) SHA1(6fdba4ec07752bf049787a11638895352e9d5f10) )
2576   ROM_LOAD( "2_030217", 0x100000, 0x80000, CRC(e21ce6a4) SHA1(942ffe323ddbcaaad887cb5bc9f356550926083b) )
2577   ROM_LOAD( "3_030217", 0x200000, 0x80000, CRC(c3d0e3d5) SHA1(5b0cb436c6b0bac1213c1df56702fa7f16856106) )
2578   ROM_LOAD( "4_030217", 0x300000, 0x80000, CRC(f79df52c) SHA1(b99fa9f61849b62668bf9edff1c80212a9108b15) )
2579   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
2580   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
2581   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
2582   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
2583ROM_END
2584
2585ROM_START( crzmon_8c ) // 050120 custom alteras, modified graphics, changed version text to "VIDEO GAME-1 CM01"
2586   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2587   ROM_LOAD( "bootleg_cm050120c.rom", 0x00000, 0x40000, CRC(231008a7) SHA1(81f77644ba971946cfdf40e6f886652550b10bae) ) /* Not officially listed on Igrosoft's web site hash page */
2588
2589   ROM_REGION( 0x400000, "gfx", 0 )
2590   ROM_LOAD( "bootleg_1b", 0x000000, 0x80000, CRC(6595a293) SHA1(87b6adc837ca7540dd1ae10b544bd753abc95c38) )
2591   ROM_LOAD( "bootleg_2b", 0x100000, 0x80000, CRC(5a0ce771) SHA1(15c7364eba1316128508acb5407d68dc06b3f506) )
2592   ROM_LOAD( "bootleg_3b", 0x200000, 0x80000, CRC(12b85ca4) SHA1(22228b0283487b0c01412944030d8e83cd20529d) )
2593   ROM_LOAD( "bootleg_4b", 0x300000, 0x80000, CRC(8eabc9d8) SHA1(4ade17740f1c584c417c2a404220249168f350ac) )
2594   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(032fb030) SHA1(392941cd0538bf776cae8422056e8f67cbf4dcb8) )
2595   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(4f8a61aa) SHA1(cb266f31ad573f627c8b8d54af88fa9e5a3676ea) )
2596   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(a055fea1) SHA1(69498f7410acd3d66b391f9c8a1d541d3400674c) )
2597   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(aa4b0eb3) SHA1(39a98e89a8137c9c986932398b748e48d7f21d9d) )
2598ROM_END
2599
2600ROM_START( crzmon_8d ) // 050120 modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
2601   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2602   ROM_LOAD( "bootleg_cm050120d.rom", 0x00000, 0x40000, CRC(ad37f261) SHA1(0e03bf6134b59340cb43b7d3bdd0e746ebfb112a) ) /* Not officially listed on Igrosoft's web site hash page */
2603
2604   ROM_REGION( 0x400000, "gfx", 0 )
2605   ROM_LOAD( "bootleg_1e", 0x000000, 0x80000, CRC(0a087fce) SHA1(32bb353a45ea39e16fafb78bb10dbd3d330365a6) )
2606   ROM_LOAD( "bootleg_2e", 0x100000, 0x80000, CRC(210c9cf0) SHA1(ede3cdb9be7dddd4619cd91e1eb51656ba49e250) )
2607   ROM_LOAD( "bootleg_3e", 0x200000, 0x80000, CRC(08f5933a) SHA1(16a232c634778e4a5f39c6890606ad402b2a52ca) )
2608   ROM_LOAD( "bootleg_4e", 0x300000, 0x80000, CRC(e12abf21) SHA1(cc015cdda4e1693eb1452c9d11996dbd8b906610) )
2609   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
2610   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
2611   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
2612   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
2613ROM_END
2614
2615ROM_START( crzmon_8e ) // 050120 modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-CM2"
2616   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2617   ROM_LOAD( "bootleg_cm050120e.rom", 0x00000, 0x40000, CRC(b4b79f13) SHA1(7efb67eb66e18885760422a239f2f56052aa7aa2) ) /* Not officially listed on Igrosoft's web site hash page */
2618
2619   ROM_REGION( 0x400000, "gfx", 0 )
2620   ROM_LOAD( "bootleg_1f", 0x000000, 0x80000, CRC(a2825411) SHA1(ad2d8bdd7b8031e69d3357911b4be7913cdde668) )
2621   ROM_LOAD( "bootleg_2f", 0x100000, 0x80000, CRC(2a446252) SHA1(4d4daa22421a9ac5a577afdbd257e38b034270c9) )
2622   ROM_LOAD( "bootleg_3f", 0x200000, 0x80000, CRC(12fa2d2c) SHA1(b3e91cf796e177204c1fde64b83ab389c8b71724) )
2623   ROM_LOAD( "bootleg_4f", 0x300000, 0x80000, CRC(12e0981f) SHA1(e69e8c635573aedfa177aa6fb2b3188c6fa265b5) )
2624   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
2625   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
2626   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
2627   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
2628ROM_END
2629
2630ROM_START( crzmon_8f ) // 050120 custom_alteras, modified graphics, many texts changed, changed version text to "LOTOS CM01"
2631   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2632   ROM_LOAD( "bootleg_cm050120f.rom", 0x00000, 0x40000, CRC(1ea2e07e) SHA1(964b7381573918880b1b537ab5f8006702d2eedb) ) /* Not officially listed on Igrosoft's web site hash page */
2633
2634   ROM_REGION( 0x400000, "gfx", 0 )
2635   ROM_LOAD( "bootleg_1g", 0x000000, 0x80000, CRC(88ef6dfb) SHA1(a8e323b363f30f8b3ec1f57dbffbedd0a868dc91) )
2636   ROM_LOAD( "bootleg_2g", 0x100000, 0x80000, CRC(5ae3c4ab) SHA1(7e2d5c4c7900222920f1a6babd7b655aa4c3e849) )
2637   ROM_LOAD( "bootleg_3g", 0x200000, 0x80000, CRC(70c12376) SHA1(fbb92baed3102975125aa36d377b2f07d66e3a4a) )
2638   ROM_LOAD( "bootleg_4g", 0x300000, 0x80000, CRC(65da15c4) SHA1(e853cf8aad61a26bdfa864fa16fcf82fd99522b3) )
2639   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(032fb030) SHA1(392941cd0538bf776cae8422056e8f67cbf4dcb8) )
2640   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(4f8a61aa) SHA1(cb266f31ad573f627c8b8d54af88fa9e5a3676ea) )
2641   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(a055fea1) SHA1(69498f7410acd3d66b391f9c8a1d541d3400674c) )
2642   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(aa4b0eb3) SHA1(39a98e89a8137c9c986932398b748e48d7f21d9d) )
2643ROM_END
2644
2645
2646ROM_START( crzmon_9a ) // 070315 custom alteras, modified graphics, changed version text to "VIDEO GAME-1 O01"
2647   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2648   ROM_LOAD( "bootleg_cm070315a.rom", 0x00000, 0x40000, CRC(1c4ea4ac) SHA1(ffbc5345170afdca9154a8a53c2887439b04b489) ) /* Not officially listed on Igrosoft's web site hash page */
2649
2650   ROM_REGION( 0x400000, "gfx", 0 )
2651   ROM_LOAD( "bootleg_1c", 0x000000, 0x80000, CRC(449253a7) SHA1(766e3b9b9585ee8c3b952033e5fb78c256075925) )
2652   ROM_LOAD( "bootleg_2c", 0x100000, 0x80000, CRC(9475f993) SHA1(a69326bcf5b98510ab996dee8aecee62ef3f2319) )
2653   ROM_LOAD( "bootleg_3c", 0x200000, 0x80000, CRC(45376e79) SHA1(097b779b5aeea952e4b900123909b441e2f32003) )
2654   ROM_LOAD( "bootleg_4c", 0x300000, 0x80000, CRC(4d2dbb3d) SHA1(da1d9b1901d1dc63643529f1e60d67fc3635b966) )
2655   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(032fb030) SHA1(392941cd0538bf776cae8422056e8f67cbf4dcb8) )
2656   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(4f8a61aa) SHA1(cb266f31ad573f627c8b8d54af88fa9e5a3676ea) )
2657   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(a055fea1) SHA1(69498f7410acd3d66b391f9c8a1d541d3400674c) )
2658   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(aa4b0eb3) SHA1(39a98e89a8137c9c986932398b748e48d7f21d9d) )
2659ROM_END
2660
2661ROM_START( crzmon_9b ) // 070315 modified graphics, changed version text to "VIDEO GAME-1 O01" (crzmon_9a, decoded gfx)
2662   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2663   ROM_LOAD( "bootleg_cm070315a.rom", 0x00000, 0x40000, CRC(1c4ea4ac) SHA1(ffbc5345170afdca9154a8a53c2887439b04b489) ) /* Not officially listed on Igrosoft's web site hash page */
2664
2665   ROM_REGION( 0x400000, "gfx", 0 )
2666   ROM_LOAD( "bootleg_1d", 0x000000, 0x80000, CRC(19e03366) SHA1(0050d54f816a10f03b3e76b8472038d39ebe6fc7) )
2667   ROM_LOAD( "bootleg_2d", 0x100000, 0x80000, CRC(57a08a6a) SHA1(f8691f35efe61ad2e0e22f60a626dec38f6da49c) )
2668   ROM_LOAD( "bootleg_3d", 0x200000, 0x80000, CRC(2c3bd0c9) SHA1(181f8c84478ad06af941710142bd3c3ab808455b) )
2669   ROM_LOAD( "bootleg_4d", 0x300000, 0x80000, CRC(d054838f) SHA1(21c2466d45706a80563fc5873d64a7b1abe8da94) )
2670   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
2671   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
2672   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
2673   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
2674ROM_END
2675
2676ROM_START( crzmon_9c ) // 070315 payout percentage 70%
2677   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2678   ROM_LOAD( "bootleg_cm070315b.rom", 0x00000, 0x40000, CRC(d49d3d36) SHA1(00c1ddac53ada6905fe1a8c450158c87c87f33d6) ) /* Not officially listed on Igrosoft's web site hash page */
2679
2680   ROM_REGION( 0x400000, "gfx", 0 )
2681   ROM_LOAD( "1_070315", 0x000000, 0x80000, CRC(665ae6a1) SHA1(2ef2d657918d66d303d45d2d82430d13108f3fad) )
2682   ROM_LOAD( "2_070315", 0x100000, 0x80000, CRC(1a8e235a) SHA1(6d562cc5250283fc0c8ca7e103231a2e5bab4c69) )
2683   ROM_LOAD( "3_070315", 0x200000, 0x80000, CRC(415133eb) SHA1(227f7c8858fd5b928fdde691017104d3bd69910a) )
2684   ROM_LOAD( "4_070315", 0x300000, 0x80000, CRC(ec45fe14) SHA1(4a0fc87e2f19ea05c9a5746bb4ca7cafe5592d33) )
2685   ROM_LOAD( "5_030217", 0x080000, 0x80000, CRC(9d4d2a94) SHA1(c714e110de628b343dfc7fff23befaa1276056a9) )
2686   ROM_LOAD( "6_030217", 0x180000, 0x80000, CRC(a15f0fee) SHA1(3f06d5a1a41e1335bcc7586a5ea95b9b734155c0) )
2687   ROM_LOAD( "7_030217", 0x280000, 0x80000, CRC(715a2528) SHA1(6c4c72592568ecbaa9518fb7271d2714dd22dbbb) )
2688   ROM_LOAD( "8_030217", 0x380000, 0x80000, CRC(6fdb6fd5) SHA1(f40916112365de258956ec033aff79aae1f58690) )
2689ROM_END
2690
2691
2692
2693ROM_START( fcockt_6a ) // 040216 bank F8
2694   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2695   ROM_LOAD( "bootleg_fc040216a.rom", 0x00000, 0x40000, CRC(58e7a0c6) SHA1(8022f92af05e9ff6999ff936bad6048d6c264086) ) /* Not officially listed on Igrosoft's web site hash page */
2696
2697   ROM_REGION( 0x400000, "gfx", 0 )
2698   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
2699   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
2700   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
2701   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
2702   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2703   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2704   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2705   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2706ROM_END
2707
2708ROM_START( fcockt_6b ) // 040216 backdoor 1,1 1,3 1,5 1,7  3,3  3,4
2709   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2710   ROM_LOAD( "bootleg_fc040216b.rom", 0x00000, 0x40000, CRC(0f6bcf03) SHA1(6c8765f836f1d899aec3be9c842d5064fd70a435) ) /* Not officially listed on Igrosoft's web site hash page */
2711
2712   ROM_REGION( 0x400000, "gfx", 0 )
2713   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
2714   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
2715   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
2716   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
2717   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2718   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2719   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2720   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2721ROM_END
2722
2723ROM_START( fcockt_6c ) // 040216 modified graphics, some code changes, description says "for Lat-02 terminals", older set
2724   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2725   ROM_LOAD( "bootleg_fc040216c.rom", 0x00000, 0x40000, CRC(890940db) SHA1(5180d711fb3222e3d86c691cb8a23eed6ea0030e) ) /* Not officially listed on Igrosoft's web site hash page */
2726
2727   ROM_REGION( 0x400000, "gfx", 0 )
2728   ROM_LOAD( "bootleg_1c", 0x000000, 0x80000, CRC(3ac27b83) SHA1(72a06f217158367e97d226b3479896319aa3e089) )
2729   ROM_LOAD( "bootleg_2c", 0x100000, 0x80000, CRC(d00183b8) SHA1(cb4a6f8fdf3b4f1540e53b956e676a9c2c2e1de0) )
2730   ROM_LOAD( "bootleg_3c", 0x200000, 0x80000, CRC(c509f3c6) SHA1(4a0553e971d7e17971e0d66ff0ed04f29bc42ca7) )
2731   ROM_LOAD( "bootleg_4c", 0x300000, 0x80000, CRC(5baa91fa) SHA1(dd0ef9972f6f372a6ed8280c887384b0cfa9bce6) )
2732   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2733   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2734   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2735   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2736ROM_END
2737
2738ROM_START( fcockt_6d ) // 040216 modified graphics, some code changes, changed version text to "VIDEO GAME-1 FR01", description says "for Lat-02 terminals", newer set
2739   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2740   ROM_LOAD( "bootleg_fc040216d.rom", 0x00000, 0x40000, CRC(c1db9659) SHA1(ff01794b7007b5b0c5e77f9a40d87fb6b125143c) ) /* Not officially listed on Igrosoft's web site hash page */
2741
2742   ROM_REGION( 0x400000, "gfx", 0 )
2743   ROM_LOAD( "bootleg_1d", 0x000000, 0x80000, CRC(72ce6a0c) SHA1(e9a6adc9e077fd2a6242282af3d2edc2d3db2a68) )
2744   ROM_LOAD( "bootleg_2d", 0x100000, 0x80000, CRC(ca1b02c7) SHA1(bc0f2fdf6f6a21d53150642ee155197e94f159aa) )
2745   ROM_LOAD( "bootleg_3d", 0x200000, 0x80000, CRC(1f1af38e) SHA1(37877bd13c628f3664f6fd9b2597134735e5397c) )
2746   ROM_LOAD( "bootleg_4d", 0x300000, 0x80000, CRC(e3696471) SHA1(1065dbca6ffb962329dd8faf41a40ac75358216b) )
2747   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2748   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2749   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2750   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2751ROM_END
2752
2753
2754
2755
2756ROM_START( fcockt_7a ) // 050118 backdoor 1,1 1,3 1,5 1,7  3,3  3,4
2757   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2758   ROM_LOAD( "bootleg_fc050118a.rom", 0x00000, 0x40000, CRC(eb2bd908) SHA1(b8e9ef469767fb9e95ff181876ffeaee4b7b9361) ) /* Not officially listed on Igrosoft's web site hash page */
2759
2760   ROM_REGION( 0x400000, "gfx", 0 )
2761   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
2762   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
2763   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
2764   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
2765   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2766   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2767   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2768   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2769ROM_END
2770
2771ROM_START( fcockt_7b ) // 050118 custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 FR01"
2772   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2773   ROM_LOAD( "bootleg_fc050118b.rom", 0x00000, 0x40000, CRC(5f3067f9) SHA1(db5eb951e481ac169b1b0c2439e6553cd7845383) ) /* Not officially listed on Igrosoft's web site hash page */
2774
2775   ROM_REGION( 0x400000, "gfx", 0 )
2776   ROM_LOAD( "bootleg_1e", 0x000000, 0x80000, CRC(8d8d246a) SHA1(c422a7fb06bf4e94c0fec9de5e6f07ad756c9f02) )
2777   ROM_LOAD( "bootleg_2e", 0x100000, 0x80000, CRC(a9b1496b) SHA1(09c2316dfce4793b2c3fe8b75b79ebf7cc9dfe3d) )
2778   ROM_LOAD( "bootleg_3e", 0x200000, 0x80000, CRC(fa755764) SHA1(1e057ede7f3b5739548d45b513f324b83a94a9ce) )
2779   ROM_LOAD( "bootleg_4e", 0x300000, 0x80000, CRC(83b83f0d) SHA1(a739b3bad3f092eb8fd54662281f0cd7cfd77c62) )
2780   ROM_LOAD( "bootleg_5e", 0x080000, 0x80000, CRC(a43d6253) SHA1(7d58230efdb89a090b456345a44a363a039cdee8) )
2781   ROM_LOAD( "bootleg_6e", 0x180000, 0x80000, CRC(32ede872) SHA1(b2f2c8c9ad00ee98d19fcd16efff8e4b28ce44d0) )
2782   ROM_LOAD( "bootleg_7e", 0x280000, 0x80000, CRC(391b0471) SHA1(5d20ff6a00425b66f6e53766e41afbed34a6aa42) )
2783   ROM_LOAD( "bootleg_8e", 0x380000, 0x80000, CRC(a634af6b) SHA1(91eeaa7932368b1240a3c0180841b010f5c52362) )
2784ROM_END
2785
2786ROM_START( fcockt_7c ) // 050118 payout percentage 40%
2787   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2788   ROM_LOAD( "bootleg_fc050118c.rom", 0x00000, 0x40000, CRC(65ce8d61) SHA1(f8b63d0cc5ad314013dad4d566a08c87430817d7) ) /* Not officially listed on Igrosoft's web site hash page */
2789
2790   ROM_REGION( 0x400000, "gfx", 0 )
2791   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
2792   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
2793   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
2794   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
2795   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2796   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2797   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2798   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2799ROM_END
2800
2801ROM_START( fcockt_7d ) // 050118 payout percentage 60%
2802   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2803   ROM_LOAD( "bootleg_fc050118d.rom", 0x00000, 0x40000, CRC(f13165ce) SHA1(5340be60a1f1d530b164eddf9d2717ac752253b9) ) /* Not officially listed on Igrosoft's web site hash page */
2804
2805   ROM_REGION( 0x400000, "gfx", 0 )
2806   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
2807   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
2808   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
2809   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
2810   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2811   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2812   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2813   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2814ROM_END
2815
2816ROM_START( fcockt_7e ) // 050118 payout percentage 70%
2817   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2818   ROM_LOAD( "bootleg_fc050118e.rom", 0x00000, 0x40000, CRC(0f25d1d3) SHA1(2b16a06f6126d110f8664d0874476b687265bb91) ) /* Not officially listed on Igrosoft's web site hash page */
2819
2820   ROM_REGION( 0x400000, "gfx", 0 )
2821   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
2822   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
2823   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
2824   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
2825   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2826   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2827   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2828   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2829ROM_END
2830
2831ROM_START( fcockt_7f ) // 050118 changed version text to 070305
2832   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2833   ROM_LOAD( "bootleg_fc050118f.rom", 0x00000, 0x40000, CRC(a6be3c68) SHA1(53cd6d4d2860ba75c95fa1609efa9ff8ea5e2048) ) /* Not officially listed on Igrosoft's web site hash page */
2834
2835   ROM_REGION( 0x400000, "gfx", 0 )
2836   ROM_LOAD( "1_030505", 0x000000, 0x80000, CRC(da72c0bb) SHA1(41c9eebccce82520dfe41d6a3a574b2890945ffa) )
2837   ROM_LOAD( "2_030505", 0x100000, 0x80000, CRC(6239ba9d) SHA1(22486ad30c28341784e7e490255247b82782b72e) )
2838   ROM_LOAD( "3_030505", 0x200000, 0x80000, CRC(2c14a464) SHA1(5fce2f4ef95c5054b055db94399946257bc7321f) )
2839   ROM_LOAD( "4_030505", 0x300000, 0x80000, CRC(115898f4) SHA1(55b93bddaeede1c2f6b18083a6a2e6329af087cc) )
2840   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2841   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2842   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2843   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2844ROM_END
2845
2846ROM_START( fcockt_7g ) // 050118 modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-FC2"
2847   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2848   ROM_LOAD( "bootleg_fc050118g.rom", 0x00000, 0x40000, CRC(e9d1b425) SHA1(caf76dda7bf2383ce44b81c560d91dbde4d7421e) ) /* Not officially listed on Igrosoft's web site hash page */
2849
2850   ROM_REGION( 0x400000, "gfx", 0 )
2851   ROM_LOAD( "bootleg_1h", 0x000000, 0x80000, CRC(5144f9a3) SHA1(e530bb6e1e7c44f7378d6923286f78a74ac34ad4) )
2852   ROM_LOAD( "bootleg_2h", 0x100000, 0x80000, CRC(c9e57914) SHA1(44e2c3e8739b8943babb18fd7483a84d170cb85e) )
2853   ROM_LOAD( "bootleg_3h", 0x200000, 0x80000, CRC(f18c6fce) SHA1(632fc7b3b9927071081b66ac0fd01f85e1290266) )
2854   ROM_LOAD( "bootleg_4h", 0x300000, 0x80000, CRC(9ac3e603) SHA1(f2fab6122d7304543e804b56878f067952f5963d) )
2855   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2856   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2857   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2858   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2859ROM_END
2860
2861ROM_START( fcockt_7h ) // 050118 modified graphics, many texts changed, changed version text to "LOTOS FR01"
2862   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2863   ROM_LOAD( "bootleg_fc050118h.rom", 0x00000, 0x40000, CRC(fb191121) SHA1(e08587ac260bc57b16fbb7c7022ae7849946565b) ) /* Not officially listed on Igrosoft's web site hash page */
2864
2865   ROM_REGION( 0x400000, "gfx", 0 )
2866   ROM_LOAD( "bootleg_1i", 0x000000, 0x80000, CRC(5186689f) SHA1(afaacaaff8b4ba37bba4c0fb800c953fa1a37b04) )
2867   ROM_LOAD( "bootleg_2i", 0x100000, 0x80000, CRC(7263bb27) SHA1(38e46d40b76e83311472192aadcc7daf65a407b1) )
2868   ROM_LOAD( "bootleg_3i", 0x200000, 0x80000, CRC(02a6e05e) SHA1(dd1f4d50bb46fd3e3b3d8dcb14c5f5084ecf2e35) )
2869   ROM_LOAD( "bootleg_4i", 0x300000, 0x80000, CRC(99b28f09) SHA1(85eb3788fd413c5d2a131982e158e5e552a930b4) )
2870   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2871   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2872   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2873   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2874ROM_END
2875
2876
2877
2878ROM_START( fcockt_8a ) // 060111 modified graphics, many texts changed, changed version text to "LOTO COCKTAIL V01-0001"
2879   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2880   ROM_LOAD( "bootleg_fc060111a.rom", 0x00000, 0x40000, CRC(d594f40a) SHA1(291c4a84ba90df5a50205c67874f69efb3346194) ) /* Not officially listed on Igrosoft's web site hash page */
2881
2882   ROM_REGION( 0x400000, "gfx", 0 )
2883   ROM_LOAD( "bootleg_1f", 0x000000, 0x80000, CRC(4e905563) SHA1(63f2e74947fd4918d0fa744db85ca646686bd459) )
2884   ROM_LOAD( "bootleg_2f", 0x100000, 0x80000, CRC(25049350) SHA1(51dae347f4da5dad6bc83fd26a855527fe8cb8ef) )
2885   ROM_LOAD( "bootleg_3f", 0x200000, 0x80000, CRC(ca9bf738) SHA1(b5f82b9f082ada0299c4585c22fcbf785b62320f) )
2886   ROM_LOAD( "bootleg_4f", 0x300000, 0x80000, CRC(b65f200c) SHA1(16a3c612a6c6ed1d2956ebba55a933aa2c905974) )
2887   ROM_LOAD( "bootleg_5",  0x080000, 0x80000, CRC(64b547e3) SHA1(285421fa3aa67a16cf6a9dadb20d74e6a8471dc0) )
2888   ROM_LOAD( "bootleg_6",  0x180000, 0x80000, CRC(965d6363) SHA1(5c229238a09ec54147d492e9843595962ce79952) )
2889   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2890   ROM_LOAD( "bootleg_8",  0x380000, 0x80000, CRC(8384e4d4) SHA1(83d0bbbd7cca7328a66a69cf802632fd8d22d5b8) )
2891ROM_END
2892
2893ROM_START( fcockt_8b ) // 060111 modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
2894   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2895   ROM_LOAD( "bootleg_fc060111b.rom", 0x00000, 0x40000, CRC(71796ce6) SHA1(e4f4140cce3dbe7735c13b23682e23c9e1331f3a) ) /* Not officially listed on Igrosoft's web site hash page */
2896
2897   ROM_REGION( 0x400000, "gfx", 0 )
2898   ROM_LOAD( "bootleg_1g", 0x000000, 0x80000, CRC(5b658094) SHA1(13801c3267772cecb22578fa6f01c20fe5da687d) )
2899   ROM_LOAD( "bootleg_2g", 0x100000, 0x80000, CRC(4bbad46c) SHA1(d44d224c18922a7837a47894d2e679a64be7f3cb) )
2900   ROM_LOAD( "bootleg_3g", 0x200000, 0x80000, CRC(38ad449a) SHA1(eebb826a702cf7a6373a8ef51b4d40ceac758204) )
2901   ROM_LOAD( "bootleg_4g", 0x300000, 0x80000, CRC(4e676629) SHA1(c85ea9322bdc375f26771b3996d8ca69c43b4d2c) )
2902   ROM_LOAD( "5_030505", 0x080000, 0x80000, CRC(f0176b60) SHA1(f764aea00ed306a28cacc62f8d2db9cc42895db8) )
2903   ROM_LOAD( "6_030505", 0x180000, 0x80000, CRC(ef24f255) SHA1(6ff924627c179868a25f180f79cd57182b72d9d4) )
2904   ROM_LOAD( "7_030505", 0x280000, 0x80000, CRC(20f87a15) SHA1(cb60866a3543668f3592c270b445dee881d78128) )
2905   ROM_LOAD( "8_030505", 0x380000, 0x80000, CRC(d282e42e) SHA1(eac9c3eaef39b1805f863ade5da47d6274d20a55) )
2906ROM_END
2907
2908
2909ROM_START( lhaunt_4a ) // 031111 backdoor 1,1 1,3 1,5 1,7  3,3  3,4
2910   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2911   ROM_LOAD( "bootleg_lh031111a.rom", 0x00000, 0x40000, CRC(83d487c9) SHA1(5b88745d06acba542e2d0660298c9058f2bdfa3f) ) /* Not officially listed on Igrosoft's web site hash page */
2912
2913   ROM_REGION( 0x400000, "gfx", 0 )
2914   ROM_LOAD( "1_030707", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
2915   ROM_LOAD( "2_030707", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
2916   ROM_LOAD( "3_030707", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
2917   ROM_LOAD( "4_030707", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
2918   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
2919   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
2920   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
2921   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
2922ROM_END
2923
2924
2925
2926ROM_START( lhaunt_6a ) // 040825 backdoor 1,5 9,1 5,1 1,5  3,3  3,4
2927   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2928   ROM_LOAD( "bootleg_lh040825a.rom", 0x00000, 0x40000, CRC(18ba5704) SHA1(3c77ed129db0e5181217167b76292f8e4ee78728) ) /* Not officially listed on Igrosoft's web site hash page */
2929
2930   ROM_REGION( 0x400000, "gfx", 0 )
2931   ROM_LOAD( "1_030707", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
2932   ROM_LOAD( "2_030707", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
2933   ROM_LOAD( "3_030707", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
2934   ROM_LOAD( "4_030707", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
2935   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
2936   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
2937   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
2938   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
2939ROM_END
2940
2941ROM_START( lhaunt_6b ) // 040825 custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 PB01"
2942   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2943   ROM_LOAD( "bootleg_lh040825b.rom", 0x00000, 0x40000, CRC(71bc9811) SHA1(64dc0d81aec657b8c722e530ad5858d831ab7d51) ) /* Not officially listed on Igrosoft's web site hash page */
2944
2945   ROM_REGION( 0x400000, "gfx", 0 )
2946   ROM_LOAD( "bootleg_1b", 0x000000, 0x80000, CRC(82e0dd1a) SHA1(7f99fe1e5d304fadae9f1f46ebe8680787c9175b) )
2947   ROM_LOAD( "bootleg_2b", 0x100000, 0x80000, CRC(fa41dc9b) SHA1(3a2d46cc3bb1e5a8c9a42e28e0b195548d365865) )
2948   ROM_LOAD( "bootleg_3b", 0x200000, 0x80000, CRC(761fcd19) SHA1(08c5eb77a8829f4cdb7508a1f3c2361f8bdefb17) )
2949   ROM_LOAD( "bootleg_4b", 0x300000, 0x80000, CRC(be5f40c3) SHA1(62ac5b3c98db7352d241a115030aef0266c9e737) )
2950   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(99fb98df) SHA1(66dd5a07ce72d88f5612c3dc8ec2bcd76229a586) )
2951   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(208fb837) SHA1(857a615fa674cd55771cc4c12afd61fe8a891d3c) )
2952   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(a4d609cd) SHA1(bcf193745012a59ec706f54c157dd413b49f0a35) )
2953   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(6703695b) SHA1(7730aa1297cc1584cfe1236c16f1a90829727baa) )
2954ROM_END
2955
2956ROM_START( lhaunt_6c ) // 040825 changed version text to 070604
2957   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2958   ROM_LOAD( "bootleg_lh040825c.rom", 0x00000, 0x40000, CRC(b2b027c2) SHA1(18e5d7b396103a7301b2a6641ca3d85ab2091d2e) ) /* Not officially listed on Igrosoft's web site hash page */
2959
2960   ROM_REGION( 0x400000, "gfx", 0 )
2961   ROM_LOAD( "1_030707", 0x000000, 0x80000, CRC(5f1000c6) SHA1(05154d786caf7f5fb9ed90c7d3391cec42e871f8) )
2962   ROM_LOAD( "2_030707", 0x100000, 0x80000, CRC(b18abebc) SHA1(66c28fd3f338360b9236dcf414548bfb53655951) )
2963   ROM_LOAD( "3_030707", 0x200000, 0x80000, CRC(2e67a1d9) SHA1(a3eff78f25e4e4878706d7c9e4ca71f6914006c6) )
2964   ROM_LOAD( "4_030707", 0x300000, 0x80000, CRC(90c963f6) SHA1(2a9c689315cdfb67425f0710511dc0e0241741a7) )
2965   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
2966   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
2967   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
2968   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
2969ROM_END
2970
2971ROM_START( lhaunt_6d ) // 040825 modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
2972   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2973   ROM_LOAD( "bootleg_lh040825d.rom", 0x00000, 0x40000, CRC(bf442051) SHA1(0c96b5cbf24dc8786feae658f23518bef6c0d589) ) /* Not officially listed on Igrosoft's web site hash page */
2974
2975   ROM_REGION( 0x400000, "gfx", 0 )
2976   ROM_LOAD( "bootleg_1c", 0x000000, 0x80000, CRC(9ff7618e) SHA1(1c191a211f2391f5aa5786c2071dc34d909bbe46) )
2977   ROM_LOAD( "bootleg_2c", 0x100000, 0x80000, CRC(094e040f) SHA1(254348b1690ce82bb2551006365d630fb82413c2) )
2978   ROM_LOAD( "bootleg_3c", 0x200000, 0x80000, CRC(47f7d726) SHA1(d43797c50fa0a8f25a5cd198e906f67d9f3e9a13) )
2979   ROM_LOAD( "bootleg_4c", 0x300000, 0x80000, CRC(1aa0998f) SHA1(078c09774ac3664a76d83b28596d0e07f3f7b9e2) )
2980   ROM_LOAD( "5_030707", 0x080000, 0x80000, CRC(b50c90a3) SHA1(74749f4ffb5b0630631b511fc3230c6e7b50dc3b) )
2981   ROM_LOAD( "6_030707", 0x180000, 0x80000, CRC(4eaaab64) SHA1(9fed16f8e0308200fd16c4b1e511e1bf6c22ae66) )
2982   ROM_LOAD( "7_030707", 0x280000, 0x80000, CRC(64d16ba9) SHA1(3b897183d6e0f1256be7657441f234fc72077682) )
2983   ROM_LOAD( "8_030707", 0x380000, 0x80000, CRC(1bdf6252) SHA1(7b5ae82a95a744b236e109024d47b526dccf9c14) )
2984ROM_END
2985
2986ROM_START( lhaunt_6e ) // 040825 modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-LH2"
2987   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2988   ROM_LOAD( "bootleg_lh040825e.rom", 0x00000, 0x40000, CRC(087d4172) SHA1(ec9ca4192031d8b8e3cbaf809e8d1643978481f3) ) /* Not officially listed on Igrosoft's web site hash page */
2989
2990   ROM_REGION( 0x400000, "gfx", 0 )
2991   ROM_LOAD( "bootleg_1d", 0x000000, 0x80000, CRC(41e22133) SHA1(b3d88b62fed9aa4ea5bbdff3f92a4120a239cfb0) )
2992   ROM_LOAD( "bootleg_2d", 0x100000, 0x80000, CRC(ea948a43) SHA1(ccf0450ed095cf4d48a0775a50a630d7e2d50fcb) )
2993   ROM_LOAD( "bootleg_3d", 0x200000, 0x80000, CRC(df715e6b) SHA1(be8c143be66a638eeb971406e323c3e857a50e19) )
2994   ROM_LOAD( "bootleg_4d", 0x300000, 0x80000, CRC(e70b3a0e) SHA1(f3905c117467fb6817fd02ce08af6188439821bf) )
2995   ROM_LOAD( "bootleg_5d", 0x080000, 0x80000, CRC(666d1923) SHA1(5ef416c2c567c56d2188ba27d8f0f205551eca7f) )
2996   ROM_LOAD( "bootleg_6d", 0x180000, 0x80000, CRC(304475f2) SHA1(de532496c4534ff09c88d87d0ccadad542ff5637) )
2997   ROM_LOAD( "bootleg_7d", 0x280000, 0x80000, CRC(278aab12) SHA1(cb35e95babddcb126c10dfd6abf2986133a6fbf1) )
2998   ROM_LOAD( "bootleg_8d", 0x380000, 0x80000, CRC(79c110bc) SHA1(4198b6003af7e52720f84776f51fe4e1c1cc8713) )
2999ROM_END
3000
3001ROM_START( lhaunt_6f ) // 040825 custom alteras, modified graphics, many texts changed, changed version text to "LOTOS PB01"
3002   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3003   ROM_LOAD( "bootleg_lh040825f.rom", 0x00000, 0x40000, CRC(7033af62) SHA1(c6b859672816f650eb88bc363e6f6d3a197eb99c) ) /* Not officially listed on Igrosoft's web site hash page */
3004
3005   ROM_REGION( 0x400000, "gfx", 0 )
3006   ROM_LOAD( "bootleg_1e", 0x000000, 0x80000, CRC(c7b0191a) SHA1(d33ababbefcb39f4e6b063f448b8a08b015d6f24) )
3007   ROM_LOAD( "bootleg_2e", 0x100000, 0x80000, CRC(befb39e6) SHA1(6d6fdbb6e74d7418037dda5f76c8f007508df916) )
3008   ROM_LOAD( "bootleg_3e", 0x200000, 0x80000, CRC(a9cdb4b4) SHA1(7054e47913d8e14d3219d6780f912f730e3a67cb) )
3009   ROM_LOAD( "bootleg_4e", 0x300000, 0x80000, CRC(302cf08c) SHA1(eede494a0d47f5c911868a785145994f5e72829e) )
3010   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(99fb98df) SHA1(66dd5a07ce72d88f5612c3dc8ec2bcd76229a586) )
3011   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(208fb837) SHA1(857a615fa674cd55771cc4c12afd61fe8a891d3c) )
3012   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(a4d609cd) SHA1(bcf193745012a59ec706f54c157dd413b49f0a35) )
3013   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(6703695b) SHA1(7730aa1297cc1584cfe1236c16f1a90829727baa) )
3014ROM_END
3015
3016
3017
3018ROM_START( garage_4a ) // 040219 backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3019   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3020   ROM_LOAD( "bootleg_gg040219a.rom", 0x00000, 0x40000, CRC(e16b213a) SHA1(af0d78116d985efe5f09eb86eb67df2535765527) ) /* Not officially listed on Igrosoft's web site hash page */
3021
3022   ROM_REGION( 0x400000, "gfx", 0 )
3023   ROM_LOAD( "1_040122", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
3024   ROM_LOAD( "2_040122", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
3025   ROM_LOAD( "3_040122", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
3026   ROM_LOAD( "4_040122", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
3027   ROM_LOAD( "5_040122", 0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
3028   ROM_LOAD( "6_040122", 0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
3029   ROM_LOAD( "7_040122", 0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
3030   ROM_LOAD( "8_040122", 0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
3031ROM_END
3032
3033ROM_START( garage_4b ) // 040219 changed version text to 070329
3034   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3035   ROM_LOAD( "bootleg_gg040219b.rom", 0x00000, 0x40000, CRC(b8ebf3b6) SHA1(14c5263571123d251125723b32861bef578de67b) ) /* Not officially listed on Igrosoft's web site hash page */
3036
3037   ROM_REGION( 0x400000, "gfx", 0 )
3038   ROM_LOAD( "1_040122", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
3039   ROM_LOAD( "2_040122", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
3040   ROM_LOAD( "3_040122", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
3041   ROM_LOAD( "4_040122", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
3042   ROM_LOAD( "5_040122", 0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
3043   ROM_LOAD( "6_040122", 0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
3044   ROM_LOAD( "7_040122", 0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
3045   ROM_LOAD( "8_040122", 0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
3046ROM_END
3047
3048ROM_START( garage_4c ) // 040219 modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-GG2"
3049   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3050   ROM_LOAD( "bootleg_gg040219c.rom", 0x00000, 0x40000, CRC(2e0ee194) SHA1(2dab6f80cd81b34792c1d347e17c2410bf22a48b) ) /* Not officially listed on Igrosoft's web site hash page */
3051
3052   ROM_REGION( 0x400000, "gfx", 0 )
3053   ROM_LOAD( "bootleg_1d", 0x000000, 0x80000, CRC(63cf83f8) SHA1(ac96acd353049e77855cee618521fdba17e1b3f1) )
3054   ROM_LOAD( "bootleg_2d", 0x100000, 0x80000, CRC(be09cf31) SHA1(067abe9a58cc1ec42524cda33d9c899625ef9e12) )
3055   ROM_LOAD( "bootleg_3d", 0x200000, 0x80000, CRC(7da936ed) SHA1(f13cb3b3c3e3a3aa39bed72601ca7b6d5f517579) )
3056   ROM_LOAD( "bootleg_4d", 0x300000, 0x80000, CRC(8f12f84e) SHA1(10f774a36382b52e35738f6060cbe8bbd990dc66) )
3057   ROM_LOAD( "bootleg_5d", 0x080000, 0x80000, CRC(39ca3b8a) SHA1(e456c2965f1d4519ee1b8b9e7689004b467c4957) )
3058   ROM_LOAD( "bootleg_6d", 0x180000, 0x80000, CRC(df4ff9ff) SHA1(89cc80923544e44367ba27e42f4f49744de9782c) )
3059   ROM_LOAD( "bootleg_7d", 0x280000, 0x80000, CRC(e65de46e) SHA1(ffcc48449e764329864800befcb31b884bd7ff20) )
3060   ROM_LOAD( "bootleg_8d", 0x380000, 0x80000, CRC(15fcac6d) SHA1(3c1f44225686b42eba5229fb0ad03d2592c09203) )
3061ROM_END
3062
3063
3064ROM_START( garage_5a ) // 050311 backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3065   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3066   ROM_LOAD( "bootleg_gg050311a.rom", 0x00000, 0x40000, CRC(874a2c27) SHA1(9bf586314f375c2c6f7d79557cc777ac3559cb64) ) /* Not officially listed on Igrosoft's web site hash page */
3067
3068   ROM_REGION( 0x400000, "gfx", 0 )
3069   ROM_LOAD( "1_040122", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
3070   ROM_LOAD( "2_040122", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
3071   ROM_LOAD( "3_040122", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
3072   ROM_LOAD( "4_040122", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
3073   ROM_LOAD( "5_040122", 0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
3074   ROM_LOAD( "6_040122", 0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
3075   ROM_LOAD( "7_040122", 0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
3076   ROM_LOAD( "8_040122", 0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
3077ROM_END
3078
3079ROM_START( garage_5b ) // 050311 custom alteras, modified graphics, changed version text to "VIDEO GAME-1 GA01"
3080   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3081   ROM_LOAD( "bootleg_gg050311b.rom", 0x00000, 0x40000, CRC(79f9a8e7) SHA1(f6ddd586b72ca004ac18284a0394d5a9d56fbc19) ) /* Not officially listed on Igrosoft's web site hash page */
3082
3083   ROM_REGION( 0x400000, "gfx", 0 )
3084   ROM_LOAD( "bootleg_1b", 0x000000, 0x80000, CRC(df71e54b) SHA1(e5899151aea13b527e4f0819609be6d9ee8cc1b2) )
3085   ROM_LOAD( "bootleg_2b", 0x100000, 0x80000, CRC(72067f6a) SHA1(be1d4e72b03d32dce8f0f86f860b1e976ab6d459) )
3086   ROM_LOAD( "bootleg_3b", 0x200000, 0x80000, CRC(a432329a) SHA1(ab526e4c1909d205f69f934a3a808337d087b1c7) )
3087   ROM_LOAD( "bootleg_4b", 0x300000, 0x80000, CRC(44bcf56b) SHA1(19fd698d8d712e00735e2a70836ef3135de0e351) )
3088   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(9d210b24) SHA1(0bbf2a855880b9f82e3f356adb7b151db3daaed6) )
3089   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(45b039a0) SHA1(1166815fa1271e44d08bad1f5a3a786c93cb5030) )
3090   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(b4e1ecdb) SHA1(7cd5ffbe21ff48434f3be995388e6bc398fe2aa4) )
3091   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(06c5149f) SHA1(012573a144532bb6d697c0390b97136e47aaca99) )
3092ROM_END
3093
3094ROM_START( garage_5c ) // 050311 payout percentage 70%
3095   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3096   ROM_LOAD( "bootleg_gg050311c.rom", 0x00000, 0x40000, CRC(039af644) SHA1(548e2990f15d6f7f68758a91aae5bf297a220698) ) /* Not officially listed on Igrosoft's web site hash page */
3097
3098   ROM_REGION( 0x400000, "gfx", 0 )
3099   ROM_LOAD( "1_040122", 0x000000, 0x80000, CRC(57acd4bc) SHA1(8796f463787c359cce6ac09c1b6895f871bbb7c9) )
3100   ROM_LOAD( "2_040122", 0x100000, 0x80000, CRC(6d591fa3) SHA1(ddbdf87e0e88dc848b963fbfcb6e14d7b3b9efdc) )
3101   ROM_LOAD( "3_040122", 0x200000, 0x80000, CRC(6a15eeda) SHA1(ac35a20893b0518a159207401f6b7f58e3de45fa) )
3102   ROM_LOAD( "4_040122", 0x300000, 0x80000, CRC(38f2cd3c) SHA1(5a4463ac352e4e340c6aaa61102841541e9f4c48) )
3103   ROM_LOAD( "5_040122", 0x080000, 0x80000, CRC(5bf85bc5) SHA1(ff9d2b9cbcd2af6f5fda972e387820d830c196a9) )
3104   ROM_LOAD( "6_040122", 0x180000, 0x80000, CRC(e5082b26) SHA1(6547409d39dd51498ce8e3f82ff813a8ac3c6522) )
3105   ROM_LOAD( "7_040122", 0x280000, 0x80000, CRC(dfa2ceb1) SHA1(ec7de8a8f6e7785a563df973841cc1f1603f79fc) )
3106   ROM_LOAD( "8_040122", 0x380000, 0x80000, CRC(90c5416b) SHA1(583bfb517bc2e30d7b7903aa19fc3b4b5188d7d2) )
3107ROM_END
3108
3109ROM_START( garage_5d ) // 050311 modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3110   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3111   ROM_LOAD( "bootleg_gg050311d.rom", 0x00000, 0x40000, CRC(00db1210) SHA1(90eb11d6055b464546657233b44a6783c34161ae) ) /* Not officially listed on Igrosoft's web site hash page */
3112
3113   ROM_REGION( 0x400000, "gfx", 0 )
3114   ROM_LOAD( "bootleg_1c", 0x000000, 0x80000, CRC(e3deb6f3) SHA1(a1fe01040bd8f4b08268e2b99cfa240e50dce00b) )
3115   ROM_LOAD( "bootleg_2c", 0x100000, 0x80000, CRC(540abed4) SHA1(c3f7c9c9c71da2092b13cafd51017751b65eea44) )
3116   ROM_LOAD( "bootleg_3c", 0x200000, 0x80000, CRC(c8ff1697) SHA1(6edc15793ce28abcd85b4bfcdb8dec3b6b9fc86b) )
3117   ROM_LOAD( "bootleg_4c", 0x300000, 0x80000, CRC(5cf6c32a) SHA1(4f3baf788a7a868bee3343ac623e0d73d11833dd) )
3118   ROM_LOAD( "bootleg_5c", 0x080000, 0x80000, CRC(5670c51f) SHA1(823d2152342df0129dbe91dceb58282919a30bd1) )
3119   ROM_LOAD( "bootleg_6c", 0x180000, 0x80000, CRC(b8a6a574) SHA1(157d68736960f351b148be0b81bcdba472437508) )
3120   ROM_LOAD( "bootleg_7c", 0x280000, 0x80000, CRC(94f2b464) SHA1(879c435a80eb8770fe47d4120078c6a447025f08) )
3121   ROM_LOAD( "bootleg_8c", 0x380000, 0x80000, CRC(0cf53598) SHA1(c456add6b56169a5116643a27aace1ee19a68340) )
3122ROM_END
3123
3124ROM_START( garage_5e ) // 050311 custom alteras, modified graphics, many texts changed, changed version text to "LOTOS GA01"
3125   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3126   ROM_LOAD( "bootleg_gg050311e.rom", 0x00000, 0x40000, CRC(2c7971ba) SHA1(512c6a76d22ba46c9bbb6cc1255f156a8d20befe) ) /* Not officially listed on Igrosoft's web site hash page */
3127
3128   ROM_REGION( 0x400000, "gfx", 0 )
3129   ROM_LOAD( "bootleg_1e", 0x000000, 0x80000, CRC(c89cc739) SHA1(31e62dd6ef841dc3f2a3da3e89649b7250cc3a6d) )
3130   ROM_LOAD( "bootleg_2e", 0x100000, 0x80000, CRC(c224a356) SHA1(c684b69ca8998f74d13edc56f3c3201c6cce6e01) )
3131   ROM_LOAD( "bootleg_3e", 0x200000, 0x80000, CRC(a83cfda9) SHA1(c754b47da998cf9aa11a2332ba66756599d79340) )
3132   ROM_LOAD( "bootleg_4e", 0x300000, 0x80000, CRC(e262b94c) SHA1(f6e22a38226a55b99ddd9fcf714599acbd3ee27c) )
3133   ROM_LOAD( "bootleg_5e", 0x080000, 0x80000, CRC(ad6c6919) SHA1(ff152adf63372a203d2a2f629766706f482d8065) )
3134   ROM_LOAD( "bootleg_6e", 0x180000, 0x80000, CRC(ddbd373e) SHA1(cebb6b666cc1ee6e1f0a27c6b989f3818d67419b) )
3135   ROM_LOAD( "bootleg_7e", 0x280000, 0x80000, CRC(13880471) SHA1(037b5e331da282aba310bc72346d66a0b4a08e6d) )
3136   ROM_LOAD( "bootleg_8e", 0x380000, 0x80000, CRC(10cc710b) SHA1(2bcf01b9d4730d8377edfd563c1c508ea128fd46) )
3137ROM_END
3138
3139
3140
3141
3142ROM_START( rclimb_3a ) // 040827 backdoor 1,5 9,1 5,1 1,5  3,3  3,4
3143   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3144   ROM_LOAD( "bootleg_rc040827a.rom", 0x00000, 0x40000, CRC(6420f8b4) SHA1(64e4018dbea245ddc06a65fb2f8cf38e77f60999) ) /* Not officially listed on Igrosoft's web site hash page */
3145
3146   ROM_REGION( 0x400000, "gfx", 0 )
3147   ROM_LOAD( "1_040815", 0x000000, 0x80000, CRC(934f18c7) SHA1(da3a7cddc68e104d415d947e89c0e7f0d067c056) )
3148   ROM_LOAD( "2_040815", 0x100000, 0x80000, CRC(7364bd2b) SHA1(c0edfd3b8de813c95fe5d6072662fa0e39fec89e) )
3149   ROM_LOAD( "3_040815", 0x200000, 0x80000, CRC(e7befb17) SHA1(8a214680142cd657784a667ab3f6422165fea224) )
3150   ROM_LOAD( "4_040815", 0x300000, 0x80000, CRC(dc6d43a0) SHA1(62fc47136775f3fa9369857ec91fe897a1f1ebd6) )
3151   ROM_LOAD( "5_040815", 0x080000, 0x80000, CRC(ea127c3d) SHA1(a6391eed69a4723b68d727f59b6baebe51633e66) )
3152   ROM_LOAD( "6_040815", 0x180000, 0x80000, CRC(277fa273) SHA1(6320e6c5b5e48dc451cc48189054c42d85e8ccc1) )
3153   ROM_LOAD( "7_040815", 0x280000, 0x80000, CRC(3ca7f69a) SHA1(878cca181d915dc3548d5285a4bbb51aef31a64e) )
3154   ROM_LOAD( "8_040815", 0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
3155ROM_END
3156
3157ROM_START( rclimb_3b ) // 040827 - new service menu
3158   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3159   ROM_LOAD( "bootleg_rc040827.rom", 0x00000, 0x40000, CRC(3ba55647) SHA1(56e96be0d9782da4b3d5d911ea67962257626ae0) ) /* Not officially listed on Igrosoft's web site hash page */
3160
3161   ROM_REGION( 0x400000, "gfx", 0 )
3162   ROM_LOAD( "bootleg_rc1_.bin", 0x000000, 0x80000, CRC(4bc00c66) SHA1(e4d89c2b188f253b642ae341a1a4c04af33024c8) )
3163   ROM_LOAD( "bootleg_rc2_.bin", 0x100000, 0x80000, CRC(89237f10) SHA1(a493a03f79656332089f2794872be44e62d7e306) )
3164   ROM_LOAD( "bootleg_rc3_.bin", 0x200000, 0x80000, CRC(c4147d05) SHA1(8497fca6e64896cf8f03877c3455ee7bf9965b60) )
3165   ROM_LOAD( "bootleg_rc4_.bin", 0x300000, 0x80000, CRC(06176cb1) SHA1(0644861042ca4be2d459b31870369a2e46d80aa4) )
3166   ROM_LOAD( "bootleg_rc5_.bin", 0x080000, 0x80000, CRC(fb5f2036) SHA1(5f8885332a2d9249d34a0a50ac464a5637b9bc95) )
3167   ROM_LOAD( "bootleg_rc6_.bin", 0x180000, 0x80000, CRC(36a8148f) SHA1(57d84e44c77f2bb1e97ec8a1acd3ef71246e3274) )
3168   ROM_LOAD( "bootleg_rc7_.bin", 0x280000, 0x80000, CRC(26c620e3) SHA1(b14f2cfc0e5b740360e6ecca97f6bf941136141f) )
3169   ROM_LOAD( "bootleg_rc8_.bin", 0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
3170ROM_END
3171
3172ROM_START( rclimb_3c ) // 040827 custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 SK01"
3173   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3174   ROM_LOAD( "bootleg_rc040827c.rom", 0x00000, 0x40000, CRC(4b8b3e0e) SHA1(6554073d589de67807c3b3779c1f2fa610aa03df) ) /* Not officially listed on Igrosoft's web site hash page */
3175
3176   ROM_REGION( 0x400000, "gfx", 0 )
3177   ROM_LOAD( "bootleg_1b", 0x000000, 0x80000, CRC(a66e718a) SHA1(84493efde5a70032e709ebde5635ed50e151d2ab) )
3178   ROM_LOAD( "bootleg_2b", 0x100000, 0x80000, CRC(3486c691) SHA1(658e0f7e1e7c874c6e8f9f1908d242ad57f66cf1) )
3179   ROM_LOAD( "bootleg_3b", 0x200000, 0x80000, CRC(4600b9c7) SHA1(ce8e8474705592b246933662b24c579bee45d6b1) )
3180   ROM_LOAD( "bootleg_4b", 0x300000, 0x80000, CRC(610826f6) SHA1(52ad56da44bf3803ea1a30fbeaf7c7cab3c347dc) )
3181   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(77413756) SHA1(41eac1ee200d9d850e494f79555a82bb2a591e1f) )
3182   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(6f8f3678) SHA1(b9c0e5093f93a3e9ebc715a24588a68105ca15c7) )
3183   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(72d3cba8) SHA1(2f14bc23574276cb1ceef4306653e79f7bf19ac9) )
3184   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(4210c5e2) SHA1(053cee86e3fa27e43ef74615cd4bb1f28c900ec4) )
3185ROM_END
3186
3187ROM_START( rclimb_3d ) // 040827 modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3188   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3189   ROM_LOAD( "bootleg_rc040827d.rom", 0x00000, 0x40000, CRC(b7796cff) SHA1(a180397d8827adbc161e282a4ee6d064d4837199) ) /* Not officially listed on Igrosoft's web site hash page */
3190
3191   ROM_REGION( 0x400000, "gfx", 0 )
3192   ROM_LOAD( "bootleg_1c", 0x000000, 0x80000, CRC(b846d5c8) SHA1(235ebe08ef89b308dd9642ebb8ce0eb102ffaf7d) )
3193   ROM_LOAD( "bootleg_2c", 0x100000, 0x80000, CRC(600cfee9) SHA1(b0f251cd9e6bff195f44bd70a961ccc489688574) )
3194   ROM_LOAD( "bootleg_3c", 0x200000, 0x80000, CRC(d8394c53) SHA1(a20862c0753cba6b5f4db03c9a208381c769a3e5) )
3195   ROM_LOAD( "bootleg_4c", 0x300000, 0x80000, CRC(7b0911b8) SHA1(25fa9b021cc041eccbbf0af1ec613895cc79a973) )
3196   ROM_LOAD( "5_040815", 0x080000, 0x80000, CRC(ea127c3d) SHA1(a6391eed69a4723b68d727f59b6baebe51633e66) )
3197   ROM_LOAD( "6_040815", 0x180000, 0x80000, CRC(277fa273) SHA1(6320e6c5b5e48dc451cc48189054c42d85e8ccc1) )
3198   ROM_LOAD( "7_040815", 0x280000, 0x80000, CRC(3ca7f69a) SHA1(878cca181d915dc3548d5285a4bbb51aef31a64e) )
3199   ROM_LOAD( "8_040815", 0x380000, 0x80000, CRC(8cf6b4c2) SHA1(4c36c217b83c82acfdd615f5547bf597af7b8833) )
3200ROM_END
3201
3202ROM_START( rclimb_3e ) // 040827 custom alteras, modified graphics, many texts changed, changed version text to "LOTOS SK01"
3203   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3204   ROM_LOAD( "bootleg_rc040827e.rom", 0x00000, 0x40000, CRC(0ae53856) SHA1(af6b744addc8fb429464e5dbe28c8ebcd2925dec) ) /* Not officially listed on Igrosoft's web site hash page */
3205
3206   ROM_REGION( 0x400000, "gfx", 0 )
3207   ROM_LOAD( "bootleg_1d", 0x000000, 0x80000, CRC(085caab6) SHA1(32a6a9160f9a175ba74ef60d36e1715efe7599b4) )
3208   ROM_LOAD( "bootleg_2d", 0x100000, 0x80000, CRC(29af4561) SHA1(dcc9f8b910a8b55abb79d47ce6b3e3c0fc37f2e8) )
3209   ROM_LOAD( "bootleg_3d", 0x200000, 0x80000, CRC(f0576bfd) SHA1(3b51893589843f52c6d83328c8f0cdb80e094e07) )
3210   ROM_LOAD( "bootleg_4d", 0x300000, 0x80000, CRC(66e10e16) SHA1(3ed013ec287347d817345815c7e8d2a6a4e5563a) )
3211   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(77413756) SHA1(41eac1ee200d9d850e494f79555a82bb2a591e1f) )
3212   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(6f8f3678) SHA1(b9c0e5093f93a3e9ebc715a24588a68105ca15c7) )
3213   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(72d3cba8) SHA1(2f14bc23574276cb1ceef4306653e79f7bf19ac9) )
3214   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(4210c5e2) SHA1(053cee86e3fa27e43ef74615cd4bb1f28c900ec4) )
3215ROM_END
3216
3217
3218
3219ROM_START( sweetla ) // 041220 backdoor 1,5 9,1 5,3 1,5  3,3  3,4
3220   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3221   ROM_LOAD( "bootleg_sl041220a.rom", 0x00000, 0x40000, CRC(920fd9fe) SHA1(0b5ad099ae4c8e3ba0f99baf8fc9322cae24e9d2) ) /* Not officially listed on Igrosoft's web site hash page */
3222
3223   ROM_REGION( 0x400000, "gfx", 0 )
3224   ROM_LOAD( "1_041220", 0x000000, 0x80000, CRC(a096c786) SHA1(81f6b083cb089e9412a8506889196354c670d945) )
3225   ROM_LOAD( "2_041220", 0x100000, 0x80000, CRC(c5e1e22c) SHA1(973ad27681a0f3beee7084b1b85fc9deb79d638e) )
3226   ROM_LOAD( "3_041220", 0x200000, 0x80000, CRC(af335323) SHA1(b8afdce231a8ec0f313cc47e00a27f05461bbbc4) )
3227   ROM_LOAD( "4_041220", 0x300000, 0x80000, CRC(a35c7503) SHA1(78f7a868660bbaa066e8e9e341db52018aaf3af1) )
3228   ROM_LOAD( "5_041220", 0x080000, 0x80000, CRC(e2d6b632) SHA1(65d05e55671b8c335cae2dfbf6a6f5bd8cc90e2c) )
3229   ROM_LOAD( "6_041220", 0x180000, 0x80000, CRC(d34e0905) SHA1(cc4afe64fb9052a31f759be41ff07a727e0a9093) )
3230   ROM_LOAD( "7_041220", 0x280000, 0x80000, CRC(978b67bb) SHA1(87357d5832588f00272bd76df736c06c599f3853) )
3231   ROM_LOAD( "8_041220", 0x380000, 0x80000, CRC(75954355) SHA1(e6ef2b70d859b61e8e3d1751de8558b8778e502d) )
3232ROM_END
3233
3234ROM_START( sweetlb ) // 041220 bank F9, changed version text to 070412
3235   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3236   ROM_LOAD( "bootleg_sl041220b.rom", 0x00000, 0x40000, CRC(53f1a0e1) SHA1(a00a8e8d95bd2be27313c1421d40120ee79ff29d) ) /* Not officially listed on Igrosoft's web site hash page */
3237
3238   ROM_REGION( 0x400000, "gfx", 0 )
3239   ROM_LOAD( "1_041220", 0x000000, 0x80000, CRC(a096c786) SHA1(81f6b083cb089e9412a8506889196354c670d945) )
3240   ROM_LOAD( "2_041220", 0x100000, 0x80000, CRC(c5e1e22c) SHA1(973ad27681a0f3beee7084b1b85fc9deb79d638e) )
3241   ROM_LOAD( "3_041220", 0x200000, 0x80000, CRC(af335323) SHA1(b8afdce231a8ec0f313cc47e00a27f05461bbbc4) )
3242   ROM_LOAD( "4_041220", 0x300000, 0x80000, CRC(a35c7503) SHA1(78f7a868660bbaa066e8e9e341db52018aaf3af1) )
3243   ROM_LOAD( "5_041220", 0x080000, 0x80000, CRC(e2d6b632) SHA1(65d05e55671b8c335cae2dfbf6a6f5bd8cc90e2c) )
3244   ROM_LOAD( "6_041220", 0x180000, 0x80000, CRC(d34e0905) SHA1(cc4afe64fb9052a31f759be41ff07a727e0a9093) )
3245   ROM_LOAD( "7_041220", 0x280000, 0x80000, CRC(978b67bb) SHA1(87357d5832588f00272bd76df736c06c599f3853) )
3246   ROM_LOAD( "8_041220", 0x380000, 0x80000, CRC(75954355) SHA1(e6ef2b70d859b61e8e3d1751de8558b8778e502d) )
3247ROM_END
3248
3249
3250
3251ROM_START( resdnt_2a ) // 040513 backdoor 1,5 9,1 5,1 1,5  3,3  3,4
3252   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3253   ROM_LOAD( "bootleg_rs040513a.rom", 0x00000, 0x40000, CRC(5b6480d7) SHA1(e54ddc822819136687d613ce4f38dd98f3e01bb5) ) /* Not officially listed on Igrosoft's web site hash page */
3254
3255   ROM_REGION( 0x400000, "gfx", 0 )
3256   ROM_LOAD( "1_040415", 0x000000, 0x80000, CRC(e0645da6) SHA1(dd72f4830d8011f603aa6d430f34ac2598005281) )
3257   ROM_LOAD( "2_040415", 0x100000, 0x80000, CRC(dd8de247) SHA1(498c5b931ce65e289f52d8864b603166f81e3dc4) )
3258   ROM_LOAD( "3_040415", 0x200000, 0x80000, CRC(0d346ec2) SHA1(e2456b28825c54c5e16829525627c40611c0083d) )
3259   ROM_LOAD( "4_040415", 0x300000, 0x80000, CRC(1f95aad9) SHA1(51d003288d5ff23b3c981fbaa99d29b66dd2c101) )
3260   ROM_LOAD( "5_040415", 0x080000, 0x80000, CRC(0cfe7d44) SHA1(9f0e4925e815ff9f79188f18e78c0a7b377daa3f) )
3261   ROM_LOAD( "6_040415", 0x180000, 0x80000, CRC(7437904f) SHA1(630c79cd6a990ce7658a1ffabba5a27efba985a1) )
3262   ROM_LOAD( "7_040415", 0x280000, 0x80000, CRC(6e94728a) SHA1(ab414879cb957d9bc8d653b5e3bb2bbf91139ec0) )
3263   ROM_LOAD( "8_040415", 0x380000, 0x80000, CRC(a9f55043) SHA1(4771df3d45bdc0a21b1c479f45e09ac5bab6c94f) )
3264ROM_END
3265
3266ROM_START( resdnt_2b ) // 040513 custom alteras, modified graphics, changed version text to "VIDEO GAME-1 SE01"
3267   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3268   ROM_LOAD( "bootleg_rs040513b.rom", 0x00000, 0x40000, CRC(2f8b2249) SHA1(4fb34888a99946937791fdba4659d256e862598b) ) /* Not officially listed on Igrosoft's web site hash page */
3269
3270   ROM_REGION( 0x400000, "gfx", 0 )
3271   ROM_LOAD( "bootleg_1b", 0x000000, 0x80000, CRC(529ac635) SHA1(76cb5b04d61a1e5cb358b55a1b8a5602edd2841a) )
3272   ROM_LOAD( "bootleg_2b", 0x100000, 0x80000, CRC(84033d15) SHA1(632a18b059ec94d195e311080baf1f5f7d9c8e6c) )
3273   ROM_LOAD( "bootleg_3b", 0x200000, 0x80000, CRC(2b456ab0) SHA1(bf7971bd6ad6fcf7bc964b5c30cf9ead828e9fd3) )
3274   ROM_LOAD( "bootleg_4b", 0x300000, 0x80000, CRC(4e02adf4) SHA1(63d2e40577171be0f8c2591d7cd3500c83f3ab1f) )
3275   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(9613a21c) SHA1(d514cd8e6d7695dc8be52bc5acb04991ebaf3499) )
3276   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(2a4364c6) SHA1(f2760d7416585123a46ffb47ab9da008532f64bb) )
3277   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(a34d91d0) SHA1(9616952b1e8b6c06c8bca3c776bdfa3526ef60cf) )
3278   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(a0be7be4) SHA1(d6f4a1ba22be638fa801923960da8f5f72fc16c0) )
3279ROM_END
3280
3281ROM_START( resdnt_2c ) // 040513 custom alteras, modified graphics, changed version text to "VIDEO GAME-1 SE01"
3282   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3283   ROM_LOAD( "bootleg_rs040513b.rom", 0x00000, 0x40000, CRC(2f8b2249) SHA1(4fb34888a99946937791fdba4659d256e862598b) ) /* Not officially listed on Igrosoft's web site hash page */
3284
3285   ROM_REGION( 0x400000, "gfx", 0 )
3286   ROM_LOAD( "bootleg_1c", 0x000000, 0x80000, CRC(31bdf1c6) SHA1(b4c1555cd1cd1eaec5e39ed5879a99633fca5c46) )
3287   ROM_LOAD( "bootleg_2c", 0x100000, 0x80000, CRC(861fbf05) SHA1(6348236124792719afbd0117dea35a6af059355c) )
3288   ROM_LOAD( "bootleg_3c", 0x200000, 0x80000, CRC(7de96e4a) SHA1(1641655b95b35825de237b07142f4097a757cf6c) )
3289   ROM_LOAD( "bootleg_4c", 0x300000, 0x80000, CRC(179cf46c) SHA1(1585a6e54b393154c1e7aa6e5e116d45f34da07b) )
3290   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(9613a21c) SHA1(d514cd8e6d7695dc8be52bc5acb04991ebaf3499) )
3291   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(2a4364c6) SHA1(f2760d7416585123a46ffb47ab9da008532f64bb) )
3292   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(a34d91d0) SHA1(9616952b1e8b6c06c8bca3c776bdfa3526ef60cf) )
3293   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(a0be7be4) SHA1(d6f4a1ba22be638fa801923960da8f5f72fc16c0) )
3294ROM_END
3295
3296ROM_START( resdnt_2d ) // 040513 custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 SE01"
3297   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3298   ROM_LOAD( "bootleg_rs040513d.rom", 0x00000, 0x40000, CRC(3481a7b0) SHA1(fb9fa5aea082c80a232d09a938c8b0007e582cc7) ) /* Not officially listed on Igrosoft's web site hash page */
3299
3300   ROM_REGION( 0x400000, "gfx", 0 )
3301   ROM_LOAD( "bootleg_1d", 0x000000, 0x80000, CRC(e13336d0) SHA1(a427a3eeecf29d7760ffb0955719f282b6688f79) )
3302   ROM_LOAD( "bootleg_2d", 0x100000, 0x80000, CRC(16ed4ed0) SHA1(a9d012fcd53aa912594ba42e677c0061a5daeb89) )
3303   ROM_LOAD( "bootleg_3d", 0x200000, 0x80000, CRC(bddd68bd) SHA1(97a7899ba0386249a1b40eee32db7ef96734bea6) )
3304   ROM_LOAD( "bootleg_4d", 0x300000, 0x80000, CRC(78c509f9) SHA1(171ed587d124b90fd68bd747e02322d16f7d08be) )
3305   ROM_LOAD( "bootleg_5d", 0x080000, 0x80000, CRC(8d4205df) SHA1(669b95bb06d235a9cc977a2e714c2e722ca385f1) )
3306   ROM_LOAD( "bootleg_6d", 0x180000, 0x80000, CRC(1e06508e) SHA1(df64f3849945f0303e55de7061d3fc3370a27299) )
3307   ROM_LOAD( "bootleg_7d", 0x280000, 0x80000, CRC(e896b62f) SHA1(fb97ff11b49345fda04d5b1f03ec96fdf4a71419) )
3308   ROM_LOAD( "bootleg_8d", 0x380000, 0x80000, CRC(a8de4e0a) SHA1(92264e99a7c90967bf71ca440b5cd4df4baeb553) )
3309ROM_END
3310
3311ROM_START( resdnt_2e ) // 040513 modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3312   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3313   ROM_LOAD( "bootleg_rs040513e.rom", 0x00000, 0x40000, CRC(83fb15e2) SHA1(59b2fbc218802787bc4c7a6324248d1c4bea459b) ) /* Not officially listed on Igrosoft's web site hash page */
3314
3315   ROM_REGION( 0x400000, "gfx", 0 )
3316   ROM_LOAD( "bootleg_1e", 0x000000, 0x80000, CRC(7e9cb8a1) SHA1(5d089b41897dbb90b8209e60c0746196033b8945) )
3317   ROM_LOAD( "bootleg_2e", 0x100000, 0x80000, CRC(474c2a5d) SHA1(54e317706d1b4328ff006dcace11a112b9533b8f) )
3318   ROM_LOAD( "bootleg_3e", 0x200000, 0x80000, CRC(8407a51d) SHA1(d790efa0cd4c38c26e95bf10c63a751694840c52) )
3319   ROM_LOAD( "bootleg_4e", 0x300000, 0x80000, CRC(65f51297) SHA1(799762a7833510a4c513bd3ffb5bd4e541608cca) )
3320   ROM_LOAD( "5_040415", 0x080000, 0x80000, CRC(0cfe7d44) SHA1(9f0e4925e815ff9f79188f18e78c0a7b377daa3f) )
3321   ROM_LOAD( "6_040415", 0x180000, 0x80000, CRC(7437904f) SHA1(630c79cd6a990ce7658a1ffabba5a27efba985a1) )
3322   ROM_LOAD( "7_040415", 0x280000, 0x80000, CRC(6e94728a) SHA1(ab414879cb957d9bc8d653b5e3bb2bbf91139ec0) )
3323   ROM_LOAD( "8_040415", 0x380000, 0x80000, CRC(a9f55043) SHA1(4771df3d45bdc0a21b1c479f45e09ac5bab6c94f) )
3324ROM_END
3325
3326ROM_START( resdnt_2f ) // 040513 modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-RS2"
3327   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3328   ROM_LOAD( "bootleg_rs040513f.rom", 0x00000, 0x40000, CRC(2f711769) SHA1(07333d5837484107681561a2434c8668ec77a7f4) ) /* Not officially listed on Igrosoft's web site hash page */
3329
3330   ROM_REGION( 0x400000, "gfx", 0 )
3331   ROM_LOAD( "bootleg_1f", 0x000000, 0x80000, CRC(8cefec30) SHA1(3bf400bdff230e2af83c377617e162818a8c70a4) )
3332   ROM_LOAD( "bootleg_2f", 0x100000, 0x80000, CRC(5318fc74) SHA1(8c6f6f0de426228ca24d552b246f5d0f5feb8611) )
3333   ROM_LOAD( "bootleg_3f", 0x200000, 0x80000, CRC(5ff2bf17) SHA1(c0e23e02cd4e39fb2a99af64a002474f1bc48131) )
3334   ROM_LOAD( "bootleg_4f", 0x300000, 0x80000, CRC(9e9a90fa) SHA1(dadacfded904401a1f1f0e31c8218763fd01cff8) )
3335   ROM_LOAD( "5_040415", 0x080000, 0x80000, CRC(0cfe7d44) SHA1(9f0e4925e815ff9f79188f18e78c0a7b377daa3f) )
3336   ROM_LOAD( "6_040415", 0x180000, 0x80000, CRC(7437904f) SHA1(630c79cd6a990ce7658a1ffabba5a27efba985a1) )
3337   ROM_LOAD( "7_040415", 0x280000, 0x80000, CRC(6e94728a) SHA1(ab414879cb957d9bc8d653b5e3bb2bbf91139ec0) )
3338   ROM_LOAD( "8_040415", 0x380000, 0x80000, CRC(a9f55043) SHA1(4771df3d45bdc0a21b1c479f45e09ac5bab6c94f) )
3339ROM_END
3340
3341ROM_START( resdnt_2g ) // 040513 custom alteras, modified graphics, many texts changed, changed version text to "LOTOS SE01"
3342   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3343   ROM_LOAD( "bootleg_rs040513g.rom", 0x00000, 0x40000, CRC(3c061c32) SHA1(c71376da261f1f69cfa78a243444ea9963f9000e) ) /* Not officially listed on Igrosoft's web site hash page */
3344
3345   ROM_REGION( 0x400000, "gfx", 0 )
3346   ROM_LOAD( "bootleg_1g", 0x000000, 0x80000, CRC(f98cda01) SHA1(c8bb11230d4659ae57429ed3ec56dd26af2a6332) )
3347   ROM_LOAD( "bootleg_2g", 0x100000, 0x80000, CRC(c3ccf6d0) SHA1(adbe8772c731c000309e7e56acdb92823cae7971) )
3348   ROM_LOAD( "bootleg_3g", 0x200000, 0x80000, CRC(564d2255) SHA1(d589e6c12d62c9c5a316e4cd0512576f5b8ec916) )
3349   ROM_LOAD( "bootleg_4g", 0x300000, 0x80000, CRC(66b98fc5) SHA1(6010053fd0f4b5b062bbfceb3ce417d6cc618ad1) )
3350   ROM_LOAD( "bootleg_5d", 0x080000, 0x80000, CRC(8d4205df) SHA1(669b95bb06d235a9cc977a2e714c2e722ca385f1) )
3351   ROM_LOAD( "bootleg_6d", 0x180000, 0x80000, CRC(1e06508e) SHA1(df64f3849945f0303e55de7061d3fc3370a27299) )
3352   ROM_LOAD( "bootleg_7d", 0x280000, 0x80000, CRC(e896b62f) SHA1(fb97ff11b49345fda04d5b1f03ec96fdf4a71419) )
3353   ROM_LOAD( "bootleg_8d", 0x380000, 0x80000, CRC(a8de4e0a) SHA1(92264e99a7c90967bf71ca440b5cd4df4baeb553) )
3354ROM_END
3355
3356
3357
3358ROM_START( islanda ) // 050713 backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3359   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3360   ROM_LOAD( "bootleg_is050713a.rom", 0x00000, 0x40000, CRC(d3d62cb3) SHA1(2ceb83ac9d59a570435220f06e8317057bb46608) ) /* Not officially listed on Igrosoft's web site hash page */
3361
3362   ROM_REGION( 0x400000, "gfx", 0 )
3363   ROM_LOAD( "1_050713", 0x000000, 0x80000, CRC(dbe8cdda) SHA1(4747cf0d85afdef22d3ba9fa5e75b39548725745) )
3364   ROM_LOAD( "2_050713", 0x100000, 0x80000, CRC(64064745) SHA1(91a7bc7204a8f7a7512eeaf4906da20a9f587565) )
3365   ROM_LOAD( "3_050713", 0x200000, 0x80000, CRC(1d993f68) SHA1(b0459d3941d50668f7533909e3f3da91453d3efd) )
3366   ROM_LOAD( "4_050713", 0x300000, 0x80000, CRC(a4739404) SHA1(8f7ffcc13dcb35adfa8060ab1930d07195b6110c) )
3367   ROM_LOAD( "5_050713", 0x080000, 0x80000, CRC(d016eb31) SHA1(a84f18af470f72730b241b9031cd6131c8a03db2) )
3368   ROM_LOAD( "6_050713", 0x180000, 0x80000, CRC(0faaa968) SHA1(0f05546e6e0559e24c6afdde65b3feeb66b6adff) )
3369   ROM_LOAD( "7_050713", 0x280000, 0x80000, CRC(d7277a6c) SHA1(d96a0befc965ad22087381982305d68208978a7e) )
3370   ROM_LOAD( "8_050713", 0x380000, 0x80000, CRC(ac6fba48) SHA1(64dd03d624f16da52bc7fa0702246e91ae39a806) )
3371ROM_END
3372
3373ROM_START( islandb ) // 050713 custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 OS01"
3374   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3375   ROM_LOAD( "bootleg_is050713b.rom", 0x00000, 0x40000, CRC(535d4283) SHA1(d4823b1487aa9c7f07e84968de563a8c18f3e770) ) /* Not officially listed on Igrosoft's web site hash page */
3376
3377   ROM_REGION( 0x400000, "gfx", 0 )
3378   ROM_LOAD( "bootleg_1a", 0x000000, 0x80000, CRC(95195fdc) SHA1(4ef22f9d6e539555303f042e53c42acf658a6027) )
3379   ROM_LOAD( "bootleg_2a", 0x100000, 0x80000, CRC(0d6d3104) SHA1(2b9f1ee3854a6e0645d698757e89aebd4831e31e) )
3380   ROM_LOAD( "bootleg_3a", 0x200000, 0x80000, CRC(981a067b) SHA1(3a75caa39c13b7fdb4ce56a6144c7d715d455a3b) )
3381   ROM_LOAD( "bootleg_4a", 0x300000, 0x80000, CRC(2e235348) SHA1(148d898271feb03dbef5b1efb65571f813c58be7) )
3382   ROM_LOAD( "bootleg_5a", 0x080000, 0x80000, CRC(feba83ab) SHA1(0609f2d4b98fb5dcdf80102c32a26f29fd30f50d) )
3383   ROM_LOAD( "bootleg_6a", 0x180000, 0x80000, CRC(f59eaafa) SHA1(c324ff461b997c79572644b2974db33a156a00e8) )
3384   ROM_LOAD( "bootleg_7a", 0x280000, 0x80000, CRC(5248d6b8) SHA1(1ef6fbc56c81b641003b16eceffb8d0b3d385546) )
3385   ROM_LOAD( "bootleg_8a", 0x380000, 0x80000, CRC(47d37fe9) SHA1(1c12cadfe265bd18539af8c94deef674e179eea4) )
3386ROM_END
3387
3388ROM_START( islandc ) // 050713 custom alteras, modified graphics, many texts changed, changed version text to "LOTOS OS01"
3389   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3390   ROM_LOAD( "bootleg_is050713c.rom", 0x00000, 0x40000, CRC(c879a78e) SHA1(61bf87f50cbf4105330e57e1af7802100286d888) ) /* Not officially listed on Igrosoft's web site hash page */
3391
3392   ROM_REGION( 0x400000, "gfx", 0 )
3393   ROM_LOAD( "bootleg_1b", 0x000000, 0x80000, CRC(eccf5648) SHA1(7b9dc15e8fac9dcc8a14bda52df4d03462a242d0) )
3394   ROM_LOAD( "bootleg_2b", 0x100000, 0x80000, CRC(9d85dcfb) SHA1(3752e9e4c1b8485a37e7c68175dc42aa7927c485) )
3395   ROM_LOAD( "bootleg_3b", 0x200000, 0x80000, CRC(dd208792) SHA1(ee7cf68b40719e783c70584d7da87875280283dd) )
3396   ROM_LOAD( "bootleg_4b", 0x300000, 0x80000, CRC(9d8de4db) SHA1(9935569285f456decc2b851bef07d60a4e440229) )
3397   ROM_LOAD( "bootleg_5a", 0x080000, 0x80000, CRC(feba83ab) SHA1(0609f2d4b98fb5dcdf80102c32a26f29fd30f50d) )
3398   ROM_LOAD( "bootleg_6a", 0x180000, 0x80000, CRC(f59eaafa) SHA1(c324ff461b997c79572644b2974db33a156a00e8) )
3399   ROM_LOAD( "bootleg_7a", 0x280000, 0x80000, CRC(5248d6b8) SHA1(1ef6fbc56c81b641003b16eceffb8d0b3d385546) )
3400   ROM_LOAD( "bootleg_8a", 0x380000, 0x80000, CRC(47d37fe9) SHA1(1c12cadfe265bd18539af8c94deef674e179eea4) )
3401ROM_END
3402
3403
3404ROM_START( island2a ) // 060529 bank F9
3405   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3406   ROM_LOAD( "bootleg_is2_060529a.rom", 0x00000, 0x40000, CRC(4341d65c) SHA1(e7120c805d7dbf0fee5d18243ddf2cfa19a0d88c) ) /* Not officially listed on Igrosoft's web site hash page */
3407
3408   ROM_REGION( 0x400000, "gfx", 0 )
3409   ROM_LOAD( "1_060529", 0x000000, 0x80000, CRC(f8dd9fe9) SHA1(0cf67fbca107b255011fded6390507d12cbac514) )
3410   ROM_LOAD( "2_060529", 0x100000, 0x80000, CRC(4f9607c0) SHA1(cd3e7b4a88f46231a115c9d18a26b5e30fea74e4) )
3411   ROM_LOAD( "3_060529", 0x200000, 0x80000, CRC(bceccdba) SHA1(5cf3b51ccfe317ca57d770bff0204b0ee83d1173) )
3412   ROM_LOAD( "4_060529", 0x300000, 0x80000, CRC(15fdecc7) SHA1(6882ea10f117c85544df51d9abd67ef52db91d95) )
3413   ROM_LOAD( "5_060529", 0x080000, 0x80000, CRC(2d4905aa) SHA1(c4a1e4db61e8af6cf0fb70aabe5e3896ab5227ca) )
3414   ROM_LOAD( "6_060529", 0x180000, 0x80000, CRC(55e285d9) SHA1(ba58963441c65220700cd8057e6afe3f5f8faa4f) )
3415   ROM_LOAD( "7_060529", 0x280000, 0x80000, CRC(edd72be6) SHA1(fb1e63f59e8565c23ae43630fa572fbc022c878f) )
3416   ROM_LOAD( "8_060529", 0x380000, 0x80000, CRC(c336d608) SHA1(55391183c6d95ecea81354efa70641350860d1f5) )
3417ROM_END
3418
3419ROM_START( island2b ) // 060529 bank F9, changed version text to 070205, skip some start tests
3420   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3421   ROM_LOAD( "bootleg_is2_060529b.rom", 0x00000, 0x40000, CRC(617d9a35) SHA1(96947342216872984e13e9997552f8411b268467) ) /* Not officially listed on Igrosoft's web site hash page */
3422
3423   ROM_REGION( 0x400000, "gfx", 0 )
3424   ROM_LOAD( "1_060529", 0x000000, 0x80000, CRC(f8dd9fe9) SHA1(0cf67fbca107b255011fded6390507d12cbac514) )
3425   ROM_LOAD( "2_060529", 0x100000, 0x80000, CRC(4f9607c0) SHA1(cd3e7b4a88f46231a115c9d18a26b5e30fea74e4) )
3426   ROM_LOAD( "3_060529", 0x200000, 0x80000, CRC(bceccdba) SHA1(5cf3b51ccfe317ca57d770bff0204b0ee83d1173) )
3427   ROM_LOAD( "4_060529", 0x300000, 0x80000, CRC(15fdecc7) SHA1(6882ea10f117c85544df51d9abd67ef52db91d95) )
3428   ROM_LOAD( "5_060529", 0x080000, 0x80000, CRC(2d4905aa) SHA1(c4a1e4db61e8af6cf0fb70aabe5e3896ab5227ca) )
3429   ROM_LOAD( "6_060529", 0x180000, 0x80000, CRC(55e285d9) SHA1(ba58963441c65220700cd8057e6afe3f5f8faa4f) )
3430   ROM_LOAD( "7_060529", 0x280000, 0x80000, CRC(edd72be6) SHA1(fb1e63f59e8565c23ae43630fa572fbc022c878f) )
3431   ROM_LOAD( "8_060529", 0x380000, 0x80000, CRC(c336d608) SHA1(55391183c6d95ecea81354efa70641350860d1f5) )
3432ROM_END
3433
3434ROM_START( island2c ) // 060529 bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3435   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3436   ROM_LOAD( "bootleg_is2_060529c.rom", 0x00000, 0x40000, CRC(cbf1ec14) SHA1(ec6dc40deacc1a1e0bbe2778d834fb5eb392ca04) ) /* Not officially listed on Igrosoft's web site hash page */
3437
3438   ROM_REGION( 0x400000, "gfx", 0 )
3439   ROM_LOAD( "bootleg_1b", 0x000000, 0x80000, CRC(4ee179af) SHA1(77e48ff2a45bb4eb8f68b92044791f6f4fad09f5) )
3440   ROM_LOAD( "bootleg_2b", 0x100000, 0x80000, CRC(764a7e33) SHA1(7a0e32c2fb86296cd316e23311f95cc3d183c3b8) )
3441   ROM_LOAD( "bootleg_3b", 0x200000, 0x80000, CRC(9680c9cb) SHA1(2ca8d02ce8aa168e3561c47ca140397857096811) )
3442   ROM_LOAD( "bootleg_4b", 0x300000, 0x80000, CRC(8443f48d) SHA1(568fe79ecef3a120cde4d807a2e63d8e8125e859) )
3443   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(8aa21c72) SHA1(5f1b95af245c81df699ef346ab790b971ec5b8ab) )
3444   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(b4b7dc6e) SHA1(8b1b195e55d402e298a45b9b5d1b8bff39f6aecd) )
3445   ROM_LOAD( "bootleg_7",  0x280000, 0x80000, CRC(edd72be6) SHA1(fb1e63f59e8565c23ae43630fa572fbc022c878f) )
3446   ROM_LOAD( "bootleg_8",  0x380000, 0x80000, CRC(c336d608) SHA1(55391183c6d95ecea81354efa70641350860d1f5) )
3447ROM_END
3448
3449
3450
3451ROM_START( island2_3a ) // 061218 bank F9, modified graphics, changed version text to "VIDEO GAME-1 OS2-01"
3452   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3453   ROM_LOAD( "bootleg_is2_061218a.rom", 0x00000, 0x40000, CRC(f190c856) SHA1(c3b762c8b2e24a75b91e93a6c058d8a4a86de60e) ) /* Not officially listed on Igrosoft's web site hash page */
3454
3455   ROM_REGION( 0x400000, "gfx", 0 )
3456   ROM_LOAD( "bootleg_1a", 0x000000, 0x80000, CRC(ea6c4724) SHA1(f0054dc2e0d7c49e5ca96ce5aaf4c08ddb9d56d9) )
3457   ROM_LOAD( "bootleg_2a", 0x100000, 0x80000, CRC(f005e13b) SHA1(f16e3af752c35bac6aafa6bc14abbdb80ddb85d3) )
3458   ROM_LOAD( "bootleg_3a", 0x200000, 0x80000, CRC(df3a9181) SHA1(253a0dc28d027bb7573ae62a0631d7cedb29f344) )
3459   ROM_LOAD( "bootleg_4a", 0x300000, 0x80000, CRC(5d86af03) SHA1(d79053aa5468e70d102bfedaed3b030c75f32a0d) )
3460   ROM_LOAD( "bootleg_5a", 0x080000, 0x80000, CRC(8f2a5fa5) SHA1(5c84cf84e6e7141bd315763edc1d7904fb9b1776) )
3461   ROM_LOAD( "bootleg_6a", 0x180000, 0x80000, CRC(0072562b) SHA1(df6f24149a194d8654fd10bce4969bd9fc9d2165) )
3462   ROM_LOAD( "bootleg_7a", 0x280000, 0x80000, CRC(a325a291) SHA1(de3d4f1ab803faa08a50e4f5dc5a78cd67f5ec1f) )
3463   ROM_LOAD( "bootleg_8a", 0x380000, 0x80000, CRC(d6b228ca) SHA1(70c62c38291e7b2bae8f30e1b1488b1d8bc1435c) )
3464ROM_END
3465
3466ROM_START( island2_4a ) // 070205 bank F9
3467   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3468   ROM_LOAD( "bootleg_is2_070205a.rom", 0x00000, 0x40000, CRC(9bafe560) SHA1(c7238f822d26645207953798c87e67127de1b443) ) /* Not officially listed on Igrosoft's web site hash page */
3469
3470   ROM_REGION( 0x400000, "gfx", 0 )
3471   ROM_LOAD( "1_060529", 0x000000, 0x80000, CRC(f8dd9fe9) SHA1(0cf67fbca107b255011fded6390507d12cbac514) )
3472   ROM_LOAD( "2_060529", 0x100000, 0x80000, CRC(4f9607c0) SHA1(cd3e7b4a88f46231a115c9d18a26b5e30fea74e4) )
3473   ROM_LOAD( "3_060529", 0x200000, 0x80000, CRC(bceccdba) SHA1(5cf3b51ccfe317ca57d770bff0204b0ee83d1173) )
3474   ROM_LOAD( "4_060529", 0x300000, 0x80000, CRC(15fdecc7) SHA1(6882ea10f117c85544df51d9abd67ef52db91d95) )
3475   ROM_LOAD( "5_060529", 0x080000, 0x80000, CRC(2d4905aa) SHA1(c4a1e4db61e8af6cf0fb70aabe5e3896ab5227ca) )
3476   ROM_LOAD( "6_060529", 0x180000, 0x80000, CRC(55e285d9) SHA1(ba58963441c65220700cd8057e6afe3f5f8faa4f) )
3477   ROM_LOAD( "7_060529", 0x280000, 0x80000, CRC(edd72be6) SHA1(fb1e63f59e8565c23ae43630fa572fbc022c878f) )
3478   ROM_LOAD( "8_060529", 0x380000, 0x80000, CRC(c336d608) SHA1(55391183c6d95ecea81354efa70641350860d1f5) )
3479ROM_END
3480
3481
3482
19013483ROM_START( pirate2a ) // 061005 bank F9
19023484   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1903   ROM_LOAD( "pr2_061005a.rom", 0x00000, 0x40000, CRC(2271eb23) SHA1(6a3e01b59df08a23e5f53ee9b9e473b9f5f5e3b6) ) /* Not officially listed on Igrosoft's web site hash page */
3485   ROM_LOAD( "bootleg_pr2_061005a.rom", 0x00000, 0x40000, CRC(2271eb23) SHA1(6a3e01b59df08a23e5f53ee9b9e473b9f5f5e3b6) ) /* Not officially listed on Igrosoft's web site hash page */
19043486
19053487   ROM_REGION( 0x400000, "gfx", 0 )
1906   ROM_LOAD( "1", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
1907   ROM_LOAD( "2", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
1908   ROM_LOAD( "3", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
1909   ROM_LOAD( "4", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
1910   ROM_LOAD( "5", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
1911   ROM_LOAD( "6", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
1912   ROM_LOAD( "7", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
1913   ROM_LOAD( "8", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
3488   ROM_LOAD( "1_061005", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
3489   ROM_LOAD( "2_061005", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
3490   ROM_LOAD( "3_061005", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
3491   ROM_LOAD( "4_061005", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
3492   ROM_LOAD( "5_061005", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
3493   ROM_LOAD( "6_061005", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
3494   ROM_LOAD( "7_061005", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
3495   ROM_LOAD( "8_061005", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
19143496ROM_END
19153497
19163498ROM_START( pirate2b ) // 061005 bank F9, skip raster beam position check
19173499   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1918   ROM_LOAD( "pr2_061005b.rom", 0x00000, 0x40000, CRC(379f890e) SHA1(0fd05c1bf08fd3e6694f18ffe2ea9741cf465617) ) /* Not officially listed on Igrosoft's web site hash page */
3500   ROM_LOAD( "bootleg_pr2_061005b.rom", 0x00000, 0x40000, CRC(379f890e) SHA1(0fd05c1bf08fd3e6694f18ffe2ea9741cf465617) ) /* Not officially listed on Igrosoft's web site hash page */
19193501
19203502   ROM_REGION( 0x400000, "gfx", 0 )
1921   ROM_LOAD( "1", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
1922   ROM_LOAD( "2", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
1923   ROM_LOAD( "3", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
1924   ROM_LOAD( "4", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
1925   ROM_LOAD( "5", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
1926   ROM_LOAD( "6", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
1927   ROM_LOAD( "7", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
1928   ROM_LOAD( "8", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
3503   ROM_LOAD( "1_061005", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
3504   ROM_LOAD( "2_061005", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
3505   ROM_LOAD( "3_061005", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
3506   ROM_LOAD( "4_061005", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
3507   ROM_LOAD( "5_061005", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
3508   ROM_LOAD( "6_061005", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
3509   ROM_LOAD( "7_061005", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
3510   ROM_LOAD( "8_061005", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
19293511ROM_END
19303512
19313513ROM_START( pirate2c ) // 061005 bank F9, changed version text to 070126
19323514   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1933   ROM_LOAD( "pr2_061005c.rom", 0x00000, 0x40000, CRC(7c4339df) SHA1(80e2f97629bc963f044c1697c65777a3fd038edc) ) /* Not officially listed on Igrosoft's web site hash page */
3515   ROM_LOAD( "bootleg_pr2_061005c.rom", 0x00000, 0x40000, CRC(7c4339df) SHA1(80e2f97629bc963f044c1697c65777a3fd038edc) ) /* Not officially listed on Igrosoft's web site hash page */
19343516
19353517   ROM_REGION( 0x400000, "gfx", 0 )
1936   ROM_LOAD( "1", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
1937   ROM_LOAD( "2", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
1938   ROM_LOAD( "3", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
1939   ROM_LOAD( "4", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
1940   ROM_LOAD( "5", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
1941   ROM_LOAD( "6", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
1942   ROM_LOAD( "7", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
1943   ROM_LOAD( "8", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
3518   ROM_LOAD( "1_061005", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
3519   ROM_LOAD( "2_061005", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
3520   ROM_LOAD( "3_061005", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
3521   ROM_LOAD( "4_061005", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
3522   ROM_LOAD( "5_061005", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
3523   ROM_LOAD( "6_061005", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
3524   ROM_LOAD( "7_061005", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
3525   ROM_LOAD( "8_061005", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
19443526ROM_END
19453527
19463528ROM_START( pirate2d ) // 061005 bank F9, changed version text to 070126
19473529   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1948   ROM_LOAD( "pr2_061005d.rom", 0x00000, 0x40000, CRC(16620bb2) SHA1(bf3a26b06595e51fa37f2f8099a12e906a6ca439) ) /* Not officially listed on Igrosoft's web site hash page */
3530   ROM_LOAD( "bootleg_pr2_061005d.rom", 0x00000, 0x40000, CRC(16620bb2) SHA1(bf3a26b06595e51fa37f2f8099a12e906a6ca439) ) /* Not officially listed on Igrosoft's web site hash page */
19493531
19503532   ROM_REGION( 0x400000, "gfx", 0 )
1951   ROM_LOAD( "1", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
1952   ROM_LOAD( "2", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
1953   ROM_LOAD( "3", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
1954   ROM_LOAD( "4", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
1955   ROM_LOAD( "5", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
1956   ROM_LOAD( "6", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
1957   ROM_LOAD( "7", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
1958   ROM_LOAD( "8", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
3533   ROM_LOAD( "1_061005", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
3534   ROM_LOAD( "2_061005", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
3535   ROM_LOAD( "3_061005", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
3536   ROM_LOAD( "4_061005", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
3537   ROM_LOAD( "5_061005", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
3538   ROM_LOAD( "6_061005", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
3539   ROM_LOAD( "7_061005", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
3540   ROM_LOAD( "8_061005", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
19593541ROM_END
19603542
19613543ROM_START( pirate2e ) // 061005 bank F9, changed version text to 070126, skip some start tests
19623544   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1963   ROM_LOAD( "pr2_061005e.rom", 0x00000, 0x40000, CRC(f36edf02) SHA1(25ff61eb80b54298037b4a90d7fc93e8530e0815) ) /* Not officially listed on Igrosoft's web site hash page */
3545   ROM_LOAD( "bootleg_pr2_061005e.rom", 0x00000, 0x40000, CRC(f36edf02) SHA1(25ff61eb80b54298037b4a90d7fc93e8530e0815) ) /* Not officially listed on Igrosoft's web site hash page */
19643546
19653547   ROM_REGION( 0x400000, "gfx", 0 )
1966   ROM_LOAD( "1", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
1967   ROM_LOAD( "2", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
1968   ROM_LOAD( "3", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
1969   ROM_LOAD( "4", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
1970   ROM_LOAD( "5", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
1971   ROM_LOAD( "6", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
1972   ROM_LOAD( "7", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
1973   ROM_LOAD( "8", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
3548   ROM_LOAD( "1_061005", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
3549   ROM_LOAD( "2_061005", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
3550   ROM_LOAD( "3_061005", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
3551   ROM_LOAD( "4_061005", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
3552   ROM_LOAD( "5_061005", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
3553   ROM_LOAD( "6_061005", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
3554   ROM_LOAD( "7_061005", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
3555   ROM_LOAD( "8_061005", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
19743556ROM_END
19753557
1976/*********************************************************
1977   Keks
3558ROM_START( pirate2f ) // 061005 custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 PR01"
3559   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3560   ROM_LOAD( "bootleg_pr2_061005f.rom", 0x00000, 0x40000, CRC(99960a9f) SHA1(0facd5d1f297d4433d6abefc61cfa2867826e90c) ) /* Not officially listed on Igrosoft's web site hash page */
19783561
1979    Roms 1-4 were changed after the 070119 update.
1980        The official list of hashes shows the 070119 updated roms.
3562   ROM_REGION( 0x400000, "gfx", 0 )
3563   ROM_LOAD( "bootleg_1a", 0x000000, 0x80000, CRC(011522da) SHA1(c1ce09208b3144cbc38d4afa922a049043a93df6) )
3564   ROM_LOAD( "bootleg_2a", 0x100000, 0x80000, CRC(8f8a0ea3) SHA1(5b34b43d6aa843550a7aaff3306a4b68722e9966) )
3565   ROM_LOAD( "bootleg_3a", 0x200000, 0x80000, CRC(7bbfcda9) SHA1(7ebb1ac0b42f4aabcc4be65c44d01b51fd070ab4) )
3566   ROM_LOAD( "bootleg_4a", 0x300000, 0x80000, CRC(88b8b15d) SHA1(0f0f1c769eb1475e1f74f56a587efce13c910a4c) )
3567   ROM_LOAD( "bootleg_5a", 0x080000, 0x80000, CRC(85441649) SHA1(171e58eac7fdd5f8f9d0eb31535a824b19ea7342) )
3568   ROM_LOAD( "bootleg_6a", 0x180000, 0x80000, CRC(913d55e1) SHA1(030eb39a4e34e7c5791059ac2affcded914096ae) )
3569   ROM_LOAD( "bootleg_7a", 0x280000, 0x80000, CRC(02fb1604) SHA1(7fd9c6f256f22e437cdd7938b353a4ba9ceb006a) )
3570   ROM_LOAD( "bootleg_8a", 0x380000, 0x80000, CRC(48643b99) SHA1(1b0399df326835a6b442137d233cc741cf7863de) )
3571ROM_END
19813572
1982**********************************************************/
3573ROM_START( pirate2g ) // 061005 bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3574   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3575   ROM_LOAD( "bootleg_pr2_061005g.rom", 0x00000, 0x40000, CRC(60170053) SHA1(4aca8fd8466199467a5c0020cdbb4379ae38cee4) ) /* Not officially listed on Igrosoft's web site hash page */
19833576
1984ROM_START( keks ) // 060328
3577   ROM_REGION( 0x400000, "gfx", 0 )
3578   ROM_LOAD( "bootleg_1b", 0x000000, 0x80000, CRC(76d3bc6f) SHA1(a748f5d1219fe3f332cebbf1dfb8014a15800135) )
3579   ROM_LOAD( "bootleg_2b", 0x100000, 0x80000, CRC(e65b7e0a) SHA1(0ce76961b92f7153f3886965d909c522d32313dd) )
3580   ROM_LOAD( "bootleg_3b", 0x200000, 0x80000, CRC(5d8270ac) SHA1(883435b08cea05dc1531e7871a6b3046e8365b55) )
3581   ROM_LOAD( "bootleg_4b", 0x300000, 0x80000, CRC(ac0f1bb5) SHA1(d391b5be974a94aecba7fd55a4e2017b5b60ad06) )
3582   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(48019c90) SHA1(f00effeb84d2c0f46faa40ea519b1d41efbc8e38) )
3583   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(19155fa8) SHA1(81458b32432caa3effba778971840e330be33585) )
3584   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(7fb69540) SHA1(595ede785962c8af84eee7ff47c4b3bc91c5537a) )
3585   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(f8a97474) SHA1(b8c5be0f7bc3f4a08823a1bf8e2026afe11d052c) )
3586ROM_END
3587
3588ROM_START( pirate2h ) // 061005 custom alteras, modified graphics, many texts changed, changed version text to "LOTOS PR01"
19853589   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
1986   ROM_LOAD( "ks060328.rom", 0x00000, 0x40000, CRC(bcf77f77) SHA1(26b09994907c41be957a0b7442cfb1807b27d7be) )
3590   ROM_LOAD( "bootleg_pr2_061005h.rom", 0x00000, 0x40000, CRC(6dadb485) SHA1(9b61ad0f117dc84af8b7b3523275e5cb48c521e5) ) /* Not officially listed on Igrosoft's web site hash page */
19873591
19883592   ROM_REGION( 0x400000, "gfx", 0 )
1989   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
1990   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
1991   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
1992   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
1993   ROM_LOAD( "5",  0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
1994   ROM_LOAD( "6",  0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
1995   ROM_LOAD( "7",  0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
1996   ROM_LOAD( "8",  0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3593   ROM_LOAD( "bootleg_1d", 0x000000, 0x80000, CRC(d830ed6d) SHA1(4cdde127912d250201665534e6371dcfc500dc10) )
3594   ROM_LOAD( "bootleg_2d", 0x100000, 0x80000, CRC(b54df2b2) SHA1(1a08c4b345423741067a095fb21a6a91abb87dbc) )
3595   ROM_LOAD( "bootleg_3d", 0x200000, 0x80000, CRC(b87811cf) SHA1(3e9d8d06d7ac5ae5404d1002e4a2123c4f2c0328) )
3596   ROM_LOAD( "bootleg_4d", 0x300000, 0x80000, CRC(5aa8e647) SHA1(fa5ae55e1fd81068369f2bf9fc711fc78fa3fa24) )
3597   ROM_LOAD( "bootleg_5a", 0x080000, 0x80000, CRC(85441649) SHA1(171e58eac7fdd5f8f9d0eb31535a824b19ea7342) )
3598   ROM_LOAD( "bootleg_6a", 0x180000, 0x80000, CRC(913d55e1) SHA1(030eb39a4e34e7c5791059ac2affcded914096ae) )
3599   ROM_LOAD( "bootleg_7a", 0x280000, 0x80000, CRC(02fb1604) SHA1(7fd9c6f256f22e437cdd7938b353a4ba9ceb006a) )
3600   ROM_LOAD( "bootleg_8a", 0x380000, 0x80000, CRC(48643b99) SHA1(1b0399df326835a6b442137d233cc741cf7863de) )
19973601ROM_END
19983602
1999ROM_START( keksa ) // 060328 bank F9
3603ROM_START( pirate2_2a ) // 070126 bank F9
20003604   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2001   ROM_LOAD( "ks060328a.rom", 0x00000, 0x40000, CRC(7b387386) SHA1(d6bfc3b0d1f74723902d96dbcb69865cb5274cd0) ) /* Not officially listed on Igrosoft's web site hash page */
3605   ROM_LOAD( "bootleg_pr2_070126a.rom", 0x00000, 0x40000, CRC(7131239b) SHA1(8210defd0987951a0dfe5b3ca6fcee580257475e) ) /* Not officially listed on Igrosoft's web site hash page */
20023606
20033607   ROM_REGION( 0x400000, "gfx", 0 )
2004   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
2005   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
2006   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
2007   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
2008   ROM_LOAD( "5",  0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
2009   ROM_LOAD( "6",  0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
2010   ROM_LOAD( "7",  0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
2011   ROM_LOAD( "8",  0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3608   ROM_LOAD( "1_061005", 0x000000, 0x80000, CRC(106e7cba) SHA1(289a3ae38b895c83600c920bee0c2dd46e941eac) )
3609   ROM_LOAD( "2_061005", 0x100000, 0x80000, CRC(076a290f) SHA1(2f9bb74e081262e535c8ed9a31589d6a919f5d15) )
3610   ROM_LOAD( "3_061005", 0x200000, 0x80000, CRC(13a91fe7) SHA1(6e127b3827a9271ad19986714747be9367125f62) )
3611   ROM_LOAD( "4_061005", 0x300000, 0x80000, CRC(5ac8c531) SHA1(1da91b9a71a9a8681577342660bfa85e5bbc99bc) )
3612   ROM_LOAD( "5_061005", 0x080000, 0x80000, CRC(98012c74) SHA1(2a5b466353eef3a5cfc9f98eceb7523b00d0204a) )
3613   ROM_LOAD( "6_061005", 0x180000, 0x80000, CRC(366e1465) SHA1(440230d5306c4b424f27839b7fb9c8a5bb922dcc) )
3614   ROM_LOAD( "7_061005", 0x280000, 0x80000, CRC(21fb963e) SHA1(e3f7fb13f326699e34aebcc3ee07016f7cfe6e46) )
3615   ROM_LOAD( "8_061005", 0x380000, 0x80000, CRC(40c59448) SHA1(774af0f376864ec5948904df338bc7493eaed392) )
20123616ROM_END
20133617
2014ROM_START( keksb ) // 060328 backdoor
3618
3619
3620ROM_START( keksa ) // 060328 bank F9
20153621   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2016   ROM_LOAD( "ks060328b.rom", 0x00000, 0x40000, CRC(661c7ee9) SHA1(f07902c4a3ba5fce5bc7fe666d90deb852e40b4c) ) /* Not officially listed on Igrosoft's web site hash page */
3622   ROM_LOAD( "bootleg_ks060328a.rom", 0x00000, 0x40000, CRC(7b387386) SHA1(d6bfc3b0d1f74723902d96dbcb69865cb5274cd0) ) /* Not officially listed on Igrosoft's web site hash page */
20173623
20183624   ROM_REGION( 0x400000, "gfx", 0 )
2019   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
2020   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
2021   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
2022   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
2023   ROM_LOAD( "5",  0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
2024   ROM_LOAD( "6",  0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
2025   ROM_LOAD( "7",  0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
2026   ROM_LOAD( "8",  0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3625   ROM_LOAD( "1_060328", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
3626   ROM_LOAD( "2_060328", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
3627   ROM_LOAD( "3_060328", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
3628   ROM_LOAD( "4_060328", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
3629   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
3630   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
3631   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
3632   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
20273633ROM_END
20283634
2029ROM_START( keksc ) // 060328 bank F9, changed version text to 070119
3635ROM_START( keksb ) // 060328 backdoor 1,1 1,3 1,5 1,7  3,3  3,4
20303636   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2031   ROM_LOAD( "ks060328c.rom", 0x00000, 0x40000, CRC(fc70d26e) SHA1(0430ad20b797412967c2e82779eb7f0e9170f77c) ) /* Not officially listed on Igrosoft's web site hash page */
3637   ROM_LOAD( "bootleg_ks060328b.rom", 0x00000, 0x40000, CRC(661c7ee9) SHA1(f07902c4a3ba5fce5bc7fe666d90deb852e40b4c) ) /* Not officially listed on Igrosoft's web site hash page */
20323638
20333639   ROM_REGION( 0x400000, "gfx", 0 )
2034   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
2035   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
2036   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
2037   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
2038   ROM_LOAD( "5",  0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
2039   ROM_LOAD( "6",  0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
2040   ROM_LOAD( "7",  0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
2041   ROM_LOAD( "8",  0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3640   ROM_LOAD( "1_060328", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
3641   ROM_LOAD( "2_060328", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
3642   ROM_LOAD( "3_060328", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
3643   ROM_LOAD( "4_060328", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
3644   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
3645   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
3646   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
3647   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
20423648ROM_END
20433649
2044ROM_START( keks_2 ) // 060403
3650ROM_START( keksc ) // 060328 bank F9, changed version text to 070119
20453651   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2046   ROM_LOAD( "ks060403.rom", 0x00000, 0x40000, CRC(7abb9392) SHA1(f7a0ba5bcc7566f706e911486fa9cf3e62b86b8b) )
3652   ROM_LOAD( "bootleg_ks060328c.rom", 0x00000, 0x40000, CRC(fc70d26e) SHA1(0430ad20b797412967c2e82779eb7f0e9170f77c) ) /* Not officially listed on Igrosoft's web site hash page */
20473653
20483654   ROM_REGION( 0x400000, "gfx", 0 )
2049   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
2050   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
2051   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
2052   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
2053   ROM_LOAD( "5",  0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
2054   ROM_LOAD( "6",  0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
2055   ROM_LOAD( "7",  0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
2056   ROM_LOAD( "8",  0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3655   ROM_LOAD( "1_060328", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
3656   ROM_LOAD( "2_060328", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
3657   ROM_LOAD( "3_060328", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
3658   ROM_LOAD( "4_060328", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
3659   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
3660   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
3661   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
3662   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
20573663ROM_END
20583664
3665
3666
20593667ROM_START( keks_2a ) // 060403 bank F9
20603668   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2061   ROM_LOAD( "ks060403a.rom", 0x00000, 0x40000, CRC(bd749f63) SHA1(dc3ba624b186370896d3ecf5968a82a17aa019d0) ) /* Not officially listed on Igrosoft's web site hash page */
3669   ROM_LOAD( "bootleg_ks060403a.rom", 0x00000, 0x40000, CRC(bd749f63) SHA1(dc3ba624b186370896d3ecf5968a82a17aa019d0) ) /* Not officially listed on Igrosoft's web site hash page */
20623670
20633671   ROM_REGION( 0x400000, "gfx", 0 )
2064   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
2065   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
2066   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
2067   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
2068   ROM_LOAD( "5",  0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
2069   ROM_LOAD( "6",  0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
2070   ROM_LOAD( "7",  0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
2071   ROM_LOAD( "8",  0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3672   ROM_LOAD( "1_060328", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
3673   ROM_LOAD( "2_060328", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
3674   ROM_LOAD( "3_060328", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
3675   ROM_LOAD( "4_060328", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
3676   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
3677   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
3678   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
3679   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
20723680ROM_END
20733681
20743682ROM_START( keks_2b ) // 060403 bank F9, changed version text to 070119
20753683   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
2076   ROM_LOAD( "ks060403b.rom", 0x00000, 0x40000, CRC(d089de90) SHA1(9208f411cd97fef89b52019f9655e7d006f91303) ) /* Not officially listed on Igrosoft's web site hash page */
3684   ROM_LOAD( "bootleg_ks060403b.rom", 0x00000, 0x40000, CRC(d089de90) SHA1(9208f411cd97fef89b52019f9655e7d006f91303) ) /* Not officially listed on Igrosoft's web site hash page */
20773685
20783686   ROM_REGION( 0x400000, "gfx", 0 )
2079   ROM_LOAD( "1a", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
2080   ROM_LOAD( "2a", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
2081   ROM_LOAD( "3a", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
2082   ROM_LOAD( "4a", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
2083   ROM_LOAD( "5",  0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
2084   ROM_LOAD( "6",  0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
2085   ROM_LOAD( "7",  0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
2086   ROM_LOAD( "8",  0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3687   ROM_LOAD( "1_060328", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
3688   ROM_LOAD( "2_060328", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
3689   ROM_LOAD( "3_060328", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
3690   ROM_LOAD( "4_060328", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
3691   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
3692   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
3693   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
3694   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
20873695ROM_END
20883696
2089/*
3697ROM_START( keks_2c ) // 060403 custom alteras, modified graphics, bank F9, changed version text to "VIDEO GAME-1 KS01"
3698   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3699   ROM_LOAD( "bootleg_ks060403c.rom", 0x00000, 0x40000, CRC(ba7f429a) SHA1(6ad7a345b292f2081e49081374c74afc7430bd14) ) /* Not officially listed on Igrosoft's web site hash page */
20903700
2091Note:
3701   ROM_REGION( 0x400000, "gfx", 0 )
3702   ROM_LOAD( "bootleg_1b", 0x000000, 0x80000, CRC(2844b89e) SHA1(75b59e6272ef42438a3734e45f131f449ed0aa46) )
3703   ROM_LOAD( "bootleg_2b", 0x100000, 0x80000, CRC(ae8f47ad) SHA1(16504436c9291ffea7915547e5ad9dfbd53ebd5d) )
3704   ROM_LOAD( "bootleg_3b", 0x200000, 0x80000, CRC(57ccb876) SHA1(e1f41cf09ac2a535b5dbc05364268b3bd913e8f5) )
3705   ROM_LOAD( "bootleg_4b", 0x300000, 0x80000, CRC(05344f35) SHA1(ffc60a7581db82878fe625d590c01c7afdf8260c) )
3706   ROM_LOAD( "bootleg_5b", 0x080000, 0x80000, CRC(45f9b0bd) SHA1(4b0f59461182753fd47f7fcc6a126faf53dd26b1) )
3707   ROM_LOAD( "bootleg_6b", 0x180000, 0x80000, CRC(5ffbfa73) SHA1(0036bdba0ed6f907b8925b55adc33e96913297a3) )
3708   ROM_LOAD( "bootleg_7b", 0x280000, 0x80000, CRC(ce3f6152) SHA1(6e142e0d448d7a2328b6f6bf014b8e6de6f18407) )
3709   ROM_LOAD( "bootleg_8b", 0x380000, 0x80000, CRC(6e2e6a3d) SHA1(d4efad82b580c7cd53fca705a24aef51edede8ed) )
3710ROM_END
20923711
2093   Only the first set of a given revision is listed in Igrosoft's official hashes list.
3712ROM_START( keks_2d ) // 060403 modified graphics, bank F9, changed version text to "VIDEO GAME-1 KS01" (keks_2c, decoded gfx)
3713   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3714   ROM_LOAD( "bootleg_ks060403c.rom", 0x00000, 0x40000, CRC(ba7f429a) SHA1(6ad7a345b292f2081e49081374c74afc7430bd14) ) /* Not officially listed on Igrosoft's web site hash page */
20943715
2095   The sets which differs from the originals by 5-6 bytes are bootlegs that simply change
2096     the banking address. Usually to convert a Crazy Monkey PCB which use the address "F9".
2097     Software exists to automatic modify any program rom's banking address for any PCB.
2098     This has resulted in dozens of different bootleg versions floating around the net.
3716   ROM_REGION( 0x400000, "gfx", 0 )
3717   ROM_LOAD( "bootleg_1c", 0x000000, 0x80000, CRC(04ad2c2f) SHA1(ea0819dad0971629056ba0e6cb599415f1d34ad6) )
3718   ROM_LOAD( "bootleg_2c", 0x100000, 0x80000, CRC(8d0b747d) SHA1(6c40f3abe8bd20d6405829879fbe4718d85d4ba0) )
3719   ROM_LOAD( "bootleg_3c", 0x200000, 0x80000, CRC(10a43238) SHA1(9404eefad2c62730a771b2521e893bbc78c4ca71) )
3720   ROM_LOAD( "bootleg_4c", 0x300000, 0x80000, CRC(878b2553) SHA1(1b31c1b67496099c0b955865b63881e4a558c320) )
3721   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
3722   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
3723   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
3724   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3725ROM_END
20993726
2100   Some sets simply changed the version text to show a newer version.  This was likely done
2101     so the opperator appears to be running a version that meets the standards of the changed
2102     gambling law (see below).
3727ROM_START( keks_2e ) // 060403 bank F9, payout percentage 60%
3728   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3729   ROM_LOAD( "bootleg_ks060403d.rom", 0x00000, 0x40000, CRC(358e5b48) SHA1(6a91d9ee515401ebe7a8dd7d95f43c4df1c13677) ) /* Not officially listed on Igrosoft's web site hash page */
21033730
2104   Sets marked as "backdoor" are identical to originals, but have added code.  This code is
2105     activated by a secret sequence of actions that leads to a guaranteed win, or dramatically
2106     increases odds for winning. These backdoor version were commonly used by administrators
2107     or PCB sellers to steal money from the slots owners.
2108   Software does exist to automatically add the backdoor code and allows for custom key
2109     sequences.  As a result of this, there is also software to dectect the backdoor code
2110     in program roms.
3731   ROM_REGION( 0x400000, "gfx", 0 )
3732   ROM_LOAD( "1_060328", 0x000000, 0x80000, CRC(f4c20f66) SHA1(bed42ef01dfaa9d5d6ebb703e44ce7c11b8a373c) )
3733   ROM_LOAD( "2_060328", 0x100000, 0x80000, CRC(b7ec3fac) SHA1(c3c62690487a6056415c46888bde8254efca836f) )
3734   ROM_LOAD( "3_060328", 0x200000, 0x80000, CRC(5b6e8568) SHA1(003297e9cd080d91fe6751286eabd3a2f37ceb76) )
3735   ROM_LOAD( "4_060328", 0x300000, 0x80000, CRC(9dc32736) SHA1(7b2091ae802431d1c959b859a58e0076d32abef0) )
3736   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
3737   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
3738   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
3739   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3740ROM_END
21113741
2112Most games had a revision in early 2007 to meet the standards of the "Government gambling control"
2113   law of The Russian Federation No 244-03 of Dec 29, 2006
3742ROM_START( keks_2f ) // 060403 bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3743   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3744   ROM_LOAD( "bootleg_ks060403e.rom", 0x00000, 0x40000, CRC(80882337) SHA1(af942e27247b0d492799013a623080c02e7213cb) ) /* Not officially listed on Igrosoft's web site hash page */
21143745
2115   From Igrosoft's web site about version types (IE: some version have "M" in them):
3746   ROM_REGION( 0x400000, "gfx", 0 )
3747   ROM_LOAD( "bootleg_1d", 0x000000, 0x80000, CRC(82c5f8e9) SHA1(0fbc1b314e15f93c62c3cd79ece453086c506878) )
3748   ROM_LOAD( "bootleg_2d", 0x100000, 0x80000, CRC(a174f52b) SHA1(45c225762f5885e33eb6848aeca1ae9e2ad918ed) )
3749   ROM_LOAD( "bootleg_3d", 0x200000, 0x80000, CRC(9486084d) SHA1(780cd6d7b85e9480c7c2a3f707228d37678fb684) )
3750   ROM_LOAD( "bootleg_4d", 0x300000, 0x80000, CRC(aa552b3c) SHA1(7b051b2cece5a5e84020466827576ca8272f4f96) )
3751   ROM_LOAD( "bootleg_5d", 0x080000, 0x80000, CRC(53fa2420) SHA1(2faf775c5bc1ff8683d4a70b236c77d6295167e1) )
3752   ROM_LOAD( "bootleg_6d", 0x180000, 0x80000, CRC(baa7cce5) SHA1(1aacc85498f026358085caa854c2caaad3de5abf) )
3753   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
3754   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3755ROM_END
21163756
2117   * Two software versions are shown, one of them corresponds to Russian legislation,
2118     the other one (with the letter m) is for the countries without such restrictions.
3757ROM_START( keks_2g ) // 060403 custom alteras, modified graphics, bank F9, many texts changed, changed version text to "LOTOS KS01"
3758   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3759   ROM_LOAD( "bootleg_ks060403f.rom", 0x00000, 0x40000, CRC(9fd765ab) SHA1(ff061fe3d5d547c25d4ca830ec1f94025ab4e7f5) ) /* Not officially listed on Igrosoft's web site hash page */
21193760
2120*/
3761   ROM_REGION( 0x400000, "gfx", 0 )
3762   ROM_LOAD( "bootleg_1f", 0x000000, 0x80000, CRC(6c9bf198) SHA1(40155c3574f9968e272c6f1af90d663d2a686511) )
3763   ROM_LOAD( "bootleg_2f", 0x100000, 0x80000, CRC(daf71ad6) SHA1(2107d5eb617ff844eaeaabe3744fb8fad403390c) )
3764   ROM_LOAD( "bootleg_3f", 0x200000, 0x80000, CRC(ef9dfc94) SHA1(9b6d97dd6dc20caa11da4ced956ab5474e92e6d9) )
3765   ROM_LOAD( "bootleg_4f", 0x300000, 0x80000, CRC(6e88ac0e) SHA1(6dbc64794bb5afce3ab5e1dfe272b933bf66722d) )
3766   ROM_LOAD( "bootleg_5f", 0x080000, 0x80000, CRC(a79f6d46) SHA1(345bdf089529d90da861426fffc72bd2efb062f3) )
3767   ROM_LOAD( "bootleg_6f", 0x180000, 0x80000, CRC(7ecd7ed4) SHA1(e6320741f0def3915c91307cb4e3c277b347dee6) )
3768   ROM_LOAD( "bootleg_7f", 0x280000, 0x80000, CRC(e952996a) SHA1(3382158ced985c46fad56fb74766a4ed0e35b6c6) )
3769   ROM_LOAD( "bootleg_8f", 0x380000, 0x80000, CRC(4fefa4eb) SHA1(6a2b633e278a9b2a05dde2c6c37f15fc6b3fa7dc) )
3770ROM_END
21213771
2122GAME( 2002, mfish_3,     0,        multfish, multfish,  0, ROT0, "Igro", "Multi Fish (021124)",  0 )
2123GAME( 2002, mfish_3a,    mfish_3,  multfish, multfish,  0, ROT0, "Igro", "Multi Fish (021124, banking address hack)",  0 ) // bank F9
2124GAME( 2002, mfish_6,     mfish_3,  multfish, multfish,  0, ROT0, "Igro", "Multi Fish (030124)",  0 ) /* World */
2125GAME( 2002, mfish_11,    mfish_3,  multfish, multfish,  0, ROT0, "Igro", "Multi Fish (031124)",  0 ) /* World */
2126GAME( 2002, mfish_12,    mfish_3,  multfish, multfish,  0, ROT0, "Igro", "Multi Fish (040308)",  0 ) /* World */
2127GAME( 2002, mfish_12a,   mfish_3,  multfish, multfish,  0, ROT0, "Igro", "Multi Fish (040308, banking address hack)",  0 ) // bank F9
2128#if ALL_REVISIONS
2129GAME( 2002, mfish,       0,        multfish, multfish,  0, ROT0, "Igro", "Multi Fish (021120)",  0 ) /* World */
2130GAME( 2002, mfish_2,     mfish,    multfish, multfish,  0, ROT0, "Igro", "Multi Fish (021121)",  0 ) /* World */
2131GAME( 2002, mfish_4,     mfish,    multfish, multfish,  0, ROT0, "Igro", "Multi Fish (021219)",  0 ) /* World */
2132GAME( 2002, mfish_5,     mfish,    multfish, multfish,  0, ROT0, "Igro", "Multi Fish (021227)",  0 ) /* World */
2133GAME( 2002, mfish_7,     mfish,    multfish, multfish,  0, ROT0, "Igro", "Multi Fish (030511)",  0 ) /* World */
2134GAME( 2002, mfish_8,     mfish,    multfish, multfish,  0, ROT0, "Igro", "Multi Fish (030522)",  0 ) /* World */
2135GAME( 2002, mfish_9,     mfish,    multfish, multfish,  0, ROT0, "Igro", "Multi Fish (031026)",  0 ) /* World */
2136GAME( 2002, mfish_10,    mfish,    multfish, multfish,  0, ROT0, "Igro", "Multi Fish (031117)",  0 ) /* World */
2137GAME( 2002, mfish_13,    mfish,    multfish, multfish,  0, ROT0, "Igro", "Multi Fish (040316)",  0 ) /* World */
2138#endif
3772ROM_START( keks_3a ) // 070119 bank F9
3773   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3774   ROM_LOAD( "bootleg_ks070119a.rom", 0x00000, 0x40000, CRC(9325fea5) SHA1(1d396e63d51a81eae75df1ae2646cacac7f49f66) ) /* Not officially listed on Igrosoft's web site hash page */
21393775
2140GAME( 2003, crzmon_7,    0,        multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (031110)",  0 ) /* World */
2141GAME( 2003, crzmon_7a,   crzmon_7, multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (031110, backdoor set 1)",  0 ) // backdoor
2142GAME( 2003, crzmon_7b,   crzmon_7, multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (031110, backdoor set 2)",  0 ) // backdoor
2143GAME( 2003, crzmon_8,    crzmon_7, multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (050120)",  0 ) /* World */
2144GAME( 2003, crzmon_8a,   crzmon_7, multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (050120, backdoor)",  0 ) // backdoor
2145GAME( 2003, crzmon_8b,   crzmon_7, multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (050120, changed version text)",  0 ) // changed version text to 070315
2146#if ALL_REVISIONS
2147GAME( 2003, crzmon,      0,        multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (030217)",  0 ) /* World */
2148GAME( 2003, crzmon_2,    crzmon,   multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (030225)",  0 ) /* World */
2149GAME( 2003, crzmon_3,    crzmon,   multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (030227)",  0 ) /* World */
2150GAME( 2003, crzmon_4,    crzmon,   multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (030404)",  0 ) /* World */
2151GAME( 2003, crzmon_5,    crzmon,   multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (030421)",  0 ) /* World */
2152GAME( 2003, crzmon_6,    crzmon,   multfish, multfish,  0, ROT0, "Igrosoft", "Crazy Monkey (031016)",  0 ) /* World */
2153#endif
3776   ROM_REGION( 0x400000, "gfx", 0 )
3777   ROM_LOAD( "1_070119", 0x000000, 0x80000, CRC(fc399595) SHA1(037afd4a613cd58d4a28627b9e395d48c3fa866a) )
3778   ROM_LOAD( "2_070119", 0x100000, 0x80000, CRC(474b36e7) SHA1(e1e62acd4a706b2654fc1249850806b612fc1419) )
3779   ROM_LOAD( "3_070119", 0x200000, 0x80000, CRC(7f885e3d) SHA1(09bb4690e86ed4a29eef75ee4e5753ce40a164dd) )
3780   ROM_LOAD( "4_070119", 0x300000, 0x80000, CRC(a0fc654b) SHA1(3354bdb7aa372816a766b0d36408543de7d3482f) )
3781   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
3782   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
3783   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
3784   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3785ROM_END
21543786
2155GAME( 2003, fcockt_6,    0,        multfish, multfish,  0, ROT0, "Igrosoft", "Fruit Cocktail (040216)",  0 ) /* World */
2156GAME( 2003, fcockt_6a,   fcockt_6, multfish, multfish,  0, ROT0, "Igrosoft", "Fruit Cocktail (040216, banking address hack)",  0 ) // bank F8
2157GAME( 2003, fcockt_6b,   fcockt_6, multfish, multfish,  0, ROT0, "Igrosoft", "Fruit Cocktail (040216, backdoor)",  0 ) // backdoor
2158GAME( 2003, fcockt_7,    fcockt_6, multfish, multfish,  0, ROT0, "Igrosoft", "Fruit Cocktail (050118)",  0 ) /* World */
2159GAME( 2003, fcockt_7a,   fcockt_6, multfish, multfish,  0, ROT0, "Igrosoft", "Fruit Cocktail (050118, backdoor)",  0 ) // backdoor
2160GAME( 2003, fcockt_8,    fcockt_6, multfish, multfish,  0, ROT0, "Igrosoft", "Fruit Cocktail (060111)",  0 ) /* World */
2161#if ALL_REVISIONS
2162GAME( 2003, fcockt,      0,        multfish, multfish,  0, ROT0, "Igrosoft", "Fruit Cocktail (030505)",  0 ) /* World */
2163GAME( 2003, fcockt_2,    fcockt,   multfish, multfish,  0, ROT0, "Igrosoft", "Fruit Cocktail (030512)",  0 ) /* World */
2164GAME( 2003, fcockt_3,    fcockt,   multfish, multfish,  0, ROT0, "Igrosoft", "Fruit Cocktail (030623)",  0 ) /* World */
2165GAME( 2003, fcockt_4,    fcockt,   multfish, multfish,  0, ROT0, "Igrosoft", "Fruit Cocktail (031028)",  0 ) /* World */
2166GAME( 2003, fcockt_5,    fcockt,   multfish, multfish,  0, ROT0, "Igrosoft", "Fruit Cocktail (031111)",  0 ) /* World */
2167#endif
3787ROM_START( keks_3b ) // 070119 bank F9
3788   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3789   ROM_LOAD( "bootleg_ks070119b.rom", 0x00000, 0x40000, CRC(13fcf022) SHA1(885e5097e5cb5805f2172adc41f2f20d109b2d10) ) /* Not officially listed on Igrosoft's web site hash page */
21683790
2169GAME( 2003, lhaunt_4,    0,        multfish, multfish,  0, ROT0, "Igrosoft", "Lucky Haunter (031111)",  0 ) /* World */
2170GAME( 2003, lhaunt_4a,   lhaunt_4, multfish, multfish,  0, ROT0, "Igrosoft", "Lucky Haunter (031111, backdoor)",  0 ) // backdoor
2171GAME( 2003, lhaunt_5,    lhaunt_4, multfish, multfish,  0, ROT0, "Igrosoft", "Lucky Haunter (040216)",  0 ) /* World */
2172GAME( 2003, lhaunt_5a,   lhaunt_4, multfish, multfish,  0, ROT0, "Igrosoft", "Lucky Haunter (040216, backdoor)",  0 ) // backdoor
2173GAME( 2003, lhaunt_6,    lhaunt_4, multfish, multfish,  0, ROT0, "Igrosoft", "Lucky Haunter (040825)",  0 ) /* World */
2174GAME( 2003, lhaunt_6a,   lhaunt_4, multfish, multfish,  0, ROT0, "Igrosoft", "Lucky Haunter (040825, backdoor)",  0 ) // backdoor
2175#if ALL_REVISIONS
2176GAME( 2003, lhaunt,      0,        multfish, multfish,  0, ROT0, "Igrosoft", "Lucky Haunter (030707)",  0 ) /* World */
2177GAME( 2003, lhaunt_2,    lhaunt,   multfish, multfish,  0, ROT0, "Igrosoft", "Lucky Haunter (030804)",  0 ) /* World */
2178#endif
3791   ROM_REGION( 0x400000, "gfx", 0 )
3792   ROM_LOAD( "1_070119", 0x000000, 0x80000, CRC(fc399595) SHA1(037afd4a613cd58d4a28627b9e395d48c3fa866a) )
3793   ROM_LOAD( "2_070119", 0x100000, 0x80000, CRC(474b36e7) SHA1(e1e62acd4a706b2654fc1249850806b612fc1419) )
3794   ROM_LOAD( "3_070119", 0x200000, 0x80000, CRC(7f885e3d) SHA1(09bb4690e86ed4a29eef75ee4e5753ce40a164dd) )
3795   ROM_LOAD( "4_070119", 0x300000, 0x80000, CRC(a0fc654b) SHA1(3354bdb7aa372816a766b0d36408543de7d3482f) )
3796   ROM_LOAD( "5_060328", 0x080000, 0x80000, CRC(c5b09267) SHA1(7fd0988e63752fdbb31fde60b4726cfd63149622) )
3797   ROM_LOAD( "6_060328", 0x180000, 0x80000, CRC(583da5fd) SHA1(645228db20cdaacb53bfc68731fd1a66a6a8cf56) )
3798   ROM_LOAD( "7_060328", 0x280000, 0x80000, CRC(311c166a) SHA1(5f0ad8d755a6141964d818b98b3f156cbda8fb0d) )
3799   ROM_LOAD( "8_060328", 0x380000, 0x80000, CRC(f69b0831) SHA1(75392349ef02a39cf883206938e2c615445065fc) )
3800ROM_END
21793801
2180#if ALL_REVISIONS
2181GAME( 2003, rollfr,      0,        multfish, rollfr,    0, ROT0, "Igrosoft", "Roll Fruit (030821)",  0 ) /* World */
2182#endif
2183GAME( 2003, rollfr_2,    0,        multfish, rollfr,    0, ROT0, "Igrosoft", "Roll Fruit (040318)",  0 ) /* World */
3802ROM_START( gnomea ) // 070906 bank F9
3803   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3804   ROM_LOAD( "bootleg_gn070906a.rom", 0x00000, 0x40000, CRC(5e7f1d53) SHA1(0548db91e8b1cd2f4f292095b4aad3b59cc25fb8) ) /* Not officially listed on Igrosoft's web site hash page */
21843805
2185GAME( 2004, garage_4,    0,        multfish, multfish,  0, ROT0, "Igrosoft", "Garage (040219)",  0 ) /* World */
2186GAME( 2004, garage_4a,   garage_4, multfish, multfish,  0, ROT0, "Igrosoft", "Garage (040219, backdoor)",  0 ) // backdoor
2187GAME( 2004, garage_4b,   garage_4, multfish, multfish,  0, ROT0, "Igrosoft", "Garage (040219, changed version text)",  0 ) // changed version text to 070329
2188GAME( 2004, garage_5,    garage_4, multfish, multfish,  0, ROT0, "Igrosoft", "Garage (050311)",  0 ) /* World */
2189GAME( 2004, garage_5a,   garage_4, multfish, multfish,  0, ROT0, "Igrosoft", "Garage (050311, backdoor)",  0 ) // backdoor
2190#if ALL_REVISIONS
2191GAME( 2004, garage,      0,        multfish, multfish,  0, ROT0, "Igrosoft", "Garage (040122)",  0 ) /* World */
2192GAME( 2004, garage_2,    garage,   multfish, multfish,  0, ROT0, "Igrosoft", "Garage (040123)",  0 ) /* World */
2193GAME( 2004, garage_3,    garage,   multfish, multfish,  0, ROT0, "Igrosoft", "Garage (040216)",  0 ) /* World */
2194#endif
3806   ROM_REGION( 0x400000, "gfx", 0 )
3807   ROM_LOAD( "1_070906", 0x000000, 0x80000, CRC(6ed866d7) SHA1(68d75d24d98e6d533cb26ceac0a680203cb26069) )
3808   ROM_LOAD( "2_070906", 0x100000, 0x80000, CRC(f6e5e6f0) SHA1(9751e8df87f14a252595547d24b8dd865ee4f08d) )
3809   ROM_LOAD( "3_070906", 0x200000, 0x80000, CRC(f8beb972) SHA1(3afbca8ce7e69d2dadae05f69205a6fd9036cf6a) )
3810   ROM_LOAD( "4_070906", 0x300000, 0x80000, CRC(83357c38) SHA1(45cd31c4f02f9d7b1888701c2146d1e7229b6cb5) )
3811   ROM_LOAD( "5_070906", 0x080000, 0x80000, CRC(687ad3e3) SHA1(23941a4f40c45029b9a43451f78b04c03c3cd7da) )
3812   ROM_LOAD( "6_070906", 0x180000, 0x80000, CRC(7ef2b88a) SHA1(7e7de60fc6791731d7cfd6a50e2bc5af1bf5e4b2) )
3813   ROM_LOAD( "7_070906", 0x280000, 0x80000, CRC(71976bdf) SHA1(c44dbfa75a0f12893b3177907fc93b3d5e8ad390) )
3814   ROM_LOAD( "8_070906", 0x380000, 0x80000, CRC(c86a1586) SHA1(e622bca8dc618ca8edc1a7daa9c8286383caebef) )
3815ROM_END
21953816
2196GAME( 2004, rclimb_3,    0,        multfish, multfish,  0, ROT0, "Igrosoft", "Rock Climber (040827)", 0 ) /* World */
2197GAME( 2004, rclimb_3a,   rclimb_3, multfish, multfish,  0, ROT0, "Igrosoft", "Rock Climber (040827, backdoor)", 0 ) // backdoor
2198GAME( 2004, rclimb_3b,   rclimb_3, multfish, multfish,  0, ROT0, "Igrosoft", "Rock Climber (040827, new service menu)", 0 ) // new service menu
2199#if ALL_REVISIONS
2200GAME( 2004, rclimb,      0,        multfish, multfish,  0, ROT0, "Igrosoft", "Rock Climber (040815)", 0 ) /* World */
2201GAME( 2004, rclimb_2,    rclimb,   multfish, multfish,  0, ROT0, "Igrosoft", "Rock Climber (040823)", 0 ) /* World */
2202#endif
3817ROM_START( gnomeb ) // 070906 bank F9
3818   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3819   ROM_LOAD( "bootleg_gn070906b.rom", 0x00000, 0x40000, CRC(0baeb2f7) SHA1(799576a1cf49681d81967678643c17dc0e09be78) ) /* Not officially listed on Igrosoft's web site hash page */
22033820
2204GAME( 2004, sweetl,      0,        multfish, multfish,  0, ROT0, "Igrosoft", "Sweet Life (041220)",  0 )
2205GAME( 2004, sweetla,     sweetl,   multfish, multfish,  0, ROT0, "Igrosoft", "Sweet Life (041220, backdoor)",  0 ) // backdoor
2206GAME( 2004, sweetlb,     sweetl,   multfish, multfish,  0, ROT0, "Igrosoft", "Sweet Life (041220, banking address hack, changed version text)",  0 ) // bank F9, changed version text to 070412
3821   ROM_REGION( 0x400000, "gfx", 0 )
3822   ROM_LOAD( "1_070906", 0x000000, 0x80000, CRC(6ed866d7) SHA1(68d75d24d98e6d533cb26ceac0a680203cb26069) )
3823   ROM_LOAD( "2_070906", 0x100000, 0x80000, CRC(f6e5e6f0) SHA1(9751e8df87f14a252595547d24b8dd865ee4f08d) )
3824   ROM_LOAD( "3_070906", 0x200000, 0x80000, CRC(f8beb972) SHA1(3afbca8ce7e69d2dadae05f69205a6fd9036cf6a) )
3825   ROM_LOAD( "4_070906", 0x300000, 0x80000, CRC(83357c38) SHA1(45cd31c4f02f9d7b1888701c2146d1e7229b6cb5) )
3826   ROM_LOAD( "5_070906", 0x080000, 0x80000, CRC(687ad3e3) SHA1(23941a4f40c45029b9a43451f78b04c03c3cd7da) )
3827   ROM_LOAD( "6_070906", 0x180000, 0x80000, CRC(7ef2b88a) SHA1(7e7de60fc6791731d7cfd6a50e2bc5af1bf5e4b2) )
3828   ROM_LOAD( "7_070906", 0x280000, 0x80000, CRC(71976bdf) SHA1(c44dbfa75a0f12893b3177907fc93b3d5e8ad390) )
3829   ROM_LOAD( "8_070906", 0x380000, 0x80000, CRC(c86a1586) SHA1(e622bca8dc618ca8edc1a7daa9c8286383caebef) )
3830ROM_END
22073831
2208#if ALL_REVISIONS
2209GAME( 2004, resdnt,      0,        multfish, multfish,  0, ROT0, "Igrosoft", "Resident (040415)",  0 ) /* World */
2210#endif
2211GAME( 2004, resdnt_2,    0,        multfish, multfish,  0, ROT0, "Igrosoft", "Resident (040513)",  0 ) /* World */
2212GAME( 2004, resdnt_2a,   resdnt_2, multfish, multfish,  0, ROT0, "Igrosoft", "Resident (040513, backdoor)",  0 ) // backdoor
3832ROM_START( gnomec ) // 070906 bank F9
3833   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3834   ROM_LOAD( "bootleg_gn070906c.rom", 0x00000, 0x40000, CRC(37b4a5e2) SHA1(baffba15c5ba0f139b74e3dedd1d68e14fc7b370) ) /* Not officially listed on Igrosoft's web site hash page */
22133835
2214GAME( 2005, island,      0,        multfish, multfish,  0, ROT0, "Igrosoft", "Island (050713)",  0 ) /* World */
2215GAME( 2005, islanda,     island,   multfish, multfish,  0, ROT0, "Igrosoft", "Island (050713, backdoor)",  0 ) // backdoor
3836   ROM_REGION( 0x400000, "gfx", 0 )
3837   ROM_LOAD( "1_070906", 0x000000, 0x80000, CRC(6ed866d7) SHA1(68d75d24d98e6d533cb26ceac0a680203cb26069) )
3838   ROM_LOAD( "2_070906", 0x100000, 0x80000, CRC(f6e5e6f0) SHA1(9751e8df87f14a252595547d24b8dd865ee4f08d) )
3839   ROM_LOAD( "3_070906", 0x200000, 0x80000, CRC(f8beb972) SHA1(3afbca8ce7e69d2dadae05f69205a6fd9036cf6a) )
3840   ROM_LOAD( "4_070906", 0x300000, 0x80000, CRC(83357c38) SHA1(45cd31c4f02f9d7b1888701c2146d1e7229b6cb5) )
3841   ROM_LOAD( "5_070906", 0x080000, 0x80000, CRC(687ad3e3) SHA1(23941a4f40c45029b9a43451f78b04c03c3cd7da) )
3842   ROM_LOAD( "6_070906", 0x180000, 0x80000, CRC(7ef2b88a) SHA1(7e7de60fc6791731d7cfd6a50e2bc5af1bf5e4b2) )
3843   ROM_LOAD( "7_070906", 0x280000, 0x80000, CRC(71976bdf) SHA1(c44dbfa75a0f12893b3177907fc93b3d5e8ad390) )
3844   ROM_LOAD( "8_070906", 0x380000, 0x80000, CRC(c86a1586) SHA1(e622bca8dc618ca8edc1a7daa9c8286383caebef) )
3845ROM_END
22163846
2217GAME( 2005, pirate_2,    0,        multfish, multfish,  0, ROT0, "Igrosoft", "Pirate (060210)",  0 ) /* World */
2218GAME( 2005, pirate_3,    pirate_2, multfish, multfish,  0, ROT0, "Igrosoft", "Pirate (060803)",  0 ) /* World */
2219#if ALL_REVISIONS
2220GAME( 2005, pirate,      0,        multfish, multfish,  0, ROT0, "Igrosoft", "Pirate (051229)",  0 ) /* World */
2221#endif
3847ROM_START( gnomed ) // 070906 custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 GN01"
3848   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3849   ROM_LOAD( "bootleg_gn070906d.rom", 0x00000, 0x40000, CRC(12682805) SHA1(58a5c365e56ce3d679fe88f2930471ac63549d85) ) /* Not officially listed on Igrosoft's web site hash page */
22223850
2223GAME( 2006, pirate2,     0,        multfish, multfish,  0, ROT0, "Igrosoft", "Pirate 2 (061005)",  0 ) /* World */
2224GAME( 2006, pirate2a,    pirate2,  multfish, multfish,  0, ROT0, "Igrosoft", "Pirate 2 (061005, banking address hack set 1)",  0 ) // bank F9
2225GAME( 2006, pirate2b,    pirate2,  multfish, multfish,  0, ROT0, "Igrosoft", "Pirate 2 (061005, banking address hack set 2)",  0 ) // bank F9, skip raster beam position check
2226GAME( 2006, pirate2c,    pirate2,  multfish, multfish,  0, ROT0, "Igrosoft", "Pirate 2 (061005, banking address hack, changed version text set 1)",  0 ) // bank F9, changed version text to 070126
2227GAME( 2006, pirate2d,    pirate2,  multfish, multfish,  0, ROT0, "Igrosoft", "Pirate 2 (061005, banking address hack, changed version text set 2)",  0 ) // bank F9, changed version text to 070126
2228GAME( 2006, pirate2e,    pirate2,  multfish, multfish,  0, ROT0, "Igrosoft", "Pirate 2 (061005, banking address hack, changed version text set 3)",  0 ) // bank F9, changed version text to 070126, skip some start tests
3851   ROM_REGION( 0x400000, "gfx", 0 )
3852   ROM_LOAD( "bootleg_1a", 0x000000, 0x80000, CRC(55a8b1ba) SHA1(0b6c906435e260178292014a9e160a364bbcd6ad) )
3853   ROM_LOAD( "bootleg_2a", 0x100000, 0x80000, CRC(2ee1cc82) SHA1(081bbbd7c4589ae62efd1ef06b9f593b90492ee7) )
3854   ROM_LOAD( "bootleg_3a", 0x200000, 0x80000, CRC(7011d0b8) SHA1(24987121c6a0e712ad355eee2d7be5cf9e24e908) )
3855   ROM_LOAD( "bootleg_4a", 0x300000, 0x80000, CRC(e6bb6057) SHA1(d214f7b4b235cf1c80cb1131f69244c25287938b) )
3856   ROM_LOAD( "bootleg_5a", 0x080000, 0x80000, CRC(668c21a8) SHA1(1fccab7363350f2a26af40e05b4e13369bcb5a49) )
3857   ROM_LOAD( "bootleg_6a", 0x180000, 0x80000, CRC(95c2d96f) SHA1(8ac7283b65940fc620e126ad7e8563d96378dfd4) )
3858   ROM_LOAD( "bootleg_7a", 0x280000, 0x80000, CRC(476d6b00) SHA1(106c4afdb4d4d5afe9ec8395ef26050c814f053a) )
3859   ROM_LOAD( "bootleg_8a", 0x380000, 0x80000, CRC(658becb6) SHA1(7280ce53796326a48da8e461de8f78ea78a2f8c2) )
3860ROM_END
22293861
2230GAME( 2006, island2,     0,        multfish, multfish,  0, ROT0, "Igrosoft", "Island 2 (060529)",  0 ) /* World */
2231GAME( 2006, island2a,    island2,  island2a, multfish,  0, ROT0, "Igrosoft", "Island 2 (060529, banking address hack)",  0 ) // bank F9 (not standard, requires special values in RAM)
3862ROM_START( gnomee ) // 070906 custom alteras, modified graphics, bank F9, many texts changed, changed version text to "LOTOS GN01"
3863   ROM_REGION( 0x40000, "maincpu", 0 ) // z80 code, banked
3864   ROM_LOAD( "bootleg_gn070906e.rom", 0x00000, 0x40000, CRC(33fbae84) SHA1(4b8fde65042de38b24c77665b76782db4efccf0f) ) /* Not officially listed on Igrosoft's web site hash page */
22323865
2233GAME( 2006, keks,        0,        multfish, multfish,  0, ROT0, "Igrosoft", "Keks (060328)",  0 ) /* World */
2234GAME( 2006, keksa,       keks,     multfish, multfish,  0, ROT0, "Igrosoft", "Keks (060328, banking address hack)",  0 ) // bank F9
2235GAME( 2006, keksb,       keks,     multfish, multfish,  0, ROT0, "Igrosoft", "Keks (060328, backdoor)",  0 ) // backdoor
2236GAME( 2006, keksc,       keks,     multfish, multfish,  0, ROT0, "Igrosoft", "Keks (060328, banking address hack, changed version text)",  0 ) // bank F9, changed version text to 070119
2237GAME( 2006, keks_2,      keks,     multfish, multfish,  0, ROT0, "Igrosoft", "Keks (060403)",  0 ) /* World */
2238GAME( 2006, keks_2a,     keks,     multfish, multfish,  0, ROT0, "Igrosoft", "Keks (060403, banking address hack)",  0 ) // bank F9
2239GAME( 2006, keks_2b,     keks,     multfish, multfish,  0, ROT0, "Igrosoft", "Keks (060403, banking address hack, changed version text)",  0 ) // bank F9, changed version text to 070119
3866   ROM_REGION( 0x400000, "gfx", 0 )
3867   ROM_LOAD( "bootleg_1b", 0x000000, 0x80000, CRC(414b537c) SHA1(65cc2a3bca8792387a83323f51b7345ee1be1125) )
3868   ROM_LOAD( "bootleg_2b", 0x100000, 0x80000, CRC(3452bf73) SHA1(33e45d38bc7243cb4dbda483138fe529a693fad9) )
3869   ROM_LOAD( "bootleg_3b", 0x200000, 0x80000, CRC(1e44b605) SHA1(c7e1018fb36cb1f1db006d06dbde94baeb609c46) )
3870   ROM_LOAD( "bootleg_4b", 0x300000, 0x80000, CRC(19a7ff3e) SHA1(7a58c0db9615b0a4e6cb8480d56b9ecf2a4cec1d) )
3871   ROM_LOAD( "bootleg_5a", 0x080000, 0x80000, CRC(668c21a8) SHA1(1fccab7363350f2a26af40e05b4e13369bcb5a49) )
3872   ROM_LOAD( "bootleg_6a", 0x180000, 0x80000, CRC(95c2d96f) SHA1(8ac7283b65940fc620e126ad7e8563d96378dfd4) )
3873   ROM_LOAD( "bootleg_7a", 0x280000, 0x80000, CRC(476d6b00) SHA1(106c4afdb4d4d5afe9ec8395ef26050c814f053a) )
3874   ROM_LOAD( "bootleg_8a", 0x380000, 0x80000, CRC(658becb6) SHA1(7280ce53796326a48da8e461de8f78ea78a2f8c2) )
3875ROM_END
3876
3877GAME( 2002, mfish_3a,    mfish_parent,    multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Multi Fish (bootleg, 021124, banking address hack)",  0 ) // bank F9
3878GAME( 2002, mfish_12a,   mfish_parent,    multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Multi Fish (bootleg, 040308, banking address hack)",  0 ) // bank F9
3879
3880GAME( 2003, crzmon_7a,   crzmon_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Crazy Monkey (bootleg, 031110, backdoor set 1)",  0 ) // backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3881GAME( 2003, crzmon_7b,   crzmon_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Crazy Monkey (bootleg, 031110, backdoor set 2)",  0 ) // backdoor 1,5 5,5 1,7 3,2  3,3  3,4
3882GAME( 2003, crzmon_8a,   crzmon_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Crazy Monkey (bootleg, 050120, backdoor)",  0 ) // backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3883GAME( 2003, crzmon_8b,   crzmon_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Crazy Monkey (bootleg, 050120, changed version text)",  0 ) // changed version text to 070315
3884GAME( 2003, crzmon_8c,   crzmon_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Crazy Monkey (bootleg, 050120, VIDEO GAME-1 CM01)",  0 ) // custom alteras, modified graphics, changed version text to "VIDEO GAME-1 CM01"
3885GAME( 2003, crzmon_8d,   crzmon_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Crazy Monkey (bootleg, 050120, LOTTOGAME (I))",  0 ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3886GAME( 2003, crzmon_8e,   crzmon_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Crazy Monkey (bootleg, 050120, LOTO PROGRAM V-CM2)",  0 ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-CM2"
3887GAME( 2003, crzmon_8f,   crzmon_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Crazy Monkey (bootleg, 050120, LOTOS CM01)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS CM01"
3888GAME( 2003, crzmon_9a,   crzmon_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Crazy Monkey (bootleg, 070315, VIDEO GAME-1 O01 set 1)",  0 ) // custom alteras, modified graphics, changed version text to "VIDEO GAME-1 O01"
3889GAME( 2003, crzmon_9b,   crzmon_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Crazy Monkey (bootleg, 070315, VIDEO GAME-1 O01 set 2)",  0 ) // modified graphics, changed version text to "VIDEO GAME-1 O01" (crzmon_9a, decoded gfx)
3890GAME( 2003, crzmon_9c,   crzmon_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Crazy Monkey (bootleg, 070315, payout percentage 70)",  0 ) // payout percentage 70%
3891
3892GAME( 2003, fcockt_6a,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 040216, banking address hack)",  0 ) // bank F8
3893GAME( 2003, fcockt_6b,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 040216, backdoor)",  0 ) // backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3894GAME( 2003, fcockt_6c,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 040216, LotoRossy+)",  0 ) // modified graphics, some code changes, description says "for Lat-02 terminals", older set
3895GAME( 2003, fcockt_6d,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 040216, VIDEO GAME-1 FR01)",  0 ) // modified graphics, some code changes, changed version text to "VIDEO GAME-1 FR01", description says "for Lat-02 terminals", newer set
3896GAME( 2003, fcockt_7a,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 050118, backdoor)",  0 ) // backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3897GAME( 2003, fcockt_7b,   fcockt_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Fruit Cocktail (bootleg, 050118, VIDEO GAME-1 FR01)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 FR01"
3898GAME( 2003, fcockt_7c,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 40)",  0 ) // payout percentage 40%
3899GAME( 2003, fcockt_7d,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 60)",  0 ) // payout percentage 60%
3900GAME( 2003, fcockt_7e,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 70)",  0 ) // payout percentage 70%
3901GAME( 2003, fcockt_7f,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 050118, changed version text)",  0 ) // changed version text to 070305
3902GAME( 2003, fcockt_7g,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 050118, LOTO PROGRAM V-FC2)",  0 ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-FC2"
3903GAME( 2003, fcockt_7h,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 050118, LOTOS FR01)",  0 ) // modified graphics, many texts changed, changed version text to "LOTOS FR01"
3904GAME( 2003, fcockt_8a,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 060111, LOTO COCKTAIL V01-0001)",  0 ) // modified graphics, many texts changed, changed version text to "LOTO COCKTAIL V01-0001"
3905GAME( 2003, fcockt_8b,   fcockt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Fruit Cocktail (bootleg, 060111, LOTTOGAME (I))",  0 ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3906
3907GAME( 2003, lhaunt_4a,   lhaunt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Lucky Haunter (bootleg, 031111, backdoor)",  0 ) // backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3908GAME( 2003, lhaunt_5a,   lhaunt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Lucky Haunter (bootleg, 040216, backdoor)",  0 ) // backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3909GAME( 2003, lhaunt_6a,   lhaunt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Lucky Haunter (bootleg, 040825, backdoor)",  0 ) // backdoor 1,5 9,1 5,1 1,5  3,3  3,4
3910GAME( 2003, lhaunt_6b,   lhaunt_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Lucky Haunter (bootleg, 040825, VIDEO GAME-1 PB01)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 PB01"
3911GAME( 2003, lhaunt_6c,   lhaunt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Lucky Haunter (bootleg, 040825, changed version text)",  0 ) // changed version text to 070604
3912GAME( 2003, lhaunt_6d,   lhaunt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Lucky Haunter (bootleg, 040825, LOTTOGAME (I))",  0 ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3913GAME( 2003, lhaunt_6e,   lhaunt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Lucky Haunter (bootleg, 040825, LOTO PROGRAM V-LH2)",  0 ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-LH2"
3914GAME( 2003, lhaunt_6f,   lhaunt_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Lucky Haunter (bootleg, 040825, LOTOS PB01)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS PB01"
3915
3916GAME( 2004, garage_4a,   garage_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Garage (bootleg, 040219, backdoor)",  0 ) // backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3917GAME( 2004, garage_4b,   garage_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Garage (bootleg, 040219, changed version text)",  0 ) // changed version text to 070329
3918GAME( 2004, garage_4c,   garage_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Garage (bootleg, 040219, LOTO PROGRAM V-GG2)",  0 ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-GG2"
3919GAME( 2004, garage_5a,   garage_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Garage (bootleg, 050311, backdoor)",  0 ) // backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3920GAME( 2004, garage_5b,   garage_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Garage (bootleg, 050311, VIDEO GAME-1 GA01)",  0 ) // custom alteras, modified graphics, changed version text to "VIDEO GAME-1 GA01"
3921GAME( 2004, garage_5c,   garage_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Garage (bootleg, 050311, payout percentage 70)",  0 ) // payout percentage 70%
3922GAME( 2004, garage_5d,   garage_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Garage (bootleg, 050311, LOTTOGAME (I))",  0 ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3923GAME( 2004, garage_5e,   garage_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Garage (bootleg, 050311, LOTOS GA01)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS GA01"
3924
3925GAME( 2004, rclimb_3a,   rclimb_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Rock Climber (bootleg, 040827, backdoor)", 0 ) // backdoor 1,5 9,1 5,1 1,5  3,3  3,4
3926GAME( 2004, rclimb_3b,   rclimb_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Rock Climber (bootleg, 040827, new service menu)", 0 ) // new service menu
3927GAME( 2004, rclimb_3c,   rclimb_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Rock Climber (bootleg, 040827, VIDEO GAME-1 SK01)", 0 ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 SK01"
3928GAME( 2004, rclimb_3d,   rclimb_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Rock Climber (bootleg, 040827, LOTTOGAME (I))", 0 ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3929GAME( 2004, rclimb_3e,   rclimb_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Rock Climber (bootleg, 040827, LOTOS SK01)", 0 ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS SK01"
3930
3931GAME( 2004, sweetla,     sweetl_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Sweet Life (bootleg, 041220, backdoor)",  0 ) // backdoor 1,5 9,1 5,3 1,5  3,3  3,4
3932GAME( 2004, sweetlb,     sweetl_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Sweet Life (bootleg, 041220, banking address hack, changed version text)",  0 ) // bank F9, changed version text to 070412
3933
3934GAME( 2004, resdnt_2a,   resdnt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Resident (bootleg, 040513, backdoor)",  0 ) // backdoor 1,5 9,1 5,1 1,5  3,3  3,4
3935GAME( 2004, resdnt_2b,   resdnt_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Resident (bootleg, 040513, VIDEO GAME-1 SE01 set 1)",  0 ) // custom alteras, modified graphics, changed version text to "VIDEO GAME-1 SE01"
3936GAME( 2004, resdnt_2c,   resdnt_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Resident (bootleg, 040513, VIDEO GAME-1 SE01 set 2)",  0 ) // custom alteras, modified graphics, changed version text to "VIDEO GAME-1 SE01"
3937GAME( 2004, resdnt_2d,   resdnt_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Resident (bootleg, 040513, VIDEO GAME-1 SE01 set 3)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 SE01"
3938GAME( 2004, resdnt_2e,   resdnt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Resident (bootleg, 040513, LOTTOGAME (I))",  0 ) // modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3939GAME( 2004, resdnt_2f,   resdnt_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Resident (bootleg, 040513, LOTO PROGRAM V-RS2)",  0 ) // modified graphics, many texts changed, changed version text to "LOTO PROGRAM V-RS2"
3940GAME( 2004, resdnt_2g,   resdnt_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Resident (bootleg, 040513, LOTOS SE01)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS SE01"
3941
3942GAME( 2005, islanda,     island_parent,   multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Island (bootleg, 050713, backdoor)",  0 ) // backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3943GAME( 2005, islandb,     island_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Island (bootleg, 050713, VIDEO GAME-1 OS01)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 OS01"
3944GAME( 2005, islandc,     island_parent,   multfish, multfish,  custom_altera, ROT0,  "bootleg", "Island (bootleg, 050713, LOTOS OS01)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS OS01"
3945
3946GAME( 2006, island2a,    island2_parent,  island2a, multfish,  igrosoft,      ROT0,  "bootleg", "Island 2 (bootleg, 060529, banking address hack)",  0 ) // bank F9 (not standart, game not work)
3947GAME( 2006, island2b,    island2_parent,  multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Island 2 (bootleg, 060529, banking address hack, changed version text)",  0 ) // bank F9, changed version text to 070205, skip some start tests
3948GAME( 2006, island2c,    island2_parent,  multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Island 2 (bootleg, 060529, LOTTOGAME (I))",  0 ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3949GAME( 2006, island2_3a,  island2_parent,  multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Island 2 (bootleg, 061218, VIDEO GAME-1 OS2-01)",  0 ) // bank F9, modified graphics, changed version text to "VIDEO GAME-1 OS2-01"
3950GAME( 2006, island2_4a,  island2_parent,  multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Island 2 (bootleg, 070205, banking address hack)",  0 ) // bank F9
3951
3952GAME( 2006, pirate2a,    pirate2_parent,  multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Pirate 2 (bootleg, 061005, banking address hack set 1)",  0 ) // bank F9
3953GAME( 2006, pirate2b,    pirate2_parent,  multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Pirate 2 (bootleg, 061005, banking address hack set 2)",  0 ) // bank F9, skip raster beam position check
3954GAME( 2006, pirate2c,    pirate2_parent,  multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Pirate 2 (bootleg, 061005, banking address hack, changed version text set 1)",  0 ) // bank F9, changed version text to 070126
3955GAME( 2006, pirate2d,    pirate2_parent,  multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Pirate 2 (bootleg, 061005, banking address hack, changed version text set 2)",  0 ) // bank F9, changed version text to 070126
3956GAME( 2006, pirate2e,    pirate2_parent,  multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Pirate 2 (bootleg, 061005, banking address hack, changed version text set 3)",  0 ) // bank F9, changed version text to 070126, skip some start tests
3957GAME( 2006, pirate2f,    pirate2_parent,  multfish, multfish,  custom_altera, ROT0,  "bootleg", "Pirate 2 (bootleg, 061005, VIDEO GAME-1 PR01)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 PR01"
3958GAME( 2006, pirate2g,    pirate2_parent,  multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Pirate 2 (bootleg, 061005, LOTTOGAME (I))",  0 ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3959GAME( 2006, pirate2h,    pirate2_parent,  multfish, multfish,  custom_altera, ROT0,  "bootleg", "Pirate 2 (bootleg, 061005, LOTOS PR01)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "LOTOS PR01"
3960GAME( 2006, pirate2_2a,  pirate2_parent,  multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Pirate 2 (bootleg, 070126, banking address hack)",  0 ) // bank F9
3961
3962GAME( 2006, keksa,       keks_parent,     multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Keks (bootleg, 060328, banking address hack)",  0 ) // bank F9
3963GAME( 2006, keksb,       keks_parent,     multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Keks (bootleg, 060328, backdoor)",  0 ) // backdoor 1,1 1,3 1,5 1,7  3,3  3,4
3964GAME( 2006, keksc,       keks_parent,     multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Keks (bootleg, 060328, banking address hack, changed version text)",  0 ) // bank F9, changed version text to 070119
3965GAME( 2006, keks_2a,     keks_parent,     multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Keks (bootleg, 060403, banking address hack)",  0 ) // bank F9
3966GAME( 2006, keks_2b,     keks_parent,     multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Keks (bootleg, 060403, banking address hack, changed version text)",  0 ) // bank F9, changed version text to 070119
3967GAME( 2006, keks_2c,     keks_parent,     multfish, multfish,  custom_altera, ROT0,  "bootleg", "Keks (bootleg, 060403, VIDEO GAME-1 KS01 set 1)",  0 ) // custom alteras, modified graphics, bank F9, changed version text to "VIDEO GAME-1 KS01"
3968GAME( 2006, keks_2d,     keks_parent,     multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Keks (bootleg, 060403, VIDEO GAME-1 KS01 set 2)",  0 ) // modified graphics, bank F9, changed version text to "VIDEO GAME-1 KS01" (keks_2c, decoded gfx)
3969GAME( 2006, keks_2e,     keks_parent,     multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Keks (bootleg, 060403, banking address hack, payout percentage 60)",  0 ) // bank F9, payout percentage 60%
3970GAME( 2006, keks_2f,     keks_parent,     multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Keks (bootleg, 060403, LOTTOGAME (I))",  0 ) // bank F9, modified graphics, changed version text to "MDS_is_the_best_ LOTTOGAME (I)"
3971GAME( 2006, keks_2g,     keks_parent,     multfish, multfish,  custom_altera, ROT0,  "bootleg", "Keks (bootleg, 060403, LOTOS KS01)",  0 ) // custom alteras, modified graphics, bank F9, many texts changed, changed version text to "LOTOS KS01"
3972GAME( 2006, keks_3a,     keks_parent,     multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Keks (bootleg, 070119, banking address hack set 1)",  0 ) // bank F9
3973GAME( 2006, keks_3b,     keks_parent,     multfish, multfish,  igrosoft,      ROT0,  "bootleg", "Keks (bootleg, 070119, banking address hack set 2)",  0 ) // bank F9
3974
3975GAME( 2007, gnomea,      gnome_parent,    multfish, multfish,  igrosoft,      ROT0, "bootleg",  "Gnome (bootleg, 070906, banking address hack set 1)",  0 ) // bank F9
3976GAME( 2007, gnomeb,      gnome_parent,    multfish, multfish,  igrosoft,      ROT0, "bootleg",  "Gnome (bootleg, 070906, banking address hack set 2)",  0 ) // bank F9
3977GAME( 2007, gnomec,      gnome_parent,    multfish, multfish,  igrosoft,      ROT0, "bootleg",  "Gnome (bootleg, 070906, banking address hack set 3)",  0 ) // bank F9
3978GAME( 2007, gnomed,      gnome_parent,    multfish, multfish,  custom_altera, ROT0, "bootleg",  "Gnome (bootleg, 070906, VIDEO GAME-1 GN01)",  0 ) // custom alteras, modified graphics, many texts changed, changed version text to "VIDEO GAME-1 GN01"
3979GAME( 2007, gnomee,      gnome_parent,    multfish, multfish,  custom_altera, ROT0, "bootleg",  "Gnome (bootleg, 070906, LOTOS GN01)",  0 ) // custom alteras, modified graphics, bank F9, many texts changed, changed version text to "LOTOS GN01"
src/mame/drivers/galpani2.c
r9191r9192
331331   AM_RANGE(0x780002, 0x780003) AM_READ_PORT("DSW2_P2")
332332   AM_RANGE(0x780004, 0x780005) AM_READ_PORT("SPECIAL")
333333   AM_RANGE(0x780006, 0x780007) AM_READ_PORT("SERVICE")
334   AM_RANGE(0xc00000, 0xc00001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff   )   // 2 x OKIM6295
335   AM_RANGE(0xc40000, 0xc40001) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff   )   //
334   AM_RANGE(0xc00000, 0xc00001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff   )   // 2 x OKIM6295
335   AM_RANGE(0xc40000, 0xc40001) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff   )   //
336336   AM_RANGE(0xc80000, 0xc80001) AM_DEVWRITE8("oki1", galpani2_oki1_bank_w, 0x00ff         )   //
337337   AM_RANGE(0xcc0000, 0xcc0001) AM_DEVWRITE8("oki2", galpani2_oki2_bank_w, 0x00ff         )   //
338338ADDRESS_MAP_END
r9191r9192
473473   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
474474   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
475475   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
476   PORT_SERVICE_NO_TOGGLE( 0x2000, IP_ACTIVE_LOW )
476//  PORT_SERVICE_NO_TOGGLE( 0x2000, IP_ACTIVE_LOW )
477477   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_TILT     )
478478   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SERVICE1 )
479479
r9191r9192
574574   }
575575}
576576
577static MACHINE_DRIVER_START( galpani2 )
577static MACHINE_CONFIG_START( galpani2, driver_device )
578578
579579   /* basic machine hardware */
580580   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
r9191r9192
612612
613613   MDRV_OKIM6295_ADD("oki2", XTAL_16MHz/8, OKIM6295_PIN7_LOW) // clock frequency & pin 7 not verified
614614   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
615MACHINE_DRIVER_END
615MACHINE_CONFIG_END
616616
617617
618618/***************************************************************************
src/mame/drivers/sprint2.c
r9191r9192
492492GFXDECODE_END
493493
494494
495static MACHINE_DRIVER_START( sprint2 )
495static MACHINE_CONFIG_START( sprint2, driver_device )
496496
497497   /* basic machine hardware */
498498   MDRV_CPU_ADD("maincpu", M6502, 12096000 / 16)
r9191r9192
522522   MDRV_SOUND_CONFIG_DISCRETE(sprint2)
523523   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
524524   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
525MACHINE_DRIVER_END
525MACHINE_CONFIG_END
526526
527527
528static MACHINE_DRIVER_START( sprint1 )
528static MACHINE_CONFIG_DERIVED( sprint1, sprint2 )
529529
530   MDRV_IMPORT_FROM(sprint2)
531
532530   /* sound hardware */
533531   MDRV_DEVICE_REMOVE("lspeaker")
534532   MDRV_DEVICE_REMOVE("rspeaker")
r9191r9192
539537   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
540538   MDRV_SOUND_CONFIG_DISCRETE(sprint1)
541539   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
542MACHINE_DRIVER_END
540MACHINE_CONFIG_END
543541
544542
545static MACHINE_DRIVER_START( dominos )
543static MACHINE_CONFIG_DERIVED( dominos, sprint2 )
546544
547   MDRV_IMPORT_FROM(sprint2)
548
549545   /* sound hardware */
550546   MDRV_DEVICE_REMOVE("lspeaker")
551547   MDRV_DEVICE_REMOVE("rspeaker")
r9191r9192
556552   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
557553   MDRV_SOUND_CONFIG_DISCRETE(dominos)
558554   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
559MACHINE_DRIVER_END
555MACHINE_CONFIG_END
560556
561557
562558ROM_START( sprint1 )
src/mame/drivers/86lions.c
r9191r9192
7474}
7575
7676
77static READ8_HANDLER(lions_via_r)
78{
79   running_device *via_0 = space->machine->device("via6522_0");
80   return via_r(via_0, offset);
81}
82
83static WRITE8_HANDLER(lions_via_w)
84{
85   running_device *via_0 = space->machine->device("via6522_0");
86   via_w(via_0, offset, data);
87}
88
89
9077static ADDRESS_MAP_START( lions_map, ADDRESS_SPACE_PROGRAM, 8 )
9178   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE(&lions_vram)
9279   AM_RANGE(0x0800, 0x0fff) AM_RAM
9380   AM_RANGE(0x1800, 0x1800) AM_DEVWRITE("crtc", mc6845_address_w)
9481   AM_RANGE(0x1801, 0x1801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
95   AM_RANGE(0x5000, 0x500f) AM_MIRROR(0x0010) AM_READWRITE(lions_via_r, lions_via_w)
82   AM_RANGE(0x5000, 0x500f) AM_MIRROR(0x0010) AM_DEVREADWRITE_MODERN("via6522_0", via6522_device, read, write)
9683   AM_RANGE(0x5300, 0x5300) AM_READ(test_r)//AM_READ_PORT("IN0")
9784   AM_RANGE(0x5382, 0x5383) AM_DEVWRITE("aysnd", ay8910_data_address_w)
9885   AM_RANGE(0xe000, 0xffff) AM_ROM
r9191r9192
121108   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1-8") PORT_CODE(KEYCODE_I)
122109
123110   PORT_START("IN2")
124   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0-1") PORT_CODE(KEYCODE_A)
125   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0-2") PORT_CODE(KEYCODE_S)
126   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0-3") PORT_CODE(KEYCODE_D)
127   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0-4") PORT_CODE(KEYCODE_F)
128   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0-5") PORT_CODE(KEYCODE_G)
129   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0-6") PORT_CODE(KEYCODE_H)
130   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0-7") PORT_CODE(KEYCODE_J)
131   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("0-8") PORT_CODE(KEYCODE_K)
111   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("2-1") PORT_CODE(KEYCODE_A)
112   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("2-2") PORT_CODE(KEYCODE_S)
113   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("2-3") PORT_CODE(KEYCODE_D)
114   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("2-4") PORT_CODE(KEYCODE_F)
115   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("2-5") PORT_CODE(KEYCODE_G)
116   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("2-6") PORT_CODE(KEYCODE_H)
117   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("2-7") PORT_CODE(KEYCODE_J)
118   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("2-8") PORT_CODE(KEYCODE_K)
132119
133120   PORT_START("IN3")
134   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1-1") PORT_CODE(KEYCODE_Z)
135   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1-2") PORT_CODE(KEYCODE_X)
136   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1-3") PORT_CODE(KEYCODE_C)
137   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1-4") PORT_CODE(KEYCODE_V)
138   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1-5") PORT_CODE(KEYCODE_B)
139   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1-6") PORT_CODE(KEYCODE_N)
140   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1-7") PORT_CODE(KEYCODE_M)
141   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("1-8") PORT_CODE(KEYCODE_L)
121   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("3-1") PORT_CODE(KEYCODE_Z)
122   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("3-2") PORT_CODE(KEYCODE_X)
123   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("3-3") PORT_CODE(KEYCODE_C)
124   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("3-4") PORT_CODE(KEYCODE_V)
125   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("3-5") PORT_CODE(KEYCODE_B)
126   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("3-6") PORT_CODE(KEYCODE_N)
127   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("3-7") PORT_CODE(KEYCODE_M)
128   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("3-8") PORT_CODE(KEYCODE_L)
142129
143130//  PORT_START("DSW1")
144131//  PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
r9191r9192
353340   }
354341}
355342
356static MACHINE_DRIVER_START( lions )
343static MACHINE_CONFIG_START( lions, driver_device )
357344   /* basic machine hardware */
358345   MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK/4)       /* 3 MHz.(guess) */
359346   MDRV_CPU_PROGRAM_MAP(lions_map)
r9191r9192
383370   MDRV_SOUND_ADD("aysnd", AY8910, MAIN_CLOCK/8)   /* 1.5 MHz.(guess) */
384371   MDRV_SOUND_CONFIG(ay8910_config)
385372   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
386MACHINE_DRIVER_END
373MACHINE_CONFIG_END
387374
388375
389376ROM_START( 86lions )
src/mame/drivers/exterm.c
r9191r9192
6565#include "cpu/m6502/m6502.h"
6666#include "sound/dac.h"
6767#include "sound/2151intf.h"
68#include "machine/nvram.h"
6869#include "includes/exterm.h"
6970
7071
r9191r9192
298299   AM_RANGE(0x01580000, 0x015bffff) AM_MIRROR(0xfc000000) AM_WRITE(sound_latch_w)
299300   AM_RANGE(0x015c0000, 0x015fffff) AM_MIRROR(0xfc000000) AM_WRITE(watchdog_reset16_w)
300301   AM_RANGE(0x01800000, 0x01807fff) AM_MIRROR(0xfc7f8000) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
301   AM_RANGE(0x02800000, 0x02807fff) AM_MIRROR(0xfc7f8000) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
302   AM_RANGE(0x02800000, 0x02807fff) AM_MIRROR(0xfc7f8000) AM_RAM AM_SHARE("nvram")
302303   AM_RANGE(0x03000000, 0x03ffffff) AM_MIRROR(0xfc000000) AM_ROM AM_REGION("user1", 0)
303304ADDRESS_MAP_END
304305
r9191r9192
446447 *
447448 *************************************/
448449
449static MACHINE_DRIVER_START( exterm )
450static MACHINE_CONFIG_START( exterm, driver_device )
450451
451452   /* basic machine hardware */
452453   MDRV_CPU_ADD("maincpu", TMS34010, 40000000)
r9191r9192
465466
466467   MDRV_QUANTUM_TIME(HZ(6000))
467468
468   MDRV_NVRAM_HANDLER(generic_0fill)
469   MDRV_NVRAM_ADD_0FILL("nvram")
469470
470471   MDRV_TIMER_ADD("snd_nmi_timer", master_sound_nmi_callback)
471472
r9191r9192
487488
488489   MDRV_SOUND_ADD("ymsnd", YM2151, 4000000)
489490   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
490MACHINE_DRIVER_END
491MACHINE_CONFIG_END
491492
492493
493494
src/mame/drivers/dragrace.c
r9191r9192
333333   state->gear[1] = 0;
334334}
335335
336static MACHINE_DRIVER_START( dragrace )
336static MACHINE_CONFIG_START( dragrace, dragrace_state )
337337
338   /* driver data */
339   MDRV_DRIVER_DATA(dragrace_state)
340
341338   /* basic machine hardware */
342339   MDRV_CPU_ADD("maincpu", M6800, 12096000 / 12)
343340   MDRV_CPU_PROGRAM_MAP(dragrace_map)
r9191r9192
369366   MDRV_SOUND_CONFIG_DISCRETE(dragrace)
370367   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
371368   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
372MACHINE_DRIVER_END
369MACHINE_CONFIG_END
373370
374371
375372ROM_START( dragrace )
src/mame/drivers/seibuspi.c
r9191r9192
740740
741741UINT32 *spimainram;
742742
743static intel_e28f008sa_device *flash[2];
744
743745static UINT8 *z80_rom;
744746
745747/********************************************************************/
r9191r9192
10851087   logerror("Flash Read: %08X\n", offset);
10861088   if( offset < 0x100000 )
10871089   {
1088      return intelflash_read(0, offset);
1090      return flash[0]->read(offset);
10891091   }
10901092   else if( offset < 0x200000 )
10911093   {
1092      return intelflash_read(1, offset - 0x100000 );
1094      return flash[1]->read(offset - 0x100000 );
10931095   }
10941096   return 0;
10951097}
r9191r9192
10991101   logerror("Flash Write: %08X, %02X\n", offset, data);
11001102   if( offset < 0x100000 )
11011103   {
1102      intelflash_write(0, offset + 1, data);
1104      flash[0]->write(offset + 1, data);
11031105   }
11041106   else if( offset < 0x200000 )
11051107   {
1106      intelflash_write(1, offset - 0x100000 + 1, data);
1108      flash[1]->write(offset - 0x100000 + 1, data);
11071109   }
11081110}
11091111
r9191r9192
11491151   AM_RANGE(0x0000068c, 0x0000068f) AM_DEVWRITE("eeprom", eeprom_w)
11501152   AM_RANGE(0x00000800, 0x0003ffff) AM_RAM AM_BASE(&spimainram)
11511153   AM_RANGE(0x00200000, 0x003fffff) AM_ROM AM_SHARE("share2")
1152   AM_RANGE(0x01200000, 0x01200003) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x000000ff)
1153   AM_RANGE(0x01200004, 0x01200007) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x000000ff)
1154   AM_RANGE(0x01200000, 0x01200003) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x000000ff)
1155   AM_RANGE(0x01200004, 0x01200007) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x000000ff)
11541156   AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("user1", 0) AM_SHARE("share2")      /* ROM location in real-mode */
11551157ADDRESS_MAP_END
11561158
r9191r9192
17851787
17861788/********************************************************************************/
17871789
1788static NVRAM_HANDLER( spi )
1789{
1790   nvram_handler_intelflash(machine, 0, file, read_or_write);
1791   nvram_handler_intelflash(machine, 1, file, read_or_write);
1792}
1793
17941790/* this is a 93C46 but with reset delay */
17951791static const eeprom_interface eeprom_intf =
17961792{
r9191r9192
18421838
18431839   /* If the first value doesn't match, the game shows a checksum error */
18441840   /* If any of the other values are wrong, the game goes to update mode */
1845   intelflash_write(0, 0, 0xff);
1846   intelflash_write(0, 0, 0x10);
1847   intelflash_write(0, 0, flash_data);         /* country code */
1841   flash[0]->write(0, 0xff);
1842   flash[0]->write(0, 0x10);
1843   flash[0]->write(0, flash_data);         /* country code */
18481844
18491845   for (i=0; i < 0x100000; i++)
18501846   {
1851      intelflash_write(0, 0, 0xff);
1852      sound[i] = intelflash_read(0, i);
1847      flash[0]->write(0, 0xff);
1848      sound[i] = flash[0]->read(i);
18531849   }
18541850   for (i=0; i < 0x100000; i++)
18551851   {
1856      intelflash_write(1, 0, 0xff);
1857      sound[0x100000+i] = intelflash_read(1, i);
1852      flash[1]->write(0, 0xff);
1853      sound[0x100000+i] = flash[1]->read(i);
18581854   }
18591855}
18601856
1861static MACHINE_DRIVER_START( spi )
1857static MACHINE_CONFIG_START( spi, driver_device )
18621858
18631859   /* basic machine hardware */
18641860   MDRV_CPU_ADD("maincpu", I386, 50000000/2)   /* Intel 386DX, 25MHz */
r9191r9192
18721868
18731869   MDRV_MACHINE_START(spi)
18741870   MDRV_MACHINE_RESET(spi)
1875   MDRV_NVRAM_HANDLER(spi)
18761871
18771872   MDRV_EEPROM_ADD("eeprom", eeprom_intf)
18781873
18791874   MDRV_DS2404_ADD("ds2404", 1995, 1, 1)
18801875
1876   MDRV_INTEL_E28F008SA_ADD("flash0")
1877   MDRV_INTEL_E28F008SA_ADD("flash1")
1878
18811879   /* video hardware */
18821880   MDRV_SCREEN_ADD("screen", RASTER)
18831881   MDRV_SCREEN_REFRESH_RATE(54)
r9191r9192
18981896   MDRV_SOUND_CONFIG(ymf271_config)
18991897   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
19001898   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1901MACHINE_DRIVER_END
1899MACHINE_CONFIG_END
19021900
19031901static MACHINE_START( sxx2f )
19041902{
r9191r9192
19221920   sb_coin_latch = 0;
19231921}
19241922
1925static MACHINE_DRIVER_START( sxx2f ) /* Intel i386DX @ 25MHz, YMF271 @ 16.9344MHz, Z80 @ 7.159MHz(?) */
1923static MACHINE_CONFIG_DERIVED( sxx2f, spi ) /* Intel i386DX @ 25MHz, YMF271 @ 16.9344MHz, Z80 @ 7.159MHz(?) */
19261924
1927   MDRV_IMPORT_FROM(spi)
1928
19291925   MDRV_MACHINE_START(sxx2f)
19301926   MDRV_MACHINE_RESET(sxx2f)
19311927
1932   MDRV_NVRAM_HANDLER(0)
1928   MDRV_DEVICE_REMOVE("flash0")
1929   MDRV_DEVICE_REMOVE("flash1")
19331930
1934MACHINE_DRIVER_END
1931MACHINE_CONFIG_END
19351932
1936static MACHINE_DRIVER_START( sxx2g ) /* single board version using measured clocks */
1933static MACHINE_CONFIG_DERIVED( sxx2g, spi ) /* single board version using measured clocks */
19371934
1938   MDRV_IMPORT_FROM(spi)
1939
19401935   MDRV_CPU_MODIFY("maincpu")
19411936   MDRV_CPU_CLOCK(28636360) /* AMD AM386DX/DX-40, 28.63636MHz */
19421937
r9191r9192
19521947   MDRV_MACHINE_START(sxx2f)
19531948   MDRV_MACHINE_RESET(sxx2f)
19541949
1955   MDRV_NVRAM_HANDLER(0)
1950   MDRV_DEVICE_REMOVE("flash0")
1951   MDRV_DEVICE_REMOVE("flash1")
19561952
1957MACHINE_DRIVER_END
1953MACHINE_CONFIG_END
19581954
19591955static READ32_HANDLER ( senkyu_speedup_r )
19601956{
r9191r9192
20832079
20842080static void init_spi(running_machine *machine)
20852081{
2086   intelflash_init( machine, 0, FLASH_INTEL_E28F008SA, NULL );
2087   intelflash_init( machine, 1, FLASH_INTEL_E28F008SA, NULL );
2082   flash[0] = machine->device<intel_e28f008sa_device>("flash0");
2083   flash[1] = machine->device<intel_e28f008sa_device>("flash1");
20882084
20892085   seibuspi_text_decrypt(memory_region(machine, "gfx1"));
20902086   seibuspi_bg_decrypt(memory_region(machine, "gfx2"), memory_region_length(machine, "gfx2"));
r9191r9192
21452141
21462142static void init_rf2(running_machine *machine)
21472143{
2148   intelflash_init( machine, 0, FLASH_INTEL_E28F008SA, NULL );
2149   intelflash_init( machine, 1, FLASH_INTEL_E28F008SA, NULL );
2144   flash[0] = machine->device<intel_e28f008sa_device>("flash0");
2145   flash[1] = machine->device<intel_e28f008sa_device>("flash1");
21502146
21512147   memory_install_read32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x0282AC, 0x0282AF, 0, 0, rf2_speedup_r );
21522148   seibuspi_rise10_text_decrypt(memory_region(machine, "gfx1"));
r9191r9192
21692165
21702166static void init_rfjet(running_machine *machine)
21712167{
2172   intelflash_init( machine, 0, FLASH_INTEL_E28F008SA, NULL );
2173   intelflash_init( machine, 1, FLASH_INTEL_E28F008SA, NULL );
2168   flash[0] = machine->device<intel_e28f008sa_device>("flash0");
2169   flash[1] = machine->device<intel_e28f008sa_device>("flash1");
21742170
21752171   memory_install_read32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x002894c, 0x002894f, 0, 0, rfjet_speedup_r );
21762172   seibuspi_rise11_text_decrypt(memory_region(machine, "gfx1"));
r9191r9192
22022198   cpu_set_irq_callback(machine->device("maincpu"), spi_irq_callback);
22032199}
22042200
2205static MACHINE_DRIVER_START( seibu386 )
2201static MACHINE_CONFIG_START( seibu386, driver_device )
22062202
22072203   /* basic machine hardware */
22082204   MDRV_CPU_ADD("maincpu", I386, 40000000)   /* AMD 386DX, 40MHz */
r9191r9192
22342230
22352231   MDRV_OKIM6295_ADD("oki2", 1431815, OKIM6295_PIN7_HIGH)
22362232   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
2237MACHINE_DRIVER_END
2233MACHINE_CONFIG_END
22382234
22392235/* SYS386-F V2.0 */
22402236static DRIVER_INIT( sys386f2 )
r9191r9192
22562252   }
22572253}
22582254
2259static MACHINE_DRIVER_START( sys386f2 )
2255static MACHINE_CONFIG_START( sys386f2, driver_device )
22602256
22612257   /* basic machine hardware */
22622258   MDRV_CPU_ADD("maincpu", I386, 25000000)   /* 25mhz */
r9191r9192
22882284   MDRV_SOUND_ADD("ymz", YMZ280B, 16934400)
22892285   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
22902286   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2291MACHINE_DRIVER_END
2287MACHINE_CONFIG_END
22922288
22932289
22942290/*******************************************************************/
src/mame/drivers/coolpool.c
r9191r9192
2929#include "cpu/tms32025/tms32025.h"
3030#include "video/tlc34076.h"
3131#include "sound/dac.h"
32#include "machine/nvram.h"
3233#include "includes/coolpool.h"
3334
3435
r9191r9192
187188   if (ACCESSING_BITS_0_7)
188189   {
189190      if (nvram_write_enable)
190         space->machine->generic.nvram.u16[offset] = data & 0xff;
191      {
192         coolpool_state *state = space->machine->driver_data<coolpool_state>();
193         state->m_nvram[offset] = data & 0xff;
194      }
191195   }
192196}
193197
r9191r9192
657661   AM_RANGE(0x00000000, 0x000fffff) AM_RAM AM_BASE_MEMBER(coolpool_state,vram_base)
658662   AM_RANGE(0x04000000, 0x0400000f) AM_WRITE(amerdart_misc_w)
659663   AM_RANGE(0x05000000, 0x0500000f) AM_READWRITE(amerdart_iop_r, amerdart_iop_w)
660   AM_RANGE(0x06000000, 0x06007fff) AM_RAM_WRITE(nvram_thrash_data_w) AM_BASE_SIZE_GENERIC(nvram)
664   AM_RANGE(0x06000000, 0x06007fff) AM_RAM_WRITE(nvram_thrash_data_w) AM_SHARE("nvram")
661665   AM_RANGE(0xc0000000, 0xc00001ff) AM_READWRITE(tms34010_io_register_r, tms34010_io_register_w)
662666   AM_RANGE(0xffb00000, 0xffffffff) AM_ROM AM_REGION("user1", 0)
663667ADDRESS_MAP_END
r9191r9192
669673   AM_RANGE(0x02000000, 0x020000ff) AM_READWRITE(coolpool_iop_r, coolpool_iop_w)
670674   AM_RANGE(0x03000000, 0x0300000f) AM_WRITE(coolpool_misc_w)
671675   AM_RANGE(0x03000000, 0x03ffffff) AM_ROM AM_REGION("gfx1", 0)
672   AM_RANGE(0x06000000, 0x06007fff) AM_RAM_WRITE(nvram_thrash_data_w) AM_BASE_SIZE_GENERIC(nvram)
676   AM_RANGE(0x06000000, 0x06007fff) AM_RAM_WRITE(nvram_thrash_data_w) AM_SHARE("nvram")
673677   AM_RANGE(0xc0000000, 0xc00001ff) AM_READWRITE(tms34010_io_register_r, tms34010_io_register_w)
674678   AM_RANGE(0xffe00000, 0xffffffff) AM_ROM AM_REGION("user1", 0)
675679ADDRESS_MAP_END
r9191r9192
680684   AM_RANGE(0x02000000, 0x020000ff) AM_READWRITE(coolpool_iop_r, coolpool_iop_w)
681685   AM_RANGE(0x03000000, 0x0300000f) AM_WRITE(coolpool_misc_w)
682686   AM_RANGE(0x04000000, 0x040000ff) AM_DEVREADWRITE8("tlc34076", tlc34076_r, tlc34076_w, 0x00ff)   // IMSG176P-40
683   AM_RANGE(0x06000000, 0x0601ffff) AM_MIRROR(0x00020000) AM_RAM_WRITE(nvram_thrash_data_w) AM_BASE_SIZE_GENERIC(nvram)
687   AM_RANGE(0x06000000, 0x0601ffff) AM_MIRROR(0x00020000) AM_RAM_WRITE(nvram_thrash_data_w) AM_SHARE("nvram")
684688   AM_RANGE(0xc0000000, 0xc00001ff) AM_READWRITE(tms34010_io_register_r, tms34010_io_register_w)
685689   AM_RANGE(0xff000000, 0xff7fffff) AM_ROM AM_REGION("gfx1", 0)
686690   AM_RANGE(0xffc00000, 0xffffffff) AM_ROM AM_REGION("user1", 0)
r9191r9192
862866 *
863867 *************************************/
864868
865static MACHINE_DRIVER_START( amerdart )
869static MACHINE_CONFIG_START( amerdart, coolpool_state )
866870
867   MDRV_DRIVER_DATA( coolpool_state )
868
869871   /* basic machine hardware */
870872   MDRV_CPU_ADD("maincpu", TMS34010, XTAL_40MHz)
871873   MDRV_CPU_CONFIG(tms_config_amerdart)
r9191r9192
878880   MDRV_TIMER_ADD_SCANLINE("audioint", amerdart_audio_int_gen, "screen", 0, 1)
879881
880882   MDRV_MACHINE_RESET(amerdart)
881   MDRV_NVRAM_HANDLER(generic_0fill)
883   MDRV_NVRAM_ADD_0FILL("nvram")
882884
883885   MDRV_TIMER_ADD("nvram_timer", nvram_write_timeout)
884886
r9191r9192
894896
895897   MDRV_SOUND_ADD("dac", DAC, 0)
896898   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
897MACHINE_DRIVER_END
899MACHINE_CONFIG_END
898900
899901
900static MACHINE_DRIVER_START( coolpool )
902static MACHINE_CONFIG_START( coolpool, coolpool_state )
901903
902   MDRV_DRIVER_DATA( coolpool_state )
903
904904   /* basic machine hardware */
905905   MDRV_CPU_ADD("maincpu", TMS34010, XTAL_40MHz)
906906   MDRV_CPU_CONFIG(tms_config_coolpool)
r9191r9192
911911   MDRV_CPU_IO_MAP(coolpool_dsp_io_map)
912912
913913   MDRV_MACHINE_RESET(coolpool)
914   MDRV_NVRAM_HANDLER(generic_0fill)
914   MDRV_NVRAM_ADD_0FILL("nvram")
915915
916916   MDRV_TIMER_ADD("nvram_timer", nvram_write_timeout)
917917
r9191r9192
929929
930930   MDRV_SOUND_ADD("dac", DAC, 0)
931931   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
932MACHINE_DRIVER_END
932MACHINE_CONFIG_END
933933
934934
935static MACHINE_DRIVER_START( 9ballsht )
936   MDRV_IMPORT_FROM(coolpool)
935static MACHINE_CONFIG_DERIVED( 9ballsht, coolpool )
937936
938937   MDRV_CPU_MODIFY("maincpu")
939938   MDRV_CPU_PROGRAM_MAP(nballsht_map)
940MACHINE_DRIVER_END
939MACHINE_CONFIG_END
941940
942941
943942
src/mame/drivers/sauro.c
r9191r9192
124124#include "cpu/z80/z80.h"
125125#include "sound/3812intf.h"
126126#include "sound/sp0256.h"
127#include "includes/sauro.h"
128#include "machine/nvram.h"
127129
128extern UINT8 *tecfri_videoram;
129extern UINT8 *tecfri_colorram;
130extern UINT8 *tecfri_videoram2;
131extern UINT8 *tecfri_colorram2;
132130
133WRITE8_HANDLER( tecfri_videoram_w );
134WRITE8_HANDLER( tecfri_colorram_w );
135WRITE8_HANDLER( tecfri_videoram2_w );
136WRITE8_HANDLER( tecfri_colorram2_w );
137WRITE8_HANDLER( tecfri_scroll_bg_w );
138WRITE8_HANDLER( sauro_scroll_fg_w );
139WRITE8_HANDLER( sauro_palette_bank_w );
140
141VIDEO_START( sauro );
142VIDEO_START( trckydoc );
143
144VIDEO_UPDATE( sauro );
145VIDEO_UPDATE( trckydoc );
146
147
148131static WRITE8_HANDLER( sauro_sound_command_w )
149132{
150133   data |= 0x80;
r9191r9192
182165
183166static ADDRESS_MAP_START( sauro_map, ADDRESS_SPACE_PROGRAM, 8 )
184167   AM_RANGE(0x0000, 0xdfff) AM_ROM
185   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
186   AM_RANGE(0xe800, 0xebff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
187   AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(tecfri_videoram_w) AM_BASE(&tecfri_videoram)
188   AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(tecfri_colorram_w) AM_BASE(&tecfri_colorram)
189   AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(tecfri_videoram2_w) AM_BASE(&tecfri_videoram2)
190   AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(tecfri_colorram2_w) AM_BASE(&tecfri_colorram2)
168   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
169   AM_RANGE(0xe800, 0xebff) AM_RAM AM_BASE_SIZE_MEMBER(sauro_state, spriteram, spriteram_size)
170   AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(tecfri_videoram_w) AM_BASE_MEMBER(sauro_state, videoram)
171   AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(tecfri_colorram_w) AM_BASE_MEMBER(sauro_state, colorram)
172   AM_RANGE(0xf800, 0xfbff) AM_RAM_WRITE(tecfri_videoram2_w) AM_BASE_MEMBER(sauro_state, videoram2)
173   AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(tecfri_colorram2_w) AM_BASE_MEMBER(sauro_state, colorram2)
191174ADDRESS_MAP_END
192175
193176static ADDRESS_MAP_START( sauro_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
228211
229212static ADDRESS_MAP_START( trckydoc_map, ADDRESS_SPACE_PROGRAM, 8 )
230213   AM_RANGE(0x0000, 0xdfff) AM_ROM
231   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
232   AM_RANGE(0xe800, 0xebff) AM_RAM AM_MIRROR(0x400) AM_BASE_SIZE_GENERIC(spriteram)
233   AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(tecfri_videoram_w) AM_BASE(&tecfri_videoram)
234   AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(tecfri_colorram_w) AM_BASE(&tecfri_colorram)
214   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
215   AM_RANGE(0xe800, 0xebff) AM_RAM AM_MIRROR(0x400) AM_BASE_SIZE_MEMBER(sauro_state, spriteram, spriteram_size)
216   AM_RANGE(0xf000, 0xf3ff) AM_RAM_WRITE(tecfri_videoram_w) AM_BASE_MEMBER(sauro_state, videoram)
217   AM_RANGE(0xf400, 0xf7ff) AM_RAM_WRITE(tecfri_colorram_w) AM_BASE_MEMBER(sauro_state, colorram)
235218   AM_RANGE(0xf800, 0xf800) AM_READ_PORT("DSW1")
236219   AM_RANGE(0xf808, 0xf808) AM_READ_PORT("DSW2")
237220   AM_RANGE(0xf810, 0xf810) AM_READ_PORT("P1")
r9191r9192
388371   cpu_set_input_line(device, 0, HOLD_LINE);
389372}
390373
391static MACHINE_DRIVER_START( tecfri )
374static MACHINE_CONFIG_START( tecfri, sauro_state )
375
392376   /* basic machine hardware */
393377   MDRV_CPU_ADD("maincpu", Z80, XTAL_20MHz/4)       /* verified on pcb */
394378   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
395379
396   MDRV_NVRAM_HANDLER(generic_1fill)
380   MDRV_NVRAM_ADD_1FILL("nvram")
397381
398382   /* video hardware */
399383   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
412396   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_20MHz/8)       /* verified on pcb */
413397   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
414398
415MACHINE_DRIVER_END
399MACHINE_CONFIG_END
416400
417static MACHINE_DRIVER_START( trckydoc )
418   MDRV_IMPORT_FROM(tecfri)
401static MACHINE_CONFIG_DERIVED( trckydoc, tecfri )
419402
420403   MDRV_CPU_MODIFY("maincpu")
421404   MDRV_CPU_PROGRAM_MAP(trckydoc_map)
r9191r9192
425408   MDRV_VIDEO_START(trckydoc)
426409   MDRV_VIDEO_UPDATE(trckydoc)
427410
428MACHINE_DRIVER_END
411MACHINE_CONFIG_END
429412
430static MACHINE_DRIVER_START( sauro )
431   MDRV_IMPORT_FROM(tecfri)
413static MACHINE_CONFIG_DERIVED( sauro, tecfri )
432414
433415   MDRV_CPU_MODIFY("maincpu")
434416   MDRV_CPU_PROGRAM_MAP(sauro_map)
r9191r9192
446428   MDRV_SOUND_ADD("speech", SP0256, 3120000)
447429   MDRV_SOUND_CONFIG(sauro_sp256)
448430   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
449MACHINE_DRIVER_END
431MACHINE_CONFIG_END
450432
451433/***************************************************************************
452434
src/mame/drivers/timetrv.c
r9191r9192
125125   cpu_set_input_line_and_vector(device,0,HOLD_LINE,0x48/4); //ld irq
126126}
127127
128static MACHINE_DRIVER_START( timetrv )
128static MACHINE_CONFIG_START( timetrv, driver_device )
129129
130130   /* basic machine hardware */
131131   MDRV_CPU_ADD("maincpu",I80188,20000000) //???
r9191r9192
147147   MDRV_VIDEO_UPDATE(timetrv)
148148
149149   /* sound hardware */
150MACHINE_DRIVER_END
150MACHINE_CONFIG_END
151151
152152/***************************************************************************
153153
src/mame/drivers/midtunit.c
r9191r9192
2424#include "cpu/adsp2100/adsp2100.h"
2525#include "audio/williams.h"
2626#include "audio/dcs.h"
27#include "machine/nvram.h"
2728#include "includes/midtunit.h"
2829
2930
r9191r9192
4243   ADDRESS_MAP_UNMAP_HIGH
4344   AM_RANGE(0x00000000, 0x003fffff) AM_READWRITE(midtunit_vram_r, midtunit_vram_w)
4445   AM_RANGE(0x01000000, 0x013fffff) AM_RAM
45   AM_RANGE(0x01400000, 0x0141ffff) AM_READWRITE(midtunit_cmos_r, midtunit_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
46   AM_RANGE(0x01400000, 0x0141ffff) AM_READWRITE(midtunit_cmos_r, midtunit_cmos_w) AM_SHARE("nvram")
4647   AM_RANGE(0x01480000, 0x014fffff) AM_WRITE(midtunit_cmos_enable_w)
4748   AM_RANGE(0x01600000, 0x0160003f) AM_READ(midtunit_input_r)
4849   AM_RANGE(0x01800000, 0x0187ffff) AM_RAM_WRITE(midtunit_paletteram_w) AM_BASE_GENERIC(paletteram)
r9191r9192
600601 *
601602 *************************************/
602603
603static MACHINE_DRIVER_START( tunit_core )
604static MACHINE_CONFIG_START( tunit_core, midtunit_state )
604605
605606   /* basic machine hardware */
606607   MDRV_CPU_ADD("maincpu", TMS34010, CPU_CLOCK)
r9191r9192
608609   MDRV_CPU_PROGRAM_MAP(main_map)
609610
610611   MDRV_MACHINE_RESET(midtunit)
611   MDRV_NVRAM_HANDLER(generic_0fill)
612   MDRV_NVRAM_ADD_0FILL("nvram")
612613
613614   /* video hardware */
614615   MDRV_PALETTE_LENGTH(32768)
r9191r9192
619620
620621   MDRV_VIDEO_START(midtunit)
621622   MDRV_VIDEO_UPDATE(tms340x0)
622MACHINE_DRIVER_END
623MACHINE_CONFIG_END
623624
624625
625static MACHINE_DRIVER_START( tunit_adpcm )
626static MACHINE_CONFIG_DERIVED( tunit_adpcm, tunit_core )
626627
627628   /* basic machine hardware */
628   MDRV_IMPORT_FROM(tunit_core)
629   MDRV_IMPORT_FROM(williams_adpcm_sound)
630MACHINE_DRIVER_END
629   MDRV_FRAGMENT_ADD(williams_adpcm_sound)
630MACHINE_CONFIG_END
631631
632632
633static MACHINE_DRIVER_START( tunit_dcs )
633static MACHINE_CONFIG_DERIVED( tunit_dcs, tunit_core )
634634
635635   /* basic machine hardware */
636   MDRV_IMPORT_FROM(tunit_core)
637   MDRV_IMPORT_FROM(dcs_audio_2k)
638MACHINE_DRIVER_END
636   MDRV_FRAGMENT_ADD(dcs_audio_2k)
637MACHINE_CONFIG_END
639638
640639
641640
src/mame/drivers/drmicro.c
r9191r9192
247247}
248248
249249
250static MACHINE_DRIVER_START( drmicro )
250static MACHINE_CONFIG_START( drmicro, drmicro_state )
251251
252   /* driver data */
253   MDRV_DRIVER_DATA(drmicro_state)
254
255252   /* basic machine hardware */
256253   MDRV_CPU_ADD("maincpu", Z80,MCLK/6)   /* 3.072MHz? */
257254   MDRV_CPU_PROGRAM_MAP(drmicro_map)
r9191r9192
293290   MDRV_SOUND_ADD("msm", MSM5205, 384000)
294291   MDRV_SOUND_CONFIG(msm5205_config)
295292   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
296MACHINE_DRIVER_END
293MACHINE_CONFIG_END
297294
298295/*************************************
299296 *
src/mame/drivers/system1.c
r9191r9192
188188******************************************************************************/
189189
190190#include "emu.h"
191#include "video/system1.h"
192191#include "cpu/z80/z80.h"
193192#include "cpu/mcs51/mcs51.h"
194193#include "machine/z80pio.h"
r9191r9192
197196#include "machine/segacrp2.h"
198197#include "machine/mc8123.h"
199198#include "sound/sn76496.h"
199#include "includes/system1.h"
200200
201201
202202#define MASTER_CLOCK   XTAL_20MHz
r9191r9192
20992099 *************************************/
21002100
21012101/* original board with 64kbit ROMs and an 8255 PPI for outputs */
2102static MACHINE_DRIVER_START( sys1ppi )
2102static MACHINE_CONFIG_START( sys1ppi, system1_state )
21032103
21042104   /* basic machine hardware */
21052105   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK)   /* not really, see notes above */
r9191r9192
21372137
21382138   MDRV_SOUND_ADD("sn2", SN76489A, SOUND_CLOCK/2)   /* selectable via jumper */
21392139   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
2140MACHINE_DRIVER_END
2140MACHINE_CONFIG_END
21412141
21422142/* reduced visible area for scrolling games */
2143static MACHINE_DRIVER_START( sys1ppis )
2144   MDRV_IMPORT_FROM( sys1ppi )
2143static MACHINE_CONFIG_DERIVED( sys1ppis, sys1ppi )
21452144
21462145   /* video hardware */
21472146   MDRV_SCREEN_MODIFY("screen")
21482147   MDRV_SCREEN_VISIBLE_AREA(0*8+8, 32*8-1-8, 0*8, 28*8-1)
2149MACHINE_DRIVER_END
2148MACHINE_CONFIG_END
21502149
21512150
21522151
21532152/* revised board with 128kbit ROMs and a Z80 PIO for outputs */
2154static MACHINE_DRIVER_START( sys1pio )
2155   MDRV_IMPORT_FROM( sys1ppi )
2153static MACHINE_CONFIG_DERIVED( sys1pio, sys1ppi )
21562154
21572155   MDRV_CPU_MODIFY("maincpu")
21582156   MDRV_CPU_IO_MAP(system1_pio_io_map)
21592157
21602158   MDRV_DEVICE_REMOVE("ppi")
21612159   MDRV_Z80PIO_ADD("pio", MASTER_CLOCK, pio_interface)
2162MACHINE_DRIVER_END
2160MACHINE_CONFIG_END
21632161
21642162/* reduced visible area for scrolling games */
2165static MACHINE_DRIVER_START( sys1pios )
2166   MDRV_IMPORT_FROM( sys1pio )
2163static MACHINE_CONFIG_DERIVED( sys1pios, sys1pio )
21672164
21682165   /* video hardware */
21692166   MDRV_SCREEN_MODIFY("screen")
21702167   MDRV_SCREEN_VISIBLE_AREA(0*8+8, 32*8-1-8, 0*8, 28*8-1)
2171MACHINE_DRIVER_END
2168MACHINE_CONFIG_END
21722169
21732170
21742171
21752172/* this describes the additional 8751 MCU when present */
2176static MACHINE_DRIVER_START( mcu )
2173static MACHINE_CONFIG_FRAGMENT( mcu )
21772174
21782175   /* basic machine hardware */
21792176   MDRV_CPU_MODIFY("maincpu")
r9191r9192
21842181   MDRV_CPU_VBLANK_INT("screen", mcu_irq_assert)
21852182
21862183   MDRV_TIMER_ADD_PERIODIC("mcu_t0", mcu_t0_callback, MSEC(20))   /* ??? actual clock unknown */
2187MACHINE_DRIVER_END
2184MACHINE_CONFIG_END
21882185
21892186
21902187
21912188/* alternate program map with RAM/collision swapped */
2192static MACHINE_DRIVER_START( nob )
2193   MDRV_IMPORT_FROM( sys1ppi )
2189static MACHINE_CONFIG_DERIVED( nob, sys1ppi )
21942190
21952191   /* basic machine hardware */
21962192   MDRV_CPU_MODIFY("maincpu")
21972193   MDRV_CPU_PROGRAM_MAP(nobo_map)
2198MACHINE_DRIVER_END
2194MACHINE_CONFIG_END
21992195
2200static MACHINE_DRIVER_START( nobm )
2201   MDRV_IMPORT_FROM( nob )
2196static MACHINE_CONFIG_DERIVED( nobm, nob )
22022197
22032198   /* basic machine hardware */
22042199   MDRV_CPU_ADD("mcu", I8751, SOUND_CLOCK)
22052200   MDRV_CPU_IO_MAP(nob_mcu_io_map)
2206MACHINE_DRIVER_END
2201MACHINE_CONFIG_END
22072202
22082203
22092204
22102205/* system2 video */
2211static MACHINE_DRIVER_START( sys2 )
2212   MDRV_IMPORT_FROM( sys1ppi )
2206static MACHINE_CONFIG_DERIVED( sys2, sys1ppi )
22132207
22142208   MDRV_MACHINE_START(system2)
22152209
22162210   /* video hardware */
22172211   MDRV_VIDEO_START(system2)
22182212   MDRV_VIDEO_UPDATE(system2)
2219MACHINE_DRIVER_END
2213MACHINE_CONFIG_END
22202214
2221static MACHINE_DRIVER_START( sys2m )
2222   MDRV_IMPORT_FROM( sys2 )
2223   MDRV_IMPORT_FROM( mcu )
2224MACHINE_DRIVER_END
2215static MACHINE_CONFIG_DERIVED( sys2m, sys2 )
2216   MDRV_FRAGMENT_ADD( mcu )
2217MACHINE_CONFIG_END
22252218
22262219/* system2 with rowscroll */
2227static MACHINE_DRIVER_START( sys2row )
2228   MDRV_IMPORT_FROM( sys2 )
2220static MACHINE_CONFIG_DERIVED( sys2row, sys2 )
22292221
22302222   /* video hardware */
22312223   MDRV_VIDEO_UPDATE(system2_rowscroll)
2232MACHINE_DRIVER_END
2224MACHINE_CONFIG_END
22332225
2234static MACHINE_DRIVER_START( sys2rowm )
2235   MDRV_IMPORT_FROM( sys2row )
2236   MDRV_IMPORT_FROM( mcu )
2237MACHINE_DRIVER_END
2226static MACHINE_CONFIG_DERIVED( sys2rowm, sys2row )
2227   MDRV_FRAGMENT_ADD( mcu )
2228MACHINE_CONFIG_END
22382229
22392230
22402231
src/mame/drivers/quizo.c
r9191r9192
2727#include "cpu/z80/z80.h"
2828#include "sound/ay8910.h"
2929
30
31class quizo_state : public driver_device
32{
33public:
34   quizo_state(running_machine &machine, const driver_device_config_base &config)
35      : driver_device(machine, config) { }
36
37   UINT8 *videoram;
38};
39
40
3041#define XTAL1    8000000
3142#define XTAL2   21477270
3243
r9191r9192
6576
6677static VIDEO_UPDATE( quizo )
6778{
79   quizo_state *state = screen->machine->driver_data<quizo_state>();
80   UINT8 *videoram = state->videoram;
6881   int x,y;
6982   for(y=0;y<200;y++)
7083   {
7184      for(x=0;x<80;x++)
7285      {
73         int data=screen->machine->generic.videoram.u8[y*80+x];
74         int data1=screen->machine->generic.videoram.u8[y*80+x+0x4000];
86         int data=videoram[y*80+x];
87         int data1=videoram[y*80+x+0x4000];
7588         int pix;
7689
7790         pix=(data&1)|(((data>>4)&1)<<1)|((data1&1)<<2)|(((data1>>4)&1)<<3);
r9191r9192
95108
96109static WRITE8_HANDLER(vram_w)
97110{
111   quizo_state *state = space->machine->driver_data<quizo_state>();
112   UINT8 *videoram = state->videoram;
98113   int bank=(port70&8)?1:0;
99   space->machine->generic.videoram.u8[offset+bank*0x4000]=data;
114   videoram[offset+bank*0x4000]=data;
100115}
101116
102117static WRITE8_HANDLER(port70_w)
r9191r9192
183198   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
184199INPUT_PORTS_END
185200
186static MACHINE_DRIVER_START( quizo )
201static MACHINE_CONFIG_START( quizo, quizo_state )
187202   /* basic machine hardware */
188203   MDRV_CPU_ADD("maincpu", Z80,XTAL1/2)
189204   MDRV_CPU_PROGRAM_MAP(memmap)
r9191r9192
208223   MDRV_SPEAKER_STANDARD_MONO("mono")
209224   MDRV_SOUND_ADD("aysnd", AY8910, XTAL2/16 )
210225   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
211MACHINE_DRIVER_END
226MACHINE_CONFIG_END
212227
213228
214229ROM_START( quizo )
r9191r9192
244259
245260static DRIVER_INIT(quizo)
246261{
247   machine->generic.videoram.u8=auto_alloc_array(machine, UINT8, 0x4000*2);
262   quizo_state *state = machine->driver_data<quizo_state>();
263   state->videoram=auto_alloc_array(machine, UINT8, 0x4000*2);
248264}
249265
250266GAME( 1985, quizo,  0,       quizo,  quizo,  quizo, ROT0, "Seoul Coin Corp.", "Quiz Olympic (set 1)", 0 )
src/mame/drivers/niyanpai.c
r9191r9192
4141#include "sound/dac.h"
4242#include "sound/3812intf.h"
4343#include "cpu/z80/z80daisy.h"
44#include "machine/nvram.h"
4445#include "includes/niyanpai.h"
4546
4647
r9191r9192
273274
274275static ADDRESS_MAP_START( niyanpai_map, ADDRESS_SPACE_PROGRAM, 16 )
275276   AM_RANGE(0x000000, 0x03ffff) AM_ROM
276   AM_RANGE(0x040000, 0x040fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
277   AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("nvram")
277278
278279   AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w)
279280   AM_RANGE(0x0a0900, 0x0a11ff) AM_RAM   // palette work ram?
r9191r9192
313314   AM_RANGE(0x0a0000, 0x0a08ff) AM_READWRITE(niyanpai_palette_r,niyanpai_palette_w)
314315   AM_RANGE(0x0a0900, 0x0a11ff) AM_RAM            // palette work ram?
315316
316   AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
317   AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram")
317318   AM_RANGE(0x0bf800, 0x0bffff) AM_RAM
318319
319320   AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w)
r9191r9192
352353   AM_RANGE(0x060900, 0x0611ff) AM_RAM            // palette work ram?
353354   AM_RANGE(0x07f800, 0x07ffff) AM_RAM
354355
355   AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
356   AM_RANGE(0x0a8000, 0x0a87ff) AM_RAM AM_SHARE("nvram")
356357   AM_RANGE(0x0bf000, 0x0bffff) AM_RAM
357358
358359   AM_RANGE(0x200000, 0x200001) AM_WRITE(niyanpai_sound_w)
r9191r9192
771772};
772773
773774
774static MACHINE_DRIVER_START( niyanpai )
775static MACHINE_CONFIG_START( niyanpai, driver_device )
775776
776777   /* basic machine hardware */
777778   MDRV_CPU_ADD("maincpu", M68000, 12288000/2)   /* TMP68301, 6.144 MHz */
r9191r9192
786787   MDRV_Z80CTC_ADD("ctc", 8000000 /* same as "audiocpu" */, ctc_intf)
787788
788789   MDRV_MACHINE_RESET(niyanpai)
789   MDRV_NVRAM_HANDLER(generic_0fill)
790   MDRV_NVRAM_ADD_0FILL("nvram")
790791
791792   /* video hardware */
792793   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
812813
813814   MDRV_SOUND_ADD("dac2", DAC, 0)
814815   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
815MACHINE_DRIVER_END
816MACHINE_CONFIG_END
816817
817static MACHINE_DRIVER_START( musobana )
818static MACHINE_CONFIG_DERIVED( musobana, niyanpai )
818819
819820   /* basic machine hardware */
820   MDRV_IMPORT_FROM(niyanpai)
821821   MDRV_CPU_MODIFY("maincpu")
822822   MDRV_CPU_PROGRAM_MAP(musobana_map)
823MACHINE_DRIVER_END
823MACHINE_CONFIG_END
824824
825static MACHINE_DRIVER_START( mhhonban )
825static MACHINE_CONFIG_DERIVED( mhhonban, niyanpai )
826826
827827   /* basic machine hardware */
828   MDRV_IMPORT_FROM(niyanpai)
829828   MDRV_CPU_MODIFY("maincpu")
830829   MDRV_CPU_PROGRAM_MAP(mhhonban_map)
831MACHINE_DRIVER_END
830MACHINE_CONFIG_END
832831
833832
834833ROM_START( niyanpai )
src/mame/drivers/bfm_sc2.c
r9191r9192
139139#include "emu.h"
140140#include "cpu/m6809/m6809.h"
141141
142#include "machine/nvram.h"
143
142144#include "video/bfm_adr2.h"
143145
144146#include "sound/2413intf.h"
r9191r9192
188190// local vars /////////////////////////////////////////////////////////////
189191
190192static UINT8 *nvram;      // pointer to NVRAM
191static size_t nvram_size;   // size of NVRAM
192193static UINT8 key[16];      // security device on gamecard (video games only)
193194
194195static UINT8 e2ram[1024];   // x24C08 e2ram
r9191r9192
443444   static const UINT8 init_e2ram[10] = { 1, 4, 10, 20, 0, 1, 1, 4, 10, 20 };
444445   if ( read_or_write )
445446   {   // writing
446      mame_fwrite(file,nvram,nvram_size);
447447      mame_fwrite(file,e2ram,sizeof(e2ram));
448448   }
449449   else
450450   { // reading
451451      if ( file )
452452      {
453         mame_fread(file,nvram,nvram_size);
454453         mame_fread(file,e2ram,sizeof(e2ram));
455454      }
456455      else
457456      {
458         memset(nvram,0x00,nvram_size);
459457         memset(e2ram,0x00,sizeof(e2ram));
460458         memcpy(e2ram,init_e2ram,sizeof(init_e2ram));
461459      }
r9191r9192
15081506
15091507static ADDRESS_MAP_START( memmap_vid, ADDRESS_SPACE_PROGRAM, 8 )
15101508
1511   AM_RANGE(0x0000, 0x1fff) AM_READWRITE(ram_r, ram_w) AM_BASE(&nvram) AM_SIZE(&nvram_size)// 8k RAM
1509   AM_RANGE(0x0000, 0x1fff) AM_READWRITE(ram_r, ram_w) AM_BASE(&nvram) AM_SHARE("nvram") // 8k RAM
15121510   AM_RANGE(0x2000, 0x2000) AM_READ(vfd_status_hop_r)      // vfd status register
15131511   AM_RANGE(0x2000, 0x20FF) AM_WRITE(reel12_vid_w)
15141512   AM_RANGE(0x2100, 0x21FF) AM_WRITE(reel34_w)
r9191r9192
22162214// machine driver for scorpion2 board + adder2 expansion //////////////////
22172215///////////////////////////////////////////////////////////////////////////
22182216
2219static MACHINE_DRIVER_START( scorpion2_vid )
2217static MACHINE_CONFIG_START( scorpion2_vid, driver_device )
22202218   MDRV_MACHINE_RESET( init )                     // main scorpion2 board initialisation
22212219   MDRV_QUANTUM_TIME(HZ(960))                           // needed for serial communication !!
22222220   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 )   // 6809 CPU at 2 Mhz
22232221   MDRV_CPU_PROGRAM_MAP(memmap_vid)               // setup scorpion2 board memorymap
22242222   MDRV_CPU_PERIODIC_INT(timer_irq, 1000)            // generate 1000 IRQ's per second
22252223
2224   MDRV_NVRAM_ADD_0FILL("nvram")
22262225   MDRV_NVRAM_HANDLER(bfm_sc2)
22272226   MDRV_DEFAULT_LAYOUT(layout_bfm_sc2)
22282227
r9191r9192
22502249
22512250   MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_3_579545MHz)
22522251   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2253MACHINE_DRIVER_END
2252MACHINE_CONFIG_END
22542253
22552254static void sc2_common_init(running_machine *machine, int decrypt)
22562255{
r9191r9192
27482747
27492748
27502749static ADDRESS_MAP_START( sc2_memmap, ADDRESS_SPACE_PROGRAM, 8 )
2751   AM_RANGE(0x0000, 0x1FFF) AM_READWRITE(ram_r, ram_w) AM_BASE(&nvram) AM_SIZE(&nvram_size)
2750   AM_RANGE(0x0000, 0x1FFF) AM_READWRITE(ram_r, ram_w) AM_BASE(&nvram) AM_SHARE("nvram")
27522751   AM_RANGE(0x2000, 0x2000) AM_READ(vfd_status_r)
27532752   AM_RANGE(0x2000, 0x20FF) AM_WRITE(reel12_w)
27542753   AM_RANGE(0x2100, 0x21FF) AM_WRITE(reel34_w)
r9191r9192
27972796
27982797/* memory map for scorpion3 board */
27992798static ADDRESS_MAP_START( sc3_memmap, ADDRESS_SPACE_PROGRAM, 8 )
2800   AM_RANGE(0x0000, 0x1FFF) AM_READWRITE(ram_r, ram_w) AM_BASE(&nvram) AM_SIZE(&nvram_size)
2799   AM_RANGE(0x0000, 0x1FFF) AM_READWRITE(ram_r, ram_w) AM_BASE(&nvram) AM_SHARE("nvram")
28012800   AM_RANGE(0x2000, 0x2000) AM_READ(vfd_status_r)
28022801   AM_RANGE(0x2000, 0x20FF) AM_WRITE(reel12_w)
28032802   AM_RANGE(0x2100, 0x21FF) AM_WRITE(reel34_w)
r9191r9192
28462845
28472846/* memory map for scorpion2 board + dm01 dot matrix board */
28482847static ADDRESS_MAP_START( memmap_sc2_dm01, ADDRESS_SPACE_PROGRAM, 8 )
2849   AM_RANGE(0x0000, 0x1FFF) AM_READWRITE(ram_r, ram_w) AM_BASE(&nvram) AM_SIZE(&nvram_size)
2848   AM_RANGE(0x0000, 0x1FFF) AM_READWRITE(ram_r, ram_w) AM_BASE(&nvram) AM_SHARE("nvram")
28502849   AM_RANGE(0x2000, 0x2000) AM_READ(vfd_status_dm01_r)
28512850   AM_RANGE(0x2000, 0x20FF) AM_WRITE(reel12_w)
28522851   AM_RANGE(0x2100, 0x21FF) AM_WRITE(reel34_w)
r9191r9192
33633362
33643363   PORT_START("STROBE1")
33653364   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Hold 1")
3366   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Hold 1")
3365   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Hold 1?")
33673366   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Hold 2/Hi")
33683367   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Hold 3/Lo")
33693368   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("Cancel/Collect")
r9191r9192
34493448
34503449   PORT_START("STROBE9")
34513450   PORT_SERVICE_NO_TOGGLE(0x01,IP_ACTIVE_HIGH)
3452   PORT_DIPNAME( 0x02, 0x00, "DIL05" ) PORT_DIPLOCATION("DIL:02")
3451   PORT_DIPNAME( 0x02, 0x00, "DIL02" ) PORT_DIPLOCATION("DIL:02")
34533452   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
34543453   PORT_DIPSETTING(    0x02, DEF_STR( On  ) )
34553454   PORT_DIPNAME( 0x04, 0x00, "Attract Hi/Lo reel" ) PORT_DIPLOCATION("DIL:03")
r9191r9192
38323831
38333832   PORT_START("STROBE1")
38343833   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1) PORT_NAME("Hold 1")
3835   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Hold 1")
3834   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2) PORT_NAME("Hold 1?")
38363835   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3) PORT_NAME("Hold 2/Hi")
38373836   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4) PORT_NAME("Hold 3/Lo")
38383837   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_NAME("Cancel/Collect")
r9191r9192
39183917
39193918   PORT_START("STROBE9")
39203919   PORT_SERVICE_NO_TOGGLE(0x01,IP_ACTIVE_HIGH)
3921   PORT_DIPNAME( 0x02, 0x00, "DIL05" ) PORT_DIPLOCATION("DIL:02")
3920   PORT_DIPNAME( 0x02, 0x00, "DIL02" ) PORT_DIPLOCATION("DIL:02")
39223921   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
39233922   PORT_DIPSETTING(    0x02, DEF_STR( On  ) )
39243923   PORT_DIPNAME( 0x04, 0x00, "Attract Hi/Lo reel" ) PORT_DIPLOCATION("DIL:03")
r9191r9192
39673966
39683967/* machine driver for scorpion2 board */
39693968
3970static MACHINE_DRIVER_START( scorpion2 )
3969static MACHINE_CONFIG_START( scorpion2, driver_device )
39713970   MDRV_MACHINE_RESET(awp_init)
39723971   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 )
39733972   MDRV_CPU_PROGRAM_MAP(sc2_memmap)
r9191r9192
39803979   MDRV_SOUND_ADD("ymsnd",YM2413, XTAL_3_579545MHz)
39813980   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
39823981
3982   MDRV_NVRAM_ADD_0FILL("nvram")
39833983   MDRV_NVRAM_HANDLER(bfm_sc2)
39843984
39853985   /* video hardware */
39863986   MDRV_DEFAULT_LAYOUT(layout_awpvid14)
3987MACHINE_DRIVER_END
3987MACHINE_CONFIG_END
39883988
39893989
39903990/* machine driver for scorpion3 board */
3991static MACHINE_DRIVER_START( scorpion3 )
3992   MDRV_IMPORT_FROM( scorpion2 )
3991static MACHINE_CONFIG_DERIVED( scorpion3, scorpion2 )
39933992   MDRV_CPU_MODIFY("maincpu")
39943993   MDRV_CPU_PROGRAM_MAP(sc3_memmap)
3995MACHINE_DRIVER_END
3994MACHINE_CONFIG_END
39963995
39973996
39983997/* machine driver for scorpion2 board + matrix board */
3999static MACHINE_DRIVER_START( scorpion2_dm01 )
3998static MACHINE_CONFIG_START( scorpion2_dm01, driver_device )
40003999   MDRV_MACHINE_RESET(dm01_init)
40014000   MDRV_QUANTUM_TIME(HZ(960))                           // needed for serial communication !!
40024001   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 )
r9191r9192
40104009   MDRV_SOUND_ADD("upd",UPD7759, UPD7759_STANDARD_CLOCK)
40114010   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
40124011
4012   MDRV_NVRAM_ADD_0FILL("nvram")
40134013   MDRV_NVRAM_HANDLER(bfm_sc2)
40144014
40154015   /* video hardware */
40164016   MDRV_DEFAULT_LAYOUT(layout_awpdmd)
4017   MDRV_SCREEN_ADD("screen", RASTER)
4018   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
4019   MDRV_SCREEN_SIZE( 9*8, 21)
4020   MDRV_SCREEN_VISIBLE_AREA(  0, 9*8-1, 0, 21-1)
4021   MDRV_SCREEN_REFRESH_RATE(50)
4022   MDRV_VIDEO_START( bfm_dm01)
4023   MDRV_VIDEO_UPDATE(bfm_dm01)
4024
4025   MDRV_PALETTE_LENGTH(2)
4026   MDRV_PALETTE_INIT(bfm_dm01)
4027
40284017   MDRV_CPU_ADD("matrix", M6809, 2000000 )            /* matrix board 6809 CPU at 2 Mhz ?? I don't know the exact freq.*/
40294018   MDRV_CPU_PROGRAM_MAP(bfm_dm01_memmap)
40304019   MDRV_CPU_PERIODIC_INT(bfm_dm01_vbl, 1500 )         /* generate 1500 NMI's per second ?? what is the exact freq?? */
4031MACHINE_DRIVER_END
4020MACHINE_CONFIG_END
40324021
40334022static void sc2awp_common_init(running_machine *machine,int reels, int decrypt)
40344023{
src/mame/drivers/suprnova.c
r9191r9192
191191#include "sound/ymz280b.h"
192192#include "cpu/sh2/sh2.h"
193193#include "includes/suprnova.h"
194#include "machine/nvram.h"
194195
195196#define BIOS_SKIP 1 // Skip Bios as it takes too long and doesn't complete atm.
196197
r9191r9192
768769   AM_RANGE(0x00400004, 0x00400007) AM_READ_PORT("400004")
769770   /* In between is write only */
770771   AM_RANGE(0x0040000c, 0x0040000f) AM_READ_PORT("40000c")
771   AM_RANGE(0x00800000, 0x00801fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* 'backup' RAM */
772   AM_RANGE(0x00800000, 0x00801fff) AM_RAM AM_SHARE("nvram") /* 'backup' RAM */
772773   AM_RANGE(0x00c00000, 0x00c00003) AM_DEVREADWRITE8("ymz", ymz280b_r, ymz280b_w, 0xffff0000) /* ymz280_w (sound) */
773774   AM_RANGE(0x01000000, 0x0100000f) AM_READWRITE(skns_msm6242_r, skns_msm6242_w)
774775   AM_RANGE(0x01800000, 0x01800003) AM_WRITE(skns_hit2_w)
r9191r9192
830831   0   // irq ?
831832};
832833
833static MACHINE_DRIVER_START(skns)
834static MACHINE_CONFIG_START( skns, driver_device )
834835   MDRV_CPU_ADD("maincpu", SH2,28638000)
835836   MDRV_CPU_PROGRAM_MAP(skns_map)
836837   MDRV_CPU_VBLANK_INT_HACK(skns_interrupt,2)
837838
838839   MDRV_MACHINE_RESET(skns)
839   MDRV_NVRAM_HANDLER(generic_1fill)
840   MDRV_NVRAM_ADD_1FILL("nvram")
840841
841842   MDRV_TIMER_ADD_PERIODIC("int15_timer", interrupt_callback, MSEC(2))
842843   MDRV_TIMER_PARAM(15)
r9191r9192
869870   MDRV_SOUND_CONFIG(ymz280b_intf)
870871   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
871872   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
872MACHINE_DRIVER_END
873MACHINE_CONFIG_END
873874
874875/***** BIOS SKIPPING *****/
875876
src/mame/drivers/tmmjprd.c
r9191r9192
714714   cpu_set_input_line(device, intlevel, HOLD_LINE);
715715}
716716
717static MACHINE_DRIVER_START( tmmjprd )
717static MACHINE_CONFIG_START( tmmjprd, driver_device )
718718   MDRV_CPU_ADD("maincpu",M68EC020,24000000) /* 24 MHz */
719719   MDRV_CPU_PROGRAM_MAP(tmmjprd_map)
720720   MDRV_CPU_VBLANK_INT_HACK(tmmjprd_interrupt,2)
r9191r9192
752752
753753   MDRV_VIDEO_START(tmmjprd)
754754   MDRV_VIDEO_UPDATE(tmmjprd)
755MACHINE_DRIVER_END
755MACHINE_CONFIG_END
756756
757static MACHINE_DRIVER_START( tmpdoki )
758   MDRV_IMPORT_FROM(tmmjprd)
757static MACHINE_CONFIG_DERIVED( tmpdoki, tmmjprd )
759758   MDRV_DEFAULT_LAYOUT(layout_horizont)
760MACHINE_DRIVER_END
759MACHINE_CONFIG_END
761760
762761
763762
src/mame/drivers/witch.c
r9191r9192
193193#include "cpu/z80/z80.h"
194194#include "sound/es8712.h"
195195#include "sound/2203intf.h"
196#include "machine/nvram.h"
196197
197198#define UNBANKED_SIZE 0x800
198199
r9191r9192
451452   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE_GENERIC(paletteram)
452453   AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
453454   AM_RANGE(0xf000, 0xf0ff) AM_RAM AM_SHARE("share1")
454   AM_RANGE(0xf100, 0xf17f) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
455   AM_RANGE(0xf100, 0xf17f) AM_RAM AM_SHARE("nvram")
455456   AM_RANGE(0xf180, 0xffff) AM_RAM AM_SHARE("share2")
456457ADDRESS_MAP_END
457458
r9191r9192
756757   cpu_set_input_line(device,0,ASSERT_LINE);
757758}
758759
759static MACHINE_DRIVER_START( witch )
760static MACHINE_CONFIG_START( witch, driver_device )
760761   /* basic machine hardware */
761762   MDRV_CPU_ADD("maincpu", Z80,8000000)       /* ? MHz */
762763   MDRV_CPU_PROGRAM_MAP(map_main)
r9191r9192
767768   MDRV_CPU_PROGRAM_MAP(map_sub)
768769   MDRV_CPU_VBLANK_INT("screen", witch_sub_interrupt)
769770
770   MDRV_NVRAM_HANDLER(generic_0fill)
771   MDRV_NVRAM_ADD_0FILL("nvram")
771772
772773   /* video hardware */
773774   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
797798   MDRV_SOUND_CONFIG(ym2203_interface_1)
798799   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
799800
800MACHINE_DRIVER_END
801MACHINE_CONFIG_END
801802
802803/* this set has (c)1992 Sega / Vic Tokai in the roms? */
803804ROM_START( witch )
src/mame/drivers/namcofl.c
r9191r9192
163163#include "cpu/i960/i960.h"
164164#include "cpu/m37710/m37710.h"
165165#include "sound/c352.h"
166#include "machine/nvram.h"
166167#include "namcofl.lh"
168#include "includes/namcofl.h"
167169
168170
169171static emu_timer *raster_interrupt_timer;
170172
171VIDEO_START( namcofl );
172VIDEO_UPDATE( namcofl );
173
174extern WRITE32_HANDLER(namcofl_spritebank_w);
175
176173static UINT32 *namcofl_workram;
177174static UINT16 *namcofl_shareram;
178175static UINT8 mcu_port6;
r9191r9192
240237   AM_RANGE(0x00000000, 0x000fffff) AM_RAMBANK("bank1")
241238   AM_RANGE(0x10000000, 0x100fffff) AM_RAMBANK("bank2")
242239   AM_RANGE(0x20000000, 0x201fffff) AM_ROM AM_REGION("user1", 0)   /* data */
243   AM_RANGE(0x30000000, 0x30001fff) AM_RAM   AM_BASE_SIZE_GENERIC(nvram) /* nvram */
240   AM_RANGE(0x30000000, 0x30001fff) AM_RAM   AM_SHARE("nvram") /* nvram */
244241   AM_RANGE(0x30100000, 0x30100003) AM_WRITE(namcofl_spritebank_w)
245242   AM_RANGE(0x30284000, 0x3028bfff) AM_READWRITE(namcofl_share_r, namcofl_share_w)
246243   AM_RANGE(0x30300000, 0x30303fff) AM_RAM /* COMRAM */
r9191r9192
590587}
591588
592589
593static MACHINE_DRIVER_START( namcofl )
590static MACHINE_CONFIG_START( namcofl, driver_device )
594591   MDRV_CPU_ADD("maincpu", I960, 20000000)   // i80960KA-20 == 20 MHz part
595592   MDRV_CPU_PROGRAM_MAP(namcofl_mem)
596593
r9191r9192
601598
602599   MDRV_MACHINE_START(namcofl)
603600   MDRV_MACHINE_RESET(namcofl)
604   MDRV_NVRAM_HANDLER(generic_1fill)
601   MDRV_NVRAM_ADD_1FILL("nvram")
605602
606603   MDRV_SCREEN_ADD("screen", RASTER)
607604   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
622619   MDRV_SOUND_ROUTE(1, "lspeaker", 1.00)
623620   MDRV_SOUND_ROUTE(2, "rspeaker", 1.00)
624621   MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
625MACHINE_DRIVER_END
622MACHINE_CONFIG_END
626623
627624ROM_START( speedrcr )
628625   ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
src/mame/drivers/luckgrln.c
r9191r9192
815815      cputag_set_input_line(device->machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
816816}
817817
818static MACHINE_DRIVER_START( luckgrln )
818static MACHINE_CONFIG_START( luckgrln, driver_device )
819819   MDRV_CPU_ADD("maincpu", Z180,8000000)
820820   MDRV_CPU_PROGRAM_MAP(mainmap)
821821   MDRV_CPU_IO_MAP(portmap)
r9191r9192
838838
839839   MDRV_SPEAKER_STANDARD_MONO("mono")
840840
841MACHINE_DRIVER_END
841MACHINE_CONFIG_END
842842
843843static DRIVER_INIT( luckgrln )
844844{
src/mame/drivers/dynax.c
r9191r9192
8282#include "sound/3812intf.h"
8383#include "sound/msm5205.h"
8484#include "sound/2413intf.h"
85#include "machine/nvram.h"
8586#include "rendlay.h"
8687
8788/***************************************************************************
r9191r9192
471472
472473static ADDRESS_MAP_START( sprtmtch_mem_map, ADDRESS_SPACE_PROGRAM, 8 )
473474   AM_RANGE( 0x0000, 0x6fff ) AM_ROM
474   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
475   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
475476   AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
476477ADDRESS_MAP_END
477478
478479static ADDRESS_MAP_START( hnoridur_mem_map, ADDRESS_SPACE_PROGRAM, 8 )
479480   AM_RANGE( 0x0000, 0x6fff ) AM_ROM
480   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
481   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
481482   AM_RANGE( 0x8000, 0xffff ) AM_READ_BANK("bank1") AM_WRITE(hnoridur_palette_w)
482483ADDRESS_MAP_END
483484
484485static ADDRESS_MAP_START( mcnpshnt_mem_map, ADDRESS_SPACE_PROGRAM, 8 )
485486   AM_RANGE( 0x0000, 0x5fff ) AM_ROM
486487   AM_RANGE( 0x6000, 0x6fff ) AM_RAM
487   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
488   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
488489   AM_RANGE( 0x8000, 0xffff ) AM_READ_BANK("bank1") AM_WRITE(hnoridur_palette_w)
489490ADDRESS_MAP_END
490491
491492static ADDRESS_MAP_START( nanajign_mem_map, ADDRESS_SPACE_PROGRAM, 8 )
492493   AM_RANGE( 0x0000, 0x5fff ) AM_ROM
493494   AM_RANGE( 0x6000, 0x6fff ) AM_RAM
494   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
495   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
495496   AM_RANGE( 0x8000, 0x80ff ) AM_WRITE(nanajign_palette_w)
496497   AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
497498ADDRESS_MAP_END
498499
499500static ADDRESS_MAP_START( mjdialq2_mem_map, ADDRESS_SPACE_PROGRAM, 8 )
500501   AM_RANGE( 0x0800, 0x0fff ) AM_RAM
501   AM_RANGE( 0x1000, 0x1fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
502   AM_RANGE( 0x1000, 0x1fff ) AM_RAM AM_SHARE("nvram")
502503   AM_RANGE( 0x0000, 0x7fff ) AM_ROM
503504   AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
504505ADDRESS_MAP_END
r9191r9192
506507static ADDRESS_MAP_START( yarunara_mem_map, ADDRESS_SPACE_PROGRAM, 8 )
507508   AM_RANGE( 0x0000, 0x5fff ) AM_ROM
508509   AM_RANGE( 0x6000, 0x6fff ) AM_RAM
509   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
510   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
510511   AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
511512   AM_RANGE( 0x8000, 0x81ff ) AM_WRITE(yarunara_palette_w)   // Palette or RTC
512513ADDRESS_MAP_END
r9191r9192
514515static ADDRESS_MAP_START( jantouki_mem_map, ADDRESS_SPACE_PROGRAM, 8 )
515516   AM_RANGE( 0x0000, 0x5fff ) AM_ROM
516517   AM_RANGE( 0x6000, 0x6fff ) AM_RAM
517   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
518   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
518519   AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
519520ADDRESS_MAP_END
520521
r9191r9192
641642
642643static ADDRESS_MAP_START( hjingi_mem_map, ADDRESS_SPACE_PROGRAM, 8 )
643644   AM_RANGE( 0x0000, 0x01ff ) AM_ROM
644   AM_RANGE( 0x0200, 0x1fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
645   AM_RANGE( 0x0200, 0x1fff ) AM_RAM AM_SHARE("nvram")
645646   AM_RANGE( 0x2000, 0x7fff ) AM_ROM
646647   AM_RANGE( 0x8000, 0xffff ) AM_READ_BANK("bank1") AM_WRITE(hnoridur_palette_w)
647648ADDRESS_MAP_END
r9191r9192
15291530static ADDRESS_MAP_START( tenkai_map, ADDRESS_SPACE_PROGRAM, 8 )
15301531   AM_RANGE(  0x0000,  0x5fff ) AM_ROM
15311532   AM_RANGE(  0x6000,  0x6fff ) AM_RAM
1532   AM_RANGE(  0x7000,  0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1533   AM_RANGE(  0x7000,  0x7fff ) AM_RAM AM_SHARE("nvram")
15331534   AM_RANGE(  0x8000,  0xffff ) AM_READWRITE(tenkai_8000_r, tenkai_8000_w)
15341535   AM_RANGE( 0x10000, 0x10000 ) AM_DEVREAD("aysnd", ay8910_r)      // AY8910
15351536   AM_RANGE( 0x10008, 0x10008 ) AM_DEVWRITE("aysnd", ay8910_data_w)   //
r9191r9192
17011702
17021703static ADDRESS_MAP_START( gekisha_map, ADDRESS_SPACE_PROGRAM, 8 )
17031704   AM_RANGE(  0x0000,  0x6fff ) AM_ROM
1704   AM_RANGE(  0x7000,  0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1705   AM_RANGE(  0x7000,  0x7fff ) AM_RAM AM_SHARE("nvram")
17051706   AM_RANGE(  0x8000,  0xffff ) AM_READWRITE(gekisha_8000_r, gekisha_8000_w)
17061707ADDRESS_MAP_END
17071708
r9191r9192
43324333
43334334
43344335
4335static MACHINE_DRIVER_START( hanamai )
4336static MACHINE_CONFIG_START( hanamai, dynax_state )
43364337
4337   /* driver data */
4338   MDRV_DRIVER_DATA(dynax_state)
4339
43404338   /* basic machine hardware */
43414339   MDRV_CPU_ADD("maincpu",Z80,22000000 / 4)   /* 5.5MHz */
43424340   MDRV_CPU_PROGRAM_MAP(sprtmtch_mem_map)
r9191r9192
43464344   MDRV_MACHINE_START(hanamai)
43474345   MDRV_MACHINE_RESET(dynax)
43484346
4349   MDRV_NVRAM_HANDLER(generic_0fill)
4347   MDRV_NVRAM_ADD_0FILL("nvram")
43504348
43514349   /* video hardware */
43524350   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
43784376   MDRV_SOUND_ADD("msm", MSM5205, 384000)
43794377   MDRV_SOUND_CONFIG(hanamai_msm5205_interface)
43804378   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4381MACHINE_DRIVER_END
4379MACHINE_CONFIG_END
43824380
43834381
43844382
r9191r9192
43934391   DEVCB_INPUT_PORT("DSW0")      /* Port A Read: DSW */
43944392};
43954393
4396static MACHINE_DRIVER_START( hnoridur )
4394static MACHINE_CONFIG_START( hnoridur, dynax_state )
43974395
4398   /* driver data */
4399   MDRV_DRIVER_DATA(dynax_state)
4400
44014396   /* basic machine hardware */
44024397   MDRV_CPU_ADD("maincpu",Z80,22000000 / 4)   /* 5.5MHz */
44034398   MDRV_CPU_PROGRAM_MAP(hnoridur_mem_map)
r9191r9192
44074402   MDRV_MACHINE_START(hnoridur)
44084403   MDRV_MACHINE_RESET(dynax)
44094404
4410   MDRV_NVRAM_HANDLER(generic_0fill)
4405   MDRV_NVRAM_ADD_0FILL("nvram")
44114406
44124407   /* video hardware */
44134408   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
44354430   MDRV_SOUND_ADD("msm", MSM5205, 384000)
44364431   MDRV_SOUND_CONFIG(hanamai_msm5205_interface)
44374432   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4438MACHINE_DRIVER_END
4433MACHINE_CONFIG_END
44394434
44404435
44414436/***************************************************************************
44424437                                Hana Jingi
44434438***************************************************************************/
44444439
4445static MACHINE_DRIVER_START( hjingi )
4440static MACHINE_CONFIG_START( hjingi, dynax_state )
44464441
4447   /* driver data */
4448   MDRV_DRIVER_DATA(dynax_state)
4449
44504442   /* basic machine hardware */
44514443   MDRV_CPU_ADD("maincpu",Z80, XTAL_22MHz / 4)
44524444   MDRV_CPU_PROGRAM_MAP(hjingi_mem_map)
r9191r9192
44564448   MDRV_MACHINE_START(hnoridur)
44574449   MDRV_MACHINE_RESET(dynax)
44584450
4459   MDRV_NVRAM_HANDLER(generic_0fill)
4451   MDRV_NVRAM_ADD_0FILL("nvram")
44604452
44614453   /* video hardware */
44624454   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
44844476   MDRV_SOUND_ADD("msm", MSM5205, XTAL_384kHz )
44854477   MDRV_SOUND_CONFIG(hanamai_msm5205_interface)
44864478   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4487MACHINE_DRIVER_END
4479MACHINE_CONFIG_END
44884480
44894481
44904482/***************************************************************************
r9191r9192
45044496   sprtmtch_sound_callback,   /* IRQ handler */
45054497};
45064498
4507static MACHINE_DRIVER_START( sprtmtch )
4499static MACHINE_CONFIG_START( sprtmtch, dynax_state )
45084500
4509   /* driver data */
4510   MDRV_DRIVER_DATA(dynax_state)
4511
45124501   /* basic machine hardware */
45134502   MDRV_CPU_ADD("maincpu", Z80,22000000 / 4)   /* 5.5MHz */
45144503   MDRV_CPU_PROGRAM_MAP(sprtmtch_mem_map)
r9191r9192
45184507   MDRV_MACHINE_START(hanamai)
45194508   MDRV_MACHINE_RESET(dynax)
45204509
4521   MDRV_NVRAM_HANDLER(generic_0fill)
4510   MDRV_NVRAM_ADD_0FILL("nvram")
45224511
45234512   /* video hardware */
45244513   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
45434532   MDRV_SOUND_ROUTE(1, "mono", 0.20)
45444533   MDRV_SOUND_ROUTE(2, "mono", 0.20)
45454534   MDRV_SOUND_ROUTE(3, "mono", 1.0)
4546MACHINE_DRIVER_END
4535MACHINE_CONFIG_END
45474536
45484537
45494538/***************************************************************************
45504539                            Mahjong Friday
45514540***************************************************************************/
45524541
4553static MACHINE_DRIVER_START( mjfriday )
4542static MACHINE_CONFIG_START( mjfriday, dynax_state )
45544543
4555   /* driver data */
4556   MDRV_DRIVER_DATA(dynax_state)
4557
45584544   /* basic machine hardware */
45594545   MDRV_CPU_ADD("maincpu",Z80,24000000/4)   /* 6 MHz? */
45604546   MDRV_CPU_PROGRAM_MAP(sprtmtch_mem_map)
r9191r9192
45644550   MDRV_MACHINE_START(hanamai)
45654551   MDRV_MACHINE_RESET(dynax)
45664552
4567   MDRV_NVRAM_HANDLER(generic_0fill)
4553   MDRV_NVRAM_ADD_0FILL("nvram")
45684554
45694555   /* video hardware */
45704556   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
45854571
45864572   MDRV_SOUND_ADD("ymsnd", YM2413, 24000000/6)
45874573   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4588MACHINE_DRIVER_END
4574MACHINE_CONFIG_END
45894575
45904576
45914577/***************************************************************************
45924578                            Mahjong Dial Q2
45934579***************************************************************************/
45944580
4595static MACHINE_DRIVER_START( mjdialq2 )
4581static MACHINE_CONFIG_DERIVED( mjdialq2, mjfriday )
45964582
45974583   /* basic machine hardware */
4598   MDRV_IMPORT_FROM( mjfriday )
45994584   MDRV_CPU_MODIFY("maincpu")
46004585   MDRV_CPU_PROGRAM_MAP(mjdialq2_mem_map)
4601MACHINE_DRIVER_END
4586MACHINE_CONFIG_END
46024587
46034588
46044589/***************************************************************************
r9191r9192
46224607   sprtmtch_update_irq(device->machine);
46234608}
46244609
4625static MACHINE_DRIVER_START( yarunara )
4610static MACHINE_CONFIG_DERIVED( yarunara, hnoridur )
46264611
46274612   /* basic machine hardware */
4628   MDRV_IMPORT_FROM( hnoridur )
46294613   MDRV_CPU_MODIFY("maincpu")
46304614   MDRV_CPU_PROGRAM_MAP(yarunara_mem_map)
46314615   MDRV_CPU_IO_MAP(yarunara_io_map)
46324616   MDRV_CPU_PERIODIC_INT(yarunara_clock_interrupt, 60)   // RTC
46334617
4634   MDRV_NVRAM_HANDLER(generic_0fill)
4618   MDRV_NVRAM_REPLACE_0FILL("nvram")
46354619
46364620   MDRV_SCREEN_MODIFY("screen")
46374621   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
r9191r9192
46394623
46404624   /* devices */
46414625   MDRV_MSM6242_ADD("rtc")
4642MACHINE_DRIVER_END
4626MACHINE_CONFIG_END
46434627
46444628
46454629/***************************************************************************
46464630                            Mahjong Campus Hunting
46474631***************************************************************************/
46484632
4649static MACHINE_DRIVER_START( mcnpshnt )
4650
4651   MDRV_IMPORT_FROM( hnoridur )
4633static MACHINE_CONFIG_DERIVED( mcnpshnt, hnoridur )
46524634   MDRV_CPU_MODIFY("maincpu")
46534635   MDRV_CPU_PROGRAM_MAP(mcnpshnt_mem_map)
46544636   MDRV_CPU_IO_MAP(mcnpshnt_io_map)
46554637
46564638   MDRV_VIDEO_START(mcnpshnt)   // different priorities
4657MACHINE_DRIVER_END
4639MACHINE_CONFIG_END
46584640
46594641
46604642/***************************************************************************
46614643                            7jigen
46624644***************************************************************************/
46634645
4664static MACHINE_DRIVER_START( nanajign )
4665
4666   MDRV_IMPORT_FROM( hnoridur )
4646static MACHINE_CONFIG_DERIVED( nanajign, hnoridur )
46674647   MDRV_CPU_MODIFY("maincpu")
46684648   MDRV_CPU_PROGRAM_MAP(nanajign_mem_map)
46694649   MDRV_CPU_IO_MAP(nanajign_io_map)
4670MACHINE_DRIVER_END
4650MACHINE_CONFIG_END
46714651
46724652
46734653/***************************************************************************
r9191r9192
47074687   MACHINE_START_CALL(dynax);
47084688}
47094689
4710static MACHINE_DRIVER_START( jantouki )
4690static MACHINE_CONFIG_START( jantouki, dynax_state )
47114691
4712   /* driver data */
4713   MDRV_DRIVER_DATA(dynax_state)
4714
47154692   /* basic machine hardware */
47164693   MDRV_CPU_ADD("maincpu",Z80,22000000 / 4)   /* 5.5MHz */
47174694   MDRV_CPU_PROGRAM_MAP(jantouki_mem_map)
r9191r9192
47264703   MDRV_MACHINE_START(jantouki)
47274704   MDRV_MACHINE_RESET(dynax)
47284705
4729   MDRV_NVRAM_HANDLER(generic_0fill)
4706   MDRV_NVRAM_ADD_0FILL("nvram")
47304707
47314708   /* video hardware */
47324709   MDRV_PALETTE_LENGTH(512)
r9191r9192
47694746
47704747   /* devices */
47714748   MDRV_MSM6242_ADD("rtc")
4772MACHINE_DRIVER_END
4749MACHINE_CONFIG_END
47734750
47744751
47754752/***************************************************************************
r9191r9192
47964773      cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0xf8);
47974774}
47984775
4799static MACHINE_DRIVER_START( mjelctrn )
4800
4801   MDRV_IMPORT_FROM( hnoridur )
4776static MACHINE_CONFIG_DERIVED( mjelctrn, hnoridur )
48024777   MDRV_CPU_MODIFY("maincpu")
48034778   MDRV_CPU_PROGRAM_MAP(nanajign_mem_map)
48044779   MDRV_CPU_IO_MAP(mjelctrn_io_map)
48054780   MDRV_CPU_VBLANK_INT("screen", mjelctrn_vblank_interrupt)   /* IM 2 needs a vector on the data bus */
48064781
48074782   MDRV_VIDEO_START(mjelctrn)
4808MACHINE_DRIVER_END
4783MACHINE_CONFIG_END
48094784
48104785
48114786/***************************************************************************
r9191r9192
48384813   }
48394814}
48404815
4841static MACHINE_DRIVER_START( neruton )
4842
4843   MDRV_IMPORT_FROM( mjelctrn )
4816static MACHINE_CONFIG_DERIVED( neruton, mjelctrn )
48444817   MDRV_CPU_MODIFY("maincpu")
48454818   MDRV_CPU_VBLANK_INT_HACK(neruton_vblank_interrupt,1+10)   /* IM 2 needs a vector on the data bus */
48464819
48474820   MDRV_VIDEO_START(neruton)
4848MACHINE_DRIVER_END
4821MACHINE_CONFIG_END
48494822
48504823/***************************************************************************
48514824                                    Mahjong X-Tal 7
r9191r9192
48654838   cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0x40);
48664839}
48674840
4868static MACHINE_DRIVER_START( majxtal7 )
4869
4870   MDRV_IMPORT_FROM( neruton )
4841static MACHINE_CONFIG_DERIVED( majxtal7, neruton )
48714842   MDRV_CPU_MODIFY("maincpu")
48724843   MDRV_CPU_VBLANK_INT("screen", majxtal7_vblank_interrupt)   /* IM 2 needs a vector on the data bus */
48734844
4874MACHINE_DRIVER_END
4845MACHINE_CONFIG_END
48754846
48764847
48774848/***************************************************************************
r9191r9192
48874858   DEVCB_NULL,                  DEVCB_HANDLER(htengoku_dsw_w)      // W
48884859};
48894860
4890static MACHINE_DRIVER_START( htengoku )
4861static MACHINE_CONFIG_START( htengoku, dynax_state )
48914862
4892   /* driver data */
4893   MDRV_DRIVER_DATA(dynax_state)
4894
48954863   /* basic machine hardware */
48964864   MDRV_CPU_ADD("maincpu",Z80,20000000 / 4)
48974865   MDRV_CPU_PROGRAM_MAP(yarunara_mem_map)
r9191r9192
49024870   MDRV_MACHINE_START(htengoku)
49034871   MDRV_MACHINE_RESET(dynax)
49044872
4905   MDRV_NVRAM_HANDLER(generic_0fill)
4873   MDRV_NVRAM_ADD_0FILL("nvram")
49064874
49074875   /* video hardware */
49084876   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
49304898
49314899   /* devices */
49324900   MDRV_MSM6242_ADD("rtc")
4933MACHINE_DRIVER_END
4901MACHINE_CONFIG_END
49344902
49354903
49364904/***************************************************************************
r9191r9192
49684936   state_save_register_postload(machine, tenkai_bank_postload, NULL);
49694937}
49704938
4971static MACHINE_DRIVER_START( tenkai )
4939static MACHINE_CONFIG_START( tenkai, dynax_state )
49724940
4973   /* driver data */
4974   MDRV_DRIVER_DATA(dynax_state)
4975
49764941   /* basic machine hardware */
49774942   MDRV_CPU_ADD("maincpu",TMP91640, 21472700 / 2)
49784943   MDRV_CPU_PROGRAM_MAP(tenkai_map)
r9191r9192
49824947   MDRV_MACHINE_START(tenkai)
49834948   MDRV_MACHINE_RESET(dynax)
49844949
4985   MDRV_NVRAM_HANDLER(generic_0fill)
4950   MDRV_NVRAM_ADD_0FILL("nvram")
49864951
49874952   /* video hardware */
49884953   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
50094974
50104975   /* devices */
50114976   MDRV_MSM6242_ADD("rtc")
5012MACHINE_DRIVER_END
4977MACHINE_CONFIG_END
50134978
5014static MACHINE_DRIVER_START( majrjhdx )
5015   MDRV_IMPORT_FROM( tenkai )
4979static MACHINE_CONFIG_DERIVED( majrjhdx, tenkai )
50164980   MDRV_PALETTE_LENGTH(512)
50174981   MDRV_PALETTE_INIT(sprtmtch)         // static palette
5018MACHINE_DRIVER_END
4982MACHINE_CONFIG_END
50194983
50204984/***************************************************************************
50214985                                Mahjong Gekisha
r9191r9192
50425006   gekisha_set_rombank(machine, 0);
50435007}
50445008
5045static MACHINE_DRIVER_START( gekisha )
5009static MACHINE_CONFIG_START( gekisha, dynax_state )
50465010
5047   /* driver data */
5048   MDRV_DRIVER_DATA(dynax_state)
5049
50505011   /* basic machine hardware */
50515012   MDRV_CPU_ADD("maincpu",TMP90841, XTAL_10MHz )   // ?
50525013   MDRV_CPU_PROGRAM_MAP(gekisha_map)
r9191r9192
50565017   MDRV_MACHINE_START(gekisha)
50575018   MDRV_MACHINE_RESET(gekisha)
50585019
5059   MDRV_NVRAM_HANDLER(generic_0fill)
5020   MDRV_NVRAM_ADD_0FILL("nvram")
50605021
50615022   /* video hardware */
50625023   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
50805041
50815042   MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_24MHz / 8)   // ?
50825043   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
5083MACHINE_DRIVER_END
5044MACHINE_CONFIG_END
50845045
50855046
50865047/***************************************************************************
src/mame/drivers/sigmab98.c
r9191r9192
2828#include "sound/ymz280b.h"
2929#include "machine/eeprom.h"
3030#include "machine/ticket.h"
31#include "machine/nvram.h"
3132
3233/***************************************************************************
3334
r9191r9192
332333//  AM_RANGE( 0xd001, 0xd021 ) AM_RAM
333334   AM_RANGE( 0xd800, 0xdfff ) AM_RAMBANK("rambank")
334335
335   AM_RANGE( 0xe000, 0xefff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   // battery
336   AM_RANGE( 0xe000, 0xefff ) AM_RAM AM_SHARE("nvram")   // battery
336337
337338   AM_RANGE( 0xf000, 0xffff ) AM_RAM
338339ADDRESS_MAP_END
r9191r9192
461462   cpu_set_input_line_and_vector(device, 0, HOLD_LINE, 0x5a);
462463}
463464
464static MACHINE_DRIVER_START( gegege )
465static MACHINE_CONFIG_START( gegege, driver_device )
465466   MDRV_CPU_ADD("maincpu", Z80, XTAL_27MHz / 4)   // ?
466467   MDRV_CPU_PROGRAM_MAP(gegege_mem_map)
467468   MDRV_CPU_IO_MAP(gegege_io_map)
468469   MDRV_CPU_VBLANK_INT("screen", gegege_vblank_interrupt)
469470
470   MDRV_NVRAM_HANDLER(generic_0fill)
471   MDRV_NVRAM_ADD_0FILL("nvram")
471472   MDRV_EEPROM_ADD("eeprom", eeprom_intf)
472473
473474   MDRV_TICKET_DISPENSER_ADD("hopper", 200, TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW )
r9191r9192
490491   MDRV_SOUND_ADD("ymz", YMZ280B, XTAL_27MHz / 2)   // ?
491492   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
492493   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
493MACHINE_DRIVER_END
494MACHINE_CONFIG_END
494495
495496
496497/***************************************************************************
src/mame/drivers/shootout.c
r9191r9192
260260   shootout_snd2_irq
261261};
262262
263static MACHINE_DRIVER_START( shootout )
263static MACHINE_CONFIG_START( shootout, shootout_state )
264264
265   MDRV_DRIVER_DATA( shootout_state )
266
267265   /* basic machine hardware */
268266   MDRV_CPU_ADD("maincpu", M6502, 2000000)   /* 2 MHz? */
269267   MDRV_CPU_PROGRAM_MAP(shootout_map)
r9191r9192
292290   MDRV_SOUND_ADD("ymsnd", YM2203, 1500000)
293291   MDRV_SOUND_CONFIG(ym2203_config)
294292   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
295MACHINE_DRIVER_END
293MACHINE_CONFIG_END
296294
297295
298static MACHINE_DRIVER_START( shootouj )
296static MACHINE_CONFIG_START( shootouj, shootout_state )
299297
300   MDRV_DRIVER_DATA( shootout_state )
301
302298   /* basic machine hardware */
303299   MDRV_CPU_ADD("maincpu", M6502, 2000000)   /* 2 MHz? */
304300   MDRV_CPU_PROGRAM_MAP(shootouj_map)
r9191r9192
324320   MDRV_SOUND_ADD("ymsnd", YM2203, 1500000)
325321   MDRV_SOUND_CONFIG(ym2203_interface2)
326322   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
327MACHINE_DRIVER_END
323MACHINE_CONFIG_END
328324
329325
330326ROM_START( shootout )
src/mame/drivers/volfied.c
r9191r9192
257257   "maincpu", "audiocpu"
258258};
259259
260static MACHINE_DRIVER_START( volfied )
260static MACHINE_CONFIG_START( volfied, volfied_state )
261261
262   /* driver data */
263   MDRV_DRIVER_DATA(volfied_state)
264
265262   /* basic machine hardware */
266263   MDRV_CPU_ADD("maincpu", M68000, CPU_CLOCK)   /* 8MHz */
267264   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
302299   MDRV_SOUND_ROUTE(3, "mono", 0.60)
303300
304301   MDRV_TC0140SYT_ADD("tc0140syt", volfied_tc0140syt_intf)
305MACHINE_DRIVER_END
302MACHINE_CONFIG_END
306303
307304
308305/***************************************************************************
src/mame/drivers/dribling.c
r9191r9192
312312}
313313
314314
315static MACHINE_DRIVER_START( dribling )
315static MACHINE_CONFIG_START( dribling, dribling_state )
316316
317   /* driver data */
318   MDRV_DRIVER_DATA(dribling_state)
319
320317   /* basic machine hardware */
321318   MDRV_CPU_ADD("maincpu", Z80, 5000000)
322319   MDRV_CPU_PROGRAM_MAP(dribling_map)
r9191r9192
345342   MDRV_VIDEO_UPDATE(dribling)
346343
347344   /* sound hardware */
348MACHINE_DRIVER_END
345MACHINE_CONFIG_END
349346
350347
351348
src/mame/drivers/megadriv.c
r9191r9192
15331533   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_PLAYER(2) PORT_NAME("P2 MODE") // mode
15341534INPUT_PORTS_END
15351535
1536/* verified from M68000 code */
1537INPUT_PORTS_START( ssf2ghw )
1538   PORT_INCLUDE( md_common )
1539
1540   PORT_MODIFY("PAD1")
1541   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
1542   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
1543   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
1544   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
1545
1546   PORT_MODIFY("PAD2")
1547   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
1548   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
1549   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
1550   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
1551
1552   PORT_START("EXTRA1")   /* Extra buttons for Joypad 1 (6 button + start + mode) NOT READ DIRECTLY */
1553   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
1554   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
1555   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
1556   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
1557
1558   PORT_START("EXTRA2")   /* Extra buttons for Joypad 2 (6 button + start + mode) NOT READ DIRECTLY */
1559   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
1560   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
1561   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
1562   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
1563
1564   PORT_START("IN0")      /* 3rd I/O port */
1565   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
1566   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
1567
1568   PORT_START("DSWA")
1569   PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
1570   PORT_DIPSETTING(    0x01, DEF_STR( 4C_1C ) )
1571   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
1572   PORT_DIPSETTING(    0x03, DEF_STR( 2C_1C ) )
1573   PORT_DIPSETTING(    0x07, DEF_STR( 1C_1C ) )
1574   PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
1575   PORT_DIPSETTING(    0x05, DEF_STR( 1C_3C ) )
1576   PORT_DIPSETTING(    0x04, DEF_STR( 1C_4C ) )
1577//  PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1578
1579   PORT_START("DSWB")
1580   PORT_DIPNAME( 0x07, 0x03, DEF_STR( Difficulty ) )
1581   PORT_DIPSETTING(    0x07, "0 (Easiest)" )
1582   PORT_DIPSETTING(    0x06, "1" )
1583   PORT_DIPSETTING(    0x05, "2" )
1584   PORT_DIPSETTING(    0x04, "3" )
1585   PORT_DIPSETTING(    0x03, "4" )
1586   PORT_DIPSETTING(    0x02, "5" )
1587   PORT_DIPSETTING(    0x01, "6" )
1588   PORT_DIPSETTING(    0x00, "7 (Hardest)" )
1589
1590   PORT_START("DSWC")
1591   PORT_DIPNAME( 0x0f, 0x0b, "Speed" )
1592   PORT_DIPSETTING(    0x0f, "0 (Slowest)" )
1593   PORT_DIPSETTING(    0x0e, "1" )
1594   PORT_DIPSETTING(    0x0d, "2" )
1595   PORT_DIPSETTING(    0x0c, "3" )
1596   PORT_DIPSETTING(    0x0b, "4" )
1597   PORT_DIPSETTING(    0x0a, "5" )
1598   PORT_DIPSETTING(    0x09, "6" )
1599   PORT_DIPSETTING(    0x08, "7" )
1600   PORT_DIPSETTING(    0x07, "8" )
1601   PORT_DIPSETTING(    0x06, "9" )
1602   PORT_DIPSETTING(    0x05, "10 (Fastest)" )
1603//  PORT_DIPSETTING(    0x04, "10 (Fastest)" )
1604//  PORT_DIPSETTING(    0x03, "10 (Fastest)" )
1605//  PORT_DIPSETTING(    0x02, "10 (Fastest)" )
1606//  PORT_DIPSETTING(    0x01, "10 (Fastest)" )
1607//  PORT_DIPSETTING(    0x00, "10 (Fastest)" )
1608INPUT_PORTS_END
1609
1610/* verified from M68000 code */
1611INPUT_PORTS_START( mk3ghw )
1612   PORT_INCLUDE( md_common )
1613
1614   PORT_MODIFY("PAD1")
1615   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
1616   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
1617   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
1618   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
1619
1620   PORT_MODIFY("PAD2")
1621   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
1622   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
1623   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
1624   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
1625
1626   PORT_START("EXTRA1")   /* Extra buttons for Joypad 1 (6 button + start + mode) NOT READ DIRECTLY */
1627   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
1628   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
1629   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
1630   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
1631
1632   PORT_START("EXTRA2")   /* Extra buttons for Joypad 2 (6 button + start + mode) NOT READ DIRECTLY */
1633   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
1634   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
1635   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
1636   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
1637
1638   PORT_START("IN0")
1639   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
1640   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
1641
1642   PORT_START("DSWA")
1643   PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) )
1644   PORT_DIPSETTING(    0x01, DEF_STR( 4C_1C ) )
1645   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
1646   PORT_DIPSETTING(    0x03, DEF_STR( 2C_1C ) )
1647   PORT_DIPSETTING(    0x07, DEF_STR( 1C_1C ) )
1648   PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
1649   PORT_DIPSETTING(    0x05, DEF_STR( 1C_3C ) )
1650   PORT_DIPSETTING(    0x04, DEF_STR( 1C_4C ) )
1651//  PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1652
1653   PORT_START("DSWB")
1654   PORT_DIPNAME( 0x07, 0x07, DEF_STR( Difficulty ) )
1655   PORT_DIPSETTING(    0x07, DEF_STR( Easiest ) )
1656   PORT_DIPSETTING(    0x06, DEF_STR( Easy ) )
1657   PORT_DIPSETTING(    0x05, DEF_STR( Medium ) )
1658   PORT_DIPSETTING(    0x04, DEF_STR( Hard ) )
1659   PORT_DIPSETTING(    0x03, DEF_STR( Hardest ) )
1660//  PORT_DIPSETTING(    0x02, DEF_STR( Hardest ) )
1661//  PORT_DIPSETTING(    0x01, DEF_STR( Hardest ) )
1662//  PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
1663   PORT_DIPUNUSED( 0x08, IP_ACTIVE_HIGH )
1664   PORT_DIPUNUSED( 0x10, IP_ACTIVE_HIGH )
1665   PORT_DIPUNUSED( 0x20, IP_ACTIVE_HIGH )
1666   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Demo_Sounds ) )
1667   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1668   PORT_DIPSETTING(    0x40, DEF_STR( On ) )
1669   PORT_DIPNAME( 0x80, 0x80, "Blood" )
1670   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1671   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
1672
1673   PORT_START("DSWC")        /* not even read in this set */
1674INPUT_PORTS_END
1675
1676/* verified from M68000 code */
1677INPUT_PORTS_START( aladbl )
1678   PORT_INCLUDE( md_common )
1679
1680   PORT_MODIFY("PAD1")      /* Joypad 1 (3 button + start) NOT READ DIRECTLY */
1681   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Throw") // a
1682   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Sword") // b
1683   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Jump") // c
1684   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) // start
1685
1686   PORT_MODIFY("PAD2")      /* Joypad 2 (3 button + start) NOT READ DIRECTLY - not used */
1687   PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
1688
1689    /* As I don't know how it is on real hardware, this is more a guess than anything */
1690   PORT_START("MCU")
1691   PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) )          /* code at 0x1b2a50 - unsure if there are so many settings */
1692//  PORT_DIPSETTING(    0x00, "INVALID" )                   /* adds 0 credit */
1693   PORT_DIPSETTING(    0x01, DEF_STR( 1C_1C ) )
1694   PORT_DIPSETTING(    0x02, DEF_STR( 1C_2C ) )
1695   PORT_DIPSETTING(    0x03, DEF_STR( 1C_3C ) )
1696   PORT_DIPSETTING(    0x04, DEF_STR( 1C_4C ) )
1697   PORT_DIPSETTING(    0x05, DEF_STR( 1C_5C ) )
1698   PORT_DIPSETTING(    0x06, DEF_STR( 1C_6C ) )
1699    PORT_DIPSETTING(    0x07, DEF_STR( 1C_7C ) )
1700//  PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL )         /* to avoid it being changed and corrupting Coinage settings */
1701   PORT_DIPNAME( 0x30, 0x00, DEF_STR( Difficulty ) )       /* code at 0x1b2680 */
1702   PORT_DIPSETTING(    0x10, DEF_STR( Easy ) )             /* "PRACTICE" */
1703   PORT_DIPSETTING(    0x00, DEF_STR( Normal ) )           /* "NORMAL" */
1704   PORT_DIPSETTING(    0x20, DEF_STR( Hard ) )             /* "DIFFICULT" */
1705//  PORT_DIPSETTING(    0x30, DEF_STR( Normal ) )
1706   PORT_DIPUNUSED( 0x40, IP_ACTIVE_HIGH )
1707   PORT_DIPUNUSED( 0x80, IP_ACTIVE_HIGH )
1708   PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1)     /* needed to avoid credits getting mad */
1709INPUT_PORTS_END
1710
1711/* verified from M68000 code */
1712INPUT_PORTS_START( ssgbl )
1713   PORT_INCLUDE( md_common )
1714
1715   PORT_MODIFY("PAD1")
1716   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Shoot") // a
1717   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Jump") // b
1718   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) // c (duplicate shoot button)
1719   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 ) // start
1720
1721   PORT_MODIFY("PAD2")
1722   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P1 Shoot") // a
1723   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME("P1 Jump") // b
1724   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) // c (duplicate shoot button)
1725   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START2 )
1726
1727   PORT_START("IN0")      /* 3rd I/O port */
1728   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
1729   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
1730
1731   PORT_START("DSWA")
1732   PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) )
1733   PORT_DIPSETTING(    0x01, DEF_STR( 4C_1C ) )
1734   PORT_DIPSETTING(    0x02, DEF_STR( 3C_1C ) )
1735   PORT_DIPSETTING(    0x03, DEF_STR( 2C_1C ) )
1736   PORT_DIPSETTING(    0x00, DEF_STR( 1C_1C ) )
1737   PORT_DIPSETTING(    0x07, DEF_STR( 1C_2C ) )
1738   PORT_DIPSETTING(    0x06, DEF_STR( 1C_3C ) )
1739   PORT_DIPSETTING(    0x05, DEF_STR( 1C_4C ) )
1740   PORT_DIPSETTING(    0x04, DEF_STR( 1C_5C ) )
1741
1742   PORT_START("DSWB")
1743   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
1744   PORT_DIPSETTING(    0x03, DEF_STR( Easy ) )
1745   PORT_DIPSETTING(    0x02, DEF_STR( Medium ) )
1746   PORT_DIPSETTING(    0x01, DEF_STR( Hard ) )
1747   PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
1748
1749   PORT_START("DSWC")
1750   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
1751   PORT_DIPSETTING(    0x03, "3" )
1752   PORT_DIPSETTING(    0x02, "4" )
1753   PORT_DIPSETTING(    0x01, "5" )
1754   PORT_DIPSETTING(    0x00, "6" )
1755INPUT_PORTS_END
1756
17571536UINT8 megadrive_io_data_regs[3];
17581537UINT8 megadrive_io_ctrl_regs[3];
17591538static UINT8 megadrive_io_tx_regs[3];
r9191r9192
17651544   if (ipt == INPUT_PORTS_NAME(megadri6))
17661545      init_megadri6_io(machine);
17671546
1768   if (ipt == INPUT_PORTS_NAME(ssf2ghw))
1547   if (ipt == INPUT_PORTS_NAME(ssf2mdb))
17691548      init_megadri6_io(machine);
17701549
1771   if (ipt == INPUT_PORTS_NAME(mk3ghw))
1550   if (ipt == INPUT_PORTS_NAME(mk3mdb))
17721551      init_megadri6_io(machine);
17731552}
17741553
r9191r9192
64116190
64126191   m68k_set_tas_callback(machine->device("maincpu"), megadriv_tas_callback);
64136192
6414   if ((ipt == INPUT_PORTS_NAME(megadri6)) || (ipt == INPUT_PORTS_NAME(ssf2ghw)) || (ipt == INPUT_PORTS_NAME(mk3ghw)))
6193   if ((ipt == INPUT_PORTS_NAME(megadri6)) || (ipt == INPUT_PORTS_NAME(ssf2mdb)) || (ipt == INPUT_PORTS_NAME(mk3mdb)))
64156194   {
64166195      megadrive_io_read_data_port_ptr   = megadrive_io_read_data_port_6button;
64176196      megadrive_io_write_data_port_ptr = megadrive_io_write_data_port_6button;
src/mame/drivers/itech32.c
r9191r9192
351351#include "cpu/m6809/m6809.h"
352352#include "cpu/m68000/m68000.h"
353353#include "machine/6522via.h"
354#include "machine/nvram.h"
354355#include "machine/ticket.h"
355356#include "includes/itech32.h"
356357#include "sound/es5506.h"
r9191r9192
379380
380381static UINT16 *main_rom;
381382static UINT16 *main_ram;
382static size_t main_ram_size;
383static UINT32 *nvram;
384static size_t nvram_size;
385383
386384static offs_t itech020_prot_address;
387385
r9191r9192
909907 *
910908 *************************************/
911909
912static NVRAM_HANDLER( itech32 )
910void itech32_state::nvram_init(nvram_device &nvram, void *base, size_t length)
913911{
914   int i;
912   // if nvram is the main RAM, don't overwrite exception vectors
913   int start = (base == main_ram) ? 0x80 : 0x00;
914   for (int i = start; i < length; i++)
915      ((UINT8 *)base)[i] = mame_rand(machine);
915916
916   if (read_or_write)
917      mame_fwrite(file, main_ram, main_ram_size);
918   else if (file)
919      mame_fread(file, main_ram, main_ram_size);
920   else
921   {
922      for (i = 0x80; i < main_ram_size; i++)
923         ((UINT8 *)main_ram)[i] = mame_rand(machine);
924
925      /* due to accessing uninitialized RAM, we need this hack */
926      if (is_drivedge)
927         ((UINT32 *)main_ram)[0x2ce4/4] = 0x0000001e;
928   }
917   // due to accessing uninitialized RAM, we need this hack
918   if (is_drivedge)
919      ((UINT32 *)main_ram)[0x2ce4/4] = 0x0000001e;
929920}
930921
931922
932static NVRAM_HANDLER( itech020 )
933{
934   int i;
935
936   if (read_or_write)
937      mame_fwrite(file, nvram, nvram_size);
938   else if (file)
939      mame_fread(file, nvram, nvram_size);
940   else
941   {
942      for (i = 0; i < nvram_size; i++)
943         ((UINT8 *)nvram)[i] = mame_rand(machine);
944   }
945}
946
947
948923/*************************************
949924 *
950925 *  Main CPU memory handlers
r9191r9192
953928
954929/*------ Time Killers memory layout ------*/
955930static ADDRESS_MAP_START( timekill_map, ADDRESS_SPACE_PROGRAM, 16 )
956   AM_RANGE(0x000000, 0x003fff) AM_RAM AM_BASE(&main_ram) AM_SIZE(&main_ram_size)
931   AM_RANGE(0x000000, 0x003fff) AM_RAM AM_BASE(&main_ram) AM_SHARE("nvram")
957932   AM_RANGE(0x040000, 0x040001) AM_READ_PORT("P1")
958933   AM_RANGE(0x048000, 0x048001) AM_READ_PORT("P2")
959934   AM_RANGE(0x050000, 0x050001) AM_READ_PORT("SYSTEM") AM_WRITE(timekill_intensity_w)
r9191r9192
971946
972947/*------ BloodStorm and later games memory layout ------*/
973948static ADDRESS_MAP_START( bloodstm_map, ADDRESS_SPACE_PROGRAM, 16 )
974   AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_BASE(&main_ram) AM_SIZE(&main_ram_size)
949   AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_BASE(&main_ram) AM_SHARE("nvram")
975950   AM_RANGE(0x080000, 0x080001) AM_READ_PORT("P1") AM_WRITE(int1_ack_w)
976951   AM_RANGE(0x100000, 0x100001) AM_READ_PORT("P2")
977952   AM_RANGE(0x180000, 0x180001) AM_READ_PORT("P3")
r9191r9192
10361011AM_RANGE(0x000100, 0x0003ff) AM_MIRROR(0x40000) AM_READWRITE(test1_r, test1_w)
10371012AM_RANGE(0x000c00, 0x007fff) AM_MIRROR(0x40000) AM_READWRITE(test2_r, test2_w)
10381013#endif
1039   AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x40000) AM_RAM AM_BASE((UINT32 **)&main_ram) AM_SIZE(&main_ram_size)
1014   AM_RANGE(0x000000, 0x03ffff) AM_MIRROR(0x40000) AM_RAM AM_BASE((UINT32 **)&main_ram) AM_SHARE("nvram")
10401015   AM_RANGE(0x080000, 0x080003) AM_READ_PORT("80000")
10411016   AM_RANGE(0x082000, 0x082003) AM_READ_PORT("82000")
10421017   AM_RANGE(0x084000, 0x084003) AM_READWRITE(sound_data32_r, sound_data32_w)
r9191r9192
10731048
10741049/*------ 68EC020-based memory layout ------*/
10751050static ADDRESS_MAP_START( itech020_map, ADDRESS_SPACE_PROGRAM, 32 )
1076   AM_RANGE(0x000000, 0x007fff) AM_RAM AM_BASE((UINT32 **)&main_ram) AM_SIZE(&main_ram_size)
1051   AM_RANGE(0x000000, 0x007fff) AM_RAM AM_BASE((UINT32 **)&main_ram)
10771052   AM_RANGE(0x080000, 0x080003) AM_READ_PORT("P1") AM_WRITE(int1_ack32_w)
10781053   AM_RANGE(0x100000, 0x100003) AM_READ_PORT("P2")
10791054   AM_RANGE(0x180000, 0x180003) AM_READ_PORT("P3")
r9191r9192
10861061   AM_RANGE(0x500000, 0x5000ff) AM_READWRITE(itech020_video_r, itech020_video_w) AM_BASE((UINT32 **)&itech32_video)
10871062   AM_RANGE(0x578000, 0x57ffff) AM_READNOP            /* touched by protection */
10881063   AM_RANGE(0x580000, 0x59ffff) AM_RAM_WRITE(itech020_paletteram_w) AM_BASE_GENERIC(paletteram)
1089   AM_RANGE(0x600000, 0x603fff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
1064   AM_RANGE(0x600000, 0x603fff) AM_RAM AM_SHARE("nvram")
10901065/* ? */   AM_RANGE(0x61ff00, 0x61ffff) AM_WRITENOP         /* Unknown Writes */
10911066   AM_RANGE(0x680000, 0x680003) AM_READ(itech020_prot_result_r) AM_WRITENOP
10921067/* ! */   AM_RANGE(0x680800, 0x68083f) AM_READONLY AM_WRITENOP /* Serial DUART Channel A/B & Top LED sign - To Do! */
r9191r9192
11091084   AM_RANGE(0x0800, 0x083f) AM_MIRROR(0x80) AM_DEVREADWRITE("ensoniq", es5506_r, es5506_w)
11101085   AM_RANGE(0x0c00, 0x0c00) AM_WRITE(sound_bank_w)
11111086   AM_RANGE(0x1000, 0x1000) AM_WRITENOP   /* noisy */
1112   AM_RANGE(0x1400, 0x140f) AM_DEVREADWRITE("via6522_0", via_r, via_w)
1087   AM_RANGE(0x1400, 0x140f) AM_DEVREADWRITE_MODERN("via6522_0", via6522_device, read, write)
11131088   AM_RANGE(0x2000, 0x3fff) AM_RAM
11141089   AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
11151090   AM_RANGE(0x8000, 0xffff) AM_ROM
r9191r9192
17281703 *
17291704 *************************************/
17301705
1731static MACHINE_DRIVER_START( timekill )
1706static MACHINE_CONFIG_START( timekill, itech32_state )
17321707
17331708   /* basic machine hardware */
17341709   MDRV_CPU_ADD("maincpu", M68000, CPU_CLOCK)
r9191r9192
17391714   MDRV_CPU_PROGRAM_MAP(sound_map)
17401715
17411716   MDRV_MACHINE_RESET(itech32)
1742   MDRV_NVRAM_HANDLER(itech32)
1717   MDRV_NVRAM_ADD_CUSTOM("nvram", itech32_state, nvram_init)
17431718
17441719   MDRV_TICKET_DISPENSER_ADD("ticket", 200, TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH)
17451720
r9191r9192
17631738
17641739   /* via */
17651740   MDRV_VIA6522_ADD("via6522_0", SOUND_CLOCK/8, via_interface)
1766MACHINE_DRIVER_END
1741MACHINE_CONFIG_END
17671742
17681743
1769static MACHINE_DRIVER_START( bloodstm )
1744static MACHINE_CONFIG_DERIVED( bloodstm, timekill )
17701745
17711746   /* basic machine hardware */
1772   MDRV_IMPORT_FROM(timekill)
17731747
17741748   MDRV_CPU_MODIFY("maincpu")
17751749   MDRV_CPU_PROGRAM_MAP(bloodstm_map)
17761750
17771751   /* video hardware */
17781752   MDRV_PALETTE_LENGTH(32768)
1779MACHINE_DRIVER_END
1753MACHINE_CONFIG_END
17801754
17811755
1782static MACHINE_DRIVER_START( drivedge )
1756static MACHINE_CONFIG_DERIVED( drivedge, bloodstm )
17831757
17841758   /* basic machine hardware */
1785   MDRV_IMPORT_FROM(bloodstm)
17861759
17871760   MDRV_CPU_REPLACE("maincpu", M68EC020, CPU020_CLOCK)
17881761   MDRV_CPU_PROGRAM_MAP(drivedge_map)
r9191r9192
17971770
17981771   MDRV_MACHINE_RESET(drivedge)
17991772   MDRV_QUANTUM_TIME(HZ(6000))
1800MACHINE_DRIVER_END
1773MACHINE_CONFIG_END
18011774
18021775
1803static MACHINE_DRIVER_START( sftm )
1776static MACHINE_CONFIG_DERIVED( sftm, bloodstm )
18041777
18051778   /* basic machine hardware */
1806   MDRV_IMPORT_FROM(bloodstm)
18071779
18081780   MDRV_CPU_REPLACE("maincpu", M68EC020, CPU020_CLOCK)
18091781   MDRV_CPU_PROGRAM_MAP(itech020_map)
r9191r9192
18131785   MDRV_CPU_PROGRAM_MAP(sound_020_map)
18141786   MDRV_CPU_VBLANK_INT_HACK(irq1_line_assert,4)
18151787
1816   MDRV_NVRAM_HANDLER(itech020)
1817
18181788   /* via */
18191789   MDRV_DEVICE_REMOVE("via6522_0")
1820MACHINE_DRIVER_END
1790MACHINE_CONFIG_END
18211791
18221792
1823static MACHINE_DRIVER_START( tourny )
1793static MACHINE_CONFIG_DERIVED( tourny, sftm )
18241794
18251795   /* basic machine hardware */
1826   MDRV_IMPORT_FROM(sftm)
18271796
18281797   MDRV_M48T02_ADD( "m48t02"  )
1829MACHINE_DRIVER_END
1798MACHINE_CONFIG_END
18301799
18311800
18321801
src/mame/drivers/mexico86.c
r9191r9192
471471   state->charbank = 0;
472472}
473473
474static MACHINE_DRIVER_START( mexico86 )
474static MACHINE_CONFIG_START( mexico86, mexico86_state )
475475
476   /* driver data */
477   MDRV_DRIVER_DATA(mexico86_state)
478
479476   /* basic machine hardware */
480477   MDRV_CPU_ADD("maincpu",Z80, 24000000/4)      /* 6 MHz, Uses clock divided 24MHz OSC */
481478   MDRV_CPU_PROGRAM_MAP(mexico86_map)
r9191r9192
520517   MDRV_SOUND_ROUTE(1, "mono", 0.30)
521518   MDRV_SOUND_ROUTE(2, "mono", 0.30)
522519   MDRV_SOUND_ROUTE(3, "mono", 1.00)
523MACHINE_DRIVER_END
520MACHINE_CONFIG_END
524521
525522
526static MACHINE_DRIVER_START( knightb )
523static MACHINE_CONFIG_DERIVED( knightb, mexico86 )
527524
528525   /* basic machine hardware */
529   MDRV_IMPORT_FROM(mexico86)
530526
531527   MDRV_DEVICE_REMOVE("sub")
532528
533529   /* video hardware */
534530   MDRV_VIDEO_UPDATE(kikikai)
535MACHINE_DRIVER_END
531MACHINE_CONFIG_END
536532
537533
538static MACHINE_DRIVER_START( kikikai )
534static MACHINE_CONFIG_DERIVED( kikikai, knightb )
539535
540536   /* basic machine hardware */
541   MDRV_IMPORT_FROM(knightb)
542537
543538   MDRV_CPU_MODIFY("maincpu")
544539   MDRV_CPU_VBLANK_INT("screen", kikikai_interrupt) // IRQs should be triggered by the MCU, but we don't have it
r9191r9192
547542
548543   /* video hardware */
549544   MDRV_VIDEO_UPDATE(kikikai)
550MACHINE_DRIVER_END
545MACHINE_CONFIG_END
551546
552547
553548/*************************************
src/mame/drivers/calchase.c
r9191r9192
478478   AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("pic8259_1", pic8259_r, pic8259_w, 0xffffffff)
479479   AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("pit8254", pit8253_r, pit8253_w, 0xffffffff)
480480   AM_RANGE(0x0060, 0x006f) AM_READWRITE(kbdc8042_32le_r,         kbdc8042_32le_w)
481   AM_RANGE(0x0070, 0x007f) AM_READWRITE(mc146818_port32le_r,      mc146818_port32le_w)
481   AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8_MODERN("rtc", mc146818_device, read, write, 0xffffffff)
482482   AM_RANGE(0x0080, 0x009f) AM_READWRITE(at_page32_r,            at_page32_w)
483483   AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("pic8259_2", pic8259_r, pic8259_w, 0xffffffff)
484484   AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE("dma8237_2", at32_dma8237_2_r, at32_dma8237_2_w)
r9191r9192
648648}
649649
650650
651static MACHINE_DRIVER_START( calchase )
651static MACHINE_CONFIG_START( calchase, driver_device )
652652   MDRV_CPU_ADD("maincpu", PENTIUM, 200000000) // Cyrix 686MX-PR200 CPU
653653   MDRV_CPU_PROGRAM_MAP(calchase_map)
654654   MDRV_CPU_IO_MAP(calchase_io)
r9191r9192
662662   MDRV_PIC8259_ADD( "pic8259_1", calchase_pic8259_1_config )
663663   MDRV_PIC8259_ADD( "pic8259_2", calchase_pic8259_2_config )
664664   MDRV_IDE_CONTROLLER_ADD("ide", ide_interrupt)
665   MDRV_NVRAM_HANDLER( mc146818 )
665   MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
666666   MDRV_PCI_BUS_ADD("pcibus", 0)
667667   MDRV_PCI_BUS_DEVICE(0, NULL, intel82439tx_pci_r, intel82439tx_pci_w)
668668   MDRV_PCI_BUS_DEVICE(7, NULL, intel82371ab_pci_r, intel82371ab_pci_w)
r9191r9192
679679
680680   MDRV_VIDEO_START(calchase)
681681   MDRV_VIDEO_UPDATE(calchase)
682MACHINE_DRIVER_END
682MACHINE_CONFIG_END
683683
684684static DRIVER_INIT( calchase )
685685{
686686   bios_ram = auto_alloc_array(machine, UINT32, 0x10000/4);
687687
688688   init_pc_common(machine, PCCOMMON_KEYBOARD_AT, calchase_set_keyb_int);
689   mc146818_init(machine, MC146818_STANDARD);
690689
691690   intel82439tx_init();
692691
src/mame/drivers/chaknpop.c
r9191r9192
271271   state->mcu_select = 0;
272272}
273273
274static MACHINE_DRIVER_START( chaknpop )
274static MACHINE_CONFIG_START( chaknpop, chaknpop_state )
275275
276   /* driver data */
277   MDRV_DRIVER_DATA(chaknpop_state)
278
279276   /* basic machine hardware */
280277   /* the real board is 3.072MHz, but it is faster for MAME */
281278   //MDRV_CPU_ADD("maincpu", Z80, 18432000 / 6)   /* 3.072 MHz */
r9191r9192
312309   MDRV_SOUND_ADD("ay2", AY8910, 18432000 / 12)
313310   MDRV_SOUND_CONFIG(ay8910_interface_2)
314311   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
315MACHINE_DRIVER_END
312MACHINE_CONFIG_END
316313
317314
318315/***************************************************************************
src/mame/drivers/sspeedr.c
r9191r9192
186186GFXDECODE_END
187187
188188
189static MACHINE_DRIVER_START( sspeedr )
189static MACHINE_CONFIG_START( sspeedr, driver_device )
190190
191191   /* basic machine hardware */
192192   MDRV_CPU_ADD("maincpu", Z80, XTAL_19_968MHz/8)
r9191r9192
211211   MDRV_VIDEO_EOF(sspeedr)
212212
213213   /* sound hardware */
214MACHINE_DRIVER_END
214MACHINE_CONFIG_END
215215
216216
217217ROM_START( sspeedr )
src/mame/drivers/ashnojoe.c
r9191r9192
351351}
352352
353353
354static MACHINE_DRIVER_START( ashnojoe )
354static MACHINE_CONFIG_START( ashnojoe, ashnojoe_state )
355355
356   /* driver data */
357   MDRV_DRIVER_DATA(ashnojoe_state)
358
359356   /* basic machine hardware */
360357   MDRV_CPU_ADD("maincpu", M68000, 8000000)
361358   MDRV_CPU_PROGRAM_MAP(ashnojoe_map)
r9191r9192
392389   MDRV_SOUND_ADD("msm", MSM5205, 384000)
393390   MDRV_SOUND_CONFIG(msm5205_config)
394391   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
395MACHINE_DRIVER_END
392MACHINE_CONFIG_END
396393
397394ROM_START( scessjoe )
398395   ROM_REGION( 0xc0000, "maincpu", 0 )     /* 68000 code */
src/mame/drivers/minivadr.c
r9191r9192
1414#include "cpu/z80/z80.h"
1515
1616
17class minivadr_state : public driver_data_t
17class minivadr_state : public driver_device
1818{
1919public:
20   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, minivadr_state(machine)); }
20   minivadr_state(running_machine &machine, const driver_device_config_base &config)
21      : driver_device(machine, config) { }
2122
22   minivadr_state(running_machine &machine)
23      : driver_data_t(machine) { }
24
2523   /* memory pointers */
2624   UINT8 *  videoram;
2725   size_t   videoram_size;
r9191r9192
8078INPUT_PORTS_END
8179
8280
83static MACHINE_DRIVER_START( minivadr )
81static MACHINE_CONFIG_START( minivadr, minivadr_state )
8482
85   /* driver data */
86   MDRV_DRIVER_DATA(minivadr_state)
87
8883   /* basic machine hardware */
8984   MDRV_CPU_ADD("maincpu", Z80,24000000 / 6)       /* 4 MHz ? */
9085   MDRV_CPU_PROGRAM_MAP(minivadr_map)
r9191r9192
10196   MDRV_VIDEO_UPDATE(minivadr)
10297
10398   /* the board has no sound hardware */
104MACHINE_DRIVER_END
99MACHINE_CONFIG_END
105100
106101
107102/***************************************************************************
src/mame/drivers/mouser.c
r9191r9192
190190   state->nmi_enable = 0;
191191}
192192
193static MACHINE_DRIVER_START( mouser )
193static MACHINE_CONFIG_START( mouser, mouser_state )
194194
195   /* driver data */
196   MDRV_DRIVER_DATA(mouser_state)
197
198195   /* basic machine hardware */
199196   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz ? */
200197   MDRV_CPU_PROGRAM_MAP(mouser_map)
r9191r9192
230227
231228   MDRV_SOUND_ADD("ay2", AY8910, 4000000/2)
232229   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
233MACHINE_DRIVER_END
230MACHINE_CONFIG_END
234231
235232
236233ROM_START( mouser )
src/mame/drivers/undrfire.c
r9191r9192
193193#include "sound/es5506.h"
194194#include "includes/taito_f3.h"
195195#include "audio/taito_en.h"
196#include "includes/undrfire.h"
196197
197198#include "cbombers.lh"
198199
199VIDEO_START( undrfire );
200VIDEO_UPDATE( undrfire );
201VIDEO_UPDATE( cbombers );
202
203200static UINT16 coin_word;
204201static UINT16 port_sel = 0;
205extern UINT16 undrfire_rotate_ctrl[8];
206202static int frame_counter=0;
207203
208204static UINT32 *undrfire_ram;   /* will be read in video for gun target calcs */
r9191r9192
718714   0      /* col_base */
719715};
720716
721static MACHINE_DRIVER_START( undrfire )
717static MACHINE_CONFIG_START( undrfire, driver_device )
722718
723719   /* basic machine hardware */
724720   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)   /* 16 MHz */
r9191r9192
745741   MDRV_TC0480SCP_ADD("tc0480scp", undrfire_tc0480scp_intf)
746742
747743   /* sound hardware */
748   MDRV_IMPORT_FROM(taito_f3_sound)
749MACHINE_DRIVER_END
744   MDRV_FRAGMENT_ADD(taito_f3_sound)
745MACHINE_CONFIG_END
750746
751747
752static MACHINE_DRIVER_START( cbombers )
748static MACHINE_CONFIG_START( cbombers, driver_device )
753749
754750   /* basic machine hardware */
755751   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)   /* 16 MHz */
r9191r9192
782778   MDRV_TC0480SCP_ADD("tc0480scp", undrfire_tc0480scp_intf)
783779
784780   /* sound hardware */
785   MDRV_IMPORT_FROM(taito_f3_sound)
786MACHINE_DRIVER_END
781   MDRV_FRAGMENT_ADD(taito_f3_sound)
782MACHINE_CONFIG_END
787783
788784
789785/***************************************************************************
src/mame/drivers/grchamp.c
r9191r9192
671671 *
672672 *************************************/
673673
674static MACHINE_DRIVER_START( grchamp )
675   MDRV_DRIVER_DATA(grchamp_state)
674static MACHINE_CONFIG_START( grchamp, grchamp_state )
676675
677676   /* basic machine hardware */
678677   /* CPU BOARD */
r9191r9192
725724   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
726725   MDRV_SOUND_CONFIG_DISCRETE(grchamp)
727726   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
728MACHINE_DRIVER_END
727MACHINE_CONFIG_END
729728
730729
731730
src/mame/drivers/lkage.c
r9191r9192
414414}
415415
416416
417static MACHINE_DRIVER_START( lkage )
417static MACHINE_CONFIG_START( lkage, lkage_state )
418418
419   /* driver data */
420   MDRV_DRIVER_DATA(lkage_state)
421
422419   /* basic machine hardware */
423420   MDRV_CPU_ADD("maincpu", Z80,6000000)
424421   MDRV_CPU_PROGRAM_MAP(lkage_map)
r9191r9192
464461   MDRV_SOUND_ROUTE(1, "mono", 0.15)
465462   MDRV_SOUND_ROUTE(2, "mono", 0.15)
466463   MDRV_SOUND_ROUTE(3, "mono", 0.40)
467MACHINE_DRIVER_END
464MACHINE_CONFIG_END
468465
469466
470static MACHINE_DRIVER_START( lkageb )
467static MACHINE_CONFIG_START( lkageb, lkage_state )
471468
472   /* driver data */
473   MDRV_DRIVER_DATA(lkage_state)
474
475469   /* basic machine hardware */
476470   MDRV_CPU_ADD("maincpu", Z80,6000000)
477471   MDRV_CPU_PROGRAM_MAP(lkage_map)
r9191r9192
514508   MDRV_SOUND_ROUTE(1, "mono", 0.15)
515509   MDRV_SOUND_ROUTE(2, "mono", 0.15)
516510   MDRV_SOUND_ROUTE(3, "mono", 0.40)
517MACHINE_DRIVER_END
511MACHINE_CONFIG_END
518512
519513
520514ROM_START( lkage )
src/mame/drivers/goodejan.c
r9191r9192
6060#define GOODEJAN_MHZ2 16000000
6161#define GOODEJAN_MHZ3 12000000
6262
63extern UINT16 *seibucrtc_sc0vram,*seibucrtc_sc1vram,*seibucrtc_sc2vram,*seibucrtc_sc3vram;
64extern UINT16 *seibucrtc_vregs;
65extern UINT16 seibucrtc_sc0bank;
6663static UINT16 goodejan_mux_data;
6764
6865static WRITE16_HANDLER( goodejan_gfxbank_w )
r9191r9192
325322/* vector 0x00c is just a reti */
326323}
327324
328static MACHINE_DRIVER_START( goodejan )
325static MACHINE_CONFIG_START( goodejan, driver_device )
329326
330327   /* basic machine hardware */
331328   MDRV_CPU_ADD("maincpu", V30, GOODEJAN_MHZ2/2)
r9191r9192
353350
354351   /* sound hardware */
355352   SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(GOODEJAN_MHZ1/2,GOODEJAN_MHZ2/16)
356MACHINE_DRIVER_END
353MACHINE_CONFIG_END
357354
358static MACHINE_DRIVER_START( totmejan )
359   MDRV_IMPORT_FROM( goodejan )
355static MACHINE_CONFIG_DERIVED( totmejan, goodejan )
360356   MDRV_CPU_MODIFY("maincpu")
361357   MDRV_CPU_IO_MAP(totmejan_io_map)
362MACHINE_DRIVER_END
358MACHINE_CONFIG_END
363359
364360ROM_START( totmejan )
365361   ROM_REGION( 0x100000, "maincpu", 0 ) /* V30 code */
src/mame/drivers/gaiden.c
r9191r9192
442442   AM_RANGE(0x0000, 0xdfff) AM_ROM
443443   AM_RANGE(0xe000, 0xefff) AM_ROM   /* raiga only */
444444   AM_RANGE(0xf000, 0xf7ff) AM_RAM
445   AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
445   AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
446446   AM_RANGE(0xf810, 0xf811) AM_DEVWRITE("ym1", ym2203_w)
447447   AM_RANGE(0xf820, 0xf821) AM_DEVWRITE("ym2", ym2203_w)
448448   AM_RANGE(0xfc00, 0xfc00) AM_NOP /* ?? */
r9191r9192
457457static ADDRESS_MAP_START( drgnbowl_sound_port_map, ADDRESS_SPACE_IO, 8 )
458458   ADDRESS_MAP_GLOBAL_MASK(0xff)
459459   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
460   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
460   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
461461   AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r)
462462ADDRESS_MAP_END
463463
r9191r9192
764764   irqhandler
765765};
766766
767static MACHINE_DRIVER_START( shadoww )
767static MACHINE_CONFIG_START( shadoww, gaiden_state )
768768
769   /* driver data */
770   MDRV_DRIVER_DATA(gaiden_state)
771
772769   /* basic machine hardware */
773770   MDRV_CPU_ADD("maincpu", M68000, 18432000/2)   /* 9.216 MHz */
774771   MDRV_CPU_PROGRAM_MAP(gaiden_map)
r9191r9192
813810
814811   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
815812   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
816MACHINE_DRIVER_END
813MACHINE_CONFIG_END
817814
818static MACHINE_DRIVER_START( raiga )
819   MDRV_IMPORT_FROM(shadoww)
815static MACHINE_CONFIG_DERIVED( raiga, shadoww )
820816
821817   MDRV_SCREEN_MODIFY("screen")
822818   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
r9191r9192
824820   MDRV_VIDEO_START(raiga)
825821   MDRV_VIDEO_UPDATE(raiga)
826822   MDRV_GFXDECODE(raiga)
827MACHINE_DRIVER_END
823MACHINE_CONFIG_END
828824
829static MACHINE_DRIVER_START( drgnbowl )
825static MACHINE_CONFIG_START( drgnbowl, gaiden_state )
830826
831   /* driver data */
832   MDRV_DRIVER_DATA(gaiden_state)
833
834827   /* basic machine hardware */
835828   MDRV_CPU_ADD("maincpu", M68000, 20000000/2)   /* 10 MHz */
836829   MDRV_CPU_PROGRAM_MAP(drgnbowl_map)
r9191r9192
865858
866859   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
867860   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
868MACHINE_DRIVER_END
861MACHINE_CONFIG_END
869862
870863/*
871864Master Ninja
r9191r9192
946939//  AM_RANGE(0x07a808, 0x07a809) AM_WRITE(gaiden_flip_w)
947940ADDRESS_MAP_END
948941
949static MACHINE_DRIVER_START( mastninj )
942static MACHINE_CONFIG_START( mastninj, gaiden_state )
950943
951   /* driver data */
952   MDRV_DRIVER_DATA(gaiden_state)
953
954944   /* basic machine hardware */
955945   MDRV_CPU_ADD("maincpu", M68000, 10000000)   /* 10 MHz? */
956946   MDRV_CPU_PROGRAM_MAP(mastninj_map)
r9191r9192
996986   /* no OKI on the bootleg */
997987//  MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
998988//  MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
999MACHINE_DRIVER_END
989MACHINE_CONFIG_END
1000990
1001991/***************************************************************************
1002992
src/mame/drivers/aleck64.c
r9191r9192
476476   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_MINMAX(0xff,0x00) PORT_SENSITIVITY(30) PORT_KEYDELTA(30) PORT_PLAYER(1)
477477
478478   PORT_START("P2")
479   PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(1)         // Button A
480   PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1)         // Button B
479   PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(2)         // Button A
480   PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)         // Button B
481481   PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_UNUSED )
482   PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_START1 )                     // Start
483   PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1)      // Joypad Up
484   PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)   // Joypad Down
485   PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)   // Joypad Left
486   PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)   // Joypad Right
482   PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_START2 )                     // Start
483   PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)      // Joypad Up
484   PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)   // Joypad Down
485   PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)   // Joypad Left
486   PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)   // Joypad Right
487487   PORT_BIT( 0x00c0, IP_ACTIVE_HIGH, IPT_UNUSED )
488488   PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_UNUSED )
489   PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)         // Button C
489   PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(2)         // Button C
490490   PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNUSED )
491491   PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_UNUSED )
492492   PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_UNUSED )
493   PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(1)         // Button D
493   PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(2)         // Button D
494494
495495   PORT_START("P2_ANALOG_X")
496   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(30) PORT_KEYDELTA(30) PORT_PLAYER(1)
496   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(30) PORT_KEYDELTA(30) PORT_PLAYER(2)
497497
498498   PORT_START("P2_ANALOG_Y")
499   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_MINMAX(0xff,0x00) PORT_SENSITIVITY(30) PORT_KEYDELTA(30) PORT_PLAYER(1)
499   PORT_BIT( 0xff, 0x80, IPT_AD_STICK_Y ) PORT_MINMAX(0xff,0x00) PORT_SENSITIVITY(30) PORT_KEYDELTA(30) PORT_PLAYER(2)
500500
501501
502502   PORT_START("IN0")
r9191r9192
567567   signal_rcp_interrupt(device->machine, VI_INTERRUPT);
568568}
569569
570static MACHINE_DRIVER_START( aleck64 )
570static MACHINE_CONFIG_START( aleck64, _n64_state )
571571
572   MDRV_DRIVER_DATA(_n64_state)
573
574572   /* basic machine hardware */
575573   MDRV_CPU_ADD("maincpu", VR4300BE, 93750000)
576574   MDRV_CPU_CONFIG(vr4300_config)
r9191r9192
601599   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
602600   MDRV_SOUND_ADD("dac2", DMADAC, 0)
603601   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
604MACHINE_DRIVER_END
602MACHINE_CONFIG_END
605603
606604static DRIVER_INIT( aleck64 )
607605{
src/mame/drivers/trackfld.c
r9191r9192
189189#include "sound/msm5205.h"
190190#include "includes/trackfld.h"
191191#include "includes/konamipt.h"
192#include "machine/nvram.h"
192193
193194#define MASTER_CLOCK          XTAL_18_432MHz
194195#define SOUND_CLOCK           XTAL_14_31818MHz
r9191r9192
284285   AM_RANGE(0x1c00, 0x1c3f) AM_RAM AM_BASE_SIZE_MEMBER(trackfld_state, spriteram, spriteram_size)
285286   AM_RANGE(0x1c40, 0x1c5f) AM_RAM AM_BASE_MEMBER(trackfld_state, scroll2)
286287   AM_RANGE(0x1c60, 0x1fff) AM_RAM
287   AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
288   AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("nvram")
288289   AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE_MEMBER(trackfld_state, videoram)
289290   AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE_MEMBER(trackfld_state, colorram)
290291   AM_RANGE(0x6000, 0xffff) AM_ROM
r9191r9192
313314   AM_RANGE(0x1c00, 0x1c3f) AM_RAM AM_BASE_SIZE_MEMBER(trackfld_state, spriteram, spriteram_size)
314315   AM_RANGE(0x1c40, 0x1c5f) AM_RAM AM_BASE_MEMBER(trackfld_state, scroll2)
315316   AM_RANGE(0x1c60, 0x1fff) AM_RAM
316   AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
317   AM_RANGE(0x2800, 0x2fff) AM_RAM AM_SHARE("nvram")
317318   AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE_MEMBER(trackfld_state, videoram)
318319   AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE_MEMBER(trackfld_state, colorram)
319320   AM_RANGE(0x6000, 0xffff) AM_ROM
r9191r9192
340341   AM_RANGE(0x9c40, 0x9c5f) AM_RAM AM_BASE_MEMBER(trackfld_state, scroll2)
341342   AM_RANGE(0x9c60, 0x9fff) AM_RAM
342343   AM_RANGE(0xa800, 0xabff) AM_RAM
343   AM_RANGE(0xac00, 0xafff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
344   AM_RANGE(0xac00, 0xafff) AM_RAM AM_SHARE("nvram")
344345   AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE_MEMBER(trackfld_state, videoram)
345346   AM_RANGE(0xb800, 0xbfff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE_MEMBER(trackfld_state, colorram)
346347ADDRESS_MAP_END
r9191r9192
373374   AM_RANGE(0x1c40, 0x1c5f) AM_RAM AM_BASE_MEMBER(trackfld_state, scroll2)
374375   AM_RANGE(0x1c60, 0x1fff) AM_RAM
375376   AM_RANGE(0x2800, 0x2bff) AM_RAM
376   AM_RANGE(0x2c00, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
377   AM_RANGE(0x2c00, 0x2fff) AM_RAM AM_SHARE("nvram")
377378   AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE_MEMBER(trackfld_state, videoram)
378379   AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE_MEMBER(trackfld_state, colorram)
379380   AM_RANGE(0x6000, 0xffff) AM_ROM
r9191r9192
399400   AM_RANGE(0x1c40, 0x1c5f) AM_RAM AM_BASE_MEMBER(trackfld_state, scroll2)
400401   AM_RANGE(0x1c60, 0x1fff) AM_RAM
401402   AM_RANGE(0x2800, 0x2bff) AM_RAM
402   AM_RANGE(0x2c00, 0x2fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
403   AM_RANGE(0x2c00, 0x2fff) AM_RAM AM_SHARE("nvram")
403404   AM_RANGE(0x3000, 0x37ff) AM_RAM_WRITE(trackfld_videoram_w) AM_BASE_MEMBER(trackfld_state, videoram)
404405   AM_RANGE(0x3800, 0x3fff) AM_RAM_WRITE(trackfld_colorram_w) AM_BASE_MEMBER(trackfld_state, colorram)
405406   AM_RANGE(0xc000, 0xc000) AM_WRITE(questions_bank_w)
r9191r9192
993994   state->hyprolyb_vck_ready = 0;
994995}
995996
996static MACHINE_DRIVER_START( trackfld )
997static MACHINE_CONFIG_START( trackfld, trackfld_state )
997998
998   /* driver data */
999   MDRV_DRIVER_DATA(trackfld_state)
1000
1001999   /* basic machine hardware */
10021000   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/6/2)   /* a guess for now */
10031001   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
10081006
10091007   MDRV_MACHINE_START(trackfld)
10101008   MDRV_MACHINE_RESET(trackfld)
1011   MDRV_NVRAM_HANDLER(generic_0fill)
1009   MDRV_NVRAM_ADD_0FILL("nvram")
10121010
10131011   /* video hardware */
10141012   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
10361034
10371035   MDRV_SOUND_ADD("vlm", VLM5030, VLM_CLOCK)
10381036   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1039MACHINE_DRIVER_END
1037MACHINE_CONFIG_END
10401038
10411039
1042static MACHINE_DRIVER_START( yieartf )
1040static MACHINE_CONFIG_START( yieartf, trackfld_state )
10431041
1044   /* driver data */
1045   MDRV_DRIVER_DATA(trackfld_state)
1046
10471042   /* basic machine hardware */
10481043   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/6/2)   /* a guess for now */
10491044   MDRV_CPU_PROGRAM_MAP(yieartf_map)
r9191r9192
10551050
10561051   MDRV_MACHINE_START(trackfld)
10571052   MDRV_MACHINE_RESET(trackfld)
1058   MDRV_NVRAM_HANDLER(generic_0fill)
1053   MDRV_NVRAM_ADD_0FILL("nvram")
10591054
10601055   /* video hardware */
10611056   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
10831078
10841079   MDRV_SOUND_ADD("vlm", VLM5030, VLM_CLOCK)
10851080   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1086MACHINE_DRIVER_END
1081MACHINE_CONFIG_END
10871082
10881083/* same as the original, but uses ADPCM instead of VLM5030 */
10891084/* also different memory handlers do handle that */
1090static MACHINE_DRIVER_START( hyprolyb )
1091   MDRV_IMPORT_FROM(trackfld)
1085static MACHINE_CONFIG_DERIVED( hyprolyb, trackfld )
10921086
10931087   MDRV_CPU_MODIFY("audiocpu")
10941088   MDRV_CPU_PROGRAM_MAP(hyprolyb_sound_map)
r9191r9192
11051099   MDRV_SOUND_ADD("msm", MSM5205, 384000)
11061100   MDRV_SOUND_CONFIG(hyprolyb_msm5205_config)
11071101   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1108MACHINE_DRIVER_END
1102MACHINE_CONFIG_END
11091103
1110static MACHINE_DRIVER_START( atlantol )
1111   MDRV_IMPORT_FROM(hyprolyb)
1104static MACHINE_CONFIG_DERIVED( atlantol, hyprolyb )
11121105
11131106   MDRV_VIDEO_START(atlantol)
1114MACHINE_DRIVER_END
1107MACHINE_CONFIG_END
11151108
11161109
1117static MACHINE_DRIVER_START( mastkin )
1110static MACHINE_CONFIG_DERIVED( mastkin, trackfld )
11181111
11191112   /* basic machine hardware */
1120   MDRV_IMPORT_FROM(trackfld)
11211113   MDRV_CPU_MODIFY("maincpu")
11221114   MDRV_CPU_PROGRAM_MAP(mastkin_map)
1123MACHINE_DRIVER_END
1115MACHINE_CONFIG_END
11241116
1125static MACHINE_DRIVER_START( wizzquiz )
1117static MACHINE_CONFIG_DERIVED( wizzquiz, trackfld )
11261118
11271119   /* basic machine hardware */
1128   MDRV_IMPORT_FROM(trackfld)
11291120   // right cpu?
11301121   MDRV_CPU_REPLACE("maincpu",M6800,2048000)      /* 1.400 MHz ??? */
11311122   MDRV_CPU_PROGRAM_MAP(wizzquiz_map)
11321123   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
1133MACHINE_DRIVER_END
1124MACHINE_CONFIG_END
11341125
1135static MACHINE_DRIVER_START( reaktor )
1126static MACHINE_CONFIG_DERIVED( reaktor, trackfld )
11361127
11371128   /* basic machine hardware */
1138   MDRV_IMPORT_FROM(trackfld)
11391129   MDRV_CPU_REPLACE("maincpu",Z80,MASTER_CLOCK/6)
11401130   MDRV_CPU_PROGRAM_MAP(reaktor_map)
11411131   MDRV_CPU_IO_MAP(reaktor_io_map)
11421132   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
1143MACHINE_DRIVER_END
1133MACHINE_CONFIG_END
11441134
11451135
11461136/***************************************************************************
src/mame/drivers/astrof.c
r9191r9192
955955 *
956956 *************************************/
957957
958static MACHINE_DRIVER_START( base )
958static MACHINE_CONFIG_START( base, astrof_state )
959959
960   /* driver data */
961   MDRV_DRIVER_DATA(astrof_state)
962
963960   /* basic machine hardware */
964961   MDRV_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK)
965962   MDRV_TIMER_ADD_SCANLINE("vblank", irq_callback, "screen", VBSTART, 0)
r9191r9192
970967   MDRV_SCREEN_ADD("screen", RASTER)
971968   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
972969   MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
973MACHINE_DRIVER_END
970MACHINE_CONFIG_END
974971
975972
976static MACHINE_DRIVER_START( astrof )
973static MACHINE_CONFIG_DERIVED( astrof, base )
977974
978975   /* basic machine hardware */
979   MDRV_IMPORT_FROM(base)
980976   MDRV_CPU_MODIFY("maincpu")
981977   MDRV_CPU_PROGRAM_MAP(astrof_map)
982978
r9191r9192
986982   MDRV_VIDEO_UPDATE(astrof)
987983
988984   /* audio hardware */
989   MDRV_IMPORT_FROM(astrof_audio)
990MACHINE_DRIVER_END
985   MDRV_FRAGMENT_ADD(astrof_audio)
986MACHINE_CONFIG_END
991987
992988
993static MACHINE_DRIVER_START( abattle )
989static MACHINE_CONFIG_DERIVED( abattle, astrof )
994990
995991   /* basic machine hardware */
996   MDRV_IMPORT_FROM(astrof)
997992
998993   MDRV_MACHINE_START(abattle)
999994   MDRV_MACHINE_RESET(abattle)
1000MACHINE_DRIVER_END
995MACHINE_CONFIG_END
1001996
1002997
1003static MACHINE_DRIVER_START( spfghmk2 )
998static MACHINE_CONFIG_DERIVED( spfghmk2, base )
1004999
10051000   /* basic machine hardware */
1006   MDRV_IMPORT_FROM(base)
10071001   MDRV_CPU_MODIFY("maincpu")
10081002   MDRV_CPU_PROGRAM_MAP(spfghmk2_map)
10091003
r9191r9192
10131007   MDRV_VIDEO_UPDATE(astrof)
10141008
10151009   /* audio hardware */
1016   MDRV_IMPORT_FROM(spfghmk2_audio)
1017MACHINE_DRIVER_END
1010   MDRV_FRAGMENT_ADD(spfghmk2_audio)
1011MACHINE_CONFIG_END
10181012
10191013
1020static MACHINE_DRIVER_START( tomahawk )
1014static MACHINE_CONFIG_DERIVED( tomahawk, base )
10211015
10221016   /* basic machine hardware */
1023   MDRV_IMPORT_FROM(base)
10241017   MDRV_CPU_MODIFY("maincpu")
10251018   MDRV_CPU_PROGRAM_MAP(tomahawk_map)
10261019
r9191r9192
10301023   MDRV_VIDEO_UPDATE(tomahawk)
10311024
10321025   /* audio hardware */
1033   MDRV_IMPORT_FROM(tomahawk_audio)
1034MACHINE_DRIVER_END
1026   MDRV_FRAGMENT_ADD(tomahawk_audio)
1027MACHINE_CONFIG_END
10351028
10361029
10371030
src/mame/drivers/vegas.c
r9191r9192
22202220   SYSTEM_CLOCK   /* system clock rate */
22212221};
22222222
2223static MACHINE_DRIVER_START( vegascore )
2223static MACHINE_CONFIG_START( vegascore, driver_device )
22242224
22252225   /* basic machine hardware */
22262226   MDRV_CPU_ADD("maincpu", R5000LE, SYSTEM_CLOCK*2)
r9191r9192
22502250   MDRV_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
22512251
22522252   MDRV_VIDEO_UPDATE(vegas)
2253MACHINE_DRIVER_END
2253MACHINE_CONFIG_END
22542254
22552255
2256static MACHINE_DRIVER_START( vegas )
2257   MDRV_IMPORT_FROM(vegascore)
2258   MDRV_IMPORT_FROM(dcs2_audio_2104)
2259MACHINE_DRIVER_END
2256static MACHINE_CONFIG_DERIVED( vegas, vegascore )
2257   MDRV_FRAGMENT_ADD(dcs2_audio_2104)
2258MACHINE_CONFIG_END
22602259
22612260
2262static MACHINE_DRIVER_START( vegas250 )
2263   MDRV_IMPORT_FROM(vegascore)
2264   MDRV_IMPORT_FROM(dcs2_audio_2104)
2261static MACHINE_CONFIG_DERIVED( vegas250, vegascore )
2262   MDRV_FRAGMENT_ADD(dcs2_audio_2104)
22652263
22662264   MDRV_CPU_MODIFY("maincpu")
22672265   MDRV_CPU_CLOCK(SYSTEM_CLOCK*2.5)
2268MACHINE_DRIVER_END
2266MACHINE_CONFIG_END
22692267
22702268
2271static MACHINE_DRIVER_START( vegas32m )
2272   MDRV_IMPORT_FROM(vegascore)
2273   MDRV_IMPORT_FROM(dcs2_audio_dsio)
2269static MACHINE_CONFIG_DERIVED( vegas32m, vegascore )
2270   MDRV_FRAGMENT_ADD(dcs2_audio_dsio)
22742271
22752272   MDRV_CPU_MODIFY("maincpu")
22762273   MDRV_CPU_PROGRAM_MAP(vegas_map_32mb)
2277MACHINE_DRIVER_END
2274MACHINE_CONFIG_END
22782275
22792276
2280static MACHINE_DRIVER_START( vegasban )
2281   MDRV_IMPORT_FROM(vegascore)
2282   MDRV_IMPORT_FROM(dcs2_audio_2104)
2277static MACHINE_CONFIG_DERIVED( vegasban, vegascore )
2278   MDRV_FRAGMENT_ADD(dcs2_audio_2104)
22832279
22842280   MDRV_CPU_MODIFY("maincpu")
22852281   MDRV_CPU_PROGRAM_MAP(vegas_map_32mb)
r9191r9192
22882284   MDRV_3DFX_VOODOO_BANSHEE_ADD("voodoo", STD_VOODOO_BANSHEE_CLOCK, 16, "screen")
22892285   MDRV_3DFX_VOODOO_CPU("maincpu")
22902286   MDRV_3DFX_VOODOO_VBLANK(vblank_assert)
2291MACHINE_DRIVER_END
2287MACHINE_CONFIG_END
22922288
22932289
2294static MACHINE_DRIVER_START( vegasv3 )
2295   MDRV_IMPORT_FROM(vegas32m)
2290static MACHINE_CONFIG_DERIVED( vegasv3, vegas32m )
22962291   MDRV_CPU_REPLACE("maincpu", RM7000LE, SYSTEM_CLOCK*2.5)
22972292   MDRV_CPU_CONFIG(r5000_config)
22982293   MDRV_CPU_PROGRAM_MAP(vegas_map_8mb)
r9191r9192
23012296   MDRV_3DFX_VOODOO_3_ADD("voodoo", STD_VOODOO_3_CLOCK, 16, "screen")
23022297   MDRV_3DFX_VOODOO_CPU("maincpu")
23032298   MDRV_3DFX_VOODOO_VBLANK(vblank_assert)
2304MACHINE_DRIVER_END
2299MACHINE_CONFIG_END
23052300
23062301
2307static MACHINE_DRIVER_START( denver )
2308   MDRV_IMPORT_FROM(vegascore)
2309   MDRV_IMPORT_FROM(dcs2_audio_denver)
2302static MACHINE_CONFIG_DERIVED( denver, vegascore )
2303   MDRV_FRAGMENT_ADD(dcs2_audio_denver)
23102304
23112305   MDRV_CPU_REPLACE("maincpu", RM7000LE, SYSTEM_CLOCK*2.5)
23122306   MDRV_CPU_CONFIG(r5000_config)
r9191r9192
23162310   MDRV_3DFX_VOODOO_3_ADD("voodoo", STD_VOODOO_3_CLOCK, 16, "screen")
23172311   MDRV_3DFX_VOODOO_CPU("maincpu")
23182312   MDRV_3DFX_VOODOO_VBLANK(vblank_assert)
2319MACHINE_DRIVER_END
2313MACHINE_CONFIG_END
23202314
23212315
23222316
src/mame/drivers/tecmo.c
r9191r9192
4949#include "cpu/z80/z80.h"
5050#include "sound/3812intf.h"
5151#include "sound/msm5205.h"
52#include "includes/tecmo.h"
5253
53
54extern int tecmo_video_type;
55extern UINT8 *tecmo_txvideoram,*tecmo_fgvideoram,*tecmo_bgvideoram;
56
57WRITE8_HANDLER( tecmo_txvideoram_w );
58WRITE8_HANDLER( tecmo_fgvideoram_w );
59WRITE8_HANDLER( tecmo_bgvideoram_w );
60WRITE8_HANDLER( tecmo_fgscroll_w );
61WRITE8_HANDLER( tecmo_bgscroll_w );
62WRITE8_HANDLER( tecmo_flipscreen_w );
63
64VIDEO_START( tecmo );
65VIDEO_UPDATE( tecmo );
66
6754static int adpcm_pos,adpcm_end;
6855static int adpcm_data;
6956
r9191r9192
675662   adpcm_data = -1;
676663}
677664
678static MACHINE_DRIVER_START( rygar )
665static MACHINE_CONFIG_START( rygar, driver_device )
679666
680667   /* basic machine hardware */
681668   MDRV_CPU_ADD("maincpu", Z80, XTAL_24MHz/4) /* verified on pcb */
r9191r9192
711698   MDRV_SOUND_ADD("msm", MSM5205, XTAL_400kHz) /* verified on pcb, even if schematics shows a 384khz resonator */
712699   MDRV_SOUND_CONFIG(msm5205_config)
713700   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
714MACHINE_DRIVER_END
701MACHINE_CONFIG_END
715702
716703
717static MACHINE_DRIVER_START( gemini )
704static MACHINE_CONFIG_DERIVED( gemini, rygar )
718705
719706   /* basic machine hardware */
720   MDRV_IMPORT_FROM(rygar)
721707   MDRV_CPU_MODIFY("maincpu")
722708   MDRV_CPU_CLOCK(6000000)
723709   MDRV_CPU_PROGRAM_MAP(gemini_map)
724710
725711   MDRV_CPU_MODIFY("soundcpu")
726712   MDRV_CPU_PROGRAM_MAP(tecmo_sound_map)
727MACHINE_DRIVER_END
713MACHINE_CONFIG_END
728714
729715
730static MACHINE_DRIVER_START( silkworm )
716static MACHINE_CONFIG_DERIVED( silkworm, gemini )
731717
732718   /* basic machine hardware */
733   MDRV_IMPORT_FROM(gemini)
734719   MDRV_CPU_MODIFY("maincpu")
735720   MDRV_CPU_CLOCK(6000000)
736721   MDRV_CPU_PROGRAM_MAP(silkworm_map)
737MACHINE_DRIVER_END
722MACHINE_CONFIG_END
738723
739724#ifdef UNUSED_CODE
740static MACHINE_DRIVER_START( backfirt )
725static MACHINE_CONFIG_START( backfirt, driver_device )
741726
742727   /* basic machine hardware */
743728   MDRV_CPU_ADD("maincpu", Z80, XTAL_24MHz/4)
r9191r9192
772757
773758   /* no MSM on this PCB */
774759
775MACHINE_DRIVER_END
760MACHINE_CONFIG_END
776761#endif
777762
778763/***************************************************************************
src/mame/drivers/magictg.c
r9191r9192
139139
140140
141141
142static MACHINE_DRIVER_START( magictg )
142static MACHINE_CONFIG_START( magictg, driver_device )
143143   /* basic machine hardware */
144144   MDRV_CPU_ADD("maincpu", R4600BE, 10000000)  // ?? what cpu?
145145   MDRV_CPU_CONFIG(r4600_config)
r9191r9192
156156
157157   MDRV_VIDEO_START(magictg)
158158   MDRV_VIDEO_UPDATE(magictg)
159MACHINE_DRIVER_END
159MACHINE_CONFIG_END
160160
161161static INPUT_PORTS_START( magictg )
162162   PORT_START("IPT_TEST")
src/mame/drivers/galpanic.c
r9191r9192
123123#include "includes/kaneko16.h"
124124#include "sound/okim6295.h"
125125#include "video/kan_pand.h"
126#include "includes/galpanic.h"
126127
127extern UINT16 *galpanic_bgvideoram,*galpanic_fgvideoram;
128extern size_t galpanic_fgvideoram_size;
129
130PALETTE_INIT( galpanic );
131WRITE16_HANDLER( galpanic_bgvideoram_w );
132WRITE16_HANDLER( galpanic_paletteram_w );
133VIDEO_START( galpanic );
134VIDEO_UPDATE( galpanic );
135VIDEO_UPDATE( comad );
136
137
138128static VIDEO_EOF( galpanic )
139129{
140130   running_device *pandora = machine->device("pandora");
r9191r9192
224214
225215static ADDRESS_MAP_START( galpanic_map, ADDRESS_SPACE_PROGRAM, 16 )
226216   AM_RANGE(0x000000, 0x3fffff) AM_ROM
227   AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
217   AM_RANGE(0x400000, 0x400001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
228218   AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_BASE(&galpanic_fgvideoram) AM_SIZE(&galpanic_fgvideoram_size)
229219   AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_BASE(&galpanic_bgvideoram)   /* + work RAM */
230220   AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_BASE_GENERIC(paletteram)   /* 1024 colors, but only 512 seem to be used */
r9191r9192
272262   AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w)   /* not sure */
273263   AM_RANGE(0xc00000, 0xc0ffff) AM_RAM            /* missw96 */
274264   AM_RANGE(0xc80000, 0xc8ffff) AM_RAM            /* fantasia, newfant */
275   AM_RANGE(0xf00000, 0xf00001) AM_DEVREADWRITE8("oki", comad_okim6295_r, okim6295_w, 0xff00)   /* fantasia, missw96 */
276   AM_RANGE(0xf80000, 0xf80001) AM_DEVREADWRITE8("oki", comad_okim6295_r, okim6295_w, 0xff00)   /* newfant */
265   AM_RANGE(0xf00000, 0xf00001) AM_DEVREAD8("oki", comad_okim6295_r, 0xff00) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0xff00)   /* fantasia, missw96 */
266   AM_RANGE(0xf80000, 0xf80001) AM_DEVREAD8("oki", comad_okim6295_r, 0xff00) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0xff00)   /* newfant */
277267ADDRESS_MAP_END
278268
279269static ADDRESS_MAP_START( fantsia2_map, ADDRESS_SPACE_PROGRAM, 16 )
r9191r9192
289279   AM_RANGE(0x800008, 0x800009) AM_READ(kludge)   /* bits 8-a = timer? palette update code waits for them to be 111 */
290280   AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w)   /* not sure */
291281   AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP   /* coin counters, + ? */
292   AM_RANGE(0xc80000, 0xc80001) AM_DEVREADWRITE8("oki", comad_okim6295_r, okim6295_w, 0xff00)
282   AM_RANGE(0xc80000, 0xc80001) AM_DEVREAD8("oki", comad_okim6295_r, 0xff00) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0xff00)
293283   AM_RANGE(0xf80000, 0xf8ffff) AM_RAM
294284ADDRESS_MAP_END
295285
r9191r9192
309299   AM_RANGE(0x800004, 0x800005) AM_READ_PORT("SYSTEM")
310300   AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w)
311301   AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP // ?
312   AM_RANGE(0xd00000, 0xd00001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0xff00)
302   AM_RANGE(0xd00000, 0xd00001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff00)
313303   AM_RANGE(0xe80000, 0xe8ffff) AM_RAM
314304ADDRESS_MAP_END
315305
r9191r9192
336326
337327   AM_RANGE(0x900000, 0x900001) AM_WRITE(galpanica_6295_bankswitch_w)
338328
339   AM_RANGE(0xc00000, 0xc00001) AM_DEVREADWRITE8("oki", comad_okim6295_r, okim6295_w, 0xff00)
329   AM_RANGE(0xc00000, 0xc00001) AM_DEVREAD8("oki", comad_okim6295_r, 0xff00) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0xff00)   /* fantasia, missw96 */
340330
341331   AM_RANGE(0xc80000, 0xc8ffff) AM_RAM      // main ram
342332ADDRESS_MAP_END
r9191r9192
361351   AM_RANGE(0xd80000, 0xd80001) AM_WRITENOP
362352   AM_RANGE(0xe00012, 0xe00013) AM_WRITENOP
363353   AM_RANGE(0xe80000, 0xe80001) AM_WRITENOP
364   AM_RANGE(0xf80000, 0xf80001) AM_DEVREADWRITE8("oki", comad_okim6295_r, okim6295_w, 0xff00)
354   AM_RANGE(0xf80000, 0xf80001) AM_DEVREAD8("oki", comad_okim6295_r, 0xff00) AM_DEVWRITE8_MODERN("oki", okim6295_device, write, 0xff00)   /* fantasia, missw96 */
365355ADDRESS_MAP_END
366356
367357#define COMMON_COIN0\
r9191r9192
881871};
882872
883873
884static MACHINE_DRIVER_START( galpanic )
874static MACHINE_CONFIG_START( galpanic, driver_device )
885875
886876   /* basic machine hardware */
887877   MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz) /* verified on pcb */
r9191r9192
911901
912902   MDRV_OKIM6295_ADD("oki", XTAL_12MHz/6, OKIM6295_PIN7_LOW) /* verified on pcb */
913903   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
914MACHINE_DRIVER_END
904MACHINE_CONFIG_END
915905
916906
917static MACHINE_DRIVER_START( galpanica )
907static MACHINE_CONFIG_DERIVED( galpanica, galpanic )
918908
919909   /* basic machine hardware */
920   MDRV_IMPORT_FROM(galpanic)
921910
922911   /* arm watchdog */
923912   MDRV_WATCHDOG_TIME_INIT(SEC(3))   /* a guess, and certainly wrong */
924MACHINE_DRIVER_END
913MACHINE_CONFIG_END
925914
926static MACHINE_DRIVER_START( comad )
915static MACHINE_CONFIG_DERIVED( comad, galpanic )
927916
928917   /* basic machine hardware */
929   MDRV_IMPORT_FROM(galpanic)
930918   MDRV_CPU_MODIFY("maincpu")
931919   MDRV_CPU_CLOCK(10000000)
932920   MDRV_CPU_PROGRAM_MAP(comad_map)
r9191r9192
936924   /* video hardware */
937925   MDRV_VIDEO_UPDATE(comad)
938926   MDRV_VIDEO_EOF(0)
939MACHINE_DRIVER_END
927MACHINE_CONFIG_END
940928
941static MACHINE_DRIVER_START( supmodel )
929static MACHINE_CONFIG_DERIVED( supmodel, comad )
942930
943931   /* basic machine hardware */
944   MDRV_IMPORT_FROM(comad)
945932   MDRV_CPU_MODIFY("maincpu")
946933   MDRV_CPU_CLOCK(12000000)   /* ? */
947934   MDRV_CPU_PROGRAM_MAP(supmodel_map)
r9191r9192
954941   /* sound hardware */
955942   MDRV_OKIM6295_REPLACE("oki", 1584000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
956943   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
957MACHINE_DRIVER_END
944MACHINE_CONFIG_END
958945
959946
960static MACHINE_DRIVER_START( fantsia2 )
947static MACHINE_CONFIG_DERIVED( fantsia2, comad )
961948
962949   /* basic machine hardware */
963   MDRV_IMPORT_FROM(comad)
964950   MDRV_CPU_MODIFY("maincpu")
965951   MDRV_CPU_CLOCK(12000000)   /* ? */
966952   MDRV_CPU_PROGRAM_MAP(fantsia2_map)
r9191r9192
968954   /* video hardware */
969955   MDRV_VIDEO_UPDATE(comad)
970956   MDRV_VIDEO_EOF(0)
971MACHINE_DRIVER_END
957MACHINE_CONFIG_END
972958
973static MACHINE_DRIVER_START( galhustl )
959static MACHINE_CONFIG_DERIVED( galhustl, comad )
974960
975961   /* basic machine hardware */
976   MDRV_IMPORT_FROM(comad)
977962   MDRV_CPU_MODIFY("maincpu")
978963   MDRV_CPU_CLOCK(12000000)   /* ? */
979964   MDRV_CPU_PROGRAM_MAP(galhustl_map)
r9191r9192
986971   /* sound hardware */
987972   MDRV_OKIM6295_REPLACE("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
988973   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
989MACHINE_DRIVER_END
974MACHINE_CONFIG_END
990975
991static MACHINE_DRIVER_START( zipzap )
976static MACHINE_CONFIG_DERIVED( zipzap, comad )
992977
993978   /* basic machine hardware */
994   MDRV_IMPORT_FROM(comad)
995979   MDRV_CPU_MODIFY("maincpu")
996980   MDRV_CPU_CLOCK(12000000)   /* ? */
997981   MDRV_CPU_PROGRAM_MAP(zipzap_map)
r9191r9192
1003987   /* sound hardware */
1004988   MDRV_OKIM6295_REPLACE("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
1005989   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1006MACHINE_DRIVER_END
990MACHINE_CONFIG_END
1007991
1008992
1009993/***************************************************************************
src/mame/drivers/finalizr.c
r9191r9192
267267   state->irq_enable = 0;
268268}
269269
270static MACHINE_DRIVER_START( finalizr )
270static MACHINE_CONFIG_START( finalizr, finalizr_state )
271271
272   /* driver data */
273   MDRV_DRIVER_DATA(finalizr_state)
274
275272   /* basic machine hardware */
276273   MDRV_CPU_ADD("maincpu", M6809,XTAL_18_432MHz/6)   /* ??? */
277274   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
307304
308305   MDRV_SOUND_ADD("dac", DAC, 0)
309306   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.65)
310MACHINE_DRIVER_END
307MACHINE_CONFIG_END
311308
312309
313310
src/mame/drivers/shuuz.c
r9191r9192
139139
140140static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
141141   AM_RANGE(0x000000, 0x03ffff) AM_ROM
142   AM_RANGE(0x100000, 0x100fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(shuuz_state, eeprom, eeprom_size)
142   AM_RANGE(0x100000, 0x100fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
143143   AM_RANGE(0x101000, 0x101fff) AM_WRITE(atarigen_eeprom_enable_w)
144144   AM_RANGE(0x102000, 0x102001) AM_WRITE(watchdog_reset16_w)
145145   AM_RANGE(0x103000, 0x103003) AM_READ(leta_r)
146146   AM_RANGE(0x105000, 0x105001) AM_READWRITE(special_port0_r, latch_w)
147147   AM_RANGE(0x105002, 0x105003) AM_READ_PORT("BUTTONS")
148   AM_RANGE(0x106000, 0x106001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
148   AM_RANGE(0x106000, 0x106001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
149149   AM_RANGE(0x107000, 0x107007) AM_NOP
150150   AM_RANGE(0x3e0000, 0x3e087f) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
151151   AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE(shuuz_atarivc_r, shuuz_atarivc_w) AM_BASE_MEMBER(shuuz_state, atarivc_data)
r9191r9192
258258 *
259259 *************************************/
260260
261static MACHINE_DRIVER_START( shuuz )
262   MDRV_DRIVER_DATA(shuuz_state)
261static MACHINE_CONFIG_START( shuuz, shuuz_state )
263262
264263   /* basic machine hardware */
265264   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
267266
268267   MDRV_MACHINE_START(shuuz)
269268   MDRV_MACHINE_RESET(shuuz)
270   MDRV_NVRAM_HANDLER(atarigen)
269   MDRV_NVRAM_ADD_1FILL("eeprom")
271270
272271   /* video hardware */
273272   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
288287
289288   MDRV_OKIM6295_ADD("oki", ATARI_CLOCK_14MHz/16, OKIM6295_PIN7_HIGH)
290289   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
291MACHINE_DRIVER_END
290MACHINE_CONFIG_END
292291
293292
294293
src/mame/drivers/speedspn.c
r9191r9192
2323#include "emu.h"
2424#include "cpu/z80/z80.h"
2525#include "sound/okim6295.h"
26#include "includes/speedspn.h"
2627
2728/*** README INFO **************************************************************
2829
r9191r9192
5455
5556******************************************************************************/
5657
57/* in video */
58extern UINT8 *speedspn_attram;
59
60WRITE8_HANDLER( speedspn_vidram_w );
61WRITE8_HANDLER( speedspn_attram_w );
62READ8_HANDLER( speedspn_vidram_r );
63VIDEO_START(speedspn);
64VIDEO_UPDATE(speedspn);
65WRITE8_HANDLER(speedspn_banked_vidram_change);
66WRITE8_HANDLER(speedspn_global_display_w);
67
6858static READ8_HANDLER(speedspn_irq_ack_r)
6959{
7060   // I think this simply acknowledges the IRQ #0, it's read within the handler and the
r9191r9192
145135   AM_RANGE(0x0000, 0x7fff) AM_ROM
146136   AM_RANGE(0x8000, 0x87ff) AM_RAM
147137   AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("oki", oki_banking_w)
148   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
138   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
149139   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
150140ADDRESS_MAP_END
151141
r9191r9192
277267/*** MACHINE DRIVER **********************************************************/
278268
279269
280static MACHINE_DRIVER_START( speedspn )
270static MACHINE_CONFIG_START( speedspn, driver_device )
281271
282272   /* basic machine hardware */
283273   MDRV_CPU_ADD("maincpu",Z80,6000000)       /* 6 MHz */
r9191r9192
307297
308298   MDRV_OKIM6295_ADD("oki", 1122000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
309299   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
310MACHINE_DRIVER_END
300MACHINE_CONFIG_END
311301
312302/*** ROM LOADING *************************************************************/
313303
src/mame/drivers/enigma2.c
r9191r9192
5757#define NUM_PENS   (8)
5858
5959
60class enigma2_state : public driver_data_t
60class enigma2_state : public driver_device
6161{
6262public:
63   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, enigma2_state(machine)); }
63   enigma2_state(running_machine &machine, const driver_device_config_base &config)
64      : driver_device(machine, config) { }
6465
65   enigma2_state(running_machine &machine)
66      : driver_data_t(machine) { }
67
6866   /* memory pointers */
6967   UINT8 *  videoram;
7068
r9191r9192
603601INPUT_PORTS_END
604602
605603
606static MACHINE_DRIVER_START( enigma2 )
604static MACHINE_CONFIG_START( enigma2, enigma2_state )
607605
608   /* driver data */
609   MDRV_DRIVER_DATA(enigma2_state)
610
611606   /* basic machine hardware */
612607   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
613608   MDRV_CPU_PROGRAM_MAP(engima2_main_cpu_map)
r9191r9192
632627   MDRV_SOUND_ADD("aysnd", AY8910, AY8910_CLOCK)
633628   MDRV_SOUND_CONFIG(ay8910_config)
634629   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
635MACHINE_DRIVER_END
630MACHINE_CONFIG_END
636631
637632
638static MACHINE_DRIVER_START( enigma2a )
633static MACHINE_CONFIG_START( enigma2a, enigma2_state )
639634
640   /* driver data */
641   MDRV_DRIVER_DATA(enigma2_state)
642
643635   /* basic machine hardware */
644636   MDRV_CPU_ADD("maincpu", I8080, CPU_CLOCK)
645637   MDRV_CPU_PROGRAM_MAP(engima2a_main_cpu_map)
r9191r9192
665657   MDRV_SOUND_ADD("aysnd", AY8910, AY8910_CLOCK)
666658   MDRV_SOUND_CONFIG(ay8910_config)
667659   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
668MACHINE_DRIVER_END
660MACHINE_CONFIG_END
669661
670662
671663
src/mame/drivers/igspoker.c
r9191r9192
922922   AM_RANGE(0x5091, 0x5091) AM_READ(custom_io_r) AM_WRITE( igs_lamps_w )         /* Keyboard */
923923   AM_RANGE(0x50a0, 0x50a0) AM_READ_PORT("BUTTONS2")
924924   /* Sound synthesys has been patched out, replaced by ADPCM samples */
925   AM_RANGE(0x50b0, 0x50b0) AM_DEVREADWRITE( "oki", okim6295_r, okim6295_w )
925   AM_RANGE(0x50b0, 0x50b0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
926926   AM_RANGE(0x50c0, 0x50c0) AM_READ(igs_irqack_r) AM_WRITE(igs_irqack_w)
927927   AM_RANGE(0x7000, 0x77ff) AM_RAM_WRITE( fg_tile_w )  AM_BASE( &fg_tile_ram )
928928   AM_RANGE(0x7800, 0x7fff) AM_RAM_WRITE( fg_color_w ) AM_BASE( &fg_color_ram )
r9191r9192
944944   AM_RANGE(0x5091, 0x5091) AM_READ(custom_io_r) AM_WRITE( igs_lamps_w )         /* Keyboard */
945945   AM_RANGE(0x50a0, 0x50a0) AM_READ_PORT("BUTTONS2")
946946   /* Sound synthesys has been patched out, replaced by ADPCM samples */
947   AM_RANGE(0x50b0, 0x50b0) AM_DEVREADWRITE( "oki", okim6295_r, okim6295_w )
947   AM_RANGE(0x50b0, 0x50b0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
948948   AM_RANGE(0x50c0, 0x50c0) AM_READ(igs_irqack_r) AM_WRITE(igs_irqack_w)
949949   AM_RANGE(0x7000, 0x77ff) AM_RAM_WRITE( fg_tile_w )  AM_BASE( &fg_tile_ram )
950950   AM_RANGE(0x7800, 0x7fff) AM_RAM_WRITE( fg_color_w ) AM_BASE( &fg_color_ram )
r9191r9192
15561556   GFXDECODE_ENTRY( "gfx2", 0x00000, charlayout2,  0, 1 )
15571557GFXDECODE_END
15581558
1559static MACHINE_DRIVER_START( igspoker )
1559static MACHINE_CONFIG_START( igspoker, driver_device )
15601560
15611561   /* basic machine hardware */
15621562   MDRV_CPU_ADD("maincpu",Z80, 3579545)
r9191r9192
15851585   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
15861586   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
15871587
1588MACHINE_DRIVER_END
1588MACHINE_CONFIG_END
15891589
1590static MACHINE_DRIVER_START( csk227it )
1590static MACHINE_CONFIG_DERIVED( csk227it, igspoker )
15911591
1592   MDRV_IMPORT_FROM(igspoker)
1592MACHINE_CONFIG_END
15931593
1594MACHINE_DRIVER_END
1594static MACHINE_CONFIG_DERIVED( csk234it, igspoker )
15951595
1596static MACHINE_DRIVER_START( csk234it )
1596MACHINE_CONFIG_END
15971597
1598   MDRV_IMPORT_FROM(igspoker)
1598static MACHINE_CONFIG_DERIVED( igs_ncs, igspoker )
15991599
1600MACHINE_DRIVER_END
1600MACHINE_CONFIG_END
16011601
1602static MACHINE_DRIVER_START( igs_ncs )
1603
1604   MDRV_IMPORT_FROM(igspoker)
1605
1606MACHINE_DRIVER_END
1607
1608static MACHINE_DRIVER_START( number10 )
1609
1610   MDRV_IMPORT_FROM(igspoker)
1602static MACHINE_CONFIG_DERIVED( number10, igspoker )
16111603   MDRV_CPU_MODIFY("maincpu")
16121604   MDRV_CPU_IO_MAP(number10_io_map)
16131605
r9191r9192
16171609
16181610   MDRV_OKIM6295_ADD("oki", XTAL_12MHz / 12, OKIM6295_PIN7_HIGH)
16191611   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1620MACHINE_DRIVER_END
1612MACHINE_CONFIG_END
16211613
1622static MACHINE_DRIVER_START( cpokerpk )
1623
1624   MDRV_IMPORT_FROM(number10)
1614static MACHINE_CONFIG_DERIVED( cpokerpk, number10 )
16251615   MDRV_CPU_MODIFY("maincpu")
16261616   MDRV_CPU_IO_MAP(cpokerpk_io_map)
16271617   MDRV_GFXDECODE(cpokerpk)
1628MACHINE_DRIVER_END
1618MACHINE_CONFIG_END
16291619
16301620
1631static MACHINE_DRIVER_START( pktetris )
1621static MACHINE_CONFIG_DERIVED( pktetris, igspoker )
16321622
1633   MDRV_IMPORT_FROM(igspoker)
1623MACHINE_CONFIG_END
16341624
1635MACHINE_DRIVER_END
16361625
16371626
1638
16391627/*  ROM Regions definition
16401628 */
16411629
src/mame/drivers/segaorun.c
r9191r9192
11131113 *
11141114 *************************************/
11151115
1116static MACHINE_DRIVER_START( outrun_base )
1116static MACHINE_CONFIG_START( outrun_base, segas1x_state )
11171117
1118   /* driver data */
1119   MDRV_DRIVER_DATA(segas1x_state)
1120
11211118   /* basic machine hardware */
11221119   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK/4)
11231120   MDRV_CPU_PROGRAM_MAP(outrun_map)
r9191r9192
11571154   MDRV_SOUND_CONFIG(segapcm_interface)
11581155   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
11591156   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1160MACHINE_DRIVER_END
1157MACHINE_CONFIG_END
11611158
1162static MACHINE_DRIVER_START( outrundx )
1163   MDRV_IMPORT_FROM(outrun_base)
1159static MACHINE_CONFIG_DERIVED( outrundx, outrun_base )
11641160   MDRV_SEGA16SP_ADD_OUTRUN("segaspr1")
1165MACHINE_DRIVER_END
1161MACHINE_CONFIG_END
11661162
1167static MACHINE_DRIVER_START( outrun )
1168   MDRV_IMPORT_FROM(outrun_base)
1163static MACHINE_CONFIG_DERIVED( outrun, outrun_base )
11691164   MDRV_NVRAM_HANDLER(outrun)
11701165
11711166   MDRV_SEGA16SP_ADD_OUTRUN("segaspr1")
1172MACHINE_DRIVER_END
1167MACHINE_CONFIG_END
11731168
11741169
1175static MACHINE_DRIVER_START( shangon )
1176   MDRV_IMPORT_FROM(outrun_base)
1170static MACHINE_CONFIG_DERIVED( shangon, outrun_base )
11771171   MDRV_NVRAM_HANDLER(outrun)
11781172
11791173   MDRV_SCREEN_MODIFY("screen")
r9191r9192
11831177   MDRV_VIDEO_UPDATE(shangon)
11841178
11851179   MDRV_SEGA16SP_ADD_16B("segaspr1")
1186MACHINE_DRIVER_END
1180MACHINE_CONFIG_END
11871181
11881182
11891183
src/mame/drivers/videopkr.c
r9191r9192
12081208*    Machine Drivers    *
12091209************************/
12101210
1211static MACHINE_DRIVER_START( videopkr )
1211static MACHINE_CONFIG_START( videopkr, driver_device )
12121212
12131213   /* basic machine hardware */
12141214   MDRV_CPU_ADD("maincpu", I8039, CPU_CLOCK)
r9191r9192
12441244   MDRV_SPEAKER_STANDARD_MONO("mono")
12451245   MDRV_SOUND_ADD("dac", DAC, 0)
12461246   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.55)
1247MACHINE_DRIVER_END
1247MACHINE_CONFIG_END
12481248
12491249
1250static MACHINE_DRIVER_START( blckjack )
1250static MACHINE_CONFIG_DERIVED( blckjack, videopkr )
12511251
12521252   /* basic machine hardware */
1253   MDRV_IMPORT_FROM(videopkr)
12541253
12551254   /* video hardware */
12561255   MDRV_SCREEN_MODIFY("screen")
12571256   MDRV_SCREEN_SIZE(32*8, 32*8)
12581257   MDRV_SCREEN_VISIBLE_AREA(4*8, 31*8-1, 2*8, 30*8-1)
1259MACHINE_DRIVER_END
1258MACHINE_CONFIG_END
12601259
12611260
1262static MACHINE_DRIVER_START( videodad )
1261static MACHINE_CONFIG_DERIVED( videodad, videopkr )
12631262
12641263   /* basic machine hardware */
1265   MDRV_IMPORT_FROM(videopkr)
12661264   MDRV_CPU_MODIFY("maincpu")
12671265   MDRV_CPU_CLOCK(CPU_CLOCK_ALT)
12681266
r9191r9192
12731271
12741272   MDRV_GFXDECODE(videodad)
12751273   MDRV_VIDEO_START(vidadcba)
1276MACHINE_DRIVER_END
1274MACHINE_CONFIG_END
12771275
12781276
1279static MACHINE_DRIVER_START( babypkr )
1277static MACHINE_CONFIG_DERIVED( babypkr, videopkr )
12801278
12811279   /* basic machine hardware */
1282   MDRV_IMPORT_FROM(videopkr)
12831280   MDRV_CPU_MODIFY("maincpu")
12841281   MDRV_CPU_CLOCK(CPU_CLOCK_ALT)
12851282   /* most likely romless or eprom */
r9191r9192
12991296   MDRV_SOUND_ADD("aysnd", AY8910, CPU_CLOCK / 6)
13001297   MDRV_SOUND_CONFIG(ay8910_config)
13011298   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
1302MACHINE_DRIVER_END
1299MACHINE_CONFIG_END
13031300
1304static MACHINE_DRIVER_START( fortune1 )
1301static MACHINE_CONFIG_DERIVED( fortune1, videopkr )
13051302
13061303   /* basic machine hardware */
1307   MDRV_IMPORT_FROM(videopkr)
13081304   MDRV_CPU_MODIFY("maincpu")
13091305   MDRV_CPU_CLOCK(CPU_CLOCK_ALT)
13101306
13111307   MDRV_PALETTE_INIT(fortune1)
1312MACHINE_DRIVER_END
1308MACHINE_CONFIG_END
13131309
13141310/*************************
13151311*        Rom Load        *
src/mame/drivers/koikoi.c
r9191r9192
4545
4646static const int input_tab[]= { 0x22, 0x64, 0x44, 0x68, 0x30, 0x50, 0x70, 0x48, 0x28, 0x21, 0x41, 0x82, 0x81, 0x42 };
4747
48class koikoi_state : public driver_data_t
48class koikoi_state : public driver_device
4949{
5050public:
51   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, koikoi_state(machine)); }
51   koikoi_state(running_machine &machine, const driver_device_config_base &config)
52      : driver_device(machine, config) { }
5253
53   koikoi_state(running_machine &machine)
54      : driver_data_t(machine) { }
55
5654   /* memory pointers */
5755   UINT8 *  videoram;
5856
r9191r9192
357355      state->ioram[i] = 0;
358356}
359357
360static MACHINE_DRIVER_START( koikoi )
358static MACHINE_CONFIG_START( koikoi, koikoi_state )
361359
362   /* driver data */
363   MDRV_DRIVER_DATA(koikoi_state)
364
365360   /* basic machine hardware */
366361   MDRV_CPU_ADD("maincpu", Z80,KOIKOI_CRYSTAL/4)   /* ?? */
367362   MDRV_CPU_PROGRAM_MAP(koikoi_map)
r9191r9192
392387   MDRV_SOUND_ADD("aysnd", AY8910, KOIKOI_CRYSTAL/8)
393388   MDRV_SOUND_CONFIG(ay8910_config)
394389   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
395MACHINE_DRIVER_END
390MACHINE_CONFIG_END
396391
397392
398393/*************************************
src/mame/drivers/mil4000.c
r9191r9192
8787#include "emu.h"
8888#include "cpu/m68000/m68000.h"
8989#include "sound/okim6295.h"
90#include "machine/nvram.h"
9091#include "mil4000.lh"
9192
9293
r9191r9192
263264   AM_RANGE(0x708006, 0x708007) AM_READ_PORT("IN2")
264265   AM_RANGE(0x708008, 0x708009) AM_WRITE(output_w)
265266   AM_RANGE(0x708010, 0x708011) AM_NOP //touch screen
266   AM_RANGE(0x70801e, 0x70801f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
267   AM_RANGE(0x70801e, 0x70801f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
267268
268269   AM_RANGE(0x780000, 0x780fff) AM_RAM_WRITE(paletteram16_RRRRRGGGGGBBBBBx_word_w) AM_BASE_GENERIC(paletteram)
269   AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) // 2x CY62256L-70 (U7 & U8).
270   AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("nvram") // 2x CY62256L-70 (U7 & U8).
270271
271272ADDRESS_MAP_END
272273
r9191r9192
343344GFXDECODE_END
344345
345346
346static MACHINE_DRIVER_START( mil4000 )
347static MACHINE_CONFIG_START( mil4000, driver_device )
347348   MDRV_CPU_ADD("maincpu", M68000, 12000000 )   // ?
348349   MDRV_CPU_PROGRAM_MAP(mil4000_map)
349350   // irq 2/4/5 point to the same place, others invalid
350351   MDRV_CPU_VBLANK_INT("screen", irq5_line_hold)
351352
352   MDRV_NVRAM_HANDLER(generic_0fill)
353   MDRV_NVRAM_ADD_0FILL("nvram")
353354
354355   MDRV_SCREEN_ADD("screen", RASTER)
355356   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
366367   MDRV_SPEAKER_STANDARD_MONO("mono")
367368   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH) // frequency from 1000 kHz resonator. pin 7 high not verified.
368369   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
369MACHINE_DRIVER_END
370MACHINE_CONFIG_END
370371
371372
372373
src/mame/drivers/gticlub.c
r9191r9192
815815   cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
816816}
817817
818static MACHINE_DRIVER_START( gticlub )
818static MACHINE_CONFIG_START( gticlub, driver_device )
819819
820820   /* basic machine hardware */
821821   MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2)   /* PowerPC 403GA 32MHz */
r9191r9192
861861   MDRV_SOUND_ADD("rfsnd", RF5C400, 64000000/4)
862862   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
863863   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
864MACHINE_DRIVER_END
864MACHINE_CONFIG_END
865865
866static MACHINE_DRIVER_START( thunderh )
866static MACHINE_CONFIG_DERIVED( thunderh, gticlub )
867867
868   MDRV_IMPORT_FROM(gticlub)
869
870868   MDRV_DEVICE_REMOVE("adc1038")
871869   MDRV_ADC1038_ADD("adc1038", thunderh_adc1038_intf)
872870
873871   MDRV_DEVICE_REMOVE("k056230")
874872   MDRV_K056230_ADD("k056230", thunderh_k056230_intf)
875MACHINE_DRIVER_END
873MACHINE_CONFIG_END
876874
877static MACHINE_DRIVER_START( slrasslt )
875static MACHINE_CONFIG_DERIVED( slrasslt, gticlub )
878876
879   MDRV_IMPORT_FROM(gticlub)
880
881877   MDRV_DEVICE_REMOVE("adc1038")
882878   MDRV_ADC1038_ADD("adc1038", thunderh_adc1038_intf)
883879
884880   MDRV_DEVICE_REMOVE("k001604_1")
885881   MDRV_K001604_ADD("k001604_1", slrasslt_k001604_intf)
886MACHINE_DRIVER_END
882MACHINE_CONFIG_END
887883
888884
889885static const k033906_interface hangplt_k033906_intf_0 =
r9191r9192
902898   cputag_set_input_line(machine, "dsp2", INPUT_LINE_RESET, ASSERT_LINE);
903899}
904900
905static MACHINE_DRIVER_START( hangplt )
901static MACHINE_CONFIG_START( hangplt, driver_device )
906902
907903   /* basic machine hardware */
908904   MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2)   /* PowerPC 403GA 32MHz */
r9191r9192
971967   MDRV_SOUND_ADD("rfsnd", RF5C400, 64000000/4)
972968   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
973969   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
974MACHINE_DRIVER_END
970MACHINE_CONFIG_END
975971
976972/*************************************************************************/
977973
src/mame/drivers/ilpag.c
r9191r9192
7676#include "cpu/m68000/m68000.h"
7777#include "cpu/z80/z80.h"
7878#include "sound/dac.h"
79#include "machine/nvram.h"
7980#include "deprecat.h"
8081
82class ilpag_state : public driver_device
83{
84public:
85   ilpag_state(running_machine &machine, const driver_device_config_base &config)
86      : driver_device(machine, config),
87        m_nvram(*this, "nvram") { }
88
89   required_shared_ptr<UINT16>   m_nvram;
90};
91
8192static UINT16 *blit_romaddr,*blit_attr1_ram,*blit_dst_ram_loword,*blit_attr2_ram,*blit_dst_ram_hiword,*blit_vregs,*blit_transpen;
8293static UINT8 *blit_buffer;
8394
r9191r9192
251262static ADDRESS_MAP_START( ilpag_map, ADDRESS_SPACE_PROGRAM, 16 )
252263   AM_RANGE(0x000000, 0x0fffff) AM_ROM
253264   AM_RANGE(0x100000, 0x1fffff) AM_ROM AM_REGION("blit_data", 0)
254   AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
265   AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("nvram")
255266
256267//  AM_RANGE(0x800000, 0x800001) AM_READ(test_r)
257268//  AM_RANGE(0x880000, 0x880001) AM_READ(test_r)
r9191r9192
276287static ADDRESS_MAP_START( steaser_map, ADDRESS_SPACE_PROGRAM, 16 )
277288   AM_RANGE(0x000000, 0x03ffff) AM_ROM
278289   AM_RANGE(0x100000, 0x1fffff) AM_ROM AM_REGION("blit_data", 0)
279   AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
290   AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("nvram")
280291
281292   AM_RANGE(0x800000, 0x800001) AM_READ(test_r)
282293//  AM_RANGE(0x840000, 0x840001) AM_WRITE(sound_write_w)
r9191r9192
418429   PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_POKER_HOLD4 ) PORT_IMPULSE(1)
419430INPUT_PORTS_END
420431
421static MACHINE_DRIVER_START( ilpag )
432static MACHINE_CONFIG_START( ilpag, ilpag_state )
422433   MDRV_CPU_ADD("maincpu", M68000, 11059200 )   // ?
423434   MDRV_CPU_PROGRAM_MAP(ilpag_map)
424435   MDRV_CPU_VBLANK_INT("screen",irq4_line_hold) //3 & 6 used, mcu comms?
r9191r9192
429440   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
430441   MDRV_SCREEN_SIZE(512, 512)
431442   MDRV_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
432   MDRV_NVRAM_HANDLER(generic_0fill)
443   MDRV_NVRAM_ADD_0FILL("nvram")
433444
434445   MDRV_PALETTE_LENGTH(0x100)
435446
r9191r9192
439450   MDRV_SPEAKER_STANDARD_MONO("mono")
440451   MDRV_SOUND_ADD("dac", DAC, 0)
441452   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
442MACHINE_DRIVER_END
453MACHINE_CONFIG_END
443454
444455/*
44545620089f = 1 -> menu
r9191r9192
462473
463474static TIMER_DEVICE_CALLBACK( steaser_mcu_sim )
464475{
476   ilpag_state *state = timer.machine->driver_data<ilpag_state>();
465477//  static int i;
466478   /*first off, signal the "MCU is running" flag*/
467   timer.machine->generic.nvram.u16[0x932/2] = 0xffff;
479   state->m_nvram[0x932/2] = 0xffff;
468480   /*clear the inputs (they are impulsed)*/
469481//  for(i=0;i<8;i+=2)
470//      timer->machine->generic.nvram.u16[((0x8a0)+i)/2] = 0;
482//      state->m_nvram[((0x8a0)+i)/2] = 0;
471483   /*finally, read the inputs*/
472   timer.machine->generic.nvram.u16[0x89e/2] = input_port_read(timer.machine, "MENU") & 0xffff;
473   timer.machine->generic.nvram.u16[0x8a0/2] = input_port_read(timer.machine, "STAT") & 0xffff;
474   timer.machine->generic.nvram.u16[0x8a2/2] = input_port_read(timer.machine, "BET_DEAL") & 0xffff;
475   timer.machine->generic.nvram.u16[0x8a4/2] = input_port_read(timer.machine, "TAKE_DOUBLE") & 0xffff;
476   timer.machine->generic.nvram.u16[0x8a6/2] = input_port_read(timer.machine, "SMALL_BIG") & 0xffff;
477   timer.machine->generic.nvram.u16[0x8a8/2] = input_port_read(timer.machine, "CANCEL_HOLD1") & 0xffff;
478   timer.machine->generic.nvram.u16[0x8aa/2] = input_port_read(timer.machine, "HOLD2_HOLD3") & 0xffff;
479   timer.machine->generic.nvram.u16[0x8ac/2] = input_port_read(timer.machine, "HOLD4_HOLD5") & 0xffff;
484   state->m_nvram[0x89e/2] = input_port_read(timer.machine, "MENU") & 0xffff;
485   state->m_nvram[0x8a0/2] = input_port_read(timer.machine, "STAT") & 0xffff;
486   state->m_nvram[0x8a2/2] = input_port_read(timer.machine, "BET_DEAL") & 0xffff;
487   state->m_nvram[0x8a4/2] = input_port_read(timer.machine, "TAKE_DOUBLE") & 0xffff;
488   state->m_nvram[0x8a6/2] = input_port_read(timer.machine, "SMALL_BIG") & 0xffff;
489   state->m_nvram[0x8a8/2] = input_port_read(timer.machine, "CANCEL_HOLD1") & 0xffff;
490   state->m_nvram[0x8aa/2] = input_port_read(timer.machine, "HOLD2_HOLD3") & 0xffff;
491   state->m_nvram[0x8ac/2] = input_port_read(timer.machine, "HOLD4_HOLD5") & 0xffff;
480492}
481493
482494/* TODO: remove this hack.*/
r9191r9192
486498   cpu_set_input_line(device, num, HOLD_LINE);
487499}
488500
489static MACHINE_DRIVER_START( steaser )
490   MDRV_IMPORT_FROM( ilpag )
501static MACHINE_CONFIG_DERIVED( steaser, ilpag )
491502   MDRV_CPU_MODIFY("maincpu")
492503   MDRV_CPU_PROGRAM_MAP(steaser_map)
493504   MDRV_CPU_VBLANK_INT_HACK(steaser_irq,4)
494505
495506   MDRV_TIMER_ADD_PERIODIC("coinsim", steaser_mcu_sim, HZ(10000)) // not real, but for simulating the MCU
496MACHINE_DRIVER_END
507MACHINE_CONFIG_END
497508
498509
499510ROM_START( ilpag )
src/mame/drivers/mazerbla.c
r9191r9192
4848#define SOUND_CLOCK XTAL_14_31818MHz
4949
5050
51class mazerbla_state : public driver_data_t
51class mazerbla_state : public driver_device
5252{
5353public:
54   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mazerbla_state(machine)); }
54   mazerbla_state(running_machine &machine, const driver_device_config_base &config)
55      : driver_device(machine, config) { }
5556
56   mazerbla_state(running_machine &machine)
57      : driver_data_t(machine) { }
58
5957   /* memory pointers */
6058   UINT8 *   cfb_ram;
6159   UINT8 *   videoram;
r9191r9192
14751473}
14761474
14771475
1478static MACHINE_DRIVER_START( mazerbla )
1476static MACHINE_CONFIG_START( mazerbla, mazerbla_state )
14791477
1480   /* driver data */
1481   MDRV_DRIVER_DATA(mazerbla_state)
1482
14831478   /* basic machine hardware */
14841479   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK)   /* 4 MHz, no NMI, IM2 - vectors at 0xf8, 0xfa, 0xfc */
14851480   MDRV_CPU_PROGRAM_MAP(mazerbla_map)
r9191r9192
15181513   MDRV_VIDEO_UPDATE(mazerbla)
15191514
15201515   /* sound hardware */
1521MACHINE_DRIVER_END
1516MACHINE_CONFIG_END
15221517
15231518
1524static MACHINE_DRIVER_START( greatgun )
1519static MACHINE_CONFIG_START( greatgun, mazerbla_state )
15251520
1526   /* driver data */
1527   MDRV_DRIVER_DATA(mazerbla_state)
1528
15291521   /* basic machine hardware */
15301522   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK)   /* 4 MHz, no NMI, IM2 - vectors at 0xf8, 0xfa, 0xfc */
15311523   MDRV_CPU_PROGRAM_MAP(mazerbla_map)
r9191r9192
15711563   MDRV_SOUND_ADD("ay2", AY8910, SOUND_CLOCK / 8)
15721564   MDRV_SOUND_CONFIG(ay8912_interface_2)
15731565   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1574MACHINE_DRIVER_END
1566MACHINE_CONFIG_END
15751567
15761568/*************************************
15771569 *
src/mame/drivers/namcona1.c
r9191r9192
751751   AM_RANGE(0xefff00, 0xefffff) AM_READWRITE(namcona1_vreg_r, namcona1_vreg_w) AM_BASE(&namcona1_vreg)
752752   AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE(namcona1_paletteram_r, namcona1_paletteram_w) AM_BASE_GENERIC(paletteram)
753753   AM_RANGE(0xf40000, 0xf7ffff) AM_READWRITE(namcona1_gfxram_r, namcona1_gfxram_w)
754   AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r,    namcona1_videoram_w) AM_BASE_GENERIC(videoram)
754   AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r,    namcona1_videoram_w) AM_BASE_MEMBER(namcona1_state, videoram)
755755   AM_RANGE(0xffd000, 0xffdfff) AM_RAM /* unknown */
756756   AM_RANGE(0xffe000, 0xffefff) AM_RAM   AM_BASE(&namcona1_scroll)      /* scroll registers */
757757   AM_RANGE(0xfff000, 0xffffff) AM_RAM   AM_BASE_GENERIC(spriteram)         /* spriteram */
r9191r9192
773773   AM_RANGE(0xefff00, 0xefffff) AM_READWRITE(namcona1_vreg_r, namcona1_vreg_w) AM_BASE(&namcona1_vreg)
774774   AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE(namcona1_paletteram_r, namcona1_paletteram_w) AM_BASE_GENERIC(paletteram)
775775   AM_RANGE(0xf40000, 0xf7ffff) AM_READWRITE(namcona1_gfxram_r, namcona1_gfxram_w)
776   AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r,    namcona1_videoram_w) AM_BASE_GENERIC(videoram)
776   AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r,    namcona1_videoram_w) AM_BASE_MEMBER(namcona1_state, videoram)
777777   AM_RANGE(0xffd000, 0xffdfff) AM_RAM /* unknown */
778778   AM_RANGE(0xffe000, 0xffefff) AM_RAM   AM_BASE(&namcona1_scroll)      /* scroll registers */
779779   AM_RANGE(0xfff000, 0xffffff) AM_RAM   AM_BASE_GENERIC(spriteram)         /* spriteram */
r9191r9192
10041004};
10051005
10061006/* cropped at sides */
1007static MACHINE_DRIVER_START( namcona1 )
1007static MACHINE_CONFIG_START( namcona1, namcona1_state )
10081008   /* basic machine hardware */
10091009   MDRV_CPU_ADD("maincpu", M68000, 50113000/4)
10101010   MDRV_CPU_PROGRAM_MAP(namcona1_main_map)
r9191r9192
10421042   MDRV_SOUND_CONFIG(C140_interface_typeA)
10431043   MDRV_SOUND_ROUTE(0, "rspeaker", 1.00)
10441044   MDRV_SOUND_ROUTE(1, "lspeaker", 1.00)
1045MACHINE_DRIVER_END
1045MACHINE_CONFIG_END
10461046
10471047
10481048/* full-width */
1049static MACHINE_DRIVER_START( namcona1w )
1049static MACHINE_CONFIG_DERIVED( namcona1w, namcona1 )
10501050
10511051   /* basic machine hardware */
1052   MDRV_IMPORT_FROM(namcona1)
10531052
10541053   /* video hardware */
10551054   MDRV_SCREEN_MODIFY("screen")
10561055   MDRV_SCREEN_VISIBLE_AREA(0, 38*8-1-0, 4*8, 32*8-1)
1057MACHINE_DRIVER_END
1056MACHINE_CONFIG_END
10581057
10591058
1060static MACHINE_DRIVER_START( namcona2 )
1059static MACHINE_CONFIG_DERIVED( namcona2, namcona1 )
10611060
10621061   /* basic machine hardware */
1063   MDRV_IMPORT_FROM(namcona1)
10641062
10651063   MDRV_CPU_MODIFY("maincpu")
10661064   MDRV_CPU_PROGRAM_MAP(namcona2_main_map)
1067MACHINE_DRIVER_END
1065MACHINE_CONFIG_END
10681066
10691067
10701068static void init_namcona1( running_machine *machine, int gametype )
src/mame/drivers/bsktball.c
r9191r9192
247247}
248248
249249
250static MACHINE_DRIVER_START( bsktball )
250static MACHINE_CONFIG_START( bsktball, bsktball_state )
251251
252   /* driver data */
253   MDRV_DRIVER_DATA(bsktball_state)
254
255252   /* basic machine hardware */
256253   MDRV_CPU_ADD("maincpu", M6502,750000)
257254   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
281278   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
282279   MDRV_SOUND_CONFIG_DISCRETE(bsktball)
283280   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
284MACHINE_DRIVER_END
281MACHINE_CONFIG_END
285282
286283
287284
src/mame/drivers/armedf.c
r9191r9192
791791}
792792
793793
794static MACHINE_DRIVER_START( terraf )
794static MACHINE_CONFIG_START( terraf, armedf_state )
795795
796   /* driver data */
797   MDRV_DRIVER_DATA(armedf_state)
798
799796   /* basic machine hardware */
800797   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz?? */
801798   MDRV_CPU_PROGRAM_MAP(terraf_map)
r9191r9192
836833
837834   MDRV_SOUND_ADD("dac2", DAC, 0)
838835   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
839MACHINE_DRIVER_END
836MACHINE_CONFIG_END
840837
841static MACHINE_DRIVER_START( terrafb )
838static MACHINE_CONFIG_START( terrafb, armedf_state )
842839
843   /* driver data */
844   MDRV_DRIVER_DATA(armedf_state)
845
846840   /* basic machine hardware */
847841   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz?? */
848842   MDRV_CPU_PROGRAM_MAP(terrafb_map)
r9191r9192
888882
889883   MDRV_SOUND_ADD("dac2", DAC, 0)
890884   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
891MACHINE_DRIVER_END
885MACHINE_CONFIG_END
892886
893static MACHINE_DRIVER_START( kodure )
887static MACHINE_CONFIG_START( kodure, armedf_state )
894888
895   /* driver data */
896   MDRV_DRIVER_DATA(armedf_state)
897
898889   /* basic machine hardware */
899890   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz?? */
900891   MDRV_CPU_PROGRAM_MAP(kodure_map)
r9191r9192
935926
936927   MDRV_SOUND_ADD("dac2", DAC, 0)
937928   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
938MACHINE_DRIVER_END
929MACHINE_CONFIG_END
939930
940static MACHINE_DRIVER_START( armedf )
931static MACHINE_CONFIG_START( armedf, armedf_state )
941932
942   /* driver data */
943   MDRV_DRIVER_DATA(armedf_state)
944
945933   /* basic machine hardware */
946934   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz?? */
947935   MDRV_CPU_PROGRAM_MAP(armedf_map)
r9191r9192
982970
983971   MDRV_SOUND_ADD("dac2", DAC, 0)
984972   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
985MACHINE_DRIVER_END
973MACHINE_CONFIG_END
986974
987static MACHINE_DRIVER_START( cclimbr2 )
975static MACHINE_CONFIG_START( cclimbr2, armedf_state )
988976
989   /* driver data */
990   MDRV_DRIVER_DATA(armedf_state)
991
992977   /* basic machine hardware */
993978   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz?? */
994979   MDRV_CPU_PROGRAM_MAP(cclimbr2_map)
r9191r9192
10291014
10301015   MDRV_SOUND_ADD("dac2", DAC, 0)
10311016   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
1032MACHINE_DRIVER_END
1017MACHINE_CONFIG_END
10331018
1034static MACHINE_DRIVER_START( legion )
1019static MACHINE_CONFIG_START( legion, armedf_state )
10351020
1036   /* driver data */
1037   MDRV_DRIVER_DATA(armedf_state)
1038
10391021   /* basic machine hardware */
10401022   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz?? */
10411023   MDRV_CPU_PROGRAM_MAP(legion_map)
r9191r9192
10761058
10771059   MDRV_SOUND_ADD("dac2", DAC, 0)
10781060   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
1079MACHINE_DRIVER_END
1061MACHINE_CONFIG_END
10801062
1081static MACHINE_DRIVER_START( legiono )
1063static MACHINE_CONFIG_START( legiono, armedf_state )
10821064
1083   /* driver data */
1084   MDRV_DRIVER_DATA(armedf_state)
1085
10861065   /* basic machine hardware */
10871066   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz?? */
10881067   MDRV_CPU_PROGRAM_MAP(legiono_map)
r9191r9192
11231102
11241103   MDRV_SOUND_ADD("dac2", DAC, 0)
11251104   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
1126MACHINE_DRIVER_END
1105MACHINE_CONFIG_END
11271106
11281107
11291108/*************************************
src/mame/drivers/cdi.c
r9191r9192
558558    BYTE68K deltaUV[BYTE68K_MAX + 1];
559559};
560560
561class cdi_state : public driver_data_t
561class cdi_state : public driver_device
562562{
563563public:
564    static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cdi_state(machine)); }
564    cdi_state(running_machine &machine, const driver_device_config_base &config)
565      : driver_device(machine, config) { }
565566
566    cdi_state(running_machine &machine)
567      : driver_data_t(machine) { }
568
569567    UINT16 *planea;
570568    UINT16 *planeb;
571569
r9191r9192
46404638*    Machine Drivers     *
46414639*************************/
46424640
4643static MACHINE_DRIVER_START( cdi )
4641static MACHINE_CONFIG_START( cdi, cdi_state )
46444642
4645    MDRV_DRIVER_DATA( cdi_state )
4646
46474643    MDRV_CPU_ADD("maincpu", SCC68070, CLOCK_A/2)
46484644    MDRV_CPU_PROGRAM_MAP(cdimono1_mem)
46494645
r9191r9192
46854681    MDRV_SOUND_ROUTE( ALL_OUTPUTS, "rspeaker", 1.0 )
46864682
46874683    MDRV_MK48T08_ADD( "mk48t08" )
4688MACHINE_DRIVER_END
4684MACHINE_CONFIG_END
46894685
46904686/*************************
46914687*        Rom Load        *
src/mame/drivers/pcat_dyn.c
r9191r9192
373373   AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("pic8259_1", pic8259_r, pic8259_w, 0xffffffff)
374374   AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("pit8254", pit8253_r, pit8253_w, 0xffffffff)
375375   AM_RANGE(0x0060, 0x006f) AM_READWRITE(kbdc8042_32le_r,         kbdc8042_32le_w)
376   AM_RANGE(0x0070, 0x007f) AM_READWRITE(mc146818_port32le_r,     mc146818_port32le_w)
376   AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8_MODERN("rtc", mc146818_device, read, write, 0xffffffff)
377377   AM_RANGE(0x0080, 0x009f) AM_READWRITE8(dma_page_select_r,dma_page_select_w, 0xffffffff)
378378   AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("pic8259_2", pic8259_r, pic8259_w, 0xffffffff)
379379   AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE8("dma8237_2", i8237_r, i8237_w, 0xffff)
r9191r9192
491491   pcat_dyn_devices.dma8237_2 = machine->device( "dma8237_2" );
492492
493493   init_pc_common(machine, PCCOMMON_KEYBOARD_AT, pcat_dyn_set_keyb_int);
494   mc146818_init(machine, MC146818_STANDARD);
495494}
496495
497496static const gfx_layout CGA_charlayout =
r9191r9192
510509   // there's a 8x16 charset just after the 8x8 one
511510GFXDECODE_END
512511
513static MACHINE_DRIVER_START( pcat_dyn )
512static MACHINE_CONFIG_START( pcat_dyn, driver_device )
514513   /* basic machine hardware */
515514   MDRV_CPU_ADD("maincpu", I486, 40000000)   /* Am486 DX-40 */
516515   MDRV_CPU_PROGRAM_MAP(pcat_map)
r9191r9192
526525   MDRV_GFXDECODE( pcat_dyn )
527526
528527   MDRV_MACHINE_START(pcat_dyn)
529   MDRV_NVRAM_HANDLER( mc146818 )
528   MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
530529
531//  MDRV_IMPORT_FROM( at_kbdc8042 )
530//  MDRV_FRAGMENT_ADD( at_kbdc8042 )
532531   MDRV_PIC8259_ADD( "pic8259_1", pic8259_1_config )
533532   MDRV_PIC8259_ADD( "pic8259_2", pic8259_2_config )
534533   MDRV_I8237_ADD( "dma8237_1", XTAL_14_31818MHz/3, dma8237_1_config )
r9191r9192
541540
542541   MDRV_VIDEO_START(pcat_dyn)
543542   MDRV_VIDEO_UPDATE(pcat_dyn)
544MACHINE_DRIVER_END
543MACHINE_CONFIG_END
545544
546545/***************************************
547546*
src/mame/drivers/itgambl3.c
r9191r9192
236236*     Machine Drivers     *
237237**************************/
238238
239static MACHINE_DRIVER_START( itgambl3 )
239static MACHINE_CONFIG_START( itgambl3, driver_device )
240240
241241    /* basic machine hardware */
242242   MDRV_CPU_ADD("maincpu", H83044, MAIN_CLOCK)   /* wrong CPU, but we have not a M16C core ATM */
r9191r9192
261261   MDRV_SPEAKER_STANDARD_MONO("mono")
262262   MDRV_OKIM6295_ADD("oki", MAIN_CLOCK/16, OKIM6295_PIN7_HIGH)   /* 1MHz */
263263   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
264MACHINE_DRIVER_END
264MACHINE_CONFIG_END
265265
266266
267267/*************************
src/mame/drivers/acefruit.c
r9191r9192
1010
1111#include "emu.h"
1212#include "cpu/z80/z80.h"
13#include "machine/nvram.h"
1314
1415#include "sidewndr.lh"
1516
r9191r9192
258259
259260static ADDRESS_MAP_START( acefruit_map, ADDRESS_SPACE_PROGRAM, 8 )
260261   AM_RANGE(0x0000, 0x1fff) AM_ROM
261   AM_RANGE(0x2000, 0x20ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
262   AM_RANGE(0x2000, 0x20ff) AM_RAM AM_SHARE("nvram")
262263   AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE(&videoram)
263264   AM_RANGE(0x4400, 0x47ff) AM_RAM_WRITE(acefruit_colorram_w) AM_BASE(&colorram)
264265   AM_RANGE(0x8000, 0x8000) AM_READ_PORT("IN0")
r9191r9192
547548   GFXDECODE_ENTRY( "gfx1", 0x1800, charlayout, 8, 4 )
548549GFXDECODE_END
549550
550static MACHINE_DRIVER_START( acefruit )
551static MACHINE_CONFIG_START( acefruit, driver_device )
551552
552553   /* basic machine hardware */
553554   MDRV_CPU_ADD("maincpu", Z80, 2500000) /* 2.5MHz */
r9191r9192
565566   MDRV_SCREEN_VISIBLE_AREA(0, 511, 0, 255)
566567   MDRV_PALETTE_LENGTH(16)
567568
568   MDRV_NVRAM_HANDLER(generic_0fill)
569   MDRV_NVRAM_ADD_0FILL("nvram")
569570
570571   MDRV_PALETTE_INIT(acefruit)
571572   MDRV_VIDEO_START(acefruit)
572573   MDRV_VIDEO_UPDATE(acefruit)
573574
574575   /* sound hardware */
575MACHINE_DRIVER_END
576MACHINE_CONFIG_END
576577
577578static DRIVER_INIT( sidewndr )
578579{
src/mame/drivers/dkong.c
r9191r9192
16581658 *
16591659 *************************************/
16601660
1661static MACHINE_DRIVER_START( dkong_base )
1661static MACHINE_CONFIG_START( dkong_base, dkong_state )
16621662
1663    /* driver data */
1664    MDRV_DRIVER_DATA(dkong_state)
1665
16661663    /* basic machine hardware */
16671664    MDRV_CPU_ADD("maincpu", Z80, CLOCK_1H)
16681665    MDRV_CPU_PROGRAM_MAP(dkong_map)
r9191r9192
16851682    MDRV_VIDEO_START(dkong)
16861683    MDRV_VIDEO_UPDATE(dkong)
16871684
1688MACHINE_DRIVER_END
1685MACHINE_CONFIG_END
16891686
1690static MACHINE_DRIVER_START( radarscp )
1687static MACHINE_CONFIG_DERIVED( radarscp, dkong_base )
16911688
1692    MDRV_IMPORT_FROM(dkong_base)
1693
16941689    MDRV_MACHINE_START(radarscp)
16951690    MDRV_PALETTE_LENGTH(RS_PALETTE_LENGTH)
16961691    MDRV_PALETTE_INIT(radarscp)
16971692
16981693    /* sound hardware */
1699    MDRV_IMPORT_FROM(radarscp_audio)
1694    MDRV_FRAGMENT_ADD(radarscp_audio)
17001695
1701MACHINE_DRIVER_END
1696MACHINE_CONFIG_END
17021697
1703static MACHINE_DRIVER_START( radarscp1 )
1698static MACHINE_CONFIG_DERIVED( radarscp1, dkong_base )
17041699
1705    MDRV_IMPORT_FROM(dkong_base)
1706
17071700    MDRV_MACHINE_START(radarscp1)
17081701    MDRV_PALETTE_LENGTH(RS_PALETTE_LENGTH)
17091702    MDRV_PALETTE_INIT(radarscp1)
17101703
17111704    /* sound hardware */
1712    MDRV_IMPORT_FROM(radarscp1_audio)
1705    MDRV_FRAGMENT_ADD(radarscp1_audio)
17131706
1714MACHINE_DRIVER_END
1707MACHINE_CONFIG_END
17151708
17161709
1717static MACHINE_DRIVER_START( dkong2b )
1710static MACHINE_CONFIG_DERIVED( dkong2b, dkong_base )
17181711
1719    MDRV_IMPORT_FROM(dkong_base)
1720
17211712    MDRV_MACHINE_START(dkong2b)
17221713    MDRV_PALETTE_LENGTH(DK2B_PALETTE_LENGTH)
17231714
17241715    /* sound hardware */
1725    MDRV_IMPORT_FROM(dkong2b_audio)
1716    MDRV_FRAGMENT_ADD(dkong2b_audio)
17261717
1727MACHINE_DRIVER_END
1718MACHINE_CONFIG_END
17281719
1729static MACHINE_DRIVER_START( braze )
1730   MDRV_IMPORT_FROM(dkong2b)
1720static MACHINE_CONFIG_DERIVED( braze, dkong2b )
17311721
17321722   MDRV_EEPROM_ADD("eeprom", braze_eeprom_intf)
1733MACHINE_DRIVER_END
1723MACHINE_CONFIG_END
17341724
1735static MACHINE_DRIVER_START( dkong3 )
1725static MACHINE_CONFIG_START( dkong3, dkong_state )
17361726
1737    /* driver data */
1738    MDRV_DRIVER_DATA(dkong_state)
1739
17401727    /* basic machine hardware */
17411728    MDRV_CPU_ADD("maincpu", Z80, XTAL_8MHz / 2) /* verified in schematics */
17421729    MDRV_CPU_PROGRAM_MAP(dkong3_map)
r9191r9192
17601747    MDRV_VIDEO_UPDATE(dkong)
17611748
17621749    /* sound hardware */
1763    MDRV_IMPORT_FROM(dkong3_audio)
1764MACHINE_DRIVER_END
1750    MDRV_FRAGMENT_ADD(dkong3_audio)
1751MACHINE_CONFIG_END
17651752
1766static MACHINE_DRIVER_START( dkongjr )
1753static MACHINE_CONFIG_DERIVED( dkongjr, dkong_base )
17671754
1768    MDRV_IMPORT_FROM(dkong_base)
1769
17701755    MDRV_CPU_MODIFY("maincpu")
17711756    MDRV_CPU_PROGRAM_MAP(dkongjr_map)
17721757
17731758    /* sound hardware */
1774    MDRV_IMPORT_FROM(dkongjr_audio)
1759    MDRV_FRAGMENT_ADD(dkongjr_audio)
17751760
1776MACHINE_DRIVER_END
1761MACHINE_CONFIG_END
17771762
1778static MACHINE_DRIVER_START( pestplce )
1763static MACHINE_CONFIG_DERIVED( pestplce, dkongjr )
17791764
1780    MDRV_IMPORT_FROM(dkongjr)
1781
17821765    MDRV_GFXDECODE(pestplce)
17831766    MDRV_PALETTE_LENGTH(DK2B_PALETTE_LENGTH)
17841767    MDRV_PALETTE_INIT(dkong2b)  /* wrong! */
17851768    MDRV_VIDEO_UPDATE(pestplce)
17861769
1787MACHINE_DRIVER_END
1770MACHINE_CONFIG_END
17881771
1789static MACHINE_DRIVER_START( dkong3b )
1772static MACHINE_CONFIG_DERIVED( dkong3b, dkongjr )
17901773
1791    /* basic machine hardware */
1792    MDRV_IMPORT_FROM(dkongjr)
1774   /* basic machine hardware */
17931775    MDRV_PALETTE_INIT(dkong3)
1794MACHINE_DRIVER_END
1776MACHINE_CONFIG_END
17951777
17961778/*************************************
17971779 *
r9191r9192
17991781 *
18001782 *************************************/
18011783
1802static MACHINE_DRIVER_START( s2650 )
1784static MACHINE_CONFIG_DERIVED( s2650, dkong2b )
18031785
1804    MDRV_IMPORT_FROM(dkong2b)
1805
18061786    /* basic machine hardware */
18071787    MDRV_CPU_REPLACE("maincpu", S2650, CLOCK_1H / 2)    /* ??? */
18081788    MDRV_CPU_PROGRAM_MAP(s2650_map)
r9191r9192
18141794
18151795    MDRV_MACHINE_START(s2650)
18161796
1817MACHINE_DRIVER_END
1797MACHINE_CONFIG_END
18181798
1819static MACHINE_DRIVER_START( spclforc )
1799static MACHINE_CONFIG_DERIVED( spclforc, s2650 )
18201800
1821    /* basic machine hardware */
1822    MDRV_IMPORT_FROM(s2650)
1801   /* basic machine hardware */
18231802    MDRV_DEVICE_REMOVE("soundcpu")
18241803
18251804    /* video hardware */
18261805    MDRV_VIDEO_UPDATE(spclforc)
18271806
1828MACHINE_DRIVER_END
1807MACHINE_CONFIG_END
18291808
18301809/*************************************
18311810 *
r9191r9192
18331812 *
18341813 *************************************/
18351814
1836static MACHINE_DRIVER_START( strtheat )
1837    /* basic machine hardware */
1838    MDRV_IMPORT_FROM(dkong2b)
1815static MACHINE_CONFIG_DERIVED( strtheat, dkong2b )
18391816
1817   /* basic machine hardware */
1818
18401819    MDRV_CPU_MODIFY("maincpu")
18411820    MDRV_CPU_IO_MAP(epos_readport)
18421821
18431822    MDRV_MACHINE_RESET(strtheat)
1844MACHINE_DRIVER_END
1823MACHINE_CONFIG_END
18451824
1846static MACHINE_DRIVER_START( drakton )
1847    /* basic machine hardware */
1848    MDRV_IMPORT_FROM(dkong2b)
1825static MACHINE_CONFIG_DERIVED( drakton, dkong2b )
18491826
1827   /* basic machine hardware */
1828
18501829    MDRV_CPU_MODIFY("maincpu")
18511830    MDRV_CPU_IO_MAP(epos_readport)
18521831
18531832    MDRV_MACHINE_RESET(drakton)
1854MACHINE_DRIVER_END
1833MACHINE_CONFIG_END
18551834
1856static MACHINE_DRIVER_START( drktnjr )
1857    /* basic machine hardware */
1858    MDRV_IMPORT_FROM(dkongjr)
1835static MACHINE_CONFIG_DERIVED( drktnjr, dkongjr )
18591836
1837   /* basic machine hardware */
1838
18601839    MDRV_CPU_MODIFY("maincpu")
18611840    MDRV_CPU_IO_MAP(epos_readport)
18621841
18631842    MDRV_MACHINE_RESET(drakton)
1864MACHINE_DRIVER_END
1843MACHINE_CONFIG_END
18651844
18661845/*************************************
18671846 *
src/mame/drivers/sprint4.c
r9191r9192
77#include "emu.h"
88#include "cpu/m6502/m6502.h"
99#include "audio/sprint4.h"
10#include "includes/sprint4.h"
1011
1112#define MASTER_CLOCK    12096000
1213
r9191r9192
1617#define PIXEL_CLOCK    (MASTER_CLOCK / 2)
1718
1819
19PALETTE_INIT( sprint4 );
2020
21VIDEO_EOF( sprint4 );
22VIDEO_START( sprint4 );
23VIDEO_UPDATE( sprint4 );
24
25extern int sprint4_collision[4];
26
27WRITE8_HANDLER( sprint4_video_ram_w );
28
2921static int da_latch;
3022
3123static int steer_FF1[4];
r9191r9192
143135
144136static READ8_HANDLER( sprint4_wram_r )
145137{
146   return space->machine->generic.videoram.u8[0x380 + offset];
138   sprint4_state *state = space->machine->driver_data<sprint4_state>();
139   UINT8 *videoram = state->videoram;
140   return videoram[0x380 + offset];
147141}
148142
149143
r9191r9192
169163
170164static WRITE8_HANDLER( sprint4_wram_w )
171165{
172   space->machine->generic.videoram.u8[0x380 + offset] = data;
166   sprint4_state *state = space->machine->driver_data<sprint4_state>();
167   UINT8 *videoram = state->videoram;
168   videoram[0x380 + offset] = data;
173169}
174170
175171
r9191r9192
242238   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
243239
244240   AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x700) AM_READWRITE(sprint4_wram_r, sprint4_wram_w)
245   AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(sprint4_video_ram_w) AM_BASE_GENERIC(videoram)
241   AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(sprint4_video_ram_w) AM_BASE_MEMBER(sprint4_state, videoram)
246242
247243   AM_RANGE(0x0000, 0x0007) AM_MIRROR(0x718) AM_READ(sprint4_analog_r)
248244   AM_RANGE(0x0020, 0x0027) AM_MIRROR(0x718) AM_READ(sprint4_coin_r)
r9191r9192
402398GFXDECODE_END
403399
404400
405static MACHINE_DRIVER_START( sprint4 )
401static MACHINE_CONFIG_START( sprint4, sprint4_state )
406402
407403   /* basic machine hardware */
408404   MDRV_CPU_ADD("maincpu", M6502, PIXEL_CLOCK / 8)
r9191r9192
431427   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
432428   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
433429
434MACHINE_DRIVER_END
430MACHINE_CONFIG_END
435431
436432
437433ROM_START( sprint4 )
src/mame/drivers/appoooh.c
r9191r9192
421421   state->priority = 0;
422422}
423423
424static MACHINE_DRIVER_START( appoooh_common )
424static MACHINE_CONFIG_START( appoooh_common, appoooh_state )
425425
426   /* driver data */
427   MDRV_DRIVER_DATA(appoooh_state)
428
429426   /* basic machine hardware */
430427   MDRV_CPU_ADD("maincpu", Z80,18432000/6)   /* ??? the main xtal is 18.432 MHz */
431428   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
450447   MDRV_SOUND_ADD("msm", MSM5205, 384000)
451448   MDRV_SOUND_CONFIG(msm5205_config)
452449   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
453MACHINE_DRIVER_END
450MACHINE_CONFIG_END
454451
455452
456static MACHINE_DRIVER_START( appoooh )
453static MACHINE_CONFIG_DERIVED( appoooh, appoooh_common )
457454
458   /* common machine hardware */
459   MDRV_IMPORT_FROM(appoooh_common)
460
461455   /* video hardware */
462456   MDRV_SCREEN_ADD("screen", RASTER)
463457   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
471465   MDRV_PALETTE_INIT(appoooh)
472466   MDRV_VIDEO_START(appoooh)
473467   MDRV_VIDEO_UPDATE(appoooh)
474MACHINE_DRIVER_END
468MACHINE_CONFIG_END
475469
476470
477static MACHINE_DRIVER_START( robowres )
471static MACHINE_CONFIG_DERIVED( robowres, appoooh_common )
478472
479   /* common machine hardware */
480   MDRV_IMPORT_FROM(appoooh_common)
481
482473   /* video hardware */
483474   MDRV_SCREEN_ADD("screen", RASTER)
484475   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
492483   MDRV_PALETTE_INIT(robowres)
493484   MDRV_VIDEO_START(appoooh)
494485   MDRV_VIDEO_UPDATE(robowres)
495MACHINE_DRIVER_END
486MACHINE_CONFIG_END
496487
497488/*************************************
498489 *
src/mame/drivers/travrusa.c
r9191r9192
296296   state->scrollx[1] = 0;
297297}
298298
299static MACHINE_DRIVER_START( travrusa )
299static MACHINE_CONFIG_START( travrusa, irem_z80_state )
300300
301   /* driver data */
302   MDRV_DRIVER_DATA(irem_z80_state)
303
304301   /* basic machine hardware */
305302   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz (?) */
306303   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
327324   MDRV_VIDEO_UPDATE(travrusa)
328325
329326   /* sound hardware */
330   MDRV_IMPORT_FROM(m52_sound_c_audio)
331MACHINE_DRIVER_END
327   MDRV_FRAGMENT_ADD(m52_sound_c_audio)
328MACHINE_CONFIG_END
332329
333static MACHINE_DRIVER_START( shtrider )
330static MACHINE_CONFIG_DERIVED( shtrider, travrusa )
334331
335   MDRV_IMPORT_FROM(travrusa)
336
337332   /* video hardware */
338333   MDRV_GFXDECODE(shtrider)
339334   MDRV_PALETTE_INIT(shtrider)
340MACHINE_DRIVER_END
335MACHINE_CONFIG_END
341336
342337
343338
src/mame/drivers/metlclsh.c
r9191r9192
294294   state->gfxbank = 0;
295295}
296296
297static MACHINE_DRIVER_START( metlclsh )
297static MACHINE_CONFIG_START( metlclsh, metlclsh_state )
298298
299   /* driver data */
300   MDRV_DRIVER_DATA(metlclsh_state)
301
302299   /* basic machine hardware */
303300   MDRV_CPU_ADD("maincpu", M6809, 1500000)        // ?
304301   MDRV_CPU_PROGRAM_MAP(metlclsh_master_map)
r9191r9192
338335   MDRV_SOUND_ADD("ym2", YM3526, 3000000)
339336   MDRV_SOUND_CONFIG(ym3526_config)
340337   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
341MACHINE_DRIVER_END
338MACHINE_CONFIG_END
342339
343340
344341/***************************************************************************
src/mame/drivers/goldstar.c
r9191r9192
114114#include "sound/okim6295.h"
115115#include "sound/sn76496.h"
116116#include "machine/8255ppi.h"
117#include "machine/nvram.h"
117118#include "includes/goldstar.h"
118119
119120#include "lucky8.lh"
120121
121122
122static NVRAM_HANDLER( goldstar )
123{
124   goldstar_state *state = machine->driver_data<goldstar_state>();
125
126   if (read_or_write)
127      mame_fwrite(file,state->nvram,state->nvram_size);
128   else
129   {
130      if (file)
131         mame_fread(file,state->nvram,state->nvram_size);
132      else
133         memset(state->nvram,0xff,state->nvram_size);
134   }
135}
136
137
138123static WRITE8_HANDLER( protection_w )
139124{
140125   goldstar_state *state = space->machine->driver_data<goldstar_state>();
r9191r9192
154139
155140static ADDRESS_MAP_START( goldstar_map, ADDRESS_SPACE_PROGRAM, 8 )
156141   AM_RANGE(0x0000, 0xb7ff) AM_ROM
157   AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size)
142   AM_RANGE(0xb800, 0xbfff) AM_RAM AM_SHARE("nvram")
158143   AM_RANGE(0xc000, 0xc7ff) AM_ROM
159144   AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE( goldstar_fg_vidram_w ) AM_BASE_MEMBER(goldstar_state,fg_vidram)
160145   AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE( goldstar_fg_atrram_w ) AM_BASE_MEMBER(goldstar_state,fg_atrram)
r9191r9192
178163   AM_RANGE(0xf830, 0xf830) AM_DEVREADWRITE("aysnd", ay8910_r, ay8910_data_w)
179164   AM_RANGE(0xf840, 0xf840) AM_DEVWRITE("aysnd", ay8910_address_w)
180165   AM_RANGE(0xfa00, 0xfa00) AM_WRITE(goldstar_fa00_w)
181   AM_RANGE(0xfb00, 0xfb00) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
166   AM_RANGE(0xfb00, 0xfb00) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
182167   AM_RANGE(0xfd00, 0xfdff) AM_RAM_WRITE(paletteram_BBGGGRRR_w) AM_BASE_GENERIC(paletteram)
183168   AM_RANGE(0xfe00, 0xfe00) AM_READWRITE(protection_r,protection_w)
184169ADDRESS_MAP_END
r9191r9192
197182
198183static ADDRESS_MAP_START( ncb3_map, ADDRESS_SPACE_PROGRAM, 8 )
199184   AM_RANGE(0x0000, 0xb7ff) AM_ROM
200   AM_RANGE(0xb800, 0xbfff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size)
185   AM_RANGE(0xb800, 0xbfff) AM_RAM AM_SHARE("nvram")
201186   AM_RANGE(0xc000, 0xc7ff) AM_ROM
202187   AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram)
203188   AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_MEMBER(goldstar_state,fg_atrram)
r9191r9192
270255static ADDRESS_MAP_START( cm_map, ADDRESS_SPACE_PROGRAM, 8 )
271256   AM_RANGE(0x0000, 0xcfff) AM_ROM AM_WRITENOP
272257
273   AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size)
258   AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("nvram")
274259
275260
276261   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram)
r9191r9192
292277static ADDRESS_MAP_START( nfm_map, ADDRESS_SPACE_PROGRAM, 8 )
293278   AM_RANGE(0x0000, 0xd7ff) AM_ROM AM_WRITENOP
294279
295   AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size)
280   AM_RANGE(0xd800, 0xdfff) AM_RAM AM_SHARE("nvram")
296281
297282
298283   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram)
r9191r9192
312297ADDRESS_MAP_END
313298
314299
300
315301static ADDRESS_MAP_START( cm_portmap, ADDRESS_SPACE_IO, 8 )
316302   ADDRESS_MAP_GLOBAL_MASK(0xff)
317303   AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_r)
318304   AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_data_address_w)
319   AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)   /* Input Ports */
305   AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)   /* Inputs */
320306   AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)   /* DIP switches */
321307   AM_RANGE(0x10, 0x10) AM_WRITE (cm_outport0_w)   /* output port */
322308   AM_RANGE(0x11, 0x11) AM_WRITENOP
r9191r9192
345331   AM_RANGE(0x11, 0x11) AM_WRITENOP
346332   AM_RANGE(0x12, 0x12) AM_WRITE (cm_outport1_w)   /* output port */
347333   AM_RANGE(0x13, 0x13) AM_WRITE(cm_background_col_w)
348   AM_RANGE(0x20, 0x20) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
334   AM_RANGE(0x20, 0x20) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
349335ADDRESS_MAP_END
350336
351337static ADDRESS_MAP_START( amcoe2_portmap, ADDRESS_SPACE_IO, 8 )
r9191r9192
376362
377363static ADDRESS_MAP_START( lucky8_map, ADDRESS_SPACE_PROGRAM, 8 )
378364   AM_RANGE(0x0000, 0x7fff) AM_ROM
379   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size)
365   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
380366   AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram)
381367   AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_MEMBER(goldstar_state,fg_atrram)
382368   AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE_MEMBER(goldstar_state,reel1_ram)
r9191r9192
421407static ADDRESS_MAP_START(magical_map, ADDRESS_SPACE_PROGRAM, 8 )
422408   AM_RANGE(0x0000, 0x7fff) AM_ROM
423409   // where does the extra rom data map?? it seems like it should come straight after the existing rom, but it can't if this is a plain z80?
424   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("share1") AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size)
410   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("share1") AM_SHARE("nvram")
425411   AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram)
426412   AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_MEMBER(goldstar_state,fg_atrram)
427413   AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE_MEMBER(goldstar_state,reel1_ram)
r9191r9192
483469
484470static ADDRESS_MAP_START( ladylinr_map, ADDRESS_SPACE_PROGRAM, 8 )
485471   AM_RANGE(0x0000, 0x7fff) AM_ROM
486   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size)
472   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
487473   AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram)
488474   AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_MEMBER(goldstar_state,fg_atrram)
489475   AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE_MEMBER(goldstar_state,reel1_ram)
r9191r9192
504490
505491static ADDRESS_MAP_START( wcat3_map, ADDRESS_SPACE_PROGRAM, 8 )
506492   AM_RANGE(0x0000, 0x7fff) AM_ROM
507   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size)
493   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
508494   AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(goldstar_fg_vidram_w) AM_BASE_MEMBER(goldstar_state,fg_vidram)
509495   AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(goldstar_fg_atrram_w) AM_BASE_MEMBER(goldstar_state,fg_atrram)
510496   AM_RANGE(0x9800, 0x99ff) AM_RAM_WRITE(goldstar_reel1_ram_w) AM_BASE_MEMBER(goldstar_state,reel1_ram)
r9191r9192
541527   AM_RANGE(0xc000, 0xc1ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split1_w) AM_BASE_GENERIC(paletteram)
542528   AM_RANGE(0xc800, 0xc9ff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
543529
544   AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_MEMBER(goldstar_state,nvram) AM_SIZE_MEMBER(goldstar_state,nvram_size)
530   AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_SHARE("nvram")
545531
546532   AM_RANGE(0xd840, 0xd87f) AM_RAM AM_BASE_MEMBER(goldstar_state,reel1_scroll)
547533   AM_RANGE(0xd880, 0xd8bf) AM_RAM AM_BASE_MEMBER(goldstar_state,reel2_scroll)
r9191r9192
25302516   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
25312517
25322518   PORT_START("DSW4")
2533   PORT_DIPNAME( 0x07, 0x07, "Key In" )         PORT_DIPLOCATION("DSW4:1,2,3")
2519   PORT_DIPNAME( 0x07, 0x07, "Key In Coin" )         PORT_DIPLOCATION("DSW4:1,2,3")
25342520   PORT_DIPSETTING(    0x00, "5" )
25352521   PORT_DIPSETTING(    0x01, "10" )
25362522   PORT_DIPSETTING(    0x02, "20" )
r9191r9192
26862672   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
26872673
26882674   PORT_START("DSW4")
2689   PORT_DIPNAME( 0x07, 0x07, "Key In" )         PORT_DIPLOCATION("DSW4:1,2,3")
2675   PORT_DIPNAME( 0x07, 0x07, "Key In Coin" )         PORT_DIPLOCATION("DSW4:1,2,3")
26902676   PORT_DIPSETTING(    0x00, "5" )
26912677   PORT_DIPSETTING(    0x01, "10" )
26922678   PORT_DIPSETTING(    0x02, "20" )
r9191r9192
28422828   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
28432829
28442830   PORT_START("DSW4")
2845   PORT_DIPNAME( 0x07, 0x07, "Key In" )         PORT_DIPLOCATION("DSW4:1,2,3")
2831   PORT_DIPNAME( 0x07, 0x07, "Key In Coin" )         PORT_DIPLOCATION("DSW4:1,2,3")
28462832   PORT_DIPSETTING(    0x00, "5" )
28472833   PORT_DIPSETTING(    0x01, "10" )
28482834   PORT_DIPSETTING(    0x02, "20" )
r9191r9192
29972983   PORT_DIPSETTING(    0x00, "As Hopper Line" )
29982984
29992985   PORT_START("DSW4")
3000   PORT_DIPNAME( 0x07, 0x07, "Key In" )         PORT_DIPLOCATION("DSW4:1,2,3")
2986   PORT_DIPNAME( 0x07, 0x07, "Key In Coin" )         PORT_DIPLOCATION("DSW4:1,2,3")
30012987   PORT_DIPSETTING(    0x00, "5" )
30022988   PORT_DIPSETTING(    0x01, "10" )
30032989   PORT_DIPSETTING(    0x02, "20" )
r9191r9192
32263212   PORT_DIPSETTING(    0x02, "30" )
32273213   PORT_DIPSETTING(    0x01, "40" )
32283214   PORT_DIPSETTING(    0x00, "50" )
3229   PORT_DIPNAME( 0x38, 0x00, "Key In" ) PORT_DIPLOCATION("DSW1:4,5,6") // aka 'Coin B'
3215   PORT_DIPNAME( 0x38, 0x00, "Key In Coin" ) PORT_DIPLOCATION("DSW1:4,5,6") // aka 'Coin B'
32303216   PORT_DIPSETTING(    0x10, "5" )
32313217   PORT_DIPSETTING(    0x18, "10" )
32323218   PORT_DIPSETTING(    0x20, "20" )
r9191r9192
33953381   PORT_DIPSETTING(    0x14, "1 Coin/20 Credits" )
33963382   PORT_DIPSETTING(    0x18, "1 Coin/25 Credits" )
33973383   PORT_DIPSETTING(    0x1c, "1 Coin/100 Credits" )
3398   PORT_DIPNAME( 0x60, 0x00, "Note In" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
3384   PORT_DIPNAME( 0x60, 0x00, "Note In Value" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
33993385   PORT_DIPSETTING(    0x00, "100" )
34003386   PORT_DIPSETTING(    0x20, "200" )
34013387   PORT_DIPSETTING(    0x40, "500" )
r9191r9192
35753561   PORT_DIPSETTING(    0x14, "1 Coin/20 Credits" )
35763562   PORT_DIPSETTING(    0x18, "1 Coin/25 Credits" )
35773563   PORT_DIPSETTING(    0x1c, "1 Coin/100 Credits" )
3578   PORT_DIPNAME( 0x60, 0x00, "Note In" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
3564   PORT_DIPNAME( 0x60, 0x00, "Note In Value" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
35793565   PORT_DIPSETTING(    0x00, "100" )
35803566   PORT_DIPSETTING(    0x20, "200" )
35813567   PORT_DIPSETTING(    0x40, "500" )
r9191r9192
37473733   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )         PORT_DIPLOCATION("DSW2:5")   /* unknown */
37483734   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
37493735   PORT_DIPSETTING(    0x10, DEF_STR( On ) )
3750   PORT_DIPNAME( 0x20, 0x20, "Ticket In" )               PORT_DIPLOCATION("DSW2:6")   /* OK */
3736   PORT_DIPNAME( 0x20, 0x20, "Ticket In Value" )               PORT_DIPLOCATION("DSW2:6")   /* OK */
37513737   PORT_DIPSETTING(    0x00, "50" )
37523738   PORT_DIPSETTING(    0x20, "500" )
37533739   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )         PORT_DIPLOCATION("DSW2:7")   /* unknown */
r9191r9192
39173903   PORT_DIPSETTING(    0x14, "1 Coin/20 Credits" )
39183904   PORT_DIPSETTING(    0x18, "1 Coin/25 Credits" )
39193905   PORT_DIPSETTING(    0x1c, "1 Coin/100 Credits" )
3920   PORT_DIPNAME( 0x60, 0x00, "Note In" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
3906   PORT_DIPNAME( 0x60, 0x00, "Note In Value" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
39213907   PORT_DIPSETTING(    0x00, "100" )
39223908   PORT_DIPSETTING(    0x20, "200" )
39233909   PORT_DIPSETTING(    0x40, "500" )
r9191r9192
40574043   PORT_DIPSETTING(    0x14, "1 Coin/20 Credits" )
40584044   PORT_DIPSETTING(    0x18, "1 Coin/25 Credits" )
40594045   PORT_DIPSETTING(    0x1c, "1 Coin/100 Credits" )
4060   PORT_DIPNAME( 0x60, 0x00, "Note In" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
4046   PORT_DIPNAME( 0x60, 0x00, "Note In Value" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
40614047   PORT_DIPSETTING(    0x00, "100" )
40624048   PORT_DIPSETTING(    0x20, "200" )
40634049   PORT_DIPSETTING(    0x40, "500" )
r9191r9192
41974183   PORT_DIPSETTING(    0x14, "1 Coin/20 Credits" )
41984184   PORT_DIPSETTING(    0x18, "1 Coin/25 Credits" )
41994185   PORT_DIPSETTING(    0x1c, "1 Coin/100 Credits" )
4200   PORT_DIPNAME( 0x60, 0x00, "Note In" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
4186   PORT_DIPNAME( 0x60, 0x00, "Note In Value" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
42014187   PORT_DIPSETTING(    0x00, "100" )
42024188   PORT_DIPSETTING(    0x20, "200" )
42034189   PORT_DIPSETTING(    0x40, "500" )
r9191r9192
43604346   PORT_DIPSETTING(    0x14, "1 Coin/20 Credits" )
43614347   PORT_DIPSETTING(    0x18, "1 Coin/25 Credits" )
43624348   PORT_DIPSETTING(    0x1c, "1 Coin/100 Credits" )
4363   PORT_DIPNAME( 0x60, 0x00, "Note In" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
4349   PORT_DIPNAME( 0x60, 0x00, "Note In Value" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
43644350   PORT_DIPSETTING(    0x00, "100" )
43654351   PORT_DIPSETTING(    0x20, "200" )
43664352   PORT_DIPSETTING(    0x40, "500" )
r9191r9192
45004486   PORT_DIPSETTING(    0x14, "1 Coin/20 Credits" )
45014487   PORT_DIPSETTING(    0x18, "1 Coin/25 Credits" )
45024488   PORT_DIPSETTING(    0x1c, "1 Coin/100 Credits" )
4503   PORT_DIPNAME( 0x60, 0x00, "Note In" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
4489   PORT_DIPNAME( 0x60, 0x00, "Note In Value" )               PORT_DIPLOCATION("DSW2:6,7")   /* OK */
45044490   PORT_DIPSETTING(    0x00, "100" )
45054491   PORT_DIPSETTING(    0x20, "200" )
45064492   PORT_DIPSETTING(    0x40, "500" )
r9191r9192
55105496   DEVCB_NULL
55115497};
55125498
5513static MACHINE_DRIVER_START( goldstar )
5499static MACHINE_CONFIG_START( goldstar, goldstar_state )
55145500
5515   MDRV_DRIVER_DATA(goldstar_state)
5516
55175501   /* basic machine hardware */
55185502   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
55195503   MDRV_CPU_PROGRAM_MAP(goldstar_map)
r9191r9192
55305514
55315515   MDRV_GFXDECODE(goldstar)
55325516   MDRV_PALETTE_LENGTH(256)
5533   MDRV_NVRAM_HANDLER(goldstar)
5517   MDRV_NVRAM_ADD_1FILL("nvram")
55345518
55355519   MDRV_VIDEO_START(goldstar)
55365520   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
55445528   MDRV_OKIM6295_ADD("oki", OKI_CLOCK, OKIM6295_PIN7_HIGH)   /* clock frequency & pin 7 not verified */
55455529   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
55465530
5547MACHINE_DRIVER_END
5531MACHINE_CONFIG_END
55485532
55495533
5550static MACHINE_DRIVER_START( goldstbl )
5534static MACHINE_CONFIG_START( goldstbl, goldstar_state )
55515535
5552   MDRV_DRIVER_DATA(goldstar_state)
5553
55545536   /* basic machine hardware */
55555537   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
55565538   MDRV_CPU_PROGRAM_MAP(goldstar_map)
r9191r9192
55675549
55685550   MDRV_GFXDECODE(bl)
55695551   MDRV_PALETTE_LENGTH(256)
5570   MDRV_NVRAM_HANDLER(goldstar)
5552   MDRV_NVRAM_ADD_1FILL("nvram")
55715553
55725554   MDRV_VIDEO_START(goldstar)
55735555   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
55805562
55815563   MDRV_OKIM6295_ADD("oki", OKI_CLOCK, OKIM6295_PIN7_HIGH)   /* clock frequency & pin 7 not verified */
55825564   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
5583MACHINE_DRIVER_END
5565MACHINE_CONFIG_END
55845566
55855567
5586static MACHINE_DRIVER_START( moonlght )
5568static MACHINE_CONFIG_START( moonlght, goldstar_state )
55875569
5588   MDRV_DRIVER_DATA(goldstar_state)
5589
55905570   /* basic machine hardware */
55915571   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
55925572   MDRV_CPU_PROGRAM_MAP(goldstar_map)
r9191r9192
56035583
56045584   MDRV_GFXDECODE(ml)
56055585   MDRV_PALETTE_LENGTH(256)
5606   MDRV_NVRAM_HANDLER(goldstar)
5586   MDRV_NVRAM_ADD_1FILL("nvram")
56075587
56085588   MDRV_VIDEO_START(goldstar)
56095589   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
56165596
56175597   MDRV_OKIM6295_ADD("oki", OKI_CLOCK, OKIM6295_PIN7_HIGH)   /* clock frequency & pin 7 not verified */
56185598   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
5619MACHINE_DRIVER_END
5599MACHINE_CONFIG_END
56205600
56215601
56225602static PALETTE_INIT(cm)
r9191r9192
56805660}
56815661
56825662
5683static MACHINE_DRIVER_START( chrygld )
5663static MACHINE_CONFIG_START( chrygld, goldstar_state )
56845664
5685   MDRV_DRIVER_DATA(goldstar_state)
5686
56875665   /* basic machine hardware */
56885666   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
56895667   MDRV_CPU_PROGRAM_MAP(ncb3_map)
r9191r9192
57065684   MDRV_GFXDECODE(chry10)
57075685   MDRV_PALETTE_LENGTH(256)
57085686   MDRV_PALETTE_INIT(cm)
5709   MDRV_NVRAM_HANDLER(goldstar)
5687   MDRV_NVRAM_ADD_1FILL("nvram")
57105688
57115689   MDRV_VIDEO_START(goldstar)
57125690   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
57205698   MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
57215699   MDRV_SOUND_CONFIG(ay8910_config)
57225700   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
5723MACHINE_DRIVER_END
5701MACHINE_CONFIG_END
57245702
57255703
57265704
5727static MACHINE_DRIVER_START( cb3c )
5705static MACHINE_CONFIG_START( cb3c, goldstar_state )
57285706
5729   MDRV_DRIVER_DATA(goldstar_state)
5730
57315707   /* basic machine hardware */
57325708   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
57335709   MDRV_CPU_PROGRAM_MAP(ncb3_map)
r9191r9192
57505726   MDRV_GFXDECODE(cb3c)
57515727   MDRV_PALETTE_LENGTH(256)
57525728   MDRV_PALETTE_INIT(cm)
5753   MDRV_NVRAM_HANDLER(goldstar)
5729   MDRV_NVRAM_ADD_1FILL("nvram")
57545730
57555731   MDRV_VIDEO_START(goldstar)
57565732   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
57645740   MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
57655741   MDRV_SOUND_CONFIG(ay8910_config)
57665742   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
5767MACHINE_DRIVER_END
5743MACHINE_CONFIG_END
57685744
57695745
5770static MACHINE_DRIVER_START( ncb3 )
5746static MACHINE_CONFIG_START( ncb3, goldstar_state )
57715747
5772   MDRV_DRIVER_DATA(goldstar_state)
5773
57745748   /* basic machine hardware */
57755749   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
57765750   MDRV_CPU_PROGRAM_MAP(ncb3_map)
r9191r9192
57945768   MDRV_PALETTE_LENGTH(256)
57955769   MDRV_PALETTE_INIT(cm)
57965770
5797   MDRV_NVRAM_HANDLER(goldstar)
5771   MDRV_NVRAM_ADD_1FILL("nvram")
57985772
57995773   MDRV_VIDEO_START(goldstar)
58005774   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
58085782   MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
58095783   MDRV_SOUND_CONFIG(ay8910_config)
58105784   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
5811MACHINE_DRIVER_END
5785MACHINE_CONFIG_END
58125786
58135787
5814static MACHINE_DRIVER_START( cm )
5788static MACHINE_CONFIG_START( cm, goldstar_state )
58155789
5816   MDRV_DRIVER_DATA(goldstar_state)
5817
58185790   /* basic machine hardware */
58195791   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
58205792   MDRV_CPU_PROGRAM_MAP(cm_map)
r9191r9192
58365808   MDRV_GFXDECODE(cmbitmap)
58375809   MDRV_PALETTE_LENGTH(256)
58385810   MDRV_PALETTE_INIT(cm)
5839   MDRV_NVRAM_HANDLER(goldstar)
5811   MDRV_NVRAM_ADD_1FILL("nvram")
58405812
58415813   MDRV_VIDEO_START(cherrym)
58425814   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
58465818   MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
58475819   MDRV_SOUND_CONFIG(cm_ay8910_config)
58485820   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
5849MACHINE_DRIVER_END
5821MACHINE_CONFIG_END
58505822
5851static MACHINE_DRIVER_START( cmasterc )
5852
5853   MDRV_IMPORT_FROM(cm)
5823static MACHINE_CONFIG_DERIVED( cmasterc, cm )
58545824   MDRV_GFXDECODE(cmasterc)
58555825
5856MACHINE_DRIVER_END
5826MACHINE_CONFIG_END
58575827
58585828#ifdef UNUSED_CODE
5859static MACHINE_DRIVER_START( cmnobmp )
5829static MACHINE_CONFIG_START( cmnobmp, goldstar_state )
58605830
5861   MDRV_DRIVER_DATA(goldstar_state)
5862
58635831   /* basic machine hardware */
58645832   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
58655833   MDRV_CPU_PROGRAM_MAP(cm_map)
r9191r9192
58815849   MDRV_GFXDECODE(cm)
58825850   MDRV_PALETTE_LENGTH(256)
58835851   MDRV_PALETTE_INIT(cm)
5884   MDRV_NVRAM_HANDLER(goldstar)
5852   MDRV_NVRAM_ADD_1FILL("nvram")
58855853
58865854   MDRV_VIDEO_START(cherrym)
58875855   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
58915859   MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
58925860   MDRV_SOUND_CONFIG(cm_ay8910_config)
58935861   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
5894MACHINE_DRIVER_END
5862MACHINE_CONFIG_END
58955863#endif
58965864
5897static MACHINE_DRIVER_START( cmast91 )
5865static MACHINE_CONFIG_START( cmast91, goldstar_state )
58985866
5899   MDRV_DRIVER_DATA(goldstar_state)
5900
59015867   /* basic machine hardware */
59025868   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
59035869   MDRV_CPU_PROGRAM_MAP(cm_map)
r9191r9192
59195885   MDRV_GFXDECODE(cmast91)
59205886   MDRV_PALETTE_LENGTH(256)
59215887   MDRV_PALETTE_INIT(cmast91)
5922   MDRV_NVRAM_HANDLER(goldstar)
5888   MDRV_NVRAM_ADD_1FILL("nvram")
59235889
59245890   MDRV_VIDEO_START(cherrym)
59255891   MDRV_VIDEO_UPDATE(cmast91)
r9191r9192
59295895   MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
59305896   MDRV_SOUND_CONFIG(cm_ay8910_config)
59315897   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
5932MACHINE_DRIVER_END
5898MACHINE_CONFIG_END
59335899
59345900static INTERRUPT_GEN( lucky8_irq )
59355901{
r9191r9192
59395905      cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
59405906}
59415907
5942static MACHINE_DRIVER_START( lucky8 )
5908static MACHINE_CONFIG_START( lucky8, goldstar_state )
59435909
5944   MDRV_DRIVER_DATA(goldstar_state)
5945
59465910   /* basic machine hardware */
59475911   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
59485912   MDRV_CPU_PROGRAM_MAP(lucky8_map)
r9191r9192
59655929
59665930   MDRV_GFXDECODE(ncb3)
59675931   MDRV_PALETTE_LENGTH(256)
5968   MDRV_NVRAM_HANDLER(goldstar)
5932   MDRV_NVRAM_ADD_1FILL("nvram")
59695933
59705934   MDRV_VIDEO_START(goldstar)
59715935   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
59805944   MDRV_SOUND_CONFIG(lucky8_ay8910_config)
59815945   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
59825946
5983MACHINE_DRIVER_END
5947MACHINE_CONFIG_END
59845948
59855949static PALETTE_INIT(magical)
59865950{
r9191r9192
59995963   }
60005964}
60015965
6002static MACHINE_DRIVER_START( magical )
5966static MACHINE_CONFIG_START( magical, goldstar_state )
60035967
6004   MDRV_DRIVER_DATA(goldstar_state)
6005
60065968   /* basic machine hardware */
60075969   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
60085970   MDRV_CPU_PROGRAM_MAP(magical_map)
r9191r9192
60255987
60265988   MDRV_GFXDECODE(magical)
60275989   MDRV_PALETTE_LENGTH(256)
6028   MDRV_NVRAM_HANDLER(goldstar)
5990   MDRV_NVRAM_ADD_1FILL("nvram")
60295991
60305992   MDRV_VIDEO_START(magical)
60315993   MDRV_VIDEO_UPDATE(magical)
r9191r9192
60396001   MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
60406002   MDRV_SOUND_CONFIG(lucky8_ay8910_config)
60416003   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
6042MACHINE_DRIVER_END
6004MACHINE_CONFIG_END
60436005
60446006
6045static MACHINE_DRIVER_START( kkojnoli )
6007static MACHINE_CONFIG_START( kkojnoli, goldstar_state )
60466008
6047   MDRV_DRIVER_DATA(goldstar_state)
6048
60496009   /* basic machine hardware */
60506010   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
60516011   MDRV_CPU_PROGRAM_MAP(kkojnoli_map)
r9191r9192
60796039   MDRV_SOUND_ADD("snsnd", SN76489, PSG_CLOCK)
60806040   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
60816041
6082MACHINE_DRIVER_END
6042MACHINE_CONFIG_END
60836043
60846044
6085static MACHINE_DRIVER_START( ladylinr )
6045static MACHINE_CONFIG_START( ladylinr, goldstar_state )
60866046
6087   MDRV_DRIVER_DATA(goldstar_state)
6088
60896047   /* basic machine hardware */
60906048   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
60916049   MDRV_CPU_PROGRAM_MAP(ladylinr_map)
r9191r9192
61076065
61086066   MDRV_GFXDECODE(ncb3)
61096067   MDRV_PALETTE_LENGTH(256)
6110   MDRV_NVRAM_HANDLER(goldstar)
6068   MDRV_NVRAM_ADD_1FILL("nvram")
61116069
61126070   MDRV_VIDEO_START(goldstar)
61136071   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
61216079   MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
61226080   MDRV_SOUND_CONFIG(ladylinr_ay8910_config)
61236081   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
6124MACHINE_DRIVER_END
6082MACHINE_CONFIG_END
61256083
61266084
6127static MACHINE_DRIVER_START( wcat3 )
6085static MACHINE_CONFIG_START( wcat3, goldstar_state )
61286086
6129   MDRV_DRIVER_DATA(goldstar_state)
6130
61316087   /* basic machine hardware */
61326088   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
61336089   MDRV_CPU_PROGRAM_MAP(wcat3_map)
r9191r9192
61506106
61516107   MDRV_GFXDECODE(ncb3)
61526108   MDRV_PALETTE_LENGTH(256)
6153   MDRV_NVRAM_HANDLER(goldstar)
6109   MDRV_NVRAM_ADD_1FILL("nvram")
61546110
61556111   MDRV_VIDEO_START(goldstar)
61566112   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
61656121   MDRV_SOUND_CONFIG(lucky8_ay8910_config)
61666122   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
61676123
6168MACHINE_DRIVER_END
6124MACHINE_CONFIG_END
61696125
61706126
61716127/* diff with cm machine driver: gfxdecode, OKI & portmap */
6172static MACHINE_DRIVER_START( amcoe1 )
6128static MACHINE_CONFIG_START( amcoe1, goldstar_state )
61736129
6174   MDRV_DRIVER_DATA(goldstar_state)
6175
61766130   /* basic machine hardware */
61776131   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
61786132   MDRV_CPU_PROGRAM_MAP(cm_map)
r9191r9192
61946148   MDRV_GFXDECODE(cm)
61956149   MDRV_PALETTE_LENGTH(256)
61966150   MDRV_PALETTE_INIT(cm)
6197   MDRV_NVRAM_HANDLER(goldstar)
6151   MDRV_NVRAM_ADD_1FILL("nvram")
61986152
61996153   MDRV_VIDEO_START(cherrym)
62006154   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
62076161
62086162   MDRV_OKIM6295_ADD("oki", OKI_CLOCK, OKIM6295_PIN7_HIGH)   /* clock frequency & pin 7 not verified */
62096163   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
6210MACHINE_DRIVER_END
6164MACHINE_CONFIG_END
62116165
62126166
62136167/* diff with cm machine driver: gfxdecode, OKI, portmap & tilemaps rect size/position */
6214static MACHINE_DRIVER_START( amcoe1a )
6168static MACHINE_CONFIG_START( amcoe1a, goldstar_state )
62156169
6216   MDRV_DRIVER_DATA(goldstar_state)
6217
62186170   /* basic machine hardware */
62196171   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
62206172   MDRV_CPU_PROGRAM_MAP(cm_map)
r9191r9192
62366188   MDRV_GFXDECODE(cm)
62376189   MDRV_PALETTE_LENGTH(256)
62386190   MDRV_PALETTE_INIT(cm)
6239   MDRV_NVRAM_HANDLER(goldstar)
6191   MDRV_NVRAM_ADD_1FILL("nvram")
62406192
62416193   MDRV_VIDEO_START(cherrym)
62426194   MDRV_VIDEO_UPDATE(amcoe1a)
r9191r9192
62496201
62506202   MDRV_OKIM6295_ADD("oki", OKI_CLOCK, OKIM6295_PIN7_HIGH)   /* clock frequency & pin 7 not verified */
62516203   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
6252MACHINE_DRIVER_END
6204MACHINE_CONFIG_END
62536205
62546206
62556207/* diff with cm machine driver: gfxdecode, AY8910 volume & portmap */
6256static MACHINE_DRIVER_START( amcoe2 )
6208static MACHINE_CONFIG_START( amcoe2, goldstar_state )
62576209
6258   MDRV_DRIVER_DATA(goldstar_state)
6259
62606210   /* basic machine hardware */
62616211   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
62626212   MDRV_CPU_PROGRAM_MAP(cm_map)
r9191r9192
62786228   MDRV_GFXDECODE(cm)
62796229   MDRV_PALETTE_LENGTH(256)
62806230   MDRV_PALETTE_INIT(cm)
6281   MDRV_NVRAM_HANDLER(goldstar)
6231   MDRV_NVRAM_ADD_1FILL("nvram")
62826232
62836233   MDRV_VIDEO_START(cherrym)
62846234   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
62886238   MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
62896239   MDRV_SOUND_CONFIG(cm_ay8910_config)
62906240   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.00)   /* analyzed for clips */
6291MACHINE_DRIVER_END
6241MACHINE_CONFIG_END
62926242
6293static MACHINE_DRIVER_START( nfm )
6243static MACHINE_CONFIG_START( nfm, goldstar_state )
62946244
6295   MDRV_DRIVER_DATA(goldstar_state)
6296
62976245   /* basic machine hardware */
62986246   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
62996247   MDRV_CPU_PROGRAM_MAP(nfm_map)
r9191r9192
63156263   MDRV_GFXDECODE(nfm)
63166264   MDRV_PALETTE_LENGTH(256)
63176265   MDRV_PALETTE_INIT(cm)
6318   MDRV_NVRAM_HANDLER(goldstar)
6266   MDRV_NVRAM_ADD_1FILL("nvram")
63196267
63206268   MDRV_VIDEO_START(cherrym)
63216269   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
63256273   MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
63266274   MDRV_SOUND_CONFIG(cm_ay8910_config)
63276275   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.00)   /* analyzed for clips */
6328MACHINE_DRIVER_END
6276MACHINE_CONFIG_END
63296277
6330static MACHINE_DRIVER_START( unkch )
6278static MACHINE_CONFIG_START( unkch, goldstar_state )
63316279
6332   MDRV_DRIVER_DATA(goldstar_state)
6333
63346280   /* basic machine hardware */
63356281   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
63366282   MDRV_CPU_PROGRAM_MAP(unkch_map)
r9191r9192
63606306//  MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
63616307//  MDRV_SOUND_CONFIG(ay8910_config)
63626308//  MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
6363MACHINE_DRIVER_END
6309MACHINE_CONFIG_END
63646310
6365static MACHINE_DRIVER_START( cherrys )
6366
6367   MDRV_IMPORT_FROM(ncb3)
6311static MACHINE_CONFIG_DERIVED( cherrys, ncb3 )
63686312   MDRV_GFXDECODE(cherrys)
63696313
6370MACHINE_DRIVER_END
6314MACHINE_CONFIG_END
63716315
63726316// hw unknown
6373static MACHINE_DRIVER_START( pkrmast )
6317static MACHINE_CONFIG_START( pkrmast, goldstar_state )
63746318
6375   MDRV_DRIVER_DATA(goldstar_state)
6376
63776319   /* basic machine hardware */
63786320   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
63796321   MDRV_CPU_PROGRAM_MAP(cm_map)
r9191r9192
63956337   MDRV_GFXDECODE(pkrmast)
63966338   MDRV_PALETTE_LENGTH(256)
63976339   MDRV_PALETTE_INIT(cm)
6398   MDRV_NVRAM_HANDLER(goldstar)
6340   MDRV_NVRAM_ADD_1FILL("nvram")
63996341
64006342   MDRV_VIDEO_START(cherrym)
64016343   MDRV_VIDEO_UPDATE(goldstar)
r9191r9192
64056347   MDRV_SOUND_ADD("aysnd", AY8910, AY_CLOCK)
64066348   MDRV_SOUND_CONFIG(cm_ay8910_config)
64076349   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
6408MACHINE_DRIVER_END
6350MACHINE_CONFIG_END
64096351
64106352/***************************************************************************
64116353
r9191r9192
70727014   ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) )
70737015ROM_END
70747016
7017
70757018ROM_START( cmasterc )
70767019   ROM_REGION( 0x10000, "maincpu", 0 )
70777020   ROM_LOAD( "msii841.u81",  0x3000,  0x1000, CRC(977db602) SHA1(0fd3d6781b654ac6befdc9278f84ca708d5d448c) )
r9191r9192
72867229   ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) )
72877230ROM_END
72887231
7232
7233
7234ROM_START( tonypok )
7235   ROM_REGION( 0x10000, "maincpu", 0 )
7236   ROM_LOAD( "tonypok.rom",  0x0000,  0x1000, CRC(c7047fcb) SHA1(a224e5a3c0fcd1d588ab264c4d0c624159834488) )
7237   ROM_CONTINUE(0x4000,0x1000)
7238   ROM_CONTINUE(0x3000,0x1000)
7239   ROM_CONTINUE(0x7000,0x1000)
7240   ROM_CONTINUE(0x1000,0x1000)
7241   ROM_CONTINUE(0x6000,0x1000)
7242   ROM_CONTINUE(0x2000,0x1000)
7243   ROM_CONTINUE(0x5000,0x1000)
7244
7245   ROM_REGION( 0x18000, "gfx1", 0 )
7246   ROM_LOAD( "pok_u16.7", 0x00000,  0x8000, CRC(d7511644) SHA1(2aedd80b279f6e1231bacfce913e06070c74fff7) )
7247   ROM_LOAD( "pok_u11.6", 0x08000,  0x8000, CRC(6ff4d0f9) SHA1(3faccac9562c9269f392655d045a10569f335ccc) )
7248   ROM_LOAD( "pok_u4.5",  0x10000,  0x8000, CRC(7c641db2) SHA1(b90d4c5efc388fe8938ed3180b3c36a20ecdc15b) )
7249
7250   // the remainder of the roms are from Cherry Master - this was a conversion kit
7251   ROM_REGION( 0x8000, "gfx2", 0 )
7252   ROM_LOAD( "u15.4",  0x0000,  0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) )
7253   ROM_LOAD( "u10.3",  0x2000,  0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) )
7254   ROM_LOAD( "u14.2",  0x4000,  0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) )
7255   ROM_LOAD( "u9.1",   0x6000,  0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) )
7256
7257   ROM_REGION( 0x10000, "user1", 0 )
7258   ROM_LOAD( "u53.8",  0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) )
7259
7260   ROM_REGION( 0x200, "proms", 0 )
7261   ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) )
7262   ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) )
7263
7264   ROM_REGION( 0x100, "proms2", 0 )
7265   ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) )
7266ROM_END
7267
72897268// the program roms on these seem scrambled somehow, and there are no gfx roms dumped
72907269ROM_START( jkrmast )
72917270   ROM_REGION( 0x10000, "maincpu", 0 )
r9191r9192
99229901   ROM[0x9a6f] = 0x00;
99239902}
99249903
9904static DRIVER_INIT( tonypok )
9905{
9906   // the ppi doesn't seem to work properly, so just install the inputs directly
9907   address_space *io = cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_IO);
9908   memory_install_read_port(io, 0x04, 0x04, 0, 0, "IN0" );
9909   memory_install_read_port(io, 0x05, 0x05, 0, 0, "IN1" );
9910   memory_install_read_port(io, 0x06, 0x06, 0, 0, "IN2" );
99259911
9912}
99269913
9914
99279915/*********************************************
99289916*                Game Drivers                *
99299917**********************************************
r9191r9192
99619949GAME(  1991, cmastere,  cmaster,  cm,       cmasterb, cmv4,      ROT0, "Dyna",              "Cherry Master I (ver.1.01, set 6)",           0 )
99629950GAME(  1991, cmasterf,  cmaster,  cm,       cmasterb, cmv4,      ROT0, "Dyna",              "Cherry Master I (ver.1.01, set 7)",           0 )
99639951
9952
9953GAME(  1991, tonypok,   0,        cm,       cmv801,   tonypok,   ROT0, "Corsica",           "Poker Master (Tony-Poker V3.A, hack?)",   0 )
99649954GAME(  199?, jkrmast,   0,        pkrmast,  cmasterb, cmv4,      ROT0, "<unknown>",         "Joker Master",                                GAME_NOT_WORKING ) // incomplete dump + encrypted?
99659955GAME(  199?, pkrmast,   jkrmast,  pkrmast,  cmasterb, cmv4,      ROT0, "<unknown>",         "Poker Master (set 1)",                        GAME_NOT_WORKING ) // incomplete dump + encrypted?
99669956GAME(  199?, pkrmasta,  jkrmast,  pkrmast,  cmasterb, cmv4,      ROT0, "<unknown>",         "Poker Master (set 2)",                        GAME_NOT_WORKING ) // incomplete dump + encrypted?
src/mame/drivers/dbz.c
r9191r9192
164164   AM_RANGE(0x0000, 0x7fff) AM_ROM
165165   AM_RANGE(0x8000, 0xbfff) AM_RAM
166166   AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
167   AM_RANGE(0xd000, 0xd002) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
167   AM_RANGE(0xd000, 0xd002) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
168168   AM_RANGE(0xe000, 0xe001) AM_READ(soundlatch_r)
169169ADDRESS_MAP_END
170170
r9191r9192
369369   state->control = 0;
370370}
371371
372static MACHINE_DRIVER_START( dbz )
372static MACHINE_CONFIG_START( dbz, dbz_state )
373373
374   /* driver data */
375   MDRV_DRIVER_DATA(dbz_state)
376
377374   /* basic machine hardware */
378375   MDRV_CPU_ADD("maincpu", M68000, 16000000)
379376   MDRV_CPU_PROGRAM_MAP(dbz_map)
r9191r9192
419416   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH)
420417   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
421418   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
422MACHINE_DRIVER_END
419MACHINE_CONFIG_END
423420
424421/**********************************************************************************/
425422
src/mame/drivers/skylncr.c
r9191r9192
3636#include "cpu/z80/z80.h"
3737#include "sound/ay8910.h"
3838#include "machine/8255ppi.h"
39#include "machine/nvram.h"
3940
4041static tilemap_t *tmap;
4142
r9191r9192
313314
314315static ADDRESS_MAP_START( mem_map_skylncr, ADDRESS_SPACE_PROGRAM, 8 )
315316   AM_RANGE(0x0000, 0x7fff) AM_ROM
316   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
317   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
317318
318319   AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE( skylncr_videoram_w ) AM_BASE( &skylncr_videoram )
319320   AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE( skylncr_colorram_w ) AM_BASE( &skylncr_colorram )
r9191r9192
656657*           Machine Driver           *
657658*************************************/
658659
659static MACHINE_DRIVER_START( skylncr )
660static MACHINE_CONFIG_START( skylncr, driver_device )
660661
661662   /* basic machine hardware */
662663   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4)
r9191r9192
664665   MDRV_CPU_IO_MAP(io_map_skylncr)
665666   MDRV_CPU_VBLANK_INT("screen", skylncr_vblank_interrupt)
666667
667   MDRV_NVRAM_HANDLER(generic_0fill)
668   MDRV_NVRAM_ADD_0FILL("nvram")
668669
669670   /* 1x M5M82C255, or 2x PPI8255 */
670671   MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf[0] )
r9191r9192
689690   MDRV_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK/8)
690691   MDRV_SOUND_CONFIG(ay8910_config)
691692   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
692MACHINE_DRIVER_END
693MACHINE_CONFIG_END
693694
694695
695696/**********************************
src/mame/drivers/20pacgal.c
r9191r9192
330330   state->game_selected = 0;
331331}
332332
333static MACHINE_DRIVER_START( 20pacgal )
333static MACHINE_CONFIG_START( 20pacgal, _20pacgal_state )
334334
335   MDRV_DRIVER_DATA(_20pacgal_state)
336
337335   /* basic machine hardware */
338336   MDRV_CPU_ADD("maincpu", Z180, MAIN_CPU_CLOCK)
339337   MDRV_CPU_PROGRAM_MAP(20pacgal_map)
r9191r9192
346344   MDRV_EEPROM_ADD("eeprom", _20pacgal_eeprom_intf)
347345
348346   /* video hardware */
349   MDRV_IMPORT_FROM(20pacgal_video)
347   MDRV_FRAGMENT_ADD(20pacgal_video)
350348
351349   /* sound hardware */
352350   MDRV_SPEAKER_STANDARD_MONO("mono")
r9191r9192
357355
358356   MDRV_SOUND_ADD("dac", DAC, 0)
359357   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
360MACHINE_DRIVER_END
358MACHINE_CONFIG_END
361359
362360
363361
src/mame/drivers/seicross.c
r9191r9192
4747#include "cpu/m6800/m6800.h"
4848#include "sound/ay8910.h"
4949#include "sound/dac.h"
50#include "includes/seicross.h"
5051
51extern UINT8 *seicross_videoram;
52extern UINT8 *seicross_colorram;
53extern UINT8 *seicross_row_scroll;
54
55extern WRITE8_HANDLER( seicross_videoram_w );
56extern WRITE8_HANDLER( seicross_colorram_w );
57
58extern PALETTE_INIT( seicross );
59extern VIDEO_START( seicross );
60extern VIDEO_UPDATE( seicross );
61
62static UINT8 *nvram;
63static size_t nvram_size;
64
65static UINT8 portb;
66
67
6852static NVRAM_HANDLER( seicross )
6953{
54   seicross_state *state = machine->driver_data<seicross_state>();
55   UINT8 *nvram = state->nvram;
56   size_t nvram_size = state->nvram_size;
57
7058   if (read_or_write)
7159      mame_fwrite(file,nvram,nvram_size);
7260   else
r9191r9192
9583
9684static READ8_DEVICE_HANDLER( friskyt_portB_r )
9785{
98   return (portb & 0x9f) | (input_port_read_safe(device->machine, "DEBUG", 0) & 0x60);
86   seicross_state *state = device->machine->driver_data<seicross_state>();
87
88   return (state->portb & 0x9f) | (input_port_read_safe(device->machine, "DEBUG", 0) & 0x60);
9989}
10090
10191static WRITE8_DEVICE_HANDLER( friskyt_portB_w )
10292{
103//logerror("PC %04x: 8910 port B = %02x\n",cpu_get_pc(space->cpu),data);
93   seicross_state *state = device->machine->driver_data<seicross_state>();
94
95   //logerror("PC %04x: 8910 port B = %02x\n", cpu_get_pc(space->cpu), data);
10496   /* bit 0 is IRQ enable */
10597   cpu_interrupt_enable(device->machine->device("maincpu"), data & 1);
10698
10799   /* bit 1 flips screen */
108100
109101   /* bit 2 resets the microcontroller */
110   if (((portb & 4) == 0) && (data & 4))
102   if (((state->portb & 4) == 0) && (data & 4))
111103   {
112104      /* reset and start the protection mcu */
113105      cputag_set_input_line(device->machine, "mcu", INPUT_LINE_RESET, PULSE_LINE);
r9191r9192
115107   }
116108
117109   /* other bits unknown */
118   portb = data;
110   state->portb = data;
119111}
120112
121113
122114static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
123115   AM_RANGE(0x0000, 0x77ff) AM_ROM
124116   AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("share1")
125   AM_RANGE(0x8820, 0x887f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
126   AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(seicross_videoram_w) AM_BASE(&seicross_videoram)   /* video RAM */
127   AM_RANGE(0x9800, 0x981f) AM_RAM AM_BASE(&seicross_row_scroll)
128   AM_RANGE(0x9880, 0x989f) AM_WRITEONLY AM_BASE_SIZE_GENERIC(spriteram2)
129   AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(seicross_colorram_w) AM_BASE(&seicross_colorram)
117   AM_RANGE(0x8820, 0x887f) AM_RAM AM_BASE_SIZE_MEMBER(seicross_state, spriteram, spriteram_size)
118   AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(seicross_videoram_w) AM_BASE_MEMBER(seicross_state, videoram)   /* video RAM */
119   AM_RANGE(0x9800, 0x981f) AM_RAM AM_BASE_MEMBER(seicross_state, row_scroll)
120   AM_RANGE(0x9880, 0x989f) AM_WRITEONLY AM_BASE_SIZE_MEMBER(seicross_state, spriteram2, spriteram2_size)
121   AM_RANGE(0x9c00, 0x9fff) AM_RAM_WRITE(seicross_colorram_w) AM_BASE_MEMBER(seicross_state, colorram)
130122   AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")      /* IN0 */
131123   AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1")      /* IN1 */
132124   AM_RANGE(0xb000, 0xb000) AM_READ_PORT("TEST")      /* test */
r9191r9192
142134
143135static ADDRESS_MAP_START( mcu_nvram_map, ADDRESS_SPACE_PROGRAM, 8 )
144136   AM_RANGE(0x0000, 0x007f) AM_RAM
145   AM_RANGE(0x1000, 0x10ff) AM_RAM AM_BASE(&nvram) AM_SIZE(&nvram_size)
137   AM_RANGE(0x1000, 0x10ff) AM_RAM AM_BASE_SIZE_MEMBER(seicross_state, nvram, nvram_size)
146138   AM_RANGE(0x2000, 0x2000) AM_DEVWRITE("dac", dac_w)
147139   AM_RANGE(0x8000, 0xf7ff) AM_ROM
148140   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("share1")
r9191r9192
399391};
400392
401393
402static MACHINE_DRIVER_START( nvram )
394static MACHINE_CONFIG_START( nvram, seicross_state )
403395
404396   /* basic machine hardware */
405397   MDRV_CPU_ADD("maincpu", Z80, 3072000)   /* 3.072 MHz? */
r9191r9192
439431
440432   MDRV_SOUND_ADD("dac", DAC, 0)
441433   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
442MACHINE_DRIVER_END
434MACHINE_CONFIG_END
443435
444436
445static MACHINE_DRIVER_START( no_nvram )
437static MACHINE_CONFIG_DERIVED( no_nvram, nvram )
446438
447439   /* basic machine hardware */
448   MDRV_IMPORT_FROM(nvram)
449440   MDRV_CPU_MODIFY("mcu")
450441   MDRV_CPU_PROGRAM_MAP(mcu_no_nvram_map)
451442
452443   MDRV_NVRAM_HANDLER(0)
453MACHINE_DRIVER_END
444MACHINE_CONFIG_END
454445
455446
456447/***************************************************************************
src/mame/drivers/spbactn.c
r9191r9192
189189static ADDRESS_MAP_START( spbactn_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
190190   AM_RANGE(0x0000, 0xefff) AM_ROM
191191   AM_RANGE(0xf000, 0xf7ff) AM_RAM
192   AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
192   AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
193193   AM_RANGE(0xf810, 0xf811) AM_DEVWRITE("ymsnd", ym3812_w)
194194
195195   AM_RANGE(0xfc00, 0xfc00) AM_READNOP   AM_WRITENOP /* irq ack ?? */
r9191r9192
333333   irqhandler
334334};
335335
336static MACHINE_DRIVER_START( spbactn )
336static MACHINE_CONFIG_START( spbactn, spbactn_state )
337337
338   MDRV_DRIVER_DATA( spbactn_state )
339
340338   /* basic machine hardware */
341339   MDRV_CPU_ADD("maincpu", M68000, 12000000)
342340   MDRV_CPU_PROGRAM_MAP(spbactn_map)
r9191r9192
368366
369367   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
370368   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
371MACHINE_DRIVER_END
369MACHINE_CONFIG_END
372370
373371ROM_START( spbactn )
374372   /* Board 9002-A (CPU Board) */
src/mame/drivers/system16.c
r9191r9192
19931993 *************************************/
19941994
19951995/* System 16A/B Bootlegs */
1996static MACHINE_DRIVER_START( system16 )
1996static MACHINE_CONFIG_START( system16, segas1x_bootleg_state )
19971997
1998   /* driver data */
1999   MDRV_DRIVER_DATA(segas1x_bootleg_state)
2000
20011998   /* basic machine hardware */
20021999   MDRV_CPU_ADD("maincpu", M68000, 10000000)
20032000   MDRV_CPU_VBLANK_INT("screen", sys16_interrupt)
r9191r9192
20262023   MDRV_SOUND_ADD("ymsnd", YM2151, 4000000)
20272024   MDRV_SOUND_ROUTE(0, "lspeaker", 0.32)
20282025   MDRV_SOUND_ROUTE(1, "rspeaker", 0.32)
2029MACHINE_DRIVER_END
2026MACHINE_CONFIG_END
20302027
20312028
20322029static void sound_cause_nmi( running_device *device, int chip )
r9191r9192
20442041};
20452042
20462043
2047static MACHINE_DRIVER_START( system16_7759 )
2044static MACHINE_CONFIG_DERIVED( system16_7759, system16 )
20482045
20492046   /* basic machine hardware */
2050   MDRV_IMPORT_FROM(system16)
20512047
20522048   MDRV_CPU_MODIFY("soundcpu")
20532049   MDRV_CPU_PROGRAM_MAP(sound_7759_map)
r9191r9192
20582054   MDRV_SOUND_CONFIG(sys16_upd7759_interface)
20592055   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.48)
20602056   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.48)
2061MACHINE_DRIVER_END
2057MACHINE_CONFIG_END
20622058
20632059
2064static MACHINE_DRIVER_START( system16_datsu_sound )
2060static MACHINE_CONFIG_FRAGMENT( system16_datsu_sound )
20652061   /* TODO:
20662062    - other games might use this sound configuration
20672063    - speaker is likely to be mono for the bootlegs, not stereo.
r9191r9192
20812077   MDRV_SOUND_CONFIG(tturfbl_msm5205_interface)
20822078   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
20832079   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
2084MACHINE_DRIVER_END
2080MACHINE_CONFIG_END
20852081
20862082
20872083static const sega16sp_interface shinobld_sega16sp_intf =
r9191r9192
20942090   0, // use buffer
20952091};
20962092
2097static MACHINE_DRIVER_START( shinobib )
2093static MACHINE_CONFIG_DERIVED( shinobib, system16 )
20982094
20992095   /* basic machine hardware */
2100   MDRV_IMPORT_FROM(system16)
21012096   MDRV_CPU_MODIFY("maincpu")
21022097   MDRV_CPU_PROGRAM_MAP(shinobib_map)
21032098
r9191r9192
21052100
21062101   MDRV_VIDEO_START( s16a_bootleg_shinobi )
21072102   MDRV_VIDEO_UPDATE( s16a_bootleg )
2108MACHINE_DRIVER_END
2103MACHINE_CONFIG_END
21092104
21102105static const sega16sp_interface passshtb_sega16sp_intf =
21112106{
r9191r9192
21172112   0, // use buffer
21182113};
21192114
2120static MACHINE_DRIVER_START( passshtb )
2115static MACHINE_CONFIG_DERIVED( passshtb, system16_7759 )
21212116
21222117   /* basic machine hardware */
2123   MDRV_IMPORT_FROM(system16_7759)
21242118   MDRV_CPU_MODIFY("maincpu")
21252119   MDRV_CPU_PROGRAM_MAP(passshtb_map)
21262120
r9191r9192
21282122
21292123   MDRV_VIDEO_START( s16a_bootleg_passsht )
21302124   MDRV_VIDEO_UPDATE( s16a_bootleg )
2131MACHINE_DRIVER_END
2125MACHINE_CONFIG_END
21322126
21332127
2134static MACHINE_DRIVER_START( passsht4b )
2128static MACHINE_CONFIG_DERIVED( passsht4b, system16_7759 )
21352129
21362130   /* basic machine hardware */
2137   MDRV_IMPORT_FROM(system16_7759)
21382131   MDRV_CPU_MODIFY("maincpu")
21392132   MDRV_CPU_PROGRAM_MAP(passht4b_map)
21402133
r9191r9192
21432136
21442137   MDRV_VIDEO_START( s16a_bootleg_passsht )
21452138   MDRV_VIDEO_UPDATE( s16a_bootleg_passht4b )
2146MACHINE_DRIVER_END
2139MACHINE_CONFIG_END
21472140
21482141static const sega16sp_interface wb3bbl_sega16sp_intf =
21492142{
r9191r9192
21552148   0, // use buffer
21562149};
21572150
2158static MACHINE_DRIVER_START( wb3bb )
2151static MACHINE_CONFIG_DERIVED( wb3bb, system16 )
21592152
21602153   /* basic machine hardware */
2161   MDRV_IMPORT_FROM(system16)
21622154   MDRV_CPU_MODIFY("maincpu")
21632155   MDRV_CPU_PROGRAM_MAP(wb3bbl_map)
21642156
r9191r9192
21662158
21672159   MDRV_VIDEO_START( s16a_bootleg_wb3bl )
21682160   MDRV_VIDEO_UPDATE( s16a_bootleg )
2169MACHINE_DRIVER_END
2161MACHINE_CONFIG_END
21702162
21712163
21722164static const sega16sp_interface s16bbl_x121_sega16sp_intf =
r9191r9192
21792171   0, // use buffer
21802172};
21812173
2182static MACHINE_DRIVER_START( goldnaxeb1 )
2174static MACHINE_CONFIG_START( goldnaxeb1, segas1x_bootleg_state )
21832175
2184   /* driver data */
2185   MDRV_DRIVER_DATA(segas1x_bootleg_state)
2186
21872176   /* basic machine hardware */
21882177   MDRV_CPU_ADD("maincpu", M68000, 10000000)
21892178   MDRV_CPU_PROGRAM_MAP(goldnaxeb1_map)
r9191r9192
22062195   MDRV_PALETTE_INIT( all_black )
22072196   MDRV_VIDEO_START(system16)
22082197   MDRV_VIDEO_UPDATE(system16)
2209MACHINE_DRIVER_END
2198MACHINE_CONFIG_END
22102199
22112200
2212static MACHINE_DRIVER_START( goldnaxeb2 )
2201static MACHINE_CONFIG_DERIVED( goldnaxeb2, goldnaxeb1 )
2202
22132203   /* basic machine hardware */
2214   MDRV_IMPORT_FROM(goldnaxeb1)
22152204   MDRV_CPU_MODIFY("maincpu")
22162205   MDRV_CPU_PROGRAM_MAP(goldnaxeb2_map)
2217MACHINE_DRIVER_END
2206MACHINE_CONFIG_END
22182207
22192208
2220static MACHINE_DRIVER_START( bayrouteb1 )
2209static MACHINE_CONFIG_DERIVED( bayrouteb1, goldnaxeb1 )
2210
22212211   /* basic machine hardware */
2222   MDRV_IMPORT_FROM(goldnaxeb1)
22232212   MDRV_CPU_MODIFY("maincpu")
22242213   MDRV_CPU_PROGRAM_MAP(bayrouteb1_map)
2225MACHINE_DRIVER_END
2214MACHINE_CONFIG_END
22262215
22272216static const sega16sp_interface s16bbl_x107_sega16sp_intf =
22282217{
r9191r9192
22342223   0, // use buffer
22352224};
22362225
2237static MACHINE_DRIVER_START( bayrouteb2 )
2226static MACHINE_CONFIG_DERIVED( bayrouteb2, goldnaxeb1 )
2227
22382228   /* basic machine hardware */
2239   MDRV_IMPORT_FROM(goldnaxeb1)
22402229   MDRV_CPU_MODIFY("maincpu")
22412230   MDRV_CPU_PROGRAM_MAP(bayrouteb2_map)
22422231
2243   MDRV_IMPORT_FROM(system16_datsu_sound)
2232   MDRV_FRAGMENT_ADD(system16_datsu_sound)
22442233
22452234   MDRV_DEVICE_REMOVE("segaspr1")
22462235   MDRV_SEGA16SP_ADD("segaspr1", s16bbl_x107_sega16sp_intf)
2247MACHINE_DRIVER_END
2236MACHINE_CONFIG_END
22482237
2249static MACHINE_DRIVER_START( tturfbl )
2238static MACHINE_CONFIG_DERIVED( tturfbl, system16_7759 )
22502239
22512240   /* basic machine hardware */
2252   MDRV_IMPORT_FROM(system16_7759)
22532241   MDRV_CPU_MODIFY("maincpu")
22542242   MDRV_CPU_PROGRAM_MAP(tturfbl_map)
22552243
r9191r9192
22642252   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
22652253
22662254   MDRV_SEGA16SP_ADD("segaspr1", s16bbl_x107_sega16sp_intf)
2267MACHINE_DRIVER_END
2255MACHINE_CONFIG_END
22682256
22692257static const sega16sp_interface s16bbl_x112_sega16sp_intf =
22702258{
r9191r9192
22762264   0, // use buffer
22772265};
22782266
2279static MACHINE_DRIVER_START( dduxbl )
2267static MACHINE_CONFIG_DERIVED( dduxbl, system16 )
22802268
22812269   /* basic machine hardware */
2282   MDRV_IMPORT_FROM(system16)
22832270   MDRV_CPU_MODIFY("maincpu")
22842271   MDRV_CPU_PROGRAM_MAP(dduxbl_map)
22852272
22862273   MDRV_SEGA16SP_ADD("segaspr1", s16bbl_x112_sega16sp_intf)
2287MACHINE_DRIVER_END
2274MACHINE_CONFIG_END
22882275
22892276static const sega16sp_interface s16bbl_x124_sega16sp_intf =
22902277{
r9191r9192
22962283   0, // use buffer
22972284};
22982285
2299static MACHINE_DRIVER_START( eswatbl )
2286static MACHINE_CONFIG_DERIVED( eswatbl, system16_7759 )
23002287
23012288   /* basic machine hardware */
2302   MDRV_IMPORT_FROM(system16_7759)
23032289   MDRV_CPU_MODIFY("maincpu")
23042290   MDRV_CPU_PROGRAM_MAP(eswatbl_map)
23052291
23062292   MDRV_SEGA16SP_ADD("segaspr1", s16bbl_x124_sega16sp_intf)
2307MACHINE_DRIVER_END
2293MACHINE_CONFIG_END
23082294
2309static MACHINE_DRIVER_START( fpointbl )
2295static MACHINE_CONFIG_DERIVED( fpointbl, system16 )
23102296
23112297   /* basic machine hardware */
2312   MDRV_IMPORT_FROM(system16)
23132298   MDRV_CPU_MODIFY("maincpu")
23142299   MDRV_CPU_PROGRAM_MAP(fpointbl_map)
23152300
r9191r9192
23172302   MDRV_CPU_PROGRAM_MAP(fpointbl_sound_map)
23182303
23192304   MDRV_SEGA16SP_ADD("segaspr1", s16bbl_x107_sega16sp_intf)
2320MACHINE_DRIVER_END
2305MACHINE_CONFIG_END
23212306
2322static MACHINE_DRIVER_START( tetrisbl )
2307static MACHINE_CONFIG_DERIVED( tetrisbl, system16 )
23232308
23242309   /* basic machine hardware */
2325   MDRV_IMPORT_FROM(system16)
23262310   MDRV_CPU_MODIFY("maincpu")
23272311   MDRV_CPU_PROGRAM_MAP(tetrisbl_map)
23282312
23292313   MDRV_SEGA16SP_ADD("segaspr1", s16bbl_x112_sega16sp_intf)
2330MACHINE_DRIVER_END
2314MACHINE_CONFIG_END
23312315
23322316
2333static MACHINE_DRIVER_START( beautyb )
2317static MACHINE_CONFIG_DERIVED( beautyb, system16 )
23342318
23352319   /* basic machine hardware */
2336   MDRV_IMPORT_FROM(system16)
23372320   MDRV_CPU_MODIFY("maincpu")
23382321   MDRV_CPU_PROGRAM_MAP(beautyb_map)
23392322
23402323   MDRV_SEGA16SP_ADD("segaspr1", s16bbl_x112_sega16sp_intf)
2341MACHINE_DRIVER_END
2324MACHINE_CONFIG_END
23422325
23432326
23442327/* System 18 Bootlegs */
2345static MACHINE_DRIVER_START( system18 )
2328static MACHINE_CONFIG_START( system18, segas1x_bootleg_state )
23462329
2347   /* driver data */
2348   MDRV_DRIVER_DATA(segas1x_bootleg_state)
2349
23502330   /* basic machine hardware */
23512331   MDRV_CPU_ADD("maincpu", M68000, 10000000)
23522332   MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
r9191r9192
23892369   MDRV_SOUND_ADD("5c68", RF5C68, 8000000)
23902370   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
23912371   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
2392MACHINE_DRIVER_END
2372MACHINE_CONFIG_END
23932373
23942374
2395static MACHINE_DRIVER_START( astormbl )
2375static MACHINE_CONFIG_DERIVED( astormbl, system18 )
23962376
23972377   /* basic machine hardware */
2398   MDRV_IMPORT_FROM(system18)
23992378   MDRV_CPU_MODIFY("maincpu")
24002379   MDRV_CPU_PROGRAM_MAP(astormbl_map)
2401MACHINE_DRIVER_END
2380MACHINE_CONFIG_END
24022381
24032382
2404static MACHINE_DRIVER_START( mwalkbl )
2383static MACHINE_CONFIG_DERIVED( mwalkbl, system18 )
24052384
24062385   /* basic machine hardware */
2407   MDRV_IMPORT_FROM(system18)
24082386   MDRV_CPU_MODIFY("maincpu")
24092387   MDRV_CPU_PROGRAM_MAP(mwalkbl_map)
2410MACHINE_DRIVER_END
2388MACHINE_CONFIG_END
24112389
24122390
2413static MACHINE_DRIVER_START( shdancbl )
2391static MACHINE_CONFIG_DERIVED( shdancbl, system18 )
24142392
24152393   /* basic machine hardware */
2416   MDRV_IMPORT_FROM(system18)
24172394   MDRV_CPU_MODIFY("maincpu")
24182395   MDRV_CPU_PROGRAM_MAP(shdancbl_map)
24192396
r9191r9192
24262403   MDRV_SOUND_CONFIG(shdancbl_msm5205_interface)
24272404   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
24282405   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
2429MACHINE_DRIVER_END
2406MACHINE_CONFIG_END
24302407
24312408
24322409/*************************************
src/mame/drivers/nyny.c
r9191r9192
7070#include "cpu/m6809/m6809.h"
7171#include "sound/ay8910.h"
7272#include "sound/dac.h"
73#include "machine/nvram.h"
7374
7475
7576#define MAIN_CPU_MASTER_CLOCK           XTAL_11_2MHz
r9191r9192
8182#define AUDIO_CPU_2_CLOCK             AUDIO_2_MASTER_CLOCK
8283
8384
84class nyny_state : public driver_data_t
85class nyny_state : public driver_device
8586{
8687public:
87   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nyny_state(machine)); }
88   nyny_state(running_machine &machine, const driver_device_config_base &config)
89      : driver_device(machine, config) { }
8890
89   nyny_state(running_machine &machine)
90      : driver_data_t(machine) { }
91
9291   /* memory pointers */
9392   UINT8 *  videoram1;
9493   UINT8 *  videoram2;
r9191r9192
544543   AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE_MEMBER(nyny_state, videoram2)
545544   AM_RANGE(0x6000, 0x7fff) AM_RAM AM_BASE_MEMBER(nyny_state, colorram2)
546545   AM_RANGE(0x8000, 0x9fff) AM_RAM
547   AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* SRAM (coin counter, shown when holding F2) */
546   AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_SHARE("nvram") /* SRAM (coin counter, shown when holding F2) */
548547   AM_RANGE(0xa100, 0xa100) AM_MIRROR(0x00fe) AM_DEVWRITE("crtc", mc6845_address_w)
549548   AM_RANGE(0xa101, 0xa101) AM_MIRROR(0x00fe) AM_DEVWRITE("crtc", mc6845_register_w)
550549   AM_RANGE(0xa200, 0xa20f) AM_MIRROR(0x00f0) AM_READWRITE(nyny_pia_1_2_r, nyny_pia_1_2_w)
r9191r9192
713712 *
714713 *************************************/
715714
716static MACHINE_DRIVER_START( nyny )
715static MACHINE_CONFIG_START( nyny, nyny_state )
717716
718   /* driver data */
719   MDRV_DRIVER_DATA(nyny_state)
720
721717   /* basic machine hardware */
722718   MDRV_CPU_ADD("maincpu", M6809, 1400000)   /* 1.40 MHz? The clock signal is generated by analog chips */
723719   MDRV_CPU_PROGRAM_MAP(nyny_main_map)
r9191r9192
731727
732728   MDRV_MACHINE_START(nyny)
733729   MDRV_MACHINE_RESET(nyny)
734   MDRV_NVRAM_HANDLER(generic_0fill)
730   MDRV_NVRAM_ADD_0FILL("nvram")
735731
736732   /* video hardware */
737733   MDRV_VIDEO_UPDATE(nyny)
r9191r9192
765761
766762   MDRV_SOUND_ADD("dac", DAC, 0)
767763   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
768MACHINE_DRIVER_END
764MACHINE_CONFIG_END
769765
770766
771767
src/mame/drivers/limenko.c
r9191r9192
199199   if(spotty_sound_cmd == 0xf7)
200200      return soundlatch_r(space,0);
201201   else
202      return okim6295_r(space->machine->device("oki"),0);
202      return space->machine->device<okim6295_device>("oki")->read(*space,0);
203203}
204204
205205static ADDRESS_MAP_START( spotty_sound_io_map, ADDRESS_SPACE_IO, 8 )
206   AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READ(spotty_sound_r) AM_DEVWRITE("oki", okim6295_w) //? sound latch and ?
206   AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_READ(spotty_sound_r) AM_DEVWRITE_MODERN("oki", okim6295_device, write) //? sound latch and ?
207207   AM_RANGE(MCS51_PORT_P3, MCS51_PORT_P3) AM_READWRITE(spotty_sound_cmd_r, spotty_sound_cmd_w) //not sure about anything...
208208ADDRESS_MAP_END
209209
r9191r9192
640640*****************************************************************************************************/
641641
642642
643static MACHINE_DRIVER_START( limenko )
643static MACHINE_CONFIG_START( limenko, driver_device )
644644   MDRV_CPU_ADD("maincpu", E132XN, 20000000*4)   /* 4x internal multiplier */
645645   MDRV_CPU_PROGRAM_MAP(limenko_map)
646646   MDRV_CPU_IO_MAP(limenko_io_map)
r9191r9192
663663   MDRV_VIDEO_UPDATE(limenko)
664664
665665   /* sound hardware */
666MACHINE_DRIVER_END
666MACHINE_CONFIG_END
667667
668static MACHINE_DRIVER_START( spotty )
668static MACHINE_CONFIG_START( spotty, driver_device )
669669   MDRV_CPU_ADD("maincpu", GMS30C2232, 20000000)   /* 20 MHz, no internal multiplier */
670670   MDRV_CPU_PROGRAM_MAP(spotty_map)
671671   MDRV_CPU_IO_MAP(spotty_io_map)
r9191r9192
695695
696696   MDRV_OKIM6295_ADD("oki", 4000000 / 4 , OKIM6295_PIN7_HIGH) //?
697697   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
698MACHINE_DRIVER_END
698MACHINE_CONFIG_END
699699
700700
701701/*****************************************************************************************************
src/mame/drivers/pengo.c
r9191r9192
344344 *
345345 *************************************/
346346
347static MACHINE_DRIVER_START( pengo )
347static MACHINE_CONFIG_START( pengo, driver_device )
348348
349349   /* basic machine hardware */
350350   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)
r9191r9192
369369   MDRV_SOUND_ADD("namco", NAMCO, MASTER_CLOCK/6/32)
370370   MDRV_SOUND_CONFIG(namco_config)
371371   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
372MACHINE_DRIVER_END
372MACHINE_CONFIG_END
373373
374374
375static MACHINE_DRIVER_START( jrpacmbl )
375static MACHINE_CONFIG_DERIVED( jrpacmbl, pengo )
376376
377377   /* basic machine hardware */
378   MDRV_IMPORT_FROM(pengo)
379378
380379   /* basic machine hardware */
381380   MDRV_CPU_MODIFY("maincpu")
382381   MDRV_CPU_PROGRAM_MAP(jrpacmbl_map)
383382
384383   MDRV_VIDEO_START(jrpacman)
385MACHINE_DRIVER_END
384MACHINE_CONFIG_END
386385
387386
388387
src/mame/drivers/prehisle.c
r9191r9192
203203
204204/******************************************************************************/
205205
206static MACHINE_DRIVER_START( prehisle )
206static MACHINE_CONFIG_START( prehisle, prehisle_state )
207207
208   MDRV_DRIVER_DATA( prehisle_state )
209
210208   /* basic machine hardware */
211209   MDRV_CPU_ADD("maincpu", M68000, XTAL_18MHz/2)   /* verified on pcb */
212210   MDRV_CPU_PROGRAM_MAP(prehisle_map)
r9191r9192
239237
240238   MDRV_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
241239   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
242MACHINE_DRIVER_END
240MACHINE_CONFIG_END
243241
244242/******************************************************************************/
245243
src/mame/drivers/simpsons.c
r9191r9192
305305   "0100110000000" /* unlock command */
306306};
307307
308static MACHINE_DRIVER_START( simpsons )
308static MACHINE_CONFIG_START( simpsons, simpsons_state )
309309
310   /* driver data */
311   MDRV_DRIVER_DATA(simpsons_state)
312
313310   /* basic machine hardware */
314311   MDRV_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/2/4) /* pin 18 of konami cpu is 12Mhz, while pin 17 is 3mhz. Clock probably divided internally by 4  */
315312   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
354351   MDRV_SOUND_ADD("k053260", K053260, XTAL_3_579545MHz) /* verified on pcb */
355352   MDRV_SOUND_ROUTE(0, "lspeaker", 0.75)
356353   MDRV_SOUND_ROUTE(1, "rspeaker", 0.75)
357MACHINE_DRIVER_END
354MACHINE_CONFIG_END
358355
359356
360357/***************************************************************************
src/mame/drivers/actfancr.c
r9191r9192
106106   AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_w)
107107   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_w)
108108   AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
109   AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
109   AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
110110   AM_RANGE(0x4000, 0xffff) AM_ROM
111111ADDRESS_MAP_END
112112
r9191r9192
316316
317317/******************************************************************************/
318318
319static MACHINE_DRIVER_START( actfancr )
319static MACHINE_CONFIG_START( actfancr, actfancr_state )
320320
321   /* driver data */
322   MDRV_DRIVER_DATA(actfancr_state)
323
324321   /* basic machine hardware */
325322   MDRV_CPU_ADD("maincpu",H6280,21477200/3) /* Should be accurate */
326323   MDRV_CPU_PROGRAM_MAP(actfan_map)
r9191r9192
362359
363360   MDRV_OKIM6295_ADD("oki", 1024188, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
364361   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.85)
365MACHINE_DRIVER_END
362MACHINE_CONFIG_END
366363
367static MACHINE_DRIVER_START( triothep )
364static MACHINE_CONFIG_START( triothep, actfancr_state )
368365
369   /* driver data */
370   MDRV_DRIVER_DATA(actfancr_state)
371
372366   /* basic machine hardware */
373367   MDRV_CPU_ADD("maincpu",H6280,XTAL_21_4772MHz/3) /* XIN=21.4772Mhz, verified on pcb */
374368   MDRV_CPU_PROGRAM_MAP(triothep_map)
r9191r9192
410404
411405   MDRV_OKIM6295_ADD("oki", XTAL_1_056MHz, OKIM6295_PIN7_HIGH) /* verified on pcb */
412406   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.85)
413MACHINE_DRIVER_END
407MACHINE_CONFIG_END
414408
415409/******************************************************************************/
416410
src/mame/drivers/model1.c
r9191r9192
633633#include "cpu/mb86233/mb86233.h"
634634#include "sound/multipcm.h"
635635#include "sound/2612intf.h"
636#include "machine/nvram.h"
636637#include "includes/model1.h"
637638
638639static int model1_sound_irq;
r9191r9192
887888
888889   AM_RANGE(0xc00040, 0xc00043) AM_READWRITE(network_ctl_r, network_ctl_w)
889890
890   AM_RANGE(0xc00200, 0xc002ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
891   AM_RANGE(0xc00200, 0xc002ff) AM_RAM AM_SHARE("nvram")
891892
892893   AM_RANGE(0xc40000, 0xc40001) AM_WRITE(snd_latch_to_68k_w)
893894   AM_RANGE(0xc40002, 0xc40003) AM_READ(snd_68k_ready_r)
r9191r9192
935936
936937   AM_RANGE(0xc00040, 0xc00043) AM_READWRITE(network_ctl_r, network_ctl_w)
937938
938   AM_RANGE(0xc00200, 0xc002ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
939   AM_RANGE(0xc00200, 0xc002ff) AM_RAM AM_SHARE("nvram")
939940
940941   AM_RANGE(0xc40000, 0xc40001) AM_WRITE(snd_latch_to_68k_w)
941942   AM_RANGE(0xc40002, 0xc40003) AM_READ(snd_68k_ready_r)
r9191r9192
14961497ROM_END
14971498
14981499
1499static MACHINE_DRIVER_START( model1 )
1500static MACHINE_CONFIG_START( model1, driver_device )
15001501   MDRV_CPU_ADD("maincpu", V60, 16000000)
15011502   MDRV_CPU_PROGRAM_MAP(model1_mem)
15021503   MDRV_CPU_IO_MAP(model1_io)
r9191r9192
15071508
15081509   MDRV_MACHINE_START(model1)
15091510   MDRV_MACHINE_RESET(model1)
1510   MDRV_NVRAM_HANDLER(generic_0fill)
1511   MDRV_NVRAM_ADD_0FILL("nvram")
15111512
15121513   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK )
15131514
r9191r9192
15341535   MDRV_SOUND_ADD("sega2", MULTIPCM, 8000000)
15351536   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
15361537   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1537MACHINE_DRIVER_END
1538MACHINE_CONFIG_END
15381539
1539static MACHINE_DRIVER_START( model1_vr )
1540static MACHINE_CONFIG_START( model1_vr, driver_device )
15401541   MDRV_CPU_ADD("maincpu", V60, 16000000)
15411542   MDRV_CPU_PROGRAM_MAP(model1_vr_mem)
15421543   MDRV_CPU_IO_MAP(model1_vr_io)
r9191r9192
15511552
15521553   MDRV_MACHINE_START(model1)
15531554   MDRV_MACHINE_RESET(model1_vr)
1554   MDRV_NVRAM_HANDLER(generic_0fill)
1555   MDRV_NVRAM_ADD_0FILL("nvram")
15551556
15561557   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK )
15571558
r9191r9192
15781579   MDRV_SOUND_ADD("sega2", MULTIPCM, 8000000)
15791580   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
15801581   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1581MACHINE_DRIVER_END
1582MACHINE_CONFIG_END
15821583
15831584GAME( 1993, vf,       0,       model1,    vf,       0, ROT0, "Sega", "Virtua Fighter", GAME_IMPERFECT_GRAPHICS )
15841585GAME( 1992, vr,       0,       model1_vr, vr,       0, ROT0, "Sega", "Virtua Racing", GAME_IMPERFECT_GRAPHICS )
src/mame/drivers/polepos.c
r9191r9192
228228#include "audio/namco54.h"
229229#include "includes/polepos.h"
230230#include "sound/tms5220.h"
231#include "machine/nvram.h"
231232
232233#include "polepos.lh"
233234#include "topracer.lh"
r9191r9192
478479
479480static ADDRESS_MAP_START( z80_map, ADDRESS_SPACE_PROGRAM, 8 )
480481   AM_RANGE(0x0000, 0x2fff) AM_ROM
481   AM_RANGE(0x3000, 0x37ff) AM_MIRROR(0x0800) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* Battery Backup */
482   AM_RANGE(0x3000, 0x37ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("nvram")   /* Battery Backup */
482483   AM_RANGE(0x4000, 0x47ff) AM_READWRITE(polepos_sprite_r, polepos_sprite_w)            /* Motion Object */
483484   AM_RANGE(0x4800, 0x4bff) AM_READWRITE(polepos_road_r, polepos_road_w)            /* Road Memory */
484485   AM_RANGE(0x4c00, 0x4fff) AM_READWRITE(polepos_alpha_r, polepos_alpha_w)            /* Alphanumeric (char ram) */
r9191r9192
863864 * Machine driver
864865 *********************************************************************/
865866
866static MACHINE_DRIVER_START( polepos )
867static MACHINE_CONFIG_START( polepos, driver_device )
867868
868869   /* basic machine hardware */
869870   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/8)   /* 3.072 MHz */
r9191r9192
891892   MDRV_QUANTUM_TIME(HZ(6000))   /* some interleaving */
892893
893894   MDRV_MACHINE_RESET(polepos)
894   MDRV_NVRAM_HANDLER(generic_1fill)
895   MDRV_NVRAM_ADD_1FILL("nvram")
895896
896897   /* video hardware */
897898   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
930931   MDRV_SOUND_ADD("polepos", POLEPOS, 0)
931932   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90 * 0.77)
932933   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90 * 0.77)
933MACHINE_DRIVER_END
934MACHINE_CONFIG_END
934935
935936/* doesn't exist on the bootleg, but required for now or the game only boots in test mode!
936937   - they probably simulate some of the logic */
r9191r9192
949950};
950951
951952
952static MACHINE_DRIVER_START( topracern )
953static MACHINE_CONFIG_START( topracern, driver_device )
953954
954955   /* basic machine hardware */
955956   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/8)   /* 3.072 MHz */
r9191r9192
974975   MDRV_QUANTUM_TIME(HZ(6000))   /* some interleaving */
975976
976977   MDRV_MACHINE_RESET(polepos)
977   MDRV_NVRAM_HANDLER(generic_1fill)
978   MDRV_NVRAM_ADD_1FILL("nvram")
978979
979980   /* video hardware */
980981   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
10041005   MDRV_SOUND_ADD("polepos", POLEPOS, 0)
10051006   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.90 * 0.77)
10061007   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.90 * 0.77)
1007MACHINE_DRIVER_END
1008MACHINE_CONFIG_END
10081009
10091010
10101011static ADDRESS_MAP_START( sound_z80_bootleg_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
10161017   ADDRESS_MAP_GLOBAL_MASK(0xff)
10171018ADDRESS_MAP_END
10181019
1019static MACHINE_DRIVER_START( polepos2bi )
1020   MDRV_IMPORT_FROM(topracern)
1020static MACHINE_CONFIG_DERIVED( polepos2bi, topracern )
10211021
10221022   MDRV_CPU_ADD("soundz80bl", Z80, MASTER_CLOCK/8)   /*? MHz */
10231023   MDRV_CPU_PROGRAM_MAP(sound_z80_bootleg_map)
r9191r9192
10261026   MDRV_SOUND_ADD("tms", TMS5220, 600000)   /* ? Mhz */
10271027   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
10281028   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
1029MACHINE_DRIVER_END
1029MACHINE_CONFIG_END
10301030
10311031
10321032
src/mame/drivers/tank8.c
r9191r9192
324324GFXDECODE_END
325325
326326
327static MACHINE_DRIVER_START( tank8 )
327static MACHINE_CONFIG_START( tank8, driver_device )
328328
329329   /* basic machine hardware */
330330   MDRV_CPU_ADD("maincpu", M6800, 11055000 / 10) /* ? */
r9191r9192
356356   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
357357   MDRV_SOUND_CONFIG_DISCRETE(tank8)
358358   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
359MACHINE_DRIVER_END
359MACHINE_CONFIG_END
360360
361361
362362ROM_START( tank8a )
src/mame/drivers/paranoia.c
r9191r9192
135135   "maincpu"
136136};
137137
138static MACHINE_DRIVER_START( paranoia )
138static MACHINE_CONFIG_START( paranoia, driver_device )
139139   /* basic machine hardware */
140140   MDRV_CPU_ADD("maincpu", H6280, PCE_MAIN_CLOCK/3)
141141   MDRV_CPU_PROGRAM_MAP(pce_mem)
r9191r9192
171171   MDRV_SOUND_ROUTE(0, "lspeaker", 1.00)
172172   MDRV_SOUND_ROUTE(1, "rspeaker", 1.00)
173173
174MACHINE_DRIVER_END
174MACHINE_CONFIG_END
175175
176176ROM_START(paranoia)
177177   ROM_REGION( 0x40000, "maincpu", 0 )
src/mame/drivers/poo.c
r9191r9192
310310   DEVCB_NULL
311311};
312312
313static MACHINE_DRIVER_START( unclepoo )
313static MACHINE_CONFIG_START( unclepoo, driver_device )
314314   /* basic machine hardware */
315315   MDRV_CPU_ADD("maincpu", Z80,18000000/6)       /* ? MHz */
316316   MDRV_CPU_PROGRAM_MAP(unclepoo_main_map)
r9191r9192
342342   MDRV_SOUND_ADD("ay", AY8910, 18000000/12) /* ? Mhz */
343343   MDRV_SOUND_CONFIG(ay8910_config)
344344   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
345MACHINE_DRIVER_END
345MACHINE_CONFIG_END
346346
347347
348348
src/mame/drivers/qdrmfgp.c
r9191r9192
2525#include "machine/idectrl.h"
2626#include "sound/k054539.h"
2727#include "video/konicdev.h"
28#include "machine/nvram.h"
29#include "includes/qdrmfgp.h"
2830
29VIDEO_START( qdrmfgp );
30VIDEO_START( qdrmfgp2 );
31VIDEO_UPDATE( qdrmfgp );
32
33extern void qdrmfgp_tile_callback(running_machine *machine, int layer, int *code, int *color, int *flags);
34extern void qdrmfgp2_tile_callback(running_machine *machine, int layer, int *code, int *color, int *flags);
35
36
3731static UINT8 *sndram;
3832static UINT16 *workram;
3933static UINT16 control;
r9191r9192
8478
8579   if (control & 0x0100)
8680   {
87      int vol = space->machine->generic.nvram.u16[0x10] & 0xff;
81      qdrmfgp_state *state = space->machine->driver_data<qdrmfgp_state>();
82      int vol = state->m_nvram[0x10] & 0xff;
8883      if (vol)
8984      {
9085         running_device *k054539 = space->machine->device("konami");
r9191r9192
114109
115110   if (control & 0x0100)
116111   {
117      int vol = space->machine->generic.nvram.u16[0x8] & 0xff;
112      qdrmfgp_state *state = space->machine->driver_data<qdrmfgp_state>();
113      int vol = state->m_nvram[0x8] & 0xff;
118114      if (vol)
119115      {
120116         running_device *k054539 = space->machine->device("konami");
r9191r9192
343339static ADDRESS_MAP_START( qdrmfgp_map, ADDRESS_SPACE_PROGRAM, 16 )
344340   AM_RANGE(0x000000, 0x0fffff) AM_ROM
345341   AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_BASE(&workram)                              /* work ram */
346   AM_RANGE(0x180000, 0x183fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* backup ram */
342   AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram")   /* backup ram */
347343   AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
348344   AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE("k056832", k056832_word_w)                              /* video reg */
349345   AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE("k053252", k053252_word_r, k053252_word_w)               /* ccu */
r9191r9192
366362static ADDRESS_MAP_START( qdrmfgp2_map, ADDRESS_SPACE_PROGRAM, 16 )
367363   AM_RANGE(0x000000, 0x0fffff) AM_ROM
368364   AM_RANGE(0x100000, 0x110fff) AM_RAM AM_BASE(&workram)                              /* work ram */
369   AM_RANGE(0x180000, 0x183fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* backup ram */
365   AM_RANGE(0x180000, 0x183fff) AM_RAM AM_SHARE("nvram")   /* backup ram */
370366   AM_RANGE(0x280000, 0x280fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
371367   AM_RANGE(0x300000, 0x30003f) AM_DEVWRITE("k056832", k056832_word_w)                              /* video reg */
372368   AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE("k053252", k053252_word_r, k053252_word_w)               /* ccu */
r9191r9192
641637 *
642638 *************************************/
643639
644static MACHINE_DRIVER_START( qdrmfgp )
640static MACHINE_CONFIG_START( qdrmfgp, qdrmfgp_state )
645641
646642   /* basic machine hardware */
647643   MDRV_CPU_ADD("maincpu", M68000, 32000000/2)   /*  16.000 MHz */
r9191r9192
650646
651647   MDRV_MACHINE_START(qdrmfgp)
652648   MDRV_MACHINE_RESET(qdrmfgp)
653   MDRV_NVRAM_HANDLER(generic_1fill)
649   MDRV_NVRAM_ADD_1FILL("nvram")
654650
655651   MDRV_IDE_CONTROLLER_ADD("ide", ide_interrupt)
656652
r9191r9192
677673   MDRV_SOUND_CONFIG(k054539_config)
678674   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
679675   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
680MACHINE_DRIVER_END
676MACHINE_CONFIG_END
681677
682static MACHINE_DRIVER_START( qdrmfgp2 )
678static MACHINE_CONFIG_START( qdrmfgp2, qdrmfgp_state )
683679
684680   /* basic machine hardware */
685681   MDRV_CPU_ADD("maincpu", M68000, 32000000/2)   /*  16.000 MHz */
r9191r9192
688684
689685   MDRV_MACHINE_START(qdrmfgp2)
690686   MDRV_MACHINE_RESET(qdrmfgp)
691   MDRV_NVRAM_HANDLER(generic_1fill)
687   MDRV_NVRAM_ADD_1FILL("nvram")
692688
693689   MDRV_IDE_CONTROLLER_ADD("ide", gp2_ide_interrupt)
694690
r9191r9192
714710   MDRV_SOUND_ADD("konami", K054539, 18432000/384)
715711   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
716712   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
717MACHINE_DRIVER_END
713MACHINE_CONFIG_END
718714
719715
720716/*************************************
src/mame/drivers/cps1.c
r9191r9192
589589   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
590590   AM_RANGE(0xd000, 0xd7ff) AM_RAM
591591   AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("2151", ym2151_r, ym2151_w)
592   AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
592   AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
593593   AM_RANGE(0xf004, 0xf004) AM_WRITE(cps1_snd_bankswitch_w)
594594   AM_RANGE(0xf006, 0xf006) AM_DEVWRITE("oki", cps1_oki_pin7_w) /* controls pin 7 of OKI chip */
595595   AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_r)   /* Sound command */
r9191r9192
29622962   memory_configure_bank(machine, "bank1", 0, 6, memory_region(machine, "audiocpu") + 0x10000, 0x4000);
29632963}
29642964
2965static MACHINE_DRIVER_START( cps1_10MHz )
2965static MACHINE_CONFIG_START( cps1_10MHz, cps_state )
29662966
2967   /* driver data */
2968   MDRV_DRIVER_DATA(cps_state)
2969
29702967   /* basic machine hardware */
29712968   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz )   /* verified on pcb */
29722969   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
30033000   /* CPS PPU is fed by a 16mhz clock,pin 117 outputs a 4mhz clock which is divided by 4 using 2 74ls74 */
30043001   MDRV_OKIM6295_ADD("oki", XTAL_16MHz/4/4, OKIM6295_PIN7_HIGH) // pin 7 can be changed by the game code, see f006 on z80
30053002   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
3006MACHINE_DRIVER_END
3003MACHINE_CONFIG_END
30073004
30083005#ifndef MESS
3009static MACHINE_DRIVER_START( cps1_12MHz )
3006static MACHINE_CONFIG_DERIVED( cps1_12MHz, cps1_10MHz )
30103007
30113008   /* basic machine hardware */
3012   MDRV_IMPORT_FROM(cps1_10MHz)
30133009
30143010   MDRV_CPU_MODIFY("maincpu")
30153011   MDRV_CPU_CLOCK( XTAL_12MHz )   /* verified on pcb */
3016MACHINE_DRIVER_END
3012MACHINE_CONFIG_END
30173013
3018static MACHINE_DRIVER_START( pang3 )
3014static MACHINE_CONFIG_DERIVED( pang3, cps1_12MHz )
30193015
30203016   /* basic machine hardware */
3021   MDRV_IMPORT_FROM(cps1_12MHz)
30223017
30233018   MDRV_EEPROM_ADD("eeprom", pang3_eeprom_interface)
3024MACHINE_DRIVER_END
3019MACHINE_CONFIG_END
30253020
3026static MACHINE_DRIVER_START( qsound )
3021static MACHINE_CONFIG_DERIVED( qsound, cps1_12MHz )
30273022
30283023   /* basic machine hardware */
3029   MDRV_IMPORT_FROM(cps1_12MHz)
30303024
30313025   MDRV_CPU_REPLACE("maincpu", M68000, XTAL_12MHz )   /* verified on pcb */
30323026   MDRV_CPU_PROGRAM_MAP(qsound_main_map)
r9191r9192
30503044   MDRV_SOUND_ADD("qsound", QSOUND, QSOUND_CLOCK)
30513045   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
30523046   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
3053MACHINE_DRIVER_END
3047MACHINE_CONFIG_END
30543048
30553049/* bootlegs with PIC */
30563050
3057static MACHINE_DRIVER_START( cpspicb )
3051static MACHINE_CONFIG_START( cpspicb, cps_state )
30583052
3059   /* driver data */
3060   MDRV_DRIVER_DATA(cps_state)
3061
30623053   /* basic machine hardware */
30633054   MDRV_CPU_ADD("maincpu", M68000, 12000000)
30643055   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
30893080
30903081   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
30913082   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
3092MACHINE_DRIVER_END
3083MACHINE_CONFIG_END
30933084
3094static MACHINE_DRIVER_START( wofhfh )
3085static MACHINE_CONFIG_DERIVED( wofhfh, cps1_12MHz )
30953086
30963087   /* basic machine hardware */
3097   MDRV_IMPORT_FROM(cps1_12MHz)
30983088
30993089   MDRV_EEPROM_ADD("eeprom", qsound_eeprom_interface)
3100MACHINE_DRIVER_END
3090MACHINE_CONFIG_END
31013091
31023092/* incomplete */
31033093static ADDRESS_MAP_START( sf2mdt_z80map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
31333123   MSM5205_S96_4B      /* 4KHz 4-bit */
31343124};
31353125
3136static MACHINE_DRIVER_START( sf2mdt )
3126static MACHINE_CONFIG_START( sf2mdt, cps_state )
31373127
3138   /* driver data */
3139   MDRV_DRIVER_DATA(cps_state)
3140
31413128   /* basic machine hardware */
31423129   MDRV_CPU_ADD("maincpu", M68000, 12000000)
31433130   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
31793166   MDRV_SOUND_ADD("msm2", MSM5205, 24000000/64)   /* ? */
31803167   MDRV_SOUND_CONFIG(msm5205_interface2)
31813168   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
3182MACHINE_DRIVER_END
3169MACHINE_CONFIG_END
31833170
31843171/*
31853172
r9191r9192
32213208
32223209*/
32233210
3224static MACHINE_DRIVER_START( knightsb )
3211static MACHINE_CONFIG_START( knightsb, cps_state )
32253212
3226   /* driver data */
3227   MDRV_DRIVER_DATA(cps_state)
3228
32293213   /* basic machine hardware */
32303214   MDRV_CPU_ADD("maincpu", M68000, 24000000 / 2)
32313215   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
32673251   MDRV_SOUND_ADD("msm2", MSM5205, 24000000/64)   /* ? */
32683252   MDRV_SOUND_CONFIG(msm5205_interface2)
32693253   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
3270MACHINE_DRIVER_END
3254MACHINE_CONFIG_END
32713255
32723256
32733257#endif
src/mame/drivers/starcrus.c
r9191r9192
1212#include "emu.h"
1313#include "cpu/i8085/i8085.h"
1414#include "sound/samples.h"
15#include "includes/starcrus.h"
1516
16/* included from video/starcrus.c */
17WRITE8_HANDLER( starcrus_s1_x_w );
18WRITE8_HANDLER( starcrus_s1_y_w );
19WRITE8_HANDLER( starcrus_s2_x_w );
20WRITE8_HANDLER( starcrus_s2_y_w );
21WRITE8_HANDLER( starcrus_p1_x_w );
22WRITE8_HANDLER( starcrus_p1_y_w );
23WRITE8_HANDLER( starcrus_p2_x_w );
24WRITE8_HANDLER( starcrus_p2_y_w );
25WRITE8_HANDLER( starcrus_ship_parm_1_w );
26WRITE8_HANDLER( starcrus_ship_parm_2_w );
27WRITE8_HANDLER( starcrus_proj_parm_1_w );
28WRITE8_HANDLER( starcrus_proj_parm_2_w );
29READ8_HANDLER( starcrus_coll_det_r );
30extern VIDEO_START( starcrus );
31extern VIDEO_UPDATE( starcrus );
32
3317static ADDRESS_MAP_START( starcrus_map, ADDRESS_SPACE_PROGRAM, 8 )
3418   AM_RANGE(0x0000, 0x0fff) AM_ROM
3519   AM_RANGE(0x1000, 0x10ff) AM_RAM
r9191r9192
150134};
151135
152136
153static MACHINE_DRIVER_START( starcrus )
137static MACHINE_CONFIG_START( starcrus, starcrus_state )
154138
155139   /* basic machine hardware */
156140   MDRV_CPU_ADD("maincpu", I8080,9750000/9)  /* 8224 chip is a divide by 9 */
r9191r9192
173157   MDRV_VIDEO_START(starcrus)
174158   MDRV_VIDEO_UPDATE(starcrus)
175159
176    /* sound hardware */
160   /* sound hardware */
177161   MDRV_SPEAKER_STANDARD_MONO("mono")
178162
179163   MDRV_SOUND_ADD("samples", SAMPLES, 0)
180164   MDRV_SOUND_CONFIG(starcrus_samples_interface)
181165   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
182MACHINE_DRIVER_END
166MACHINE_CONFIG_END
183167
184168/***************************************************************************
185169
src/mame/drivers/yunsun16.c
r9191r9192
127127   AM_RANGE(0x800114, 0x800117) AM_RAM AM_BASE_MEMBER(yunsun16_state, scrollram_0)   // Scrolling
128128   AM_RANGE(0x800154, 0x800155) AM_RAM AM_BASE_MEMBER(yunsun16_state, priorityram)   // Priority
129129   AM_RANGE(0x800180, 0x800181) AM_WRITE(yunsun16_sound_bank_w)   // Sound
130   AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)   // Sound
130   AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)   // Sound
131131   AM_RANGE(0x8001fe, 0x8001ff) AM_WRITENOP   // ? 0 (during int)
132132   AM_RANGE(0x900000, 0x903fff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)   // Palette
133133   AM_RANGE(0x908000, 0x90bfff) AM_RAM_WRITE(yunsun16_vram_1_w) AM_BASE_MEMBER(yunsun16_state, vram_1)   // Layer 1
r9191r9192
177177   ADDRESS_MAP_GLOBAL_MASK(0xff)
178178   AM_RANGE(0x10, 0x11) AM_DEVREADWRITE("ymsnd", ym3812_r, ym3812_w )
179179   AM_RANGE(0x18, 0x18) AM_READ(soundlatch_r )                  // From Main CPU
180   AM_RANGE(0x1c, 0x1c) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w )      // M6295
180   AM_RANGE(0x1c, 0x1c) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)      // M6295
181181ADDRESS_MAP_END
182182
183183
r9191r9192
588588   soundirq   /* IRQ Line */
589589};
590590
591static MACHINE_DRIVER_START( magicbub )
591static MACHINE_CONFIG_START( magicbub, yunsun16_state )
592592
593   /* driver data */
594   MDRV_DRIVER_DATA(yunsun16_state)
595
596593   /* basic machine hardware */
597594   MDRV_CPU_ADD("maincpu", M68000, 16000000)
598595   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
630627   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH)
631628   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
632629   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
633MACHINE_DRIVER_END
630MACHINE_CONFIG_END
634631
635632
636633/***************************************************************************
637634                                Shocking
638635***************************************************************************/
639636
640static MACHINE_DRIVER_START( shocking )
637static MACHINE_CONFIG_START( shocking, yunsun16_state )
641638
642   /* driver data */
643   MDRV_DRIVER_DATA(yunsun16_state)
644
645639   /* basic machine hardware */
646640   MDRV_CPU_ADD("maincpu", M68000, 16000000)
647641   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
670664   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
671665   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
672666   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
673MACHINE_DRIVER_END
667MACHINE_CONFIG_END
674668
675669
676670
src/mame/drivers/wiz.c
r9191r9192
162162#include "deprecat.h"
163163#include "sound/ay8910.h"
164164#include "sound/discrete.h"
165#include "includes/wiz.h"
165166
166extern UINT8 *wiz_videoram2;
167extern UINT8 *wiz_colorram2;
168extern UINT8 *wiz_attributesram;
169extern UINT8 *wiz_attributesram2;
170extern UINT8 *wiz_sprite_bank;
171
172WRITE8_HANDLER( wiz_char_bank_select_w );
173WRITE8_HANDLER( wiz_palettebank_w );
174WRITE8_HANDLER( wiz_bgcolor_w );
175WRITE8_HANDLER( wiz_flipx_w );
176WRITE8_HANDLER( wiz_flipy_w );
177VIDEO_START( wiz );
178PALETTE_INIT( wiz );
179VIDEO_UPDATE( wiz );
180VIDEO_UPDATE( stinger );
181VIDEO_UPDATE( kungfut );
182
183167#define STINGER_SHOT_EN1   NODE_01
184168#define STINGER_SHOT_EN2   NODE_02
185169#define STINGER_BOOM_EN1   NODE_03
r9191r9192
238222   AM_RANGE(0xd800, 0xd83f) AM_BASE(&wiz_attributesram2)
239223   AM_RANGE(0xd840, 0xd85f) AM_BASE_GENERIC(spriteram2) AM_SIZE_GENERIC(spriteram)
240224   AM_RANGE(0xd000, 0xd85f) AM_RAM
241   AM_RANGE(0xe000, 0xe3ff) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)   /* Fallthrough */
225   AM_RANGE(0xe000, 0xe3ff) AM_BASE_MEMBER(wiz_state, videoram)   /* Fallthrough */
242226   AM_RANGE(0xe400, 0xe7ff) AM_RAM
243227   AM_RANGE(0xe800, 0xe83f) AM_BASE(&wiz_attributesram)
244228   AM_RANGE(0xe840, 0xe85f) AM_BASE_GENERIC(spriteram)
r9191r9192
695679   dsc0 = dsc1 = 1;
696680}
697681
698static MACHINE_DRIVER_START( wiz )
682static MACHINE_CONFIG_START( wiz, wiz_state )
699683
700684   /* basic machine hardware */
701685   MDRV_CPU_ADD("maincpu", Z80, 18432000/6)   /* 3.072 MHz ??? */
r9191r9192
734718
735719   MDRV_SOUND_ADD("8910.3", AY8910, 18432000/12)
736720   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
737MACHINE_DRIVER_END
721MACHINE_CONFIG_END
738722
739723
740static MACHINE_DRIVER_START( stinger )
724static MACHINE_CONFIG_DERIVED( stinger, wiz )
741725
742726   /* basic machine hardware */
743   MDRV_IMPORT_FROM(wiz)
744727
745728   MDRV_CPU_MODIFY("audiocpu")
746729   MDRV_CPU_PROGRAM_MAP(stinger_sound_map)
r9191r9192
761744   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
762745   MDRV_SOUND_CONFIG_DISCRETE(stinger)
763746   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
764MACHINE_DRIVER_END
747MACHINE_CONFIG_END
765748
766749
767static MACHINE_DRIVER_START( scion )
750static MACHINE_CONFIG_DERIVED( scion, stinger )
768751
769752   /* basic machine hardware */
770   MDRV_IMPORT_FROM(stinger)
771753
772754   /* video hardware */
773755   MDRV_SCREEN_MODIFY("screen")
774756   MDRV_SCREEN_VISIBLE_AREA(2*8, 32*8-1, 2*8, 30*8-1)
775757
776MACHINE_DRIVER_END
758MACHINE_CONFIG_END
777759
778760
779static MACHINE_DRIVER_START( kungfut )
761static MACHINE_CONFIG_DERIVED( kungfut, wiz )
780762
781763   /* basic machine hardware */
782   MDRV_IMPORT_FROM(wiz)
783764
784765   /* video hardware */
785766   MDRV_GFXDECODE(stinger)
786767   MDRV_VIDEO_UPDATE(kungfut)
787768
788MACHINE_DRIVER_END
769MACHINE_CONFIG_END
789770
790771
791772
src/mame/drivers/scobra.c
r9191r9192
850850};
851851
852852
853static MACHINE_DRIVER_START( type1 )
853static MACHINE_CONFIG_START( type1, driver_device )
854854
855855   /* basic machine hardware */
856856   MDRV_CPU_ADD("maincpu", Z80, 18432000/6)   /* 3.072 MHz */
r9191r9192
895895   MDRV_SOUND_ADD("ay2", AY8910, 14318000/8)
896896   MDRV_SOUND_CONFIG(scobra_ay8910_interface_2)
897897   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
898MACHINE_DRIVER_END
898MACHINE_CONFIG_END
899899
900900
901901
902902/* Rescue, Minefield and Strategy X have extra colors, and custom video initialise */
903903/* routines to set up the graduated color backgound they use */
904static MACHINE_DRIVER_START( rescue )
904static MACHINE_CONFIG_DERIVED( rescue, type1 )
905905
906906   /* basic machine hardware */
907   MDRV_IMPORT_FROM(type1)
908907
909908   /* video hardware */
910909   MDRV_SCREEN_MODIFY("screen")
r9191r9192
913912
914913   MDRV_PALETTE_INIT(rescue)
915914   MDRV_VIDEO_START(rescue)
916MACHINE_DRIVER_END
915MACHINE_CONFIG_END
917916
918917
919static MACHINE_DRIVER_START( minefld )
918static MACHINE_CONFIG_DERIVED( minefld, type1 )
920919
921920   /* basic machine hardware */
922   MDRV_IMPORT_FROM(type1)
923921
924922   /* video hardware */
925923   MDRV_SCREEN_MODIFY("screen")
r9191r9192
928926
929927   MDRV_PALETTE_INIT(minefld)
930928   MDRV_VIDEO_START(minefld)
931MACHINE_DRIVER_END
929MACHINE_CONFIG_END
932930
933931
934static MACHINE_DRIVER_START( mimonkey )
932static MACHINE_CONFIG_DERIVED( mimonkey, type1 )
935933
936934   /* basic machine hardware */
937   MDRV_IMPORT_FROM(type1)
938935   MDRV_CPU_MODIFY("maincpu")
939936   MDRV_CPU_PROGRAM_MAP(mimonkey_map)
940937
941938   /* video hardware */
942939   MDRV_VIDEO_START(mimonkey)
943MACHINE_DRIVER_END
940MACHINE_CONFIG_END
944941
945942
946static MACHINE_DRIVER_START( type2 )
943static MACHINE_CONFIG_DERIVED( type2, type1 )
947944
948945   /* basic machine hardware */
949   MDRV_IMPORT_FROM(type1)
950946   MDRV_CPU_MODIFY("maincpu")
951947   MDRV_CPU_PROGRAM_MAP(type2_map)
952MACHINE_DRIVER_END
948MACHINE_CONFIG_END
953949
954950
955static MACHINE_DRIVER_START( stratgyx )
951static MACHINE_CONFIG_DERIVED( stratgyx, type2 )
956952
957953   /* basic machine hardware */
958   MDRV_IMPORT_FROM(type2)
959954
960955   /* device config overrides */
961956   MDRV_PPI8255_RECONFIG( "ppi8255_1", stratgyx_ppi_1_intf )
r9191r9192
965960
966961   MDRV_PALETTE_INIT(stratgyx)
967962   MDRV_VIDEO_START(stratgyx)
968MACHINE_DRIVER_END
963MACHINE_CONFIG_END
969964
970965
971static MACHINE_DRIVER_START( darkplnt )
966static MACHINE_CONFIG_DERIVED( darkplnt, type2 )
972967
973968   /* basic machine hardware */
974   MDRV_IMPORT_FROM(type2)
975969
976970   /* video hardware */
977971   MDRV_PALETTE_LENGTH(32+64+2) /* 32 for characters, 64 (buffer) for stars, 2 for bullets */
978972
979973   MDRV_PALETTE_INIT(darkplnt)
980974   MDRV_VIDEO_START(darkplnt)
981MACHINE_DRIVER_END
975MACHINE_CONFIG_END
982976
983977
984static MACHINE_DRIVER_START( hustler )
978static MACHINE_CONFIG_START( hustler, driver_device )
985979
986980   /* basic machine hardware */
987981   MDRV_CPU_ADD("maincpu", Z80, 18432000/6)   /* 3.072 MHz */
r9191r9192
10241018   MDRV_SOUND_ADD("aysnd", AY8910, 14318000/8)
10251019   MDRV_SOUND_CONFIG(hustler_ay8910_interface)
10261020   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
1027MACHINE_DRIVER_END
1021MACHINE_CONFIG_END
10281022
10291023
1030static MACHINE_DRIVER_START( hustlerb )
1024static MACHINE_CONFIG_DERIVED( hustlerb, hustler )
10311025
10321026   /* basic machine hardware */
1033   MDRV_IMPORT_FROM(hustler)
10341027   MDRV_CPU_MODIFY("maincpu")
10351028   MDRV_CPU_PROGRAM_MAP(hustlerb_map)
10361029
10371030   MDRV_CPU_MODIFY("audiocpu")
10381031   MDRV_CPU_PROGRAM_MAP(hustlerb_sound_map)
10391032   MDRV_CPU_IO_MAP(hustlerb_sound_io_map)
1040MACHINE_DRIVER_END
1033MACHINE_CONFIG_END
10411034
10421035
10431036/* same as type1 but with a strange memory map, maybe a kind of protection */
1044static MACHINE_DRIVER_START( anteatg )
1037static MACHINE_CONFIG_DERIVED( anteatg, type1 )
10451038
10461039   /* basic machine hardware */
1047   MDRV_IMPORT_FROM(type1)
10481040   MDRV_CPU_MODIFY("maincpu")
10491041   MDRV_CPU_PROGRAM_MAP(anteatg_map)
1050MACHINE_DRIVER_END
1042MACHINE_CONFIG_END
10511043
10521044/* same as type1 but with a strange memory map, maybe a kind of protection */
1053static MACHINE_DRIVER_START( anteatgb )
1045static MACHINE_CONFIG_DERIVED( anteatgb, type1 )
10541046
10551047   /* basic machine hardware */
1056   MDRV_IMPORT_FROM(type1)
10571048   MDRV_CPU_MODIFY("maincpu")
10581049   MDRV_CPU_PROGRAM_MAP(anteatgb_map)
1059MACHINE_DRIVER_END
1050MACHINE_CONFIG_END
10601051
10611052
10621053/***************************************************************************
src/mame/drivers/stactics.c
r9191r9192
302302 *
303303 *************************************/
304304
305static MACHINE_DRIVER_START( stactics )
305static MACHINE_CONFIG_START( stactics, stactics_state )
306306
307   MDRV_DRIVER_DATA(stactics_state)
308
309307   /* basic machine hardware */
310308   MDRV_CPU_ADD("maincpu", I8080, 1933560)
311309   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
314312   MDRV_MACHINE_START(stactics)
315313
316314   /* video hardware */
317   MDRV_IMPORT_FROM(stactics_video)
315   MDRV_FRAGMENT_ADD(stactics_video)
318316
319317   /* audio hardware */
320MACHINE_DRIVER_END
318MACHINE_CONFIG_END
321319
322320
323321
src/mame/drivers/drtomy.c
r9191r9192
1111#include "cpu/m68000/m68000.h"
1212#include "sound/okim6295.h"
1313
14class drtomy_state : public driver_data_t
14class drtomy_state : public driver_device
1515{
1616public:
17   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, drtomy_state(machine)); }
17   drtomy_state(running_machine &machine, const driver_device_config_base &config)
18      : driver_device(machine, config) { }
1819
19   drtomy_state(running_machine &machine)
20      : driver_data_t(machine) { }
21
2220   /* memory pointers */
2321   UINT16 *  spriteram;
2422   UINT16 *  videoram_bg;
r9191r9192
172170   AM_RANGE(0x700004, 0x700005) AM_READ_PORT("P1")
173171   AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
174172   AM_RANGE(0x70000c, 0x70000d) AM_DEVWRITE("oki", drtomy_okibank_w) /* OKI banking */
175   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff) /* OKI 6295*/
173   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff) /* OKI 6295*/
176174   AM_RANGE(0xffc000, 0xffffff) AM_RAM   /* Work RAM */
177175ADDRESS_MAP_END
178176
r9191r9192
292290   state->oki_bank = 0;
293291}
294292
295static MACHINE_DRIVER_START( drtomy )
293static MACHINE_CONFIG_START( drtomy, drtomy_state )
296294
297   /* driver data */
298   MDRV_DRIVER_DATA(drtomy_state)
299
300295   /* basic machine hardware */
301296   MDRV_CPU_ADD("maincpu", M68000,24000000/2)         /* ? MHz */
302297   MDRV_CPU_PROGRAM_MAP(drtomy_map)
r9191r9192
324319
325320   MDRV_OKIM6295_ADD("oki", 26000000/16, OKIM6295_PIN7_LOW)
326321   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.8)
327MACHINE_DRIVER_END
322MACHINE_CONFIG_END
328323
329324
330325ROM_START( drtomy )
src/mame/drivers/calorie.c
r9191r9192
8383#include "sound/ay8910.h"
8484
8585
86class calorie_state : public driver_data_t
86class calorie_state : public driver_device
8787{
8888public:
89   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, calorie_state(machine)); }
89   calorie_state(running_machine &machine, const driver_device_config_base &config)
90      : driver_device(machine, config) { }
9091
91   calorie_state(running_machine &machine)
92      : driver_data_t(machine) { }
93
9492   /* memory pointers */
9593   UINT8 *  fg_ram;
9694   UINT8 *  sprites;
r9191r9192
431429}
432430
433431
434static MACHINE_DRIVER_START( calorie )
432static MACHINE_CONFIG_START( calorie, calorie_state )
435433
436   /* driver data */
437   MDRV_DRIVER_DATA(calorie_state)
438
439434   /* basic machine hardware */
440435   MDRV_CPU_ADD("maincpu", Z80,4000000)       /* 4 MHz */
441436   MDRV_CPU_PROGRAM_MAP(calorie_map)
r9191r9192
474469
475470   MDRV_SOUND_ADD("ay3", AY8910, 1500000)
476471   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.8)  /* YM2149 really */
477MACHINE_DRIVER_END
472MACHINE_CONFIG_END
478473
479474
480475/*************************************
src/mame/drivers/namcos11.c
r9191r9192
953953   psx_machine_init(machine);
954954}
955955
956static MACHINE_DRIVER_START( coh100 )
956static MACHINE_CONFIG_START( coh100, driver_device )
957957   /* basic machine hardware */
958958   MDRV_CPU_ADD("maincpu",  PSXCPU, XTAL_67_7376MHz )
959959   MDRV_CPU_PROGRAM_MAP( namcos11_map)
r9191r9192
988988   MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
989989
990990   MDRV_AT28C16_ADD( "at28c16", NULL )
991MACHINE_DRIVER_END
991MACHINE_CONFIG_END
992992
993static MACHINE_DRIVER_START( coh110 )
994   MDRV_IMPORT_FROM( coh100 )
993static MACHINE_CONFIG_DERIVED( coh110, coh100 )
995994   MDRV_VIDEO_START( psx_type2 )
996995
997996   MDRV_SCREEN_MODIFY("screen")
998997   MDRV_SCREEN_REFRESH_RATE( 30 )
999MACHINE_DRIVER_END
998MACHINE_CONFIG_END
1000999
10011000static INPUT_PORTS_START( namcos11 )
10021001   PORT_START( "SWITCH" )
src/mame/drivers/lethalj.c
r9191r9192
210210
211211static ADDRESS_MAP_START( lethalj_map, ADDRESS_SPACE_PROGRAM, 16 )
212212   AM_RANGE(0x00000000, 0x003fffff) AM_RAM
213   AM_RANGE(0x04000000, 0x0400000f) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)
214   AM_RANGE(0x04000010, 0x0400001f) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
215   AM_RANGE(0x04100000, 0x0410000f) AM_DEVREADWRITE8("oki3", okim6295_r, okim6295_w, 0x00ff)
213   AM_RANGE(0x04000000, 0x0400000f) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
214   AM_RANGE(0x04000010, 0x0400001f) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
215   AM_RANGE(0x04100000, 0x0410000f) AM_DEVREADWRITE8_MODERN("oki3", okim6295_device, read, write, 0x00ff)
216216//  AM_RANGE(0x04100010, 0x0410001f) AM_READNOP     /* read but never examined */
217217   AM_RANGE(0x04200000, 0x0420001f) AM_WRITENOP   /* clocks bits through here */
218218   AM_RANGE(0x04300000, 0x0430007f) AM_READ(lethalj_gun_r)
r9191r9192
591591 *
592592 *************************************/
593593
594static MACHINE_DRIVER_START( gameroom )
594static MACHINE_CONFIG_START( gameroom, driver_device )
595595
596596   /* basic machine hardware */
597597   MDRV_CPU_ADD("maincpu", TMS34010, MASTER_CLOCK)
r9191r9192
622622
623623   MDRV_OKIM6295_ADD("oki3", SOUND_CLOCK, OKIM6295_PIN7_HIGH)
624624   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.26)
625MACHINE_DRIVER_END
625MACHINE_CONFIG_END
626626
627627
628static MACHINE_DRIVER_START( lethalj )
629   MDRV_IMPORT_FROM( gameroom )
628static MACHINE_CONFIG_DERIVED( lethalj, gameroom )
630629
631630   MDRV_CPU_MODIFY("maincpu")
632631   MDRV_CPU_CONFIG(tms_config_lethalj)
633632
634633   MDRV_SCREEN_MODIFY("screen")
635634   MDRV_SCREEN_RAW_PARAMS(VIDEO_CLOCK_LETHALJ, 689, 0, 512, 259, 0, 236)
636MACHINE_DRIVER_END
635MACHINE_CONFIG_END
637636
638637
639638
src/mame/drivers/kickgoal.c
r9191r9192
116116//static int state->melody;
117117//static int kickgoal_snd_bank;
118118
119static void kickgoal_play(running_device *device, int melody, int data)
119static void kickgoal_play(okim6295_device *oki, int melody, int data)
120120{
121   int status = okim6295_r(device,0);
121   int status = oki->read(0);
122122
123123   logerror("Playing sample %01x:%02x from command %02x\n",kickgoal_snd_bank,kickgoal_sound,data);
124124   if (kickgoal_sound == 0) popmessage("Unknown sound command %02x",kickgoal_sound);
r9191r9192
128128         state->melody      = kickgoal_sound;
129129         state->melody_loop = kickgoal_sound;
130130         if (status & 0x08)
131            okim6295_w(device,0,0x40);
132         okim6295_w(device,0,(0x80 | state->melody));
133         okim6295_w(device,0,0x81);
131            oki->write(0,0x40);
132         oki->write(0,(0x80 | state->melody));
133         oki->write(0,0x81);
134134      }
135135   }
136136   else {
137137      if ((status & 0x01) == 0) {
138      okim6295_w(device,0,(0x80 | kickgoal_sound));
139         okim6295_w(device,0,0x11);
138      oki->write(0,(0x80 | kickgoal_sound));
139         oki->write(0,0x11);
140140      }
141141      else if ((status & 0x02) == 0) {
142      okim6295_w(device,0,(0x80 | kickgoal_sound));
143         okim6295_w(device,0,0x21);
142      oki->write(0,(0x80 | kickgoal_sound));
143         oki->write(0,0x21);
144144      }
145145      else if ((status & 0x04) == 0) {
146      okim6295_w(device,0,(0x80 | kickgoal_sound));
147         okim6295_w(device,0,0x41);
146      oki->write(0,(0x80 | kickgoal_sound));
147         oki->write(0,0x41);
148148      }
149149   }
150150}
151151
152152WRITE16_DEVICE_HANDLER( kickgoal_snd_w )
153153{
154   okim6295_device *oki = downcast<okim6295_device *>(device);
154155   if (ACCESSING_BITS_0_7)
155156   {
156157      logerror("PC:%06x Writing %04x to Sound CPU\n",cpu_get_previouspc(space->cpu),data);
157158      if (data >= 0x40) {
158159         if (data == 0xfe) {
159            okim6295_w(device,0,0x40);   /* Stop playing the melody */
160            oki->write(0,0x40);   /* Stop playing the melody */
160161            state->melody      = 0x00;
161162            state->melody_loop = 0x00;
162163         }
r9191r9192
165166         }
166167      }
167168      else if (data == 0) {
168         okim6295_w(device,0,0x38);      /* Stop playing effects */
169         oki->write(0,0x38);      /* Stop playing effects */
169170      }
170171      else {
171172         kickgoal_sound = kickgoal_cmd_snd[data];
172173
173174         if (kickgoal_sound >= 0x70) {
174175            if (kickgoal_snd_bank != 1)
175            {
176               okim6295_device *oki = downcast<okim6295_device *>(device);
177176               oki->set_bank_base((1 * 0x40000));
178            }
179177            kickgoal_snd_bank = 1;
180            kickgoal_play(device, 0, data);
178            kickgoal_play(oki, 0, data);
181179         }
182180         else if (kickgoal_sound >= 0x69) {
183181            if (kickgoal_snd_bank != 2)
184            {
185               okim6295_device *oki = downcast<okim6295_device *>(device);
186182               oki->set_bank_base((2 * 0x40000));
187            }
188183            kickgoal_snd_bank = 2;
189            kickgoal_play(device, 4, data);
184            kickgoal_play(oki, 4, data);
190185         }
191186         else if (kickgoal_sound >= 0x65) {
192187            if (kickgoal_snd_bank != 1)
193            {
194               okim6295_device *oki = downcast<okim6295_device *>(device);
195188               oki->set_bank_base((1 * 0x40000));
196            }
197189            kickgoal_snd_bank = 1;
198            kickgoal_play(device, 4, data);
190            kickgoal_play(oki, 4, data);
199191         }
200192         else if (kickgoal_sound >= 0x60) {
201193            kickgoal_snd_bank = 0;
202            {
203               okim6295_device *oki = downcast<okim6295_device *>(device);
204194               oki->set_bank_base(device, (0 * 0x40000));
205            }
206195            kickgoal_snd_bank = 0;
207            kickgoal_play(device, 4, data);
196            kickgoal_play(oki, 4, data);
208197         }
209198         else {
210            kickgoal_play(device, 0, data);
199            kickgoal_play(oki, 0, data);
211200         }
212201      }
213202   }
r9191r9192
230219      case 0xfe:   oki->set_bank_base((1 * 0x40000)); break;
231220      case 0xff:   oki->set_bank_base((3 * 0x40000)); break;
232221      case 0x78:
233            okim6295_w(device, 0, data);
222            oki->write_command(data);
234223            state->snd_sam[0] = 00; state->snd_sam[1]= 00; state->snd_sam[2] = 00; state->snd_sam[3] = 00;
235224            break;
236225      default:
r9191r9192
239228               if ((data & 0x80) && (state->snd_sam[3] != state->snd_new))
240229               {
241230                  logerror("About to play sample %02x at vol %02x\n", state->snd_new, data);
242                  if ((okim6295_r(device, 0) & 0x08) != 0x08)
231                  if ((oki->read_status() & 0x08) != 0x08)
243232                  {
244233                     logerror("Playing sample %02x at vol %02x\n", state->snd_new, data);
245                     okim6295_w(device, 0, state->snd_new);
246                     okim6295_w(device, 0, data);
234                     oki->write_command(state->snd_new);
235                     oki->write_command(data);
247236                  }
248237                  state->snd_new = 00;
249238               }
250239               if ((data & 0x40) && (state->snd_sam[2] != state->snd_new))
251240               {
252241                  logerror("About to play sample %02x at vol %02x\n", state->snd_new, data);
253                  if ((okim6295_r(device, 0) & 0x04) != 0x04)
242                  if ((oki->read_status() & 0x04) != 0x04)
254243                  {
255244                     logerror("Playing sample %02x at vol %02x\n", state->snd_new, data);
256                     okim6295_w(device, 0, state->snd_new);
257                     okim6295_w(device, 0, data);
245                     oki->write_command(state->snd_new);
246                     oki->write_command(data);
258247                  }
259248                  state->snd_new = 00;
260249               }
261250               if ((data & 0x20) && (state->snd_sam[1] != state->snd_new))
262251               {
263252                  logerror("About to play sample %02x at vol %02x\n", state->snd_new, data);
264                  if ((okim6295_r(device, 0) & 0x02) != 0x02)
253                  if ((oki->read_status() & 0x02) != 0x02)
265254                  {
266255                     logerror("Playing sample %02x at vol %02x\n", state->snd_new, data);
267                     okim6295_w(device, 0, state->snd_new);
268                     okim6295_w(device, 0, data);
256                     oki->write_command(state->snd_new);
257                     oki->write_command(data);
269258                  }
270259                  state->snd_new = 00;
271260               }
272261               if ((data & 0x10) && (state->snd_sam[0] != state->snd_new))
273262               {
274263                  logerror("About to play sample %02x at vol %02x\n", state->snd_new, data);
275                  if ((okim6295_r(device, 0) & 0x01) != 0x01)
264                  if ((oki->read_status() & 0x01) != 0x01)
276265                  {
277266                     logerror("Playing sample %02x at vol %02x\n", state->snd_new, data);
278                     okim6295_w(device, 0, state->snd_new);
279                     okim6295_w(device, 0, data);
267                     oki->write_command(state->snd_new);
268                     oki->write_command(data);
280269                  }
281270                  state->snd_new = 00;
282271               }
r9191r9192
291280            else /* Turn a channel off */
292281            {
293282               logerror("Turning channel %02x off\n", data);
294               okim6295_w(device, 0, data);
283               oki->write_command(data);
295284               if (data & 0x40) state->snd_sam[3] = 00;
296285               if (data & 0x20) state->snd_sam[2] = 00;
297286               if (data & 0x10) state->snd_sam[1] = 00;
r9191r9192
307296{
308297   kickgoal_state *state = device->machine->driver_data<kickgoal_state>();
309298
310   if ((okim6295_r(state->adpcm, 0) & 0x08) == 0)
299   if ((state->adpcm->read_status() & 0x08) == 0)
311300   {
312301      switch(state->melody_loop)
313302      {
r9191r9192
336325      if (state->melody_loop)
337326      {
338327//          logerror("Changing to sample %02x\n", state->melody_loop);
339         okim6295_w(state->adpcm, 0, ((0x80 | state->melody_loop) & 0xff));
340         okim6295_w(state->adpcm, 0, 0x81);
328         state->adpcm->write_command((0x80 | state->melody_loop) & 0xff);
329         state->adpcm->write_command(0x81);
341330      }
342331   }
343332   if (input_code_pressed_once(device->machine, KEYCODE_PGUP))
r9191r9192
424413   {
425414      if (state->m6295_key_delay >= (0x80 * oki_time_base))
426415      {
427         okim6295_w(state->adpcm, 0, 0x78);
428         okim6295_w(state->adpcm, 0, (0x80 | state->m6295_comm));
429         okim6295_w(state->adpcm, 0, 0x11);
416         state->adpcm->write_command(0x78);
417         state->adpcm->write_command(0x80 | state->m6295_comm);
418         state->adpcm->write_command(0x11);
430419
431420         popmessage("Playing sound %02x on Bank %02x", state->m6295_comm, state->m6295_bank);
432421
r9191r9192
444433}
445434
446435
447static const UINT8 kickgoal_default_eeprom_type1[128] = {
448   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
449   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
450   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
451   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
452   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
453   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
454   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
455   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
436static const UINT16 kickgoal_default_eeprom_type1[64] = {
437   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
438   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
439   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
440   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
441   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
442   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
443   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
444   0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
456445};
457446
458447
r9191r9192
683672   state->m6295_key_delay = 0;
684673}
685674
686static MACHINE_DRIVER_START( kickgoal )
675static MACHINE_CONFIG_START( kickgoal, kickgoal_state )
687676
688   /* driver data */
689   MDRV_DRIVER_DATA(kickgoal_state)
690
691677   /* basic machine hardware */
692678   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
693679   MDRV_CPU_PROGRAM_MAP(kickgoal_program_map)
r9191r9192
723709   MDRV_SPEAKER_STANDARD_MONO("mono")
724710   MDRV_OKIM6295_ADD("oki", 12000000/8, OKIM6295_PIN7_LOW)
725711   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
726MACHINE_DRIVER_END
712MACHINE_CONFIG_END
727713
728static MACHINE_DRIVER_START( actionhw )
714static MACHINE_CONFIG_START( actionhw, kickgoal_state )
729715
730   /* driver data */
731   MDRV_DRIVER_DATA(kickgoal_state)
732
733716   /* basic machine hardware */
734717   MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz)   /* verified on pcb */
735718   MDRV_CPU_PROGRAM_MAP(kickgoal_program_map)
r9191r9192
764747   MDRV_SPEAKER_STANDARD_MONO("mono")
765748   MDRV_OKIM6295_ADD("oki", XTAL_12MHz/12, OKIM6295_PIN7_HIGH) /* verified on pcb */
766749   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
767MACHINE_DRIVER_END
750MACHINE_CONFIG_END
768751
769752
770753
src/mame/drivers/itech8.c
r9191r9192
501501#include "cpu/m6809/m6809.h"
502502#include "machine/6821pia.h"
503503#include "machine/6522via.h"
504#include "machine/nvram.h"
504505#include "machine/ticket.h"
505506#include "video/tms34061.h"
506507#include "video/tlc34076.h"
r9191r9192
533534static UINT8 pia_porta_data;
534535static UINT8 pia_portb_data;
535536
536static UINT8 *main_ram;
537static size_t main_ram_size;
538
539537static const rectangle *visarea;
540538
541539
r9191r9192
861859
862860/*************************************
863861 *
864 *  NVRAM read/write
865 *
866 *************************************/
867
868static NVRAM_HANDLER( itech8 )
869{
870   int i;
871
872   if (read_or_write)
873      mame_fwrite(file, main_ram, main_ram_size);
874   else if (file)
875      mame_fread(file, main_ram, main_ram_size);
876   else
877      for (i = 0; i < main_ram_size; i++)
878         main_ram[i] = mame_rand(machine);
879}
880
881
882
883/*************************************
884 *
885862 *  Main CPU memory handlers
886863 *
887864 *************************************/
r9191r9192
897874   AM_RANGE(0x11a0, 0x11a0) AM_WRITE(itech8_nmi_ack_w)
898875   AM_RANGE(0x11c0, 0x11df) AM_READWRITE(itech8_blitter_r, blitter_w)
899876   AM_RANGE(0x11e0, 0x11ff) AM_WRITE(itech8_palette_w)
900   AM_RANGE(0x2000, 0x3fff) AM_RAM AM_BASE(&main_ram) AM_SIZE(&main_ram_size)
877   AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("nvram")
901878   AM_RANGE(0x4000, 0xffff) AM_ROMBANK("bank1")
902879ADDRESS_MAP_END
903880
r9191r9192
913890   AM_RANGE(0x01a0, 0x01a0) AM_WRITE(itech8_nmi_ack_w)
914891   AM_RANGE(0x01c0, 0x01df) AM_READWRITE(itech8_blitter_r, blitter_w)
915892   AM_RANGE(0x01e0, 0x01ff) AM_WRITE(itech8_palette_w)
916   AM_RANGE(0x2000, 0x3fff) AM_RAM AM_BASE(&main_ram) AM_SIZE(&main_ram_size)
893   AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("nvram")
917894   AM_RANGE(0x4000, 0xffff) AM_ROMBANK("bank1")
918895ADDRESS_MAP_END
919896
r9191r9192
929906   AM_RANGE(0x01c0, 0x01c0) AM_WRITE(gtg2_sound_data_w)
930907   AM_RANGE(0x01e0, 0x01e0) AM_WRITE(tms34061_latch_w)
931908   AM_RANGE(0x1000, 0x1fff) AM_READWRITE(itech8_tms34061_r, itech8_tms34061_w)
932   AM_RANGE(0x2000, 0x3fff) AM_RAM AM_BASE(&main_ram) AM_SIZE(&main_ram_size)
909   AM_RANGE(0x2000, 0x3fff) AM_RAM AM_SHARE("nvram")
933910   AM_RANGE(0x4000, 0xffff) AM_ROMBANK("bank1")
934911ADDRESS_MAP_END
935912
r9191r9192
937914/*------ Ninja Clowns layout ------*/
938915static ADDRESS_MAP_START( ninclown_map, ADDRESS_SPACE_PROGRAM, 16 )
939916   AM_RANGE(0x000000, 0x00007f) AM_RAM AM_REGION("maincpu", 0)
940   AM_RANGE(0x000080, 0x003fff) AM_RAM AM_BASE((UINT16 **)&main_ram) AM_SIZE(&main_ram_size)
917   AM_RANGE(0x000080, 0x003fff) AM_RAM AM_SHARE("nvram")
941918   AM_RANGE(0x004000, 0x07ffff) AM_ROM
942919   AM_RANGE(0x100080, 0x100081) AM_WRITE8(sound_data_w, 0xff00)
943920   AM_RANGE(0x100100, 0x100101) AM_READ_PORT("40") AM_WRITE(grom_bank16_w) AM_BASE((UINT16 **)&itech8_grom_bank)
r9191r9192
963940   AM_RANGE(0x1000, 0x1000) AM_READ(sound_data_r)
964941   AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x0002) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
965942   AM_RANGE(0x3000, 0x37ff) AM_RAM
966   AM_RANGE(0x4000, 0x4000) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
943   AM_RANGE(0x4000, 0x4000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
967944   AM_RANGE(0x8000, 0xffff) AM_ROM
968945ADDRESS_MAP_END
969946
r9191r9192
984961   AM_RANGE(0x1000, 0x1000) AM_READ(sound_data_r)
985962   AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym3812_r, ym3812_w)
986963   AM_RANGE(0x3000, 0x37ff) AM_RAM
987   AM_RANGE(0x4000, 0x4000) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
964   AM_RANGE(0x4000, 0x4000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
988965   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("pia", pia6821_r, pia6821_w)
989966   AM_RANGE(0x8000, 0xffff) AM_ROM
990967ADDRESS_MAP_END
r9191r9192
996973   AM_RANGE(0x1000, 0x1000) AM_READ(sound_data_r)
997974   AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym3812_r, ym3812_w)
998975   AM_RANGE(0x3000, 0x37ff) AM_RAM
999   AM_RANGE(0x4000, 0x4000) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
1000   AM_RANGE(0x5000, 0x500f) AM_DEVREADWRITE("via6522_0", via_r, via_w)
976   AM_RANGE(0x4000, 0x4000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
977   AM_RANGE(0x5000, 0x500f) AM_DEVREADWRITE_MODERN("via6522_0", via6522_device, read, write)
1001978   AM_RANGE(0x8000, 0xffff) AM_ROM
1002979ADDRESS_MAP_END
1003980
r9191r9192
17141691
17151692/************* core pieces ******************/
17161693
1717static MACHINE_DRIVER_START( itech8_core_lo )
1694static MACHINE_CONFIG_START( itech8_core_lo, driver_device )
17181695
17191696   /* basic machine hardware */
17201697   MDRV_CPU_ADD("maincpu", M6809, CLOCK_8MHz/4)
r9191r9192
17221699   MDRV_CPU_VBLANK_INT("screen", generate_nmi)
17231700
17241701   MDRV_MACHINE_RESET(itech8)
1725   MDRV_NVRAM_HANDLER(itech8)
1702   MDRV_NVRAM_ADD_RANDOM_FILL("nvram")
17261703
17271704   MDRV_TICKET_DISPENSER_ADD("ticket", 200, TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW)
17281705
r9191r9192
17421719
17431720   /* via */
17441721   MDRV_VIA6522_ADD("via6522_0", CLOCK_8MHz/4, via_interface)
1745MACHINE_DRIVER_END
1722MACHINE_CONFIG_END
17461723
17471724
1748static MACHINE_DRIVER_START( itech8_core_hi )
1725static MACHINE_CONFIG_DERIVED( itech8_core_hi, itech8_core_lo )
17491726
17501727   /* basic machine hardware */
1751   MDRV_IMPORT_FROM(itech8_core_lo)
17521728   MDRV_CPU_MODIFY("maincpu")
17531729   MDRV_CPU_PROGRAM_MAP(tmshi_map)
1754MACHINE_DRIVER_END
1730MACHINE_CONFIG_END
17551731
17561732
1757static MACHINE_DRIVER_START( itech8_sound_ym2203 )
1733static MACHINE_CONFIG_FRAGMENT( itech8_sound_ym2203 )
17581734
17591735   /* basic machine hardware */
17601736   MDRV_CPU_ADD("soundcpu", M6809, CLOCK_8MHz/4)
r9191r9192
17701746
17711747   MDRV_OKIM6295_ADD("oki", CLOCK_8MHz/8, OKIM6295_PIN7_HIGH) // was /128, not /132, so unsure so pin 7 not verified
17721748   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
1773MACHINE_DRIVER_END
1749MACHINE_CONFIG_END
17741750
17751751
1776static MACHINE_DRIVER_START( itech8_sound_ym2608b )
1752static MACHINE_CONFIG_FRAGMENT( itech8_sound_ym2608b )
17771753
17781754   /* basic machine hardware */
17791755   MDRV_CPU_ADD("soundcpu", M6809, CLOCK_8MHz/4)
r9191r9192
17831759   MDRV_SOUND_ADD("ymsnd", YM2608, CLOCK_8MHz)
17841760   MDRV_SOUND_CONFIG(ym2608b_config)
17851761   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
1786MACHINE_DRIVER_END
1762MACHINE_CONFIG_END
17871763
17881764
1789static MACHINE_DRIVER_START( itech8_sound_ym3812 )
1765static MACHINE_CONFIG_FRAGMENT( itech8_sound_ym3812 )
17901766
17911767   /* basic machine hardware */
17921768   MDRV_CPU_ADD("soundcpu", M6809, CLOCK_8MHz/4)
r9191r9192
18011777
18021778   MDRV_OKIM6295_ADD("oki", CLOCK_8MHz/8, OKIM6295_PIN7_HIGH) // was /128, not /132, so unsure so pin 7 not verified
18031779   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
1804MACHINE_DRIVER_END
1780MACHINE_CONFIG_END
18051781
18061782
1807static MACHINE_DRIVER_START( itech8_sound_ym3812_external )
1783static MACHINE_CONFIG_FRAGMENT( itech8_sound_ym3812_external )
18081784
18091785   /* basic machine hardware */
18101786   MDRV_CPU_ADD("soundcpu", M6809, CLOCK_8MHz/4)
r9191r9192
18171793
18181794   MDRV_OKIM6295_ADD("oki", CLOCK_8MHz/8, OKIM6295_PIN7_HIGH) // was /128, not /132, so unsure so pin 7 not verified
18191795   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
1820MACHINE_DRIVER_END
1796MACHINE_CONFIG_END
18211797
18221798
18231799/************* full drivers ******************/
18241800
1825static MACHINE_DRIVER_START( wfortune )
1801static MACHINE_CONFIG_DERIVED( wfortune, itech8_core_hi )
18261802
18271803   /* basic machine hardware */
1828   MDRV_IMPORT_FROM(itech8_core_hi)
1829   MDRV_IMPORT_FROM(itech8_sound_ym2203)
1804   MDRV_FRAGMENT_ADD(itech8_sound_ym2203)
18301805
18311806   /* video hardware */
18321807   MDRV_SCREEN_MODIFY("screen")
18331808   MDRV_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
18341809   MDRV_VIDEO_UPDATE(itech8_2layer)
1835MACHINE_DRIVER_END
1810MACHINE_CONFIG_END
18361811
18371812
1838static MACHINE_DRIVER_START( grmatch )
1813static MACHINE_CONFIG_DERIVED( grmatch, itech8_core_hi )
18391814
18401815   /* basic machine hardware */
1841   MDRV_IMPORT_FROM(itech8_core_hi)
1842   MDRV_IMPORT_FROM(itech8_sound_ym2608b)
1816   MDRV_FRAGMENT_ADD(itech8_sound_ym2608b)
18431817
18441818   /* video hardware */
18451819   MDRV_SCREEN_MODIFY("screen")
r9191r9192
18481822
18491823   /* palette updater */
18501824   MDRV_TIMER_ADD_SCANLINE("palette", grmatch_palette_update, "screen", 0, 0)
1851MACHINE_DRIVER_END
1825MACHINE_CONFIG_END
18521826
18531827
1854static MACHINE_DRIVER_START( stratab_hi )
1828static MACHINE_CONFIG_DERIVED( stratab_hi, itech8_core_hi )
18551829
18561830   /* basic machine hardware */
1857   MDRV_IMPORT_FROM(itech8_core_hi)
1858   MDRV_IMPORT_FROM(itech8_sound_ym2203)
1831   MDRV_FRAGMENT_ADD(itech8_sound_ym2203)
18591832
18601833   /* video hardware */
18611834   MDRV_SCREEN_MODIFY("screen")
18621835   MDRV_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
18631836   MDRV_VIDEO_UPDATE(itech8_2layer)
1864MACHINE_DRIVER_END
1837MACHINE_CONFIG_END
18651838
18661839
1867static MACHINE_DRIVER_START( stratab_lo )
1840static MACHINE_CONFIG_DERIVED( stratab_lo, itech8_core_lo )
18681841
18691842   /* basic machine hardware */
1870   MDRV_IMPORT_FROM(itech8_core_lo)
1871   MDRV_IMPORT_FROM(itech8_sound_ym2203)
1843   MDRV_FRAGMENT_ADD(itech8_sound_ym2203)
18721844
18731845   /* video hardware */
18741846   MDRV_SCREEN_MODIFY("screen")
18751847   MDRV_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
18761848   MDRV_VIDEO_UPDATE(itech8_2layer)
1877MACHINE_DRIVER_END
1849MACHINE_CONFIG_END
18781850
18791851
1880static MACHINE_DRIVER_START( slikshot_hi )
1852static MACHINE_CONFIG_DERIVED( slikshot_hi, itech8_core_hi )
18811853
18821854   /* basic machine hardware */
1883   MDRV_IMPORT_FROM(itech8_core_hi)
1884   MDRV_IMPORT_FROM(itech8_sound_ym2203)
1855   MDRV_FRAGMENT_ADD(itech8_sound_ym2203)
18851856
18861857   MDRV_CPU_ADD("sub", Z80, CLOCK_8MHz/2)
18871858   MDRV_CPU_PROGRAM_MAP(slikz80_mem_map)
r9191r9192
18921863   MDRV_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
18931864   MDRV_VIDEO_START(slikshot)
18941865   MDRV_VIDEO_UPDATE(slikshot)
1895MACHINE_DRIVER_END
1866MACHINE_CONFIG_END
18961867
18971868
1898static MACHINE_DRIVER_START( slikshot_lo )
1869static MACHINE_CONFIG_DERIVED( slikshot_lo, itech8_core_lo )
18991870
19001871   /* basic machine hardware */
1901   MDRV_IMPORT_FROM(itech8_core_lo)
1902   MDRV_IMPORT_FROM(itech8_sound_ym2203)
1872   MDRV_FRAGMENT_ADD(itech8_sound_ym2203)
19031873
19041874   MDRV_CPU_ADD("sub", Z80, CLOCK_8MHz/2)
19051875   MDRV_CPU_PROGRAM_MAP(slikz80_mem_map)
r9191r9192
19101880   MDRV_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
19111881   MDRV_VIDEO_START(slikshot)
19121882   MDRV_VIDEO_UPDATE(slikshot)
1913MACHINE_DRIVER_END
1883MACHINE_CONFIG_END
19141884
19151885
1916static MACHINE_DRIVER_START( slikshot_lo_noz80 )
1886static MACHINE_CONFIG_DERIVED( slikshot_lo_noz80, itech8_core_lo )
19171887
19181888   /* basic machine hardware */
1919   MDRV_IMPORT_FROM(itech8_core_lo)
1920   MDRV_IMPORT_FROM(itech8_sound_ym2203)
1889   MDRV_FRAGMENT_ADD(itech8_sound_ym2203)
19211890
19221891   /* video hardware */
19231892   MDRV_SCREEN_MODIFY("screen")
19241893   MDRV_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
19251894   MDRV_VIDEO_UPDATE(itech8_2page)
1926MACHINE_DRIVER_END
1895MACHINE_CONFIG_END
19271896
19281897
1929static MACHINE_DRIVER_START( sstrike )
1898static MACHINE_CONFIG_DERIVED( sstrike, slikshot_lo )
19301899
19311900   /* basic machine hardware */
1932   MDRV_IMPORT_FROM(slikshot_lo)
19331901   MDRV_MACHINE_START(sstrike)
19341902
1935MACHINE_DRIVER_END
1903MACHINE_CONFIG_END
19361904
19371905
1938static MACHINE_DRIVER_START( hstennis_hi )
1906static MACHINE_CONFIG_DERIVED( hstennis_hi, itech8_core_hi )
19391907
19401908   /* basic machine hardware */
1941   MDRV_IMPORT_FROM(itech8_core_hi)
1942   MDRV_IMPORT_FROM(itech8_sound_ym3812)
1909   MDRV_FRAGMENT_ADD(itech8_sound_ym3812)
19431910
19441911   /* video hardware */
19451912   MDRV_SCREEN_MODIFY("screen")
19461913   MDRV_SCREEN_VISIBLE_AREA(0, 399, 0, 239)
19471914   MDRV_VIDEO_UPDATE(itech8_2page_large)
1948MACHINE_DRIVER_END
1915MACHINE_CONFIG_END
19491916
19501917
1951static MACHINE_DRIVER_START( hstennis_lo )
1918static MACHINE_CONFIG_DERIVED( hstennis_lo, itech8_core_lo )
19521919
19531920   /* basic machine hardware */
1954   MDRV_IMPORT_FROM(itech8_core_lo)
1955   MDRV_IMPORT_FROM(itech8_sound_ym3812)
1921   MDRV_FRAGMENT_ADD(itech8_sound_ym3812)
19561922
19571923   /* video hardware */
19581924   MDRV_SCREEN_MODIFY("screen")
19591925   MDRV_SCREEN_VISIBLE_AREA(0, 399, 0, 239)
19601926   MDRV_VIDEO_UPDATE(itech8_2page_large)
1961MACHINE_DRIVER_END
1927MACHINE_CONFIG_END
19621928
19631929
1964static MACHINE_DRIVER_START( rimrockn )
1930static MACHINE_CONFIG_DERIVED( rimrockn, itech8_core_hi )
19651931
19661932   /* basic machine hardware */
1967   MDRV_IMPORT_FROM(itech8_core_hi)
1968   MDRV_IMPORT_FROM(itech8_sound_ym3812_external)
1933   MDRV_FRAGMENT_ADD(itech8_sound_ym3812_external)
19691934
19701935   MDRV_CPU_REPLACE("maincpu", HD6309, CLOCK_12MHz)
19711936   MDRV_CPU_PROGRAM_MAP(tmshi_map)
r9191r9192
19751940   MDRV_SCREEN_MODIFY("screen")
19761941   MDRV_SCREEN_VISIBLE_AREA(24, 375, 0, 239)
19771942   MDRV_VIDEO_UPDATE(itech8_2page_large)
1978MACHINE_DRIVER_END
1943MACHINE_CONFIG_END
19791944
19801945
1981static MACHINE_DRIVER_START( ninclown )
1946static MACHINE_CONFIG_DERIVED( ninclown, itech8_core_hi )
19821947
19831948   /* basic machine hardware */
1984   MDRV_IMPORT_FROM(itech8_core_hi)
1985   MDRV_IMPORT_FROM(itech8_sound_ym3812_external)
1949   MDRV_FRAGMENT_ADD(itech8_sound_ym3812_external)
19861950
19871951   MDRV_CPU_REPLACE("maincpu", M68000, CLOCK_12MHz)
19881952   MDRV_CPU_PROGRAM_MAP(ninclown_map)
r9191r9192
19921956   MDRV_SCREEN_MODIFY("screen")
19931957   MDRV_SCREEN_VISIBLE_AREA(64, 423, 0, 239)
19941958   MDRV_VIDEO_UPDATE(itech8_2page_large)
1995MACHINE_DRIVER_END
1959MACHINE_CONFIG_END
19961960
19971961
1998static MACHINE_DRIVER_START( gtg2 )
1962static MACHINE_CONFIG_DERIVED( gtg2, itech8_core_lo )
19991963
20001964   /* basic machine hardware */
2001   MDRV_IMPORT_FROM(itech8_core_lo)
2002   MDRV_IMPORT_FROM(itech8_sound_ym3812_external)
1965   MDRV_FRAGMENT_ADD(itech8_sound_ym3812_external)
20031966
20041967   MDRV_CPU_MODIFY("maincpu")
20051968   MDRV_CPU_PROGRAM_MAP(gtg2_map)
r9191r9192
20081971   MDRV_SCREEN_MODIFY("screen")
20091972   MDRV_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
20101973   MDRV_VIDEO_UPDATE(itech8_2layer)
2011MACHINE_DRIVER_END
1974MACHINE_CONFIG_END
20121975
20131976
20141977
src/mame/drivers/galaxian.c
r9191r9192
13631363   ADDRESS_MAP_UNMAP_HIGH
13641364   AM_RANGE(0x0000, 0x3fff) AM_ROM
13651365   AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0400) AM_RAM
1366   AM_RANGE(0x5000, 0x53ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
1366   AM_RANGE(0x5000, 0x53ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
13671367   AM_RANGE(0x5800, 0x58ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
13681368   AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0")
13691369   AM_RANGE(0x6000, 0x6001) AM_MIRROR(0x07f8) AM_WRITE(start_lamp_w)
r9191r9192
13981398   ADDRESS_MAP_UNMAP_HIGH
13991399   AM_RANGE(0x0000, 0x3fff) AM_ROM
14001400   AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x0400) AM_RAM
1401   AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
1401   AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
14021402   AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
14031403   AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0")
14041404   AM_RANGE(0xa000, 0xa002) AM_MIRROR(0x07f8) AM_WRITE(galaxian_gfxbank_w)
r9191r9192
14301430//  AM_RANGE(0x8000, 0x8000) AM_WRITE(dambustr_bg_color_w)
14311431//  AM_RANGE(0x8001, 0x8001) AM_WRITE(dambustr_bg_split_line_w)
14321432   AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x0400) AM_RAM
1433   AM_RANGE(0xd000, 0xd3ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
1433   AM_RANGE(0xd000, 0xd3ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
14341434   AM_RANGE(0xd800, 0xd8ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
14351435   AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0")
14361436   AM_RANGE(0xe004, 0xe007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_lfo_freq_w)
r9191r9192
14521452   ADDRESS_MAP_UNMAP_HIGH
14531453   AM_RANGE(0x0000, 0x3fff) AM_ROM
14541454   AM_RANGE(0x4000, 0x47ff) AM_RAM
1455   AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
1455   AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
14561456   AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
14571457   AM_RANGE(0x6801, 0x6801) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w)
14581458   AM_RANGE(0x6802, 0x6802) AM_MIRROR(0x07f8) AM_WRITE(coin_count_0_w)
r9191r9192
14711471   ADDRESS_MAP_UNMAP_HIGH
14721472   AM_RANGE(0x0000, 0x7fff) AM_ROM
14731473   AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x4000) AM_RAM
1474   AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
1474   AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
14751475   AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x4700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
14761476   AM_RANGE(0x9800, 0x9803) AM_MIRROR(0x47fc) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
14771477   AM_RANGE(0xa000, 0xa003) AM_MIRROR(0x47fc) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
r9191r9192
14921492   AM_RANGE(0x0000, 0x3fff) AM_ROM
14931493   AM_RANGE(0x8000, 0x87ff) AM_RAM
14941494   AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r)
1495   AM_RANGE(0xa800, 0xabff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
1495   AM_RANGE(0xa800, 0xabff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
14961496   AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
14971497   AM_RANGE(0xb808, 0xb808) AM_MIRROR(0x07e3) AM_WRITE(irq_enable_w)
14981498   AM_RANGE(0xb80c, 0xb80c) AM_MIRROR(0x07e3) AM_WRITE(galaxian_flip_screen_y_w)
r9191r9192
15081508   ADDRESS_MAP_UNMAP_HIGH
15091509   AM_RANGE(0x0000, 0x7fff) AM_ROM
15101510   AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x4000) AM_RAM
1511   AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
1511   AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
15121512   AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x4700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
15131513   AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x47c7) AM_WRITE(scramble_background_red_w)
15141514   AM_RANGE(0xa008, 0xa008) AM_MIRROR(0x47c7) AM_WRITE(irq_enable_w)
r9191r9192
15291529static ADDRESS_MAP_START( sfx_map, ADDRESS_SPACE_PROGRAM, 8 )
15301530   AM_RANGE(0x0000, 0x3fff) AM_ROM
15311531   AM_RANGE(0x4000, 0x47ff) AM_RAM
1532   AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
1532   AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
15331533   AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
15341534   AM_RANGE(0x6800, 0x6800) AM_MIRROR(0x07f8) AM_WRITE(scramble_background_red_w)
15351535   AM_RANGE(0x6801, 0x6801) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w)
r9191r9192
15581558   ADDRESS_MAP_UNMAP_HIGH
15591559   AM_RANGE(0x0000, 0x3fff) AM_ROM
15601560   AM_RANGE(0x4000, 0x47ff) AM_RAM
1561   AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
1561   AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
15621562   AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
15631563   AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x00ff) AM_DEVWRITE("aysnd", ay8910_data_w)
15641564   AM_RANGE(0x5900, 0x5900) AM_MIRROR(0x00ff) AM_DEVWRITE("aysnd", ay8910_address_w)
r9191r9192
15801580   ADDRESS_MAP_UNMAP_HIGH
15811581   AM_RANGE(0x0000, 0x3fff) AM_ROM
15821582   AM_RANGE(0x8000, 0x87ff) AM_RAM
1583   AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
1583   AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
15841584   AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
15851585   AM_RANGE(0xa802, 0xa802) AM_MIRROR(0x07f1) AM_WRITE(galaxian_flip_screen_x_w)
15861586   AM_RANGE(0xa804, 0xa804) AM_MIRROR(0x07f1) AM_WRITE(irq_enable_w)
r9191r9192
15971597   ADDRESS_MAP_UNMAP_HIGH
15981598   AM_RANGE(0x0000, 0x7fff) AM_ROM
15991599   AM_RANGE(0x8000, 0x83ff) AM_RAM
1600   AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
1600   AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
16011601   AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
16021602   AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
16031603   AM_RANGE(0xa000, 0xa000) AM_WRITE(irq_enable_w)
r9191r9192
19561956 *
19571957 *************************************/
19581958
1959static MACHINE_DRIVER_START( galaxian_base )
1959static MACHINE_CONFIG_START( galaxian_base, galaxian_state )
19601960
19611961   /* basic machine hardware */
19621962   MDRV_CPU_ADD("maincpu", Z80, GALAXIAN_PIXEL_CLOCK/3/2)
r9191r9192
19821982
19831983   /* sound hardware */
19841984   MDRV_SPEAKER_STANDARD_MONO("mono")
1985MACHINE_DRIVER_END
1985MACHINE_CONFIG_END
19861986
19871987
19881988
1989static MACHINE_DRIVER_START( konami_base )
1990   MDRV_IMPORT_FROM( galaxian_base )
1989static MACHINE_CONFIG_DERIVED( konami_base, galaxian_base )
19911990
19921991   MDRV_PPI8255_ADD( "ppi8255_0", konami_ppi8255_0_intf )
19931992   MDRV_PPI8255_ADD( "ppi8255_1", konami_ppi8255_1_intf )
1994MACHINE_DRIVER_END
1993MACHINE_CONFIG_END
19951994
19961995
1997static MACHINE_DRIVER_START( konami_sound_1x_ay8910 )
1996static MACHINE_CONFIG_FRAGMENT( konami_sound_1x_ay8910 )
19981997
19991998   /* 2nd CPU to drive sound */
20001999   MDRV_CPU_ADD("audiocpu", Z80, KONAMI_SOUND_CLOCK/8)
r9191r9192
20112010   MDRV_SOUND_ADD("konami", DISCRETE, 0)
20122011   MDRV_SOUND_CONFIG_DISCRETE(konami_sound)
20132012   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
2014MACHINE_DRIVER_END
2013MACHINE_CONFIG_END
20152014
20162015
2017static MACHINE_DRIVER_START( konami_sound_2x_ay8910 )
2016static MACHINE_CONFIG_FRAGMENT( konami_sound_2x_ay8910 )
20182017
20192018   /* 2nd CPU to drive sound */
20202019   MDRV_CPU_ADD("audiocpu", Z80, KONAMI_SOUND_CLOCK/8)
r9191r9192
20372036   MDRV_SOUND_ADD("konami", DISCRETE, 0)
20382037   MDRV_SOUND_CONFIG_DISCRETE(konami_sound)
20392038   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
2040MACHINE_DRIVER_END
2039MACHINE_CONFIG_END
20412040
20422041
20432042
r9191r9192
20472046 *
20482047 *************************************/
20492048
2050static MACHINE_DRIVER_START( galaxian )
2051   MDRV_IMPORT_FROM(galaxian_base)
2052   MDRV_IMPORT_FROM(galaxian_audio)
2053MACHINE_DRIVER_END
2049static MACHINE_CONFIG_DERIVED( galaxian, galaxian_base )
2050   MDRV_FRAGMENT_ADD(galaxian_audio)
2051MACHINE_CONFIG_END
20542052
20552053
2056static MACHINE_DRIVER_START( pacmanbl )
2057   MDRV_IMPORT_FROM(galaxian)
2054static MACHINE_CONFIG_DERIVED( pacmanbl, galaxian )
20582055
20592056   /* separate tile/sprite ROMs */
20602057   MDRV_GFXDECODE(pacmanbl)
2061MACHINE_DRIVER_END
2058MACHINE_CONFIG_END
20622059
2063static MACHINE_DRIVER_START( tenspot )
2064   MDRV_IMPORT_FROM(galaxian)
2060static MACHINE_CONFIG_DERIVED( tenspot, galaxian )
20652061
20662062   MDRV_CPU_MODIFY("maincpu")
20672063   MDRV_CPU_VBLANK_INT("screen", fakechange_interrupt_gen)
r9191r9192
20732069
20742070   /* separate tile/sprite ROMs */
20752071   MDRV_GFXDECODE(tenspot)
2076MACHINE_DRIVER_END
2072MACHINE_CONFIG_END
20772073
2078static MACHINE_DRIVER_START( zigzag )
2079   MDRV_IMPORT_FROM(galaxian_base)
2074static MACHINE_CONFIG_DERIVED( zigzag, galaxian_base )
20802075
20812076   /* separate tile/sprite ROMs */
20822077   MDRV_GFXDECODE(pacmanbl)
r9191r9192
20892084   MDRV_SOUND_ADD("aysnd", AY8910, 1789750)
20902085
20912086   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
2092MACHINE_DRIVER_END
2087MACHINE_CONFIG_END
20932088
20942089
2095static MACHINE_DRIVER_START( gmgalax )
2096   MDRV_IMPORT_FROM(galaxian)
2090static MACHINE_CONFIG_DERIVED( gmgalax, galaxian )
20972091
20982092   /* banked video hardware */
20992093   MDRV_GFXDECODE(gmgalax)
21002094   MDRV_PALETTE_LENGTH(64)
2101MACHINE_DRIVER_END
2095MACHINE_CONFIG_END
21022096
21032097
2104static MACHINE_DRIVER_START( mooncrst )
2098static MACHINE_CONFIG_DERIVED( mooncrst, galaxian_base )
21052099
2106   MDRV_IMPORT_FROM(galaxian_base)
2107
21082100   /* alternate memory map */
21092101   MDRV_CPU_MODIFY("maincpu")
21102102   MDRV_CPU_PROGRAM_MAP(mooncrst_map)
21112103
2112   MDRV_IMPORT_FROM(mooncrst_audio)
2113MACHINE_DRIVER_END
2104   MDRV_FRAGMENT_ADD(mooncrst_audio)
2105MACHINE_CONFIG_END
21142106
21152107
2116static MACHINE_DRIVER_START( jumpbug )
2117   MDRV_IMPORT_FROM(galaxian_base)
2108static MACHINE_CONFIG_DERIVED( jumpbug, galaxian_base )
21182109
21192110   MDRV_WATCHDOG_VBLANK_INIT(0)
21202111
r9191r9192
21252116   /* sound hardware */
21262117   MDRV_SOUND_ADD("aysnd", AY8910, 1789750)
21272118   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
2128MACHINE_DRIVER_END
2119MACHINE_CONFIG_END
21292120
21302121
2131static MACHINE_DRIVER_START( checkman )
2132   MDRV_IMPORT_FROM(mooncrst)
2122static MACHINE_CONFIG_DERIVED( checkman, mooncrst )
21332123
21342124   /* basic machine hardware */
21352125   MDRV_CPU_ADD("audiocpu", Z80, 1620000)   /* 1.62 MHz */
r9191r9192
21402130   /* sound hardware */
21412131   MDRV_SOUND_ADD("aysnd", AY8910, 1789750)
21422132   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
2143MACHINE_DRIVER_END
2133MACHINE_CONFIG_END
21442134
21452135
2146static MACHINE_DRIVER_START( checkmaj )
2147   MDRV_IMPORT_FROM(galaxian_base)
2136static MACHINE_CONFIG_DERIVED( checkmaj, galaxian_base )
21482137
21492138   /* basic machine hardware */
21502139   MDRV_CPU_MODIFY("maincpu")
r9191r9192
21602149   MDRV_SOUND_ADD("aysnd", AY8910, 1620000)
21612150   MDRV_SOUND_CONFIG(checkmaj_ay8910_interface)
21622151   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2)
2163MACHINE_DRIVER_END
2152MACHINE_CONFIG_END
21642153
21652154
2166static MACHINE_DRIVER_START( mshuttle )
2167   MDRV_IMPORT_FROM(galaxian_base)
2155static MACHINE_CONFIG_DERIVED( mshuttle, galaxian_base )
21682156
21692157   /* basic machine hardware */
21702158   MDRV_CPU_MODIFY("maincpu")
r9191r9192
21792167   MDRV_SOUND_ADD("samples", SAMPLES, 0)
21802168   MDRV_SOUND_CONFIG(cclimber_samples_interface)
21812169   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
2182MACHINE_DRIVER_END
2170MACHINE_CONFIG_END
21832171
21842172
2185static MACHINE_DRIVER_START( kingball )
2186   MDRV_IMPORT_FROM(mooncrst)
2173static MACHINE_CONFIG_DERIVED( kingball, mooncrst )
21872174
21882175   /* basic machine hardware */
21892176   MDRV_CPU_ADD("audiocpu", Z80,5000000/2)
r9191r9192
21932180   /* sound hardware */
21942181   MDRV_SOUND_ADD("dac", DAC, 0)
21952182   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2196MACHINE_DRIVER_END
2183MACHINE_CONFIG_END
21972184
21982185
2199static MACHINE_DRIVER_START( frogger )
2200   MDRV_IMPORT_FROM(konami_base)
2201   MDRV_IMPORT_FROM(konami_sound_1x_ay8910)
2186static MACHINE_CONFIG_DERIVED( frogger, konami_base )
2187   MDRV_FRAGMENT_ADD(konami_sound_1x_ay8910)
22022188
22032189   /* alternate memory map */
22042190   MDRV_CPU_MODIFY("maincpu")
22052191   MDRV_CPU_PROGRAM_MAP(frogger_map)
2206MACHINE_DRIVER_END
2192MACHINE_CONFIG_END
22072193
22082194
2209static MACHINE_DRIVER_START( froggrmc )
2210   MDRV_IMPORT_FROM(galaxian_base)
2211   MDRV_IMPORT_FROM(konami_sound_1x_ay8910)
2195static MACHINE_CONFIG_DERIVED( froggrmc, galaxian_base )
2196   MDRV_FRAGMENT_ADD(konami_sound_1x_ay8910)
22122197
22132198   /* alternate memory map */
22142199   MDRV_CPU_MODIFY("maincpu")
22152200   MDRV_CPU_PROGRAM_MAP(mooncrst_map_base)      /* no discrete sound ! */
2216MACHINE_DRIVER_END
2201MACHINE_CONFIG_END
22172202
22182203
2219static MACHINE_DRIVER_START( froggers )
2220   MDRV_IMPORT_FROM(konami_base)
2221   MDRV_IMPORT_FROM(konami_sound_1x_ay8910)
2204static MACHINE_CONFIG_DERIVED( froggers, konami_base )
2205   MDRV_FRAGMENT_ADD(konami_sound_1x_ay8910)
22222206
22232207   /* alternate memory map */
22242208   MDRV_CPU_MODIFY("maincpu")
22252209   MDRV_CPU_PROGRAM_MAP(theend_map)
2226MACHINE_DRIVER_END
2210MACHINE_CONFIG_END
22272211
22282212
2229static MACHINE_DRIVER_START( frogf )
2230   MDRV_IMPORT_FROM(konami_base)
2231   MDRV_IMPORT_FROM(konami_sound_1x_ay8910)
2213static MACHINE_CONFIG_DERIVED( frogf, konami_base )
2214   MDRV_FRAGMENT_ADD(konami_sound_1x_ay8910)
22322215
22332216   /* alternate memory map */
22342217   MDRV_CPU_MODIFY("maincpu")
22352218   MDRV_CPU_PROGRAM_MAP(frogf_map)
2236MACHINE_DRIVER_END
2219MACHINE_CONFIG_END
22372220
22382221
2239static MACHINE_DRIVER_START( turtles )
2240   MDRV_IMPORT_FROM(konami_base)
2241   MDRV_IMPORT_FROM(konami_sound_2x_ay8910)
2222static MACHINE_CONFIG_DERIVED( turtles, konami_base )
2223   MDRV_FRAGMENT_ADD(konami_sound_2x_ay8910)
22422224
22432225   /* alternate memory map */
22442226   MDRV_CPU_MODIFY("maincpu")
22452227   MDRV_CPU_PROGRAM_MAP(turtles_map)
2246MACHINE_DRIVER_END
2228MACHINE_CONFIG_END
22472229
22482230
2249static MACHINE_DRIVER_START( theend )
2250   MDRV_IMPORT_FROM(galaxian_base)
2251   MDRV_IMPORT_FROM(konami_sound_2x_ay8910)
2231static MACHINE_CONFIG_DERIVED( theend, galaxian_base )
2232   MDRV_FRAGMENT_ADD(konami_sound_2x_ay8910)
22522233
22532234   /* alternate memory map */
22542235   MDRV_CPU_MODIFY("maincpu")
r9191r9192
22562237
22572238   MDRV_PPI8255_ADD( "ppi8255_0", theend_ppi8255_0_intf )
22582239   MDRV_PPI8255_ADD( "ppi8255_1", konami_ppi8255_1_intf )
2259MACHINE_DRIVER_END
2240MACHINE_CONFIG_END
22602241
22612242
2262static MACHINE_DRIVER_START( scramble )
2263   MDRV_IMPORT_FROM(galaxian_base)
2264   MDRV_IMPORT_FROM(konami_sound_2x_ay8910)
2243static MACHINE_CONFIG_DERIVED( scramble, galaxian_base )
2244   MDRV_FRAGMENT_ADD(konami_sound_2x_ay8910)
22652245
22662246   /* alternate memory map */
22672247   MDRV_CPU_MODIFY("maincpu")
r9191r9192
22692249
22702250   MDRV_PPI8255_ADD( "ppi8255_0", konami_ppi8255_0_intf )
22712251   MDRV_PPI8255_ADD( "ppi8255_1", scramble_ppi8255_1_intf )
2272MACHINE_DRIVER_END
2252MACHINE_CONFIG_END
22732253
22742254
2275static MACHINE_DRIVER_START( explorer )
2276   MDRV_IMPORT_FROM(konami_base)
2255static MACHINE_CONFIG_DERIVED( explorer, konami_base )
22772256
22782257   /* alternate memory map */
22792258   MDRV_CPU_MODIFY("maincpu")
r9191r9192
22922271   MDRV_SOUND_ADD("8910.1", AY8910, KONAMI_SOUND_CLOCK/8)
22932272   MDRV_SOUND_CONFIG(explorer_ay8910_interface_2)
22942273   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
2295MACHINE_DRIVER_END
2274MACHINE_CONFIG_END
22962275
22972276
2298static MACHINE_DRIVER_START( scorpion )
2299   MDRV_IMPORT_FROM(theend)
2277static MACHINE_CONFIG_DERIVED( scorpion, theend )
23002278
23012279   MDRV_PPI8255_RECONFIG( "ppi8255_0", konami_ppi8255_0_intf )
23022280   MDRV_PPI8255_RECONFIG( "ppi8255_1", scorpion_ppi8255_1_intf )
r9191r9192
23082286
23092287   MDRV_SOUND_ADD("digitalker", DIGITALKER, 4000000)
23102288   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16)
2311MACHINE_DRIVER_END
2289MACHINE_CONFIG_END
23122290
23132291
2314static MACHINE_DRIVER_START( sfx )
2315   MDRV_IMPORT_FROM(galaxian_base)
2316   MDRV_IMPORT_FROM(konami_sound_2x_ay8910)
2292static MACHINE_CONFIG_DERIVED( sfx, galaxian_base )
2293   MDRV_FRAGMENT_ADD(konami_sound_2x_ay8910)
23172294
23182295   MDRV_WATCHDOG_VBLANK_INIT(0)
23192296
r9191r9192
23372314   /* DAC for the sample player */
23382315   MDRV_SOUND_ADD("dac", DAC, 0)
23392316   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2340MACHINE_DRIVER_END
2317MACHINE_CONFIG_END
23412318
23422319
2343static MACHINE_DRIVER_START( scobra )
2344   MDRV_IMPORT_FROM(konami_base)
2345   MDRV_IMPORT_FROM(konami_sound_2x_ay8910)
2320static MACHINE_CONFIG_DERIVED( scobra, konami_base )
2321   MDRV_FRAGMENT_ADD(konami_sound_2x_ay8910)
23462322
23472323   /* alternate memory map */
23482324   MDRV_CPU_MODIFY("maincpu")
23492325   MDRV_CPU_PROGRAM_MAP(scobra_map)
2350MACHINE_DRIVER_END
2326MACHINE_CONFIG_END
23512327
23522328
2353static MACHINE_DRIVER_START( anteater )
2354   MDRV_IMPORT_FROM(scobra)
2329static MACHINE_CONFIG_DERIVED( anteater, scobra )
23552330
23562331   /* quiet down the sounds */
23572332   MDRV_SOUND_MODIFY("konami")
23582333   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)
2359MACHINE_DRIVER_END
2334MACHINE_CONFIG_END
23602335
2361static MACHINE_DRIVER_START( moonwar )
2362
2363   /* basic machine hardware */
2336static MACHINE_CONFIG_DERIVED( moonwar, scobra )
23642337   /* same as regular type 1, the only difference is that the bullets are less yellow */
2365   MDRV_IMPORT_FROM(scobra)
23662338
23672339   /* device config overrides */
23682340   MDRV_PPI8255_RECONFIG( "ppi8255_0", moonwar_ppi8255_0_intf )
23692341   MDRV_PPI8255_RECONFIG( "ppi8255_1", konami_ppi8255_1_intf )
23702342
23712343   MDRV_PALETTE_INIT(moonwar)
2372MACHINE_DRIVER_END
2344MACHINE_CONFIG_END
23732345
23742346
23752347/*************************************
src/mame/drivers/mpu5.c
r9191r9192
3333   return 0;
3434}
3535
36static MACHINE_DRIVER_START( mpu5 )
36static MACHINE_CONFIG_START( mpu5, driver_device )
3737   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)    // ?
3838   MDRV_CPU_PROGRAM_MAP(mpu5_map)
3939
r9191r9192
5252
5353   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
5454   /* unknown sound */
55MACHINE_DRIVER_END
55MACHINE_CONFIG_END
5656
5757ROM_START( m_honmon )
5858   ROM_REGION( 0x300000, "maincpu", 0 ) /* Code */
src/mame/drivers/othldrby.c
r9191r9192
9292   AM_RANGE(0x30000c, 0x30000d) AM_READ(pip)   // vblank?
9393   AM_RANGE(0x30000c, 0x30000f) AM_WRITE(othldrby_vreg_w)
9494   AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
95   AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
95   AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
9696   AM_RANGE(0x700000, 0x700001) AM_READ(pap)   // scanline???
9797   AM_RANGE(0x700004, 0x700005) AM_READ_PORT("DSW1")
9898   AM_RANGE(0x700008, 0x700009) AM_READ_PORT("DSW2")
r9191r9192
237237   memset(state->vreg, 0, ARRAY_LENGTH(state->vreg));
238238}
239239
240static MACHINE_DRIVER_START( othldrby )
240static MACHINE_CONFIG_START( othldrby, othldrby_state )
241241
242   /* driver data */
243   MDRV_DRIVER_DATA(othldrby_state)
244
245242   /* basic machine hardware */
246243   MDRV_CPU_ADD("maincpu", M68000, 16000000)
247244   MDRV_CPU_PROGRAM_MAP(othldrby_map)
r9191r9192
270267
271268   MDRV_OKIM6295_ADD("oki", 1584000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
272269   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
273MACHINE_DRIVER_END
270MACHINE_CONFIG_END
274271
275272
276273
src/mame/drivers/bbusters.c
r9191r9192
203203#include "sound/2608intf.h"
204204#include "sound/2610intf.h"
205205#include "includes/bbusters.h"
206#include "machine/nvram.h"
206207
207208
208209/******************************************************************************/
r9191r9192
351352   /* AM_RANGE(0x0f0008, 0x0f0009) AM_WRITENOP */
352353   AM_RANGE(0x0f0008, 0x0f0009) AM_WRITE(three_gun_output_w)
353354   AM_RANGE(0x0f0018, 0x0f0019) AM_WRITE(sound_cpu_w)
354   AM_RANGE(0x0f8000, 0x0f80ff) AM_READ(eprom_r) AM_WRITEONLY AM_BASE_MEMBER(bbusters_state, eprom_data) /* Eeprom */
355   AM_RANGE(0x0f8000, 0x0f80ff) AM_READ(eprom_r) AM_WRITEONLY AM_SHARE("eeprom") /* Eeprom */
355356ADDRESS_MAP_END
356357
357358/*******************************************************************************/
r9191r9192
663664
664665/******************************************************************************/
665666
666// default eeprom with reasonable calibration for MAME
667static const unsigned char bbusters_default_eeprom[128] =
668{
669                                       /*y*/                   /*y*/
670   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0xEE, 0x00,
671   0x00, 0x00, 0x00, 0x00,   0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0xFE, 0x00,
672                                       /*y*/                   /*y*/
673   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00,   0x00, 0x00, 0xEE, 0x00,
674   0x00, 0x00, 0x00, 0x00,   0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0xFE, 0x00,
675                                       /*y*/                   /*y*/
676   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00,   0x00, 0x00, 0xEE, 0x00,
677   0x00, 0x00, 0x00, 0x00,   0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0xFE, 0x00,
678
679
680   0x42, 0x00, 0x45, 0x00, 0x41, 0x00, 0x53, 0x00,   0x54, 0x00, 0x20, 0x00,
681   0x42, 0x00, 0x55, 0x00, 0x53, 0x00, 0x54, 0x00, 0x45, 0x00, 0x52, 0x00,
682   0x53, 0x00, 0x20, 0x00, 0x54, 0x00, 0x4D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
683   0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
684   0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
685};
686
687
688static NVRAM_HANDLER( bbusters )
689{
690   bbusters_state *state = machine->driver_data<bbusters_state>();
691
692   if( read_or_write )
693   {
694      mame_fwrite (file, state->eprom_data, 0x80);
695   }
696   else
697   {
698      if (file)
699         mame_fread (file, state->eprom_data, 0x80);
700      else
701         memcpy(state->eprom_data, bbusters_default_eeprom, 0x80);
702   }
703}
704
705667static VIDEO_EOF( bbuster )
706668{
707669   address_space *space = cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM);
r9191r9192
716678   buffer_spriteram16_w(space,0,0,0xffff);
717679}
718680
719static MACHINE_DRIVER_START( bbusters )
681static MACHINE_CONFIG_START( bbusters, bbusters_state )
720682
721   MDRV_DRIVER_DATA( bbusters_state )
722
723683   /* basic machine hardware */
724684   MDRV_CPU_ADD("maincpu", M68000, 12000000)
725685   MDRV_CPU_PROGRAM_MAP(bbusters_map)
r9191r9192
729689   MDRV_CPU_PROGRAM_MAP(sound_map)
730690   MDRV_CPU_IO_MAP(sound_portmap)
731691
732   MDRV_NVRAM_HANDLER(bbusters)
692   MDRV_NVRAM_ADD_0FILL("eeprom")
733693
734694   /* video hardware */
735695   MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
r9191r9192
755715   MDRV_SOUND_ROUTE(0, "rspeaker", 1.0)
756716   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
757717   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
758MACHINE_DRIVER_END
718MACHINE_CONFIG_END
759719
760static MACHINE_DRIVER_START( mechatt )
720static MACHINE_CONFIG_START( mechatt, bbusters_state )
761721
762   MDRV_DRIVER_DATA( bbusters_state )
763
764722   /* basic machine hardware */
765723   MDRV_CPU_ADD("maincpu", M68000, 12000000)
766724   MDRV_CPU_PROGRAM_MAP(mechatt_map)
r9191r9192
794752   MDRV_SOUND_ROUTE(0, "rspeaker", 0.50)
795753   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
796754   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
797MACHINE_DRIVER_END
755MACHINE_CONFIG_END
798756
799757/******************************************************************************/
800758
r9191r9192
841799
842800   ROM_REGION( 0x80000, "ymsnd.deltat", 0 )
843801   ROM_LOAD( "bb-pcmb.l3",  0x000000, 0x80000, CRC(c8d5dd53) SHA1(0f7e94532cc14852ca12c1b792e5479667af899e) )
802
803   ROM_REGION( 0x100, "eeprom", 0 )
804   ROM_LOAD( "bbusters-eeprom.bin", 0x00, 0x100, CRC(a52ebd66) SHA1(de04db6f1510700c61bf152799452a80220ae87c) )
844805ROM_END
845806
846807ROM_START( bbustersu )
r9191r9192
886847
887848   ROM_REGION( 0x80000, "ymsnd.deltat", 0 )
888849   ROM_LOAD( "bb-pcma.l5",  0x000000, 0x80000, CRC(44cd5bfe) SHA1(26a612191a0aa614c090203485aba17c99c763ee) )
850
851   ROM_REGION( 0x100, "eeprom", 0 )
852   ROM_LOAD( "bbusters-eeprom.bin", 0x00, 0x100, CRC(a52ebd66) SHA1(de04db6f1510700c61bf152799452a80220ae87c) )
889853ROM_END
890854
891855
src/mame/drivers/hyprduel.c
r9191r9192
459459   AM_RANGE(0x000000, 0x003fff) AM_RAM AM_SHARE("share1")                  /* shadow ($c00000 - $c03fff : vector) */
460460   AM_RANGE(0x004000, 0x007fff) AM_READONLY AM_WRITENOP AM_SHARE("share3")         /* shadow ($fe4000 - $fe7fff : read only) */
461461   AM_RANGE(0x400000, 0x400003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff )
462   AM_RANGE(0x400004, 0x400005) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
462   AM_RANGE(0x400004, 0x400005) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
463463   AM_RANGE(0x800000, 0x800001) AM_NOP
464464   AM_RANGE(0xc00000, 0xc07fff) AM_RAM AM_SHARE("share1")
465465   AM_RANGE(0xfe0000, 0xfe3fff) AM_RAM AM_SHARE("share2")
r9191r9192
506506   AM_RANGE(0x004000, 0x007fff) AM_READONLY AM_WRITENOP AM_SHARE("share3")         /* shadow ($fe4000 - $fe7fff : read only) */
507507   AM_RANGE(0x400000, 0x400003) AM_NOP
508508   AM_RANGE(0x800000, 0x800003) AM_READNOP AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff)
509   AM_RANGE(0x800004, 0x800005) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
509   AM_RANGE(0x800004, 0x800005) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
510510   AM_RANGE(0xc00000, 0xc1ffff) AM_RAM AM_SHARE("share1")
511511   AM_RANGE(0xfe0000, 0xfe3fff) AM_RAM AM_SHARE("share2")
512512   AM_RANGE(0xfe4000, 0xffffff) AM_RAM AM_SHARE("share3")
r9191r9192
671671   timer_adjust_periodic(state->magerror_irq_timer, attotime_zero, 0, ATTOTIME_IN_HZ(968));      /* tempo? */
672672}
673673
674static MACHINE_DRIVER_START( hyprduel )
674static MACHINE_CONFIG_START( hyprduel, hyprduel_state )
675675
676   /* driver data */
677   MDRV_DRIVER_DATA(hyprduel_state)
678
679676   /* basic machine hardware */
680677   MDRV_CPU_ADD("maincpu", M68000,20000000/2)      /* 10MHz */
681678   MDRV_CPU_PROGRAM_MAP(hyprduel_map)
r9191r9192
714711   MDRV_OKIM6295_ADD("oki", 4000000/16/16*132, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
715712   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.57)
716713   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.57)
717MACHINE_DRIVER_END
714MACHINE_CONFIG_END
718715
719716
720static MACHINE_DRIVER_START( magerror )
717static MACHINE_CONFIG_START( magerror, hyprduel_state )
721718
722   /* driver data */
723   MDRV_DRIVER_DATA(hyprduel_state)
724
725719   /* basic machine hardware */
726720   MDRV_CPU_ADD("maincpu", M68000,20000000/2)      /* 10MHz */
727721   MDRV_CPU_PROGRAM_MAP(magerror_map)
r9191r9192
759753   MDRV_OKIM6295_ADD("oki", 4000000/16/16*132, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
760754   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.57)
761755   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.57)
762MACHINE_DRIVER_END
756MACHINE_CONFIG_END
763757
764758/***************************************************************************
765759                                ROMs Loading
src/mame/drivers/arcadecl.c
r9191r9192
168168   AM_RANGE(0x640026, 0x640027) AM_READ_PORT("TRACKY1")
169169   AM_RANGE(0x640040, 0x64004f) AM_WRITE(latch_w)
170170   AM_RANGE(0x640060, 0x64006f) AM_WRITE(atarigen_eeprom_enable_w)
171   AM_RANGE(0x641000, 0x641fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(rampart_state, eeprom, eeprom_size)
172   AM_RANGE(0x642000, 0x642001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0xff00)
171   AM_RANGE(0x641000, 0x641fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
172   AM_RANGE(0x642000, 0x642001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff00)
173173   AM_RANGE(0x646000, 0x646fff) AM_WRITE(atarigen_scanline_int_ack_w)
174174   AM_RANGE(0x647000, 0x647fff) AM_WRITE(watchdog_reset16_w)
175175ADDRESS_MAP_END
r9191r9192
323323 *
324324 *************************************/
325325
326static MACHINE_DRIVER_START( arcadecl )
327   MDRV_DRIVER_DATA(rampart_state)
326static MACHINE_CONFIG_START( arcadecl, rampart_state )
328327
329328   /* basic machine hardware */
330329   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK)
r9191r9192
333332
334333   MDRV_MACHINE_START(arcadecl)
335334   MDRV_MACHINE_RESET(arcadecl)
336   MDRV_NVRAM_HANDLER(atarigen)
335   MDRV_NVRAM_ADD_1FILL("eeprom")
337336
338337   /* video hardware */
339338   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
354353
355354   MDRV_OKIM6295_ADD("oki", MASTER_CLOCK/4/3, OKIM6295_PIN7_LOW)
356355   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
357MACHINE_DRIVER_END
356MACHINE_CONFIG_END
358357
359358
360359
src/mame/drivers/flstory.c
r9191r9192
731731   state->mcu_select = 0;
732732}
733733
734static MACHINE_DRIVER_START( flstory )
734static MACHINE_CONFIG_START( flstory, flstory_state )
735735
736   /* driver data */
737   MDRV_DRIVER_DATA(flstory_state)
738
739736   /* basic machine hardware */
740737   MDRV_CPU_ADD("maincpu", Z80,XTAL_10_733MHz/2) /* verified on pcb */
741738   MDRV_CPU_PROGRAM_MAP(flstory_map)
r9191r9192
791788
792789   MDRV_SOUND_ADD("dac", DAC, 0)
793790   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
794MACHINE_DRIVER_END
791MACHINE_CONFIG_END
795792
796static MACHINE_DRIVER_START( onna34ro )
793static MACHINE_CONFIG_START( onna34ro, flstory_state )
797794
798   /* driver data */
799   MDRV_DRIVER_DATA(flstory_state)
800
801795   /* basic machine hardware */
802796   MDRV_CPU_ADD("maincpu", Z80,10733000/2)      /* ??? */
803797   MDRV_CPU_PROGRAM_MAP(onna34ro_map)
r9191r9192
852846
853847   MDRV_SOUND_ADD("dac", DAC, 0)
854848   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
855MACHINE_DRIVER_END
849MACHINE_CONFIG_END
856850
857static MACHINE_DRIVER_START( victnine )
851static MACHINE_CONFIG_START( victnine, flstory_state )
858852
859   /* driver data */
860   MDRV_DRIVER_DATA(flstory_state)
861
862853   /* basic machine hardware */
863854   MDRV_CPU_ADD("maincpu", Z80,8000000/2)      /* 4 MHz */
864855   MDRV_CPU_PROGRAM_MAP(victnine_map)
r9191r9192
913904
914905   MDRV_SOUND_ADD("dac", DAC, 0)
915906   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
916MACHINE_DRIVER_END
907MACHINE_CONFIG_END
917908
918909
919910/***************************************************************************
src/mame/drivers/suprslam.c
r9191r9192
317317   state->pending_command = 0;
318318}
319319
320static MACHINE_DRIVER_START( suprslam )
321   MDRV_DRIVER_DATA(suprslam_state)
320static MACHINE_CONFIG_START( suprslam, suprslam_state )
322321
323322   MDRV_CPU_ADD("maincpu", M68000, 16000000)
324323   MDRV_CPU_PROGRAM_MAP(suprslam_map)
r9191r9192
357356   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
358357   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
359358   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
360MACHINE_DRIVER_END
359MACHINE_CONFIG_END
361360
362361/*** ROM LOADING *************************************************************/
363362
src/mame/drivers/calomega.c
r9191r9192
648648#include "video/mc6845.h"
649649#include "machine/6821pia.h"
650650#include "machine/6850acia.h"
651#include "machine/nvram.h"
651652#include "sound/ay8910.h"
653#include "includes/calomega.h"
652654
653655
654656/* UART */
r9191r9192
656658static UINT8 rx_line;
657659
658660
659/* from video */
660extern UINT8 *calomega_videoram;
661extern UINT8 *calomega_colorram;
662WRITE8_HANDLER( calomega_videoram_w );
663WRITE8_HANDLER( calomega_colorram_w );
664PALETTE_INIT( calomega );
665VIDEO_START( calomega );
666VIDEO_UPDATE( calomega );
667
668
669661/**************************************************
670662*               Read/Write Handlers               *
671663**************************************************/
r9191r9192
847839
848840static ADDRESS_MAP_START( sys903_map, ADDRESS_SPACE_PROGRAM, 8 )
849841   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
850   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
842   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
851843   AM_RANGE(0x0840, 0x0841) AM_DEVWRITE("ay8912", ay8910_address_data_w)
852844   AM_RANGE(0x0880, 0x0880) AM_DEVWRITE("crtc", mc6845_address_w)
853845   AM_RANGE(0x0881, 0x0881) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
r9191r9192
862854
863855static ADDRESS_MAP_START( s903mod_map, ADDRESS_SPACE_PROGRAM, 8 )
864856   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
865   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
857   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
866858   AM_RANGE(0x0840, 0x0841) AM_DEVWRITE("ay8912", ay8910_address_data_w)
867859   AM_RANGE(0x0880, 0x0880) AM_DEVWRITE("crtc", mc6845_address_w)
868860   AM_RANGE(0x0881, 0x0881) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
r9191r9192
875867
876868static ADDRESS_MAP_START( sys905_map, ADDRESS_SPACE_PROGRAM, 8 )
877869   ADDRESS_MAP_GLOBAL_MASK(0x7fff)
878   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
870   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
879871   AM_RANGE(0x1040, 0x1041) AM_DEVWRITE("ay8912", ay8910_address_data_w)
880872   AM_RANGE(0x1080, 0x1080) AM_DEVWRITE("crtc", mc6845_address_w)
881873   AM_RANGE(0x1081, 0x1081) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
r9191r9192
887879ADDRESS_MAP_END
888880
889881static ADDRESS_MAP_START( sys906_map, ADDRESS_SPACE_PROGRAM, 8 )
890   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
882   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
891883   AM_RANGE(0x280c, 0x280f) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
892884   AM_RANGE(0x2824, 0x2827) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
893885   AM_RANGE(0x2c04, 0x2c04) AM_DEVWRITE("crtc", mc6845_address_w)
r9191r9192
27442736*                Machine Drivers                 *
27452737*************************************************/
27462738
2747static MACHINE_DRIVER_START( sys903 )
2739static MACHINE_CONFIG_START( sys903, driver_device )
27482740   /* basic machine hardware */
27492741   MDRV_CPU_ADD("maincpu", M6502, CPU_CLOCK)   /* confirmed */
27502742   MDRV_CPU_PROGRAM_MAP(sys903_map)
27512743   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
27522744
2753   MDRV_NVRAM_HANDLER(generic_0fill)
2745   MDRV_NVRAM_ADD_0FILL("nvram")
27542746
27552747   MDRV_PIA6821_ADD("pia0", sys903_pia0_intf)
27562748   MDRV_PIA6821_ADD("pia1", sys903_pia1_intf)
r9191r9192
27802772
27812773   /* acia */
27822774   MDRV_ACIA6850_ADD("acia6850_0", acia6850_intf)
2783MACHINE_DRIVER_END
2775MACHINE_CONFIG_END
27842776
27852777
2786static MACHINE_DRIVER_START( s903mod )
2778static MACHINE_CONFIG_DERIVED( s903mod, sys903 )
2779
27872780   /* basic machine hardware */
2788   MDRV_IMPORT_FROM( sys903 )
27892781
27902782   MDRV_CPU_MODIFY("maincpu")
27912783   MDRV_CPU_PROGRAM_MAP(s903mod_map)
r9191r9192
27962788   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
27972789
27982790   MDRV_DEVICE_REMOVE("acia6850_0")
2799MACHINE_DRIVER_END
2791MACHINE_CONFIG_END
28002792
28012793
2802static MACHINE_DRIVER_START( sys905 )
2794static MACHINE_CONFIG_DERIVED( sys905, sys903 )
2795
28032796   /* basic machine hardware */
2804   MDRV_IMPORT_FROM( sys903 )
28052797
28062798   MDRV_CPU_MODIFY("maincpu")
28072799   MDRV_CPU_PROGRAM_MAP(sys905_map)
r9191r9192
28152807   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
28162808
28172809   MDRV_DEVICE_REMOVE("acia6850_0")
2818MACHINE_DRIVER_END
2810MACHINE_CONFIG_END
28192811
28202812
2821static MACHINE_DRIVER_START( sys906 )
2813static MACHINE_CONFIG_DERIVED( sys906, sys903 )
2814
28222815   /* basic machine hardware */
2823   MDRV_IMPORT_FROM( sys903 )
28242816
28252817   MDRV_CPU_REPLACE("maincpu", M65C02, CPU_CLOCK)   /* guess */
28262818   MDRV_CPU_PROGRAM_MAP(sys906_map)
r9191r9192
28362828   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
28372829
28382830   MDRV_DEVICE_REMOVE("acia6850_0")
2839MACHINE_DRIVER_END
2831MACHINE_CONFIG_END
28402832
28412833
28422834/*************************************************
src/mame/drivers/sfkick.c
r9191r9192
457457   irqhandler
458458};
459459
460static MACHINE_DRIVER_START( sfkick )
460static MACHINE_CONFIG_START( sfkick, driver_device )
461461
462462   MDRV_CPU_ADD("maincpu",Z80,MASTER_CLOCK/6)
463463   MDRV_CPU_PROGRAM_MAP(sfkick_map)
r9191r9192
496496   MDRV_SOUND_ROUTE(2, "mono", 0.25)
497497   MDRV_SOUND_ROUTE(3, "mono", 0.50)
498498
499MACHINE_DRIVER_END
499MACHINE_CONFIG_END
500500
501501static DRIVER_INIT(sfkick)
502502{
src/mame/drivers/atetris.c
r9191r9192
5353#include "includes/atetris.h"
5454#include "sound/sn76496.h"
5555#include "sound/pokey.h"
56#include "machine/nvram.h"
5657
5758
5859#define MASTER_CLOCK      XTAL_14_31818MHz
r9191r9192
183184
184185static WRITE8_HANDLER( nvram_w )
185186{
187   atetris_state *state = space->machine->driver_data<atetris_state>();
186188   if (nvram_write_enable)
187      space->machine->generic.nvram.u8[offset] = data;
189      state->m_nvram[offset] = data;
188190   nvram_write_enable = 0;
189191}
190192
r9191r9192
205207/* full address map derived from schematics */
206208static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
207209   AM_RANGE(0x0000, 0x0fff) AM_RAM
208   AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
210   AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE_MEMBER(atetris_state, videoram)
209211   AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0300) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
210   AM_RANGE(0x2400, 0x25ff) AM_MIRROR(0x0200) AM_RAM_WRITE(nvram_w) AM_BASE_SIZE_GENERIC(nvram)
212   AM_RANGE(0x2400, 0x25ff) AM_MIRROR(0x0200) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
211213   AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w)
212214   AM_RANGE(0x2810, 0x281f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)
213215   AM_RANGE(0x3000, 0x3000) AM_MIRROR(0x03ff) AM_WRITE(watchdog_reset_w)
r9191r9192
222224
223225static ADDRESS_MAP_START( atetrisb2_map, ADDRESS_SPACE_PROGRAM, 8 )
224226   AM_RANGE(0x0000, 0x0fff) AM_RAM
225   AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
227   AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE_MEMBER(atetris_state, videoram)
226228   AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
227   AM_RANGE(0x2400, 0x25ff) AM_RAM_WRITE(nvram_w) AM_BASE_SIZE_GENERIC(nvram)
229   AM_RANGE(0x2400, 0x25ff) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
228230   AM_RANGE(0x2802, 0x2802) AM_DEVWRITE("sn1", sn76496_w)
229231   AM_RANGE(0x2804, 0x2804) AM_DEVWRITE("sn2", sn76496_w)
230232   AM_RANGE(0x2806, 0x2806) AM_DEVWRITE("sn3", sn76496_w)
r9191r9192
338340 *
339341 *************************************/
340342
341static MACHINE_DRIVER_START( atetris )
343static MACHINE_CONFIG_START( atetris, atetris_state )
342344
343345   /* basic machine hardware */
344346   MDRV_CPU_ADD("maincpu", M6502,MASTER_CLOCK/8)
r9191r9192
346348
347349   MDRV_MACHINE_START(atetris)
348350   MDRV_MACHINE_RESET(atetris)
349   MDRV_NVRAM_HANDLER(generic_1fill)
351   MDRV_NVRAM_ADD_1FILL("nvram")
350352
351353   /* video hardware */
352354   MDRV_GFXDECODE(atetris)
r9191r9192
371373   MDRV_SOUND_ADD("pokey2", POKEY, MASTER_CLOCK/8)
372374   MDRV_SOUND_CONFIG(pokey_interface_2)
373375   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
374MACHINE_DRIVER_END
376MACHINE_CONFIG_END
375377
376378
377static MACHINE_DRIVER_START( atetrisb2 )
379static MACHINE_CONFIG_START( atetrisb2, atetris_state )
378380
379381   /* basic machine hardware */
380382   MDRV_CPU_ADD("maincpu", M6502,BOOTLEG_CLOCK/8)
r9191r9192
382384
383385   MDRV_MACHINE_START(atetris)
384386   MDRV_MACHINE_RESET(atetris)
385   MDRV_NVRAM_HANDLER(generic_1fill)
387   MDRV_NVRAM_ADD_1FILL("nvram")
386388
387389   /* video hardware */
388390   MDRV_GFXDECODE(atetris)
r9191r9192
408410
409411   MDRV_SOUND_ADD("sn3", SN76496, BOOTLEG_CLOCK/8)
410412   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
411MACHINE_DRIVER_END
413MACHINE_CONFIG_END
412414
413415
414416
src/mame/drivers/dgpix.c
r9191r9192
303303}
304304
305305
306static MACHINE_DRIVER_START( dgpix )
306static MACHINE_CONFIG_START( dgpix, driver_device )
307307   MDRV_CPU_ADD("maincpu", E132XT, 20000000*4)   /* 4x internal multiplier */
308308   MDRV_CPU_PROGRAM_MAP(cpu_map)
309309   MDRV_CPU_IO_MAP(io_map)
r9191r9192
332332
333333   /* sound hardware */
334334   // KS0164 sound chip
335MACHINE_DRIVER_END
335MACHINE_CONFIG_END
336336
337337/*
338338
src/mame/drivers/4roses.c
r9191r9192
176176#include "cpu/m6502/m6502.h"
177177#include "video/mc6845.h"
178178#include "sound/ay8910.h"
179#include "machine/nvram.h"
180#include "includes/funworld.h"
179181
180/* from video */
181extern UINT8 *funworld_videoram;
182extern UINT8 *funworld_colorram;
183
184WRITE8_HANDLER( funworld_videoram_w );
185WRITE8_HANDLER( funworld_colorram_w );
186PALETTE_INIT( funworld );
187VIDEO_START( funworld );
188VIDEO_UPDATE( funworld );
189
190
191182/**********************
192183* Read/Write Handlers *
193184**********************/
r9191r9192
199190*************************/
200191
201192static ADDRESS_MAP_START( 4roses_map, ADDRESS_SPACE_PROGRAM, 8 )
202   AM_RANGE(0x0000, 0x07ff) AM_RAM   // AM_BASE_SIZE_GENERIC(nvram)
193   AM_RANGE(0x0000, 0x07ff) AM_RAM   // AM_SHARE("nvram")
203194   AM_RANGE(0x6000, 0x6fff) AM_RAM_WRITE(funworld_videoram_w) AM_BASE(&funworld_videoram)
204195   AM_RANGE(0x7000, 0x7fff) AM_RAM_WRITE(funworld_colorram_w) AM_BASE(&funworld_colorram)
205196   AM_RANGE(0x8000, 0xffff) AM_ROM
r9191r9192
379370*     Machine Drivers     *
380371**************************/
381372
382static MACHINE_DRIVER_START( 4roses )
373static MACHINE_CONFIG_START( 4roses, driver_device )
383374   /* basic machine hardware */
384375   MDRV_CPU_ADD("maincpu", M65C02, MASTER_CLOCK/8)   /* 2MHz, guess */
385376   MDRV_CPU_PROGRAM_MAP(4roses_map)
386377   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
387378
388//  MDRV_NVRAM_HANDLER(generic_0fill)
379//  MDRV_NVRAM_ADD_0FILL("nvram")
389380
390381   /* video hardware */
391382
r9191r9192
411402   MDRV_SOUND_ADD("ay8910", AY8910, MASTER_CLOCK/8)   /* 2MHz, guess */
412403   MDRV_SOUND_CONFIG(ay8910_intf)
413404   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.5)
414MACHINE_DRIVER_END
405MACHINE_CONFIG_END
415406
416407
417408/*************************
src/mame/drivers/sangho.c
r9191r9192
352352   v9938_init (machine, 0, *machine->primary_screen, machine->generic.tmpbitmap, MODEL_V9938, 0x20000, msx_vdp_interrupt);
353353}
354354
355static MACHINE_DRIVER_START(pzlestar)
355static MACHINE_CONFIG_START( pzlestar, driver_device )
356356
357357   MDRV_CPU_ADD("maincpu", Z80,8000000) // ?
358358   MDRV_CPU_PROGRAM_MAP(sangho_map)
r9191r9192
382382   MDRV_SOUND_ADD("ymsnd", YM2413, 3580000)
383383
384384   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
385MACHINE_DRIVER_END
385MACHINE_CONFIG_END
386386
387387
388static MACHINE_DRIVER_START(sexyboom )
388static MACHINE_CONFIG_START( sexyboom, driver_device )
389389
390390   MDRV_CPU_ADD("maincpu", Z80,8000000) // ?
391391   MDRV_CPU_PROGRAM_MAP(sangho_map)
r9191r9192
414414   MDRV_SOUND_ADD("ymsnd", YM2413, 3580000)
415415
416416   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
417MACHINE_DRIVER_END
417MACHINE_CONFIG_END
418418
419419ROM_START( pzlestar )
420420   ROM_REGION( 0x20000*16, "user1", 0 ) // 15 sockets, 13 used
src/mame/drivers/shaolins.c
r9191r9192
1010#include "cpu/m6809/m6809.h"
1111#include "deprecat.h"
1212#include "sound/sn76496.h"
13#include "includes/shaolins.h"
1314
1415#define MASTER_CLOCK XTAL_18_432MHz
1516
16UINT8 shaolins_nmi_enable;
17
18extern UINT8 *shaolins_videoram;
19extern UINT8 *shaolins_colorram;
20WRITE8_HANDLER( shaolins_videoram_w );
21WRITE8_HANDLER( shaolins_colorram_w );
22WRITE8_HANDLER( shaolins_palettebank_w );
23WRITE8_HANDLER( shaolins_scroll_w );
24WRITE8_HANDLER( shaolins_nmi_w );
25
26PALETTE_INIT( shaolins );
27VIDEO_START( shaolins );
28VIDEO_UPDATE( shaolins );
29
30
3117static INTERRUPT_GEN( shaolins_interrupt )
3218{
19   shaolins_state *state = device->machine->driver_data<shaolins_state>();
20
3321   if (cpu_getiloops(device) == 0) cpu_set_input_line(device, 0, HOLD_LINE);
3422   else if (cpu_getiloops(device) % 2)
3523   {
36      if (shaolins_nmi_enable & 0x02) cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
24      if (state->nmi_enable & 0x02) cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
3725   }
3826}
3927
r9191r9192
5846   AM_RANGE(0x2000, 0x2000) AM_WRITE(shaolins_scroll_w)
5947   AM_RANGE(0x2800, 0x2bff) AM_RAM                     /* RAM BANK 2 */
6048   AM_RANGE(0x3000, 0x30ff) AM_RAM                     /* RAM BANK 1 */
61   AM_RANGE(0x3100, 0x33ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
62   AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(shaolins_colorram_w) AM_BASE(&shaolins_colorram)
63   AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(shaolins_videoram_w) AM_BASE(&shaolins_videoram)
49   AM_RANGE(0x3100, 0x33ff) AM_RAM AM_BASE_SIZE_MEMBER(shaolins_state, spriteram, spriteram_size)
50   AM_RANGE(0x3800, 0x3bff) AM_RAM_WRITE(shaolins_colorram_w) AM_BASE_MEMBER(shaolins_state, colorram)
51   AM_RANGE(0x3c00, 0x3fff) AM_RAM_WRITE(shaolins_videoram_w) AM_BASE_MEMBER(shaolins_state, videoram)
6452   AM_RANGE(0x4000, 0x5fff) AM_ROM                   /* Machine checks for extra rom */
6553   AM_RANGE(0x6000, 0xffff) AM_ROM
6654ADDRESS_MAP_END
r9191r9192
200188
201189
202190
203static MACHINE_DRIVER_START( shaolins )
191static MACHINE_CONFIG_START( shaolins, shaolins_state )
204192
205193   /* basic machine hardware */
206194   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/12)        /* verified on pcb */
r9191r9192
230218
231219   MDRV_SOUND_ADD("sn2", SN76489A, MASTER_CLOCK/6)        /* verified on pcb */
232220   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
233MACHINE_DRIVER_END
221MACHINE_CONFIG_END
234222
235223#if 0 // a bootleg board was found with downgraded sound hardware, but is otherwise the same
236static MACHINE_DRIVER_START( shaolinb )
237   MDRV_IMPORT_FROM(shaolins)
224static MACHINE_CONFIG_DERIVED( shaolinb, shaolins )
238225
239226   MDRV_SOUND_REPLACE("sn1", SN76489, MASTER_CLOCK/12) /* only type verified on pcb */
240227   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
241228
242229   MDRV_SOUND_REPLACE("sn2", SN76489, MASTER_CLOCK/6)  /* only type verified on pcb */
243230   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
244MACHINE_DRIVER_END
231MACHINE_CONFIG_END
245232#endif
246233
247234/***************************************************************************
src/mame/drivers/bmcbowl.c
r9191r9192
211211}
212212
213213
214static READ16_HANDLER(bmcbowl_via_r)
215{
216   running_device *via_0 = space->machine->device("via6522_0");
217   return via_r(via_0, offset);
218}
219
220static WRITE16_HANDLER(bmcbowl_via_w)
221{
222   running_device *via_0 = space->machine->device("via6522_0");
223   via_w(via_0, offset, data);
224}
225
226214static READ8_DEVICE_HANDLER(via_b_in)
227215{
228216   return input_port_read(device->machine, "IN3");
r9191r9192
333321   AM_RANGE(0x091000, 0x091001) AM_WRITENOP
334322   AM_RANGE(0x091800, 0x091801) AM_WRITE(scroll_w)
335323
336   AM_RANGE(0x092000, 0x09201f) AM_READWRITE(bmcbowl_via_r, bmcbowl_via_w)
324   AM_RANGE(0x092000, 0x09201f) AM_DEVREADWRITE8_MODERN("via6522_0", via6522_device, read, write, 0x00ff)
337325
338326   AM_RANGE(0x093000, 0x093003) AM_WRITENOP  // related to music
339327   AM_RANGE(0x092800, 0x092803) AM_DEVWRITE8("aysnd", ay8910_data_address_w, 0xff00)
r9191r9192
346334   AM_RANGE(0x1f0000, 0x1fffff) AM_RAM
347335   AM_RANGE(0x200000, 0x21ffff) AM_RAM AM_BASE(&bmcbowl_vid2)
348336
349   AM_RANGE(0x28c000, 0x28c001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0xff00)
337   AM_RANGE(0x28c000, 0x28c001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff00)
350338
351339   /* protection device*/
352340   AM_RANGE(0x30c000, 0x30c001) AM_WRITENOP
r9191r9192
402390   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
403391   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
404392
405   PORT_DIPNAME( 0x40, 0x00, "DSW2 4" )
393   PORT_DIPNAME( 0x40, 0x00, "DSW2 2" )
406394   PORT_DIPSETTING(    0x040, DEF_STR( Off ) )
407395   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
408396   PORT_DIPNAME( 0x80, 0x00, "DSW2 1" )
r9191r9192
492480      cpu_set_input_line(device, 2, HOLD_LINE);
493481}
494482
495static MACHINE_DRIVER_START( bmcbowl )
483static MACHINE_CONFIG_START( bmcbowl, driver_device )
496484   MDRV_CPU_ADD("maincpu", M68000, 21477270/2 )
497485   MDRV_CPU_PROGRAM_MAP(bmcbowl_mem)
498486   MDRV_CPU_VBLANK_INT_HACK(bmc_interrupt,2)
r9191r9192
526514
527515   /* via */
528516   MDRV_VIA6522_ADD("via6522_0", 1000000, via_interface)
529MACHINE_DRIVER_END
517MACHINE_CONFIG_END
530518
531519ROM_START( bmcbowl )
532520   ROM_REGION( 0x200000, "maincpu", 0 ) /* 68000 Code */
src/mame/drivers/pachifev.c
r9191r9192
8686#define USE_MSM 0
8787#define NUM_PLUNGER_REPEATS    50
8888
89class pachifev_state : public driver_data_t
89class pachifev_state : public driver_device
9090{
9191public:
92    static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pachifev_state(machine)); }
92    pachifev_state(running_machine &machine, const driver_device_config_base &config)
93      : driver_device(machine, config) { }
9394
94    pachifev_state(running_machine &machine)
95      : driver_data_t(machine) { }
96
9795 /* controls related */
9896
9997 int power;
r9191r9192
361359    1,0,0
362360};
363361
364static MACHINE_DRIVER_START( pachifev )
362static MACHINE_CONFIG_START( pachifev, pachifev_state )
365363
366    MDRV_DRIVER_DATA(pachifev_state)
367
368364    /* basic machine hardware */
369365    MDRV_CPU_ADD("maincpu", TMS9995, XTAL_12MHz)
370366    MDRV_CPU_CONFIG(pachifev_processor_config)
r9191r9192
377373
378374    /* video hardware */
379375
380    MDRV_IMPORT_FROM(tms9928a)
376    MDRV_FRAGMENT_ADD(tms9928a)
381377    MDRV_SCREEN_MODIFY("screen")
382378    MDRV_SCREEN_REFRESH_RATE((float)XTAL_10_738635MHz/2/342/262)
383379    MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
r9191r9192
393389    MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
394390    MDRV_SOUND_ADD("sn76_2", SN76489A, XTAL_10_738635MHz/3) /* guess */
395391    MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
396MACHINE_DRIVER_END
392MACHINE_CONFIG_END
397393
398394ROM_START( pachifev )
399395    ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/kyugo.c
r9191r9192
479479}
480480
481481
482static MACHINE_DRIVER_START( gyrodine )
482static MACHINE_CONFIG_START( gyrodine, kyugo_state )
483483
484   /* driver data */
485   MDRV_DRIVER_DATA(kyugo_state)
486
487484   /* basic machine hardware */
488485   MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6)   /* verified on pcb */
489486   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
524521
525522   MDRV_SOUND_ADD("ay2", AY8910, XTAL_18_432MHz/12)  /* verified on pcb */
526523   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
527MACHINE_DRIVER_END
524MACHINE_CONFIG_END
528525
529static MACHINE_DRIVER_START( repulse )
526static MACHINE_CONFIG_DERIVED( repulse, gyrodine )
530527
531528   /* basic machine hardware */
532   MDRV_IMPORT_FROM(gyrodine)
533529   MDRV_CPU_MODIFY("sub")
534530   MDRV_CPU_PROGRAM_MAP(repulse_sub_map)
535531   MDRV_CPU_IO_MAP(repulse_sub_portmap)
536MACHINE_DRIVER_END
532MACHINE_CONFIG_END
537533
538static MACHINE_DRIVER_START( srdmissn )
534static MACHINE_CONFIG_DERIVED( srdmissn, gyrodine )
539535
540536   /* basic machine hardware */
541   MDRV_IMPORT_FROM(gyrodine)
542537   MDRV_CPU_MODIFY("maincpu")
543538   MDRV_CPU_IO_MAP(srdmissn_portmap)
544539
545540   MDRV_CPU_MODIFY("sub")
546541   MDRV_CPU_PROGRAM_MAP(srdmissn_sub_map)
547542   MDRV_CPU_IO_MAP(srdmissn_sub_portmap)
548MACHINE_DRIVER_END
543MACHINE_CONFIG_END
549544
550static MACHINE_DRIVER_START( flashgal )
545static MACHINE_CONFIG_DERIVED( flashgal, repulse )
551546
552547   /* basic machine hardware */
553   MDRV_IMPORT_FROM(repulse)
554548   MDRV_CPU_MODIFY("maincpu")
555549   MDRV_CPU_IO_MAP(flashgal_portmap)
556MACHINE_DRIVER_END
550MACHINE_CONFIG_END
557551
558static MACHINE_DRIVER_START( flashgala )
552static MACHINE_CONFIG_DERIVED( flashgala, gyrodine )
559553
560554   /* basic machine hardware */
561   MDRV_IMPORT_FROM(gyrodine)
562555   MDRV_CPU_MODIFY("maincpu")
563556   MDRV_CPU_IO_MAP(flashgala_portmap)
564557
565558   MDRV_CPU_MODIFY("sub")
566559   MDRV_CPU_PROGRAM_MAP(flashgala_sub_map)
567560   MDRV_CPU_IO_MAP(flashgala_sub_portmap)
568MACHINE_DRIVER_END
561MACHINE_CONFIG_END
569562
570static MACHINE_DRIVER_START( legend )
563static MACHINE_CONFIG_DERIVED( legend, gyrodine )
571564
572565   /* basic machine hardware */
573   MDRV_IMPORT_FROM(gyrodine)
574566   MDRV_CPU_MODIFY("sub")
575567   MDRV_CPU_PROGRAM_MAP(legend_sub_map)
576568   MDRV_CPU_IO_MAP(srdmissn_sub_portmap)
577MACHINE_DRIVER_END
569MACHINE_CONFIG_END
578570
579571
580572/*************************************
src/mame/drivers/leland.c
r9191r9192
4444#include "emu.h"
4545#include "cpu/i86/i86.h"
4646#include "machine/eeprom.h"
47#include "machine/nvram.h"
4748#include "cpu/z80/z80.h"
4849#include "includes/leland.h"
4950#include "sound/ay8910.h"
r9191r9192
6465static ADDRESS_MAP_START( master_map_program, ADDRESS_SPACE_PROGRAM, 8 )
6566   AM_RANGE(0x0000, 0x1fff) AM_ROM
6667   AM_RANGE(0x2000, 0x9fff) AM_ROMBANK("bank1")
67   AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank2")
68   AM_RANGE(0xa000, 0xdfff) AM_WRITE(leland_battery_ram_w)
68   AM_RANGE(0xa000, 0xdfff) AM_ROMBANK("bank2") AM_WRITE(leland_battery_ram_w) AM_SHARE("battery")
6969   AM_RANGE(0xe000, 0xefff) AM_RAM
7070   AM_RANGE(0xf000, 0xf3ff) AM_READWRITE(leland_gated_paletteram_r, leland_gated_paletteram_w) AM_BASE_GENERIC(paletteram)
7171   AM_RANGE(0xf800, 0xf801) AM_WRITE(leland_master_video_addr_w)
r9191r9192
731731 *
732732 *************************************/
733733
734static MACHINE_DRIVER_START( leland )
734static MACHINE_CONFIG_START( leland, driver_device )
735735
736736   /* basic machine hardware */
737737   MDRV_CPU_ADD("master", Z80, MASTER_CLOCK/2)
r9191r9192
745745
746746   MDRV_MACHINE_START(leland)
747747   MDRV_MACHINE_RESET(leland)
748   MDRV_NVRAM_HANDLER(leland)
749748
750749   MDRV_EEPROM_ADD("eeprom", eeprom_intf)
750   MDRV_NVRAM_ADD_0FILL("battery")
751751
752752   /* video hardware */
753   MDRV_IMPORT_FROM(leland_video)
753   MDRV_FRAGMENT_ADD(leland_video)
754754
755755   /* sound hardware */
756756   MDRV_SPEAKER_STANDARD_MONO("mono")
r9191r9192
765765
766766   MDRV_SOUND_ADD("custom", LELAND, 0)
767767   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
768MACHINE_DRIVER_END
768MACHINE_CONFIG_END
769769
770770
771static MACHINE_DRIVER_START( redline )
771static MACHINE_CONFIG_DERIVED( redline, leland )
772772
773773   /* basic machine hardware */
774   MDRV_IMPORT_FROM(leland)
775774
776775   MDRV_CPU_ADD("audiocpu", I80186, MCU_CLOCK)
777776   MDRV_CPU_PROGRAM_MAP(leland_80186_map_program)
r9191r9192
780779   /* sound hardware */
781780   MDRV_SOUND_REPLACE("custom", REDLINE_80186, 0)
782781   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
783MACHINE_DRIVER_END
782MACHINE_CONFIG_END
784783
785784
786static MACHINE_DRIVER_START( quarterb )
785static MACHINE_CONFIG_DERIVED( quarterb, redline )
787786
788787   /* basic machine hardware */
789   MDRV_IMPORT_FROM(redline)
790788
791789   MDRV_CPU_MODIFY("audiocpu")
792790   MDRV_CPU_IO_MAP(leland_80186_map_io)
r9191r9192
794792   /* sound hardware */
795793   MDRV_SOUND_REPLACE("custom", LELAND_80186, 0)
796794   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
797MACHINE_DRIVER_END
795MACHINE_CONFIG_END
798796
799797
800static MACHINE_DRIVER_START( lelandi )
798static MACHINE_CONFIG_DERIVED( lelandi, quarterb )
801799
802800   /* basic machine hardware */
803   MDRV_IMPORT_FROM(quarterb)
804801
805802   MDRV_CPU_MODIFY("slave")
806803   MDRV_CPU_PROGRAM_MAP(slave_large_map_program)
807MACHINE_DRIVER_END
804MACHINE_CONFIG_END
808805
809806
810807
src/mame/drivers/lazercmd.c
r9191r9192
624624}
625625
626626
627static MACHINE_DRIVER_START( lazercmd )
627static MACHINE_CONFIG_START( lazercmd, lazercmd_state )
628628
629   /* driver data */
630   MDRV_DRIVER_DATA(lazercmd_state)
631
632629   /* basic machine hardware */
633630   MDRV_CPU_ADD("maincpu", S2650,MASTER_CLOCK/12)            /* 672 kHz? */
634631/*  Main Clock is 8MHz divided by 12
r9191r9192
662659
663660   MDRV_SOUND_ADD("dac", DAC, 0)
664661   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
665MACHINE_DRIVER_END
662MACHINE_CONFIG_END
666663
667664
668static MACHINE_DRIVER_START( medlanes )
665static MACHINE_CONFIG_START( medlanes, lazercmd_state )
669666
670   /* driver data */
671   MDRV_DRIVER_DATA(lazercmd_state)
672
673667   /* basic machine hardware */
674668   MDRV_CPU_ADD("maincpu", S2650,MASTER_CLOCK/12)            /* 666 kHz */
675669/*  Main Clock is 8MHz divided by 12
r9191r9192
703697
704698   MDRV_SOUND_ADD("dac", DAC, 0)
705699   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
706MACHINE_DRIVER_END
700MACHINE_CONFIG_END
707701
708702
709static MACHINE_DRIVER_START( bbonk )
703static MACHINE_CONFIG_START( bbonk, lazercmd_state )
710704
711   /* driver data */
712   MDRV_DRIVER_DATA(lazercmd_state)
713
714705   /* basic machine hardware */
715706   MDRV_CPU_ADD("maincpu", S2650,MASTER_CLOCK/12)            /* 666 kHz */
716707/*  Main Clock is 8MHz divided by 12
r9191r9192
744735
745736   MDRV_SOUND_ADD("dac", DAC, 0)
746737   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
747MACHINE_DRIVER_END
738MACHINE_CONFIG_END
748739
749740/***************************************************************************
750741
src/mame/drivers/pcat_nit.c
r9191r9192
9191#include "video/pc_vga.h"
9292#include "video/pc_video.h"
9393
94static UINT8 *banked_nvram;
95
9496static void pcat_nit_microtouch_tx_callback(running_machine *machine, UINT8 data)
9597{
9698   ins8250_receive(machine->device("ns16450_0"), data);
r9191r9192
143145   else
144146   {
145147      // nvram bank
146      memory_unmap_read(space, 0x000d8000, 0x000dffff, 0, 0);
147      memory_unmap_write(space, 0x000d8000, 0x000dffff, 0, 0);
148      memory_unmap_readwrite(space, 0x000d8000, 0x000dffff, 0, 0);
148149
149      memory_install_read_bank(space, 0x000d8000, 0x000d9fff, 0, 0, "nvrambank" );
150      memory_install_write_bank(space, 0x000d8000, 0x000d9fff, 0, 0, "nvrambank" );
150      memory_install_readwrite_bank(space, 0x000d8000, 0x000d9fff, 0, 0, "nvrambank" );
151151
152      memory_set_bankptr(space->machine, "nvrambank", space->machine->generic.nvram.u8);
152      memory_set_bankptr(space->machine, "nvrambank", banked_nvram);
153153
154154   }
155155}
r9191r9192
216216   cpu_set_irq_callback(machine->device("maincpu"), pcat_irq_callback);
217217
218218   init_pc_common(machine, PCCOMMON_KEYBOARD_AT, streetg2_set_keyb_int);
219   mc146818_init(machine, MC146818_STANDARD);
220219
221220   memory_configure_bank(machine, "rombank", 0, 0x80, memory_region(machine, "game_prg"), 0x8000 );
222221   memory_set_bank(machine, "rombank", 0);
r9191r9192
224223   microtouch_init(machine, pcat_nit_microtouch_tx_callback, NULL);
225224}
226225
227static MACHINE_DRIVER_START( pcat_nit )
226static MACHINE_CONFIG_START( pcat_nit, driver_device )
228227   /* basic machine hardware */
229228   MDRV_CPU_ADD("maincpu", I386, 14318180*2)   /* I386 ?? Mhz */
230229   MDRV_CPU_PROGRAM_MAP(pcat_map)
231230   MDRV_CPU_IO_MAP(pcat_nit_io)
232231
233232   /* video hardware */
234   MDRV_IMPORT_FROM( pcvideo_vga )
233   MDRV_FRAGMENT_ADD( pcvideo_vga )
235234
236235   MDRV_SCREEN_MODIFY("screen")
237236   MDRV_SCREEN_REFRESH_RATE(60)
238237   MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
239238
240239   MDRV_MACHINE_START(streetg2)
241   MDRV_NVRAM_HANDLER( mc146818 )
240   MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
242241
243//  MDRV_IMPORT_FROM( at_kbdc8042 )
244   MDRV_IMPORT_FROM( pcat_common )
242//  MDRV_FRAGMENT_ADD( at_kbdc8042 )
243   MDRV_FRAGMENT_ADD( pcat_common )
245244   MDRV_NS16450_ADD( "ns16450_0", pcat_nit_com0_interface )
246245
247MACHINE_DRIVER_END
246MACHINE_CONFIG_END
248247
249248/***************************************
250249*
r9191r9192
380379
381380static DRIVER_INIT(pcat_nit)
382381{
383   machine->generic.nvram_size = 0x2000;
384   machine->generic.nvram.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram_size);
382   banked_nvram = auto_alloc_array(machine, UINT8, 0x2000);
385383
386384   pc_vga_init(machine, &vga_interface, NULL);
387385}
src/mame/drivers/blockade.c
r9191r9192
480480   state->just_been_reset = 0;
481481}
482482
483static MACHINE_DRIVER_START( blockade )
483static MACHINE_CONFIG_START( blockade, blockade_state )
484484
485   /* driver data */
486   MDRV_DRIVER_DATA(blockade_state)
487
488485   /* basic machine hardware */
489486   MDRV_CPU_ADD("maincpu", I8080, MASTER_CLOCK/10)
490487   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
519516   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
520517   MDRV_SOUND_CONFIG_DISCRETE(blockade)
521518   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
522MACHINE_DRIVER_END
519MACHINE_CONFIG_END
523520
524static MACHINE_DRIVER_START( comotion )
525   MDRV_IMPORT_FROM(blockade)
521static MACHINE_CONFIG_DERIVED( comotion, blockade )
526522   MDRV_PALETTE_INIT(bw)
527MACHINE_DRIVER_END
523MACHINE_CONFIG_END
528524
529static MACHINE_DRIVER_START( blasto )
530   MDRV_IMPORT_FROM(blockade)
525static MACHINE_CONFIG_DERIVED( blasto, blockade )
531526   MDRV_GFXDECODE(blasto)
532527   MDRV_PALETTE_INIT(bw)
533MACHINE_DRIVER_END
528MACHINE_CONFIG_END
534529
535static MACHINE_DRIVER_START( hustle )
536   MDRV_IMPORT_FROM(blockade)
530static MACHINE_CONFIG_DERIVED( hustle, blockade )
537531   MDRV_GFXDECODE(blasto)
538532   MDRV_PALETTE_INIT(yellow)
539MACHINE_DRIVER_END
533MACHINE_CONFIG_END
540534
541535/*************************************
542536 *
src/mame/drivers/lordgun.c
r9191r9192
325325
326326static ADDRESS_MAP_START( lordgun_soundio_map, ADDRESS_SPACE_IO, 8 )
327327   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE( "ymsnd", ym3812_w )
328   AM_RANGE(0x2000, 0x2000) AM_DEVREADWRITE( "oki", okim6295_r, okim6295_w )
328   AM_RANGE(0x2000, 0x2000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
329329   AM_RANGE(0x3000, 0x3000) AM_READ( soundlatch2_r )
330330   AM_RANGE(0x4000, 0x4000) AM_READ( soundlatch_r )
331331   AM_RANGE(0x5000, 0x5000) AM_READNOP
r9191r9192
339339   AM_RANGE(0x5000, 0x5000) AM_WRITENOP   // writes 03 then 07 at end of NMI
340340   AM_RANGE(0x7000, 0x7000) AM_DEVREAD("ymf", ymf278b_r)
341341   AM_RANGE(0x7000, 0x7005) AM_DEVWRITE("ymf", ymf278b_w)
342   AM_RANGE(0x7400, 0x7400) AM_DEVREADWRITE( "oki",  okim6295_r, okim6295_w )
343   AM_RANGE(0x7800, 0x7800) AM_DEVREADWRITE( "oki2", okim6295_r, okim6295_w )
342   AM_RANGE(0x7400, 0x7400) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
343   AM_RANGE(0x7800, 0x7800) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
344344ADDRESS_MAP_END
345345
346346
r9191r9192
650650   soundirq
651651};
652652
653static MACHINE_DRIVER_START( lordgun )
653static MACHINE_CONFIG_START( lordgun, driver_device )
654654   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
655655   MDRV_CPU_PROGRAM_MAP(lordgun_map)
656656   MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
r9191r9192
686686
687687   MDRV_OKIM6295_ADD("oki", XTAL_20MHz / 20, OKIM6295_PIN7_HIGH)   // ? 5MHz can't be right!
688688   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
689MACHINE_DRIVER_END
689MACHINE_CONFIG_END
690690
691691
692692static const ymf278b_interface ymf278b_config =
r9191r9192
694694   soundirq
695695};
696696
697static MACHINE_DRIVER_START( aliencha )
697static MACHINE_CONFIG_START( aliencha, driver_device )
698698   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
699699   MDRV_CPU_PROGRAM_MAP(aliencha_map)
700700   MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
r9191r9192
733733
734734   MDRV_OKIM6295_ADD("oki2", XTAL_20MHz / 20, OKIM6295_PIN7_HIGH)   // ? 5MHz can't be right
735735   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
736MACHINE_DRIVER_END
736MACHINE_CONFIG_END
737737
738738
739739/***************************************************************************
src/mame/drivers/zerozone.c
r9191r9192
7878static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
7979   AM_RANGE(0x0000, 0x7fff) AM_ROM
8080   AM_RANGE(0x8000, 0x87ff) AM_RAM
81   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
81   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
8282   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
8383ADDRESS_MAP_END
8484
r9191r9192
184184   state->tilebank = 0;
185185}
186186
187static MACHINE_DRIVER_START( zerozone )
187static MACHINE_CONFIG_START( zerozone, zerozone_state )
188188
189   /* driver data */
190   MDRV_DRIVER_DATA(zerozone_state)
191
192189   /* basic machine hardware */
193190   MDRV_CPU_ADD("maincpu", M68000, 10000000)   /* 10 MHz */
194191   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
221218
222219   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
223220   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
224MACHINE_DRIVER_END
221MACHINE_CONFIG_END
225222
226223
227224
src/mame/drivers/lemmings.c
r9191r9192
116116static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
117117   AM_RANGE(0x0000, 0x07ff) AM_RAM
118118   AM_RANGE(0x0800, 0x0801) AM_DEVREADWRITE("ymsnd", ym2151_r,ym2151_w)
119   AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
119   AM_RANGE(0x1000, 0x1000) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
120120   AM_RANGE(0x1800, 0x1800) AM_READWRITE(soundlatch_r,lemmings_sound_ack_w)
121121   AM_RANGE(0x8000, 0xffff) AM_ROM
122122ADDRESS_MAP_END
r9191r9192
262262   state->audiocpu = machine->device("audiocpu");
263263}
264264
265static MACHINE_DRIVER_START( lemmings )
265static MACHINE_CONFIG_START( lemmings, lemmings_state )
266266
267   /* driver data */
268   MDRV_DRIVER_DATA(lemmings_state)
269
270267   /* basic machine hardware */
271268   MDRV_CPU_ADD("maincpu", M68000, 14000000)
272269   MDRV_CPU_PROGRAM_MAP(lemmings_map)
r9191r9192
305302   MDRV_OKIM6295_ADD("oki", 1023924, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
306303   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
307304   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
308MACHINE_DRIVER_END
305MACHINE_CONFIG_END
309306
310307/******************************************************************************/
311308
src/mame/drivers/espial.c
r9191r9192
324324
325325
326326
327static MACHINE_DRIVER_START( espial )
327static MACHINE_CONFIG_START( espial, espial_state )
328328
329   /* driver data */
330   MDRV_DRIVER_DATA(espial_state)
331
332329   /* basic machine hardware */
333330   MDRV_CPU_ADD("maincpu", Z80, 3072000)   /* 3.072 MHz */
334331   MDRV_CPU_PROGRAM_MAP(espial_map)
r9191r9192
361358   MDRV_SPEAKER_STANDARD_MONO("mono")
362359   MDRV_SOUND_ADD("aysnd", AY8910, 1500000)
363360   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
364MACHINE_DRIVER_END
361MACHINE_CONFIG_END
365362
366static MACHINE_DRIVER_START( netwars )
363static MACHINE_CONFIG_DERIVED( netwars, espial )
367364
368365   /* basic machine hardware */
369   MDRV_IMPORT_FROM(espial)
370366
371367   MDRV_CPU_MODIFY("maincpu")
372368   MDRV_CPU_PROGRAM_MAP(netwars_map)
r9191r9192
376372   MDRV_SCREEN_SIZE(32*8, 64*8)
377373
378374   MDRV_VIDEO_START(netwars)
379MACHINE_DRIVER_END
375MACHINE_CONFIG_END
380376
381377
382378
src/mame/drivers/tiamc1.c
r9191r9192
218218GFXDECODE_END
219219
220220
221static MACHINE_DRIVER_START( tiamc1 )
221static MACHINE_CONFIG_START( tiamc1, driver_device )
222222   /* basic machine hardware */
223223   MDRV_CPU_ADD("maincpu", I8080,16000000/9)       /* 16 MHz */
224224   MDRV_CPU_PROGRAM_MAP(tiamc1_map)
r9191r9192
248248
249249   MDRV_SOUND_ADD("2x8253", TIAMC1, 16000000/9)
250250   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
251MACHINE_DRIVER_END
251MACHINE_CONFIG_END
252252
253253
254254ROM_START( konek )
src/mame/drivers/toaplan1.c
r9191r9192
15101510
15111511
15121512
1513static MACHINE_DRIVER_START( rallybik )
1513static MACHINE_CONFIG_START( rallybik, toaplan1_state )
15141514
1515   MDRV_DRIVER_DATA( toaplan1_state )
1516
15171515   /* basic machine hardware */
15181516   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)
15191517   MDRV_CPU_PROGRAM_MAP(rallybik_main_map)
r9191r9192
15491547   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
15501548   MDRV_SOUND_CONFIG(ym3812_config)
15511549   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1552MACHINE_DRIVER_END
1550MACHINE_CONFIG_END
15531551
15541552
1555static MACHINE_DRIVER_START( truxton )
1553static MACHINE_CONFIG_START( truxton, toaplan1_state )
15561554
1557   MDRV_DRIVER_DATA( toaplan1_state )
1558
15591555   /* basic machine hardware */
15601556   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)
15611557   MDRV_CPU_PROGRAM_MAP(truxton_main_map)
r9191r9192
15911587   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
15921588   MDRV_SOUND_CONFIG(ym3812_config)
15931589   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1594MACHINE_DRIVER_END
1590MACHINE_CONFIG_END
15951591
15961592
1597static MACHINE_DRIVER_START( hellfire )
1593static MACHINE_CONFIG_START( hellfire, toaplan1_state )
15981594
1599   MDRV_DRIVER_DATA( toaplan1_state )
1600
16011595   /* basic machine hardware */
16021596   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)
16031597   MDRV_CPU_PROGRAM_MAP(hellfire_main_map)
r9191r9192
16331627   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
16341628   MDRV_SOUND_CONFIG(ym3812_config)
16351629   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1636MACHINE_DRIVER_END
1630MACHINE_CONFIG_END
16371631
16381632
1639static MACHINE_DRIVER_START( zerowing )
1633static MACHINE_CONFIG_START( zerowing, toaplan1_state )
16401634
1641   MDRV_DRIVER_DATA( toaplan1_state )
1642
16431635   /* basic machine hardware */
16441636   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)
16451637   MDRV_CPU_PROGRAM_MAP(zerowing_main_map)
r9191r9192
16751667   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
16761668   MDRV_SOUND_CONFIG(ym3812_config)
16771669   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1678MACHINE_DRIVER_END
1670MACHINE_CONFIG_END
16791671
16801672
1681static MACHINE_DRIVER_START( demonwld )
1673static MACHINE_CONFIG_START( demonwld, toaplan1_state )
16821674
1683   MDRV_DRIVER_DATA( toaplan1_state )
1684
16851675   /* basic machine hardware */
16861676   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)
16871677   MDRV_CPU_PROGRAM_MAP(demonwld_main_map)
r9191r9192
17211711   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
17221712   MDRV_SOUND_CONFIG(ym3812_config)
17231713   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1724MACHINE_DRIVER_END
1714MACHINE_CONFIG_END
17251715
17261716
1727static MACHINE_DRIVER_START( samesame )
1717static MACHINE_CONFIG_START( samesame, toaplan1_state )
17281718
1729   MDRV_DRIVER_DATA( toaplan1_state )
1730
17311719   /* basic machine hardware */
17321720   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)
17331721   MDRV_CPU_PROGRAM_MAP(samesame_main_map)
r9191r9192
17611749   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
17621750   MDRV_SOUND_CONFIG(ym3812_config)
17631751   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1764MACHINE_DRIVER_END
1752MACHINE_CONFIG_END
17651753
17661754
1767static MACHINE_DRIVER_START( outzone )
1755static MACHINE_CONFIG_START( outzone, toaplan1_state )
17681756
1769   MDRV_DRIVER_DATA( toaplan1_state )
1770
17711757   /* basic machine hardware */
17721758   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)
17731759   MDRV_CPU_PROGRAM_MAP(outzone_main_map)
r9191r9192
18031789   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
18041790   MDRV_SOUND_CONFIG(ym3812_config)
18051791   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1806MACHINE_DRIVER_END
1792MACHINE_CONFIG_END
18071793
18081794
1809static MACHINE_DRIVER_START( vimana )
1795static MACHINE_CONFIG_START( vimana, toaplan1_state )
18101796
1811   MDRV_DRIVER_DATA( toaplan1_state )
1812
18131797   /* basic machine hardware */
18141798   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz)   /* verified on pcb */
18151799   MDRV_CPU_PROGRAM_MAP(vimana_main_map)
r9191r9192
18431827   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)   /* verified on pcb */
18441828   MDRV_SOUND_CONFIG(ym3812_config)
18451829   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1846MACHINE_DRIVER_END
1830MACHINE_CONFIG_END
18471831
18481832
18491833
src/mame/drivers/segag80r.c
r9191r9192
145145 *
146146 *************************************/
147147
148extern UINT8 (*sega_decrypt)(offs_t, UINT8);
149
150148static UINT8 *mainram;
151149
152150
r9191r9192
349347   AM_RANGE(0x0800, 0x7fff) AM_ROM      /* PROM board ROM area */
350348   AM_RANGE(0x8000, 0xbfff) AM_ROM      /* PROM board ROM area */
351349   AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(mainram_w) AM_BASE(&mainram)
352   AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(vidram_w) AM_BASE_GENERIC(videoram)
350   AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(vidram_w) AM_BASE_MEMBER(segag80r_state, videoram)
353351ADDRESS_MAP_END
354352
355353
r9191r9192
831829 *
832830 *************************************/
833831
834static MACHINE_DRIVER_START( g80r_base )
832static MACHINE_CONFIG_START( g80r_base, segag80r_state )
835833
836834   /* basic machine hardware */
837835   MDRV_CPU_ADD("maincpu", Z80, VIDEO_CLOCK/4)
r9191r9192
854852
855853   /* sound hardware */
856854   MDRV_SPEAKER_STANDARD_MONO("mono")
857MACHINE_DRIVER_END
855MACHINE_CONFIG_END
858856
859857
860static MACHINE_DRIVER_START( astrob )
858static MACHINE_CONFIG_DERIVED( astrob, g80r_base )
861859
862860   /* basic machine hardware */
863   MDRV_IMPORT_FROM(g80r_base)
864861
865862   /* sound boards */
866   MDRV_IMPORT_FROM(astrob_sound_board)
867   MDRV_IMPORT_FROM(sega_speech_board)
868MACHINE_DRIVER_END
863   MDRV_FRAGMENT_ADD(astrob_sound_board)
864   MDRV_FRAGMENT_ADD(sega_speech_board)
865MACHINE_CONFIG_END
869866
870867
871static MACHINE_DRIVER_START( 005 )
868static MACHINE_CONFIG_DERIVED( 005, g80r_base )
872869
873870   /* basic machine hardware */
874   MDRV_IMPORT_FROM(g80r_base)
875871
876872   MDRV_CPU_MODIFY("maincpu")
877873   MDRV_CPU_IO_MAP(main_ppi8255_portmap)
878874
879875   /* sound boards */
880   MDRV_IMPORT_FROM(005_sound_board)
881MACHINE_DRIVER_END
876   MDRV_FRAGMENT_ADD(005_sound_board)
877MACHINE_CONFIG_END
882878
883879
884static MACHINE_DRIVER_START( spaceod )
880static MACHINE_CONFIG_DERIVED( spaceod, g80r_base )
885881
886882   /* basic machine hardware */
887   MDRV_IMPORT_FROM(g80r_base)
888883
889884   /* background board changes */
890885   MDRV_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
r9191r9192
894889   MDRV_PALETTE_LENGTH(64+64)
895890
896891   /* sound boards */
897   MDRV_IMPORT_FROM(spaceod_sound_board)
898MACHINE_DRIVER_END
892   MDRV_FRAGMENT_ADD(spaceod_sound_board)
893MACHINE_CONFIG_END
899894
900895
901static MACHINE_DRIVER_START( monsterb )
896static MACHINE_CONFIG_DERIVED( monsterb, g80r_base )
902897
903898   /* basic machine hardware */
904   MDRV_IMPORT_FROM(g80r_base)
905899
906900   MDRV_CPU_MODIFY("maincpu")
907901   MDRV_CPU_IO_MAP(main_ppi8255_portmap)
r9191r9192
911905   MDRV_PALETTE_LENGTH(64+64)
912906
913907   /* sound boards */
914   MDRV_IMPORT_FROM(monsterb_sound_board)
915MACHINE_DRIVER_END
908   MDRV_FRAGMENT_ADD(monsterb_sound_board)
909MACHINE_CONFIG_END
916910
917911
918static MACHINE_DRIVER_START( pignewt )
912static MACHINE_CONFIG_DERIVED( pignewt, g80r_base )
919913
920914   /* basic machine hardware */
921   MDRV_IMPORT_FROM(g80r_base)
922915
923916   /* background board changes */
924917   MDRV_GFXDECODE(monsterb)
r9191r9192
926919
927920   /* sound boards */
928921   MDRV_MACHINE_RESET(pignewt)
929   MDRV_IMPORT_FROM(sega_universal_sound_board)
930MACHINE_DRIVER_END
922   MDRV_FRAGMENT_ADD(sega_universal_sound_board)
923MACHINE_CONFIG_END
931924
932925
933static MACHINE_DRIVER_START( sindbadm )
926static MACHINE_CONFIG_DERIVED( sindbadm, g80r_base )
934927
935928   /* basic machine hardware */
936   MDRV_IMPORT_FROM(g80r_base)
937929   MDRV_CPU_MODIFY("maincpu")
938930   MDRV_CPU_IO_MAP(sindbadm_portmap)
939931   MDRV_CPU_VBLANK_INT("screen", sindbadm_vblank_start)
r9191r9192
956948
957949   MDRV_SOUND_ADD("sn2", SN76496, SINDBADM_SOUND_CLOCK/2)
958950   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
959MACHINE_DRIVER_END
951MACHINE_CONFIG_END
960952
961953
962954
src/mame/drivers/magic10.c
r9191r9192
7878#include "emu.h"
7979#include "cpu/m68000/m68000.h"
8080#include "sound/okim6295.h"
81#include "machine/nvram.h"
8182#include "sgsafari.lh"
8283
8384static tilemap_t *layer0_tilemap, *layer1_tilemap, *layer2_tilemap;
r9191r9192
263264   AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_BASE(&layer1_videoram)
264265   AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(&layer0_videoram)
265266   AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(&layer2_videoram)
266   AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
267   AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
267268   AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
268269   AM_RANGE(0x400000, 0x400001) AM_READ_PORT("INPUTS")
269270   AM_RANGE(0x400002, 0x400003) AM_READ_PORT("DSW")
270271   AM_RANGE(0x400008, 0x400009) AM_WRITE(magic10_out_w)
271   AM_RANGE(0x40000a, 0x40000b) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
272   AM_RANGE(0x40000a, 0x40000b) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
272273   AM_RANGE(0x40000e, 0x40000f) AM_WRITENOP
273274   AM_RANGE(0x400080, 0x400087) AM_RAM AM_BASE(&magic10_vregs)
274275   AM_RANGE(0x600000, 0x603fff) AM_RAM
r9191r9192
279280   AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_BASE(&layer1_videoram)
280281   AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(&layer0_videoram)
281282   AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(&layer2_videoram)
282   AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
283   AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
283284   AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
284285   AM_RANGE(0x500000, 0x500001) AM_READ_PORT("INPUTS")
285286   AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW")
286287   AM_RANGE(0x500008, 0x500009) AM_WRITE(magic10_out_w)
287   AM_RANGE(0x50000a, 0x50000b) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
288   AM_RANGE(0x50000a, 0x50000b) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
288289   AM_RANGE(0x50000e, 0x50000f) AM_WRITENOP
289290   AM_RANGE(0x500080, 0x500087) AM_RAM AM_BASE(&magic10_vregs)   // video registers?
290291   AM_RANGE(0x600000, 0x603fff) AM_RAM
r9191r9192
295296   AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_BASE(&layer1_videoram)
296297   AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(&layer0_videoram)
297298   AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(&layer2_videoram)
298   AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
299   AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
299300   AM_RANGE(0x400000, 0x4001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
300301   AM_RANGE(0x500000, 0x500001) AM_READ(magic102_r)
301302   AM_RANGE(0x500004, 0x500005) AM_READNOP // gives credits
r9191r9192
305306   AM_RANGE(0x500002, 0x50001f) AM_READNOP
306307   AM_RANGE(0x500002, 0x50001f) AM_WRITENOP
307308   AM_RANGE(0x600000, 0x603fff) AM_RAM
308   AM_RANGE(0x700000, 0x700001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
309   AM_RANGE(0x700000, 0x700001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
309310   AM_RANGE(0x700080, 0x700087) AM_RAM AM_BASE(&magic10_vregs)   // video registers?
310311ADDRESS_MAP_END
311312
r9191r9192
314315   AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_BASE(&layer1_videoram)
315316   AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(&layer0_videoram)
316317   AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(&layer2_videoram)
317   AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
318   AM_RANGE(0x200000, 0x2007ff) AM_RAM AM_SHARE("nvram")
318319   AM_RANGE(0x400000, 0x4001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
319320   AM_RANGE(0x500004, 0x500005) AM_READWRITE(hotslot_copro_r, hotslot_copro_w)   // copro comm
320321   AM_RANGE(0x500006, 0x500011) AM_RAM
r9191r9192
324325   AM_RANGE(0x500018, 0x500019) AM_READ_PORT("DSW1")
325326   AM_RANGE(0x50001a, 0x50001d) AM_WRITENOP
326327   AM_RANGE(0x600000, 0x603fff) AM_RAM
327   AM_RANGE(0x70000a, 0x70000b) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
328   AM_RANGE(0x70000a, 0x70000b) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
328329   AM_RANGE(0x700080, 0x700087) AM_RAM AM_BASE(&magic10_vregs)
329330ADDRESS_MAP_END
330331
r9191r9192
333334   AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(layer1_videoram_w) AM_BASE(&layer1_videoram)
334335   AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(layer0_videoram_w) AM_BASE(&layer0_videoram)
335336   AM_RANGE(0x102000, 0x103fff) AM_RAM_WRITE(layer2_videoram_w) AM_BASE(&layer2_videoram)
336   AM_RANGE(0x200000, 0x203fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
337   AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("nvram")
337338   AM_RANGE(0x300000, 0x3001ff) AM_RAM_WRITE(paletteram_w) AM_BASE_GENERIC(paletteram)
338339   AM_RANGE(0x500002, 0x500003) AM_READ_PORT("DSW1")
339340   AM_RANGE(0x500008, 0x500009) AM_WRITE(magic10_out_w)
340   AM_RANGE(0x50000a, 0x50000b) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
341   AM_RANGE(0x50000a, 0x50000b) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
341342   AM_RANGE(0x50000e, 0x50000f) AM_READ_PORT("IN0")
342343   AM_RANGE(0x500080, 0x500087) AM_RAM AM_BASE(&magic10_vregs)   // video registers?
343344   AM_RANGE(0x600000, 0x603fff) AM_RAM
r9191r9192
645646*      Machine Drivers      *
646647****************************/
647648
648static MACHINE_DRIVER_START( magic10 )
649static MACHINE_CONFIG_START( magic10, driver_device )
649650   /* basic machine hardware */
650651   MDRV_CPU_ADD("maincpu", M68000, 10000000) // ?
651652   MDRV_CPU_PROGRAM_MAP(magic10_map)
652653   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
653654
654   MDRV_NVRAM_HANDLER(generic_0fill)
655   MDRV_NVRAM_ADD_0FILL("nvram")
655656
656657   MDRV_SCREEN_ADD("screen", RASTER)
657658   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
670671   MDRV_SPEAKER_STANDARD_MONO("mono")
671672   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH)   /* clock frequency & pin 7 not verified */
672673   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
673MACHINE_DRIVER_END
674MACHINE_CONFIG_END
674675
675676
676static MACHINE_DRIVER_START( magic10a )
677static MACHINE_CONFIG_DERIVED( magic10a, magic10 )
678
677679   /* basic machine hardware */
678   MDRV_IMPORT_FROM(magic10)
679680   MDRV_CPU_MODIFY("maincpu")
680681   MDRV_CPU_PROGRAM_MAP(magic10a_map)
681MACHINE_DRIVER_END
682MACHINE_CONFIG_END
682683
683684
684static MACHINE_DRIVER_START( magic102 )
685static MACHINE_CONFIG_DERIVED( magic102, magic10 )
686
685687   /* basic machine hardware */
686   MDRV_IMPORT_FROM(magic10)
687688   MDRV_CPU_MODIFY("maincpu")
688689   MDRV_CPU_PROGRAM_MAP(magic102_map)
689690
690691   MDRV_SCREEN_MODIFY("screen")
691692   MDRV_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 30*8-1)
692MACHINE_DRIVER_END
693MACHINE_CONFIG_END
693694
694695
695static MACHINE_DRIVER_START( hotslot )
696static MACHINE_CONFIG_DERIVED( hotslot, magic10 )
697
696698   /* basic machine hardware */
697   MDRV_IMPORT_FROM(magic10)
698699   MDRV_CPU_MODIFY("maincpu")
699700   MDRV_CPU_PROGRAM_MAP(hotslot_map)
700701
701702   MDRV_SCREEN_MODIFY("screen")
702703   MDRV_SCREEN_VISIBLE_AREA(8*8, 56*8-1, 2*8, 32*8-1)
703MACHINE_DRIVER_END
704MACHINE_CONFIG_END
704705
705706
706static MACHINE_DRIVER_START( sgsafari )
707static MACHINE_CONFIG_DERIVED( sgsafari, magic10 )
708
707709   /* basic machine hardware */
708   MDRV_IMPORT_FROM(magic10)
709710   MDRV_CPU_MODIFY("maincpu")
710711   MDRV_CPU_PROGRAM_MAP(sgsafari_map)
711712   MDRV_CPU_VBLANK_INT("screen", irq2_line_hold)   /* L1 interrupts */
712713
713714   MDRV_SCREEN_MODIFY("screen")
714715   MDRV_SCREEN_VISIBLE_AREA(0*8, 44*8-1, 0*8, 30*8-1)
715MACHINE_DRIVER_END
716MACHINE_CONFIG_END
716717
717718
718719/****************************
src/mame/drivers/tmnt.c
r9191r9192
7777#include "sound/k054539.h"
7878#include "sound/k007232.h"
7979#include "sound/upd7759.h"
80#include "machine/nvram.h"
8081#include "includes/tmnt.h"
8182#include "includes/konamipt.h"
8283
83static UINT16 cuebrick_nvram[0x400 * 0x20];   // 32k paged in a 1k window
84
8584static READ16_HANDLER( k052109_word_noA12_r )
8685{
8786   tmnt_state *state = space->machine->driver_data<tmnt_state>();
r9191r9192
573572static READ16_HANDLER( cuebrick_nv_r )
574573{
575574   tmnt_state *state = space->machine->driver_data<tmnt_state>();
576   return cuebrick_nvram[offset + (state->cuebrick_nvram_bank * 0x400 / 2)];
575   return state->m_cuebrick_nvram[offset + (state->cuebrick_nvram_bank * 0x400 / 2)];
577576}
578577
579578static WRITE16_HANDLER( cuebrick_nv_w )
580579{
581580   tmnt_state *state = space->machine->driver_data<tmnt_state>();
582       COMBINE_DATA(&cuebrick_nvram[offset + (state->cuebrick_nvram_bank * 0x400 / 2)]);
581       COMBINE_DATA(&state->m_cuebrick_nvram[offset + (state->cuebrick_nvram_bank * 0x400 / 2)]);
583582}
584583
585584static WRITE16_HANDLER( cuebrick_nvbank_w )
r9191r9192
600599   AM_RANGE(0x0a0010, 0x0a0011) AM_READ_PORT("DSW1") AM_WRITE(watchdog_reset16_w)
601600   AM_RANGE(0x0a0012, 0x0a0013) AM_READ_PORT("DSW2")
602601   AM_RANGE(0x0a0018, 0x0a0019) AM_READ_PORT("DSW3")
603   AM_RANGE(0x0b0000, 0x0b03ff) AM_READWRITE(cuebrick_nv_r, cuebrick_nv_w)
602   AM_RANGE(0x0b0000, 0x0b03ff) AM_READWRITE(cuebrick_nv_r, cuebrick_nv_w) AM_SHARE("nvram")
604603   AM_RANGE(0x0b0400, 0x0b0401) AM_WRITE(cuebrick_nvbank_w)
605604   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0xff00)
606605   AM_RANGE(0x100000, 0x107fff) AM_READWRITE(k052109_word_noA12_r, k052109_word_noA12_w)
r9191r9192
11071106   AM_RANGE(0xc00200, 0xc00201) AM_WRITE(ssriders_eeprom_w)   /* EEPROM and gfx control */
11081107   AM_RANGE(0xc00404, 0xc00405) AM_READ_PORT("COINS")
11091108   AM_RANGE(0xc00406, 0xc00407) AM_READ(sunsetbl_eeprom_r)
1110   AM_RANGE(0xc00600, 0xc00601) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
1109   AM_RANGE(0xc00600, 0xc00601) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
11111110   AM_RANGE(0x75d288, 0x75d289) AM_READNOP   // read repeatedly in some test menus (PC=181f2)
11121111ADDRESS_MAP_END
11131112
r9191r9192
22742273}
22752274
22762275
2277static MACHINE_DRIVER_START( cuebrick )
2276static MACHINE_CONFIG_START( cuebrick, tmnt_state )
22782277
2279   /* driver data */
2280   MDRV_DRIVER_DATA(tmnt_state)
2281
22822278   /* basic machine hardware */
22832279   MDRV_CPU_ADD("maincpu", M68000, 8000000)   /* 8 MHz */
22842280   MDRV_CPU_PROGRAM_MAP(cuebrick_main_map)
r9191r9192
22982294   MDRV_SCREEN_VISIBLE_AREA(13*8, (64-13)*8-1, 2*8, 30*8-1 )
22992295
23002296   MDRV_PALETTE_LENGTH(1024)
2301   MDRV_NVRAM_HANDLER(generic_0fill)
2297   MDRV_NVRAM_ADD_0FILL("nvram")
23022298
23032299   MDRV_VIDEO_START(cuebrick)
23042300   MDRV_VIDEO_UPDATE(mia)
r9191r9192
23132309   MDRV_SOUND_CONFIG(ym2151_interface_cbj)
23142310   MDRV_SOUND_ROUTE(0, "mono", 1.0)
23152311   MDRV_SOUND_ROUTE(1, "mono", 1.0)
2316MACHINE_DRIVER_END
2312MACHINE_CONFIG_END
23172313
23182314
2319static MACHINE_DRIVER_START( mia )
2315static MACHINE_CONFIG_START( mia, tmnt_state )
23202316
2321   /* driver data */
2322   MDRV_DRIVER_DATA(tmnt_state)
2323
23242317   /* basic machine hardware */
23252318   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz/3)
23262319   MDRV_CPU_PROGRAM_MAP(mia_main_map)
r9191r9192
23612354   MDRV_SOUND_CONFIG(k007232_config)
23622355   MDRV_SOUND_ROUTE(0, "mono", 0.20)
23632356   MDRV_SOUND_ROUTE(1, "mono", 0.20)
2364MACHINE_DRIVER_END
2357MACHINE_CONFIG_END
23652358
23662359
23672360static MACHINE_RESET( tmnt )
r9191r9192
23732366   upd7759_reset_w(state->upd, 1);
23742367}
23752368
2376static MACHINE_DRIVER_START( tmnt )
2369static MACHINE_CONFIG_START( tmnt, tmnt_state )
23772370
2378   /* driver data */
2379   MDRV_DRIVER_DATA(tmnt_state)
2380
23812371   /* basic machine hardware */
23822372   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz/3)
23832373   MDRV_CPU_PROGRAM_MAP(tmnt_main_map)
r9191r9192
24252415   MDRV_SOUND_ADD("samples", SAMPLES, 0)
24262416   MDRV_SOUND_CONFIG(tmnt_samples_interface)
24272417   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2428MACHINE_DRIVER_END
2418MACHINE_CONFIG_END
24292419
24302420
2431static MACHINE_DRIVER_START( punkshot )
2421static MACHINE_CONFIG_START( punkshot, tmnt_state )
24322422
2433   /* driver data */
2434   MDRV_DRIVER_DATA(tmnt_state)
2435
24362423   /* basic machine hardware */
24372424   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz/2)
24382425   MDRV_CPU_PROGRAM_MAP(punkshot_main_map)
r9191r9192
24722459
24732460   MDRV_SOUND_ADD("k053260", K053260, XTAL_3_579545MHz)
24742461   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2475MACHINE_DRIVER_END
2462MACHINE_CONFIG_END
24762463
24772464
2478static MACHINE_DRIVER_START( lgtnfght )
2465static MACHINE_CONFIG_START( lgtnfght, tmnt_state )
24792466
2480   /* driver data */
2481   MDRV_DRIVER_DATA(tmnt_state)
2482
24832467   /* basic machine hardware */
24842468   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz/2)
24852469   MDRV_CPU_PROGRAM_MAP(lgtnfght_main_map)
r9191r9192
25202504   MDRV_SOUND_ADD("k053260", K053260, XTAL_3_579545MHz)
25212505   MDRV_SOUND_ROUTE(0, "lspeaker", 0.70)
25222506   MDRV_SOUND_ROUTE(1, "rspeaker", 0.70)
2523MACHINE_DRIVER_END
2507MACHINE_CONFIG_END
25242508
25252509
2526static MACHINE_DRIVER_START( blswhstl )
2510static MACHINE_CONFIG_START( blswhstl, tmnt_state )
25272511
2528   /* driver data */
2529   MDRV_DRIVER_DATA(tmnt_state)
2530
25312512   /* basic machine hardware */
25322513   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
25332514   MDRV_CPU_PROGRAM_MAP(blswhstl_main_map)
r9191r9192
25732554   MDRV_SOUND_ADD("k053260", K053260, XTAL_3_579545MHz)
25742555   MDRV_SOUND_ROUTE(0, "rspeaker", 0.50)   /* fixed inverted stereo channels */
25752556   MDRV_SOUND_ROUTE(1, "lspeaker", 0.50)
2576MACHINE_DRIVER_END
2557MACHINE_CONFIG_END
25772558
25782559
25792560
r9191r9192
25932574   GFXDECODE_ENTRY( "gfx3", 0, zoomlayout, 0x400, 16 )
25942575GFXDECODE_END
25952576
2596static MACHINE_DRIVER_START( glfgreat )
2577static MACHINE_CONFIG_START( glfgreat, tmnt_state )
25972578
2598   /* driver data */
2599   MDRV_DRIVER_DATA(tmnt_state)
2600
26012579   /* basic machine hardware */
26022580   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz/2)      /* Confirmed */
26032581   MDRV_CPU_PROGRAM_MAP(glfgreat_main_map)
r9191r9192
26372615   MDRV_SOUND_ADD("k053260", K053260, XTAL_3_579545MHz)
26382616   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
26392617   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2640MACHINE_DRIVER_END
2618MACHINE_CONFIG_END
26412619
26422620
26432621static void sound_nmi( running_device *device )
r9191r9192
26602638   memory_configure_bank(machine, "bank1", 0, 8, &ROM[0x10000], 0x4000);
26612639}
26622640
2663static MACHINE_DRIVER_START( prmrsocr )
2641static MACHINE_CONFIG_START( prmrsocr, tmnt_state )
26642642
2665   /* driver data */
2666   MDRV_DRIVER_DATA(tmnt_state)
2667
26682643   /* basic machine hardware */
26692644   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz/2)      /* Confirmed */
26702645   MDRV_CPU_PROGRAM_MAP(prmrsocr_main_map)
r9191r9192
27072682   MDRV_SOUND_CONFIG(k054539_config)
27082683   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
27092684   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2710MACHINE_DRIVER_END
2685MACHINE_CONFIG_END
27112686
27122687
2713static MACHINE_DRIVER_START( tmnt2 )
2688static MACHINE_CONFIG_START( tmnt2, tmnt_state )
27142689
2715   /* driver data */
2716   MDRV_DRIVER_DATA(tmnt_state)
2717
27182690   /* basic machine hardware */
27192691   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz/2)
27202692   MDRV_CPU_PROGRAM_MAP(tmnt2_main_map)
r9191r9192
27622734   MDRV_SOUND_ADD("k053260", K053260, XTAL_3_579545MHz)
27632735   MDRV_SOUND_ROUTE(0, "lspeaker", 0.75)
27642736   MDRV_SOUND_ROUTE(1, "rspeaker", 0.75)
2765MACHINE_DRIVER_END
2737MACHINE_CONFIG_END
27662738
27672739
2768static MACHINE_DRIVER_START( ssriders )
2740static MACHINE_CONFIG_START( ssriders, tmnt_state )
27692741
2770   /* driver data */
2771   MDRV_DRIVER_DATA(tmnt_state)
2772
27732742   /* basic machine hardware */
27742743   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz/2)
27752744   MDRV_CPU_PROGRAM_MAP(ssriders_main_map)
r9191r9192
28132782   MDRV_SOUND_ADD("k053260", K053260, XTAL_3_579545MHz)
28142783   MDRV_SOUND_ROUTE(0, "lspeaker", 0.70)
28152784   MDRV_SOUND_ROUTE(1, "rspeaker", 0.70)
2816MACHINE_DRIVER_END
2785MACHINE_CONFIG_END
28172786
28182787
2819static MACHINE_DRIVER_START( sunsetbl )
2788static MACHINE_CONFIG_START( sunsetbl, tmnt_state )
28202789
2821   /* driver data */
2822   MDRV_DRIVER_DATA(tmnt_state)
2823
28242790   /* basic machine hardware */
28252791   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
28262792   MDRV_CPU_PROGRAM_MAP(sunsetbl_main_map)
r9191r9192
28552821   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
28562822   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
28572823   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
2858MACHINE_DRIVER_END
2824MACHINE_CONFIG_END
28592825
2860static MACHINE_DRIVER_START( thndrx2 )
2826static MACHINE_CONFIG_START( thndrx2, tmnt_state )
28612827
2862   /* driver data */
2863   MDRV_DRIVER_DATA(tmnt_state)
2864
28652828   /* basic machine hardware */
28662829   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
28672830   MDRV_CPU_PROGRAM_MAP(thndrx2_main_map)
r9191r9192
29052868   MDRV_SOUND_ADD("k053260", K053260, XTAL_3_579545MHz)
29062869   MDRV_SOUND_ROUTE(0, "lspeaker", 0.75)
29072870   MDRV_SOUND_ROUTE(1, "rspeaker", 0.75)
2908MACHINE_DRIVER_END
2871MACHINE_CONFIG_END
29092872
29102873
29112874
r9191r9192
43214284
43224285static DRIVER_INIT( cuebrick )
43234286{
4324   machine->generic.nvram.u8 = (UINT8 *)cuebrick_nvram;
4325   machine->generic.nvram_size = 0x400 * 0x20;
4287   tmnt_state *state = machine->driver_data<tmnt_state>();
4288   machine->device<nvram_device>("nvram")->set_base(state->m_cuebrick_nvram, sizeof(state->m_cuebrick_nvram));
43264289}
43274290
43284291GAME( 1989, cuebrick,    0,        cuebrick, cuebrick, cuebrick, ROT0,  "Konami", "Cue Brick (World version D)", GAME_SUPPORTS_SAVE )
src/mame/drivers/zodiack.c
r9191r9192
523523GFXDECODE_END
524524
525525
526static MACHINE_DRIVER_START( zodiack )
526static MACHINE_CONFIG_START( zodiack, espial_state )
527527
528   /* driver data */
529   MDRV_DRIVER_DATA(espial_state)
530
531528   /* basic machine hardware */
532529   MDRV_CPU_ADD("maincpu", Z80, 4000000)        /* 4.00 MHz??? */
533530   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
561558
562559   MDRV_SOUND_ADD("aysnd", AY8910, 1789750)
563560   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
564MACHINE_DRIVER_END
561MACHINE_CONFIG_END
565562
566static MACHINE_DRIVER_START( percuss )
567   MDRV_IMPORT_FROM(zodiack)
563static MACHINE_CONFIG_DERIVED( percuss, zodiack )
568564   MDRV_MACHINE_RESET(percuss)
569MACHINE_DRIVER_END
565MACHINE_CONFIG_END
570566
571567
572568/***************************************************************************
src/mame/drivers/raiden2.c
r9191r9192
280280
281281static WRITE16_HANDLER(raiden2_text_w)
282282{
283   COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
283   raiden2_state *state = space->machine->driver_data<raiden2_state>();
284   UINT16 *videoram = state->videoram;
285   COMBINE_DATA(&videoram[offset]);
284286   tilemap_mark_tile_dirty(text_layer, offset);
285287}
286288
r9191r9192
320322
321323static TILE_GET_INFO( get_text_tile_info )
322324{
323   int tile = machine->generic.videoram.u16[tile_index];
325   raiden2_state *state = machine->driver_data<raiden2_state>();
326   UINT16 *videoram = state->videoram;
327   int tile = videoram[tile_index];
324328   int color = (tile>>12)&0xf;
325329
326330   tile &= 0xfff;
r9191r9192
845849   AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(raiden2_background_w) AM_BASE(&back_data)
846850   AM_RANGE(0x0d800, 0x0dfff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(&fore_data)
847851    AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE(raiden2_midground_w)  AM_BASE(&mid_data)
848    AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_GENERIC(videoram)
852    AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_MEMBER(raiden2_state, videoram)
849853   AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
850854
851855   AM_RANGE(0x10000, 0x1efff) AM_RAM_WRITE(w1x) AM_BASE(&w1ram)
r9191r9192
953957   AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(raiden2_background_w) AM_BASE(&back_data)
954958   AM_RANGE(0x0d800, 0x0dfff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(&fore_data)
955959    AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE(raiden2_midground_w)  AM_BASE(&mid_data)
956    AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_GENERIC(videoram)
960    AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_MEMBER(raiden2_state, videoram)
957961   AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
958962
959963   AM_RANGE(0x10000, 0x1efff) AM_RAM_WRITE(w1x) AM_BASE(&w1ram)
r9191r9192
11841188
11851189/* MACHINE DRIVERS */
11861190
1187static MACHINE_DRIVER_START( raiden2 )
1191static MACHINE_CONFIG_START( raiden2, raiden2_state )
11881192
11891193   /* basic machine hardware */
11901194   MDRV_CPU_ADD("maincpu", V30,XTAL_32MHz/2) /* verified on pcb */
r9191r9192
12231227/* Sound hardware infos: Z80 and YM2151 are clocked at XTAL_28_63636MHz/8 */
12241228/* The 2 Oki M6295 are clocked at XTAL_28_63636MHz/28 and pin 7 is high for both */
12251229
1226MACHINE_DRIVER_END
1230MACHINE_CONFIG_END
12271231
12281232
12291233
1230static MACHINE_DRIVER_START( nzerotea )
1234static MACHINE_CONFIG_DERIVED( nzerotea, raiden2 )
12311235
1232   MDRV_IMPORT_FROM(raiden2)
1233
12341236   /* basic machine hardware */
12351237   MDRV_DEVICE_MODIFY("maincpu") // also change it to a v33!
12361238   MDRV_CPU_PROGRAM_MAP(nzerotea_mem)
12371239   MDRV_CPU_VBLANK_INT("screen", raiden2_interrupt)
1238MACHINE_DRIVER_END
1240MACHINE_CONFIG_END
12391241
12401242/* ROM LOADING */
12411243
r9191r9192
21552157   AM_RANGE(0x0074c, 0x0074d) AM_READ(rdx_v33_system_r)
21562158   AM_RANGE(0x00762, 0x00763) AM_READ(rdx_v33_unknown2_r)
21572159
2158   AM_RANGE(0x00780, 0x00781) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff) // single OKI chip on this version
2160   AM_RANGE(0x00780, 0x00781) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff) // single OKI chip on this version
21592161
21602162   AM_RANGE(0x00800, 0x0087f) AM_RAM // copies eeprom here?
21612163   AM_RANGE(0x00880, 0x0bfff) AM_RAM
r9191r9192
21642166   AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(raiden2_background_w) AM_BASE(&back_data)
21652167   AM_RANGE(0x0d800, 0x0dfff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(&fore_data)
21662168   AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE(raiden2_midground_w)  AM_BASE(&mid_data)
2167   AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_GENERIC(videoram)
2169   AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_MEMBER(raiden2_state, videoram)
21682170   AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
21692171   AM_RANGE(0x10000, 0x1efff) AM_RAM
21702172   AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
r9191r9192
22752277   common_reset();
22762278}
22772279
2278static MACHINE_DRIVER_START( rdx_v33 )
2280static MACHINE_CONFIG_START( rdx_v33, raiden2_state )
22792281
22802282   /* basic machine hardware */
22812283   MDRV_CPU_ADD("maincpu", V33, 32000000/2 ) // ?
r9191r9192
23052307
23062308   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
23072309   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2308MACHINE_DRIVER_END
2310MACHINE_CONFIG_END
23092311
23102312
23112313
src/mame/drivers/kongambl.c
r9191r9192
126126   kongambl_sprite_callback
127127};
128128
129static MACHINE_DRIVER_START( kongambl )
129static MACHINE_CONFIG_START( kongambl, driver_device )
130130   MDRV_CPU_ADD("maincpu", M68EC020, 25000000)
131131   MDRV_CPU_PROGRAM_MAP(kongambl_map)
132132
r9191r9192
151151   MDRV_K056832_ADD("k056832", k056832_intf)
152152
153153   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
154MACHINE_DRIVER_END
154MACHINE_CONFIG_END
155155
156156
157157ROM_START( kingtut )
src/mame/drivers/mogura.c
r9191r9192
55#include "sound/dac.h"
66#include "includes/konamipt.h"
77
8class mogura_state : public driver_data_t
8class mogura_state : public driver_device
99{
1010public:
11   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mogura_state(machine)); }
11   mogura_state(running_machine &machine, const driver_device_config_base &config)
12      : driver_device(machine, config) { }
1213
13   mogura_state(running_machine &machine)
14      : driver_data_t(machine) { }
15
1614   /* memory pointers */
1715   UINT8 *   tileram;
1816   UINT8 *   gfxram;
r9191r9192
201199   state->dac2 = machine->device("dac2");
202200}
203201
204static MACHINE_DRIVER_START( mogura )
202static MACHINE_CONFIG_START( mogura, mogura_state )
205203
206   /* driver data */
207   MDRV_DRIVER_DATA(mogura_state)
208
209204   /* basic machine hardware */
210205   MDRV_CPU_ADD("maincpu", Z80,3000000)       /* 3 MHz */
211206   MDRV_CPU_PROGRAM_MAP(mogura_map)
r9191r9192
238233
239234   MDRV_SOUND_ADD("dac2", DAC, 0)
240235   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
241MACHINE_DRIVER_END
236MACHINE_CONFIG_END
242237
243238ROM_START( mogura )
244239   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/taitojc.c
r9191r9192
359359#include "audio/taito_en.h"
360360#include "includes/taitojc.h"
361361
362extern UINT32 *f3_shared_ram;
363
364362#define POLYGON_FIFO_SIZE      100000
365363
366364static READ32_HANDLER( taitojc_palette_r )
r9191r9192
13141312};
13151313
13161314
1317static MACHINE_DRIVER_START( taitojc )
1315static MACHINE_CONFIG_START( taitojc, taitojc_state )
13181316
1319   MDRV_DRIVER_DATA( taitojc_state )
1320
13211317   MDRV_CPU_ADD("maincpu", M68040, 25000000)
13221318   MDRV_CPU_PROGRAM_MAP(taitojc_map)
13231319   MDRV_CPU_VBLANK_INT("screen", taitojc_vblank)
r9191r9192
13501346   MDRV_VIDEO_UPDATE(taitojc)
13511347
13521348   /* sound hardware */
1353   MDRV_IMPORT_FROM(taito_f3_sound)
1354MACHINE_DRIVER_END
1349   MDRV_FRAGMENT_ADD(taito_f3_sound)
1350MACHINE_CONFIG_END
13551351
13561352static DRIVER_INIT( taitojc )
13571353{
src/mame/drivers/ddealer.c
r9191r9192
113113#include "cpu/m68000/m68000.h"
114114#include "sound/2203intf.h"
115115
116class ddealer_state : public driver_data_t
116class ddealer_state : public driver_device
117117{
118118public:
119   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ddealer_state(machine)); }
119   ddealer_state(running_machine &machine, const driver_device_config_base &config)
120      : driver_device(machine, config) { }
120121
121   ddealer_state(running_machine &machine)
122      : driver_data_t(machine) { }
123
124122   /* memory pointers */
125123   UINT16 *  mcu_shared_ram;
126124   UINT16 *  work_ram;
r9191r9192
615613   cpu_set_input_line(device, 4, HOLD_LINE);
616614}
617615
618static MACHINE_DRIVER_START( ddealer )
619   MDRV_DRIVER_DATA(ddealer_state)
616static MACHINE_CONFIG_START( ddealer, ddealer_state )
620617
621618   MDRV_CPU_ADD("maincpu" , M68000, 10000000)
622619   MDRV_CPU_PROGRAM_MAP(ddealer)
r9191r9192
647644   MDRV_SPEAKER_STANDARD_MONO("mono")
648645   MDRV_SOUND_ADD("ymsnd", YM2203, 6000000 / 4)//guess
649646   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
650MACHINE_DRIVER_END
647MACHINE_CONFIG_END
651648
652649
653650
src/mame/drivers/berzerk.c
r9191r9192
1212#include "cpu/z80/z80.h"
1313#include "includes/exidy.h"
1414#include "machine/74181.h"
15#include "machine/nvram.h"
1516#include "sound/s14001a.h"
1617#include "video/resnet.h"
1718
r9191r9192
559560
560561static ADDRESS_MAP_START( berzerk_map, ADDRESS_SPACE_PROGRAM, 8 )
561562   AM_RANGE(0x0000, 0x07ff) AM_ROM
562   AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x0400) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
563   AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("nvram")
563564   AM_RANGE(0x1000, 0x3fff) AM_ROM
564565   AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE(&berzerk_videoram) AM_SIZE(&berzerk_videoram_size) AM_SHARE("share1")
565566   AM_RANGE(0x6000, 0x7fff) AM_RAM_WRITE(magicram_w) AM_SHARE("share1")
r9191r9192
574575   AM_RANGE(0x6000, 0x7fff) AM_RAM_WRITE(magicram_w) AM_SHARE("share1")
575576   AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x3800) AM_RAM AM_BASE(&berzerk_colorram)
576577   AM_RANGE(0xc000, 0xcfff) AM_ROM
577   AM_RANGE(0xf800, 0xfbff) AM_MIRROR(0x0400) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
578   AM_RANGE(0xf800, 0xfbff) AM_MIRROR(0x0400) AM_RAM AM_SHARE("nvram")
578579ADDRESS_MAP_END
579580
580581
r9191r9192
10431044 *
10441045 *************************************/
10451046
1046static MACHINE_DRIVER_START( berzerk )
1047static MACHINE_CONFIG_START( berzerk, driver_device )
10471048
10481049   /* basic machine hardware */
10491050   MDRV_CPU_ADD("maincpu", Z80, MAIN_CPU_CLOCK)
r9191r9192
10531054   MDRV_MACHINE_START(berzerk)
10541055   MDRV_MACHINE_RESET(berzerk)
10551056
1056   MDRV_NVRAM_HANDLER(generic_0fill)
1057   MDRV_NVRAM_ADD_0FILL("nvram")
10571058
10581059   /* video hardware */
10591060   MDRV_VIDEO_START(berzerk)
r9191r9192
10731074
10741075   MDRV_SOUND_ADD("exidy", EXIDY, 0)
10751076   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1076MACHINE_DRIVER_END
1077MACHINE_CONFIG_END
10771078
10781079
1079static MACHINE_DRIVER_START( frenzy )
1080static MACHINE_CONFIG_DERIVED( frenzy, berzerk )
10801081
10811082   /* basic machine hardware */
1082   MDRV_IMPORT_FROM(berzerk)
10831083   MDRV_CPU_MODIFY("maincpu")
10841084   MDRV_CPU_PROGRAM_MAP(frenzy_map)
1085MACHINE_DRIVER_END
1085MACHINE_CONFIG_END
10861086
10871087
10881088
src/mame/drivers/vpoker.c
r9191r9192
8282#include "cpu/m6809/m6809.h"
8383#include "machine/6840ptm.h"
8484
85
86class vpoker_state : public driver_device
87{
88public:
89   vpoker_state(running_machine &machine, const driver_device_config_base &config)
90      : driver_device(machine, config) { }
91
92   UINT8 *videoram;
93};
94
95
8596static VIDEO_START( vpoker )
8697{
87   machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x200);
98   vpoker_state *state = machine->driver_data<vpoker_state>();
99   state->videoram = auto_alloc_array(machine, UINT8, 0x200);
88100}
89101
90102static VIDEO_UPDATE( vpoker )
91103{
104   vpoker_state *state = screen->machine->driver_data<vpoker_state>();
105   UINT8 *videoram = state->videoram;
92106   const gfx_element *gfx = screen->machine->gfx[0];
93107   int count = 0x0000;
94108
r9191r9192
98112   {
99113      for (x=0;x<0x20;x++)
100114      {
101         int tile = screen->machine->generic.videoram.u8[count];
115         int tile = videoram[count];
102116         //int colour = tile>>12;
103117         drawgfx_opaque(bitmap,cliprect,gfx,tile,0,0,0,x*16,y*16);
104118
r9191r9192
119133
120134static WRITE8_HANDLER( blitter_w )
121135{
136   vpoker_state *state = space->machine->driver_data<vpoker_state>();
137   UINT8 *videoram = state->videoram;
122138   static UINT8 blit_ram[8];
123139
124140   blit_ram[offset] = data;
r9191r9192
129145
130146      blit_offs = (blit_ram[1] & 0x01)<<8|(blit_ram[2] & 0xff);
131147
132      space->machine->generic.videoram.u8[blit_offs] = blit_ram[0];
148      videoram[blit_offs] = blit_ram[0];
133149//      printf("%02x %02x %02x %02x %02x %02x %02x %02x\n",blit_ram[0],blit_ram[1],blit_ram[2],blit_ram[3],blit_ram[4],blit_ram[5],blit_ram[6],blit_ram[7]);
134150   }
135151}
r9191r9192
394410   DEVCB_LINE(ptm_irq)
395411};
396412
397static MACHINE_DRIVER_START( vpoker )
413static MACHINE_CONFIG_START( vpoker, vpoker_state )
398414
399415   /* basic machine hardware */
400416   MDRV_CPU_ADD("maincpu",M6809,XTAL_4MHz)
r9191r9192
422438   MDRV_SPEAKER_STANDARD_MONO("mono")
423439//  MDRV_SOUND_ADD("aysnd", AY8910, 8000000/4 /* guess */)
424440//  MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
425MACHINE_DRIVER_END
441MACHINE_CONFIG_END
426442
427443/***************************************************************************
428444
src/mame/drivers/suprridr.c
r9191r9192
354354 *
355355 *************************************/
356356
357static MACHINE_DRIVER_START( suprridr )
357static MACHINE_CONFIG_START( suprridr, driver_device )
358358
359359   /* basic machine hardware */
360360   MDRV_CPU_ADD("maincpu", Z80, XTAL_49_152MHz/16)      /* 3 MHz */
r9191r9192
390390   MDRV_SOUND_ADD("ay2", AY8910, XTAL_49_152MHz/32)
391391   MDRV_SOUND_CONFIG(ay8910_config)
392392   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
393MACHINE_DRIVER_END
393MACHINE_CONFIG_END
394394
395395
396396
src/mame/drivers/igs009.c
r9191r9192
2020#include "machine/8255ppi.h"
2121#include "sound/2413intf.h"
2222#include "sound/okim6295.h"
23#include "machine/nvram.h"
2324
2425/***************************************************************************
2526                                Video Hardware
r9191r9192
409410
410411static ADDRESS_MAP_START( jingbell_map, ADDRESS_SPACE_PROGRAM, 8 )
411412   AM_RANGE( 0x00000, 0x0f3ff ) AM_ROM
412   AM_RANGE( 0x0f400, 0x0ffff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
413   AM_RANGE( 0x0f400, 0x0ffff ) AM_RAM AM_SHARE("nvram")
413414ADDRESS_MAP_END
414415
415416static ADDRESS_MAP_START( jingbell_portmap, ADDRESS_SPACE_IO, 8 )
r9191r9192
440441
441442   AM_RANGE( 0x64b0, 0x64b1 ) AM_DEVWRITE( "ymsnd", ym2413_w )
442443
443   AM_RANGE( 0x64c0, 0x64c0 ) AM_DEVREADWRITE( "oki", okim6295_r, okim6295_w )
444   AM_RANGE( 0x64c0, 0x64c0 ) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
444445
445446   AM_RANGE( 0x64d0, 0x64d1 ) AM_READWRITE( jingbell_magic_r, jingbell_magic_w )   // DSW1-5
446447
r9191r9192
630631      cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
631632}
632633
633static MACHINE_DRIVER_START( jingbell )
634static MACHINE_CONFIG_START( jingbell, driver_device )
634635   /* basic machine hardware */
635636   MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2)   /* HD64180RP8, 8 MHz? */
636637   MDRV_CPU_PROGRAM_MAP(jingbell_map)
r9191r9192
639640
640641   MDRV_MACHINE_RESET(jingbell)
641642
642   MDRV_NVRAM_HANDLER(generic_0fill)
643   MDRV_NVRAM_ADD_0FILL("nvram")
643644
644645   /* video hardware */
645646   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
662663
663664   MDRV_OKIM6295_ADD("oki", XTAL_12MHz / 12, OKIM6295_PIN7_HIGH)
664665   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
665MACHINE_DRIVER_END
666MACHINE_CONFIG_END
666667
667static MACHINE_DRIVER_START( gp98 )
668   MDRV_IMPORT_FROM(jingbell)
668static MACHINE_CONFIG_DERIVED( gp98, jingbell )
669669   MDRV_GFXDECODE(gp98)
670670
671671   MDRV_VIDEO_START(gp98)
672MACHINE_DRIVER_END
672MACHINE_CONFIG_END
673673
674674
675675/***************************************************************************
src/mame/drivers/spy.c
r9191r9192
541541   state->old_3f90 = -1;
542542}
543543
544static MACHINE_DRIVER_START( spy )
544static MACHINE_CONFIG_START( spy, spy_state )
545545
546   /* driver data */
547   MDRV_DRIVER_DATA(spy_state)
548
549546   /* basic machine hardware */
550547   MDRV_CPU_ADD("maincpu", M6809, 3000000) /* ? */
551548   MDRV_CPU_PROGRAM_MAP(spy_map)
r9191r9192
592589   MDRV_SOUND_CONFIG(spy_k007232_interface)
593590   MDRV_SOUND_ROUTE(0, "mono", 0.20)
594591   MDRV_SOUND_ROUTE(1, "mono", 0.20)
595MACHINE_DRIVER_END
592MACHINE_CONFIG_END
596593
597594
598595/***************************************************************************
src/mame/drivers/psikyo.c
r9191r9192
330330   AM_RANGE(0xfe0000, 0xffffff) AM_RAM                                          // RAM
331331ADDRESS_MAP_END
332332
333static READ32_DEVICE_HANDLER( s1945bl_oki_r )
333static READ32_HANDLER( s1945bl_oki_r )
334334{
335   UINT8 dat = okim6295_r(device, 0);
335   UINT8 dat = space->machine->device<okim6295_device>("oki")->read(*space, 0);
336336   return dat << 24;
337337}
338338
339static WRITE32_DEVICE_HANDLER( s1945bl_oki_w )
339static WRITE32_HANDLER( s1945bl_oki_w )
340340{
341341   if (ACCESSING_BITS_24_31)
342      okim6295_w(device, 0, data >> 24);
342   {
343      okim6295_device *oki = space->machine->device<okim6295_device>("oki");
344      oki->write(*space, 0, data >> 24);
345   }
343346
344347   if (ACCESSING_BITS_16_23)
345348   {
346349      // not at all sure about this, it seems to write 0 too often
347350      UINT8 bank = (data & 0x00ff0000) >> 16;
348351      if (bank < 4)
349         memory_set_bank(device->machine, "okibank", bank);
352         memory_set_bank(space->machine, "okibank", bank);
350353   }
351354
352355   if (ACCESSING_BITS_8_15)
353      printf("ACCESSING_BITS_8_15 ?? %08x %08x\n", data & 0x00ff0000, mem_mask);
356      printf("ACCESSING_BITS_8_15 ?? %08x %08x\n", data & 0x0000ff00, mem_mask);
354357
355358   if (ACCESSING_BITS_0_7)
356      printf("ACCESSING_BITS_0_7 ?? %08x %08x\n", data & 0x00ff0000, mem_mask);
359      printf("ACCESSING_BITS_0_7 ?? %08x %08x\n", data & 0x000000ff, mem_mask);
357360}
358361
359362static ADDRESS_MAP_START( s1945bl_oki_map, 0, 8 )
r9191r9192
374377//  AM_RANGE(0xc00004, 0xc0000b) AM_WRITE(s1945_mcu_w)                                      // MCU on sh404, see DRIVER_INIT
375378//  AM_RANGE(0xc00010, 0xc00013) AM_WRITE(psikyo_soundlatch_w)                              // Depends on board, see DRIVER_INIT
376379
377   AM_RANGE(0xC00018, 0xC0001b) AM_DEVREADWRITE("oki", s1945bl_oki_r, s1945bl_oki_w)
380   AM_RANGE(0xC00018, 0xC0001b) AM_READWRITE(s1945bl_oki_r, s1945bl_oki_w)
378381
379382   AM_RANGE(0xfe0000, 0xffffff) AM_RAM                                          // RAM
380383
r9191r9192
10571060   sound_irq
10581061};
10591062
1060static MACHINE_DRIVER_START( sngkace )
1063static MACHINE_CONFIG_START( sngkace, psikyo_state )
10611064
1062   /* driver data */
1063   MDRV_DRIVER_DATA(psikyo_state)
1064
10651065   /* basic machine hardware */
10661066   MDRV_CPU_ADD("maincpu", M68EC020, XTAL_32MHz/2) /* verified on pcb */
10671067   MDRV_CPU_PROGRAM_MAP(psikyo_map)
r9191r9192
10981098   MDRV_SOUND_ROUTE(0, "rspeaker", 1.2)
10991099   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
11001100   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
1101MACHINE_DRIVER_END
1101MACHINE_CONFIG_END
11021102
11031103
11041104
r9191r9192
11121112   sound_irq   /* irq */
11131113};
11141114
1115static MACHINE_DRIVER_START( gunbird )
1115static MACHINE_CONFIG_START( gunbird, psikyo_state )
11161116
1117   /* driver data */
1118   MDRV_DRIVER_DATA(psikyo_state)
1119
11201117   /* basic machine hardware */
11211118   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)
11221119   MDRV_CPU_PROGRAM_MAP(psikyo_map)
r9191r9192
11531150   MDRV_SOUND_ROUTE(0, "rspeaker", 1.2)
11541151   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
11551152   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
1156MACHINE_DRIVER_END
1153MACHINE_CONFIG_END
11571154
1158static MACHINE_DRIVER_START( s1945bl ) /* Bootleg hardware based on the unprotected Japanese Strikers 1945 set */
1155static MACHINE_CONFIG_START( s1945bl, psikyo_state ) /* Bootleg hardware based on the unprotected Japanese Strikers 1945 set */
11591156
1160   /* driver data */
1161   MDRV_DRIVER_DATA(psikyo_state)
1162
11631157   /* basic machine hardware */
11641158   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)
11651159   MDRV_CPU_PROGRAM_MAP(psikyo_bootleg_map)
r9191r9192
11891183   MDRV_OKIM6295_ADD("oki", XTAL_16MHz/16, OKIM6295_PIN7_LOW) // ?? clock
11901184   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
11911185   MDRV_DEVICE_ADDRESS_MAP(0, s1945bl_oki_map)
1192MACHINE_DRIVER_END
1186MACHINE_CONFIG_END
11931187
11941188
11951189
r9191r9192
12091203   irqhandler
12101204};
12111205
1212static MACHINE_DRIVER_START( s1945 )
1206static MACHINE_CONFIG_START( s1945, psikyo_state )
12131207
1214   /* driver data */
1215   MDRV_DRIVER_DATA(psikyo_state)
1216
12171208   /* basic machine hardware */
12181209   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)
12191210   MDRV_CPU_PROGRAM_MAP(psikyo_map)
r9191r9192
12501241   MDRV_SOUND_CONFIG(ymf278b_config)
12511242   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
12521243   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1253MACHINE_DRIVER_END
1244MACHINE_CONFIG_END
12541245
12551246
12561247
src/mame/drivers/dacholer.c
r9191r9192
2525#include "sound/ay8910.h"
2626#include "video/resnet.h"
2727
28class dacholer_state : public driver_data_t
28class dacholer_state : public driver_device
2929{
3030public:
31   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dacholer_state(machine)); }
31   dacholer_state(running_machine &machine, const driver_device_config_base &config)
32      : driver_device(machine, config) { }
3233
33   dacholer_state(running_machine &machine)
34      : driver_data_t(machine) { }
35
3634   /* memory pointers */
3735   UINT8 *  bgvideoram;
3836   UINT8 *  fgvideoram;
r9191r9192
502500   }
503501}
504502
505static MACHINE_DRIVER_START( dacholer )
503static MACHINE_CONFIG_START( dacholer, dacholer_state )
506504
507   /* driver data */
508   MDRV_DRIVER_DATA(dacholer_state)
509
510505   /* basic machine hardware */
511506   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* ? */
512507   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
552547   MDRV_SOUND_CONFIG(msm_interface)
553548   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
554549
555MACHINE_DRIVER_END
550MACHINE_CONFIG_END
556551
557552ROM_START( dacholer )
558553   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/esd16.c
r9191r9192
250250static ADDRESS_MAP_START( multchmp_sound_io_map, ADDRESS_SPACE_IO, 8 )
251251   ADDRESS_MAP_GLOBAL_MASK(0xff)
252252   AM_RANGE(0x00, 0x01) AM_DEVWRITE("ymsnd", ym3812_w)   // YM3812
253   AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)   // M6295
253   AM_RANGE(0x02, 0x02) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)   // M6295
254254   AM_RANGE(0x03, 0x03) AM_READ(esd16_sound_command_r)   // From Main CPU
255255   AM_RANGE(0x04, 0x04) AM_WRITENOP   // ? $00, $30
256256   AM_RANGE(0x05, 0x05) AM_WRITE(esd16_sound_rombank_w)   // ROM Bank
r9191r9192
536536   state->tilemap0_color = 0;
537537}
538538
539static MACHINE_DRIVER_START( multchmp )
539static MACHINE_CONFIG_START( multchmp, esd16_state )
540540
541   /* driver data */
542   MDRV_DRIVER_DATA(esd16_state)
543
544541   /* basic machine hardware */
545542   MDRV_CPU_ADD("maincpu",M68000, 16000000)
546543   MDRV_CPU_PROGRAM_MAP(multchmp_map)
r9191r9192
576573
577574   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
578575   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
579MACHINE_DRIVER_END
576MACHINE_CONFIG_END
580577
581static MACHINE_DRIVER_START( hedpanic )
578static MACHINE_CONFIG_DERIVED( hedpanic, multchmp )
582579
583580   /* basic machine hardware */
584   MDRV_IMPORT_FROM(multchmp)
585581
586582   MDRV_CPU_MODIFY("maincpu")
587583   MDRV_CPU_PROGRAM_MAP(hedpanic_map)
r9191r9192
593589   MDRV_GFXDECODE(hedpanic)
594590   MDRV_VIDEO_UPDATE(hedpanic)
595591
596MACHINE_DRIVER_END
592MACHINE_CONFIG_END
597593
598static MACHINE_DRIVER_START( mchampdx )
594static MACHINE_CONFIG_DERIVED( mchampdx, hedpanic )
599595
600596   /* basic machine hardware */
601   MDRV_IMPORT_FROM(hedpanic)
602597
603598   MDRV_CPU_MODIFY("maincpu")
604599   MDRV_CPU_PROGRAM_MAP(mchampdx_map)
605MACHINE_DRIVER_END
600MACHINE_CONFIG_END
606601
607static MACHINE_DRIVER_START( tangtang )
602static MACHINE_CONFIG_DERIVED( tangtang, hedpanic )
608603
609604   /* basic machine hardware */
610   MDRV_IMPORT_FROM(hedpanic)
611605
612606   MDRV_CPU_MODIFY("maincpu")
613607   MDRV_CPU_PROGRAM_MAP(tangtang_map)
614608
615609   MDRV_GFXDECODE(tangtang)
616MACHINE_DRIVER_END
610MACHINE_CONFIG_END
617611
618static MACHINE_DRIVER_START( swatpolc )
612static MACHINE_CONFIG_DERIVED( swatpolc, hedpanic )
619613
620614   /* basic machine hardware */
621   MDRV_IMPORT_FROM(hedpanic)
622615
623616   MDRV_GFXDECODE(tangtang)
624MACHINE_DRIVER_END
617MACHINE_CONFIG_END
625618
626static MACHINE_DRIVER_START( hedpanio )
619static MACHINE_CONFIG_DERIVED( hedpanio, hedpanic )
627620
628621   /* basic machine hardware */
629   MDRV_IMPORT_FROM(hedpanic)
630622
631623   MDRV_VIDEO_UPDATE(hedpanio)
632MACHINE_DRIVER_END
624MACHINE_CONFIG_END
633625
634626
635627
src/mame/drivers/model3.c
r9191r9192
603603#include "cpu/powerpc/ppc.h"
604604#include "machine/eeprom.h"
605605#include "machine/53c810.h"
606#include "machine/nvram.h"
606607#include "sound/scsp.h"
607608#include "includes/model3.h"
608609
r9191r9192
614615UINT32 *model3_vrom;
615616
616617static UINT64 *work_ram;
617static UINT64 *model3_backup;
618618static int model3_crom_bank = 0;
619619static int model3_controls_bank;
620620static UINT32 real3d_device_id;
r9191r9192
11641164   5            /* reset_delay (Lost World needs this, very similar to wbeachvl in playmark.c) */
11651165};
11661166
1167static NVRAM_HANDLER( model3 )
1168{
1169   if (read_or_write)
1170   {
1171      mame_fwrite(file, model3_backup, 0x1ffff);
1172   }
1173   else
1174   {
1175      if (file)
1176      {
1177         mame_fread(file, model3_backup, 0x1ffff);
1178      }
1179   }
1180}
1181
11821167static const SCSIConfigTable scsi_dev_table =
11831168{
11841169   1, /* 1 SCSI device */
r9191r9192
17921777   AM_RANGE(0x8e000000, 0x8e0fffff) AM_WRITE( real3d_display_list_w )
17931778   AM_RANGE(0x98000000, 0x980fffff) AM_WRITE( real3d_polygon_ram_w )
17941779
1795   AM_RANGE(0xf0040000, 0xf004003f) AM_READWRITE( model3_ctrl_r, model3_ctrl_w )
1796   AM_RANGE(0xf0080000, 0xf0080007) AM_READWRITE( model3_sound_r, model3_sound_w )
1797   AM_RANGE(0xf00c0000, 0xf00dffff) AM_RAM   AM_BASE(&model3_backup)   /* backup SRAM */
1798   AM_RANGE(0xf0100000, 0xf010003f) AM_READWRITE( model3_sys_r, model3_sys_w )
1799   AM_RANGE(0xf0140000, 0xf014003f) AM_READWRITE( model3_rtc_r, model3_rtc_w )
1780   AM_RANGE(0xf0040000, 0xf004003f) AM_MIRROR(0x0e000000) AM_READWRITE( model3_ctrl_r, model3_ctrl_w )
1781   AM_RANGE(0xf0080000, 0xf0080007) AM_MIRROR(0x0e000000) AM_READWRITE( model3_sound_r, model3_sound_w )
1782   AM_RANGE(0xf00c0000, 0xf00dffff) AM_MIRROR(0x0e000000) AM_RAM AM_SHARE("backup")   /* backup SRAM */
1783   AM_RANGE(0xf0100000, 0xf010003f) AM_MIRROR(0x0e000000) AM_READWRITE( model3_sys_r, model3_sys_w )
1784   AM_RANGE(0xf0140000, 0xf014003f) AM_MIRROR(0x0e000000) AM_READWRITE( model3_rtc_r, model3_rtc_w )
1785   AM_RANGE(0xf0180000, 0xf019ffff) AM_MIRROR(0x0e000000) AM_RAM                     /* Security Board RAM */
1786   AM_RANGE(0xf01a0000, 0xf01a003f) AM_MIRROR(0x0e000000) AM_READ( model3_security_r )   /* Security board */
18001787
18011788   AM_RANGE(0xf1000000, 0xf10f7fff) AM_READWRITE( model3_char_r, model3_char_w )   /* character RAM */
18021789   AM_RANGE(0xf10f8000, 0xf10fffff) AM_READWRITE( model3_tile_r, model3_tile_w )   /* tilemaps */
18031790   AM_RANGE(0xf1100000, 0xf111ffff) AM_READWRITE( model3_palette_r, model3_palette_w ) AM_BASE(&paletteram64) /* palette */
18041791   AM_RANGE(0xf1180000, 0xf11800ff) AM_READWRITE( model3_vid_reg_r, model3_vid_reg_w )
18051792
1806   AM_RANGE(0xfe040000, 0xfe04003f) AM_READWRITE( model3_ctrl_r, model3_ctrl_w )
1807   AM_RANGE(0xfe080000, 0xfe080007) AM_READWRITE( model3_sound_r, model3_sound_w )
1808   AM_RANGE(0xfe0c0000, 0xfe0dffff) AM_RAM   AM_BASE(&model3_backup)   /* backup SRAM */
1809   AM_RANGE(0xfe100000, 0xfe10003f) AM_READWRITE( model3_sys_r, model3_sys_w )
1810   AM_RANGE(0xfe140000, 0xfe14003f) AM_READWRITE( model3_rtc_r, model3_rtc_w )
1811
1812   AM_RANGE(0xfe180000, 0xfe19ffff) AM_RAM                     /* Security Board RAM */
1813   AM_RANGE(0xfe1a0000, 0xfe1a003f) AM_READ( model3_security_r )   /* Security board */
1814
18151793   AM_RANGE(0xff800000, 0xffffffff) AM_ROM AM_REGION("user1", 0)
18161794ADDRESS_MAP_END
18171795
r9191r9192
49924970   66000000      /* Multiplier 2.5, Bus = 66MHz, Core = 166MHz */
49934971};
49944972
4995static MACHINE_DRIVER_START( model3_10 )
4973static MACHINE_CONFIG_START( model3_10, driver_device )
49964974   MDRV_CPU_ADD("maincpu", PPC603E, 66000000)
49974975   MDRV_CPU_CONFIG(model3_10)
49984976   MDRV_CPU_PROGRAM_MAP(model3_mem)
r9191r9192
50074985   MDRV_MACHINE_RESET(model3_10)
50084986
50094987   MDRV_EEPROM_ADD("eeprom", eeprom_intf)
5010   MDRV_NVRAM_HANDLER(model3)
4988   MDRV_NVRAM_ADD_1FILL("backup")
50114989
50124990
50134991   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
50325010   MDRV_SOUND_CONFIG(scsp2_interface)
50335011   MDRV_SOUND_ROUTE(0, "lspeaker", 2.0)
50345012   MDRV_SOUND_ROUTE(0, "rspeaker", 2.0)
5035MACHINE_DRIVER_END
5013MACHINE_CONFIG_END
50365014
5037static MACHINE_DRIVER_START( model3_15 )
5015static MACHINE_CONFIG_START( model3_15, driver_device )
50385016   MDRV_CPU_ADD("maincpu", PPC603E, 100000000)
50395017   MDRV_CPU_CONFIG(model3_15)
50405018   MDRV_CPU_PROGRAM_MAP(model3_mem)
r9191r9192
50475025   MDRV_MACHINE_RESET(model3_15)
50485026
50495027   MDRV_EEPROM_ADD("eeprom", eeprom_intf)
5050   MDRV_NVRAM_HANDLER(model3)
5028   MDRV_NVRAM_ADD_1FILL("backup")
50515029
50525030
50535031   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
50725050   MDRV_SOUND_CONFIG(scsp2_interface)
50735051   MDRV_SOUND_ROUTE(0, "lspeaker", 2.0)
50745052   MDRV_SOUND_ROUTE(0, "rspeaker", 2.0)
5075MACHINE_DRIVER_END
5053MACHINE_CONFIG_END
50765054
5077static MACHINE_DRIVER_START( model3_20 )
5055static MACHINE_CONFIG_START( model3_20, driver_device )
50785056   MDRV_CPU_ADD("maincpu", PPC603R, 166000000)
50795057   MDRV_CPU_CONFIG(model3_2x)
50805058   MDRV_CPU_PROGRAM_MAP(model3_mem)
r9191r9192
50875065   MDRV_MACHINE_RESET(model3_20)
50885066
50895067   MDRV_EEPROM_ADD("eeprom", eeprom_intf)
5090   MDRV_NVRAM_HANDLER(model3)
5068   MDRV_NVRAM_ADD_1FILL("backup")
50915069
50925070
50935071   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
51125090   MDRV_SOUND_CONFIG(scsp2_interface)
51135091   MDRV_SOUND_ROUTE(0, "lspeaker", 2.0)
51145092   MDRV_SOUND_ROUTE(0, "rspeaker", 2.0)
5115MACHINE_DRIVER_END
5093MACHINE_CONFIG_END
51165094
5117static MACHINE_DRIVER_START( model3_21 )
5095static MACHINE_CONFIG_START( model3_21, driver_device )
51185096   MDRV_CPU_ADD("maincpu", PPC603R, 166000000)
51195097   MDRV_CPU_CONFIG(model3_2x)
51205098   MDRV_CPU_PROGRAM_MAP(model3_mem)
r9191r9192
51275105   MDRV_MACHINE_RESET(model3_21)
51285106
51295107   MDRV_EEPROM_ADD("eeprom", eeprom_intf)
5130   MDRV_NVRAM_HANDLER(model3)
5108   MDRV_NVRAM_ADD_1FILL("backup")
51315109
51325110
51335111   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
51535131   MDRV_SOUND_CONFIG(scsp2_interface)
51545132   MDRV_SOUND_ROUTE(0, "lspeaker", 2.0)
51555133   MDRV_SOUND_ROUTE(0, "rspeaker", 2.0)
5156MACHINE_DRIVER_END
5134MACHINE_CONFIG_END
51575135
51585136static void interleave_vroms(running_machine *machine)
51595137{
src/mame/drivers/iqblock.c
r9191r9192
265265
266266
267267
268static MACHINE_DRIVER_START( iqblock )
268static MACHINE_CONFIG_START( iqblock, driver_device )
269269
270270   /* basic machine hardware */
271271   MDRV_CPU_ADD("maincpu", Z80,12000000/2)   /* 6 MHz */
r9191r9192
294294
295295   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
296296   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
297MACHINE_DRIVER_END
297MACHINE_CONFIG_END
298298
299299
300300
src/mame/drivers/cb2001.c
r9191r9192
791791};
792792
793793static const nec_config cb2001_config = { cb2001_decryption_table, };
794static MACHINE_DRIVER_START( cb2001 )
794static MACHINE_CONFIG_START( cb2001, driver_device )
795795   MDRV_CPU_ADD("maincpu", V30, 20000000) // CPU91A-011-0016JK004; encrypted cpu like nec v25/35 used in some irem game
796796   MDRV_CPU_CONFIG(cb2001_config)
797797   MDRV_CPU_PROGRAM_MAP(cb2001_map)
r9191r9192
822822   MDRV_SOUND_ADD("aysnd", AY8910, 1500000) // wrong
823823   MDRV_SOUND_CONFIG(cb2001_ay8910_config)
824824   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
825MACHINE_DRIVER_END
825MACHINE_CONFIG_END
826826
827827
828828ROM_START( cb2001 )
src/mame/drivers/funkyjet.c
r9191r9192
122122   AM_RANGE(0x000000, 0x00ffff) AM_ROM
123123   AM_RANGE(0x100000, 0x100001) AM_NOP /* YM2203 - this board doesn't have one */
124124   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
125   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
125   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
126126   AM_RANGE(0x130000, 0x130001) AM_NOP /* This board only has 1 oki chip */
127127   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
128128   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
r9191r9192
305305   state->deco16ic = machine->device("deco_custom");
306306}
307307
308static MACHINE_DRIVER_START( funkyjet )
308static MACHINE_CONFIG_START( funkyjet, funkyjet_state )
309309
310   /* driver data */
311   MDRV_DRIVER_DATA(funkyjet_state)
312
313310   /* basic machine hardware */
314311   MDRV_CPU_ADD("maincpu", M68000, 14000000) /* 28 MHz crystal */
315312   MDRV_CPU_PROGRAM_MAP(funkyjet_map)
r9191r9192
346343   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
347344   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
348345   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
349MACHINE_DRIVER_END
346MACHINE_CONFIG_END
350347
351348/******************************************************************************/
352349
src/mame/drivers/xexex.c
r9191r9192
519519   k054539_init_flags(machine->device("k054539"), K054539_REVERSE_STEREO);
520520}
521521
522static MACHINE_DRIVER_START( xexex )
522static MACHINE_CONFIG_START( xexex, xexex_state )
523523
524   /* driver data */
525   MDRV_DRIVER_DATA(xexex_state)
526
527524   /* basic machine hardware */
528525   MDRV_CPU_ADD("maincpu", M68000, 16000000)   // 16MHz (32MHz xtal)
529526   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
588585   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
589586   MDRV_SOUND_ADD("filter2r", FILTER_VOLUME, 0)
590587   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
591MACHINE_DRIVER_END
588MACHINE_CONFIG_END
592589
593590
594591ROM_START( xexex ) /* Europe, Version AA */
src/mame/drivers/wallc.c
r9191r9192
5252#include "video/resnet.h"
5353#include "sound/ay8910.h"
5454
55
56class wallc_state : public driver_device
57{
58public:
59   wallc_state(running_machine &machine, const driver_device_config_base &config)
60      : driver_device(machine, config) { }
61
62   UINT8 *videoram;
63};
64
65
5566static tilemap_t *bg_tilemap;
5667
5768/***************************************************************************
r9191r9192
117128
118129static WRITE8_HANDLER( wallc_videoram_w )
119130{
120   space->machine->generic.videoram.u8[offset] = data;
131   wallc_state *state = space->machine->driver_data<wallc_state>();
132   UINT8 *videoram = state->videoram;
133   videoram[offset] = data;
121134   tilemap_mark_tile_dirty(bg_tilemap, offset);
122135}
123136
124137static TILE_GET_INFO( get_bg_tile_info )
125138{
126   SET_TILE_INFO(0, machine->generic.videoram.u8[tile_index] + 0x100, 1, 0);
139   wallc_state *state = machine->driver_data<wallc_state>();
140   UINT8 *videoram = state->videoram;
141   SET_TILE_INFO(0, videoram[tile_index] + 0x100, 1, 0);
127142}
128143
129144static VIDEO_START( wallc )
r9191r9192
144159
145160static ADDRESS_MAP_START( wallc_map, ADDRESS_SPACE_PROGRAM, 8 )
146161   AM_RANGE(0x0000, 0x7fff) AM_ROM
147   AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(wallc_videoram_w) AM_MIRROR(0xc00) AM_BASE_GENERIC(videoram)   /* 2114, 2114 */
162   AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(wallc_videoram_w) AM_MIRROR(0xc00) AM_BASE_MEMBER(wallc_state, videoram)   /* 2114, 2114 */
148163   AM_RANGE(0xa000, 0xa3ff) AM_RAM      /* 2114, 2114 */
149164
150165   AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW1")
r9191r9192
275290
276291
277292
278static MACHINE_DRIVER_START( wallc )
293static MACHINE_CONFIG_START( wallc, wallc_state )
279294   /* basic machine hardware */
280295   MDRV_CPU_ADD("maincpu", Z80, 12288000 / 4)   /* 3.072 MHz ? */
281296   MDRV_CPU_PROGRAM_MAP(wallc_map)
r9191r9192
300315   MDRV_SPEAKER_STANDARD_MONO("mono")
301316   MDRV_SOUND_ADD("aysnd", AY8910, 12288000 / 8)
302317   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
303MACHINE_DRIVER_END
318MACHINE_CONFIG_END
304319
305320/***************************************************************************
306321
src/mame/drivers/ironhors.c
r9191r9192
376376   state->spriterambank = 0;
377377}
378378
379static MACHINE_DRIVER_START( ironhors )
379static MACHINE_CONFIG_START( ironhors, ironhors_state )
380380
381   /* driver data */
382   MDRV_DRIVER_DATA(ironhors_state)
383
384381   /* basic machine hardware */
385382   MDRV_CPU_ADD("maincpu", M6809,18432000/6)        /* 3.072 MHz??? mod by Shingo Suzuki 1999/10/15 */
386383   MDRV_CPU_PROGRAM_MAP(master_map)
r9191r9192
423420   MDRV_SOUND_CONFIG_DISCRETE(ironhors)
424421   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
425422
426MACHINE_DRIVER_END
423MACHINE_CONFIG_END
427424
428425static INTERRUPT_GEN( farwest_interrupt )
429426{
r9191r9192
463460
464461
465462
466static MACHINE_DRIVER_START( farwest )
467   MDRV_IMPORT_FROM(ironhors)
463static MACHINE_CONFIG_DERIVED( farwest, ironhors )
468464
469465   MDRV_CPU_MODIFY("maincpu")
470466   MDRV_CPU_PROGRAM_MAP(farwest_master_map)
r9191r9192
480476
481477   MDRV_SOUND_MODIFY("ym2203")
482478   MDRV_SOUND_CONFIG(farwest_ym2203_config)
483MACHINE_DRIVER_END
479MACHINE_CONFIG_END
484480
485481
486482
src/mame/drivers/marinedt.c
r9191r9192
9797#include "emu.h"
9898#include "cpu/z80/z80.h"
9999
100class marinedt_state : public driver_data_t
100class marinedt_state : public driver_device
101101{
102102public:
103   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, marinedt_state(machine)); }
103   marinedt_state(running_machine &machine, const driver_device_config_base &config)
104      : driver_device(machine, config) { }
104105
105   marinedt_state(running_machine &machine)
106      : driver_data_t(machine) { }
107
108106   /* memory pointers */
109107   UINT8 *     tx_tileram;
110108
r9191r9192
645643   state->cyqh = 0;
646644}
647645
648static MACHINE_DRIVER_START( marinedt )
646static MACHINE_CONFIG_START( marinedt, marinedt_state )
649647
650   /* driver data */
651   MDRV_DRIVER_DATA(marinedt_state)
652
653648   /* basic machine hardware */
654649   MDRV_CPU_ADD("maincpu", Z80,10000000/4)
655650   MDRV_CPU_PROGRAM_MAP(marinedt_map)
r9191r9192
676671
677672   /* sound hardware */
678673   //discrete sound
679MACHINE_DRIVER_END
674MACHINE_CONFIG_END
680675
681676
682677/***************************************************************************
src/mame/drivers/skullxbo.c
r9191r9192
143143   AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
144144   AM_RANGE(0xff4000, 0xff47ff) AM_WRITE(skullxbo_yscroll_w) AM_BASE_MEMBER(skullxbo_state, yscroll)
145145   AM_RANGE(0xff4800, 0xff4fff) AM_WRITE(skullxbo_mobwr_w)
146   AM_RANGE(0xff6000, 0xff6fff) AM_WRITE(atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(skullxbo_state, eeprom, eeprom_size)
146   AM_RANGE(0xff6000, 0xff6fff) AM_WRITE(atarigen_eeprom_w) AM_SHARE("eeprom")
147147   AM_RANGE(0xff5000, 0xff5001) AM_READ(atarigen_sound_r)
148148   AM_RANGE(0xff5800, 0xff5801) AM_READ_PORT("FF5800")
149149   AM_RANGE(0xff5802, 0xff5803) AM_READ(special_port1_r)
r9191r9192
253253 *
254254 *************************************/
255255
256static MACHINE_DRIVER_START( skullxbo )
257   MDRV_DRIVER_DATA(skullxbo_state)
256static MACHINE_CONFIG_START( skullxbo, skullxbo_state )
258257
259258   /* basic machine hardware */
260259   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
263262
264263   MDRV_MACHINE_START(skullxbo)
265264   MDRV_MACHINE_RESET(skullxbo)
266   MDRV_NVRAM_HANDLER(atarigen)
265   MDRV_NVRAM_ADD_1FILL("eeprom")
267266
268267   /* video hardware */
269268   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
280279   MDRV_VIDEO_UPDATE(skullxbo)
281280
282281   /* sound hardware */
283   MDRV_IMPORT_FROM(jsa_ii_mono)
284MACHINE_DRIVER_END
282   MDRV_FRAGMENT_ADD(jsa_ii_mono)
283MACHINE_CONFIG_END
285284
286285
287286
src/mame/drivers/sliver.c
r9191r9192
7676#define x_offset 0x45
7777#define y_offset 0x0d
7878
79class sliver_state : public driver_data_t
79class sliver_state : public driver_device
8080{
8181public:
82   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sliver_state(machine)); }
82   sliver_state(running_machine &machine, const driver_device_config_base &config)
83      : driver_device(machine, config) { }
8384
84   sliver_state(running_machine &machine)
85      : driver_data_t(machine) { }
86
8785   UINT16 io_offset;
8886   UINT16 io_reg[IO_SIZE];
8987   UINT16 fifo[FIFO_SIZE];
r9191r9192
471469ADDRESS_MAP_END
472470
473471static ADDRESS_MAP_START( soundmem_io, ADDRESS_SPACE_IO, 8 )
474   AM_RANGE(0x0100, 0x0100) AM_DEVREADWRITE( "oki", okim6295_r, okim6295_w )
472   AM_RANGE(0x0100, 0x0100) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
475473   AM_RANGE(0x0101, 0x0101) AM_READ(soundlatch_r)
476474   /* ports */
477475   AM_RANGE(MCS51_PORT_P1, MCS51_PORT_P1) AM_WRITE( oki_setbank )
r9191r9192
570568   cpu_set_input_line(device, 2+cpu_getiloops(device), HOLD_LINE);
571569}
572570
573static MACHINE_DRIVER_START( sliver )
571static MACHINE_CONFIG_START( sliver, sliver_state )
574572
575   MDRV_DRIVER_DATA( sliver_state )
576
577573   MDRV_CPU_ADD("maincpu", M68000, 12000000)
578574   MDRV_CPU_PROGRAM_MAP(sliver_map)
579575   MDRV_CPU_VBLANK_INT_HACK(sliver_int,3)
r9191r9192
598594   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
599595   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.6)
600596   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.6)
601MACHINE_DRIVER_END
597MACHINE_CONFIG_END
602598
603599ROM_START( sliver )
604600   ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */
src/mame/drivers/epos.c
r9191r9192
392392   MACHINE_START_CALL(epos);
393393}
394394
395static MACHINE_DRIVER_START( epos )
395static MACHINE_CONFIG_START( epos, epos_state )
396396
397   /* driver data */
398   MDRV_DRIVER_DATA(epos_state)
399
400397   /* basic machine hardware */
401398   MDRV_CPU_ADD("maincpu", Z80, 11000000/4)   /* 2.75 MHz (see notes) */
402399   MDRV_CPU_PROGRAM_MAP(epos_map)
r9191r9192
420417   MDRV_SPEAKER_STANDARD_MONO("mono")
421418   MDRV_SOUND_ADD("aysnd", AY8910, 11000000/4)
422419   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
423MACHINE_DRIVER_END
420MACHINE_CONFIG_END
424421
425422
426static MACHINE_DRIVER_START( dealer )
423static MACHINE_CONFIG_START( dealer, epos_state )
427424
428   /* driver data */
429   MDRV_DRIVER_DATA(epos_state)
430
431425   /* basic machine hardware */
432426   MDRV_CPU_ADD("maincpu", Z80, 11000000/4)   /* 2.75 MHz (see notes) */
433427   MDRV_CPU_PROGRAM_MAP(dealer_map)
r9191r9192
453447   MDRV_SPEAKER_STANDARD_MONO("mono")
454448   MDRV_SOUND_ADD("aysnd", AY8910, 11000000/4)
455449   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
456MACHINE_DRIVER_END
450MACHINE_CONFIG_END
457451
458452
459453/*************************************
src/mame/drivers/mrflea.c
r9191r9192
357357   state->select1 = 0;
358358}
359359
360static MACHINE_DRIVER_START( mrflea )
360static MACHINE_CONFIG_START( mrflea, mrflea_state )
361361
362   /* driver data */
363   MDRV_DRIVER_DATA(mrflea_state)
364
365362   /* basic machine hardware */
366363   MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */
367364   MDRV_CPU_PROGRAM_MAP(mrflea_master_map)
r9191r9192
404401
405402   MDRV_SOUND_ADD("ay3", AY8910, 2000000)
406403   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
407MACHINE_DRIVER_END
404MACHINE_CONFIG_END
408405
409406/*************************************
410407 *
src/mame/drivers/cps3.c
r9191r9192
323323#include "cdrom.h"
324324#include "cpu/sh2/sh2.h"
325325#include "machine/intelfsh.h"
326#include "machine/nvram.h"
326327#include "includes/cps3.h"
327328#include "machine/wd33c93.h"
328329
r9191r9192
337338#define DMA_XOR(a)      ((a) ^ NATIVE_ENDIAN_VALUE_LE_BE(1,2))
338339
339340
341static fujitsu_29f016a_device *simm[7][8];
342
340343static UINT32* decrypted_bios;
341344
342345static UINT32* decrypted_gamerom;
r9191r9192
380383#define CPS3_TRANSPARENCY_PEN_INDEX 2
381384#define CPS3_TRANSPARENCY_PEN_INDEX_BLEND 3
382385
386static void copy_from_nvram(running_machine *machine);
387
383388INLINE void cps3_drawgfxzoom(bitmap_t *dest_bmp,const rectangle *clip,const gfx_element *gfx,
384389      unsigned int code,unsigned int color,int flipx,int flipy,int sx,int sy,
385390      int transparency,int transparent_color,
r9191r9192
684689
685690static DRIVER_INIT( cps3 )
686691{
687   int i;
688
689692   // cache pointers to regions
690693   cps3_user4region = memory_region(machine,"user4");
691694   cps3_user5region = memory_region(machine,"user5");
r9191r9192
711714   main->set_direct_update_handler(direct_update_delegate_create_static(cps3_direct_handler, *machine));
712715
713716   // flash roms
717   astring tempstr;
718   for (int simmnum = 0; simmnum < 7; simmnum++)
719      for (int chipnum = 0; chipnum < 8; chipnum++)
720         simm[simmnum][chipnum] = machine->device<fujitsu_29f016a_device>(tempstr.format("simm%d.%d", simmnum + 1, chipnum));
714721
715   for (i=0;i<48;i++)
716      intelflash_init( machine, i, FLASH_FUJITSU_29F016A, NULL );
717
718722   cps3_eeprom = auto_alloc_array(machine, UINT32, 0x400/4);
723   machine->device<nvram_device>("eeprom")->set_base(cps3_eeprom, 0x400);
719724}
720725
721726static DRIVER_INIT( jojo )    { cps3_key1 = 0x02203ee3; cps3_key2 = 0x01301972; cps3_altEncryption = 0; DRIVER_INIT_CALL(cps3); }
r9191r9192
13511356static READ32_HANDLER( cps3_gfxflash_r )
13521357{
13531358   UINT32 result = 0;
1354   int flash1 = 8;
1355   int flash2 = 9;
13561359   if (cram_gfxflash_bank&1) offset += 0x200000/4;
13571360
1358   flash1 += cram_gfxflash_bank&0x3e;
1359   flash2 += cram_gfxflash_bank&0x3e;
1361   fujitsu_29f016a_device *chip0 = simm[2 + cram_gfxflash_bank/8][(cram_gfxflash_bank % 8) & ~1];
1362   fujitsu_29f016a_device *chip1 = simm[2 + cram_gfxflash_bank/8][(cram_gfxflash_bank % 8) |  1];
1363   if (chip0 == NULL || chip1 == NULL)
1364      return 0xffffffff;
13601365
13611366   if(DEBUG_PRINTF) printf("gfxflash_r\n");
13621367
13631368   if (ACCESSING_BITS_24_31)   // GFX Flash 1
13641369   {
1365      logerror("read GFX flash chip %d addr %02x\n", flash1-8, (offset<<1));
1366      result |= intelflash_read(flash1, (offset<<1) ) << 24;
1370      logerror("read GFX flash chip %s addr %02x\n", chip0->tag(), (offset<<1));
1371      result |= chip0->read( (offset<<1) ) << 24;
13671372   }
13681373   if (ACCESSING_BITS_16_23)   // GFX Flash 2
13691374   {
1370      logerror("read GFX flash chip %d addr %02x\n", flash2-8, (offset<<1));
1371      result |= intelflash_read(flash2, (offset<<1) ) << 16;
1375      logerror("read GFX flash chip %s addr %02x\n", chip1->tag(), (offset<<1));
1376      result |= chip1->read( (offset<<1) ) << 16;
13721377   }
13731378   if (ACCESSING_BITS_8_15)   // GFX Flash 1
13741379   {
1375      logerror("read GFX flash chip %d addr %02x\n", flash1-8, (offset<<1)+1);
1376      result |= intelflash_read(flash1, (offset<<1)+0x1 ) << 8;
1380      logerror("read GFX flash chip %s addr %02x\n", chip0->tag(), (offset<<1)+1);
1381      result |= chip0->read( (offset<<1)+0x1 ) << 8;
13771382   }
13781383   if (ACCESSING_BITS_0_7)   // GFX Flash 2
13791384   {
1380      logerror("read GFX flash chip %d addr %02x\n", flash2-8, (offset<<1)+1);
1381      result |= intelflash_read(flash2, (offset<<1)+0x1 ) << 0;
1385      logerror("read GFX flash chip %s addr %02x\n", chip1->tag(), (offset<<1)+1);
1386      result |= chip1->read( (offset<<1)+0x1 ) << 0;
13821387   }
13831388
13841389   //printf("read GFX flash chips addr %02x returning %08x mem_mask %08x crambank %08x gfxbank %08x\n", offset*2, result,mem_mask,  cram_bank, cram_gfxflash_bank  );
r9191r9192
13891394static WRITE32_HANDLER( cps3_gfxflash_w )
13901395{
13911396   int command;
1392   int flash1 = 8;
1393   int flash2 = 9;
13941397   if (cram_gfxflash_bank&1) offset += 0x200000/4;
13951398
1396   flash1 += cram_gfxflash_bank&0x3e;
1397   flash2 += cram_gfxflash_bank&0x3e;
1399   fujitsu_29f016a_device *chip0 = simm[2 + cram_gfxflash_bank/8][(cram_gfxflash_bank % 8) & ~1];
1400   fujitsu_29f016a_device *chip1 = simm[2 + cram_gfxflash_bank/8][(cram_gfxflash_bank % 8) |  1];
1401   if (chip0 == NULL || chip1 == NULL)
1402      return;
13981403
1399
14001404//  if(DEBUG_PRINTF) printf("cps3_gfxflash_w %08x %08x %08x\n", offset *2, data, mem_mask);
14011405
14021406
14031407   if (ACCESSING_BITS_24_31)   // GFX Flash 1
14041408   {
14051409      command = (data >> 24) & 0xff;
1406      logerror("write to GFX flash chip %d addr %02x cmd %02x\n", flash1-8, (offset<<1), command);
1407      intelflash_write(flash1, (offset<<1), command);
1410      logerror("write to GFX flash chip %s addr %02x cmd %02x\n", chip0->tag(), (offset<<1), command);
1411      chip0->write( (offset<<1), command);
14081412   }
14091413   if (ACCESSING_BITS_16_23)   // GFX Flash 2
14101414   {
14111415      command = (data >> 16) & 0xff;
1412      logerror("write to GFX flash chip %d addr %02x cmd %02x\n", flash2-8, (offset<<1), command);
1413      intelflash_write(flash2, (offset<<1), command);
1416      logerror("write to GFX flash chip %s addr %02x cmd %02x\n", chip1->tag(), (offset<<1), command);
1417      chip1->write( (offset<<1), command);
14141418   }
14151419   if (ACCESSING_BITS_8_15)   // GFX Flash 1
14161420   {
14171421      command = (data >> 8) & 0xff;
1418      logerror("write to GFX flash chip %d addr %02x cmd %02x\n", flash1-8, (offset<<1)+1, command);
1419      intelflash_write(flash1, (offset<<1)+0x1, command);
1422      logerror("write to GFX flash chip %s addr %02x cmd %02x\n", chip0->tag(), (offset<<1)+1, command);
1423      chip0->write( (offset<<1)+0x1, command);
14201424   }
14211425   if (ACCESSING_BITS_0_7)   // GFX Flash 2
14221426   {
14231427      command = (data >> 0) & 0xff;
1424      //if ( ((offset<<1)+1) != 0x555) printf("write to GFX flash chip %d addr %02x cmd %02x\n", flash1-8, (offset<<1)+1, command);
1425      intelflash_write(flash2, (offset<<1)+0x1, command);
1428      //if ( ((offset<<1)+1) != 0x555) printf("write to GFX flash chip %s addr %02x cmd %02x\n", chip1->tag(), (offset<<1)+1, command);
1429      chip1->write( (offset<<1)+0x1, command);
14261430   }
14271431
14281432   /* make a copy in the linear memory region we actually use for drawing etc.  having it stored in interleaved flash roms isnt' very useful */
r9191r9192
14301434      UINT32* romdata = (UINT32*)cps3_user5region;
14311435      int real_offset = 0;
14321436      UINT32 newdata;
1433      UINT8* ptr1 = (UINT8*)intelflash_getmemptr(flash1);
1434      UINT8* ptr2 = (UINT8*)intelflash_getmemptr(flash2);
14351437
14361438      real_offset = ((cram_gfxflash_bank&0x3e) * 0x200000) + offset*4;
14371439
1438      newdata =((ptr1[((offset*2)&0xfffffffe)+0]<<8) |
1439               (ptr1[((offset*2)&0xfffffffe)+1]<<24) |
1440                  (ptr2[((offset*2)&0xfffffffe)+0]<<0)  |
1441                  (ptr2[((offset*2)&0xfffffffe)+1]<<16));
1440      newdata =((chip0->read_raw(((offset*2)&0xfffffffe)+0)<<8) |
1441               (chip0->read_raw(((offset*2)&0xfffffffe)+1)<<24) |
1442                  (chip1->read_raw(((offset*2)&0xfffffffe)+0)<<0)  |
1443                  (chip1->read_raw(((offset*2)&0xfffffffe)+1)<<16));
14421444
14431445//      printf("flashcrap %08x %08x %08x\n", offset *2, romdata[real_offset/4], newdata);
14441446      romdata[real_offset/4] = newdata;
r9191r9192
14471449
14481450
14491451
1450static UINT32 cps3_flashmain_r(int base, UINT32 offset, UINT32 mem_mask)
1452static UINT32 cps3_flashmain_r(int which, UINT32 offset, UINT32 mem_mask)
14511453{
14521454   UINT32 result = 0;
14531455
1456   if (simm[which][0] == NULL || simm[which][1] == NULL || simm[which][2] == NULL || simm[which][3] == NULL)
1457      return 0xffffffff;
1458
14541459   if (ACCESSING_BITS_24_31)   // Flash 1
14551460   {
14561461//      logerror("read flash chip %d addr %02x\n", base+0, offset*4 );
1457      result |= (intelflash_read(base+0, offset)<<24);
1462      result |= (simm[which][0]->read(offset)<<24);
14581463   }
14591464   if (ACCESSING_BITS_16_23)   // Flash 1
14601465   {
14611466//      logerror("read flash chip %d addr %02x\n", base+1, offset*4 );
1462      result |= (intelflash_read(base+1, offset)<<16);
1467      result |= (simm[which][1]->read(offset)<<16);
14631468   }
14641469   if (ACCESSING_BITS_8_15)   // Flash 1
14651470   {
14661471//      logerror("read flash chip %d addr %02x\n", base+2, offset*4 );
1467      result |= (intelflash_read(base+2, offset)<<8);
1472      result |= (simm[which][2]->read(offset)<<8);
14681473   }
14691474   if (ACCESSING_BITS_0_7)   // Flash 1
14701475   {
14711476//      logerror("read flash chip %d addr %02x\n", base+3, offset*4 );
1472      result |= (intelflash_read(base+3, offset)<<0);
1477      result |= (simm[which][3]->read(offset)<<0);
14731478   }
14741479
14751480//  if (base==4) logerror("read flash chips addr %02x returning %08x\n", offset*4, result );
r9191r9192
14911496
14921497static READ32_HANDLER( cps3_flash2_r )
14931498{
1494   UINT32 retvalue = cps3_flashmain_r(4, offset,mem_mask);
1499   UINT32 retvalue = cps3_flashmain_r(1, offset,mem_mask);
14951500
14961501   if (cps3_altEncryption) return retvalue;
14971502
r9191r9192
14991504   return retvalue;
15001505}
15011506
1502static void cps3_flashmain_w(running_machine *machine, int base, UINT32 offset, UINT32 data, UINT32 mem_mask)
1507static void cps3_flashmain_w(running_machine *machine, int which, UINT32 offset, UINT32 data, UINT32 mem_mask)
15031508{
15041509   int command;
1510
1511   if (simm[which][0] == NULL || simm[which][1] == NULL || simm[which][2] == NULL || simm[which][3] == NULL)
1512      return;
1513
15051514   if (ACCESSING_BITS_24_31)   // Flash 1
15061515   {
15071516      command = (data >> 24) & 0xff;
1508      logerror("write to flash chip %d addr %02x cmd %02x\n", base+0, offset, command);
1509      intelflash_write(base+0, offset, command);
1517      logerror("write to flash chip %s addr %02x cmd %02x\n", simm[which][0]->tag(), offset, command);
1518      simm[which][0]->write(offset, command);
15101519   }
15111520   if (ACCESSING_BITS_16_23)   // Flash 2
15121521   {
15131522      command = (data >> 16) & 0xff;
1514      logerror("write to flash chip %d addr %02x cmd %02x\n", base+1, offset, command);
1515      intelflash_write(base+1, offset, command);
1523      logerror("write to flash chip %s addr %02x cmd %02x\n", simm[which][1]->tag(), offset, command);
1524      simm[which][1]->write(offset, command);
15161525   }
15171526   if (ACCESSING_BITS_8_15)   // Flash 2
15181527   {
15191528      command = (data >> 8) & 0xff;
1520      logerror("write to flash chip %d addr %02x cmd %02x\n", base+2, offset, command);
1521      intelflash_write(base+2, offset, command);
1529      logerror("write to flash chip %s addr %02x cmd %02x\n", simm[which][2]->tag(), offset, command);
1530      simm[which][2]->write(offset, command);
15221531   }
15231532   if (ACCESSING_BITS_0_7)   // Flash 2
15241533   {
15251534      command = (data >> 0) & 0xff;
1526      logerror("write to flash chip %d addr %02x cmd %02x\n", base+3, offset, command);
1527      intelflash_write(base+3, offset, command);
1535      logerror("write to flash chip %s addr %02x cmd %02x\n", simm[which][3]->tag(), offset, command);
1536      simm[which][3]->write(offset, command);
15281537   }
15291538
15301539   /* copy data into regions to execute from */
r9191r9192
15331542      UINT32* romdata2 = (UINT32*)decrypted_gamerom;
15341543      int real_offset = 0;
15351544      UINT32 newdata;
1536      UINT8* ptr1 = (UINT8*)intelflash_getmemptr(base+0);
1537      UINT8* ptr2 = (UINT8*)intelflash_getmemptr(base+1);
1538      UINT8* ptr3 = (UINT8*)intelflash_getmemptr(base+2);
1539      UINT8* ptr4 = (UINT8*)intelflash_getmemptr(base+3);
15401545
15411546      real_offset = offset * 4;
15421547
1543      if (base==4)
1548      if (which==1)
15441549      {
15451550         romdata+=0x800000/4;
15461551         romdata2+=0x800000/4;
15471552         real_offset += 0x800000;
15481553      }
15491554
1550      newdata = (ptr1[offset]<<24) |
1551               (ptr2[offset]<<16) |
1552                  (ptr3[offset]<<8) |
1553                  (ptr4[offset]<<0);
1555      newdata = (simm[which][0]->read_raw(offset)<<24) |
1556               (simm[which][1]->read_raw(offset)<<16) |
1557                  (simm[which][2]->read_raw(offset)<<8) |
1558                  (simm[which][3]->read_raw(offset)<<0);
15541559
15551560      //printf("%08x %08x %08x %08x %08x\n",offset, romdata2[offset], romdata[offset], newdata,  newdata^cps3_mask(0x6000000+real_offset, cps3_key1, cps3_key2)  );
15561561
r9191r9192
15661571
15671572static WRITE32_HANDLER( cps3_flash2_w )
15681573{
1569   cps3_flashmain_w(space->machine,4,offset,data,mem_mask);
1574   cps3_flashmain_w(space->machine,1,offset,data,mem_mask);
15701575}
15711576
15721577static WRITE32_HANDLER( cram_gfxflash_bank_w )
r9191r9192
22842289static MACHINE_RESET( cps3 )
22852290{
22862291   current_table_address = -1;
2292
2293   // copy data from flashroms back into user regions + decrypt into regions we execute/draw from.
2294   copy_from_nvram(machine);
22872295}
22882296
22892297
22902298
2291
2292
2293static void precopy_to_flash(running_machine *machine)
2294{
2295   UINT32* romdata = (UINT32*)cps3_user4region;
2296   int i;
2297   /* precopy program roms, ok, sfiii2 tests pass, others fail because of how the decryption affects testing */
2298   for (i=0;i<0x800000;i+=4)
2299   {
2300      UINT32 data;
2301      UINT8* ptr1 = (UINT8*)intelflash_getmemptr(0);
2302      UINT8* ptr2 = (UINT8*)intelflash_getmemptr(1);
2303      UINT8* ptr3 = (UINT8*)intelflash_getmemptr(2);
2304      UINT8* ptr4 = (UINT8*)intelflash_getmemptr(3);
2305
2306      data = romdata[i/4];
2307
2308      ptr1[i/4] = (data & 0xff000000)>>24;
2309      ptr2[i/4] = (data & 0x00ff0000)>>16;
2310      ptr3[i/4] = (data & 0x0000ff00)>>8;
2311      ptr4[i/4] = (data & 0x000000ff)>>0;
2312   }
2313
2314   for (i=0;i<0x800000;i+=4)
2315   {
2316      UINT32 data;
2317      UINT8* ptr1 = (UINT8*)intelflash_getmemptr(4);
2318      UINT8* ptr2 = (UINT8*)intelflash_getmemptr(5);
2319      UINT8* ptr3 = (UINT8*)intelflash_getmemptr(6);
2320      UINT8* ptr4 = (UINT8*)intelflash_getmemptr(7);
2321
2322      data = romdata[(0x800000+i)/4];
2323
2324      ptr1[i/4] = (data & 0xff000000)>>24;
2325      ptr2[i/4] = (data & 0x00ff0000)>>16;
2326      ptr3[i/4] = (data & 0x0000ff00)>>8;
2327      ptr4[i/4] = (data & 0x000000ff)>>0;
2328   }
2329
2330   /* precopy gfx roms, good, tests pass */
2331   {
2332      UINT32 thebase, len = USER5REGION_LENGTH;
2333      int flashnum = 8;
2334
2335      romdata = (UINT32*)cps3_user5region;
2336      for (thebase = 0;thebase < len/2; thebase+=0x200000)
2337      {
2338      //  printf("flashnums %d. %d\n",flashnum, flashnum+1);
2339
2340         for (i=0;i<0x200000;i+=2)
2341         {
2342            UINT8* ptr1 = (UINT8*)intelflash_getmemptr(flashnum);
2343            UINT8* ptr2 = (UINT8*)intelflash_getmemptr(flashnum+1);
2344            UINT32 dat = romdata[(thebase+i)/2];
2345
2346            ptr1[BYTE_XOR_LE(i+1)] =  (dat&0xff000000)>>24;
2347            ptr2[BYTE_XOR_LE(i+1)] =  (dat&0x00ff0000)>>16;
2348
2349            ptr1[BYTE_XOR_LE(i+0)] =  (dat&0x0000ff00)>>8;
2350            ptr2[BYTE_XOR_LE(i+0)] =  (dat&0x000000ff)>>0;
2351         }
2352         flashnum+=2;
2353      }
2354   }
2355}
2356
2357
23582299// make a copy in the regions we execute code / draw gfx from
23592300static void copy_from_nvram(running_machine *machine)
23602301{
r9191r9192
23652306   for (i=0;i<0x800000;i+=4)
23662307   {
23672308      UINT32 data;
2368      UINT8* ptr1 = (UINT8*)intelflash_getmemptr(0);
2369      UINT8* ptr2 = (UINT8*)intelflash_getmemptr(1);
2370      UINT8* ptr3 = (UINT8*)intelflash_getmemptr(2);
2371      UINT8* ptr4 = (UINT8*)intelflash_getmemptr(3);
23722309
2373      data = ((ptr1[i/4]<<24) | (ptr2[i/4]<<16) | (ptr3[i/4]<<8) | (ptr4[i/4]<<0));
2310      data = ((simm[0][0]->read_raw(i/4)<<24) | (simm[0][1]->read_raw(i/4)<<16) | (simm[0][2]->read_raw(i/4)<<8) | (simm[0][3]->read_raw(i/4)<<0));
23742311
23752312   //  printf("%08x %08x %08x %08x\n",romdata[i/4],data, romdata2[i/4], data ^ cps3_mask(i+0x6000000, cps3_key1, cps3_key2));
23762313      romdata[i/4] = data;
r9191r9192
23812318   romdata  += 0x800000/4;
23822319   romdata2 += 0x800000/4;
23832320
2384   for (i=0;i<0x800000;i+=4)
2385   {
2386      UINT32 data;
2387      UINT8* ptr1 = (UINT8*)intelflash_getmemptr(4);
2388      UINT8* ptr2 = (UINT8*)intelflash_getmemptr(5);
2389      UINT8* ptr3 = (UINT8*)intelflash_getmemptr(6);
2390      UINT8* ptr4 = (UINT8*)intelflash_getmemptr(7);
2321   if (simm[1][0] != NULL)
2322      for (i=0;i<0x800000;i+=4)
2323      {
2324         UINT32 data;
23912325
2392      data = ((ptr1[i/4]<<24) | (ptr2[i/4]<<16) | (ptr3[i/4]<<8) | (ptr4[i/4]<<0));
2326         data = ((simm[1][0]->read_raw(i/4)<<24) | (simm[1][1]->read_raw(i/4)<<16) | (simm[1][2]->read_raw(i/4)<<8) | (simm[1][3]->read_raw(i/4)<<0));
23932327
2394   //  printf("%08x %08x %08x %08x\n",romdata[i/4],data, romdata2[i/4],  data ^ cps3_mask(i+0x6800000, cps3_key1, cps3_key2) );
2395      romdata[i/4] = data;
2396      romdata2[i/4] = data ^ cps3_mask(i+0x6800000, cps3_key1, cps3_key2);
2397   }
2328      //  printf("%08x %08x %08x %08x\n",romdata[i/4],data, romdata2[i/4],  data ^ cps3_mask(i+0x6800000, cps3_key1, cps3_key2) );
2329         romdata[i/4] = data;
2330         romdata2[i/4] = data ^ cps3_mask(i+0x6800000, cps3_key1, cps3_key2);
2331      }
23982332
23992333   /* copy gfx from loaded flashroms to user reigon 5, where it's used */
24002334   {
24012335      UINT32 thebase, len = USER5REGION_LENGTH;
2402      int flashnum = 8;
2336      int flashnum = 0;
24032337      int countoffset = 0;
24042338
24052339      romdata = (UINT32*)cps3_user5region;
r9191r9192
24072341      {
24082342      //  printf("flashnums %d. %d\n",flashnum, flashnum+1);
24092343
2410         for (i=0;i<0x200000;i+=2)
2344         fujitsu_29f016a_device *flash0 = simm[2 + flashnum/8][flashnum % 8 + 0];
2345         fujitsu_29f016a_device *flash1 = simm[2 + flashnum/8][flashnum % 8 + 1];
2346         if (flash0 == NULL || flash1 == NULL)
2347            continue;
2348         if (flash0 != NULL && flash1 != NULL)
24112349         {
2412            UINT8* ptr1 = (UINT8*)intelflash_getmemptr(flashnum);
2413            UINT8* ptr2 = (UINT8*)intelflash_getmemptr(flashnum+1);
2414            UINT32 dat = (ptr1[i+0]<<8) |
2415                        (ptr1[i+1]<<24) |
2416                      (ptr2[i+0]<<0) |
2417                      (ptr2[i+1]<<16);
2350            for (i=0;i<0x200000;i+=2)
2351            {
2352               UINT32 dat = (flash0->read_raw(i+0)<<8) |
2353                           (flash0->read_raw(i+1)<<24) |
2354                         (flash1->read_raw(i+0)<<0) |
2355                         (flash1->read_raw(i+1)<<16);
24182356
2419            //printf("%08x %08x\n",romdata[countoffset],dat);
2420            romdata[countoffset] = dat;
2357               //printf("%08x %08x\n",romdata[countoffset],dat);
2358               romdata[countoffset] = dat;
24212359
2422            countoffset++;
2360               countoffset++;
2361            }
24232362         }
24242363         flashnum+=2;
24252364      }
r9191r9192
24442383
24452384}
24462385
2447static NVRAM_HANDLER( cps3 )
2448{
2449   int i;
24502386
2451   if (read_or_write)
2452   {
2453      //printf("read_write\n");
2454      mame_fwrite(file, cps3_eeprom, 0x400);
2455      for (i=0;i<48;i++)
2456         nvram_handler_intelflash( machine, i, file, read_or_write );
2457   }
2458   else if (file)
2459   {
2460      //printf("file\n");
2461      mame_fread(file, cps3_eeprom, 0x400);
2462      for (i=0;i<48;i++)
2463         nvram_handler_intelflash( machine, i, file, read_or_write );
2464
2465      copy_from_nvram(machine); // copy data from flashroms back into user regions + decrypt into regions we execute/draw from.
2466   }
2467   else
2468   {
2469      //printf("nothing?\n");
2470      precopy_to_flash(machine);  // attempt to copy data from user regions into flash roms (incase this is a NOCD set)
2471      copy_from_nvram(machine); // copy data from flashroms back into user regions + decrypt into regions we execute/draw from.
2472   }
2473
2474
2475}
2476
2477
2478
2479
24802387static int cps3_dma_callback(UINT32 src, UINT32 dst, UINT32 data, int size)
24812388{
24822389   /*
r9191r9192
25392446   cps3_dma_callback
25402447};
25412448
2542static MACHINE_DRIVER_START( cps3 )
2449static MACHINE_CONFIG_FRAGMENT( simm1_64mbit )
2450   MDRV_FUJITSU_29F016A_ADD("simm1.0")
2451   MDRV_FUJITSU_29F016A_ADD("simm1.1")
2452   MDRV_FUJITSU_29F016A_ADD("simm1.2")
2453   MDRV_FUJITSU_29F016A_ADD("simm1.3")
2454MACHINE_CONFIG_END
2455
2456static MACHINE_CONFIG_FRAGMENT( simm2_64mbit )
2457   MDRV_FUJITSU_29F016A_ADD("simm2.0")
2458   MDRV_FUJITSU_29F016A_ADD("simm2.1")
2459   MDRV_FUJITSU_29F016A_ADD("simm2.2")
2460   MDRV_FUJITSU_29F016A_ADD("simm2.3")
2461MACHINE_CONFIG_END
2462
2463static MACHINE_CONFIG_FRAGMENT( simm3_128mbit )
2464   MDRV_FUJITSU_29F016A_ADD("simm3.0")
2465   MDRV_FUJITSU_29F016A_ADD("simm3.1")
2466   MDRV_FUJITSU_29F016A_ADD("simm3.2")
2467   MDRV_FUJITSU_29F016A_ADD("simm3.3")
2468   MDRV_FUJITSU_29F016A_ADD("simm3.4")
2469   MDRV_FUJITSU_29F016A_ADD("simm3.5")
2470   MDRV_FUJITSU_29F016A_ADD("simm3.6")
2471   MDRV_FUJITSU_29F016A_ADD("simm3.7")
2472MACHINE_CONFIG_END
2473
2474static MACHINE_CONFIG_FRAGMENT( simm4_128mbit )
2475   MDRV_FUJITSU_29F016A_ADD("simm4.0")
2476   MDRV_FUJITSU_29F016A_ADD("simm4.1")
2477   MDRV_FUJITSU_29F016A_ADD("simm4.2")
2478   MDRV_FUJITSU_29F016A_ADD("simm4.3")
2479   MDRV_FUJITSU_29F016A_ADD("simm4.4")
2480   MDRV_FUJITSU_29F016A_ADD("simm4.5")
2481   MDRV_FUJITSU_29F016A_ADD("simm4.6")
2482   MDRV_FUJITSU_29F016A_ADD("simm4.7")
2483MACHINE_CONFIG_END
2484
2485static MACHINE_CONFIG_FRAGMENT( simm5_128mbit )
2486   MDRV_FUJITSU_29F016A_ADD("simm5.0")
2487   MDRV_FUJITSU_29F016A_ADD("simm5.1")
2488   MDRV_FUJITSU_29F016A_ADD("simm5.2")
2489   MDRV_FUJITSU_29F016A_ADD("simm5.3")
2490   MDRV_FUJITSU_29F016A_ADD("simm5.4")
2491   MDRV_FUJITSU_29F016A_ADD("simm5.5")
2492   MDRV_FUJITSU_29F016A_ADD("simm5.6")
2493   MDRV_FUJITSU_29F016A_ADD("simm5.7")
2494MACHINE_CONFIG_END
2495
2496static MACHINE_CONFIG_FRAGMENT( simm5_32mbit )
2497   MDRV_FUJITSU_29F016A_ADD("simm5.0")
2498   MDRV_FUJITSU_29F016A_ADD("simm5.1")
2499MACHINE_CONFIG_END
2500
2501static MACHINE_CONFIG_FRAGMENT( simm6_128mbit )
2502   MDRV_FUJITSU_29F016A_ADD("simm6.0")
2503   MDRV_FUJITSU_29F016A_ADD("simm6.1")
2504   MDRV_FUJITSU_29F016A_ADD("simm6.2")
2505   MDRV_FUJITSU_29F016A_ADD("simm6.3")
2506   MDRV_FUJITSU_29F016A_ADD("simm6.4")
2507   MDRV_FUJITSU_29F016A_ADD("simm6.5")
2508   MDRV_FUJITSU_29F016A_ADD("simm6.6")
2509   MDRV_FUJITSU_29F016A_ADD("simm6.7")
2510MACHINE_CONFIG_END
2511
2512static MACHINE_CONFIG_START( cps3, driver_device )
25432513   /* basic machine hardware */
25442514   MDRV_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..)
25452515   MDRV_CPU_PROGRAM_MAP(cps3_map)
r9191r9192
25642534
25652535   MDRV_MACHINE_START(cps3)
25662536   MDRV_MACHINE_RESET(cps3)
2567   MDRV_NVRAM_HANDLER( cps3 )
2537   MDRV_NVRAM_ADD_0FILL("eeprom")
25682538   MDRV_PALETTE_LENGTH(0x10000) // actually 0x20000 ...
25692539
25702540   MDRV_VIDEO_START(cps3)
r9191r9192
25762546   MDRV_SOUND_ADD("cps3", CPS3, MASTER_CLOCK / 3)
25772547   MDRV_SOUND_ROUTE(1, "lspeaker", 1.0)
25782548   MDRV_SOUND_ROUTE(0, "rspeaker", 1.0)
2579MACHINE_DRIVER_END
2549MACHINE_CONFIG_END
25802550
25812551
2552/* individual configs for each machine, depending on the SIMMs installed */
2553MACHINE_CONFIG_DERIVED( jojo, cps3 )
2554   MDRV_FRAGMENT_ADD(simm1_64mbit)
2555   MDRV_FRAGMENT_ADD(simm2_64mbit)
2556   MDRV_FRAGMENT_ADD(simm3_128mbit)
2557   MDRV_FRAGMENT_ADD(simm4_128mbit)
2558   MDRV_FRAGMENT_ADD(simm5_32mbit)
2559MACHINE_CONFIG_END
2560
2561MACHINE_CONFIG_DERIVED( jojoba, cps3 )
2562   MDRV_FRAGMENT_ADD(simm1_64mbit)
2563   MDRV_FRAGMENT_ADD(simm2_64mbit)
2564   MDRV_FRAGMENT_ADD(simm3_128mbit)
2565   MDRV_FRAGMENT_ADD(simm4_128mbit)
2566   MDRV_FRAGMENT_ADD(simm5_128mbit)
2567MACHINE_CONFIG_END
2568
2569MACHINE_CONFIG_DERIVED( sfiii, cps3 )
2570   MDRV_FRAGMENT_ADD(simm1_64mbit)
2571   MDRV_FRAGMENT_ADD(simm3_128mbit)
2572   MDRV_FRAGMENT_ADD(simm4_128mbit)
2573   MDRV_FRAGMENT_ADD(simm5_32mbit)
2574MACHINE_CONFIG_END
2575
2576MACHINE_CONFIG_DERIVED( sfiii2, cps3 )
2577   MDRV_FRAGMENT_ADD(simm1_64mbit)
2578   MDRV_FRAGMENT_ADD(simm2_64mbit)
2579   MDRV_FRAGMENT_ADD(simm3_128mbit)
2580   MDRV_FRAGMENT_ADD(simm4_128mbit)
2581   MDRV_FRAGMENT_ADD(simm5_128mbit)
2582MACHINE_CONFIG_END
2583
2584MACHINE_CONFIG_DERIVED( sfiii3, cps3 )
2585   MDRV_FRAGMENT_ADD(simm1_64mbit)
2586   MDRV_FRAGMENT_ADD(simm2_64mbit)
2587   MDRV_FRAGMENT_ADD(simm3_128mbit)
2588   MDRV_FRAGMENT_ADD(simm4_128mbit)
2589   MDRV_FRAGMENT_ADD(simm5_128mbit)
2590   MDRV_FRAGMENT_ADD(simm6_128mbit)
2591MACHINE_CONFIG_END
2592
2593MACHINE_CONFIG_DERIVED( warzard, cps3 )
2594   MDRV_FRAGMENT_ADD(simm1_64mbit)
2595   MDRV_FRAGMENT_ADD(simm3_128mbit)
2596   MDRV_FRAGMENT_ADD(simm4_128mbit)
2597   MDRV_FRAGMENT_ADD(simm5_32mbit)
2598MACHINE_CONFIG_END
2599
2600
2601
25822602ROM_START( sfiii )
25832603   ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
25842604   ROM_LOAD( "sfiii_usa.29f400.u2", 0x000000, 0x080000, CRC(fb172a8e) SHA1(48ebf59910f246835f7dc0c588da30f7a908072f) )
r9191r9192
26742694   ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
26752695   ROM_LOAD( "sfiii_asia_nocd.29f400.u2", 0x000000, 0x080000, CRC(73e32463) SHA1(45d144e533e4b20cc5a744ca4f618e288430c601) )
26762696
2677   ROM_REGION32_BE( USER4REGION_LENGTH, "user4", ROMREGION_ERASEFF ) /* cd content region */
2678   ROM_LOAD( "10",  0x0000000, 0x800000, CRC(e896dc27) SHA1(47623820c64b72e69417afcafaacdd2c318cde1c) )
2679   ROM_REGION16_BE( USER5REGION_LENGTH, "user5", ROMREGION_ERASEFF ) /* cd content region */
2680   ROM_LOAD( "30",  0x0000000, 0x800000, CRC(98c2d07c) SHA1(604ce4a16170847c10bc233a47a47a119ce170f7) )
2681   ROM_LOAD( "31",  0x0800000, 0x800000, CRC(7115a396) SHA1(b60a74259e3c223138e66e68a3f6457694a0c639) )
2682   ROM_LOAD( "40",  0x1000000, 0x800000, CRC(839f0972) SHA1(844e43fcc157b7c774044408bfe918c49e174cdb) )
2683   ROM_LOAD( "41",  0x1800000, 0x800000, CRC(8a8b252c) SHA1(9ead4028a212c689d7a25746fbd656dca6f938e8) )
2684   ROM_LOAD( "50",  0x2000000, 0x400000, CRC(58933dc2) SHA1(1f1723be676a817237e96b6e20263b935c59daae) )
2697   ROM_REGION( 0x200000, "simm1.0", 0 )
2698   ROM_LOAD( "sfiiin-simm1.0", 0x00000, 0x200000, CRC(cfc9e45a) SHA1(5d9061f76680642e730373e3ac29b24926dc5c0c) )
2699   ROM_REGION( 0x200000, "simm1.1", 0 )
2700   ROM_LOAD( "sfiiin-simm1.1", 0x00000, 0x200000, CRC(57920546) SHA1(c8452e7e101b8888fb806d1c9874c6be49fc7dbd) )
2701   ROM_REGION( 0x200000, "simm1.2", 0 )
2702   ROM_LOAD( "sfiiin-simm1.2", 0x00000, 0x200000, CRC(0d8f2680) SHA1(ade7b28acd11023696c4b20136f3d2f34da6b1be) )
2703   ROM_REGION( 0x200000, "simm1.3", 0 )
2704   ROM_LOAD( "sfiiin-simm1.3", 0x00000, 0x200000, CRC(ea4ca054) SHA1(f91c55c4e4fc428ce15d27be38aeed3a483d028c) )
2705
2706   ROM_REGION( 0x200000, "simm3.0", 0 )
2707   ROM_LOAD( "sfiiin-simm3.0", 0x00000, 0x200000, CRC(080b3bd3) SHA1(f51bc5de95ab22b87ba09ea721285b308afd0bda) )
2708   ROM_REGION( 0x200000, "simm3.1", 0 )
2709   ROM_LOAD( "sfiiin-simm3.1", 0x00000, 0x200000, CRC(5c356f2f) SHA1(e969ce388f6e565d9612e65b0895560c7bb472e6) )
2710   ROM_REGION( 0x200000, "simm3.2", 0 )
2711   ROM_LOAD( "sfiiin-simm3.2", 0x00000, 0x200000, CRC(f9c97a45) SHA1(58a9691696c3f26a1150a451567c501f55cf1874) )
2712   ROM_REGION( 0x200000, "simm3.3", 0 )
2713   ROM_LOAD( "sfiiin-simm3.3", 0x00000, 0x200000, CRC(09de3ead) SHA1(2f41d84a96cb5e0d169200a4e9358ad5f407a2b7) )
2714   ROM_REGION( 0x200000, "simm3.4", 0 )
2715   ROM_LOAD( "sfiiin-simm3.4", 0x00000, 0x200000, CRC(7dd7e1f3) SHA1(bcf1023287457d97f09d9f6e9c93fdf24cc24a07) )
2716   ROM_REGION( 0x200000, "simm3.5", 0 )
2717   ROM_LOAD( "sfiiin-simm3.5", 0x00000, 0x200000, CRC(47a03a3a) SHA1(2509e5737059251888e4e1efbcdfac86a89ff1a1) )
2718   ROM_REGION( 0x200000, "simm3.6", 0 )
2719   ROM_LOAD( "sfiiin-simm3.6", 0x00000, 0x200000, CRC(e9eb7a26) SHA1(b8547edb7085e9149aa59d5226ad2d1976cab2bd) )
2720   ROM_REGION( 0x200000, "simm3.7", 0 )
2721   ROM_LOAD( "sfiiin-simm3.7", 0x00000, 0x200000, CRC(7f44395c) SHA1(f4d2e283cb3a4aad4eae4e13963a74e20be7c181) )
2722
2723   ROM_REGION( 0x200000, "simm4.0", 0 )
2724   ROM_LOAD( "sfiiin-simm4.0", 0x00000, 0x200000, CRC(9ac080fc) SHA1(2e5024b35b147513ee42eda8748df9d669410377) )
2725   ROM_REGION( 0x200000, "simm4.1", 0 )
2726   ROM_LOAD( "sfiiin-simm4.1", 0x00000, 0x200000, CRC(6e2c4c94) SHA1(5a185cb76b5999bd826bc9b5ea584a5c3498f69d) )
2727   ROM_REGION( 0x200000, "simm4.2", 0 )
2728   ROM_LOAD( "sfiiin-simm4.2", 0x00000, 0x200000, CRC(8afc22d4) SHA1(04a419a3092c98fc4a7693e6acf30ae5a849e5c1) )
2729   ROM_REGION( 0x200000, "simm4.3", 0 )
2730   ROM_LOAD( "sfiiin-simm4.3", 0x00000, 0x200000, CRC(9f3873b8) SHA1(33499d6f02bc84c80acb56be078aaed7f8d1300d) )
2731   ROM_REGION( 0x200000, "simm4.4", 0 )
2732   ROM_LOAD( "sfiiin-simm4.4", 0x00000, 0x200000, CRC(166b3c97) SHA1(40e6e9d43cbbd8496b430931b8ab7db01dc1c6d5) )
2733   ROM_REGION( 0x200000, "simm4.5", 0 )
2734   ROM_LOAD( "sfiiin-simm4.5", 0x00000, 0x200000, CRC(e5ea2547) SHA1(a823c689098f37a3054d728bddb0033a4b8396f1) )
2735   ROM_REGION( 0x200000, "simm4.6", 0 )
2736   ROM_LOAD( "sfiiin-simm4.6", 0x00000, 0x200000, CRC(e85b9fdd) SHA1(264cb10fe9b3ede384c7db42bfc58ed5c21ea8f8) )
2737   ROM_REGION( 0x200000, "simm4.7", 0 )
2738   ROM_LOAD( "sfiiin-simm4.7", 0x00000, 0x200000, CRC(362c01b7) SHA1(9c404312a6aabe8e91e68dde193e3972bc1636cd) )
2739
2740   ROM_REGION( 0x200000, "simm5.0", 0 )
2741   ROM_LOAD( "sfiiin-simm5.0", 0x00000, 0x200000, CRC(9bc108b2) SHA1(894dadab7957044bf877029c7f8e556d5d6e85d3) )
2742   ROM_REGION( 0x200000, "simm5.1", 0 )
2743   ROM_LOAD( "sfiiin-simm5.1", 0x00000, 0x200000, CRC(c6f1c066) SHA1(00de492dd1ef7aef05027a8c501c296b6602e917) )
26852744ROM_END
26862745
26872746ROM_START( sfiii2n )
26882747   ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
26892748   ROM_LOAD( "sfiii2_asia_nocd.29f400.u2", 0x000000, 0x080000, CRC(fd297c0d) SHA1(4323deda2789f104b53f32a663196ec16de73215) )
26902749
2691   ROM_REGION32_BE( USER4REGION_LENGTH, "user4", ROMREGION_ERASEFF ) /* cd content region */
2692   ROM_LOAD( "10",  0x0000000, 0x800000, CRC(682b014a) SHA1(abd5785f4b7c89584d6d1cf6fb61a77d7224f81f) )
2693   ROM_LOAD( "20",  0x0800000, 0x800000, CRC(38090460) SHA1(aaade89b8ccdc9154f97442ca35703ec538fe8be) )
2694   ROM_REGION16_BE( USER5REGION_LENGTH, "user5", ROMREGION_ERASEFF ) /* cd content region */
2695   ROM_LOAD( "30",  0x0000000, 0x800000, CRC(77c197c0) SHA1(944381161462e65de7ae63a656658f3fbe44727a) )
2696   ROM_LOAD( "31",  0x0800000, 0x800000, CRC(7470a6f2) SHA1(850b2e20afe8a5a1f0d212d9abe002cb5cf14d22) )
2697   ROM_LOAD( "40",  0x1000000, 0x800000, CRC(01a85ced) SHA1(802df3274d5f767636b2785606e0558f6d3b9f13) )
2698   ROM_LOAD( "41",  0x1800000, 0x800000, CRC(fb346d74) SHA1(57570f101a170aa7e83e84e4b7cbdc63a11a486a) )
2699   ROM_LOAD( "50",  0x2000000, 0x800000, CRC(32f79449) SHA1(44b1f2a640ab4abc23ff47e0edd87fbd0b345c06) )
2700   ROM_LOAD( "51",  0x2800000, 0x800000, CRC(1102b8eb) SHA1(c7dd2ee3a3214c6ec47a03fe3e8c941775d57f76) )
2750   ROM_REGION( 0x200000, "simm1.0", 0 )
2751   ROM_LOAD( "sfiii2n-simm1.0", 0x00000, 0x200000, CRC(2d666f0b) SHA1(68de034b3a3aeaf4b26122a84ad48b0b763e4122) )
2752   ROM_REGION( 0x200000, "simm1.1", 0 )
2753   ROM_LOAD( "sfiii2n-simm1.1", 0x00000, 0x200000, CRC(2a3a8ef6) SHA1(31fb58fd1360ed8c951e2c4ac898a5a7104528d6) )
2754   ROM_REGION( 0x200000, "simm1.2", 0 )
2755   ROM_LOAD( "sfiii2n-simm1.2", 0x00000, 0x200000, CRC(161d2206) SHA1(58999f876e64c1a088e8765962a9cd504f22a706) )
2756   ROM_REGION( 0x200000, "simm1.3", 0 )
2757   ROM_LOAD( "sfiii2n-simm1.3", 0x00000, 0x200000, CRC(87ded8a3) SHA1(4ccef64f80d2ee63940b0958b500364ee515db51) )
2758
2759   ROM_REGION( 0x200000, "simm2.0", 0 )
2760   ROM_LOAD( "sfiii2n-simm2.0", 0x00000, 0x200000, CRC(94a4ce0f) SHA1(2c8e26a66d1dcd17c22c70baa2a3ff5a54511514) )
2761   ROM_REGION( 0x200000, "simm2.1", 0 )
2762   ROM_LOAD( "sfiii2n-simm2.1", 0x00000, 0x200000, CRC(67585033) SHA1(24df9968a54c330fbe95f8e4dfe6e7dfd144ed0c) )
2763   ROM_REGION( 0x200000, "simm2.2", 0 )
2764   ROM_LOAD( "sfiii2n-simm2.2", 0x00000, 0x200000, CRC(fabffcd5) SHA1(9399f64c42f63a64e44a21a2690e44779943a2b2) )
2765   ROM_REGION( 0x200000, "simm2.3", 0 )
2766   ROM_LOAD( "sfiii2n-simm2.3", 0x00000, 0x200000, CRC(623c09ca) SHA1(dc9618a08bb7f44e569ac17605d268511155a14e) )
2767
2768   ROM_REGION( 0x200000, "simm3.0", 0 )
2769   ROM_LOAD( "sfiii2n-simm3.0", 0x00000, 0x200000, CRC(dab2d766) SHA1(d265cc8b1b497eb4bedd63b3f1de60eb1c1db0df) )
2770   ROM_REGION( 0x200000, "simm3.1", 0 )
2771   ROM_LOAD( "sfiii2n-simm3.1", 0x00000, 0x200000, CRC(1f2aa34b) SHA1(38b224d34c4550f1f33c2c368e2a252d0d176cc0) )
2772   ROM_REGION( 0x200000, "simm3.2", 0 )
2773   ROM_LOAD( "sfiii2n-simm3.2", 0x00000, 0x200000, CRC(6f1a04eb) SHA1(980ca929114075d1920e2da44f9a22087cc92e55) )
2774   ROM_REGION( 0x200000, "simm3.3", 0 )
2775   ROM_LOAD( "sfiii2n-simm3.3", 0x00000, 0x200000, CRC(e05ef205) SHA1(e604e3832549740f953581fc91e850beda6a73c8) )
2776   ROM_REGION( 0x200000, "simm3.4", 0 )
2777   ROM_LOAD( "sfiii2n-simm3.4", 0x00000, 0x200000, CRC(affb074f) SHA1(0e76973807039bc66fd0f3233401cea8d2c45f84) )
2778   ROM_REGION( 0x200000, "simm3.5", 0 )
2779   ROM_LOAD( "sfiii2n-simm3.5", 0x00000, 0x200000, CRC(6962872e) SHA1(f16b2d0792697345145d0e9d950e912a2ffabe0d) )
2780   ROM_REGION( 0x200000, "simm3.6", 0 )
2781   ROM_LOAD( "sfiii2n-simm3.6", 0x00000, 0x200000, CRC(6eed87de) SHA1(5d5067ad36234c5efd57a2baebeffa2f44f2caec) )
2782   ROM_REGION( 0x200000, "simm3.7", 0 )
2783   ROM_LOAD( "sfiii2n-simm3.7", 0x00000, 0x200000, CRC(e18f479e) SHA1(cd4c1812ab422336bfa414e0b2098b472d2f9251) )
2784
2785   ROM_REGION( 0x200000, "simm4.0", 0 )
2786   ROM_LOAD( "sfiii2n-simm4.0", 0x00000, 0x200000, CRC(764c2503) SHA1(cad3f20ade2e1d3ac52f8c318443da20062ae943) )
2787   ROM_REGION( 0x200000, "simm4.1", 0 )
2788   ROM_LOAD( "sfiii2n-simm4.1", 0x00000, 0x200000, CRC(3e16af6e) SHA1(afde2ed4bf3a3e95035fc02c572c5b83178a9467) )
2789   ROM_REGION( 0x200000, "simm4.2", 0 )
2790   ROM_LOAD( "sfiii2n-simm4.2", 0x00000, 0x200000, CRC(215705e6) SHA1(42d3849f8a9242a89ba465dbc205f310186c67cd) )
2791   ROM_REGION( 0x200000, "simm4.3", 0 )
2792   ROM_LOAD( "sfiii2n-simm4.3", 0x00000, 0x200000, CRC(e30cbd9c) SHA1(c205101ada86154921e09fed4f6908d15ec60761) )
2793   ROM_REGION( 0x200000, "simm4.4", 0 )
2794   ROM_LOAD( "sfiii2n-simm4.4", 0x00000, 0x200000, CRC(4185ded9) SHA1(24bf9b5f25d7753f1feb09b82611f7482f30d304) )
2795   ROM_REGION( 0x200000, "simm4.5", 0 )
2796   ROM_LOAD( "sfiii2n-simm4.5", 0x00000, 0x200000, CRC(4e8db013) SHA1(6816df2b6c60005fb375530ea93bb30a960c9b01) )
2797   ROM_REGION( 0x200000, "simm4.6", 0 )
2798   ROM_LOAD( "sfiii2n-simm4.6", 0x00000, 0x200000, CRC(08df48ce) SHA1(e8a3b68ebeab193539446c3f6e0a19b37f1f3495) )
2799   ROM_REGION( 0x200000, "simm4.7", 0 )
2800   ROM_LOAD( "sfiii2n-simm4.7", 0x00000, 0x200000, CRC(bb8f80a5) SHA1(35d9e86637d54405c97fdb7da9c42cc53907cae3) )
2801
2802   ROM_REGION( 0x200000, "simm5.0", 0 )
2803   ROM_LOAD( "sfiii2n-simm5.0", 0x00000, 0x200000, CRC(ebdc4787) SHA1(f86e8ebf4b2214be166dbe4ea921058a552364ea) )
2804   ROM_REGION( 0x200000, "simm5.1", 0 )
2805   ROM_LOAD( "sfiii2n-simm5.1", 0x00000, 0x200000, CRC(6b7c550e) SHA1(77cdabccf3ecebf142ac86dffe6e24052941e3a1) )
2806   ROM_REGION( 0x200000, "simm5.2", 0 )
2807   ROM_LOAD( "sfiii2n-simm5.2", 0x00000, 0x200000, CRC(56ff8c50) SHA1(16f7602a4549a5b724e3fcdb75b0f3c397077b81) )
2808   ROM_REGION( 0x200000, "simm5.3", 0 )
2809   ROM_LOAD( "sfiii2n-simm5.3", 0x00000, 0x200000, CRC(3f2ac3e9) SHA1(a7b631f18ce572a42f46314f37a01d9840abc765) )
2810   ROM_REGION( 0x200000, "simm5.4", 0 )
2811   ROM_LOAD( "sfiii2n-simm5.4", 0x00000, 0x200000, CRC(48cda50e) SHA1(35e9f27fb8b69e3b3a313ea33dc53b1102e5f66e) )
2812   ROM_REGION( 0x200000, "simm5.5", 0 )
2813   ROM_LOAD( "sfiii2n-simm5.5", 0x00000, 0x200000, CRC(520c0af6) SHA1(7bed1b6707974eafbfb62ccb84a51df8a100e070) )
2814   ROM_REGION( 0x200000, "simm5.6", 0 )
2815   ROM_LOAD( "sfiii2n-simm5.6", 0x00000, 0x200000, CRC(2edc5986) SHA1(761ab2c67d0d873ffd74158eb77f7722c076f3e3) )
2816   ROM_REGION( 0x200000, "simm5.7", 0 )
2817   ROM_LOAD( "sfiii2n-simm5.7", 0x00000, 0x200000, CRC(93ffa199) SHA1(33ec2379f30c6fdf47ba72c1d0cad8bdd02f17df) )
27012818ROM_END
27022819
27032820ROM_START( sfiii3n )
27042821   ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
27052822   ROM_LOAD( "sfiii3_japan_nocd.29f400.u2", 0x000000, 0x080000, CRC(1edc6366) SHA1(60b4b9adeb030a33059d74fdf03873029e465b52) )
27062823
2707   ROM_REGION32_BE( USER4REGION_LENGTH, "user4", ROMREGION_ERASEFF ) /* cd content region */
2708   ROM_LOAD( "10",  0x0000000, 0x800000, CRC(ba7f76b2) SHA1(6b396596dea009b34af17484919ae37eda53ec65) )
2709   ROM_LOAD( "20",  0x0800000, 0x800000, CRC(5ca8faba) SHA1(71c12638ae7fa38b362d68c3ccb4bb3ccd67f0e9) )
2710   ROM_REGION16_BE( USER5REGION_LENGTH, "user5", ROMREGION_ERASEFF ) /* cd content region */
2711   ROM_LOAD( "30",  0x0000000, 0x800000, CRC(b37cf960) SHA1(60310f95e4ecedee85846c08ccba71e286cda73b) )
2712   ROM_LOAD( "31",  0x0800000, 0x800000, CRC(450ec982) SHA1(1cb3626b8479997c4f1b29c41c81cac038fac31b) )
2713   ROM_LOAD( "40",  0x1000000, 0x800000, CRC(632c965f) SHA1(9a46b759f5dee35411fd6446c2457c084a6dfcd8) )
2714   ROM_LOAD( "41",  0x1800000, 0x800000, CRC(7a4c5f33) SHA1(f33cdfe247c7caf9d3d394499712f72ca930705e) )
2715   ROM_LOAD( "50",  0x2000000, 0x800000, CRC(8562358e) SHA1(8ed78f6b106659a3e4d94f38f8a354efcbdf3aa7) )
2716   ROM_LOAD( "51",  0x2800000, 0x800000, CRC(7baf234b) SHA1(38feb45d6315d771de5f9ae965119cb25bae2a1e) )
2717   ROM_LOAD( "60",  0x3000000, 0x800000, CRC(bc9487b7) SHA1(bc2cd2d3551cc20aa231bba425ff721570735eba) )
2718   ROM_LOAD( "61",  0x3800000, 0x800000, CRC(b813a1b1) SHA1(16de0ee3dfd6bf33d07b0ff2e797ebe2cfe6589e) )
2824   ROM_REGION( 0x200000, "simm1.0", 0 )
2825   ROM_LOAD( "sfiii3n-simm1.0", 0x00000, 0x200000, CRC(11dfd3cd) SHA1(dba1f77c46e80317e3279298411154dfb6db2309) )
2826   ROM_REGION( 0x200000, "simm1.1", 0 )
2827   ROM_LOAD( "sfiii3n-simm1.1", 0x00000, 0x200000, CRC(c50585e6) SHA1(a289237957ea1c7f58b1c65e24c54ceb34cb1712) )
2828   ROM_REGION( 0x200000, "simm1.2", 0 )
2829   ROM_LOAD( "sfiii3n-simm1.2", 0x00000, 0x200000, CRC(8e011d9b) SHA1(e0861bcd3c4f865474d7ce47aa9eeec7b3d28da6) )
2830   ROM_REGION( 0x200000, "simm1.3", 0 )
2831   ROM_LOAD( "sfiii3n-simm1.3", 0x00000, 0x200000, CRC(dca8d92f) SHA1(7cd241641c943df446e2c75b88b5cf2d2ebf7b2e) )
2832
2833   ROM_REGION( 0x200000, "simm2.0", 0 )
2834   ROM_LOAD( "sfiii3n-simm2.0", 0x00000, 0x200000, CRC(06eb969e) SHA1(d89f6a6585b76692d57d337f0f8186398fb056da) )
2835   ROM_REGION( 0x200000, "simm2.1", 0 )
2836   ROM_LOAD( "sfiii3n-simm2.1", 0x00000, 0x200000, CRC(e7039f82) SHA1(8e81e66b5a4f45ae14b070a491bde47a6a74499f) )
2837   ROM_REGION( 0x200000, "simm2.2", 0 )
2838   ROM_LOAD( "sfiii3n-simm2.2", 0x00000, 0x200000, CRC(645c96f7) SHA1(06d5a54874d4bf100b776131ec9060da209ad037) )
2839   ROM_REGION( 0x200000, "simm2.3", 0 )
2840   ROM_LOAD( "sfiii3n-simm2.3", 0x00000, 0x200000, CRC(610efab1) SHA1(bbc21ed6ff6220ff6017a3f02ebd9a341fbc9040) )
2841
2842   ROM_REGION( 0x200000, "simm3.0", 0 )
2843   ROM_LOAD( "sfiii3n-simm3.0", 0x00000, 0x200000, CRC(7baa1f79) SHA1(3f409df28c24dd7221966b5340d59898ea756b6f) )
2844   ROM_REGION( 0x200000, "simm3.1", 0 )
2845   ROM_LOAD( "sfiii3n-simm3.1", 0x00000, 0x200000, CRC(234bf8fe) SHA1(2191781ae4d726cab28de97f27efa4a13f3bdd69) )
2846   ROM_REGION( 0x200000, "simm3.2", 0 )
2847   ROM_LOAD( "sfiii3n-simm3.2", 0x00000, 0x200000, CRC(d9ebc308) SHA1(af6a0dca77e5181c9f20533a06760a782c5fd51d) )
2848   ROM_REGION( 0x200000, "simm3.3", 0 )
2849   ROM_LOAD( "sfiii3n-simm3.3", 0x00000, 0x200000, CRC(293cba77) SHA1(294604cacdc24261aec4d39e489de91c41fa1758) )
2850   ROM_REGION( 0x200000, "simm3.4", 0 )
2851   ROM_LOAD( "sfiii3n-simm3.4", 0x00000, 0x200000, CRC(6055e747) SHA1(3813852c5a4a5355ef739ca8f0913bbd390b984b) )
2852   ROM_REGION( 0x200000, "simm3.5", 0 )
2853   ROM_LOAD( "sfiii3n-simm3.5", 0x00000, 0x200000, CRC(499aa6fc) SHA1(5b9b6eab3e99ff3e1d7c1f50b9d8bc6a81f3f8a9) )
2854   ROM_REGION( 0x200000, "simm3.6", 0 )
2855   ROM_LOAD( "sfiii3n-simm3.6", 0x00000, 0x200000, CRC(6c13879e) SHA1(de189b0b8f42bc7dd89983e62bc2ecb4237b3277) )
2856   ROM_REGION( 0x200000, "simm3.7", 0 )
2857   ROM_LOAD( "sfiii3n-simm3.7", 0x00000, 0x200000, CRC(cf4f8ede) SHA1(e0fb68fcb0e445f824c62fa828d6e1dcd7e3683a) )
2858
2859   ROM_REGION( 0x200000, "simm4.0", 0 )
2860   ROM_LOAD( "sfiii3n-simm4.0", 0x00000, 0x200000, CRC(091fd5ba) SHA1(3327ad7c2623c119bf728af717ea2ce3b74673a9) )
2861   ROM_REGION( 0x200000, "simm4.1", 0 )
2862   ROM_LOAD( "sfiii3n-simm4.1", 0x00000, 0x200000, CRC(0bca8917) SHA1(b7b284e2f16f46d46bcfaae779b232c5b980924f) )
2863   ROM_REGION( 0x200000, "simm4.2", 0 )
2864   ROM_LOAD( "sfiii3n-simm4.2", 0x00000, 0x200000, CRC(a0fd578b) SHA1(100c9db9f00ecd88d518076f5a0822e6ac3695b3) )
2865   ROM_REGION( 0x200000, "simm4.3", 0 )
2866   ROM_LOAD( "sfiii3n-simm4.3", 0x00000, 0x200000, CRC(4bf8c699) SHA1(2c0b4288b5ebc5e54d9e782dfc39eb8c78fd4c21) )
2867   ROM_REGION( 0x200000, "simm4.4", 0 )
2868   ROM_LOAD( "sfiii3n-simm4.4", 0x00000, 0x200000, CRC(137b8785) SHA1(56a579520a8ce2abbf36be57777f024e80474eee) )
2869   ROM_REGION( 0x200000, "simm4.5", 0 )
2870   ROM_LOAD( "sfiii3n-simm4.5", 0x00000, 0x200000, CRC(4fb70671) SHA1(9aba83c18cfc099a5ce18793119bff0c2b9c777f) )
2871   ROM_REGION( 0x200000, "simm4.6", 0 )
2872   ROM_LOAD( "sfiii3n-simm4.6", 0x00000, 0x200000, CRC(832374a4) SHA1(c84629e32fbf47cb7b5b4ee7555bfc2ac9b3857f) )
2873   ROM_REGION( 0x200000, "simm4.7", 0 )
2874   ROM_LOAD( "sfiii3n-simm4.7", 0x00000, 0x200000, CRC(1c88576d) SHA1(0f039944d0c2305999ed5dbd351c3eb87812dc3b) )
2875
2876   ROM_REGION( 0x200000, "simm5.0", 0 )
2877   ROM_LOAD( "sfiii3n-simm5.0", 0x00000, 0x200000, CRC(c67d9190) SHA1(d265475244099d0ec153059986f3445c7bd910a3) )
2878   ROM_REGION( 0x200000, "simm5.1", 0 )
2879   ROM_LOAD( "sfiii3n-simm5.1", 0x00000, 0x200000, CRC(6cb79868) SHA1(c94237f30e05bfcb2e23945530c812d9e4c73416) )
2880   ROM_REGION( 0x200000, "simm5.2", 0 )
2881   ROM_LOAD( "sfiii3n-simm5.2", 0x00000, 0x200000, CRC(df69930e) SHA1(c76b7c559a1d5558138afbc796249efa2f49f6a8) )
2882   ROM_REGION( 0x200000, "simm5.3", 0 )
2883   ROM_LOAD( "sfiii3n-simm5.3", 0x00000, 0x200000, CRC(333754e0) SHA1(4c18a569c26524a492ecd6f4c8b3c8e803a077d3) )
2884   ROM_REGION( 0x200000, "simm5.4", 0 )
2885   ROM_LOAD( "sfiii3n-simm5.4", 0x00000, 0x200000, CRC(78f6d417) SHA1(a69577cc5399fcf0a24548661168f27f3e7e8e40) )
2886   ROM_REGION( 0x200000, "simm5.5", 0 )
2887   ROM_LOAD( "sfiii3n-simm5.5", 0x00000, 0x200000, CRC(8ccad9b1) SHA1(f8bda399f87be2497b7ac39e9661f9863bf4f873) )
2888   ROM_REGION( 0x200000, "simm5.6", 0 )
2889   ROM_LOAD( "sfiii3n-simm5.6", 0x00000, 0x200000, CRC(85de59e5) SHA1(748b5c91f15777b85d8c1d35b685cd90d3185ec6) )
2890   ROM_REGION( 0x200000, "simm5.7", 0 )
2891   ROM_LOAD( "sfiii3n-simm5.7", 0x00000, 0x200000, CRC(ee7e29b3) SHA1(63dc30c6904ca2f58d229249bee5eef51fafa158) )
2892
2893   ROM_REGION( 0x200000, "simm6.0", 0 )
2894   ROM_LOAD( "sfiii3n-simm6.0", 0x00000, 0x200000, CRC(8da69042) SHA1(fd3d08295342635b2136e48d543c9350d287bb22) )
2895   ROM_REGION( 0x200000, "simm6.1", 0 )
2896   ROM_LOAD( "sfiii3n-simm6.1", 0x00000, 0x200000, CRC(1c8c7ac4) SHA1(ac9f8353a4c356ef98aa7c226baba00b01f5a80f) )
2897   ROM_REGION( 0x200000, "simm6.2", 0 )
2898   ROM_LOAD( "sfiii3n-simm6.2", 0x00000, 0x200000, CRC(a671341d) SHA1(636f4c04962bc1e1ddb29d2e01244b00389b234f) )
2899   ROM_REGION( 0x200000, "simm6.3", 0 )
2900   ROM_LOAD( "sfiii3n-simm6.3", 0x00000, 0x200000, CRC(1a990249) SHA1(2acc639e2c0c53bf24096b8620eab090bc25d03b) )
2901   ROM_REGION( 0x200000, "simm6.4", 0 )
2902   ROM_LOAD( "sfiii3n-simm6.4", 0x00000, 0x200000, CRC(20cb39ac) SHA1(7d13a0fea1ef719dd2ff77dfb547d53c6023cc9e) )
2903   ROM_REGION( 0x200000, "simm6.5", 0 )
2904   ROM_LOAD( "sfiii3n-simm6.5", 0x00000, 0x200000, CRC(5f844b2f) SHA1(564e4934f89ed3b92a4c4874519f8f00f3b48696) )
2905   ROM_REGION( 0x200000, "simm6.6", 0 )
2906   ROM_LOAD( "sfiii3n-simm6.6", 0x00000, 0x200000, CRC(450e8d28) SHA1(885db658132aa27926df617ec2d2a1f38abdbb60) )
2907   ROM_REGION( 0x200000, "simm6.7", 0 )
2908   ROM_LOAD( "sfiii3n-simm6.7", 0x00000, 0x200000, CRC(cc5f4187) SHA1(248ddace21ed4736a56e92f77cc6ad219d7fef0b) )
27192909ROM_END
27202910
27212911ROM_START( sfiii3an )
27222912   ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
27232913   ROM_LOAD( "sfiii3_japan_nocd.29f400.u2", 0x000000, 0x080000, CRC(1edc6366) SHA1(60b4b9adeb030a33059d74fdf03873029e465b52) )
27242914
2725   ROM_REGION32_BE( USER4REGION_LENGTH, "user4", ROMREGION_ERASEFF ) /* cd content region */
2726   ROM_LOAD( "10",  0x0000000, 0x800000, CRC(77233d39) SHA1(59c3f890fdc33a7d8dc91e5f9c4e7b7019acfb00) )
2727   ROM_LOAD( "20",  0x0800000, 0x800000, CRC(5ca8faba) SHA1(71c12638ae7fa38b362d68c3ccb4bb3ccd67f0e9) )
2728   ROM_REGION16_BE( USER5REGION_LENGTH, "user5", ROMREGION_ERASEFF ) /* cd content region */
2729   ROM_LOAD( "30",  0x0000000, 0x800000, CRC(b37cf960) SHA1(60310f95e4ecedee85846c08ccba71e286cda73b) )
2730   ROM_LOAD( "31",  0x0800000, 0x800000, CRC(450ec982) SHA1(1cb3626b8479997c4f1b29c41c81cac038fac31b) )
2731   ROM_LOAD( "40",  0x1000000, 0x800000, CRC(632c965f) SHA1(9a46b759f5dee35411fd6446c2457c084a6dfcd8) )
2732   ROM_LOAD( "41",  0x1800000, 0x800000, CRC(7a4c5f33) SHA1(f33cdfe247c7caf9d3d394499712f72ca930705e) )
2733   ROM_LOAD( "50",  0x2000000, 0x800000, CRC(8562358e) SHA1(8ed78f6b106659a3e4d94f38f8a354efcbdf3aa7) )
2734   ROM_LOAD( "51",  0x2800000, 0x800000, CRC(7baf234b) SHA1(38feb45d6315d771de5f9ae965119cb25bae2a1e) )
2735   ROM_LOAD( "60",  0x3000000, 0x800000, CRC(bc9487b7) SHA1(bc2cd2d3551cc20aa231bba425ff721570735eba) )
2736   ROM_LOAD( "61",  0x3800000, 0x800000, CRC(b813a1b1) SHA1(16de0ee3dfd6bf33d07b0ff2e797ebe2cfe6589e) )
2915   ROM_REGION( 0x200000, "simm1.0", 0 )
2916   ROM_LOAD( "sfiii3an-simm1.0", 0x00000, 0x200000, CRC(66e66235) SHA1(0a98038721d176458d4f85dbd76c5edb93a65322) )
2917   ROM_REGION( 0x200000, "simm1.1", 0 )
2918   ROM_LOAD( "sfiii3an-simm1.1", 0x00000, 0x200000, CRC(186e8c5f) SHA1(a63040201a660b56217a8cbab32f5c2c466ee5dd) )
2919   ROM_REGION( 0x200000, "simm1.2", 0 )
2920   ROM_LOAD( "sfiii3an-simm1.2", 0x00000, 0x200000, CRC(bce18cab) SHA1(a5c28063d98c22403756fc926a20631456fb7dcc) )
2921   ROM_REGION( 0x200000, "simm1.3", 0 )
2922   ROM_LOAD( "sfiii3an-simm1.3", 0x00000, 0x200000, CRC(129dc2c9) SHA1(c1e634d94b1c8f7f02a47703622de5cab3d0da3f) )
2923
2924   ROM_REGION( 0x200000, "simm2.0", 0 )
2925   ROM_LOAD( "sfiii3n-simm2.0", 0x00000, 0x200000, CRC(06eb969e) SHA1(d89f6a6585b76692d57d337f0f8186398fb056da) )
2926   ROM_REGION( 0x200000, "simm2.1", 0 )
2927   ROM_LOAD( "sfiii3n-simm2.1", 0x00000, 0x200000, CRC(e7039f82) SHA1(8e81e66b5a4f45ae14b070a491bde47a6a74499f) )
2928   ROM_REGION( 0x200000, "simm2.2", 0 )
2929   ROM_LOAD( "sfiii3n-simm2.2", 0x00000, 0x200000, CRC(645c96f7) SHA1(06d5a54874d4bf100b776131ec9060da209ad037) )
2930   ROM_REGION( 0x200000, "simm2.3", 0 )
2931   ROM_LOAD( "sfiii3n-simm2.3", 0x00000, 0x200000, CRC(610efab1) SHA1(bbc21ed6ff6220ff6017a3f02ebd9a341fbc9040) )
2932
2933   ROM_REGION( 0x200000, "simm3.0", 0 )
2934   ROM_LOAD( "sfiii3n-simm3.0", 0x00000, 0x200000, CRC(7baa1f79) SHA1(3f409df28c24dd7221966b5340d59898ea756b6f) )
2935   ROM_REGION( 0x200000, "simm3.1", 0 )
2936   ROM_LOAD( "sfiii3n-simm3.1", 0x00000, 0x200000, CRC(234bf8fe) SHA1(2191781ae4d726cab28de97f27efa4a13f3bdd69) )
2937   ROM_REGION( 0x200000, "simm3.2", 0 )
2938   ROM_LOAD( "sfiii3n-simm3.2", 0x00000, 0x200000, CRC(d9ebc308) SHA1(af6a0dca77e5181c9f20533a06760a782c5fd51d) )
2939   ROM_REGION( 0x200000, "simm3.3", 0 )
2940   ROM_LOAD( "sfiii3n-simm3.3", 0x00000, 0x200000, CRC(293cba77) SHA1(294604cacdc24261aec4d39e489de91c41fa1758) )
2941   ROM_REGION( 0x200000, "simm3.4", 0 )
2942   ROM_LOAD( "sfiii3n-simm3.4", 0x00000, 0x200000, CRC(6055e747) SHA1(3813852c5a4a5355ef739ca8f0913bbd390b984b) )
2943   ROM_REGION( 0x200000, "simm3.5", 0 )
2944   ROM_LOAD( "sfiii3n-simm3.5", 0x00000, 0x200000, CRC(499aa6fc) SHA1(5b9b6eab3e99ff3e1d7c1f50b9d8bc6a81f3f8a9) )
2945   ROM_REGION( 0x200000, "simm3.6", 0 )
2946   ROM_LOAD( "sfiii3n-simm3.6", 0x00000, 0x200000, CRC(6c13879e) SHA1(de189b0b8f42bc7dd89983e62bc2ecb4237b3277) )
2947   ROM_REGION( 0x200000, "simm3.7", 0 )
2948   ROM_LOAD( "sfiii3n-simm3.7", 0x00000, 0x200000, CRC(cf4f8ede) SHA1(e0fb68fcb0e445f824c62fa828d6e1dcd7e3683a) )
2949
2950   ROM_REGION( 0x200000, "simm4.0", 0 )
2951   ROM_LOAD( "sfiii3n-simm4.0", 0x00000, 0x200000, CRC(091fd5ba) SHA1(3327ad7c2623c119bf728af717ea2ce3b74673a9) )
2952   ROM_REGION( 0x200000, "simm4.1", 0 )
2953   ROM_LOAD( "sfiii3n-simm4.1", 0x00000, 0x200000, CRC(0bca8917) SHA1(b7b284e2f16f46d46bcfaae779b232c5b980924f) )
2954   ROM_REGION( 0x200000, "simm4.2", 0 )
2955   ROM_LOAD( "sfiii3n-simm4.2", 0x00000, 0x200000, CRC(a0fd578b) SHA1(100c9db9f00ecd88d518076f5a0822e6ac3695b3) )
2956   ROM_REGION( 0x200000, "simm4.3", 0 )
2957   ROM_LOAD( "sfiii3n-simm4.3", 0x00000, 0x200000, CRC(4bf8c699) SHA1(2c0b4288b5ebc5e54d9e782dfc39eb8c78fd4c21) )
2958   ROM_REGION( 0x200000, "simm4.4", 0 )
2959   ROM_LOAD( "sfiii3n-simm4.4", 0x00000, 0x200000, CRC(137b8785) SHA1(56a579520a8ce2abbf36be57777f024e80474eee) )
2960   ROM_REGION( 0x200000, "simm4.5", 0 )
2961   ROM_LOAD( "sfiii3n-simm4.5", 0x00000, 0x200000, CRC(4fb70671) SHA1(9aba83c18cfc099a5ce18793119bff0c2b9c777f) )
2962   ROM_REGION( 0x200000, "simm4.6", 0 )
2963   ROM_LOAD( "sfiii3n-simm4.6", 0x00000, 0x200000, CRC(832374a4) SHA1(c84629e32fbf47cb7b5b4ee7555bfc2ac9b3857f) )
2964   ROM_REGION( 0x200000, "simm4.7", 0 )
2965   ROM_LOAD( "sfiii3n-simm4.7", 0x00000, 0x200000, CRC(1c88576d) SHA1(0f039944d0c2305999ed5dbd351c3eb87812dc3b) )
2966
2967   ROM_REGION( 0x200000, "simm5.0", 0 )
2968   ROM_LOAD( "sfiii3n-simm5.0", 0x00000, 0x200000, CRC(c67d9190) SHA1(d265475244099d0ec153059986f3445c7bd910a3) )
2969   ROM_REGION( 0x200000, "simm5.1", 0 )
2970   ROM_LOAD( "sfiii3n-simm5.1", 0x00000, 0x200000, CRC(6cb79868) SHA1(c94237f30e05bfcb2e23945530c812d9e4c73416) )
2971   ROM_REGION( 0x200000, "simm5.2", 0 )
2972   ROM_LOAD( "sfiii3n-simm5.2", 0x00000, 0x200000, CRC(df69930e) SHA1(c76b7c559a1d5558138afbc796249efa2f49f6a8) )
2973   ROM_REGION( 0x200000, "simm5.3", 0 )
2974   ROM_LOAD( "sfiii3n-simm5.3", 0x00000, 0x200000, CRC(333754e0) SHA1(4c18a569c26524a492ecd6f4c8b3c8e803a077d3) )
2975   ROM_REGION( 0x200000, "simm5.4", 0 )
2976   ROM_LOAD( "sfiii3n-simm5.4", 0x00000, 0x200000, CRC(78f6d417) SHA1(a69577cc5399fcf0a24548661168f27f3e7e8e40) )
2977   ROM_REGION( 0x200000, "simm5.5", 0 )
2978   ROM_LOAD( "sfiii3n-simm5.5", 0x00000, 0x200000, CRC(8ccad9b1) SHA1(f8bda399f87be2497b7ac39e9661f9863bf4f873) )
2979   ROM_REGION( 0x200000, "simm5.6", 0 )
2980   ROM_LOAD( "sfiii3n-simm5.6", 0x00000, 0x200000, CRC(85de59e5) SHA1(748b5c91f15777b85d8c1d35b685cd90d3185ec6) )
2981   ROM_REGION( 0x200000, "simm5.7", 0 )
2982   ROM_LOAD( "sfiii3n-simm5.7", 0x00000, 0x200000, CRC(ee7e29b3) SHA1(63dc30c6904ca2f58d229249bee5eef51fafa158) )
2983
2984   ROM_REGION( 0x200000, "simm6.0", 0 )
2985   ROM_LOAD( "sfiii3n-simm6.0", 0x00000, 0x200000, CRC(8da69042) SHA1(fd3d08295342635b2136e48d543c9350d287bb22) )
2986   ROM_REGION( 0x200000, "simm6.1", 0 )
2987   ROM_LOAD( "sfiii3n-simm6.1", 0x00000, 0x200000, CRC(1c8c7ac4) SHA1(ac9f8353a4c356ef98aa7c226baba00b01f5a80f) )
2988   ROM_REGION( 0x200000, "simm6.2", 0 )
2989   ROM_LOAD( "sfiii3n-simm6.2", 0x00000, 0x200000, CRC(a671341d) SHA1(636f4c04962bc1e1ddb29d2e01244b00389b234f) )
2990   ROM_REGION( 0x200000, "simm6.3", 0 )
2991   ROM_LOAD( "sfiii3n-simm6.3", 0x00000, 0x200000, CRC(1a990249) SHA1(2acc639e2c0c53bf24096b8620eab090bc25d03b) )
2992   ROM_REGION( 0x200000, "simm6.4", 0 )
2993   ROM_LOAD( "sfiii3n-simm6.4", 0x00000, 0x200000, CRC(20cb39ac) SHA1(7d13a0fea1ef719dd2ff77dfb547d53c6023cc9e) )
2994   ROM_REGION( 0x200000, "simm6.5", 0 )
2995   ROM_LOAD( "sfiii3n-simm6.5", 0x00000, 0x200000, CRC(5f844b2f) SHA1(564e4934f89ed3b92a4c4874519f8f00f3b48696) )
2996   ROM_REGION( 0x200000, "simm6.6", 0 )
2997   ROM_LOAD( "sfiii3n-simm6.6", 0x00000, 0x200000, CRC(450e8d28) SHA1(885db658132aa27926df617ec2d2a1f38abdbb60) )
2998   ROM_REGION( 0x200000, "simm6.7", 0 )
2999   ROM_LOAD( "sfiii3n-simm6.7", 0x00000, 0x200000, CRC(cc5f4187) SHA1(248ddace21ed4736a56e92f77cc6ad219d7fef0b) )
27373000ROM_END
27383001
27393002ROM_START( jojon )
27403003   ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
27413004   ROM_LOAD( "jojo_asia_nocd.29f400.u2", 0x000000, 0x080000, CRC(05b4f953) SHA1(c746c7bb5359acc9adced817cb4870b1912eaefd) )
27423005
2743   ROM_REGION32_BE( USER4REGION_LENGTH, "user4", ROMREGION_ERASEFF ) /* cd content region */
2744   ROM_LOAD( "10",  0x0000000, 0x800000, CRC(bc612872) SHA1(18930f2906176b54a9b8bec56f06dda3362eb418) )
2745   ROM_LOAD( "20",  0x0800000, 0x800000, CRC(0e1daddf) SHA1(34bb4e0fb86258095a7b20f60174453195f3735a) )
2746   ROM_REGION16_BE( USER5REGION_LENGTH, "user5", ROMREGION_ERASEFF ) /* cd content region */
2747   ROM_LOAD( "30",  0x0000000, 0x800000, CRC(1d99181b) SHA1(25c216de16cefac2d5892039ad23d07848a457e6) )
2748   ROM_LOAD( "31",  0x0800000, 0x800000, CRC(6889fbda) SHA1(53a51b993d319d81a604cdf70b224955eacb617e) )
2749   ROM_LOAD( "40",  0x1000000, 0x800000, CRC(8069f9de) SHA1(7862ee104a2e9034910dd592687b40ebe75fa9ce) )
2750   ROM_LOAD( "41",  0x1800000, 0x800000, CRC(9c426823) SHA1(1839dccc7943a44063e8cb2376cd566b24e8b797) )
2751   ROM_LOAD( "50",  0x2000000, 0x400000, CRC(1c749cc7) SHA1(23df741360476d8035c68247e645278fbab53b59) )
3006   ROM_REGION( 0x200000, "simm1.0", 0 )
3007   ROM_LOAD( "jojon-simm1.0", 0x00000, 0x200000, CRC(cfbc38d6) SHA1(c33e3a51fe8ab54e0912a1d6e662fe1ade73cee7) )
3008   ROM_REGION( 0x200000, "simm1.1", 0 )
3009   ROM_LOAD( "jojon-simm1.1", 0x00000, 0x200000, CRC(42578d94) SHA1(fa46f92ac1a6716430adec9ab27214a11fa61749) )
3010   ROM_REGION( 0x200000, "simm1.2", 0 )
3011   ROM_LOAD( "jojon-simm1.2", 0x00000, 0x200000, CRC(1b40c566) SHA1(9833799e9b4fecf7f9ce14bca64936646b3fdbde) )
3012   ROM_REGION( 0x200000, "simm1.3", 0 )
3013   ROM_LOAD( "jojon-simm1.3", 0x00000, 0x200000, CRC(bba709b4) SHA1(0dd71e575f2193505f2ab960568ac1eccf40d53f) )
3014
3015   ROM_REGION( 0x200000, "simm2.0", 0 )
3016   ROM_LOAD( "jojon-simm2.0", 0x00000, 0x200000, CRC(417e5dc1) SHA1(54ee9596c1c51811f3bdef7dbe77b44b34f230ca) )
3017   ROM_REGION( 0x200000, "simm2.1", 0 )
3018   ROM_LOAD( "jojon-simm2.1", 0x00000, 0x200000, CRC(d3b3267d) SHA1(eb2cff347880f1489fb5b1b8bd16df8f50c7f494) )
3019   ROM_REGION( 0x200000, "simm2.2", 0 )
3020   ROM_LOAD( "jojon-simm2.2", 0x00000, 0x200000, CRC(c66d96b1) SHA1(909d5aac165748b549b6056a6091c41df012f5df) )
3021   ROM_REGION( 0x200000, "simm2.3", 0 )
3022   ROM_LOAD( "jojon-simm2.3", 0x00000, 0x200000, CRC(aa34cc85) SHA1(7677cc6fa913755fc699691b350698bbe8904118) )
3023
3024   ROM_REGION( 0x200000, "simm3.0", 0 )
3025   ROM_LOAD( "jojon-simm3.0", 0x00000, 0x200000, CRC(de7fc9c1) SHA1(662b85a990b04c855773506c936317e62fab4a05) )
3026   ROM_REGION( 0x200000, "simm3.1", 0 )
3027   ROM_LOAD( "jojon-simm3.1", 0x00000, 0x200000, CRC(43d053d3) SHA1(54ff0e9c164e0d1649522c330ccc7e5d79e0bc85) )
3028   ROM_REGION( 0x200000, "simm3.2", 0 )
3029   ROM_LOAD( "jojon-simm3.2", 0x00000, 0x200000, CRC(2ffd7fa5) SHA1(9018c8e2b286a333ba606208e90caa764951ea3f) )
3030   ROM_REGION( 0x200000, "simm3.3", 0 )
3031   ROM_LOAD( "jojon-simm3.3", 0x00000, 0x200000, CRC(4da4985b) SHA1(2552b1730a21ce17d58b69a79ad212a6a5829439) )
3032   ROM_REGION( 0x200000, "simm3.4", 0 )
3033   ROM_LOAD( "jojon-simm3.4", 0x00000, 0x200000, CRC(fde98d72) SHA1(654563e12d033e8656dc74a268a08b15b171470d) )
3034   ROM_REGION( 0x200000, "simm3.5", 0 )
3035   ROM_LOAD( "jojon-simm3.5", 0x00000, 0x200000, CRC(edb2a266) SHA1(19ebada8422c7f4bf70d0c9ad42b84268967b316) )
3036   ROM_REGION( 0x200000, "simm3.6", 0 )
3037   ROM_LOAD( "jojon-simm3.6", 0x00000, 0x200000, CRC(be7cf319) SHA1(7893f5907992e6b903b2683980bba6d3d003bb06) )
3038   ROM_REGION( 0x200000, "simm3.7", 0 )
3039   ROM_LOAD( "jojon-simm3.7", 0x00000, 0x200000, CRC(56fe1a9f) SHA1(01741fe1256f4e682f687e94040f4e8bbb8bedb2) )
3040
3041   ROM_REGION( 0x200000, "simm4.0", 0 )
3042   ROM_LOAD( "jojon-simm4.0", 0x00000, 0x200000, CRC(c4e7bf68) SHA1(a4d1ddea58a3d42db82a63a5e974cbf38d9b792a) )
3043   ROM_REGION( 0x200000, "simm4.1", 0 )
3044   ROM_LOAD( "jojon-simm4.1", 0x00000, 0x200000, CRC(b62b2719) SHA1(cb577b89e9e14fda67715716fefd47a782d518ab) )
3045   ROM_REGION( 0x200000, "simm4.2", 0 )
3046   ROM_LOAD( "jojon-simm4.2", 0x00000, 0x200000, CRC(18d15809) SHA1(2b406cd1aaa4799a436213dcaa65473eacb4c6d7) )
3047   ROM_REGION( 0x200000, "simm4.3", 0 )
3048   ROM_LOAD( "jojon-simm4.3", 0x00000, 0x200000, CRC(9af0ad79) SHA1(075ee048e17b50188876f25d7a6571d6ace84d7d) )
3049   ROM_REGION( 0x200000, "simm4.4", 0 )
3050   ROM_LOAD( "jojon-simm4.4", 0x00000, 0x200000, CRC(4124c1f0) SHA1(e4946a8029adc5d0bacead8d766521b4ccd1722b) )
3051   ROM_REGION( 0x200000, "simm4.5", 0 )
3052   ROM_LOAD( "jojon-simm4.5", 0x00000, 0x200000, CRC(5e001fd1) SHA1(6457a39f336381b46e587aa2f5f719810ee5bcf9) )
3053   ROM_REGION( 0x200000, "simm4.6", 0 )
3054   ROM_LOAD( "jojon-simm4.6", 0x00000, 0x200000, CRC(9affa23b) SHA1(e3d77e777c47277d841a9dadc1dd6e3157706a2e) )
3055   ROM_REGION( 0x200000, "simm4.7", 0 )
3056   ROM_LOAD( "jojon-simm4.7", 0x00000, 0x200000, CRC(2511572a) SHA1(725adcf71bcee5c8bb839d2d1c5e3456b8c6886b) )
3057
3058   ROM_REGION( 0x200000, "simm5.0", 0 )
3059   ROM_LOAD( "jojon-simm5.0", 0x00000, 0x200000, CRC(797615fc) SHA1(29874be9f1da5515c90f5d601aa5924c263f8feb) )
3060   ROM_REGION( 0x200000, "simm5.1", 0 )
3061   ROM_LOAD( "jojon-simm5.1", 0x00000, 0x200000, CRC(734fd162) SHA1(16cdfac74d18a6c2216afb1ce6afbd7f15297c32) )
27523062ROM_END
27533063
27543064ROM_START( jojoan )
27553065   ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
27563066   ROM_LOAD( "jojo_asia_nocd.29f400.u2", 0x000000, 0x080000, CRC(05b4f953) SHA1(c746c7bb5359acc9adced817cb4870b1912eaefd) )
27573067
2758   ROM_REGION32_BE( USER4REGION_LENGTH, "user4", ROMREGION_ERASEFF ) /* cd content region */
2759   ROM_LOAD( "10",  0x0000000, 0x800000, CRC(e40dc123) SHA1(517e7006349b5a8fd6c30910362583f48d009355) )
2760   ROM_LOAD( "20",  0x0800000, 0x800000, CRC(0571e37c) SHA1(1aa28ef6ea1b606a55d0766480b3ee156f0bca5a) )
2761   ROM_REGION16_BE( USER5REGION_LENGTH, "user5", ROMREGION_ERASEFF ) /* cd content region */
2762   ROM_LOAD( "30",  0x0000000, 0x800000, CRC(1d99181b) SHA1(25c216de16cefac2d5892039ad23d07848a457e6) )
2763   ROM_LOAD( "31",  0x0800000, 0x800000, CRC(6889fbda) SHA1(53a51b993d319d81a604cdf70b224955eacb617e) )
2764   ROM_LOAD( "40",  0x1000000, 0x800000, CRC(8069f9de) SHA1(7862ee104a2e9034910dd592687b40ebe75fa9ce) )
2765   ROM_LOAD( "41",  0x1800000, 0x800000, CRC(9c426823) SHA1(1839dccc7943a44063e8cb2376cd566b24e8b797) )
2766   ROM_LOAD( "50",  0x2000000, 0x400000, CRC(1c749cc7) SHA1(23df741360476d8035c68247e645278fbab53b59) )
3068   ROM_REGION( 0x200000, "simm1.0", 0 )
3069   ROM_LOAD( "jojoan-simm1.0", 0x00000, 0x200000, CRC(e06ba886) SHA1(4defd5e8e1e6d0c439fed8a6454e89a59e24ea4c) )
3070   ROM_REGION( 0x200000, "simm1.1", 0 )
3071   ROM_LOAD( "jojoan-simm1.1", 0x00000, 0x200000, CRC(6dd177c8) SHA1(c39db980f6fcca9c221e9be6f777eaf38f1b136b) )
3072   ROM_REGION( 0x200000, "simm1.2", 0 )
3073   ROM_LOAD( "jojoan-simm1.2", 0x00000, 0x200000, CRC(d35a15e0) SHA1(576b92a94505764a10b9bcf82c02335e7ef62014) )
3074   ROM_REGION( 0x200000, "simm1.3", 0 )
3075   ROM_LOAD( "jojoan-simm1.3", 0x00000, 0x200000, CRC(66d865ac) SHA1(5248c3f124af62b4a672d954ef15f86629feeacb) )
3076
3077   ROM_REGION( 0x200000, "simm2.0", 0 )
3078   ROM_LOAD( "jojoan-simm2.0", 0x00000, 0x200000, CRC(417e5dc1) SHA1(54ee9596c1c51811f3bdef7dbe77b44b34f230ca) )
3079   ROM_REGION( 0x200000, "simm2.1", 0 )
3080   ROM_LOAD( "jojoan-simm2.1", 0x00000, 0x200000, CRC(c891c887) SHA1(42e84f774ee655e9a39b016a3cfe94262ed2e9f1) )
3081   ROM_REGION( 0x200000, "simm2.2", 0 )
3082   ROM_LOAD( "jojoan-simm2.2", 0x00000, 0x200000, CRC(1e101f30) SHA1(56518c1646bb9452334856bb8bcc58892f9f93b9) )
3083   ROM_REGION( 0x200000, "simm2.3", 0 )
3084   ROM_LOAD( "jojoan-simm2.3", 0x00000, 0x200000, CRC(1fd1d3e4) SHA1(bed2b77d58f1fdf7ba5ca7126d3db1dd0f8c80b4) )
3085
3086   ROM_REGION( 0x200000, "simm3.0", 0 )
3087   ROM_LOAD( "jojon-simm3.0", 0x00000, 0x200000, CRC(de7fc9c1) SHA1(662b85a990b04c855773506c936317e62fab4a05) )
3088   ROM_REGION( 0x200000, "simm3.1", 0 )
3089   ROM_LOAD( "jojon-simm3.1", 0x00000, 0x200000, CRC(43d053d3) SHA1(54ff0e9c164e0d1649522c330ccc7e5d79e0bc85) )
3090   ROM_REGION( 0x200000, "simm3.2", 0 )
3091   ROM_LOAD( "jojon-simm3.2", 0x00000, 0x200000, CRC(2ffd7fa5) SHA1(9018c8e2b286a333ba606208e90caa764951ea3f) )
3092   ROM_REGION( 0x200000, "simm3.3", 0 )
3093   ROM_LOAD( "jojon-simm3.3", 0x00000, 0x200000, CRC(4da4985b) SHA1(2552b1730a21ce17d58b69a79ad212a6a5829439) )
3094   ROM_REGION( 0x200000, "simm3.4", 0 )
3095   ROM_LOAD( "jojon-simm3.4", 0x00000, 0x200000, CRC(fde98d72) SHA1(654563e12d033e8656dc74a268a08b15b171470d) )
3096   ROM_REGION( 0x200000, "simm3.5", 0 )
3097   ROM_LOAD( "jojon-simm3.5", 0x00000, 0x200000, CRC(edb2a266) SHA1(19ebada8422c7f4bf70d0c9ad42b84268967b316) )
3098   ROM_REGION( 0x200000, "simm3.6", 0 )
3099   ROM_LOAD( "jojon-simm3.6", 0x00000, 0x200000, CRC(be7cf319) SHA1(7893f5907992e6b903b2683980bba6d3d003bb06) )
3100   ROM_REGION( 0x200000, "simm3.7", 0 )
3101   ROM_LOAD( "jojon-simm3.7", 0x00000, 0x200000, CRC(56fe1a9f) SHA1(01741fe1256f4e682f687e94040f4e8bbb8bedb2) )
3102
3103   ROM_REGION( 0x200000, "simm4.0", 0 )
3104   ROM_LOAD( "jojon-simm4.0", 0x00000, 0x200000, CRC(c4e7bf68) SHA1(a4d1ddea58a3d42db82a63a5e974cbf38d9b792a) )
3105   ROM_REGION( 0x200000, "simm4.1", 0 )
3106   ROM_LOAD( "jojon-simm4.1", 0x00000, 0x200000, CRC(b62b2719) SHA1(cb577b89e9e14fda67715716fefd47a782d518ab) )
3107   ROM_REGION( 0x200000, "simm4.2", 0 )
3108   ROM_LOAD( "jojon-simm4.2", 0x00000, 0x200000, CRC(18d15809) SHA1(2b406cd1aaa4799a436213dcaa65473eacb4c6d7) )
3109   ROM_REGION( 0x200000, "simm4.3", 0 )
3110   ROM_LOAD( "jojon-simm4.3", 0x00000, 0x200000, CRC(9af0ad79) SHA1(075ee048e17b50188876f25d7a6571d6ace84d7d) )
3111   ROM_REGION( 0x200000, "simm4.4", 0 )
3112   ROM_LOAD( "jojon-simm4.4", 0x00000, 0x200000, CRC(4124c1f0) SHA1(e4946a8029adc5d0bacead8d766521b4ccd1722b) )
3113   ROM_REGION( 0x200000, "simm4.5", 0 )
3114   ROM_LOAD( "jojon-simm4.5", 0x00000, 0x200000, CRC(5e001fd1) SHA1(6457a39f336381b46e587aa2f5f719810ee5bcf9) )
3115   ROM_REGION( 0x200000, "simm4.6", 0 )
3116   ROM_LOAD( "jojon-simm4.6", 0x00000, 0x200000, CRC(9affa23b) SHA1(e3d77e777c47277d841a9dadc1dd6e3157706a2e) )
3117   ROM_REGION( 0x200000, "simm4.7", 0 )
3118   ROM_LOAD( "jojon-simm4.7", 0x00000, 0x200000, CRC(2511572a) SHA1(725adcf71bcee5c8bb839d2d1c5e3456b8c6886b) )
3119
3120   ROM_REGION( 0x200000, "simm5.0", 0 )
3121   ROM_LOAD( "jojon-simm5.0", 0x00000, 0x200000, CRC(797615fc) SHA1(29874be9f1da5515c90f5d601aa5924c263f8feb) )
3122   ROM_REGION( 0x200000, "simm5.1", 0 )
3123   ROM_LOAD( "jojon-simm5.1", 0x00000, 0x200000, CRC(734fd162) SHA1(16cdfac74d18a6c2216afb1ce6afbd7f15297c32) )
27673124ROM_END
27683125
27693126ROM_START( jojoban )
27703127   ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
27713128   ROM_LOAD( "jojoba_japan_nocd.29f400.u2", 0x000000, 0x080000, CRC(4dab19f5) SHA1(ba07190e7662937fc267f07285c51e99a45c061e) )
27723129
2773   ROM_REGION32_BE( USER4REGION_LENGTH, "user4", ROMREGION_ERASEFF ) /* cd content region */
2774   ROM_LOAD( "10",  0x000000, 0x800000, CRC(6e2490f6) SHA1(75cbf1e39ad6362a21c937c827e492d927b7cf39) )
2775   ROM_LOAD( "20",  0x800000, 0x800000, CRC(1293892b) SHA1(b1beafac1a9c4b6d0640658af8a3eb359e76eb25) )
2776   ROM_REGION16_BE( USER5REGION_LENGTH, "user5", ROMREGION_ERASEFF ) /* cd content region */
2777   ROM_LOAD( "30",  0x0000000, 0x800000, CRC(d25c5005) SHA1(93a19a14783d604bb42feffbe23eb370d11281e8) )
2778   ROM_LOAD( "31",  0x0800000, 0x800000, CRC(51bb3dba) SHA1(39e95a05882909820b3efa6a3b457b8574012638) )
2779   ROM_LOAD( "40",  0x1000000, 0x800000, CRC(94dc26d4) SHA1(5ae2815142972f322886eea4885baf2b82563ab1) )
2780   ROM_LOAD( "41",  0x1800000, 0x800000, CRC(1c53ee62) SHA1(e096bf3cb6fbc3d45955787b8f3213abcd76d120) )
2781   ROM_LOAD( "50",  0x2000000, 0x800000, CRC(36e416ed) SHA1(58d0e95cc13f39bc171165468ce72f4f17b8d8d6) )
2782   ROM_LOAD( "51",  0x2800000, 0x800000, CRC(eedf19ca) SHA1(a7660bf9ff87911afb4f83b64456245059986830) )
3130   ROM_REGION( 0x200000, "simm1.0", 0 )
3131   ROM_LOAD( "jojoban-simm1.0", 0x00000, 0x200000, CRC(76976231) SHA1(90adde7e5983ec6a4e02789d5cefe9e85c9c52d5) )
3132   ROM_REGION( 0x200000, "simm1.1", 0 )
3133   ROM_LOAD( "jojoban-simm1.1", 0x00000, 0x200000, CRC(cedd78e7) SHA1(964988b90a2f14c1da2cfc48d943e16e54da3fd3) )
3134   ROM_REGION( 0x200000, "simm1.2", 0 )
3135   ROM_LOAD( "jojoban-simm1.2", 0x00000, 0x200000, CRC(2955b77f) SHA1(2a907a5cd91448bfc420c318584e5ef4bbe55a91) )
3136   ROM_REGION( 0x200000, "simm1.3", 0 )
3137   ROM_LOAD( "jojoban-simm1.3", 0x00000, 0x200000, CRC(280139d7) SHA1(b7c28f6f0218688fb873a3106d2f95ea2e1e927c) )
3138
3139   ROM_REGION( 0x200000, "simm2.0", 0 )
3140   ROM_LOAD( "jojoban-simm2.0", 0x00000, 0x200000, CRC(305c4914) SHA1(c3a73ffe58f61ab8f1cd9e3f0891037638dc5a9b) )
3141   ROM_REGION( 0x200000, "simm2.1", 0 )
3142   ROM_LOAD( "jojoban-simm2.1", 0x00000, 0x200000, CRC(18af4f3b) SHA1(04b8fdf23a782b10c203b111cc634a6d3474044a) )
3143   ROM_REGION( 0x200000, "simm2.2", 0 )
3144   ROM_LOAD( "jojoban-simm2.2", 0x00000, 0x200000, CRC(397e5c9e) SHA1(021d86ee66bf951fb6a1dd90fb7007c6865cbb8b) )
3145   ROM_REGION( 0x200000, "simm2.3", 0 )
3146   ROM_LOAD( "jojoban-simm2.3", 0x00000, 0x200000, CRC(a9d0a7d7) SHA1(b2cfc0661f8903ddbeea8a604ee8b42097e10ab8) )
3147
3148   ROM_REGION( 0x200000, "simm3.0", 0 )
3149   ROM_LOAD( "jojoban-simm3.0", 0x00000, 0x200000, CRC(4d16e111) SHA1(f198007375be65e89856d64ee2b3857a18b4eab8) )
3150   ROM_REGION( 0x200000, "simm3.1", 0 )
3151   ROM_LOAD( "jojoban-simm3.1", 0x00000, 0x200000, CRC(9b3406d3) SHA1(54e90cd334d13e2c74305c6b87ebce1365ef3d59) )
3152   ROM_REGION( 0x200000, "simm3.2", 0 )
3153   ROM_LOAD( "jojoban-simm3.2", 0x00000, 0x200000, CRC(f2414997) SHA1(fb89d5784250538ad17fd527267b513afb6eca20) )
3154   ROM_REGION( 0x200000, "simm3.3", 0 )
3155   ROM_LOAD( "jojoban-simm3.3", 0x00000, 0x200000, CRC(954b9c7d) SHA1(0d64d97167d4e669d7e4f3a388f9d5ec1e18ed42) )
3156   ROM_REGION( 0x200000, "simm3.4", 0 )
3157   ROM_LOAD( "jojoban-simm3.4", 0x00000, 0x200000, CRC(625adc1d) SHA1(533d62759ecece10c711d99bfca403e5cba279b5) )
3158   ROM_REGION( 0x200000, "simm3.5", 0 )
3159   ROM_LOAD( "jojoban-simm3.5", 0x00000, 0x200000, CRC(20a70bb4) SHA1(3bd8376304ffc974fb8031eac8bebff27969538c) )
3160   ROM_REGION( 0x200000, "simm3.6", 0 )
3161   ROM_LOAD( "jojoban-simm3.6", 0x00000, 0x200000, CRC(a10ec5af) SHA1(9b403260e8fbdacaa5369ab79fc05855cc6a6bdb) )
3162   ROM_REGION( 0x200000, "simm3.7", 0 )
3163   ROM_LOAD( "jojoban-simm3.7", 0x00000, 0x200000, CRC(0bd0de7a) SHA1(1debecda5f282f2a1dd17e887e522a4d00c5dc9d) )
3164
3165   ROM_REGION( 0x200000, "simm4.0", 0 )
3166   ROM_LOAD( "jojoban-simm4.0", 0x00000, 0x200000, CRC(6ea14adc) SHA1(696b2ec66f3c197817a60f507a1b4c78db37f488) )
3167   ROM_REGION( 0x200000, "simm4.1", 0 )
3168   ROM_LOAD( "jojoban-simm4.1", 0x00000, 0x200000, CRC(8f4c42fb) SHA1(363d769b0b066ce139125426d2da6dfa15d1eb28) )
3169   ROM_REGION( 0x200000, "simm4.2", 0 )
3170   ROM_LOAD( "jojoban-simm4.2", 0x00000, 0x200000, CRC(ef0586d1) SHA1(8fcc350da20e3e59fa76fa14e10f2c47233ba9dc) )
3171   ROM_REGION( 0x200000, "simm4.3", 0 )
3172   ROM_LOAD( "jojoban-simm4.3", 0x00000, 0x200000, CRC(93ccc470) SHA1(5d267679e61c0fb592ad5f696d3c06ec1746d0b3) )
3173   ROM_REGION( 0x200000, "simm4.4", 0 )
3174   ROM_LOAD( "jojoban-simm4.4", 0x00000, 0x200000, CRC(3d9ec7d2) SHA1(665b867bab928be183c2006527e55f9b8ec4a271) )
3175   ROM_REGION( 0x200000, "simm4.5", 0 )
3176   ROM_LOAD( "jojoban-simm4.5", 0x00000, 0x200000, CRC(03e66850) SHA1(8478662dc9db20d9a186d315a883bd1cbb5e5000) )
3177   ROM_REGION( 0x200000, "simm4.6", 0 )
3178   ROM_LOAD( "jojoban-simm4.6", 0x00000, 0x200000, CRC(01606ac3) SHA1(ccc74edeca6abdd86fc1cf42ececa1ea393b3261) )
3179   ROM_REGION( 0x200000, "simm4.7", 0 )
3180   ROM_LOAD( "jojoban-simm4.7", 0x00000, 0x200000, CRC(36392b87) SHA1(e62080c8461775c1e180400dfb44414679fd0fc1) )
3181
3182   ROM_REGION( 0x200000, "simm5.0", 0 )
3183   ROM_LOAD( "jojoban-simm5.0", 0x00000, 0x200000, CRC(2ef8c60c) SHA1(dea87a73a11b8edd27c3c9c5ab2af295cb5508f9) )
3184   ROM_REGION( 0x200000, "simm5.1", 0 )
3185   ROM_LOAD( "jojoban-simm5.1", 0x00000, 0x200000, CRC(cf7d7ca6) SHA1(b347707b1e5bc71d28b282273f893592e5f9e333) )
3186   ROM_REGION( 0x200000, "simm5.2", 0 )
3187   ROM_LOAD( "jojoban-simm5.2", 0x00000, 0x200000, CRC(b7815bfa) SHA1(0b5a3a2ffe1b3c0ca765dcedc297e78e5928302b) )
3188   ROM_REGION( 0x200000, "simm5.3", 0 )
3189   ROM_LOAD( "jojoban-simm5.3", 0x00000, 0x200000, CRC(9bfec049) SHA1(62cc9a1920047863205544b77344ee18f310f084) )
3190   ROM_REGION( 0x200000, "simm5.4", 0 )
3191   ROM_LOAD( "jojoban-simm5.4", 0x00000, 0x200000, CRC(d167536b) SHA1(e2637d3486f168ce44e0a00413d38960cb86db4c) )
3192   ROM_REGION( 0x200000, "simm5.5", 0 )
3193   ROM_LOAD( "jojoban-simm5.5", 0x00000, 0x200000, CRC(55e7a042) SHA1(c18bda61fa005d9174a27b7b7d324004262a4525) )
3194   ROM_REGION( 0x200000, "simm5.6", 0 )
3195   ROM_LOAD( "jojoban-simm5.6", 0x00000, 0x200000, CRC(4fb32906) SHA1(3a5965b3197517932c8aa4c07a6ea6a190a338d7) )
3196   ROM_REGION( 0x200000, "simm5.7", 0 )
3197   ROM_LOAD( "jojoban-simm5.7", 0x00000, 0x200000, CRC(8c8be520) SHA1(c461f3f76a83592b36b29afb316679a7c8972404) )
27833198ROM_END
27843199
27853200ROM_START( jojobane )
27863201   ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
27873202   ROM_LOAD( "jojoba_euro_nocd.29f400.u2", 0x000000, 0x080000,  CRC(1ee2d679) SHA1(9e129b454a376606b3f7e8aec64de425cf9c635c) )
27883203
2789   ROM_REGION32_BE( USER4REGION_LENGTH, "user4", ROMREGION_ERASEFF ) /* cd content region */
2790   ROM_LOAD( "10",  0x000000, 0x800000, CRC(6e2490f6) SHA1(75cbf1e39ad6362a21c937c827e492d927b7cf39) )
2791   ROM_LOAD( "20",  0x800000, 0x800000, CRC(1293892b) SHA1(b1beafac1a9c4b6d0640658af8a3eb359e76eb25) )
2792   ROM_REGION16_BE( USER5REGION_LENGTH, "user5", ROMREGION_ERASEFF ) /* cd content region */
2793   ROM_LOAD( "30",  0x0000000, 0x800000, CRC(d25c5005) SHA1(93a19a14783d604bb42feffbe23eb370d11281e8) )
2794   ROM_LOAD( "31",  0x0800000, 0x800000, CRC(51bb3dba) SHA1(39e95a05882909820b3efa6a3b457b8574012638) )
2795   ROM_LOAD( "40",  0x1000000, 0x800000, CRC(94dc26d4) SHA1(5ae2815142972f322886eea4885baf2b82563ab1) )
2796   ROM_LOAD( "41",  0x1800000, 0x800000, CRC(1c53ee62) SHA1(e096bf3cb6fbc3d45955787b8f3213abcd76d120) )
2797   ROM_LOAD( "50",  0x2000000, 0x800000, CRC(36e416ed) SHA1(58d0e95cc13f39bc171165468ce72f4f17b8d8d6) )
2798   ROM_LOAD( "51",  0x2800000, 0x800000, CRC(eedf19ca) SHA1(a7660bf9ff87911afb4f83b64456245059986830) )
3204   ROM_REGION( 0x200000, "simm1.0", 0 )
3205   ROM_LOAD( "jojoban-simm1.0", 0x00000, 0x200000, CRC(76976231) SHA1(90adde7e5983ec6a4e02789d5cefe9e85c9c52d5) )
3206   ROM_REGION( 0x200000, "simm1.1", 0 )
3207   ROM_LOAD( "jojoban-simm1.1", 0x00000, 0x200000, CRC(cedd78e7) SHA1(964988b90a2f14c1da2cfc48d943e16e54da3fd3) )
3208   ROM_REGION( 0x200000, "simm1.2", 0 )
3209   ROM_LOAD( "jojoban-simm1.2", 0x00000, 0x200000, CRC(2955b77f) SHA1(2a907a5cd91448bfc420c318584e5ef4bbe55a91) )
3210   ROM_REGION( 0x200000, "simm1.3", 0 )
3211   ROM_LOAD( "jojoban-simm1.3", 0x00000, 0x200000, CRC(280139d7) SHA1(b7c28f6f0218688fb873a3106d2f95ea2e1e927c) )
3212
3213   ROM_REGION( 0x200000, "simm2.0", 0 )
3214   ROM_LOAD( "jojoban-simm2.0", 0x00000, 0x200000, CRC(305c4914) SHA1(c3a73ffe58f61ab8f1cd9e3f0891037638dc5a9b) )
3215   ROM_REGION( 0x200000, "simm2.1", 0 )
3216   ROM_LOAD( "jojoban-simm2.1", 0x00000, 0x200000, CRC(18af4f3b) SHA1(04b8fdf23a782b10c203b111cc634a6d3474044a) )
3217   ROM_REGION( 0x200000, "simm2.2", 0 )
3218   ROM_LOAD( "jojoban-simm2.2", 0x00000, 0x200000, CRC(397e5c9e) SHA1(021d86ee66bf951fb6a1dd90fb7007c6865cbb8b) )
3219   ROM_REGION( 0x200000, "simm2.3", 0 )
3220   ROM_LOAD( "jojoban-simm2.3", 0x00000, 0x200000, CRC(a9d0a7d7) SHA1(b2cfc0661f8903ddbeea8a604ee8b42097e10ab8) )
3221
3222   ROM_REGION( 0x200000, "simm3.0", 0 )
3223   ROM_LOAD( "jojoban-simm3.0", 0x00000, 0x200000, CRC(4d16e111) SHA1(f198007375be65e89856d64ee2b3857a18b4eab8) )
3224   ROM_REGION( 0x200000, "simm3.1", 0 )
3225   ROM_LOAD( "jojoban-simm3.1", 0x00000, 0x200000, CRC(9b3406d3) SHA1(54e90cd334d13e2c74305c6b87ebce1365ef3d59) )
3226   ROM_REGION( 0x200000, "simm3.2", 0 )
3227   ROM_LOAD( "jojoban-simm3.2", 0x00000, 0x200000, CRC(f2414997) SHA1(fb89d5784250538ad17fd527267b513afb6eca20) )
3228   ROM_REGION( 0x200000, "simm3.3", 0 )
3229   ROM_LOAD( "jojoban-simm3.3", 0x00000, 0x200000, CRC(954b9c7d) SHA1(0d64d97167d4e669d7e4f3a388f9d5ec1e18ed42) )
3230   ROM_REGION( 0x200000, "simm3.4", 0 )
3231   ROM_LOAD( "jojoban-simm3.4", 0x00000, 0x200000, CRC(625adc1d) SHA1(533d62759ecece10c711d99bfca403e5cba279b5) )
3232   ROM_REGION( 0x200000, "simm3.5", 0 )
3233   ROM_LOAD( "jojoban-simm3.5", 0x00000, 0x200000, CRC(20a70bb4) SHA1(3bd8376304ffc974fb8031eac8bebff27969538c) )
3234   ROM_REGION( 0x200000, "simm3.6", 0 )
3235   ROM_LOAD( "jojoban-simm3.6", 0x00000, 0x200000, CRC(a10ec5af) SHA1(9b403260e8fbdacaa5369ab79fc05855cc6a6bdb) )
3236   ROM_REGION( 0x200000, "simm3.7", 0 )
3237   ROM_LOAD( "jojoban-simm3.7", 0x00000, 0x200000, CRC(0bd0de7a) SHA1(1debecda5f282f2a1dd17e887e522a4d00c5dc9d) )
3238
3239   ROM_REGION( 0x200000, "simm4.0", 0 )
3240   ROM_LOAD( "jojoban-simm4.0", 0x00000, 0x200000, CRC(6ea14adc) SHA1(696b2ec66f3c197817a60f507a1b4c78db37f488) )
3241   ROM_REGION( 0x200000, "simm4.1", 0 )
3242   ROM_LOAD( "jojoban-simm4.1", 0x00000, 0x200000, CRC(8f4c42fb) SHA1(363d769b0b066ce139125426d2da6dfa15d1eb28) )
3243   ROM_REGION( 0x200000, "simm4.2", 0 )
3244   ROM_LOAD( "jojoban-simm4.2", 0x00000, 0x200000, CRC(ef0586d1) SHA1(8fcc350da20e3e59fa76fa14e10f2c47233ba9dc) )
3245   ROM_REGION( 0x200000, "simm4.3", 0 )
3246   ROM_LOAD( "jojoban-simm4.3", 0x00000, 0x200000, CRC(93ccc470) SHA1(5d267679e61c0fb592ad5f696d3c06ec1746d0b3) )
3247   ROM_REGION( 0x200000, "simm4.4", 0 )
3248   ROM_LOAD( "jojoban-simm4.4", 0x00000, 0x200000, CRC(3d9ec7d2) SHA1(665b867bab928be183c2006527e55f9b8ec4a271) )
3249   ROM_REGION( 0x200000, "simm4.5", 0 )
3250   ROM_LOAD( "jojoban-simm4.5", 0x00000, 0x200000, CRC(03e66850) SHA1(8478662dc9db20d9a186d315a883bd1cbb5e5000) )
3251   ROM_REGION( 0x200000, "simm4.6", 0 )
3252   ROM_LOAD( "jojoban-simm4.6", 0x00000, 0x200000, CRC(01606ac3) SHA1(ccc74edeca6abdd86fc1cf42ececa1ea393b3261) )
3253   ROM_REGION( 0x200000, "simm4.7", 0 )
3254   ROM_LOAD( "jojoban-simm4.7", 0x00000, 0x200000, CRC(36392b87) SHA1(e62080c8461775c1e180400dfb44414679fd0fc1) )
3255
3256   ROM_REGION( 0x200000, "simm5.0", 0 )
3257   ROM_LOAD( "jojoban-simm5.0", 0x00000, 0x200000, CRC(2ef8c60c) SHA1(dea87a73a11b8edd27c3c9c5ab2af295cb5508f9) )
3258   ROM_REGION( 0x200000, "simm5.1", 0 )
3259   ROM_LOAD( "jojoban-simm5.1", 0x00000, 0x200000, CRC(cf7d7ca6) SHA1(b347707b1e5bc71d28b282273f893592e5f9e333) )
3260   ROM_REGION( 0x200000, "simm5.2", 0 )
3261   ROM_LOAD( "jojoban-simm5.2", 0x00000, 0x200000, CRC(b7815bfa) SHA1(0b5a3a2ffe1b3c0ca765dcedc297e78e5928302b) )
3262   ROM_REGION( 0x200000, "simm5.3", 0 )
3263   ROM_LOAD( "jojoban-simm5.3", 0x00000, 0x200000, CRC(9bfec049) SHA1(62cc9a1920047863205544b77344ee18f310f084) )
3264   ROM_REGION( 0x200000, "simm5.4", 0 )
3265   ROM_LOAD( "jojoban-simm5.4", 0x00000, 0x200000, CRC(d167536b) SHA1(e2637d3486f168ce44e0a00413d38960cb86db4c) )
3266   ROM_REGION( 0x200000, "simm5.5", 0 )
3267   ROM_LOAD( "jojoban-simm5.5", 0x00000, 0x200000, CRC(55e7a042) SHA1(c18bda61fa005d9174a27b7b7d324004262a4525) )
3268   ROM_REGION( 0x200000, "simm5.6", 0 )
3269   ROM_LOAD( "jojoban-simm5.6", 0x00000, 0x200000, CRC(4fb32906) SHA1(3a5965b3197517932c8aa4c07a6ea6a190a338d7) )
3270   ROM_REGION( 0x200000, "simm5.7", 0 )
3271   ROM_LOAD( "jojoban-simm5.7", 0x00000, 0x200000, CRC(8c8be520) SHA1(c461f3f76a83592b36b29afb316679a7c8972404) )
27993272ROM_END
28003273
28013274
r9191r9192
28033276   ROM_REGION32_BE( 0x080000, "user1", 0 ) /* bios region */
28043277   ROM_LOAD( "redearth_nocd.bios", 0x000000, 0x080000, NO_DUMP )
28053278
2806   ROM_REGION32_BE( USER4REGION_LENGTH, "user4", ROMREGION_ERASEFF ) /* cd content region */
2807   ROM_LOAD( "10",  0x000000, 0x800000, CRC(68188016) SHA1(93aaac08cb5566c33aabc16457085b0a36048019) )
2808   ROM_REGION16_BE( USER5REGION_LENGTH, "user5", ROMREGION_ERASEFF ) /* cd content region */
2809   ROM_LOAD( "30",  0x0000000, 0x800000, CRC(074cab4d) SHA1(4cb6cc9cce3b1a932b07058a5d723b3effa23fcf) )
2810   ROM_LOAD( "31",  0x0800000, 0x800000, CRC(14e2cad4) SHA1(9958a4e315e4476e4791a6219b93495413c7b751) )
2811   ROM_LOAD( "40",  0x1000000, 0x800000, CRC(72d98890) SHA1(f40926c52cb7a71b0ef0027a0ea38bbc7e8b31b0) )
2812   ROM_LOAD( "41",  0x1800000, 0x800000, CRC(88ccb33c) SHA1(1e7af35d186d0b4e45b6c27458ddb9cfddd7c9bc) )
2813   ROM_LOAD( "50",  0x2000000, 0x400000, CRC(2f5b44bd) SHA1(7ffdbed5b6899b7e31414a0828e04543d07435e4) )
3279   ROM_REGION( 0x200000, "simm1.0", 0 )
3280   ROM_LOAD( "redeartn-simm1.0", 0x00000, 0x200000, CRC(cad468f8) SHA1(b3aa4f7d3fae84e8821417ccde9528d3eda2b7a6) )
3281   ROM_REGION( 0x200000, "simm1.1", 0 )
3282   ROM_LOAD( "redeartn-simm1.1", 0x00000, 0x200000, CRC(e9721d89) SHA1(5c63d10bdbce52d50b6dde14d4a0f1369383d656) )
3283   ROM_REGION( 0x200000, "simm1.2", 0 )
3284   ROM_LOAD( "redeartn-simm1.2", 0x00000, 0x200000, CRC(2889ec98) SHA1(a94310eb4777f908d87e9d90969db8504b4140ff) )
3285   ROM_REGION( 0x200000, "simm1.3", 0 )
3286   ROM_LOAD( "redeartn-simm1.3", 0x00000, 0x200000, CRC(5a6cd148) SHA1(d65c6e8378a91828474a16a3bbcd13c4b3b15f13) )
3287
3288   ROM_REGION( 0x200000, "simm3.0", 0 )
3289   ROM_LOAD( "redeartn-simm3.0", 0x00000, 0x200000, CRC(83350cc5) SHA1(922b1abf80a4a89f35279b66311a7369d3965bd0) )
3290   ROM_REGION( 0x200000, "simm3.1", 0 )
3291   ROM_LOAD( "redeartn-simm3.1", 0x00000, 0x200000, CRC(56734de6) SHA1(75699fa6efe5bec335e4b02e15b3c45726b68fa8) )
3292   ROM_REGION( 0x200000, "simm3.2", 0 )
3293   ROM_LOAD( "redeartn-simm3.2", 0x00000, 0x200000, CRC(800ea0f1) SHA1(33871ab56dc1cd24441389d53e43fb8e43b149d9) )
3294   ROM_REGION( 0x200000, "simm3.3", 0 )
3295   ROM_LOAD( "redeartn-simm3.3", 0x00000, 0x200000, CRC(97e9146c) SHA1(ab7744709615081440bee72f4080d6fd5b938668) )
3296   ROM_REGION( 0x200000, "simm3.4", 0 )
3297   ROM_LOAD( "redeartn-simm3.4", 0x00000, 0x200000, CRC(0cb1d648) SHA1(7042a590c2b7ec55323062127e254da3cdc790a1) )
3298   ROM_REGION( 0x200000, "simm3.5", 0 )
3299   ROM_LOAD( "redeartn-simm3.5", 0x00000, 0x200000, CRC(7a1099f0) SHA1(c6a92ec86eb24485f1db530e0e78f647e8432231) )
3300   ROM_REGION( 0x200000, "simm3.6", 0 )
3301   ROM_LOAD( "redeartn-simm3.6", 0x00000, 0x200000, CRC(aeff8f54) SHA1(fd760e237c2e5fb2da45e32a1c12fd3defb4c3e4) )
3302   ROM_REGION( 0x200000, "simm3.7", 0 )
3303   ROM_LOAD( "redeartn-simm3.7", 0x00000, 0x200000, CRC(f770acd0) SHA1(4b3ccb6f91568f95f04ede6c574144918d131201) )
3304
3305   ROM_REGION( 0x200000, "simm4.0", 0 )
3306   ROM_LOAD( "redeartn-simm4.0", 0x00000, 0x200000, CRC(301e56f2) SHA1(4847d971bff70a2aeed4599e1201c7ec9677da60) )
3307   ROM_REGION( 0x200000, "simm4.1", 0 )
3308   ROM_LOAD( "redeartn-simm4.1", 0x00000, 0x200000, CRC(2048e103) SHA1(b21f95b05cd99749bd3f25cc71b2671c2026847b) )
3309   ROM_REGION( 0x200000, "simm4.2", 0 )
3310   ROM_LOAD( "redeartn-simm4.2", 0x00000, 0x200000, CRC(c9433455) SHA1(63a269d76bac332c2e991d0f6a20c35e0e88680a) )
3311   ROM_REGION( 0x200000, "simm4.3", 0 )
3312   ROM_LOAD( "redeartn-simm4.3", 0x00000, 0x200000, CRC(c02171a8) SHA1(2e9228729b27a6113d9f2e42af310a834979f714) )
3313   ROM_REGION( 0x200000, "simm4.4", 0 )
3314   ROM_LOAD( "redeartn-simm4.4", 0x00000, 0x200000, CRC(2ddbf276) SHA1(b232baaa8edc8db18f8a3bdcc2d38fe984a94a34) )
3315   ROM_REGION( 0x200000, "simm4.5", 0 )
3316   ROM_LOAD( "redeartn-simm4.5", 0x00000, 0x200000, CRC(fea820a6) SHA1(55ee8ef95751f5a509fb126513e1b2a70a3414e5) )
3317   ROM_REGION( 0x200000, "simm4.6", 0 )
3318   ROM_LOAD( "redeartn-simm4.6", 0x00000, 0x200000, CRC(c7528df1) SHA1(aa312f80c2d7759d18d1aa8d416cf932b2850824) )
3319   ROM_REGION( 0x200000, "simm4.7", 0 )
3320   ROM_LOAD( "redeartn-simm4.7", 0x00000, 0x200000, CRC(2449cf3b) SHA1(c60d8042136d74e547f668ad787cae529c42eed9) )
3321
3322   ROM_REGION( 0x200000, "simm5.0", 0 )
3323   ROM_LOAD( "redeartn-simm5.0", 0x00000, 0x200000, CRC(424451b9) SHA1(250fb92254c9e7ff5bc8dbeea5872f8a771dc9bd) )
3324   ROM_REGION( 0x200000, "simm5.1", 0 )
3325   ROM_LOAD( "redeartn-simm5.1", 0x00000, 0x200000, CRC(9b8cb56b) SHA1(2ff1081dc99bb7c2f1e036f4c112137c96b83d23) )
28143326ROM_END
28153327
28163328
r9191r9192
29593471
29603472/* todo: use BIOS for the bios roms, having clones only for CD / No CD */
29613473
2962GAME( 1997, sfiii,   0,        cps3, cps3, sfiii,  ROT0,   "Capcom", "Street Fighter III: New Generation (USA, 970204)", GAME_IMPERFECT_GRAPHICS )
2963GAME( 1997, sfiiij,  sfiii,    cps3, cps3, sfiii,  ROT0,   "Capcom", "Street Fighter III: New Generation (Japan, 970204)", GAME_IMPERFECT_GRAPHICS )
3474GAME( 1997, sfiii,   0,        sfiii,   cps3, sfiii,  ROT0,   "Capcom", "Street Fighter III: New Generation (USA, 970204)", GAME_IMPERFECT_GRAPHICS )
3475GAME( 1997, sfiiij,  sfiii,    sfiii,   cps3, sfiii,  ROT0,   "Capcom", "Street Fighter III: New Generation (Japan, 970204)", GAME_IMPERFECT_GRAPHICS )
29643476
2965GAME( 1997, sfiii2,  0,        cps3, cps3, sfiii2, ROT0,   "Capcom", "Street Fighter III 2nd Impact: Giant Attack (USA, 970930)", GAME_IMPERFECT_GRAPHICS )
2966GAME( 1997, sfiii2j, sfiii2,   cps3, cps3, sfiii2, ROT0,   "Capcom", "Street Fighter III 2nd Impact: Giant Attack (Japan, 970930)", GAME_IMPERFECT_GRAPHICS )
3477GAME( 1997, sfiii2,  0,        sfiii2,  cps3, sfiii2, ROT0,   "Capcom", "Street Fighter III 2nd Impact: Giant Attack (USA, 970930)", GAME_IMPERFECT_GRAPHICS )
3478GAME( 1997, sfiii2j, sfiii2,   sfiii2,  cps3, sfiii2, ROT0,   "Capcom", "Street Fighter III 2nd Impact: Giant Attack (Japan, 970930)", GAME_IMPERFECT_GRAPHICS )
29673479
2968GAME( 1999, sfiii3,  0,        cps3, cps3, sfiii3, ROT0,   "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (USA, 990608)", GAME_IMPERFECT_GRAPHICS )
2969GAME( 1999, sfiii3a, sfiii3,   cps3, cps3, sfiii3, ROT0,   "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (USA, 990512)", GAME_IMPERFECT_GRAPHICS )
3480GAME( 1999, sfiii3,  0,        sfiii3,  cps3, sfiii3, ROT0,   "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (USA, 990608)", GAME_IMPERFECT_GRAPHICS )
3481GAME( 1999, sfiii3a, sfiii3,   sfiii3,  cps3, sfiii3, ROT0,   "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (USA, 990512)", GAME_IMPERFECT_GRAPHICS )
29703482
2971GAME( 1998, jojo,    0,        cps3, cps3, jojo, ROT0,   "Capcom", "JoJo's Venture / JoJo no Kimyouna Bouken (Japan, 990108)", GAME_IMPERFECT_GRAPHICS )
2972GAME( 1998, jojoa,   jojo,     cps3, cps3, jojo, ROT0,   "Capcom", "JoJo's Venture / JoJo no Kimyouna Bouken (Japan, 981202)", GAME_IMPERFECT_GRAPHICS )
3483GAME( 1998, jojo,    0,        jojo,    cps3, jojo, ROT0,   "Capcom", "JoJo's Venture / JoJo no Kimyouna Bouken (Japan, 990108)", GAME_IMPERFECT_GRAPHICS )
3484GAME( 1998, jojoa,   jojo,     jojo,    cps3, jojo, ROT0,   "Capcom", "JoJo's Venture / JoJo no Kimyouna Bouken (Japan, 981202)", GAME_IMPERFECT_GRAPHICS )
29733485
2974GAME( 1999, jojoba,  0,        cps3, cps3, jojoba, ROT0,   "Capcom", "JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Japan, 990913)", GAME_IMPERFECT_GRAPHICS )
3486GAME( 1999, jojoba,  0,        jojoba, cps3, jojoba, ROT0,   "Capcom", "JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Japan, 990913)", GAME_IMPERFECT_GRAPHICS )
29753487
2976GAME( 1996, redearth,0,        cps3, cps3, redearth, ROT0,   "Capcom", "Red Earth (Euro, 961121)", GAME_IMPERFECT_GRAPHICS )
2977GAME( 1996, warzard, redearth, cps3, cps3, redearth, ROT0,   "Capcom", "Warzard (Japan, 961121)", GAME_IMPERFECT_GRAPHICS )
3488GAME( 1996, redearth,0,        warzard, cps3, redearth, ROT0,   "Capcom", "Red Earth (Euro, 961121)", GAME_IMPERFECT_GRAPHICS )
3489GAME( 1996, warzard, redearth, warzard, cps3, redearth, ROT0,   "Capcom", "Warzard (Japan, 961121)", GAME_IMPERFECT_GRAPHICS )
29783490
29793491/* NO-CD sets */
29803492
2981GAME( 1997, sfiiin,  sfiii,    cps3, cps3, sfiii, ROT0,   "Capcom", "Street Fighter III: New Generation (Asia, 970204, NO CD)", GAME_IMPERFECT_GRAPHICS )
3493GAME( 1997, sfiiin,  sfiii,    sfiii,  cps3, sfiii, ROT0,   "Capcom", "Street Fighter III: New Generation (Asia, 970204, NO CD)", GAME_IMPERFECT_GRAPHICS )
29823494
2983GAME( 1997, sfiii2n, sfiii2,   cps3, cps3, sfiii2, ROT0,   "Capcom", "Street Fighter III 2nd Impact: Giant Attack (Asia, 970930, NO CD)", GAME_IMPERFECT_GRAPHICS )
3495GAME( 1997, sfiii2n, sfiii2,   sfiii2, cps3, sfiii2, ROT0,   "Capcom", "Street Fighter III 2nd Impact: Giant Attack (Asia, 970930, NO CD)", GAME_IMPERFECT_GRAPHICS )
29843496
2985GAME( 1999, sfiii3n, sfiii3,   cps3, cps3, sfiii3, ROT0,   "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Japan, 990608, NO CD)", GAME_IMPERFECT_GRAPHICS )
2986GAME( 1999, sfiii3an,sfiii3,   cps3, cps3, sfiii3, ROT0,   "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Japan, 990512, NO CD)", GAME_IMPERFECT_GRAPHICS )
3497GAME( 1999, sfiii3n, sfiii3,   sfiii3,  cps3, sfiii3, ROT0,   "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Japan, 990608, NO CD)", GAME_IMPERFECT_GRAPHICS )
3498GAME( 1999, sfiii3an,sfiii3,   sfiii3,  cps3, sfiii3, ROT0,   "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Japan, 990512, NO CD)", GAME_IMPERFECT_GRAPHICS )
29873499
2988GAME( 1998, jojon,   jojo,     cps3, cps3, jojo, ROT0,   "Capcom", "JoJo's Venture / JoJo no Kimyouna Bouken (Asia, 990108, NO CD)", GAME_IMPERFECT_GRAPHICS )
2989GAME( 1998, jojoan,  jojo,     cps3, cps3, jojo, ROT0,   "Capcom", "JoJo's Venture / JoJo no Kimyouna Bouken (Asia, 981202, NO CD)", GAME_IMPERFECT_GRAPHICS )
3500GAME( 1998, jojon,   jojo,     jojo,    cps3, jojo, ROT0,   "Capcom", "JoJo's Venture / JoJo no Kimyouna Bouken (Asia, 990108, NO CD)", GAME_IMPERFECT_GRAPHICS )
3501GAME( 1998, jojoan,  jojo,     jojo,    cps3, jojo, ROT0,   "Capcom", "JoJo's Venture / JoJo no Kimyouna Bouken (Asia, 981202, NO CD)", GAME_IMPERFECT_GRAPHICS )
29903502
2991GAME( 1999, jojoban, jojoba,   cps3, cps3, jojoba, ROT0,   "Capcom", "JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Japan, 990913, NO CD)", GAME_IMPERFECT_GRAPHICS )
2992GAME( 1999, jojobane,jojoba,   cps3, cps3, jojoba, ROT0,   "Capcom", "JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Euro, 990913, NO CD)", GAME_IMPERFECT_GRAPHICS )
3503GAME( 1999, jojoban, jojoba,   jojoba,  cps3, jojoba, ROT0,   "Capcom", "JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Japan, 990913, NO CD)", GAME_IMPERFECT_GRAPHICS )
3504GAME( 1999, jojobane,jojoba,   jojoba,  cps3, jojoba, ROT0,   "Capcom", "JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Euro, 990913, NO CD)", GAME_IMPERFECT_GRAPHICS )
29933505
29943506// We don't have any actual warzard / red earth no cd bios sets, but keep this here anyway
2995GAME( 1996, redeartn,redearth, cps3, cps3, redearth, ROT0,   "Capcom", "Red Earth (961121, NO CD)", GAME_NOT_WORKING )
3507GAME( 1996, redeartn,redearth, warzard, cps3, redearth, ROT0,   "Capcom", "Red Earth (961121, NO CD)", GAME_NOT_WORKING )
src/mame/drivers/glass.c
r9191r9192
9292   AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
9393   AM_RANGE(0x700008, 0x700009) AM_WRITE(glass_blitter_w)                                       /* serial blitter */
9494   AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w)                                 /* OKI6295 bankswitch */
95   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)               /* OKI6295 status register */
95   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)               /* OKI6295 status register */
9696   AM_RANGE(0x70000a, 0x70004b) AM_WRITE(glass_coin_w)                                          /* Coin Counters/Lockout */
9797   AM_RANGE(0xfec000, 0xfeffff) AM_RAM                                                      /* Work RAM (partially shared with DS5002FP) */
9898ADDRESS_MAP_END
r9191r9192
194194      state->blitter_serial_buffer[i] = 0;
195195}
196196
197static MACHINE_DRIVER_START( glass )
197static MACHINE_CONFIG_START( glass, glass_state )
198198
199   /* driver data */
200   MDRV_DRIVER_DATA(glass_state)
201
202199   /* basic machine hardware */
203200   MDRV_CPU_ADD("maincpu", M68000,24000000/2)      /* 12 MHz (M680000 P12) */
204201   MDRV_CPU_PROGRAM_MAP(glass_map)
r9191r9192
226223
227224   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
228225   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
229MACHINE_DRIVER_END
226MACHINE_CONFIG_END
230227
231228ROM_START( glass ) /* Version 1.1 */
232229   ROM_REGION( 0x080000, "maincpu", 0 )   /* 68000 code */
src/mame/drivers/spiders.c
r9191r9192
195195#include "machine/6821pia.h"
196196#include "machine/74123.h"
197197#include "includes/spiders.h"
198#include "machine/nvram.h"
198199
199200
200201#define MAIN_CPU_MASTER_CLOCK   (11200000)
r9191r9192
588589   AM_RANGE(0x0000, 0xbfff) AM_RAM AM_BASE(&spiders_ram)
589590   AM_RANGE(0xc000, 0xc000) AM_DEVWRITE("crtc", mc6845_address_w)
590591   AM_RANGE(0xc001, 0xc001) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
591   AM_RANGE(0xc020, 0xc027) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
592   AM_RANGE(0xc020, 0xc027) AM_RAM AM_SHARE("nvram")
592593   AM_RANGE(0xc044, 0xc047) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
593594   AM_RANGE(0xc048, 0xc04b) AM_DEVREADWRITE("pia2", pia6821_alt_r, pia6821_alt_w)
594595   AM_RANGE(0xc050, 0xc053) AM_DEVREADWRITE("pia3", pia6821_r, pia6821_w)
r9191r9192
705706 *
706707 *************************************/
707708
708static MACHINE_DRIVER_START( spiders )
709static MACHINE_CONFIG_START( spiders, driver_device )
709710
710711   /* basic machine hardware */
711712   MDRV_CPU_ADD("maincpu", M6809, 2800000)
r9191r9192
716717   MDRV_CPU_PROGRAM_MAP(spiders_audio_map)
717718
718719   MDRV_MACHINE_START(spiders)
719   MDRV_NVRAM_HANDLER(generic_0fill)
720   MDRV_NVRAM_ADD_0FILL("nvram")
720721
721722   /* video hardware */
722723   MDRV_VIDEO_UPDATE(spiders)
r9191r9192
737738   MDRV_TTL74123_ADD("ic60", ic60_intf)
738739
739740   /* audio hardware */
740   MDRV_IMPORT_FROM(spiders_audio)
741   MDRV_FRAGMENT_ADD(spiders_audio)
741742
742MACHINE_DRIVER_END
743MACHINE_CONFIG_END
743744
744745
745746
src/mame/drivers/ddz.c
r9191r9192
1212#include "cpu/se3208/se3208.h"
1313#include "video/vrender0.h"
1414#include "machine/ds1302.h"
15#include "machine/nvram.h"
1516#include "sound/vrender0.h"
1617
1718
r9191r9192
5152};
5253
5354
54static MACHINE_DRIVER_START( ddz )
55static MACHINE_CONFIG_START( ddz, driver_device )
5556   MDRV_CPU_ADD("maincpu", SE3208, 43000000)
5657   MDRV_CPU_PROGRAM_MAP(ddz_mem)
5758   MDRV_CPU_VBLANK_INT("screen", ddz_interrupt)
5859
5960   //MDRV_MACHINE_RESET(ddz)
6061
61   //MDRV_NVRAM_HANDLER(generic_0fill)
62   //MDRV_NVRAM_ADD_0FILL("nvram")
6263
6364   MDRV_SCREEN_ADD("screen", RASTER)
6465   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
7980   MDRV_SOUND_CONFIG(vr0_config)
8081   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
8182   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
82MACHINE_DRIVER_END
83MACHINE_CONFIG_END
8384
8485
8586
src/mame/drivers/subsino.c
r9191r9192
760760
761761   AM_RANGE( 0x0d016, 0x0d017 ) AM_DEVWRITE( "ymsnd", ym3812_w )
762762
763   AM_RANGE( 0x0d018, 0x0d018 ) AM_DEVWRITE( "oki", okim6295_w )
763   AM_RANGE( 0x0d018, 0x0d018 ) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
764764
765765   AM_RANGE( 0x0d01b, 0x0d01b ) AM_WRITE( subsino_tiles_offset_w )
766766
r9191r9192
787787
788788   AM_RANGE( 0x09016, 0x09017 ) AM_DEVWRITE( "ymsnd", ym3812_w )
789789
790   AM_RANGE( 0x09018, 0x09018 ) AM_DEVWRITE( "oki", okim6295_w )
790   AM_RANGE( 0x09018, 0x09018 ) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
791791
792792   AM_RANGE( 0x0901b, 0x0901b ) AM_WRITE( subsino_tiles_offset_w )
793793
r9191r9192
819819
820820   AM_RANGE( 0x0900b, 0x0900b ) AM_RAM //protection
821821
822//  AM_RANGE( 0x0900c, 0x0900c ) AM_DEVWRITE( "oki", okim6295_w )
822//  AM_RANGE( 0x0900c, 0x0900c ) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
823823
824824   AM_RANGE( 0x0900e, 0x0900f ) AM_DEVWRITE( "ymsnd", ym2413_w )
825825
r9191r9192
918918//  AM_RANGE( 0x0900c, 0x0900c ) AM_READ_PORT( "INC" )
919919   AM_RANGE( 0x0900c, 0x0900d ) AM_DEVWRITE( "ymsnd", ym2413_w )
920920
921//  AM_RANGE( 0x09018, 0x09018 ) AM_DEVWRITE( "oki", okim6295_w )
921//  AM_RANGE( 0x09018, 0x09018 ) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
922922
923923//  AM_RANGE( 0x0900d, 0x0900d ) AM_WRITE( subsino_tiles_offset_w )
924924
r9191r9192
967967
968968   AM_RANGE( 0x09016, 0x09017 ) AM_DEVWRITE( "ymsnd", ym3812_w )
969969
970//  AM_RANGE( 0x0900c, 0x0900c ) AM_DEVWRITE( "oki", okim6295_w )
970//  AM_RANGE( 0x0900c, 0x0900c ) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
971971
972972   AM_RANGE( 0x0901b, 0x0901b ) AM_WRITE( subsino_tiles_offset_w )
973973
r9191r9192
22172217*                             Machine Drivers                              *
22182218***************************************************************************/
22192219
2220static MACHINE_DRIVER_START( victor21 )
2220static MACHINE_CONFIG_START( victor21, driver_device )
22212221   /* basic machine hardware */
22222222   MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 8)   /* Unknown clock */
22232223   MDRV_CPU_PROGRAM_MAP(victor21_map)
r9191r9192
22472247
22482248   MDRV_OKIM6295_ADD("oki", XTAL_4_433619MHz / 4, OKIM6295_PIN7_HIGH)   /* Clock frequency & pin 7 not verified */
22492249   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2250MACHINE_DRIVER_END
2250MACHINE_CONFIG_END
22512251
22522252/* same but with an additional protection. */
2253static MACHINE_DRIVER_START( victor5 )
2253static MACHINE_CONFIG_DERIVED( victor5, victor21 )
22542254
22552255   /* basic machine hardware */
2256   MDRV_IMPORT_FROM( victor21 )
22572256   MDRV_CPU_MODIFY("maincpu")
22582257   MDRV_CPU_PROGRAM_MAP(victor5_map)
2259MACHINE_DRIVER_END
2258MACHINE_CONFIG_END
22602259
22612260
2262static MACHINE_DRIVER_START( crsbingo )
2261static MACHINE_CONFIG_START( crsbingo, driver_device )
22632262   /* basic machine hardware */
22642263   MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 8)   /* Unknown CPU and clock */
22652264   MDRV_CPU_PROGRAM_MAP(crsbingo_map)
r9191r9192
22862285
22872286   MDRV_SOUND_ADD("ymsnd", YM2413, XTAL_3_579545MHz)   /* Unknown clock */
22882287   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2289MACHINE_DRIVER_END
2288MACHINE_CONFIG_END
22902289
22912290
2292static MACHINE_DRIVER_START( srider )
2291static MACHINE_CONFIG_START( srider, driver_device )
22932292   /* basic machine hardware */
22942293   MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 8)   /* Unknown clock */
22952294   MDRV_CPU_PROGRAM_MAP(srider_map)
r9191r9192
23192318
23202319   MDRV_OKIM6295_ADD("oki", XTAL_4_433619MHz / 4, OKIM6295_PIN7_HIGH)   /* Clock frequency & pin 7 not verified */
23212320   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2322MACHINE_DRIVER_END
2321MACHINE_CONFIG_END
23232322
23242323
2325static MACHINE_DRIVER_START( sharkpy )
2326   MDRV_IMPORT_FROM(srider)
2324static MACHINE_CONFIG_DERIVED( sharkpy, srider )
23272325
23282326   /* basic machine hardware */
23292327   MDRV_CPU_MODIFY("maincpu")
23302328   MDRV_CPU_PROGRAM_MAP(sharkpy_map)
2331MACHINE_DRIVER_END
2329MACHINE_CONFIG_END
23322330
2333static MACHINE_DRIVER_START( tisub )
2331static MACHINE_CONFIG_START( tisub, driver_device )
23342332   /* basic machine hardware */
23352333   MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 8)   /* Unknown CPU and clock */
23362334   MDRV_CPU_PROGRAM_MAP(tisub_map)
r9191r9192
23572355
23582356   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_3_579545MHz)   /* Unknown clock */
23592357   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2360MACHINE_DRIVER_END
2358MACHINE_CONFIG_END
23612359
2362static MACHINE_DRIVER_START( stisub )
2360static MACHINE_CONFIG_START( stisub, driver_device )
23632361   /* basic machine hardware */
23642362   MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 8)   /* Unknown clock */
23652363   MDRV_CPU_PROGRAM_MAP(stisub_map)
r9191r9192
23862384
23872385   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_3_579545MHz)
23882386   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2389MACHINE_DRIVER_END
2387MACHINE_CONFIG_END
23902388
23912389
23922390/***************************************************************************
src/mame/drivers/jchan.c
r9191r9192
655655
656656/* machine driver */
657657
658static MACHINE_DRIVER_START( jchan )
658static MACHINE_CONFIG_START( jchan, driver_device )
659659
660660   MDRV_CPU_ADD("maincpu", M68000, 16000000)
661661   MDRV_CPU_PROGRAM_MAP(jchan_main)
r9191r9192
686686   MDRV_SOUND_CONFIG(ymz280b_intf)
687687   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
688688   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
689MACHINE_DRIVER_END
689MACHINE_CONFIG_END
690690
691691/* rom loading */
692692
src/mame/drivers/mlanding.c
r9191r9192
717717   dsp_HOLD_signal = 0;
718718}
719719
720static MACHINE_DRIVER_START( mlanding )
720static MACHINE_CONFIG_START( mlanding, driver_device )
721721
722722   /* basic machine hardware */
723723   MDRV_CPU_ADD("maincpu", M68000, 12000000 )      /* 12 MHz ??? (guess) */
r9191r9192
770770   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.4)
771771
772772   MDRV_TC0140SYT_ADD("tc0140syt", mlanding_tc0140syt_intf)
773MACHINE_DRIVER_END
773MACHINE_CONFIG_END
774774
775775ROM_START( mlanding )
776776   ROM_REGION( 0x60000, "maincpu", 0 )   /* 68000 */
src/mame/drivers/bankp.c
r9191r9192
267267   state->priority = 0;
268268}
269269
270static MACHINE_DRIVER_START( bankp )
270static MACHINE_CONFIG_START( bankp, bankp_state )
271271
272   /* driver data */
273   MDRV_DRIVER_DATA(bankp_state)
274
275272   /* basic machine hardware */
276273   MDRV_CPU_ADD("maincpu", Z80, BANKP_CPU_CLOCK)
277274   MDRV_CPU_PROGRAM_MAP(bankp_map)
r9191r9192
305302
306303   MDRV_SOUND_ADD("sn3", SN76489, BANKP_SN76496_CLOCK)
307304   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
308MACHINE_DRIVER_END
305MACHINE_CONFIG_END
309306
310307
311308
src/mame/drivers/tankbust.c
r9191r9192
1919#include "emu.h"
2020#include "cpu/z80/z80.h"
2121#include "sound/ay8910.h"
22#include "includes/tankbust.h"
2223
2324
24VIDEO_START( tankbust );
25VIDEO_UPDATE( tankbust );
26
27extern UINT8 *tankbust_txtram;
28extern UINT8 *tankbust_videoram;
29extern UINT8 *tankbust_colorram;
30
31WRITE8_HANDLER( tankbust_background_videoram_w );
32READ8_HANDLER ( tankbust_background_videoram_r );
33WRITE8_HANDLER( tankbust_background_colorram_w );
34READ8_HANDLER ( tankbust_background_colorram_r );
35WRITE8_HANDLER( tankbust_txtram_w );
36READ8_HANDLER ( tankbust_txtram_r );
37
38WRITE8_HANDLER( tankbust_xscroll_w );
39WRITE8_HANDLER( tankbust_yscroll_w );
40
41
4225//port A of ay8910#0
4326static int latch;
4427
r9191r9192
339322}
340323
341324
342static MACHINE_DRIVER_START( tankbust )
325static MACHINE_CONFIG_START( tankbust, driver_device )
343326
344327   /* basic machine hardware */
345328   MDRV_CPU_ADD("maincpu", Z80, 4000000)      /* 4 MHz ? */
r9191r9192
380363
381364   MDRV_SOUND_ADD("ay2", AY8910, 2000000)
382365   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
383MACHINE_DRIVER_END
366MACHINE_CONFIG_END
384367
385368
386369/***************************************************************************
src/mame/drivers/pastelg.c
r9191r9192
2525#include "includes/nb1413m3.h"
2626#include "sound/ay8910.h"
2727#include "sound/dac.h"
28#include "includes/pastelg.h"
29#include "machine/nvram.h"
2830
2931
3032#define SIGNED_DAC   0      // 0:unsigned DAC, 1:signed DAC
r9191r9192
3537#endif
3638
3739
38extern PALETTE_INIT( pastelg );
39extern VIDEO_UPDATE( pastelg );
40extern VIDEO_START( pastelg );
4140
42extern WRITE8_HANDLER( pastelg_clut_w );
43extern WRITE8_HANDLER( pastelg_romsel_w );
44extern WRITE8_HANDLER( threeds_romsel_w );
45extern WRITE8_HANDLER( threeds_output_w );
46extern WRITE8_HANDLER( pastelg_blitter_w );
47extern READ8_HANDLER( threeds_rom_readback_r );
48extern int pastelg_blitter_src_addr_r(void);
49
50
5141static DRIVER_INIT( pastelg )
5242{
5343   nb1413m3_type = NB1413M3_PASTELG;
r9191r9192
6252
6353static ADDRESS_MAP_START( pastelg_map, ADDRESS_SPACE_PROGRAM, 8 )
6454   AM_RANGE(0x0000, 0xbfff) AM_ROM
65   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_BASE(&nb1413m3_nvram) AM_SIZE(&nb1413m3_nvram_size)
55   AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
6656ADDRESS_MAP_END
6757
6858static READ8_HANDLER( pastelg_irq_ack_r )
r9191r9192
401391};
402392
403393
404static MACHINE_DRIVER_START( pastelg )
394static MACHINE_CONFIG_START( pastelg, driver_device )
405395
406396   /* basic machine hardware */
407397   MDRV_CPU_ADD("maincpu", Z80, 19968000/8)   /* 2.496 MHz ? */
r9191r9192
411401   MDRV_CPU_VBLANK_INT("screen", irq0_line_assert)
412402
413403   MDRV_MACHINE_RESET(nb1413m3)
414   MDRV_NVRAM_HANDLER(nb1413m3)
404   MDRV_NVRAM_ADD_0FILL("nvram")
415405
416406   /* video hardware */
417407   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
436426
437427   MDRV_SOUND_ADD("dac", DAC, 0)
438428   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
439MACHINE_DRIVER_END
429MACHINE_CONFIG_END
440430
441431/*
442432
r9191r9192
461451
462452*/
463453
464static MACHINE_DRIVER_START( threeds )
454static MACHINE_CONFIG_START( threeds, driver_device )
465455
466456   /* basic machine hardware */
467457   MDRV_CPU_ADD("maincpu", Z80, 19968000/8)   /* 2.496 MHz ? */
r9191r9192
470460   MDRV_CPU_VBLANK_INT("screen", irq0_line_assert)
471461
472462   MDRV_MACHINE_RESET(nb1413m3)
473   MDRV_NVRAM_HANDLER(nb1413m3)
463   MDRV_NVRAM_ADD_0FILL("nvram")
474464
475465   /* video hardware */
476466   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
495485
496486   MDRV_SOUND_ADD("dac", DAC, 0)
497487   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
498MACHINE_DRIVER_END
488MACHINE_CONFIG_END
499489
500490
501491ROM_START( pastelg )
src/mame/drivers/seattle.c
r9191r9192
191191#include "machine/midwayic.h"
192192#include "machine/smc91c9x.h"
193193#include "video/voodoo.h"
194#include "machine/nvram.h"
194195
195196
196197
198class seattle_state : public driver_device
199{
200public:
201   seattle_state(running_machine &machine, const driver_device_config_base &config)
202      : driver_device(machine, config),
203        m_nvram(*this, "nvram") { }
204
205   required_shared_ptr<UINT32>   m_nvram;
206};
207
208
197209/*************************************
198210 *
199211 *  Debugging constants
r9191r9192
15741586
15751587static WRITE32_HANDLER( cmos_w )
15761588{
1589   seattle_state *state = space->machine->driver_data<seattle_state>();
15771590   if (cmos_write_enabled)
1578      COMBINE_DATA(space->machine->generic.nvram.u32 + offset);
1591      COMBINE_DATA(state->m_nvram + offset);
15791592   cmos_write_enabled = FALSE;
15801593}
15811594
15821595
15831596static READ32_HANDLER( cmos_r )
15841597{
1585   return space->machine->generic.nvram.u32[offset];
1598   seattle_state *state = space->machine->driver_data<seattle_state>();
1599   return state->m_nvram[offset];
15861600}
15871601
15881602
r9191r9192
17341748   AM_RANGE(0x0c000000, 0x0c000fff) AM_READWRITE(galileo_r, galileo_w)
17351749   AM_RANGE(0x13000000, 0x13000003) AM_WRITE(asic_fifo_w)
17361750   AM_RANGE(0x16000000, 0x1600003f) AM_READWRITE(midway_ioasic_r, midway_ioasic_w)
1737   AM_RANGE(0x16100000, 0x1611ffff) AM_READWRITE(cmos_r, cmos_w) AM_BASE_SIZE_GENERIC(nvram)
1751   AM_RANGE(0x16100000, 0x1611ffff) AM_READWRITE(cmos_r, cmos_w) AM_SHARE("nvram")
17381752   AM_RANGE(0x17000000, 0x17000003) AM_READWRITE(cmos_protect_r, cmos_protect_w)
17391753   AM_RANGE(0x17100000, 0x17100003) AM_WRITE(seattle_watchdog_w)
17401754   AM_RANGE(0x17300000, 0x17300003) AM_RAM_WRITE(seattle_interrupt_enable_w) AM_BASE(&interrupt_enable)
r9191r9192
24572471   SYSTEM_CLOCK   /* system clock rate */
24582472};
24592473
2460static MACHINE_DRIVER_START( seattle_common )
2474static MACHINE_CONFIG_START( seattle_common, seattle_state )
24612475
24622476   /* basic machine hardware */
24632477   MDRV_CPU_ADD("maincpu", R5000LE, SYSTEM_CLOCK*3)
r9191r9192
24662480
24672481   MDRV_MACHINE_START(seattle)
24682482   MDRV_MACHINE_RESET(seattle)
2469   MDRV_NVRAM_HANDLER(generic_1fill)
2483   MDRV_NVRAM_ADD_1FILL("nvram")
24702484
24712485   MDRV_IDE_CONTROLLER_ADD("ide", ide_interrupt)
24722486   MDRV_IDE_BUS_MASTER_SPACE("maincpu", PROGRAM)
r9191r9192
24872501   MDRV_VIDEO_UPDATE(seattle)
24882502
24892503   /* sound hardware */
2490MACHINE_DRIVER_END
2504MACHINE_CONFIG_END
24912505
24922506
2493static MACHINE_DRIVER_START( phoenixsa )
2494   MDRV_IMPORT_FROM(seattle_common)
2495   MDRV_IMPORT_FROM(dcs2_audio_2115)
2507static MACHINE_CONFIG_DERIVED( phoenixsa, seattle_common )
2508   MDRV_FRAGMENT_ADD(dcs2_audio_2115)
24962509
24972510   MDRV_CPU_REPLACE("maincpu", R4700LE, SYSTEM_CLOCK*2)
24982511   MDRV_CPU_CONFIG(r5000_config)
24992512   MDRV_CPU_PROGRAM_MAP(seattle_map)
2500MACHINE_DRIVER_END
2513MACHINE_CONFIG_END
25012514
25022515
2503static MACHINE_DRIVER_START( seattle150 )
2504   MDRV_IMPORT_FROM(seattle_common)
2505   MDRV_IMPORT_FROM(dcs2_audio_2115)
2516static MACHINE_CONFIG_DERIVED( seattle150, seattle_common )
2517   MDRV_FRAGMENT_ADD(dcs2_audio_2115)
25062518
25072519   MDRV_CPU_REPLACE("maincpu", R5000LE, SYSTEM_CLOCK*3)
25082520   MDRV_CPU_CONFIG(r5000_config)
25092521   MDRV_CPU_PROGRAM_MAP(seattle_map)
2510MACHINE_DRIVER_END
2522MACHINE_CONFIG_END
25112523
25122524
2513static MACHINE_DRIVER_START( seattle150_widget )
2514   MDRV_IMPORT_FROM(seattle150)
2525static MACHINE_CONFIG_DERIVED( seattle150_widget, seattle150 )
25152526   MDRV_SMC91C94_ADD("ethernet", ethernet_interrupt)
2516MACHINE_DRIVER_END
2527MACHINE_CONFIG_END
25172528
25182529
2519static MACHINE_DRIVER_START( seattle200 )
2520   MDRV_IMPORT_FROM(seattle_common)
2521   MDRV_IMPORT_FROM(dcs2_audio_2115)
2530static MACHINE_CONFIG_DERIVED( seattle200, seattle_common )
2531   MDRV_FRAGMENT_ADD(dcs2_audio_2115)
25222532
25232533   MDRV_CPU_REPLACE("maincpu", R5000LE, SYSTEM_CLOCK*4)
25242534   MDRV_CPU_CONFIG(r5000_config)
25252535   MDRV_CPU_PROGRAM_MAP(seattle_map)
2526MACHINE_DRIVER_END
2536MACHINE_CONFIG_END
25272537
25282538
2529static MACHINE_DRIVER_START( seattle200_widget )
2530   MDRV_IMPORT_FROM(seattle200)
2539static MACHINE_CONFIG_DERIVED( seattle200_widget, seattle200 )
25312540   MDRV_SMC91C94_ADD("ethernet", ethernet_interrupt)
2532MACHINE_DRIVER_END
2541MACHINE_CONFIG_END
25332542
25342543
2535static MACHINE_DRIVER_START( flagstaff )
2536   MDRV_IMPORT_FROM(seattle_common)
2537   MDRV_IMPORT_FROM(cage_seattle)
2544static MACHINE_CONFIG_DERIVED( flagstaff, seattle_common )
2545   MDRV_FRAGMENT_ADD(cage_seattle)
25382546
25392547   MDRV_CPU_REPLACE("maincpu", R5000LE, SYSTEM_CLOCK*4)
25402548   MDRV_CPU_CONFIG(r5000_config)
r9191r9192
25442552
25452553   MDRV_3DFX_VOODOO_MODIFY("voodoo")
25462554   MDRV_3DFX_VOODOO_TMU_MEMORY(1, 4)
2547MACHINE_DRIVER_END
2555MACHINE_CONFIG_END
25482556
25492557
25502558
src/mame/drivers/galastrm.c
r9191r9192
4444#include "sound/es5506.h"
4545#include "includes/taito_f3.h"
4646#include "audio/taito_en.h"
47#include "includes/galastrm.h"
4748
48
49VIDEO_START( galastrm );
50VIDEO_UPDATE( galastrm );
51
5249static UINT16 coin_word, frame_counter=0;
5350static UINT32 *galastrm_ram;
54extern INT16  galastrm_tc0610_ctrl_reg[2][8];
5551
5652/*********************************************************************/
5753
r9191r9192
201197
202198static INPUT_PORTS_START( galastrm )
203199   PORT_START("IN0")
204   PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)   /* Freeze input */
200//  PORT_BIT( 0x00000001, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(1)  /* Freeze input */
205201   PORT_BIT( 0x00000002, IP_ACTIVE_LOW, IPT_UNKNOWN )
206202   PORT_BIT( 0x00000004, IP_ACTIVE_LOW, IPT_UNKNOWN )
207203   PORT_BIT( 0x00000008, IP_ACTIVE_LOW, IPT_UNKNOWN )
r9191r9192
316312   0      /* col_base */
317313};
318314
319static MACHINE_DRIVER_START( galastrm )
315static MACHINE_CONFIG_START( galastrm, driver_device )
320316   /* basic machine hardware */
321317   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)   /* 16 MHz */
322318   MDRV_CPU_PROGRAM_MAP(galastrm_map)
r9191r9192
342338   MDRV_TC0480SCP_ADD("tc0480scp", galastrm_tc0480scp_intf)
343339
344340   /* sound hardware */
345   MDRV_IMPORT_FROM(taito_f3_sound)
346MACHINE_DRIVER_END
341   MDRV_FRAGMENT_ADD(taito_f3_sound)
342MACHINE_CONFIG_END
347343
348344/***************************************************************************/
349345
src/mame/drivers/tetrisp2.c
r9191r9192
382382   AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE(tetrisp2_vram_rot_w) AM_BASE(&tetrisp2_vram_rot   )   // Rotation
383383   AM_RANGE(0x650000, 0x651fff) AM_RAM_WRITE(tetrisp2_vram_rot_w)   // Rotation (mirror)
384384
385   AM_RANGE(0x800000, 0x800003) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )   // Sound
385   AM_RANGE(0x800000, 0x800003) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )   // Sound
386386
387387   AM_RANGE(0x900000, 0x903fff) AM_READWRITE(tetrisp2_nvram_r, tetrisp2_nvram_w) AM_BASE(&tetrisp2_nvram) AM_SIZE(&tetrisp2_nvram_size   )   // NVRAM
388388
r9191r9192
11061106}
11071107
11081108
1109static MACHINE_DRIVER_START( tetrisp2 )
1109static MACHINE_CONFIG_START( tetrisp2, driver_device )
11101110
11111111   /* basic machine hardware */
11121112   MDRV_CPU_ADD("maincpu", M68000, 12000000)
r9191r9192
11361136   MDRV_SOUND_ADD("ymz", YMZ280B, 16934400)
11371137   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
11381138   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1139MACHINE_DRIVER_END
1139MACHINE_CONFIG_END
11401140
11411141
1142static MACHINE_DRIVER_START( nndmseal )
1142static MACHINE_CONFIG_START( nndmseal, driver_device )
11431143
11441144   /* basic machine hardware */
11451145   MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz)
r9191r9192
11671167
11681168   MDRV_OKIM6295_ADD("oki", XTAL_2MHz, OKIM6295_PIN7_HIGH)
11691169   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1170MACHINE_DRIVER_END
1170MACHINE_CONFIG_END
11711171
11721172
1173static MACHINE_DRIVER_START( rockn )
1173static MACHINE_CONFIG_START( rockn, driver_device )
11741174
11751175   /* basic machine hardware */
11761176   MDRV_CPU_ADD("maincpu", M68000, 12000000)
r9191r9192
11991199   MDRV_SOUND_ADD("ymz", YMZ280B, 16934400)
12001200   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
12011201   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1202MACHINE_DRIVER_END
1202MACHINE_CONFIG_END
12031203
12041204
1205static MACHINE_DRIVER_START( rockn2 )
1205static MACHINE_CONFIG_START( rockn2, driver_device )
12061206
12071207   /* basic machine hardware */
12081208   MDRV_CPU_ADD("maincpu", M68000, 12000000)
r9191r9192
12311231   MDRV_SOUND_ADD("ymz", YMZ280B, 16934400)
12321232   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
12331233   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1234MACHINE_DRIVER_END
1234MACHINE_CONFIG_END
12351235
12361236
1237static MACHINE_DRIVER_START( rocknms )
1237static MACHINE_CONFIG_START( rocknms, driver_device )
12381238
12391239   /* basic machine hardware */
12401240   MDRV_CPU_ADD("maincpu", M68000, 12000000)
r9191r9192
12771277   MDRV_SOUND_ADD("ymz", YMZ280B, 16934400)
12781278   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
12791279   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1280MACHINE_DRIVER_END
1280MACHINE_CONFIG_END
12811281
12821282
12831283/***************************************************************************
src/mame/drivers/alpha68k.c
r9191r9192
15431543   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
15441544   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
15451545   PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "SW1:2" )          /* Listed as "Unused" */
1546   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) )      PORT_DIPLOCATION("SW1:3")
1547   PORT_DIPSETTING(    0x04, "2nd Extend" )
1546   PORT_DIPNAME( 0x04, 0x04, "Additional Bonus Life" )      PORT_DIPLOCATION("SW1:3")
1547   PORT_DIPSETTING(    0x04, "2nd Extend ONLY" )
15481548   PORT_DIPSETTING(    0x00, "Every Extend" )
15491549   PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "SW1:4" )          /* Listed as "Unused" */
15501550   PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )         PORT_DIPLOCATION("SW1:5,6")
r9191r9192
19371937
19381938}
19391939
1940static MACHINE_DRIVER_START( sstingry )
1940static MACHINE_CONFIG_START( sstingry, alpha68k_state )
19411941
1942   /* driver data */
1943   MDRV_DRIVER_DATA(alpha68k_state)
1944
19451942   /* basic machine hardware */
19461943   MDRV_CPU_ADD("maincpu", M68000, 6000000) /* 24MHz/4? */
19471944   MDRV_CPU_PROGRAM_MAP(kyros_map)
r9191r9192
19881985   MDRV_SOUND_ADD("dac", DAC, 0)
19891986   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
19901987//ZT
1991MACHINE_DRIVER_END
1988MACHINE_CONFIG_END
19921989
1993static MACHINE_DRIVER_START( kyros )
1990static MACHINE_CONFIG_START( kyros, alpha68k_state )
19941991
1995   /* driver data */
1996   MDRV_DRIVER_DATA(alpha68k_state)
1997
19981992   /* basic machine hardware */
19991993   MDRV_CPU_ADD("maincpu", M68000, 6000000) /* 24MHz/4? */
20001994   MDRV_CPU_PROGRAM_MAP(kyros_map)
r9191r9192
20402034   MDRV_SOUND_ADD("dac", DAC, 0)
20412035   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
20422036//ZT
2043MACHINE_DRIVER_END
2037MACHINE_CONFIG_END
20442038
2045static MACHINE_DRIVER_START( jongbou )
2039static MACHINE_CONFIG_START( jongbou, alpha68k_state )
20462040
2047   /* driver data */
2048   MDRV_DRIVER_DATA(alpha68k_state)
2049
20502041   /* basic machine hardware */
20512042   MDRV_CPU_ADD("maincpu", M68000, 8000000)
20522043   MDRV_CPU_PROGRAM_MAP(kyros_map)
r9191r9192
20792070   MDRV_SOUND_ADD("aysnd", AY8910, 2000000)
20802071   MDRV_SOUND_CONFIG(ay8910_config)
20812072   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.65)
2082MACHINE_DRIVER_END
2073MACHINE_CONFIG_END
20832074
2084static MACHINE_DRIVER_START( alpha68k_I )
2075static MACHINE_CONFIG_START( alpha68k_I, alpha68k_state )
20852076
2086   /* driver data */
2087   MDRV_DRIVER_DATA(alpha68k_state)
2088
20892077   /* basic machine hardware */
20902078   MDRV_CPU_ADD("maincpu", M68000, 6000000) /* 24MHz/4? */
20912079   MDRV_CPU_PROGRAM_MAP(alpha68k_I_map)
r9191r9192
21172105   MDRV_SOUND_ADD("ymsnd", YM3812, 4000000)
21182106   MDRV_SOUND_CONFIG(ym3812_config)
21192107   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2120MACHINE_DRIVER_END
2108MACHINE_CONFIG_END
21212109
2122static MACHINE_DRIVER_START( alpha68k_II )
2110static MACHINE_CONFIG_START( alpha68k_II, alpha68k_state )
21232111
2124   /* driver data */
2125   MDRV_DRIVER_DATA(alpha68k_state)
2126
21272112   /* basic machine hardware */
21282113   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* Correct */
21292114   MDRV_CPU_PROGRAM_MAP(alpha68k_II_map)
r9191r9192
21622147
21632148   MDRV_SOUND_ADD("dac", DAC, 0)
21642149   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
2165MACHINE_DRIVER_END
2150MACHINE_CONFIG_END
21662151
2167static MACHINE_DRIVER_START( btlfieldb )
2168   MDRV_IMPORT_FROM(alpha68k_II)
2152static MACHINE_CONFIG_DERIVED( btlfieldb, alpha68k_II )
21692153   MDRV_CPU_MODIFY("maincpu")
21702154   MDRV_CPU_VBLANK_INT_HACK(alpha68k_interrupt,2)
2171MACHINE_DRIVER_END
2155MACHINE_CONFIG_END
21722156
21732157//AT
2174static MACHINE_DRIVER_START( alpha68k_II_gm )
2158static MACHINE_CONFIG_START( alpha68k_II_gm, alpha68k_state )
21752159
2176   /* driver data */
2177   MDRV_DRIVER_DATA(alpha68k_state)
2178
21792160   /* basic machine hardware */
21802161   MDRV_CPU_ADD("maincpu", M68000, 8000000)
21812162   MDRV_CPU_PROGRAM_MAP(alpha68k_II_map)
r9191r9192
22142195
22152196   MDRV_SOUND_ADD("dac", DAC, 0)
22162197   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
2217MACHINE_DRIVER_END
2198MACHINE_CONFIG_END
22182199//ZT
22192200
2220static MACHINE_DRIVER_START( alpha68k_V )
2201static MACHINE_CONFIG_START( alpha68k_V, alpha68k_state )
22212202
2222   /* driver data */
2223   MDRV_DRIVER_DATA(alpha68k_state)
2224
22252203   /* basic machine hardware */
22262204   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* ? */
22272205   MDRV_CPU_PROGRAM_MAP(alpha68k_V_map)
r9191r9192
22602238
22612239   MDRV_SOUND_ADD("dac", DAC, 0)
22622240   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
2263MACHINE_DRIVER_END
2241MACHINE_CONFIG_END
22642242
2265static MACHINE_DRIVER_START( alpha68k_V_sb )
2243static MACHINE_CONFIG_START( alpha68k_V_sb, alpha68k_state )
22662244
2267   /* driver data */
2268   MDRV_DRIVER_DATA(alpha68k_state)
2269
22702245   /* basic machine hardware */
22712246   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* ? */
22722247   MDRV_CPU_PROGRAM_MAP(alpha68k_V_map)
r9191r9192
23052280
23062281   MDRV_SOUND_ADD("dac", DAC, 0)
23072282   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
2308MACHINE_DRIVER_END
2283MACHINE_CONFIG_END
23092284
2310static MACHINE_DRIVER_START( tnextspc )
2285static MACHINE_CONFIG_START( tnextspc, alpha68k_state )
23112286
2312   /* driver data */
2313   MDRV_DRIVER_DATA(alpha68k_state)
2314
23152287   /* basic machine hardware */
23162288   MDRV_CPU_ADD("maincpu", M68000, 9000000) /* Confirmed 18 MHz/2 */
23172289   MDRV_CPU_PROGRAM_MAP(tnextspc_map)
r9191r9192
23432315   MDRV_SOUND_ADD("ymsnd", YM3812, 4000000)
23442316   MDRV_SOUND_CONFIG(ym3812_config)
23452317   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2346MACHINE_DRIVER_END
2318MACHINE_CONFIG_END
23472319
23482320
23492321/******************************************************************************/
src/mame/drivers/tmaster.c
r9191r9192
108108#include "machine/eeprom.h"
109109#include "machine/microtch.h"
110110#include "machine/68681.h"
111#include "machine/nvram.h"
111112
112113/***************************************************************************
113114
r9191r9192
475476static ADDRESS_MAP_START( tmaster_map, ADDRESS_SPACE_PROGRAM, 16 )
476477   AM_RANGE( 0x000000, 0x1fffff ) AM_ROM
477478   AM_RANGE( 0x200000, 0x27ffff ) AM_RAM
478   AM_RANGE( 0x280000, 0x28ffef ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
479   AM_RANGE( 0x280000, 0x28ffef ) AM_RAM AM_SHARE("nvram")
479480   AM_RANGE( 0x28fff0, 0x28ffff ) AM_READWRITE( rtc_r, rtc_w )
480481
481482   AM_RANGE( 0x300010, 0x300011 ) AM_READ( tmaster_coins_r )
r9191r9192
493494
494495   AM_RANGE( 0x600000, 0x601fff ) AM_RAM_WRITE( paletteram16_xBBBBBGGGGGRRRRR_word_w ) AM_BASE_GENERIC(paletteram)
495496
496   AM_RANGE( 0x800000, 0x800001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
497   AM_RANGE( 0x800000, 0x800001 ) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )
497498
498499   AM_RANGE( 0x800010, 0x800011 ) AM_WRITE( tmaster_color_w )
499500ADDRESS_MAP_END
r9191r9192
712713   AM_RANGE( 0x800020, 0x80003f ) AM_NOP   // ?
713714   AM_RANGE( 0x900000, 0x900001 ) AM_WRITE( watchdog_reset16_w )
714715
715   AM_RANGE( 0xa00000, 0xa00001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
716   AM_RANGE( 0xa00000, 0xa00001 ) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )
716717   AM_RANGE( 0xb00000, 0xb7ffff ) AM_READWRITE( galgames_okiram_r, galgames_okiram_w ) // (only low bytes tested) 4x N341024SJ-15
717718
718719   AM_RANGE( 0xc00000, 0xc00001 ) AM_WRITE( galgames_palette_offset_w )
r9191r9192
870871   NULL
871872};
872873
873static MACHINE_DRIVER_START( tm3k )
874static MACHINE_CONFIG_START( tm3k, driver_device )
874875   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2) /* 12MHz */
875876   MDRV_CPU_PROGRAM_MAP(tmaster_map)
876877   MDRV_CPU_VBLANK_INT_HACK(tm3k_interrupt,2+20) // ??
r9191r9192
880881
881882   MDRV_DUART68681_ADD( "duart68681", XTAL_8_664MHz / 2 /*??*/, tmaster_duart68681_config )
882883
883   MDRV_NVRAM_HANDLER(generic_0fill)
884   MDRV_NVRAM_ADD_0FILL("nvram")
884885
885886   MDRV_SCREEN_ADD("screen", RASTER)
886887   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
898899
899900   MDRV_OKIM6295_ADD("oki", XTAL_32MHz / 16, OKIM6295_PIN7_HIGH)  /* 2MHz; clock frequency & pin 7 not verified */
900901   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
901MACHINE_DRIVER_END
902MACHINE_CONFIG_END
902903
903904
904static MACHINE_DRIVER_START( tm )
905   MDRV_IMPORT_FROM(tm3k)
905static MACHINE_CONFIG_DERIVED( tm, tm3k )
906906
907907   MDRV_OKIM6295_REPLACE("oki", 1122000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
908908   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
909MACHINE_DRIVER_END
909MACHINE_CONFIG_END
910910
911911
912912static INTERRUPT_GEN( galgames_interrupt )
r9191r9192
937937   machine->device("maincpu")->reset();
938938}
939939
940static MACHINE_DRIVER_START( galgames )
940static MACHINE_CONFIG_START( galgames, driver_device )
941941   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2)
942942   MDRV_CPU_PROGRAM_MAP(galgames_map)
943943   MDRV_CPU_VBLANK_INT_HACK(galgames_interrupt, 1+20)   // ??
r9191r9192
969969
970970   MDRV_OKIM6295_ADD("oki", XTAL_24MHz / 8, OKIM6295_PIN7_LOW) // clock frequency & pin 7 not verified
971971   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
972MACHINE_DRIVER_END
972MACHINE_CONFIG_END
973973
974974/*
975975    Each cartridge contains a PIC, that should provide, among other things, the following header:
r9191r9192
977977    4345 5331 3939 3700 0c10 ffb3 3c00 0000       "CES1997"
978978    fffe f2f7 8557 c119 0000 0000 2340 188e
979979*/
980static MACHINE_DRIVER_START( galgame2 )
981   MDRV_IMPORT_FROM(galgames)
980static MACHINE_CONFIG_DERIVED( galgame2, galgames )
982981//  MDRV_CPU_ADD("pic", PIC12C508, XTAL_24MHz / 2)
983MACHINE_DRIVER_END
982MACHINE_CONFIG_END
984983
985984
986985/***************************************************************************
r9191r9192
10501049
10511050Name_Board Location        Version               Use             Checksum
10521051-------------------------------------------------------------------------
1052TM2K_v463.u51              4.63 Game Program & Cpu instructions   2342
1053TM2K_v463.u52              4.63 Game Program & Cpu instructions   4619
1054
10531055TM2K_v402.u51              4.02 Game Program & Cpu instructions   c517
10541056TM2K_v402.u52              4.02 Game Program & Cpu instructions   e82c
10551057
r9191r9192
10601062TM2K_graphic.u37           4.00 Video Images & Graphics           f5cf
10611063TM2K_graphic.u38           4.00 Video Images & Graphics           14c7
10621064TM2K_graphic.u39           4.00 Video Images & Graphics           043e
1063TM2K_sound.u8              1.0  Audio Program & sounds            9307
1065TM2K_graphic.u40           4.62 Video Images & Graphics           14c7
1066TM2K_graphic.u41           4.62 Video Images & Graphics           9334
1067TM2K_sound.u8              1.0  Audio Program & sounds            dbde
10641068
10651069Does not require a security key
10661070
r9191r9192
10681072
10691073ROM_START( tm2k )
10701074   ROM_REGION( 0x200000, "maincpu", 0 ) // 68000 Code
1075   ROM_LOAD16_BYTE( "tm2k_v463.u51", 0x000000, 0x100000, CRC(f73fdb23) SHA1(d0a5e98d5de85fd3f29d1efe6b7aebe9e348c59b) ) /* Ver: 4.63 Standard 9-3-97 */
1076   ROM_LOAD16_BYTE( "tm2k_v463.u52", 0x000001, 0x100000, CRC(79ac719c) SHA1(7717362ea42fc36009e0fed430f07c946553bfd3) ) /* Ver: 4.63 Standard 9-3-97 */
1077
1078   ROM_REGION( 0x600000, "blitter", ROMREGION_ERASE )   // Blitter gfx
1079   ROM_LOAD16_BYTE( "tm2k_graphic.u38", 0x100000, 0x080000, CRC(22bb6cc5) SHA1(fc6cfd4e1e6e1455d648a7b63f2c8e37cdfe86d6) ) /* First 4 graphic roms marked as Rev 4.00 */
1080   ROM_LOAD16_BYTE( "tm2k_graphic.u36", 0x100001, 0x080000, CRC(7f0840ac) SHA1(1c3af419d571579a3f2c561617d55914d28ef22b) )
1081   ROM_LOAD16_BYTE( "tm2k_graphic.u39", 0x300000, 0x080000, CRC(059e1bd8) SHA1(7451c1cfa0d090b0566e353738a1ffba732a8ad2) )
1082   ROM_LOAD16_BYTE( "tm2k_graphic.u37", 0x300001, 0x080000, CRC(4cf65950) SHA1(74d49166da19ecc4b8fc1e8e3f01361dfb645eea) )
1083   ROM_LOAD16_BYTE( "tm2k_graphic.u41", 0x500000, 0x080000, CRC(abac4ad3) SHA1(d3944a39b46f3e67ddb0ff7047685c6c716a393c) ) /* Last 2 graphics roms marked as Rev 4.62 */
1084   ROM_LOAD16_BYTE( "tm2k_graphic.u40", 0x500001, 0x080000, CRC(ca86b9a2) SHA1(bb639af4e0ee48c3231de5f0a0f14de20836216a) )
1085
1086   ROM_REGION( 0x100000, "oki", 0 ) // Samples
1087   ROM_LOAD( "tm2k_sound.u8", 0x40000, 0x040000, CRC(f39ad4cf) SHA1(9bcb9a5dd3636d6541eeb3e737c7253ab0ed4e8d) ) /* Marked as Rev 1.0 */
1088   ROM_CONTINUE(              0xc0000, 0x040000 )
1089ROM_END
1090
1091ROM_START( tm2ka )
1092   ROM_REGION( 0x200000, "maincpu", 0 ) // 68000 Code
10711093   ROM_LOAD16_BYTE( "tm2k_v402.u51", 0x000000, 0x080000, CRC(47269aeb) SHA1(6b7ebfde290f7d21a36a72b00dc6523490581edb) ) /* Ver: 4.02 Standard 5-30-97 */
10721094   ROM_LOAD16_BYTE( "tm2k_v402.u52", 0x000001, 0x080000, CRC(2e3564ac) SHA1(9a71f38841bc17c291cb3f513b18ebe50fc18d9f) ) /* Ver: 4.02 Standard 5-30-97 */
10731095
r9191r9192
10761098   ROM_LOAD16_BYTE( "tm2k_graphic.u36", 0x100001, 0x080000, CRC(7f0840ac) SHA1(1c3af419d571579a3f2c561617d55914d28ef22b) )
10771099   ROM_LOAD16_BYTE( "tm2k_graphic.u39", 0x300000, 0x080000, CRC(059e1bd8) SHA1(7451c1cfa0d090b0566e353738a1ffba732a8ad2) )
10781100   ROM_LOAD16_BYTE( "tm2k_graphic.u37", 0x300001, 0x080000, CRC(4cf65950) SHA1(74d49166da19ecc4b8fc1e8e3f01361dfb645eea) )
1101   /* Sockets U40 & U41 not populated with earlier Touchmaster 2000 sets */
10791102
10801103   ROM_REGION( 0x100000, "oki", 0 ) // Samples
10811104   ROM_LOAD( "tm2k_sound.u8", 0x40000, 0x040000, CRC(f39ad4cf) SHA1(9bcb9a5dd3636d6541eeb3e737c7253ab0ed4e8d) ) /* Marked as Rev 1.0 */
10821105   ROM_CONTINUE(              0xc0000, 0x040000 )
10831106ROM_END
10841107
1085ROM_START( tm2ka )
1108ROM_START( tm2kb )
10861109   ROM_REGION( 0x200000, "maincpu", 0 ) // 68000 Code
10871110   ROM_LOAD16_BYTE( "tm2k_v400.u51", 0x000000, 0x080000, CRC(c110502b) SHA1(e9415ed23b9bb0851548e75c208ebcbe6ac2a708) ) /* Ver: 4.00 Standard 5-16-97 */
10881111   ROM_LOAD16_BYTE( "tm2k_v400.u52", 0x000001, 0x080000, CRC(a17c1d6e) SHA1(5ecb8f27f75469ab9600b3f640eb1acc7a3980e0) ) /* Ver: 4.00 Standard 5-16-97 */
r9191r9192
10921115   ROM_LOAD16_BYTE( "tm2k_graphic.u36", 0x100001, 0x080000, CRC(7f0840ac) SHA1(1c3af419d571579a3f2c561617d55914d28ef22b) )
10931116   ROM_LOAD16_BYTE( "tm2k_graphic.u39", 0x300000, 0x080000, CRC(059e1bd8) SHA1(7451c1cfa0d090b0566e353738a1ffba732a8ad2) )
10941117   ROM_LOAD16_BYTE( "tm2k_graphic.u37", 0x300001, 0x080000, CRC(4cf65950) SHA1(74d49166da19ecc4b8fc1e8e3f01361dfb645eea) )
1118   /* Sockets U40 & U41 not populated with earlier Touchmaster 2000 sets */
10951119
10961120   ROM_REGION( 0x100000, "oki", 0 ) // Samples
10971121   ROM_LOAD( "tm2k_sound.u8", 0x40000, 0x040000, CRC(f39ad4cf) SHA1(9bcb9a5dd3636d6541eeb3e737c7253ab0ed4e8d) ) /* Marked as Rev 1.0 */
r9191r9192
11831207TM4K_v602.u51              6.02 Game Program & Cpu instructions FEA0
11841208TM4K_v602.u52              6.02 Game Program & Cpu instructions 9A71
11851209
1186TM4K_graphic.u36           6.0  Video Images & Graphics         54f1 (same as TM3K)
1210TM4K_v601.u51              6.01 Game Program & Cpu instructions 6FF1
1211TM4K_v601.u52              6.01 Game Program & Cpu instructions 6643
1212
1213TM4K_graphic.u36           6.0  Video Images & Graphics         54F1 (same as TM3K)
11871214TM4K_graphic.u37           6.0  Video Images & Graphics         609E
11881215TM4K_graphic.u38           6.0  Video Images & Graphics         5493 (same as TM3K)
11891216TM4K_graphic.u39           6.0  Video Images & Graphics         CB90
r9191r9192
12291256   ROM_LOAD( "tm4k_sound.u8", 0x00000, 0x100000, CRC(48c3782b) SHA1(bfe105ddbde8bbbd84665dfdd565d6d41926834a) ) /* Mask rom labeled 5341-15746-07 U8 SOUND IMAGE */
12301257ROM_END
12311258
1259ROM_START( tm4kb )
1260   ROM_REGION( 0x200000, "maincpu", 0 ) // 68000 Code
1261   ROM_LOAD16_BYTE( "tm4k_v601.u51", 0x000000, 0x100000, CRC(cdcfd064) SHA1(51f022d25411d119a5f16ff7f09f4bed59b937e1) ) /* TOUCHMASTER 4000 U51 DOMESTIC  6.01 (Standard 3-23-98) */
1262   ROM_LOAD16_BYTE( "tm4k_v601.u52", 0x000001, 0x100000, CRC(e0bf71a9) SHA1(8f5e70dee60cd95aceac4707ff73bdff578a6139) ) /* TOUCHMASTER 4000 U52 DOMESTIC  6.01 (Standard 3-23-98) */
1263
1264   ROM_REGION( 0x600000, "blitter", 0 )   // Blitter gfx
1265   ROM_LOAD16_BYTE( "tm4k_graphic.u38", 0x000000, 0x100000, CRC(a6683899) SHA1(d05024390917cdb1871d030996da8e1eb6460918) ) /* Mask rom labeled 5341-15746-03 U38 VIDEO IMAGE */
1266   ROM_LOAD16_BYTE( "tm4k_graphic.u36", 0x000001, 0x100000, CRC(7bde520d) SHA1(77750b689e2f0d47804042456e54bbd9c28deeac) ) /* Mask rom labeled 5341-15746-01 U36 VIDEO IMAGE */
1267   ROM_LOAD16_BYTE( "tm4k_graphic.u39", 0x200000, 0x100000, CRC(bac88cfb) SHA1(26ed169296b890c5f5b50c418c15299355a6592f) ) /* Mask rom labeled 5341-15746-04 U39 VIDEO IMAGE */
1268   ROM_LOAD16_BYTE( "tm4k_graphic.u37", 0x200001, 0x100000, CRC(bf49fafa) SHA1(b400667bf654dc9cd01a85c8b99670459400fd60) ) /* Mask rom labeled 5341-15746-02 U37 VIDEO IMAGE */
1269   ROM_LOAD16_BYTE( "tm4k_graphic.u41", 0x400000, 0x100000, CRC(e97edb1e) SHA1(75510676cf1692ad03efd4ccd57d25af1cc8ef2a) ) /* Mask rom labeled 5341-15746-06 U41 VIDEO IMAGE */
1270   ROM_LOAD16_BYTE( "tm4k_graphic.u40", 0x400001, 0x100000, CRC(f6771a09) SHA1(74f71d5e910006c83a38170f24aa811c38a3e020) ) /* Mask rom labeled 5341-15746-05 U40 VIDEO IMAGE */
1271
1272   ROM_REGION( 0x100000, "oki", 0 ) // Samples
1273   ROM_LOAD( "tm4k_sound.u8", 0x00000, 0x100000, CRC(48c3782b) SHA1(bfe105ddbde8bbbd84665dfdd565d6d41926834a) ) /* Mask rom labeled 5341-15746-07 U8 SOUND IMAGE */
1274ROM_END
1275
12321276/***************************************************************************
12331277
12341278Touchmaster 5000
r9191r9192
15911635
15921636}
15931637
1638
1639static DRIVER_INIT( tm4kb )
1640{
1641   UINT16 *ROM = (UINT16 *)memory_region( machine, "maincpu" );
1642
1643   // protection
1644   ROM[0x82b7a/2] = 0x4e75;
1645
1646   ROM[0x82b30/2] = 0x601a;
1647   ROM[0x82b70/2] = 0x6002;
1648/*
1649Protection starts:
1650
1651 82B20: addi.w  #$384, D0       0640 0384
1652 82B24: move.w  D0, $207a84.l   33C0 0020 7A84
1653 82B2A: btst    #$7, ($1,A5)    082D 0007 0001
1654 82B30: beq     $83448          671A           <-- First patch goes here
1655
1656*/
1657
1658}
1659
15941660static DRIVER_INIT( tm5k )
15951661{
15961662   UINT16 *ROM = (UINT16 *)memory_region( machine, "maincpu" );
r9191r9192
17941860}
17951861
17961862
1797GAME( 1996, tm,       0,        tm,       tm,       0,        ROT0, "CES Inc., Midway Games Inc.",             "Touchmaster (v3.00 Euro)",            0 )
1798GAME( 1996, tmdo,     tm,       tm,       tm,       0,        ROT0, "CES Inc., Midway Games Inc.",             "Touchmaster (v2.2-01 Standard)",      0 )
1799GAME( 1996, tm2k,     0,        tm3k,     tmaster,  0,        ROT0, "Midway Games Inc.",                       "Touchmaster 2000 (v4.02 Standard)",   0 )
1800GAME( 1996, tm2ka,    tm2k,     tm3k,     tmaster,  0,        ROT0, "Midway Games Inc.",                       "Touchmaster 2000 (v4.00 Standard)",   0 )
1801GAME( 1997, tm3k,     0,        tm3k,     tmaster,  0,        ROT0, "Midway Games Inc.",                       "Touchmaster 3000 (v5.02 Standard)",   0 )
1802GAME( 1997, tm3ka,    tm3k,     tm3k,     tmaster,  0,        ROT0, "Midway Games Inc.",                       "Touchmaster 3000 (v5.01 Standard)",   0 )
1803GAME( 1998, tm4k,     0,        tm3k,     tmaster,  tm4k,     ROT0, "Midway Games Inc.",                       "Touchmaster 4000 (v6.03 Standard)",   0 )
1804GAME( 1998, tm4ka,    tm4k,     tm3k,     tmaster,  tm4ka,    ROT0, "Midway Games Inc.",                       "Touchmaster 4000 (v6.02 Standard)",   0 )
1805GAME( 1998, tm5k,     0,        tm3k,     tmaster,  tm5k,     ROT0, "Midway Games Inc.",                       "Touchmaster 5000 (v7.10 Standard)",   0 )
1806GAME( 1998, tm5kca,   tm5k,     tm3k,     tmaster,  tm5kca,   ROT0, "Midway Games Inc.",                       "Touchmaster 5000 (v7.10 California)", 0 )
1807GAME( 1998, tm5ka,    tm5k,     tm3k,     tmaster,  tm5ka,    ROT0, "Midway Games Inc.",                       "Touchmaster 5000 (v7.01 Standard)",   0 )
1808GAME( 1999, tm7k,     0,        tm3k,     tmaster,  tm7k,     ROT0, "Midway Games Inc.",                       "Touchmaster 7000 (v8.04 Standard)",   0 )
1809GAME( 1999, tm7ka,    tm7k,     tm3k,     tmaster,  tm7ka,    ROT0, "Midway Games Inc.",                       "Touchmaster 7000 (v8.00 Standard)",   0 )
1810GAME( 1999, tm7keval, tm7k,     tm3k,     tmaster,  tm7keval, ROT0, "Midway Games Inc.",                       "Touchmaster 7000 (v8.1X Evaluation)", 0 )
1811GAME( 2000, tm8k,     0,        tm3k,     tmaster,  tm8k,     ROT0, "Midway Games Inc.",                       "Touchmaster 8000 (v9.04 Standard)",   0 )
1812GAME( 2000, tm8k902,  tm8k,     tm3k,     tmaster,  tm8k,     ROT0, "Midway Games Inc.",                       "Touchmaster 8000 (v9.02 Standard)",   0 )
1813GAME( 1998, galgbios, 0,        galgames, galgames, galgames, ROT0, "Creative Electronics & Software",         "Galaxy Games (BIOS v1.90)",           GAME_IS_BIOS_ROOT )
1814GAME( 1998, galgame2, galgbios, galgame2, galgames, galgame2, ROT0, "Creative Electronics & Software / Namco", "Galaxy Games StarPak 2",              0 )
1863GAME( 1996, tm,       0,        tm,       tm,       0,        ROT0, "CES Inc., Midway Games Inc.",             "Touchmaster (v3.00 Euro)",               0 )
1864GAME( 1996, tmdo,     tm,       tm,       tm,       0,        ROT0, "CES Inc., Midway Games Inc.",             "Touchmaster (v2.2-01 Standard)",         0 )
1865GAME( 1996, tm2k,     0,        tm3k,     tmaster,  0,        ROT0, "Midway Games Inc.",                       "Touchmaster 2000 Plus (v4.63 Standard)", 0 )
1866GAME( 1996, tm2ka,    tm2k,     tm3k,     tmaster,  0,        ROT0, "Midway Games Inc.",                       "Touchmaster 2000 (v4.02 Standard)",      0 )
1867GAME( 1996, tm2kb,    tm2k,     tm3k,     tmaster,  0,        ROT0, "Midway Games Inc.",                       "Touchmaster 2000 (v4.00 Standard)",      0 )
1868GAME( 1997, tm3k,     0,        tm3k,     tmaster,  0,        ROT0, "Midway Games Inc.",                       "Touchmaster 3000 (v5.02 Standard)",      0 )
1869GAME( 1997, tm3ka,    tm3k,     tm3k,     tmaster,  0,        ROT0, "Midway Games Inc.",                       "Touchmaster 3000 (v5.01 Standard)",      0 )
1870GAME( 1998, tm4k,     0,        tm3k,     tmaster,  tm4k,     ROT0, "Midway Games Inc.",                       "Touchmaster 4000 (v6.03 Standard)",      0 )
1871GAME( 1998, tm4ka,    tm4k,     tm3k,     tmaster,  tm4ka,    ROT0, "Midway Games Inc.",                       "Touchmaster 4000 (v6.02 Standard)",      0 )
1872GAME( 1998, tm4kb,    tm4k,     tm3k,     tmaster,  tm4kb,    ROT0, "Midway Games Inc.",                       "Touchmaster 4000 (v6.01 Standard)",      0 )
1873GAME( 1998, tm5k,     0,        tm3k,     tmaster,  tm5k,     ROT0, "Midway Games Inc.",                       "Touchmaster 5000 (v7.10 Standard)",      0 )
1874GAME( 1998, tm5kca,   tm5k,     tm3k,     tmaster,  tm5kca,   ROT0, "Midway Games Inc.",                       "Touchmaster 5000 (v7.10 California)",    0 )
1875GAME( 1998, tm5ka,    tm5k,     tm3k,     tmaster,  tm5ka,    ROT0, "Midway Games Inc.",                       "Touchmaster 5000 (v7.01 Standard)",      0 )
1876GAME( 1999, tm7k,     0,        tm3k,     tmaster,  tm7k,     ROT0, "Midway Games Inc.",                       "Touchmaster 7000 (v8.04 Standard)",      0 )
1877GAME( 1999, tm7ka,    tm7k,     tm3k,     tmaster,  tm7ka,    ROT0, "Midway Games Inc.",                       "Touchmaster 7000 (v8.00 Standard)",      0 )
1878GAME( 1999, tm7keval, tm7k,     tm3k,     tmaster,  tm7keval, ROT0, "Midway Games Inc.",                       "Touchmaster 7000 (v8.1X Evaluation)",    0 )
1879GAME( 2000, tm8k,     0,        tm3k,     tmaster,  tm8k,     ROT0, "Midway Games Inc.",                       "Touchmaster 8000 (v9.04 Standard)",      0 )
1880GAME( 2000, tm8k902,  tm8k,     tm3k,     tmaster,  tm8k,     ROT0, "Midway Games Inc.",                       "Touchmaster 8000 (v9.02 Standard)",      0 )
1881GAME( 1998, galgbios, 0,        galgames, galgames, galgames, ROT0, "Creative Electronics & Software",         "Galaxy Games (BIOS v1.90)",              GAME_IS_BIOS_ROOT )
1882GAME( 1998, galgame2, galgbios, galgame2, galgames, galgame2, ROT0, "Creative Electronics & Software / Namco", "Galaxy Games StarPak 2",                 0 )
src/mame/drivers/tcl.c
r9191r9192
112112};
113113
114114
115static MACHINE_DRIVER_START( tcl )
115static MACHINE_CONFIG_START( tcl, driver_device )
116116
117117   /* basic machine hardware */
118118   MDRV_CPU_ADD("maincpu", Z80,12000000/4)
r9191r9192
140140
141141   MDRV_SOUND_ADD("aysnd", AY8910, 12000000/6)
142142   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
143MACHINE_DRIVER_END
143MACHINE_CONFIG_END
144144
145145/***************************************************************************
146146
src/mame/drivers/namcos22.c
r9191r9192
28682868   }
28692869}
28702870
2871static MACHINE_DRIVER_START( namcos22s )
2871static MACHINE_CONFIG_START( namcos22s, driver_device )
28722872   MDRV_CPU_ADD("maincpu", M68EC020,SS22_MASTER_CLOCK/2)
28732873   MDRV_CPU_PROGRAM_MAP(namcos22s_am)
28742874   MDRV_CPU_VBLANK_INT_HACK(namcos22s_interrupt,2)
r9191r9192
29132913   MDRV_SOUND_ROUTE(1, "lspeaker", 1.00)
29142914   MDRV_SOUND_ROUTE(2, "rspeaker", 1.00)
29152915   MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
2916MACHINE_DRIVER_END
2916MACHINE_CONFIG_END
29172917
29182918/*********************************************************************************/
29192919
r9191r9192
32843284   InitDSP(machine, 0);
32853285}
32863286
3287static MACHINE_DRIVER_START( namcos22 )
3287static MACHINE_CONFIG_START( namcos22, driver_device )
32883288   MDRV_CPU_ADD("maincpu", M68020,SS22_MASTER_CLOCK/2) /* 25 MHz? */
32893289   MDRV_CPU_PROGRAM_MAP(namcos22_am)
32903290   MDRV_CPU_VBLANK_INT_HACK(namcos22_interrupt,2)
r9191r9192
33263326   MDRV_SOUND_ROUTE(1, "lspeaker", 1.00)
33273327   MDRV_SOUND_ROUTE(2, "rspeaker", 1.00)
33283328   MDRV_SOUND_ROUTE(3, "lspeaker", 1.00)
3329MACHINE_DRIVER_END
3329MACHINE_CONFIG_END
33303330
33313331/*********************************************************************************/
33323332
src/mame/drivers/flyball.c
r9191r9192
1111
1212
1313
14class flyball_state : public driver_data_t
14class flyball_state : public driver_device
1515{
1616public:
17   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, flyball_state(machine)); }
17   flyball_state(running_machine &machine, const driver_device_config_base &config)
18      : driver_device(machine, config) { }
1819
19   flyball_state(running_machine &machine)
20      : driver_data_t(machine) { }
21
2220   /* memory pointers */
2321   UINT8 *  rombase;
2422   UINT8 *  playfield_ram;
r9191r9192
401399}
402400
403401
404static MACHINE_DRIVER_START( flyball )
402static MACHINE_CONFIG_START( flyball, flyball_state )
405403
406   /* driver data */
407   MDRV_DRIVER_DATA(flyball_state)
408
409404   /* basic machine hardware */
410405   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/16)
411406   MDRV_CPU_PROGRAM_MAP(flyball_map)
r9191r9192
429424   MDRV_VIDEO_START(flyball)
430425
431426   /* sound hardware */
432MACHINE_DRIVER_END
427MACHINE_CONFIG_END
433428
434429
435430/*************************************
src/mame/drivers/galaxold.c
r9191r9192
15081508   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
15091509   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )  PORT_8WAY PORT_COCKTAIL
15101510   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL       /* see notes */
1511   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Coinage ) )
1511   PORT_DIPNAME( 0x40, 0x00, DEF_STR( Bonus_Life ) )
15121512   PORT_DIPSETTING(   0x00, "10000 only" )
15131513   PORT_DIPSETTING(   0x40, "30000 only" )
15141514   PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) )
r9191r9192
21182118};
21192119
21202120
2121static MACHINE_DRIVER_START( galaxold_base )
2121static MACHINE_CONFIG_START( galaxold_base, driver_device )
21222122
21232123   /* basic machine hardware */
21242124   MDRV_CPU_ADD("maincpu", Z80, PIXEL_CLOCK/2)   /* 3.072 MHz */
r9191r9192
21452145
21462146   /* sound hardware */
21472147   MDRV_SPEAKER_STANDARD_MONO("mono")
2148MACHINE_DRIVER_END
2148MACHINE_CONFIG_END
21492149
21502150
2151static MACHINE_DRIVER_START( galaxian )
2151static MACHINE_CONFIG_DERIVED( galaxian, galaxold_base )
21522152
21532153   /* basic machine hardware */
2154   MDRV_IMPORT_FROM(galaxold_base)
21552154
21562155   /* sound hardware */
2157   MDRV_IMPORT_FROM(galaxian_audio)
2158MACHINE_DRIVER_END
2156   MDRV_FRAGMENT_ADD(galaxian_audio)
2157MACHINE_CONFIG_END
21592158
21602159
2161static MACHINE_DRIVER_START( batman2 )
2160static MACHINE_CONFIG_DERIVED( batman2, galaxian )
21622161
21632162   /* basic machine hardware */
2164   MDRV_IMPORT_FROM(galaxian)
21652163
21662164   /* video hardware */
21672165   MDRV_VIDEO_START(batman2)
2168MACHINE_DRIVER_END
2166MACHINE_CONFIG_END
21692167
21702168
2171static MACHINE_DRIVER_START( mooncrst )
2169static MACHINE_CONFIG_DERIVED( mooncrst, galaxian )
21722170
21732171   /* basic machine hardware */
2174   MDRV_IMPORT_FROM(galaxian)
21752172   MDRV_CPU_MODIFY("maincpu")
21762173   MDRV_CPU_PROGRAM_MAP(mooncrst_map)
21772174
21782175   /* video hardware */
21792176   MDRV_VIDEO_START(mooncrst)
2180MACHINE_DRIVER_END
2177MACHINE_CONFIG_END
21812178
21822179
2183static MACHINE_DRIVER_START( scramblb )
2180static MACHINE_CONFIG_DERIVED( scramblb, galaxian )
21842181
21852182   /* basic machine hardware */
2186   MDRV_IMPORT_FROM(galaxian)
21872183   MDRV_CPU_MODIFY("maincpu")
21882184   MDRV_CPU_PROGRAM_MAP(scramblb_map)
21892185
r9191r9192
21922188
21932189   MDRV_PALETTE_INIT(scrambold)
21942190   MDRV_VIDEO_START(scrambold)
2195MACHINE_DRIVER_END
2191MACHINE_CONFIG_END
21962192
2197static MACHINE_DRIVER_START( scramb2 )
2193static MACHINE_CONFIG_DERIVED( scramb2, galaxian )
21982194
21992195   /* basic machine hardware */
2200   MDRV_IMPORT_FROM(galaxian)
22012196   MDRV_CPU_MODIFY("maincpu")
22022197   MDRV_CPU_PROGRAM_MAP(scramb2_map)
22032198
r9191r9192
22062201
22072202   MDRV_PALETTE_INIT(scrambold)
22082203   MDRV_VIDEO_START(scrambold)
2209MACHINE_DRIVER_END
2204MACHINE_CONFIG_END
22102205
22112206
22122207
2213static MACHINE_DRIVER_START( 4in1 )
2208static MACHINE_CONFIG_DERIVED( 4in1, galaxian )
22142209
22152210   /* basic machine hardware */
2216   MDRV_IMPORT_FROM(galaxian)
22172211   MDRV_CPU_MODIFY("maincpu")
22182212   MDRV_CPU_PROGRAM_MAP(_4in1_map)
22192213
r9191r9192
22212215   MDRV_GFXDECODE(_4in1)
22222216
22232217   MDRV_VIDEO_START(pisces)
2224MACHINE_DRIVER_END
2218MACHINE_CONFIG_END
22252219
22262220
2227static MACHINE_DRIVER_START( bagmanmc )
2221static MACHINE_CONFIG_DERIVED( bagmanmc, galaxian )
22282222
22292223   /* basic machine hardware */
2230   MDRV_IMPORT_FROM(galaxian)
22312224   MDRV_CPU_MODIFY("maincpu")
22322225   MDRV_CPU_PROGRAM_MAP(bagmanmc_map)
22332226
r9191r9192
22372230   MDRV_GFXDECODE(bagmanmc)
22382231
22392232   MDRV_VIDEO_START(pisces)
2240MACHINE_DRIVER_END
2233MACHINE_CONFIG_END
22412234
22422235
2243static MACHINE_DRIVER_START( dkongjrm )
2236static MACHINE_CONFIG_DERIVED( dkongjrm, galaxian )
22442237
22452238   /* basic machine hardware */
2246   MDRV_IMPORT_FROM(galaxian)
22472239   MDRV_CPU_MODIFY("maincpu")
22482240   MDRV_CPU_PROGRAM_MAP(dkongjrm_map)
22492241
22502242   /* video hardware */
22512243   MDRV_VIDEO_START(dkongjrm)
2252MACHINE_DRIVER_END
2244MACHINE_CONFIG_END
22532245
2254static MACHINE_DRIVER_START( rockclim )
2246static MACHINE_CONFIG_DERIVED( rockclim, galaxian )
2247
22552248   /* basic machine hardware */
2256   MDRV_IMPORT_FROM(galaxian)
22572249   MDRV_CPU_MODIFY("maincpu")
22582250   MDRV_CPU_PROGRAM_MAP(rockclim_map)
22592251   MDRV_GFXDECODE(rockclim)
r9191r9192
22652257   MDRV_SCREEN_MODIFY("screen")
22662258   MDRV_SCREEN_SIZE(64*8, 32*8)
22672259
2268MACHINE_DRIVER_END
2260MACHINE_CONFIG_END
22692261
2270static MACHINE_DRIVER_START( ozon1 )
2262static MACHINE_CONFIG_DERIVED( ozon1, galaxold_base )
2263
22712264   /* basic machine hardware */
2272   MDRV_IMPORT_FROM(galaxold_base)
22732265   MDRV_CPU_MODIFY("maincpu")
22742266   MDRV_CPU_PROGRAM_MAP(ozon1_map)
22752267   MDRV_CPU_IO_MAP(ozon1_io_map)
r9191r9192
22832275   MDRV_VIDEO_START(galaxold_plain)
22842276   MDRV_SOUND_ADD("aysnd", AY8910, PIXEL_CLOCK/4)
22852277   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
2286MACHINE_DRIVER_END
2278MACHINE_CONFIG_END
22872279
2288static MACHINE_DRIVER_START( drivfrcg )
2280static MACHINE_CONFIG_START( drivfrcg, driver_device )
22892281
22902282   /* basic machine hardware */
22912283   MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/6)
r9191r9192
23122304   /* sound hardware */
23132305   MDRV_SPEAKER_STANDARD_MONO("mono")
23142306
2315   MDRV_IMPORT_FROM(galaxian_audio)
2316MACHINE_DRIVER_END
2307   MDRV_FRAGMENT_ADD(galaxian_audio)
2308MACHINE_CONFIG_END
23172309
2318static MACHINE_DRIVER_START( bongo )
2310static MACHINE_CONFIG_DERIVED( bongo, galaxold_base )
2311
23192312   /* basic machine hardware */
2320   MDRV_IMPORT_FROM(galaxold_base)
23212313   MDRV_CPU_MODIFY("maincpu")
23222314   MDRV_CPU_PROGRAM_MAP(bongo)
23232315   MDRV_CPU_IO_MAP(bongo_io)
r9191r9192
23282320   MDRV_SOUND_ADD("aysnd", AY8910, PIXEL_CLOCK/4)
23292321   MDRV_SOUND_CONFIG(bongo_ay8910_interface)
23302322   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
2331MACHINE_DRIVER_END
2323MACHINE_CONFIG_END
23322324
2333static MACHINE_DRIVER_START( hunchbkg )
2325static MACHINE_CONFIG_DERIVED( hunchbkg, galaxold_base )
23342326
23352327   /* basic machine hardware */
2336   MDRV_IMPORT_FROM(galaxold_base)
23372328   MDRV_CPU_REPLACE("maincpu", S2650, PIXEL_CLOCK / 4)
23382329
23392330   MDRV_CPU_PROGRAM_MAP(hunchbkg)
r9191r9192
23412332
23422333   MDRV_MACHINE_RESET(hunchbkg)
23432334
2344   MDRV_IMPORT_FROM(galaxian_audio)
2345MACHINE_DRIVER_END
2335   MDRV_FRAGMENT_ADD(galaxian_audio)
2336MACHINE_CONFIG_END
23462337
2347static MACHINE_DRIVER_START( harem )
2338static MACHINE_CONFIG_DERIVED( harem, galaxold_base )
2339
23482340   /* basic machine hardware */
2349   MDRV_IMPORT_FROM(galaxold_base)
23502341   MDRV_CPU_MODIFY("maincpu")
23512342   MDRV_CPU_PROGRAM_MAP(harem_cpu1)
23522343   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
r9191r9192
23702361
23712362   MDRV_SOUND_ADD("ay3", AY8910, 2000000) //?
23722363   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33/3)
2373MACHINE_DRIVER_END
2364MACHINE_CONFIG_END
23742365
2375static MACHINE_DRIVER_START( tazzmang )
2366static MACHINE_CONFIG_DERIVED( tazzmang, galaxian )
2367
23762368   /* basic machine hardware */
2377   MDRV_IMPORT_FROM(galaxian)
23782369   MDRV_CPU_MODIFY("maincpu")
23792370   MDRV_CPU_PROGRAM_MAP(tazzmang)
2380MACHINE_DRIVER_END
2371MACHINE_CONFIG_END
23812372
2382static MACHINE_DRIVER_START( racknrol )
2373static MACHINE_CONFIG_START( racknrol, driver_device )
23832374
23842375   /* basic machine hardware */
23852376   MDRV_CPU_ADD("maincpu", S2650, PIXEL_CLOCK/2)
r9191r9192
24082399
24092400   MDRV_SOUND_ADD("sn3", SN76496, PIXEL_CLOCK/2)
24102401   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2411MACHINE_DRIVER_END
2402MACHINE_CONFIG_END
24122403
2413static MACHINE_DRIVER_START( ckongg )
2404static MACHINE_CONFIG_DERIVED( ckongg, galaxian )
24142405
24152406   /* basic machine hardware */
2416   MDRV_IMPORT_FROM(galaxian)
24172407   MDRV_CPU_MODIFY("maincpu")
24182408   MDRV_CPU_PROGRAM_MAP(ckongg_map)
24192409
r9191r9192
24212411
24222412   MDRV_VIDEO_START(ckongs)
24232413
2424MACHINE_DRIVER_END
2414MACHINE_CONFIG_END
24252415
2426static MACHINE_DRIVER_START( ckongmc )
2416static MACHINE_CONFIG_DERIVED( ckongmc, galaxian )
24272417
24282418   /* basic machine hardware */
2429   MDRV_IMPORT_FROM(galaxian)
24302419   MDRV_CPU_MODIFY("maincpu")
24312420   MDRV_CPU_PROGRAM_MAP(ckongmc_map)
24322421
r9191r9192
24342423
24352424   MDRV_VIDEO_START(ckongs)
24362425
2437MACHINE_DRIVER_END
2426MACHINE_CONFIG_END
24382427
24392428
2440static MACHINE_DRIVER_START( hexpoola )
2429static MACHINE_CONFIG_START( hexpoola, driver_device )
24412430
24422431   /* basic machine hardware */
24432432   MDRV_CPU_ADD("maincpu", S2650, PIXEL_CLOCK/2)
r9191r9192
24602449   MDRV_SPEAKER_STANDARD_MONO("mono")
24612450   MDRV_SOUND_ADD("snsnd", SN76496, PIXEL_CLOCK/2)
24622451   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2463MACHINE_DRIVER_END
2452MACHINE_CONFIG_END
24642453
24652454/***************************************************************************
24662455
src/mame/drivers/atarisy1.c
r9191r9192
465465   AM_RANGE(0xa02000, 0xa02fff) AM_RAM_WRITE(atarisy1_spriteram_w) AM_BASE(&atarimo_0_spriteram)
466466   AM_RANGE(0xa03000, 0xa03fff) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(atarisy1_state, alpha)
467467   AM_RANGE(0xb00000, 0xb007ff) AM_RAM_WRITE(paletteram16_IIIIRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
468   AM_RANGE(0xf00000, 0xf00fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(atarisy1_state, eeprom, eeprom_size)
468   AM_RANGE(0xf00000, 0xf00fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
469469   AM_RANGE(0xf20000, 0xf20007) AM_READ(trakball_r)
470470   AM_RANGE(0xf40000, 0xf4001f) AM_READWRITE(joystick_r, joystick_w)
471471   AM_RANGE(0xf60000, 0xf60003) AM_READ(port4_r)
r9191r9192
484484
485485static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
486486   AM_RANGE(0x0000, 0x0fff) AM_RAM
487   AM_RANGE(0x1000, 0x100f) AM_DEVREADWRITE("via6522_0", via_r, via_w)
487   AM_RANGE(0x1000, 0x100f) AM_DEVREADWRITE_MODERN("via6522_0", via6522_device, read, write)
488488   AM_RANGE(0x1800, 0x1801) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
489489   AM_RANGE(0x1810, 0x1810) AM_READWRITE(atarigen_6502_sound_r, atarigen_6502_sound_w)
490490   AM_RANGE(0x1820, 0x1820) AM_READ(switch_6502_r)
r9191r9192
740740 *
741741 *************************************/
742742
743static MACHINE_DRIVER_START( atarisy1 )
744   MDRV_DRIVER_DATA(atarisy1_state)
743static MACHINE_CONFIG_START( atarisy1, atarisy1_state )
745744
746745   /* basic machine hardware */
747746   MDRV_CPU_ADD("maincpu", M68010, ATARI_CLOCK_14MHz/2)
r9191r9192
753752
754753   MDRV_MACHINE_START(atarisy1)
755754   MDRV_MACHINE_RESET(atarisy1)
756   MDRV_NVRAM_HANDLER(atarigen)
755   MDRV_NVRAM_ADD_1FILL("eeprom")
757756
758757   MDRV_TIMER_ADD("joystick_timer", delayed_joystick_int)
759758   MDRV_TIMER_ADD("scan_timer", atarisy1_int3_callback)
r9191r9192
792791
793792   /* via */
794793   MDRV_VIA6522_ADD("via6522_0", 0, via_interface)
795MACHINE_DRIVER_END
794MACHINE_CONFIG_END
796795
797796
798797
src/mame/drivers/sprint8.c
r9191r9192
452452GFXDECODE_END
453453
454454
455static MACHINE_DRIVER_START( sprint8 )
455static MACHINE_CONFIG_START( sprint8, driver_device )
456456
457457   /* basic machine hardware */
458458   MDRV_CPU_ADD("maincpu", M6800, 11055000 / 11) /* ? */
r9191r9192
495495   MDRV_SOUND_ROUTE(1, "speaker_3_7", 0.0)
496496   MDRV_SOUND_ROUTE(2, "speaker_5_6", 0.0)
497497   MDRV_SOUND_ROUTE(3, "speaker_4_8", 0.0)
498MACHINE_DRIVER_END
498MACHINE_CONFIG_END
499499
500500
501501ROM_START( sprint8 )
src/mame/drivers/pturn.c
r9191r9192
7979#include "deprecat.h"
8080#include "sound/ay8910.h"
8181
82
83class pturn_state : public driver_device
84{
85public:
86   pturn_state(running_machine &machine, const driver_device_config_base &config)
87      : driver_device(machine, config) { }
88
89   UINT8 *videoram;
90};
91
92
8293static tilemap_t *pturn_fgmap,*pturn_bgmap;
8394static int bgbank=0;
8495static int fgbank=0;
r9191r9192
97108
98109static TILE_GET_INFO( get_pturn_tile_info )
99110{
111   pturn_state *state = machine->driver_data<pturn_state>();
112   UINT8 *videoram = state->videoram;
100113   int tileno;
101   tileno = machine->generic.videoram.u8[tile_index];
114   tileno = videoram[tile_index];
102115
103116   tileno=tile_lookup[tileno>>4]|(tileno&0xf)|(fgbank<<8);
104117
r9191r9192
184197
185198static WRITE8_HANDLER( pturn_videoram_w )
186199{
187   space->machine->generic.videoram.u8[offset]=data;
200   pturn_state *state = space->machine->driver_data<pturn_state>();
201   UINT8 *videoram = state->videoram;
202   videoram[offset]=data;
188203   tilemap_mark_tile_dirty(pturn_fgmap,offset);
189204}
190205
r9191r9192
280295
281296   AM_RANGE(0xdfe0, 0xdfe0) AM_NOP
282297
283   AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(pturn_videoram_w) AM_BASE_GENERIC(videoram)
298   AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(pturn_videoram_w) AM_BASE_MEMBER(pturn_state, videoram)
284299   AM_RANGE(0xe400, 0xe400) AM_WRITE(fgpalette_w)
285300   AM_RANGE(0xe800, 0xe800) AM_WRITE(sound_w)
286301
r9191r9192
444459   soundlatch_clear_w(space,0,0);
445460}
446461
447static MACHINE_DRIVER_START( pturn )
462static MACHINE_CONFIG_START( pturn, pturn_state )
448463   MDRV_CPU_ADD("maincpu", Z80, 12000000/3)
449464   MDRV_CPU_PROGRAM_MAP(main_map)
450465   MDRV_CPU_VBLANK_INT("screen", pturn_main_intgen)
r9191r9192
478493
479494   MDRV_SOUND_ADD("ay2", AY8910, 2000000)
480495   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
481MACHINE_DRIVER_END
496MACHINE_CONFIG_END
482497
483498
484499ROM_START( pturn )
src/mame/drivers/gumbo.c
r9191r9192
5252   AM_RANGE(0x1b0000, 0x1b03ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
5353   AM_RANGE(0x1c0100, 0x1c0101) AM_READ_PORT("P1_P2")
5454   AM_RANGE(0x1c0200, 0x1c0201) AM_READ_PORT("DSW")
55   AM_RANGE(0x1c0300, 0x1c0301) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
55   AM_RANGE(0x1c0300, 0x1c0301) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
5656   AM_RANGE(0x1e0000, 0x1e0fff) AM_RAM_WRITE(gumbo_bg_videoram_w) AM_BASE_MEMBER(gumbo_state, bg_videoram) // bg tilemap
5757   AM_RANGE(0x1f0000, 0x1f3fff) AM_RAM_WRITE(gumbo_fg_videoram_w) AM_BASE_MEMBER(gumbo_state, fg_videoram) // fg tilemap
5858ADDRESS_MAP_END
r9191r9192
6666   AM_RANGE(0x1a0000, 0x1a03ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
6767   AM_RANGE(0x1b0100, 0x1b0101) AM_READ_PORT("P1_P2")
6868   AM_RANGE(0x1b0200, 0x1b0201) AM_READ_PORT("DSW")
69   AM_RANGE(0x1b0300, 0x1b0301) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
69   AM_RANGE(0x1b0300, 0x1b0301) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
7070   AM_RANGE(0x1c0000, 0x1c1fff) AM_RAM_WRITE(gumbo_bg_videoram_w) AM_BASE_MEMBER(gumbo_state, bg_videoram) // bg tilemap
7171ADDRESS_MAP_END
7272
r9191r9192
7676   AM_RANGE(0x1b0000, 0x1b03ff) AM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
7777   AM_RANGE(0x1c0100, 0x1c0101) AM_READ_PORT("P1_P2")
7878   AM_RANGE(0x1c0200, 0x1c0201) AM_READ_PORT("DSW")
79   AM_RANGE(0x1c0300, 0x1c0301) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
79   AM_RANGE(0x1c0300, 0x1c0301) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
8080   AM_RANGE(0x1e0000, 0x1e3fff) AM_RAM_WRITE(gumbo_fg_videoram_w) AM_BASE_MEMBER(gumbo_state, fg_videoram) // fg tilemap
8181   AM_RANGE(0x1f0000, 0x1f0fff) AM_RAM_WRITE(gumbo_bg_videoram_w) AM_BASE_MEMBER(gumbo_state, bg_videoram) // bg tilemap
8282ADDRESS_MAP_END
r9191r9192
227227GFXDECODE_END
228228
229229
230static MACHINE_DRIVER_START( gumbo )
231   MDRV_DRIVER_DATA(gumbo_state)
230static MACHINE_CONFIG_START( gumbo, gumbo_state )
232231
233232   MDRV_CPU_ADD("maincpu", M68000, 14318180 /2)    // or 10mhz? ?
234233   MDRV_CPU_PROGRAM_MAP(gumbo_map)
r9191r9192
253252   MDRV_OKIM6295_ADD("oki", 1122000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
254253   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47)
255254   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47)
256MACHINE_DRIVER_END
255MACHINE_CONFIG_END
257256
258static MACHINE_DRIVER_START( mspuzzle )
259   MDRV_IMPORT_FROM(gumbo)
257static MACHINE_CONFIG_DERIVED( mspuzzle, gumbo )
260258
261259   MDRV_CPU_MODIFY("maincpu")
262260   MDRV_CPU_PROGRAM_MAP(mspuzzle_map)
263MACHINE_DRIVER_END
261MACHINE_CONFIG_END
264262
265static MACHINE_DRIVER_START( dblpoint )
266   MDRV_IMPORT_FROM(gumbo)
263static MACHINE_CONFIG_DERIVED( dblpoint, gumbo )
267264
268265   MDRV_CPU_MODIFY("maincpu")
269266   MDRV_CPU_PROGRAM_MAP(dblpoint_map)
270MACHINE_DRIVER_END
267MACHINE_CONFIG_END
271268
272269ROM_START( gumbo )
273270   ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 Code */
src/mame/drivers/dec0.c
r9191r9192
398398   AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_w)
399399   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_w)
400400   AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
401   AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
401   AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
402402   AM_RANGE(0x8000, 0xffff) AM_ROM
403403ADDRESS_MAP_END
404404
r9191r9192
408408   AM_RANGE(0x090000, 0x090001) AM_DEVWRITE("ym2", ym3812_w)
409409   AM_RANGE(0x0a0000, 0x0a0001) AM_READNOP /* Protection counter */
410410   AM_RANGE(0x0b0000, 0x0b0001) AM_DEVWRITE("ym1", ym2203_w)
411   AM_RANGE(0x0e0000, 0x0e0001) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
411   AM_RANGE(0x0e0000, 0x0e0001) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
412412   AM_RANGE(0x0f0000, 0x0f0001) AM_READ(soundlatch_r)
413413   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
414414   AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE(h6280_irq_status_w)
r9191r9192
418418   AM_RANGE(0x000000, 0x00ffff) AM_ROM
419419   AM_RANGE(0x108000, 0x108001) AM_DEVWRITE("ym2", ym3812_w)
420420   AM_RANGE(0x118000, 0x118001) AM_DEVWRITE("ym1", ym2203_w)
421   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
421   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
422422   AM_RANGE(0x138000, 0x138001) AM_READ(soundlatch_r)
423423   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
424424   AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE(h6280_irq_status_w)
r9191r9192
11421142};
11431143
11441144
1145static MACHINE_DRIVER_START( automat )
1145static MACHINE_CONFIG_START( automat, driver_device )
11461146
11471147   /* basic machine hardware */
11481148   MDRV_CPU_ADD("maincpu", M68000, 10000000)
r9191r9192
11831183   MDRV_SOUND_ADD("msm", MSM5205, 384000/2)
11841184   MDRV_SOUND_CONFIG(msm5205_config)
11851185   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1186MACHINE_DRIVER_END
1186MACHINE_CONFIG_END
11871187
11881188
1189static MACHINE_DRIVER_START( hbarrel )
1189static MACHINE_CONFIG_START( hbarrel, driver_device )
11901190
11911191   /* basic machine hardware */
11921192   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
r9191r9192
12281228
12291229   MDRV_OKIM6295_ADD("oki", XTAL_20MHz / 2 / 10, OKIM6295_PIN7_HIGH)
12301230   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1231MACHINE_DRIVER_END
1231MACHINE_CONFIG_END
12321232
1233static MACHINE_DRIVER_START( baddudes )
1233static MACHINE_CONFIG_START( baddudes, driver_device )
12341234
12351235   /* basic machine hardware */
12361236   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
r9191r9192
12691269
12701270   MDRV_OKIM6295_ADD("oki", XTAL_20MHz / 2 / 10, OKIM6295_PIN7_HIGH)
12711271   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1272MACHINE_DRIVER_END
1272MACHINE_CONFIG_END
12731273
1274static MACHINE_DRIVER_START( birdtry )
1274static MACHINE_CONFIG_START( birdtry, driver_device )
12751275
12761276   /* basic machine hardware */
12771277   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
r9191r9192
13101310
13111311   MDRV_OKIM6295_ADD("oki", XTAL_20MHz / 2 / 10, OKIM6295_PIN7_HIGH)
13121312   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1313MACHINE_DRIVER_END
1313MACHINE_CONFIG_END
13141314
1315static MACHINE_DRIVER_START( robocop )
1315static MACHINE_CONFIG_START( robocop, driver_device )
13161316
13171317   /* basic machine hardware */
13181318   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
r9191r9192
13561356
13571357   MDRV_OKIM6295_ADD("oki", XTAL_20MHz / 2 / 10, OKIM6295_PIN7_HIGH)
13581358   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1359MACHINE_DRIVER_END
1359MACHINE_CONFIG_END
13601360
1361static MACHINE_DRIVER_START( robocopb )
1361static MACHINE_CONFIG_START( robocopb, driver_device )
13621362
13631363   /* basic machine hardware */
13641364   MDRV_CPU_ADD("maincpu", M68000, 10000000)
r9191r9192
13971397
13981398   MDRV_OKIM6295_ADD("oki", 1023924, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
13991399   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1400MACHINE_DRIVER_END
1400MACHINE_CONFIG_END
14011401
1402static MACHINE_DRIVER_START( hippodrm )
1402static MACHINE_CONFIG_START( hippodrm, driver_device )
14031403
14041404   /* basic machine hardware */
14051405   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
r9191r9192
14431443
14441444   MDRV_OKIM6295_ADD("oki", XTAL_20MHz / 2 / 10, OKIM6295_PIN7_HIGH)
14451445   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1446MACHINE_DRIVER_END
1446MACHINE_CONFIG_END
14471447
1448static MACHINE_DRIVER_START( slyspy )
1448static MACHINE_CONFIG_START( slyspy, driver_device )
14491449
14501450   /* basic machine hardware */
14511451   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz */
r9191r9192
14841484
14851485   MDRV_OKIM6295_ADD("oki", XTAL_12MHz/12, OKIM6295_PIN7_HIGH) /* verified on pcb */
14861486   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1487MACHINE_DRIVER_END
1487MACHINE_CONFIG_END
14881488
1489static MACHINE_DRIVER_START( secretab )
1489static MACHINE_CONFIG_START( secretab, driver_device )
14901490
14911491   /* basic machine hardware */
14921492   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz */
r9191r9192
15261526
15271527   MDRV_OKIM6295_ADD("oki", XTAL_12MHz/12, OKIM6295_PIN7_HIGH) /* verified on pcb */
15281528   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1529MACHINE_DRIVER_END
1529MACHINE_CONFIG_END
15301530
1531static MACHINE_DRIVER_START( midres )
1531static MACHINE_CONFIG_START( midres, driver_device )
15321532
15331533   /* basic machine hardware */
15341534   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz */
r9191r9192
15671567
15681568   MDRV_OKIM6295_ADD("oki", XTAL_1MHz, OKIM6295_PIN7_HIGH) /* verified on pcb (1mhz crystal) */
15691569   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.40)
1570MACHINE_DRIVER_END
1570MACHINE_CONFIG_END
15711571
1572static MACHINE_DRIVER_START( midresb )
1573   MDRV_IMPORT_FROM(midres)
1572static MACHINE_CONFIG_DERIVED( midresb, midres )
15741573
15751574   MDRV_CPU_REPLACE("audiocpu", M6502, 1500000 )
15761575   MDRV_CPU_PROGRAM_MAP(dec0_s_map)
r9191r9192
15781577   MDRV_SOUND_MODIFY("ym2")
15791578   MDRV_SOUND_CONFIG(ym3812_config)
15801579   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1581MACHINE_DRIVER_END
1580MACHINE_CONFIG_END
15821581
15831582/******************************************************************************/
15841583
src/mame/drivers/ssv.c
r9191r9192
26392639
26402640***************************************************************************/
26412641
2642static void init_ssv(running_machine *machine, int sprites_offsx, int sprites_offsy, int tilemap_offsx, int tilemap_offsy, int interrupt_ultrax)
2642static void init_ssv(running_machine *machine, int interrupt_ultrax)
26432643{
26442644   ssv_state *state = machine->driver_data<ssv_state>();
26452645   int i;
r9191r9192
26502650                        ( (i & 1) ? (8 << 16) : 0 ) ;
26512651   ssv_enable_video(machine, 1);
26522652   state->interrupt_ultrax = interrupt_ultrax;
2653
2654   state->sprites_offsx = sprites_offsx;
2655   state->sprites_offsy = sprites_offsy;
2656   state->tilemap_offsx = tilemap_offsx;
2657   state->tilemap_offsy = tilemap_offsy;
26582653}
26592654
26602655static void init_hypreac2(running_machine *machine)
r9191r9192
26662661      state->tile_code[i]   =   (i << 16);
26672662}
26682663
2669
2670static DRIVER_INIT( drifto94 )      {   init_ssv(machine, -8, +0xf0, +0, -0xf0, 0);   }
2671static DRIVER_INIT( eaglshot )      {   init_ssv(machine, -8, +0xf0, +0, -0xef, 0); init_hypreac2(machine);   }
2672static DRIVER_INIT( gdfs )         {   init_ssv(machine, -8, +0x01, +0, +0x00, 0);   }
2673static DRIVER_INIT( hypreact )      {   init_ssv(machine, +0, +0xf0, +0, -0xf7, 0);   }
2674static DRIVER_INIT( hypreac2 )      {   init_ssv(machine, +0, +0xf0, +0, -0xf8, 0); init_hypreac2(machine);   }
2675static DRIVER_INIT( janjans1 )      {   init_ssv(machine, +0, +0xe8, +0, -0xf0, 0);   }
2676static DRIVER_INIT( keithlcy )      {   init_ssv(machine, -8, +0xf1, +0, -0xf0, 0);   }
2677static DRIVER_INIT( meosism )      {   init_ssv(machine, +0, +0xe8, +0, -0xef, 0);   }
2678static DRIVER_INIT( mslider )      {   init_ssv(machine, -16,+0xf0, +8, -0xf1, 0);   }
2679static DRIVER_INIT( ryorioh )      {   init_ssv(machine, +0, +0xe8, +0, -0xf0, 0);   }
2680static DRIVER_INIT( srmp4 )         {   init_ssv(machine, -8, +0xf0, +0, -0xf0, 0);
2664static DRIVER_INIT( drifto94 )      {   init_ssv(machine, 0);   }
2665static DRIVER_INIT( eaglshot )      {   init_ssv(machine, 0); init_hypreac2(machine);   }
2666static DRIVER_INIT( gdfs )         {   init_ssv(machine, 0);   }
2667static DRIVER_INIT( hypreact )      {   init_ssv(machine, 0);   }
2668static DRIVER_INIT( hypreac2 )      {   init_ssv(machine, 0); init_hypreac2(machine);   }
2669static DRIVER_INIT( janjans1 )      {   init_ssv(machine, 0);   }
2670static DRIVER_INIT( keithlcy )      {   init_ssv(machine, 0);   }
2671static DRIVER_INIT( meosism )         {   init_ssv(machine, 0);   }
2672static DRIVER_INIT( mslider )         {   init_ssv(machine, 0);   }
2673static DRIVER_INIT( ryorioh )         {   init_ssv(machine, 0);   }
2674static DRIVER_INIT( srmp4 )         {   init_ssv(machine, 0);
26812675//  ((UINT16 *)memory_region(machine, "user1"))[0x2b38/2] = 0x037a;   /* patch to see gal test mode */
26822676}
2683static DRIVER_INIT( srmp7 )      {   init_ssv(machine, +0, -0x0f, +0, -0xf0, 0);   }
2684static DRIVER_INIT( stmblade )      {   init_ssv(machine, -8, +0xef, +0, -0xf0, 0);   }
2685static DRIVER_INIT( survarts )      {   init_ssv(machine, +0, +0xe8, +0, -0xef, 0);   }
2686static DRIVER_INIT( dynagear )      {   init_ssv(machine, -8, +0xec, +0, -0xef, 0);   }
2687static DRIVER_INIT( sxyreact )      {   init_ssv(machine, +0, +0xe8, +0, -0xef, 0); init_hypreac2(machine);   }   // different
2688static DRIVER_INIT( sxyreac2 )      {   init_ssv(machine, +0, +0xe8, +0, -0xef, 0); init_hypreac2(machine);   }
2689static DRIVER_INIT( twineag2 )      {   init_ssv(machine, -6, +0x01, -2, +0x00, 1);   }
2690static DRIVER_INIT( ultrax )      {   init_ssv(machine, -8, +0x01, +0, +0x00, 1);   }
2691static DRIVER_INIT( vasara )      {   init_ssv(machine, +0, +0xf0, +0, -0xf8, 0);   }
2692static DRIVER_INIT( jsk )         {   init_ssv(machine, -8, +0xf5, +0, -0xf4, 0);   }
2677static DRIVER_INIT( srmp7 )         {   init_ssv(machine, 0);   }
2678static DRIVER_INIT( stmblade )      {   init_ssv(machine, 0);   }
2679static DRIVER_INIT( survarts )      {   init_ssv(machine, 0);   }
2680static DRIVER_INIT( dynagear )      {   init_ssv(machine, 0);   }
2681static DRIVER_INIT( sxyreact )      {   init_ssv(machine, 0); init_hypreac2(machine);   }
2682static DRIVER_INIT( cairblad )      {   init_ssv(machine, 0); init_hypreac2(machine);   }
2683static DRIVER_INIT( sxyreac2 )      {   init_ssv(machine, 0); init_hypreac2(machine);   }
2684static DRIVER_INIT( twineag2 )      {   init_ssv(machine, 1);   }
2685static DRIVER_INIT( ultrax )         {   init_ssv(machine, 1);   }
2686static DRIVER_INIT( vasara )         {   init_ssv(machine, 0);   }
2687static DRIVER_INIT( jsk )         {   init_ssv(machine, 0);   }
26932688
26942689
2695static MACHINE_DRIVER_START( ssv )
2690static MACHINE_CONFIG_START( ssv, ssv_state )
26962691
2697   MDRV_DRIVER_DATA( ssv_state )
2698
26992692   /* basic machine hardware */
27002693   MDRV_CPU_ADD("maincpu", V60, 16000000) /* Based on STA-0001 & STA-0001B System boards */
27012694   MDRV_CPU_VBLANK_INT_HACK(ssv_interrupt,2)   /* Vblank */
r9191r9192
27062699   MDRV_SCREEN_ADD("screen", RASTER)
27072700   MDRV_SCREEN_REFRESH_RATE(60)
27082701   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
2709   MDRV_SCREEN_SIZE(0x180, 0x100)
2702   MDRV_SCREEN_SIZE(0x1c6, 0x106)
27102703   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
27112704
27122705   MDRV_GFXDECODE(ssv)
r9191r9192
27212714   MDRV_SOUND_CONFIG(es5506_config)
27222715   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
27232716   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2724MACHINE_DRIVER_END
2717MACHINE_CONFIG_END
27252718
27262719
2727static MACHINE_DRIVER_START( drifto94 )
2720static MACHINE_CONFIG_DERIVED( drifto94, ssv )
27282721
27292722   /* basic machine hardware */
2730   MDRV_IMPORT_FROM(ssv)
27312723   MDRV_CPU_MODIFY("maincpu")
27322724   MDRV_CPU_PROGRAM_MAP(drifto94_map)
27332725
r9191r9192
27352727
27362728   /* video hardware */
27372729   MDRV_SCREEN_MODIFY("screen")
2738   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 4, 0xf0-1)
2739MACHINE_DRIVER_END
2730   MDRV_SCREEN_VISIBLE_AREA(0, (0xcd-0x25)*2-1, 0, (0x101-0x13)-1)
2731MACHINE_CONFIG_END
27402732
27412733
2742static MACHINE_DRIVER_START( gdfs )
2734static MACHINE_CONFIG_DERIVED( gdfs, ssv )
27432735
27442736   /* basic machine hardware */
2745   MDRV_IMPORT_FROM(ssv)
27462737   MDRV_CPU_MODIFY("maincpu")
27472738   MDRV_CPU_PROGRAM_MAP(gdfs_map)
27482739   MDRV_CPU_VBLANK_INT_HACK(gdfs_interrupt,1+4)
r9191r9192
27512742
27522743   /* video hardware */
27532744   MDRV_SCREEN_MODIFY("screen")
2754   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
2745   MDRV_SCREEN_VISIBLE_AREA(0, (0xd5-0x2c)*2-1, 0, (0x102-0x12)-1)
27552746
27562747   MDRV_GFXDECODE(gdfs)
27572748   MDRV_VIDEO_START(gdfs)
27582749   MDRV_VIDEO_UPDATE(gdfs)
2759MACHINE_DRIVER_END
2750MACHINE_CONFIG_END
27602751
27612752
2762static MACHINE_DRIVER_START( hypreact )
2753static MACHINE_CONFIG_DERIVED( hypreact, ssv )
27632754
27642755   /* basic machine hardware */
2765   MDRV_IMPORT_FROM(ssv)
27662756   MDRV_CPU_MODIFY("maincpu")
27672757   MDRV_CPU_PROGRAM_MAP(hypreact_map)
27682758
27692759   /* video hardware */
27702760   MDRV_SCREEN_MODIFY("screen")
2771   MDRV_SCREEN_VISIBLE_AREA(8, 0x148-1, 16, 0xf0-1)
2772MACHINE_DRIVER_END
2761   MDRV_SCREEN_VISIBLE_AREA(0, (0xcb-0x22)*2-1, 0, (0xfe - 0x0e)-1)
2762MACHINE_CONFIG_END
27732763
27742764
2775static MACHINE_DRIVER_START( hypreac2 )
2765static MACHINE_CONFIG_DERIVED( hypreac2, ssv )
27762766
27772767   /* basic machine hardware */
2778   MDRV_IMPORT_FROM(ssv)
27792768   MDRV_CPU_MODIFY("maincpu")
27802769   MDRV_CPU_PROGRAM_MAP(hypreac2_map)
27812770
27822771   /* video hardware */
27832772   MDRV_SCREEN_MODIFY("screen")
2784   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 8, 0xf8-1)
2785MACHINE_DRIVER_END
2773   MDRV_SCREEN_VISIBLE_AREA(0, (0xcb-0x22)*2-1, 0, (0xfe - 0x0e)-1)
2774MACHINE_CONFIG_END
27862775
27872776
2788static MACHINE_DRIVER_START( janjans1 )
2777static MACHINE_CONFIG_DERIVED( janjans1, ssv )
27892778
27902779   /* basic machine hardware */
2791   MDRV_IMPORT_FROM(ssv)
27922780   MDRV_CPU_MODIFY("maincpu")
27932781   MDRV_CPU_PROGRAM_MAP(janjans1_map)
27942782
27952783   /* video hardware */
27962784   MDRV_SCREEN_MODIFY("screen")
2797   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
2798MACHINE_DRIVER_END
2785   MDRV_SCREEN_VISIBLE_AREA(0, (0xcb-0x23)*2-1, 0, (0xfe - 0x0f)-1)
2786MACHINE_CONFIG_END
27992787
28002788
2801static MACHINE_DRIVER_START( keithlcy )
2789static MACHINE_CONFIG_DERIVED( keithlcy, ssv )
28022790
28032791   /* basic machine hardware */
2804   MDRV_IMPORT_FROM(ssv)
28052792   MDRV_CPU_MODIFY("maincpu")
28062793   MDRV_CPU_PROGRAM_MAP(keithlcy_map)
28072794
28082795   /* video hardware */
28092796   MDRV_SCREEN_MODIFY("screen")
2810   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 4, 0xf0-1)
2811MACHINE_DRIVER_END
2797   MDRV_SCREEN_VISIBLE_AREA(0, (0xcd-0x25)*2-1, 0, (0x101 - 0x13)-1)
2798MACHINE_CONFIG_END
28122799
28132800
2814static MACHINE_DRIVER_START( meosism )
2801static MACHINE_CONFIG_DERIVED( meosism, ssv )
28152802
28162803   /* basic machine hardware */
2817   MDRV_IMPORT_FROM(ssv)
28182804   MDRV_CPU_MODIFY("maincpu")
28192805   MDRV_CPU_PROGRAM_MAP(meosism_map)
28202806
r9191r9192
28222808
28232809   /* video hardware */
28242810   MDRV_SCREEN_MODIFY("screen")
2825   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
2826MACHINE_DRIVER_END
2811   MDRV_SCREEN_VISIBLE_AREA(0, (0xd5-0x2c)*2-1, 0, (0xfe - 0x12)-1)
2812MACHINE_CONFIG_END
28272813
28282814
2829static MACHINE_DRIVER_START( mslider )
2815static MACHINE_CONFIG_DERIVED( mslider, ssv )
28302816
28312817   /* basic machine hardware */
2832   MDRV_IMPORT_FROM(ssv)
28332818   MDRV_CPU_MODIFY("maincpu")
28342819   MDRV_CPU_PROGRAM_MAP(mslider_map)
28352820
28362821   /* video hardware */
28372822   MDRV_SCREEN_MODIFY("screen")
2838   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
2839MACHINE_DRIVER_END
2823   MDRV_SCREEN_VISIBLE_AREA(0, (0xd6-0x26)*2-1, 0, (0xfe - 0x0e)-1)
2824MACHINE_CONFIG_END
28402825
28412826
2842static MACHINE_DRIVER_START( ryorioh )
2827static MACHINE_CONFIG_DERIVED( ryorioh, ssv )
28432828
28442829   /* basic machine hardware */
2845   MDRV_IMPORT_FROM(ssv)
28462830   MDRV_CPU_MODIFY("maincpu")
28472831   MDRV_CPU_PROGRAM_MAP(ryorioh_map)
28482832
28492833   /* video hardware */
28502834   MDRV_SCREEN_MODIFY("screen")
2851   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
2852MACHINE_DRIVER_END
2835   MDRV_SCREEN_VISIBLE_AREA(0, (0xcb-0x23)*2-1, 0, (0xfe - 0x0f)-1)
2836MACHINE_CONFIG_END
28532837
2838static MACHINE_CONFIG_DERIVED( vasara, ssv )
28542839
2855static MACHINE_DRIVER_START( srmp4 )
2840   /* basic machine hardware */
2841   MDRV_CPU_MODIFY("maincpu")
2842   MDRV_CPU_PROGRAM_MAP(ryorioh_map)
28562843
2844   /* video hardware */
2845   MDRV_SCREEN_MODIFY("screen")
2846   MDRV_SCREEN_VISIBLE_AREA(0, (0xcc-0x24)*2-1, 0,(0xfe - 0x0e)-1)
2847MACHINE_CONFIG_END
2848
2849static MACHINE_CONFIG_DERIVED( srmp4, ssv )
2850
28572851   /* basic machine hardware */
2858   MDRV_IMPORT_FROM(ssv)
28592852   MDRV_CPU_MODIFY("maincpu")
28602853   MDRV_CPU_PROGRAM_MAP(srmp4_map)
28612854
28622855   /* video hardware */
28632856   MDRV_SCREEN_MODIFY("screen")
2864   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 4, 0xf4-1)
2865MACHINE_DRIVER_END
2857   MDRV_SCREEN_VISIBLE_AREA(0, (0xd4-0x2c)*2-1, 0, (0x102 - 0x12)-1)
2858MACHINE_CONFIG_END
28662859
28672860
2868static MACHINE_DRIVER_START( srmp7 )
2861static MACHINE_CONFIG_DERIVED( srmp7, ssv )
28692862
28702863   /* basic machine hardware */
2871   MDRV_IMPORT_FROM(ssv)
28722864   MDRV_CPU_MODIFY("maincpu")
28732865   MDRV_CPU_PROGRAM_MAP(srmp7_map)
28742866
28752867   /* video hardware */
28762868   MDRV_SCREEN_MODIFY("screen")
2877   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
2878MACHINE_DRIVER_END
2869   MDRV_SCREEN_VISIBLE_AREA(0, (0xd4-0x2c)*2-1, 0, (0xfd - 0x0e)-1)
2870MACHINE_CONFIG_END
28792871
28802872
2881static MACHINE_DRIVER_START( stmblade )
2873static MACHINE_CONFIG_DERIVED( stmblade, ssv )
28822874
28832875   /* basic machine hardware */
2884   MDRV_IMPORT_FROM(ssv)
28852876   MDRV_CPU_MODIFY("maincpu")
28862877   MDRV_CPU_PROGRAM_MAP(drifto94_map)
28872878
28882879   MDRV_NVRAM_HANDLER(ssv)
28892880   /* video hardware */
28902881   MDRV_SCREEN_MODIFY("screen")
2891   MDRV_SCREEN_VISIBLE_AREA(0, 0x158-1, 0, 0xf0-1)
2892MACHINE_DRIVER_END
2882   MDRV_SCREEN_VISIBLE_AREA(0, (0xd6-0x26)*2-1, 0, (0xfe - 0x0e)-1)
2883MACHINE_CONFIG_END
28932884
28942885
2895static MACHINE_DRIVER_START( survarts )
2886static MACHINE_CONFIG_DERIVED( survarts, ssv )
28962887
28972888   /* basic machine hardware */
2898   MDRV_IMPORT_FROM(ssv)
28992889   MDRV_CPU_MODIFY("maincpu")
29002890   MDRV_CPU_PROGRAM_MAP(survarts_map)
29012891
29022892   /* video hardware */
29032893   MDRV_SCREEN_MODIFY("screen")
2904   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 4, 0xf4-1)
2905MACHINE_DRIVER_END
2894   MDRV_SCREEN_VISIBLE_AREA(0, (0xd4-0x2c)*2-1, 0, (0x102 - 0x12)-1)
2895MACHINE_CONFIG_END
29062896
2907static MACHINE_DRIVER_START( dynagear )
2897
2898static MACHINE_CONFIG_DERIVED( dynagear, survarts )
2899
29082900   /* basic machine hardware */
2909   MDRV_IMPORT_FROM(survarts)
29102901   /* video hardware */
29112902   MDRV_SCREEN_MODIFY("screen")
2912   MDRV_SCREEN_VISIBLE_AREA(8, 0x158-16-1, 0, 0xf0-1)
2913MACHINE_DRIVER_END
2903   MDRV_SCREEN_VISIBLE_AREA(0, (0xd4-0x2c)*2-1, 0, (0x102 - 0x12)-1)
2904MACHINE_CONFIG_END
29142905
29152906
2916static MACHINE_DRIVER_START( eaglshot )
2907static MACHINE_CONFIG_DERIVED( eaglshot, ssv )
29172908
29182909   /* basic machine hardware */
2919   MDRV_IMPORT_FROM(ssv)
29202910   MDRV_CPU_MODIFY("maincpu")
29212911   MDRV_CPU_PROGRAM_MAP(eaglshot_map)
29222912
r9191r9192
29242914
29252915   /* video hardware */
29262916   MDRV_SCREEN_MODIFY("screen")
2927   MDRV_SCREEN_VISIBLE_AREA(0, 0x140-1, 8, 0xe8-1)
2917   MDRV_SCREEN_VISIBLE_AREA(0, (0xca - 0x2a)*2-1, 0, (0xf6 - 0x16)-1)
29282918
29292919   MDRV_GFXDECODE(eaglshot)
29302920   MDRV_VIDEO_START(eaglshot)
29312921   MDRV_VIDEO_UPDATE(eaglshot)
2932MACHINE_DRIVER_END
2922MACHINE_CONFIG_END
29332923
29342924
2935static MACHINE_DRIVER_START( sxyreact )
2925static MACHINE_CONFIG_DERIVED( sxyreact, ssv )
29362926
29372927   /* basic machine hardware */
2938   MDRV_IMPORT_FROM(ssv)
29392928   MDRV_CPU_MODIFY("maincpu")
29402929   MDRV_CPU_PROGRAM_MAP(sxyreact_map)
29412930
r9191r9192
29432932
29442933   /* video hardware */
29452934   MDRV_SCREEN_MODIFY("screen")
2946   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
2947MACHINE_DRIVER_END
2935   MDRV_SCREEN_VISIBLE_AREA(0, (0xcb - 0x22)*2-1, 0, (0xfe - 0x0e)-1)
2936MACHINE_CONFIG_END
29482937
2938static MACHINE_CONFIG_DERIVED( sxyreac2, ssv )
29492939
2950static MACHINE_DRIVER_START( twineag2 )
2940   /* basic machine hardware */
2941   MDRV_CPU_MODIFY("maincpu")
2942   MDRV_CPU_PROGRAM_MAP(sxyreact_map)
29512943
2944   MDRV_NVRAM_HANDLER(ssv)
2945
2946   /* video hardware */
2947   MDRV_SCREEN_MODIFY("screen")
2948   MDRV_SCREEN_VISIBLE_AREA(0, (0xcb - 0x23)*2-1, 0, (0xfe - 0x0e)-1)
2949MACHINE_CONFIG_END
2950
2951static MACHINE_CONFIG_DERIVED( cairblad, ssv )
2952
29522953   /* basic machine hardware */
2953   MDRV_IMPORT_FROM(ssv)
29542954   MDRV_CPU_MODIFY("maincpu")
2955   MDRV_CPU_PROGRAM_MAP(sxyreact_map)
2956
2957   MDRV_NVRAM_HANDLER(ssv)
2958
2959   /* video hardware */
2960   MDRV_SCREEN_MODIFY("screen")
2961   MDRV_SCREEN_VISIBLE_AREA(0, (0xcb - 0x22)*2-1, 0, (0xfe - 0x0e)-1)
2962MACHINE_CONFIG_END
2963
2964static MACHINE_CONFIG_DERIVED( twineag2, ssv )
2965
2966   /* basic machine hardware */
2967   MDRV_CPU_MODIFY("maincpu")
29552968   MDRV_CPU_PROGRAM_MAP(twineag2_map)
29562969
29572970   /* video hardware */
29582971   MDRV_SCREEN_MODIFY("screen")
2959   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
2960MACHINE_DRIVER_END
2972   MDRV_SCREEN_VISIBLE_AREA(0, (0xd4 - 0x2c)*2-1, 0, (0x102 - 0x12)-1)
2973MACHINE_CONFIG_END
29612974
29622975
2963static MACHINE_DRIVER_START( ultrax )
2976static MACHINE_CONFIG_DERIVED( ultrax, ssv )
29642977
29652978   /* basic machine hardware */
2966   MDRV_IMPORT_FROM(ssv)
29672979   MDRV_CPU_MODIFY("maincpu")
29682980   MDRV_CPU_PROGRAM_MAP(ultrax_map)
29692981
29702982   /* video hardware */
29712983   MDRV_SCREEN_MODIFY("screen")
2972   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
2973MACHINE_DRIVER_END
2984   MDRV_SCREEN_VISIBLE_AREA(0, (0xd4 - 0x2c)*2-1, 0, (0x102 - 0x12)-1)
2985MACHINE_CONFIG_END
29742986
2975static MACHINE_DRIVER_START( jsk )
2987static MACHINE_CONFIG_DERIVED( jsk, ssv )
29762988
29772989   /* basic machine hardware */
2978   MDRV_IMPORT_FROM(ssv)
29792990   MDRV_CPU_MODIFY("maincpu")
29802991   MDRV_CPU_PROGRAM_MAP(jsk_map)
29812992
r9191r9192
29842995
29852996   /* video hardware */
29862997   MDRV_SCREEN_MODIFY("screen")
2987   MDRV_SCREEN_VISIBLE_AREA(0, 0x150-1, 0, 0xf0-1)
2988MACHINE_DRIVER_END
2998   MDRV_SCREEN_VISIBLE_AREA(0, (0xca - 0x22)*2-1, 0, (0xfe - 0x0e)-1)
2999MACHINE_CONFIG_END
29893000
29903001
29913002/***************************************************************************
r9191r9192
46454656GAME( 1997,  srmp7,    0,        srmp7,    srmp7,    srmp7,    ROT0,   "Seta",               "Super Real Mahjong P7 (Japan)",                    GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
46464657GAME( 1998,  ryorioh,  0,        ryorioh,  ryorioh,  ryorioh,  ROT0,   "Visco",              "Gourmet Battle Quiz Ryohrioh CooKing (Japan)",     GAME_NO_COCKTAIL )
46474658GAME( 1998,  sxyreact, 0,        sxyreact, sxyreact, sxyreact, ROT0,   "Sammy",              "Pachinko Sexy Reaction (Japan)",                   GAME_NO_COCKTAIL )
4648GAME( 1999,  sxyreac2, 0,        sxyreact, sxyreact, sxyreac2, ROT0,   "Sammy",              "Pachinko Sexy Reaction 2 (Japan)",                 GAME_NO_COCKTAIL )
4649GAME( 1999,  cairblad, 0,        sxyreact, cairblad, sxyreact, ROT270, "Sammy",              "Change Air Blade (Japan)",                         GAME_NO_COCKTAIL )
4659GAME( 1999,  sxyreac2, 0,        sxyreac2, sxyreact, sxyreac2, ROT0,   "Sammy",              "Pachinko Sexy Reaction 2 (Japan)",                 GAME_NO_COCKTAIL )
4660GAME( 1999,  cairblad, 0,        cairblad, cairblad, cairblad, ROT270, "Sammy",              "Change Air Blade (Japan)",                         GAME_NO_COCKTAIL )
46504661GAME( 2000,  janjans2, 0,        janjans1, janjans2, janjans1, ROT0,   "Visco",              "Lovely Pop Mahjong JangJang Shimasho 2 (Japan)",   GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
4651GAME( 2000,  vasara,   0,        ryorioh,  vasara,   vasara,   ROT270, "Visco",              "Vasara",                                           GAME_NO_COCKTAIL )
4652GAME( 2001,  vasara2,  0,        ryorioh,  vasara2,  vasara,   ROT270, "Visco",              "Vasara 2 (set 1)",                                 GAME_NO_COCKTAIL )
4653GAME( 2001,  vasara2a, vasara2,  ryorioh,  vasara2,  vasara,   ROT270, "Visco",              "Vasara 2 (set 2)",                                 GAME_NO_COCKTAIL )
4662GAME( 2000,  vasara,   0,        vasara,   vasara,   vasara,   ROT270, "Visco",              "Vasara",                                           GAME_NO_COCKTAIL )
4663GAME( 2001,  vasara2,  0,        vasara,   vasara2,  vasara,   ROT270, "Visco",              "Vasara 2 (set 1)",                                 GAME_NO_COCKTAIL )
4664GAME( 2001,  vasara2a, vasara2,  vasara,   vasara2,  vasara,   ROT270, "Visco",              "Vasara 2 (set 2)",                                 GAME_NO_COCKTAIL )
src/mame/drivers/atarig42.c
r9191r9192
363363   AM_RANGE(0xf40000, 0xf40001) AM_READ(asic65_io_r)
364364   AM_RANGE(0xf60000, 0xf60001) AM_READ(asic65_r)
365365   AM_RANGE(0xf80000, 0xf80003) AM_WRITE(asic65_data_w)
366   AM_RANGE(0xfa0000, 0xfa0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(atarig42_state, eeprom, eeprom_size)
366   AM_RANGE(0xfa0000, 0xfa0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
367367   AM_RANGE(0xfc0000, 0xfc0fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
368368   AM_RANGE(0xff0000, 0xff0fff) AM_WRITE(atarirle_0_spriteram_w) AM_BASE(&atarirle_0_spriteram)
369369   AM_RANGE(0xff2000, 0xff5fff) AM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(atarig42_state, playfield)
r9191r9192
512512 *
513513 *************************************/
514514
515static MACHINE_DRIVER_START( atarig42 )
516   MDRV_DRIVER_DATA(atarig42_state)
515static MACHINE_CONFIG_START( atarig42, atarig42_state )
517516
518517   /* basic machine hardware */
519518   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz)
r9191r9192
521520   MDRV_CPU_VBLANK_INT("screen", atarigen_video_int_gen)
522521
523522   /* ASIC65 */
524   MDRV_IMPORT_FROM(asic65)
523   MDRV_FRAGMENT_ADD(asic65)
525524
526525   MDRV_MACHINE_START(atarig42)
527526   MDRV_MACHINE_RESET(atarig42)
528   MDRV_NVRAM_HANDLER(atarigen)
527   MDRV_NVRAM_ADD_1FILL("eeprom")
529528
530529   /* video hardware */
531530   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
543542   MDRV_VIDEO_UPDATE(atarig42)
544543
545544   /* sound hardware */
546   MDRV_IMPORT_FROM(jsa_iii_mono)
547MACHINE_DRIVER_END
545   MDRV_FRAGMENT_ADD(jsa_iii_mono)
546MACHINE_CONFIG_END
548547
549548
550549
r9191r9192
603602   ROM_LOAD( "136089-1050.15e",  0x40000, 0x20000, CRC(64d410bb) SHA1(877bccca7ff37a9dd8294bc1453487a2f516ca7d) )
604603   ROM_LOAD( "136089-1051.12e",  0x60000, 0x20000, CRC(bffd01c8) SHA1(f6de000f61ea0c1ddb31ee5301506e5e966638c2) )
605604
605   ROM_REGION( 0x1000, "eeprom", 0 )
606   ROM_LOAD( "roadriot-eeprom.bin", 0x0000, 0x1000, CRC(833d0d53) SHA1(239f791a29ed61317d639fab699752094984078e) )
607
606608   ROM_REGION( 0x0600, "proms", 0 )   /* microcode for growth renderer */
607609   ROM_LOAD( "136089-1001.bin",  0x0000, 0x0200, CRC(5836cb5a) SHA1(2c797f6a1227d6e1fd7a12f99f0254072c8c266e) )
608610   ROM_LOAD( "136089-1002.bin",  0x0200, 0x0200, CRC(44288753) SHA1(811582015264f85a32643196cdb331a41430318f) )
r9191r9192
649651   ROM_REGION( 0x80000, "adpcm", 0 )
650652   ROM_LOAD( "136092-0010-snd",  0x00000, 0x80000, CRC(bca27f40) SHA1(91a41eac116eb7d9a790abc590eb06328726d1c2) )
651653
654   ROM_REGION( 0x1000, "eeprom", 0 )
655   ROM_LOAD( "guardian-eeprom.bin", 0x0000, 0x1000, CRC(fba171dc) SHA1(c53f72b7c25602c5fedc38d34d1342fbd10e4a44) )
656
652657   ROM_REGION( 0x0600, "proms", 0 )   /* microcode for growth renderer */
653658   ROM_LOAD( "136092-1001.bin",  0x0000, 0x0200, CRC(b3251eeb) SHA1(5e83baa70aaa28f07f32657bf974fd87719972d3) )
654659   ROM_LOAD( "136092-1002.bin",  0x0200, 0x0200, CRC(0c5314da) SHA1(a9c7ee3ab015c7f3ada4200acd2854eb9a5c74b0) )
r9191r9192
676681
677682static DRIVER_INIT( roadriot )
678683{
679   static const UINT16 default_eeprom[] =
680   {
681      0x0001,0x01B7,0x01AF,0x01E4,0x0100,0x0130,0x0300,0x01CC,
682      0x0700,0x01FE,0x0500,0x0102,0x0200,0x0108,0x011B,0x01C8,
683      0x0100,0x0107,0x0120,0x0100,0x0125,0x0500,0x0177,0x0162,
684      0x013A,0x010A,0x01B7,0x01AF,0x01E4,0x0100,0x0130,0x0300,
685      0x01CC,0x0700,0x01FE,0x0500,0x0102,0x0200,0x0108,0x011B,
686      0x01C8,0x0100,0x0107,0x0120,0x0100,0x0125,0x0500,0x0177,
687      0x0162,0x013A,0x010A,0xE700,0x0164,0x0106,0x0100,0x0104,
688      0x01B0,0x0146,0x012E,0x1A00,0x01C8,0x01D0,0x0118,0x0D00,
689      0x0118,0x0100,0x01C8,0x01D0,0x0000
690   };
691684   atarig42_state *state = machine->driver_data<atarig42_state>();
692   state->eeprom_default = default_eeprom;
693685   atarijsa_init(machine, "IN2", 0x0040);
694686
695687   state->playfield_base = 0x400;
r9191r9192
726718
727719static DRIVER_INIT( guardian )
728720{
729   static const UINT16 default_eeprom[] =
730   {
731      0x0001,0x01FD,0x01FF,0x01EF,0x0100,0x01CD,0x0300,0x0104,
732      0x0700,0x0117,0x0F00,0x0133,0x1F00,0x0133,0x2400,0x0120,
733      0x0600,0x0104,0x0300,0x010C,0x01A0,0x0100,0x0152,0x0179,
734      0x012D,0x01BD,0x01FD,0x01FF,0x01EF,0x0100,0x01CD,0x0300,
735      0x0104,0x0700,0x0117,0x0F00,0x0133,0x1F00,0x0133,0x2400,
736      0x0120,0x0600,0x0104,0x0300,0x010C,0x01A0,0x0100,0x0152,
737      0x0179,0x012D,0x01BD,0x8C00,0x0118,0x01AB,0x015A,0x0100,
738      0x01D0,0x010B,0x01B8,0x01C7,0x01E2,0x0134,0x0100,0x010A,
739      0x01BE,0x016D,0x0142,0x0100,0x0120,0x0109,0x0110,0x0141,
740      0x0109,0x0100,0x0108,0x0134,0x0105,0x0148,0x1400,0x0000
741   };
742721   atarig42_state *state = machine->driver_data<atarig42_state>();
743   state->eeprom_default = default_eeprom;
744722   atarijsa_init(machine, "IN2", 0x0040);
745723
746724   state->playfield_base = 0x000;
src/mame/drivers/jubilee.c
r0r9192
1/******************************************************************************
2
3  Jubilee Double-Up Poker
4  -----------------------
5
6  Driver by Roberto Fresca.
7
8
9  Games running on this hardware:
10
11  * Double-Up Poker,  198?,  Jubilee.
12
13
14*******************************************************************************
15
16
17  Hardware Notes:
18  ---------------
19
20  1x TMS9980
21  1x M6845
22
23  Unknown Xtal
24
25
26*******************************************************************************
27
28
29  *** Game Notes ***
30
31  Nothing, yet...
32
33
34*******************************************************************************
35
36  --------------------
37  ***  Memory Map  ***
38  --------------------
39
40  0x0000 - 0x2FFF    ; ROM space.
41  0x???? - 0x????    ; Video RAM.
42
43
44*******************************************************************************
45
46  TMS9980A memory map:
47
48
49  0000-0003 ---> Reset
50  0004-0007 ---> Level 1
51  0008-000B ---> Level 2
52  000C-000F ---> Level 3
53  0010-0013 ---> Level 4
54
55  3FFC-3FFF ---> Load
56
57
58*******************************************************************************
59
60
61  DRIVER UPDATES:
62
63
64  [2010-09-05]
65
66  - Initial release.
67  - Decoded graphics.
68  - Proper tile colors.
69  - Hooked the correct CPU.
70  - Preliminary memory map.
71  - Added technical notes.
72
73
74  TODO:
75
76  - Improve the memory map.
77  - Find the correct video RAM offset.
78  - Hook the CRT controller.
79  - Sound.
80  - Check clocks on a PCB (if someday appear!)
81
82
83*******************************************************************************/
84
85
86#define MASTER_CLOCK   XTAL_8MHz   /* guess */
87
88#include "emu.h"
89#include "cpu/tms9900/tms9900.h"
90#include "video/mc6845.h"
91
92
93
94/*************************
95*     Video Hardware     *
96*************************/
97
98static UINT8 *videoram;
99static tilemap_t *bg_tilemap;
100
101
102static WRITE8_HANDLER( jubileep_videoram_w )
103{
104   videoram[offset] = data;
105   tilemap_mark_tile_dirty(bg_tilemap, offset);
106}
107
108
109static TILE_GET_INFO( get_bg_tile_info )
110{
111   int code = videoram[tile_index];
112
113   SET_TILE_INFO( 0, code, 0, 0);
114}
115
116
117
118static VIDEO_START( jubileep )
119{
120   bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32);
121}
122
123
124static VIDEO_UPDATE( jubileep )
125{
126   tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
127   return 0;
128}
129
130
131static PALETTE_INIT( jubileep )
132{
133
134}
135
136
137/**************************
138*  Read / Write Handlers  *
139**************************/
140
141static INTERRUPT_GEN( jubileep_interrupt )
142{
143   /* doesn't seems to work properly. need to set level1 interrupts */
144   cpu_set_input_line_and_vector(device, 0, ASSERT_LINE, 3);//2=nmi  3,4,5,6
145}
146
147
148/*************************
149* Memory Map Information *
150*************************/
151//59a
152static ADDRESS_MAP_START( jubileep_map, ADDRESS_SPACE_PROGRAM, 8 )
153   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
154   AM_RANGE(0x0000, 0x2fff) AM_ROM
155   AM_RANGE(0x3000, 0x30ff) AM_WRITE(jubileep_videoram_w) AM_BASE(&videoram)   /* wrong... just placed somewhere */
156   AM_RANGE(0x3100, 0x3fff) AM_RAM
157ADDRESS_MAP_END
158
159/*
160
161  WRAM = 3400-37ff
162  VRAM = 3800-3bff?
163
164  RAM = 3c00-3fff
165
166*/
167
168
169static READ8_HANDLER(unk_r)
170{
171   return (mame_rand(space->machine) & 0xff);
172}
173
174static ADDRESS_MAP_START( jubileep_cru_map, ADDRESS_SPACE_IO, 8 )
175//  AM_RANGE(0x0000, 0xffff) AM_READ(unk_r)
176//  AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("crtc",  mc6845_status_r, mc6845_address_w)
177//  AM_RANGE(0x01, 0x01) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
178   AM_RANGE(0xc8, 0xc8) AM_READ(unk_r)
179ADDRESS_MAP_END
180
181/* I/O byte R/W
182
183
184   -----------------
185
186   unknown writes:
187
188
189*/
190
191/*************************
192*      Input Ports       *
193*************************/
194
195static INPUT_PORTS_START( jubileep )
196   PORT_START("IN0")
197   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1) PORT_NAME("IN0-1")
198   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2) PORT_NAME("IN0-2")
199   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3) PORT_NAME("IN0-3")
200   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_NAME("IN0-4")
201   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5) PORT_NAME("IN0-5")
202   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6) PORT_NAME("IN0-6")
203   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7) PORT_NAME("IN0-7")
204   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8) PORT_NAME("IN0-8")
205
206   PORT_START("IN1")
207   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("IN1-1")
208   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("IN1-2")
209   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("IN1-3")
210   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_NAME("IN1-4")
211   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN1-5")
212   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN1-6")
213   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN1-7")
214   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN1-8")
215
216   PORT_START("IN2")
217   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("IN2-1")
218   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("IN2-2")
219   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("IN2-3")
220   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("IN2-4")
221   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("IN2-5")
222   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("IN2-6")
223   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J) PORT_NAME("IN2-7")
224   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("IN2-8")
225
226   PORT_START("IN3")
227   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Z) PORT_NAME("IN3-1")
228   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X) PORT_NAME("IN3-2")
229   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_C) PORT_NAME("IN3-3")
230   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V) PORT_NAME("IN3-4")
231   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B) PORT_NAME("IN3-5")
232   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N) PORT_NAME("IN3-6")
233   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_M) PORT_NAME("IN3-7")
234   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L) PORT_NAME("IN3-8")
235
236   PORT_START("IN4")
237   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("IN4-1")
238   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("IN4-2")
239   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("IN4-3")
240   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("IN4-4")
241   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("IN4-5")
242   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("IN4-6")
243   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("IN4-7")
244   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("IN4-8")
245
246   PORT_START("DSW1")
247   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
248   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
249   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
250   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
251   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
252   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
253   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
254   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
255   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
256   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
257   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
258   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
259   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
260   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
261   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
262   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
263   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
264   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
265   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
266   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
267   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
268   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
269   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
270   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
271
272   PORT_START("DSW2")
273   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
274   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
275   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
276   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
277   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
278   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
279   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
280   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
281   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
282   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
283   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
284   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
285   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
286   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
287   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
288   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
289   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
290   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
291   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
292   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
293   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
294   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
295   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
296   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
297
298   PORT_START("DSW3")
299   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
300   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
301   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
302   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
303   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
304   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
305   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
306   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
307   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
308   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
309   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
310   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
311   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
312   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
313   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
314   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
315   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
316   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
317   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
318   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
319   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
320   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
321   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
322   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
323
324   PORT_START("DSW4")
325   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
326   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
327   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
328   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
329   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
330   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
331   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
332   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
333   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
334   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
335   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
336   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
337   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
338   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
339   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
340   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
341   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
342   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
343   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
344   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
345   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
346   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
347   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
348   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
349INPUT_PORTS_END
350
351
352/*************************
353*    Graphics Layouts    *
354*************************/
355
356static const gfx_layout tilelayout =
357{
358   8, 8,
359   RGN_FRAC(1,3),
360   3,
361   { 0, RGN_FRAC(1,3), RGN_FRAC(2,3) },    /* bitplanes are separated */
362   { 0, 1, 2, 3, 4, 5, 6, 7 },
363   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
364   8*8
365};
366
367
368/******************************
369* Graphics Decode Information *
370******************************/
371
372static GFXDECODE_START( jubileep )
373   GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 16 )
374GFXDECODE_END
375
376
377/***********************
378*    CRTC Interface    *
379************************/
380
381static const mc6845_interface mc6845_intf =
382{
383   "screen",   /* screen we are acting on */
384   8,         /* number of pixels per video memory address */
385   NULL,      /* before pixel update callback */
386   NULL,      /* row update callback */
387   NULL,      /* after pixel update callback */
388   DEVCB_NULL,   /* callback for display state changes */
389   DEVCB_NULL,   /* callback for cursor state changes */
390   DEVCB_NULL,   /* HSYNC callback */
391   DEVCB_NULL,   /* VSYNC callback */
392   NULL      /* update address callback */
393};
394
395
396/*************************
397*    Machine Drivers     *
398*************************/
399
400static MACHINE_CONFIG_START( jubileep, driver_device )
401
402   /* basic machine hardware */
403   MDRV_CPU_ADD("maincpu", TMS9980, MASTER_CLOCK/2)   /* guess */
404   MDRV_CPU_PROGRAM_MAP(jubileep_map)
405   MDRV_CPU_IO_MAP(jubileep_cru_map)
406   MDRV_CPU_VBLANK_INT("screen", jubileep_interrupt)
407
408   /* video hardware */
409   MDRV_SCREEN_ADD("screen", RASTER)
410   MDRV_SCREEN_REFRESH_RATE(60)
411   MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
412   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
413   MDRV_SCREEN_SIZE(32*8, 32*8)
414   MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
415
416   MDRV_GFXDECODE(jubileep)
417
418   MDRV_PALETTE_INIT(jubileep)
419   MDRV_PALETTE_LENGTH(256)
420
421   MDRV_VIDEO_START(jubileep)
422   MDRV_VIDEO_UPDATE(jubileep)
423
424   MDRV_MC6845_ADD("crtc", MC6845, MASTER_CLOCK/4, mc6845_intf) /* guess */
425
426MACHINE_CONFIG_END
427
428
429/*************************
430*        Rom Load        *
431*************************/
432
433ROM_START( jubileep )
434   ROM_REGION( 0x4000, "maincpu", 0 ) /* TMS9980 code */
435   ROM_LOAD( "1_ic59.bin",   0x0000, 0x1000, CRC(534c81c2) SHA1(4ce1d4492de9cbbc37e5a946b1183d8e8b0ba989) )
436   ROM_LOAD( "2_ic58.bin",   0x1000, 0x1000, CRC(69984028) SHA1(c919a5cb43f23a0d9e496107997c74799709b347) )
437   ROM_LOAD( "3_ic57.bin",   0x2000, 0x1000, CRC(c9ae423d) SHA1(8321e3e6fd60d92202b0c7b47e2a333a567b5c22) )
438
439   ROM_REGION( 0x6000, "gfx1", 0 )
440   ROM_LOAD( "ic49.bin",   0x0000, 0x2000, CRC(ec65d259) SHA1(9e82e4043cbea26b91965a19507a5f00dc3ba01a) )
441   ROM_LOAD( "ic48.bin",   0x2000, 0x2000, CRC(74e9ffd9) SHA1(7349fea72a349a58014b795ec6c29647e7159d39) )
442   ROM_LOAD( "ic47.bin",   0x4000, 0x2000, CRC(55dc8482) SHA1(53f22bd66e5fcad5e2397998bc58109c3c19af96) )
443ROM_END
444
445
446/*************************
447*      Game Drivers      *
448*************************/
449
450/*    YEAR  NAME          PARENT  MACHINE   INPUT     INIT  ROT    COMPANY    FULLNAME                  FLAGS */
451GAME( 198?, jubileep,     0,      jubileep, jubileep, 0,    ROT0, "Jubilee", "Jubilee Double-Up Poker", GAME_NO_SOUND | GAME_NOT_WORKING )
src/mame/drivers/cop01.c
r9191r9192
436436}
437437
438438
439static MACHINE_DRIVER_START( cop01 )
439static MACHINE_CONFIG_START( cop01, cop01_state )
440440
441   /* driver data */
442   MDRV_DRIVER_DATA(cop01_state)
443
444441   /* basic machine hardware */
445442   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* ???? */
446443   MDRV_CPU_PROGRAM_MAP(cop01_map)
r9191r9192
480477
481478   MDRV_SOUND_ADD("ay3", AY8910, 1500000)
482479   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
483MACHINE_DRIVER_END
480MACHINE_CONFIG_END
484481
485static MACHINE_DRIVER_START( mightguy )
482static MACHINE_CONFIG_START( mightguy, cop01_state )
486483
487   /* driver data */
488   MDRV_DRIVER_DATA(cop01_state)
489
490484   /* basic machine hardware */
491485   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* ???? */
492486   MDRV_CPU_PROGRAM_MAP(cop01_map)
r9191r9192
520514
521515   MDRV_SOUND_ADD("ymsnd", YM3526, 4000000)
522516   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
523MACHINE_DRIVER_END
517MACHINE_CONFIG_END
524518
525519
526520
src/mame/drivers/vindictr.c
r9191r9192
8484   ADDRESS_MAP_UNMAP_HIGH
8585   ADDRESS_MAP_GLOBAL_MASK(0x3fffff)
8686   AM_RANGE(0x000000, 0x05ffff) AM_ROM
87   AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(vindictr_state, eeprom, eeprom_size)
87   AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
8888   AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w)
8989   AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
9090   AM_RANGE(0x260010, 0x26001f) AM_READ(port1_r)
r9191r9192
193193 *
194194 *************************************/
195195
196static MACHINE_DRIVER_START( vindictr )
197   MDRV_DRIVER_DATA(vindictr_state)
196static MACHINE_CONFIG_START( vindictr, vindictr_state )
198197
199198   /* basic machine hardware */
200199   MDRV_CPU_ADD("maincpu", M68010, ATARI_CLOCK_14MHz/2)
r9191r9192
202201
203202   MDRV_MACHINE_START(vindictr)
204203   MDRV_MACHINE_RESET(vindictr)
205   MDRV_NVRAM_HANDLER(atarigen)
204   MDRV_NVRAM_ADD_1FILL("eeprom")
206205
207206   /* video hardware */
208207   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
219218   MDRV_VIDEO_UPDATE(vindictr)
220219
221220   /* sound hardware */
222   MDRV_IMPORT_FROM(jsa_i_stereo_pokey)
223MACHINE_DRIVER_END
221   MDRV_FRAGMENT_ADD(jsa_i_stereo_pokey)
222MACHINE_CONFIG_END
224223
225224
226225
src/mame/drivers/hanaawas.c
r9191r9192
198198   state->mux = 0;
199199}
200200
201static MACHINE_DRIVER_START( hanaawas )
201static MACHINE_CONFIG_START( hanaawas, hanaawas_state )
202202
203   /* driver data */
204   MDRV_DRIVER_DATA(hanaawas_state)
205
206203   /* basic machine hardware */
207204   MDRV_CPU_ADD("maincpu", Z80,18432000/6)   /* 3.072 MHz ??? */
208205   MDRV_CPU_PROGRAM_MAP(hanaawas_map)
r9191r9192
233230   MDRV_SOUND_ADD("aysnd", AY8910, 18432000/12)
234231   MDRV_SOUND_CONFIG(ay8910_config)
235232   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
236MACHINE_DRIVER_END
233MACHINE_CONFIG_END
237234
238235
239236/***************************************************************************
src/mame/drivers/mpu4drvr.c
r9191r9192
182182#include "sound/saa1099.h"
183183#include "video/mc6845.h"
184184#include "video/resnet.h"
185#include "machine/nvram.h"
185186
186187#ifdef MAME_DEBUG
187188#define MPU4VIDVERBOSE 1
r9191r9192
19361937
19371938/* TODO: Fix up MPU4 map*/
19381939static ADDRESS_MAP_START( mpu4_6809_map, ADDRESS_SPACE_PROGRAM, 8 )
1939   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1940   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
19401941   AM_RANGE(0x0800, 0x0800) AM_DEVREADWRITE("acia6850_0", acia6850_stat_r, acia6850_ctrl_w)
19411942   AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("acia6850_0", acia6850_data_r, acia6850_data_w)
19421943   AM_RANGE(0x0880, 0x0881) AM_NOP /* Could be a UART datalogger is here. */
r9191r9192
21012102
21022103
21032104static ADDRESS_MAP_START( dealem_memmap, ADDRESS_SPACE_PROGRAM, 8 )
2104   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
2105   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
21052106
21062107   AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_address_w)
21072108   AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_register_r, mc6845_register_w)
r9191r9192
22242225}
22252226
22262227
2227static MACHINE_DRIVER_START( mpu4_vid )
2228static MACHINE_CONFIG_START( mpu4_vid, driver_device )
22282229   MDRV_CPU_ADD("maincpu", M6809, MPU4_MASTER_CLOCK/4 )
22292230   MDRV_CPU_PROGRAM_MAP(mpu4_6809_map)
22302231   MDRV_TIMER_ADD_PERIODIC("50hz",gen_50hz, HZ(100))
22312232
2232   MDRV_NVRAM_HANDLER(generic_0fill)            /* confirm */
2233   MDRV_NVRAM_ADD_0FILL("nvram")            /* confirm */
22332234
22342235   /* 6840 PTM */
22352236   MDRV_PTM6840_ADD("6840ptm", ptm_ic2_intf)
r9191r9192
22782279
22792280   // for the video timing
22802281   MDRV_TIMER_ADD_SCANLINE("scan_timer", scanline_timer_callback, "screen", 0, 1)
2281MACHINE_DRIVER_END
2282MACHINE_CONFIG_END
22822283
2283static MACHINE_DRIVER_START( crmaze )
2284   MDRV_IMPORT_FROM( mpu4_vid )
2284static MACHINE_CONFIG_DERIVED( crmaze, mpu4_vid )
22852285   MDRV_PIA6821_MODIFY("pia_ic5", pia_ic5t_intf)
2286MACHINE_DRIVER_END
2286MACHINE_CONFIG_END
22872287
2288static MACHINE_DRIVER_START( mating )
2289   MDRV_IMPORT_FROM( crmaze )
2288static MACHINE_CONFIG_DERIVED( mating, crmaze )
22902289
22912290   MDRV_SOUND_ADD("oki", OKIM6376, 64000) //?
22922291   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
2293MACHINE_DRIVER_END
2292MACHINE_CONFIG_END
22942293
2295static MACHINE_DRIVER_START( vgpoker )
2296   MDRV_IMPORT_FROM( mpu4_vid )
2294static MACHINE_CONFIG_DERIVED( vgpoker, mpu4_vid )
22972295   MDRV_CPU_MODIFY("video")
22982296   MDRV_CPU_PROGRAM_MAP(vp_68k_map)
2299MACHINE_DRIVER_END
2297MACHINE_CONFIG_END
23002298
23012299
23022300
23032301/* machine driver for Zenitone Deal 'Em board */
2304static MACHINE_DRIVER_START( dealem )
2302static MACHINE_CONFIG_START( dealem, driver_device )
23052303   MDRV_MACHINE_START(mpu4mod2)                     /* main mpu4 board initialisation */
23062304   MDRV_MACHINE_RESET(mpu4_vid)
23072305   MDRV_CPU_ADD("maincpu", M6809, MPU4_MASTER_CLOCK/4)
r9191r9192
23232321   MDRV_SOUND_CONFIG(ay8910_config)
23242322   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
23252323
2326   MDRV_NVRAM_HANDLER(generic_0fill)
2324   MDRV_NVRAM_ADD_0FILL("nvram")
23272325
23282326   /* video hardware */
23292327   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
23392337   MDRV_PALETTE_INIT(dealem)
23402338
23412339   MDRV_MC6845_ADD("crtc", HD6845, MPU4_MASTER_CLOCK / 4 / 8, hd6845_intf)   /* HD68B45 */
2342MACHINE_DRIVER_END
2340MACHINE_CONFIG_END
23432341
23442342
23452343
src/mame/drivers/goldngam.c
r0r9192
1/******************************************************************************
2
3  GOLDEN GAMES / C+M TECHNICS AG
4  ------------------------------
5
6  Driver by Roberto Fresca.
7
8
9  Games running on this hardware:
10
11  * Swiss Poker ('50 SG-.10', V2.5), 1990, Golden Games / C+M Technics AG.
12  * Movie Card,                      1998, Golden Games / C+M Technics AG.
13
14
15*******************************************************************************
16
17
18  Hardware Notes:
19  ---------------
20
21  Swiss Card CPU Board...
22  Stickered "GOLDEN GAMES 288"
23
24  CPU: 1x MC68000P8.               [IC2]
25  SND: 1x Microchip AY38910A.      [IC18]
26       1x LM380N (audio amp).
27
28  RAM: 2x HM62256LP-10             [IC4, IC5]
29
30  OTHER:
31  1x EF6840P (timer)               [IC3]
32  1x unknown GAL labeled "CM 1.2"  [IC8]
33  1x 8.000 MHz Xtal.               [Q1]
34
35
36  CPU Board layout:
37  ,----------------------------------------------------------------------------------------.
38  |  |!!!!!!!!|   |!!!!!!!!|    |!!!!!!!!|   |!!!!!!!!|    |!!!!!!!!!!|     |||||||||||    |
39  |  '--------'   '--------'    '--------'   '--------'    '----------'     '---------'    |
40  |                                                                                        |
41  |                                                                                  .--.  |
42  | .--------.    .--------.   .--------.    .--------.                              |LM|  |
43  | |ULN2803A|    |ULN2803A|   |ULN2803A|    |ULN2803A|                              |38|  |
44  | '--------'    '--------'   '--------'    '--------'                              |0N|  |
45  |  .---------.     .---------.       .---------.  .--------. .--------. .--------. '--'  |
46  |  |74HC273AP|     |74HC251AP|       |74HC273AP|  |ULN2003A| |ULN2803A| |HC251AP |       |
47  |  '---------'     '---------'       '---------'  '--------' '--------' '--------'       |
48  |                                                   .--------.  .---------.   .--------. |
49  |                                                   |HC259AP |  |74HC273AP|   |ZH 436 E| |
50  |                                                   '--------'  '---------'   '--------' |
51  |                      GOLDEN GAMES 238                                                  |
52  |                         CPU 68000                                     .--------------. |
53  |                      .----.  .--.    .--.       .--------. .--.       |              | |
54  |                      |ICL1|  |74|    |74|       |        | |..|       |  AY38912A/P  | |
55  |                      '----'  |HC|    |HC|       |        | |..|       |              | |
56  |  .---------. .---------..--. |13|    |14|       |        | |..|       '--------------' |
57  |  |74HC273P | |74HC273AP||74| |8A|    |B1|       |        | |..|                        |
58  |  '---------' '---------'|HC| |N |    |  |       |        | |..|       .--------------. |
59  |                         |13| '--'    '--'       |        | |..|       |              | |
60  |  .---------.            |8A|                    | MC     | |..|       | HM62256LP_10 | |
61  |  |ULN2803A |            |N |         .--.       |        | |..|       |              | |
62  |  '---------'            '--' .--.    |74|       | 68000  | |..|       '--------------' |
63  |             .------.         |G |    |HC|       |        | |..|                        |
64  |             |HC238B|    .--. |A |    |20|       |    P8  | |..|                        |
65  |             '------'    |74| |L |    |P |       |        | |..|                        |
66  |                         |HC| |  |    '--'       |        | |..|                        |
67  |                         |13| |20|               |        | |..|       .--------------. |
68  |                         |9N| |V8|    .--.       |        | |..|       |              | |
69  |                         '--' |  |    |74|       |        | |..|       | HM62256LP_10 | |
70  |                              '--'    |HC|       |        | |..|       |              | |
71  |                                      |05|       |        | |..|       '--------------' |
72  |                                      '--'       |        | |..|                        |
73  |                       .--.                      |        | |..|       .--------------. |
74  |                       |HC|   .------.           |        | |..|       |              | |
75  |                       |16|   |HC32AP|           |        | |..|       |   EF6840P    | |
76  |                       |1A|   '------'           '--------' '--'       |              | |
77  |                       '--'   .------.                                 '--------------' |
78  |                              |HC4066|   .-------.                                      |
79  |                              '------'   |HC251AP|    .--.  .-------.                   |
80  |                     .------. .------.   '-------'    |SG|  |74HC93P|    .------------. |
81  |                     |HC251A| |HC251A|                |51|  '-------'    |            | |
82  |                     '------' '------'                |  |               |  MC6850P   | |
83  |                                                      '--'  .-------.    |            | |
84  |                                                            |74HC08A|    '------------' |
85  |                                                            '-------'    .---.          |
86  |                                         .--------.                      |DS1|          |
87  |                                         |HC244AP |                      '---'          |
88  |                                         '--------'                                     |
89  |   .------------------.   .---------.   .----------.   .---------.    .----------.      |
90  |   |!!!!!!!!!!!!!!!!!!|   |!!!!!!!!!|   |!!!!!!!!!!|   |!!!!!!!!!|    |!!!!!!!!!!|      |
91  '----------------------------------------------------------------------------------------'
92
93  ICL1 = ICL7673CPA
94  DS1  = DS1232
95  SG51 = SG51K 0382 80000 MHz
96
97
98
99  Swiss Card Graphics Board...
100  Stickered "960210"
101
102  2x Xilinx XC7336-15
103  3x TC551001BPL-70L (128K x 8 static RAM).
104  2x ROMs.
105  1x 3x32 Female connector.
106  1x 6.000 MHz. Xtal.
107
108
109  Graphics Board layout:
110
111  .-------------------------------------------------------------------------.
112  |                                                                         |
113  |                                                               .-------. |
114  | .--. .---------.                                              |V2.5_HI| |
115  | |74| | XILINX  |                                              |.PR    | |
116  | |HC| |XC7336-15|                                              |       | |
117  | |12| |  PC44C  |                                              |       | |
118  | |5N| | X64654M |  .-----------------------------------------. |       | |
119  | |  | | ACG9539 |  |:::::::::::::::::::::::::::::::::::::::::| |       | |
120  | '--' '---------'  '-----------------------------------------' |       | |
121  |                                                               |       | |
122  |      .--.                                                     |27C256 | |
123  |      |74|                                                     '-------' |
124  |      |HC|                                                               |
125  |.--.  |27|         .---------.    .--. .--.  .--. .--.                   |
126  ||..|  |3N|         |IQXO-100C|    |74| |74|  |74| |74|         .-------. |
127  ||..|  |  |         |6.000 MHz|    |HC| |HC|  |HC| |HC|         |V2.5_LO| |
128  ||..|  |  |         '---------'    |24| |24|  |24| |24|         |.PR    | |
129  ||..|  |  |                        |4N| |5N|  |4N| |5N|         |       | |
130  |'--'  '--'                   .--. |  | |  |  |  | |  |  .--.   |       | |
131  |                             |74| |  | |  |  |  | |  |  |74|   |       | |
132  | .-------.   .---------.     |HC| '--' '--'  '--' '--'  |HC|   |       | |
133  | |TOSHIBA|   | XILINX  |     |24|                       |24|   |       | |
134  | |       |   |XC7336-15|     |4N|   .-------..-------.  |4N|   |       | |
135  | |TC     |   |  PC44C  |     |  |   |TOSHIBA||TOSHIBA|  |  |   |27C256 | |
136  | |551001 |   | A40490A |     |  |   |       ||       |  '--'   '-------' |
137  | |BPL-70L|   | ACG9541 |     '--'   |TC     ||TC     |                   |
138  | |       |   '---------'            |551001 ||551001 |                   |
139  | |       |                   .--.   |BPL-70L||BPL-70L|  .--.             |
140  | |       |                   |74|   |       ||       |  |74|             |
141  | |       |                   |HC|   |       ||       |  |HC|             |
142  | |       |                   |24|   |       ||       |  |24|             |
143  | |       |                   |4N|   |       ||       |  |4N|             |
144  | '-------'                   |  |   |       ||       |  |  |             |
145  |                             |  |   |       ||       |  |  |             |
146  |                             '--'   '-------''-------'  '--'             |
147  '-------------------------------------------------------------------------'
148
149
150  Swiss Card Program Module...
151
152  2x (LO-HI) ROMs.
153  1x PALC22V10D.
154  1x 3x32 Male connector.
155
156  Program Board layout
157  .--------------------------------------.
158  |                                      |
159  | .--------------.    .--------------. |
160  | |V1.0_LO.GR    |    |V1.0_HI.GR    | |
161  | |              |    |              | |
162  | |        27C512|    |        27C512| |
163  | '--------------'    '--------------' |
164  |                                      |
165  |          .---------------.           |
166  |    LOW   |PALC22V10D-15PC|    HIGH   |
167  |          '---------------'           |
168  |--------------------------------------|
169  ||||||||||||||||||||||||||||||||||||||||
170  '--------------------------------------'
171
172
173*******************************************************************************
174
175
176  Movie Card CPU Board...
177  Etched: "Golden Games"
178  Stickered "JQ 6.01"
179
180  CPU: 1x MC68000P8.
181  SND: 1x YM2149F.
182       1x LM380N (audio amp).
183
184  RAM: 2x 84256A-10
185
186  OTHER:
187  1x EF6840P (timer)
188  1x Xilinx XC9572 PC84AEM9917 (In-System Programmable CPLD)
189  2x Philips SCN68681C1A44 (Dual asynchronous receiver/transmitter)
190
191  1x DS1307
192
193  1x 8.000 MHz Xtal.
194  1x Unreadable Xtal.
195  1x Unreadable Xtal.
196
197
198*******************************************************************************
199
200
201  *** Game Notes ***
202
203
204
205
206*******************************************************************************
207
208  --------------------
209  ***  Memory Map  ***
210  --------------------
211
212
213*******************************************************************************
214
215
216  DRIVER UPDATES:
217
218
219  [2010-09-12]
220
221  - Initial release.
222  - Added technical notes.
223
224
225  TODO:
226
227
228
229*******************************************************************************/
230
231
232#define MASTER_CLOCK   XTAL_8MHz   /* from CPU Board */
233#define SECONDARY_CLOCK   XTAL_6MHz   /* from GFX Board */
234
235#include "emu.h"
236#include "cpu/m68000/m68000.h"
237#include "sound/ay8910.h"
238
239
240static UINT16 *videoram;
241
242/*************************
243*     Video Hardware     *
244*************************/
245
246static VIDEO_START( goldngam )
247{
248
249}
250
251static VIDEO_UPDATE( goldngam )
252{
253
254   int x, y;
255
256   UINT8 *tmp = (UINT8 *) videoram;
257   int index = 0;
258
259   for(y = 0; y < 512; ++y)
260   {
261      for(x = 0; x < 384; ++x)
262      {
263        *BITMAP_ADDR16(bitmap, y, x) = tmp[index ^ 1]; /* swapped bytes in 16 bit word */
264         ++index;
265      }
266   }
267
268   return 0;
269}
270
271
272static PALETTE_INIT( goldngam )
273{
274
275}
276
277
278
279/*************************
280* Memory Map Information *
281*************************/
282
283static READ16_HANDLER(unk_r)
284{
285    int test1 = (mame_rand(space->machine) & 0xae00);
286//  popmessage("VAL = %02x", test1);
287
288   return test1;
289}
290
291static ADDRESS_MAP_START( swisspkr_map, ADDRESS_SPACE_PROGRAM, 16 )
292   AM_RANGE(0x000000, 0x03ffff) AM_ROM
293   AM_RANGE(0x200000, 0x20ffff) AM_RAM
294   AM_RANGE(0x400002, 0x400003) AM_NOP // hopper status read ?
295   AM_RANGE(0x40000c, 0x40000d) AM_READ(unk_r)
296   AM_RANGE(0x40000e, 0x40000f) AM_READ_PORT("DSW2")   // not sure...
297   AM_RANGE(0x402000, 0x402001) AM_DEVREAD8("aysnd", ay8910_r, 0x00ff)
298   AM_RANGE(0x402000, 0x402003) AM_DEVWRITE8("aysnd", ay8910_address_data_w, 0x00ff) //wrong
299
300   AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE(&videoram)
301   AM_RANGE(0x500200, 0x50020f) AM_RAM //?
302   AM_RANGE(0x503000, 0x503001) AM_RAM //int ack ?
303   AM_RANGE(0x503002, 0x503003) AM_RAM //int ack ?
304   AM_RANGE(0x503006, 0x503007) AM_RAM //int ack ?
305ADDRESS_MAP_END
306
307
308/* unknown R/W:
309
310'maincpu' (0000C8): unmapped program memory word write to 501500 = 0040 & 00FF
311'maincpu' (01BDB6): unmapped program memory word write to 401000 = 0300 & FF00
312'maincpu' (01BDBE): unmapped program memory word write to 401000 = 5500 & FF00
313'maincpu' (01BDC4): unmapped program memory word read from 401002 & FF00
314'maincpu' (01BB82): unmapped program memory word write to 402000 = 0008 & 00FF
315'maincpu' (01BB88): unmapped program memory word write to 402002 = 0000 & 00FF
316'maincpu' (01BB82): unmapped program memory word write to 402000 = 0009 & 00FF
317'maincpu' (01BB88): unmapped program memory word write to 402002 = 0000 & 00FF
318'maincpu' (01BB82): unmapped program memory word write to 402000 = 000A & 00FF
319'maincpu' (01BB88): unmapped program memory word write to 402002 = 0000 & 00FF
320'maincpu' (01BA5E): unmapped program memory word write to 402000 = 0007 & 00FF
321'maincpu' (01BA66): unmapped program memory word write to 402002 = 007F & 00FF
322'maincpu' (01C072): unmapped program memory word write to 400002 = 0100 & FF00
323'maincpu' (01C076): unmapped program memory word write to 400000 = 8200 & FF00
324'maincpu' (01C07E): unmapped program memory word write to 400004 = 0B00 & FF00
325'maincpu' (01C07E): unmapped program memory word write to 400006 = B700 & FF00
326'maincpu' (01C084): unmapped program memory word write to 400002 = 0000 & FF00
327'maincpu' (01C088): unmapped program memory word write to 400000 = 8300 & FF00
328'maincpu' (01C090): unmapped program memory word write to 40000C = FF00 & FF00
329'maincpu' (01C090): unmapped program memory word write to 40000E = FF00 & FF00
330'maincpu' (01C096): unmapped program memory word write to 400002 = C200 & FF00
331'maincpu' (01C09E): unmapped program memory word write to 400008 = 0600 & FF00
332'maincpu' (01C09E): unmapped program memory word write to 40000A = 4000 & FF00
333'maincpu' (0160DC): unmapped program memory word write to 501500 = 0040 & 00FF
334'maincpu' (015102): unmapped program memory word read from 500400 & 00FF
335'maincpu' (0151BE): unmapped program memory word write to 401000 = 0300 & FF00
336'maincpu' (0151C6): unmapped program memory word write to 401000 = 1500 & FF00
337'maincpu' (0151CC): unmapped program memory word read from 401002 & FF00
338
339*/
340
341static ADDRESS_MAP_START( moviecrd_map, ADDRESS_SPACE_PROGRAM, 16 )
342   AM_RANGE(0x000000, 0x07ffff) AM_ROM
343   AM_RANGE(0x200000, 0x20ffff) AM_RAM
344   AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_BASE(&videoram)
345   AM_RANGE(0x503000, 0x5031ff) AM_RAM //int ack ?
346ADDRESS_MAP_END
347
348/*
349
350  502100-502102  YM2149?
351
352
353*/
354
355/*************************
356*      Input Ports       *
357*************************/
358
359static INPUT_PORTS_START( goldngam )
360
361   PORT_START("IN0")
362   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("IN0-0001")
363   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("IN0-0002")
364   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("IN0-0004")
365   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_NAME("IN0-0008")
366   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN0-0010")
367   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN0-0020")
368   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN0-0040")
369   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN0-0080")
370   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("IN0-0100")
371   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("IN0-0200")
372   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("IN0-0400")
373   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("IN0-0800")
374   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("IN0-1000")
375   PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("IN0-2000")
376   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J) PORT_NAME("IN0-4000")
377   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("IN0-8000")
378
379   PORT_START("IN1")
380   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Z) PORT_NAME("IN1-0001")
381   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X) PORT_NAME("IN1-0002")
382   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_C) PORT_NAME("IN1-0004")
383   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V) PORT_NAME("IN1-0008")
384   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B) PORT_NAME("IN1-0010")
385   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N) PORT_NAME("IN1-0020")
386   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_M) PORT_NAME("IN1-0040")
387   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L) PORT_NAME("IN1-0080")
388   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1) PORT_NAME("IN1-0100")
389   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2) PORT_NAME("IN1-0200")
390   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3) PORT_NAME("IN1-0400")
391   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_NAME("IN1-0800")
392   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5) PORT_NAME("IN1-1000")
393   PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6) PORT_NAME("IN1-2000")
394   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7) PORT_NAME("IN1-4000")
395   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8) PORT_NAME("IN1-8000")
396
397   PORT_START("DSW1")
398   PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
399   PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
400   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
401   PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
402   PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
403   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
404   PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
405   PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
406   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
407   PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
408   PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
409   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
410   PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
411   PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
412   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
413   PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
414   PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
415   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
416   PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
417   PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
418   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
419   PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
420   PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
421   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
422   PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
423   PORT_DIPSETTING(      0x0100, DEF_STR( Off ) )
424   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
425   PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
426   PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
427   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
428   PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
429   PORT_DIPSETTING(      0x0400, DEF_STR( Off ) )
430   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
431   PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
432   PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
433   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
434   PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
435   PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
436   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
437   PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
438   PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
439   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
440   PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
441   PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
442   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
443   PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
444   PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
445   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
446
447   PORT_START("DSW2")
448   PORT_DIPNAME( 0x0001, 0x0001, "switch 2" )
449   PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
450   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
451   PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
452   PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
453   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
454   PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
455   PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
456   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
457   PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
458   PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
459   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
460   PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
461   PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
462   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
463   PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
464   PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
465   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
466   PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
467   PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
468   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
469   PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
470   PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
471   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
472   PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
473   PORT_DIPSETTING(      0x0100, DEF_STR( Off ) )
474   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
475   PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
476   PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
477   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
478   PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
479   PORT_DIPSETTING(      0x0400, DEF_STR( Off ) )
480   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
481   PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
482   PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
483   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
484   PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
485   PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
486   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
487   PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
488   PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
489   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
490   PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
491   PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
492   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
493   PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
494   PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
495   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
496
497INPUT_PORTS_END
498
499
500/*************************
501*    Graphics Layouts    *
502*************************/
503
504/* Used 1bpp gfx just to see the tiles.
505   See tiles 1d30 onward...
506*/
507
508static const gfx_layout charlayout =
509{
510   8, 8,
511   RGN_FRAC(1,2),
512   1,
513   { 0 },
514   { 0, 1, 2, 3, 4, 5, 6, 7 },
515   { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
516   8*8   /* every char takes 8 consecutive bytes */
517};
518
519
520/******************************
521* Graphics Decode Information *
522******************************/
523
524static GFXDECODE_START( goldngam )
525   GFXDECODE_ENTRY( "maincpu", 0, charlayout, 0, 16 )
526GFXDECODE_END
527
528
529/*************************
530*    Machine Drivers     *
531*************************/
532
533
534static const ay8910_interface goldngam_ay8910_interface =
535{
536   AY8910_LEGACY_OUTPUT,
537   AY8910_DEFAULT_LOADS,
538   DEVCB_NULL, //r
539   DEVCB_NULL, //r
540   DEVCB_NULL,
541   DEVCB_NULL
542};
543
544static MACHINE_CONFIG_START( swisspkr, driver_device )
545
546   /* basic machine hardware */
547   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK)
548   MDRV_CPU_PROGRAM_MAP(swisspkr_map)
549   MDRV_CPU_VBLANK_INT("screen", irq2_line_hold)
550
551   /* video hardware */
552   MDRV_SCREEN_ADD("screen", RASTER)
553   MDRV_SCREEN_REFRESH_RATE(60)
554   MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
555   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
556   MDRV_SCREEN_SIZE(64*8, 64*8)
557   MDRV_SCREEN_VISIBLE_AREA(4*8, 43*8-1, 1*8, 37*8-1)   // 312x288
558
559   MDRV_GFXDECODE(goldngam)
560
561   MDRV_PALETTE_INIT(goldngam)
562   MDRV_PALETTE_LENGTH(512)
563
564   MDRV_VIDEO_START(goldngam)
565   MDRV_VIDEO_UPDATE(goldngam)
566
567   /* sound hardware */
568   MDRV_SPEAKER_STANDARD_MONO("mono")
569
570   MDRV_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK/4)
571   MDRV_SOUND_CONFIG(goldngam_ay8910_interface)
572   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
573MACHINE_CONFIG_END
574
575
576static MACHINE_CONFIG_DERIVED( moviecrd, swisspkr )
577
578   /* basic machine hardware */
579   MDRV_CPU_MODIFY("maincpu")
580   MDRV_CPU_PROGRAM_MAP(moviecrd_map)
581MACHINE_CONFIG_END
582
583
584/*************************
585*        Rom Load        *
586*************************/
587
588ROM_START( swisspkr )
589   ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */
590   ROM_LOAD16_BYTE( "v2.5_hi.pr", 0x00000, 0x10000, CRC(a7f85661) SHA1(aa307bcfe0dfb07120b9711d65916b8689626b00) )
591   ROM_LOAD16_BYTE( "v2.5_lo.pr", 0x00001, 0x10000, CRC(142db5d0) SHA1(cc6481a206ed1b0f19cccaab7d6158e81e483c9b) )
592
593   ROM_REGION( 0x40000, "gfx1", 0 )   /* The following ROMs have code for 'Super Cherry' */
594   ROM_LOAD16_BYTE( "v1.0_hi.gr", 0x20000, 0x10000, CRC(ea750ab1) SHA1(d1284e7f2628c3aa3de9246e475d45e6be48890e) )
595   ROM_LOAD16_BYTE( "v1.0_lo.gr", 0x20001, 0x10000, CRC(d885b965) SHA1(5f2ae3e21cf4e0d20c99cec2dfd3a6f72358535a) )
596ROM_END
597
598ROM_START( moviecrd )
599   ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */
600   ROM_LOAD16_BYTE( "v1.2_hi.pro", 0x20000, 0x20000, CRC(2210dd79) SHA1(007e9930965d6281889fca487f00a1edaac54d85) )
601   ROM_CONTINUE(                   0x00000, 0x20000)
602   ROM_LOAD16_BYTE( "v1.2_lo.pro", 0x20001, 0x20000, CRC(adb6060f) SHA1(1aff8be7830f61f97720e773eab7985956c7569d) )
603   ROM_CONTINUE(                   0x00001, 0x20000)
604
605   ROM_REGION( 0x40000, "gfx1", 0 )
606   ROM_LOAD16_BYTE( "v1.2_hi.gfx", 0x00000, 0x10000, CRC(0b62d1a8) SHA1(4156379cc000cbea997b1c21cebea9021fa697b2) )
607   ROM_LOAD16_BYTE( "v1.2_lo.gfx", 0x00001, 0x10000, CRC(70e8e9d5) SHA1(c026493b4bd302d389219ba564aafa42fca86491) )
608ROM_END
609
610
611/*************************
612*      Game Drivers      *
613*************************/
614
615/*    YEAR  NAME      PARENT    MACHINE    INPUT      INIT  ROT    COMPANY                           FULLNAME                          FLAGS */
616GAME( 1990, swisspkr, 0,        swisspkr,  goldngam,  0,    ROT0, "Golden Games / C+M Technics AG", "Swiss Poker ('50 SG-.10', V2.5)", GAME_NO_SOUND | GAME_NOT_WORKING )
617GAME( 1998, moviecrd, 0,        moviecrd,  goldngam,  0,    ROT0, "Golden Games / C+M Technics AG", "Movie Card",                      GAME_NO_SOUND | GAME_NOT_WORKING )
src/mame/drivers/circusc.c
r9191r9192
331331
332332DISCRETE_SOUND_END
333333
334static MACHINE_DRIVER_START( circusc )
334static MACHINE_CONFIG_START( circusc, circusc_state )
335335
336   /* driver data */
337   MDRV_DRIVER_DATA(circusc_state)
338
339336   /* basic machine hardware */
340337   MDRV_CPU_ADD("maincpu", M6809, 2048000)        /* 2 MHz */
341338   MDRV_CPU_PROGRAM_MAP(circusc_map)
r9191r9192
380377   MDRV_SOUND_CONFIG_DISCRETE(circusc)
381378   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
382379
383MACHINE_DRIVER_END
380MACHINE_CONFIG_END
384381
385382
386383
src/mame/drivers/laserbas.c
r9191r9192
2020#include "cpu/z80/z80.h"
2121#include "deprecat.h"
2222
23class laserbas_state : public driver_data_t
23class laserbas_state : public driver_device
2424{
2525public:
26   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, laserbas_state(machine)); }
26   laserbas_state(running_machine &machine, const driver_device_config_base &config)
27      : driver_device(machine, config) { }
2728
28   laserbas_state(running_machine &machine)
29      : driver_data_t(machine) { }
30
3129   /* video-related */
3230   UINT8    *vram1;
3331   UINT8    *vram2;
r9191r9192
173171   state->count = 0;
174172}
175173
176static MACHINE_DRIVER_START( laserbas )
177   MDRV_DRIVER_DATA(laserbas_state)
174static MACHINE_CONFIG_START( laserbas, laserbas_state )
178175
179176   MDRV_CPU_ADD("maincpu", Z80, 4000000)
180177   MDRV_CPU_PROGRAM_MAP(laserbas_memory)
r9191r9192
194191   MDRV_PALETTE_LENGTH(32)
195192   MDRV_VIDEO_START(laserbas)
196193   MDRV_VIDEO_UPDATE(laserbas)
197MACHINE_DRIVER_END
194MACHINE_CONFIG_END
198195
199196/*
200197Amstar LaserBase 1981 (Hoei)
src/mame/drivers/mikie.c
r9191r9192
244244   state->last_irq = 0;
245245}
246246
247static MACHINE_DRIVER_START( mikie )
247static MACHINE_CONFIG_START( mikie, mikie_state )
248248
249   /* driver data */
250   MDRV_DRIVER_DATA(mikie_state)
251
252249   /* basic machine hardware */
253250   MDRV_CPU_ADD("maincpu", M6809, OSC/12)
254251   MDRV_CPU_PROGRAM_MAP(mikie_map)
r9191r9192
283280
284281   MDRV_SOUND_ADD("sn2", SN76489A, CLK)
285282   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
286MACHINE_DRIVER_END
283MACHINE_CONFIG_END
287284
288285/*************************************
289286 *
src/mame/drivers/kingpin.c
r9191r9192
2323#include "cpu/z80/z80.h"
2424#include "video/tms9928a.h"
2525#include "sound/ay8910.h"
26#include "machine/nvram.h"
2627
2728static READ8_HANDLER( io_read_missing_dips )
2829{
r9191r9192
8990/* A 3.6V battery traces directly to U19, rendering it nvram */
9091static ADDRESS_MAP_START( kingpin_program_map, ADDRESS_SPACE_PROGRAM, 8 )
9192   AM_RANGE(0x0000, 0xdfff) AM_ROM
92   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
93   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram")
9394ADDRESS_MAP_END
9495
9596static ADDRESS_MAP_START( kingpin_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
138139   vdp_interrupt
139140};
140141
141static MACHINE_DRIVER_START( kingpin )
142static MACHINE_CONFIG_START( kingpin, driver_device )
142143/*  MAIN CPU */
143144   MDRV_CPU_ADD("maincpu", Z80, 3579545)
144145   MDRV_CPU_PROGRAM_MAP(kingpin_program_map)
r9191r9192
151152   /*MDRV_CPU_IO_MAP(sound_io_map)*/
152153
153154/*  VIDEO */
154   MDRV_IMPORT_FROM(tms9928a)
155   MDRV_FRAGMENT_ADD(tms9928a)
155156
156157   MDRV_SCREEN_MODIFY("screen")
157158   MDRV_SCREEN_REFRESH_RATE(60)
158159   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
159160   MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
160161
161   MDRV_NVRAM_HANDLER(generic_0fill)
162   MDRV_NVRAM_ADD_0FILL("nvram")
162163
163164/* Sound chip is a AY-3-8912 */
164165/*
r9191r9192
168169    MDRV_SOUND_CONFIG(ay8912_interface)
169170    MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
170171*/
171MACHINE_DRIVER_END
172MACHINE_CONFIG_END
172173
173174static DRIVER_INIT( kingpin )
174175{
src/mame/drivers/midvunit.c
r9191r9192
2424#include "audio/dcs.h"
2525#include "machine/idectrl.h"
2626#include "machine/midwayic.h"
27#include "machine/nvram.h"
2728#include "includes/midvunit.h"
2829
2930
r9191r9192
182183
183184static WRITE32_HANDLER( midvunit_cmos_w )
184185{
186   midvunit_state *state = space->machine->driver_data<midvunit_state>();
185187   if (!cmos_protected)
186      COMBINE_DATA(space->machine->generic.nvram.u32 + offset);
188      COMBINE_DATA(state->m_nvram + offset);
187189}
188190
189191
190192static READ32_HANDLER( midvunit_cmos_r )
191193{
192   return space->machine->generic.nvram.u32[offset];
194   midvunit_state *state = space->machine->driver_data<midvunit_state>();
195   return state->m_nvram[offset];
193196}
194197
195198
r9191r9192
354357
355358static READ32_HANDLER( bit_data_r )
356359{
360   midvunit_state *state = space->machine->driver_data<midvunit_state>();
357361   int bit = (bit_data[bit_index / 32] >> (31 - (bit_index % 32))) & 1;
358362   bit_index = (bit_index + 1) % 512;
359   return bit ? space->machine->generic.nvram.u32[offset] : ~space->machine->generic.nvram.u32[offset];
363   return bit ? state->m_nvram[offset] : ~state->m_nvram[offset];
360364}
361365
362366
r9191r9192
502506   AM_RANGE(0x995020, 0x995020) AM_WRITE(midvunit_cmos_protect_w)
503507   AM_RANGE(0x997000, 0x997000) AM_NOP   // communications
504508   AM_RANGE(0x9a0000, 0x9a0000) AM_WRITE(midvunit_sound_w)
505   AM_RANGE(0x9c0000, 0x9c1fff) AM_READWRITE(midvunit_cmos_r, midvunit_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
509   AM_RANGE(0x9c0000, 0x9c1fff) AM_READWRITE(midvunit_cmos_r, midvunit_cmos_w) AM_SHARE("nvram")
506510   AM_RANGE(0x9e0000, 0x9e7fff) AM_RAM_WRITE(midvunit_paletteram_w) AM_BASE_GENERIC(paletteram)
507511   AM_RANGE(0xa00000, 0xbfffff) AM_READWRITE(midvunit_textureram_r, midvunit_textureram_w) AM_BASE(&midvunit_textureram)
508512   AM_RANGE(0xc00000, 0xffffff) AM_ROM AM_REGION("user1", 0)
r9191r9192
10181022 *
10191023 *************************************/
10201024
1021static MACHINE_DRIVER_START( midvcommon )
1025static MACHINE_CONFIG_START( midvcommon, midvunit_state )
10221026
10231027   /* basic machine hardware */
10241028   MDRV_CPU_ADD("maincpu", TMS32031, CPU_CLOCK)
r9191r9192
10261030
10271031   MDRV_MACHINE_START(midvunit)
10281032   MDRV_MACHINE_RESET(midvunit)
1029   MDRV_NVRAM_HANDLER(generic_1fill)
1033   MDRV_NVRAM_ADD_1FILL("nvram")
10301034
10311035   MDRV_TIMER_ADD("timer0", NULL)
10321036   MDRV_TIMER_ADD("timer1", NULL)
r9191r9192
10401044
10411045   MDRV_VIDEO_START(midvunit)
10421046   MDRV_VIDEO_UPDATE(midvunit)
1043MACHINE_DRIVER_END
1047MACHINE_CONFIG_END
10441048
10451049
1046static MACHINE_DRIVER_START( midvunit )
1047   MDRV_IMPORT_FROM(midvcommon)
1050static MACHINE_CONFIG_DERIVED( midvunit, midvcommon )
10481051
10491052   /* sound hardware */
1050   MDRV_IMPORT_FROM(dcs_audio_2k)
1051MACHINE_DRIVER_END
1053   MDRV_FRAGMENT_ADD(dcs_audio_2k)
1054MACHINE_CONFIG_END
10521055
10531056
1054static MACHINE_DRIVER_START( midvplus )
1055   MDRV_IMPORT_FROM(midvcommon)
1057static MACHINE_CONFIG_DERIVED( midvplus, midvcommon )
10561058
10571059   /* basic machine hardware */
10581060   MDRV_CPU_MODIFY("maincpu")
r9191r9192
10601062   MDRV_CPU_PROGRAM_MAP(midvplus_map)
10611063
10621064   MDRV_MACHINE_RESET(midvplus)
1065   MDRV_DEVICE_REMOVE("nvram")
10631066   MDRV_NVRAM_HANDLER(midway_serial_pic2)
10641067
10651068   MDRV_IDE_CONTROLLER_ADD("ide", NULL)
10661069
10671070   /* sound hardware */
1068   MDRV_IMPORT_FROM(dcs2_audio_2115)
1069MACHINE_DRIVER_END
1071   MDRV_FRAGMENT_ADD(dcs2_audio_2115)
1072MACHINE_CONFIG_END
10701073
10711074
10721075
src/mame/drivers/usgames.c
r9191r9192
2727#include "cpu/m6809/m6809.h"
2828#include "video/mc6845.h"
2929#include "sound/ay8910.h"
30#include "includes/usgames.h"
31#include "machine/nvram.h"
3032
31/* video */
32WRITE8_HANDLER( usgames_videoram_w );
33WRITE8_HANDLER( usgames_charram_w );
34VIDEO_START(usgames);
35PALETTE_INIT(usgames);
36VIDEO_UPDATE(usgames);
3733
38
39extern UINT8 *usgames_videoram,*usgames_charram;
40
41
4234static WRITE8_HANDLER( usgames_rombank_w )
4335{
4436   UINT8 *RAM = memory_region(space->machine, "maincpu");
r9191r9192
6961
7062
7163static ADDRESS_MAP_START( usgames_map, ADDRESS_SPACE_PROGRAM, 8 )
72   AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
64   AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
7365   AM_RANGE(0x2000, 0x2000) AM_READ_PORT("DSW")
7466   AM_RANGE(0x2010, 0x2010) AM_READ_PORT("INPUTS")
7567   AM_RANGE(0x2020, 0x2020) AM_WRITE(lamps1_w)
r9191r9192
8880
8981
9082static ADDRESS_MAP_START( usg185_map, ADDRESS_SPACE_PROGRAM, 8 )
91   AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
83   AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram")
9284   AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("aysnd", ay8910_address_data_w)
9385   AM_RANGE(0x2400, 0x2400) AM_READ_PORT("DSW")
9486   AM_RANGE(0x2410, 0x2410) AM_READ_PORT("INPUTS")
r9191r9192
237229};
238230
239231
240static MACHINE_DRIVER_START( usg32 )
232static MACHINE_CONFIG_START( usg32, driver_device )
241233
242234   /* basic machine hardware */
243235   MDRV_CPU_ADD("maincpu", M6809, 2000000) /* ?? */
244236   MDRV_CPU_PROGRAM_MAP(usgames_map)
245237   MDRV_CPU_PERIODIC_INT(irq0_line_hold,5*60) /* ?? */
246238
247   MDRV_NVRAM_HANDLER(generic_0fill)
239   MDRV_NVRAM_ADD_0FILL("nvram")
248240
249241   /* video hardware */
250242   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
268260
269261   MDRV_SOUND_ADD("aysnd", AY8910, 2000000)
270262   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
271MACHINE_DRIVER_END
263MACHINE_CONFIG_END
272264
273static MACHINE_DRIVER_START( usg185 )
274   MDRV_IMPORT_FROM(usg32)
265static MACHINE_CONFIG_DERIVED( usg185, usg32 )
275266   MDRV_CPU_MODIFY("maincpu")
276267   MDRV_CPU_PROGRAM_MAP(usg185_map)
277MACHINE_DRIVER_END
268MACHINE_CONFIG_END
278269
279270
280271
src/mame/drivers/opwolf.c
r9191r9192
282282#include "audio/taitosnd.h"
283283#include "sound/2151intf.h"
284284#include "sound/msm5205.h"
285#include "includes/rastan.h"
285286#include "includes/opwolf.h"
286287
287288static READ16_HANDLER( cchip_r )
r9191r9192
735736   "maincpu", "audiocpu"
736737};
737738
738static MACHINE_DRIVER_START( opwolf )
739static MACHINE_CONFIG_START( opwolf, opwolf_state )
739740
740   /* driver data */
741   MDRV_DRIVER_DATA(opwolf_state)
742
743741   /* basic machine hardware */
744742   MDRV_CPU_ADD("maincpu", M68000, CPU_CLOCK )   /* 8 MHz */
745743   MDRV_CPU_PROGRAM_MAP(opwolf_map)
r9191r9192
788786   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60)
789787
790788   MDRV_TC0140SYT_ADD("tc0140syt", opwolf_tc0140syt_intf)
791MACHINE_DRIVER_END
789MACHINE_CONFIG_END
792790
793791
794static MACHINE_DRIVER_START( opwolfb ) /* OSC clocks unknown for the bootleg, but changed to match original sets */
792static MACHINE_CONFIG_START( opwolfb, opwolf_state ) /* OSC clocks unknown for the bootleg, but changed to match original sets */
795793
796   /* driver data */
797   MDRV_DRIVER_DATA(opwolf_state)
798
799794   /* basic machine hardware */
800795   MDRV_CPU_ADD("maincpu", M68000, CPU_CLOCK )   /* 8 MHz ??? */
801796   MDRV_CPU_PROGRAM_MAP(opwolfb_map)
r9191r9192
847842   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60)
848843
849844   MDRV_TC0140SYT_ADD("tc0140syt", opwolf_tc0140syt_intf)
850MACHINE_DRIVER_END
845MACHINE_CONFIG_END
851846
852847
853848/***************************************************************************
src/mame/drivers/pangofun.c
r9191r9192
110110INPUT_PORTS_END
111111
112112
113static MACHINE_DRIVER_START( pangofun )
113static MACHINE_CONFIG_START( pangofun, driver_device )
114114   /* basic machine hardware */
115115   MDRV_CPU_ADD("maincpu", I486, 14318180*2)   /* I486 ?? Mhz */
116116   MDRV_CPU_PROGRAM_MAP(pangofun_map)
r9191r9192
127127
128128   MDRV_VIDEO_START(pangofun)
129129   MDRV_VIDEO_UPDATE(pangofun)
130MACHINE_DRIVER_END
130MACHINE_CONFIG_END
131131
132132
133133ROM_START(pangofun)
src/mame/drivers/suna16.c
r9191r9192
2929#include "sound/2151intf.h"
3030#include "sound/ay8910.h"
3131#include "sound/3526intf.h"
32#include "includes/suna16.h"
3233
33/* Variables and functions defined in video: */
34
35WRITE16_HANDLER( suna16_flipscreen_w );
36WRITE16_HANDLER( bestbest_flipscreen_w );
37
38READ16_HANDLER ( suna16_paletteram16_r );
39WRITE16_HANDLER( suna16_paletteram16_w );
40
41VIDEO_START( suna16 );
42VIDEO_UPDATE( suna16 );
43VIDEO_UPDATE( bestbest );
44
45
4634/***************************************************************************
4735
4836
r9191r9192
10694   AM_RANGE(0x200000, 0x203fff) AM_RAM   // RAM
10795   AM_RANGE(0x400000, 0x4001ff) AM_READWRITE(suna16_paletteram16_r, suna16_paletteram16_w)  // Banked Palette
10896   AM_RANGE(0x400200, 0x400fff) AM_RAM   //
109   AM_RANGE(0x600000, 0x61ffff) AM_RAM AM_BASE_GENERIC(spriteram)   // Sprites
97   AM_RANGE(0x600000, 0x61ffff) AM_RAM AM_BASE_MEMBER(suna16_state, spriteram)   // Sprites
11098   AM_RANGE(0xa00000, 0xa00001) AM_READ_PORT("P1") AM_WRITE(suna16_soundlatch_w)   // To Sound CPU
11199   AM_RANGE(0xa00002, 0xa00003) AM_READ_PORT("P2") AM_WRITE(suna16_flipscreen_w)   // Flip Screen
112100   AM_RANGE(0xa00004, 0xa00005) AM_READ_PORT("P3") AM_WRITE(bssoccer_leds_w)   // Leds
r9191r9192
125113   AM_RANGE(0x800000, 0x803fff) AM_RAM   // RAM
126114   AM_RANGE(0x200000, 0x2001ff) AM_READWRITE(suna16_paletteram16_r, suna16_paletteram16_w)   // Banked Palette
127115   AM_RANGE(0x200200, 0x200fff) AM_RAM   //
128   AM_RANGE(0x400000, 0x41ffff) AM_MIRROR(0x1e0000) AM_RAM AM_BASE_GENERIC(spriteram)   // Sprites
116   AM_RANGE(0x400000, 0x41ffff) AM_MIRROR(0x1e0000) AM_RAM AM_BASE_MEMBER(suna16_state, spriteram)   // Sprites
129117   AM_RANGE(0x600000, 0x600001) AM_READ_PORT("P1") AM_WRITE(suna16_soundlatch_w)   // To Sound CPU
130118   AM_RANGE(0x600002, 0x600003) AM_READ_PORT("P2")
131119   AM_RANGE(0x600004, 0x600005) AM_READ_PORT("DSW1") AM_WRITE(suna16_flipscreen_w)   // Flip Screen
r9191r9192
150138   AM_RANGE(0x540000, 0x5401ff) AM_READWRITE(suna16_paletteram16_r, suna16_paletteram16_w)
151139   AM_RANGE(0x540200, 0x540fff) AM_RAM   // RAM
152140   AM_RANGE(0x580000, 0x583fff) AM_RAM   // RAM
153   AM_RANGE(0x5c0000, 0x5dffff) AM_RAM AM_BASE_GENERIC(spriteram)   // Sprites
141   AM_RANGE(0x5c0000, 0x5dffff) AM_RAM AM_BASE_MEMBER(suna16_state, spriteram)   // Sprites
154142ADDRESS_MAP_END
155143
156144
r9191r9192
158146                            Best Of Best
159147***************************************************************************/
160148
161static UINT16 prot;
162
163149static READ16_HANDLER( bestbest_prot_r )
164150{
165   return prot;
151   suna16_state *state = space->machine->driver_data<suna16_state>();
152
153   return state->prot;
166154}
167155
168156static WRITE16_HANDLER( bestbest_prot_w )
169157{
170158   if (ACCESSING_BITS_0_7)
171159   {
160      suna16_state *state = space->machine->driver_data<suna16_state>();
161
172162      switch (data & 0xff)
173163      {
174         case 0x00:   prot = prot ^ 0x0009;   break;
175         case 0x08:   prot = prot ^ 0x0002;   break;
176         case 0x0c:   prot = prot ^ 0x0003;   break;
177//          default:    logerror("CPU#0 PC %06X - Unknown protection value: %04X\n", cpu_get_pc(space->cpu), data);
164         case 0x00:   state->prot = state->prot ^ 0x0009;   break;
165         case 0x08:   state->prot = state->prot ^ 0x0002;   break;
166         case 0x0c:   state->prot = state->prot ^ 0x0003;   break;
167         //default:    logerror("CPU#0 PC %06X - Unknown protection value: %04X\n", cpu_get_pc(space->cpu), data);
178168      }
179169   }
180170}
r9191r9192
191181   AM_RANGE( 0x540000, 0x540fff ) AM_READWRITE( suna16_paletteram16_r, suna16_paletteram16_w )   // Banked(?) Palette
192182   AM_RANGE( 0x541000, 0x54ffff ) AM_RAM                                          //
193183   AM_RANGE( 0x580000, 0x58ffff ) AM_RAM                     // RAM
194   AM_RANGE( 0x5c0000, 0x5dffff ) AM_RAM AM_BASE_GENERIC( spriteram  )   // Sprites (Chip 1)
195   AM_RANGE( 0x5e0000, 0x5fffff ) AM_RAM AM_BASE_GENERIC( spriteram2 )   // Sprites (Chip 2)
184   AM_RANGE( 0x5c0000, 0x5dffff ) AM_RAM AM_BASE_MEMBER(suna16_state, spriteram)   // Sprites (Chip 1)
185   AM_RANGE( 0x5e0000, 0x5fffff ) AM_RAM AM_BASE_MEMBER(suna16_state, spriteram2)   // Sprites (Chip 2)
196186ADDRESS_MAP_END
197187
198188
r9191r9192
759749   }
760750}
761751
762static MACHINE_DRIVER_START( bssoccer )
752static MACHINE_CONFIG_START( bssoccer, suna16_state )
763753
764754   /* basic machine hardware */
765755   MDRV_CPU_ADD("maincpu", M68000, 8000000)   /* ? */
r9191r9192
811801
812802   MDRV_SOUND_ADD("dac4", DAC, 0)
813803   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
814MACHINE_DRIVER_END
804MACHINE_CONFIG_END
815805
816806
817807
r9191r9192
819809                                Ultra Balloon
820810***************************************************************************/
821811
822static MACHINE_DRIVER_START( uballoon )
812static MACHINE_CONFIG_START( uballoon, suna16_state )
823813
824814   /* basic machine hardware */
825815   MDRV_CPU_ADD("maincpu", M68000, 8000000)
r9191r9192
865855
866856   MDRV_SOUND_ADD("dac2", DAC, 0)
867857   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
868MACHINE_DRIVER_END
858MACHINE_CONFIG_END
869859
870860/***************************************************************************
871861                            Suna Quiz 6000 Academy
872862***************************************************************************/
873863
874static MACHINE_DRIVER_START( sunaq )
864static MACHINE_CONFIG_START( sunaq, suna16_state )
865
875866   /* basic machine hardware */
876867   MDRV_CPU_ADD("maincpu", M68000, 24000000/4)
877868   MDRV_CPU_PROGRAM_MAP(sunaq_map)
r9191r9192
914905
915906   MDRV_SOUND_ADD("dac2", DAC, 0)
916907   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
917MACHINE_DRIVER_END
908MACHINE_CONFIG_END
918909
919910/***************************************************************************
920911                            Best Of Best
r9191r9192
943934   DEVCB_HANDLER(bestbest_ay8910_port_a_w),   DEVCB_NULL
944935};
945936
946static MACHINE_DRIVER_START( bestbest )
937static MACHINE_CONFIG_START( bestbest, suna16_state )
938
947939   /* basic machine hardware */
948940   MDRV_CPU_ADD("maincpu", M68000, 24000000/4)
949941   MDRV_CPU_PROGRAM_MAP(bestbest_map)
r9191r9192
998990
999991   MDRV_SOUND_ADD("dac4", DAC, 0)
1000992   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
1001MACHINE_DRIVER_END
993MACHINE_CONFIG_END
1002994
1003995/***************************************************************************
1004996
src/mame/drivers/taitopjc.c
r9191r9192
8686   XTAL_66_6667MHz      /* Multiplier 1.5, Bus = 66MHz, Core = 100MHz */
8787};
8888
89static MACHINE_DRIVER_START( taitopjc )
89static MACHINE_CONFIG_START( taitopjc, driver_device )
9090   MDRV_CPU_ADD("maincpu", PPC603E, 100000000)
9191   MDRV_CPU_CONFIG(ppc603e_config)
9292   MDRV_CPU_PROGRAM_MAP(ppc603e_mem)
r9191r9192
104104
105105   MDRV_VIDEO_START(taitopjc)
106106   MDRV_VIDEO_UPDATE(taitopjc)
107MACHINE_DRIVER_END
107MACHINE_CONFIG_END
108108
109109
110110ROM_START( optiger )
src/mame/drivers/shadfrce.c
r9191r9192
403403   AM_RANGE(0x0000, 0xbfff) AM_ROM
404404   AM_RANGE(0xc000, 0xc7ff) AM_RAM
405405   AM_RANGE(0xc800, 0xc801) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
406   AM_RANGE(0xd800, 0xd800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
406   AM_RANGE(0xd800, 0xd800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
407407   AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
408408   AM_RANGE(0xe800, 0xe800) AM_DEVWRITE("oki", oki_bankswitch_w)
409409   AM_RANGE(0xf000, 0xffff) AM_RAM
r9191r9192
556556   irq_handler
557557};
558558
559static MACHINE_DRIVER_START( shadfrce )
559static MACHINE_CONFIG_START( shadfrce, shadfrce_state )
560560
561   MDRV_DRIVER_DATA( shadfrce_state )
562
563561   MDRV_CPU_ADD("maincpu", M68000, CPU_CLOCK)         /* verified on pcb */
564562   MDRV_CPU_PROGRAM_MAP(shadfrce_map)
565563   MDRV_TIMER_ADD_SCANLINE("scantimer", shadfrce_scanline, "screen", 0, 1)
r9191r9192
589587   MDRV_OKIM6295_ADD("oki", XTAL_13_4952MHz/8, OKIM6295_PIN7_HIGH)   /* verified on pcb */
590588   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
591589   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
592MACHINE_DRIVER_END
590MACHINE_CONFIG_END
593591
594592/* Rom Defs. */
595593
src/mame/drivers/firebeat.c
r9191r9192
135135
136136static emu_timer *keyboard_timer;
137137
138static fujitsu_29f016a_device *flash[3];
139
138140static GCU_REGS gcu[2];
139141
140142static VIDEO_START(firebeat)
r9191r9192
709711   UINT32 r = 0;
710712   if (ACCESSING_BITS_24_31)
711713   {
712      r |= (intelflash_read(0, (offset*4)+0) & 0xff) << 24;
714      r |= (flash[0]->read((offset*4)+0) & 0xff) << 24;
713715   }
714716   if (ACCESSING_BITS_16_23)
715717   {
716      r |= (intelflash_read(0, (offset*4)+1) & 0xff) << 16;
718      r |= (flash[0]->read((offset*4)+1) & 0xff) << 16;
717719   }
718720   if (ACCESSING_BITS_8_15)
719721   {
720      r |= (intelflash_read(0, (offset*4)+2) & 0xff) << 8;
722      r |= (flash[0]->read((offset*4)+2) & 0xff) << 8;
721723   }
722724   if (ACCESSING_BITS_0_7)
723725   {
724      r |= (intelflash_read(0, (offset*4)+3) & 0xff) << 0;
726      r |= (flash[0]->read((offset*4)+3) & 0xff) << 0;
725727   }
726728   return r;
727729}
r9191r9192
730732{
731733   if (ACCESSING_BITS_24_31)
732734   {
733      intelflash_write(0, (offset*4)+0, (data >> 24) & 0xff);
735      flash[0]->write((offset*4)+0, (data >> 24) & 0xff);
734736   }
735737   if (ACCESSING_BITS_16_23)
736738   {
737      intelflash_write(0, (offset*4)+1, (data >> 16) & 0xff);
739      flash[0]->write((offset*4)+1, (data >> 16) & 0xff);
738740   }
739741   if (ACCESSING_BITS_8_15)
740742   {
741      intelflash_write(0, (offset*4)+2, (data >> 8) & 0xff);
743      flash[0]->write((offset*4)+2, (data >> 8) & 0xff);
742744   }
743745   if (ACCESSING_BITS_0_7)
744746   {
745      intelflash_write(0, (offset*4)+3, (data >> 0) & 0xff);
747      flash[0]->write((offset*4)+3, (data >> 0) & 0xff);
746748   }
747749}
748750
749751static READ32_HANDLER(soundflash_r)
750752{
751753   UINT32 r = 0;
752   int chip;
754   fujitsu_29f016a_device *chip;
753755   if (offset >= 0 && offset < 0x200000/4)
754756   {
755      chip = 1;
757      chip = flash[1];
756758   }
757759   else
758760   {
759      chip = 2;
761      chip = flash[2];
760762   }
761763
762764   offset &= 0x7ffff;
763765
764766   if (ACCESSING_BITS_24_31)
765767   {
766      r |= (intelflash_read(chip, (offset*4)+0) & 0xff) << 24;
768      r |= (chip->read((offset*4)+0) & 0xff) << 24;
767769   }
768770   if (ACCESSING_BITS_16_23)
769771   {
770      r |= (intelflash_read(chip, (offset*4)+1) & 0xff) << 16;
772      r |= (chip->read((offset*4)+1) & 0xff) << 16;
771773   }
772774   if (ACCESSING_BITS_8_15)
773775   {
774      r |= (intelflash_read(chip, (offset*4)+2) & 0xff) << 8;
776      r |= (chip->read((offset*4)+2) & 0xff) << 8;
775777   }
776778   if (ACCESSING_BITS_0_7)
777779   {
778      r |= (intelflash_read(chip, (offset*4)+3) & 0xff) << 0;
780      r |= (chip->read((offset*4)+3) & 0xff) << 0;
779781   }
780782   return r;
781783}
782784
783785static WRITE32_HANDLER(soundflash_w)
784786{
785   int chip;
787   fujitsu_29f016a_device *chip;
786788   if (offset >= 0 && offset < 0x200000/4)
787789   {
788      chip = 1;
790      chip = flash[1];
789791   }
790792   else
791793   {
792      chip = 2;
794      chip = flash[2];
793795   }
794796
795797   offset &= 0x7ffff;
796798
797799   if (ACCESSING_BITS_24_31)
798800   {
799      intelflash_write(chip, (offset*4)+0, (data >> 24) & 0xff);
801      chip->write((offset*4)+0, (data >> 24) & 0xff);
800802   }
801803   if (ACCESSING_BITS_16_23)
802804   {
803      intelflash_write(chip, (offset*4)+1, (data >> 16) & 0xff);
805      chip->write((offset*4)+1, (data >> 16) & 0xff);
804806   }
805807   if (ACCESSING_BITS_8_15)
806808   {
807      intelflash_write(chip, (offset*4)+2, (data >> 8) & 0xff);
809      chip->write((offset*4)+2, (data >> 8) & 0xff);
808810   }
809811   if (ACCESSING_BITS_0_7)
810812   {
811      intelflash_write(chip, (offset*4)+3, (data >> 0) & 0xff);
813      chip->write((offset*4)+3, (data >> 0) & 0xff);
812814   }
813815}
814816
r9191r9192
16871689
16881690   /* configure fast RAM regions for DRC */
16891691   ppcdrc_add_fastram(machine->device("maincpu"), 0x00000000, 0x01ffffff, FALSE, work_ram);
1692
1693   flash[0] = machine->device<fujitsu_29f016a_device>("flash0");
1694   flash[1] = machine->device<fujitsu_29f016a_device>("flash1");
1695   flash[2] = machine->device<fujitsu_29f016a_device>("flash2");
16901696}
16911697
16921698static ADDRESS_MAP_START( firebeat_map, ADDRESS_SPACE_PROGRAM, 32 )
r9191r9192
17241730{
17251731   if (offset >= 0 && offset < 0x200000)
17261732   {
1727      return intelflash_read(1, offset & 0x1fffff);
1733      return flash[1]->read(offset & 0x1fffff);
17281734   }
17291735   else if (offset >= 0x200000 && offset < 0x400000)
17301736   {
1731      return intelflash_read(2, offset & 0x1fffff);
1737      return flash[2]->read(offset & 0x1fffff);
17321738   }
17331739   return 0;
17341740}
r9191r9192
17431749   DEVCB_HANDLER(soundram_r)
17441750};
17451751
1746static NVRAM_HANDLER(firebeat)
1747{
1748   nvram_handler_intelflash(machine, 0, file, read_or_write);
1749   nvram_handler_intelflash(machine, 1, file, read_or_write);
1750   nvram_handler_intelflash(machine, 2, file, read_or_write);
1751}
1752
17531752static INPUT_PORTS_START(ppp)
17541753   PORT_START("IN0")
17551754   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )         // Left
r9191r9192
18001799   PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* Dip switches */
18011800
18021801   PORT_START("WHEEL_P1")         // Keyboard modulation wheel (P1)
1803   PORT_BIT( 0xff, 0x80, IPT_PADDLE_V ) PORT_MINMAX(0xff, 0x00) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
1802   PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_MINMAX(0xff, 0x00) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
18041803
18051804   PORT_START("WHEEL_P2")         // Keyboard modulation wheel (P2)
18061805   PORT_BIT( 0xff, 0x80, IPT_PADDLE_V ) PORT_MINMAX(0xff, 0x00) PORT_SENSITIVITY(30) PORT_KEYDELTA(10)
r9191r9192
19041903
19051904   for (i=0; i < 0x200000; i++)
19061905   {
1907      sound[i] = intelflash_read(1, i);
1908      sound[i+0x200000] = intelflash_read(2, i);
1906      sound[i] = flash[1]->read(i);
1907      sound[i+0x200000] = flash[2]->read(i);
19091908   }
19101909
19111910   SCSIGetDevice( atapi_device_data[1], &cd );
19121911   cdda_set_cdrom(machine->device("cdda"), cd);
19131912}
19141913
1915static MACHINE_DRIVER_START(firebeat)
1914static MACHINE_CONFIG_START( firebeat, driver_device )
19161915
19171916   /* basic machine hardware */
19181917   MDRV_CPU_ADD("maincpu", PPC403GCX, 66000000)
r9191r9192
19211920
19221921   MDRV_MACHINE_START(firebeat)
19231922   MDRV_MACHINE_RESET(firebeat)
1924   MDRV_NVRAM_HANDLER(firebeat)
19251923
19261924   MDRV_RTC65271_ADD("rtc", NULL)
19271925
1926   MDRV_FUJITSU_29F016A_ADD("flash0")
1927   MDRV_FUJITSU_29F016A_ADD("flash1")
1928   MDRV_FUJITSU_29F016A_ADD("flash2")
1929
19281930   /* video hardware */
19291931   MDRV_SCREEN_ADD("screen", RASTER)
19301932   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
19511953   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
19521954   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
19531955
1954MACHINE_DRIVER_END
1956MACHINE_CONFIG_END
19551957
1956static MACHINE_DRIVER_START(firebeat2)
1958static MACHINE_CONFIG_START( firebeat2, driver_device )
19571959
19581960   /* basic machine hardware */
19591961   MDRV_CPU_ADD("maincpu", PPC403GCX, 66000000)
19601962   MDRV_CPU_PROGRAM_MAP(firebeat_map)
19611963   MDRV_CPU_VBLANK_INT("lscreen", firebeat_interrupt)
19621964
1965   MDRV_MACHINE_START(firebeat)
19631966   MDRV_MACHINE_RESET(firebeat)
1964   MDRV_NVRAM_HANDLER(firebeat)
19651967
19661968   MDRV_RTC65271_ADD("rtc", NULL)
19671969
1970   MDRV_FUJITSU_29F016A_ADD("flash0")
1971   MDRV_FUJITSU_29F016A_ADD("flash1")
1972   MDRV_FUJITSU_29F016A_ADD("flash2")
1973
19681974   /* video hardware */
19691975   MDRV_PALETTE_LENGTH(32768)
19701976   MDRV_PALETTE_INIT(RRRRR_GGGGG_BBBBB)
r9191r9192
19972003   MDRV_SOUND_ADD("cdda", CDDA, 0)
19982004   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
19992005   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2000MACHINE_DRIVER_END
2006MACHINE_CONFIG_END
20012007
2002static MACHINE_DRIVER_START(firebeat_spu)
2008static MACHINE_CONFIG_DERIVED( firebeat_spu, firebeat )
20032009
2004   MDRV_IMPORT_FROM(firebeat)
2005
20062010   MDRV_CPU_ADD("audiocpu", M68000, 16000000)
20072011   MDRV_CPU_PROGRAM_MAP(spu_map)
20082012
2009MACHINE_DRIVER_END
2013MACHINE_CONFIG_END
20102014
20112015/*****************************************************************************/
20122016/* Security dongle is a Dallas DS1411 RS232 Adapter with a DS1991 Multikey iButton */
r9191r9192
21782182   UINT8 *rom = memory_region(machine, "user2");
21792183
21802184   atapi_init(machine);
2181   intelflash_init(machine, 0, FLASH_FUJITSU_29F016A, NULL);
2182   intelflash_init(machine, 1, FLASH_FUJITSU_29F016A, NULL);
2183   intelflash_init(machine, 2, FLASH_FUJITSU_29F016A, NULL);
21842185
21852186   pc16552d_init(machine, 0, 19660800, comm_uart_irq_callback, 0);      // Network UART
21862187   pc16552d_init(machine, 1, 24000000, midi_uart_irq_callback, 0);      // MIDI UART
src/mame/drivers/clayshoo.c
r9191r9192
1717#include "machine/8255ppi.h"
1818
1919
20class clayshoo_state : public driver_data_t
20class clayshoo_state : public driver_device
2121{
2222public:
23   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, clayshoo_state(machine)); }
23   clayshoo_state(running_machine &machine, const driver_device_config_base &config)
24      : driver_device(machine, config) { }
2425
25   clayshoo_state(running_machine &machine)
26      : driver_data_t(machine) { }
27
2826   /* memory pointers */
2927   UINT8 *   videoram;
3028   size_t    videoram_size;
r9191r9192
323321   state->analog_port_val = 0;
324322}
325323
326static MACHINE_DRIVER_START( clayshoo )
324static MACHINE_CONFIG_START( clayshoo, clayshoo_state )
327325
328   /* driver data */
329   MDRV_DRIVER_DATA(clayshoo_state)
330
331326   /* basic machine hardware */
332327   MDRV_CPU_ADD("maincpu", Z80,5068000/4)      /* 5.068/4 Mhz (divider is a guess) */
333328   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
349344
350345   MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf[0] )
351346   MDRV_PPI8255_ADD( "ppi8255_1", ppi8255_intf[1] )
352MACHINE_DRIVER_END
347MACHINE_CONFIG_END
353348
354349
355350
src/mame/drivers/hikaru.c
r9191r9192
372372ADDRESS_MAP_END
373373
374374
375static MACHINE_DRIVER_START( hikaru )
375static MACHINE_CONFIG_START( hikaru, driver_device )
376376   /* basic machine hardware */
377377   MDRV_CPU_ADD("maincpu", SH4, CPU_CLOCK)
378378//  MDRV_CPU_CONFIG(sh4cpu_config)
r9191r9192
405405//  MDRV_SOUND_CONFIG(aica_config)
406406//  MDRV_SOUND_ROUTE(0, "lspeaker", 2.0)
407407//  MDRV_SOUND_ROUTE(0, "rspeaker", 2.0)
408MACHINE_DRIVER_END
408MACHINE_CONFIG_END
409409
410410
411411#define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \
src/mame/drivers/bigevglf.c
r9191r9192
503503}
504504
505505
506static MACHINE_DRIVER_START( bigevglf )
506static MACHINE_CONFIG_START( bigevglf, bigevglf_state )
507507
508   /* driver data */
509   MDRV_DRIVER_DATA(bigevglf_state)
510
511508   /* basic machine hardware */
512509   MDRV_CPU_ADD("maincpu", Z80,10000000/2)      /* 5 MHz ? */
513510   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
564561   // pin 1 SOLO  8'       not mapped
565562   // pin 2 SOLO 16'       not mapped
566563   // pin 22 Noise Output  not mapped
567MACHINE_DRIVER_END
564MACHINE_CONFIG_END
568565
569566/***************************************************************************
570567
src/mame/drivers/bagman.c
r9191r9192
468468   DEVCB_NULL                              /* rom clock - Only used to drive the data lines */
469469};
470470
471static MACHINE_DRIVER_START( bagman )
471static MACHINE_CONFIG_START( bagman, driver_device )
472472
473473   /* basic machine hardware */
474474   MDRV_CPU_ADD("maincpu", Z80, BAGMAN_H0)
r9191r9192
502502   MDRV_SOUND_ADD("tms", TMS5110A, 640000)
503503   MDRV_SOUND_CONFIG(bagman_tms5110_interface)
504504   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
505MACHINE_DRIVER_END
505MACHINE_CONFIG_END
506506
507static MACHINE_DRIVER_START( pickin )
507static MACHINE_CONFIG_START( pickin, driver_device )
508508
509509   /* basic machine hardware */
510510   MDRV_CPU_ADD("maincpu", Z80, BAGMAN_H0)
r9191r9192
536536   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
537537   MDRV_SOUND_CONFIG(ay8910_interface_2)
538538   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
539MACHINE_DRIVER_END
539MACHINE_CONFIG_END
540540
541541/*
542542
r9191r9192
556556*/
557557
558558
559static MACHINE_DRIVER_START( botanic )
559static MACHINE_CONFIG_START( botanic, driver_device )
560560
561561   /* basic machine hardware */
562562   MDRV_CPU_ADD("maincpu", Z80, BAGMAN_H0)
r9191r9192
588588   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
589589   MDRV_SOUND_CONFIG(ay8910_interface_2)
590590   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
591MACHINE_DRIVER_END
591MACHINE_CONFIG_END
592592
593static MACHINE_DRIVER_START( squaitsa )
594   MDRV_IMPORT_FROM( botanic )
593static MACHINE_CONFIG_DERIVED( squaitsa, botanic )
595594   MDRV_SOUND_MODIFY("aysnd")
596595   MDRV_SOUND_CONFIG(ay8910_dial_config)
597596   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
598MACHINE_DRIVER_END
597MACHINE_CONFIG_END
599598
600599
601600/***************************************************************************
src/mame/drivers/inufuku.c
r9191r9192
348348   state->tx_palettebank = 0;
349349}
350350
351static MACHINE_DRIVER_START( inufuku )
351static MACHINE_CONFIG_START( inufuku, inufuku_state )
352352
353   /* driver data */
354   MDRV_DRIVER_DATA(inufuku_state)
355
356353   /* basic machine hardware */
357354   MDRV_CPU_ADD("maincpu", M68000, 32000000/2)   /* 16.00 MHz */
358355   MDRV_CPU_PROGRAM_MAP(inufuku_map)
r9191r9192
390387   MDRV_SOUND_ROUTE(0, "mono", 0.50)
391388   MDRV_SOUND_ROUTE(1, "mono", 0.75)
392389   MDRV_SOUND_ROUTE(2, "mono", 0.75)
393MACHINE_DRIVER_END
390MACHINE_CONFIG_END
394391
395392
396393/******************************************************************************
src/mame/drivers/tattack.c
r9191r9192
180180}
181181
182182
183static MACHINE_DRIVER_START( tattack )
183static MACHINE_CONFIG_START( tattack, driver_device )
184184
185185   /* basic machine hardware */
186186   MDRV_CPU_ADD("maincpu", Z80, 8000000 / 2)   /* 4 MHz ? */
r9191r9192
205205   /* sound hardware */
206206   /* Discrete ???? */
207207
208MACHINE_DRIVER_END
208MACHINE_CONFIG_END
209209
210210/***************************************************************************
211211
src/mame/drivers/cubocd32.c
r9191r9192
597597   PORT_DIPNAME( 0x20, 0x20, "DSW1 6" )
598598   PORT_DIPSETTING(    0x20, "Reset" )
599599   PORT_DIPSETTING(    0x00, "Set" )
600   PORT_DIPNAME( 0x40, 0x40, "DSW1 6" )
600   PORT_DIPNAME( 0x40, 0x40, "DSW1 7" )
601601   PORT_DIPSETTING(    0x40, "Reset" )
602602   PORT_DIPSETTING(    0x00, "Set" )
603603   PORT_DIPNAME( 0x80, 0x80, "DSW1 8" )
r9191r9192
10511051   I2CMEM_SLAVE_ADDRESS, NVRAM_PAGE_SIZE, NVRAM_SIZE
10521052};
10531053
1054static MACHINE_DRIVER_START( cd32 )
1054static MACHINE_CONFIG_START( cd32, driver_device )
10551055
10561056   /* basic machine hardware */
10571057   MDRV_CPU_ADD("maincpu", M68EC020, AMIGA_68EC020_PAL_CLOCK) /* 14.3 Mhz */
r9191r9192
10901090   /* cia */
10911091   MDRV_MOS8520_ADD("cia_0", AMIGA_68EC020_PAL_CLOCK / 10, cia_0_intf)
10921092   MDRV_MOS8520_ADD("cia_1", AMIGA_68EC020_PAL_CLOCK / 10, cia_1_intf)
1093MACHINE_DRIVER_END
1093MACHINE_CONFIG_END
10941094
10951095#define ROM_LOAD16_WORD_BIOS(bios,name,offset,length,hash)     ROMX_LOAD(name, offset, length, hash, ROM_BIOS(bios+1))
10961096
src/mame/drivers/cbuster.c
r9191r9192
133133   AM_RANGE(0x000000, 0x00ffff) AM_ROM
134134   AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_r, ym2203_w)
135135   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_r, ym2151_w)
136   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
137   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
136   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
137   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
138138   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
139139   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
140140   AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
r9191r9192
313313   state->pri = 0;
314314}
315315
316static MACHINE_DRIVER_START( twocrude )
316static MACHINE_CONFIG_START( twocrude, cbuster_state )
317317
318   /* driver data */
319   MDRV_DRIVER_DATA(cbuster_state)
320
321318   /* basic machine hardware */
322319   MDRV_CPU_ADD("maincpu", M68000, 12000000) /* Custom chip 59 */
323320   MDRV_CPU_PROGRAM_MAP(twocrude_map)
r9191r9192
362359
363360   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
364361   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
365MACHINE_DRIVER_END
362MACHINE_CONFIG_END
366363
367364/******************************************************************************/
368365
src/mame/drivers/ghosteo.c
r9191r9192
487487//  irq_en = 0;
488488}
489489
490static MACHINE_DRIVER_START( bballoon )
490static MACHINE_CONFIG_START( bballoon, driver_device )
491491
492492   /* basic machine hardware */
493493   MDRV_CPU_ADD("maincpu", ARM7, 24000000)
r9191r9192
510510   MDRV_VIDEO_UPDATE(bballoon)
511511
512512   /* sound hardware */
513MACHINE_DRIVER_END
513MACHINE_CONFIG_END
514514
515515/*
516516Balloon & Balloon
src/mame/drivers/dunhuang.c
r9191r9192
5858#define DUNHUANG_DEBUG   0
5959
6060
61class dunhuang_state : public driver_data_t
61class dunhuang_state : public driver_device
6262{
6363public:
64   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dunhuang_state(machine)); }
64   dunhuang_state(running_machine &machine, const driver_device_config_base &config)
65      : driver_device(machine, config) { }
6566
66   dunhuang_state(running_machine &machine)
67      : driver_data_t(machine) { }
68
6967   /* memory pointers */
7068   UINT16 *        videoram;
7169   UINT16 *        videoram2;
r9191r9192
814812}
815813
816814
817static MACHINE_DRIVER_START( dunhuang )
815static MACHINE_CONFIG_START( dunhuang, dunhuang_state )
818816
819   /* driver data */
820   MDRV_DRIVER_DATA(dunhuang_state)
821
822817   /* basic machine hardware */
823818   MDRV_CPU_ADD("maincpu", Z80,12000000/2)
824819   MDRV_CPU_PROGRAM_MAP(dunhuang_map)
r9191r9192
856851
857852   MDRV_OKIM6295_ADD("oki", 12000000/8, OKIM6295_PIN7_HIGH)
858853   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
859MACHINE_DRIVER_END
854MACHINE_CONFIG_END
860855
861856
862857/***************************************************************************
src/mame/drivers/ojankohs.c
r9191r9192
3636#include "includes/ojankohs.h"
3737#include "sound/ay8910.h"
3838#include "sound/msm5205.h"
39#include "machine/nvram.h"
3940
4041
4142static WRITE8_HANDLER( ojankohs_rombank_w )
r9191r9192
201202   AM_RANGE(0x0000, 0x7fff) AM_ROM
202203   AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(ojankohs_videoram_w)
203204   AM_RANGE(0x9000, 0x9fff) AM_RAM_WRITE(ojankohs_colorram_w)
204   AM_RANGE(0xa000, 0xb7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
205   AM_RANGE(0xa000, 0xb7ff) AM_RAM AM_SHARE("nvram")
205206   AM_RANGE(0xb800, 0xbfff) AM_RAM_WRITE(ojankohs_palette_w)
206207   AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1")
207208ADDRESS_MAP_END
r9191r9192
211212   AM_RANGE(0x0000, 0x7fff) AM_ROM
212213   AM_RANGE(0x8000, 0x9fff) AM_RAM_WRITE(ojankohs_videoram_w)
213214   AM_RANGE(0xa000, 0xafff) AM_RAM_WRITE(ojankohs_colorram_w)
214   AM_RANGE(0xb000, 0xbfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
215   AM_RANGE(0xb000, 0xbfff) AM_RAM AM_SHARE("nvram")
215216   AM_RANGE(0xc000, 0xffff) AM_ROMBANK("bank1")
216217ADDRESS_MAP_END
217218
218219
219220static ADDRESS_MAP_START( ojankoc_map, ADDRESS_SPACE_PROGRAM, 8 )
220221   AM_RANGE(0x0000, 0x77ff) AM_ROM
221   AM_RANGE(0x7800, 0x7fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
222   AM_RANGE(0x7800, 0x7fff) AM_RAM AM_SHARE("nvram")
222223   AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1") AM_WRITE(ojankoc_videoram_w)
223224ADDRESS_MAP_END
224225
r9191r9192
856857   state->screen_refresh = 0;
857858}
858859
859static MACHINE_DRIVER_START( ojankohs )
860static MACHINE_CONFIG_START( ojankohs, ojankohs_state )
860861
861   /* driver data */
862   MDRV_DRIVER_DATA(ojankohs_state)
863
864862   /* basic machine hardware */
865863   MDRV_CPU_ADD("maincpu", Z80,12000000/2)      /* 6.00 MHz ? */
866864   MDRV_CPU_PROGRAM_MAP(ojankohs_map)
r9191r9192
869867
870868   MDRV_MACHINE_START(ojankohs)
871869   MDRV_MACHINE_RESET(ojankohs)
872   MDRV_NVRAM_HANDLER(generic_0fill)
870   MDRV_NVRAM_ADD_0FILL("nvram")
873871
874872   /* video hardware */
875873   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
895893   MDRV_SOUND_ADD("msm", MSM5205, 384000)
896894   MDRV_SOUND_CONFIG(msm5205_config)
897895   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
898MACHINE_DRIVER_END
896MACHINE_CONFIG_END
899897
900static MACHINE_DRIVER_START( ojankoy )
898static MACHINE_CONFIG_START( ojankoy, ojankohs_state )
901899
902   /* driver data */
903   MDRV_DRIVER_DATA(ojankohs_state)
904
905900   /* basic machine hardware */
906901   MDRV_CPU_ADD("maincpu", Z80,12000000/2)      /* 6.00 MHz ? */
907902   MDRV_CPU_PROGRAM_MAP(ojankoy_map)
r9191r9192
910905
911906   MDRV_MACHINE_START(ojankoy)
912907   MDRV_MACHINE_RESET(ojankohs)
913   MDRV_NVRAM_HANDLER(generic_0fill)
908   MDRV_NVRAM_ADD_0FILL("nvram")
914909
915910   /* video hardware */
916911   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
937932   MDRV_SOUND_ADD("msm", MSM5205, 384000)
938933   MDRV_SOUND_CONFIG(msm5205_config)
939934   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
940MACHINE_DRIVER_END
935MACHINE_CONFIG_END
941936
942static MACHINE_DRIVER_START( ccasino )
937static MACHINE_CONFIG_START( ccasino, ojankohs_state )
943938
944   /* driver data */
945   MDRV_DRIVER_DATA(ojankohs_state)
946
947939   /* basic machine hardware */
948940   MDRV_CPU_ADD("maincpu", Z80,12000000/2)      /* 6.00 MHz ? */
949941   MDRV_CPU_PROGRAM_MAP(ojankoy_map)
r9191r9192
952944
953945   MDRV_MACHINE_START(ojankohs)
954946   MDRV_MACHINE_RESET(ojankohs)
955   MDRV_NVRAM_HANDLER(generic_0fill)
947   MDRV_NVRAM_ADD_0FILL("nvram")
956948
957949   /* video hardware */
958950   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
978970   MDRV_SOUND_ADD("msm", MSM5205, 384000)
979971   MDRV_SOUND_CONFIG(msm5205_config)
980972   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
981MACHINE_DRIVER_END
973MACHINE_CONFIG_END
982974
983static MACHINE_DRIVER_START( ojankoc )
975static MACHINE_CONFIG_START( ojankoc, ojankohs_state )
984976
985   /* driver data */
986   MDRV_DRIVER_DATA(ojankohs_state)
987
988977   /* basic machine hardware */
989978   MDRV_CPU_ADD("maincpu", Z80,8000000/2)         /* 4.00 MHz */
990979   MDRV_CPU_PROGRAM_MAP(ojankoc_map)
r9191r9192
993982
994983   MDRV_MACHINE_START(ojankoc)
995984   MDRV_MACHINE_RESET(ojankohs)
996   MDRV_NVRAM_HANDLER(generic_0fill)
985   MDRV_NVRAM_ADD_0FILL("nvram")
997986
998987   /* video hardware */
999988   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
10181007   MDRV_SOUND_ADD("msm", MSM5205, 8000000/22)
10191008   MDRV_SOUND_CONFIG(msm5205_config)
10201009   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1021MACHINE_DRIVER_END
1010MACHINE_CONFIG_END
10221011
10231012
10241013ROM_START( ojankohs )
src/mame/drivers/n8080.c
r9191r9192
506506}
507507
508508
509static MACHINE_DRIVER_START( spacefev )
509static MACHINE_CONFIG_START( spacefev, n8080_state )
510510
511   /* driver data */
512   MDRV_DRIVER_DATA(n8080_state)
513
514511   /* basic machine hardware */
515512   MDRV_CPU_ADD("maincpu", I8080, MASTER_CLOCK / 10)
516513   MDRV_CPU_CONFIG(n8080_cpu_config)
r9191r9192
536533   MDRV_TIMER_ADD_SCANLINE("rst2", rst2_tick, "screen", 240, 256)
537534
538535   /* sound hardware */
539   MDRV_IMPORT_FROM( spacefev_sound )
540MACHINE_DRIVER_END
536   MDRV_FRAGMENT_ADD( spacefev_sound )
537MACHINE_CONFIG_END
541538
542539
543static MACHINE_DRIVER_START( sheriff )
540static MACHINE_CONFIG_START( sheriff, n8080_state )
544541
545   /* driver data */
546   MDRV_DRIVER_DATA(n8080_state)
547
548542   /* basic machine hardware */
549543   MDRV_CPU_ADD("maincpu", I8080, MASTER_CLOCK / 10)
550544   MDRV_CPU_CONFIG(n8080_cpu_config)
r9191r9192
570564   MDRV_TIMER_ADD_SCANLINE("rst2", rst2_tick, "screen", 240, 256)
571565
572566   /* sound hardware */
573   MDRV_IMPORT_FROM( sheriff_sound )
574MACHINE_DRIVER_END
567   MDRV_FRAGMENT_ADD( sheriff_sound )
568MACHINE_CONFIG_END
575569
576570
577static MACHINE_DRIVER_START( helifire )
571static MACHINE_CONFIG_START( helifire, n8080_state )
578572
579   /* driver data */
580   MDRV_DRIVER_DATA(n8080_state)
581
582573   /* basic machine hardware */
583574   MDRV_CPU_ADD("maincpu", I8080, MASTER_CLOCK / 10)
584575   MDRV_CPU_CONFIG(n8080_cpu_config)
r9191r9192
605596   MDRV_TIMER_ADD_SCANLINE("rst2", rst2_tick, "screen", 240, 256)
606597
607598   /* sound hardware */
608   MDRV_IMPORT_FROM( helifire_sound )
609MACHINE_DRIVER_END
599   MDRV_FRAGMENT_ADD( helifire_sound )
600MACHINE_CONFIG_END
610601
611602
612603/*
src/mame/drivers/kncljoe.c
r9191r9192
272272   state->flipscreen = 0;
273273}
274274
275static MACHINE_DRIVER_START( kncljoe )
275static MACHINE_CONFIG_START( kncljoe, kncljoe_state )
276276
277   /* driver data */
278   MDRV_DRIVER_DATA(kncljoe_state)
279
280277   /* basic machine hardware */
281278   MDRV_CPU_ADD("maincpu", Z80, XTAL_6MHz)  /* verified on pcb */
282279   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
319316
320317   MDRV_SOUND_ADD("sn2", SN76489, XTAL_3_579545MHz) /* verified on pcb */
321318   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
322MACHINE_DRIVER_END
319MACHINE_CONFIG_END
323320
324321
325322
src/mame/drivers/spdodgeb.c
r9191r9192
2727#include "cpu/m6809/m6809.h"
2828#include "sound/3812intf.h"
2929#include "sound/msm5205.h"
30#include "includes/spdodgeb.h"
3031
31extern UINT8 *spdodgeb_videoram;
32
33PALETTE_INIT( spdodgeb );
34VIDEO_START( spdodgeb );
35VIDEO_UPDATE( spdodgeb );
36INTERRUPT_GEN( spdodgeb_interrupt );
37WRITE8_HANDLER( spdodgeb_scrollx_lo_w );
38WRITE8_HANDLER( spdodgeb_ctrl_w );
39WRITE8_HANDLER( spdodgeb_videoram_w );
40
41
4232/* private globals */
4333static int toggle=0;//, soundcode = 0;
4434static int adpcm_pos[2],adpcm_end[2],adpcm_idle[2];
r9191r9192
431421   last_dash[0] = last_dash[1] = 0;
432422}
433423
434static MACHINE_DRIVER_START( spdodgeb )
424static MACHINE_CONFIG_START( spdodgeb, driver_device )
435425
436426   /* basic machine hardware */
437427   MDRV_CPU_ADD("maincpu", M6502,12000000/6)   /* 2MHz ? */
r9191r9192
475465   MDRV_SOUND_CONFIG(msm5205_config)
476466   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
477467   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
478MACHINE_DRIVER_END
468MACHINE_CONFIG_END
479469
480470
481471
src/mame/drivers/deco_ld.c
r9191r9192
106106#include "sound/ay8910.h"
107107#include "machine/laserdsc.h"
108108
109
110class deco_ld_state : public driver_device
111{
112public:
113   deco_ld_state(running_machine &machine, const driver_device_config_base &config)
114      : driver_device(machine, config) { }
115
116   UINT8 *videoram;
117};
118
119
109120static UINT8 vram_bank;
110121static running_device *laserdisc;
111122static UINT8 laserdisc_data;
112123
113124static VIDEO_UPDATE( rblaster )
114125{
126   deco_ld_state *state = screen->machine->driver_data<deco_ld_state>();
127   UINT8 *videoram = state->videoram;
115128   const gfx_element *gfx = screen->machine->gfx[0];
116129   int count = 0x0000;
117130
r9191r9192
121134   {
122135      for (x=0;x<32;x++)
123136      {
124         int tile = screen->machine->generic.videoram.u8[count];
137         int tile = videoram[count];
125138         int colour = (vram_bank & 0x7);
126139         drawgfx_opaque(bitmap,cliprect,gfx,tile,colour,0,0,x*8,y*8);
127140
r9191r9192
177190   AM_RANGE(0x1007, 0x1007) AM_READWRITE(laserdisc_r,laserdisc_w) // ld data
178191   AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
179192   AM_RANGE(0x2000, 0x27ff) AM_RAM
180   AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_GENERIC(videoram)
193   AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_MEMBER(deco_ld_state, videoram)
181194   AM_RANGE(0x3000, 0x3fff) AM_RAM
182195   AM_RANGE(0x4000, 0xffff) AM_ROM
183196ADDRESS_MAP_END
r9191r9192
196209   AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
197210   AM_RANGE(0x2000, 0x2fff) AM_RAM
198211   AM_RANGE(0x3000, 0x37ff) AM_RAM //vram attr?
199   AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE_GENERIC(videoram)
212   AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE_MEMBER(deco_ld_state, videoram)
200213   AM_RANGE(0x4000, 0xffff) AM_ROM
201214ADDRESS_MAP_END
202215
r9191r9192
210223   AM_RANGE(0x1006, 0x1006) AM_NOP //ld status / command
211224   AM_RANGE(0x1007, 0x1007) AM_READWRITE(laserdisc_r,laserdisc_w) // ld data
212225   AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
213   AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_GENERIC(videoram)
226   AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_MEMBER(deco_ld_state, videoram)
214227   AM_RANGE(0x3000, 0x3fff) AM_RAM
215228   AM_RANGE(0xc000, 0xffff) AM_ROM
216229ADDRESS_MAP_END
r9191r9192
235248
236249static INPUT_PORTS_START( cobra )
237250   PORT_START("IN0")
238   PORT_DIPNAME( 0x01, 0x00, "SYSA" )
251   PORT_DIPNAME( 0x01, 0x00, "SYS0" )
239252   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
240253   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
241254   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
r9191r9192
259272   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
260273
261274   PORT_START("IN1")
262   PORT_DIPNAME( 0x01, 0x00, "SYSA" )
275   PORT_DIPNAME( 0x01, 0x00, "SYS1" )
263276   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
264277   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
265278   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
r9191r9192
285298   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
286299
287300   PORT_START("IN2")
288   PORT_DIPNAME( 0x01, 0x00, "SYSA" )
301   PORT_DIPNAME( 0x01, 0x00, "SYS2" )
289302   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
290303   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
291304   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
r9191r9192
311324   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
312325
313326   PORT_START("IN3")
314   PORT_DIPNAME( 0x01, 0x00, "SYSA" )
327   PORT_DIPNAME( 0x01, 0x00, "SYS3" )
315328   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
316329   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
317330   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
r9191r9192
337350   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
338351
339352   PORT_START("IN4")
340   PORT_DIPNAME( 0x01, 0x00, "SYSA" )
353   PORT_DIPNAME( 0x01, 0x00, "SYS4" )
341354   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
342355   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
343356   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
r9191r9192
363376   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
364377
365378   PORT_START("IN5")
366   PORT_DIPNAME( 0x01, 0x00, "SYSA" )
379   PORT_DIPNAME( 0x01, 0x00, "SYS5" )
367380   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
368381   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
369382   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
r9191r9192
391404
392405static INPUT_PORTS_START( rblaster )
393406   PORT_START("IN0")
394   PORT_DIPNAME( 0x01, 0x00, "SYSA" )
407   PORT_DIPNAME( 0x01, 0x00, "SYS0" )
395408   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
396409   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
397410   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
r9191r9192
415428   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
416429
417430   PORT_START("IN1")
418   PORT_DIPNAME( 0x01, 0x00, "SYSA" )
431   PORT_DIPNAME( 0x01, 0x00, "SYS1" )
419432   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
420433   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
421434   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
r9191r9192
441454   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
442455
443456   PORT_START("IN2")
444   PORT_DIPNAME( 0x01, 0x00, "SYSA" )
457   PORT_DIPNAME( 0x01, 0x00, "SYS2" )
445458   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
446459   PORT_DIPSETTING(    0x01, DEF_STR( On ) )
447460   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
r9191r9192
487500   laserdisc = machine->device("laserdisc");
488501}
489502
490static MACHINE_DRIVER_START( rblaster )
503static MACHINE_CONFIG_START( rblaster, deco_ld_state )
491504
492505   /* basic machine hardware */
493506   MDRV_CPU_ADD("maincpu",M6502,8000000/2)
r9191r9192
517530   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
518531   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
519532
520   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
533   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
521534   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
522535   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
523MACHINE_DRIVER_END
536MACHINE_CONFIG_END
524537
525static MACHINE_DRIVER_START( begas )
526   MDRV_IMPORT_FROM( rblaster )
538static MACHINE_CONFIG_DERIVED( begas, rblaster )
527539   MDRV_CPU_MODIFY("maincpu")
528540   MDRV_CPU_PROGRAM_MAP(begas_map)
529MACHINE_DRIVER_END
541MACHINE_CONFIG_END
530542
531static MACHINE_DRIVER_START( cobra )
532   MDRV_IMPORT_FROM( rblaster )
543static MACHINE_CONFIG_DERIVED( cobra, rblaster )
533544   MDRV_CPU_MODIFY("maincpu")
534545   MDRV_CPU_PROGRAM_MAP(cobra_map)
535546
536547   MDRV_DEVICE_REMOVE("audiocpu")
537MACHINE_DRIVER_END
548MACHINE_CONFIG_END
538549
539550/***************************************************************************
540551
src/mame/drivers/cvs.c
r9191r9192
10611061}
10621062
10631063
1064static MACHINE_DRIVER_START( cvs )
1064static MACHINE_CONFIG_START( cvs, cvs_state )
10651065
1066   /* driver data */
1067   MDRV_DRIVER_DATA(cvs_state)
1068
10691066   /* basic machine hardware */
10701067   MDRV_CPU_ADD("maincpu", S2650, 894886.25)
10711068   MDRV_CPU_PROGRAM_MAP(cvs_main_cpu_map)
r9191r9192
11211118   MDRV_SOUND_ADD("tms", TMS5100, 640000)
11221119   MDRV_SOUND_CONFIG(tms5100_interface)
11231120   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1124MACHINE_DRIVER_END
1121MACHINE_CONFIG_END
11251122
11261123
11271124
src/mame/drivers/turbo.c
r9191r9192
10741074 *
10751075 *************************************/
10761076
1077static MACHINE_DRIVER_START( turbo )
1078   MDRV_DRIVER_DATA(turbo_state)
1077static MACHINE_CONFIG_START( turbo, turbo_state )
10791078
10801079   /* basic machine hardware */
10811080   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4)
r9191r9192
11011100   MDRV_VIDEO_UPDATE(turbo)
11021101
11031102   /* sound hardware */
1104   MDRV_IMPORT_FROM(turbo_samples)
1105MACHINE_DRIVER_END
1103   MDRV_FRAGMENT_ADD(turbo_samples)
1104MACHINE_CONFIG_END
11061105
11071106
1108static MACHINE_DRIVER_START( subroc3d )
1109   MDRV_DRIVER_DATA(turbo_state)
1107static MACHINE_CONFIG_START( subroc3d, turbo_state )
11101108
11111109   /* basic machine hardware */
11121110   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4)
r9191r9192
11301128   MDRV_VIDEO_UPDATE(subroc3d)
11311129
11321130   /* sound hardware */
1133   MDRV_IMPORT_FROM(subroc3d_samples)
1134MACHINE_DRIVER_END
1131   MDRV_FRAGMENT_ADD(subroc3d_samples)
1132MACHINE_CONFIG_END
11351133
11361134
1137static MACHINE_DRIVER_START( buckrog )
1138   MDRV_DRIVER_DATA(turbo_state)
1135static MACHINE_CONFIG_START( buckrog, turbo_state )
11391136
11401137   /* basic machine hardware */
11411138   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4)
r9191r9192
11661163   MDRV_VIDEO_UPDATE(buckrog)
11671164
11681165   /* sound hardware */
1169   MDRV_IMPORT_FROM(buckrog_samples)
1170MACHINE_DRIVER_END
1166   MDRV_FRAGMENT_ADD(buckrog_samples)
1167MACHINE_CONFIG_END
11711168
11721169
11731170
src/mame/drivers/trvquest.c
r9191r9192
3939#include "machine/6522via.h"
4040#include "sound/ay8910.h"
4141#include "includes/gameplan.h"
42#include "machine/nvram.h"
4243
4344static READ8_HANDLER( trvquest_question_r )
4445{
r9191r9192
5859}
5960
6061static ADDRESS_MAP_START( cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
61   AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) // cmos ram
62   AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram") // cmos ram
6263   AM_RANGE(0x2000, 0x27ff) AM_RAM // main ram
63   AM_RANGE(0x3800, 0x380f) AM_DEVREADWRITE("via6522_1", via_r, via_w)
64   AM_RANGE(0x3810, 0x381f) AM_DEVREADWRITE("via6522_2", via_r, via_w)
65   AM_RANGE(0x3820, 0x382f) AM_DEVREADWRITE("via6522_0", via_r, via_w)
64   AM_RANGE(0x3800, 0x380f) AM_DEVREADWRITE_MODERN("via6522_1", via6522_device, read, write)
65   AM_RANGE(0x3810, 0x381f) AM_DEVREADWRITE_MODERN("via6522_2", via6522_device, read, write)
66   AM_RANGE(0x3820, 0x382f) AM_DEVREADWRITE_MODERN("via6522_0", via6522_device, read, write)
6667   AM_RANGE(0x3830, 0x3831) AM_DEVWRITE("ay1", ay8910_address_data_w)
6768   AM_RANGE(0x3840, 0x3841) AM_DEVWRITE("ay2", ay8910_address_data_w)
6869   AM_RANGE(0x3850, 0x3850) AM_READNOP //watchdog_reset_r ?
r9191r9192
187188   gameplan_state *state = machine->driver_data<gameplan_state>();
188189
189190   state->maincpu = machine->device("maincpu");
190   state->via_0 = machine->device("via6522_0");
191   state->via_1 = machine->device("via6522_1");
192   state->via_2 = machine->device("via6522_2");
193191
194192   /* register for save states */
195193   state_save_register_global(machine, state->video_x);
r9191r9192
211209static INTERRUPT_GEN( trvquest_interrupt )
212210{
213211   gameplan_state *state = device->machine->driver_data<gameplan_state>();
214   via_ca1_w(state->via_2, 1);
215   via_ca1_w(state->via_2, 0);
212   state->via_2->write_ca1(1);
213   state->via_2->write_ca1(0);
216214}
217215
218static MACHINE_DRIVER_START( trvquest )
216static MACHINE_CONFIG_START( trvquest, gameplan_state )
219217
220   MDRV_DRIVER_DATA(gameplan_state)
221
222218   MDRV_CPU_ADD("maincpu", M6809,XTAL_6MHz/4)
223219   MDRV_CPU_PROGRAM_MAP(cpu_map)
224220   MDRV_CPU_VBLANK_INT("screen", trvquest_interrupt)
225221
226   MDRV_NVRAM_HANDLER(generic_1fill)
222   MDRV_NVRAM_ADD_1FILL("nvram")
227223   MDRV_MACHINE_START(trvquest)
228224   MDRV_MACHINE_RESET(trvquest)
229225
230226   /* video hardware */
231   MDRV_IMPORT_FROM(trvquest_video)
227   MDRV_FRAGMENT_ADD(trvquest_video)
232228
233229   /* sound hardware */
234230   MDRV_SPEAKER_STANDARD_MONO("mono")
r9191r9192
243239   MDRV_VIA6522_ADD("via6522_0", 0, trvquest_via_0_interface)
244240   MDRV_VIA6522_ADD("via6522_1", 0, via_1_interface)
245241   MDRV_VIA6522_ADD("via6522_2", 0, via_2_interface)
246MACHINE_DRIVER_END
242MACHINE_CONFIG_END
247243
248244ROM_START( trvquest )
249245   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/tnzs.c
r9191r9192
16071607   kageki_init_samples
16081608};
16091609
1610static MACHINE_DRIVER_START( arknoid2 )
1610static MACHINE_CONFIG_START( arknoid2, tnzs_state )
16111611
1612   /* driver data */
1613   MDRV_DRIVER_DATA(tnzs_state)
1614
16151612   /* basic machine hardware */
16161613   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2)   /* verified on pcb */
16171614   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
16471644   MDRV_SOUND_ADD("ymsnd", YM2203, XTAL_12MHz/4) /* verified on pcb */
16481645   MDRV_SOUND_CONFIG(ym2203_config)
16491646   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
1650MACHINE_DRIVER_END
1647MACHINE_CONFIG_END
16511648
16521649
1653static MACHINE_DRIVER_START( drtoppel )
1650static MACHINE_CONFIG_START( drtoppel, tnzs_state )
16541651
1655   /* driver data */
1656   MDRV_DRIVER_DATA(tnzs_state)
1657
16581652   /* basic machine hardware */
16591653   MDRV_CPU_ADD("maincpu", Z80,XTAL_12MHz/2)      /* 6.0 MHz ??? - Main board Crystal is 12MHz */
16601654   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
16901684   MDRV_SOUND_ADD("ymsnd", YM2203, XTAL_12MHz/4)
16911685   MDRV_SOUND_CONFIG(ym2203_config)
16921686   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
1693MACHINE_DRIVER_END
1687MACHINE_CONFIG_END
16941688
16951689
1696static MACHINE_DRIVER_START( tnzs )
1690static MACHINE_CONFIG_START( tnzs, tnzs_state )
16971691
1698   /* driver data */
1699   MDRV_DRIVER_DATA(tnzs_state)
1700
17011692   /* basic machine hardware */
17021693   MDRV_CPU_ADD("maincpu", Z80,XTAL_12MHz/2)      /* 6.0 MHz ??? - Main board Crystal is 12MHz */
17031694   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
17351726   MDRV_SOUND_ADD("ymsnd", YM2203, XTAL_12MHz/4)
17361727   MDRV_SOUND_CONFIG(ym2203_config)
17371728   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
1738MACHINE_DRIVER_END
1729MACHINE_CONFIG_END
17391730
17401731
1741static MACHINE_DRIVER_START( insectx )
1732static MACHINE_CONFIG_START( insectx, tnzs_state )
17421733
1743   /* driver data */
1744   MDRV_DRIVER_DATA(tnzs_state)
1745
17461734   /* basic machine hardware */
17471735   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2)   /* verified on pcb */
17481736   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
17771765   MDRV_SOUND_ADD("ymsnd", YM2203, XTAL_12MHz/4) /* verified on pcb */
17781766   MDRV_SOUND_CONFIG(ym2203_config)
17791767   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
1780MACHINE_DRIVER_END
1768MACHINE_CONFIG_END
17811769
17821770
1783static MACHINE_DRIVER_START( kageki )
1771static MACHINE_CONFIG_START( kageki, tnzs_state )
17841772
1785   /* driver data */
1786   MDRV_DRIVER_DATA(tnzs_state)
1787
17881773   /* basic machine hardware */
17891774   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */
17901775   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
18261811   MDRV_SOUND_ADD("samples", SAMPLES, 0)
18271812   MDRV_SOUND_CONFIG(tnzs_samples_interface)
18281813   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1829MACHINE_DRIVER_END
1814MACHINE_CONFIG_END
18301815
18311816
1832static MACHINE_DRIVER_START( tnzsb )
1817static MACHINE_CONFIG_START( tnzsb, tnzs_state )
18331818
1834   /* driver data */
1835   MDRV_DRIVER_DATA(tnzs_state)
1836
18371819   /* basic machine hardware */
18381820   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */
18391821   MDRV_CPU_PROGRAM_MAP(cpu0_type2)
r9191r9192
18751857   MDRV_SOUND_ROUTE(1, "mono", 1.0)
18761858   MDRV_SOUND_ROUTE(2, "mono", 1.0)
18771859   MDRV_SOUND_ROUTE(3, "mono", 2.0)
1878MACHINE_DRIVER_END
1860MACHINE_CONFIG_END
18791861
18801862
1881static MACHINE_DRIVER_START( kabukiz )
1863static MACHINE_CONFIG_DERIVED( kabukiz, tnzsb )
18821864
1883   MDRV_IMPORT_FROM(tnzsb)
1884
18851865   /* basic machine hardware */
18861866   MDRV_CPU_MODIFY("sub")
18871867   MDRV_CPU_PROGRAM_MAP(kabukiz_cpu1_map)
r9191r9192
18981878
18991879   MDRV_SOUND_ADD("dac", DAC, 0)
19001880   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1901MACHINE_DRIVER_END
1881MACHINE_CONFIG_END
19021882
19031883
1904static MACHINE_DRIVER_START( jpopnics )
1884static MACHINE_CONFIG_START( jpopnics, tnzs_state )
19051885
1906   /* driver data */
1907   MDRV_DRIVER_DATA(tnzs_state)
1908
19091886   /* basic machine hardware */
19101887   MDRV_CPU_ADD("maincpu", Z80,XTAL_12MHz/2) /* Not verified - Main board Crystal is 12MHz */
19111888   MDRV_CPU_PROGRAM_MAP(jpopnics_main_map)
r9191r9192
19391916
19401917   MDRV_SOUND_ADD("ymsnd", YM2151, XTAL_12MHz/4) /* Not verified - Main board Crystal is 12MHz */
19411918   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
1942MACHINE_DRIVER_END
1919MACHINE_CONFIG_END
19431920
19441921
19451922/***************************************************************************
src/mame/drivers/rohga.c
r9191r9192
265265   AM_RANGE(0x000000, 0x00ffff) AM_ROM
266266   AM_RANGE(0x100000, 0x100001) AM_NOP
267267   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_r,ym2151_w)
268   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_r,okim6295_w)
269   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_r,okim6295_w)
268   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
269   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
270270   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
271271   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
272272   AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE(h6280_timer_w)
r9191r9192
772772   rohga_bank_callback
773773};
774774
775static MACHINE_DRIVER_START( rohga )
775static MACHINE_CONFIG_START( rohga, rohga_state )
776776
777   /* driver data */
778   MDRV_DRIVER_DATA(rohga_state)
779
780777   /* basic machine hardware */
781778   MDRV_CPU_ADD("maincpu", M68000, 14000000)
782779   MDRV_CPU_PROGRAM_MAP(rohga_map)
r9191r9192
818815   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
819816   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
820817   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
821MACHINE_DRIVER_END
818MACHINE_CONFIG_END
822819
823static MACHINE_DRIVER_START( wizdfire )
820static MACHINE_CONFIG_START( wizdfire, rohga_state )
824821
825   /* driver data */
826   MDRV_DRIVER_DATA(rohga_state)
827
828822   /* basic machine hardware */
829823   MDRV_CPU_ADD("maincpu", M68000, 14000000)
830824   MDRV_CPU_PROGRAM_MAP(wizdfire_map)
r9191r9192
865859   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
866860   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
867861   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
868MACHINE_DRIVER_END
862MACHINE_CONFIG_END
869863
870static MACHINE_DRIVER_START( nitrobal )
864static MACHINE_CONFIG_START( nitrobal, rohga_state )
871865
872   /* driver data */
873   MDRV_DRIVER_DATA(rohga_state)
874
875866   /* basic machine hardware */
876867   MDRV_CPU_ADD("maincpu", M68000, 14000000)
877868   MDRV_CPU_PROGRAM_MAP(nitrobal_map)
r9191r9192
912903   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
913904   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
914905   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
915MACHINE_DRIVER_END
906MACHINE_CONFIG_END
916907
917static MACHINE_DRIVER_START( schmeisr )
908static MACHINE_CONFIG_START( schmeisr, rohga_state )
918909
919   /* driver data */
920   MDRV_DRIVER_DATA(rohga_state)
921
922910   /* basic machine hardware */
923911   MDRV_CPU_ADD("maincpu", M68000, 14000000)
924912   MDRV_CPU_PROGRAM_MAP(schmeisr_map)
r9191r9192
960948   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
961949   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
962950   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
963MACHINE_DRIVER_END
951MACHINE_CONFIG_END
964952
965953/**********************************************************************************/
966954
src/mame/drivers/higemaru.c
r9191r9192
155155GFXDECODE_END
156156
157157
158static MACHINE_DRIVER_START( higemaru )
158static MACHINE_CONFIG_START( higemaru, higemaru_state )
159159
160   /* driver data */
161   MDRV_DRIVER_DATA(higemaru_state)
162
163160   /* basic machine hardware */
164161   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/4)   /* 3 MHz Sharp LH0080A Z80A-CPU-D */
165162   MDRV_CPU_PROGRAM_MAP(higemaru_map)
r9191r9192
188185
189186   MDRV_SOUND_ADD("ay2", AY8910, XTAL_12MHz/8)
190187   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
191MACHINE_DRIVER_END
188MACHINE_CONFIG_END
192189
193190/***************************************************************************
194191
src/mame/drivers/plygonet.c
r9191r9192
636636   0, 0, 0   /* wrap, xoff, yoff */
637637};
638638
639static MACHINE_DRIVER_START( plygonet )
639static MACHINE_CONFIG_START( plygonet, polygonet_state )
640640
641   MDRV_DRIVER_DATA( polygonet_state )
642
643641   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)   /* 16 MHz (xtal is 32.0 MHz) */
644642   MDRV_CPU_PROGRAM_MAP(main_map)
645643   MDRV_CPU_VBLANK_INT("screen", polygonet_interrupt)
r9191r9192
688686   MDRV_SOUND_CONFIG(k054539_config)
689687   MDRV_SOUND_ROUTE(0, "lspeaker", 0.75)
690688   MDRV_SOUND_ROUTE(1, "rspeaker", 0.75)
691MACHINE_DRIVER_END
689MACHINE_CONFIG_END
692690
693691
694692/**********************************************************************************/
src/mame/drivers/batman.c
r9191r9192
133133   ADDRESS_MAP_GLOBAL_MASK(0x3fffff)
134134   AM_RANGE(0x000000, 0x0bffff) AM_ROM
135135   AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x010000) AM_RAM
136   AM_RANGE(0x120000, 0x120fff) AM_MIRROR(0x01f000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(batman_state, eeprom, eeprom_size)
136   AM_RANGE(0x120000, 0x120fff) AM_MIRROR(0x01f000) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
137137   AM_RANGE(0x260000, 0x260001) AM_MIRROR(0x11ff8c) AM_READ_PORT("260000")
138138   AM_RANGE(0x260002, 0x260003) AM_MIRROR(0x11ff8c) AM_READ_PORT("260002")
139139   AM_RANGE(0x260010, 0x260011) AM_MIRROR(0x11ff8e) AM_READ(special_port2_r)
r9191r9192
232232 *
233233 *************************************/
234234
235static MACHINE_DRIVER_START( batman )
236   MDRV_DRIVER_DATA(batman_state)
235static MACHINE_CONFIG_START( batman, batman_state )
237236
238237   /* basic machine hardware */
239238   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz)
r9191r9192
241240
242241   MDRV_MACHINE_START(batman)
243242   MDRV_MACHINE_RESET(batman)
244   MDRV_NVRAM_HANDLER(atarigen)
243   MDRV_NVRAM_ADD_1FILL("eeprom")
245244
246245   /* video hardware */
247246   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
258257   MDRV_VIDEO_UPDATE(batman)
259258
260259   /* sound hardware */
261   MDRV_IMPORT_FROM(jsa_iii_mono)
262MACHINE_DRIVER_END
260   MDRV_FRAGMENT_ADD(jsa_iii_mono)
261MACHINE_CONFIG_END
263262
264263
265264
r9191r9192
311310   ROM_LOAD( "136085-1043.15e",  0x40000, 0x20000, CRC(51812d3b) SHA1(6748fecef753179a9257c0da5a7b7c9648437208) )
312311   ROM_LOAD( "136085-1044.12e",  0x60000, 0x20000, CRC(5e2d7f31) SHA1(737c7204d91f5dd5c9ed0321fc6c0d6194a18f8a) )
313312
313   ROM_REGION( 0x1000, "eeprom", 0 )
314   ROM_LOAD( "batman-eeprom.bin", 0x0000, 0x1000, CRC(ac2f665e) SHA1(557ffea1187a5bd96dc6efc80cf6a27e4dbc84fd) )
315
314316   ROM_REGION( 0x1000, "plds", 0 )
315317   ROM_LOAD( "gal16v8a-136085-1001.m9",  0x0000, 0x0117, CRC(45dfc0cf) SHA1(39cbb27e504e09d97caea144bfdec2247a39caf9) )
316318   ROM_LOAD( "gal16v8a-136085-1002.l9",  0x0200, 0x0117, CRC(35c221ae) SHA1(6f3241fcd8b7e241036a0f553f118d8aec413732) )
r9191r9192
332334
333335static DRIVER_INIT( batman )
334336{
335   static const UINT16 default_eeprom[] =
336   {
337      0x0001,0x01F1,0x0154,0x01C5,0x0100,0x0113,0x0300,0x0173,
338      0x0700,0x0154,0x0200,0x0107,0x0100,0x0120,0x0300,0x0165,
339      0x0125,0x0100,0x0149,0x019D,0x016C,0x018B,0x01F1,0x0154,
340      0x01C5,0x0100,0x0113,0x0300,0x0173,0x0700,0x0154,0x0200,
341      0x0107,0x0100,0x0120,0x0300,0x0165,0x0125,0x0100,0x0149,
342      0x019D,0x016C,0x018B,0x6800,0x0134,0x0113,0x0148,0x0100,
343      0x019A,0x0105,0x01DC,0x01A2,0x013A,0x0139,0x0100,0x0105,
344      0x01AB,0x016A,0x0149,0x0100,0x01ED,0x0105,0x0185,0x01B2,
345      0x0134,0x0100,0x0105,0x0160,0x01AA,0x0149,0x0100,0x0105,
346      0x012A,0x0152,0x0110,0x0100,0x0168,0x0105,0x0113,0x012E,
347      0x0150,0x0218,0x01D0,0x0100,0x01D0,0x0300,0x01D0,0x0600,
348      0x01D0,0x02C8,0x0000
349   };
350   batman_state *state = machine->driver_data<batman_state>();
351   state->eeprom_default = default_eeprom;
352337   atarijsa_init(machine, "260010", 0x0040);
353338}
354339
src/mame/drivers/nemesis.c
r9191r9192
16821682   state->irq_port_last = 0;
16831683}
16841684
1685static MACHINE_DRIVER_START( nemesis )
1685static MACHINE_CONFIG_START( nemesis, nemesis_state )
16861686
1687   /* driver data */
1688   MDRV_DRIVER_DATA(nemesis_state)
1689
16901687   /* basic machine hardware */
16911688   MDRV_CPU_ADD("maincpu", M68000,18432000/2)         /* 9.216 MHz? */
16921689//          14318180/2, /* From schematics, should be accurate */
r9191r9192
17291726
17301727   MDRV_SOUND_ADD("vlm", VLM5030, 3579545)
17311728   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)   /* unused */
1732MACHINE_DRIVER_END
1729MACHINE_CONFIG_END
17331730
17341731
1735static MACHINE_DRIVER_START( gx400 )
1732static MACHINE_CONFIG_START( gx400, nemesis_state )
17361733
1737   /* driver data */
1738   MDRV_DRIVER_DATA(nemesis_state)
1739
17401734   /* basic machine hardware */
17411735   MDRV_CPU_ADD("maincpu", M68000,18432000/2)     /* 9.216MHz */
17421736   MDRV_CPU_PROGRAM_MAP(gx400_map)
r9191r9192
17791773
17801774   MDRV_SOUND_ADD("vlm", VLM5030, 3579545)
17811775   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)   /* unused */
1782MACHINE_DRIVER_END
1776MACHINE_CONFIG_END
17831777
17841778
1785static MACHINE_DRIVER_START( konamigt )
1779static MACHINE_CONFIG_START( konamigt, nemesis_state )
17861780
1787   /* driver data */
1788   MDRV_DRIVER_DATA(nemesis_state)
1789
17901781   /* basic machine hardware */
17911782   MDRV_CPU_ADD("maincpu", M68000,18432000/2)         /* 9.216 MHz? */
17921783   MDRV_CPU_PROGRAM_MAP(konamigt_map)
r9191r9192
18251816
18261817   MDRV_SOUND_ADD("k007232", K005289, 3579545/2)
18271818   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
1828MACHINE_DRIVER_END
1819MACHINE_CONFIG_END
18291820
18301821
1831static MACHINE_DRIVER_START( rf2_gx400 )
1822static MACHINE_CONFIG_START( rf2_gx400, nemesis_state )
18321823
1833   /* driver data */
1834   MDRV_DRIVER_DATA(nemesis_state)
1835
18361824   /* basic machine hardware */
18371825   MDRV_CPU_ADD("maincpu", M68000,18432000/2)     /* 9.216MHz */
18381826   MDRV_CPU_PROGRAM_MAP(rf2_gx400_map)
r9191r9192
18751863
18761864   MDRV_SOUND_ADD("vlm", VLM5030, 3579545)
18771865   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
1878MACHINE_DRIVER_END
1866MACHINE_CONFIG_END
18791867
18801868
1881static MACHINE_DRIVER_START( salamand )
1869static MACHINE_CONFIG_START( salamand, nemesis_state )
18821870
1883   /* driver data */
1884   MDRV_DRIVER_DATA(nemesis_state)
1885
18861871   /* basic machine hardware */
18871872   MDRV_CPU_ADD("maincpu", M68000,18432000/2)       /* 9.216MHz */
18881873   MDRV_CPU_PROGRAM_MAP(salamand_map)
r9191r9192
19281913   MDRV_SOUND_CONFIG(ym2151_config)
19291914   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
19301915   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1931MACHINE_DRIVER_END
1916MACHINE_CONFIG_END
19321917
19331918
1934static MACHINE_DRIVER_START( blkpnthr )
1919static MACHINE_CONFIG_START( blkpnthr, nemesis_state )
19351920
1936   /* driver data */
1937   MDRV_DRIVER_DATA(nemesis_state)
1938
19391921   /* basic machine hardware */
19401922   MDRV_CPU_ADD("maincpu", M68000,18432000/2)         /* 9.216 MHz? */
19411923   MDRV_CPU_PROGRAM_MAP(blkpnthr_map)
r9191r9192
19771959   MDRV_SOUND_CONFIG(ym2151_config)
19781960   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
19791961   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1980MACHINE_DRIVER_END
1962MACHINE_CONFIG_END
19811963
19821964
1983static MACHINE_DRIVER_START( citybomb )
1965static MACHINE_CONFIG_START( citybomb, nemesis_state )
19841966
1985   /* driver data */
1986   MDRV_DRIVER_DATA(nemesis_state)
1987
19881967   /* basic machine hardware */
19891968   MDRV_CPU_ADD("maincpu", M68000,18432000/2)         /* 9.216 MHz? */
19901969   MDRV_CPU_PROGRAM_MAP(citybomb_map)
r9191r9192
20302009   MDRV_SOUND_ADD("k051649", K051649, 3579545/2)
20312010   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.38)
20322011   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.38)
2033MACHINE_DRIVER_END
2012MACHINE_CONFIG_END
20342013
20352014
2036static MACHINE_DRIVER_START( nyanpani )
2015static MACHINE_CONFIG_START( nyanpani, nemesis_state )
20372016
2038   /* driver data */
2039   MDRV_DRIVER_DATA(nemesis_state)
2040
20412017   /* basic machine hardware */
20422018   MDRV_CPU_ADD("maincpu", M68000,18432000/2)         /* 9.216 MHz? */
20432019   MDRV_CPU_PROGRAM_MAP(nyanpani_map)
r9191r9192
20832059   MDRV_SOUND_ADD("k051649", K051649, 3579545/2)
20842060   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.38)
20852061   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.38)
2086MACHINE_DRIVER_END
2062MACHINE_CONFIG_END
20872063
20882064
2089static MACHINE_DRIVER_START( hcrash )
2065static MACHINE_CONFIG_START( hcrash, nemesis_state )
20902066
2091   /* driver data */
2092   MDRV_DRIVER_DATA(nemesis_state)
2093
20942067   /* basic machine hardware */
20952068   MDRV_CPU_ADD("maincpu", M68000,18432000/3)         /* 6.144MHz */
20962069   MDRV_CPU_PROGRAM_MAP(hcrash_map)
r9191r9192
21342107   MDRV_SOUND_CONFIG(ym2151_config)
21352108   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
21362109   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2137MACHINE_DRIVER_END
2110MACHINE_CONFIG_END
21382111
21392112/***************************************************************************
21402113
src/mame/drivers/progolf.c
r9191r9192
5555#include "sound/ay8910.h"
5656#include "video/mc6845.h"
5757
58
59class progolf_state : public driver_device
60{
61public:
62   progolf_state(running_machine &machine, const driver_device_config_base &config)
63      : driver_device(machine, config) { }
64
65   UINT8 *videoram;
66};
67
68
5869static UINT8 char_pen,char_pen_vreg;
5970static UINT8 *progolf_fg_fb;
6071static UINT8 *progolf_fbram;
r9191r9192
6677
6778static VIDEO_START( progolf )
6879{
80   progolf_state *state = machine->driver_data<progolf_state>();
6981   scrollx_hi = 0;
7082   scrollx_lo = 0;
7183
7284   progolf_fg_fb = auto_alloc_array(machine, UINT8, 0x2000*8);
73   machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x1000);
85   state->videoram = auto_alloc_array(machine, UINT8, 0x1000);
7486}
7587
7688
7789static VIDEO_UPDATE( progolf )
7890{
91   progolf_state *state = screen->machine->driver_data<progolf_state>();
92   UINT8 *videoram = state->videoram;
7993   int count,color,x,y,xi,yi;
8094
8195   {
r9191r9192
87101      {
88102         for(y=0;y<32;y++)
89103         {
90            int tile = screen->machine->generic.videoram.u8[count];
104            int tile = videoram[count];
91105
92106            drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],tile,1,0,0,(256-x*8)+scroll,y*8);
93107            /* wrap-around */
r9191r9192
185199
186200static READ8_HANDLER( progolf_videoram_r )
187201{
202   progolf_state *state = space->machine->driver_data<progolf_state>();
203   UINT8 *videoram = state->videoram;
188204   UINT8 *gfx_rom = memory_region(space->machine, "gfx1");
189205
190206   if (offset >= 0x0800)
r9191r9192
196212      else if (progolf_gfx_switch == 0x70)
197213         return gfx_rom[offset + 0x2000];
198214      else
199         return space->machine->generic.videoram.u8[offset];
215         return videoram[offset];
200216   } else {
201217      if      (progolf_gfx_switch == 0x10)
202218         return gfx_rom[offset];
r9191r9192
205221      else if (progolf_gfx_switch == 0x30)
206222         return gfx_rom[offset + 0x2000];
207223      else
208         return space->machine->generic.videoram.u8[offset];
224         return videoram[offset];
209225   }
210226}
211227
212228static WRITE8_HANDLER( progolf_videoram_w )
213229{
230   progolf_state *state = space->machine->driver_data<progolf_state>();
231   UINT8 *videoram = state->videoram;
214232   //if(progolf_gfx_switch & 0x40)
215   space->machine->generic.videoram.u8[offset] = data;
233   videoram[offset] = data;
216234}
217235
218236static ADDRESS_MAP_START( main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
425443   }
426444}
427445
428static MACHINE_DRIVER_START( progolf )
446static MACHINE_CONFIG_START( progolf, progolf_state )
429447   /* basic machine hardware */
430448   MDRV_CPU_ADD("maincpu", M6502, 3000000/2) /* guess, 3 Mhz makes the game to behave worse? */
431449   MDRV_CPU_PROGRAM_MAP(main_cpu)
r9191r9192
460478
461479   MDRV_SOUND_ADD("ay2", AY8910, 12000000/8)
462480   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.23)
463MACHINE_DRIVER_END
481MACHINE_CONFIG_END
464482
465483
466484ROM_START( progolf )
src/mame/drivers/magmax.c
r9191r9192
2727#include "cpu/z80/z80.h"
2828#include "cpu/m68000/m68000.h"
2929#include "sound/ay8910.h"
30#include "includes/magmax.h"
3031
31PALETTE_INIT( magmax );
32VIDEO_UPDATE( magmax );
33VIDEO_START( magmax );
3432
35extern UINT16 *magmax_vreg;
36extern UINT16 *magmax_scroll_x;
37extern UINT16 *magmax_scroll_y;
38
39
4033static UINT8 sound_latch = 0;
4134static UINT8 LS74_clr = 0;
4235static UINT8 LS74_q   = 0;
r9191r9192
213206static ADDRESS_MAP_START( magmax_map, ADDRESS_SPACE_PROGRAM, 16 )
214207   AM_RANGE(0x000000, 0x013fff) AM_ROM
215208   AM_RANGE(0x018000, 0x018fff) AM_RAM
216   AM_RANGE(0x020000, 0x0207ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
209   AM_RANGE(0x020000, 0x0207ff) AM_RAM AM_BASE_MEMBER(magmax_state, videoram)
217210   AM_RANGE(0x028000, 0x0281ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
218211   AM_RANGE(0x030000, 0x030001) AM_READ_PORT("P1")
219212   AM_RANGE(0x030002, 0x030003) AM_READ_PORT("P2")
r9191r9192
355348};
356349
357350
358static MACHINE_DRIVER_START( magmax )
351static MACHINE_CONFIG_START( magmax, magmax_state )
359352
360353   /* basic machine hardware */
361354   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz/2)   /* verified on pcb */
r9191r9192
397390
398391   MDRV_SOUND_ADD("ay3", AY8910, XTAL_20MHz/16) /* verified on pcb */
399392   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
400MACHINE_DRIVER_END
393MACHINE_CONFIG_END
401394
402395
403396ROM_START( magmax )
src/mame/drivers/powerbal.c
r9191r9192
8787   AM_RANGE(0x0c2016, 0x0c2017) AM_READ_PORT("DSW1")
8888   AM_RANGE(0x0c2018, 0x0c2019) AM_READ_PORT("DSW2")
8989   AM_RANGE(0x0c201c, 0x0c201d) AM_DEVWRITE("oki", oki_banking)
90   AM_RANGE(0x0c201e, 0x0c201f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
90   AM_RANGE(0x0c201e, 0x0c201f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
9191   AM_RANGE(0x0c4000, 0x0c4001) AM_WRITENOP
9292   AM_RANGE(0x0e0000, 0x0fffff) AM_RAM
9393   AM_RANGE(0x100000, 0x100fff) AM_RAM AM_BASE_SIZE_MEMBER(playmark_state, spriteram, spriteram_size)
r9191r9192
107107   AM_RANGE(0x0c2016, 0x0c2017) AM_READ_PORT("DSW1")
108108   AM_RANGE(0x0c2018, 0x0c2019) AM_READ_PORT("DSW2")
109109   AM_RANGE(0x0c201c, 0x0c201d) AM_DEVWRITE("oki", oki_banking)
110   AM_RANGE(0x0c201e, 0x0c201f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
110   AM_RANGE(0x0c201e, 0x0c201f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
111111   AM_RANGE(0x0c4000, 0x0c4001) AM_WRITENOP
112112   AM_RANGE(0x0f0000, 0x0fffff) AM_RAM
113113   AM_RANGE(0x101000, 0x101fff) AM_RAM AM_BASE_SIZE_MEMBER(playmark_state, spriteram, spriteram_size)
r9191r9192
483483   state->tilebank = 0;
484484}
485485
486static MACHINE_DRIVER_START( powerbal )
486static MACHINE_CONFIG_START( powerbal, playmark_state )
487487
488   /* driver data */
489   MDRV_DRIVER_DATA(playmark_state)
490
491488   /* basic machine hardware */
492489   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
493490   MDRV_CPU_PROGRAM_MAP(powerbal_main_map)
r9191r9192
515512
516513   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
517514   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
518MACHINE_DRIVER_END
515MACHINE_CONFIG_END
519516
520static MACHINE_DRIVER_START( magicstk )
517static MACHINE_CONFIG_START( magicstk, playmark_state )
521518
522   /* driver data */
523   MDRV_DRIVER_DATA(playmark_state)
524
525519   /* basic machine hardware */
526520   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz */
527521   MDRV_CPU_PROGRAM_MAP(magicstk_main_map)
r9191r9192
552546
553547   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH)
554548   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
555MACHINE_DRIVER_END
549MACHINE_CONFIG_END
556550
557551
558552/*
src/mame/drivers/jackie.c
r9191r9192
519519}
520520
521521
522static MACHINE_DRIVER_START( jackie )
522static MACHINE_CONFIG_START( jackie, driver_device )
523523
524524   /* basic machine hardware */
525525   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz / 2)
r9191r9192
548548   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
549549   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
550550
551MACHINE_DRIVER_END
551MACHINE_CONFIG_END
552552
553553
554554ROM_START( jackie )
src/mame/drivers/warriorb.c
r9191r9192
571571   sound_global_enable(machine, 1);   /* mixer enabled */
572572}
573573
574static MACHINE_DRIVER_START( darius2d )
574static MACHINE_CONFIG_START( darius2d, warriorb_state )
575575
576   /* driver data */
577   MDRV_DRIVER_DATA(warriorb_state)
578
579576   /* basic machine hardware */
580577   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz ??? (Might well be 16!) */
581578   MDRV_CPU_PROGRAM_MAP(darius2d_map)
r9191r9192
638635   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
639636
640637   MDRV_TC0140SYT_ADD("tc0140syt", warriorb_tc0140syt_intf)
641MACHINE_DRIVER_END
638MACHINE_CONFIG_END
642639
643640
644static MACHINE_DRIVER_START( warriorb )
641static MACHINE_CONFIG_START( warriorb, warriorb_state )
645642
646   /* driver data */
647   MDRV_DRIVER_DATA(warriorb_state)
648
649643   /* basic machine hardware */
650644   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz ? */
651645   MDRV_CPU_PROGRAM_MAP(warriorb_map)
r9191r9192
708702   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
709703
710704   MDRV_TC0140SYT_ADD("tc0140syt", warriorb_tc0140syt_intf)
711MACHINE_DRIVER_END
705MACHINE_CONFIG_END
712706
713707
714708/***************************************************************************
src/mame/drivers/goal92.c
r9191r9192
313313   state->adpcm_toggle = 0;
314314}
315315
316static MACHINE_DRIVER_START( goal92 )
316static MACHINE_CONFIG_START( goal92, goal92_state )
317317
318   /* driver data */
319   MDRV_DRIVER_DATA(goal92_state)
320
321318   /* basic machine hardware */
322319   MDRV_CPU_ADD("maincpu", M68000,12000000)
323320   MDRV_CPU_PROGRAM_MAP(goal92_map)
r9191r9192
358355   MDRV_SOUND_ADD("msm", MSM5205, 384000)
359356   MDRV_SOUND_CONFIG(msm5205_config)
360357   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
361MACHINE_DRIVER_END
358MACHINE_CONFIG_END
362359
363360/*
364361
src/mame/drivers/alg.c
r9191r9192
2626#include "includes/amiga.h"
2727#include "machine/laserdsc.h"
2828#include "machine/6526cia.h"
29#include "machine/nvram.h"
2930
3031
3132static running_device *laserdisc;
r9191r9192
263264   AM_RANGE(0xfc0000, 0xffffff) AM_ROM AM_REGION("user1", 0)         /* System ROM */
264265
265266   AM_RANGE(0xf00000, 0xf1ffff) AM_ROM AM_REGION("user2", 0)         /* Custom ROM */
266   AM_RANGE(0xf54000, 0xf55fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
267   AM_RANGE(0xf54000, 0xf55fff) AM_RAM AM_SHARE("nvram")
267268ADDRESS_MAP_END
268269
269270
r9191r9192
276277   AM_RANGE(0xfc0000, 0xffffff) AM_ROM AM_REGION("user1", 0)         /* System ROM */
277278
278279   AM_RANGE(0xf00000, 0xf3ffff) AM_ROM AM_REGION("user2", 0)         /* Custom ROM */
279   AM_RANGE(0xf7c000, 0xf7dfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
280   AM_RANGE(0xf7c000, 0xf7dfff) AM_RAM AM_SHARE("nvram")
280281ADDRESS_MAP_END
281282
282283
r9191r9192
289290   AM_RANGE(0xfc0000, 0xffffff) AM_ROM AM_REGION("user1", 0)         /* System ROM */
290291
291292   AM_RANGE(0xf00000, 0xf1ffff) AM_ROM AM_REGION("user2", 0)         /* Custom ROM */
292   AM_RANGE(0xf40000, 0xf41fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
293   AM_RANGE(0xf40000, 0xf41fff) AM_RAM AM_SHARE("nvram")
293294ADDRESS_MAP_END
294295
295296
r9191r9192
403404   DEVCB_NULL                        /* port B */
404405};
405406
406static MACHINE_DRIVER_START( alg_r1 )
407static MACHINE_CONFIG_START( alg_r1, driver_device )
407408
408409   /* basic machine hardware */
409410   MDRV_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
r9191r9192
411412
412413   MDRV_MACHINE_START(alg)
413414   MDRV_MACHINE_RESET(alg)
414   MDRV_NVRAM_HANDLER(generic_0fill)
415   MDRV_NVRAM_ADD_0FILL("nvram")
415416
416417   MDRV_LASERDISC_ADD("laserdisc", SONY_LDP1450, "screen", "ldsound")
417418   MDRV_LASERDISC_OVERLAY(amiga, 512*2, 262, BITMAP_FORMAT_INDEXED16)
r9191r9192
437438   MDRV_SOUND_ROUTE(2, "rspeaker", 0.25)
438439   MDRV_SOUND_ROUTE(3, "lspeaker", 0.25)
439440
440   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
441   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
441442   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
442443   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
443444
444445   /* cia */
445446   MDRV_MOS8520_ADD("cia_0", AMIGA_68000_NTSC_CLOCK / 10, cia_0_intf)
446447   MDRV_MOS8520_ADD("cia_1", AMIGA_68000_NTSC_CLOCK / 10, cia_1_intf)
447MACHINE_DRIVER_END
448MACHINE_CONFIG_END
448449
449450
450static MACHINE_DRIVER_START( alg_r2 )
451   MDRV_IMPORT_FROM(alg_r1)
451static MACHINE_CONFIG_DERIVED( alg_r2, alg_r1 )
452452
453453   MDRV_CPU_MODIFY("maincpu")
454454   MDRV_CPU_PROGRAM_MAP(main_map_r2)
455MACHINE_DRIVER_END
455MACHINE_CONFIG_END
456456
457457
458static MACHINE_DRIVER_START( picmatic )
459   MDRV_IMPORT_FROM(alg_r1)
458static MACHINE_CONFIG_DERIVED( picmatic, alg_r1 )
460459
461460   /* adjust for PAL specs */
462461   MDRV_CPU_REPLACE("maincpu", M68000, AMIGA_68000_PAL_CLOCK)
r9191r9192
466465   MDRV_SCREEN_REFRESH_RATE(50)
467466   MDRV_SCREEN_SIZE(512*2, 312)
468467   MDRV_SCREEN_VISIBLE_AREA((129-8)*2, (449+8-1)*2, 44-8, 300+8-1)
469MACHINE_DRIVER_END
468MACHINE_CONFIG_END
470469
471470
472471
src/mame/drivers/bombjack.c
r9191r9192
344344}
345345
346346
347static MACHINE_DRIVER_START( bombjack )
347static MACHINE_CONFIG_START( bombjack, bombjack_state )
348348
349   /* driver data */
350   MDRV_DRIVER_DATA(bombjack_state)
351
352349   /* basic machine hardware */
353350   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz */
354351   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
387384
388385   MDRV_SOUND_ADD("ay3", AY8910, 1500000)
389386   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.13)
390MACHINE_DRIVER_END
387MACHINE_CONFIG_END
391388
392389
393390
src/mame/drivers/trucocl.c
r9191r9192
3535#include "emu.h"
3636#include "cpu/z80/z80.h"
3737#include "sound/dac.h"
38#include "includes/trucocl.h"
3839
39/* from video */
40extern UINT8 *trucocl_videoram;
41extern UINT8 *trucocl_colorram;
42
43WRITE8_HANDLER( trucocl_videoram_w );
44WRITE8_HANDLER( trucocl_colorram_w );
45PALETTE_INIT( trucocl );
46VIDEO_START( trucocl );
47VIDEO_UPDATE( trucocl );
48
49
5040static WRITE8_HANDLER( irq_enable_w )
5141{
5242   interrupt_enable_w( space, 0, (~data) & 1 );
r9191r9192
137127   irq0_line_hold(device);
138128}
139129
140static MACHINE_DRIVER_START( trucocl )
130static MACHINE_CONFIG_START( trucocl, driver_device )
141131   /* basic machine hardware */
142132   MDRV_CPU_ADD("maincpu", Z80, 18432000/6)
143133   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
163153
164154   MDRV_SOUND_ADD("dac", DAC, 0)
165155   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
166MACHINE_DRIVER_END
156MACHINE_CONFIG_END
167157
168158/***************************************************************************
169159
src/mame/drivers/unico.c
r9191r9192
7171   AM_RANGE(0x800114, 0x800115) AM_WRITEONLY AM_BASE(&unico_scrollx_2)            //
7272   AM_RANGE(0x800116, 0x800117) AM_WRITEONLY AM_BASE(&unico_scrollx_1)            //
7373   AM_RANGE(0x800120, 0x800121) AM_WRITEONLY AM_BASE(&unico_scrolly_1)            //
74   AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)   // Sound
74   AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)   // Sound
7575   AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8("ymsnd", ym3812_write_port_w, 0xff00         )   //
7676   AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8("ymsnd", ym3812_status_port_r, ym3812_control_port_w, 0xff00      )   //
7777   AM_RANGE(0x80018e, 0x80018f) AM_DEVWRITE("oki", burglarx_sound_bank_w)               //
r9191r9192
166166   AM_RANGE(0x800174, 0x800175) AM_READ(unico_gunx_0_msb_r         )   //
167167   AM_RANGE(0x800178, 0x800179) AM_READ(unico_guny_1_msb_r         )   //
168168   AM_RANGE(0x80017c, 0x80017d) AM_READ(unico_gunx_1_msb_r         )   //
169   AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff            )   // Sound
169   AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff            )   // Sound
170170   AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8("ymsnd", ym3812_write_port_w, 0xff00         )   //
171171   AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8("ymsnd", ym3812_status_port_r, ym3812_control_port_w, 0xff00      )   //
172172   AM_RANGE(0x80018e, 0x80018f) AM_WRITE(zeropnt_sound_bank_w            )   //
r9191r9192
231231static ADDRESS_MAP_START( zeropnt2_map, ADDRESS_SPACE_PROGRAM, 32 )
232232   AM_RANGE(0x000000, 0x1fffff) AM_ROM                                    // ROM
233233   AM_RANGE(0x800018, 0x80001b) AM_READ_PORT("SYSTEM")
234   AM_RANGE(0x800024, 0x800027) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff0000   )   // Sound
234   AM_RANGE(0x800024, 0x800027) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff0000   )   // Sound
235235   AM_RANGE(0x800028, 0x80002f) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff0000)   //
236   AM_RANGE(0x800030, 0x800033) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff0000   )   //
236   AM_RANGE(0x800030, 0x800033) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff0000   )   //
237237   AM_RANGE(0x800034, 0x800037) AM_WRITE(zeropnt2_sound_bank_w            )   //
238238   AM_RANGE(0x800038, 0x80003b) AM_WRITE(zeropnt2_leds_w               )   // ?
239239   AM_RANGE(0x80010c, 0x800123) AM_WRITEONLY AM_BASE(&unico_scroll32      )   // Scroll
r9191r9192
601601                                Burglar X
602602***************************************************************************/
603603
604static MACHINE_DRIVER_START( burglarx )
604static MACHINE_CONFIG_START( burglarx, driver_device )
605605
606606   /* basic machine hardware */
607607   MDRV_CPU_ADD("maincpu", M68000, 16000000)
r9191r9192
634634   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
635635   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
636636   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
637MACHINE_DRIVER_END
637MACHINE_CONFIG_END
638638
639639
640640
r9191r9192
647647   MACHINE_RESET_CALL(unico);
648648}
649649
650static MACHINE_DRIVER_START( zeropnt )
650static MACHINE_CONFIG_START( zeropnt, driver_device )
651651
652652   /* basic machine hardware */
653653   MDRV_CPU_ADD("maincpu", M68000, 16000000)
r9191r9192
680680   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
681681   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
682682   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
683MACHINE_DRIVER_END
683MACHINE_CONFIG_END
684684
685685
686686
r9191r9192
688688                                Zero Point 2
689689***************************************************************************/
690690
691static MACHINE_DRIVER_START( zeropnt2 )
691static MACHINE_CONFIG_START( zeropnt2, driver_device )
692692
693693   /* basic machine hardware */
694694   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)
r9191r9192
725725
726726   MDRV_OKIM6295_ADD("oki2", 3960000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
727727   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.20)
728MACHINE_DRIVER_END
728MACHINE_CONFIG_END
729729
730730
731731/***************************************************************************
src/mame/drivers/blockhl.c
r9191r9192
217217   state->rombank = 0;
218218}
219219
220static MACHINE_DRIVER_START( blockhl )
220static MACHINE_CONFIG_START( blockhl, blockhl_state )
221221
222   /* driver data */
223   MDRV_DRIVER_DATA(blockhl_state)
224
225222   /* basic machine hardware */
226223   MDRV_CPU_ADD("maincpu", KONAMI,3000000)      /* Konami custom 052526 */
227224   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
257254   MDRV_SOUND_ADD("ymsnd", YM2151, 3579545)
258255   MDRV_SOUND_ROUTE(0, "mono", 0.60)
259256   MDRV_SOUND_ROUTE(1, "mono", 0.60)
260MACHINE_DRIVER_END
257MACHINE_CONFIG_END
261258
262259
263260/***************************************************************************
src/mame/drivers/gcpinbal.c
r9191r9192
9393
9494      case 0x50:
9595      case 0x51:
96         return okim6295_r(state->oki, 0) << 8;
96         return state->oki->read(*space, 0) << 8;
9797
9898   }
9999
r9191r9192
146146      // OKIM6295
147147      case 0x50:
148148      case 0x51:
149         okim6295_w(state->oki, 0, data >> 8);
149         state->oki->write(*space, 0, data >> 8);
150150         break;
151151
152152      // MSM6585 ADPCM - mini emulation
r9191r9192
433433   state->msm_bank = 0;
434434}
435435
436static MACHINE_DRIVER_START( gcpinbal )
436static MACHINE_CONFIG_START( gcpinbal, gcpinbal_state )
437437
438   /* driver data */
439   MDRV_DRIVER_DATA(gcpinbal_state)
440
441438   /* basic machine hardware */
442439   MDRV_CPU_ADD("maincpu", M68000, 32000000/2)   /* 16 MHz ? */
443440   MDRV_CPU_PROGRAM_MAP(gcpinbal_map)
r9191r9192
469466   MDRV_SOUND_ADD("msm", MSM5205, 384000)
470467   MDRV_SOUND_CONFIG(msm5205_config)
471468   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
472MACHINE_DRIVER_END
469MACHINE_CONFIG_END
473470
474471
475472
src/mame/drivers/blackt96.c
r9191r9192
471471
472472
473473
474static MACHINE_DRIVER_START( blackt96 )
474static MACHINE_CONFIG_START( blackt96, driver_device )
475475   MDRV_CPU_ADD("maincpu", M68000, 18000000 /2)
476476   MDRV_CPU_PROGRAM_MAP(blackt96_map)
477477   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
r9191r9192
503503   MDRV_OKIM6295_ADD("oki2", 8000000/8, OKIM6295_PIN7_HIGH)
504504   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47)
505505   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47)
506MACHINE_DRIVER_END
506MACHINE_CONFIG_END
507507
508508
509509ROM_START( blackt96 )
src/mame/drivers/segag80v.c
r9191r9192
909909 *
910910 *************************************/
911911
912static MACHINE_DRIVER_START( g80v_base )
912static MACHINE_CONFIG_START( g80v_base, driver_device )
913913
914914   /* basic machine hardware */
915915   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK/2)
r9191r9192
931931
932932   /* sound hardware */
933933   MDRV_SPEAKER_STANDARD_MONO("mono")
934MACHINE_DRIVER_END
934MACHINE_CONFIG_END
935935
936936
937static MACHINE_DRIVER_START( elim2 )
938   MDRV_IMPORT_FROM(g80v_base)
937static MACHINE_CONFIG_DERIVED( elim2, g80v_base )
939938
940939   /* custom sound board */
941940   MDRV_SOUND_ADD("samples", SAMPLES, 0)
942941   MDRV_SOUND_CONFIG(elim2_samples_interface)
943942   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
944MACHINE_DRIVER_END
943MACHINE_CONFIG_END
945944
946945
947static MACHINE_DRIVER_START( spacfury )
948   MDRV_IMPORT_FROM(g80v_base)
946static MACHINE_CONFIG_DERIVED( spacfury, g80v_base )
949947
950948   /* custom sound board */
951949   MDRV_SOUND_ADD("samples", SAMPLES, 0)
r9191r9192
953951   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
954952
955953   /* speech board */
956   MDRV_IMPORT_FROM(sega_speech_board)
957MACHINE_DRIVER_END
954   MDRV_FRAGMENT_ADD(sega_speech_board)
955MACHINE_CONFIG_END
958956
959957
960static MACHINE_DRIVER_START( zektor )
961   MDRV_IMPORT_FROM(g80v_base)
958static MACHINE_CONFIG_DERIVED( zektor, g80v_base )
962959
963960   /* custom sound board */
964961   MDRV_SOUND_ADD("samples", SAMPLES, 0)
r9191r9192
969966   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
970967
971968   /* speech board */
972   MDRV_IMPORT_FROM(sega_speech_board)
973MACHINE_DRIVER_END
969   MDRV_FRAGMENT_ADD(sega_speech_board)
970MACHINE_CONFIG_END
974971
975972
976static MACHINE_DRIVER_START( tacscan )
977   MDRV_IMPORT_FROM(g80v_base)
973static MACHINE_CONFIG_DERIVED( tacscan, g80v_base )
978974
979975   /* universal sound board */
980   MDRV_IMPORT_FROM(sega_universal_sound_board)
981MACHINE_DRIVER_END
976   MDRV_FRAGMENT_ADD(sega_universal_sound_board)
977MACHINE_CONFIG_END
982978
983979
984static MACHINE_DRIVER_START( startrek )
985   MDRV_IMPORT_FROM(g80v_base)
980static MACHINE_CONFIG_DERIVED( startrek, g80v_base )
986981
987982   /* speech board */
988   MDRV_IMPORT_FROM(sega_speech_board)
983   MDRV_FRAGMENT_ADD(sega_speech_board)
989984
990985   /* universal sound board */
991   MDRV_IMPORT_FROM(sega_universal_sound_board)
992MACHINE_DRIVER_END
986   MDRV_FRAGMENT_ADD(sega_universal_sound_board)
987MACHINE_CONFIG_END
993988
994989
995990
src/mame/drivers/ace.c
r9191r9192
4343#define MASTER_CLOCK XTAL_18MHz
4444
4545
46class ace_state : public driver_data_t
46class ace_state : public driver_device
4747{
4848public:
49   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ace_state(machine)); }
49   ace_state(running_machine &machine, const driver_device_config_base &config)
50      : driver_device(machine, config) { }
5051
51   ace_state(running_machine &machine)
52      : driver_data_t(machine) { }
53
5452   /* video-related */
5553   UINT8 *  ram2;
5654   UINT8 *  scoreram;
r9191r9192
343341      state->objpos[i] = 0;
344342}
345343
346static MACHINE_DRIVER_START( ace )
344static MACHINE_CONFIG_START( ace, ace_state )
347345
348   /* driver data */
349   MDRV_DRIVER_DATA(ace_state)
350
351346   /* basic machine hardware */
352347   MDRV_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9)   /* 2 MHz ? */
353348   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
372367   /* sound hardware */
373368   /* ???? */
374369
375MACHINE_DRIVER_END
370MACHINE_CONFIG_END
376371
377372/***************************************************************************
378373
src/mame/drivers/gatron.c
r9191r9192
230230#include "cpu/z80/z80.h"
231231#include "sound/sn76496.h"
232232#include "machine/8255ppi.h"
233
233#include "machine/nvram.h"
234234#include "poker41.lh"
235235#include "pulltabs.lh"
236#include "includes/gatron.h"
236237
237/* from video */
238WRITE8_HANDLER( gat_videoram_w );
239PALETTE_INIT( gat );
240VIDEO_START( gat );
241VIDEO_UPDATE( gat );
242238
243
244239/****************************
245240*    Read/Write Handlers    *
246241****************************/
r9191r9192
344339
345340static ADDRESS_MAP_START( gat_map, ADDRESS_SPACE_PROGRAM, 8 )
346341   AM_RANGE(0x0000, 0x5fff) AM_ROM
347   AM_RANGE(0x6000, 0x63ff) AM_RAM_WRITE(gat_videoram_w) AM_BASE_GENERIC(videoram)
348   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* battery backed RAM */
342   AM_RANGE(0x6000, 0x63ff) AM_RAM_WRITE(gat_videoram_w) AM_BASE_MEMBER(gatron_state, videoram)
343   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")   /* battery backed RAM */
349344   AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("snsnd", sn76496_w)                     /* PSG */
350345   AM_RANGE(0xe000, 0xe000) AM_WRITE(output_port_0_w)                              /* lamps */
351346ADDRESS_MAP_END
r9191r9192
437432*    Machine Drivers     *
438433*************************/
439434
440static MACHINE_DRIVER_START( gat )
435static MACHINE_CONFIG_START( gat, gatron_state )
441436
442437   /* basic machine hardware */
443438   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/24)   /* 666.66 kHz, guess */
r9191r9192
445440   MDRV_CPU_IO_MAP(gat_portmap)
446441   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
447442
448   MDRV_NVRAM_HANDLER(generic_0fill)
443   MDRV_NVRAM_ADD_0FILL("nvram")
449444
450445   MDRV_PPI8255_ADD( "ppi8255", ppi8255_intf )
451446
r9191r9192
467462   MDRV_SPEAKER_STANDARD_MONO("mono")
468463   MDRV_SOUND_ADD("snsnd", SN76496, MASTER_CLOCK/8 )   /* 2 MHz, guess */
469464   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.00)
470MACHINE_DRIVER_END
465MACHINE_CONFIG_END
471466
472467
473468/*************************
src/mame/drivers/bottom9.c
r9191r9192
361361   state->nmienable = 0;
362362}
363363
364static MACHINE_DRIVER_START( bottom9 )
364static MACHINE_CONFIG_START( bottom9, bottom9_state )
365365
366   /* driver data */
367   MDRV_DRIVER_DATA(bottom9_state)
368
369366   /* basic machine hardware */
370367   MDRV_CPU_ADD("maincpu", M6809, 2000000) /* ? */
371368   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
409406   MDRV_SOUND_CONFIG(k007232_interface_2)
410407   MDRV_SOUND_ROUTE(0, "mono", 0.40)
411408   MDRV_SOUND_ROUTE(1, "mono", 0.40)
412MACHINE_DRIVER_END
409MACHINE_CONFIG_END
413410
414411
415412/***************************************************************************
src/mame/drivers/dreamwld.c
r9191r9192
9090
9191#define MASTER_CLOCK 32000000
9292
93class dreamwld_state : public driver_data_t
93class dreamwld_state : public driver_device
9494{
9595public:
96   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dreamwld_state(machine)); }
96   dreamwld_state(running_machine &machine, const driver_device_config_base &config)
97      : driver_device(machine, config) { }
9798
98   dreamwld_state(running_machine &machine)
99      : driver_data_t(machine) { }
100
10199   /* memory pointers */
102100   UINT32 *  bg_videoram;
103101   UINT32 *  bg2_videoram;
r9191r9192
316314   AM_RANGE(0xc00004, 0xc00007) AM_READ_PORT("c00004")
317315
318316   AM_RANGE(0xc0000c, 0xc0000f) AM_WRITE(dreamwld_6295_0_bank_w) // sfx
319   AM_RANGE(0xc00018, 0xc0001b) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0xff000000) // sfx
317   AM_RANGE(0xc00018, 0xc0001b) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0xff000000) // sfx
320318
321319   AM_RANGE(0xc0002c, 0xc0002f) AM_WRITE(dreamwld_6295_1_bank_w) // sfx
322   AM_RANGE(0xc00028, 0xc0002b) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0xff000000) // sfx
320   AM_RANGE(0xc00028, 0xc0002b) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0xff000000) // sfx
323321
324322   AM_RANGE(0xc00030, 0xc00033) AM_READ(dreamwld_protdata_r) // it reads protection data (irq code) from here and puts it at ffd000
325323
r9191r9192
420418   state->protindex = 0;
421419}
422420
423static MACHINE_DRIVER_START( dreamwld )
421static MACHINE_CONFIG_START( dreamwld, dreamwld_state )
424422
425   /* driver data */
426   MDRV_DRIVER_DATA(dreamwld_state)
427
428423   /* basic machine hardware */
429424   MDRV_CPU_ADD("maincpu", M68EC020, MASTER_CLOCK/2)
430425   MDRV_CPU_PROGRAM_MAP(dreamwld_map)
r9191r9192
456451   MDRV_OKIM6295_ADD("oki2", MASTER_CLOCK/32, OKIM6295_PIN7_LOW)
457452   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
458453   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
459MACHINE_DRIVER_END
454MACHINE_CONFIG_END
460455
461456
462457
src/mame/drivers/m62.c
r9191r9192
954954   state->bankcontrol[1] = 0;
955955}
956956
957static MACHINE_DRIVER_START( ldrun )
957static MACHINE_CONFIG_START( ldrun, irem_z80_state )
958958
959   /* driver data */
960   MDRV_DRIVER_DATA(irem_z80_state)
961
962959   /* basic machine hardware */
963960   MDRV_CPU_ADD("maincpu", Z80, 24000000/6)
964961   MDRV_CPU_PROGRAM_MAP(ldrun_map)
r9191r9192
984981   MDRV_VIDEO_UPDATE(ldrun)
985982
986983   /* sound hardware */
987   MDRV_IMPORT_FROM(m62_audio)
988MACHINE_DRIVER_END
984   MDRV_FRAGMENT_ADD(m62_audio)
985MACHINE_CONFIG_END
989986
990987
991static MACHINE_DRIVER_START( kungfum )
988static MACHINE_CONFIG_DERIVED( kungfum, ldrun )
992989
993990   /* basic machine hardware */
994   MDRV_IMPORT_FROM(ldrun)
995991   MDRV_CPU_MODIFY("maincpu")
996992   MDRV_CPU_CLOCK(18432000/6)
997993   MDRV_CPU_PROGRAM_MAP(kungfum_map)
r9191r9192
1003999
10041000   MDRV_VIDEO_START(kungfum)
10051001   MDRV_VIDEO_UPDATE(kungfum)
1006MACHINE_DRIVER_END
1002MACHINE_CONFIG_END
10071003
10081004
1009static MACHINE_DRIVER_START( battroad )
1005static MACHINE_CONFIG_DERIVED( battroad, ldrun )
10101006
10111007   /* basic machine hardware */
1012   MDRV_IMPORT_FROM(ldrun)
10131008   MDRV_CPU_MODIFY("maincpu")
10141009   MDRV_CPU_CLOCK(18432000/6)
10151010   MDRV_CPU_PROGRAM_MAP(battroad_map)
r9191r9192
10241019   MDRV_PALETTE_INIT(battroad)
10251020   MDRV_VIDEO_START(battroad)
10261021   MDRV_VIDEO_UPDATE(battroad)
1027MACHINE_DRIVER_END
1022MACHINE_CONFIG_END
10281023
10291024
1030static MACHINE_DRIVER_START( ldrun2 )
1025static MACHINE_CONFIG_DERIVED( ldrun2, ldrun )
10311026
10321027   /* basic machine hardware */
1033   MDRV_IMPORT_FROM(ldrun)
10341028   MDRV_CPU_MODIFY("maincpu")
10351029   MDRV_CPU_PROGRAM_MAP(ldrun2_map)
10361030   MDRV_CPU_IO_MAP(ldrun2_io_map)
10371031
10381032   MDRV_VIDEO_START(ldrun2)
10391033   MDRV_VIDEO_UPDATE(ldrun)
1040MACHINE_DRIVER_END
1034MACHINE_CONFIG_END
10411035
10421036
1043static MACHINE_DRIVER_START( ldrun3 )
1037static MACHINE_CONFIG_DERIVED( ldrun3, ldrun )
10441038
10451039   /* basic machine hardware */
1046   MDRV_IMPORT_FROM(ldrun)
10471040   MDRV_CPU_MODIFY("maincpu")
10481041   MDRV_CPU_PROGRAM_MAP(ldrun3_map)
10491042   MDRV_CPU_IO_MAP(ldrun3_io_map)
r9191r9192
10521045   MDRV_GFXDECODE(ldrun3)
10531046   MDRV_VIDEO_START(ldrun2)
10541047   MDRV_VIDEO_UPDATE(ldrun3)
1055MACHINE_DRIVER_END
1048MACHINE_CONFIG_END
10561049
10571050
1058static MACHINE_DRIVER_START( ldrun4 )
1051static MACHINE_CONFIG_DERIVED( ldrun4, ldrun )
10591052
10601053   /* basic machine hardware */
1061   MDRV_IMPORT_FROM(ldrun)
10621054   MDRV_CPU_MODIFY("maincpu")
10631055   MDRV_CPU_PROGRAM_MAP(ldrun4_map)
10641056   MDRV_CPU_IO_MAP(ldrun4_io_map)
r9191r9192
10671059   MDRV_GFXDECODE(ldrun3)
10681060   MDRV_VIDEO_START(ldrun4)
10691061   MDRV_VIDEO_UPDATE(ldrun4)
1070MACHINE_DRIVER_END
1062MACHINE_CONFIG_END
10711063
10721064
1073static MACHINE_DRIVER_START( lotlot )
1065static MACHINE_CONFIG_DERIVED( lotlot, ldrun )
10741066
10751067   /* basic machine hardware */
1076   MDRV_IMPORT_FROM(ldrun)
10771068   MDRV_CPU_MODIFY("maincpu")
10781069   MDRV_CPU_PROGRAM_MAP(lotlot_map)
10791070
r9191r9192
10841075   MDRV_PALETTE_INIT(lotlot)
10851076   MDRV_VIDEO_START(lotlot)
10861077   MDRV_VIDEO_UPDATE(lotlot)
1087MACHINE_DRIVER_END
1078MACHINE_CONFIG_END
10881079
10891080
1090static MACHINE_DRIVER_START( kidniki )
1081static MACHINE_CONFIG_DERIVED( kidniki, ldrun )
10911082
10921083   /* basic machine hardware */
1093   MDRV_IMPORT_FROM(ldrun)
10941084   MDRV_CPU_MODIFY("maincpu")
10951085   MDRV_CPU_PROGRAM_MAP(kidniki_map)
10961086   MDRV_CPU_IO_MAP(kidniki_io_map)
r9191r9192
11001090
11011091   MDRV_VIDEO_START(kidniki)
11021092   MDRV_VIDEO_UPDATE(kidniki)
1103MACHINE_DRIVER_END
1093MACHINE_CONFIG_END
11041094
11051095
1106static MACHINE_DRIVER_START( spelunkr )
1096static MACHINE_CONFIG_DERIVED( spelunkr, ldrun )
11071097
11081098   /* basic machine hardware */
1109   MDRV_IMPORT_FROM(ldrun)
11101099   MDRV_CPU_MODIFY("maincpu")
11111100   MDRV_CPU_PROGRAM_MAP(spelunkr_map)
11121101
r9191r9192
11151104
11161105   MDRV_VIDEO_START(spelunkr)
11171106   MDRV_VIDEO_UPDATE(spelunkr)
1118MACHINE_DRIVER_END
1107MACHINE_CONFIG_END
11191108
11201109
1121static MACHINE_DRIVER_START( spelunk2 )
1110static MACHINE_CONFIG_DERIVED( spelunk2, ldrun )
11221111
11231112   /* basic machine hardware */
1124   MDRV_IMPORT_FROM(ldrun)
11251113   MDRV_CPU_MODIFY("maincpu")
11261114   MDRV_CPU_PROGRAM_MAP(spelunk2_map)
11271115
r9191r9192
11321120   MDRV_PALETTE_INIT(spelunk2)
11331121   MDRV_VIDEO_START(spelunk2)
11341122   MDRV_VIDEO_UPDATE(spelunk2)
1135MACHINE_DRIVER_END
1123MACHINE_CONFIG_END
11361124
11371125
1138static MACHINE_DRIVER_START( youjyudn )
1126static MACHINE_CONFIG_DERIVED( youjyudn, ldrun )
11391127
11401128   /* basic machine hardware */
1141   MDRV_IMPORT_FROM(ldrun)
11421129   MDRV_CPU_MODIFY("maincpu")
11431130   MDRV_CPU_CLOCK(18432000/6)
11441131   MDRV_CPU_PROGRAM_MAP(youjyudn_map)
r9191r9192
11511138
11521139   MDRV_VIDEO_START(youjyudn)
11531140   MDRV_VIDEO_UPDATE(youjyudn)
1154MACHINE_DRIVER_END
1141MACHINE_CONFIG_END
11551142
11561143
1157static MACHINE_DRIVER_START( horizon )
1144static MACHINE_CONFIG_DERIVED( horizon, ldrun )
11581145
11591146   /* basic machine hardware */
1160   MDRV_IMPORT_FROM(ldrun)
11611147   MDRV_CPU_MODIFY("maincpu")
11621148   MDRV_CPU_PROGRAM_MAP(horizon_map)
11631149
r9191r9192
11671153
11681154   MDRV_VIDEO_START(horizon)
11691155   MDRV_VIDEO_UPDATE(horizon)
1170MACHINE_DRIVER_END
1156MACHINE_CONFIG_END
11711157
11721158
11731159/***************************************************************************
src/mame/drivers/megazone.c
r9191r9192
244244   state->i8039_status = 0;
245245}
246246
247static MACHINE_DRIVER_START( megazone )
247static MACHINE_CONFIG_START( megazone, megazone_state )
248248
249   /* driver data */
250   MDRV_DRIVER_DATA(megazone_state)
251
252249   /* basic machine hardware */
253250   MDRV_CPU_ADD("maincpu", M6809, 18432000/9)        /* 2 MHz */
254251   MDRV_CPU_PROGRAM_MAP(megazone_map)
r9191r9192
300297   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
301298   MDRV_SOUND_ADD("filter.0.2", FILTER_RC, 0)
302299   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
303MACHINE_DRIVER_END
300MACHINE_CONFIG_END
304301
305302
306303
src/mame/drivers/pass.c
r9191r9192
129129   ADDRESS_MAP_GLOBAL_MASK(0xff)
130130   AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
131131   AM_RANGE(0x70, 0x71) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
132   AM_RANGE(0x80, 0x80) AM_DEVWRITE("oki", okim6295_w)
132   AM_RANGE(0x80, 0x80) AM_DEVWRITE_MODERN("oki", okim6295_device, write)
133133   AM_RANGE(0xc0, 0xc0) AM_WRITE(soundlatch_clear_w)
134134ADDRESS_MAP_END
135135
r9191r9192
231231GFXDECODE_END
232232
233233/* todo : is this correct? */
234static MACHINE_DRIVER_START( pass )
234static MACHINE_CONFIG_START( pass, pass_state )
235235
236   MDRV_DRIVER_DATA( pass_state )
237
238236   /* basic machine hardware */
239237   MDRV_CPU_ADD("maincpu", M68000, 14318180/2 )
240238   MDRV_CPU_PROGRAM_MAP(pass_map)
r9191r9192
267265
268266   MDRV_OKIM6295_ADD("oki", 792000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
269267   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
270MACHINE_DRIVER_END
268MACHINE_CONFIG_END
271269
272270
273271ROM_START( pass )
src/mame/drivers/40love.c
r9191r9192
11191119   }
11201120}
11211121
1122static MACHINE_DRIVER_START( 40love )
1122static MACHINE_CONFIG_START( 40love, buggychl_state )
11231123
1124   /* driver data */
1125   MDRV_DRIVER_DATA(buggychl_state)
1126
11271124   /* basic machine hardware */
11281125   MDRV_CPU_ADD("maincpu",Z80,8000000/2) /* OK */
11291126   MDRV_CPU_PROGRAM_MAP(40love_map)
r9191r9192
11771174
11781175   MDRV_SOUND_ADD("dac", DAC, 0)
11791176   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
1180MACHINE_DRIVER_END
1177MACHINE_CONFIG_END
11811178
1182static MACHINE_DRIVER_START( undoukai )
1179static MACHINE_CONFIG_START( undoukai, buggychl_state )
11831180
1184   /* driver data */
1185   MDRV_DRIVER_DATA(buggychl_state)
1186
11871181   /* basic machine hardware */
11881182   MDRV_CPU_ADD("maincpu",Z80,8000000/2)
11891183   MDRV_CPU_PROGRAM_MAP(undoukai_map)
r9191r9192
12361230
12371231   MDRV_SOUND_ADD("dac", DAC, 0)
12381232   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
1239MACHINE_DRIVER_END
1233MACHINE_CONFIG_END
12401234
12411235/*******************************************************************************/
12421236
src/mame/drivers/sg1000a.c
r9191r9192
263263 *
264264 *************************************/
265265
266static MACHINE_DRIVER_START( sg1000a )
266static MACHINE_CONFIG_START( sg1000a, driver_device )
267267   /* basic machine hardware */
268268   MDRV_CPU_ADD("maincpu", Z80, XTAL_3_579545MHz)
269269   MDRV_CPU_PROGRAM_MAP(program_map)
r9191r9192
273273   MDRV_I8255A_ADD( "ppi8255", ppi8255_intf )
274274
275275   /* video hardware */
276   MDRV_IMPORT_FROM(tms9928a)
276   MDRV_FRAGMENT_ADD(tms9928a)
277277   MDRV_SCREEN_MODIFY("screen")
278278   MDRV_SCREEN_REFRESH_RATE((float)XTAL_10_738635MHz/2/342/262)
279279   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
r9191r9192
284284
285285   MDRV_SOUND_ADD("snsnd", SN76489, XTAL_3_579545MHz)
286286   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
287MACHINE_DRIVER_END
287MACHINE_CONFIG_END
288288
289289/*************************************
290290 *
src/mame/drivers/galaga.c
r9191r9192
15811581
15821582
15831583
1584static MACHINE_DRIVER_START( bosco )
1584static MACHINE_CONFIG_START( bosco, _galaga_state )
15851585
1586   MDRV_DRIVER_DATA(_galaga_state)
1587
15881586   /* basic machine hardware */
15891587   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)   /* 3.072 MHz */
15901588   MDRV_CPU_PROGRAM_MAP(bosco_map)
r9191r9192
16361634   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
16371635   MDRV_SOUND_CONFIG_DISCRETE(bosco)
16381636   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
1639MACHINE_DRIVER_END
1637MACHINE_CONFIG_END
16401638
16411639
1642static MACHINE_DRIVER_START( galaga )
1640static MACHINE_CONFIG_START( galaga, _galaga_state )
16431641
1644   MDRV_DRIVER_DATA(_galaga_state)
1645
16461642   /* basic machine hardware */
16471643   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)   /* 3.072 MHz */
16481644   MDRV_CPU_PROGRAM_MAP(galaga_map)
r9191r9192
16901686   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
16911687   MDRV_SOUND_CONFIG_DISCRETE(galaga)
16921688   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
1693MACHINE_DRIVER_END
1689MACHINE_CONFIG_END
16941690
1695static MACHINE_DRIVER_START( galagab )
1691static MACHINE_CONFIG_DERIVED( galagab, galaga )
16961692
16971693   /* basic machine hardware */
1698   MDRV_IMPORT_FROM(galaga)
16991694
17001695   MDRV_DEVICE_REMOVE("54xx")
17011696   MDRV_DEVICE_REMOVE("06xx")
r9191r9192
17081703
17091704   /* sound hardware */
17101705   MDRV_DEVICE_REMOVE("discrete")
1711MACHINE_DRIVER_END
1706MACHINE_CONFIG_END
17121707
17131708
1714static MACHINE_DRIVER_START( xevious )
1709static MACHINE_CONFIG_START( xevious, _galaga_state )
17151710
1716   MDRV_DRIVER_DATA(_galaga_state)
1717
17181711   /* basic machine hardware */
17191712   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)   /* 3.072 MHz */
17201713   MDRV_CPU_PROGRAM_MAP(xevious_map)
r9191r9192
17621755   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
17631756   MDRV_SOUND_CONFIG_DISCRETE(galaga)
17641757   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
1765MACHINE_DRIVER_END
1758MACHINE_CONFIG_END
17661759
1767static MACHINE_DRIVER_START( battles )
1760static MACHINE_CONFIG_DERIVED( battles, xevious )
17681761
17691762   /* basic machine hardware */
1770   MDRV_IMPORT_FROM( xevious )
17711763
17721764   MDRV_DEVICE_REMOVE("50xx")
17731765   MDRV_DEVICE_REMOVE("54xx")
r9191r9192
17931785   MDRV_SOUND_ADD("samples", SAMPLES, 0)
17941786   MDRV_SOUND_CONFIG(battles_samples_interface)
17951787   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
1796MACHINE_DRIVER_END
1788MACHINE_CONFIG_END
17971789
17981790
1799static MACHINE_DRIVER_START( digdug )
1791static MACHINE_CONFIG_START( digdug, _galaga_state )
18001792
1801   MDRV_DRIVER_DATA(_galaga_state)
1802
18031793   /* basic machine hardware */
18041794   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)   /* 3.072 MHz */
18051795   MDRV_CPU_PROGRAM_MAP(digdug_map)
r9191r9192
18421832   MDRV_SOUND_ADD("namco", NAMCO, MASTER_CLOCK/6/32)
18431833   MDRV_SOUND_CONFIG(namco_config)
18441834   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90 * 10.0 / 16.0)
1845MACHINE_DRIVER_END
1835MACHINE_CONFIG_END
18461836
1847static MACHINE_DRIVER_START( dzigzag )
1837static MACHINE_CONFIG_DERIVED( dzigzag, digdug )
18481838
18491839   /* basic machine hardware */
1850   MDRV_IMPORT_FROM(digdug)
18511840
18521841   MDRV_CPU_ADD("sub3", Z80, MASTER_CLOCK/6)   /* 3.072 MHz */
18531842   MDRV_CPU_PROGRAM_MAP(dzigzag_mem4)
1854MACHINE_DRIVER_END
1843MACHINE_CONFIG_END
18551844
18561845
18571846
src/mame/drivers/panicr.c
r9191r9192
6565#include "deprecat.h"
6666#include "audio/t5182.h"
6767
68
69class panicr_state : public driver_device
70{
71public:
72   panicr_state(running_machine &machine, const driver_device_config_base &config)
73      : driver_device(machine, config) { }
74
75   UINT8 *videoram;
76};
77
78
6879#define MASTER_CLOCK   XTAL_16MHz
6980#define SOUND_CLOCK      XTAL_14_31818MHz
7081#define TC15_CLOCK      XTAL_12MHz
r9191r9192
144155
145156static TILE_GET_INFO( get_txttile_info )
146157{
147   int code=machine->generic.videoram.u8[tile_index*4];
148   int attr=machine->generic.videoram.u8[tile_index*4+2];
158   panicr_state *state = machine->driver_data<panicr_state>();
159   UINT8 *videoram = state->videoram;
160   int code=videoram[tile_index*4];
161   int attr=videoram[tile_index*4+2];
149162   int color = attr & 0x07;
150163
151164   tileinfo->group = color;
r9191r9192
177190   AM_RANGE(0x02000, 0x02fff) AM_RAM AM_BASE_GENERIC(spriteram)
178191   AM_RANGE(0x03000, 0x03fff) AM_RAM
179192   AM_RANGE(0x08000, 0x0bfff) AM_RAM AM_REGION("user3", 0) //attribue map ?
180   AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE_GENERIC(videoram)
193   AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE_MEMBER(panicr_state, videoram)
181194   AM_RANGE(0x0d000, 0x0d000) AM_WRITE(t5182_sound_irq_w)
182195   AM_RANGE(0x0d002, 0x0d002) AM_READ(t5182_sharedram_semaphore_snd_r)
183196   AM_RANGE(0x0d004, 0x0d004) AM_WRITE(t5182_sharedram_semaphore_main_acquire_w)
r9191r9192
361374   GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0x200, 16 )
362375GFXDECODE_END
363376
364static MACHINE_DRIVER_START( panicr )
377static MACHINE_CONFIG_START( panicr, panicr_state )
365378   MDRV_CPU_ADD("maincpu", V20,MASTER_CLOCK/2) /* Sony 8623h9 CXQ70116D-8 (V20 compatible) */
366379   MDRV_CPU_PROGRAM_MAP(panicr_map)
367380   MDRV_CPU_VBLANK_INT_HACK(panicr_interrupt,2)
r9191r9192
392405   MDRV_SOUND_ROUTE(0, "mono", 1.0)
393406   MDRV_SOUND_ROUTE(1, "mono", 1.0)
394407
395MACHINE_DRIVER_END
408MACHINE_CONFIG_END
396409
397410ROM_START( panicr )
398411   ROM_REGION( 0x200000, "maincpu", 0 ) /* v20 main cpu */
src/mame/drivers/istellar.c
r9191r9192
321321
322322
323323/* DRIVER */
324static MACHINE_DRIVER_START( istellar )
324static MACHINE_CONFIG_START( istellar, driver_device )
325325   /* main cpu */
326326   MDRV_CPU_ADD("maincpu", Z80, GUESSED_CLOCK)
327327   MDRV_CPU_PROGRAM_MAP(z80_0_mem)
r9191r9192
354354   /* sound hardware */
355355   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
356356
357   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
357   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
358358   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
359359   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
360MACHINE_DRIVER_END
360MACHINE_CONFIG_END
361361
362362
363363/* There is a photo of the PCB with blurry IC locations and labels.  Comments reflect what I can (barely) see. */
src/mame/drivers/lasso.c
r9191r9192
499499   state->track_enable = 0;
500500}
501501
502static MACHINE_DRIVER_START( base )
502static MACHINE_CONFIG_START( base, lasso_state )
503503
504   /* driver data */
505   MDRV_DRIVER_DATA(lasso_state)
506
507504   /* basic machine hardware */
508505   MDRV_CPU_ADD("maincpu", M6502, 11289000/16)   /* guess */
509506   MDRV_CPU_PROGRAM_MAP(lasso_main_map)
r9191r9192
540537
541538   MDRV_SOUND_ADD("sn76489.2", SN76489, 2000000)
542539   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
543MACHINE_DRIVER_END
540MACHINE_CONFIG_END
544541
545static MACHINE_DRIVER_START( lasso )
542static MACHINE_CONFIG_DERIVED( lasso, base )
546543
547544   /* basic machine hardware */
548   MDRV_IMPORT_FROM(base)
549545   MDRV_CPU_ADD("blitter", M6502, 11289000/16)   /* guess */
550546   MDRV_CPU_PROGRAM_MAP(lasso_coprocessor_map)
551547
552MACHINE_DRIVER_END
548MACHINE_CONFIG_END
553549
554static MACHINE_DRIVER_START( chameleo )
550static MACHINE_CONFIG_DERIVED( chameleo, base )
555551
556552   /* basic machine hardware */
557   MDRV_IMPORT_FROM(base)
558553   MDRV_CPU_MODIFY("maincpu")
559554   MDRV_CPU_PROGRAM_MAP(chameleo_main_map)
560555
r9191r9192
563558
564559   /* video hardware */
565560   MDRV_VIDEO_UPDATE(chameleo)
566MACHINE_DRIVER_END
561MACHINE_CONFIG_END
567562
568static MACHINE_DRIVER_START( wwjgtin )
563static MACHINE_CONFIG_DERIVED( wwjgtin, base )
569564
570565   /* basic machine hardware */
571   MDRV_IMPORT_FROM(base)
572566   MDRV_CPU_MODIFY("maincpu")
573567   MDRV_CPU_PROGRAM_MAP(wwjgtin_main_map)
574568
r9191r9192
591585   /* sound hardware */
592586   MDRV_SOUND_ADD("dac", DAC, 0)
593587   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
594MACHINE_DRIVER_END
588MACHINE_CONFIG_END
595589
596static MACHINE_DRIVER_START( pinbo )
590static MACHINE_CONFIG_DERIVED( pinbo, base )
597591
598592   /* basic machine hardware */
599   MDRV_IMPORT_FROM(base)
600593   MDRV_CPU_MODIFY("maincpu")
601594   MDRV_CPU_PROGRAM_MAP(pinbo_main_map)
602595
r9191r9192
621614
622615   MDRV_SOUND_ADD("ay2", AY8910, 1250000)
623616   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.55)
624MACHINE_DRIVER_END
617MACHINE_CONFIG_END
625618
626619
627620ROM_START( lasso )
src/mame/drivers/macs.c
r9191r9192
457457   &st0016_charram
458458};
459459
460static MACHINE_DRIVER_START( macs )
460static MACHINE_CONFIG_START( macs, driver_device )
461461   /* basic machine hardware */
462462   MDRV_CPU_ADD("maincpu",Z80,8000000) /* 8 MHz ? */
463463   MDRV_CPU_PROGRAM_MAP(macs_mem)
r9191r9192
487487   MDRV_SOUND_CONFIG(st0016_config)
488488   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
489489   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
490MACHINE_DRIVER_END
490MACHINE_CONFIG_END
491491
492492
493493
src/mame/drivers/sbowling.c
r9191r9192
4545#include "sound/ay8910.h"
4646
4747
48class sbowling_state : public driver_data_t
48class sbowling_state : public driver_device
4949{
5050public:
51   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, sbowling_state(machine)); }
51   sbowling_state(running_machine &machine, const driver_device_config_base &config)
52      : driver_device(machine, config) { }
5253
53   sbowling_state(running_machine &machine)
54      : driver_data_t(machine) { }
55
5654   int bgmap;
5755   UINT8 *videoram;
5856
r9191r9192
179177   {
180178      int offs;
181179      for (offs = 0;offs < 0x4000; offs++)
182         sbw_videoram_w(space, offs, space->machine->generic.videoram.u8[offs]);
180         sbw_videoram_w(space, offs, state->videoram[offs]);
183181   }
184182   state->sbw_system = data;
185183}
r9191r9192
370368   }
371369}
372370
373static MACHINE_DRIVER_START( sbowling )
371static MACHINE_CONFIG_START( sbowling, sbowling_state )
374372
375   MDRV_DRIVER_DATA( sbowling_state )
376
377373   MDRV_CPU_ADD("maincpu", I8080, XTAL_19_968MHz/10)   /* ? */
378374   MDRV_CPU_PROGRAM_MAP(main_map)
379375   MDRV_CPU_IO_MAP(port_map)
r9191r9192
397393
398394   MDRV_SOUND_ADD("aysnd", AY8910, XTAL_19_968MHz/16)   /* ? */
399395   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
400MACHINE_DRIVER_END
396MACHINE_CONFIG_END
401397
402398ROM_START( sbowling )
403399   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/psychic5.c
r9191r9192
313313#include "cpu/z80/z80.h"
314314#include "deprecat.h"
315315#include "sound/2203intf.h"
316#include "includes/psychic5.h"
316317
317
318WRITE8_HANDLER( psychic5_paged_ram_w );
319WRITE8_HANDLER( psychic5_vram_page_select_w );
320WRITE8_HANDLER( psychic5_title_screen_w );
321
322READ8_HANDLER( psychic5_paged_ram_r );
323READ8_HANDLER( psychic5_vram_page_select_r );
324
325VIDEO_START( psychic5 );
326VIDEO_RESET( psychic5 );
327VIDEO_UPDATE( psychic5 );
328
329
330extern UINT8 *bombsa_paletteram;
331WRITE8_HANDLER( bombsa_paged_ram_w );
332WRITE8_HANDLER( bombsa_unknown_w );
333
334VIDEO_START( bombsa );
335VIDEO_RESET( bombsa );
336VIDEO_UPDATE( bombsa );
337
338
339318static UINT8 psychic5_bank_latch;
340319
341320static MACHINE_RESET( psychic5 )
r9191r9192
677656   irqhandler
678657};
679658
680static MACHINE_DRIVER_START( psychic5 )
659static MACHINE_CONFIG_START( psychic5, driver_device )
681660
682661   /* basic machine hardware */
683662   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2)
r9191r9192
722701   MDRV_SOUND_ROUTE(1, "mono", 0.15)
723702   MDRV_SOUND_ROUTE(2, "mono", 0.15)
724703   MDRV_SOUND_ROUTE(3, "mono", 0.50)
725MACHINE_DRIVER_END
704MACHINE_CONFIG_END
726705
727static MACHINE_DRIVER_START( bombsa )
706static MACHINE_CONFIG_START( bombsa, driver_device )
728707
729708   /* basic machine hardware */
730709   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2 ) /* 6 MHz */
r9191r9192
768747   MDRV_SOUND_ROUTE(1, "mono", 0.30)
769748   MDRV_SOUND_ROUTE(2, "mono", 0.30)
770749   MDRV_SOUND_ROUTE(3, "mono", 1.0)
771MACHINE_DRIVER_END
750MACHINE_CONFIG_END
772751
773752
774753/***************************************************************************
src/mame/drivers/good.c
r9191r9192
3535#include "sound/okim6295.h"
3636
3737
38class good_state : public driver_data_t
38class good_state : public driver_device
3939{
4040public:
41   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, good_state(machine)); }
41   good_state(running_machine &machine, const driver_device_config_base &config)
42      : driver_device(machine, config) { }
4243
43   good_state(running_machine &machine)
44      : driver_data_t(machine) { }
45
4644   /* memory pointers */
4745   UINT16 *  bg_tilemapram;
4846   UINT16 *  fg_tilemapram;
r9191r9192
106104   AM_RANGE(0x000000, 0x01ffff) AM_ROM
107105
108106   //AM_RANGE(0x270000, 0x270007) AM_RAM // scroll?
109   AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
107   AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
110108
111109   AM_RANGE(0x280000, 0x280001) AM_READ_PORT("IN0")
112110   AM_RANGE(0x280002, 0x280003) AM_READ_PORT("IN1")
r9191r9192
274272GFXDECODE_END
275273
276274
277static MACHINE_DRIVER_START( good )
278   MDRV_DRIVER_DATA(good_state)
275static MACHINE_CONFIG_START( good, good_state )
279276
280277   MDRV_CPU_ADD("maincpu", M68000, 16000000 /2)
281278   MDRV_CPU_PROGRAM_MAP(good_map)
r9191r9192
300297   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
301298   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47)
302299   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47)
303MACHINE_DRIVER_END
300MACHINE_CONFIG_END
304301
305302
306303ROM_START( good )
src/mame/drivers/8080bw.c
r9191r9192
379379
380380/* same as regular invaders, but with a color board added */
381381
382static MACHINE_DRIVER_START( invadpt2 )
382static MACHINE_CONFIG_DERIVED( invadpt2, mw8080bw_root )
383383
384384   /* basic machine hardware */
385   MDRV_IMPORT_FROM(mw8080bw_root)
386385   MDRV_CPU_MODIFY("maincpu")
387386   MDRV_CPU_IO_MAP(invadpt2_io_map)
388387   MDRV_MACHINE_START(extra_8080bw)
r9191r9192
398397   MDRV_VIDEO_UPDATE(invadpt2)
399398
400399   /* sound hardware */
401   MDRV_IMPORT_FROM(invaders_samples_audio)
400   MDRV_FRAGMENT_ADD(invaders_samples_audio)
402401
403MACHINE_DRIVER_END
402MACHINE_CONFIG_END
404403
405404/*******************************************************/
406405/*                                                     */
r9191r9192
438437   PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
439438INPUT_PORTS_END
440439
441static MACHINE_DRIVER_START( spcewars )
440static MACHINE_CONFIG_DERIVED( spcewars, mw8080bw_root )
442441
443442   /* basic machine hardware */
444   MDRV_IMPORT_FROM(mw8080bw_root)
445443   MDRV_CPU_MODIFY("maincpu")
446444   MDRV_CPU_IO_MAP(spcewars_io_map)
447445   MDRV_MACHINE_START(extra_8080bw)
r9191r9192
450448   MDRV_MB14241_ADD("mb14241")
451449
452450   /* sound hardware */
453   MDRV_IMPORT_FROM(invaders_samples_audio)
451   MDRV_FRAGMENT_ADD(invaders_samples_audio)
454452
455453   /* extra audio channel */
456   MDRV_SOUND_ADD("speaker", SPEAKER, 0)
454   MDRV_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
457455   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
458456
459MACHINE_DRIVER_END
457MACHINE_CONFIG_END
460458
461459/*******************************************************/
462460/*                                                     */
r9191r9192
513511
514512INPUT_PORTS_END
515513
516static MACHINE_DRIVER_START( astropal )
514static MACHINE_CONFIG_DERIVED( astropal, invaders )
517515
518516   /* basic machine hardware */
519   MDRV_IMPORT_FROM(invaders)
520517   MDRV_CPU_MODIFY("maincpu")
521518   MDRV_CPU_IO_MAP(astropal_io_map)
522519
523MACHINE_DRIVER_END
520MACHINE_CONFIG_END
524521
525522/*******************************************************/
526523/*                                                     */
r9191r9192
563560   PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW1:8" ) /* must be HIGH normally or the joystick won't work */
564561INPUT_PORTS_END
565562
566static MACHINE_DRIVER_START( cosmo )
563static MACHINE_CONFIG_DERIVED( cosmo, mw8080bw_root )
567564
568565   /* basic machine hardware */
569   MDRV_IMPORT_FROM(mw8080bw_root)
570566   MDRV_CPU_MODIFY("maincpu")
571567   MDRV_CPU_PROGRAM_MAP(cosmo_map)
572568   MDRV_CPU_IO_MAP(cosmo_io_map)
r9191r9192
576572   MDRV_VIDEO_UPDATE(cosmo)
577573
578574   /* sound hardware */
579   MDRV_IMPORT_FROM(invaders_samples_audio)
575   MDRV_FRAGMENT_ADD(invaders_samples_audio)
580576
581MACHINE_DRIVER_END
577MACHINE_CONFIG_END
582578
583579/*******************************************************/
584580/*                                                     */
r9191r9192
686682INPUT_PORTS_END
687683
688684
689static MACHINE_DRIVER_START( invrvnge )
685static MACHINE_CONFIG_DERIVED( invrvnge, mw8080bw_root )
690686
691687   /* basic machine hardware */
692   MDRV_IMPORT_FROM(mw8080bw_root)
693688   MDRV_CPU_MODIFY("maincpu")
694689   MDRV_CPU_IO_MAP(invrvnge_io_map)
695690
r9191r9192
697692   MDRV_MB14241_ADD("mb14241")
698693
699694   /* sound hardware */
700   MDRV_IMPORT_FROM(invaders_samples_audio)
695   MDRV_FRAGMENT_ADD(invaders_samples_audio)
701696
702MACHINE_DRIVER_END
697MACHINE_CONFIG_END
703698
704699
705700/*******************************************************/
r9191r9192
792787   PORT_DIPUNUSED_DIPLOC( 0x80, 0x00, "SW1:8" )
793788INPUT_PORTS_END
794789
795static MACHINE_DRIVER_START( lrescue )
790static MACHINE_CONFIG_DERIVED( lrescue, mw8080bw_root )
796791
797792   /* basic machine hardware */
798   MDRV_IMPORT_FROM(mw8080bw_root)
799793   MDRV_CPU_MODIFY("maincpu")
800794   MDRV_CPU_IO_MAP(lrescue_io_map)
801795   MDRV_MACHINE_START(extra_8080bw)
r9191r9192
814808   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
815809
816810   /* extra audio channel */
817   MDRV_SOUND_ADD("speaker", SPEAKER, 0)
811   MDRV_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
818812   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
819813
820MACHINE_DRIVER_END
814MACHINE_CONFIG_END
821815
822816
823817/*******************************************************/
r9191r9192
926920   PORT_INCLUDE( sicv )
927921
928922   PORT_MODIFY("IN0")
923        /* Duplicate control required (both must be mapped to same key for input to work for game select and in-game) */
929924   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) /* Game Select */
930925   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) /* Game Select */
931926
r9191r9192
940935   PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
941936INPUT_PORTS_END
942937
943static MACHINE_DRIVER_START( rollingc )
938static MACHINE_CONFIG_DERIVED( rollingc, mw8080bw_root )
944939
945940   /* basic machine hardware */
946   MDRV_IMPORT_FROM(mw8080bw_root)
947941   MDRV_CPU_MODIFY("maincpu")
948942   MDRV_CPU_PROGRAM_MAP(rollingc_map)
949943   MDRV_CPU_IO_MAP(rollingc_io_map)
r9191r9192
955949   MDRV_VIDEO_UPDATE(rollingc)
956950
957951   /* sound hardware */
958   MDRV_IMPORT_FROM(invaders_samples_audio)
952   MDRV_FRAGMENT_ADD(invaders_samples_audio)
959953
960MACHINE_DRIVER_END
954MACHINE_CONFIG_END
961955
962956
963957
r9191r9192
10551049   MACHINE_RESET_CALL(mw8080bw);
10561050}
10571051
1058static MACHINE_DRIVER_START( schaser )
1052static MACHINE_CONFIG_DERIVED( schaser, mw8080bw_root )
10591053
10601054   /* basic machine hardware */
1061   MDRV_IMPORT_FROM(mw8080bw_root)
10621055   MDRV_CPU_REPLACE("maincpu",I8080,1996800)      /* 19.968MHz / 10 */
10631056   MDRV_CPU_PROGRAM_MAP(schaser_map)
10641057   MDRV_CPU_IO_MAP(schaser_io_map)
r9191r9192
10831076   MDRV_SOUND_CONFIG_DISCRETE(schaser)
10841077   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
10851078
1086MACHINE_DRIVER_END
1079MACHINE_CONFIG_END
10871080
10881081
10891082/*******************************************************/
r9191r9192
11261119   PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x00, "SW1:8" )
11271120INPUT_PORTS_END
11281121
1129static MACHINE_DRIVER_START( schasercv )
1122static MACHINE_CONFIG_DERIVED( schasercv, mw8080bw_root )
11301123
11311124   /* basic machine hardware */
1132   MDRV_IMPORT_FROM(mw8080bw_root)
11331125   MDRV_CPU_MODIFY("maincpu")
11341126   MDRV_CPU_PROGRAM_MAP(schaser_map)
11351127   MDRV_CPU_IO_MAP(schasercv_io_map)
r9191r9192
11421134   MDRV_VIDEO_UPDATE(schasercv)
11431135
11441136   /* sound hardware */
1145   MDRV_IMPORT_FROM(invaders_samples_audio)
1137   MDRV_FRAGMENT_ADD(invaders_samples_audio)
11461138
1147   MDRV_SOUND_ADD("speaker", SPEAKER, 0)
1139   MDRV_SOUND_ADD("speaker", SPEAKER_SOUND, 0)
11481140   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
11491141
1150MACHINE_DRIVER_END
1142MACHINE_CONFIG_END
11511143
11521144
11531145/*******************************************************/
r9191r9192
12181210INPUT_PORTS_END
12191211
12201212
1221static MACHINE_DRIVER_START( sflush )
1213static MACHINE_CONFIG_DERIVED( sflush, mw8080bw_root )
12221214
12231215   /* basic machine hardware */
1224   MDRV_IMPORT_FROM(mw8080bw_root)
12251216   MDRV_CPU_REPLACE("maincpu",M6800,2000000)      /* ?? */
12261217   MDRV_CPU_PROGRAM_MAP(sflush_map)
12271218   MDRV_CPU_VBLANK_INT_HACK(irq0_line_pulse,2)
r9191r9192
12331224   /* video hardware */
12341225   MDRV_VIDEO_UPDATE(sflush)
12351226
1236MACHINE_DRIVER_END
1227MACHINE_CONFIG_END
12371228
12381229
12391230/*******************************************************/
r9191r9192
13261317   PORT_DIPSETTING(    0x80, DEF_STR( On ) )
13271318INPUT_PORTS_END
13281319
1329static MACHINE_DRIVER_START( lupin3 )
1320static MACHINE_CONFIG_DERIVED( lupin3, mw8080bw_root )
13301321
13311322   /* basic machine hardware */
1332   MDRV_IMPORT_FROM(mw8080bw_root)
13331323   MDRV_CPU_MODIFY("maincpu")
13341324   MDRV_CPU_IO_MAP(lupin3_io_map)
13351325   MDRV_MACHINE_START(extra_8080bw)
r9191r9192
13411331   MDRV_VIDEO_UPDATE(indianbt)
13421332
13431333   /* sound hardware */
1344   MDRV_IMPORT_FROM(invaders_samples_audio)
1334   MDRV_FRAGMENT_ADD(invaders_samples_audio)
13451335
1346MACHINE_DRIVER_END
1336MACHINE_CONFIG_END
13471337
1348static MACHINE_DRIVER_START( lupin3a )
1338static MACHINE_CONFIG_DERIVED( lupin3a, mw8080bw_root )
13491339
13501340   /* basic machine hardware */
1351   MDRV_IMPORT_FROM(mw8080bw_root)
13521341   MDRV_CPU_MODIFY("maincpu")
13531342   MDRV_CPU_PROGRAM_MAP(schaser_map)
13541343   MDRV_CPU_IO_MAP(lupin3_io_map)
r9191r9192
13611350   MDRV_VIDEO_UPDATE(lupin3)
13621351
13631352   /* sound hardware */
1364   MDRV_IMPORT_FROM(invaders_samples_audio)
1353   MDRV_FRAGMENT_ADD(invaders_samples_audio)
13651354
1366MACHINE_DRIVER_END
1355MACHINE_CONFIG_END
13671356
13681357
13691358/*******************************************************/
r9191r9192
14641453   PORT_ADJUSTER( 90, "Sub Volume VR3" )
14651454INPUT_PORTS_END
14661455
1467static MACHINE_DRIVER_START( polaris )
1456static MACHINE_CONFIG_DERIVED( polaris, mw8080bw_root )
14681457
14691458   /* basic machine hardware */
1470   MDRV_IMPORT_FROM(mw8080bw_root)
14711459   MDRV_CPU_REPLACE("maincpu",I8080,1996800)      /* 19.968MHz / 10 */
14721460   MDRV_CPU_PROGRAM_MAP(schaser_map)
14731461   MDRV_CPU_IO_MAP(polaris_io_map)
r9191r9192
14881476   MDRV_SOUND_CONFIG_DISCRETE(polaris)
14891477   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
14901478
1491MACHINE_DRIVER_END
1479MACHINE_CONFIG_END
14921480
14931481
14941482/*******************************************************/
r9191r9192
15581546static INPUT_PORTS_START( jspecter )
15591547   PORT_INCLUDE( sicv )
15601548
1561   PORT_MODIFY("IN1")
1562   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY //typo? declared twice
1563
15641549   PORT_MODIFY("IN2")
15651550   PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x00, "SW1:3" )
15661551INPUT_PORTS_END
r9191r9192
15931578   PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x00, "SW1:8" )
15941579INPUT_PORTS_END
15951580
1596static MACHINE_DRIVER_START( ballbomb )
1581static MACHINE_CONFIG_DERIVED( ballbomb, mw8080bw_root )
15971582
15981583   /* basic machine hardware */
1599   MDRV_IMPORT_FROM(mw8080bw_root)
16001584   MDRV_CPU_MODIFY("maincpu")
16011585   MDRV_CPU_IO_MAP(ballbomb_io_map)
16021586   MDRV_MACHINE_START(extra_8080bw)
r9191r9192
16081592   MDRV_VIDEO_UPDATE(ballbomb)
16091593
16101594   /* sound hardware */
1611   MDRV_IMPORT_FROM(invaders_samples_audio)
1595   MDRV_FRAGMENT_ADD(invaders_samples_audio)
16121596
1613MACHINE_DRIVER_END
1597MACHINE_CONFIG_END
16141598
16151599
16161600/*******************************************************/
r9191r9192
16701654INPUT_PORTS_END
16711655
16721656
1673static MACHINE_DRIVER_START( yosakdon )
1657static MACHINE_CONFIG_DERIVED( yosakdon, mw8080bw_root )
16741658
16751659   /* basic machine hardware */
1676   MDRV_IMPORT_FROM(mw8080bw_root)
16771660   MDRV_CPU_MODIFY("maincpu")
16781661   MDRV_CPU_PROGRAM_MAP(yosakdon_map)
16791662   MDRV_CPU_IO_MAP(yosakdon_io_map)
16801663   MDRV_MACHINE_START(extra_8080bw)
16811664
16821665   /* sound hardware */
1683   MDRV_IMPORT_FROM(invaders_samples_audio)
1666   MDRV_FRAGMENT_ADD(invaders_samples_audio)
16841667
1685MACHINE_DRIVER_END
1668MACHINE_CONFIG_END
16861669
16871670
16881671/*******************************************************/
r9191r9192
17681751ADDRESS_MAP_END
17691752
17701753
1771static MACHINE_DRIVER_START( indianbt )
1754static MACHINE_CONFIG_DERIVED( indianbt, mw8080bw_root )
17721755
17731756   /* basic machine hardware */
1774   MDRV_IMPORT_FROM(mw8080bw_root)
17751757   MDRV_CPU_MODIFY("maincpu")
17761758   MDRV_CPU_IO_MAP(indianbt_io_map)
17771759   MDRV_MACHINE_START(extra_8080bw)
r9191r9192
17831765   MDRV_VIDEO_UPDATE(indianbt)
17841766
17851767   /* sound hardware */
1786   MDRV_IMPORT_FROM(invaders_samples_audio)
1768   MDRV_FRAGMENT_ADD(invaders_samples_audio)
17871769
17881770   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
17891771   MDRV_SOUND_CONFIG_DISCRETE(indianbt)
17901772   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
17911773
1792MACHINE_DRIVER_END
1774MACHINE_CONFIG_END
17931775
17941776/*******************************************************/
17951777/*                                                     */
r9191r9192
18421824INPUT_PORTS_END
18431825
18441826
1845static MACHINE_DRIVER_START( steelwkr )
1827static MACHINE_CONFIG_DERIVED( steelwkr, mw8080bw_root )
18461828
18471829   /* basic machine hardware */
1848   MDRV_IMPORT_FROM(mw8080bw_root)
18491830   MDRV_CPU_MODIFY("maincpu")
18501831   MDRV_CPU_IO_MAP(steelwkr_io_map)
18511832   MDRV_MACHINE_START(extra_8080bw)
r9191r9192
18571838   MDRV_VIDEO_UPDATE(invadpt2)
18581839
18591840   /* sound hardware */
1860   MDRV_IMPORT_FROM(invaders_samples_audio)
1841   MDRV_FRAGMENT_ADD(invaders_samples_audio)
18611842
1862MACHINE_DRIVER_END
1843MACHINE_CONFIG_END
18631844
18641845/*****************************************************
18651846
r9191r9192
19781959ADDRESS_MAP_END
19791960
19801961
1981static MACHINE_DRIVER_START( shuttlei )
1962static MACHINE_CONFIG_DERIVED( shuttlei, mw8080bw_root )
19821963
19831964   /* basic machine hardware */
1984   MDRV_IMPORT_FROM(mw8080bw_root)
19851965   MDRV_CPU_MODIFY("maincpu")
19861966   MDRV_CPU_PROGRAM_MAP(shuttlei_map)
19871967   MDRV_CPU_IO_MAP(shuttlei_io_map)
r9191r9192
19931973   MDRV_VIDEO_UPDATE(shuttlei)
19941974
19951975   /* sound hardware */
1996   MDRV_IMPORT_FROM(invaders_samples_audio)
1976   MDRV_FRAGMENT_ADD(invaders_samples_audio)
19971977
1998MACHINE_DRIVER_END
1978MACHINE_CONFIG_END
19991979
20001980
20011981
r9191r9192
20882068   INVADERS_CAB_TYPE_PORT
20892069INPUT_PORTS_END
20902070
2091static MACHINE_DRIVER_START( darthvdr )
2071static MACHINE_CONFIG_DERIVED( darthvdr, mw8080bw_root )
20922072
20932073   /* basic machine hardware */
2094   MDRV_IMPORT_FROM(mw8080bw_root)
20952074   MDRV_CPU_MODIFY("maincpu")
20962075   MDRV_CPU_PROGRAM_MAP(darthvdr_map)
20972076   MDRV_CPU_IO_MAP(darthvdr_io_map)
r9191r9192
21002079   MDRV_MACHINE_START(darthvdr)
21012080   MDRV_MACHINE_RESET(darthvdr)
21022081
2103MACHINE_DRIVER_END
2082MACHINE_CONFIG_END
21042083
21052084/*************************************
21062085 *
r9191r9192
21612140   PORT_DIPSETTING(    0x80, DEF_STR( 1C_1C ) )
21622141INPUT_PORTS_END
21632142
2164MACHINE_DRIVER_START( vortex )
2143MACHINE_CONFIG_DERIVED( vortex, mw8080bw_root )
21652144
21662145   /* basic machine hardware */
2167   MDRV_IMPORT_FROM(mw8080bw_root)
21682146   MDRV_CPU_MODIFY("maincpu")
21692147   MDRV_CPU_IO_MAP(vortex_io_map)
21702148   MDRV_MACHINE_START(extra_8080bw)
r9191r9192
21782156   MDRV_MB14241_ADD("mb14241")
21792157
21802158   /* audio hardware */
2181   MDRV_IMPORT_FROM(invaders_audio)
2159   MDRV_FRAGMENT_ADD(invaders_audio)
21822160
2183MACHINE_DRIVER_END
2161MACHINE_CONFIG_END
21842162
21852163/* decrypt function for vortex */
21862164static DRIVER_INIT( vortex )
r9191r9192
23682346ADDRESS_MAP_END
23692347
23702348
2371MACHINE_DRIVER_START( modelr )
2349MACHINE_CONFIG_DERIVED( modelr, invaders )
23722350
23732351   /* basic machine hardware */
2374   MDRV_IMPORT_FROM(invaders)
23752352   MDRV_CPU_MODIFY("maincpu")
23762353   MDRV_CPU_IO_MAP(modelr_io_map)
23772354
2378MACHINE_DRIVER_END
2355MACHINE_CONFIG_END
23792356
23802357
23812358ROM_START( searthin )
src/mame/drivers/othunder.c
r9191r9192
718718   state->banknum = 0;
719719}
720720
721static MACHINE_DRIVER_START( othunder )
721static MACHINE_CONFIG_START( othunder, othunder_state )
722722
723   /* driver data */
724   MDRV_DRIVER_DATA(othunder_state)
725
726723   /* basic machine hardware */
727724//  MDRV_CPU_ADD("maincpu", M68000, 24000000/2 )   /* 12 MHz */
728725   MDRV_CPU_ADD("maincpu", M68000, 13000000 )   /* fixes garbage graphics on startup */
r9191r9192
782779   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
783780
784781   MDRV_TC0140SYT_ADD("tc0140syt", othunder_tc0140syt_intf)
785MACHINE_DRIVER_END
782MACHINE_CONFIG_END
786783
787784
788785
src/mame/drivers/quasar.c
r9191r9192
359359   state->io_page = 8;
360360}
361361
362static MACHINE_DRIVER_START( quasar )
362static MACHINE_CONFIG_START( quasar, cvs_state )
363363
364   /* driver data */
365   MDRV_DRIVER_DATA(cvs_state)
366
367364   /* basic machine hardware */
368365   MDRV_CPU_ADD("maincpu", S2650, 14318000/4)   /* 14 mhz crystal divide by 4 on board */
369366   MDRV_CPU_PROGRAM_MAP(quasar)
r9191r9192
403400
404401   MDRV_SOUND_ADD("dac", DAC, 0)
405402   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
406MACHINE_DRIVER_END
403MACHINE_CONFIG_END
407404
408405ROM_START( quasar )
409406   ROM_REGION( 0x8000, "maincpu", 0 )
src/mame/drivers/xyonix.c
r9191r9192
214214
215215/* MACHINE driver *************************************************************/
216216
217static MACHINE_DRIVER_START( xyonix )
217static MACHINE_CONFIG_START( xyonix, xyonix_state )
218218
219   MDRV_DRIVER_DATA( xyonix_state )
220
221219   /* basic machine hardware */
222220   MDRV_CPU_ADD("maincpu", Z80,16000000 / 4)       /* 4 MHz ? */
223221   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
248246
249247   MDRV_SOUND_ADD("sn2", SN76496, 16000000/4)
250248   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
251MACHINE_DRIVER_END
249MACHINE_CONFIG_END
252250
253251/* ROM Loading ***************************************************************/
254252
src/mame/drivers/1943.c
r9191r9192
257257   state->bg2_on = 0;
258258}
259259
260static MACHINE_DRIVER_START( 1943 )
260static MACHINE_CONFIG_START( 1943, _1943_state )
261261
262   MDRV_DRIVER_DATA(_1943_state)
263
264262   // basic machine hardware
265263   MDRV_CPU_ADD("maincpu", Z80, XTAL_24MHz/4)   /* verified on pcb */
266264   MDRV_CPU_PROGRAM_MAP(c1943_map)
r9191r9192
300298   MDRV_SOUND_ROUTE(1, "mono", 0.15)
301299   MDRV_SOUND_ROUTE(2, "mono", 0.15)
302300   MDRV_SOUND_ROUTE(3, "mono", 0.10)
303MACHINE_DRIVER_END
301MACHINE_CONFIG_END
304302
305303/* ROMs */
306304
src/mame/drivers/pacland.c
r9191r9192
176176#include "cpu/m6809/m6809.h"
177177#include "cpu/m6800/m6800.h"
178178#include "sound/namco.h"
179#include "includes/pacland.h"
179180
180
181extern UINT8 *pacland_videoram,*pacland_videoram2,*pacland_spriteram;
182
183WRITE8_HANDLER( pacland_videoram_w );
184WRITE8_HANDLER( pacland_videoram2_w );
185WRITE8_HANDLER( pacland_scroll0_w );
186WRITE8_HANDLER( pacland_scroll1_w );
187WRITE8_HANDLER( pacland_bankswitch_w );
188
189PALETTE_INIT( pacland );
190VIDEO_START( pacland );
191VIDEO_UPDATE( pacland );
192
193
194181static WRITE8_HANDLER( pacland_subreset_w )
195182{
196183   int bit = !BIT(offset,11);
r9191r9192
411398
412399
413400
414static MACHINE_DRIVER_START( pacland )
401static MACHINE_CONFIG_START( pacland, driver_device )
415402
416403   /* basic machine hardware */
417404   MDRV_CPU_ADD("maincpu", M6809, 49152000/32)   /* 1.536 MHz */
r9191r9192
446433   MDRV_SOUND_ADD("namco", NAMCO_CUS30, 49152000/2/1024)
447434   MDRV_SOUND_CONFIG(namco_config)
448435   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
449MACHINE_DRIVER_END
436MACHINE_CONFIG_END
450437
451438
452439/***************************************************************************
src/mame/drivers/psikyo4.c
r9191r9192
723723   state->oldbrt2 = -1;
724724}
725725
726static MACHINE_DRIVER_START( ps4big )
726static MACHINE_CONFIG_START( ps4big, psikyo4_state )
727727
728   /* driver data */
729   MDRV_DRIVER_DATA(psikyo4_state)
730
731728   /* basic machine hardware */
732729   MDRV_CPU_ADD("maincpu", SH2, MASTER_CLOCK/2)
733730   MDRV_CPU_PROGRAM_MAP(ps4_map)
r9191r9192
768765   MDRV_SOUND_CONFIG(ymf278b_config)
769766   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
770767   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
771MACHINE_DRIVER_END
768MACHINE_CONFIG_END
772769
773static MACHINE_DRIVER_START( ps4small )
770static MACHINE_CONFIG_DERIVED( ps4small, ps4big )
771
774772   /* basic machine hardware */
775   MDRV_IMPORT_FROM(ps4big)
776773
777774   MDRV_SCREEN_MODIFY("lscreen")
778775   MDRV_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
779776
780777   MDRV_SCREEN_MODIFY("rscreen")
781778   MDRV_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
782MACHINE_DRIVER_END
779MACHINE_CONFIG_END
783780
784781
785782
src/mame/drivers/nss.c
r9191r9192
609609#endif
610610INPUT_PORTS_END
611611
612static MACHINE_DRIVER_START( snes )
612static MACHINE_CONFIG_START( snes, snes_state )
613613
614   /* driver data */
615   MDRV_DRIVER_DATA(snes_state)
616
617614   /* basic machine hardware */
618615   MDRV_CPU_ADD("maincpu", _5A22, 3580000*6)   /* 2.68Mhz, also 3.58Mhz */
619616   MDRV_CPU_PROGRAM_MAP(snes_map)
r9191r9192
639636   MDRV_SOUND_ADD("spc700", SNES, 0)
640637   MDRV_SOUND_ROUTE(0, "lspeaker", 1.00)
641638   MDRV_SOUND_ROUTE(1, "rspeaker", 1.00)
642MACHINE_DRIVER_END
639MACHINE_CONFIG_END
643640
644static MACHINE_DRIVER_START( nss )
645   MDRV_IMPORT_FROM( snes )
641static MACHINE_CONFIG_DERIVED( nss, snes )
646642
647643   MDRV_CPU_ADD("bios", Z80, 4000000)
648644   MDRV_CPU_PROGRAM_MAP(bios_map)
r9191r9192
651647//  MDRV_CPU_FLAGS(CPU_DISABLE)
652648
653649   MDRV_MACHINE_START( nss )
654MACHINE_DRIVER_END
650MACHINE_CONFIG_END
655651
656652/***************************************************************************
657653
src/mame/drivers/rollrace.c
r9191r9192
1111#include "deprecat.h"
1212#include "cpu/z80/z80.h"
1313#include "sound/ay8910.h"
14#include "includes/wiz.h"
15#include "includes/rollrace.h"
1416
15
16extern UINT8 *rollrace_videoram;
17extern UINT8 *rollrace_colorram;
18VIDEO_UPDATE( rollrace );
19PALETTE_INIT( wiz );
20
21WRITE8_HANDLER( rollrace_charbank_w );
22WRITE8_HANDLER( rollrace_backgroundpage_w);
23WRITE8_HANDLER( rollrace_backgroundcolor_w);
24WRITE8_HANDLER( rollrace_bkgpen_w );
25WRITE8_HANDLER( rollrace_flipy_w );
26WRITE8_HANDLER( rollrace_spritebank_w );
27WRITE8_HANDLER( rollrace_flipx_w );
28
2917static READ8_HANDLER( ra_fake_d800_r )
3018{
3119   return 0x51;
r9191r9192
209197   GFXDECODE_ENTRY( "gfx5", 0x0000, spritelayout,   0,   32 )
210198GFXDECODE_END
211199
212static MACHINE_DRIVER_START( rollrace )
200static MACHINE_CONFIG_START( rollrace, driver_device )
213201
214202   /* basic machine hardware */
215203   MDRV_CPU_ADD("maincpu", Z80,XTAL_24MHz/8) /* verified on pcb */
r9191r9192
245233
246234   MDRV_SOUND_ADD("ay3", AY8910,XTAL_24MHz/16) /* verified on pcb */
247235   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.10)
248MACHINE_DRIVER_END
236MACHINE_CONFIG_END
249237
250static MACHINE_DRIVER_START( rollace2 )
238static MACHINE_CONFIG_DERIVED( rollace2, rollrace )
251239
252240   /* basic machine hardware */
253   MDRV_IMPORT_FROM(rollrace)
254241
255242   MDRV_SCREEN_MODIFY("screen")
256243   MDRV_SCREEN_VISIBLE_AREA(0,255-24,16, 255-16)
257MACHINE_DRIVER_END
244MACHINE_CONFIG_END
258245
259246
260247/***************************************************************************
src/mame/drivers/mirage.c
r9191r9192
3939#include "video/deco16ic.h"
4040#include "sound/okim6295.h"
4141
42class mirage_state : public driver_data_t
42class mirage_state : public driver_device
4343{
4444public:
45   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, mirage_state(machine)); }
45   mirage_state(running_machine &machine, const driver_device_config_base &config)
46      : driver_device(machine, config),
47        maincpu(*this, "maincpu"),
48        deco16ic(*this, "deco_custom"),
49        oki_sfx(*this, "oki_sfx"),
50        oki_bgm(*this, "oki_bgm") { }
4651
47   mirage_state(running_machine &machine)
48      : driver_data_t(machine),
49        maincpu(machine.device<cpu_device>("maincpu")),
50        deco16ic(machine.device<deco16ic_device>("deco_custom")),
51        oki_sfx(machine.device<okim6295_device>("oki_sfx")),
52        oki_bgm(machine.device<okim6295_device>("oki_bgm")) { }
53
5452   /* memory pointers */
5553   UINT16 *  pf1_rowscroll;
5654   UINT16 *  pf2_rowscroll;
r9191r9192
6260   UINT32 mux_data;
6361
6462   /* devices */
65   cpu_device *maincpu;
66   deco16ic_device *deco16ic;
67   okim6295_device *oki_sfx;
68   okim6295_device *oki_bgm;
63   required_device<m68000_device> maincpu;
64   required_device<deco16ic_device> deco16ic;
65   required_device<okim6295_device> oki_sfx;
66   required_device<okim6295_device> oki_bgm;
6967};
7068
7169
r9191r9192
206204   AM_RANGE(0x112000, 0x112bff) AM_RAM AM_BASE_MEMBER(mirage_state, pf2_rowscroll)
207205   AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_MEMBER(mirage_state, spriteram, spriteram_size)
208206   AM_RANGE(0x130000, 0x1307ff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
209   AM_RANGE(0x140000, 0x14000f) AM_DEVREADWRITE8("oki_sfx", okim6295_r, okim6295_w, 0x00ff)
210   AM_RANGE(0x150000, 0x15000f) AM_DEVREADWRITE8("oki_bgm", okim6295_r, okim6295_w, 0x00ff)
207   AM_RANGE(0x140000, 0x14000f) AM_DEVREADWRITE8_MODERN("oki_sfx", okim6295_device, read, write, 0x00ff)
208   AM_RANGE(0x150000, 0x15000f) AM_DEVREADWRITE8_MODERN("oki_bgm", okim6295_device, read, write, 0x00ff)
211209//  AM_RANGE(0x140006, 0x140007) AM_READ(random_readers)
212210//  AM_RANGE(0x150006, 0x150007) AM_READNOP
213211   AM_RANGE(0x160000, 0x160001) AM_WRITENOP
r9191r9192
376374   state->mux_data = 0;
377375}
378376
379static MACHINE_DRIVER_START( mirage )
377static MACHINE_CONFIG_START( mirage, mirage_state )
380378
381   /* driver data */
382   MDRV_DRIVER_DATA(mirage_state)
383
384379   /* basic machine hardware */
385380   MDRV_CPU_ADD("maincpu", M68000, 28000000/2)
386381   MDRV_CPU_PROGRAM_MAP(mirage_map)
r9191r9192
412407
413408   MDRV_OKIM6295_ADD("oki_sfx", 1000000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
414409   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
415MACHINE_DRIVER_END
410MACHINE_CONFIG_END
416411
417412
418413ROM_START( mirage )
src/mame/drivers/popper.c
r9191r9192
325325   state->gfx_bank = 0;
326326}
327327
328static MACHINE_DRIVER_START( popper )
328static MACHINE_CONFIG_START( popper, popper_state )
329329
330   /* driver data */
331   MDRV_DRIVER_DATA(popper_state)
332
333330   /* basic machine hardware */
334331   MDRV_CPU_ADD("maincpu", Z80,18432000/6)
335332   MDRV_CPU_PROGRAM_MAP(popper_map)
r9191r9192
367364
368365   MDRV_SOUND_ADD("ay2", AY8910, 18432000/12)
369366   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
370MACHINE_DRIVER_END
367MACHINE_CONFIG_END
371368
372369
373370/*************************************
src/mame/drivers/ladyfrog.c
r9191r9192
309309   state->snd_data = 0;
310310}
311311
312static MACHINE_DRIVER_START( ladyfrog )
312static MACHINE_CONFIG_START( ladyfrog, ladyfrog_state )
313313
314   /* driver data */
315   MDRV_DRIVER_DATA(ladyfrog_state)
316
317314   /* basic machine hardware */
318315   MDRV_CPU_ADD("maincpu", Z80,8000000/2)
319316   MDRV_CPU_PROGRAM_MAP(ladyfrog_map)
r9191r9192
362359   // pin 1 SOLO  8'       not mapped
363360   // pin 2 SOLO 16'       not mapped
364361   // pin 22 Noise Output  not mapped
365MACHINE_DRIVER_END
362MACHINE_CONFIG_END
366363
367static MACHINE_DRIVER_START( toucheme )
368   MDRV_IMPORT_FROM(ladyfrog)
364static MACHINE_CONFIG_DERIVED( toucheme, ladyfrog )
369365   MDRV_VIDEO_START(toucheme)
370MACHINE_DRIVER_END
366MACHINE_CONFIG_END
371367
372368
373369ROM_START( ladyfrog )
src/mame/drivers/djboy.c
r9191r9192
302302   AM_RANGE(0x00, 0x00) AM_WRITE(cpu2_bankswitch_w)
303303   AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
304304   AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r)
305   AM_RANGE(0x06, 0x06) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
306   AM_RANGE(0x07, 0x07) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
305   AM_RANGE(0x06, 0x06) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
306   AM_RANGE(0x07, 0x07) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
307307ADDRESS_MAP_END
308308
309309/******************************************************************************/
r9191r9192
582582   state->z80_to_beast_full = 0;
583583}
584584
585static MACHINE_DRIVER_START( djboy )
586   MDRV_DRIVER_DATA(djboy_state)
585static MACHINE_CONFIG_START( djboy, djboy_state )
587586
588587   MDRV_CPU_ADD("maincpu", Z80, 6000000)
589588   MDRV_CPU_PROGRAM_MAP(cpu0_am)
r9191r9192
634633
635634   MDRV_OKIM6295_ADD("oki2", 12000000 / 8, OKIM6295_PIN7_LOW)
636635   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
637MACHINE_DRIVER_END
636MACHINE_CONFIG_END
638637
639638
640639ROM_START( djboy )
src/mame/drivers/sidearms.c
r9191r9192
652652   irqhandler
653653};
654654
655static MACHINE_DRIVER_START( sidearms )
655static MACHINE_CONFIG_START( sidearms, sidearms_state )
656656
657   MDRV_DRIVER_DATA(sidearms_state)
658
659657   /* basic machine hardware */
660658   MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz (?) */
661659   MDRV_CPU_PROGRAM_MAP(sidearms_map)
r9191r9192
696694   MDRV_SOUND_ROUTE(1, "mono", 0.15)
697695   MDRV_SOUND_ROUTE(2, "mono", 0.15)
698696   MDRV_SOUND_ROUTE(3, "mono", 0.25)
699MACHINE_DRIVER_END
697MACHINE_CONFIG_END
700698
701699
702static MACHINE_DRIVER_START( turtship )
700static MACHINE_CONFIG_START( turtship, sidearms_state )
703701
704   MDRV_DRIVER_DATA(sidearms_state)
705
706702   /* basic machine hardware */
707703   MDRV_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz (?) */
708704   MDRV_CPU_PROGRAM_MAP(turtship_map)
r9191r9192
743739   MDRV_SOUND_ROUTE(1, "mono", 0.15)
744740   MDRV_SOUND_ROUTE(2, "mono", 0.15)
745741   MDRV_SOUND_ROUTE(3, "mono", 0.25)
746MACHINE_DRIVER_END
742MACHINE_CONFIG_END
747743
748static MACHINE_DRIVER_START( whizz )
744static MACHINE_CONFIG_START( whizz, sidearms_state )
749745
750   MDRV_DRIVER_DATA(sidearms_state)
751
752746   /* basic machine hardware */
753747   MDRV_CPU_ADD("maincpu", Z80, 4000000)        /* 4 MHz (?) */
754748   MDRV_CPU_PROGRAM_MAP(whizz_map)
r9191r9192
785779   MDRV_SOUND_CONFIG(whizz_ym2151_interface)
786780   MDRV_SOUND_ROUTE(0, "mono", 1.0)
787781   MDRV_SOUND_ROUTE(1, "mono", 1.0)
788MACHINE_DRIVER_END
782MACHINE_CONFIG_END
789783
790784
791785
src/mame/drivers/taito_x.c
r9191r9192
909909
910910/**************************************************************************/
911911
912static MACHINE_DRIVER_START( superman )
912static MACHINE_CONFIG_START( superman, seta_state )
913913
914   MDRV_DRIVER_DATA( seta_state )
915
916914   /* basic machine hardware */
917915   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz/2)   /* verified on pcb */
918916   MDRV_CPU_PROGRAM_MAP(superman_map)
r9191r9192
951949   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
952950
953951   MDRV_TC0140SYT_ADD("tc0140syt", taitox_tc0140syt_intf)
954MACHINE_DRIVER_END
952MACHINE_CONFIG_END
955953
956static MACHINE_DRIVER_START( daisenpu )
954static MACHINE_CONFIG_START( daisenpu, seta_state )
957955
958   MDRV_DRIVER_DATA( seta_state )
959
960956   /* basic machine hardware */
961957   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz/2)   /* verified on pcb */
962958   MDRV_CPU_PROGRAM_MAP(daisenpu_map)
r9191r9192
992988   MDRV_SOUND_ROUTE(1, "rspeaker", 0.45)
993989
994990   MDRV_TC0140SYT_ADD("tc0140syt", taitox_tc0140syt_intf)
995MACHINE_DRIVER_END
991MACHINE_CONFIG_END
996992
997static MACHINE_DRIVER_START( gigandes )
993static MACHINE_CONFIG_START( gigandes, seta_state )
998994
999   MDRV_DRIVER_DATA( seta_state )
1000
1001995   /* basic machine hardware */
1002996   MDRV_CPU_ADD("maincpu", M68000, 8000000)   /* 8 MHz? */
1003997   MDRV_CPU_PROGRAM_MAP(gigandes_map)
r9191r9192
10351029   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
10361030
10371031   MDRV_TC0140SYT_ADD("tc0140syt", taitox_tc0140syt_intf)
1038MACHINE_DRIVER_END
1032MACHINE_CONFIG_END
10391033
1040static MACHINE_DRIVER_START( ballbros )
1034static MACHINE_CONFIG_START( ballbros, seta_state )
10411035
1042   MDRV_DRIVER_DATA( seta_state )
1043
10441036   /* basic machine hardware */
10451037   MDRV_CPU_ADD("maincpu", M68000, 8000000)   /* 8 MHz? */
10461038   MDRV_CPU_PROGRAM_MAP(ballbros_map)
r9191r9192
10781070   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
10791071
10801072   MDRV_TC0140SYT_ADD("tc0140syt", taitox_tc0140syt_intf)
1081MACHINE_DRIVER_END
1073MACHINE_CONFIG_END
10821074
10831075
10841076/***************************************************************************
src/mame/drivers/tumblep.c
r9191r9192
5656#ifdef UNUSED_FUNCTION
5757static WRITE16_DEVICE_HANDLER( tumblep_oki_w )
5858{
59   okim6295_w(0, data & 0xff);
59   okim6295_device *oki = downcast<okim6295_device *>(device);
60   oki->write(0, data & 0xff);
6061    /* STUFF IN OTHER BYTE TOO..*/
6162}
6263
r9191r9192
131132   AM_RANGE(0x000000, 0x00ffff) AM_ROM
132133   AM_RANGE(0x100000, 0x100001) AM_NOP   /* YM2203 - this board doesn't have one */
133134   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
134   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
135   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
135136   AM_RANGE(0x130000, 0x130001) AM_NOP   /* This board only has 1 oki chip */
136137   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
137138   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
r9191r9192
302303   state->deco16ic = machine->device("deco_custom");
303304}
304305
305static MACHINE_DRIVER_START( tumblep )
306static MACHINE_CONFIG_START( tumblep, tumblep_state )
306307
307   /* driver data */
308   MDRV_DRIVER_DATA(tumblep_state)
309
310308   /* basic machine hardware */
311309   MDRV_CPU_ADD("maincpu", M68000, 14000000)
312310   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
343341   MDRV_OKIM6295_ADD("oki", 1023924, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
344342   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
345343   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
346MACHINE_DRIVER_END
344MACHINE_CONFIG_END
347345
348346/******************************************************************************/
349347
src/mame/drivers/dietgo.c
r9191r9192
3434   AM_RANGE(0x000000, 0x00ffff) AM_ROM
3535   AM_RANGE(0x100000, 0x100001) AM_NOP      /* YM2203 - this board doesn't have one */
3636   AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
37   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
37   AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
3838   AM_RANGE(0x130000, 0x130001) AM_NOP      /* This board only has 1 oki chip */
3939   AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
4040   AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
r9191r9192
199199   state->deco16ic = machine->device("deco_custom");
200200}
201201
202static MACHINE_DRIVER_START( dietgo )
202static MACHINE_CONFIG_START( dietgo, dietgo_state )
203203
204   /* driver data */
205   MDRV_DRIVER_DATA(dietgo_state)
206
207204   /* basic machine hardware */
208205   MDRV_CPU_ADD("maincpu", M68000, XTAL_28MHz/2) /* DE102 (verified on pcb) */
209206   MDRV_CPU_PROGRAM_MAP(dietgo_map)
r9191r9192
238235
239236   MDRV_OKIM6295_ADD("oki", XTAL_32_22MHz/32, OKIM6295_PIN7_HIGH) /* verified on pcb */
240237   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
241MACHINE_DRIVER_END
238MACHINE_CONFIG_END
242239
243240/* Diet Go Go */
244241
src/mame/drivers/kingobox.c
r9191r9192
474474   state->palette_bank = 0;
475475}
476476
477static MACHINE_DRIVER_START( kingofb )
477static MACHINE_CONFIG_START( kingofb, kingofb_state )
478478
479   /* driver data */
480   MDRV_DRIVER_DATA(kingofb_state)
481
482479   /* basic machine hardware */
483480   MDRV_CPU_ADD("maincpu", Z80, 4000000)        /* 4.0 MHz */
484481   MDRV_CPU_PROGRAM_MAP(kingobox_map)
r9191r9192
526523
527524   MDRV_SOUND_ADD("dac", DAC, 0)
528525   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
529MACHINE_DRIVER_END
526MACHINE_CONFIG_END
530527
531528
532529/* Ring King */
533static MACHINE_DRIVER_START( ringking )
530static MACHINE_CONFIG_START( ringking, kingofb_state )
534531
535   /* driver data */
536   MDRV_DRIVER_DATA(kingofb_state)
537
538532   /* basic machine hardware */
539533   MDRV_CPU_ADD("maincpu", Z80, 4000000)        /* 4.0 MHz */
540534   MDRV_CPU_PROGRAM_MAP(ringking_map)
r9191r9192
582576
583577   MDRV_SOUND_ADD("dac", DAC, 0)
584578   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
585MACHINE_DRIVER_END
579MACHINE_CONFIG_END
586580
587581
588582/***************************************************************************
src/mame/drivers/bfmsys85.c
r9191r9192
6565#include "machine/roc10937.h"  // vfd
6666#include "machine/steppers.h" // stepper motor
6767#include "sound/ay8910.h"
68#include "machine/nvram.h"
6869
6970#define VFD_RESET  0x20
7071#define VFD_CLOCK1 0x80
r9191r9192
401402
402403static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
403404
404   AM_RANGE(0x0000, 0x1fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) //8k RAM
405   AM_RANGE(0x0000, 0x1fff) AM_RAM AM_SHARE("nvram") //8k RAM
405406   AM_RANGE(0x2000, 0x21FF) AM_WRITE(reel34_w)         // reel 3+4 latch
406407   AM_RANGE(0x2200, 0x23FF) AM_WRITE(reel12_w)         // reel 1+2 latch
407408   AM_RANGE(0x2400, 0x25FF) AM_WRITE(vfd_w)         // vfd latch
r9191r9192
433434
434435// machine driver for system85 board //////////////////////////////////////
435436
436static MACHINE_DRIVER_START( bfmsys85 )
437static MACHINE_CONFIG_START( bfmsys85, driver_device )
437438   MDRV_MACHINE_START(bfm_sys85)                  // main system85 board initialisation
438439   MDRV_MACHINE_RESET(bfm_sys85)
439440   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4)         // 6809 CPU at 1 Mhz
r9191r9192
446447   MDRV_SOUND_ADD("aysnd",AY8912, MASTER_CLOCK/4)         // add AY8912 soundchip
447448   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
448449
449   MDRV_NVRAM_HANDLER(generic_0fill)               // load/save nv RAM
450   MDRV_NVRAM_ADD_0FILL("nvram")                  // load/save nv RAM
450451
451452   MDRV_DEFAULT_LAYOUT(layout_awpvid16)
452MACHINE_DRIVER_END
453MACHINE_CONFIG_END
453454
454455// input ports for system85 board /////////////////////////////////////////
455456
src/mame/drivers/esripsys.c
r9191r9192
2929#include "cpu/m6809/m6809.h"
3030#include "cpu/esrip/esrip.h"
3131#include "machine/6840ptm.h"
32#include "machine/nvram.h"
3233#include "sound/dac.h"
3334#include "sound/tms5220.h"
3435#include "includes/esripsys.h"
r9191r9192
680681   fdt_b = auto_alloc_array(machine, UINT8, FDT_RAM_SIZE);
681682   cmos_ram = auto_alloc_array(machine, UINT8, CMOS_RAM_SIZE);
682683
684   machine->device<nvram_device>("nvram")->set_base(cmos_ram, CMOS_RAM_SIZE);
685
683686   memory_set_bankptr(machine, "bank2", &rom[0x0000]);
684687   memory_set_bankptr(machine, "bank3", &rom[0x4000]);
685688   memory_set_bankptr(machine, "bank4", &rom[0x8000]);
r9191r9192
715718   state_save_register_global(machine, _fbsel);
716719}
717720
718static NVRAM_HANDLER( esripsys )
719{
720   if (read_or_write)
721      mame_fwrite(file, cmos_ram, CMOS_RAM_SIZE);
722   else if (file)
723      mame_fread(file, cmos_ram, CMOS_RAM_SIZE);
724   else
725      memset(cmos_ram, 0x00, CMOS_RAM_SIZE);
726}
727
728721static const esrip_config rip_config =
729722{
730723   fdt_rip_r,
r9191r9192
734727   "proms"
735728};
736729
737static MACHINE_DRIVER_START( esripsys )
730static MACHINE_CONFIG_START( esripsys, driver_device )
738731   MDRV_CPU_ADD("game_cpu", M6809E, XTAL_8MHz)
739732   MDRV_CPU_PROGRAM_MAP(game_cpu_map)
740733   MDRV_CPU_VBLANK_INT("screen", esripsys_vblank_irq)
r9191r9192
749742   MDRV_CPU_ADD("sound_cpu", M6809E, XTAL_8MHz)
750743   MDRV_CPU_PROGRAM_MAP(sound_cpu_map)
751744
752   MDRV_NVRAM_HANDLER(esripsys)
745   MDRV_NVRAM_ADD_0FILL("nvram")
753746
754747   /* Video hardware */
755748   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
771764
772765   /* 6840 PTM */
773766   MDRV_PTM6840_ADD("6840ptm", ptm_intf)
774MACHINE_DRIVER_END
767MACHINE_CONFIG_END
775768
776769
777770/*************************************
src/mame/drivers/blockout.c
r9191r9192
121121   AM_RANGE(0x0000, 0x7fff) AM_ROM
122122   AM_RANGE(0x8000, 0x87ff) AM_RAM
123123   AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
124   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
124   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
125125   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
126126ADDRESS_MAP_END
127127
r9191r9192
269269   state->color = 0;
270270}
271271
272static MACHINE_DRIVER_START( blockout )
272static MACHINE_CONFIG_START( blockout, blockout_state )
273273
274   /* driver data */
275   MDRV_DRIVER_DATA(blockout_state)
276
277274   /* basic machine hardware */
278275   MDRV_CPU_ADD("maincpu", M68000, 10000000)       /* MRH - 8.76 makes gfx/adpcm samples sync better -- but 10 is correct speed*/
279276   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
309306   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH)
310307   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
311308   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
312MACHINE_DRIVER_END
309MACHINE_CONFIG_END
313310
314311
315312
src/mame/drivers/tsamurai.c
r9191r9192
4646#include "cpu/z80/z80.h"
4747#include "sound/ay8910.h"
4848#include "sound/dac.h"
49#include "includes/tsamurai.h"
4950
50extern UINT8 *tsamurai_videoram;
51extern UINT8 *tsamurai_colorram;
52extern UINT8 *tsamurai_bg_videoram;
53
54WRITE8_HANDLER( vsgongf_color_w );
55
56WRITE8_HANDLER( tsamurai_bgcolor_w );
57WRITE8_HANDLER( tsamurai_textbank1_w );
58WRITE8_HANDLER( tsamurai_textbank2_w );
59
60WRITE8_HANDLER( tsamurai_scrolly_w );
61WRITE8_HANDLER( tsamurai_scrollx_w );
62VIDEO_UPDATE( tsamurai );
63WRITE8_HANDLER( tsamurai_bg_videoram_w );
64WRITE8_HANDLER( tsamurai_fg_videoram_w );
65WRITE8_HANDLER( tsamurai_fg_colorram_w );
66extern VIDEO_START( tsamurai );
67
68extern VIDEO_START( vsgongf );
69extern VIDEO_UPDATE( vsgongf );
70
7151static int nmi_enabled;
7252static int sound_command1, sound_command2, sound_command3;
7353
r9191r9192
661641
662642/*******************************************************************************/
663643
664static MACHINE_DRIVER_START( tsamurai )
644static MACHINE_CONFIG_START( tsamurai, driver_device )
665645
666646   /* basic machine hardware */
667647   MDRV_CPU_ADD("maincpu", Z80, 4000000)
r9191r9192
701681
702682   MDRV_SOUND_ADD("dac2", DAC, 0)
703683   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
704MACHINE_DRIVER_END
684MACHINE_CONFIG_END
705685
706686
707static MACHINE_DRIVER_START( m660 )
687static MACHINE_CONFIG_START( m660, driver_device )
708688
709689   /* basic machine hardware */
710690   MDRV_CPU_ADD("maincpu", Z80, 4000000)
r9191r9192
749729
750730   MDRV_SOUND_ADD("dac2", DAC, 0)
751731   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
752MACHINE_DRIVER_END
732MACHINE_CONFIG_END
753733
754734
755static MACHINE_DRIVER_START( vsgongf )
735static MACHINE_CONFIG_START( vsgongf, driver_device )
756736
757737   /* basic machine hardware */
758738   MDRV_CPU_ADD("maincpu", Z80, 4000000)
r9191r9192
787767
788768   MDRV_SOUND_ADD("dac", DAC, 0)
789769   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
790MACHINE_DRIVER_END
770MACHINE_CONFIG_END
791771
792772/*******************************************************************************/
793773
src/mame/drivers/ettrivia.c
r9191r9192
2727#include "emu.h"
2828#include "cpu/z80/z80.h"
2929#include "sound/ay8910.h"
30#include "machine/nvram.h"
3031
3132/* it uses the same palette layout as in naughtyb */
3233PALETTE_INIT( naughtyb );
r9191r9192
118119
119120static ADDRESS_MAP_START( cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
120121   AM_RANGE(0x0000, 0x7fff) AM_ROM
121   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
122   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
122123   AM_RANGE(0x9000, 0x9000) AM_WRITE(ettrivia_control_w)
123124   AM_RANGE(0x9800, 0x9800) AM_WRITENOP
124125   AM_RANGE(0xa000, 0xa000) AM_WRITENOP
r9191r9192
237238      cpu_set_input_line(device, 0, HOLD_LINE);
238239}
239240
240static MACHINE_DRIVER_START( ettrivia )
241static MACHINE_CONFIG_START( ettrivia, driver_device )
241242   MDRV_CPU_ADD("maincpu", Z80,12000000/4-48000) //should be ok, it gives the 300 interrupts expected
242243   MDRV_CPU_PROGRAM_MAP(cpu_map)
243244   MDRV_CPU_IO_MAP(io_map)
244245   MDRV_CPU_VBLANK_INT("screen", ettrivia_interrupt)
245246
246   MDRV_NVRAM_HANDLER(generic_0fill)
247   MDRV_NVRAM_ADD_0FILL("nvram")
247248
248249   /* video hardware */
249250   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
273274   MDRV_SOUND_ADD("ay3", AY8910, 1500000)
274275   MDRV_SOUND_CONFIG(ay8912_interface_3)
275276   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
276MACHINE_DRIVER_END
277MACHINE_CONFIG_END
277278
278279ROM_START( promutrv )
279280   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/jalmah.c
r9191r9192
909909   AM_RANGE(0x080018, 0x080019) AM_WRITE(jalmah_okibank_w)
910910   AM_RANGE(0x08001a, 0x08001b) AM_WRITE(jalmah_okirom_w)
911911/**/AM_RANGE(0x080020, 0x08003f) AM_RAM_WRITE(jalmah_scroll_w)
912   AM_RANGE(0x080040, 0x080041) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
912   AM_RANGE(0x080040, 0x080041) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
913913   //       0x084000, 0x084001  ?
914914   AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
915915   AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(sc0_vram_w) AM_BASE(&sc0_vram)
r9191r9192
933933   AM_RANGE(0x080018, 0x080019) AM_WRITE(jalmah_okibank_w)
934934   AM_RANGE(0x08001a, 0x08001b) AM_WRITE(jalmah_okirom_w)
935935/**/AM_RANGE(0x08001c, 0x08001d) AM_RAM_WRITE(urashima_bank_w)
936   AM_RANGE(0x080040, 0x080041) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
936   AM_RANGE(0x080040, 0x080041) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
937937   //       0x084000, 0x084001  ?
938938   AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram) /* Palette RAM */
939939   AM_RANGE(0x090000, 0x093fff) AM_RAM_WRITE(urashima_sc0_vram_w) AM_BASE(&sc0_vram)
r9191r9192
13021302   }
13031303}
13041304
1305static MACHINE_DRIVER_START( jalmah )
1305static MACHINE_CONFIG_START( jalmah, driver_device )
13061306   MDRV_CPU_ADD("maincpu" , M68000, 12000000) /* 68000-8 */
13071307   MDRV_CPU_PROGRAM_MAP(jalmah)
13081308   MDRV_CPU_VBLANK_INT("screen", irq2_line_hold)
r9191r9192
13291329   MDRV_SPEAKER_STANDARD_MONO("mono")
13301330   MDRV_OKIM6295_ADD("oki", 4000000, OKIM6295_PIN7_LOW)
13311331   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
1332MACHINE_DRIVER_END
1332MACHINE_CONFIG_END
13331333
1334static MACHINE_DRIVER_START( urashima )
1335   MDRV_IMPORT_FROM(jalmah)
1334static MACHINE_CONFIG_DERIVED( urashima, jalmah )
13361335
13371336   MDRV_CPU_MODIFY("maincpu")
13381337   MDRV_CPU_PROGRAM_MAP(urashima)
r9191r9192
13411340
13421341   MDRV_VIDEO_START(urashima)
13431342   MDRV_VIDEO_UPDATE(urashima)
1344MACHINE_DRIVER_END
1343MACHINE_CONFIG_END
13451344
13461345/*
13471346
src/mame/drivers/f1gp.c
r9191r9192
207207   AM_RANGE(0xfff008, 0xfff009) AM_READNOP //?
208208   AM_RANGE(0xfff006, 0xfff007) AM_WRITENOP
209209   AM_RANGE(0xfff00a, 0xfff00b) AM_RAM AM_BASE_MEMBER(f1gp_state, fgregs)
210   AM_RANGE(0xfff00e, 0xfff00f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
210   AM_RANGE(0xfff00e, 0xfff00f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
211211   AM_RANGE(0xfff00c, 0xfff00d) AM_WRITE(f1gpb_misc_w)
212212   AM_RANGE(0xfff010, 0xfff011) AM_WRITENOP
213213   AM_RANGE(0xfff020, 0xfff023) AM_RAM //?
r9191r9192
467467   state->scroll[1] = 0;
468468}
469469
470static MACHINE_DRIVER_START( f1gp )
470static MACHINE_CONFIG_START( f1gp, f1gp_state )
471471
472   /* driver data */
473   MDRV_DRIVER_DATA(f1gp_state)
474
475472   /* basic machine hardware */
476473   MDRV_CPU_ADD("maincpu",M68000,XTAL_20MHz/2)   /* verified on pcb */
477474   MDRV_CPU_PROGRAM_MAP(f1gp_cpu1_map)
r9191r9192
514511   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
515512   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
516513   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
517MACHINE_DRIVER_END
514MACHINE_CONFIG_END
518515
519516
520static MACHINE_DRIVER_START( f1gpb )
517static MACHINE_CONFIG_START( f1gpb, f1gp_state )
521518
522   /* driver data */
523   MDRV_DRIVER_DATA(f1gp_state)
524
525519   /* basic machine hardware */
526520   MDRV_CPU_ADD("maincpu",M68000,10000000)   /* 10 MHz ??? */
527521   MDRV_CPU_PROGRAM_MAP(f1gpb_cpu1_map)
r9191r9192
556550   MDRV_OKIM6295_ADD("oki", 1000000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
557551   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
558552   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
559MACHINE_DRIVER_END
553MACHINE_CONFIG_END
560554
561555
562static MACHINE_DRIVER_START( f1gp2 )
556static MACHINE_CONFIG_DERIVED( f1gp2, f1gp )
563557
564558   /* basic machine hardware */
565   MDRV_IMPORT_FROM(f1gp)
566559   MDRV_CPU_MODIFY("maincpu")
567560   MDRV_CPU_PROGRAM_MAP(f1gp2_cpu1_map)
568561
r9191r9192
576569
577570   MDRV_VIDEO_START(f1gp2)
578571   MDRV_VIDEO_UPDATE(f1gp2)
579MACHINE_DRIVER_END
572MACHINE_CONFIG_END
580573
581574
582575
src/mame/drivers/supdrapo.c
r9191r9192
6363#include "emu.h"
6464#include "cpu/z80/z80.h"
6565#include "sound/ay8910.h"
66#include "machine/nvram.h"
6667
67class supdrapo_state : public driver_data_t
68class supdrapo_state : public driver_device
6869{
6970public:
70   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, supdrapo_state(machine)); }
71   supdrapo_state(running_machine &machine, const driver_device_config_base &config)
72      : driver_device(machine, config) { }
7173
72   supdrapo_state(running_machine &machine)
73      : driver_data_t(machine) { }
74
7574   UINT8 *char_bank;
7675   UINT8 *col_line;
7776   UINT8 *videoram;
r9191r9192
259258   AM_RANGE(0x8004, 0x8004) AM_READ_PORT("IN3") AM_WRITE(debug8004_w)
260259   AM_RANGE(0x8005, 0x8005) AM_READ_PORT("SW2")
261260   AM_RANGE(0x8006, 0x8006) AM_READ_PORT("SW1")
262   AM_RANGE(0x9000, 0x90ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
261   AM_RANGE(0x9000, 0x90ff) AM_RAM AM_SHARE("nvram")
263262   AM_RANGE(0x9400, 0x9400) AM_READ(sdpoker_rng_r)
264263   AM_RANGE(0x9800, 0x9801) AM_DEVWRITE("aysnd", ay8910_data_address_w)
265264ADDRESS_MAP_END
r9191r9192
431430                           Machine Driver
432431**********************************************************************/
433432
434static MACHINE_DRIVER_START( supdrapo )
433static MACHINE_CONFIG_START( supdrapo, supdrapo_state )
435434
436   MDRV_DRIVER_DATA( supdrapo_state )
437
438435   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)   /* guess */
439436   MDRV_CPU_PROGRAM_MAP(sdpoker_mem)
440437   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
r9191r9192
442439   MDRV_MACHINE_START(supdrapo)
443440   MDRV_MACHINE_RESET(supdrapo)
444441
445   MDRV_NVRAM_HANDLER(generic_0fill)
442   MDRV_NVRAM_ADD_0FILL("nvram")
446443
447444   /* video hardware */
448445   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
464461   MDRV_SOUND_ADD("aysnd", AY8910, SND_CLOCK)   /* guess */
465462   MDRV_SOUND_CONFIG(ay8910_config)
466463   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
467MACHINE_DRIVER_END
464MACHINE_CONFIG_END
468465
469466
470467/*********************************************************************
src/mame/drivers/lvcards.c
r9191r9192
7676#include "emu.h"
7777#include "cpu/z80/z80.h"
7878#include "sound/ay8910.h"
79#include "machine/nvram.h"
80#include "includes/lvcards.h"
7981
80extern UINT8 *lvcards_videoram;
81extern UINT8 *lvcards_colorram;
82extern WRITE8_HANDLER( lvcards_videoram_w );
83extern WRITE8_HANDLER( lvcards_colorram_w );
84
85extern PALETTE_INIT( lvcards );
86extern PALETTE_INIT( ponttehk );
87extern VIDEO_START( lvcards );
88extern VIDEO_UPDATE( lvcards );
89
9082static UINT8 payout;
9183static UINT8 pulse;
9284static UINT8 result;
r9191r9192
158150
159151static ADDRESS_MAP_START( ponttehk_map, ADDRESS_SPACE_PROGRAM, 8 )
160152   AM_RANGE(0x0000, 0x5fff) AM_ROM
161   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
153   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram")
162154   AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&lvcards_videoram)
163155   AM_RANGE(0x8400, 0x87ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&lvcards_colorram)
164156   AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
r9191r9192
168160
169161static ADDRESS_MAP_START( lvcards_map, ADDRESS_SPACE_PROGRAM, 8  )
170162   AM_RANGE(0x0000, 0x5fff) AM_ROM
171   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
163   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram")
172164   AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&lvcards_videoram)
173165   AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&lvcards_colorram)
174166   AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
r9191r9192
185177
186178static ADDRESS_MAP_START( lvpoker_map, ADDRESS_SPACE_PROGRAM, 8  )
187179   AM_RANGE(0x0000, 0x5fff) AM_ROM
188   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
180   AM_RANGE(0x6000, 0x67ff) AM_RAM AM_SHARE("nvram")
189181   AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(lvcards_videoram_w) AM_BASE(&lvcards_videoram)
190182   AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(lvcards_colorram_w) AM_BASE(&lvcards_colorram)
191183   AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
r9191r9192
470462};
471463
472464
473static MACHINE_DRIVER_START( lvcards )
465static MACHINE_CONFIG_START( lvcards, driver_device )
474466   // basic machine hardware
475467   MDRV_CPU_ADD("maincpu",Z80, 18432000/6)   // 3.072 MHz ?
476468
r9191r9192
500492   MDRV_SOUND_ADD("aysnd", AY8910, 18432000/12)
501493   MDRV_SOUND_CONFIG(lcay8910_interface)
502494   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
503MACHINE_DRIVER_END
495MACHINE_CONFIG_END
504496
505static MACHINE_DRIVER_START( lvpoker )
506   MDRV_IMPORT_FROM( lvcards )
497static MACHINE_CONFIG_DERIVED( lvpoker, lvcards )
507498
508499   // basic machine hardware
509   MDRV_NVRAM_HANDLER(generic_1fill)
500   MDRV_NVRAM_ADD_1FILL("nvram")
510501   MDRV_CPU_MODIFY("maincpu")
511502   MDRV_CPU_PROGRAM_MAP(lvpoker_map)
512503   MDRV_MACHINE_START(lvpoker)
513504   MDRV_MACHINE_RESET(lvpoker)
514MACHINE_DRIVER_END
505MACHINE_CONFIG_END
515506
516static MACHINE_DRIVER_START( ponttehk )
517   MDRV_IMPORT_FROM( lvcards )
507static MACHINE_CONFIG_DERIVED( ponttehk, lvcards )
518508
519509   // basic machine hardware
520   MDRV_NVRAM_HANDLER(generic_1fill)
510   MDRV_NVRAM_ADD_1FILL("nvram")
521511   MDRV_CPU_MODIFY("maincpu")
522512   MDRV_CPU_PROGRAM_MAP(ponttehk_map)
523513   MDRV_MACHINE_RESET(lvpoker)
524514
525515   // video hardware
526516   MDRV_PALETTE_INIT(ponttehk)
527MACHINE_DRIVER_END
517MACHINE_CONFIG_END
528518
529519ROM_START( lvpoker )
530520   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/namcos2.c
r9191r9192
449449#include "includes/namcos2.h"
450450#include "cpu/m6809/m6809.h"
451451#include "includes/namcoic.h"
452#include "machine/nvram.h"
452453#include "sound/2151intf.h"
453454#include "sound/c140.h"
454455
r9191r9192
16051606/*                                                           */
16061607/*************************************************************/
16071608
1608static MACHINE_DRIVER_START( default )
1609static MACHINE_CONFIG_START( default, driver_device )
16091610   MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
16101611   MDRV_CPU_PROGRAM_MAP(master_default_am)
16111612   MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
r9191r9192
16271628
16281629   MDRV_MACHINE_START(namcos2)
16291630   MDRV_MACHINE_RESET(namcos2)
1630   MDRV_NVRAM_HANDLER(namcos2)
1631   MDRV_NVRAM_ADD_1FILL("nvram")
16311632
16321633   MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
16331634
r9191r9192
16531654   MDRV_SOUND_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */
16541655   MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
16551656   MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
1656MACHINE_DRIVER_END
1657MACHINE_CONFIG_END
16571658
16581659/* adjusted machine driver start */
1659static MACHINE_DRIVER_START( default2 )
1660   MDRV_IMPORT_FROM(default)
1660static MACHINE_CONFIG_DERIVED( default2, default )
16611661
16621662   MDRV_SOUND_REPLACE("c140", C140, C140_SOUND_CLOCK) /* 21.333kHz */
16631663   MDRV_SOUND_CONFIG(c140_config)
16641664   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
16651665   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1666MACHINE_DRIVER_END
1666MACHINE_CONFIG_END
16671667/* end */
16681668
1669static MACHINE_DRIVER_START( assaultp )
1670   MDRV_IMPORT_FROM(default2)
1669static MACHINE_CONFIG_DERIVED( assaultp, default2 )
16711670
16721671   MDRV_QUANTUM_TIME(HZ(12000*8)) /* CPU slices per frame - boosted (along with MCU speed) so that the Mode Select works */
1673MACHINE_DRIVER_END
1672MACHINE_CONFIG_END
16741673
1675static MACHINE_DRIVER_START( default3 )
1676   MDRV_IMPORT_FROM(default)
1674static MACHINE_CONFIG_DERIVED( default3, default )
16771675
16781676   MDRV_SOUND_REPLACE("c140", C140, C140_SOUND_CLOCK) /* 21.333kHz */
16791677   MDRV_SOUND_CONFIG(c140_config)
r9191r9192
16831681   MDRV_SOUND_REPLACE("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */
16841682   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
16851683   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1686MACHINE_DRIVER_END
1684MACHINE_CONFIG_END
16871685
1688static MACHINE_DRIVER_START( gollygho )
1686static MACHINE_CONFIG_START( gollygho, driver_device )
16891687   MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
16901688   MDRV_CPU_PROGRAM_MAP(master_default_am)
16911689   MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
r9191r9192
17071705
17081706   MDRV_MACHINE_START(namcos2)
17091707   MDRV_MACHINE_RESET(namcos2)
1710   MDRV_NVRAM_HANDLER(namcos2)
1708   MDRV_NVRAM_ADD_1FILL("nvram")
17111709
17121710   MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
17131711
r9191r9192
17331731   MDRV_SOUND_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */
17341732   MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
17351733   MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
1736MACHINE_DRIVER_END
1734MACHINE_CONFIG_END
17371735
1738static MACHINE_DRIVER_START( finallap )
1736static MACHINE_CONFIG_START( finallap, driver_device )
17391737   MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
17401738   MDRV_CPU_PROGRAM_MAP(master_finallap_am)
17411739   MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
r9191r9192
17571755
17581756   MDRV_MACHINE_START(namcos2)
17591757   MDRV_MACHINE_RESET(namcos2)
1760   MDRV_NVRAM_HANDLER(namcos2)
1758   MDRV_NVRAM_ADD_1FILL("nvram")
17611759
17621760   MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
17631761
r9191r9192
17831781   MDRV_SOUND_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */
17841782   MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
17851783   MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
1786MACHINE_DRIVER_END
1784MACHINE_CONFIG_END
17871785
1788static MACHINE_DRIVER_START( sgunner )
1786static MACHINE_CONFIG_START( sgunner, driver_device )
17891787   MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
17901788   MDRV_CPU_PROGRAM_MAP(master_sgunner_am)
17911789   MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
r9191r9192
18071805
18081806   MDRV_MACHINE_START(namcos2)
18091807   MDRV_MACHINE_RESET(namcos2)
1810   MDRV_NVRAM_HANDLER(namcos2)
1808   MDRV_NVRAM_ADD_1FILL("nvram")
18111809
18121810   MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
18131811
r9191r9192
18331831   MDRV_SOUND_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */
18341832   MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
18351833   MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
1836MACHINE_DRIVER_END
1834MACHINE_CONFIG_END
18371835
1838static MACHINE_DRIVER_START( luckywld )
1836static MACHINE_CONFIG_START( luckywld, driver_device )
18391837   MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
18401838   MDRV_CPU_PROGRAM_MAP(master_luckywld_am)
18411839   MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
r9191r9192
18571855
18581856   MDRV_MACHINE_START(namcos2)
18591857   MDRV_MACHINE_RESET(namcos2)
1860   MDRV_NVRAM_HANDLER(namcos2)
1858   MDRV_NVRAM_ADD_1FILL("nvram")
18611859
18621860   MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
18631861
r9191r9192
18831881   MDRV_SOUND_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */
18841882   MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
18851883   MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
1886MACHINE_DRIVER_END
1884MACHINE_CONFIG_END
18871885
1888static MACHINE_DRIVER_START( metlhawk )
1886static MACHINE_CONFIG_START( metlhawk, driver_device )
18891887   MDRV_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */
18901888   MDRV_CPU_PROGRAM_MAP(master_metlhawk_am)
18911889   MDRV_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank)
r9191r9192
19071905
19081906   MDRV_MACHINE_START(namcos2)
19091907   MDRV_MACHINE_RESET(namcos2)
1910   MDRV_NVRAM_HANDLER(namcos2)
1908   MDRV_NVRAM_ADD_1FILL("nvram")
19111909
19121910   MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
19131911
r9191r9192
19331931   MDRV_SOUND_ADD("ymsnd", YM2151, YM2151_SOUND_CLOCK) /* 3.579545MHz */
19341932   MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
19351933   MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
1936MACHINE_DRIVER_END
1934MACHINE_CONFIG_END
19371935
19381936
19391937/*************************************************************/
src/mame/drivers/exzisus.c
r9191r9192
3737#include "includes/taitoipt.h"
3838#include "audio/taitosnd.h"
3939#include "sound/2151intf.h"
40#include "includes/exzisus.h"
4041
4142
4243/***************************************************************************
r9191r9192
4849static UINT8 *exzisus_sharedram_ab;
4950static UINT8 *exzisus_sharedram_ac;
5051
51extern UINT8 *exzisus_videoram0;
52extern UINT8 *exzisus_videoram1;
53extern UINT8 *exzisus_objectram0;
54extern UINT8 *exzisus_objectram1;
55extern size_t  exzisus_objectram_size0;
56extern size_t  exzisus_objectram_size1;
57
58READ8_HANDLER ( exzisus_videoram_0_r );
59READ8_HANDLER ( exzisus_videoram_1_r );
60READ8_HANDLER ( exzisus_objectram_0_r );
61READ8_HANDLER ( exzisus_objectram_1_r );
62WRITE8_HANDLER( exzisus_videoram_0_w );
63WRITE8_HANDLER( exzisus_videoram_1_w );
64WRITE8_HANDLER( exzisus_objectram_0_w );
65WRITE8_HANDLER( exzisus_objectram_1_w );
66
67VIDEO_UPDATE( exzisus );
68
69
7052/***************************************************************************
7153
7254  Memory Handler(s)
r9191r9192
298280};
299281
300282/* All clocks are unconfirmed */
301static MACHINE_DRIVER_START( exzisus )
283static MACHINE_CONFIG_START( exzisus, driver_device )
302284
303285   /* basic machine hardware */
304286   MDRV_CPU_ADD("cpua", Z80, 6000000)
r9191r9192
341323   MDRV_SOUND_ROUTE(1, "mono", 0.50)
342324
343325   MDRV_TC0140SYT_ADD("tc0140syt", exzisus_tc0140syt_intf)
344MACHINE_DRIVER_END
326MACHINE_CONFIG_END
345327
346328
347329/***************************************************************************
src/mame/drivers/tx1.c
r9191r9192
4545#include "sound/ay8910.h"
4646#include "rendlay.h"
4747#include "includes/tx1.h"
48#include "machine/nvram.h"
4849
4950#include "tx1.lh"
5051#include "buggyboy.lh"
r9191r9192
508509static ADDRESS_MAP_START( tx1_main, ADDRESS_SPACE_PROGRAM, 16 )
509510   AM_RANGE(0x00000, 0x00fff) AM_MIRROR(0x1000) AM_RAM
510511   AM_RANGE(0x02000, 0x02fff) AM_MIRROR(0x1000) AM_RAM
511   AM_RANGE(0x04000, 0x04fff) AM_MIRROR(0x1000) AM_RAM   AM_BASE_SIZE_GENERIC(nvram)
512   AM_RANGE(0x04000, 0x04fff) AM_MIRROR(0x1000) AM_RAM   AM_SHARE("nvram")
512513   AM_RANGE(0x06000, 0x06fff) AM_READWRITE(tx1_crtc_r, tx1_crtc_w)
513514   AM_RANGE(0x08000, 0x09fff) AM_RAM AM_BASE(&tx1_vram)
514515   AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE("share1") AM_BASE(&tx1_rcram)
r9191r9192
559560 *************************************/
560561
561562static ADDRESS_MAP_START( buggyboy_main, ADDRESS_SPACE_PROGRAM, 16 )
562   AM_RANGE(0x00000, 0x03fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
563   AM_RANGE(0x00000, 0x03fff) AM_RAM AM_SHARE("nvram")
563564   AM_RANGE(0x04000, 0x04fff) AM_READWRITE(tx1_crtc_r, tx1_crtc_w)
564565   AM_RANGE(0x08000, 0x09fff) AM_RAM AM_BASE(&buggyboy_vram)
565566   AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE("share1") AM_BASE(&buggyboy_rcram) AM_SIZE(&buggyboy_rcram_size)
r9191r9192
574575ADDRESS_MAP_END
575576
576577static ADDRESS_MAP_START( buggybjr_main, ADDRESS_SPACE_PROGRAM, 16 )
577   AM_RANGE(0x00000, 0x03fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
578   AM_RANGE(0x00000, 0x03fff) AM_RAM AM_SHARE("nvram")
578579   AM_RANGE(0x04000, 0x04fff) AM_READWRITE(tx1_crtc_r, tx1_crtc_w)
579580   AM_RANGE(0x08000, 0x08fff) AM_RAM AM_BASE(&buggyboy_vram)
580581   AM_RANGE(0x0a000, 0x0afff) AM_RAM AM_SHARE("share1") AM_BASE(&buggyboy_rcram) AM_SIZE(&buggyboy_rcram_size)
r9191r9192
700701 *
701702 *************************************/
702703
703static MACHINE_DRIVER_START( tx1 )
704static MACHINE_CONFIG_START( tx1, driver_device )
704705   MDRV_CPU_ADD("main_cpu", I8086, CPU_MASTER_CLOCK / 3)
705706   MDRV_CPU_PROGRAM_MAP(tx1_main)
706707//  MDRV_WATCHDOG_TIME_INIT(5)
r9191r9192
714715   MDRV_CPU_PERIODIC_INT(irq0_line_hold, TX1_PIXEL_CLOCK / 4 / 2048 / 2)
715716
716717   MDRV_MACHINE_RESET(tx1)
717   MDRV_NVRAM_HANDLER(generic_0fill)
718   MDRV_NVRAM_ADD_0FILL("nvram")
718719
719720   MDRV_PPI8255_ADD("ppi8255", tx1_ppi8255_intf)
720721
r9191r9192
750751   MDRV_SOUND_ADD("tx1", TX1, 0)
751752   MDRV_SOUND_ROUTE(0, "frontleft", 0.2)
752753   MDRV_SOUND_ROUTE(1, "frontright", 0.2)
753MACHINE_DRIVER_END
754MACHINE_CONFIG_END
754755
755756
756static MACHINE_DRIVER_START( buggyboy )
757static MACHINE_CONFIG_START( buggyboy, driver_device )
757758   MDRV_CPU_ADD("main_cpu", I8086, CPU_MASTER_CLOCK / 3)
758759   MDRV_CPU_PROGRAM_MAP(buggyboy_main)
759760//  MDRV_WATCHDOG_TIME_INIT(5)
r9191r9192
767768   MDRV_CPU_IO_MAP(buggyboy_sound_io)
768769
769770   MDRV_MACHINE_RESET(buggyboy)
770   MDRV_NVRAM_HANDLER(generic_0fill)
771   MDRV_NVRAM_ADD_0FILL("nvram")
771772
772773   MDRV_PPI8255_ADD("ppi8255", buggyboy_ppi8255_intf)
773774
r9191r9192
805806   MDRV_SOUND_ADD("buggyboy", BUGGYBOY, 0)
806807   MDRV_SOUND_ROUTE(0, "frontleft", 0.2)
807808   MDRV_SOUND_ROUTE(1, "frontright", 0.2)
808MACHINE_DRIVER_END
809MACHINE_CONFIG_END
809810
810811
811static MACHINE_DRIVER_START( buggybjr )
812static MACHINE_CONFIG_START( buggybjr, driver_device )
812813   MDRV_CPU_ADD("main_cpu", I8086, CPU_MASTER_CLOCK / 3)
813814   MDRV_CPU_PROGRAM_MAP(buggybjr_main)
814815//  MDRV_WATCHDOG_TIME_INIT(5)
r9191r9192
822823   MDRV_CPU_PERIODIC_INT(z80_irq, BUGGYBOY_ZCLK / 2 / 4 / 2048)
823824
824825   MDRV_MACHINE_RESET(buggybjr)
825   MDRV_NVRAM_HANDLER(generic_0fill)
826   MDRV_NVRAM_ADD_0FILL("nvram")
826827
827828   MDRV_SCREEN_ADD("screen", RASTER)
828829   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
r9191r9192
849850   MDRV_SOUND_ADD("buggyboy", BUGGYBOY, 0)
850851   MDRV_SOUND_ROUTE(0, "frontleft", 0.2)
851852   MDRV_SOUND_ROUTE(1, "frontright", 0.2)
852MACHINE_DRIVER_END
853MACHINE_CONFIG_END
853854
854855
855856/*************************************
src/mame/drivers/thayers.c
r9191r9192
755755
756756/* Machine Driver */
757757
758static MACHINE_DRIVER_START( thayers )
758static MACHINE_CONFIG_START( thayers, driver_device )
759759   /* basic machine hardware */
760760   MDRV_CPU_ADD("maincpu", Z80, XTAL_4MHz)
761761   MDRV_CPU_PROGRAM_MAP(thayers_map)
r9191r9192
779779   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
780780   // SSI 263 @ 2MHz
781781
782   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
782   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
783783   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
784784   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
785MACHINE_DRIVER_END
785MACHINE_CONFIG_END
786786
787787/* ROMs */
788788
src/mame/drivers/merit.c
r9191r9192
4343#include "machine/8255ppi.h"
4444#include "sound/ay8910.h"
4545#include "video/mc6845.h"
46#include "machine/nvram.h"
4647
4748#define MASTER_CLOCK         (XTAL_10MHz)
4849#define CPU_CLOCK            (MASTER_CLOCK / 4)
r9191r9192
6768
6869static UINT8 *backup_ram;
6970
71class merit_state : public driver_device
72{
73public:
74   merit_state(running_machine &machine, const driver_device_config_base &config)
75      : driver_device(machine, config) { }
76
77   void dodge_nvram_init(nvram_device &nvram, void *base, size_t size);
78};
79
80
7081static MACHINE_START(merit)
7182{
7283   question_address = 0;
r9191r9192
348359   AM_RANGE(0x0000, 0x1fff) AM_ROM
349360   AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
350361   AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank2")
351   AM_RANGE(0x6000, 0x6fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
362   AM_RANGE(0x6000, 0x6fff) AM_RAM AM_SHARE("nvram")
352363   AM_RANGE(0x7000, 0x7000) AM_WRITE(casino5_bank_w)
353364   AM_RANGE(0x7001, 0x7fff) AM_RAM
354365   AM_RANGE(0xa000, 0xa003) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
r9191r9192
362373
363374static ADDRESS_MAP_START( bigappg_map, ADDRESS_SPACE_PROGRAM, 8 )
364375   AM_RANGE(0x0000, 0x7fff) AM_ROM
365   AM_RANGE(0xa000, 0xbfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
376   AM_RANGE(0xa000, 0xbfff) AM_RAM AM_SHARE("nvram")
366377   AM_RANGE(0xc004, 0xc007) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
367378   AM_RANGE(0xc008, 0xc00b) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
368379   AM_RANGE(0xe000, 0xe000) AM_DEVWRITE("crtc", mc6845_address_w)
r9191r9192
374385
375386static ADDRESS_MAP_START( dodge_map, ADDRESS_SPACE_PROGRAM, 8 )
376387   AM_RANGE(0x0000, 0x7fff) AM_ROM
377   AM_RANGE(0xa000, 0xbfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
388   AM_RANGE(0xa000, 0xbfff) AM_RAM AM_SHARE("nvram")
378389   AM_RANGE(0xc004, 0xc007) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
379390   AM_RANGE(0xc008, 0xc00b) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
380391   AM_RANGE(0xe000, 0xe000) AM_DEVWRITE("crtc", mc6845_address_w)
r9191r9192
11491160   DEVCB_HANDLER(led2_w), DEVCB_NULL
11501161};
11511162
1152static NVRAM_HANDLER(dodge)
1163void merit_state::dodge_nvram_init(nvram_device &nvram, void *base, size_t size)
11531164{
1154   if (read_or_write)
1155   {
1156      mame_fwrite(file, machine->generic.nvram.v, machine->generic.nvram_size);
1157   }
1158   else if (file)
1159   {
1160      mame_fread(file, machine->generic.nvram.v, machine->generic.nvram_size);
1161   }
1162   else
1163   {
1164      memset(machine->generic.nvram.v, 0x00, machine->generic.nvram_size);
1165      machine->generic.nvram.u8[0x1040] = 0xc9; /* ret */
1166   }
1165   memset(base, 0x00, size);
1166   reinterpret_cast<UINT8 *>(base)[0x1040] = 0xc9; /* ret */
11671167}
11681168
11691169static MACHINE_START(casino5)
r9191r9192
11751175   memory_set_bank(machine, "bank2", 0);
11761176}
11771177
1178static MACHINE_DRIVER_START( pitboss )
1178static MACHINE_CONFIG_START( pitboss, merit_state )
11791179   MDRV_CPU_ADD("maincpu",Z80, CPU_CLOCK)
11801180   MDRV_CPU_PROGRAM_MAP(pitboss_map)
11811181   MDRV_CPU_IO_MAP(trvwhiz_io_map)
r9191r9192
12001200   MDRV_SOUND_ADD("aysnd", AY8910, CRTC_CLOCK)
12011201   MDRV_SOUND_CONFIG(merit_ay8912_interface)
12021202   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
1203MACHINE_DRIVER_END
1203MACHINE_CONFIG_END
12041204
1205static MACHINE_DRIVER_START( casino5 )
1206   MDRV_IMPORT_FROM(pitboss)
1205static MACHINE_CONFIG_DERIVED( casino5, pitboss )
12071206
12081207   MDRV_CPU_MODIFY("maincpu")
12091208   MDRV_CPU_PROGRAM_MAP(casino5_map)
12101209
1211   MDRV_NVRAM_HANDLER(generic_0fill)
1210   MDRV_NVRAM_ADD_0FILL("nvram")
12121211
12131212   MDRV_MACHINE_START(casino5)
1214MACHINE_DRIVER_END
1213MACHINE_CONFIG_END
12151214
1216static MACHINE_DRIVER_START( bigappg )
1217   MDRV_IMPORT_FROM(pitboss)
1215static MACHINE_CONFIG_DERIVED( bigappg, pitboss )
12181216
12191217   MDRV_CPU_MODIFY("maincpu")
12201218   MDRV_CPU_PROGRAM_MAP(bigappg_map)
12211219   MDRV_CPU_IO_MAP(tictac_io_map)
12221220
1223   MDRV_NVRAM_HANDLER(generic_0fill)
1224MACHINE_DRIVER_END
1221   MDRV_NVRAM_ADD_0FILL("nvram")
1222MACHINE_CONFIG_END
12251223
1226static MACHINE_DRIVER_START( dodge )
1227   MDRV_IMPORT_FROM(pitboss)
1224static MACHINE_CONFIG_DERIVED( dodge, pitboss )
12281225
12291226   MDRV_CPU_MODIFY("maincpu")
12301227   MDRV_CPU_PROGRAM_MAP(dodge_map)
12311228
1232   MDRV_NVRAM_HANDLER(dodge)
1233MACHINE_DRIVER_END
1229   MDRV_NVRAM_REPLACE_CUSTOM("nvram", merit_state, dodge_nvram_init)
1230MACHINE_CONFIG_END
12341231
1235static MACHINE_DRIVER_START( tictac )
1236   MDRV_IMPORT_FROM(pitboss)
1232static MACHINE_CONFIG_DERIVED( tictac, pitboss )
12371233
12381234   MDRV_CPU_MODIFY("maincpu")
12391235   MDRV_CPU_PROGRAM_MAP(tictac_map)
12401236   MDRV_CPU_IO_MAP(tictac_io_map)
1241MACHINE_DRIVER_END
1237MACHINE_CONFIG_END
12421238
1243static MACHINE_DRIVER_START( trvwhiz )
1244   MDRV_IMPORT_FROM(pitboss)
1239static MACHINE_CONFIG_DERIVED( trvwhiz, pitboss )
12451240
12461241   MDRV_CPU_MODIFY("maincpu")
12471242   MDRV_CPU_PROGRAM_MAP(trvwhiz_map)
12481243   MDRV_CPU_IO_MAP(trvwhiz_io_map)
1249MACHINE_DRIVER_END
1244MACHINE_CONFIG_END
12501245
1251static MACHINE_DRIVER_START( phrcraze )
1252   MDRV_IMPORT_FROM(pitboss)
1246static MACHINE_CONFIG_DERIVED( phrcraze, pitboss )
12531247
12541248   MDRV_CPU_MODIFY("maincpu")
12551249   MDRV_CPU_PROGRAM_MAP(phrcraze_map)
12561250   MDRV_CPU_IO_MAP(phrcraze_io_map)
1257MACHINE_DRIVER_END
1251MACHINE_CONFIG_END
12581252
1259static MACHINE_DRIVER_START( trvwhziv )
1260   MDRV_IMPORT_FROM(pitboss)
1253static MACHINE_CONFIG_DERIVED( trvwhziv, pitboss )
12611254
12621255   MDRV_CPU_MODIFY("maincpu")
12631256   MDRV_CPU_PROGRAM_MAP(trvwhziv_map)
12641257   MDRV_CPU_IO_MAP(tictac_io_map)
1265MACHINE_DRIVER_END
1258MACHINE_CONFIG_END
12661259
1267static MACHINE_DRIVER_START( couple )
1268   MDRV_IMPORT_FROM(pitboss)
1260static MACHINE_CONFIG_DERIVED( couple, pitboss )
12691261
12701262   MDRV_CPU_MODIFY("maincpu")
12711263   MDRV_CPU_PROGRAM_MAP(couple_map)
r9191r9192
12751267   MDRV_DEVICE_CONFIG( ppi8255_couple_intf[0])
12761268   MDRV_DEVICE_MODIFY("ppi8255_1")
12771269   MDRV_DEVICE_CONFIG( ppi8255_couple_intf[1])
1278MACHINE_DRIVER_END
1270MACHINE_CONFIG_END
12791271
12801272
12811273ROM_START( pitboss )
src/mame/drivers/pingpong.c
r9191r9192
88#include "cpu/z80/z80.h"
99#include "deprecat.h"
1010#include "sound/sn76496.h"
11#include "machine/nvram.h"
12#include "includes/pingpong.h"
1113
12extern UINT8 *pingpong_videoram;
13extern UINT8 *pingpong_colorram;
14
15extern WRITE8_HANDLER( pingpong_videoram_w );
16extern WRITE8_HANDLER( pingpong_colorram_w );
17
18extern PALETTE_INIT( pingpong );
19extern VIDEO_START( pingpong );
20extern VIDEO_UPDATE( pingpong );
21
2214static int intenable;
2315
2416static int question_addr_high = 0;
r9191r9192
114106
115107static ADDRESS_MAP_START( merlinmm_map, ADDRESS_SPACE_PROGRAM, 8 )
116108   AM_RANGE(0x0000, 0x3fff) AM_ROM
117   AM_RANGE(0x5000, 0x53ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
109   AM_RANGE(0x5000, 0x53ff) AM_RAM AM_SHARE("nvram")
118110   AM_RANGE(0x5400, 0x57ff) AM_RAM
119111   AM_RANGE(0x6000, 0x6007) AM_WRITENOP /* solenoid writes */
120112   AM_RANGE(0x7000, 0x7000) AM_READ_PORT("IN4")
r9191r9192
457449
458450
459451
460static MACHINE_DRIVER_START( pingpong )
452static MACHINE_CONFIG_START( pingpong, driver_device )
461453
462454   /* basic machine hardware */
463455   MDRV_CPU_ADD("maincpu",Z80,18432000/6)      /* 3.072 MHz (probably) */
r9191r9192
484476
485477   MDRV_SOUND_ADD("snsnd", SN76496, 18432000/8)
486478   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
487MACHINE_DRIVER_END
479MACHINE_CONFIG_END
488480
489481/* too fast! */
490static MACHINE_DRIVER_START( merlinmm )
491   MDRV_IMPORT_FROM( pingpong )
482static MACHINE_CONFIG_DERIVED( merlinmm, pingpong )
492483   MDRV_CPU_MODIFY("maincpu")
493484   MDRV_CPU_PROGRAM_MAP(merlinmm_map)
494485   MDRV_CPU_VBLANK_INT_HACK(pingpong_interrupt,2)
495486
496   MDRV_NVRAM_HANDLER(generic_0fill)
497MACHINE_DRIVER_END
487   MDRV_NVRAM_ADD_0FILL("nvram")
488MACHINE_CONFIG_END
498489
499490
500491/***************************************************************************
src/mame/drivers/ssrj.c
r9191r9192
3232#include "emu.h"
3333#include "cpu/z80/z80.h"
3434#include "sound/ay8910.h"
35#include "includes/ssrj.h"
3536
36extern UINT8 *ssrj_vram1,*ssrj_vram2,*ssrj_vram3,*ssrj_vram4,*ssrj_scrollram;
37
38WRITE8_HANDLER(ssrj_vram1_w);
39WRITE8_HANDLER(ssrj_vram2_w);
40WRITE8_HANDLER(ssrj_vram4_w);
41
42VIDEO_START( ssrj );
43VIDEO_UPDATE( ssrj );
44PALETTE_INIT( ssrj );
45
46static int oldport;
47
4837static MACHINE_RESET(ssrj)
4938{
39   ssrj_state *state = machine->driver_data<ssrj_state>();
5040   UINT8 *rom = memory_region(machine, "maincpu");
41
5142   memset(&rom[0xc000], 0 ,0x3fff); /* req for some control types */
52   oldport = 0x80;
43   state->oldport = 0x80;
5344}
5445
5546static READ8_HANDLER(ssrj_wheel_r)
5647{
48   ssrj_state *state = space->machine->driver_data<ssrj_state>();
5749   int port = input_port_read(space->machine, "IN1") - 0x80;
58   int retval = port-oldport;
59   oldport = port;
50   int retval = port - state->oldport;
51
52   state->oldport = port;
6053   return retval;
6154}
6255
6356static ADDRESS_MAP_START( ssrj_map, ADDRESS_SPACE_PROGRAM, 8 )
6457   AM_RANGE(0x0000, 0x7fff) AM_ROM
65   AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(ssrj_vram1_w) AM_BASE(&ssrj_vram1)
66   AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(ssrj_vram2_w) AM_BASE(&ssrj_vram2)
67   AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE(&ssrj_vram3)
68   AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(ssrj_vram4_w) AM_BASE(&ssrj_vram4)
58   AM_RANGE(0xc000, 0xc7ff) AM_RAM_WRITE(ssrj_vram1_w) AM_BASE_MEMBER(ssrj_state, vram1)
59   AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(ssrj_vram2_w) AM_BASE_MEMBER(ssrj_state, vram2)
60   AM_RANGE(0xd000, 0xd7ff) AM_RAM AM_BASE_MEMBER(ssrj_state, vram3)
61   AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(ssrj_vram4_w) AM_BASE_MEMBER(ssrj_state, vram4)
6962   AM_RANGE(0xe000, 0xe7ff) AM_RAM
70   AM_RANGE(0xe800, 0xefff) AM_RAM AM_BASE(&ssrj_scrollram)
63   AM_RANGE(0xe800, 0xefff) AM_RAM AM_BASE_MEMBER(ssrj_state, scrollram)
7164   AM_RANGE(0xf000, 0xf000) AM_READ_PORT("IN0")
7265   AM_RANGE(0xf001, 0xf001) AM_READ(ssrj_wheel_r)
7366   AM_RANGE(0xf002, 0xf002) AM_READ_PORT("IN2")
r9191r9192
148141};
149142
150143
151static MACHINE_DRIVER_START( ssrj )
144static MACHINE_CONFIG_START( ssrj, ssrj_state )
152145
153146   /* basic machine hardware */
154147   MDRV_CPU_ADD("maincpu", Z80,8000000/2)
r9191r9192
179172   MDRV_SOUND_ADD("aysnd", AY8910, 8000000/5)
180173   MDRV_SOUND_CONFIG(ay8910_config)
181174   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
182MACHINE_DRIVER_END
175MACHINE_CONFIG_END
183176
184177/***************************************************************************
185178
src/mame/drivers/blstroid.c
r9191r9192
106106   AM_RANGE(0xff9804, 0xff9805) AM_MIRROR(0x7f83f8) AM_READ_PORT("DIAL1")
107107   AM_RANGE(0xff9c00, 0xff9c03) AM_MIRROR(0x7f83fc) AM_READ(inputs_r)
108108   AM_RANGE(0xffa000, 0xffa3ff) AM_MIRROR(0x7f8c00) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
109   AM_RANGE(0xffb000, 0xffb3ff) AM_MIRROR(0x7f8c00) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(blstroid_state, eeprom, eeprom_size)
109   AM_RANGE(0xffb000, 0xffb3ff) AM_MIRROR(0x7f8c00) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
110110   AM_RANGE(0xffc000, 0xffcfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarigen_playfield_w) AM_BASE_MEMBER(blstroid_state, playfield)
111111   AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(atarimo_0_spriteram_w) AM_BASE(&atarimo_0_spriteram)
112112   AM_RANGE(0xffe000, 0xffffff) AM_MIRROR(0x7f8000) AM_RAM
r9191r9192
200200 *
201201 *************************************/
202202
203static MACHINE_DRIVER_START( blstroid )
204   MDRV_DRIVER_DATA(blstroid_state)
203static MACHINE_CONFIG_START( blstroid, blstroid_state )
205204
206205   /* basic machine hardware */
207206   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
210209
211210   MDRV_MACHINE_START(blstroid)
212211   MDRV_MACHINE_RESET(blstroid)
213   MDRV_NVRAM_HANDLER(atarigen)
212   MDRV_NVRAM_ADD_1FILL("eeprom")
214213
215214   /* video hardware */
216215   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
227226   MDRV_VIDEO_UPDATE(blstroid)
228227
229228   /* sound hardware */
230   MDRV_IMPORT_FROM(jsa_i_stereo)
231MACHINE_DRIVER_END
229   MDRV_FRAGMENT_ADD(jsa_i_stereo)
230MACHINE_CONFIG_END
232231
233232
234233
src/mame/drivers/gotya.c
r9191r9192
192192   state->theme_playing = 0;
193193}
194194
195static MACHINE_DRIVER_START( gotya )
195static MACHINE_CONFIG_START( gotya, gotya_state )
196196
197   /* driver data */
198   MDRV_DRIVER_DATA(gotya_state)
199
200197   /* basic machine hardware */
201198   MDRV_CPU_ADD("maincpu", Z80,18432000/6)   /* 3.072 MHz ??? */
202199   MDRV_CPU_PROGRAM_MAP(gotya_map)
r9191r9192
226223   MDRV_SOUND_ADD("samples", SAMPLES, 0)
227224   MDRV_SOUND_CONFIG(gotya_samples_interface)
228225   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
229MACHINE_DRIVER_END
226MACHINE_CONFIG_END
230227
231228/***************************************************************************
232229
src/mame/drivers/cchance.c
r9191r9192
202202
203203}
204204
205static MACHINE_DRIVER_START( cchance )
205static MACHINE_CONFIG_START( cchance, tnzs_state )
206206
207   /* driver data */
208   MDRV_DRIVER_DATA(tnzs_state)
209
210207   MDRV_CPU_ADD("maincpu", Z80,4000000)       /* ? MHz */
211208   MDRV_CPU_PROGRAM_MAP(main_map)
212209   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
r9191r9192
235232   MDRV_SOUND_ADD("aysnd", AY8910, 1500000/2)
236233   MDRV_SOUND_CONFIG(ay8910_config)
237234   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
238MACHINE_DRIVER_END
235MACHINE_CONFIG_END
239236
240237ROM_START( cchance )
241238   ROM_REGION( 0x10000, "maincpu", 0 )
src/mame/drivers/aztarac.c
r9191r9192
1919#include "video/vector.h"
2020#include "includes/aztarac.h"
2121#include "sound/ay8910.h"
22#include "machine/nvram.h"
2223
2324
2425
r9191r9192
4950
5051static READ16_HANDLER( nvram_r )
5152{
52   return space->machine->generic.nvram.u16[offset] | 0xfff0;
53   aztarac_state *state = space->machine->driver_data<aztarac_state>();
54   return state->m_nvram[offset] | 0xfff0;
5355}
5456
5557
r9191r9192
7678
7779static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
7880   AM_RANGE(0x000000, 0x00bfff) AM_ROM
79   AM_RANGE(0x022000, 0x0220ff) AM_READ(nvram_r) AM_WRITEONLY AM_BASE_SIZE_GENERIC(nvram)
81   AM_RANGE(0x022000, 0x0220ff) AM_READ(nvram_r) AM_WRITEONLY AM_SHARE("nvram")
8082   AM_RANGE(0x027000, 0x027001) AM_READ(joystick_r)
8183   AM_RANGE(0x027004, 0x027005) AM_READ_PORT("INPUTS")
8284   AM_RANGE(0x027008, 0x027009) AM_READWRITE(aztarac_sound_r, aztarac_sound_w)
r9191r9192
143145 *
144146 *************************************/
145147
146static MACHINE_DRIVER_START( aztarac )
148static MACHINE_CONFIG_START( aztarac, aztarac_state )
147149
148150   /* basic machine hardware */
149151   MDRV_CPU_ADD("maincpu", M68000, 8000000)
r9191r9192
155157   MDRV_CPU_PERIODIC_INT(aztarac_snd_timed_irq, 100)
156158
157159   MDRV_MACHINE_RESET(aztarac)
158   MDRV_NVRAM_HANDLER(generic_1fill)
160   MDRV_NVRAM_ADD_1FILL("nvram")
159161
160162   /* video hardware */
161163   MDRV_SCREEN_ADD("screen", VECTOR)
r9191r9192
180182
181183   MDRV_SOUND_ADD("ay4", AY8910, 2000000)
182184   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
183MACHINE_DRIVER_END
185MACHINE_CONFIG_END
184186
185187
186188
src/mame/drivers/retofinv.c
r9191r9192
336336
337337
338338
339static MACHINE_DRIVER_START( retofinv )
339static MACHINE_CONFIG_START( retofinv, driver_device )
340340
341341   /* basic machine hardware */
342342   MDRV_CPU_ADD("maincpu", Z80, 18432000/6)   /* 3.072 MHz? */
r9191r9192
379379
380380   MDRV_SOUND_ADD("sn2", SN76496, 18432000/6)
381381   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
382MACHINE_DRIVER_END
382MACHINE_CONFIG_END
383383
384384
385385/* bootleg has no mcu */
386static MACHINE_DRIVER_START( retofinb )
387
388   MDRV_IMPORT_FROM(retofinv)
386static MACHINE_CONFIG_DERIVED( retofinb, retofinv )
389387   MDRV_DEVICE_REMOVE("68705")
390388
391MACHINE_DRIVER_END
389MACHINE_CONFIG_END
392390
393391
394392/***************************************************************************
src/mame/drivers/dotrikun.c
r9191r9192
2424#include "cpu/z80/z80.h"
2525
2626
27class dotrikun_state : public driver_data_t
27class dotrikun_state : public driver_device
2828{
2929public:
30   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dotrikun_state(machine)); }
30   dotrikun_state(running_machine &machine, const driver_device_config_base &config)
31      : driver_device(machine, config) { }
3132
32   dotrikun_state(running_machine &machine)
33      : driver_data_t(machine) { }
34
3533   /* memory pointers */
3634   UINT8 *        videoram;
3735   size_t         videoram_size;
r9191r9192
146144}
147145
148146
149static MACHINE_DRIVER_START( dotrikun )
147static MACHINE_CONFIG_START( dotrikun, dotrikun_state )
150148
151   /* driver data */
152   MDRV_DRIVER_DATA(dotrikun_state)
153
154149   /* basic machine hardware */
155150   MDRV_CPU_ADD("maincpu", Z80, 4000000)       /* 4 MHz */
156151   MDRV_CPU_PROGRAM_MAP(dotrikun_map)
r9191r9192
171166   MDRV_SCREEN_VISIBLE_AREA(0, 256-1, 0, 192-1)
172167
173168   /* sound hardware */
174MACHINE_DRIVER_END
169MACHINE_CONFIG_END
175170
176171
177172/***************************************************************************
src/mame/drivers/meadows.c
r9191r9192
354354   AM_RANGE(0x0d00, 0x0d0f) AM_WRITE(meadows_spriteram_w) AM_BASE_GENERIC(spriteram)
355355   AM_RANGE(0x0e00, 0x0eff) AM_RAM
356356   AM_RANGE(0x1000, 0x1bff) AM_ROM
357   AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
357   AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_MEMBER(meadows_state, videoram)
358358ADDRESS_MAP_END
359359
360360static ADDRESS_MAP_START( bowl3d_main_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
367367   AM_RANGE(0x0d00, 0x0d0f) AM_WRITE(meadows_spriteram_w) AM_BASE_GENERIC(spriteram)
368368   AM_RANGE(0x0e00, 0x0eff) AM_RAM
369369   AM_RANGE(0x1000, 0x1bff) AM_ROM
370   AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
370   AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_MEMBER(meadows_state, videoram)
371371ADDRESS_MAP_END
372372
373373static ADDRESS_MAP_START( minferno_main_map, ADDRESS_SPACE_PROGRAM, 8 )
374374   AM_RANGE(0x0000, 0x0bff) AM_ROM
375   AM_RANGE(0x1c00, 0x1eff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
375   AM_RANGE(0x1c00, 0x1eff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_MEMBER(meadows_state, videoram)
376376   AM_RANGE(0x1f00, 0x1f00) AM_READ_PORT("JOY1")
377377   AM_RANGE(0x1f01, 0x1f01) AM_READ_PORT("JOY2")
378378   AM_RANGE(0x1f02, 0x1f02) AM_READ_PORT("BUTTONS")
r9191r9192
648648 *
649649 *************************************/
650650
651static MACHINE_DRIVER_START( meadows )
651static MACHINE_CONFIG_START( meadows, meadows_state )
652652
653653   /* basic machine hardware */
654654   MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/8)   /* 5MHz / 8 = 625 kHz */
r9191r9192
684684   MDRV_SOUND_ADD("samples", SAMPLES, 0)
685685   MDRV_SOUND_CONFIG(meadows_samples_interface)
686686   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
687MACHINE_DRIVER_END
687MACHINE_CONFIG_END
688688
689689
690static MACHINE_DRIVER_START( minferno )
690static MACHINE_CONFIG_START( minferno, meadows_state )
691691
692692   /* basic machine hardware */
693693   MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/24)    /* 5MHz / 8 / 3 = 208.33 kHz */
r9191r9192
710710   MDRV_VIDEO_UPDATE(meadows)
711711
712712   /* audio hardware */
713MACHINE_DRIVER_END
713MACHINE_CONFIG_END
714714
715715
716static MACHINE_DRIVER_START( bowl3d )
716static MACHINE_CONFIG_START( bowl3d, meadows_state )
717717   /* basic machine hardware */
718718   MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/8)   /* 5MHz / 8 = 625 kHz */
719719   MDRV_CPU_PROGRAM_MAP(bowl3d_main_map)
r9191r9192
753753   MDRV_SOUND_ADD("samples2", SAMPLES, 0)
754754   MDRV_SOUND_CONFIG(bowl3d_samples_interface)
755755   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
756MACHINE_DRIVER_END
756MACHINE_CONFIG_END
757757
758758
759759
src/mame/drivers/sms.c
r9191r9192
217217#include "cpu/z80/z80.h"
218218#include "sound/ay8910.h"
219219#include "machine/8255ppi.h"
220#include "machine/nvram.h"
220221
221222/*************************************
222223 *
r9191r9192
479480 *************************************/
480481
481482static ADDRESS_MAP_START( sms_map, ADDRESS_SPACE_PROGRAM, 8 )
482   AM_RANGE(0x00000, 0x007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
483   AM_RANGE(0x00000, 0x007ff) AM_RAM AM_SHARE("nvram")
483484   AM_RANGE(0x00800, 0x00803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
484485   AM_RANGE(0x01000, 0x01007) AM_WRITE(video_w)
485486   AM_RANGE(0x01800, 0x01803) AM_READWRITE(link_r, link_w)
r9191r9192
490491ADDRESS_MAP_END
491492
492493static ADDRESS_MAP_START( sureshot_map, ADDRESS_SPACE_PROGRAM, 8 )
493   AM_RANGE(0x00000, 0x007ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
494   AM_RANGE(0x00000, 0x007ff) AM_RAM AM_SHARE("nvram")
494495   AM_RANGE(0x02000, 0x02007) AM_WRITE(video_w)
495496   AM_RANGE(0x03000, 0x03003) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
496497   AM_RANGE(0x03800, 0x03803) AM_READWRITE(link_r, link_w)
r9191r9192
532533   communication_port_status = 0;
533534}
534535
535static MACHINE_DRIVER_START( sms )
536static MACHINE_CONFIG_START( sms, driver_device )
536537   MDRV_CPU_ADD("maincpu", I8088, XTAL_24MHz/8)
537538   MDRV_CPU_PROGRAM_MAP(sms_map)
538539
r9191r9192
547548   MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf[0] )
548549   MDRV_PPI8255_ADD( "ppi8255_1", ppi8255_intf[1] )
549550
550   MDRV_NVRAM_HANDLER(generic_0fill)
551   MDRV_NVRAM_ADD_0FILL("nvram")
551552
552553   /* video hardware */
553554   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
568569
569570   MDRV_SOUND_ADD("aysnd", AY8910, XTAL_16MHz/8)
570571   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
571MACHINE_DRIVER_END
572MACHINE_CONFIG_END
572573
573static MACHINE_DRIVER_START(sureshot)
574   MDRV_IMPORT_FROM(sms)
574static MACHINE_CONFIG_DERIVED( sureshot, sms )
575575
576576   MDRV_CPU_MODIFY("maincpu")
577577   MDRV_CPU_PROGRAM_MAP(sureshot_map)
578578
579579   MDRV_MACHINE_START(sureshot)
580MACHINE_DRIVER_END
580MACHINE_CONFIG_END
581581
582582/*************************************
583583 *
src/mame/drivers/harddriv.c
r9191r9192
320320
321321
322322#include "emu.h"
323#include "cpu/m68000/m68000.h"
324#include "cpu/tms34010/tms34010.h"
325#include "cpu/tms32010/tms32010.h"
326#include "cpu/adsp2100/adsp2100.h"
327#include "cpu/dsp32/dsp32.h"
328323#include "machine/atarigen.h"
329324#include "machine/asic65.h"
330325#include "audio/atarijsa.h"
326#include "sound/dac.h"
327#include "includes/slapstic.h"
331328#include "includes/harddriv.h"
332#include "sound/dac.h"
333329
334/* from slapstic.c */
335void slapstic_init(running_machine *machine, int chip);
336330
337
338
339331/*************************************
340332 *
341333 *  CPU configs
r9191r9192
422414   AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE(hd68k_gsp_io_r, hd68k_gsp_io_w)
423415   AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE(hd68k_msp_io_r, hd68k_msp_io_w)
424416   AM_RANGE(0xff0000, 0xff001f) AM_READWRITE(hd68k_duart_r, hd68k_duart_w)
425   AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_BASE_SIZE_MEMBER(harddriv_state, eeprom, eeprom_size)
417   AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom")
426418   AM_RANGE(0xff8000, 0xffffff) AM_RAM
427419ADDRESS_MAP_END
428420
r9191r9192
470462   AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE(hd68k_gsp_io_r, hd68k_gsp_io_w)
471463   AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE(hd68k_msp_io_r, hd68k_msp_io_w)
472464   AM_RANGE(0xff0000, 0xff001f) AM_READWRITE(hd68k_duart_r, hd68k_duart_w)
473   AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_BASE_SIZE_MEMBER(harddriv_state, eeprom, eeprom_size)
465   AM_RANGE(0xff4000, 0xff4fff) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom")
474466   AM_RANGE(0xff8000, 0xffffff) AM_RAM
475467ADDRESS_MAP_END
476468
r9191r9192
508500   AM_RANGE(0xc00000, 0xc03fff) AM_READWRITE(hd68k_gsp_io_r, hd68k_gsp_io_w)
509501   AM_RANGE(0xc04000, 0xc07fff) AM_READWRITE(hd68k_msp_io_r, hd68k_msp_io_w)
510502   AM_RANGE(0xfc0000, 0xfc001f) AM_READWRITE(hd68k_duart_r, hd68k_duart_w)
511   AM_RANGE(0xfd0000, 0xfd0fff) AM_MIRROR(0x004000) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_BASE_SIZE_MEMBER(harddriv_state, eeprom, eeprom_size)
503   AM_RANGE(0xfd0000, 0xfd0fff) AM_MIRROR(0x004000) AM_READWRITE(hd68k_zram_r, hd68k_zram_w) AM_SHARE("eeprom")
512504   AM_RANGE(0xff0000, 0xffffff) AM_RAM
513505ADDRESS_MAP_END
514506
r9191r9192
11191111 *************************************/
11201112
11211113/* Driver board without MSP (used by Race Drivin' cockpit) */
1122static MACHINE_DRIVER_START( driver_nomsp )
1123   MDRV_DRIVER_DATA(harddriv_state)
1114static MACHINE_CONFIG_START( driver_nomsp, harddriv_state )
11241115
11251116   /* basic machine hardware */
11261117   MDRV_CPU_ADD("maincpu", M68010, 32000000/4)
r9191r9192
11361127
11371128   MDRV_MACHINE_START(harddriv)
11381129   MDRV_MACHINE_RESET(harddriv)
1139   MDRV_NVRAM_HANDLER(atarigen)
1130   MDRV_NVRAM_ADD_1FILL("eeprom")
11401131
11411132   MDRV_TIMER_ADD("duart_timer", hd68k_duart_callback)
11421133
r9191r9192
11501141
11511142   MDRV_VIDEO_START(harddriv)
11521143   MDRV_VIDEO_UPDATE(tms340x0)
1153MACHINE_DRIVER_END
1144MACHINE_CONFIG_END
11541145
11551146
11561147/* Driver board with MSP (used by Hard Drivin' cockpit) */
1157static MACHINE_DRIVER_START( driver_msp )
1158   MDRV_IMPORT_FROM(driver_nomsp)
1148static MACHINE_CONFIG_DERIVED( driver_msp, driver_nomsp )
11591149
11601150   /* basic machine hardware */
11611151   MDRV_CPU_ADD("msp", TMS34010, 50000000)
11621152   MDRV_CPU_PROGRAM_MAP(driver_msp_map)
11631153   MDRV_CPU_CONFIG(msp_config)
1164MACHINE_DRIVER_END
1154MACHINE_CONFIG_END
11651155
11661156
11671157/* Multisync board without MSP (used by STUN Runner, Steel Talons, Race Drivin' compact) */
1168static MACHINE_DRIVER_START( multisync_nomsp )
1169   MDRV_IMPORT_FROM(driver_nomsp)
1158static MACHINE_CONFIG_DERIVED( multisync_nomsp, driver_nomsp )
11701159
11711160   /* basic machine hardware */
11721161   MDRV_CPU_MODIFY("maincpu")
r9191r9192
11791168   /* video hardware */
11801169   MDRV_SCREEN_MODIFY("screen")
11811170   MDRV_SCREEN_RAW_PARAMS(6000000*2, 323*2, 0, 256*2, 308, 0, 288)
1182MACHINE_DRIVER_END
1171MACHINE_CONFIG_END
11831172
11841173
11851174/* Multisync board with MSP (used by Hard Drivin' compact) */
1186static MACHINE_DRIVER_START( multisync_msp )
1187   MDRV_IMPORT_FROM(multisync_nomsp)
1175static MACHINE_CONFIG_DERIVED( multisync_msp, multisync_nomsp )
11881176
11891177   /* basic machine hardware */
11901178   MDRV_CPU_ADD("msp", TMS34010, 50000000)
11911179   MDRV_CPU_PROGRAM_MAP(driver_msp_map)
11921180   MDRV_CPU_CONFIG(msp_config)
1193MACHINE_DRIVER_END
1181MACHINE_CONFIG_END
11941182
11951183
11961184/* Multisync II board (used by Hard Drivin's Airborne) */
1197static MACHINE_DRIVER_START( multisync2 )
1198   MDRV_IMPORT_FROM(multisync_nomsp)
1185static MACHINE_CONFIG_DERIVED( multisync2, multisync_nomsp )
11991186
12001187   /* basic machine hardware */
12011188   MDRV_CPU_MODIFY("maincpu")
r9191r9192
12031190
12041191   MDRV_CPU_MODIFY("gsp")
12051192   MDRV_CPU_PROGRAM_MAP(multisync2_gsp_map)
1206MACHINE_DRIVER_END
1193MACHINE_CONFIG_END
12071194
12081195
12091196
r9191r9192
12141201 *************************************/
12151202
12161203/* ADSP/ADSP II boards (used by Hard/Race Drivin', STUN Runner) */
1217static MACHINE_DRIVER_START( adsp )
1204static MACHINE_CONFIG_FRAGMENT( adsp )
12181205
12191206   /* basic machine hardware */
12201207   MDRV_CPU_ADD("adsp", ADSP2100, 8000000)
12211208   MDRV_CPU_PROGRAM_MAP(adsp_program_map)
12221209   MDRV_CPU_DATA_MAP(adsp_data_map)
1223MACHINE_DRIVER_END
1210MACHINE_CONFIG_END
12241211
12251212
12261213/* DS III board (used by Steel Talons) */
1227static MACHINE_DRIVER_START( ds3 )
1214static MACHINE_CONFIG_FRAGMENT( ds3 )
12281215
12291216   /* basic machine hardware */
12301217   MDRV_CPU_ADD("adsp", ADSP2101, 12000000)
r9191r9192
12321219   MDRV_CPU_DATA_MAP(ds3_data_map)
12331220
12341221   MDRV_QUANTUM_TIME(HZ(60000))
1235MACHINE_DRIVER_END
1222MACHINE_CONFIG_END
12361223
12371224
12381225/* DS IV board (used by Hard Drivin's Airborne) */
1239static MACHINE_DRIVER_START( ds4 )
1226static MACHINE_CONFIG_FRAGMENT( ds4 )
12401227
12411228   /* basic machine hardware */
12421229   MDRV_CPU_ADD("adsp", ADSP2101, 12000000)
12431230   MDRV_CPU_PROGRAM_MAP(ds3_program_map)
12441231   MDRV_CPU_DATA_MAP(ds3_data_map)
12451232
1246//  MDRV_CPU_ADD("soundcpu", ADSP2105, 10000000)
1233//  MDRV_CPU_ADD("ds4cpu1", ADSP2105, 10000000)
12471234//  MDRV_CPU_PROGRAM_MAP(ds3snd_program_map)
12481235
1249//  MDRV_CPU_ADD("sounddsp", ADSP2105, 10000000)
1236//  MDRV_CPU_ADD("ds4cpu2", ADSP2105, 10000000)
12501237//  MDRV_CPU_PROGRAM_MAP(ds3snd_program_map)
12511238
12521239   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
r9191r9192
12561243
12571244   MDRV_SOUND_ADD("dac2", DAC, 0)
12581245   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
1259MACHINE_DRIVER_END
1246MACHINE_CONFIG_END
12601247
12611248
12621249
r9191r9192
12671254 *************************************/
12681255
12691256/* DSK board (used by Race Drivin') */
1270static MACHINE_DRIVER_START( dsk )
1257static MACHINE_CONFIG_FRAGMENT( dsk )
12711258
12721259   /* basic machine hardware */
12731260   MDRV_CPU_ADD("dsp32", DSP32C, 40000000)
r9191r9192
12751262   MDRV_CPU_PROGRAM_MAP(dsk_dsp32_map)
12761263
12771264   /* ASIC65 */
1278   MDRV_IMPORT_FROM( asic65 )
1279MACHINE_DRIVER_END
1265   MDRV_FRAGMENT_ADD( asic65 )
1266MACHINE_CONFIG_END
12801267
12811268
12821269/* DSK II board (used by Hard Drivin's Airborne) */
1283static MACHINE_DRIVER_START( dsk2 )
1270static MACHINE_CONFIG_FRAGMENT( dsk2 )
12841271
12851272   /* basic machine hardware */
12861273   MDRV_CPU_ADD("dsp32", DSP32C, 40000000)
r9191r9192
12881275   MDRV_CPU_PROGRAM_MAP(dsk2_dsp32_map)
12891276
12901277   /* ASIC65 */
1291   MDRV_IMPORT_FROM( asic65 )
1292MACHINE_DRIVER_END
1278   MDRV_FRAGMENT_ADD( asic65 )
1279MACHINE_CONFIG_END
12931280
12941281
12951282
r9191r9192
12991286 *
13001287 *************************************/
13011288
1302static MACHINE_DRIVER_START( driversnd )
1289static MACHINE_CONFIG_FRAGMENT( driversnd )
13031290
13041291   /* basic machine hardware */
13051292   MDRV_CPU_ADD("soundcpu", M68000, 16000000/2)
r9191r9192
13151302
13161303   MDRV_SOUND_ADD("dac", DAC, 0)
13171304   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1318MACHINE_DRIVER_END
1305MACHINE_CONFIG_END
13191306
13201307
13211308
r9191r9192
13251312 *
13261313 *************************************/
13271314
1328static MACHINE_DRIVER_START( harddriv )
1315static MACHINE_CONFIG_DERIVED( harddriv, driver_msp )
13291316
1330   /* basic machine hardware */
1331   MDRV_IMPORT_FROM( driver_msp )      /* original driver board with MSP */
1332   MDRV_IMPORT_FROM( adsp )         /* ADSP board */
1333   MDRV_IMPORT_FROM( driversnd )      /* driver sound board */
1334MACHINE_DRIVER_END
1317   /* basic machine hardware */      /* original driver board with MSP */
1318   MDRV_FRAGMENT_ADD( adsp )         /* ADSP board */
1319   MDRV_FRAGMENT_ADD( driversnd )      /* driver sound board */
1320MACHINE_CONFIG_END
13351321
13361322
1337static MACHINE_DRIVER_START( harddrivc )
1323static MACHINE_CONFIG_DERIVED( harddrivc, multisync_msp )
13381324
1339   /* basic machine hardware */
1340   MDRV_IMPORT_FROM( multisync_msp )   /* multisync board with MSP */
1341   MDRV_IMPORT_FROM( adsp )         /* ADSP board */
1342   MDRV_IMPORT_FROM( driversnd )      /* driver sound board */
1343MACHINE_DRIVER_END
1325   /* basic machine hardware */   /* multisync board with MSP */
1326   MDRV_FRAGMENT_ADD( adsp )         /* ADSP board */
1327   MDRV_FRAGMENT_ADD( driversnd )      /* driver sound board */
1328MACHINE_CONFIG_END
13441329
13451330
1346static MACHINE_DRIVER_START( racedriv )
1331static MACHINE_CONFIG_DERIVED( racedriv, driver_nomsp )
13471332
1348   /* basic machine hardware */
1349   MDRV_IMPORT_FROM( driver_nomsp )   /* original driver board without MSP */
1350   MDRV_IMPORT_FROM( adsp )         /* ADSP board */
1351   MDRV_IMPORT_FROM( dsk )            /* DSK board */
1352   MDRV_IMPORT_FROM( driversnd )      /* driver sound board */
1353MACHINE_DRIVER_END
1333   /* basic machine hardware */   /* original driver board without MSP */
1334   MDRV_FRAGMENT_ADD( adsp )         /* ADSP board */
1335   MDRV_FRAGMENT_ADD( dsk )            /* DSK board */
1336   MDRV_FRAGMENT_ADD( driversnd )      /* driver sound board */
1337MACHINE_CONFIG_END
13541338
13551339
1356static MACHINE_DRIVER_START( racedrivc )
1340static MACHINE_CONFIG_DERIVED( racedrivc, multisync_nomsp )
13571341
1358   /* basic machine hardware */
1359   MDRV_IMPORT_FROM( multisync_nomsp )   /* multisync board without MSP */
1360   MDRV_IMPORT_FROM( adsp )         /* ADSP board */
1361   MDRV_IMPORT_FROM( dsk )            /* DSK board */
1362   MDRV_IMPORT_FROM( driversnd )      /* driver sound board */
1363MACHINE_DRIVER_END
1342   /* basic machine hardware */   /* multisync board without MSP */
1343   MDRV_FRAGMENT_ADD( adsp )         /* ADSP board */
1344   MDRV_FRAGMENT_ADD( dsk )            /* DSK board */
1345   MDRV_FRAGMENT_ADD( driversnd )      /* driver sound board */
1346MACHINE_CONFIG_END
13641347
13651348
1366static MACHINE_DRIVER_START( stunrun )
1349static MACHINE_CONFIG_DERIVED( stunrun, multisync_nomsp )
13671350
1368   /* basic machine hardware */
1369   MDRV_IMPORT_FROM( multisync_nomsp )   /* multisync board without MSP */
1351   /* basic machine hardware */   /* multisync board without MSP */
13701352   MDRV_CPU_MODIFY("gsp")
13711353   MDRV_CPU_CONFIG(gsp_config_multisync_stunrun)
1372   MDRV_IMPORT_FROM( adsp )         /* ADSP board */
1373   MDRV_IMPORT_FROM( jsa_ii_mono )      /* JSA II sound board */
1354   MDRV_FRAGMENT_ADD( adsp )         /* ADSP board */
1355   MDRV_FRAGMENT_ADD( jsa_ii_mono )      /* JSA II sound board */
13741356
13751357   /* video hardware */
13761358   MDRV_SCREEN_MODIFY("screen")
13771359   MDRV_SCREEN_RAW_PARAMS(5000000*2, 317*2, 0, 256*2, 262, 0, 228)
1378MACHINE_DRIVER_END
1360MACHINE_CONFIG_END
13791361
13801362
1381static MACHINE_DRIVER_START( strtdriv )
1363static MACHINE_CONFIG_DERIVED( strtdriv, multisync_nomsp )
13821364
1383   /* basic machine hardware */
1384   MDRV_IMPORT_FROM( multisync_nomsp )   /* multisync board */
1385   MDRV_IMPORT_FROM( ds3 )            /* DS III board */
1386   MDRV_IMPORT_FROM( dsk )            /* DSK board */
1387MACHINE_DRIVER_END
1365   /* basic machine hardware */   /* multisync board */
1366   MDRV_FRAGMENT_ADD( ds3 )            /* DS III board */
1367   MDRV_FRAGMENT_ADD( dsk )            /* DSK board */
1368MACHINE_CONFIG_END
13881369
13891370
1390static MACHINE_DRIVER_START( steeltal )
1371static MACHINE_CONFIG_DERIVED( steeltal, multisync_msp )
13911372
1392   /* basic machine hardware */
1393   MDRV_IMPORT_FROM( multisync_msp )   /* multisync board with MSP */
1394   MDRV_IMPORT_FROM( ds3 )            /* DS III board */
1395   MDRV_IMPORT_FROM( jsa_iii_mono )   /* JSA III sound board */
1396   MDRV_IMPORT_FROM( asic65 )         /* ASIC65 on DSPCOM board */
1397MACHINE_DRIVER_END
1373   /* basic machine hardware */   /* multisync board with MSP */
1374   MDRV_FRAGMENT_ADD( ds3 )            /* DS III board */
1375   MDRV_FRAGMENT_ADD( jsa_iii_mono )   /* JSA III sound board */
1376   MDRV_FRAGMENT_ADD( asic65 )         /* ASIC65 on DSPCOM board */
1377MACHINE_CONFIG_END
13981378
13991379
1400static MACHINE_DRIVER_START( hdrivair )
1380static MACHINE_CONFIG_DERIVED( hdrivair, multisync2 )
14011381
1402   /* basic machine hardware */
1403   MDRV_IMPORT_FROM( multisync2 )      /* multisync II board */
1404   MDRV_IMPORT_FROM( ds4 )            /* DS IV board */
1405   MDRV_IMPORT_FROM( dsk2 )         /* DSK II board */
1406MACHINE_DRIVER_END
1382   /* basic machine hardware */      /* multisync II board */
1383   MDRV_FRAGMENT_ADD( ds4 )            /* DS IV board */
1384   MDRV_FRAGMENT_ADD( dsk2 )         /* DSK II board */
1385MACHINE_CONFIG_END
14071386
14081387
14091388
r9191r9192
14461425   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
14471426   ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) )
14481427   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1428
1429   ROM_REGION( 0x1000, "eeprom", 0 )
1430   ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) )
14491431ROM_END
14501432
14511433
r9191r9192
14751457   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
14761458   ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) )
14771459   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1460
1461   ROM_REGION( 0x1000, "eeprom", 0 )
1462   ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) )
14781463ROM_END
14791464
14801465
r9191r9192
15061491   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
15071492   ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) )
15081493   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1494
1495   ROM_REGION( 0x1000, "eeprom", 0 )
1496   ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) )
15091497ROM_END
15101498
15111499
r9191r9192
15351523   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
15361524   ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) )
15371525   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1526
1527   ROM_REGION( 0x1000, "eeprom", 0 )
1528   ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) )
15381529ROM_END
15391530
15401531
r9191r9192
15641555   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
15651556   ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) )
15661557   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1558
1559   ROM_REGION( 0x1000, "eeprom", 0 )
1560   ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) )
15671561ROM_END
15681562
15691563
r9191r9192
15951589   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
15961590   ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) )
15971591   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1592
1593   ROM_REGION( 0x1000, "eeprom", 0 )
1594   ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) )
15981595ROM_END
15991596
16001597
r9191r9192
16241621   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
16251622   ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) )
16261623   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1624
1625   ROM_REGION( 0x1000, "eeprom", 0 )
1626   ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) )
16271627ROM_END
16281628
16291629
r9191r9192
16531653   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
16541654   ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) )
16551655   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1656
1657   ROM_REGION( 0x1000, "eeprom", 0 )
1658   ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) )
16561659ROM_END
16571660
16581661
r9191r9192
16821685   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
16831686   ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) )
16841687   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1688
1689   ROM_REGION( 0x1000, "eeprom", 0 )
1690   ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) )
16851691ROM_END
16861692
16871693
r9191r9192
17111717   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
17121718   ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) )
17131719   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1720
1721   ROM_REGION( 0x1000, "eeprom", 0 )
1722   ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) )
17141723ROM_END
17151724
17161725
r9191r9192
17401749   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
17411750   ROM_LOAD( "136052-1125.45a", 0x020000, 0x010000, CRC(ebf391af) SHA1(3c4097db8d625b994b39d46fe652585a74378ca0) )
17421751   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1752
1753   ROM_REGION( 0x1000, "eeprom", 0 )
1754   ROM_LOAD( "harddriv-eeprom.bin", 0x0000, 0x1000, CRC(692ef86c) SHA1(e79dab6969d0e835e8ae8eaf2f08d5d81d391ef7) )
17431755ROM_END
17441756
17451757
r9191r9192
17691781   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
17701782   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
17711783   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1784
1785   ROM_REGION( 0x1000, "eeprom", 0 )
1786   ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) )
17721787ROM_END
17731788
17741789
r9191r9192
17981813   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
17991814   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
18001815   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1816
1817   ROM_REGION( 0x1000, "eeprom", 0 )
1818   ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) )
18011819ROM_END
18021820
18031821
r9191r9192
18271845   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
18281846   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
18291847   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1848
1849   ROM_REGION( 0x1000, "eeprom", 0 )
1850   ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) )
18301851ROM_END
18311852
18321853
r9191r9192
18561877   ROM_LOAD( "136052-1124.55a", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
18571878   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
18581879   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
1880
1881   ROM_REGION( 0x1000, "eeprom", 0 )
1882   ROM_LOAD( "harddrivc-eeprom.bin", 0x0000, 0x1000, CRC(c036ef04) SHA1(2f28a52facdff2269ff2f905f9818520a1d8e468) )
18591883ROM_END
18601884
18611885
r9191r9192
18911915   ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
18921916   ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
18931917   ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) )
1918
1919   ROM_REGION( 0x1000, "eeprom", 0 )
1920   ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
18941921ROM_END
18951922
18961923
r9191r9192
19261953   ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
19271954   ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
19281955   ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) )
1956
1957   ROM_REGION( 0x1000, "eeprom", 0 )
1958   ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
19291959ROM_END
19301960
19311961
r9191r9192
19611991   ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
19621992   ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
19631993   ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) )
1994
1995   ROM_REGION( 0x1000, "eeprom", 0 )
1996   ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
19641997ROM_END
19651998
19661999
r9191r9192
19962029   ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
19972030   ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
19982031   ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) )
2032
2033   ROM_REGION( 0x1000, "eeprom", 0 )
2034   ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
19992035ROM_END
20002036
20012037
r9191r9192
20312067   ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
20322068   ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
20332069   ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) )
2070
2071   ROM_REGION( 0x1000, "eeprom", 0 )
2072   ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
20342073ROM_END
20352074
20362075
r9191r9192
20662105   ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
20672106   ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
20682107   ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) )
2108
2109   ROM_REGION( 0x1000, "eeprom", 0 )
2110   ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
20692111ROM_END
20702112
20712113
r9191r9192
21012143   ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
21022144   ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
21032145   ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) )
2146
2147   ROM_REGION( 0x1000, "eeprom", 0 )
2148   ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
21042149ROM_END
21052150
21062151
r9191r9192
21362181   ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
21372182   ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
21382183   ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) )
2184
2185   ROM_REGION( 0x1000, "eeprom", 0 )
2186   ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
21392187ROM_END
21402188
21412189
r9191r9192
21712219   ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
21722220   ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
21732221   ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) )
2222
2223   ROM_REGION( 0x1000, "eeprom", 0 )
2224   ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
21742225ROM_END
21752226
21762227
r9191r9192
22062257   ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
22072258   ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
22082259   ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) )
2260
2261   ROM_REGION( 0x1000, "eeprom", 0 )
2262   ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
22092263ROM_END
22102264
22112265
r9191r9192
22412295   ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
22422296   ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
22432297   ROM_LOAD( "136070-2127.1cd", 0x030000, 0x010000, CRC(3e419f4e) SHA1(e382e047f02591a934a53e5fbf07cccf285abb29) )
2298
2299   ROM_REGION( 0x1000, "eeprom", 0 )
2300   ROM_LOAD( "stunrun-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
22442301ROM_END
22452302
22462303
r9191r9192
22862343   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
22872344   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
22882345   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2346
2347   ROM_REGION( 0x1000, "eeprom", 0 )
2348   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
22892349ROM_END
22902350
22912351
r9191r9192
23312391   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
23322392   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
23332393   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2394
2395   ROM_REGION( 0x1000, "eeprom", 0 )
2396   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
23342397ROM_END
23352398
23362399
r9191r9192
23762439   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
23772440   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
23782441   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2442
2443   ROM_REGION( 0x1000, "eeprom", 0 )
2444   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
23792445ROM_END
23802446
23812447
r9191r9192
24212487   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
24222488   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
24232489   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2490
2491   ROM_REGION( 0x1000, "eeprom", 0 )
2492   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
24242493ROM_END
24252494
24262495
r9191r9192
24662535   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
24672536   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
24682537   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2538
2539   ROM_REGION( 0x1000, "eeprom", 0 )
2540   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
24692541ROM_END
24702542
24712543
r9191r9192
25112583   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
25122584   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
25132585   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2586
2587   ROM_REGION( 0x1000, "eeprom", 0 )
2588   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
25142589ROM_END
25152590
25162591
r9191r9192
25562631   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
25572632   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
25582633   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2634
2635   ROM_REGION( 0x1000, "eeprom", 0 )
2636   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
25592637ROM_END
25602638
25612639
r9191r9192
26012679   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
26022680   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
26032681   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2682
2683   ROM_REGION( 0x1000, "eeprom", 0 )
2684   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
26042685ROM_END
26052686
26062687
r9191r9192
26462727   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
26472728   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
26482729   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2730
2731   ROM_REGION( 0x1000, "eeprom", 0 )
2732   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
26492733ROM_END
26502734
26512735
r9191r9192
26912775   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
26922776   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
26932777   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2778
2779   ROM_REGION( 0x1000, "eeprom", 0 )
2780   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
26942781ROM_END
26952782
26962783
r9191r9192
27362823   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
27372824   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
27382825   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2826
2827   ROM_REGION( 0x1000, "eeprom", 0 )
2828   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
27392829ROM_END
27402830
27412831
r9191r9192
27812871   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
27822872   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
27832873   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2874
2875   ROM_REGION( 0x1000, "eeprom", 0 )
2876   ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) )
27842877ROM_END
27852878
27862879
r9191r9192
28262919   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
28272920   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
28282921   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2922
2923   ROM_REGION( 0x1000, "eeprom", 0 )
2924   ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) )
28292925ROM_END
28302926
28312927
r9191r9192
28712967   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
28722968   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
28732969   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
2970
2971   ROM_REGION( 0x1000, "eeprom", 0 )
2972   ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) )
28742973ROM_END
28752974
28762975
r9191r9192
29163015   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
29173016   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
29183017   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
3018
3019   ROM_REGION( 0x1000, "eeprom", 0 )
3020   ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) )
29193021ROM_END
29203022
29213023
r9191r9192
29613063   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
29623064   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
29633065   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
3066
3067   ROM_REGION( 0x1000, "eeprom", 0 )
3068   ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) )
29643069ROM_END
29653070
29663071
r9191r9192
30063111   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
30073112   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
30083113   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
3114
3115   ROM_REGION( 0x1000, "eeprom", 0 )
3116   ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) )
30093117ROM_END
30103118
30113119
r9191r9192
30513159   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
30523160   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
30533161   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
3162
3163   ROM_REGION( 0x1000, "eeprom", 0 )
3164   ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) )
30543165ROM_END
30553166
30563167
r9191r9192
30963207   ROM_LOAD( "136052-3125.45a", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
30973208   ROM_LOAD( "136052-1126.30a", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
30983209   ROM_LOAD( "136077-1017.45c", 0x040000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
3210
3211   ROM_REGION( 0x1000, "eeprom", 0 )
3212   ROM_LOAD( "racedrivc-eeprom.bin", 0x0000, 0x1000, CRC(79266a98) SHA1(61471a0cdb5074c65f5d37a556d2d4e693d0f8e4) )
30993213ROM_END
31003214
31013215
3216/*
3217
32185/2/2003
3219
3220The following roms (type 27C512) were dumped and verified from an Atari Race Drivin
3221Panorama v2.1 boardset by Mickey Johnson (mickster (at) derbyworks.com) and Dave France
3222(dfrance (at) revealed.net).  Any questions regarding the hardware, please contact Mickey.
3223
3224The Multisync PCB (A046901), used by the side monitor, uses the 137412-117 slapstic.
3225The boardset is low rez, and is more similar to STUN Runner than the regular Race
3226Drivin's hardware.
3227
3228The Multisync PCB (A045988), used by the main (center) monitor, uses the 137412-115
3229slapstic.
3230
3231The ADSP board was silkscreened "ADSP II A047046-01", but had a factory sticker stamped
3232"ADSP II Panorama A047046-04".
3233
3234As far as I know, the DSK and Sound PCBs are identical with Race Drivin.  The side
3235Multisync PCB sets do not have a DSK or Sound PCB since they are for display only.
3236
3237All the linking between the PCBs is via the Serial A on all three boardsets.  We
3238have brought these ROMs up in MAME as Race Drivin.  It will pass the self-test, but
3239game will come up with "DIVIDE BY ZERO ERR".  Hitting F2 (Self Test) will display
3240"Hard Drivin / Race Drivin / Panorama Self Test P2.1" in the Test Menu.
3241
3242Filename    Location    Label           Board
3243--------------  --------------  ----------------------  -----------------------------
3244088-1022    9H      136088-1022 CS 0022 ADSP II A047046-01
3245088-1018    9/10H       136088-1018 CS 6518 "
3246088-1020    10H     136088-1020 CS BC20 "
3247088-1021    9K      136088-1021 CS A121 "
3248088-1017    9/10K       136088-1017 CS 4B17 "
3249088-1019    10K     136088-1019 CS 6219 "
3250
3251088-2015    210Y        136088-2015 CS DF15 Multisync PCB A046901
3252088-2013    210X        136088-2013 CS DA13 "
3253088-2011    210W        136088-2011 CS 6E11 "
3254088-2009    210V        136088-2009 CS 1F09 "
3255088-2007    210U        136088-2007 CS 2F07 "
3256088-2005    210T        136088-2005C CS D305    "
3257088-2003    210S        136088-2003C CS 2303    "
3258088-2001    210R        136088-2001 CS DE01 "
3259088-2016    200Y        136088-2016 CS 0D16 "
3260088-2014    200X        136088-2014 CS EB14 "
3261088-2012    200W        136088-2012 CS 2912 "
3262088-2010    200V        136088-2010 CS FF10 "
3263088-2008    200U        136088-2008 CS BA08 "
3264088-2006    200T        136088-2006C CS D406    "
3265088-2004    200S        136088-2004C CS 4504    "
3266088-2002    200R        136088-2002 CS A502 "
3267
3268088-1015    210Y        136088-1015 CS E215 Multisync PCB A045988
3269088-1013    210X        136088-1013 CS 8F13 "
3270088-1011    210W        136088-1011 CS 5111 "
3271088-1009    210V        136088-1009 CS EE09 "
3272088-1007    210U        136088-1007 CS 4D07 "
3273088-1005    210T        136088-1005B CS 3905    "
3274088-1003    210S        136088-1003B CS 7403    "
3275088-1001    210R        136088-1001 CS 6701 "
3276088-1016    200Y        136088-1016 CS 3C16 "
3277088-1014    200X        136088-1014 CS 9C14 "
3278088-1012    200W        136088-1012 CS C312 "
3279088-1010    200V        136088-1010 CS 9410 "
3280088-1008    200U        136088-1008 CS 3408 "
3281088-1006    200T        136088-1006B CS A006    "
3282088-1004    200S        136088-1004B CS A904    "
3283088-1002    200R        136088-1002 CS FB02 "
3284
3285*/
3286
3287ROM_START( racedrivpan )
3288   ROM_REGION( 0x200000, "maincpu", 0 )      /* 2MB for 68000 code */
3289   // Multisync PBB A045988 - Central Monitor
3290   // boots with 'PROGRAM OK' when using standard Hard Drivin' board type (needs 137412-115 slapstic)
3291   ROM_LOAD16_BYTE( "088-1002.bin", 0x000000, 0x010000, CRC(49a97391) SHA1(dbe4086cd87669a02d2a2133d0d9e2895946b383) )
3292   ROM_LOAD16_BYTE( "088-1001.bin", 0x000001, 0x010000, CRC(4473accc) SHA1(099bda6cfe31d4e53cbe74046679ddf8b874982d) )
3293   ROM_LOAD16_BYTE( "088-1004.bin", 0x020000, 0x010000, CRC(33b84ca6) SHA1(9e3cafadfb23bfc4a44e503043cc05db27d939a9) )
3294   ROM_LOAD16_BYTE( "088-1003.bin", 0x020001, 0x010000, CRC(e617e6e2) SHA1(1bd308eff51588edfde21f3df1e84d3223d5d57a) )
3295   ROM_LOAD16_BYTE( "088-1006.bin", 0x040000, 0x010000, CRC(1caeb314) SHA1(ebcf3e4cc13155206102bfada9422d4e318697e0) )
3296   ROM_LOAD16_BYTE( "088-1005.bin", 0x040001, 0x010000, CRC(f23a73b8) SHA1(8e060077c971309dcc620402ee456ee66e59bfae) )
3297   ROM_LOAD16_BYTE( "088-1008.bin", 0x060000, 0x010000, CRC(b0d60278) SHA1(d35ed22d3cbc725bbe023ae415a417f1c6532d30) )
3298   ROM_LOAD16_BYTE( "088-1007.bin", 0x060001, 0x010000, CRC(c4fc82dc) SHA1(67575f533a658dd06fa6a143a654e9777f2e19ab) )
3299   ROM_LOAD16_BYTE( "088-1010.bin", 0x080000, 0x010000, CRC(1b64bce1) SHA1(80edf1a77aee32f675c2a99769b1a390214ec075) )
3300   ROM_LOAD16_BYTE( "088-1009.bin", 0x080001, 0x010000, CRC(413f4110) SHA1(6f71a5e46c29b4c51f3624484cdaed16babe3cd5) )
3301   ROM_LOAD16_BYTE( "088-1012.bin", 0x0a0000, 0x010000, CRC(9a78b952) SHA1(53270d4d8c28579ebda477a63c034f6d1b9e5a58) ) // == 136091-0012.200w (strtdriv) / 136077-1012.200w
3302   ROM_LOAD16_BYTE( "088-1011.bin", 0x0a0001, 0x010000, CRC(c5cd5491) SHA1(ede5a3bb888342032d6758b0fb149451b6543d8b) ) // == 136091-0011.210w (strtdriv) / 136077-1011.210w
3303   ROM_LOAD16_BYTE( "088-1014.bin", 0x0c0000, 0x010000, CRC(5b721420) SHA1(cba03943d56eb1d747e48fbe2856c64d2129be3b) ) // == 136091-0014.200x (strtdriv)
3304   ROM_LOAD16_BYTE( "088-1013.bin", 0x0c0001, 0x010000, CRC(c503b019) SHA1(e35779c0792bb2258dd0830c00a7d2722a0b115e) ) // == 136091-0013.210x (strtdriv)
3305   ROM_LOAD16_BYTE( "088-1016.bin", 0x0e0000, 0x010000, CRC(e83a9c99) SHA1(1d4093902133bb6da981f294e6947544c3564393) ) // == 136077-1016.200y
3306   ROM_LOAD16_BYTE( "088-1015.bin", 0x0e0001, 0x010000, CRC(725806f3) SHA1(0fa4601465dc94f27c71db789ad625bbcd254169) ) // == 136077-4015.210y
3307
3308   // Multisync PCB (A046901) - Side Monitor
3309   // these will boot with 'PROGRAM OK' and display an empty side view, if you use the 'compact' type board driver
3310   //  there should be one board for each side.  (needs 137412-117 slapstic)
3311   ROM_REGION( 0x200000, "sidecpu", 0 )      /* 2MB for 68000 code */
3312   ROM_LOAD16_BYTE( "088-2002.bin", 0x000000, 0x010000, CRC(77724070) SHA1(5862f30f7e2ab9c0beb06cf5599bcb1ff97f3a47) )
3313   ROM_LOAD16_BYTE( "088-2001.bin", 0x000001, 0x010000, CRC(16ab2fff) SHA1(bf6dcefc98e1fe27bef0ddacc265d8782c486c83) )
3314   ROM_LOAD16_BYTE( "088-2004.bin", 0x020000, 0x010000, CRC(dccdb16b) SHA1(330cf39bcbdb9c73da48b4e947086a7988e37496) )
3315   ROM_LOAD16_BYTE( "088-2003.bin", 0x020001, 0x010000, CRC(132ef986) SHA1(106f1a23ac200a868959181fa1c47419806e8366) )
3316   ROM_LOAD16_BYTE( "088-2006.bin", 0x040000, 0x010000, CRC(de3a0c24) SHA1(1121b8a16ac11b2480f1c4336a5aa3271364f80e))
3317   ROM_LOAD16_BYTE( "088-2005.bin", 0x040001, 0x010000, CRC(96ad705f) SHA1(cc0bc7fdd2a5f91a5929b889607dcf7ad015bb95) )
3318   ROM_LOAD16_BYTE( "088-2008.bin", 0x060000, 0x010000, CRC(452d991c) SHA1(42dad0a93839a900c3571ce9e252e1c991a1da56) )
3319   ROM_LOAD16_BYTE( "088-2007.bin", 0x060001, 0x010000, CRC(d6f526d3) SHA1(8406917c91c1d3690379cb0bca5809d1db27abec) )
3320   ROM_LOAD16_BYTE( "088-2010.bin", 0x080000, 0x010000, CRC(775bca3d) SHA1(926b460faeb2aa46899432b3a9973381ffd7781d) )
3321   ROM_LOAD16_BYTE( "088-2009.bin", 0x080001, 0x010000, CRC(6aedccc5) SHA1(9189881802969ecdde2fd41a20ff6ea0471ce2c0) )
3322   ROM_LOAD16_BYTE( "088-2012.bin", 0x0a0000, 0x010000, CRC(bacf08c0) SHA1(2f7ddaf4ef350ee3e6ab886759d88c03aa94784b) )
3323   ROM_LOAD16_BYTE( "088-2011.bin", 0x0a0001, 0x010000, CRC(1e0c2f71) SHA1(bcdd9089442934df78109df7c0dcf170873cf992) )
3324   ROM_LOAD16_BYTE( "088-2014.bin", 0x0c0000, 0x010000, CRC(3512537c) SHA1(896975ef2685358bd98f7a9b45dda11e8bfa3a13) )
3325   ROM_LOAD16_BYTE( "088-2013.bin", 0x0c0001, 0x010000, CRC(8d7c4e80) SHA1(eda8d02e51b18234fc0912eaca8171d75ae643c7) )
3326   ROM_LOAD16_BYTE( "088-2016.bin", 0x0e0000, 0x010000, CRC(6a42b7e2) SHA1(2e0ff4b7e391106a976cb872f6311f6d35dca5b0) )
3327   ROM_LOAD16_BYTE( "088-2015.bin", 0x0e0001, 0x010000, CRC(334e2a3b) SHA1(a19bfa7652845b9453c722091c773819ba248569) )
3328
3329   ROM_REGION( 0x60000, "user1", 0 )      /* 384k for object ROM */
3330   ROM_LOAD16_BYTE( "088-1017.bin",  0x00000, 0x10000, CRC(d92251e8) SHA1(deeeec54c4a61c3adf62f6b1b910135559090ee5) )
3331   ROM_LOAD16_BYTE( "088-1018.bin",  0x00001, 0x10000, CRC(11a0a8f5) SHA1(d4ccc83fc99331d741bc9b8027ef20d72e3ad71a) )
3332   ROM_LOAD16_BYTE( "088-1019.bin",  0x20000, 0x10000, CRC(5bb00676) SHA1(cad1cea8e43f9590fc71c00fab4eff0d447f9296) ) // == 136091-0019.2k (strtdriv)
3333   ROM_LOAD16_BYTE( "088-1020.bin",  0x20001, 0x10000, CRC(311cef99) SHA1(9c466aabad7e80581e477253ec6f2fd245f9b9fd) ) // == 136091-0020.2r (strtdriv)
3334   ROM_LOAD16_BYTE( "088-1021.bin",  0x40000, 0x10000, CRC(ce8e4886) SHA1(d29cd4761deb80ed179d0e503243739eebc0edb4) )
3335   ROM_LOAD16_BYTE( "088-1022.bin",  0x40001, 0x10000, CRC(4f1e1c5d) SHA1(3e72813129cae9e9bf084bfb1b747aa46b92591e) )
3336
3337   /* ----------------------- */
3338
3339   ROM_REGION( 0x2000, "asic65", 0 )   /* ASIC65 TMS32015 code */
3340   ROM_LOAD( "136077-1027.30j", 0x00000, 0x02000, NO_DUMP )
3341
3342   /* ADSP board */
3343   ROM_REGION( 0x20000, "soundcpu", 0 )      /* 2*64k for audio 68000 code */
3344   ROM_LOAD16_BYTE( "rdps1032.bin", 0x000000, 0x010000, CRC(33005f2a) SHA1(e4037a76f122b271a9675d9187ab847a11738640) )
3345   ROM_LOAD16_BYTE( "rdps1033.bin", 0x000001, 0x010000, CRC(4fc800ac) SHA1(dd8cfdb727d6a65274f4f871a589a36796ae1e57) )
3346
3347   /* DSK board */
3348   ROM_REGION16_BE( 0x51000, "user3", 0 )   /* 256k for DSK ROMs + 64k for RAM + 4k for ZRAM */
3349   ROM_LOAD16_BYTE( "rdpd1026.bin", 0x000000, 0x020000, CRC(16572618) SHA1(08d9f7f76e6e75d5233240d4deab96808825994b) )
3350   ROM_LOAD16_BYTE( "rdpd1025.bin", 0x000001, 0x020000, CRC(57b8a266) SHA1(257246d42841aa30220caeb91945e29978ee8fc0) )
3351
3352   /* Audio ROMs - show up as bad in self-test but so do racedriv's */
3353   ROM_REGION( 0x50000, "serialroms", 0 )      /* 5*64k for audio serial ROMs */
3354   ROM_LOAD( "rdps1123.bin", 0x000000, 0x010000, CRC(a88411dc) SHA1(1fd53c7eadffa163d5423df2f8338757e58d5f2e) )
3355   ROM_LOAD( "rdps1124.bin", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
3356   ROM_LOAD( "rdps3125.bin", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
3357   ROM_LOAD( "rdps1126.bin", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
3358   ROM_LOAD( "rdps1017.bin", 0x040000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
3359
3360   ROM_REGION( 0x1000, "eeprom", 0 )
3361   ROM_LOAD( "racedriv-eeprom.bin", 0x0000, 0x1000, CRC(0e9cf36e) SHA1(bc6cc7eb243d5ec6e346ebf5c3887d0820eb1a1c) )
3362ROM_END
3363
3364
31023365ROM_START( steeltal )
31033366   ROM_REGION( 0x100000, "maincpu", 0 )      /* 1MB for 68000 code */
31043367   ROM_LOAD16_BYTE( "136087-1002.200r", 0x000000, 0x010000, CRC(31bf01a9) SHA1(cd08a839dbb5283a6e2bb35bc9e1578a14e3c2e6) )
r9191r9192
31543417
31553418    /* GAL's located on "Multisync" board */
31563419    ROM_LOAD( "136087-9001.bin", 0x0000, 0x0001, NO_DUMP ) /* GAL6001 at location 200K (SLOOP) */
3420
3421   ROM_REGION( 0x1000, "eeprom", 0 )
3422   ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
31573423ROM_END
31583424
31593425
r9191r9192
32123478
32133479    /* GAL's located on "Multisync" board */
32143480    ROM_LOAD( "136087-9001.bin", 0x0000, 0x0001, NO_DUMP ) /* GAL6001 at location 200K (SLOOP) */
3481
3482   ROM_REGION( 0x1000, "eeprom", 0 )
3483   ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
32153484ROM_END
32163485
32173486
r9191r9192
32703539
32713540    /* GAL's located on "Multisync" board */
32723541    ROM_LOAD( "136087-9001.bin", 0x0000, 0x0001, NO_DUMP ) /* GAL6001 at location 200K (SLOOP) */
3542
3543   ROM_REGION( 0x1000, "eeprom", 0 )
3544   ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
32733545ROM_END
32743546
32753547
r9191r9192
33283600
33293601    /* GAL's located on "Multisync" board */
33303602    ROM_LOAD( "136087-9001.bin", 0x0000, 0x0001, NO_DUMP ) /* GAL6001 at location 200K (SLOOP) */
3603
3604   ROM_REGION( 0x1000, "eeprom", 0 )
3605   ROM_LOAD( "steeltal-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
33313606ROM_END
33323607
33333608
r9191r9192
33733648   ROM_LOAD( "136052-3125.12j", 0x000000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
33743649   ROM_LOAD( "136052-1126.12h", 0x000000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
33753650   ROM_LOAD( "136077-1017.12t", 0x000000, 0x010000, CRC(e93129a3) SHA1(1221b08c8efbfd8cf6bfbfd956545f10bef48663) )
3376ROM_END
33773651
3378/*
3379
33805/2/2003
3381
3382The following roms (type 27C512) were dumped and verified from an Atari Race Drivin
3383Panorama v2.1 boardset by Mickey Johnson (mickster (at) derbyworks.com) and Dave France
3384(dfrance (at) revealed.net).  Any questions regarding the hardware, please contact Mickey.
3385
3386The Multisync PCB (A046901), used by the side monitor, uses the 137412-117 slapstic.
3387The boardset is low rez, and is more similar to STUN Runner than the regular Race
3388Drivin's hardware.
3389
3390The Multisync PCB (A045988), used by the main (center) monitor, uses the 137412-115
3391slapstic.
3392
3393The ADSP board was silkscreened "ADSP II A047046-01", but had a factory sticker stamped
3394"ADSP II Panorama A047046-04".
3395
3396As far as I know, the DSK and Sound PCBs are identical with Race Drivin.  The side
3397Multisync PCB sets do not have a DSK or Sound PCB since they are for display only.
3398
3399All the linking between the PCBs is via the Serial A on all three boardsets.  We
3400have brought these ROMs up in MAME as Race Drivin.  It will pass the self-test, but
3401game will come up with "DIVIDE BY ZERO ERR".  Hitting F2 (Self Test) will display
3402"Hard Drivin / Race Drivin / Panorama Self Test P2.1" in the Test Menu.
3403
3404Filename    Location    Label           Board
3405--------------  --------------  ----------------------  -----------------------------
3406088-1022    9H      136088-1022 CS 0022 ADSP II A047046-01
3407088-1018    9/10H       136088-1018 CS 6518 "
3408088-1020    10H     136088-1020 CS BC20 "
3409088-1021    9K      136088-1021 CS A121 "
3410088-1017    9/10K       136088-1017 CS 4B17 "
3411088-1019    10K     136088-1019 CS 6219 "
3412
3413088-2015    210Y        136088-2015 CS DF15 Multisync PCB A046901
3414088-2013    210X        136088-2013 CS DA13 "
3415088-2011    210W        136088-2011 CS 6E11 "
3416088-2009    210V        136088-2009 CS 1F09 "
3417088-2007    210U        136088-2007 CS 2F07 "
3418088-2005    210T        136088-2005C CS D305    "
3419088-2003    210S        136088-2003C CS 2303    "
3420088-2001    210R        136088-2001 CS DE01 "
3421088-2016    200Y        136088-2016 CS 0D16 "
3422088-2014    200X        136088-2014 CS EB14 "
3423088-2012    200W        136088-2012 CS 2912 "
3424088-2010    200V        136088-2010 CS FF10 "
3425088-2008    200U        136088-2008 CS BA08 "
3426088-2006    200T        136088-2006C CS D406    "
3427088-2004    200S        136088-2004C CS 4504    "
3428088-2002    200R        136088-2002 CS A502 "
3429
3430088-1015    210Y        136088-1015 CS E215 Multisync PCB A045988
3431088-1013    210X        136088-1013 CS 8F13 "
3432088-1011    210W        136088-1011 CS 5111 "
3433088-1009    210V        136088-1009 CS EE09 "
3434088-1007    210U        136088-1007 CS 4D07 "
3435088-1005    210T        136088-1005B CS 3905    "
3436088-1003    210S        136088-1003B CS 7403    "
3437088-1001    210R        136088-1001 CS 6701 "
3438088-1016    200Y        136088-1016 CS 3C16 "
3439088-1014    200X        136088-1014 CS 9C14 "
3440088-1012    200W        136088-1012 CS C312 "
3441088-1010    200V        136088-1010 CS 9410 "
3442088-1008    200U        136088-1008 CS 3408 "
3443088-1006    200T        136088-1006B CS A006    "
3444088-1004    200S        136088-1004B CS A904    "
3445088-1002    200R        136088-1002 CS FB02 "
3446
3447*/
3448
3449ROM_START( racedrivpan )
3450   ROM_REGION( 0x200000, "maincpu", 0 )      /* 2MB for 68000 code */
3451   // Multisync PBB A045988 - Central Monitor
3452   // boots with 'PROGRAM OK' when using standard Hard Drivin' board type (needs 137412-115 slapstic)
3453   ROM_LOAD16_BYTE( "088-1002.bin", 0x000000, 0x010000, CRC(49a97391) SHA1(dbe4086cd87669a02d2a2133d0d9e2895946b383) )
3454   ROM_LOAD16_BYTE( "088-1001.bin", 0x000001, 0x010000, CRC(4473accc) SHA1(099bda6cfe31d4e53cbe74046679ddf8b874982d) )
3455   ROM_LOAD16_BYTE( "088-1004.bin", 0x020000, 0x010000, CRC(33b84ca6) SHA1(9e3cafadfb23bfc4a44e503043cc05db27d939a9) )
3456   ROM_LOAD16_BYTE( "088-1003.bin", 0x020001, 0x010000, CRC(e617e6e2) SHA1(1bd308eff51588edfde21f3df1e84d3223d5d57a) )
3457   ROM_LOAD16_BYTE( "088-1006.bin", 0x040000, 0x010000, CRC(1caeb314) SHA1(ebcf3e4cc13155206102bfada9422d4e318697e0) )
3458   ROM_LOAD16_BYTE( "088-1005.bin", 0x040001, 0x010000, CRC(f23a73b8) SHA1(8e060077c971309dcc620402ee456ee66e59bfae) )
3459   ROM_LOAD16_BYTE( "088-1008.bin", 0x060000, 0x010000, CRC(b0d60278) SHA1(d35ed22d3cbc725bbe023ae415a417f1c6532d30) )
3460   ROM_LOAD16_BYTE( "088-1007.bin", 0x060001, 0x010000, CRC(c4fc82dc) SHA1(67575f533a658dd06fa6a143a654e9777f2e19ab) )
3461   ROM_LOAD16_BYTE( "088-1010.bin", 0x080000, 0x010000, CRC(1b64bce1) SHA1(80edf1a77aee32f675c2a99769b1a390214ec075) )
3462   ROM_LOAD16_BYTE( "088-1009.bin", 0x080001, 0x010000, CRC(413f4110) SHA1(6f71a5e46c29b4c51f3624484cdaed16babe3cd5) )
3463   ROM_LOAD16_BYTE( "088-1012.bin", 0x0a0000, 0x010000, CRC(9a78b952) SHA1(53270d4d8c28579ebda477a63c034f6d1b9e5a58) ) // == 136091-0012.200w (strtdriv) / 136077-1012.200w
3464   ROM_LOAD16_BYTE( "088-1011.bin", 0x0a0001, 0x010000, CRC(c5cd5491) SHA1(ede5a3bb888342032d6758b0fb149451b6543d8b) ) // == 136091-0011.210w (strtdriv) / 136077-1011.210w
3465   ROM_LOAD16_BYTE( "088-1014.bin", 0x0c0000, 0x010000, CRC(5b721420) SHA1(cba03943d56eb1d747e48fbe2856c64d2129be3b) ) // == 136091-0014.200x (strtdriv)
3466   ROM_LOAD16_BYTE( "088-1013.bin", 0x0c0001, 0x010000, CRC(c503b019) SHA1(e35779c0792bb2258dd0830c00a7d2722a0b115e) ) // == 136091-0013.210x (strtdriv)
3467   ROM_LOAD16_BYTE( "088-1016.bin", 0x0e0000, 0x010000, CRC(e83a9c99) SHA1(1d4093902133bb6da981f294e6947544c3564393) ) // == 136077-1016.200y
3468   ROM_LOAD16_BYTE( "088-1015.bin", 0x0e0001, 0x010000, CRC(725806f3) SHA1(0fa4601465dc94f27c71db789ad625bbcd254169) ) // == 136077-4015.210y
3469
3470   // Multisync PCB (A046901) - Side Monitor
3471   // these will boot with 'PROGRAM OK' and display an empty side view, if you use the 'compact' type board driver
3472   //  there should be one board for each side.  (needs 137412-117 slapstic)
3473   ROM_REGION( 0x200000, "sidecpu", 0 )      /* 2MB for 68000 code */
3474   ROM_LOAD16_BYTE( "088-2002.bin", 0x000000, 0x010000, CRC(77724070) SHA1(5862f30f7e2ab9c0beb06cf5599bcb1ff97f3a47) )
3475   ROM_LOAD16_BYTE( "088-2001.bin", 0x000001, 0x010000, CRC(16ab2fff) SHA1(bf6dcefc98e1fe27bef0ddacc265d8782c486c83) )
3476   ROM_LOAD16_BYTE( "088-2004.bin", 0x020000, 0x010000, CRC(dccdb16b) SHA1(330cf39bcbdb9c73da48b4e947086a7988e37496) )
3477   ROM_LOAD16_BYTE( "088-2003.bin", 0x020001, 0x010000, CRC(132ef986) SHA1(106f1a23ac200a868959181fa1c47419806e8366) )
3478   ROM_LOAD16_BYTE( "088-2006.bin", 0x040000, 0x010000, CRC(de3a0c24) SHA1(1121b8a16ac11b2480f1c4336a5aa3271364f80e))
3479   ROM_LOAD16_BYTE( "088-2005.bin", 0x040001, 0x010000, CRC(96ad705f) SHA1(cc0bc7fdd2a5f91a5929b889607dcf7ad015bb95) )
3480   ROM_LOAD16_BYTE( "088-2008.bin", 0x060000, 0x010000, CRC(452d991c) SHA1(42dad0a93839a900c3571ce9e252e1c991a1da56) )
3481   ROM_LOAD16_BYTE( "088-2007.bin", 0x060001, 0x010000, CRC(d6f526d3) SHA1(8406917c91c1d3690379cb0bca5809d1db27abec) )
3482   ROM_LOAD16_BYTE( "088-2010.bin", 0x080000, 0x010000, CRC(775bca3d) SHA1(926b460faeb2aa46899432b3a9973381ffd7781d) )
3483   ROM_LOAD16_BYTE( "088-2009.bin", 0x080001, 0x010000, CRC(6aedccc5) SHA1(9189881802969ecdde2fd41a20ff6ea0471ce2c0) )
3484   ROM_LOAD16_BYTE( "088-2012.bin", 0x0a0000, 0x010000, CRC(bacf08c0) SHA1(2f7ddaf4ef350ee3e6ab886759d88c03aa94784b) )
3485   ROM_LOAD16_BYTE( "088-2011.bin", 0x0a0001, 0x010000, CRC(1e0c2f71) SHA1(bcdd9089442934df78109df7c0dcf170873cf992) )
3486   ROM_LOAD16_BYTE( "088-2014.bin", 0x0c0000, 0x010000, CRC(3512537c) SHA1(896975ef2685358bd98f7a9b45dda11e8bfa3a13) )
3487   ROM_LOAD16_BYTE( "088-2013.bin", 0x0c0001, 0x010000, CRC(8d7c4e80) SHA1(eda8d02e51b18234fc0912eaca8171d75ae643c7) )
3488   ROM_LOAD16_BYTE( "088-2016.bin", 0x0e0000, 0x010000, CRC(6a42b7e2) SHA1(2e0ff4b7e391106a976cb872f6311f6d35dca5b0) )
3489   ROM_LOAD16_BYTE( "088-2015.bin", 0x0e0001, 0x010000, CRC(334e2a3b) SHA1(a19bfa7652845b9453c722091c773819ba248569) )
3490
3491   ROM_REGION( 0x60000, "user1", 0 )      /* 384k for object ROM */
3492   ROM_LOAD16_BYTE( "088-1017.bin",  0x00000, 0x10000, CRC(d92251e8) SHA1(deeeec54c4a61c3adf62f6b1b910135559090ee5) )
3493   ROM_LOAD16_BYTE( "088-1018.bin",  0x00001, 0x10000, CRC(11a0a8f5) SHA1(d4ccc83fc99331d741bc9b8027ef20d72e3ad71a) )
3494   ROM_LOAD16_BYTE( "088-1019.bin",  0x20000, 0x10000, CRC(5bb00676) SHA1(cad1cea8e43f9590fc71c00fab4eff0d447f9296) ) // == 136091-0019.2k (strtdriv)
3495   ROM_LOAD16_BYTE( "088-1020.bin",  0x20001, 0x10000, CRC(311cef99) SHA1(9c466aabad7e80581e477253ec6f2fd245f9b9fd) ) // == 136091-0020.2r (strtdriv)
3496   ROM_LOAD16_BYTE( "088-1021.bin",  0x40000, 0x10000, CRC(ce8e4886) SHA1(d29cd4761deb80ed179d0e503243739eebc0edb4) )
3497   ROM_LOAD16_BYTE( "088-1022.bin",  0x40001, 0x10000, CRC(4f1e1c5d) SHA1(3e72813129cae9e9bf084bfb1b747aa46b92591e) )
3498
3499   /* ----------------------- */
3500
3501   ROM_REGION( 0x2000, "asic65", 0 )   /* ASIC65 TMS32015 code */
3502   ROM_LOAD( "136077-1027.30j", 0x00000, 0x02000, NO_DUMP )
3503
3504   /* ADSP board */
3505   ROM_REGION( 0x20000, "soundcpu", 0 )      /* 2*64k for audio 68000 code */
3506   ROM_LOAD16_BYTE( "rdps1032.bin", 0x000000, 0x010000, CRC(33005f2a) SHA1(e4037a76f122b271a9675d9187ab847a11738640) )
3507   ROM_LOAD16_BYTE( "rdps1033.bin", 0x000001, 0x010000, CRC(4fc800ac) SHA1(dd8cfdb727d6a65274f4f871a589a36796ae1e57) )
3508
3509   /* DSK board */
3510   ROM_REGION16_BE( 0x51000, "user3", 0 )   /* 256k for DSK ROMs + 64k for RAM + 4k for ZRAM */
3511   ROM_LOAD16_BYTE( "rdpd1026.bin", 0x000000, 0x020000, CRC(16572618) SHA1(08d9f7f76e6e75d5233240d4deab96808825994b) )
3512   ROM_LOAD16_BYTE( "rdpd1025.bin", 0x000001, 0x020000, CRC(57b8a266) SHA1(257246d42841aa30220caeb91945e29978ee8fc0) )
3513
3514   /* Audio ROMs - show up as bad in self-test but so do racedriv's */
3515   ROM_REGION( 0x50000, "serialroms", 0 )      /* 5*64k for audio serial ROMs */
3516   ROM_LOAD( "rdps1123.bin", 0x000000, 0x010000, CRC(a88411dc) SHA1(1fd53c7eadffa163d5423df2f8338757e58d5f2e) )
3517   ROM_LOAD( "rdps1124.bin", 0x010000, 0x010000, CRC(071a4309) SHA1(c623bd51d6a4a56503fbf138138854d6a30b11d6) )
3518   ROM_LOAD( "rdps3125.bin", 0x020000, 0x010000, CRC(856548ff) SHA1(e8a17b274185c5e4ecf5f9f1c211e18b3ef2456d) )
3519   ROM_LOAD( "rdps1126.bin", 0x030000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
3520   ROM_LOAD( "rdps1017.bin", 0x040000, 0x010000, CRC(f46ef09c) SHA1(ba62f73ee3b33d8f26b430ffa468f8792dca23de) )
3652   ROM_REGION( 0x1000, "eeprom", 0 )
3653   ROM_LOAD( "strtdriv-eeprom.bin", 0x0000, 0x1000, CRC(c71c0011) SHA1(1ceaf73df40e531df3bfb26b4fb7cd95fb7bff1d) )
35213654ROM_END
35223655
3523
35243656ROM_START( hdrivair )
35253657   ROM_REGION( 0x200000, "maincpu", 0 )      /* 2MB for 68000 code */
35263658   ROM_LOAD16_BYTE( "stesthi.bin", 0x000000, 0x20000, CRC(b4bfa451) SHA1(002a5d213ba8ec76ad83a87d76aefbd98b1e4c94) )
r9191r9192
35703702   ROM_LOAD16_BYTE( "ds3rom5.bin", 0x00000, 0x80000, CRC(8d0e9b27) SHA1(76556f48bdf14475260c268ebdb16ecb494b2f36) )
35713703   ROM_LOAD16_BYTE( "ds3rom6.bin", 0x00001, 0x80000, CRC(ce7edbae) SHA1(58e9d8379157bb69e323eb79332d644a32c70a6f) )
35723704   ROM_LOAD16_BYTE( "ds3rom7.bin", 0x00000, 0x80000, CRC(323eff0b) SHA1(5d4945d77191ee44b4fbf125bc0816217321829e) )
3705
3706   ROM_REGION( 0x1000, "eeprom", 0 )
3707   ROM_LOAD( "hdrivair-eeprom.bin", 0x0000, 0x1000, CRC(7828df8f) SHA1(4b62ceb1d3f4b8026d77a59118a9002aa006e98e) )
35733708ROM_END
35743709
35753710
r9191r9192
36223757   ROM_LOAD16_BYTE( "ds3rom.5",    0x00000, 0x80000, CRC(6ef9ed90) SHA1(8bd927a56fe99f7db96d203c1daeb8c8c83f2c17) )
36233758   ROM_LOAD16_BYTE( "ds3rom.6",    0x00001, 0x80000, CRC(cd4cd6bc) SHA1(95689ab7cb18af54ff09aebf223f6346f13dfd7b) )
36243759   ROM_LOAD16_BYTE( "ds3rom.7",    0x00000, 0x80000, CRC(3d695e1f) SHA1(4e5dd009ed11d299c546451141920dc1dc74a529) )
3760
3761   ROM_REGION( 0x1000, "eeprom", 0 )
3762   ROM_LOAD( "hdrivair-eeprom.bin", 0x0000, 0x1000, CRC(7828df8f) SHA1(4b62ceb1d3f4b8026d77a59118a9002aa006e98e) )
36253763ROM_END
36263764
36273765
r9191r9192
36323770 *
36333771 *************************************/
36343772
3635static const UINT16 default_eeprom[] =
3636{
3637   1,
3638   0xff00,0xff00,0xff00,0xff00,0xff00,0xff00,0xff00,0xff00,
3639   0x0800,0
3640};
3641
3642
36433773/* COMMON INIT: initialize the original "driver" main board */
36443774static void init_driver(running_machine *machine)
36453775{
36463776   harddriv_state *state = machine->driver_data<harddriv_state>();
36473777
3648   /* note that we're not multisync and set the default EEPROM data */
3778   /* note that we're not multisync */
36493779   state->gsp_multisync = FALSE;
3650   state->eeprom_default = default_eeprom;
36513780}
36523781
36533782
r9191r9192
36563785{
36573786   harddriv_state *state = machine->driver_data<harddriv_state>();
36583787
3659   /* note that we're multisync and set the default EEPROM data */
3788   /* note that we're multisync */
36603789   state->gsp_multisync = TRUE;
3661   state->eeprom_default = default_eeprom;
36623790
36633791   /* install handlers for the compact driving games' inputs */
36643792   if (compact_inputs)
r9191r9192
37143842   memory_install_write16_handler(cpu_get_address_space(state->maincpu, ADDRESS_SPACE_PROGRAM), 0x823800, 0x823fff, 0, 0, hd68k_ds3_control_w);
37153843
37163844   /* if we have a sound DSP, boot it */
3717   if (state->soundcpu != NULL && state->soundcpu->type() == ADSP2105)
3718      adsp2105_load_boot_data(state->soundcpu->region()->base() + 0x10000, &state->soundcpu->region()->u32());
3845   if (state->ds4cpu1 != NULL)
3846      state->ds4cpu1->load_boot_data(state->soundcpu->region()->base() + 0x10000, &state->soundcpu->region()->u32());
37193847
3720   if (state->sounddsp != NULL && state->sounddsp->type() == ADSP2105)
3721      adsp2105_load_boot_data(state->sounddsp->region()->base() + 0x10000, &state->sounddsp->region()->u32());
3848   if (state->ds4cpu2 != NULL)
3849      state->ds4cpu2->load_boot_data(state->sounddsp->region()->base() + 0x10000, &state->sounddsp->region()->u32());
37223850
37233851/*
37243852
r9191r9192
42044332GAME( 1990, racedriv4,  racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 4)", 0 )
42054333GAME( 1990, racedrivb4, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, British, rev 4)", 0 )
42064334GAME( 1990, racedrivg4, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, German, rev 4)", 0 )
4207GAME( 1990, racedriv3,  racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 3)", 0 )
4335GAME( 1990, racedriv3,  racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 3)", GAME_NOT_WORKING )
42084336GAME( 1990, racedriv2,  racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 2)", GAME_NOT_WORKING )
42094337GAME( 1990, racedriv1,  racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 1)", GAME_NOT_WORKING )
42104338GAME( 1990, racedrivb1, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, British, rev 1)", GAME_NOT_WORKING )
r9191r9192
42164344GAME( 1990, racedrivc4,  racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, rev 4)", 0 )
42174345GAME( 1990, racedrivcb4, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, British, rev 4)", 0 )
42184346GAME( 1990, racedrivcg4, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, German, rev 4)", 0 )
4219GAME( 1990, racedrivc2,  racedriv, racedrivc, racedrivc, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 2)", 0 )
4220GAME( 1990, racedrivc1,  racedriv, racedrivc, racedrivc, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 1)", 0 )
4347GAME( 1990, racedrivc2,  racedriv, racedrivc, racedrivc, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 2)", GAME_NOT_WORKING )
4348GAME( 1990, racedrivc1,  racedriv, racedrivc, racedrivc, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 1)", GAME_NOT_WORKING )
42214349
42224350GAME( 1990, racedrivpan, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' Panorama (prototype, rev 2.1)", GAME_NOT_WORKING )
42234351
src/mame/drivers/spoker.c
r9191r9192
1212#include "cpu/z180/z180.h"
1313#include "sound/2413intf.h"
1414#include "sound/okim6295.h"
15#include "machine/nvram.h"
1516
1617
1718/***************************************************************************
1819                                Video Hardware
1920***************************************************************************/
2021
21class spoker_state : public driver_data_t
22class spoker_state : public driver_device
2223{
2324public:
24   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, spoker_state(machine)); }
25   spoker_state(running_machine &machine, const driver_device_config_base &config)
26      : driver_device(machine, config) { }
2527
26   spoker_state(running_machine &machine)
27      : driver_data_t(machine) { }
28
2928   UINT8   *bg_tile_ram;
3029   tilemap_t *bg_tilemap;
3130
r9191r9192
214213
215214static ADDRESS_MAP_START( spoker_map, ADDRESS_SPACE_PROGRAM, 8 )
216215   AM_RANGE( 0x00000, 0x0f3ff ) AM_ROM
217   AM_RANGE( 0x0f400, 0x0ffff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
216   AM_RANGE( 0x0f400, 0x0ffff ) AM_RAM AM_SHARE("nvram")
218217ADDRESS_MAP_END
219218
220219static ADDRESS_MAP_START( spoker_portmap, ADDRESS_SPACE_IO, 8 )
r9191r9192
238237
239238   AM_RANGE( 0x64b0, 0x64b1 ) AM_DEVWRITE( "ymsnd", ym2413_w )
240239
241   AM_RANGE( 0x64c0, 0x64c0 ) AM_DEVREADWRITE( "oki", okim6295_r, okim6295_w )
240   AM_RANGE( 0x64c0, 0x64c0 ) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
242241
243242   AM_RANGE( 0x64d0, 0x64d1 ) AM_READWRITE( spoker_magic_r, spoker_magic_w )   // DSW1-5
244243
r9191r9192
386385      cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
387386}
388387
389static MACHINE_DRIVER_START( spoker )
388static MACHINE_CONFIG_START( spoker, spoker_state )
390389
391   MDRV_DRIVER_DATA( spoker_state )
392
393390   /* basic machine hardware */
394391   MDRV_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2)   /* HD64180RP8, 8 MHz? */
395392   MDRV_CPU_PROGRAM_MAP(spoker_map)
r9191r9192
398395
399396   MDRV_MACHINE_RESET(spoker)
400397
401   MDRV_NVRAM_HANDLER(generic_0fill)
398   MDRV_NVRAM_ADD_0FILL("nvram")
402399
403400   /* video hardware */
404401   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
421418
422419   MDRV_OKIM6295_ADD("oki", XTAL_12MHz / 12, OKIM6295_PIN7_HIGH)
423420   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
424MACHINE_DRIVER_END
421MACHINE_CONFIG_END
425422
426423
427424static DRIVER_INIT( spk116it )
src/mame/drivers/srmp2.c
r9191r9192
5858#include "sound/ay8910.h"
5959#include "sound/msm5205.h"
6060#include "includes/srmp2.h"
61#include "machine/nvram.h"
6162
6263
6364/***************************************************************************
r9191r9192
365366
366367static ADDRESS_MAP_START( srmp2_map, ADDRESS_SPACE_PROGRAM, 16 )
367368   AM_RANGE(0x000000, 0x03ffff) AM_ROM
368   AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
369   AM_RANGE(0x0c0000, 0x0c3fff) AM_RAM AM_SHARE("nvram")
369370   AM_RANGE(0x140000, 0x143fff) AM_RAM AM_BASE_MEMBER(srmp2_state,spriteram2.u16)      /* Sprites Code + X + Attr */
370371   AM_RANGE(0x180000, 0x180609) AM_RAM AM_BASE_MEMBER(srmp2_state,spriteram1.u16)      /* Sprites Y */
371372   AM_RANGE(0x1c0000, 0x1c0001) AM_WRITENOP                  /* ??? */
r9191r9192
408409   AM_RANGE(0xd00000, 0xd00609) AM_RAM AM_BASE_MEMBER(srmp2_state,spriteram1.u16)   /* Sprites Y */
409410   AM_RANGE(0xd02000, 0xd023ff) AM_RAM                     /* ??? only writes $00fa */
410411   AM_RANGE(0xe00000, 0xe03fff) AM_RAM AM_BASE_MEMBER(srmp2_state,spriteram2.u16)   /* Sprites Code + X + Attr */
411   AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
412   AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_SHARE("nvram")
412413ADDRESS_MAP_END
413414
414415
r9191r9192
526527static ADDRESS_MAP_START( srmp3_map, ADDRESS_SPACE_PROGRAM, 8 )
527528   AM_RANGE(0x0000, 0x7fff) AM_ROM
528529   AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("bank1")                     /* rom bank */
529   AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   /* work ram */
530   AM_RANGE(0xa000, 0xa7ff) AM_RAM AM_SHARE("nvram")   /* work ram */
530531   AM_RANGE(0xa800, 0xa800) AM_WRITENOP                     /* flag ? */
531532   AM_RANGE(0xb000, 0xb303) AM_RAM AM_BASE_MEMBER(srmp2_state,spriteram1.u8)            /* Sprites Y */
532533   AM_RANGE(0xb800, 0xb800) AM_WRITENOP                     /* flag ? */
r9191r9192
10071008GFXDECODE_END
10081009
10091010
1010static MACHINE_DRIVER_START( srmp2 )
1011static MACHINE_CONFIG_START( srmp2, srmp2_state )
10111012
1012   MDRV_DRIVER_DATA(srmp2_state)
1013
10141013   /* basic machine hardware */
10151014   MDRV_CPU_ADD("maincpu", M68000,16000000/2)            /* 8.00 MHz */
10161015   MDRV_CPU_PROGRAM_MAP(srmp2_map)
10171016   MDRV_CPU_VBLANK_INT_HACK(srmp2_interrupt,16)      /* Interrupt times is not understood */
10181017
10191018   MDRV_MACHINE_RESET(srmp2)
1020   MDRV_NVRAM_HANDLER(generic_0fill)
1019   MDRV_NVRAM_ADD_0FILL("nvram")
10211020
10221021   /* video hardware */
10231022   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
10431042   MDRV_SOUND_ADD("msm", MSM5205, 384000)
10441043   MDRV_SOUND_CONFIG(msm5205_config)
10451044   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
1046MACHINE_DRIVER_END
1045MACHINE_CONFIG_END
10471046
10481047
1049static MACHINE_DRIVER_START( srmp3 )
1048static MACHINE_CONFIG_START( srmp3, srmp2_state )
10501049
1051   MDRV_DRIVER_DATA(srmp2_state)
1052
10531050   /* basic machine hardware */
10541051
10551052   MDRV_CPU_ADD("maincpu", Z80, 3500000)      /* 3.50 MHz ? */
r9191r9192
10591056   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
10601057
10611058   MDRV_MACHINE_RESET(srmp3)
1062   MDRV_NVRAM_HANDLER(generic_0fill)
1059   MDRV_NVRAM_ADD_0FILL("nvram")
10631060
10641061   /* video hardware */
10651062   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
10851082   MDRV_SOUND_ADD("msm", MSM5205, 384000)
10861083   MDRV_SOUND_CONFIG(msm5205_config)
10871084   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
1088MACHINE_DRIVER_END
1085MACHINE_CONFIG_END
10891086
10901087
1091static MACHINE_DRIVER_START( mjyuugi )
1088static MACHINE_CONFIG_START( mjyuugi, srmp2_state )
10921089
1093   MDRV_DRIVER_DATA(srmp2_state)
1094
10951090   /* basic machine hardware */
10961091   MDRV_CPU_ADD("maincpu", M68000,16000000/2)            /* 8.00 MHz */
10971092   MDRV_CPU_PROGRAM_MAP(mjyuugi_map)
10981093   MDRV_CPU_VBLANK_INT_HACK(srmp2_interrupt,16)      /* Interrupt times is not understood */
10991094
11001095   MDRV_MACHINE_RESET(srmp2)
1101   MDRV_NVRAM_HANDLER(generic_0fill)
1096   MDRV_NVRAM_ADD_0FILL("nvram")
11021097
11031098   /* video hardware */
11041099   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
11231118   MDRV_SOUND_ADD("msm", MSM5205, 384000)
11241119   MDRV_SOUND_CONFIG(msm5205_config)
11251120   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
1126MACHINE_DRIVER_END
1121MACHINE_CONFIG_END
11271122
11281123
11291124
src/mame/drivers/ohmygod.c
r9191r9192
5555   AM_RANGE(0x900000, 0x900001) AM_WRITE(ohmygod_ctrl_w)
5656   AM_RANGE(0xa00000, 0xa00001) AM_READ_PORT("DSW1")
5757   AM_RANGE(0xa00002, 0xa00003) AM_READ_PORT("DSW2")
58   AM_RANGE(0xb00000, 0xb00001) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff)
58   AM_RANGE(0xb00000, 0xb00001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
5959   AM_RANGE(0xc00000, 0xc00001) AM_READ(watchdog_reset16_r)
6060   AM_RANGE(0xd00000, 0xd00001) AM_WRITE(ohmygod_spritebank_w)
6161ADDRESS_MAP_END
r9191r9192
317317   state->scrolly = 0;
318318}
319319
320static MACHINE_DRIVER_START( ohmygod )
320static MACHINE_CONFIG_START( ohmygod, ohmygod_state )
321321
322   /* driver data */
323   MDRV_DRIVER_DATA(ohmygod_state)
324
325322   /* basic machine hardware */
326323   MDRV_CPU_ADD("maincpu", M68000, 12000000)
327324   MDRV_CPU_PROGRAM_MAP(ohmygod_map)
r9191r9192
351348
352349   MDRV_OKIM6295_ADD("oki", 14000000/8, OKIM6295_PIN7_HIGH)
353350   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
354MACHINE_DRIVER_END
351MACHINE_CONFIG_END
355352
356353
357354/***************************************************************************
src/mame/drivers/snk68.c
r9191r9192
590590
591591/******************************************************************************/
592592
593static MACHINE_DRIVER_START( pow )
593static MACHINE_CONFIG_START( pow, snk68_state )
594594
595   MDRV_DRIVER_DATA( snk68_state )
596
597595   /* basic machine hardware */
598596   MDRV_CPU_ADD("maincpu", M68000, XTAL_18MHz/2) /* verified on pcb */
599597   MDRV_CPU_PROGRAM_MAP(pow_map)
r9191r9192
626624
627625   MDRV_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
628626   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
629MACHINE_DRIVER_END
627MACHINE_CONFIG_END
630628
631629
632static MACHINE_DRIVER_START( searchar )
630static MACHINE_CONFIG_DERIVED( searchar, pow )
633631
634   MDRV_IMPORT_FROM(pow)
635
636632   MDRV_CPU_MODIFY("maincpu")
637633   MDRV_CPU_PROGRAM_MAP(searchar_map)
638634
639635   MDRV_VIDEO_START(searchar)
640MACHINE_DRIVER_END
636MACHINE_CONFIG_END
641637
642638
643639/******************************************************************************/
src/mame/drivers/madalien.c
r9191r9192
172172};
173173
174174
175static MACHINE_DRIVER_START( madalien )
175static MACHINE_CONFIG_START( madalien, driver_device )
176176
177177   /* main CPU */
178178   MDRV_CPU_ADD("maincpu", M6502, MADALIEN_MAIN_CLOCK / 8)    /* 1324kHz */
r9191r9192
183183   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
184184
185185   /* video hardware */
186   MDRV_IMPORT_FROM(madalien_video)
186   MDRV_FRAGMENT_ADD(madalien_video)
187187
188188   /* audio hardware */
189189   MDRV_SPEAKER_STANDARD_MONO("mono")
r9191r9192
198198   MDRV_SOUND_CONFIG_DISCRETE(madalien)
199199
200200   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
201MACHINE_DRIVER_END
201MACHINE_CONFIG_END
202202
203203
204204ROM_START( madalien )
src/mame/drivers/aeroboto.c
r9191r9192
252252   state->sy = 0;
253253}
254254
255static MACHINE_DRIVER_START( formatz )
255static MACHINE_CONFIG_START( formatz, aeroboto_state )
256256
257   /* driver data */
258   MDRV_DRIVER_DATA(aeroboto_state)
259
260257   /* basic machine hardware */
261258   MDRV_CPU_ADD("maincpu", M6809, XTAL_10MHz/8) /* verified on pcb */
262259   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
294291
295292   MDRV_SOUND_ADD("ay2", AY8910, XTAL_10MHz/16) /* verified on pcb */
296293   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
297MACHINE_DRIVER_END
294MACHINE_CONFIG_END
298295
299296
300297
src/mame/drivers/konamigv.c
r9191r9192
132132static UINT16 btc_trackball_prev[ 4 ];
133133static UINT32 btc_trackball_data[ 4 ];
134134
135static fujitsu_29f016a_device *flash8[4];
136static sharp_lh28f400_device *flash16[4];
137
135138/* EEPROM handlers */
136139
137140static WRITE32_DEVICE_HANDLER( eeprom_w )
r9191r9192
327330   psx_dma_install_write_handler
328331};
329332
330static MACHINE_DRIVER_START( konamigv )
333static MACHINE_CONFIG_START( konamigv, driver_device )
331334   /* basic machine hardware */
332335   MDRV_CPU_ADD("maincpu",  PSXCPU, XTAL_67_7376MHz )
333336   MDRV_CPU_PROGRAM_MAP( konamigv_map)
r9191r9192
363366   MDRV_SOUND_ADD( "cdda", CDDA, 0 )
364367   MDRV_SOUND_ROUTE( 0, "lspeaker", 1.0 )
365368   MDRV_SOUND_ROUTE( 1, "rspeaker", 1.0 )
366MACHINE_DRIVER_END
369MACHINE_CONFIG_END
367370
371
368372static INPUT_PORTS_START( konamigv )
369373   PORT_START("P1")
370374   PORT_BIT( 0x00000001, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
r9191r9192
426430
427431/* Simpsons Bowling */
428432
429static NVRAM_HANDLER( simpbowl )
430{
431   nvram_handler_intelflash( machine, 0, file, read_or_write );
432   nvram_handler_intelflash( machine, 1, file, read_or_write );
433   nvram_handler_intelflash( machine, 2, file, read_or_write );
434   nvram_handler_intelflash( machine, 3, file, read_or_write );
435}
436
437433static READ32_HANDLER( flash_r )
438434{
439435   int reg = offset*2;
r9191r9192
455451      int chip = (flash_address >= 0x200000) ? 2 : 0;
456452      int ret;
457453
458      ret = intelflash_read(chip, flash_address & 0x1fffff) & 0xff;
459      ret |= intelflash_read(chip+1, flash_address & 0x1fffff)<<8;
454      ret = flash8[chip]->read(flash_address & 0x1fffff) & 0xff;
455      ret |= flash8[chip+1]->read(flash_address & 0x1fffff)<<8;
460456      flash_address++;
461457
462458      return ret;
r9191r9192
479475   {
480476      case 0:
481477         chip = (flash_address >= 0x200000) ? 2 : 0;
482         intelflash_write(chip, flash_address & 0x1fffff, data&0xff);
483         intelflash_write(chip+1, flash_address & 0x1fffff, (data>>8)&0xff);
478         flash8[chip]->write(flash_address & 0x1fffff, data&0xff);
479         flash8[chip+1]->write(flash_address & 0x1fffff, (data>>8)&0xff);
484480         break;
485481
486482      case 1:
r9191r9192
525521
526522static DRIVER_INIT( simpbowl )
527523{
528   intelflash_init( machine, 0, FLASH_FUJITSU_29F016A, NULL );
529   intelflash_init( machine, 1, FLASH_FUJITSU_29F016A, NULL );
530   intelflash_init( machine, 2, FLASH_FUJITSU_29F016A, NULL );
531   intelflash_init( machine, 3, FLASH_FUJITSU_29F016A, NULL );
524   flash8[0] = machine->device<fujitsu_29f016a_device>("flash0");
525   flash8[1] = machine->device<fujitsu_29f016a_device>("flash1");
526   flash8[2] = machine->device<fujitsu_29f016a_device>("flash2");
527   flash8[3] = machine->device<fujitsu_29f016a_device>("flash3");
532528
533529   memory_install_readwrite32_handler( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f680080, 0x1f68008f, 0, 0, flash_r, flash_w );
534530   memory_install_read32_handler     ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f6800c0, 0x1f6800c7, 0, 0, trackball_r );
r9191r9192
537533   DRIVER_INIT_CALL(konamigv);
538534}
539535
540static MACHINE_DRIVER_START( simpbowl )
541   MDRV_IMPORT_FROM( konamigv )
542   MDRV_NVRAM_HANDLER( simpbowl )
543MACHINE_DRIVER_END
536static MACHINE_CONFIG_DERIVED( simpbowl, konamigv )
537   MDRV_FUJITSU_29F016A_ADD("flash0")
538   MDRV_FUJITSU_29F016A_ADD("flash1")
539   MDRV_FUJITSU_29F016A_ADD("flash2")
540   MDRV_FUJITSU_29F016A_ADD("flash3")
541MACHINE_CONFIG_END
544542
545543static INPUT_PORTS_START( simpbowl )
546544   PORT_INCLUDE( konamigv )
r9191r9192
559557{
560558   if (mem_mask == 0x0000ffff)
561559   {
562      return intelflash_read(0, offset*2);
560      return flash16[0]->read(offset*2);
563561   }
564562   else if (mem_mask == 0xffff0000)
565563   {
566      return intelflash_read(0, (offset*2)+1)<<16;
564      return flash16[0]->read((offset*2)+1)<<16;
567565   }
568566
569567   return 0;
r9191r9192
573571{
574572   if (mem_mask == 0x0000ffff)
575573   {
576      intelflash_write(0, offset*2, data&0xffff);
574      flash16[0]->write(offset*2, data&0xffff);
577575   }
578576   else if (mem_mask == 0xffff0000)
579577   {
580      intelflash_write(0, (offset*2)+1, (data>>16)&0xffff);
578      flash16[0]->write((offset*2)+1, (data>>16)&0xffff);
581579   }
582580}
583581
r9191r9192
608606//  mame_printf_debug( "w %08x %08x %08x %08x\n", cpu_get_pc(space->cpu), offset, data, mem_mask );
609607}
610608
611static NVRAM_HANDLER( btchamp )
612{
613   nvram_handler_intelflash( machine, 0, file, read_or_write );
614}
615
616609static DRIVER_INIT( btchamp )
617610{
618   intelflash_init( machine, 0, FLASH_SHARP_LH28F400, NULL );
611   flash16[0] = machine->device<sharp_lh28f400_device>("flash");
619612
620613   memory_install_readwrite32_handler( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f680080, 0x1f68008f, 0, 0, btc_trackball_r, btc_trackball_w );
621614   memory_nop_write                  ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f6800e0, 0x1f6800e3, 0, 0 );
r9191r9192
624617   DRIVER_INIT_CALL(konamigv);
625618}
626619
627static MACHINE_DRIVER_START( btchamp )
628   MDRV_IMPORT_FROM( konamigv )
629   MDRV_NVRAM_HANDLER( btchamp )
630MACHINE_DRIVER_END
620static MACHINE_CONFIG_DERIVED( btchamp, konamigv )
621   MDRV_SHARP_LH28F400_ADD("flash")
622MACHINE_CONFIG_END
631623
632624static INPUT_PORTS_START( btchamp )
633625   PORT_INCLUDE( konamigv )
r9191r9192
702694
703695static DRIVER_INIT( kdeadeye )
704696{
705   intelflash_init( machine, 0, FLASH_SHARP_LH28F400, NULL );
697   flash16[0] = machine->device<sharp_lh28f400_device>("flash");
706698
707699   memory_install_read_port  ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f680080, 0x1f680083, 0, 0, "GUNX1" );
708700   memory_install_read_port  ( cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x1f680090, 0x1f680093, 0, 0, "GUNY1" );
r9191r9192
715707   DRIVER_INIT_CALL(konamigv);
716708}
717709
718static MACHINE_DRIVER_START( kdeadeye )
719   MDRV_IMPORT_FROM( konamigv )
720   MDRV_NVRAM_HANDLER( btchamp )
721MACHINE_DRIVER_END
710static MACHINE_CONFIG_DERIVED( kdeadeye, konamigv )
711   MDRV_SHARP_LH28F400_ADD("flash")
712MACHINE_CONFIG_END
722713
723714static INPUT_PORTS_START( kdeadeye )
724715   PORT_INCLUDE( konamigv )
src/mame/drivers/firetrap.c
r9191r9192
672672   state->coin_command_pending = 0;
673673}
674674
675static MACHINE_DRIVER_START( firetrap )
675static MACHINE_CONFIG_START( firetrap, firetrap_state )
676676
677   /* driver data */
678   MDRV_DRIVER_DATA(firetrap_state)
679
680677   /* basic machine hardware */
681678   MDRV_CPU_ADD("maincpu", Z80, FIRETRAP_XTAL/2)      // 6 MHz
682679   MDRV_CPU_PROGRAM_MAP(firetrap_map)
r9191r9192
714711   MDRV_SOUND_ADD("msm", MSM5205, FIRETRAP_XTAL/32)   // 375 kHz
715712   MDRV_SOUND_CONFIG(msm5205_config)
716713   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
717MACHINE_DRIVER_END
714MACHINE_CONFIG_END
718715
719static MACHINE_DRIVER_START( firetrapbl )
716static MACHINE_CONFIG_START( firetrapbl, firetrap_state )
720717
721   /* driver data */
722   MDRV_DRIVER_DATA(firetrap_state)
723
724718   /* basic machine hardware */
725719   MDRV_CPU_ADD("maincpu", Z80, FIRETRAP_XTAL/2)      // 6 MHz
726720   MDRV_CPU_PROGRAM_MAP(firetrap_bootleg_map)
r9191r9192
758752   MDRV_SOUND_ADD("msm", MSM5205, FIRETRAP_XTAL/32)   // 375 kHz
759753   MDRV_SOUND_CONFIG(msm5205_config)
760754   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
761MACHINE_DRIVER_END
755MACHINE_CONFIG_END
762756
763757
764758
src/mame/drivers/thedeep.c
r9191r9192
349349   }
350350}
351351
352static MACHINE_DRIVER_START( thedeep )
352static MACHINE_CONFIG_START( thedeep, driver_device )
353353
354354   /* basic machine hardware */
355355   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2)      /* verified on pcb */
r9191r9192
385385   MDRV_SOUND_ADD("ymsnd", YM2203, XTAL_12MHz/4)  /* verified on pcb */
386386   MDRV_SOUND_CONFIG(thedeep_ym2203_intf)
387387   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
388MACHINE_DRIVER_END
388MACHINE_CONFIG_END
389389
390390
391391
src/mame/drivers/oneshot.c
r9191r9192
130130   AM_RANGE(0x8000, 0x8000) AM_READWRITE(soundlatch_r,soundlatch_w)
131131   AM_RANGE(0x8001, 0x87ff) AM_RAM
132132   AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("ymsnd", ym3812_r,ym3812_w)
133   AM_RANGE(0xe010, 0xe010) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
133   AM_RANGE(0xe010, 0xe010) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
134134ADDRESS_MAP_END
135135
136136
r9191r9192
370370   state->p2_wobble = 0;
371371}
372372
373static MACHINE_DRIVER_START( oneshot )
373static MACHINE_CONFIG_START( oneshot, oneshot_state )
374374
375   /* driver data */
376   MDRV_DRIVER_DATA(oneshot_state)
377
378375   /* basic machine hardware */
379376   MDRV_CPU_ADD("maincpu", M68000, 12000000)
380377   MDRV_CPU_PROGRAM_MAP(oneshot_map)
r9191r9192
408405
409406   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
410407   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
411MACHINE_DRIVER_END
408MACHINE_CONFIG_END
412409
413static MACHINE_DRIVER_START( maddonna )
410static MACHINE_CONFIG_DERIVED( maddonna, oneshot )
414411
415412   /* basic machine hardware */
416   MDRV_IMPORT_FROM(oneshot)
417413
418414   /* video hardware */
419415   MDRV_VIDEO_UPDATE(maddonna) // no crosshair
420MACHINE_DRIVER_END
416MACHINE_CONFIG_END
421417
422418
423419ROM_START( oneshot )
src/mame/drivers/stlforce.c
r9191r9192
109109   AM_RANGE(0x400010, 0x400011) AM_DEVWRITE("eeprom", eeprom_w)
110110   AM_RANGE(0x400012, 0x400013) AM_DEVWRITE("oki", oki_bank_w)
111111   AM_RANGE(0x40001e, 0x40001f) AM_WRITENOP // sprites buffer commands
112   AM_RANGE(0x410000, 0x410001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
112   AM_RANGE(0x410000, 0x410001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
113113ADDRESS_MAP_END
114114
115115static INPUT_PORTS_START( stlforce )
r9191r9192
183183GFXDECODE_END
184184
185185
186static MACHINE_DRIVER_START( stlforce )
186static MACHINE_CONFIG_START( stlforce, stlforce_state )
187187
188   MDRV_DRIVER_DATA( stlforce_state )
189
190188   /* basic machine hardware */
191189   MDRV_CPU_ADD("maincpu", M68000, 15000000)
192190   MDRV_CPU_PROGRAM_MAP(stlforce_map)
r9191r9192
213211
214212   MDRV_OKIM6295_ADD("oki", 937500 , OKIM6295_PIN7_HIGH)
215213   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
216MACHINE_DRIVER_END
214MACHINE_CONFIG_END
217215
218static MACHINE_DRIVER_START( twinbrat )
216static MACHINE_CONFIG_DERIVED( twinbrat, stlforce )
217
219218   /* basic machine hardware */
220   MDRV_IMPORT_FROM(stlforce)
221219   MDRV_CPU_MODIFY("maincpu")
222220   MDRV_CPU_CLOCK(14745600)
223221
224222   MDRV_SCREEN_MODIFY("screen")
225223   MDRV_SCREEN_VISIBLE_AREA(3*8, 45*8-1, 0*8, 30*8-1)
226MACHINE_DRIVER_END
224MACHINE_CONFIG_END
227225
228226ROM_START( stlforce )
229227   ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */
src/mame/drivers/zr107.c
r9191r9192
709709   cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
710710}
711711
712static MACHINE_DRIVER_START( zr107 )
712static MACHINE_CONFIG_START( zr107, driver_device )
713713
714714   /* basic machine hardware */
715715   MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2)   /* PowerPC 403GA 32MHz */
r9191r9192
760760   MDRV_SOUND_ROUTE(1, "rspeaker", 0.75)
761761
762762   MDRV_ADC0838_ADD("adc0838", zr107_adc_interface)
763MACHINE_DRIVER_END
763MACHINE_CONFIG_END
764764
765765
766766static const k001604_interface jetwave_k001604_intf =
r9191r9192
770770   0      /* slrasslt hack */
771771};
772772
773static MACHINE_DRIVER_START( jetwave )
773static MACHINE_CONFIG_START( jetwave, driver_device )
774774
775775   /* basic machine hardware */
776776   MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2)   /* PowerPC 403GA 32MHz */
r9191r9192
821821   MDRV_SOUND_ROUTE(1, "rspeaker", 0.75)
822822
823823   MDRV_ADC0838_ADD("adc0838", zr107_adc_interface)
824MACHINE_DRIVER_END
824MACHINE_CONFIG_END
825825
826826/*****************************************************************************/
827827
src/mame/drivers/dominob.c
r9191r9192
6464#include "cpu/z80/z80.h"
6565#include "sound/ay8910.h"
6666
67class dominob_state : public driver_data_t
67class dominob_state : public driver_device
6868{
6969public:
70   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dominob_state(machine)); }
70   dominob_state(running_machine &machine, const driver_device_config_base &config)
71      : driver_device(machine, config) { }
7172
72   dominob_state(running_machine &machine)
73      : driver_data_t(machine) { }
74
7573   /* memory pointers */
7674   UINT8 *  spriteram;
7775   UINT8 *  videoram;
r9191r9192
290288};
291289
292290
293static MACHINE_DRIVER_START( dominob )
291static MACHINE_CONFIG_START( dominob, dominob_state )
294292
295   /* driver data */
296   MDRV_DRIVER_DATA(dominob_state)
297
298293   /* basic machine hardware */
299294   MDRV_CPU_ADD("maincpu", Z80,XTAL_12MHz/2)
300295   MDRV_CPU_PROGRAM_MAP(memmap)
r9191r9192
320315   MDRV_SOUND_ADD("aysnd", AY8910, XTAL_12MHz/4)
321316   MDRV_SOUND_CONFIG(ay8910_config)
322317   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
323MACHINE_DRIVER_END
318MACHINE_CONFIG_END
324319
325320/***************************************************************************
326321
src/mame/drivers/ksys573.c
r9191r9192
365365   }
366366}
367367
368static INT32 flash_bank;
369static int flash_chips;
370static int onboard_flash_start;
371static int pccard1_flash_start;
372static int pccard2_flash_start;
373static int pccard3_flash_start;
374static int pccard4_flash_start;
368static int flash_bank;
369static fujitsu_29f016a_device *flash_device[5][16];
375370static int security_cart_number = 0;
376371
377372static int chiptype[ 2 ];
r9191r9192
386381
387382static NVRAM_HANDLER( konami573 )
388383{
389   int i;
390
391384   if( nvram_handler_security_cart_0 != NULL )
392385   {
393386      NVRAM_HANDLER_CALL(security_cart_0);
r9191r9192
397390   {
398391      NVRAM_HANDLER_CALL(security_cart_1);
399392   }
400
401   for( i = 0; i < flash_chips; i++ )
402   {
403      nvram_handler_intelflash( machine, i, file, read_or_write );
404   }
405393}
406394
407395static WRITE32_HANDLER( mb89371_w )
r9191r9192
442430      break;
443431   }
444432
445   if( pccard1_flash_start < 0 )
433   if( flash_device[1][0] == NULL )
446434   {
447435      data |= ( 1 << 26 );
448436   }
449   if( pccard2_flash_start < 0 )
437   if( flash_device[2][0] == NULL )
450438   {
451439      data |= ( 1 << 27 );
452440   }
r9191r9192
481469      break;
482470   }
483471
484   if( onboard_flash_start >= 0 && ( control & ~0x43 ) == 0x00 )
472   if( flash_device[0][0] != NULL && ( control & ~0x43 ) == 0x00 )
485473   {
486      flash_bank = onboard_flash_start + ( ( control & 3 ) * 2 );
474      flash_bank = (0 << 8) + ( ( control & 3 ) * 2 );
487475//      if( flash_bank != old_bank ) mame_printf_debug( "onboard %d\r", control & 3 );
488476   }
489   else if( pccard1_flash_start >= 0 && ( control & ~0x47 ) == 0x10 )
477   else if( flash_device[1][0] != NULL && ( control & ~0x47 ) == 0x10 )
490478   {
491      flash_bank = pccard1_flash_start + ( ( control & 7 ) * 2 );
479      flash_bank = (1 << 8) + ( ( control & 7 ) * 2 );
492480//      if( flash_bank != old_bank ) mame_printf_debug( "pccard1 %d\r", control & 7 );
493481   }
494   else if( pccard2_flash_start >= 0 && ( control & ~0x47 ) == 0x20 )
482   else if( flash_device[2][0] != NULL && ( control & ~0x47 ) == 0x20 )
495483   {
496      flash_bank = pccard2_flash_start + ( ( control & 7 ) * 2 );
484      flash_bank = (2 << 8) + ( ( control & 7 ) * 2 );
497485//      if( flash_bank != old_bank ) mame_printf_debug( "pccard2 %d\r", control & 7 );
498486   }
499   else if( pccard3_flash_start >= 0 && ( control & ~0x47 ) == 0x20 )
487   else if( flash_device[3][0] != NULL && ( control & ~0x47 ) == 0x20 )
500488   {
501      flash_bank = pccard3_flash_start + ( ( control & 7 ) * 2 );
489      flash_bank = (3 << 8) + ( ( control & 7 ) * 2 );
502490//      if( flash_bank != old_bank ) mame_printf_debug( "pccard3 %d\r", control & 7 );
503491   }
504   else if( pccard4_flash_start >= 0 && ( control & ~0x47 ) == 0x28 )
492   else if( flash_device[4][0] != NULL && ( control & ~0x47 ) == 0x28 )
505493   {
506      flash_bank = pccard4_flash_start + ( ( control & 7 ) * 2 );
494      flash_bank = (4 << 8) + ( ( control & 7 ) * 2 );
507495//      if( flash_bank != old_bank ) mame_printf_debug( "pccard4 %d\r", control & 7 );
508496   }
509497}
r9191r9192
11281116   }
11291117   else
11301118   {
1119      fujitsu_29f016a_device **flash_base = &flash_device[flash_bank >> 8][flash_bank & 0xff];
11311120      int adr = offset * 2;
11321121
11331122      if( ACCESSING_BITS_0_7 )
11341123      {
1135         data |= ( intelflash_read( flash_bank + 0, adr + 0 ) & 0xff ) << 0; // 31m/31l/31j/31h
1124         data |= ( flash_base[0]->read( adr + 0 ) & 0xff ) << 0; // 31m/31l/31j/31h
11361125      }
11371126      if( ACCESSING_BITS_8_15 )
11381127      {
1139         data |= ( intelflash_read( flash_bank + 1, adr + 0 ) & 0xff ) << 8; // 27m/27l/27j/27h
1128         data |= ( flash_base[1]->read( adr + 0 ) & 0xff ) << 8; // 27m/27l/27j/27h
11401129      }
11411130      if( ACCESSING_BITS_16_23 )
11421131      {
1143         data |= ( intelflash_read( flash_bank + 0, adr + 1 ) & 0xff ) << 16; // 31m/31l/31j/31h
1132         data |= ( flash_base[0]->read( adr + 1 ) & 0xff ) << 16; // 31m/31l/31j/31h
11441133      }
11451134      if( ACCESSING_BITS_24_31 )
11461135      {
1147         data |= ( intelflash_read( flash_bank + 1, adr + 1 ) & 0xff ) << 24; // 27m/27l/27j/27h
1136         data |= ( flash_base[1]->read( adr + 1 ) & 0xff ) << 24; // 27m/27l/27j/27h
11481137      }
11491138   }
11501139
r9191r9192
11631152   }
11641153   else
11651154   {
1155      fujitsu_29f016a_device **flash_base = &flash_device[flash_bank >> 8][flash_bank & 0xff];
11661156      int adr = offset * 2;
11671157
11681158      if( ACCESSING_BITS_0_7 )
11691159      {
1170         intelflash_write( flash_bank + 0, adr + 0, ( data >> 0 ) & 0xff );
1160         flash_base[0]->write( adr + 0, ( data >> 0 ) & 0xff );
11711161      }
11721162      if( ACCESSING_BITS_8_15 )
11731163      {
1174         intelflash_write( flash_bank + 1, adr + 0, ( data >> 8 ) & 0xff );
1164         flash_base[1]->write( adr + 0, ( data >> 8 ) & 0xff );
11751165      }
11761166      if( ACCESSING_BITS_16_23 )
11771167      {
1178         intelflash_write( flash_bank + 0, adr + 1, ( data >> 16 ) & 0xff );
1168         flash_base[0]->write( adr + 1, ( data >> 16 ) & 0xff );
11791169      }
11801170      if( ACCESSING_BITS_24_31 )
11811171      {
1182         intelflash_write( flash_bank + 1, adr + 1, ( data >> 24 ) & 0xff );
1172         flash_base[1]->write( adr + 1, ( data >> 24 ) & 0xff );
11831173      }
11841174   }
11851175}
r9191r9192
14061396
14071397static void flash_init( running_machine *machine )
14081398{
1409   int i;
1410   int chip;
1411   int size;
1412   UINT8 *data;
1413   static const struct
1414   {
1415      int *start;
1416      const char *rgntag;
1417      int chips;
1418      int type;
1419      int size;
1420   }
1421   flash_init[] =
1422   {
1423      { &onboard_flash_start, "user3",  8, FLASH_FUJITSU_29F016A, 0x200000 },
1424      { &pccard1_flash_start, "user4", 16, FLASH_FUJITSU_29F016A, 0x200000 },
1425      { &pccard2_flash_start, "user5", 16, FLASH_FUJITSU_29F016A, 0x200000 },
1426      { &pccard3_flash_start, "user6", 16, FLASH_FUJITSU_29F016A, 0x200000 },
1427      { &pccard4_flash_start, "user7", 16, FLASH_FUJITSU_29F016A, 0x200000 },
1428      { NULL, 0, 0, 0, 0 },
1429   };
1399   // find onboard flash devices
1400   astring tempstr;
1401   for (int index = 0; index < 8; index++)
1402      flash_device[0][index] = machine->device<fujitsu_29f016a_device>(tempstr.format("onboard.%d", index));
14301403
1431   flash_chips = 0;
1404   // find pccard flash devices
1405   for (int card = 1; card <= 4; card++)
1406      for (int index = 0; index < 16; index++)
1407         flash_device[card][index] = machine->device<fujitsu_29f016a_device>(tempstr.format("pccard%d.%d", card, index));
14321408
1433   i = 0;
1434   while( flash_init[ i ].start != NULL )
1435   {
1436      data = memory_region( machine, flash_init[ i ].rgntag );
1437      if( data != NULL )
1438      {
1439         size = 0;
1440         *( flash_init[ i ].start ) = flash_chips;
1441         for( chip = 0; chip < flash_init[ i ].chips; chip++ )
1442         {
1443            intelflash_init( machine, flash_chips, flash_init[ i ].type, data + size );
1444            size += flash_init[ i ].size;
1445            flash_chips++;
1446         }
1447         if( size != memory_region_length( machine, flash_init[ i ].rgntag ) )
1448         {
1449            fatalerror( "flash_init %d incorrect region length\n", i );
1450         }
1451      }
1452      else
1453      {
1454         *( flash_init[ i ].start ) = -1;
1455      }
1456      i++;
1457   }
1458
14591409   state_save_register_global(machine,  flash_bank );
14601410   state_save_register_global(machine,  control );
14611411}
r9191r9192
28412791   analogue_inputs_callback
28422792};
28432793
2844static MACHINE_DRIVER_START( konami573 )
2794static MACHINE_CONFIG_START( konami573, driver_device )
28452795   /* basic machine hardware */
28462796   MDRV_CPU_ADD("maincpu",  PSXCPU, XTAL_67_7376MHz )
28472797   MDRV_CPU_PROGRAM_MAP( konami573_map)
r9191r9192
28502800   MDRV_MACHINE_RESET( konami573 )
28512801   MDRV_NVRAM_HANDLER( konami573 )
28522802
2803   // onboard flash
2804   MDRV_FUJITSU_29F016A_ADD("onboard.0")
2805   MDRV_FUJITSU_29F016A_ADD("onboard.1")
2806   MDRV_FUJITSU_29F016A_ADD("onboard.2")
2807   MDRV_FUJITSU_29F016A_ADD("onboard.3")
2808   MDRV_FUJITSU_29F016A_ADD("onboard.4")
2809   MDRV_FUJITSU_29F016A_ADD("onboard.5")
2810   MDRV_FUJITSU_29F016A_ADD("onboard.6")
2811   MDRV_FUJITSU_29F016A_ADD("onboard.7")
2812
28532813   /* video hardware */
28542814   MDRV_SCREEN_ADD("screen", RASTER)
28552815   MDRV_SCREEN_REFRESH_RATE( 60 )
r9191r9192
28792839   MDRV_M48T58_ADD( "m48t58" )
28802840
28812841   MDRV_ADC0834_ADD( "adc0834", konami573_adc_interface )
2882MACHINE_DRIVER_END
2842MACHINE_CONFIG_END
28832843
2844static MACHINE_CONFIG_DERIVED( pccard1, konami573 )
2845   // flash for pccard 1
2846   MDRV_FUJITSU_29F016A_ADD("pccard1.0")
2847   MDRV_FUJITSU_29F016A_ADD("pccard1.1")
2848   MDRV_FUJITSU_29F016A_ADD("pccard1.2")
2849   MDRV_FUJITSU_29F016A_ADD("pccard1.3")
2850   MDRV_FUJITSU_29F016A_ADD("pccard1.4")
2851   MDRV_FUJITSU_29F016A_ADD("pccard1.5")
2852   MDRV_FUJITSU_29F016A_ADD("pccard1.6")
2853   MDRV_FUJITSU_29F016A_ADD("pccard1.7")
2854   MDRV_FUJITSU_29F016A_ADD("pccard1.8")
2855   MDRV_FUJITSU_29F016A_ADD("pccard1.9")
2856   MDRV_FUJITSU_29F016A_ADD("pccard1.10")
2857   MDRV_FUJITSU_29F016A_ADD("pccard1.11")
2858   MDRV_FUJITSU_29F016A_ADD("pccard1.12")
2859   MDRV_FUJITSU_29F016A_ADD("pccard1.13")
2860   MDRV_FUJITSU_29F016A_ADD("pccard1.14")
2861   MDRV_FUJITSU_29F016A_ADD("pccard1.15")
2862MACHINE_CONFIG_END
28842863
2885static MACHINE_DRIVER_START( k573bait )
2886   MDRV_IMPORT_FROM(konami573)
2864static MACHINE_CONFIG_DERIVED( pccard2, konami573 )
2865   // flash for pccard 2
2866   MDRV_FUJITSU_29F016A_ADD("pccard2.0")
2867   MDRV_FUJITSU_29F016A_ADD("pccard2.1")
2868   MDRV_FUJITSU_29F016A_ADD("pccard2.2")
2869   MDRV_FUJITSU_29F016A_ADD("pccard2.3")
2870   MDRV_FUJITSU_29F016A_ADD("pccard2.4")
2871   MDRV_FUJITSU_29F016A_ADD("pccard2.5")
2872   MDRV_FUJITSU_29F016A_ADD("pccard2.6")
2873   MDRV_FUJITSU_29F016A_ADD("pccard2.7")
2874   MDRV_FUJITSU_29F016A_ADD("pccard2.8")
2875   MDRV_FUJITSU_29F016A_ADD("pccard2.9")
2876   MDRV_FUJITSU_29F016A_ADD("pccard2.10")
2877   MDRV_FUJITSU_29F016A_ADD("pccard2.11")
2878   MDRV_FUJITSU_29F016A_ADD("pccard2.12")
2879   MDRV_FUJITSU_29F016A_ADD("pccard2.13")
2880   MDRV_FUJITSU_29F016A_ADD("pccard2.14")
2881   MDRV_FUJITSU_29F016A_ADD("pccard2.15")
2882MACHINE_CONFIG_END
28872883
2884
2885static MACHINE_CONFIG_DERIVED( k573bait, konami573 )
2886
28882887   /* Additional NEC Encoder */
28892888   MDRV_UPD4701_ADD( "upd4701" )
2890MACHINE_DRIVER_END
2889MACHINE_CONFIG_END
28912890
28922891static INPUT_PORTS_START( konami573 )
28932892   PORT_START("IN0")
r9191r9192
31563155ROM_START( sys573 )
31573156   ROM_REGION32_LE( 0x080000, "user1", 0 )
31583157   SYS573_BIOS_A
3159
3160   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3161   ROM_FILL( 0x0000000, 0x1000000, 0xff )
31623158ROM_END
31633159
31643160// Games
r9191r9192
31693165   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
31703166   ROM_LOAD( "ge765ja.u1", 0x000000, 0x000224, BAD_DUMP CRC(ee1b32a7) SHA1(c0f6b14b054f5a95ce474e794a3e0ca78faac681) )
31713167
3172   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3173   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3174
31753168   DISK_REGION( "cdrom0" )
31763169   DISK_IMAGE_READONLY( "765jaa02", 0, SHA1(4291711b1025733cb97f6da5dc3b03c189fcc37c) )
31773170ROM_END
r9191r9192
31833176   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
31843177   ROM_LOAD( "gc865ja.u1", 0x000000, 0x000224, BAD_DUMP CRC(095cbfb5) SHA1(529ce0a7b0986cf7e64c37f466d6c2dac95cea7f) )
31853178
3186   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3187   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3188
31893179   DISK_REGION( "cdrom0" )
31903180   DISK_IMAGE_READONLY( "865jaa02", 0, SHA1(b98d9aa54f13aa73bea580d6494cb6a7f3217be3) )
31913181ROM_END
r9191r9192
31943184   ROM_REGION32_LE( 0x080000, "user1", 0 )
31953185   SYS573_BIOS_A
31963186
3197   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3198   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3199
32003187   DISK_REGION( "cdrom0" )
32013188   DISK_IMAGE_READONLY( "700b04", 0, SHA1(2f65f62eb7ae202153a8544989675989ed33316f) )
32023189ROM_END
r9191r9192
32053192   ROM_REGION32_LE( 0x080000, "user1", 0 )
32063193   SYS573_BIOS_A
32073194
3208   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3209   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3210
32113195   DISK_REGION( "cdrom0" )
32123196   DISK_IMAGE_READONLY( "700a04", 0, SHA1(554481f48eeb5daf8b4e7be2d66840d6c8454a52) )
32133197ROM_END
r9191r9192
32193203   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
32203204   ROM_LOAD( "gx706ja.u1", 0x000000, 0x000224, BAD_DUMP CRC(72b42574) SHA1(79dc959f0ce95ccb9ac0dbf0a72aec973e91bc56) )
32213205
3222   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3223   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3224
32253206   DISK_REGION( "cdrom0" )
32263207   DISK_IMAGE_READONLY( "706jaa02", 0, SHA1(58bd06855988250028086cba6b3670372b9d96a0) )
32273208ROM_END
r9191r9192
32333214   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
32343215   ROM_FILL( 0x000000, 0x000224, 0xff )
32353216
3236   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3237   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3238
32393217   DISK_REGION( "cdrom0" )
32403218   DISK_IMAGE_READONLY( "918xxb02", 0, SHA1(8ced8952fff3e70ce0621a491f0973af5a6ccd82) )
32413219ROM_END
r9191r9192
32473225   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
32483226   ROM_LOAD( "gcc36ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(c1601287) SHA1(929691a78f7bb6dd830f832f301116df0da1619b) )
32493227
3250   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3251   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3252
3253   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3254   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3255
32563228   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
32573229   ROM_LOAD( "gcc36ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
32583230
r9191r9192
32673239   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
32683240   ROM_LOAD( "gn845ua.u1",   0x000000, 0x000224, BAD_DUMP CRC(c9e7fced) SHA1(aac4dde100091bc64d397f53484a0ffbf68b8101) )
32693241
3270   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3271   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3272
32733242   DISK_REGION( "cdrom0" )
32743243   DISK_IMAGE_READONLY( "845uaa02", 0, SHA1(d3f9290d4dadb5e9b82ebe77abf7b99d1a89f716) )
32753244ROM_END
r9191r9192
32813250   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
32823251   ROM_LOAD( "gc845jb.u1",   0x000000, 0x000224, BAD_DUMP CRC(a16f42b8) SHA1(da4f1eb3eb2b28cb3a0bc74bb9b9945970f56ac2) )
32833252
3284   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3285   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3286
32873253   DISK_REGION( "cdrom0" )
32883254   DISK_IMAGE_READONLY( "845jba02", 0, SHA1(2d10378c89fe85682f262f0987f8366b9ea72f11) )
32893255ROM_END
r9191r9192
32953261   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
32963262   ROM_LOAD( "gc845ja.u1",   0x000000, 0x000224, NO_DUMP )
32973263
3298   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3264   ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
32993265   ROM_LOAD( "gc845jaa.31m",  0x000000, 0x200000, NO_DUMP )
3300   ROM_LOAD( "gc845jaa.27m",  0x200000, 0x200000, NO_DUMP )
3301   ROM_LOAD( "gc845jaa.31l",  0x400000, 0x200000, NO_DUMP )
3302   ROM_LOAD( "gc845jaa.27l",  0x600000, 0x200000, NO_DUMP )
3303   ROM_LOAD( "gc845jaa.31j",  0x800000, 0x200000, NO_DUMP )
3304   ROM_LOAD( "gc845jaa.27j",  0xa00000, 0x200000, NO_DUMP )
3305   ROM_LOAD( "gc845jaa.31h",  0xc00000, 0x200000, NO_DUMP )
3306   ROM_LOAD( "gc845jaa.27h",  0xe00000, 0x200000, NO_DUMP )
3266   ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
3267   ROM_LOAD( "gc845jaa.27m",  0x000000, 0x200000, NO_DUMP )
3268   ROM_REGION( 0x200000, "onboard.2", 0 ) /* onboard flash */
3269   ROM_LOAD( "gc845jaa.31l",  0x000000, 0x200000, NO_DUMP )
3270   ROM_REGION( 0x200000, "onboard.3", 0 ) /* onboard flash */
3271   ROM_LOAD( "gc845jaa.27l",  0x000000, 0x200000, NO_DUMP )
3272   ROM_REGION( 0x200000, "onboard.4", 0 ) /* onboard flash */
3273   ROM_LOAD( "gc845jaa.31j",  0x000000, 0x200000, NO_DUMP )
3274   ROM_REGION( 0x200000, "onboard.5", 0 ) /* onboard flash */
3275   ROM_LOAD( "gc845jaa.27j",  0x000000, 0x200000, NO_DUMP )
3276   ROM_REGION( 0x200000, "onboard.6", 0 ) /* onboard flash */
3277   ROM_LOAD( "gc845jaa.31h",  0x000000, 0x200000, NO_DUMP )
3278   ROM_REGION( 0x200000, "onboard.7", 0 ) /* onboard flash */
3279   ROM_LOAD( "gc845jaa.27h",  0x000000, 0x200000, NO_DUMP )
33073280
33083281   DISK_REGION( "cdrom0" )
33093282   DISK_IMAGE_READONLY( "845jaa02", 0, SHA1(37ca16be25bee39a5692dee2fa5f0fa0addfaaca) )
r9191r9192
33193292   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
33203293   ROM_LOAD( "gc845ja.u1",   0x000000, 0x000224, NO_DUMP )
33213294
3322   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3295   ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
33233296   ROM_LOAD( "gc845jab.31m",  0x000000, 0x200000, NO_DUMP )
3324   ROM_LOAD( "gc845jab.27m",  0x200000, 0x200000, NO_DUMP )
3325   ROM_LOAD( "gc845jab.31l",  0x400000, 0x200000, NO_DUMP )
3326   ROM_LOAD( "gc845jab.27l",  0x600000, 0x200000, NO_DUMP )
3327   ROM_LOAD( "gc845jab.31j",  0x800000, 0x200000, NO_DUMP )
3328   ROM_LOAD( "gc845jab.27j",  0xa00000, 0x200000, NO_DUMP )
3329   ROM_LOAD( "gc845jab.31h",  0xc00000, 0x200000, NO_DUMP )
3330   ROM_LOAD( "gc845jab.27h",  0xe00000, 0x200000, NO_DUMP )
3297   ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
3298   ROM_LOAD( "gc845jab.27m",  0x000000, 0x200000, NO_DUMP )
3299   ROM_REGION( 0x200000, "onboard.2", 0 ) /* onboard flash */
3300   ROM_LOAD( "gc845jab.31l",  0x000000, 0x200000, NO_DUMP )
3301   ROM_REGION( 0x200000, "onboard.3", 0 ) /* onboard flash */
3302   ROM_LOAD( "gc845jab.27l",  0x000000, 0x200000, NO_DUMP )
3303   ROM_REGION( 0x200000, "onboard.4", 0 ) /* onboard flash */
3304   ROM_LOAD( "gc845jab.31j",  0x000000, 0x200000, NO_DUMP )
3305   ROM_REGION( 0x200000, "onboard.5", 0 ) /* onboard flash */
3306   ROM_LOAD( "gc845jab.27j",  0x000000, 0x200000, NO_DUMP )
3307   ROM_REGION( 0x200000, "onboard.6", 0 ) /* onboard flash */
3308   ROM_LOAD( "gc845jab.31h",  0x000000, 0x200000, NO_DUMP )
3309   ROM_REGION( 0x200000, "onboard.7", 0 ) /* onboard flash */
3310   ROM_LOAD( "gc845jab.27h",  0x000000, 0x200000, NO_DUMP )
33313311
33323312   DISK_REGION( "cdrom0" )
33333313   DISK_IMAGE_READONLY( "845jab02", 0, SHA1(7bdcef37bf376c23153dfd1580de5666cc681335) )
r9191r9192
33433323   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
33443324   ROM_LOAD( "gn845aa.u1",   0x000000, 0x000224, BAD_DUMP CRC(327c4851) SHA1(f0939224af706fd103a67aae9c96518c1db90ac9) )
33453325
3346   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3347   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3348
33493326   DISK_REGION( "cdrom0" )
33503327   DISK_IMAGE_READONLY( "845aaa02", 0, SHA1(839e2f8698a1561ac364998b8b3158ef0dee6998) )
33513328ROM_END
r9191r9192
33573334   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
33583335   ROM_LOAD( "gn895jaa.u1",  0x000000, 0x000224, BAD_DUMP CRC(363f427e) SHA1(adec886a07b9bd91f142f286b04fc6582205f037) )
33593336
3360   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3361   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3362
33633337   DISK_REGION( "cdrom0" )
33643338   DISK_IMAGE_READONLY( "895jaa02", 0, SHA1(cfe3a6f3ed62ba388b07045e29e22472d17dcfe4) )
33653339ROM_END
r9191r9192
33713345   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
33723346   ROM_LOAD( "gn896ja.u1",  0x000000, 0x000224, BAD_DUMP CRC(cbc984c5) SHA1(6c0cd78a41000999b4ffbd9fb3707738b50a9b50) )
33733347
3374   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3375   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3376
33773348   DISK_REGION( "cdrom0" )
33783349   DISK_IMAGE_READONLY( "896jaa01", 0, SHA1(f802a0e2ba0147eb71c54d92af409c3010a5715f) )
33793350
r9191r9192
33883359   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
33893360   ROM_LOAD( "ge984ja.u1",  0x000000, 0x000224, BAD_DUMP CRC(cbc984c5) SHA1(6c0cd78a41000999b4ffbd9fb3707738b50a9b50) )
33903361
3391   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3392   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3393
33943362   DISK_REGION( "cdrom0" )
33953363   DISK_IMAGE_READONLY( "984jaa01", 0, SHA1(5505c28be27bfa9648060fd799bcf0c2c5f608ed) )
33963364
r9191r9192
34083376   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
34093377   ROM_LOAD( "ge885jaa.u1",  0x000000, 0x000224, BAD_DUMP CRC(cbc984c5) SHA1(6c0cd78a41000999b4ffbd9fb3707738b50a9b50) )
34103378
3411   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3412   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3413
3414   ROM_REGION( 0x2000000, "user4", 0 ) /* PCCARD1 */
3415   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3416
34173379   DISK_REGION( "cdrom0" )
34183380   DISK_IMAGE_READONLY( "885jaa02", 0, SHA1(5d187aea247eefc5c065566ab277acd8c942ba27) )
34193381ROM_END
r9191r9192
34283390   ROM_REGION( 0x0000084, "user8", 0 ) /* game security cart eeprom */
34293391   ROM_LOAD( "gn887aa.u1",   0x000000, 0x000084, BAD_DUMP CRC(bb14f9bd) SHA1(9d0adf5a32d8bbcaaea2f701f5c7a5d51ee0b8bf) )
34303392
3431   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3432   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3433
3434   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3435   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3436
34373393   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
34383394   ROM_LOAD( "ge887aa.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
34393395
r9191r9192
34543410   ROM_REGION( 0x0000084, "user8", 0 ) /* game security cart eeprom */
34553411   ROM_LOAD( "gn887ja.u1",   0x000000, 0x000084, BAD_DUMP CRC(2f633432) SHA1(bce44f20a5a7318af6aea4fdfa8af64ddb76047c) )
34563412
3457   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3458   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3459
3460   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3461   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3462
34633413   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
34643414   ROM_LOAD( "ge887ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
34653415
r9191r9192
34803430   ROM_REGION( 0x0000084, "user8", 0 ) /* game security cart eeprom */
34813431   ROM_LOAD( "gn887kb.u1",   0x000000, 0x000084, BAD_DUMP CRC(bb14f9bd) SHA1(9d0adf5a32d8bbcaaea2f701f5c7a5d51ee0b8bf) )
34823432
3483   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3484   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3485
3486   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3487   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3488
34893433   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
34903434   ROM_LOAD( "ge887kb.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
34913435
r9191r9192
35063450   ROM_REGION( 0x0000084, "user8", 0 ) /* game security cart eeprom */
35073451   ROM_LOAD( "gn887ka.u1",   0x000000, 0x000084, BAD_DUMP CRC(bb14f9bd) SHA1(9d0adf5a32d8bbcaaea2f701f5c7a5d51ee0b8bf) )
35083452
3509   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3510   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3511
3512   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3513   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3514
35153453   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
35163454   ROM_LOAD( "ge887ka.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
35173455
r9191r9192
35323470   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
35333471   ROM_LOAD( "gca22ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(6883c82c) SHA1(6fef1dc7150066eee427db685b6c5fb350b7768d) )
35343472
3535   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3536   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3537
3538   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3539   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3540
35413473   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
35423474   ROM_LOAD( "gea22ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
35433475
r9191r9192
35583490   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
35593491   ROM_LOAD( "gca33aa.u1",   0x000000, 0x001014, BAD_DUMP CRC(f6feb2bd) SHA1(dfd5bd532338849289e2e4c155c0ca86e79b9ae5) )
35603492
3561   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3562   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3563
3564   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3565   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3566
35673493   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
35683494   ROM_LOAD( "gea33aa.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
35693495
r9191r9192
35843510   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
35853511   ROM_LOAD( "gca33ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(e5230867) SHA1(44aea9ccc90d81e7f41e5e9a62b28fcbdd75363b) )
35863512
3587   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3588   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3589
3590   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3591   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3592
35933513   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
35943514   ROM_LOAD( "a33jaa.u6",    0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
35953515
r9191r9192
36103530   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
36113531   ROM_LOAD( "gca33ab.u1",   0x000000, 0x001014, BAD_DUMP CRC(312ac13f) SHA1(05d733edc03cfc5ea03db6c683f59ed6ff860b5a) )
36123532
3613   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3614   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3615
3616   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3617   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3618
36193533   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
36203534   ROM_LOAD( "gea33ab.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
36213535
r9191r9192
36363550   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
36373551   ROM_LOAD( "gca33jb.u1",   0x000000, 0x001014, BAD_DUMP CRC(00e4b531) SHA1(f421fc33642c5a3cd89fb14dc8cd601bdddd1f55) )
36383552
3639   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3640   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3641
3642   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3643   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3644
36453553   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
36463554   ROM_LOAD( "a33jba.u6",    0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
36473555
r9191r9192
36623570   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
36633571   ROM_LOAD( "gca34ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(e9b6ce56) SHA1(f040fba2b2b446baa840026dcd10f9785f8cc0a3) )
36643572
3665   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3666   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3667
3668   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3669   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3670
36713573   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
36723574   ROM_LOAD( "gea34ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
36733575
r9191r9192
36913593   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
36923594   ROM_LOAD( "gca34jb.u1",   0x000000, 0x001014, BAD_DUMP CRC(0c717300) SHA1(00d21f39fe90494ffec2f8799767cc46a9cd2b00) )
36933595
3694   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3695   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3696
3697   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3698   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3699
37003596   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
37013597   ROM_LOAD( "gea34jb.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
37023598
r9191r9192
37173613   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
37183614   ROM_LOAD( "gca27ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(ec526036) SHA1(f47d94d19268fdfa3ae9d42db9f2e2f9be318f2b) )
37193615
3720   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3721   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3722
3723   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3724   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3725
37263616   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
37273617   ROM_LOAD( "gca27ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
37283618
r9191r9192
37373627   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
37383628   ROM_LOAD( "gn895jaa.u1",  0x000000, 0x000224, BAD_DUMP CRC(363f427e) SHA1(adec886a07b9bd91f142f286b04fc6582205f037) )
37393629
3740   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3741   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3742
3743   ROM_REGION( 0x2000000, "user4", 0 ) /* PCCARD1 */
3744   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3745
37463630   DISK_REGION( "cdrom0" )
37473631   DISK_IMAGE_READONLY( "892jaa01", 0, SHA1(46ace0feef48a2a6643c3cb4ac9164ba0beeea94) )
37483632
r9191r9192
37603644   ROM_REGION( 0x0000084, "user8", 0 ) /* game security cart eeprom */
37613645   ROM_LOAD( "gc905aa.u1",   0x000000, 0x000084, BAD_DUMP CRC(21073a3e) SHA1(afa12404ceb462b9016a41c40775da87aa09cfeb) )
37623646
3763   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3764   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3765
37663647   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
37673648   ROM_LOAD( "ge905aa.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
37683649
r9191r9192
37833664   ROM_REGION( 0x0000084, "user8", 0 ) /* game security cart eeprom */
37843665   ROM_LOAD( "gc905ja.u1",   0x000000, 0x000084, BAD_DUMP CRC(b7a104b0) SHA1(0f6901e41640f729f8a084a33148a9b900475594) )
37853666
3786   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3787   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3788
37893667   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
37903668   ROM_LOAD( "ge905ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
37913669
r9191r9192
38033681   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
38043682   ROM_LOAD( "gcb19ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(2255626a) SHA1(cb70c4b551265ffc6cc41f7bd2678696e8067060) )
38053683
3806   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3807   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3808
3809   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3810   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3811
38123684   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
38133685   ROM_LOAD( "gcb19ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
38143686
r9191r9192
38233695   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
38243696   ROM_LOAD( "gcb20ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(fb7e0f58) SHA1(e6da23257a2a2ba7c69e817a91a0a8864f009386) )
38253697
3826   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3827   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3828
3829   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
3830   ROM_FILL( 0x0000000, 0x2000000, 0xff )
3831
38323698   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
38333699   ROM_LOAD( "gcb20ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
38343700
r9191r9192
38433709   ROM_REGION( 0x0000084, "user2", 0 ) /* security cart eeprom */
38443710   ROM_LOAD( "gq894ja.u1",   0x000000, 0x000084, BAD_DUMP CRC(cc3a47de) SHA1(f6e2e101870370b1e295a4a9ed546aa2d8bc2010) )
38453711
3846   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3847   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3848
38493712   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
38503713   ROM_LOAD( "gq894ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
38513714
r9191r9192
38603723   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
38613724   ROM_LOAD( "gka44ua.u1",   0x000000, 0x001014, BAD_DUMP CRC(2ef7c4f1) SHA1(9004d27179ece86883d01b3e6bbfeebc1b478d57) )
38623725
3863   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3864   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3865
38663726   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
38673727   ROM_LOAD( "gka44ua.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
38683728
r9191r9192
38773737   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
38783738   ROM_LOAD( "gq881ja.u1",   0x000000, 0x000224, BAD_DUMP CRC(7dca0b3f) SHA1(db6d5c527e2a99133b516e01433024d3173848c6) )
38793739
3880   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3881   ROM_FILL( 0x0000000, 0x0c00000, 0xff )
3882   ROM_LOAD( "gq881ja.31h",  0xc00000, 0x200000, CRC(a5b86ece) SHA1(9696f0c512501574bae6e436306675894bb2352e) )
3883   ROM_LOAD( "gq881ja.27h",  0xe00000, 0x200000, CRC(fc0b94c1) SHA1(967d374288db757d161d0e9e8e396a1176071c5f) )
3740   ROM_REGION( 0x200000, "onboard.6", 0 ) /* onboard flash */
3741   ROM_LOAD( "gq881ja.31h",  0x000000, 0x200000, CRC(a5b86ece) SHA1(9696f0c512501574bae6e436306675894bb2352e) )
3742   ROM_REGION( 0x200000, "onboard.7", 0 ) /* onboard flash */
3743   ROM_LOAD( "gq881ja.27h",  0x000000, 0x200000, CRC(fc0b94c1) SHA1(967d374288db757d161d0e9e8e396a1176071c5f) )
38843744
38853745   ROM_REGION( 0x002000, "m48t58", 0 ) /* timekeeper */
38863746   ROM_LOAD( "gq881ja.22h",  0x000000, 0x002000, CRC(e834d5ec) SHA1(1c845811e43d7dfec657da288b5a38b8bc9c8366) )
r9191r9192
39023762   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
39033763   ROM_LOAD( "gn912ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(34deea99) SHA1(f179e22eaf30453bb94177ed9c25d7996f020c99) )
39043764
3905   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3906   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3907
39083765   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
39093766   ROM_LOAD( "ge912ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
39103767
r9191r9192
39253782   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
39263783   ROM_LOAD( "gn912ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(34deea99) SHA1(f179e22eaf30453bb94177ed9c25d7996f020c99) )
39273784
3928   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3929   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3930
39313785   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
39323786   ROM_LOAD( "ge912ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
39333787
r9191r9192
39513805   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
39523806   ROM_LOAD( "gca23ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(5af1b5da) SHA1(cf862ef9ab60e8da89af96266943137827e4a261) )
39533807
3954   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3955   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3956
39573808   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
39583809   ROM_LOAD( "a23jaa.u6",    0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
39593810
r9191r9192
39713822   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
39723823   ROM_LOAD( "ge874ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(c5536373) SHA1(1492221f7dd9485f7745ecb0a982a88c8e768e53) )
39733824
3974   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3975   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3976
39773825   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
39783826   ROM_LOAD( "ge874ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
39793827
r9191r9192
39883836   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
39893837   ROM_LOAD( "gca39ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(ecc75eb7) SHA1(af66ced28ba5e79ae32ae0ef12d2ebe4207f3822) )
39903838
3991   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3992   ROM_FILL( 0x0000000, 0x1000000, 0xff )
3993
39943839   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
39953840   ROM_LOAD( "gca39ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
39963841
r9191r9192
40053850   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
40063851   ROM_LOAD( "gca38ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(99a746b8) SHA1(333236e59a707ecaf840a66f9b947ceade2cf2c9) )
40073852
4008   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
3853   ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
40093854   ROM_LOAD( "gca38ja.31m",  0x000000, 0x200000, CRC(a0f54ab5) SHA1(a5ae67d7619393779c79a2e227cac0675eeef538) )
4010   ROM_LOAD( "gca38ja.27m",  0x200000, 0x200000, CRC(6c3934b8) SHA1(f0e4a692b6caaf60fefaec87fd23da577439f69d) )
4011   ROM_FILL( 0x400000, 0x0c00000, 0xff )
3855   ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
3856   ROM_LOAD( "gca38ja.27m",  0x000000, 0x200000, CRC(6c3934b8) SHA1(f0e4a692b6caaf60fefaec87fd23da577439f69d) )
40123857
40133858   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
40143859   ROM_LOAD( "gca38ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
r9191r9192
40243869   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
40253870   ROM_LOAD( "gk874ka.u1",   0x000000, 0x001014, BAD_DUMP CRC(7a6f4672) SHA1(2e009e57760e92f48070a69cff5597c37a4783a2) )
40263871
4027   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4028   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4029
40303872   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
40313873   ROM_LOAD( "gk874ka.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
40323874
r9191r9192
40413883   ROM_REGION( 0x0000224, "user2", 0 ) /* install security cart eeprom */
40423884   ROM_LOAD( "ge936ea.u1",   0x000000, 0x000224, BAD_DUMP CRC(0f5b7ae3) SHA1(646dd49da1216cc2d3d6920bc9b3447d55ebfbf0) )
40433885
4044   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4045   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4046
40473886   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
40483887   ROM_LOAD( "ge936ea.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
40493888
r9191r9192
40583897   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
40593898   ROM_LOAD( "gkc23ea.u1",   0x000000, 0x001014, BAD_DUMP CRC(aec2421a) SHA1(5ea9e9ce6161ebc99a50db0b7304385511bd4553) )
40603899
4061   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4062   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4063
4064   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
4065   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4066
40673900   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
40683901   ROM_LOAD( "gkc23ea.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
40693902
r9191r9192
40813914   ROM_REGION( 0x0000084, "user8", 0 ) /* game security cart eeprom */
40823915   ROM_LOAD( "gc910jc.u1",   0x000000, 0x000084, BAD_DUMP CRC(3c1ca973) SHA1(32211a72e3ac88b2723f82dac0b26f93031b3a9c) )
40833916
4084   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4085   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4086
4087   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
4088   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4089
40903917   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
40913918   ROM_LOAD( "ge887ja_gn887ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
40923919
r9191r9192
41073934   ROM_REGION( 0x0000084, "user8", 0 ) /* game security cart eeprom */
41083935   ROM_LOAD( "gc910ja.u1",   0x000000, 0x000084, BAD_DUMP CRC(59a23808) SHA1(fcff1c68ff6cfbd391ac997a40fb5253fc62de82) )
41093936
4110   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4111   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4112
4113   ROM_REGION( 0x2000000, "user5", 0 ) /* PCCARD2 */
4114   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4115
41163937   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
41173938   ROM_LOAD( "gn884ja.u6",  0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
41183939
r9191r9192
41333954   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
41343955        ROM_LOAD( "gca37ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(b6d9e7f9) SHA1(bc5f491de53a96d46745df09bc94e7853052296c) )
41353956
4136   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4137   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4138
41393957   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
41403958   ROM_LOAD( "gea37ja.u6",    0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
41413959
r9191r9192
41533971   ROM_REGION( 0x0000084, "user2", 0 ) /* security cart eeprom */
41543972   ROM_LOAD( "gn884ja.u1",  0x000000, 0x000084, BAD_DUMP CRC(ce6b98ce) SHA1(75549d9470345ce06d2706d373b19416d97e5b9a) )
41553973
4156   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4157   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4158
41593974   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
41603975   ROM_LOAD( "gn884ja.u6",  0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
41613976
r9191r9192
41703985   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
41713986   ROM_LOAD( "gn845ea.u1",   0x000000, 0x000224, BAD_DUMP CRC(db643af7) SHA1(881221da640b883302e657b906ea0a4e74555679) )
41723987
4173   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4174   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4175
41763988   DISK_REGION( "cdrom0" )
41773989   DISK_IMAGE_READONLY( "845ea", 0, BAD_DUMP SHA1(d3f9290d4dadb5e9b82ebe77abf7b99d1a89f716) )
41783990ROM_END
r9191r9192
41843996   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
41853997   ROM_LOAD( "gc865ua.u1", 0x000000, 0x000224, BAD_DUMP CRC(ea8f0b4b) SHA1(363b1ea1a520b239ba8bca867366bbe8a9977a43) )
41863998
4187   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4188   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4189
41903999   DISK_REGION( "cdrom0" )
41914000   DISK_IMAGE_READONLY( "865uab02", 0, SHA1(d14dc066d4c16fba1e9b31d5f042ad249c4b5137) )
41924001ROM_END
r9191r9192
41984007   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
41994008   ROM_LOAD( "ge765ua.u1", 0x000000, 0x000224, BAD_DUMP CRC(588748c6) SHA1(ea1ead61e0dcb324ef7b6106cae00bcf6702d6c4) )
42004009
4201   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4202   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4203
42044010   DISK_REGION( "cdrom0" )
42054011   DISK_IMAGE_READONLY( "765uab02", 0, SHA1(07b09e763e4b90108aa924b518221b16667a7133) )
42064012ROM_END
r9191r9192
42124018   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
42134019   ROM_LOAD( "gx889ea.u1", 0x000000, 0x000224, BAD_DUMP CRC(753ad84e) SHA1(e024cefaaee7c9945ccc1f9a3d896b8560adce2e) )
42144020
4215   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4216   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4217
42184021   DISK_REGION( "cdrom0" )
42194022   DISK_IMAGE_READONLY( "889ea", 0, BAD_DUMP SHA1(0b567bf2f03ee8089e0b021ea502a53b3f6fe7ac) )
42204023ROM_END
r9191r9192
42264029   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
42274030   ROM_LOAD( "gx889aa.u1", 0x000000, 0x000224, BAD_DUMP CRC(9c22aae8) SHA1(c107b0bf7fa76708f2d4f6aaf2cf27b3858378a3) )
42284031
4229   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4230   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4231
42324032   DISK_REGION( "cdrom0" )
42334033   DISK_IMAGE_READONLY( "889aa", 0, BAD_DUMP SHA1(0b567bf2f03ee8089e0b021ea502a53b3f6fe7ac) )
42344034ROM_END
r9191r9192
42404040   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
42414041   ROM_LOAD( "gx889ja.u1", 0x000000, 0x000224, BAD_DUMP CRC(6278603c) SHA1(d6b59e270cfe4016e12565aedec8a4f0702e1a6f) )
42424042
4243   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4244   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4245
42464043   DISK_REGION( "cdrom0" )
42474044   DISK_IMAGE_READONLY( "889ja", 0, BAD_DUMP SHA1(0b567bf2f03ee8089e0b021ea502a53b3f6fe7ac) )
42484045ROM_END
r9191r9192
42544051   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
42554052   ROM_LOAD( "gx889ua.u1", 0x000000, 0x000224, BAD_DUMP CRC(67b91e54) SHA1(4d94bfab08e2bf6e34ee606dd3c4e345d8e5d158) )
42564053
4257   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4258   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4259
42604054   DISK_REGION( "cdrom0" )
42614055   DISK_IMAGE_READONLY( "889ua", 0, BAD_DUMP SHA1(0b567bf2f03ee8089e0b021ea502a53b3f6fe7ac) )
42624056ROM_END
r9191r9192
42684062   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
42694063   ROM_LOAD( "gq886eac.u1",  0x000000, 0x000224, BAD_DUMP CRC(06bd6c4f) SHA1(61930e467ad135e2f31393ff5af981ed52f3bef9) )
42704064
4271   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4272   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4273
42744065   DISK_REGION( "cdrom0" )
42754066   DISK_IMAGE_READONLY( "886ea", 0, BAD_DUMP SHA1(c0118b5539902e75853403a4979869d18c3d1b86) )
42764067ROM_END
r9191r9192
42824073   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
42834074   ROM_LOAD( "gq886uac.u1",  0x000000, 0x000224, BAD_DUMP CRC(143eaa55) SHA1(51a4fa3693f1cb1646a8986003f9b6cc1ae8b630) )
42844075
4285   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4286   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4287
42884076   DISK_REGION( "cdrom0" )
42894077   DISK_IMAGE_READONLY( "886ua", 0, BAD_DUMP SHA1(c0118b5539902e75853403a4979869d18c3d1b86) )
42904078ROM_END
r9191r9192
42964084   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
42974085   ROM_LOAD( "gq886jac.u1",  0x000000, 0x000224, BAD_DUMP CRC(11ffd43d) SHA1(27f4f4d782604379254fb98c3c57e547aa4b321f) )
42984086
4299   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4300   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4301
43024087   DISK_REGION( "cdrom0" )
43034088   DISK_IMAGE_READONLY( "886ja", 0, BAD_DUMP SHA1(c0118b5539902e75853403a4979869d18c3d1b86) )
43044089ROM_END
r9191r9192
43104095   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
43114096   ROM_LOAD( "gq886aac.u1",  0x000000, 0x000224, BAD_DUMP CRC(efa51ee9) SHA1(3374d936de69c287e0161bc526546441c2943555) )
43124097
4313   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4314   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4315
43164098   DISK_REGION( "cdrom0" )
43174099   DISK_IMAGE_READONLY( "886aa", 0, BAD_DUMP SHA1(c0118b5539902e75853403a4979869d18c3d1b86) )
43184100ROM_END
r9191r9192
43244106   ROM_REGION( 0x0000084, "user2", 0 ) /* security cart eeprom */
43254107   ROM_LOAD( "gq883jad.u1",  0x000000, 0x000084, BAD_DUMP CRC(687868c4) SHA1(1230e74e4cf17953febe501df56d8bbec1de9356) )
43264108
4327   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4328   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4329
4330   ROM_REGION( 0x2000000, "user4", 0 ) /* PCCARD1 */
4331   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4332
43334109   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
43344110   ROM_LOAD( "gq883jad.u6",  0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
43354111
r9191r9192
43474123   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
43484124   ROM_LOAD( "ge949jab.u1",  0x000000, 0x001014, BAD_DUMP CRC(8645e17f) SHA1(e8a833384cb6bdb05870fcd44e7c8ed48a03c852) )
43494125
4350   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4351   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4352
4353   ROM_REGION( 0x2000000, "user4", 0 ) /* PCCARD1 */
4354   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4355
43564126   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
43574127   ROM_LOAD( "949jaa.u6",    0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
43584128
r9191r9192
43764146   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
43774147   ROM_LOAD( "ge949jab.u1",  0x000000, 0x001014, BAD_DUMP CRC(8645e17f) SHA1(e8a833384cb6bdb05870fcd44e7c8ed48a03c852) )
43784148
4379   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4380   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4381
4382   ROM_REGION( 0x2000000, "user4", 0 ) /* PCCARD1 */
4383   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4384
43854149   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
43864150   ROM_LOAD( "949jaa.u6",    0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
43874151
r9191r9192
43994163   ROM_REGION( 0x0001014, "user2", 0 ) /* game security cart eeprom */
44004164   ROM_LOAD( "ge949jaa.u1",  0x000000, 0x001014, BAD_DUMP CRC(61f35ee1) SHA1(0a2b66742364d76ec18647b2761590bd49229625) )
44014165
4402   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4403   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4404
4405   ROM_REGION( 0x2000000, "user4", 0 ) /* PCCARD1 */
4406   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4407
44084166   ROM_REGION( 0x000008, "user9", 0 ) /* game security cart id */
44094167   ROM_LOAD( "ge949jaa.u6",  0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
44104168
r9191r9192
44224180   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
44234181   ROM_LOAD( "gea24ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(d1fccf11) SHA1(6dcd79f3171d6e4bd7e1149901638f8ea58ff623) )
44244182
4425   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4426   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4427
4428   ROM_REGION( 0x2000000, "user4", 0 ) /* PCCARD1 */
4429   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4430
44314183   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
44324184   ROM_LOAD( "a24jaa.u6",    0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
44334185
r9191r9192
44454197   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
44464198   ROM_LOAD( "gea26jaa.u1",  0x000000, 0x001014, BAD_DUMP CRC(c2725fca) SHA1(b70a3266c61af5cbe0478a6f3dd850ebcab980dc) )
44474199
4448   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4200   ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
44494201   ROM_LOAD( "gea26jaa.31m", 0x000000, 0x200000, CRC(1a25e660) SHA1(dbd8fad0bac307723c70d00763cadf4261a7ed73) )
4450   ROM_LOAD( "gea26jaa.27m", 0x200000, 0x200000, CRC(345dc5f2) SHA1(61af3fcfe6119c1e8e18b92693855ab4fe708b30) )
4451   ROM_FILL( 0x400000, 0x0c00000, 0xff )
4202   ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
4203   ROM_LOAD( "gea26jaa.27m", 0x000000, 0x200000, CRC(345dc5f2) SHA1(61af3fcfe6119c1e8e18b92693855ab4fe708b30) )
44524204
4453   ROM_REGION( 0x2000000, "user4", 0 ) /* PCCARD1 */
4454   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4455
44564205   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
44574206   ROM_LOAD( "gea26jaa.u6",    0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
44584207
r9191r9192
44674216   ROM_REGION( 0x0001014, "user2", 0 ) /* install security cart eeprom */
44684217   ROM_LOAD( "gcb06ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(673c98ab) SHA1(b1d889bf4fc5e425056acb6b72b2c563966fb7d7) )
44694218
4470   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4471   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4472
4473   ROM_REGION( 0x2000000, "user4", 0 ) /* PCCARD1 */
4474   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4475
44764219   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
44774220   ROM_LOAD( "gcb06ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
44784221
r9191r9192
44874230   ROM_REGION( 0x0001014, "user2", 0 ) /* install security cart eeprom */
44884231   ROM_LOAD( "gcb17jaa.u1",   0x000000, 0x001014, BAD_DUMP CRC(5a338c31) SHA1(0fd9ee306335858dd6bef680a62557a8bf055cc3) )
44894232
4490   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4233   ROM_REGION( 0x200000, "onboard.0", 0 ) /* onboard flash */
44914234   ROM_LOAD( "gcb17jaa.31m", 0x000000, 0x200000, CRC(1e1cbfe3) SHA1(6c942820f915ea0e01f0e736d70780ad8408aa69) )
4492   ROM_LOAD( "gcb17jaa.27m", 0x200000, 0x200000, CRC(7e7da9a9) SHA1(1882418779a48b5aefd113895756116379a6a4f7) )
4493   ROM_FILL( 0x400000, 0x0c00000, 0xff )
4235   ROM_REGION( 0x200000, "onboard.1", 0 ) /* onboard flash */
4236   ROM_LOAD( "gcb17jaa.27m", 0x000000, 0x200000, CRC(7e7da9a9) SHA1(1882418779a48b5aefd113895756116379a6a4f7) )
44944237
4495   ROM_REGION( 0x2000000, "user4", 0 ) /* PCCARD1 */
4496   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4497
44984238   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
44994239   ROM_LOAD( "gcb17jaa.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
45004240
r9191r9192
45094249   ROM_REGION( 0x0001014, "user2", 0 ) /* security cart eeprom */
45104250   ROM_LOAD( "gcd39ja.u1",   0x000000, 0x001014, BAD_DUMP CRC(9bd81d0a) SHA1(c95f6d7317bf88177f7217de4ba4376485d5cdbf) )
45114251
4512   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4513   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4514
4515   ROM_REGION( 0x2000000, "user4", 0 ) /* PCCARD1 */
4516   ROM_FILL( 0x0000000, 0x2000000, 0xff )
4517
45184252   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
45194253   ROM_LOAD( "gcd39ja.u6",   0x000000, 0x000008, BAD_DUMP CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
45204254
r9191r9192
45294263   ROM_REGION( 0x0000084, "user2", 0 ) /* security cart eeprom */
45304264   ROM_LOAD( "gx908ja.u1",  0x000000, 0x000084, BAD_DUMP CRC(fb6c0635) SHA1(0d974462a0a244ffb1a651adb316242cde427756) )
45314265
4532   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4533   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4534
45354266   DISK_REGION( "cdrom0" )
45364267   DISK_IMAGE_READONLY( "908a02", 0, SHA1(573194ca9938c30415fc88dcc0c0152dd3024d71) )
45374268ROM_END
r9191r9192
45434274   ROM_REGION( 0x0000084, "user2", 0 ) /* security cart eeprom */
45444275   ROM_LOAD( "gx908ka.u1",  0x000000, 0x000084, BAD_DUMP CRC(f4f37fe1) SHA1(30f90cdb2d092e4f8d6c14cfd4ca4945e6d352cb) )
45454276
4546   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4547   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4548
45494277   DISK_REGION( "cdrom0" )
45504278   DISK_IMAGE_READONLY( "908a02", 0, SHA1(573194ca9938c30415fc88dcc0c0152dd3024d71) )
45514279ROM_END
r9191r9192
45574285   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
45584286   ROM_LOAD( "gc826aa.u1", 0x000000, 0x000224, BAD_DUMP CRC(9b38b959) SHA1(6b4fca340a9b1c2ae21ad3903c1ac1e39ab08b1a) )
45594287
4560   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4561   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4562
45634288   DISK_REGION( "cdrom0" )
45644289   DISK_IMAGE_READONLY( "826aaa01", 0, BAD_DUMP SHA1(be5f8b31fd18ba631fe98c2132c56abf20193419) )
45654290ROM_END
r9191r9192
45714296   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
45724297   ROM_LOAD( "gc826ja.u1", 0x000000, 0x000224, BAD_DUMP CRC(e9e861e8) SHA1(45841db0b42d096213d9539a8d076d39391dca6d) )
45734298
4574   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4575   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4576
45774299   DISK_REGION( "cdrom0" )
45784300   DISK_IMAGE_READONLY( "826jaa01", 0, SHA1(be5f8b31fd18ba631fe98c2132c56abf20193419) )
45794301ROM_END
r9191r9192
45854307   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
45864308   ROM_LOAD( "gc826ka.u1", 0x000000, 0x000224, BAD_DUMP CRC(d41f7e38) SHA1(73e2bb132e23be72e72ea5b0686ccad28e47574a) )
45874309
4588   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4589   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4590
45914310   DISK_REGION( "cdrom0" )
45924311   DISK_IMAGE_READONLY( "826kaa01", 0, BAD_DUMP SHA1(be5f8b31fd18ba631fe98c2132c56abf20193419) )
45934312ROM_END
r9191r9192
45994318   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
46004319   ROM_LOAD( "gc826ea.u1", 0x000000, 0x000224, BAD_DUMP CRC(6ce4c619) SHA1(d2be08c213c0a74e30b7ebdd93946374cc64457f) )
46014320
4602   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4603   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4604
46054321   DISK_REGION( "cdrom0" )
46064322   DISK_IMAGE_READONLY( "826eaa01", 0, BAD_DUMP SHA1(be5f8b31fd18ba631fe98c2132c56abf20193419) )
46074323ROM_END
r9191r9192
46134329   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
46144330   ROM_LOAD( "gc826ua.u1", 0x000000, 0x000224, BAD_DUMP CRC(0577379b) SHA1(3988a2a5ef1f1d5981c4767cbed05b73351be903) )
46154331
4616   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4617   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4618
46194332   DISK_REGION( "cdrom0" )
46204333   DISK_IMAGE_READONLY( "826uaa01", 0, SHA1(be5f8b31fd18ba631fe98c2132c56abf20193419) )
46214334ROM_END
r9191r9192
46274340   ROM_REGION( 0x0000224, "user2", 0 ) /* security cart eeprom */
46284341   ROM_LOAD( "gx802ja.u1", 0x000000, 0x000224, BAD_DUMP CRC(ea8bdda3) SHA1(780034ab08871631ef0e3e9b779ca89e016c26a8) )
46294342
4630   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4631   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4632
46334343   DISK_REGION( "cdrom0" )
46344344   DISK_IMAGE_READONLY( "802jab02", 0, SHA1(bcc2b6c3515e2420eef9fdf8b28115368a428a92) )
46354345ROM_END
r9191r9192
46444354   ROM_REGION( 0x0001014, "user8", 0 ) /* game security cart eeprom */
46454355   ROM_LOAD( "gca23ka.u1",   0x000000, 0x001014, BAD_DUMP CRC(f392349c) SHA1(e7eb7979db276de560d5820163a70d97e6c023d8) )
46464356
4647   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4648   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4649
46504357   ROM_REGION( 0x000008, "user9", 0 ) /* install security cart id */
46514358   ROM_LOAD( "a23kaa.u6",    0x000000, 0x000008, BAD_DUMP CRC(af09e43c) SHA1(d8372f2d6e0ae07061b496a2242a63e5bc2e54dc) )
46524359
r9191r9192
46644371   ROM_REGION( 0x0000084, "user2", 0 ) /* security cart eeprom */
46654372   ROM_LOAD( "gca18jaa.u1",  0x000000, 0x000084, CRC(c9197f67) SHA1(8e95a89008f756a79295f2cb557c39efca1351e7) )
46664373
4667   ROM_REGION( 0x1000000, "user3", 0 ) /* onboard flash */
4668   ROM_FILL( 0x0000000, 0x1000000, 0xff )
4669
46704374   ROM_REGION( 0x000008, "user9", 0 ) /* security cart id */
46714375   ROM_LOAD( "gca18jaa.u6",  0x000000, 0x000008, CRC(ce84419e) SHA1(839e8ee080ecfc79021a06417d930e8b32dfc6a1) )
46724376
r9191r9192
47044408GAME( 1999, fbaitmcj, fbaitmc,  k573bait,  fbaitmc,   ge765pwbba, ROT0, "Konami", "Fisherman's Bait - Marlin Challenge (GX889 VER. JA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
47054409GAME( 1999, fbaitmca, fbaitmc,  k573bait,  fbaitmc,   ge765pwbba, ROT0, "Konami", "Fisherman's Bait - Marlin Challenge (GX889 VER. AA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
47064410GAME( 1999, ddr2m,    sys573,   konami573, ddr,       ddr,        ROT0, "Konami", "Dance Dance Revolution 2nd Mix (GN895 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4707GAME( 1999, ddrbocd,  ddr2m,    konami573, ddr,       ddr,        ROT0, "Konami", "Dance Dance Revolution Best of Cool Dancers (GE892 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4708GAME( 1999, ddr2ml,   ddr2m,    konami573, ddr,       ddr,        ROT0, "Konami", "Dance Dance Revolution 2nd Mix - Link Ver (GE885 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4411GAME( 1999, ddrbocd,  ddr2m,    pccard1,   ddr,       ddr,        ROT0, "Konami", "Dance Dance Revolution Best of Cool Dancers (GE892 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4412GAME( 1999, ddr2ml,   ddr2m,    pccard1,   ddr,       ddr,        ROT0, "Konami", "Dance Dance Revolution 2nd Mix - Link Ver (GE885 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
47094413GAME( 1999, ddr2mc,   ddr2m,    konami573, ddr,       ddr,        ROT0, "Konami", "Dance Dance Revolution 2nd Mix with beatmaniaIIDX CLUB VERSiON (GE896 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
47104414GAME( 1999, ddr2mc2,  ddr2m,    konami573, ddr,       ddr,        ROT0, "Konami", "Dance Dance Revolution 2nd Mix with beatmaniaIIDX substream CLUB VERSiON 2 (GE984 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4711GAME( 1999, gtrfrk2m, sys573,   konami573, gtrfrks,   gtrfrks,    ROT0, "Konami", "Guitar Freaks 2nd Mix Ver 1.01 (GQ883 VER. JAD)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4415GAME( 1999, gtrfrk2m, sys573,   pccard1,  gtrfrks,   gtrfrks,    ROT0, "Konami", "Guitar Freaks 2nd Mix Ver 1.01 (GQ883 VER. JAD)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
47124416GAME( 1999, dsftkd,   sys573,   konami573, ddr,       ddr,        ROT0, "Konami", "Dancing Stage featuring TRUE KiSS DESTiNATiON (G*884 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
47134417GAME( 1999, cr589fw,  sys573,   konami573, konami573, konami573,  ROT0, "Konami", "CD-ROM Drive Updater 2.0 (700B04)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
47144418GAME( 1999, cr589fwa, sys573,   konami573, konami573, konami573,  ROT0, "Konami", "CD-ROM Drive Updater (700A04)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4715GAME( 2000, ddr3mk,   sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix - Ver.Korea2 (GN887 VER. KBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.3 */
4716GAME( 2000, ddr3mka,  ddr3mk,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix - Ver.Korea (GN887 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.3 */
4717GAME( 1999, ddr3ma,   ddr3mk,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix (GN887 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.1 */
4718GAME( 1999, ddr3mj,   ddr3mk,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix (GN887 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.0 */
4419GAME( 2000, ddr3mk,   sys573,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix - Ver.Korea2 (GN887 VER. KBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.3 */
4420GAME( 2000, ddr3mka,  ddr3mk,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix - Ver.Korea (GN887 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.3 */
4421GAME( 1999, ddr3ma,   ddr3mk,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix (GN887 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.1 */
4422GAME( 1999, ddr3mj,   ddr3mk,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix (GN887 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.0 */
47194423GAME( 1999, ddrsbm,   sys573,   konami573, ddrsolo,   ddrsolo,    ROT0, "Konami", "Dance Dance Revolution Solo Bass Mix (GQ894 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
47204424GAME( 1999, ddrs2k,   sys573,   konami573, ddrsolo,   ddrsolo,    ROT0, "Konami", "Dance Dance Revolution Solo 2000 (GC905 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.3 */
47214425GAME( 1999, ddrs2kj,  ddrs2k,   konami573, ddrsolo,   ddrsolo,    ROT0, "Konami", "Dance Dance Revolution Solo 2000 (GC905 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.2 */
47224426GAME( 1999, hyperbbc, sys573,   konami573, hyperbbc,  hyperbbc,   ROT0, "Konami", "Hyper Bishi Bashi Champ (GX908 1999/08/24 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
47234427GAME( 1999, hyperbbck,hyperbbc, konami573, hyperbbc,  hyperbbc,   ROT0, "Konami", "Hyper Bishi Bashi Champ (GX908 1999/08/24 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4724GAME( 1999, dsfdct,   sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dancing Stage featuring Dreams Come True (GC910 VER. JCA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
4725GAME( 1999, dsfdcta,  dsfdct,   konami573, ddr,       ddr,        ROT0, "Konami", "Dancing Stage featuring Dreams Come True (GC910 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4428GAME( 1999, dsfdct,   sys573,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "Dancing Stage featuring Dreams Come True (GC910 VER. JCA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
4429GAME( 1999, dsfdcta,  dsfdct,   pccard2,   ddr,       ddr,        ROT0, "Konami", "Dancing Stage featuring Dreams Come True (GC910 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
47264430GAME( 1999, drmn2m,   sys573,   konami573, drmn,      drmndigital,ROT0, "Konami", "DrumMania 2nd Mix (GE912 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.5 */
47274431GAME( 1999, drmn2mpu, drmn2m,   konami573, drmn,      drmndigital,ROT0, "Konami", "DrumMania 2nd Mix Session Power Up Kit (GE912 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.5 */
47284432GAME( 2000, dncfrks,  sys573,   konami573, dmx,       dmx,        ROT0, "Konami", "Dance Freaks (G*874 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.6 */
47294433GAME( 2000, dmx,      dncfrks,  konami573, dmx,       dmx,        ROT0, "Konami", "Dance Maniax (G*874 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.6 */
47304434GAME( 2000, dsem,     sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dancing Stage Euro Mix (G*936 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.7 */
4731GAME( 2000, gtrfrk3m, sys573,   konami573, gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix (GE949 VER. JAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
4732GAME( 2000, gtfrk3ma, gtrfrk3m, konami573, gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix (GE949 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
4733GAME( 2000, gtfrk3mb, gtrfrk3m, konami573, gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix - security cassette versionup (949JAZ02)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
4435GAME( 2000, gtrfrk3m, sys573,   pccard1,   gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix (GE949 VER. JAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
4436GAME( 2000, gtfrk3ma, gtrfrk3m, pccard1,   gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix (GE949 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
4437GAME( 2000, gtfrk3mb, gtrfrk3m, pccard1,   gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix - security cassette versionup (949JAZ02)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
47344438GAME( 2000, salarymc, sys573,   konami573, hyperbbc,  salarymc,   ROT0, "Konami", "Salary Man Champ (GCA18 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
4735GAME( 2000, ddr3mp,   sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix Plus (G*A22 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.6 */
4439GAME( 2000, ddr3mp,   sys573,   pccard2,  ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix Plus (G*A22 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.6 */
47364440GAME( 2000, pcnfrk3m, sys573,   konami573, drmn,      drmndigital,ROT0, "Konami", "Percussion Freaks 3rd Mix (G*A23 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
47374441GAME( 2000, drmn3m,   pcnfrk3m, konami573, drmn,      drmndigital,ROT0, "Konami", "DrumMania 3rd Mix (G*A23 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
4738GAME( 2000, gtrfrk4m, sys573,   konami573, gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 4th Mix (G*A24 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
4739GAME( 2000, ddr4m,    sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix (G*A33 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
4740GAME( 2000, ddr4mj,   ddr4m,    konami573, ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix (G*A33 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
4741GAME( 2000, ddr4ms,   sys573,   konami573, ddrsolo,   ddrsolo,    ROT0, "Konami", "Dance Dance Revolution 4th Mix Solo (G*A33 VER. ABA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
4742GAME( 2000, ddr4msj,  ddr4ms,   konami573, ddrsolo,   ddrsolo,    ROT0, "Konami", "Dance Dance Revolution 4th Mix Solo (G*A33 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
4442GAME( 2000, gtrfrk4m, sys573,   pccard1,   gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 4th Mix (G*A24 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
4443GAME( 2000, ddr4m,    sys573,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix (G*A33 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
4444GAME( 2000, ddr4mj,   ddr4m,    pccard2,   ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix (G*A33 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
4445GAME( 2000, ddr4ms,   sys573,   pccard2,   ddrsolo,   ddrsolo,    ROT0, "Konami", "Dance Dance Revolution 4th Mix Solo (G*A33 VER. ABA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
4446GAME( 2000, ddr4msj,  ddr4ms,   pccard2,   ddrsolo,   ddrsolo,    ROT0, "Konami", "Dance Dance Revolution 4th Mix Solo (G*A33 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
47434447GAME( 2000, dsfdr,    sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dancing Stage Featuring Disney's Rave (GCA37JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
47444448GAME( 2000, ddrusa,   sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution USA (G*A44 VER. UAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
4745GAME( 2000, ddr4mp,   sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix Plus (G*A34 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4746GAME( 2000, ddr4mps,  sys573,   konami573, ddrsolo,   ddrsolo,    ROT0, "Konami", "Dance Dance Revolution 4th Mix Plus Solo (G*A34 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4449GAME( 2000, ddr4mp,   sys573,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix Plus (G*A34 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4450GAME( 2000, ddr4mps,  sys573,   pccard2,   ddrsolo,   ddrsolo,    ROT0, "Konami", "Dance Dance Revolution 4th Mix Plus Solo (G*A34 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
47474451GAME( 2000, dmx2m,    sys573,   konami573, dmx,       dmx,        ROT0, "Konami", "Dance Maniax 2nd Mix (G*A39 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
47484452GAME( 2000, fmania,   sys573,   konami573, konami573, konami573,  ROT0, "Konami", "Fighting Mania (918 xx B02)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
4749GAME( 2001, gtrfrk5m, sys573,   konami573, gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 5th Mix (G*A26 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4750GAME( 2001, ddr5m,    sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 5th Mix (G*A27 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4453GAME( 2001, gtrfrk5m, sys573,   pccard1,   gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 5th Mix (G*A26 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4454GAME( 2001, ddr5m,    sys573,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution 5th Mix (G*A27 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
47514455GAME( 2001, dmx2majp, sys573,   konami573, dmx,       dmx,        ROT0, "Konami", "Dance Maniax 2nd Mix Append J-Paradise (G*A38 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4752GAME( 2001, gtrfrk6m, sys573,   konami573, gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 6th Mix (G*B06 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4753GAME( 2001, gtrfrk7m, sys573,   konami573, gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 7th Mix (G*B17 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
4754GAME( 2001, ddrmax,   sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "DDR Max - Dance Dance Revolution 6th Mix (G*B19 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4755GAME( 2002, ddrmax2,  sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "DDR Max 2 - Dance Dance Revolution 7th Mix (G*B20 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4756GAME( 2002, dsem2,    sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dancing Stage Euro Mix 2 (G*C23 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
4757GAME( 2002, ddrextrm, sys573,   konami573, ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution Extreme (G*C36 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
4758GAME( 2004, gtfrk11m, sys573,   konami573, gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 11th Mix (G*D39 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
4456GAME( 2001, gtrfrk6m, sys573,   pccard1,   gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 6th Mix (G*B06 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4457GAME( 2001, gtrfrk7m, sys573,   pccard1,   gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 7th Mix (G*B17 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
4458GAME( 2001, ddrmax,   sys573,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "DDR Max - Dance Dance Revolution 6th Mix (G*B19 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4459GAME( 2002, ddrmax2,  sys573,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "DDR Max 2 - Dance Dance Revolution 7th Mix (G*B20 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
4460GAME( 2002, dsem2,    sys573,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "Dancing Stage Euro Mix 2 (G*C23 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
4461GAME( 2002, ddrextrm, sys573,   pccard2,   ddr,       ddrdigital, ROT0, "Konami", "Dance Dance Revolution Extreme (G*C36 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
4462GAME( 2004, gtfrk11m, sys573,   pccard1,   gtrfrks,   gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 11th Mix (G*D39 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
src/mame/drivers/sbrkout.c
r9191r9192
3737#include "sbrkout.lh"
3838
3939
40class sbrkout_state : public driver_device
41{
42public:
43   sbrkout_state(running_machine &machine, const driver_device_config_base &config)
44      : driver_device(machine, config) { }
4045
46   UINT8 *videoram;
47};
48
49
50
51
4152/*************************************
4253 *
4354 *  Constants
r9191r9192
8596
8697static MACHINE_START( sbrkout )
8798{
88   memory_set_bankptr(machine, "bank1", &machine->generic.videoram.u8[0x380]);
99   sbrkout_state *state = machine->driver_data<sbrkout_state>();
100   UINT8 *videoram = state->videoram;
101   memory_set_bankptr(machine, "bank1", &videoram[0x380]);
89102   scanline_timer = timer_alloc(machine, scanline_callback, NULL);
90103   pot_timer = timer_alloc(machine, pot_trigger_callback, NULL);
91104
r9191r9192
110123
111124static TIMER_CALLBACK( scanline_callback )
112125{
126   sbrkout_state *state = machine->driver_data<sbrkout_state>();
127   UINT8 *videoram = state->videoram;
113128   int scanline = param;
114129
115130   /* force a partial update before anything happens */
r9191r9192
120135      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
121136
122137   /* update the DAC state */
123   dac_data_w(machine->device("dac"), (machine->generic.videoram.u8[0x380 + 0x11] & (scanline >> 2)) ? 255 : 0);
138   dac_data_w(machine->device("dac"), (videoram[0x380 + 0x11] & (scanline >> 2)) ? 255 : 0);
124139
125140   /* on the VBLANK, read the pot and schedule an interrupt time for it */
126141   if (scanline == machine->primary_screen->visible_area().max_y + 1)
r9191r9192
279294
280295static TILE_GET_INFO( get_bg_tile_info )
281296{
282   int code = (machine->generic.videoram.u8[tile_index] & 0x80) ? machine->generic.videoram.u8[tile_index] : 0;
297   sbrkout_state *state = machine->driver_data<sbrkout_state>();
298   UINT8 *videoram = state->videoram;
299   int code = (videoram[tile_index] & 0x80) ? videoram[tile_index] : 0;
283300   SET_TILE_INFO(0, code, 0, 0);
284301}
285302
r9191r9192
292309
293310static WRITE8_HANDLER( sbrkout_videoram_w )
294311{
295   space->machine->generic.videoram.u8[offset] = data;
312   sbrkout_state *state = space->machine->driver_data<sbrkout_state>();
313   UINT8 *videoram = state->videoram;
314   videoram[offset] = data;
296315   tilemap_mark_tile_dirty(bg_tilemap, offset);
297316}
298317
r9191r9192
306325
307326static VIDEO_UPDATE( sbrkout )
308327{
328   sbrkout_state *state = screen->machine->driver_data<sbrkout_state>();
329   UINT8 *videoram = state->videoram;
309330   int ball;
310331
311332   tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
312333
313334   for (ball = 2; ball >= 0; ball--)
314335   {
315      int code = ((screen->machine->generic.videoram.u8[0x380 + 0x18 + ball * 2 + 1] & 0x80) >> 7);
316      int sx = 31 * 8 - screen->machine->generic.videoram.u8[0x380 + 0x10 + ball * 2];
317      int sy = 30 * 8 - screen->machine->generic.videoram.u8[0x380 + 0x18 + ball * 2];
336      int code = ((videoram[0x380 + 0x18 + ball * 2 + 1] & 0x80) >> 7);
337      int sx = 31 * 8 - videoram[0x380 + 0x10 + ball * 2];
338      int sy = 30 * 8 - videoram[0x380 + 0x18 + ball * 2];
318339
319340      drawgfx_transpen(bitmap, cliprect, screen->machine->gfx[1], code, 0, 0, 0, sx, sy, 0);
320341   }
r9191r9192
333354static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
334355   ADDRESS_MAP_GLOBAL_MASK(0x3fff)
335356   AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x380) AM_RAMBANK("bank1")
336   AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(sbrkout_videoram_w) AM_BASE_GENERIC(videoram)
357   AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(sbrkout_videoram_w) AM_BASE_MEMBER(sbrkout_state, videoram)
337358   AM_RANGE(0x0800, 0x083f) AM_READ(switches_r)
338359   AM_RANGE(0x0840, 0x0840) AM_MIRROR(0x003f) AM_READ_PORT("COIN")
339360   AM_RANGE(0x0880, 0x0880) AM_MIRROR(0x003f) AM_READ_PORT("START")
r9191r9192
475496 *
476497 *************************************/
477498
478static MACHINE_DRIVER_START( sbrkout )
499static MACHINE_CONFIG_START( sbrkout, sbrkout_state )
479500
480501   /* basic machine hardware */
481502   MDRV_CPU_ADD("maincpu", M6502,MAIN_CLOCK/16)      /* 375 KHz? Should be 750KHz? */
r9191r9192
501522   MDRV_SPEAKER_STANDARD_MONO("mono")
502523   MDRV_SOUND_ADD("dac", DAC, 0)
503524   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
504MACHINE_DRIVER_END
525MACHINE_CONFIG_END
505526
506527
507528
src/mame/drivers/bladestl.c
r9191r9192
333333      state->last_track[i] = 0;
334334}
335335
336static MACHINE_DRIVER_START( bladestl )
336static MACHINE_CONFIG_START( bladestl, bladestl_state )
337337
338   /* driver data */
339   MDRV_DRIVER_DATA(bladestl_state)
340
341338   /* basic machine hardware */
342339   MDRV_CPU_ADD("maincpu", HD6309, 24000000/2)      /* 24MHz/2 (?) */
343340   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
380377   MDRV_SOUND_ADD("ymsnd", YM2203, 3579545)
381378   MDRV_SOUND_CONFIG(ym2203_config)
382379   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
383MACHINE_DRIVER_END
380MACHINE_CONFIG_END
384381
385382
386383/*************************************
src/mame/drivers/bwidow.c
r9191r9192
709709 *
710710 *************************************/
711711
712static MACHINE_DRIVER_START( bwidow )
712static MACHINE_CONFIG_START( bwidow, driver_device )
713713
714714   /* basic machine hardware */
715715   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 8)
r9191r9192
737737   MDRV_SOUND_ADD("pokey2", POKEY, MASTER_CLOCK / 8)
738738   MDRV_SOUND_CONFIG(pokey_interface_2)
739739   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
740MACHINE_DRIVER_END
740MACHINE_CONFIG_END
741741
742742
743static MACHINE_DRIVER_START( gravitar )
743static MACHINE_CONFIG_DERIVED( gravitar, bwidow )
744744
745745   /* basic machine hardware */
746   MDRV_IMPORT_FROM(bwidow)
747746
748747   /* video hardware */
749748   MDRV_SCREEN_MODIFY("screen")
750749   MDRV_SCREEN_VISIBLE_AREA(0, 420, 0, 400)
751MACHINE_DRIVER_END
750MACHINE_CONFIG_END
752751
753752
754static MACHINE_DRIVER_START( lunarbat )
753static MACHINE_CONFIG_DERIVED( lunarbat, gravitar )
755754
756755   /* basic machine hardware */
757   MDRV_IMPORT_FROM(gravitar)
758756   MDRV_CPU_MODIFY("maincpu")
759757   MDRV_CPU_PROGRAM_MAP(spacduel_map)
760758
r9191r9192
762760   MDRV_SCREEN_MODIFY("screen")
763761   MDRV_SCREEN_REFRESH_RATE(45)
764762   MDRV_SCREEN_VISIBLE_AREA(0, 500, 0, 440)
765MACHINE_DRIVER_END
763MACHINE_CONFIG_END
766764
767765
768static MACHINE_DRIVER_START( spacduel )
766static MACHINE_CONFIG_DERIVED( spacduel, gravitar )
769767
770768   /* basic machine hardware */
771   MDRV_IMPORT_FROM(gravitar)
772769   MDRV_CPU_MODIFY("maincpu")
773770   MDRV_CPU_PROGRAM_MAP(spacduel_map)
774771
r9191r9192
776773   MDRV_SCREEN_MODIFY("screen")
777774   MDRV_SCREEN_REFRESH_RATE(45)
778775   MDRV_SCREEN_VISIBLE_AREA(0, 540, 0, 400)
779MACHINE_DRIVER_END
776MACHINE_CONFIG_END
780777
781778
782779
src/mame/drivers/srumbler.c
r9191r9192
1515#include "deprecat.h"
1616#include "cpu/m6809/m6809.h"
1717#include "sound/2203intf.h"
18#include "includes/srumbler.h"
1819
19extern UINT8 *srumbler_backgroundram,*srumbler_foregroundram;
2020
21WRITE8_HANDLER( srumbler_background_w );
22WRITE8_HANDLER( srumbler_foreground_w );
23WRITE8_HANDLER( srumbler_scroll_w );
24WRITE8_HANDLER( srumbler_4009_w );
25
26VIDEO_START( srumbler );
27VIDEO_UPDATE( srumbler );
28VIDEO_EOF( srumbler );
29
30
31
3221static WRITE8_HANDLER( srumbler_bankswitch_w )
3322{
3423   /*
r9191r9192
242231
243232
244233
245static MACHINE_DRIVER_START( srumbler )
234static MACHINE_CONFIG_START( srumbler, driver_device )
246235
247236   /* basic machine hardware */
248237   MDRV_CPU_ADD("maincpu", M6809, 1500000)        /* 1.5 MHz (?) */
r9191r9192
286275   MDRV_SOUND_ROUTE(1, "mono", 0.10)
287276   MDRV_SOUND_ROUTE(2, "mono", 0.10)
288277   MDRV_SOUND_ROUTE(3, "mono", 0.30)
289MACHINE_DRIVER_END
278MACHINE_CONFIG_END
290279
291280
292281
src/mame/drivers/mcr68.c
r9191r9192
5757#include "cpu/m68000/m68000.h"
5858#include "audio/mcr.h"
5959#include "audio/williams.h"
60#include "includes/mcr.h"
60#include "machine/nvram.h"
61#include "includes/mcr68.h"
6162
6263
6364
r9191r9192
314315   ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
315316   AM_RANGE(0x000000, 0x03ffff) AM_ROM
316317   AM_RANGE(0x060000, 0x063fff) AM_RAM
317   AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
318   AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_MEMBER(mcr68_state, videoram)
318319   AM_RANGE(0x071000, 0x071fff) AM_RAM
319320   AM_RANGE(0x080000, 0x080fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
320321   AM_RANGE(0x090000, 0x09007f) AM_WRITE(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
r9191r9192
342343   AM_RANGE(0x104000, 0x104007) AM_DEVREADWRITE8("pia0", pia6821_r, pia6821_w, 0xff00)
343344   AM_RANGE(0x108000, 0x108007) AM_DEVREADWRITE8("pia1", pia6821_r, pia6821_w, 0x00ff)
344345   AM_RANGE(0x10c000, 0x10c007) AM_DEVREADWRITE8("pia2", pia6821_r, pia6821_w, 0x00ff)
345   AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(zwackery_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
346   AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(zwackery_videoram_w) AM_BASE_MEMBER(mcr68_state, videoram)
346347   AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(zwackery_paletteram_w) AM_BASE_GENERIC(paletteram)
347348   AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(zwackery_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
348349ADDRESS_MAP_END
r9191r9192
363364   AM_RANGE(0x0a0000, 0x0affff) AM_READ(pigskin_port_2_r)
364365   AM_RANGE(0x0c0000, 0x0c007f) AM_WRITE(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
365366   AM_RANGE(0x0e0000, 0x0effff) AM_WRITE(watchdog_reset16_w)
366   AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
367   AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_MEMBER(mcr68_state, videoram)
367368   AM_RANGE(0x120000, 0x120001) AM_READWRITE(pigskin_protection_r, pigskin_protection_w)
368369   AM_RANGE(0x140000, 0x143fff) AM_RAM
369370   AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
r9191r9192
386387   AM_RANGE(0x000000, 0x03ffff) AM_ROM
387388   AM_RANGE(0x080000, 0x08ffff) AM_READ(trisport_port_1_r)
388389   AM_RANGE(0x0a0000, 0x0affff) AM_READ_PORT("DSW")
389   AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
390   AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("nvram")
390391   AM_RANGE(0x120000, 0x12007f) AM_WRITE(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
391392   AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
392   AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
393   AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_MEMBER(mcr68_state, videoram)
393394   AM_RANGE(0x180000, 0x18000f) AM_READWRITE(mcr68_6840_upper_r, mcr68_6840_upper_w)
394395   AM_RANGE(0x1a0000, 0x1affff) AM_WRITE(archrivl_control_w)
395396   AM_RANGE(0x1c0000, 0x1cffff) AM_WRITE(watchdog_reset16_w)
r9191r9192
886887 *
887888 *************************************/
888889
890static const gfx_layout mcr68_bg_layout =
891{
892   8,8,
893   RGN_FRAC(1,2),
894   4,
895   { STEP2(RGN_FRAC(1,2),1), STEP2(RGN_FRAC(0,2),1) },
896   { STEP8(0,2) },
897   { STEP8(0,16) },
898   16*8
899};
900
901
902static const gfx_layout mcr68_sprite_layout =
903{
904   32,32,
905   RGN_FRAC(1,4),
906   4,
907   { STEP4(0,1) },
908   { STEP2(RGN_FRAC(0,4)+0,4), STEP2(RGN_FRAC(1,4)+0,4), STEP2(RGN_FRAC(2,4)+0,4), STEP2(RGN_FRAC(3,4)+0,4),
909     STEP2(RGN_FRAC(0,4)+8,4), STEP2(RGN_FRAC(1,4)+8,4), STEP2(RGN_FRAC(2,4)+8,4), STEP2(RGN_FRAC(3,4)+8,4),
910     STEP2(RGN_FRAC(0,4)+16,4), STEP2(RGN_FRAC(1,4)+16,4), STEP2(RGN_FRAC(2,4)+16,4), STEP2(RGN_FRAC(3,4)+16,4),
911     STEP2(RGN_FRAC(0,4)+24,4), STEP2(RGN_FRAC(1,4)+24,4), STEP2(RGN_FRAC(2,4)+24,4), STEP2(RGN_FRAC(3,4)+24,4) },
912   { STEP32(0,32) },
913   32*32
914};
915
889916static const gfx_layout zwackery_layout =
890917{
891918   16,16,
r9191r9192
899926};
900927
901928static GFXDECODE_START( mcr68 )
902   GFXDECODE_SCALE( "gfx1", 0, mcr_bg_layout,     0, 4, 2, 2 )
903   GFXDECODE_ENTRY( "gfx2", 0, mcr_sprite_layout, 0, 4 )
929   GFXDECODE_SCALE( "gfx1", 0, mcr68_bg_layout,     0, 4, 2, 2 )
930   GFXDECODE_ENTRY( "gfx2", 0, mcr68_sprite_layout, 0, 4 )
904931GFXDECODE_END
905932
906933static GFXDECODE_START( zwackery )
907934   GFXDECODE_ENTRY( "gfx1", 0, zwackery_layout,       0, 16 )
908   GFXDECODE_ENTRY( "gfx2", 0, mcr_sprite_layout, 0x800, 32 )
935   GFXDECODE_ENTRY( "gfx2", 0, mcr68_sprite_layout, 0x800, 32 )
909936   GFXDECODE_ENTRY( "gfx1", 0, zwackery_layout,       0, 16 )   /* yes, an extra copy */
910937GFXDECODE_END
911938
r9191r9192
945972
946973=================================================================*/
947974
948static MACHINE_DRIVER_START( zwackery )
975static MACHINE_CONFIG_START( zwackery, mcr68_state )
949976
950977   /* basic machine hardware */
951978   MDRV_CPU_ADD("maincpu", M68000, 7652400)   /* should be XTAL_16MHz/2 */
r9191r9192
9751002   MDRV_VIDEO_UPDATE(zwackery)
9761003
9771004   /* sound hardware */
978   MDRV_IMPORT_FROM(chip_squeak_deluxe)
979MACHINE_DRIVER_END
1005   MDRV_FRAGMENT_ADD(chip_squeak_deluxe)
1006MACHINE_CONFIG_END
9801007
9811008
982static MACHINE_DRIVER_START( mcr68 )
1009static MACHINE_CONFIG_START( mcr68, mcr68_state )
9831010
9841011   /* basic machine hardware */
9851012   MDRV_CPU_ADD("maincpu", M68000, 7723800)
r9191r9192
10051032   MDRV_VIDEO_UPDATE(mcr68)
10061033
10071034   /* sound hardware -- determined by specific machine */
1008MACHINE_DRIVER_END
1035MACHINE_CONFIG_END
10091036
10101037
1011static MACHINE_DRIVER_START( xenophob )
1038static MACHINE_CONFIG_DERIVED( xenophob, mcr68 )
10121039
10131040   /* basic machine hardware */
1014   MDRV_IMPORT_FROM(mcr68)
1015   MDRV_IMPORT_FROM(sounds_good)
1016MACHINE_DRIVER_END
1041   MDRV_FRAGMENT_ADD(sounds_good)
1042MACHINE_CONFIG_END
10171043
1018static MACHINE_DRIVER_START( intlaser )
1044static MACHINE_CONFIG_DERIVED( intlaser, mcr68 )
10191045
10201046   /* basic machine hardware */
1021   MDRV_IMPORT_FROM(mcr68)
1022   MDRV_IMPORT_FROM(sounds_good)
1047   MDRV_FRAGMENT_ADD(sounds_good)
10231048
10241049   MDRV_WATCHDOG_VBLANK_INIT(800)
1025MACHINE_DRIVER_END
1050MACHINE_CONFIG_END
10261051
10271052
1028static MACHINE_DRIVER_START( spyhunt2 )
1053static MACHINE_CONFIG_DERIVED( spyhunt2, mcr68 )
10291054
10301055   /* basic machine hardware */
1031   MDRV_IMPORT_FROM(mcr68)
1032   MDRV_IMPORT_FROM(sounds_good)
1056   MDRV_FRAGMENT_ADD(sounds_good)
10331057   MDRV_DEVICE_REMOVE("mono")
1034   MDRV_IMPORT_FROM(turbo_chip_squeak)
1035MACHINE_DRIVER_END
1058   MDRV_FRAGMENT_ADD(turbo_chip_squeak)
1059MACHINE_CONFIG_END
10361060
10371061
1038static MACHINE_DRIVER_START( archrivl )
1062static MACHINE_CONFIG_DERIVED( archrivl, mcr68 )
10391063
10401064   /* basic machine hardware */
1041   MDRV_IMPORT_FROM(mcr68)
1042   MDRV_IMPORT_FROM(williams_cvsd_sound)
1043MACHINE_DRIVER_END
1065   MDRV_FRAGMENT_ADD(williams_cvsd_sound)
1066MACHINE_CONFIG_END
10441067
10451068
1046static MACHINE_DRIVER_START( pigskin )
1069static MACHINE_CONFIG_DERIVED( pigskin, mcr68 )
10471070
10481071   /* basic machine hardware */
1049   MDRV_IMPORT_FROM(mcr68)
1050   MDRV_IMPORT_FROM(williams_cvsd_sound)
1072   MDRV_FRAGMENT_ADD(williams_cvsd_sound)
10511073
10521074   MDRV_CPU_MODIFY("maincpu")
10531075   MDRV_CPU_PROGRAM_MAP(pigskin_map)
1054MACHINE_DRIVER_END
1076MACHINE_CONFIG_END
10551077
10561078
1057static MACHINE_DRIVER_START( trisport )
1079static MACHINE_CONFIG_DERIVED( trisport, mcr68 )
10581080
10591081   /* basic machine hardware */
1060   MDRV_IMPORT_FROM(mcr68)
1061   MDRV_IMPORT_FROM(williams_cvsd_sound)
1082   MDRV_FRAGMENT_ADD(williams_cvsd_sound)
10621083
10631084   MDRV_CPU_MODIFY("maincpu")
10641085   MDRV_CPU_PROGRAM_MAP(trisport_map)
10651086
1066   MDRV_NVRAM_HANDLER(generic_0fill)
1067MACHINE_DRIVER_END
1087   MDRV_NVRAM_ADD_0FILL("nvram")
1088MACHINE_CONFIG_END
10681089
10691090
10701091
src/mame/drivers/pbaction.c
r9191r9192
269269   state->scroll = 0;
270270}
271271
272static MACHINE_DRIVER_START( pbaction )
272static MACHINE_CONFIG_START( pbaction, pbaction_state )
273273
274   /* driver data */
275   MDRV_DRIVER_DATA(pbaction_state)
276
277274   /* basic machine hardware */
278275   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4 MHz? */
279276   MDRV_CPU_PROGRAM_MAP(pbaction_map)
r9191r9192
313310
314311   MDRV_SOUND_ADD("ay3", AY8910, 1500000)
315312   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
316MACHINE_DRIVER_END
313MACHINE_CONFIG_END
317314
318315
319316
src/mame/drivers/re900.c
r9191r9192
7878#include "cpu/mcs51/mcs51.h"
7979#include "video/tms9928a.h"
8080#include "sound/ay8910.h"
81#include "machine/nvram.h"
8182#include "re900.lh"
8283
8384static UINT8 *re900_rom;
r9191r9192
209210
210211static ADDRESS_MAP_START( mem_io, ADDRESS_SPACE_IO, 8 )
211212   AM_RANGE(0x0000, 0xbfff) AM_READ (rom_r)
212   AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
213   AM_RANGE(0xc000, 0xdfff) AM_RAM AM_SHARE("nvram")
213214   AM_RANGE(0xe000, 0xe000) AM_WRITE(TMS9928A_vram_w)
214215   AM_RANGE(0xe001, 0xe001) AM_WRITE(TMS9928A_register_w)
215216   AM_RANGE(0xe800, 0xe801) AM_DEVWRITE("ay_re900", ay8910_address_data_w)
r9191r9192
387388*      Machine Driver      *
388389***************************/
389390
390static MACHINE_DRIVER_START( re900 )
391static MACHINE_CONFIG_START( re900, driver_device )
391392
392393   /* basic machine hardware */
393394   MDRV_CPU_ADD("maincpu", I8051, MAIN_CLOCK)
r9191r9192
396397   MDRV_CPU_VBLANK_INT("screen", re900_video_interrupt)
397398
398399   /* video hardware */
399   MDRV_IMPORT_FROM(tms9928a)
400   MDRV_FRAGMENT_ADD(tms9928a)
400401   MDRV_SCREEN_MODIFY("screen")
401402   MDRV_SCREEN_REFRESH_RATE(60)
402403
403   MDRV_NVRAM_HANDLER(generic_0fill)
404   MDRV_NVRAM_ADD_0FILL("nvram")
404405
405406   /* sound hardware   */
406407   MDRV_SPEAKER_STANDARD_MONO("mono")
407408   MDRV_SOUND_ADD("ay_re900", AY8910, TMS_CLOCK) /* From TMS9128NL - Pin 37 (GROMCLK) */
408409   MDRV_SOUND_CONFIG(ay8910_re900)
409410   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
410MACHINE_DRIVER_END
411MACHINE_CONFIG_END
411412
412static MACHINE_DRIVER_START( bs94 )
413static MACHINE_CONFIG_DERIVED( bs94, re900 )
413414
414   MDRV_IMPORT_FROM(re900)
415
416415   /* sound hardware   */
417416   MDRV_SOUND_MODIFY("ay_re900")
418417   MDRV_SOUND_CONFIG(ay8910_bs94)
419418   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
420MACHINE_DRIVER_END
419MACHINE_CONFIG_END
421420
422421
423422/*************************
src/mame/drivers/funworld.c
r9191r9192
743743#include "video/mc6845.h"
744744#include "machine/6821pia.h"
745745#include "sound/ay8910.h"
746#include "machine/nvram.h"
746747#include "jollycrd.lh"
747748#include "bigdeal.lh"
748749#include "royalcrd.lh"
750#include "includes/funworld.h"
749751
750/* from video */
751extern UINT8* funworld_videoram;
752extern UINT8* funworld_colorram;
753
754WRITE8_HANDLER( funworld_videoram_w );
755WRITE8_HANDLER( funworld_colorram_w );
756PALETTE_INIT( funworld );
757VIDEO_START( funworld );
758VIDEO_START( magicrd2 );
759VIDEO_UPDATE( funworld );
760
761
762752/**********************
763753* Read/Write Handlers *
764754**********************/
r9191r9192
801791*************************/
802792
803793static ADDRESS_MAP_START( funworld_map, ADDRESS_SPACE_PROGRAM, 8 )
804   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
794   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
805795   AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
806796   AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
807797   AM_RANGE(0x0c00, 0x0c00) AM_DEVREAD("ay8910", ay8910_r)
r9191r9192
835825}
836826
837827static ADDRESS_MAP_START( funquiz_map, ADDRESS_SPACE_PROGRAM, 8 )
838   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
828   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
839829   AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
840830   AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
841831   AM_RANGE(0x0c00, 0x0c00) AM_DEVREAD("ay8910", ay8910_r)
r9191r9192
853843ADDRESS_MAP_END
854844
855845static ADDRESS_MAP_START( magicrd2_map, ADDRESS_SPACE_PROGRAM, 8 )
856   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
846   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
857847   AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
858848   AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
859849   AM_RANGE(0x0c00, 0x0c00) AM_DEVREAD("ay8910", ay8910_r)
r9191r9192
869859ADDRESS_MAP_END
870860
871861static ADDRESS_MAP_START( cuoreuno_map, ADDRESS_SPACE_PROGRAM, 8 )
872   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
862   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
873863   AM_RANGE(0x0800, 0x0803) AM_DEVREADWRITE("pia0", pia6821_r, pia6821_w)
874864   AM_RANGE(0x0a00, 0x0a03) AM_DEVREADWRITE("pia1", pia6821_r, pia6821_w)
875865   AM_RANGE(0x0c00, 0x0c00) AM_DEVREAD("ay8910", ay8910_r)
r9191r9192
884874ADDRESS_MAP_END
885875
886876static ADDRESS_MAP_START( saloon_map, ADDRESS_SPACE_PROGRAM, 8 )
887   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
877   AM_RANGE(0x0000, 0x07ff) AM_RAM AM_SHARE("nvram")
888878   AM_RANGE(0x0800, 0x0800) AM_READ_PORT("IN0")
889879   AM_RANGE(0x0a01, 0x0a01) AM_READ_PORT("IN1")
890880   AM_RANGE(0x081c, 0x081c) AM_DEVWRITE("crtc", mc6845_address_w)
r9191r9192
951941   PORT_DIPNAME( 0x01, 0x01, "State" )            PORT_DIPLOCATION("SW1:8")
952942   PORT_DIPSETTING(    0x00, "Keyboard Test" )
953943   PORT_DIPSETTING(    0x01, "Play" )
954   PORT_DIPNAME( 0x02, 0x00, "Remote" )         PORT_DIPLOCATION("SW1:7")
944   PORT_DIPNAME( 0x02, 0x00, "Remote Value" )         PORT_DIPLOCATION("SW1:7")
955945   PORT_DIPSETTING(    0x00, "10 Points/Pulse" )
956946   PORT_DIPSETTING(    0x02, "100 Points/Pulse" )
957947   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coin_B ) )   PORT_DIPLOCATION("SW1:6")
r9191r9192
10121002   PORT_DIPNAME( 0x01, 0x01, "State" )            PORT_DIPLOCATION("SW1:8")
10131003   PORT_DIPSETTING(    0x00, "Keyboard Test" )
10141004   PORT_DIPSETTING(    0x01, "Play" )
1015   PORT_DIPNAME( 0x02, 0x00, "Remote" )         PORT_DIPLOCATION("SW1:7")
1005   PORT_DIPNAME( 0x02, 0x00, "Remote Value" )         PORT_DIPLOCATION("SW1:7")
10161006   PORT_DIPSETTING(    0x00, "10 Points/Pulse" )
10171007   PORT_DIPSETTING(    0x02, "100 Points/Pulse" )
10181008   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )   PORT_DIPLOCATION("SW1:6")
r9191r9192
10731063   PORT_DIPNAME( 0x01, 0x01, "State" )            PORT_DIPLOCATION("SW1:8")
10741064   PORT_DIPSETTING(    0x00, "Keyboard Test" )
10751065   PORT_DIPSETTING(    0x01, "Play" )
1076   PORT_DIPNAME( 0x02, 0x00, "Remote" )         PORT_DIPLOCATION("SW1:7")
1066   PORT_DIPNAME( 0x02, 0x00, "Remote Value" )         PORT_DIPLOCATION("SW1:7")
10771067   PORT_DIPSETTING(    0x00, "10 Points/Pulse" )
10781068   PORT_DIPSETTING(    0x02, "50 Points/Pulse" )
10791069   PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_A ) )   PORT_DIPLOCATION("SW1:5,6")
r9191r9192
11331123   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )   PORT_DIPLOCATION("SW1:8")
11341124   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
11351125   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1136   PORT_DIPNAME( 0x02, 0x00, "Remote" )         PORT_DIPLOCATION("SW1:7")
1126   PORT_DIPNAME( 0x02, 0x00, "Remote Value" )         PORT_DIPLOCATION("SW1:7")
11371127   PORT_DIPSETTING(    0x00, "10 Points/Pulse" )
11381128   PORT_DIPSETTING(    0x02, "100 Points/Pulse" )
11391129   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )   PORT_DIPLOCATION("SW1:6")
r9191r9192
12561246   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )   PORT_DIPLOCATION("SW1:7")
12571247   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
12581248   PORT_DIPSETTING(    0x02, DEF_STR( On ) )
1259   PORT_DIPNAME( 0x04, 0x00, "Remote" )         PORT_DIPLOCATION("SW1:6")
1249   PORT_DIPNAME( 0x04, 0x00, "Remote Value" )         PORT_DIPLOCATION("SW1:6")
12601250   PORT_DIPSETTING(    0x00, "10 Points/Pulse" )
12611251   PORT_DIPSETTING(    0x04, "100 Points/Pulse" )
12621252   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Coin_A ) )   PORT_DIPLOCATION("SW1:5")
r9191r9192
13751365   PORT_DIPNAME( 0x01, 0x01, "State" )            PORT_DIPLOCATION("SW1:8")
13761366   PORT_DIPSETTING(    0x00, "Keyboard Test" )
13771367   PORT_DIPSETTING(    0x01, "Play" )
1378   PORT_DIPNAME( 0x02, 0x02, "Remote" )         PORT_DIPLOCATION("SW1:7")   /* listed as 'Coin-C' in some sources */
1368   PORT_DIPNAME( 0x02, 0x02, "Remote Value" )         PORT_DIPLOCATION("SW1:7")   /* listed as 'Coin-C' in some sources */
13791369   PORT_DIPSETTING(    0x00, "10 Points/Pulse" )
13801370   PORT_DIPSETTING(    0x02, "100 Points/Pulse" )
13811371   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Coin_B ) )   PORT_DIPLOCATION("SW1:6")
r9191r9192
15551545   PORT_DIPNAME( 0x01, 0x01, "State" )            PORT_DIPLOCATION("SW1:8")
15561546   PORT_DIPSETTING(    0x00, "Keyboard Test" )
15571547   PORT_DIPSETTING(    0x01, "Play" )
1558   PORT_DIPNAME( 0x02, 0x00, "Remote" )         PORT_DIPLOCATION("SW1:7")
1548   PORT_DIPNAME( 0x02, 0x00, "Remote Value" )         PORT_DIPLOCATION("SW1:7")
15591549   PORT_DIPSETTING(    0x00, "10 Points/Pulse" )
15601550   PORT_DIPSETTING(    0x02, "100 Points/Pulse" )
15611551   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Coin_B ) )   PORT_DIPLOCATION("SW1:6")
r9191r9192
16781668   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )   PORT_DIPLOCATION("SW1:8")
16791669   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
16801670   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1681   PORT_DIPNAME( 0x02, 0x02, "Remote" )         PORT_DIPLOCATION("SW1:7")
1671   PORT_DIPNAME( 0x02, 0x02, "Remote Value" )         PORT_DIPLOCATION("SW1:7")
16821672   PORT_DIPSETTING(    0x00, "100 Points/Pulse" )
16831673   PORT_DIPSETTING(    0x02, "1000 Points/Pulse" )
16841674   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )   PORT_DIPLOCATION("SW1:6")
r9191r9192
17391729   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )   PORT_DIPLOCATION("SW1:8")
17401730   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
17411731   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1742   PORT_DIPNAME( 0x02, 0x02, "Remote" )         PORT_DIPLOCATION("SW1:7")
1732   PORT_DIPNAME( 0x02, 0x02, "Remote Value" )         PORT_DIPLOCATION("SW1:7")
17431733   PORT_DIPSETTING(    0x00, "100 Points/Pulse" )
17441734   PORT_DIPSETTING(    0x02, "1000 Points/Pulse" )
17451735   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )   PORT_DIPLOCATION("SW1:6")
r9191r9192
21162106*     Machine Drivers     *
21172107**************************/
21182108
2119static MACHINE_DRIVER_START( fw1stpal )
2109static MACHINE_CONFIG_START( fw1stpal, driver_device )
21202110    /* basic machine hardware */
21212111   MDRV_CPU_ADD("maincpu", M65SC02, MASTER_CLOCK/8)   /* 2MHz */
21222112   MDRV_CPU_PROGRAM_MAP(funworld_map)
21232113   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
21242114
2125   MDRV_NVRAM_HANDLER(generic_0fill)
2115   MDRV_NVRAM_ADD_0FILL("nvram")
21262116
21272117   MDRV_PIA6821_ADD("pia0", pia0_intf)
21282118   MDRV_PIA6821_ADD("pia1", pia1_intf)
r9191r9192
21512141   MDRV_SOUND_ADD("ay8910", AY8910, MASTER_CLOCK/8)   /* 2MHz */
21522142   MDRV_SOUND_CONFIG(ay8910_intf)
21532143   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.5)   /* analyzed to avoid clips */
2154MACHINE_DRIVER_END
2144MACHINE_CONFIG_END
21552145
2156static MACHINE_DRIVER_START( fw2ndpal )
2157   MDRV_IMPORT_FROM(fw1stpal)
2146static MACHINE_CONFIG_DERIVED( fw2ndpal, fw1stpal )
21582147
21592148   MDRV_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8)   /* 2MHz */
21602149   MDRV_CPU_PROGRAM_MAP(funworld_map)
21612150   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
21622151
21632152   MDRV_GFXDECODE(fw2ndpal)
2164MACHINE_DRIVER_END
2153MACHINE_CONFIG_END
21652154
21662155
21672156
2168static MACHINE_DRIVER_START( funquiz )
2169   MDRV_IMPORT_FROM(fw1stpal)
2170//  MDRV_IMPORT_FROM(fw2ndpal)
2157static MACHINE_CONFIG_DERIVED( funquiz, fw1stpal )
2158//  MDRV_FRAGMENT_ADD(fw2ndpal)
21712159
21722160   MDRV_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8)   /* 2MHz */
21732161   MDRV_CPU_PROGRAM_MAP(funquiz_map)
r9191r9192
21762164   MDRV_SOUND_REPLACE("ay8910", AY8910, MASTER_CLOCK/8)   /* 2MHz */
21772165   MDRV_SOUND_CONFIG(funquiz_ay8910_intf)
21782166   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.5)
2179MACHINE_DRIVER_END
2167MACHINE_CONFIG_END
21802168
21812169
2182static MACHINE_DRIVER_START( magicrd2 )
2183   MDRV_IMPORT_FROM(fw1stpal)
2170static MACHINE_CONFIG_DERIVED( magicrd2, fw1stpal )
21842171
21852172   MDRV_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8)   /* 2MHz */
21862173   MDRV_CPU_PROGRAM_MAP(magicrd2_map)
r9191r9192
21912178   MDRV_SOUND_REPLACE("ay8910", AY8910, MASTER_CLOCK/8)   /* 2MHz */
21922179   MDRV_SOUND_CONFIG(ay8910_intf)
21932180   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.5)   /* analyzed to avoid clips */
2194MACHINE_DRIVER_END
2181MACHINE_CONFIG_END
21952182
2196static MACHINE_DRIVER_START( royalcd1 )
2197   MDRV_IMPORT_FROM(fw1stpal)
2183static MACHINE_CONFIG_DERIVED( royalcd1, fw1stpal )
21982184
21992185   MDRV_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8)   /* (G65SC02P in pro version) 2MHz */
22002186   MDRV_CPU_PROGRAM_MAP(magicrd2_map)
22012187   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
2202MACHINE_DRIVER_END
2188MACHINE_CONFIG_END
22032189
2204static MACHINE_DRIVER_START( royalcd2 )
2205   MDRV_IMPORT_FROM(fw2ndpal)
2190static MACHINE_CONFIG_DERIVED( royalcd2, fw2ndpal )
22062191
22072192   MDRV_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8)   /* 2MHz */
22082193   MDRV_CPU_PROGRAM_MAP(magicrd2_map)
22092194   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
2210MACHINE_DRIVER_END
2195MACHINE_CONFIG_END
22112196
2212static MACHINE_DRIVER_START( cuoreuno )
2213   MDRV_IMPORT_FROM(fw1stpal)
2197static MACHINE_CONFIG_DERIVED( cuoreuno, fw1stpal )
22142198
22152199   MDRV_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8)   /* 2MHz */
22162200   MDRV_CPU_PROGRAM_MAP(cuoreuno_map)
22172201   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
2218MACHINE_DRIVER_END
2202MACHINE_CONFIG_END
22192203
2220static MACHINE_DRIVER_START( saloon )
2221   MDRV_IMPORT_FROM(fw1stpal)
2204static MACHINE_CONFIG_DERIVED( saloon, fw1stpal )
22222205
22232206   MDRV_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8)   /* 2MHz */
22242207   MDRV_CPU_PROGRAM_MAP(saloon_map)
22252208   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
2226MACHINE_DRIVER_END
2209MACHINE_CONFIG_END
22272210
22282211
22292212
src/mame/drivers/overdriv.c
r9191r9192
3636
3737***************************************************************************/
3838
39static const UINT8 overdriv_default_eeprom[128] =
39static const UINT16 overdriv_default_eeprom[64] =
4040{
41   0x77,0x58,0xFF,0xFF,0x00,0x78,0x90,0x00,0x00,0x78,0x70,0x00,0x00,0x78,0x50,0x00,
42   0x54,0x41,0x4B,0x51,0x31,0x36,0x46,0x55,0x4A,0xFF,0x03,0x00,0x02,0x70,0x02,0x50,
43   0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,
44   0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,
45   0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,
46   0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,
47   0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,
48   0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03,0x00,0xB4,0x03
41   0x7758,0xFFFF,0x0078,0x9000,0x0078,0x7000,0x0078,0x5000,
42   0x5441,0x4B51,0x3136,0x4655,0x4AFF,0x0300,0x0270,0x0250,
43   0x00B4,0x0300,0xB403,0x00B4,0x0300,0xB403,0x00B4,0x0300,
44   0xB403,0x00B4,0x0300,0xB403,0x00B4,0x0300,0xB403,0x00B4,
45   0x0300,0xB403,0x00B4,0x0300,0xB403,0x00B4,0x0300,0xB403,
46   0x00B4,0x0300,0xB403,0x00B4,0x0300,0xB403,0x00B4,0x0300,
47   0xB403,0x00B4,0x0300,0xB403,0x00B4,0x0300,0xB403,0x00B4,
48   0x0300,0xB403,0x00B4,0x0300,0xB403,0x00B4,0x0300,0xB403
4949};
5050
5151
r9191r9192
329329   cputag_set_input_line(machine, "sub", INPUT_LINE_RESET, ASSERT_LINE);
330330}
331331
332static MACHINE_DRIVER_START( overdriv )
332static MACHINE_CONFIG_START( overdriv, overdriv_state )
333333
334   /* driver data */
335   MDRV_DRIVER_DATA(overdriv_state)
336
337334   /* basic machine hardware */
338335   MDRV_CPU_ADD("maincpu", M68000,24000000/2)   /* 12 MHz */
339336   MDRV_CPU_PROGRAM_MAP(overdriv_master_map)
r9191r9192
393390   MDRV_SOUND_CONFIG(k053260_config)
394391   MDRV_SOUND_ROUTE(0, "lspeaker", 0.35)
395392   MDRV_SOUND_ROUTE(1, "rspeaker", 0.35)
396MACHINE_DRIVER_END
393MACHINE_CONFIG_END
397394
398395
399396
src/mame/drivers/jackpool.c
r9191r9192
167167   AM_RANGE(0x380000, 0x380061) AM_READWRITE(jackpool_io_r,jackpool_io_w) AM_BASE(&jackpool_io)//AM_READ(jackpool_io_r)
168168
169169   AM_RANGE(0x800000, 0x80000f) AM_READ(jackpool_ff_r) AM_WRITENOP //UART
170   AM_RANGE(0xa00000, 0xa00001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
170   AM_RANGE(0xa00000, 0xa00001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
171171ADDRESS_MAP_END
172172
173173
r9191r9192
239239}
240240
241241
242static MACHINE_DRIVER_START( jackpool )
242static MACHINE_CONFIG_START( jackpool, driver_device )
243243   MDRV_CPU_ADD("maincpu", M68000, 12000000) // ?
244244   MDRV_CPU_PROGRAM_MAP(jackpool_mem)
245245   MDRV_CPU_VBLANK_INT("screen",jackpool_interrupt)  // ?
r9191r9192
264264
265265   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
266266   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
267MACHINE_DRIVER_END
267MACHINE_CONFIG_END
268268
269269
270270ROM_START( jackpool )
src/mame/drivers/spcforce.c
r9191r9192
3535#include "cpu/i8085/i8085.h"
3636#include "cpu/mcs48/mcs48.h"
3737#include "sound/sn76496.h"
38#include "includes/spcforce.h"
3839
3940
40extern UINT8 *spcforce_videoram;
41extern UINT8 *spcforce_colorram;
42extern UINT8 *spcforce_scrollram;
43
44WRITE8_HANDLER( spcforce_flip_screen_w );
45VIDEO_UPDATE( spcforce );
46
47
48static int spcforce_SN76496_latch;
49static int spcforce_SN76496_select;
50
5141static WRITE8_HANDLER( spcforce_SN76496_latch_w )
5242{
53   spcforce_SN76496_latch = data;
43   spcforce_state *state = space->machine->driver_data<spcforce_state>();
44
45   state->sn76496_latch = data;
5446}
5547
5648static READ8_HANDLER( spcforce_SN76496_select_r )
5749{
58   if (~spcforce_SN76496_select & 0x40) return sn76496_ready_r(space->machine->device("sn1"));
59   if (~spcforce_SN76496_select & 0x20) return sn76496_ready_r(space->machine->device("sn2"));
60   if (~spcforce_SN76496_select & 0x10) return sn76496_ready_r(space->machine->device("sn3"));
50   spcforce_state *state = space->machine->driver_data<spcforce_state>();
6151
52   if (~state->sn76496_select & 0x40) return sn76496_ready_r(space->machine->device("sn1"));
53   if (~state->sn76496_select & 0x20) return sn76496_ready_r(space->machine->device("sn2"));
54   if (~state->sn76496_select & 0x10) return sn76496_ready_r(space->machine->device("sn3"));
55
6256   return 0;
6357}
6458
6559static WRITE8_HANDLER( spcforce_SN76496_select_w )
6660{
67    spcforce_SN76496_select = data;
61   spcforce_state *state = space->machine->driver_data<spcforce_state>();
6862
69   if (~data & 0x40)  sn76496_w(space->machine->device("sn1"), 0, spcforce_SN76496_latch);
70   if (~data & 0x20)  sn76496_w(space->machine->device("sn2"), 0, spcforce_SN76496_latch);
71   if (~data & 0x10)  sn76496_w(space->machine->device("sn3"), 0, spcforce_SN76496_latch);
63   state->sn76496_select = data;
64
65   if (~data & 0x40) sn76496_w(space->machine->device("sn1"), 0, state->sn76496_latch);
66   if (~data & 0x20) sn76496_w(space->machine->device("sn2"), 0, state->sn76496_latch);
67   if (~data & 0x10) sn76496_w(space->machine->device("sn3"), 0, state->sn76496_latch);
7268}
7369
7470static READ8_HANDLER( spcforce_t0_r )
r9191r9192
9389   AM_RANGE(0x700b, 0x700b) AM_WRITE(spcforce_flip_screen_w)
9490   AM_RANGE(0x700e, 0x700e) AM_WRITE(interrupt_enable_w)
9591   AM_RANGE(0x700f, 0x700f) AM_WRITENOP
96   AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE(&spcforce_videoram)
97   AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE(&spcforce_colorram)
98   AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_BASE(&spcforce_scrollram)
92   AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE_MEMBER(spcforce_state, videoram)
93   AM_RANGE(0x9000, 0x93ff) AM_RAM AM_BASE_MEMBER(spcforce_state, colorram)
94   AM_RANGE(0xa000, 0xa3ff) AM_RAM AM_BASE_MEMBER(spcforce_state, scrollram)
9995ADDRESS_MAP_END
10096
10197static ADDRESS_MAP_START( spcforce_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
242238}
243239
244240
245static MACHINE_DRIVER_START( spcforce )
241static MACHINE_CONFIG_START( spcforce, spcforce_state )
246242
247243   /* basic machine hardware */
248244   /* FIXME: The 8085A had a max clock of 6MHz, internally divided by 2! */
r9191r9192
279275
280276   MDRV_SOUND_ADD("sn3", SN76496, 2000000)
281277   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
282MACHINE_DRIVER_END
278MACHINE_CONFIG_END
283279
284280
285281/***************************************************************************
src/mame/drivers/gsword.c
r9191r9192
147147#include "machine/tait8741.h"
148148#include "sound/ay8910.h"
149149#include "sound/msm5205.h"
150#include "includes/gsword.h"
150151
151
152extern WRITE8_HANDLER( gsword_charbank_w );
153extern WRITE8_HANDLER( gsword_videoctrl_w );
154extern WRITE8_HANDLER( gsword_videoram_w );
155extern WRITE8_HANDLER( gsword_scroll_w );
156
157extern PALETTE_INIT( josvolly );
158extern PALETTE_INIT( gsword );
159extern VIDEO_START( gsword );
160extern VIDEO_UPDATE( gsword );
161
162extern size_t gsword_spritexy_size;
163
164extern UINT8 *gsword_spritexy_ram;
165extern UINT8 *gsword_spritetile_ram;
166extern UINT8 *gsword_spriteattrib_ram;
167
168152static int coins;
169153static int fake8910_0,fake8910_1;
170154
r9191r9192
374358   AM_RANGE(0xaa80, 0xaa80) AM_WRITE(gsword_videoctrl_w)   /* flip screen, char palette bank */
375359   AM_RANGE(0xab00, 0xab00) AM_WRITE(gsword_scroll_w)
376360   AM_RANGE(0xab80, 0xabff) AM_WRITEONLY AM_BASE(&gsword_spriteattrib_ram)
377   AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(gsword_videoram_w) AM_BASE_GENERIC(videoram)
361   AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(gsword_videoram_w) AM_BASE_MEMBER(gsword_state, videoram)
378362ADDRESS_MAP_END
379363
380364static ADDRESS_MAP_START( cpu1_io_map, ADDRESS_SPACE_IO, 8 )
r9191r9192
692676   MSM5205_SEX_4B   /* vclk input mode    */
693677};
694678
695static MACHINE_DRIVER_START( gsword )
679static MACHINE_CONFIG_START( gsword, gsword_state )
696680
697681   /* basic machine hardware */
698682   MDRV_CPU_ADD("maincpu", Z80, XTAL_18MHz/6) /* verified on pcb */
r9191r9192
745729   MDRV_SOUND_ADD("msm", MSM5205, XTAL_400kHz) /* verified on pcb */
746730   MDRV_SOUND_CONFIG(msm5205_config)
747731   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
748MACHINE_DRIVER_END
732MACHINE_CONFIG_END
749733
750static MACHINE_DRIVER_START( josvolly )
734static MACHINE_CONFIG_START( josvolly, gsword_state )
751735
752736   /* basic machine hardware */
753737   MDRV_CPU_ADD("maincpu", Z80, 18000000/6) /* ? */
r9191r9192
793777   MDRV_SOUND_CONFIG(msm5205_config)
794778   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
795779#endif
796MACHINE_DRIVER_END
780MACHINE_CONFIG_END
797781
798782/***************************************************************************
799783
src/mame/drivers/nmg5.c
r9191r9192
226226#include "sound/3812intf.h"
227227
228228
229class nmg5_state : public driver_data_t
229class nmg5_state : public driver_device
230230{
231231public:
232   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, nmg5_state(machine)); }
232   nmg5_state(running_machine &machine, const driver_device_config_base &config)
233      : driver_device(machine, config) { }
233234
234   nmg5_state(running_machine &machine)
235      : driver_data_t(machine) { }
236
237235   /* memory pointers */
238236   UINT16 *    fg_videoram;
239237   UINT16 *    bg_videoram;
r9191r9192
385383   AM_RANGE(0x00, 0x00) AM_DEVWRITE("oki", oki_banking_w)
386384   AM_RANGE(0x10, 0x11) AM_DEVREADWRITE("ymsnd", ym3812_r, ym3812_w)
387385   AM_RANGE(0x18, 0x18) AM_READ(soundlatch_r)
388   AM_RANGE(0x1c, 0x1c) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
386   AM_RANGE(0x1c, 0x1c) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
389387ADDRESS_MAP_END
390388
391389static INPUT_PORTS_START( nmg5 )
r9191r9192
10321030   state->input_data = 0;
10331031}
10341032
1035static MACHINE_DRIVER_START( nmg5 )
1033static MACHINE_CONFIG_START( nmg5, nmg5_state )
10361034
1037   /* driver data */
1038   MDRV_DRIVER_DATA(nmg5_state)
1039
10401035   /* basic machine hardware */
10411036   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz */
10421037   MDRV_CPU_PROGRAM_MAP(nmg5_map)
r9191r9192
10721067
10731068   MDRV_OKIM6295_ADD("oki", 1000000 , OKIM6295_PIN7_HIGH)
10741069   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1075MACHINE_DRIVER_END
1070MACHINE_CONFIG_END
10761071
1077static MACHINE_DRIVER_START( garogun )
1072static MACHINE_CONFIG_DERIVED( garogun, nmg5 )
1073
10781074   /* basic machine hardware */
1079   MDRV_IMPORT_FROM(nmg5)
10801075
10811076   MDRV_CPU_MODIFY("maincpu")
10821077   MDRV_CPU_PROGRAM_MAP(pclubys_map)
10831078
10841079   MDRV_CPU_MODIFY("soundcpu")
10851080   MDRV_CPU_PROGRAM_MAP(pclubys_sound_map)
1086MACHINE_DRIVER_END
1081MACHINE_CONFIG_END
10871082
10881083
1089static MACHINE_DRIVER_START( pclubys )
1084static MACHINE_CONFIG_DERIVED( pclubys, nmg5 )
1085
10901086   /* basic machine hardware */
1091   MDRV_IMPORT_FROM(nmg5)
10921087
10931088   MDRV_CPU_MODIFY("maincpu")
10941089   MDRV_CPU_PROGRAM_MAP(pclubys_map)
r9191r9192
10971092   MDRV_CPU_PROGRAM_MAP(pclubys_sound_map)
10981093
10991094   MDRV_GFXDECODE(pclubys)
1100MACHINE_DRIVER_END
1095MACHINE_CONFIG_END
11011096
1102static MACHINE_DRIVER_START( searchp2 )
1097static MACHINE_CONFIG_DERIVED( searchp2, nmg5 )
1098
11031099   /* basic machine hardware */
1104   MDRV_IMPORT_FROM(nmg5)
11051100
11061101   MDRV_SCREEN_MODIFY("screen")
11071102   MDRV_SCREEN_REFRESH_RATE(55) // !
11081103
11091104   MDRV_GFXDECODE(pclubys)
1110MACHINE_DRIVER_END
1105MACHINE_CONFIG_END
11111106
1112static MACHINE_DRIVER_START( 7ordi )
1107static MACHINE_CONFIG_DERIVED( 7ordi, nmg5 )
1108
11131109   /* basic machine hardware */
1114   MDRV_IMPORT_FROM(nmg5)
11151110
11161111   MDRV_CPU_MODIFY("soundcpu")
11171112   MDRV_CPU_PROGRAM_MAP(pclubys_sound_map)
1118MACHINE_DRIVER_END
1113MACHINE_CONFIG_END
11191114
11201115
11211116/*
src/mame/drivers/xmen.c
r9191r9192
366366   xmen_sprite_callback
367367};
368368
369static MACHINE_DRIVER_START( xmen )
369static MACHINE_CONFIG_START( xmen, xmen_state )
370370
371   /* driver data */
372   MDRV_DRIVER_DATA(xmen_state)
373
374371   /* basic machine hardware */
375372   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)   /* verified on pcb */
376373   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
411408   MDRV_SOUND_ADD("k054539", K054539, 48000)
412409   MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
413410   MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
414MACHINE_DRIVER_END
411MACHINE_CONFIG_END
415412
416413
417414static MACHINE_START( xmen6p )
r9191r9192
458455   xmen_sprite_callback
459456};
460457
461static MACHINE_DRIVER_START( xmen6p )
458static MACHINE_CONFIG_START( xmen6p, xmen_state )
462459
463   /* driver data */
464   MDRV_DRIVER_DATA(xmen_state)
465
466460   /* basic machine hardware */
467461   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* ? */
468462   MDRV_CPU_PROGRAM_MAP(6p_main_map)
r9191r9192
513507   MDRV_SOUND_ADD("k054539", K054539, 48000)
514508   MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
515509   MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
516MACHINE_DRIVER_END
510MACHINE_CONFIG_END
517511
518512
519513/***************************************************************************
src/mame/drivers/mario.c
r9191r9192
317317 *
318318 *************************************/
319319
320static MACHINE_DRIVER_START( mario_base )
320static MACHINE_CONFIG_START( mario_base, mario_state )
321321
322   /* driver data */
323   MDRV_DRIVER_DATA(mario_state)
324
325322   /* basic machine hardware */
326323   MDRV_CPU_ADD("maincpu", Z80, Z80_CLOCK)   /* verified on pcb */
327324   MDRV_CPU_PROGRAM_MAP(mario_map)
r9191r9192
342339   MDRV_VIDEO_START(mario)
343340   MDRV_VIDEO_UPDATE(mario)
344341
345MACHINE_DRIVER_END
342MACHINE_CONFIG_END
346343
347static MACHINE_DRIVER_START( mario )
344static MACHINE_CONFIG_DERIVED( mario, mario_base )
348345
349346   /* basic machine hardware */
350   MDRV_IMPORT_FROM(mario_base )
351347
352348   /* sound hardware */
353   MDRV_IMPORT_FROM(mario_audio)
354MACHINE_DRIVER_END
349   MDRV_FRAGMENT_ADD(mario_audio)
350MACHINE_CONFIG_END
355351
356352
357static MACHINE_DRIVER_START( masao )
353static MACHINE_CONFIG_DERIVED( masao, mario_base )
358354
359355   /* basic machine hardware */
360   MDRV_IMPORT_FROM(mario_base )
361356
362357   MDRV_CPU_MODIFY("maincpu")
363358   MDRV_CPU_CLOCK(4000000)        /* 4.000 MHz (?) */
364359   MDRV_CPU_PROGRAM_MAP(masao_map)
365360
366361   /* sound hardware */
367   MDRV_IMPORT_FROM(masao_audio)
368MACHINE_DRIVER_END
362   MDRV_FRAGMENT_ADD(masao_audio)
363MACHINE_CONFIG_END
369364
370365
371366/*************************************
src/mame/drivers/nbmj8900.c
r9191r9192
2929#include "sound/dac.h"
3030#include "sound/ay8910.h"
3131#include "sound/3812intf.h"
32#include "includes/nbmj8900.h"
3233
3334
3435#define SIGNED_DAC   0      // 0:unsigned DAC, 1:signed DAC
r9191r9192
4041
4142
4243
43extern VIDEO_UPDATE( nbmj8900 );
44extern VIDEO_START( nbmj8900_2layer );
4544
46extern READ8_HANDLER( nbmj8900_palette_type1_r );
47extern WRITE8_HANDLER( nbmj8900_palette_type1_w );
48extern WRITE8_HANDLER( nbmj8900_blitter_w );
49extern WRITE8_HANDLER( nbmj8900_scrolly_w );
50extern WRITE8_HANDLER( nbmj8900_vramsel_w );
51extern WRITE8_HANDLER( nbmj8900_romsel_w );
52extern WRITE8_HANDLER( nbmj8900_clutsel_w );
53extern READ8_HANDLER( nbmj8900_clut_r );
54extern WRITE8_HANDLER( nbmj8900_clut_w );
55
56
5745static DRIVER_INIT( ohpaipee )
5846{
5947#if 0
r9191r9192
328316
329317
330318
331static MACHINE_DRIVER_START( ohpaipee )
319static MACHINE_CONFIG_START( ohpaipee, driver_device )
332320
333321   /* basic machine hardware */
334322   MDRV_CPU_ADD("maincpu", Z80, 20000000/4)   /* 5.00 MHz ? */
r9191r9192
358346
359347   MDRV_SOUND_ADD("dac", DAC, 0)
360348   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
361MACHINE_DRIVER_END
349MACHINE_CONFIG_END
362350
363351
364static MACHINE_DRIVER_START( togenkyo )
352static MACHINE_CONFIG_DERIVED( togenkyo, ohpaipee )
365353
366354   /* basic machine hardware */
367   MDRV_IMPORT_FROM(ohpaipee)
368355   MDRV_CPU_MODIFY("maincpu")
369356   MDRV_CPU_PROGRAM_MAP(togenkyo_map)
370MACHINE_DRIVER_END
357MACHINE_CONFIG_END
371358
372359
373360
src/mame/drivers/wink.c
r9191r9192
1414#include "emu.h"
1515#include "cpu/z80/z80.h"
1616#include "sound/ay8910.h"
17#include "machine/nvram.h"
1718
19
20class wink_state : public driver_device
21{
22public:
23   wink_state(running_machine &machine, const driver_device_config_base &config)
24      : driver_device(machine, config) { }
25
26   UINT8 *videoram;
27};
28
29
1830static tilemap_t *bg_tilemap;
1931static UINT8 sound_flag;
2032static UINT8 tile_bank = 0;
r9191r9192
2234
2335static TILE_GET_INFO( get_bg_tile_info )
2436{
25   int code = machine->generic.videoram.u8[tile_index];
37   wink_state *state = machine->driver_data<wink_state>();
38   UINT8 *videoram = state->videoram;
39   int code = videoram[tile_index];
2640   code |= 0x200 * tile_bank;
2741
2842   // the 2 parts of the screen use different tile banking
r9191r9192
4761
4862static WRITE8_HANDLER( bgram_w )
4963{
50   space->machine->generic.videoram.u8[offset] = data;
64   wink_state *state = space->machine->driver_data<wink_state>();
65   UINT8 *videoram = state->videoram;
66   videoram[offset] = data;
5167   tilemap_mark_tile_dirty(bg_tilemap, offset);
5268}
5369
r9191r9192
88104static ADDRESS_MAP_START( wink_map, ADDRESS_SPACE_PROGRAM, 8 )
89105   AM_RANGE(0x0000, 0x7fff) AM_ROM
90106   AM_RANGE(0x8000, 0x87ff) AM_RAM
91   AM_RANGE(0x9000, 0x97ff) AM_RAM   AM_BASE_SIZE_GENERIC(nvram)
92   AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(bgram_w) AM_BASE_GENERIC(videoram)
107   AM_RANGE(0x9000, 0x97ff) AM_RAM   AM_SHARE("nvram")
108   AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(bgram_w) AM_BASE_MEMBER(wink_state, videoram)
93109ADDRESS_MAP_END
94110
95111
r9191r9192
311327   sound_flag = 0;
312328}
313329
314static MACHINE_DRIVER_START( wink )
330static MACHINE_CONFIG_START( wink, wink_state )
315331   /* basic machine hardware */
316332   MDRV_CPU_ADD("maincpu", Z80, 12000000 / 4)
317333   MDRV_CPU_PROGRAM_MAP(wink_map)
r9191r9192
323339   MDRV_CPU_IO_MAP(wink_sound_io)
324340   MDRV_CPU_PERIODIC_INT(wink_sound, 15625)
325341
326   MDRV_NVRAM_HANDLER(generic_1fill)
342   MDRV_NVRAM_ADD_1FILL("nvram")
327343   MDRV_MACHINE_RESET(wink)
328344
329345   /* video hardware */
r9191r9192
345361   MDRV_SOUND_ADD("aysnd", AY8912, 12000000 / 8)
346362   MDRV_SOUND_CONFIG(ay8912_interface)
347363   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
348MACHINE_DRIVER_END
364MACHINE_CONFIG_END
349365
350366/***************************************************************************
351367
src/mame/drivers/atarifb.c
r9191r9192
553553   state->counter_y_in2b = 0;
554554}
555555
556static MACHINE_DRIVER_START( atarifb )
556static MACHINE_CONFIG_START( atarifb, atarifb_state )
557557
558   /* driver data */
559   MDRV_DRIVER_DATA(atarifb_state)
560
561558   /* basic machine hardware */
562559   MDRV_CPU_ADD("maincpu", M6502, 750000)
563560   MDRV_CPU_PROGRAM_MAP(atarifb_map)
r9191r9192
586583   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
587584   MDRV_SOUND_CONFIG_DISCRETE(atarifb)
588585   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.18)
589MACHINE_DRIVER_END
586MACHINE_CONFIG_END
590587
591588
592static MACHINE_DRIVER_START( atarifb4 )
589static MACHINE_CONFIG_DERIVED( atarifb4, atarifb )
593590
594591   /* basic machine hardware */
595   MDRV_IMPORT_FROM(atarifb)
596592   MDRV_CPU_MODIFY("maincpu")
597593   MDRV_CPU_PROGRAM_MAP(atarifb4_map)
598MACHINE_DRIVER_END
594MACHINE_CONFIG_END
599595
600596
601static MACHINE_DRIVER_START( abaseb )
597static MACHINE_CONFIG_DERIVED( abaseb, atarifb )
602598
603599   /* basic machine hardware */
604   MDRV_IMPORT_FROM(atarifb)
605600   MDRV_CPU_MODIFY("maincpu")
606601   MDRV_CPU_PROGRAM_MAP(abaseb_map)
607602
r9191r9192
612607   MDRV_SOUND_REPLACE("discrete", DISCRETE, 0)
613608   MDRV_SOUND_CONFIG_DISCRETE(abaseb)
614609   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.24)
615MACHINE_DRIVER_END
610MACHINE_CONFIG_END
616611
617612
618static MACHINE_DRIVER_START( soccer )
613static MACHINE_CONFIG_DERIVED( soccer, atarifb )
619614
620615   /* basic machine hardware */
621   MDRV_IMPORT_FROM(atarifb)
622616   MDRV_CPU_MODIFY("maincpu")
623617   MDRV_CPU_PROGRAM_MAP(soccer_map)
624618
r9191r9192
627621   MDRV_SCREEN_VISIBLE_AREA(0*8, 38*8-1, 2*8, 32*8-1)
628622   MDRV_GFXDECODE(soccer)
629623   MDRV_VIDEO_UPDATE(soccer)
630MACHINE_DRIVER_END
624MACHINE_CONFIG_END
631625
632626
633627
src/mame/drivers/silkroad.c
r9191r9192
161161   AM_RANGE(0x808000, 0x80bfff) AM_RAM_WRITE(silkroad_fgram3_w) AM_BASE_MEMBER(silkroad_state,vidram3) // higher layer
162162   AM_RANGE(0xc00000, 0xc00003) AM_READ_PORT("INPUTS")
163163   AM_RANGE(0xc00004, 0xc00007) AM_READ_PORT("DSW")
164   AM_RANGE(0xc00024, 0xc00027) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff0000)
164   AM_RANGE(0xc00024, 0xc00027) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff0000)
165165   AM_RANGE(0xc00028, 0xc0002f) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff0000)
166   AM_RANGE(0xc00030, 0xc00033) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff0000)
166   AM_RANGE(0xc00030, 0xc00033) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff0000)
167167   AM_RANGE(0xc00034, 0xc00037) AM_DEVWRITE("oki1", silk_6295_bank_w)
168168   AM_RANGE(0xc00038, 0xc0003b) AM_WRITE(silk_coin_counter_w)
169169   AM_RANGE(0xc0010c, 0xc00123) AM_WRITEONLY AM_BASE_MEMBER(silkroad_state,regs)
r9191r9192
278278   GFXDECODE_ENTRY( "gfx1", 0, tiles16x16x6_layout,  0x0000, 256 )
279279GFXDECODE_END
280280
281static MACHINE_DRIVER_START( silkroad )
281static MACHINE_CONFIG_START( silkroad, silkroad_state )
282282
283   MDRV_DRIVER_DATA( silkroad_state )
284
285283   /* basic machine hardware */
286284   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)
287285   MDRV_CPU_PROGRAM_MAP(cpu_map)
r9191r9192
315313   MDRV_OKIM6295_ADD("oki2", 2112000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
316314   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.45)
317315   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.45)
318MACHINE_DRIVER_END
316MACHINE_CONFIG_END
319317
320318
321319/***************************************************************************
src/mame/drivers/lethal.c
r9191r9192
661661   lethalen_sprite_callback
662662};
663663
664static MACHINE_DRIVER_START( lethalen )
664static MACHINE_CONFIG_START( lethalen, lethal_state )
665665
666   /* driver data */
667   MDRV_DRIVER_DATA(lethal_state)
668
669666   /* basic machine hardware */
670667   MDRV_CPU_ADD("maincpu", HD6309, MAIN_CLOCK/2)    /* verified on pcb */
671668   MDRV_CPU_PROGRAM_MAP(le_main)
r9191r9192
708705   MDRV_SOUND_CONFIG(k054539_config)
709706   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
710707   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
711MACHINE_DRIVER_END
708MACHINE_CONFIG_END
712709
713static MACHINE_DRIVER_START( lethalej )
714   MDRV_IMPORT_FROM(lethalen)
710static MACHINE_CONFIG_DERIVED( lethalej, lethalen )
715711
716712   MDRV_SCREEN_MODIFY("screen")
717713   MDRV_SCREEN_VISIBLE_AREA(224, 512-1, 16, 240-1)
718714
719715   MDRV_DEVICE_REMOVE("k053244")
720716   MDRV_K053244_ADD("k053244", lethalej_k05324x_intf)
721MACHINE_DRIVER_END
717MACHINE_CONFIG_END
722718
723719ROM_START( lethalen )   // US version UAE
724720   ROM_REGION( 0x50000, "maincpu", 0 )
src/mame/drivers/exprraid.c
r9191r9192
493493   state->bg_index[3] = 0;
494494}
495495
496static MACHINE_DRIVER_START( exprraid )
496static MACHINE_CONFIG_START( exprraid, exprraid_state )
497497
498   /* driver data */
499   MDRV_DRIVER_DATA(exprraid_state)
500
501498   /* basic machine hardware */
502499   MDRV_CPU_ADD("maincpu", DECO16, 4000000)        /* 4 MHz ??? */
503500   MDRV_CPU_PROGRAM_MAP(master_map)
r9191r9192
533530   MDRV_SOUND_ADD("ym2", YM3526, 3600000)
534531   MDRV_SOUND_CONFIG(ym3526_config)
535532   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
536MACHINE_DRIVER_END
533MACHINE_CONFIG_END
537534
538static MACHINE_DRIVER_START( exprboot )
539   MDRV_IMPORT_FROM(exprraid)
535static MACHINE_CONFIG_DERIVED( exprboot, exprraid )
540536
541537   MDRV_CPU_REPLACE("maincpu", M6502, 4000000)        /* 4 MHz ??? */
542538   MDRV_CPU_PROGRAM_MAP(master_map)
543MACHINE_DRIVER_END
539MACHINE_CONFIG_END
544540
545541
546542/***************************************************************************
src/mame/drivers/tecmo16.c
r9191r9192
2828#include "cpu/z80/z80.h"
2929#include "sound/2151intf.h"
3030#include "sound/okim6295.h"
31#include "includes/tecmo16.h"
3132
32
33extern UINT16 *tecmo16_videoram;
34extern UINT16 *tecmo16_colorram;
35extern UINT16 *tecmo16_videoram2;
36extern UINT16 *tecmo16_colorram2;
37extern UINT16 *tecmo16_charram;
38
39WRITE16_HANDLER( tecmo16_videoram_w );
40WRITE16_HANDLER( tecmo16_colorram_w );
41WRITE16_HANDLER( tecmo16_videoram2_w );
42WRITE16_HANDLER( tecmo16_colorram2_w );
43WRITE16_HANDLER( tecmo16_charram_w );
44WRITE16_HANDLER( tecmo16_flipscreen_w );
45
46WRITE16_HANDLER( tecmo16_scroll_x_w );
47WRITE16_HANDLER( tecmo16_scroll_y_w );
48WRITE16_HANDLER( tecmo16_scroll2_x_w );
49WRITE16_HANDLER( tecmo16_scroll2_y_w );
50WRITE16_HANDLER( tecmo16_scroll_char_x_w );
51WRITE16_HANDLER( tecmo16_scroll_char_y_w );
52
53VIDEO_START( fstarfrc );
54VIDEO_START( ginkun );
55VIDEO_START( riot );
56VIDEO_UPDATE( tecmo16 );
57
5833/******************************************************************************/
5934
6035static WRITE16_HANDLER( tecmo16_sound_command_w )
r9191r9192
11994static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
12095   AM_RANGE(0x0000, 0xefff) AM_ROM
12196   AM_RANGE(0xf000, 0xfbff) AM_RAM   /* Sound RAM */
122   AM_RANGE(0xfc00, 0xfc00) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
97   AM_RANGE(0xfc00, 0xfc00) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
12398   AM_RANGE(0xfc04, 0xfc05) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
12499   AM_RANGE(0xfc08, 0xfc08) AM_READ(soundlatch_r)
125100   AM_RANGE(0xfc0c, 0xfc0c) AM_NOP
r9191r9192
398373
399374/******************************************************************************/
400375
401static MACHINE_DRIVER_START( fstarfrc )
376static MACHINE_CONFIG_START( fstarfrc, driver_device )
402377
403378   /* basic machine hardware */
404379   MDRV_CPU_ADD("maincpu", M68000,24000000/2)         /* 12MHz */
r9191r9192
435410   MDRV_OKIM6295_ADD("oki", 999900, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
436411   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
437412   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
438MACHINE_DRIVER_END
413MACHINE_CONFIG_END
439414
440static MACHINE_DRIVER_START( ginkun )
441   MDRV_IMPORT_FROM(fstarfrc)
415static MACHINE_CONFIG_DERIVED( ginkun, fstarfrc )
442416
443417   MDRV_CPU_MODIFY("maincpu")
444418   MDRV_CPU_PROGRAM_MAP(ginkun_map)
445419
446420   MDRV_VIDEO_START(ginkun)
447MACHINE_DRIVER_END
421MACHINE_CONFIG_END
448422
449static MACHINE_DRIVER_START( riot )
423static MACHINE_CONFIG_DERIVED( riot, ginkun )
424
450425   /* basic machine hardware */
451   MDRV_IMPORT_FROM(ginkun)
452426   MDRV_VIDEO_START(riot)
453MACHINE_DRIVER_END
427MACHINE_CONFIG_END
454428
455429/******************************************************************************/
456430
src/mame/drivers/2mindril.c
r9191r9192
4949#include "sound/2610intf.h"
5050
5151
52class _2mindril_state : public driver_data_t
52class _2mindril_state : public driver_device
5353{
5454public:
55   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, _2mindril_state(machine)); }
55   _2mindril_state(running_machine &machine, const driver_device_config_base &config)
56      : driver_device(machine, config) { }
5657
57   _2mindril_state(running_machine &machine)
58      : driver_data_t(machine) { }
59
6058   /* memory pointers */
6159   UINT16 *      map1ram;
6260   UINT16 *      map2ram;
r9191r9192
444442   state->shutter_sensor = 0;
445443}
446444
447static MACHINE_DRIVER_START( drill )
448   MDRV_DRIVER_DATA(_2mindril_state)
445static MACHINE_CONFIG_START( drill, _2mindril_state )
449446
450447   MDRV_CPU_ADD("maincpu", M68000, 16000000 )
451448   MDRV_CPU_PROGRAM_MAP(drill_map)
r9191r9192
474471   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
475472   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
476473   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
477MACHINE_DRIVER_END
474MACHINE_CONFIG_END
478475
479476
480477ROM_START( 2mindril )
src/mame/drivers/naughtyb.c
r9191r9192
105105#include "emu.h"
106106#include "cpu/z80/z80.h"
107107#include "sound/tms36xx.h"
108#include "includes/phoenix.h"
108#include "audio/pleiads.h"
109#include "includes/naughtyb.h"
109110
110111#define CLOCK_XTAL 12000000
111112
r9191r9192
249250static ADDRESS_MAP_START( naughtyb_map, ADDRESS_SPACE_PROGRAM, 8 )
250251   AM_RANGE(0x0000, 0x3fff) AM_ROM
251252   AM_RANGE(0x4000, 0x7fff) AM_RAM
252   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
253   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(naughtyb_state, videoram)
253254   AM_RANGE(0x8800, 0x8fff) AM_RAM AM_BASE(&naughtyb_videoram2)
254255   AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(naughtyb_videoreg_w)
255256   AM_RANGE(0x9800, 0x9fff) AM_RAM AM_BASE(&naughtyb_scrollreg)
r9191r9192
262263static ADDRESS_MAP_START( popflame_map, ADDRESS_SPACE_PROGRAM, 8 )
263264   AM_RANGE(0x0000, 0x3fff) AM_ROM
264265   AM_RANGE(0x4000, 0x7fff) AM_RAM
265   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
266   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(naughtyb_state, videoram)
266267   AM_RANGE(0x8800, 0x8fff) AM_RAM AM_BASE(&naughtyb_videoram2)
267268   AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(popflame_videoreg_w)
268269   AM_RANGE(0x9800, 0x9fff) AM_RAM AM_BASE(&naughtyb_scrollreg)
r9191r9192
433434
434435
435436
436static MACHINE_DRIVER_START( naughtyb )
437static MACHINE_CONFIG_START( naughtyb, naughtyb_state )
437438
438439   /* basic machine hardware */
439440   MDRV_CPU_ADD("maincpu", Z80, CLOCK_XTAL / 4) /* 12 MHz clock, divided by 4. CPU is a Z80A */
r9191r9192
465466
466467   MDRV_SOUND_ADD("naughtyb", NAUGHTYB, 0)
467468   MDRV_SOUND_ROUTE(0, "mono", 0.40)
468MACHINE_DRIVER_END
469MACHINE_CONFIG_END
469470
470471
471472/* Exactly the same but for certain address writes */
472static MACHINE_DRIVER_START( popflame )
473static MACHINE_CONFIG_START( popflame, naughtyb_state )
473474
474475   /* basic machine hardware */
475476   MDRV_CPU_ADD("maincpu", Z80, CLOCK_XTAL / 4) /* 12 MHz clock, divided by 4. CPU is a Z80A */
r9191r9192
500501
501502   MDRV_SOUND_ADD("popflame", POPFLAME, 0)
502503   MDRV_SOUND_ROUTE(0, "mono", 1.0)
503MACHINE_DRIVER_END
504MACHINE_CONFIG_END
504505
505506
506507
src/mame/drivers/taitowlf.c
r9191r9192
450450   AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("pic8259_1", pic8259_r, pic8259_w, 0xffffffff)
451451   AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("pit8254", pit8253_r, pit8253_w, 0xffffffff)
452452   AM_RANGE(0x0060, 0x006f) AM_READWRITE(kbdc8042_32le_r,         kbdc8042_32le_w)
453   AM_RANGE(0x0070, 0x007f) AM_READWRITE(mc146818_port32le_r,      mc146818_port32le_w)
453   AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8_MODERN("rtc", mc146818_device, read, write, 0xffffffff)
454454   AM_RANGE(0x0080, 0x009f) AM_READWRITE(at_page32_r,            at_page32_w)
455455   AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("pic8259_2", pic8259_r, pic8259_w, 0xffffffff)
456456   AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE("dma8237_2", at32_dma8237_2_r, at32_dma8237_2_w)
r9191r9192
597597   }
598598};
599599
600static MACHINE_DRIVER_START(taitowlf)
600static MACHINE_CONFIG_START( taitowlf, driver_device )
601601
602602   /* basic machine hardware */
603603   MDRV_CPU_ADD("maincpu", PENTIUM, 200000000)
r9191r9192
623623
624624   MDRV_IDE_CONTROLLER_ADD("ide", ide_interrupt)
625625
626   MDRV_NVRAM_HANDLER( mc146818 )
626   MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
627627
628628   /* video hardware */
629629   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
639639   MDRV_VIDEO_START(taitowlf)
640640   MDRV_VIDEO_UPDATE(taitowlf)
641641
642MACHINE_DRIVER_END
642MACHINE_CONFIG_END
643643
644644static void set_gate_a20(running_machine *machine, int a20)
645645{
r9191r9192
676676   bios_ram = auto_alloc_array(machine, UINT32, 0x10000/4);
677677
678678   init_pc_common(machine, PCCOMMON_KEYBOARD_AT, taitowlf_set_keyb_int);
679   mc146818_init(machine, MC146818_STANDARD);
680679
681680   intel82439tx_init();
682681
src/mame/drivers/taitogn.c
r9191r9192
328328#include "sound/psx.h"
329329#include "audio/taito_zm.h"
330330
331static intel_te28f160_device *biosflash;
332static intel_e28f400_device *pgmflash;
333static intel_te28f160_device *sndflash[3];
334
331335static unsigned char cis[512];
332336static int locked;
333337
r9191r9192
438442
439443// Flash handling
440444
441static UINT32 gen_flash_r(running_machine *machine, int chip, offs_t offset, UINT32 mem_mask)
445static UINT32 gen_flash_r(intelfsh16_device *device, offs_t offset, UINT32 mem_mask)
442446{
443447   UINT32 res = 0;
444448   offset *= 2;
445449   if(ACCESSING_BITS_0_15)
446      res |= intelflash_read(chip, offset);
450      res |= device->read(offset);
447451   if(ACCESSING_BITS_16_31)
448      res |= intelflash_read(chip, offset+1) << 16;
452      res |= device->read(offset+1) << 16;
449453   return res;
450454}
451455
452static void gen_flash_w(running_machine *machine, int chip, offs_t offset, UINT32 data, UINT32 mem_mask)
456static void gen_flash_w(intelfsh16_device *device, offs_t offset, UINT32 data, UINT32 mem_mask)
453457{
454458   offset *= 2;
455459   if(ACCESSING_BITS_0_15)
456      intelflash_write(chip, offset, data);
460      device->write(offset, data);
457461   if(ACCESSING_BITS_16_31)
458       intelflash_write(chip, offset+1, data >> 16);
462       device->write(offset+1, data >> 16);
459463}
460464
461465
462466static READ32_HANDLER(flash_subbios_r)
463467{
464   return gen_flash_r(space->machine, 0, offset, mem_mask);
468   return gen_flash_r(biosflash, offset, mem_mask);
465469}
466470
467471static WRITE32_HANDLER(flash_subbios_w)
468472{
469   gen_flash_w(space->machine, 0, offset, data, mem_mask);
473   gen_flash_w(biosflash, offset, data, mem_mask);
470474}
471475
472476static READ32_HANDLER(flash_mn102_r)
473477{
474   return gen_flash_r(space->machine, 1, offset, mem_mask);
478   return gen_flash_r(pgmflash, offset, mem_mask);
475479}
476480
477481static WRITE32_HANDLER(flash_mn102_w)
478482{
479   gen_flash_w(space->machine, 1, offset, data, mem_mask);
483   gen_flash_w(pgmflash, offset, data, mem_mask);
480484}
481485
482486static READ32_HANDLER(flash_s1_r)
483487{
484   return gen_flash_r(space->machine, 2, offset, mem_mask);
488   return gen_flash_r(sndflash[0], offset, mem_mask);
485489}
486490
487491static WRITE32_HANDLER(flash_s1_w)
488492{
489   gen_flash_w(space->machine, 2, offset, data, mem_mask);
493   gen_flash_w(sndflash[0], offset, data, mem_mask);
490494}
491495
492496static READ32_HANDLER(flash_s2_r)
493497{
494   return gen_flash_r(space->machine, 3, offset, mem_mask);
498   return gen_flash_r(sndflash[1], offset, mem_mask);
495499}
496500
497501static WRITE32_HANDLER(flash_s2_w)
498502{
499   gen_flash_w(space->machine, 3, offset, data, mem_mask);
503   gen_flash_w(sndflash[1], offset, data, mem_mask);
500504}
501505
502506static READ32_HANDLER(flash_s3_r)
503507{
504   return gen_flash_r(space->machine, 4, offset, mem_mask);
508   return gen_flash_r(sndflash[2], offset, mem_mask);
505509}
506510
507511static WRITE32_HANDLER(flash_s3_w)
508512{
509   gen_flash_w(space->machine, 4, offset, data, mem_mask);
513   gen_flash_w(sndflash[2], offset, data, mem_mask);
510514}
511515
512516
r9191r9192
800804
801805// Init and reset
802806
803static NVRAM_HANDLER( coh3002t )
804{
805   nvram_handler_intelflash(machine, 0, file, read_or_write);
806   nvram_handler_intelflash(machine, 1, file, read_or_write);
807   nvram_handler_intelflash(machine, 2, file, read_or_write);
808   nvram_handler_intelflash(machine, 3, file, read_or_write);
809   nvram_handler_intelflash(machine, 4, file, read_or_write);
810
811   if(!file) {
812      // Only the subbios needs to preexist for the board to work
813      memcpy(intelflash_getmemptr(0), memory_region(machine, "subbios"), 0x200000);
814   }
815}
816
817807static DRIVER_INIT( coh3002t )
818808{
819   // Sub-bios (u30)
820   intelflash_init(machine, 0, FLASH_INTEL_TE28F160, 0);
809   biosflash = machine->device<intel_te28f160_device>("biosflash");
810   pgmflash = machine->device<intel_e28f400_device>("pgmflash");
811   sndflash[0] = machine->device<intel_te28f160_device>("sndflash0");
812   sndflash[1] = machine->device<intel_te28f160_device>("sndflash1");
813   sndflash[2] = machine->device<intel_te28f160_device>("sndflash2");
821814
822   // mn102 program flash (u27)
823   intelflash_init(machine, 1, FLASH_INTEL_E28F400, 0);
824
825   // Samples (u29, u55, u56)
826   intelflash_init(machine, 2, FLASH_INTEL_TE28F160, 0);
827   intelflash_init(machine, 3, FLASH_INTEL_TE28F160, 0);
828   intelflash_init(machine, 4, FLASH_INTEL_TE28F160, 0);
829
830815   psx_driver_init(machine);
831816   znsec_init(0, tt10);
832817   znsec_init(1, tt16);
r9191r9192
916901   psx_dma_install_write_handler
917902};
918903
919static MACHINE_DRIVER_START( coh3002t )
904static MACHINE_CONFIG_START( coh3002t, driver_device )
920905   /* basic machine hardware */
921906   MDRV_CPU_ADD( "maincpu", PSXCPU, XTAL_100MHz )
922907   MDRV_CPU_PROGRAM_MAP( zn_map)
r9191r9192
948933
949934   MDRV_AT28C16_ADD( "at28c16", 0 )
950935   MDRV_IDE_CONTROLLER_ADD( "card", 0 )
951   MDRV_NVRAM_HANDLER( coh3002t )
952936
953937   MDRV_MB3773_ADD("mb3773")
954938
955   MDRV_IMPORT_FROM( taito_zoom_sound )
956MACHINE_DRIVER_END
939   MDRV_INTEL_TE28F160_ADD("biosflash")
940   MDRV_INTEL_E28F400_ADD("pgmflash")
941   MDRV_INTEL_TE28F160_ADD("sndflash0")
942   MDRV_INTEL_TE28F160_ADD("sndflash1")
943   MDRV_INTEL_TE28F160_ADD("sndflash2")
957944
945   MDRV_FRAGMENT_ADD( taito_zoom_sound )
946MACHINE_CONFIG_END
947
958948static INPUT_PORTS_START( coh3002t )
959949   PORT_START("P1")
960950   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
r9191r9192
10701060//
10711061
10721062#define ROM_LOAD16_WORD_BIOS(bios,name,offset,length,hash) \
1073      ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_BIOS(bios+1)) /* Note '+1' */
1063      ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_BIOS(bios+1)) /* Note '+1' */
10741064
10751065#define TAITOGNET_BIOS \
10761066   ROM_REGION32_LE( 0x080000, "mainbios", 0 ) \
10771067   ROM_LOAD( "coh-3002t.353", 0x000000, 0x080000, CRC(03967fa7) SHA1(0e17fec2286e4e25deb23d40e41ce0986f373d49) ) \
1078   ROM_REGION16_LE( 0x200000, "subbios", 0 ) \
1068   ROM_REGION( 0x200000, "biosflash", 0 ) \
10791069   ROM_SYSTEM_BIOS( 0, "v1",   "G-NET Bios v1" ) \
10801070       ROM_LOAD16_WORD_BIOS(0, "flash.u30", 0x000000, 0x200000, CRC(c48c8236) SHA1(c6dad60266ce2ff635696bc0d91903c543273559) ) \
10811071   ROM_SYSTEM_BIOS( 1, "v2",   "G-NET Bios v2" ) \
src/mame/drivers/gunbustr.c
r9191r9192
5151#include "sound/es5506.h"
5252#include "includes/taito_f3.h"
5353#include "audio/taito_en.h"
54#include "includes/gunbustr.h"
5455
55
56VIDEO_START( gunbustr );
57VIDEO_UPDATE( gunbustr );
58
5956static UINT16 coin_word;
6057static UINT32 *gunbustr_ram;
6158
r9191r9192
345342   0      /* col_base */
346343};
347344
348static MACHINE_DRIVER_START( gunbustr )
345static MACHINE_CONFIG_START( gunbustr, driver_device )
349346
350347   /* basic machine hardware */
351348   MDRV_CPU_ADD("maincpu", M68EC020, 16000000)   /* 16 MHz */
r9191r9192
371368   MDRV_TC0480SCP_ADD("tc0480scp", gunbustr_tc0480scp_intf)
372369
373370   /* sound hardware */
374   MDRV_IMPORT_FROM(taito_f3_sound)
375MACHINE_DRIVER_END
371   MDRV_FRAGMENT_ADD(taito_f3_sound)
372MACHINE_CONFIG_END
376373
377374/***************************************************************************/
378375
src/mame/drivers/scotrsht.c
r9191r9192
3737#include "cpu/m6809/m6809.h"
3838#include "sound/2203intf.h"
3939#include "includes/konamipt.h"
40#include "includes/scotrsht.h"
4041
41extern UINT8 *scotrsht_videoram;
42extern UINT8 *scotrsht_colorram;
43extern UINT8 *scotrsht_scroll;
44
45extern WRITE8_HANDLER( scotrsht_videoram_w );
46extern WRITE8_HANDLER( scotrsht_colorram_w );
47extern WRITE8_HANDLER( scotrsht_charbank_w );
48extern WRITE8_HANDLER( scotrsht_palettebank_w );
49
50extern PALETTE_INIT( scotrsht );
51extern VIDEO_START( scotrsht );
52extern VIDEO_UPDATE( scotrsht );
53
54static int irq_enable;
55
5642static WRITE8_HANDLER( ctrl_w )
5743{
58   irq_enable = data & 0x02;
44   scotrsht_state *state = space->machine->driver_data<scotrsht_state>();
45
46   state->irq_enable = data & 0x02;
5947   flip_screen_set(space->machine, data & 0x08);
6048}
6149
6250static INTERRUPT_GEN( scotrsht_interrupt )
6351{
64   if (irq_enable)
52   scotrsht_state *state = device->machine->driver_data<scotrsht_state>();
53
54   if (state->irq_enable)
6555      cpu_set_input_line(device, 0, HOLD_LINE);
6656}
6757
r9191r9192
7262}
7363
7464static ADDRESS_MAP_START( scotrsht_map, ADDRESS_SPACE_PROGRAM, 8 )
75   AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(scotrsht_colorram_w) AM_BASE(&scotrsht_colorram)
76    AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(scotrsht_videoram_w) AM_BASE(&scotrsht_videoram)
77    AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprites */
65   AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(scotrsht_colorram_w) AM_BASE_MEMBER(scotrsht_state, colorram)
66   AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(scotrsht_videoram_w) AM_BASE_MEMBER(scotrsht_state, videoram)
67   AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE_SIZE_MEMBER(scotrsht_state, spriteram, spriteram_size) /* sprites */
7868   AM_RANGE(0x10c0, 0x1fff) AM_RAM /* work ram */
79    AM_RANGE(0x2000, 0x201f) AM_RAM AM_BASE(&scotrsht_scroll) /* scroll registers */
69   AM_RANGE(0x2000, 0x201f) AM_RAM AM_BASE_MEMBER(scotrsht_state, scroll) /* scroll registers */
8070   AM_RANGE(0x2040, 0x2040) AM_WRITENOP
8171   AM_RANGE(0x2041, 0x2041) AM_WRITENOP
82    AM_RANGE(0x2042, 0x2042) AM_WRITENOP  /* it should be -> bit 2 = scroll direction like in jailbrek, but it's not used */
72   AM_RANGE(0x2042, 0x2042) AM_WRITENOP  /* it should be -> bit 2 = scroll direction like in jailbrek, but it's not used */
8373   AM_RANGE(0x2043, 0x2043) AM_WRITE(scotrsht_charbank_w)
84    AM_RANGE(0x2044, 0x2044) AM_WRITE(ctrl_w)
74   AM_RANGE(0x2044, 0x2044) AM_WRITE(ctrl_w)
8575   AM_RANGE(0x3000, 0x3000) AM_WRITE(scotrsht_palettebank_w)
8676   AM_RANGE(0x3100, 0x3100) AM_WRITE(scotrsht_soundlatch_w)
8777   AM_RANGE(0x3200, 0x3200) AM_WRITENOP /* it writes 0, 1 */
r9191r9192
9282   AM_RANGE(0x3302, 0x3302) AM_READ_PORT("P2")
9383   AM_RANGE(0x3303, 0x3303) AM_READ_PORT("DSW1")
9484   AM_RANGE(0x3300, 0x3300) AM_WRITE(watchdog_reset_w) /* watchdog */
95    AM_RANGE(0x4000, 0xffff) AM_ROM
85   AM_RANGE(0x4000, 0xffff) AM_ROM
9686ADDRESS_MAP_END
9787
9888static ADDRESS_MAP_START( scotrsht_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
99    AM_RANGE(0x0000, 0x3fff) AM_ROM
89   AM_RANGE(0x0000, 0x3fff) AM_ROM
10090   AM_RANGE(0x4000, 0x43ff) AM_RAM
10191   AM_RANGE(0x8000, 0x8000) AM_READ(soundlatch_r)
10292ADDRESS_MAP_END
r9191r9192
191181   GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 16*16*8, 16*8 ) /* sprites */
192182GFXDECODE_END
193183
194static MACHINE_DRIVER_START( scotrsht )
184static MACHINE_CONFIG_START( scotrsht, scotrsht_state )
195185
196186   /* basic machine hardware */
197187   MDRV_CPU_ADD("maincpu", M6809, 18432000/6)        /* 3.072 MHz */
r9191r9192
222212
223213   MDRV_SOUND_ADD("ymsnd", YM2203, 18432000/6)
224214   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
225MACHINE_DRIVER_END
215MACHINE_CONFIG_END
226216
227217
228218/***************************************************************************
src/mame/drivers/taito_z.c
r9191r9192
10001000                              EEPROM
10011001******************************************************************/
10021002
1003static const UINT8 spacegun_default_eeprom[128]=
1003static const UINT16 spacegun_default_eeprom[64]=
10041004{
1005   0x00,0x00,0x00,0xff,0x00,0x01,0x41,0x41,0x00,0x00,0x00,0xff,0x00,0x00,0xf0,0xf0,
1006   0x00,0x00,0x00,0xff,0x00,0x01,0x41,0x41,0x00,0x00,0x00,0xff,0x00,0x00,0xf0,0xf0,
1007   0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x01,0x40,0x00,0x00,0x00,0xf0,0x00,
1008   0x00,0x01,0x42,0x85,0x00,0x00,0xf1,0xe3,0x00,0x01,0x40,0x00,0x00,0x00,0xf0,0x00,
1009   0x00,0x01,0x42,0x85,0x00,0x00,0xf1,0xe3,0xcc,0xcb,0xff,0xff,0xff,0xff,0xff,0xff,
1010   0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
1011   0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
1012   0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
1005   0x0000,0x00ff,0x0001,0x4141,0x0000,0x00ff,0x0000,0xf0f0,
1006   0x0000,0x00ff,0x0001,0x4141,0x0000,0x00ff,0x0000,0xf0f0,
1007   0x0080,0x0080,0x0080,0x0080,0x0001,0x4000,0x0000,0xf000,
1008   0x0001,0x4285,0x0000,0xf1e3,0x0001,0x4000,0x0000,0xf000,
1009   0x0001,0x4285,0x0000,0xf1e3,0xcccb,0xffff,0xffff,0xffff,
1010   0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
1011   0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
1012   0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
10131013};
10141014
10151015static const eeprom_interface spacegun_eeprom_intf =
r9191r9192
30123012
30133013/* Contcirc vis area seems narrower than the other games... */
30143014
3015static MACHINE_DRIVER_START( contcirc )
3015static MACHINE_CONFIG_START( contcirc, taitoz_state )
30163016
3017   /* driver data */
3018   MDRV_DRIVER_DATA(taitoz_state)
3019
30203017   /* basic machine hardware */
30213018   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz ??? */
30223019   MDRV_CPU_PROGRAM_MAP(contcirc_map)
r9191r9192
30773074//  MDRV_SOUND_ADD("subwoofer", SUBWOOFER, 0)
30783075
30793076   MDRV_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3080MACHINE_DRIVER_END
3077MACHINE_CONFIG_END
30813078
30823079
3083static MACHINE_DRIVER_START( chasehq )
3080static MACHINE_CONFIG_START( chasehq, taitoz_state )
30843081
3085   /* driver data */
3086   MDRV_DRIVER_DATA(taitoz_state)
3087
30883082   /* basic machine hardware */
30893083   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz ??? */
30903084   MDRV_CPU_PROGRAM_MAP(chasehq_map)
r9191r9192
31433137   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
31443138
31453139   MDRV_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3146MACHINE_DRIVER_END
3140MACHINE_CONFIG_END
31473141
31483142
3149static MACHINE_DRIVER_START( enforce )
3143static MACHINE_CONFIG_START( enforce, taitoz_state )
31503144
3151   /* driver data */
3152   MDRV_DRIVER_DATA(taitoz_state)
3153
31543145   /* basic machine hardware */
31553146   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz ??? */
31563147   MDRV_CPU_PROGRAM_MAP(enforce_map)
r9191r9192
32123203//  MDRV_SOUND_ADD("subwoofer", SUBWOOFER, 0)
32133204
32143205   MDRV_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3215MACHINE_DRIVER_END
3206MACHINE_CONFIG_END
32163207
32173208
3218static MACHINE_DRIVER_START( bshark )
3209static MACHINE_CONFIG_START( bshark, taitoz_state )
32193210
3220   /* driver data */
3221   MDRV_DRIVER_DATA(taitoz_state)
3222
32233211   /* basic machine hardware */
32243212   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz ??? */
32253213   MDRV_CPU_PROGRAM_MAP(bshark_map)
r9191r9192
32753263   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
32763264
32773265   MDRV_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3278MACHINE_DRIVER_END
3266MACHINE_CONFIG_END
32793267
32803268
3281static MACHINE_DRIVER_START( sci )
3269static MACHINE_CONFIG_START( sci, taitoz_state )
32823270
3283   /* driver data */
3284   MDRV_DRIVER_DATA(taitoz_state)
3285
32863271   /* basic machine hardware */
32873272   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz ??? */
32883273   MDRV_CPU_PROGRAM_MAP(sci_map)
r9191r9192
33413326   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
33423327
33433328   MDRV_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3344MACHINE_DRIVER_END
3329MACHINE_CONFIG_END
33453330
33463331
3347static MACHINE_DRIVER_START( nightstr )
3332static MACHINE_CONFIG_START( nightstr, taitoz_state )
33483333
3349   /* driver data */
3350   MDRV_DRIVER_DATA(taitoz_state)
3351
33523334   /* basic machine hardware */
33533335   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz ??? */
33543336   MDRV_CPU_PROGRAM_MAP(nightstr_map)
r9191r9192
34093391   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "front", 1.0)
34103392
34113393   MDRV_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3412MACHINE_DRIVER_END
3394MACHINE_CONFIG_END
34133395
34143396
3415static MACHINE_DRIVER_START( aquajack )
3397static MACHINE_CONFIG_START( aquajack, taitoz_state )
34163398
3417   /* driver data */
3418   MDRV_DRIVER_DATA(taitoz_state)
3419
34203399   /* basic machine hardware */
34213400   MDRV_CPU_ADD("maincpu", M68000, 12000000)   /* 12 MHz ??? */
34223401   MDRV_CPU_PROGRAM_MAP(aquajack_map)
r9191r9192
34763455   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
34773456
34783457   MDRV_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3479MACHINE_DRIVER_END
3458MACHINE_CONFIG_END
34803459
34813460
3482static MACHINE_DRIVER_START( spacegun )
3461static MACHINE_CONFIG_START( spacegun, taitoz_state )
34833462
3484   /* driver data */
3485   MDRV_DRIVER_DATA(taitoz_state)
3486
34873463   /* basic machine hardware */
34883464   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz ??? */
34893465   MDRV_CPU_PROGRAM_MAP(spacegun_map)
r9191r9192
35393515   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
35403516
35413517   MDRV_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3542MACHINE_DRIVER_END
3518MACHINE_CONFIG_END
35433519
35443520
3545static MACHINE_DRIVER_START( dblaxle )
3521static MACHINE_CONFIG_START( dblaxle, taitoz_state )
35463522
3547   /* driver data */
3548   MDRV_DRIVER_DATA(taitoz_state)
3549
35503523   /* basic machine hardware */
35513524   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz ??? */
35523525   MDRV_CPU_PROGRAM_MAP(dblaxle_map)
r9191r9192
36053578   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
36063579
36073580   MDRV_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3608MACHINE_DRIVER_END
3581MACHINE_CONFIG_END
36093582
36103583
3611static MACHINE_DRIVER_START( racingb )
3584static MACHINE_CONFIG_START( racingb, taitoz_state )
36123585
3613   /* driver data */
3614   MDRV_DRIVER_DATA(taitoz_state)
3615
36163586   /* basic machine hardware */
36173587   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz ??? */
36183588   MDRV_CPU_PROGRAM_MAP(racingb_map)
r9191r9192
36713641   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
36723642
36733643   MDRV_TC0140SYT_ADD("tc0140syt", taitoz_tc0140syt_intf)
3674MACHINE_DRIVER_END
3644MACHINE_CONFIG_END
36753645
36763646
36773647/***************************************************************************
src/mame/drivers/msisaac.c
r9191r9192
526526#endif
527527}
528528
529static MACHINE_DRIVER_START( msisaac )
529static MACHINE_CONFIG_START( msisaac, buggychl_state )
530530
531   /* driver data */
532   MDRV_DRIVER_DATA(buggychl_state)
533
534531   /* basic machine hardware */
535532   MDRV_CPU_ADD("maincpu", Z80, 4000000)
536533   MDRV_CPU_PROGRAM_MAP(msisaac_map)
r9191r9192
584581   // pin 1 SOLO  8'       not mapped
585582   // pin 2 SOLO 16'       not mapped
586583   // pin 22 Noise Output  not mapped
587MACHINE_DRIVER_END
584MACHINE_CONFIG_END
588585
589586
590587/*******************************************************************************/
src/mame/drivers/playch10.c
r9191r9192
383383   AM_RANGE(0x0000, 0x3fff) AM_ROM
384384   AM_RANGE(0x8000, 0x87ff) AM_RAM   // 8V
385385   AM_RANGE(0x8800, 0x8fff) AM_READWRITE(ram_8w_r, ram_8w_w) AM_BASE(&ram_8w)   // 8W
386   AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(playch10_videoram_w) AM_BASE_GENERIC(videoram)
386   AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(playch10_videoram_w) AM_BASE_MEMBER(playch10_state, videoram)
387387   AM_RANGE(0xc000, 0xdfff) AM_ROM
388388   AM_RANGE(0xe000, 0xffff) AM_READWRITE(pc10_prot_r, pc10_prot_w)
389389ADDRESS_MAP_END
r9191r9192
684684};
685685
686686
687static MACHINE_DRIVER_START( playch10 )
687static MACHINE_CONFIG_START( playch10, playch10_state )
688688   // basic machine hardware
689689   MDRV_CPU_ADD("maincpu", Z80, 8000000/2)   // 4 MHz
690690   MDRV_CPU_PROGRAM_MAP(bios_map)
r9191r9192
730730   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
731731
732732   MDRV_RP5H01_ADD("rp5h01")
733MACHINE_DRIVER_END
733MACHINE_CONFIG_END
734734
735static MACHINE_DRIVER_START( playchnv )
736   MDRV_IMPORT_FROM(playch10)
735static MACHINE_CONFIG_DERIVED( playchnv, playch10 )
737736   MDRV_NVRAM_HANDLER(playch10)
738MACHINE_DRIVER_END
737MACHINE_CONFIG_END
739738
740static MACHINE_DRIVER_START( playch10_hboard )
741   MDRV_IMPORT_FROM(playch10)
739static MACHINE_CONFIG_DERIVED( playch10_hboard, playch10 )
742740   MDRV_VIDEO_START(playch10_hboard)
743741   MDRV_MACHINE_START(playch10_hboard)
744742
745743   MDRV_DEVICE_REMOVE("ppu")
746744   MDRV_PPU2C03B_ADD("ppu", playch10_ppu_interface)
747MACHINE_DRIVER_END
745MACHINE_CONFIG_END
748746
749747/***************************************************************************
750748
src/mame/drivers/cojag.c
r9191r9192
293293#include "cpu/mips/r3000.h"
294294#include "cpu/jaguar/jaguar.h"
295295#include "machine/idectrl.h"
296#include "machine/nvram.h"
296297#include "sound/dac.h"
297298#include "includes/jaguar.h"
298299
r9191r9192
302303#define M68K_CLOCK         XTAL_50MHz
303304
304305
306class cojag_state : public driver_device
307{
308public:
309   cojag_state(running_machine &machine, const driver_device_config_base &config)
310      : driver_device(machine, config),
311        m_nvram(*this, "nvram") { }
305312
313   required_shared_ptr<UINT32>   m_nvram;
314};
315
316
317
306318/*************************************
307319 *
308320 *  Global variables
r9191r9192
507519
508520static READ32_HANDLER( eeprom_data_r )
509521{
522   cojag_state *state = space->machine->driver_data<cojag_state>();
510523   if (cojag_is_r3000)
511      return space->machine->generic.nvram.u32[offset] | 0xffffff00;
524      return state->m_nvram[offset] | 0xffffff00;
512525   else
513      return space->machine->generic.nvram.u32[offset] | 0x00ffffff;
526      return state->m_nvram[offset] | 0x00ffffff;
514527}
515528
516529
r9191r9192
524537{
525538//  if (eeprom_enable)
526539   {
540      cojag_state *state = space->machine->driver_data<cojag_state>();
527541      if (cojag_is_r3000)
528         space->machine->generic.nvram.u32[offset] = data & 0x000000ff;
542         state->m_nvram[offset] = data & 0x000000ff;
529543      else
530         space->machine->generic.nvram.u32[offset] = data & 0xff000000;
544         state->m_nvram[offset] = data & 0xff000000;
531545   }
532546//  else
533547//      logerror("%08X:error writing to disabled EEPROM\n", cpu_get_previouspc(space->cpu));
r9191r9192
804818   AM_RANGE(0x12000000, 0x120fffff) AM_RAM      // tested in self-test only?
805819   AM_RANGE(0x14000004, 0x14000007) AM_WRITE(watchdog_reset32_w)
806820   AM_RANGE(0x16000000, 0x16000003) AM_WRITE(eeprom_enable_w)
807   AM_RANGE(0x18000000, 0x18001fff) AM_READWRITE(eeprom_data_r, eeprom_data_w) AM_BASE_SIZE_GENERIC(nvram)
821   AM_RANGE(0x18000000, 0x18001fff) AM_READWRITE(eeprom_data_r, eeprom_data_w) AM_SHARE("nvram")
808822   AM_RANGE(0x1fc00000, 0x1fdfffff) AM_ROM AM_REGION("user1", 0) AM_BASE(&rom_base)
809823ADDRESS_MAP_END
810824
r9191r9192
813827   AM_RANGE(0x000000, 0x7fffff) AM_RAM AM_BASE(&jaguar_shared_ram) AM_SHARE("share1")
814828   AM_RANGE(0x800000, 0x9fffff) AM_ROM AM_REGION("user1", 0) AM_BASE(&rom_base)
815829   AM_RANGE(0xa00000, 0xa1ffff) AM_RAM
816   AM_RANGE(0xa20000, 0xa21fff) AM_READWRITE(eeprom_data_r, eeprom_data_w) AM_BASE_SIZE_GENERIC(nvram)
830   AM_RANGE(0xa20000, 0xa21fff) AM_READWRITE(eeprom_data_r, eeprom_data_w) AM_SHARE("nvram")
817831   AM_RANGE(0xa30000, 0xa30003) AM_WRITE(watchdog_reset32_w)
818832   AM_RANGE(0xa40000, 0xa40003) AM_WRITE(eeprom_enable_w)
819833   AM_RANGE(0xb70000, 0xb70003) AM_READWRITE(misc_control_r, misc_control_w)
r9191r9192
11021116};
11031117
11041118
1105static MACHINE_DRIVER_START( cojagr3k )
1119static MACHINE_CONFIG_START( cojagr3k, cojag_state )
11061120
11071121   /* basic machine hardware */
11081122   MDRV_CPU_ADD("maincpu", R3041BE, R3000_CLOCK)
r9191r9192
11181132   MDRV_CPU_PROGRAM_MAP(dsp_map)
11191133
11201134   MDRV_MACHINE_RESET(cojag)
1121   MDRV_NVRAM_HANDLER(generic_1fill)
1135   MDRV_NVRAM_ADD_1FILL("nvram")
11221136
11231137   MDRV_IDE_CONTROLLER_ADD("ide", jaguar_external_int)
11241138
r9191r9192
11421156
11431157   MDRV_SOUND_ADD("dac2", DAC, 0)
11441158   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
1145MACHINE_DRIVER_END
1159MACHINE_CONFIG_END
11461160
11471161
1148static MACHINE_DRIVER_START( cojag68k )
1149   MDRV_IMPORT_FROM(cojagr3k)
1162static MACHINE_CONFIG_DERIVED( cojag68k, cojagr3k )
11501163
11511164   /* basic machine hardware */
11521165   MDRV_CPU_REPLACE("maincpu", M68EC020, M68K_CLOCK/2)
11531166   MDRV_CPU_PROGRAM_MAP(m68020_map)
1154MACHINE_DRIVER_END
1167MACHINE_CONFIG_END
11551168
11561169
11571170
src/mame/drivers/mappy.c
r9191r9192
16021602};
16031603
16041604
1605static MACHINE_DRIVER_START( superpac )
1605static MACHINE_CONFIG_START( superpac, mappy_state )
16061606
1607   MDRV_DRIVER_DATA(mappy_state)
1608
16091607   /* basic machine hardware */
16101608   MDRV_CPU_ADD("maincpu", M6809, PIXEL_CLOCK/4)   /* 1.536 MHz */
16111609   MDRV_CPU_PROGRAM_MAP(superpac_cpu1_map)
r9191r9192
16411639   MDRV_SOUND_ADD("namco", NAMCO_15XX, 18432000/768)
16421640   MDRV_SOUND_CONFIG(namco_config)
16431641   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1644MACHINE_DRIVER_END
1642MACHINE_CONFIG_END
16451643
1646static MACHINE_DRIVER_START( pacnpal )
1644static MACHINE_CONFIG_DERIVED( pacnpal, superpac )
16471645
16481646   /* basic machine hardware */
1649   MDRV_IMPORT_FROM( superpac )
16501647   MDRV_CPU_MODIFY("maincpu")
16511648   MDRV_CPU_VBLANK_INT("screen", pacnpal_interrupt_1)   // also update the custom I/O chips
16521649
r9191r9192
16541651   MDRV_DEVICE_REMOVE("namcoio_2")
16551652   MDRV_NAMCO56XX_ADD("namcoio_1", intf0_lamps)
16561653   MDRV_NAMCO59XX_ADD("namcoio_2", intf1)
1657MACHINE_DRIVER_END
1654MACHINE_CONFIG_END
16581655
16591656
1660static MACHINE_DRIVER_START( grobda )
1657static MACHINE_CONFIG_DERIVED( grobda, superpac )
16611658
16621659   /* basic machine hardware */
1663   MDRV_IMPORT_FROM( superpac )
16641660   MDRV_CPU_MODIFY("maincpu")
16651661   MDRV_CPU_VBLANK_INT("screen", phozon_interrupt_1)   // also update the custom I/O chips
16661662
r9191r9192
16721668   /* sound hardware */
16731669   MDRV_SOUND_ADD("dac", DAC, 0)
16741670   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.55)
1675MACHINE_DRIVER_END
1671MACHINE_CONFIG_END
16761672
16771673
1678static MACHINE_DRIVER_START( phozon )
1674static MACHINE_CONFIG_START( phozon, mappy_state )
16791675
1680   MDRV_DRIVER_DATA(mappy_state)
1681
16821676   /* basic machine hardware */
16831677   MDRV_CPU_ADD("maincpu", M6809,   PIXEL_CLOCK/4)   /* MAIN CPU */
16841678   MDRV_CPU_PROGRAM_MAP(phozon_cpu1_map)
r9191r9192
17181712   MDRV_SOUND_ADD("namco", NAMCO_15XX, 18432000/768)
17191713   MDRV_SOUND_CONFIG(namco_config)
17201714   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1721MACHINE_DRIVER_END
1715MACHINE_CONFIG_END
17221716
17231717
1724static MACHINE_DRIVER_START( mappy )
1718static MACHINE_CONFIG_START( mappy, mappy_state )
17251719
1726   MDRV_DRIVER_DATA(mappy_state)
1727
17281720   /* basic machine hardware */
17291721   MDRV_CPU_ADD("maincpu", M6809, PIXEL_CLOCK/4)   /* 1.536 MHz */
17301722   MDRV_CPU_PROGRAM_MAP(mappy_cpu1_map)
r9191r9192
17601752   MDRV_SOUND_ADD("namco", NAMCO_15XX, 18432000/768)
17611753   MDRV_SOUND_CONFIG(namco_config)
17621754   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1763MACHINE_DRIVER_END
1755MACHINE_CONFIG_END
17641756
1765static MACHINE_DRIVER_START( digdug2 )
1757static MACHINE_CONFIG_DERIVED( digdug2, mappy )
17661758
17671759   /* basic machine hardware */
1768   MDRV_IMPORT_FROM( mappy )
17691760   MDRV_CPU_MODIFY("maincpu")
17701761   MDRV_CPU_VBLANK_INT("screen", phozon_interrupt_1)   // also update the custom I/O chips
17711762
r9191r9192
17751766   MDRV_DEVICE_REMOVE("namcoio_2")
17761767   MDRV_NAMCO58XX_ADD("namcoio_1", intf0)
17771768   MDRV_NAMCO56XX_ADD("namcoio_2", intf1)
1778MACHINE_DRIVER_END
1769MACHINE_CONFIG_END
17791770
1780static MACHINE_DRIVER_START( todruaga )
1771static MACHINE_CONFIG_DERIVED( todruaga, mappy )
17811772
17821773   /* basic machine hardware */
1783   MDRV_IMPORT_FROM( mappy )
17841774   MDRV_CPU_MODIFY("maincpu")
17851775   MDRV_CPU_VBLANK_INT("screen", phozon_interrupt_1)   // also update the custom I/O chips
17861776
r9191r9192
17921782   /* video hardware */
17931783   MDRV_GFXDECODE(todruaga)
17941784   MDRV_PALETTE_LENGTH(64*4+64*16)
1795MACHINE_DRIVER_END
1785MACHINE_CONFIG_END
17961786
1797static MACHINE_DRIVER_START( motos )
1787static MACHINE_CONFIG_DERIVED( motos, mappy )
17981788
17991789   /* basic machine hardware */
1800   MDRV_IMPORT_FROM( mappy )
18011790   MDRV_CPU_MODIFY("maincpu")
18021791   MDRV_CPU_VBLANK_INT("screen", superpac_interrupt_1)   // also update the custom I/O chips
18031792
r9191r9192
18051794   MDRV_DEVICE_REMOVE("namcoio_2")
18061795   MDRV_NAMCO56XX_ADD("namcoio_1", intf0_lamps)
18071796   MDRV_NAMCO56XX_ADD("namcoio_2", intf1)
1808MACHINE_DRIVER_END
1797MACHINE_CONFIG_END
18091798
18101799
18111800
src/mame/drivers/safarir.c
r9191r9192
5050#include "cpu/i8085/i8085.h"
5151#include "sound/samples.h"
5252
53class safarir_state : public driver_data_t
53class safarir_state : public driver_device
5454{
5555public:
56   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, safarir_state(machine)); }
56   safarir_state(running_machine &machine, const driver_device_config_base &config)
57      : driver_device(machine, config) { }
5758
58   safarir_state(running_machine &machine)
59      : driver_data_t(machine) { }
60
6159   UINT8 *ram_1, *ram_2;
6260   size_t ram_size;
6361   UINT8 ram_bank;
r9191r9192
296294};
297295
298296
299static MACHINE_DRIVER_START( safarir_audio )
297static MACHINE_CONFIG_FRAGMENT( safarir_audio )
300298   MDRV_SPEAKER_STANDARD_MONO("mono")
301299   MDRV_SOUND_ADD("samples", SAMPLES, 0)
302300   MDRV_SOUND_CONFIG(safarir_samples_interface)
303301   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
304MACHINE_DRIVER_END
302MACHINE_CONFIG_END
305303
306304
307305
r9191r9192
397395 *
398396 *************************************/
399397
400static MACHINE_DRIVER_START( safarir )
398static MACHINE_CONFIG_START( safarir, safarir_state )
401399
402   MDRV_DRIVER_DATA( safarir_state )
403
404400   /* basic machine hardware */
405401   MDRV_CPU_ADD("maincpu", I8085A, 18000000/8)   /* 2.25 MHz ? */
406402   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
421417   MDRV_SCREEN_REFRESH_RATE(60)
422418
423419   /* audio hardware */
424   MDRV_IMPORT_FROM(safarir_audio)
425MACHINE_DRIVER_END
420   MDRV_FRAGMENT_ADD(safarir_audio)
421MACHINE_CONFIG_END
426422
427423
428424
src/mame/drivers/rastan.c
r9191r9192
409409   "maincpu", "audiocpu"
410410};
411411
412static MACHINE_DRIVER_START( rastan )
412static MACHINE_CONFIG_START( rastan, rastan_state )
413413
414   /* driver data */
415   MDRV_DRIVER_DATA(rastan_state)
416
417414   /* basic machine hardware */
418415   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz/2)   /* verified on pcb */
419416   MDRV_CPU_PROGRAM_MAP(rastan_map)
r9191r9192
456453   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
457454
458455   MDRV_TC0140SYT_ADD("tc0140syt", rastan_tc0140syt_intf)
459MACHINE_DRIVER_END
456MACHINE_CONFIG_END
460457
461458
462459
src/mame/drivers/pzletime.c
r9191r9192
1919#include "sound/okim6295.h"
2020#include "machine/eeprom.h"
2121
22class pzletime_state : public driver_data_t
22class pzletime_state : public driver_device
2323{
2424public:
25   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, pzletime_state(machine)); }
25   pzletime_state(running_machine &machine, const driver_device_config_base &config)
26      : driver_device(machine, config) { }
2627
27   pzletime_state(running_machine &machine)
28      : driver_data_t(machine) { }
29
3028   /* memory pointers */
3129   UINT16 *       bg_videoram;
3230   UINT16 *       mid_videoram;
r9191r9192
210208static ADDRESS_MAP_START( pzletime_map, ADDRESS_SPACE_PROGRAM, 16 )
211209   AM_RANGE(0x000000, 0x3fffff) AM_ROM
212210   AM_RANGE(0x700000, 0x700005) AM_RAM_WRITE(video_regs_w) AM_BASE_MEMBER(pzletime_state, video_regs)
213   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
211   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
214212   AM_RANGE(0x900000, 0x9005ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
215213   AM_RANGE(0xa00000, 0xa00007) AM_RAM AM_BASE_MEMBER(pzletime_state, tilemap_regs)
216214   AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_BASE_MEMBER(pzletime_state, bg_videoram)
r9191r9192
308306   state->ticket = 0;
309307}
310308
311static MACHINE_DRIVER_START( pzletime )
309static MACHINE_CONFIG_START( pzletime, pzletime_state )
312310
313   /* driver data */
314   MDRV_DRIVER_DATA(pzletime_state)
315
316311   /* basic machine hardware */
317312   MDRV_CPU_ADD("maincpu",M68000,10000000)
318313   MDRV_CPU_PROGRAM_MAP(pzletime_map)
r9191r9192
340335   MDRV_SPEAKER_STANDARD_MONO("mono")
341336   MDRV_OKIM6295_ADD("oki", 937500, OKIM6295_PIN7_HIGH) //freq & pin7 taken from stlforce
342337   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
343MACHINE_DRIVER_END
338MACHINE_CONFIG_END
344339
345340/***************************************************************************
346341
src/mame/drivers/pntnpuzl.c
r9191r9192
436436
437437
438438
439static MACHINE_DRIVER_START( pntnpuzl )
439static MACHINE_CONFIG_START( pntnpuzl, driver_device )
440440   MDRV_CPU_ADD("maincpu", M68000, 12000000)//??
441441   MDRV_CPU_PROGRAM_MAP(pntnpuzl_map)
442442   MDRV_CPU_VBLANK_INT("screen", pntnpuzl_irq)   // irq1 = coin irq2 = service irq4 = coin
r9191r9192
455455
456456   MDRV_VIDEO_START(pntnpuzl)
457457   MDRV_VIDEO_UPDATE(pntnpuzl)
458MACHINE_DRIVER_END
458MACHINE_CONFIG_END
459459
460460ROM_START( pntnpuzl )
461461   ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 Code */
src/mame/drivers/uapce.c
r9191r9192
183183   "maincpu"
184184};
185185
186static MACHINE_DRIVER_START( uapce )
186static MACHINE_CONFIG_START( uapce, driver_device )
187187   /* basic machine hardware */
188188   MDRV_CPU_ADD("maincpu", H6280, PCE_MAIN_CLOCK/3)
189189   MDRV_CPU_PROGRAM_MAP(pce_mem)
r9191r9192
216216   MDRV_SOUND_ROUTE(0, "lspeaker", 1.00)
217217   MDRV_SOUND_ROUTE(1, "rspeaker", 1.00)
218218
219MACHINE_DRIVER_END
219MACHINE_CONFIG_END
220220
221221ROM_START(blazlaz)
222222   ROM_REGION( 0x0a0000, "maincpu", 0 )
src/mame/drivers/aristmk5.c
r9191r9192
6161#include "cpu/arm/arm.h"
6262#include "sound/dac.h"
6363#include "includes/archimds.h"
64#include "machine/i2cmem.h"
64//#include "machine/i2cmem.h"
6565
66extern void archimedes_request_irq_a(running_machine *machine, int mask);
6766static emu_timer *mk5_2KHz_timer;
6867static UINT8 ext_latch;
6968
70/* bit mirrors of I2C */
71static WRITE32_HANDLER( mk5_i2c_w )
72{
73   i2cmem_sda_write(space->machine->device("i2cmem"), (data & 0x40) >> 6);
74   i2cmem_scl_write(space->machine->device("i2cmem"), (data & 0x80) >> 7);
75   i2c_clk = (data & 0x80) >> 7;
76}
77
7869static WRITE32_HANDLER( mk5_ext_latch_w )
7970{
8071   /* this banks "something" */
r9191r9192
9081   return 0xffffffff; //value doesn't matter apparently
9182}
9283
84/* same as plain AA but with the I2C unconnected */
9385static READ32_HANDLER( mk5_ioc_r )
9486{
87   static UINT32 ioc_addr;
88
89   ioc_addr = offset*4;
90   ioc_addr >>= 16;
91   ioc_addr &= 0x37;
92
93   if(((ioc_addr == 0x20) || (ioc_addr == 0x30)) && (offset & 0x1f) == 0)
94   {
95      static UINT8 flyback; //internal name for vblank here
96      int vert_pos;
97
98      vert_pos = space->machine->primary_screen->vpos();
99      flyback = (vert_pos <= vidc_regs[VIDC_VDSR] || vert_pos >= vidc_regs[VIDC_VDER]) ? 0x80 : 0x00;
100
101      //i2c_data = (i2cmem_sda_read(space->machine->device("i2cmem")) & 1);
102
103      return (flyback) | (ioc_regs[CONTROL] & 0x7c) | (1<<1) | 1;
104   }
105
95106   return archimedes_ioc_r(space,offset,mem_mask);
96107}
97108
98109static WRITE32_HANDLER( mk5_ioc_w )
99110{
111   static UINT32 ioc_addr;
112
113   ioc_addr = offset*4;
114   ioc_addr >>= 16;
115   ioc_addr &= 0x37;
116
100117   if(!ext_latch)
101      archimedes_ioc_w(space,offset,data,mem_mask);
118   {
119      if(((ioc_addr == 0x20) || (ioc_addr == 0x30)) && (offset & 0x1f) == 0)
120      {
121         ioc_regs[CONTROL] = data & 0x7c;
122         return;
123      }
124      else
125         archimedes_ioc_w(space,offset,data,mem_mask);
126   }
102127}
103128
104129static READ32_HANDLER( mk5_unk_r )
r9191r9192
106131   return 0xf5; // checked inside the CPU check, unknown meaning
107132}
108133
109/* I'm not really optimistic that this thing really uses I2C ... */
110static READ32_HANDLER( mk5_econet_r )
134static WRITE32_HANDLER( sram_banksel_w )
111135{
112   UINT8 i2c_data;
136    /*
113137
114   i2c_data = (i2cmem_sda_read(space->machine->device("i2cmem")) & 1);
138    The Main Board provides 32 kbytes of Static Random Access Memory (SRAM) with
139    battery back-up for the electronic meters.
140    The SRAM contains machine metering information, recording money in/out and
141    game history etc. It is critical that this data is preserved reliably, and various
142    jurisdictions require multiple backups of the data.
143    Three standard low power SRAMs are fitted to the board. The data is usually
144    replicated three times, so that each chip contains identical data. Each memory is
145    checked against the other to verify that the stored data is correct.
146    Each chip is mapped to the same address, and the chip selected depends on the bank
147    select register. Access is mutually exclusive, increasing security with only one chip
148    visible in the CPU address space at a time. If the CPU crashes and overwrites
149    memory only one of the three devices can be corrupted. On reset the bank select
150    register selects bank 0, which does not exist. The SRAMs are at banks 1,2,3.
151    Each of the SRAM chips may be powered from a separate battery, further reducing
152    the possibility of losing data. For the US Gaming Machine, a single battery provides
153    power for all three SRAMs. This battery also powers the Real Time Clock
115154
116   return (ioc_regs[CONTROL] & 0xfc) | (i2c_clk<<1) | i2c_data;
117}
118155
119static WRITE32_HANDLER( mk5_econet_w )
120{
121   //logerror("IOC I2C: CLK %d DAT %d\n", (data>>1)&1, data&1);
122   i2cmem_sda_write(space->machine->device("i2cmem"), data & 0x01);
123   i2cmem_scl_write(space->machine->device("i2cmem"), (data & 0x02) >> 1);
124   i2c_clk = (data & 2) >> 1;
156    CHIP SELECT & SRAM BANKING
157
158    write: 03010420 40  select bank 1
159    write: 3220000 01   store 0x01 @ 3220000
160    write: 03010420 80  select bank 2
161    write: 3220000 02   store 0x02 @ 3220000
162    write: 03010420 C0  ...
163    write: 3220000 03   ...
164    write: 03010420 00  ...
165    write: 3220000 00   ...
166    write: 03010420 40  select the first SRAM chip
167    read:  3220000 01   read the value 0x1 back hopefully
168    write: 03010420 80  ...
169    read:  3220000 02   ...
170    write: 03010420 C0  ...
171    read:  3220000 03   ...
172    write: 03010420 00  select bank 0
173    */
174
175    memory_set_bank(space->machine,"sram_bank", (data & 0xc0) >> 6);
125176}
126177
127178static ADDRESS_MAP_START( aristmk5_map, ADDRESS_SPACE_PROGRAM, 32 )
r9191r9192
129180   AM_RANGE(0x02000000, 0x02ffffff) AM_RAM AM_BASE(&archimedes_memc_physmem) /* physical RAM - 16 MB for now, should be 512k for the A310 */
130181
131182   /* MK-5 overrides */
132   AM_RANGE(0x03010420, 0x03010423) AM_RAM_WRITE(mk5_i2c_w)
183   AM_RANGE(0x03010420, 0x03010423) AM_WRITE(sram_banksel_w) // SRAM bank select write
184
185//  AM_RANGE(0x0301049c, 0x0301051f) AM_DEVREADWRITE("eeprom", eeprom_r, eeprom_w) // eeprom ???
186
133187   AM_RANGE(0x03010810, 0x03010813) AM_READNOP //MK-5 specific, watchdog
134188//  System Startup Code Enabled protection appears to be located at 0x3010400 - 0x30104ff
135   AM_RANGE(0x03220000, 0x03220003) AM_READWRITE(mk5_econet_r,mk5_econet_w)
189    AM_RANGE(0x03220000, 0x03227fff) AM_RAMBANK("sram_bank") //AM_BASE_SIZE_GENERIC(nvram) // nvram 32kbytes x 3
190
136191   AM_RANGE(0x03250048, 0x0325004b) AM_WRITE(mk5_ext_latch_w)
137192   AM_RANGE(0x03250050, 0x03250053) AM_READ(mk5_unk_r)
138193   AM_RANGE(0x03250058, 0x0325005b) AM_READ(ext_timer_latch_r)
r9191r9192
156211
157212static DRIVER_INIT( aristmk5 )
158213{
214   UINT8 *SRAM = memory_region(machine, "sram");
159215   archimedes_driver_init(machine);
216
217   memory_configure_bank(machine, "sram_bank", 0, 4, &SRAM[0], 0x8000);
160218}
161219
162220static TIMER_CALLBACK( mk5_2KHz_callback )
r9191r9192
205263   }
206264}
207265
266#if 0
208267#define   NVRAM_SIZE 256
209268#define   NVRAM_PAGE_SIZE   0   /* max size of one write request */
210269
r9191r9192
212271{
213272   I2CMEM_SLAVE_ADDRESS, NVRAM_PAGE_SIZE, NVRAM_SIZE
214273};
274#endif
215275
216
217static MACHINE_DRIVER_START( aristmk5 )
276static MACHINE_CONFIG_START( aristmk5, driver_device )
218277   MDRV_CPU_ADD("maincpu", ARM, 10000000) // ?
219278   MDRV_CPU_PROGRAM_MAP(aristmk5_map)
220279
221280   MDRV_MACHINE_START( aristmk5 )
222281   MDRV_MACHINE_RESET( aristmk5 )
223282
224   MDRV_I2CMEM_ADD("i2cmem",i2cmem_interface)
283//  MDRV_I2CMEM_ADD("i2cmem",i2cmem_interface)
225284
226285   MDRV_SCREEN_ADD("screen", RASTER)
227286   MDRV_SCREEN_REFRESH_RATE(60)
r9191r9192
259318
260319   MDRV_SOUND_ADD("dac7", DAC, 0)
261320   MDRV_SOUND_ROUTE(0, "mono", 0.10)
262MACHINE_DRIVER_END
321MACHINE_CONFIG_END
263322
264323#define ARISTOCRAT_MK5_BIOS \
265324   ROM_REGION( 0x800000, "prg_code", 0 ) \
r9191r9192
276335   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 )
277336
278337   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
338
339   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
279340ROM_END
280341
281342ROM_START( reelrock )
r9191r9192
288349   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
289350
290351   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
352
353   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
291354ROM_END
292355
293356ROM_START( indiandr )
r9191r9192
300363   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
301364
302365   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
366
367   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
303368ROM_END
304369
305370ROM_START( dolphntr )
r9191r9192
312377   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
313378
314379   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
380
381   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
315382ROM_END
316383
317384ROM_START( dolphtra )
r9191r9192
322389   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
323390
324391   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
392
393   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
325394ROM_END
326395
327396ROM_START( goldprmd )
r9191r9192
334403   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
335404
336405   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
406
407   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
337408ROM_END
338409
339410ROM_START( qotn )
r9191r9192
346417   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
347418
348419   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
420
421   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
349422ROM_END
350423
351424ROM_START( swthrt2v )
r9191r9192
356429   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
357430
358431   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
432
433   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
359434ROM_END
360435
361436ROM_START( enchfrst )
r9191r9192
366441   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
367442
368443   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
444
445   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
369446ROM_END
370447
371448ROM_START( margmgc )
r9191r9192
380457   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
381458
382459   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
460
461   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
383462ROM_END
384463
385464ROM_START( adonis )
r9191r9192
392471   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
393472
394473   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
474
475   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
395476ROM_END
396477
397478ROM_START( dmdtouch )
r9191r9192
404485   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
405486
406487   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
488
489   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASEFF )
407490ROM_END
408491
409492ROM_START( magicmsk )
r9191r9192
416499   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
417500
418501   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
502
503   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
419504ROM_END
420505
421506ROM_START( geishanz )
r9191r9192
430515   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
431516
432517   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
518
519   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
433520ROM_END
434521
522ROM_START( wtiger )
523   ARISTOCRAT_MK5_BIOS
524   ROM_LOAD32_WORD( "u7.bin",  0x200000, 0x80000, CRC(752e54c5) SHA1(9317544a7cf2d9bf29347d31fe72331fc3d018ef) )
525   ROM_LOAD32_WORD( "u11.bin", 0x200002, 0x80000, CRC(38e888b1) SHA1(acc857eb2be19140bbb58d70583e08f24807b9f2) )
526
527   ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASE00 ) /* ARM Code */
528
529   ROM_REGION( 0x200000, "vram", ROMREGION_ERASE00 )
530
531   ROM_REGION( 0x8000*4, "sram", ROMREGION_ERASE00 )
532ROM_END
533
435534GAME( 1995, aristmk5, 0,        aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "MK-V System", GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
436535
437GAME( 1995, swthrt2v, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Sweet Hearts II (C - 07/09/95, Venezuela version)", GAME_NOT_WORKING|GAME_NO_SOUND )
438GAME( 1995, enchfrst, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Enchanted Forest (E - 23/06/95, Local)", GAME_NOT_WORKING|GAME_NO_SOUND )
439GAME( 1996, dolphntr, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Dolphin Treasure (B - 06/12/96, NSW/ACT, Rev 1.24.4.0)", GAME_NOT_WORKING|GAME_NO_SOUND )
440GAME( 1996, dolphtra, dolphntr, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Dolphin Treasure (B - 06/12/96, NSW/ACT, Rev 3)", GAME_NOT_WORKING|GAME_NO_SOUND )
441GAME( 1997, goldprmd, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Golden Pyramids (B - 13-05-97, USA)", GAME_NOT_WORKING|GAME_NO_SOUND )
442GAME( 1997, qotn,     aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Queen of the Nile (B - 13-05-97, NSW/ACT)", GAME_NOT_WORKING|GAME_NO_SOUND )
443GAME( 1997, dmdtouch, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Diamond Touch (E - 30-06-97, Local)", GAME_NOT_WORKING|GAME_NO_SOUND )
444GAME( 1998, adonis,   aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Adonis (A - 25-05-98, NSW/ACT)", GAME_NOT_WORKING|GAME_NO_SOUND )
445GAME( 1998, reelrock, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Reelin-n-Rockin (A - 13/07/98, Local)", GAME_NOT_WORKING|GAME_NO_SOUND )
446GAME( 1998, indiandr, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Indian Dreaming (B - 15/12/98, Local)", GAME_NOT_WORKING|GAME_NO_SOUND )
447GAME( 2000, magicmsk, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Magic Mask (A - 09/05/2000, Export))", GAME_NOT_WORKING|GAME_NO_SOUND )
448GAME( 2000, margmgc,  aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Margarita Magic (A - 07/07/2000, NSW/ACT)", GAME_NOT_WORKING|GAME_NO_SOUND )
449GAME( 2001, geishanz, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Geisha (A - 05/03/01, New Zealand)", GAME_NOT_WORKING|GAME_NO_SOUND )
536GAME( 1995, swthrt2v, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Sweet Hearts II (C - 07/09/95, Venezuela version)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
537GAME( 1995, enchfrst, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Enchanted Forest (E - 23/06/95, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
538GAME( 1996, dolphntr, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Dolphin Treasure (B - 06/12/96, NSW/ACT, Rev 1.24.4.0)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
539GAME( 1996, dolphtra, dolphntr, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Dolphin Treasure (B - 06/12/96, NSW/ACT, Rev 3)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
540GAME( 1997, goldprmd, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Golden Pyramids (B - 13-05-97, USA)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
541GAME( 1997, qotn,     aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Queen of the Nile (B - 13-05-97, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
542GAME( 1997, dmdtouch, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Diamond Touch (E - 30-06-97, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
543GAME( 1998, adonis,   aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Adonis (A - 25-05-98, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
544GAME( 1998, reelrock, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Reelin-n-Rockin (A - 13/07/98, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
545GAME( 1998, indiandr, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Indian Dreaming (B - 15/12/98, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
546GAME( 2000, magicmsk, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Magic Mask (A - 09/05/2000, Export))", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
547GAME( 2000, margmgc,  aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Margarita Magic (A - 07/07/2000, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
548GAME( 2001, geishanz, aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "Geisha (A - 05/03/01, New Zealand)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
549GAME( 2001, wtiger,   aristmk5, aristmk5, aristmk5, aristmk5, ROT0,  "Aristocrat", "White Tiger", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
src/mame/drivers/metalmx.c
r9191r9192
255255
256256#include "emu.h"
257257#include "cpu/m68000/m68000.h"
258#include "cpu/adsp2100/adsp2100.h"
259258#include "cpu/tms34010/tms34010.h"
260259#include "cpu/dsp32/dsp32.h"
261260#include "audio/cage.h"
r9191r9192
740739 *
741740 *************************************/
742741
743static MACHINE_DRIVER_START( metalmx )
744   MDRV_DRIVER_DATA(metalmx_state)
742static MACHINE_CONFIG_START( metalmx, metalmx_state )
745743
746744   MDRV_CPU_ADD("maincpu", M68EC020, XTAL_14_31818MHz)
747745   MDRV_CPU_PROGRAM_MAP(main_map)
748746
749747   MDRV_CPU_ADD("adsp", ADSP2105, XTAL_10MHz)
750   MDRV_CPU_CONFIG(adsp_config)
748   MDRV_ADSP21XX_CONFIG(adsp_config)
751749   MDRV_CPU_PROGRAM_MAP(adsp_program_map)
752750   MDRV_CPU_DATA_MAP(adsp_data_map)
753751
r9191r9192
778776   MDRV_VIDEO_START(metalmx)
779777   MDRV_VIDEO_UPDATE(metalmx)
780778
781   MDRV_IMPORT_FROM(cage)
782MACHINE_DRIVER_END
779   MDRV_FRAGMENT_ADD(cage)
780MACHINE_CONFIG_END
783781
784782
785783static DRIVER_INIT( metalmx )
r9191r9192
787785   UINT8 *adsp_boot = (UINT8*)memory_region(machine, "adsp");
788786   metalmx_state *state = machine->driver_data<metalmx_state>();
789787
790   state->maincpu = machine->device("maincpu");
791   state->adsp = machine->device("adsp");
792   state->gsp = machine->device("gsp");
793   state->dsp32c_1 = machine->device("dsp32c_1");
794   state->dsp32c_2 = machine->device("dsp32c_2");
788   state->adsp->load_boot_data(adsp_boot, state->adsp_internal_program_ram);
795789
796   adsp2105_load_boot_data(adsp_boot, state->adsp_internal_program_ram);
797
798790   cage_init(machine, 0); // TODO: speedup address
799791   cage_set_irq_handler(cage_irq_callback);
800792}
src/mame/drivers/darkhors.c
r9191r9192
292292   AM_RANGE(0x580004, 0x580007) AM_READ_PORT("580004")
293293   AM_RANGE(0x580008, 0x58000b) AM_READ(darkhors_input_sel_r)
294294   AM_RANGE(0x58000c, 0x58000f) AM_WRITE(darkhors_input_sel_w)
295   AM_RANGE(0x580084, 0x580087) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0xff000000)
295   AM_RANGE(0x580084, 0x580087) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0xff000000)
296296   AM_RANGE(0x580200, 0x580203) AM_READNOP
297297   AM_RANGE(0x580400, 0x580403) AM_READ_PORT("580400")
298298   AM_RANGE(0x580420, 0x580423) AM_READ_PORT("580420")
r9191r9192
621621   }
622622}
623623
624static MACHINE_DRIVER_START( darkhors )
624static MACHINE_CONFIG_START( darkhors, driver_device )
625625   MDRV_CPU_ADD("maincpu", M68EC020, 12000000) // 36MHz/3 ??
626626   MDRV_CPU_PROGRAM_MAP(darkhors_map)
627627   MDRV_CPU_VBLANK_INT_HACK(darkhors,3)
r9191r9192
647647
648648   MDRV_OKIM6295_ADD("oki", 528000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
649649   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
650MACHINE_DRIVER_END
650MACHINE_CONFIG_END
651651
652652
653653
r9191r9192
671671   return 0;
672672}
673673
674static MACHINE_DRIVER_START( jclub2 )
674static MACHINE_CONFIG_START( jclub2, driver_device )
675675   MDRV_CPU_ADD("maincpu", M68EC020, 12000000)
676676   MDRV_CPU_PROGRAM_MAP(jclub2_map)
677677   MDRV_CPU_VBLANK_INT_HACK(darkhors,3)
r9191r9192
691691
692692   MDRV_VIDEO_START(jclub2)
693693   MDRV_VIDEO_UPDATE(jclub2)
694MACHINE_DRIVER_END
694MACHINE_CONFIG_END
695695
696696static ADDRESS_MAP_START( st0016_mem, ADDRESS_SPACE_PROGRAM, 8 )
697697   AM_RANGE(0x0000, 0x7fff) AM_ROM
r9191r9192
727727   return 0;
728728}
729729
730static MACHINE_DRIVER_START( jclub2o )
730static MACHINE_CONFIG_START( jclub2o, driver_device )
731731   MDRV_CPU_ADD("st0016",Z80,8000000)
732732   MDRV_CPU_PROGRAM_MAP(st0016_mem)
733733   MDRV_CPU_IO_MAP(st0016_io)
r9191r9192
759759   MDRV_SOUND_CONFIG(st0016_config)
760760   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
761761   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
762MACHINE_DRIVER_END
762MACHINE_CONFIG_END
763763
764764
765765/***************************************************************************
src/mame/drivers/bishjan.c
r9191r9192
3737#include "cpu/i86/i86.h"
3838#include "sound/okim6295.h"
3939#include "sound/3812intf.h"
40#include "machine/nvram.h"
4041
4142/***************************************************************************
4243                              Tilemaps Access
r9191r9192
368369   AM_RANGE( 0x000000, 0x07ffff ) AM_ROM AM_REGION("maincpu", 0)
369370   AM_RANGE( 0x080000, 0x0fffff ) AM_ROM AM_REGION("maincpu", 0)
370371
371   AM_RANGE( 0x200000, 0x207fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   // battery
372   AM_RANGE( 0x200000, 0x207fff ) AM_RAM AM_SHARE("nvram")   // battery
372373
373374
374375   // read lo (2)   (only half tilemap?)
r9191r9192
492493}
493494
494495static ADDRESS_MAP_START( saklove_map, ADDRESS_SPACE_PROGRAM, 8 )
495   AM_RANGE(0x00000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   // battery
496   AM_RANGE(0x00000, 0x07fff) AM_RAM AM_SHARE("nvram")   // battery
496497
497498   // read lo (2)   (only half tilemap?)
498499   AM_RANGE(0x12000, 0x12fff) AM_READWRITE( bishjan_videoram_2_lo_r, bishjan_videoram_2_lo_w )
r9191r9192
517518ADDRESS_MAP_END
518519
519520static ADDRESS_MAP_START( saklove_io, ADDRESS_SPACE_IO, 8 )
520   AM_RANGE(0x0020, 0x0020) AM_DEVREADWRITE( "oki", okim6295_r, okim6295_w )
521   AM_RANGE(0x0020, 0x0020) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
521522   AM_RANGE(0x0040, 0x0041) AM_DEVWRITE( "ymsnd", ym3812_w )
522523
523524   AM_RANGE(0x0060, 0x0062) AM_WRITE( colordac_w )
r9191r9192
769770   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN  )
770771   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN  )
771772   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1   ) PORT_NAME("Play")
772   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON5  ) PORT_NAME("Big? / Small?")
773   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON5  ) PORT_NAME("Big or Small 1")
773774   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4  ) PORT_NAME("Bet Amount")   // 1-5-10
774775
775776   PORT_START("IN B")
r9191r9192
777778   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP )   // top 10? / double up?
778779   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN  )   // used?
779780   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN  )
780   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON6  ) PORT_NAME("Big? / Small?")   // plays sample or advances music in system test / big or small?
781   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON6  ) PORT_NAME("Big or Small 2")   // plays sample or advances music in system test / big or small?
781782   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN  )   // used?
782783   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1    )
783784   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN  )   // used?
r9191r9192
825826   }
826827}
827828
828static MACHINE_DRIVER_START( bishjan )
829static MACHINE_CONFIG_START( bishjan, driver_device )
829830   MDRV_CPU_ADD("maincpu", H83044, XTAL_44_1MHz / 3)
830831   MDRV_CPU_PROGRAM_MAP( bishjan_map)
831832   MDRV_CPU_VBLANK_INT_HACK(bishjan_interrupt,2)
832833
833   MDRV_NVRAM_HANDLER(generic_0fill)
834   MDRV_NVRAM_ADD_0FILL("nvram")
834835
835836   /* video hardware */
836837   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
844845
845846   MDRV_VIDEO_START( bishjan )
846847   MDRV_VIDEO_UPDATE( bishjan )
847MACHINE_DRIVER_END
848MACHINE_CONFIG_END
848849
849850/***************************************************************************
850851                          Sakura Love - Ying Hua Lian
r9191r9192
856857      cpu_set_input_line_and_vector(device,0,HOLD_LINE,0x4c/4);
857858}
858859
859static MACHINE_DRIVER_START( saklove )
860static MACHINE_CONFIG_START( saklove, driver_device )
860861   MDRV_CPU_ADD("maincpu", I80188, XTAL_20MHz )   // !! AMD AM188-EM !!
861862   MDRV_CPU_PROGRAM_MAP( saklove_map)
862863   MDRV_CPU_IO_MAP( saklove_io)
863864   MDRV_CPU_VBLANK_INT( "screen", saklove_interrupt )
864865
865866   MDRV_MACHINE_RESET(saklove)
866   MDRV_NVRAM_HANDLER(generic_0fill)
867   MDRV_NVRAM_ADD_0FILL("nvram")
867868
868869   /* video hardware */
869870   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
886887
887888   MDRV_SOUND_ADD("ymsnd", YM3812, XTAL_12MHz / 4)   // ? chip and clock unknown
888889   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
889MACHINE_DRIVER_END
890MACHINE_CONFIG_END
890891
891892
892893/***************************************************************************
src/mame/drivers/upscope.c
r9191r9192
2727#include "cpu/m68000/m68000.h"
2828#include "includes/amiga.h"
2929#include "machine/6526cia.h"
30#include "machine/nvram.h"
3031
3132
33class upscope_state : public driver_device
34{
35public:
36   upscope_state(running_machine &machine, const driver_device_config_base &config)
37      : driver_device(machine, config) { }
3238
39   UINT8   m_nvram[0x100];
40};
41
42
3343/*************************************
3444 *
3545 *  Debugging
r9191r9192
193203      /* if SEL == 0 && BUSY == 1, we write data to NVRAM */
194204      else if ((data & 5) == 1)
195205      {
206         upscope_state *state = device->machine->driver_data<upscope_state>();
196207         if (LOG_IO) logerror("NVRAM data write @ %02X = %02X\n", nvram_address_latch, parallel_data);
197         device->machine->generic.nvram.u8[nvram_address_latch] = parallel_data;
208         state->m_nvram[nvram_address_latch] = parallel_data;
198209      }
199210
200211      /* if SEL == 0 && BUSY == 0, who knows? */
r9191r9192
217228      /* if SEL == 0, we read NVRAM */
218229      else
219230      {
220         nvram_data_latch = device->machine->generic.nvram.u8[nvram_address_latch];
231         upscope_state *state = device->machine->driver_data<upscope_state>();
232         nvram_data_latch = state->m_nvram[nvram_address_latch];
221233         if (LOG_IO) logerror("NVRAM data read @ %02X = %02X\n", nvram_address_latch, nvram_data_latch);
222234      }
223235   }
r9191r9192
300312   DEVCB_NULL
301313};
302314
303static MACHINE_DRIVER_START( upscope )
315static MACHINE_CONFIG_START( upscope, upscope_state )
304316
305317   /* basic machine hardware */
306318   MDRV_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
307319   MDRV_CPU_PROGRAM_MAP(main_map)
308320
309321   MDRV_MACHINE_RESET(amiga)
310   MDRV_NVRAM_HANDLER(generic_0fill)
322   MDRV_NVRAM_ADD_0FILL("nvram")
311323
312324    /* video hardware */
313325   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
337349   /* cia */
338350   MDRV_MOS8520_ADD("cia_0", AMIGA_68000_NTSC_CLOCK / 10, cia_0_intf)
339351   MDRV_MOS8520_ADD("cia_1", AMIGA_68000_NTSC_CLOCK / 10, cia_1_intf)
340MACHINE_DRIVER_END
352MACHINE_CONFIG_END
341353
342354
343355
r9191r9192
391403   amiga_machine_config(machine, &upscope_intf);
392404
393405   /* allocate NVRAM */
394   machine->generic.nvram_size = 0x100;
395   machine->generic.nvram.u8 = auto_alloc_array(machine, UINT8, machine->generic.nvram_size);
406   upscope_state *state = machine->driver_data<upscope_state>();
407   machine->device<nvram_device>("nvram")->set_base(state->m_nvram, sizeof(state->m_nvram));
396408
397409   /* set up memory */
398410   memory_configure_bank(machine, "bank1", 0, 1, amiga_chip_ram, 0);
src/mame/drivers/equites.c
r9191r9192
372372#include "sound/msm5232.h"
373373#include "sound/dac.h"
374374#include "sound/samples.h"
375#include "machine/nvram.h"
375376#include "includes/equites.h"
376377
377378#define HVOLTAGE_DEBUG   0
r9191r9192
696697
697698static ADDRESS_MAP_START( equites_map, ADDRESS_SPACE_PROGRAM, 16 )
698699   AM_RANGE(0x000000, 0x00ffff) AM_ROM   // ROM area is written several times (dev system?)
699   AM_RANGE(0x040000, 0x040fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)   // nvram is for gekisou only
700   AM_RANGE(0x040000, 0x040fff) AM_RAM AM_SHARE("nvram")   // nvram is for gekisou only
700701   AM_RANGE(0x080000, 0x080fff) AM_READWRITE(equites_fg_videoram_r, equites_fg_videoram_w)   // 8-bit
701702   AM_RANGE(0x0c0000, 0x0c01ff) AM_RAM_WRITE(equites_bg_videoram_w) AM_BASE_MEMBER(equites_state, bg_videoram)
702703   AM_RANGE(0x0c0200, 0x0c0fff) AM_RAM
r9191r9192
11391140#define MSM5232_BASE_VOLUME 1.0
11401141
11411142// the sound board is the same in all games
1142static MACHINE_DRIVER_START( common_sound )
1143static MACHINE_CONFIG_FRAGMENT( common_sound )
11431144
11441145   MDRV_CPU_ADD("audiocpu", I8085A, XTAL_6_144MHz)   /* verified on pcb */
11451146   MDRV_CPU_PROGRAM_MAP(sound_map)
r9191r9192
11771178   MDRV_SOUND_ADD("samples", SAMPLES, 0)
11781179   MDRV_SOUND_CONFIG(alphamc07_samples_interface)
11791180   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
1180MACHINE_DRIVER_END
1181MACHINE_CONFIG_END
11811182
11821183/******************************************************************************/
11831184
r9191r9192
12411242}
12421243
12431244
1244static MACHINE_DRIVER_START( equites )
1245static MACHINE_CONFIG_START( equites, equites_state )
12451246
1246   /* driver data */
1247   MDRV_DRIVER_DATA(equites_state)
1248
12491247   /* basic machine hardware */
12501248   MDRV_CPU_ADD("maincpu", M68000, XTAL_12MHz/4) /* 68000P8 running at 3mhz! verified on pcb */
12511249   MDRV_CPU_PROGRAM_MAP(equites_map)
12521250   MDRV_CPU_VBLANK_INT_HACK(equites_interrupt, 2)
12531251
1254   MDRV_IMPORT_FROM(common_sound)
1252   MDRV_FRAGMENT_ADD(common_sound)
12551253
12561254   MDRV_CPU_ADD("mcu", ALPHA8301, 4000000/8)
12571255   MDRV_CPU_PROGRAM_MAP(mcu_map)
r9191r9192
12711269
12721270   MDRV_MACHINE_START(equites)
12731271   MDRV_MACHINE_RESET(equites)
1274MACHINE_DRIVER_END
1272MACHINE_CONFIG_END
12751273
12761274
1277static MACHINE_DRIVER_START( gekisou )
1278   MDRV_IMPORT_FROM(equites)
1275static MACHINE_CONFIG_DERIVED( gekisou, equites )
12791276
12801277   // gekisou has battery-backed RAM to store settings
1281   MDRV_NVRAM_HANDLER(generic_0fill)
1278   MDRV_NVRAM_ADD_0FILL("nvram")
12821279
1283MACHINE_DRIVER_END
1280MACHINE_CONFIG_END
12841281
12851282
1286static MACHINE_DRIVER_START( splndrbt )
1283static MACHINE_CONFIG_START( splndrbt, equites_state )
12871284
1288   /* driver data */
1289   MDRV_DRIVER_DATA(equites_state)
1290
12911285   /* basic machine hardware */
12921286   MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz/4) /* 68000P8 running at 6mhz, verified on pcb */
12931287   MDRV_CPU_PROGRAM_MAP(splndrbt_map)
12941288   MDRV_CPU_VBLANK_INT_HACK(equites_interrupt, 2)
12951289
1296   MDRV_IMPORT_FROM(common_sound)
1290   MDRV_FRAGMENT_ADD(common_sound)
12971291
12981292   MDRV_CPU_ADD("mcu", ALPHA8301, 4000000/8)
12991293   MDRV_CPU_PROGRAM_MAP(mcu_map)
r9191r9192
13131307
13141308   MDRV_MACHINE_START(equites)
13151309   MDRV_MACHINE_RESET(equites)
1316MACHINE_DRIVER_END
1310MACHINE_CONFIG_END
13171311
13181312
13191313/******************************************************************************/
src/mame/drivers/mirax.c
r9191r9192
375375      cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
376376}
377377
378static MACHINE_DRIVER_START( mirax )
378static MACHINE_CONFIG_START( mirax, driver_device )
379379   MDRV_CPU_ADD("maincpu", Z80, 12000000/4) // ceramic potted module, encrypted z80
380380   MDRV_CPU_PROGRAM_MAP(mirax_main_map)
381381   MDRV_CPU_VBLANK_INT("screen",mirax_vblank_irq)
r9191r9192
405405   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
406406   MDRV_SOUND_ADD("ay2", AY8910, 12000000/4)
407407   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
408MACHINE_DRIVER_END
408MACHINE_CONFIG_END
409409
410410
411411ROM_START( mirax )
src/mame/drivers/gradius3.c
r9191r9192
327327
328328}
329329
330static MACHINE_DRIVER_START( gradius3 )
330static MACHINE_CONFIG_START( gradius3, gradius3_state )
331331
332   /* driver data */
333   MDRV_DRIVER_DATA(gradius3_state)
334
335332   /* basic machine hardware */
336333   MDRV_CPU_ADD("maincpu", M68000, 10000000)   /* 10 MHz */
337334   MDRV_CPU_PROGRAM_MAP(gradius3_map)
r9191r9192
381378   MDRV_SOUND_ROUTE(0, "rspeaker", 0.20)
382379   MDRV_SOUND_ROUTE(1, "lspeaker", 0.20)
383380   MDRV_SOUND_ROUTE(1, "rspeaker", 0.20)
384MACHINE_DRIVER_END
381MACHINE_CONFIG_END
385382
386383
387384
src/mame/drivers/cardline.c
r9191r9192
108108   AM_RANGE(0x2007, 0x2007) AM_WRITE(lamps_w)
109109   AM_RANGE(0x2008, 0x2008) AM_NOP
110110   AM_RANGE(0x2080, 0x213f) AM_NOP
111   AM_RANGE(0x2400, 0x2400) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
111   AM_RANGE(0x2400, 0x2400) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
112112   AM_RANGE(0x2800, 0x2801) AM_NOP
113113   AM_RANGE(0x2840, 0x2840) AM_NOP
114114   AM_RANGE(0x2880, 0x2880) AM_NOP
r9191r9192
132132   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start")
133133
134134   PORT_START("IN1")
135   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("?")
135   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("Unknown1")
136136   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
137137   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Bookkeeping Info") PORT_CODE(KEYCODE_F1)
138138   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_L) PORT_NAME("Payout 2")
139139   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE )
140   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("?")
140   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Unknown2")
141141   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_ENTER) PORT_NAME("Payout")
142   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("?")
142   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_NAME("Unknown3")
143143
144144   PORT_START("DSW")
145145   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
r9191r9192
192192   }
193193}
194194
195static MACHINE_DRIVER_START( cardline )
195static MACHINE_CONFIG_START( cardline, driver_device )
196196
197197   /* basic machine hardware */
198198   MDRV_CPU_ADD("maincpu", I80C32,12000000)
r9191r9192
223223   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
224224   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
225225
226MACHINE_DRIVER_END
226MACHINE_CONFIG_END
227227
228228/***************************************************************************
229229
src/mame/drivers/omegrace.c
r9191r9192
218218#include "video/vector.h"
219219#include "video/avgdvg.h"
220220#include "sound/ay8910.h"
221#include "machine/nvram.h"
221222
222223#include "rendlay.h"
223224
r9191r9192
328329static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
329330   AM_RANGE(0x0000, 0x3fff) AM_ROM
330331   AM_RANGE(0x4000, 0x4bff) AM_RAM
331   AM_RANGE(0x5c00, 0x5cff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* NVRAM */
332   AM_RANGE(0x5c00, 0x5cff) AM_RAM AM_SHARE("nvram") /* NVRAM */
332333   AM_RANGE(0x8000, 0x8fff) AM_RAM AM_BASE(&avgdvg_vectorram) AM_SIZE(&avgdvg_vectorram_size) AM_REGION("maincpu", 0x8000) /* vector ram */
333334   AM_RANGE(0x9000, 0x9fff) AM_ROM /* vector rom */
334335ADDRESS_MAP_END
r9191r9192
466467 *
467468 *************************************/
468469
469static MACHINE_DRIVER_START( omegrace )
470static MACHINE_CONFIG_START( omegrace, driver_device )
470471
471472   /* basic machine hardware */
472473
r9191r9192
488489   MDRV_CPU_PERIODIC_INT(nmi_line_pulse,250)
489490
490491   MDRV_MACHINE_RESET(omegrace)
491   MDRV_NVRAM_HANDLER(generic_0fill)
492   MDRV_NVRAM_ADD_0FILL("nvram")
492493
493494   /* video hardware */
494495   MDRV_SCREEN_ADD("screen", VECTOR)
r9191r9192
509510
510511   MDRV_SOUND_ADD("ay2", AY8912, 12000000/12)
511512   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
512MACHINE_DRIVER_END
513MACHINE_CONFIG_END
513514
514515
515516
src/mame/drivers/decocass.c
r9191r9192
626626}
627627
628628
629static MACHINE_DRIVER_START( decocass )
629static MACHINE_CONFIG_START( decocass, decocass_state )
630630
631   /* driver data */
632   MDRV_DRIVER_DATA(decocass_state)
633
634631   /* basic machine hardware */
635632   MDRV_CPU_ADD("maincpu", M6502, HCLK4)
636633   MDRV_CPU_PROGRAM_MAP(decocass_map)
r9191r9192
669666
670667   MDRV_SOUND_ADD("ay2", AY8910, HCLK2)
671668   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
672MACHINE_DRIVER_END
669MACHINE_CONFIG_END
673670
674671
675static MACHINE_DRIVER_START( ctsttape )
672static MACHINE_CONFIG_DERIVED( ctsttape, decocass )
676673
677674   /* basic machine hardware */
678   MDRV_IMPORT_FROM(decocass)
679675   MDRV_MACHINE_RESET(ctsttape)
680MACHINE_DRIVER_END
676MACHINE_CONFIG_END
681677
682678
683static MACHINE_DRIVER_START( chwy )
679static MACHINE_CONFIG_DERIVED( chwy, decocass )
684680
685681   /* basic machine hardware */
686   MDRV_IMPORT_FROM(decocass)
687682   MDRV_MACHINE_RESET(chwy)
688MACHINE_DRIVER_END
683MACHINE_CONFIG_END
689684
690685
691static MACHINE_DRIVER_START( clocknch )
686static MACHINE_CONFIG_DERIVED( clocknch, decocass )
692687
693688   /* basic machine hardware */
694   MDRV_IMPORT_FROM(decocass)
695689   MDRV_MACHINE_RESET(clocknch)
696MACHINE_DRIVER_END
690MACHINE_CONFIG_END
697691
698692
699static MACHINE_DRIVER_START( ctisland )
693static MACHINE_CONFIG_DERIVED( ctisland, decocass )
700694
701695   /* basic machine hardware */
702   MDRV_IMPORT_FROM(decocass)
703696   MDRV_MACHINE_RESET(ctisland)
704MACHINE_DRIVER_END
697MACHINE_CONFIG_END
705698
706699
707static MACHINE_DRIVER_START( csuperas )
700static MACHINE_CONFIG_DERIVED( csuperas, decocass )
708701
709702   /* basic machine hardware */
710   MDRV_IMPORT_FROM(decocass)
711703   MDRV_MACHINE_RESET(csuperas)
712MACHINE_DRIVER_END
704MACHINE_CONFIG_END
713705
714706
715static MACHINE_DRIVER_START( castfant )
707static MACHINE_CONFIG_DERIVED( castfant, decocass )
716708
717709   /* basic machine hardware */
718   MDRV_IMPORT_FROM(decocass)
719710   MDRV_MACHINE_RESET(castfant)
720MACHINE_DRIVER_END
711MACHINE_CONFIG_END
721712
722713
723static MACHINE_DRIVER_START( cluckypo )
714static MACHINE_CONFIG_DERIVED( cluckypo, decocass )
724715
725716   /* basic machine hardware */
726   MDRV_IMPORT_FROM(decocass)
727717   MDRV_MACHINE_RESET(cluckypo)
728MACHINE_DRIVER_END
718MACHINE_CONFIG_END
729719
730720
731static MACHINE_DRIVER_START( cterrani )
721static MACHINE_CONFIG_DERIVED( cterrani, decocass )
732722
733723   /* basic machine hardware */
734   MDRV_IMPORT_FROM(decocass)
735724   MDRV_MACHINE_RESET(cterrani)
736MACHINE_DRIVER_END
725MACHINE_CONFIG_END
737726
738727
739static MACHINE_DRIVER_START( cexplore )
728static MACHINE_CONFIG_DERIVED( cexplore, decocass )
740729
741730   /* basic machine hardware */
742   MDRV_IMPORT_FROM(decocass)
743731   MDRV_MACHINE_RESET(cexplore)
744MACHINE_DRIVER_END
732MACHINE_CONFIG_END
745733
746734
747static MACHINE_DRIVER_START( cprogolf )
735static MACHINE_CONFIG_DERIVED( cprogolf, decocass )
748736
749737   /* basic machine hardware */
750   MDRV_IMPORT_FROM(decocass)
751738   MDRV_MACHINE_RESET(cprogolf)
752MACHINE_DRIVER_END
739MACHINE_CONFIG_END
753740
754741
755static MACHINE_DRIVER_START( cmissnx )
742static MACHINE_CONFIG_DERIVED( cmissnx, decocass )
756743
757744   /* basic machine hardware */
758   MDRV_IMPORT_FROM(decocass)
759745   MDRV_MACHINE_RESET(cmissnx)
760MACHINE_DRIVER_END
746MACHINE_CONFIG_END
761747
762748
763static MACHINE_DRIVER_START( cdiscon1 )
749static MACHINE_CONFIG_DERIVED( cdiscon1, decocass )
764750
765751   /* basic machine hardware */
766   MDRV_IMPORT_FROM(decocass)
767752   MDRV_MACHINE_RESET(cdiscon1)
768MACHINE_DRIVER_END
753MACHINE_CONFIG_END
769754
770755
771static MACHINE_DRIVER_START( cptennis )
756static MACHINE_CONFIG_DERIVED( cptennis, decocass )
772757
773758   /* basic machine hardware */
774   MDRV_IMPORT_FROM(decocass)
775759   MDRV_MACHINE_RESET(cptennis)
776MACHINE_DRIVER_END
760MACHINE_CONFIG_END
777761
778762
779static MACHINE_DRIVER_START( ctornado )
763static MACHINE_CONFIG_DERIVED( ctornado, decocass )
780764
781765   /* basic machine hardware */
782   MDRV_IMPORT_FROM(decocass)
783766   MDRV_MACHINE_RESET(ctornado)
784MACHINE_DRIVER_END
767MACHINE_CONFIG_END
785768
786769
787static MACHINE_DRIVER_START( cbnj )
770static MACHINE_CONFIG_DERIVED( cbnj, decocass )
788771
789772   /* basic machine hardware */
790   MDRV_IMPORT_FROM(decocass)
791773   MDRV_MACHINE_RESET(cbnj)
792MACHINE_DRIVER_END
774MACHINE_CONFIG_END
793775
794776
795static MACHINE_DRIVER_START( cburnrub )
777static MACHINE_CONFIG_DERIVED( cburnrub, decocass )
796778
797779   /* basic machine hardware */
798   MDRV_IMPORT_FROM(decocass)
799780   MDRV_MACHINE_RESET(cburnrub)
800MACHINE_DRIVER_END
781MACHINE_CONFIG_END
801782
802783
803static MACHINE_DRIVER_START( cbtime )
784static MACHINE_CONFIG_DERIVED( cbtime, decocass )
804785
805786   /* basic machine hardware */
806   MDRV_IMPORT_FROM(decocass)
807787   MDRV_MACHINE_RESET(cbtime)
808MACHINE_DRIVER_END
788MACHINE_CONFIG_END
809789
810790
811static MACHINE_DRIVER_START( cgraplop )
791static MACHINE_CONFIG_DERIVED( cgraplop, decocass )
812792
813793   /* basic machine hardware */
814   MDRV_IMPORT_FROM(decocass)
815794   MDRV_MACHINE_RESET(cgraplop)
816MACHINE_DRIVER_END
795MACHINE_CONFIG_END
817796
818797
819static MACHINE_DRIVER_START( cgraplop2 )
798static MACHINE_CONFIG_DERIVED( cgraplop2, decocass )
820799
821800   /* basic machine hardware */
822   MDRV_IMPORT_FROM(decocass)
823801   MDRV_MACHINE_RESET(cgraplop2)
824MACHINE_DRIVER_END
802MACHINE_CONFIG_END
825803
826804
827static MACHINE_DRIVER_START( clapapa )
805static MACHINE_CONFIG_DERIVED( clapapa, decocass )
828806
829807   /* basic machine hardware */
830   MDRV_IMPORT_FROM(decocass)
831808   MDRV_MACHINE_RESET(clapapa)
832MACHINE_DRIVER_END
809MACHINE_CONFIG_END
833810
834811
835static MACHINE_DRIVER_START( cfghtice )
812static MACHINE_CONFIG_DERIVED( cfghtice, decocass )
836813
837814   /* basic machine hardware */
838   MDRV_IMPORT_FROM(decocass)
839815   MDRV_MACHINE_RESET(cfghtice)
840MACHINE_DRIVER_END
816MACHINE_CONFIG_END
841817
842818
843static MACHINE_DRIVER_START( cprobowl )
819static MACHINE_CONFIG_DERIVED( cprobowl, decocass )
844820
845821   /* basic machine hardware */
846   MDRV_IMPORT_FROM(decocass)
847822   MDRV_MACHINE_RESET(cprobowl)
848MACHINE_DRIVER_END
823MACHINE_CONFIG_END
849824
850825
851static MACHINE_DRIVER_START( cnightst )
826static MACHINE_CONFIG_DERIVED( cnightst, decocass )
852827
853828   /* basic machine hardware */
854   MDRV_IMPORT_FROM(decocass)
855829   MDRV_MACHINE_RESET(cnightst)
856MACHINE_DRIVER_END
830MACHINE_CONFIG_END
857831
858832
859static MACHINE_DRIVER_START( cprosocc )
833static MACHINE_CONFIG_DERIVED( cprosocc, decocass )
860834
861835   /* basic machine hardware */
862   MDRV_IMPORT_FROM(decocass)
863836   MDRV_MACHINE_RESET(cprosocc)
864MACHINE_DRIVER_END
837MACHINE_CONFIG_END
865838
866839
867static MACHINE_DRIVER_START( cppicf )
840static MACHINE_CONFIG_DERIVED( cppicf, decocass )
868841
869842   /* basic machine hardware */
870   MDRV_IMPORT_FROM(decocass)
871843   MDRV_MACHINE_RESET(cppicf)
872MACHINE_DRIVER_END
844MACHINE_CONFIG_END
873845
874846
875static MACHINE_DRIVER_START( cbdash )
847static MACHINE_CONFIG_DERIVED( cbdash, decocass )
876848
877849   /* basic machine hardware */
878   MDRV_IMPORT_FROM(decocass)
879850   MDRV_MACHINE_RESET(cbdash)
880MACHINE_DRIVER_END
851MACHINE_CONFIG_END
881852
882853
883static MACHINE_DRIVER_START( cscrtry )
854static MACHINE_CONFIG_DERIVED( cscrtry, decocass )
884855
885856   /* basic machine hardware */
886   MDRV_IMPORT_FROM(decocass)
887857   MDRV_MACHINE_RESET(cscrtry)
888MACHINE_DRIVER_END
858MACHINE_CONFIG_END
889859
890860
891static MACHINE_DRIVER_START( cflyball )
861static MACHINE_CONFIG_DERIVED( cflyball, decocass )
892862
893863   /* basic machine hardware */
894   MDRV_IMPORT_FROM(decocass)
895864   MDRV_MACHINE_RESET(cflyball)
896MACHINE_DRIVER_END
865MACHINE_CONFIG_END
897866
898867
899static MACHINE_DRIVER_START( czeroize )
868static MACHINE_CONFIG_DERIVED( czeroize, decocass )
900869
901870   /* basic machine hardware */
902   MDRV_IMPORT_FROM(decocass)
903871   MDRV_MACHINE_RESET(czeroize)
904872   MDRV_SCREEN_MODIFY("screen")
905873   MDRV_SCREEN_VISIBLE_AREA(1*8, 32*8-1, 1*8, 31*8-1)
906MACHINE_DRIVER_END
874MACHINE_CONFIG_END
907875
908876
909877#define ROM_LOAD_BIOS(bios,name,offset,length,hash) \
src/mame/drivers/mystwarr.c
r9191r9192
3131#include "machine/eeprom.h"
3232#include "sound/k054539.h"
3333#include "includes/konamipt.h"
34#include "includes/mystwarr.h"
3435
35VIDEO_START(gaiapols);
36VIDEO_START(dadandrn);
37VIDEO_START(viostorm);
38VIDEO_START(metamrph);
39VIDEO_START(martchmp);
40VIDEO_START(mystwarr);
41VIDEO_UPDATE(dadandrn);
42VIDEO_UPDATE(mystwarr);
43VIDEO_UPDATE(metamrph);
44VIDEO_UPDATE(martchmp);
45
46WRITE16_HANDLER(ddd_053936_enable_w);
47WRITE16_HANDLER(ddd_053936_clip_w);
48READ16_HANDLER(gai_053936_tilerom_0_r);
49READ16_HANDLER(ddd_053936_tilerom_0_r);
50READ16_HANDLER(ddd_053936_tilerom_1_r);
51READ16_HANDLER(gai_053936_tilerom_2_r);
52READ16_HANDLER(ddd_053936_tilerom_2_r);
53
5436static UINT16 *gx_workram;
5537
5638static UINT8 mw_irq_control;
r9191r9192
957939   for (i=5; i<=7; i++) k054539_set_gain(k054539_1, i, 2.0);
958940}
959941
960static MACHINE_DRIVER_START( mystwarr )
942static MACHINE_CONFIG_START( mystwarr, driver_device )
961943
962944   /* basic machine hardware */
963945   MDRV_CPU_ADD("maincpu", M68000, 16000000)   /* 16 MHz (confirmed) */
r9191r9192
1003985   MDRV_SOUND_CONFIG(k054539_config)
1004986   MDRV_SOUND_ROUTE(0, "rspeaker", 1.0)   /* stereo channels are inverted */
1005987   MDRV_SOUND_ROUTE(1, "lspeaker", 1.0)
1006MACHINE_DRIVER_END
988MACHINE_CONFIG_END
1007989
1008static MACHINE_DRIVER_START( viostorm )
1009   MDRV_IMPORT_FROM(mystwarr)
990static MACHINE_CONFIG_DERIVED( viostorm, mystwarr )
1010991
1011992   MDRV_MACHINE_RESET(viostorm)
1012993
r9191r9192
10231004   MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(900))
10241005   MDRV_SCREEN_SIZE(64*8, 32*8)
10251006   MDRV_SCREEN_VISIBLE_AREA(40, 40+384-1, 16, 16+224-1)
1026MACHINE_DRIVER_END
1007MACHINE_CONFIG_END
10271008
1028static MACHINE_DRIVER_START( metamrph )
1029   MDRV_IMPORT_FROM(mystwarr)
1009static MACHINE_CONFIG_DERIVED( metamrph, mystwarr )
10301010
10311011   MDRV_MACHINE_RESET(metamrph)
10321012
r9191r9192
10431023   MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(900))
10441024   MDRV_SCREEN_SIZE(64*8, 32*8)
10451025   MDRV_SCREEN_VISIBLE_AREA(24, 24+288-1, 17, 17+224-1)
1046MACHINE_DRIVER_END
1026MACHINE_CONFIG_END
10471027
1048static MACHINE_DRIVER_START( dadandrn )
1049   MDRV_IMPORT_FROM(mystwarr)
1028static MACHINE_CONFIG_DERIVED( dadandrn, mystwarr )
10501029
10511030   MDRV_MACHINE_RESET(dadandrn)
10521031
r9191r9192
10651044   MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(600))
10661045   MDRV_SCREEN_SIZE(64*8, 32*8)
10671046   MDRV_SCREEN_VISIBLE_AREA(24, 24+288-1, 17, 17+224-1)
1068MACHINE_DRIVER_END
1047MACHINE_CONFIG_END
10691048
1070static MACHINE_DRIVER_START( gaiapols )
1071   MDRV_IMPORT_FROM(mystwarr)
1049static MACHINE_CONFIG_DERIVED( gaiapols, mystwarr )
10721050
10731051   MDRV_MACHINE_RESET(gaiapols)
10741052
r9191r9192
10911069   MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(600))
10921070   MDRV_SCREEN_SIZE(64*8, 32*8)
10931071   MDRV_SCREEN_VISIBLE_AREA(40, 40+376-1, 16, 16+224-1)
1094MACHINE_DRIVER_END
1072MACHINE_CONFIG_END
10951073
1096static MACHINE_DRIVER_START( martchmp )
1097   MDRV_IMPORT_FROM(mystwarr)
1074static MACHINE_CONFIG_DERIVED( martchmp, mystwarr )
10981075
10991076   MDRV_MACHINE_RESET(martchmp)
11001077
r9191r9192
11131090   MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
11141091   MDRV_SCREEN_SIZE(64*8, 32*8)
11151092   MDRV_SCREEN_VISIBLE_AREA(32, 32+384-1, 16, 16+224-1)
1116MACHINE_DRIVER_END
1093MACHINE_CONFIG_END
11171094
11181095/**********************************************************************************/
11191096
src/mame/drivers/dlair.c
r9191r9192
4444#include "dlair.lh"
4545
4646
47class dlair_state : public driver_device
48{
49public:
50   dlair_state(running_machine &machine, const driver_device_config_base &config)
51      : driver_device(machine, config) { }
4752
53   UINT8 *videoram;
54};
55
56
57
58
4859/*************************************
4960 *
5061 *  Constants
r9191r9192
161172
162173static VIDEO_UPDATE( dleuro )
163174{
175   dlair_state *state = screen->machine->driver_data<dlair_state>();
176   UINT8 *videoram = state->videoram;
164177   int x, y;
165178
166179   /* redraw the overlay */
167180   for (y = 0; y < 32; y++)
168181      for (x = 0; x < 32; x++)
169182      {
170         UINT8 *base = &screen->machine->generic.videoram.u8[y * 64 + x * 2 + 1];
183         UINT8 *base = &videoram[y * 64 + x * 2 + 1];
171184         drawgfx_opaque(bitmap, cliprect, screen->machine->gfx[0], base[0], base[1], 0, 0, 10 * x, 16 * y);
172185      }
173186
r9191r9192
209222static INTERRUPT_GEN( vblank_callback )
210223{
211224   /* also update the speaker on the European version */
212   beep_sound_device *beep = device->machine->device<beep_sound_device>("beep");
225   beep_device *beep = device->machine->device<beep_device>("beep");
213226   if (beep != NULL)
214227   {
215228      z80ctc_device *ctc = device->machine->device<z80ctc_device>("ctc");
r9191r9192
378391static ADDRESS_MAP_START( dleuro_map, ADDRESS_SPACE_PROGRAM, 8 )
379392   AM_RANGE(0x0000, 0x9fff) AM_ROM
380393   AM_RANGE(0xa000, 0xa7ff) AM_MIRROR(0x1800) AM_RAM
381   AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_BASE_GENERIC(videoram)
394   AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_BASE_MEMBER(dlair_state, videoram)
382395   AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x1f47) // WT LED 1
383396   AM_RANGE(0xe008, 0xe008) AM_MIRROR(0x1f47) // WT LED 2
384397   AM_RANGE(0xe010, 0xe010) AM_MIRROR(0x1f47) AM_WRITE(led_den1_w)         // WT EXT LED 1
r9191r9192
669682 *
670683 *************************************/
671684
672static MACHINE_DRIVER_START( dlair_base )
685static MACHINE_CONFIG_START( dlair_base, dlair_state )
673686
674687   /* basic machine hardware */
675688   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK_US/4)
r9191r9192
690703   MDRV_SOUND_CONFIG(ay8910_config)
691704   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.33)
692705
693   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
706   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
694707   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
695708   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
696MACHINE_DRIVER_END
709MACHINE_CONFIG_END
697710
698711
699static MACHINE_DRIVER_START( dlair_pr7820 )
700   MDRV_IMPORT_FROM(dlair_base)
712static MACHINE_CONFIG_DERIVED( dlair_pr7820, dlair_base )
701713   MDRV_LASERDISC_ADD("laserdisc", PIONEER_PR7820, "screen", "ldsound")
702MACHINE_DRIVER_END
714MACHINE_CONFIG_END
703715
704716
705static MACHINE_DRIVER_START( dlair_ldv1000 )
706   MDRV_IMPORT_FROM(dlair_base)
717static MACHINE_CONFIG_DERIVED( dlair_ldv1000, dlair_base )
707718   MDRV_LASERDISC_ADD("laserdisc", PIONEER_LDV1000, "screen", "ldsound")
708MACHINE_DRIVER_END
719MACHINE_CONFIG_END
709720
710721
711static MACHINE_DRIVER_START( dleuro )
722static MACHINE_CONFIG_START( dleuro, dlair_state )
712723
713724   /* basic machine hardware */
714725   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK_EURO/4)
r9191r9192
743754   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.33)
744755   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.33)
745756
746   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
757   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
747758   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
748759   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
749MACHINE_DRIVER_END
760MACHINE_CONFIG_END
750761
751762
752763
src/mame/drivers/jollyjgr.c
r9191r9192
102102#include "sound/ay8910.h"
103103
104104
105class jollyjgr_state : public driver_data_t
105class jollyjgr_state : public driver_device
106106{
107107public:
108   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, jollyjgr_state(machine)); }
108   jollyjgr_state(running_machine &machine, const driver_device_config_base &config)
109      : driver_device(machine, config) { }
109110
110   jollyjgr_state(running_machine &machine)
111      : driver_data_t(machine) { }
112
113111   /* memory pointers */
114112   UINT8 *  videoram;
115113   UINT8 *  colorram;
r9191r9192
638636   state->tilemap_bank = 0;
639637}
640638
641static MACHINE_DRIVER_START( jollyjgr )
639static MACHINE_CONFIG_START( jollyjgr, jollyjgr_state )
642640
643   /* driver data */
644   MDRV_DRIVER_DATA(jollyjgr_state)
645
646641   /* basic machine hardware */
647642   MDRV_CPU_ADD("maincpu", Z80, 3579545)       /* 3,579545 MHz */
648643   MDRV_CPU_PROGRAM_MAP(jollyjgr_map)
r9191r9192
671666
672667   MDRV_SOUND_ADD("aysnd", AY8910, 3579545)
673668   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.45)
674MACHINE_DRIVER_END
669MACHINE_CONFIG_END
675670
676static MACHINE_DRIVER_START( fspider )
677   MDRV_IMPORT_FROM( jollyjgr )
671static MACHINE_CONFIG_DERIVED( fspider, jollyjgr )
678672
679673   MDRV_CPU_MODIFY("maincpu")
680674   MDRV_CPU_PROGRAM_MAP(fspider_map)
681675
682676   MDRV_VIDEO_UPDATE(fspider)
683677
684MACHINE_DRIVER_END
678MACHINE_CONFIG_END
685679
686680/*************************************
687681 *
src/mame/drivers/irobot.c
r9191r9192
8080#include "emu.h"
8181#include "cpu/m6809/m6809.h"
8282#include "sound/pokey.h"
83#include "machine/nvram.h"
8384#include "includes/irobot.h"
8485
8586#define MAIN_CLOCK      XTAL_12_096MHz
r9191r9192
9394
9495static WRITE8_HANDLER( irobot_nvram_w )
9596{
96   space->machine->generic.nvram.u8[offset] = data & 0x0f;
97   irobot_state *state = space->machine->driver_data<irobot_state>();
98   state->m_nvram[offset] = data & 0x0f;
9799}
98100
99101
r9191r9192
134136    AM_RANGE(0x1140, 0x1140) AM_WRITE(irobot_statwr_w)
135137    AM_RANGE(0x1180, 0x1180) AM_WRITE(irobot_out0_w)
136138    AM_RANGE(0x11c0, 0x11c0) AM_WRITE(irobot_rom_banksel_w)
137    AM_RANGE(0x1200, 0x12ff) AM_RAM_WRITE(irobot_nvram_w) AM_BASE_SIZE_GENERIC(nvram)
139    AM_RANGE(0x1200, 0x12ff) AM_RAM_WRITE(irobot_nvram_w) AM_SHARE("nvram")
138140    AM_RANGE(0x1300, 0x13ff) AM_READ(irobot_control_r)
139141    AM_RANGE(0x1400, 0x143f) AM_READWRITE(quad_pokey_r, quad_pokey_w)
140142    AM_RANGE(0x1800, 0x18ff) AM_WRITE(irobot_paletteram_w)
141143    AM_RANGE(0x1900, 0x19ff) AM_WRITEONLY            /* Watchdog reset */
142144    AM_RANGE(0x1a00, 0x1a00) AM_WRITE(irobot_clearfirq_w)
143145    AM_RANGE(0x1b00, 0x1bff) AM_WRITE(irobot_control_w)
144    AM_RANGE(0x1c00, 0x1fff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
146    AM_RANGE(0x1c00, 0x1fff) AM_RAM AM_BASE_MEMBER(irobot_state, videoram)
145147    AM_RANGE(0x2000, 0x3fff) AM_READWRITE(irobot_sharedmem_r, irobot_sharedmem_w)
146148    AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1")
147149    AM_RANGE(0x6000, 0xffff) AM_ROM
r9191r9192
287289 *
288290 *************************************/
289291
290static MACHINE_DRIVER_START( irobot )
292static MACHINE_CONFIG_START( irobot, irobot_state )
291293
292294   /* basic machine hardware */
293295   MDRV_CPU_ADD("maincpu", M6809, MAIN_CLOCK/8)
294296   MDRV_CPU_PROGRAM_MAP(irobot_map)
295297
296298   MDRV_MACHINE_RESET(irobot)
297   MDRV_NVRAM_HANDLER(generic_0fill)
299   MDRV_NVRAM_ADD_0FILL("nvram")
298300
299301   /* video hardware */
300302   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
329331
330332   MDRV_SOUND_ADD("pokey4", POKEY, MAIN_CLOCK/8)
331333   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
332MACHINE_DRIVER_END
334MACHINE_CONFIG_END
333335
334336
335337
src/mame/drivers/klax.c
r9191r9192
8484
8585static ADDRESS_MAP_START( klax_map, ADDRESS_SPACE_PROGRAM, 16 )
8686   AM_RANGE(0x000000, 0x03ffff) AM_ROM
87   AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r,atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(klax_state, eeprom, eeprom_size)
87   AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r,atarigen_eeprom_w) AM_SHARE("eeprom")
8888   AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w)
8989   AM_RANGE(0x260000, 0x260001) AM_READ_PORT("P1") AM_WRITE(klax_latch_w)
9090   AM_RANGE(0x260002, 0x260003) AM_READ_PORT("P2")
91   AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff)
91   AM_RANGE(0x270000, 0x270001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
9292   AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
9393   AM_RANGE(0x360000, 0x360001) AM_WRITE(interrupt_ack_w)
9494   AM_RANGE(0x3e0000, 0x3e07ff) AM_RAM_WRITE(atarigen_expanded_666_paletteram_w) AM_BASE_GENERIC(paletteram)
r9191r9192
164164 *
165165 *************************************/
166166
167static MACHINE_DRIVER_START( klax )
168   MDRV_DRIVER_DATA(klax_state)
167static MACHINE_CONFIG_START( klax, klax_state )
169168
170169   /* basic machine hardware */
171170   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
174173
175174   MDRV_MACHINE_START(klax)
176175   MDRV_MACHINE_RESET(klax)
177   MDRV_NVRAM_HANDLER(atarigen)
176   MDRV_NVRAM_ADD_1FILL("eeprom")
178177
179178   /* video hardware */
180179   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
195194
196195   MDRV_OKIM6295_ADD("oki", ATARI_CLOCK_14MHz/4/4, OKIM6295_PIN7_HIGH)
197196   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
198MACHINE_DRIVER_END
197MACHINE_CONFIG_END
199198
200199
201200
src/mame/drivers/quizpani.c
r9191r9192
3030            QZ7.99          82s129      prom
3131            QZ8.121         82s135      prom
3232
33
34Stephh's notes (based on the games M68000 code and some tests) :
35
36  - I'm unsure that DSW1 bit 0 is related to screen flipping, but if you look at code
37    at 0x004d9c, there is a write to 0x100014.w before writes to the scroll registers.
38  - I can't explain why there is a possibility to have an alternate buttons layout.
39    It may be to run the game on other (NMK ?) boards.
40  - Press START1 + START2 on startup to enter sort of "test mode" (code at 0x003b0c).
41    It shall display system and players inputs, but text seems to be displayed
42    with a black color on a black background, so you can't see anything :(
43    Furthermore, there is no wait after the values are displayed, and after the 'rts'
44    instruction at 0x0083a4, PC branches back to 0x000000 ! Leftover from another game ?
45
3346*************************************************************************/
3447
3548#include "emu.h"
3649#include "cpu/m68000/m68000.h"
3750#include "machine/nmk112.h"
3851#include "sound/okim6295.h"
52#include "includes/quizpani.h"
3953
40extern UINT16 *quizpani_bg_videoram, *quizpani_txt_videoram;
41extern UINT16 *quizpani_scrollreg;
42
43extern WRITE16_HANDLER( quizpani_bg_videoram_w );
44extern WRITE16_HANDLER( quizpani_txt_videoram_w );
45extern WRITE16_HANDLER( quizpani_tilesbank_w );
46
47extern VIDEO_START( quizpani );
48extern VIDEO_UPDATE( quizpani );
49
5054static ADDRESS_MAP_START( quizpani_map, ADDRESS_SPACE_PROGRAM, 16 )
5155   AM_RANGE(0x000000, 0x07ffff) AM_ROM
5256   AM_RANGE(0x100000, 0x100001) AM_READ_PORT("SYSTEM")
5357   AM_RANGE(0x100002, 0x100003) AM_READ_PORT("P1_P2")
5458   AM_RANGE(0x100008, 0x100009) AM_READ_PORT("DSW1")
5559   AM_RANGE(0x10000a, 0x10000b) AM_READ_PORT("DSW2")
56   AM_RANGE(0x100014, 0x100015) AM_WRITENOP
60   AM_RANGE(0x100014, 0x100015) AM_WRITENOP /* screen flipping? */
5761   AM_RANGE(0x100016, 0x100017) AM_WRITENOP /* IRQ enable? */
5862   AM_RANGE(0x100018, 0x100019) AM_WRITE(quizpani_tilesbank_w)
59   AM_RANGE(0x104000, 0x104001) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff)
63   AM_RANGE(0x104000, 0x104001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
6064   AM_RANGE(0x104020, 0x104027) AM_DEVWRITE("nmk112", nmk112_okibank_lsb_w)
6165   AM_RANGE(0x108000, 0x1083ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
6266   AM_RANGE(0x108400, 0x1085ff) AM_WRITENOP
r9191r9192
6973ADDRESS_MAP_END
7074
7175
76/* verified from M68000 code */
7277static INPUT_PORTS_START( quizpani )
7378   PORT_START("SYSTEM")
7479   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
r9191r9192
8287   PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
8388
8489   PORT_START("P1_P2")
85   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
86   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
87   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
88   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
89   PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
90   PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
91   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
92   PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
93   PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
94   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
95   PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
96   PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
97   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
98   PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
99   PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
100   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
101   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
102   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
103   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
104   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
105   PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
106   PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
107   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
108   PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
109   PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
110   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
111   PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
112   PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
113   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
114   PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
115   PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
116   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
90   /* "Standard" buttons layout */
91   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
92   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
93   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
94   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
95   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )                    PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
96   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )                    PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
97   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )                    PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
98   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )                    PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
99   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
100   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
101   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
102   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
103   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )                    PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
104   PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )                    PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
105   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )                    PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
106   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )                    PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0002)
107   /* "Alternate" buttons layout */
108   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* dup. B1 P1 */   PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
109   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* dup. B1 P1 */   PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
110   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* dup. B1 P1 */   PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
111   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
112   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
113   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
114   PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
115   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )                    PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
116   PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* dup. B1 P2 */   PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
117   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* dup. B1 P2 */   PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
118   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* dup. B1 P2 */   PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
119   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
120   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
121   PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
122   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)     PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
123   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )                    PORT_CONDITION("DSW1",0x0002,PORTCOND_EQUALS,0x0000)
117124
118125   PORT_START("DSW1")
119   PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
126   PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Flip_Screen ) )  /* guess, but check code at 0x004d9c and write to 0x100014 */
120127   PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
121128   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
122   PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
123   PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
124   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
125   PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
126   PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
127   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
128   PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
129   PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
130   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
129   PORT_DIPNAME( 0x0002, 0x0002, "Buttons Layout" )        /* check code at 0x005d80 */
130   PORT_DIPSETTING(      0x0002, DEF_STR( Standard ) )
131   PORT_DIPSETTING(      0x0000, DEF_STR( Alternate ) )
132   PORT_DIPNAME( 0x0004, 0x0018, DEF_STR( Difficulty ) )
133   PORT_DIPSETTING(      0x0008, DEF_STR( Easy ) )
134   PORT_DIPSETTING(      0x0018, DEF_STR( Medium ) )
135   PORT_DIPSETTING(      0x0010, DEF_STR( Hard ) )
136   PORT_DIPSETTING(      0x0000, DEF_STR( Hardest ) )
131137   PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )
132138   PORT_DIPSETTING(      0x0000, "1" )
133139   PORT_DIPSETTING(      0x0020, "2" )
134140   PORT_DIPSETTING(      0x0030, "3" )
135141   PORT_DIPSETTING(      0x0010, "4" )
136   PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
137   PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
138   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
142   PORT_DIPUNKNOWN( 0x0040, 0x0040 )                       /* check code at 0x0083a6 - never called ? */
139143   PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Demo_Sounds ) )
140144   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
141145   PORT_DIPSETTING(      0x0080, DEF_STR( On ) )
142   PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
143   PORT_DIPSETTING(      0x0100, DEF_STR( Off ) )
144   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
145   PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
146   PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
147   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
148   PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
149   PORT_DIPSETTING(      0x0400, DEF_STR( Off ) )
150   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
151   PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
152   PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
153   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
154   PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
155   PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
156   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
157   PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
158   PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
159   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
160   PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
161   PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
162   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
163   PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
164   PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
165   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
166146
167147   PORT_START("DSW2")
168   PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
169   PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
170   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
171   PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
172   PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
173   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
148   PORT_DIPUNUSED( 0x0001, 0x0001 )
149   PORT_DIPNAME( 0x0002, 0x0002, "Sounds/Music" )          /* check code at 0x003ab4 */
150   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
151   PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
174152   PORT_DIPNAME( 0x001c, 0x001c, DEF_STR( Coin_B ) )
175153   PORT_DIPSETTING(      0x0010, DEF_STR( 4C_1C ) )
176154   PORT_DIPSETTING(      0x0008, DEF_STR( 3C_1C ) )
r9191r9192
189167   PORT_DIPSETTING(      0x00a0, DEF_STR( 1C_3C ) )
190168   PORT_DIPSETTING(      0x0020, DEF_STR( 1C_4C ) )
191169   PORT_DIPSETTING(      0x0000, DEF_STR( Free_Play ) )
192   PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
193   PORT_DIPSETTING(      0x0100, DEF_STR( Off ) )
194   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
195   PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
196   PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
197   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
198   PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
199   PORT_DIPSETTING(      0x0400, DEF_STR( Off ) )
200   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
201   PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
202   PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
203   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
204   PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
205   PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
206   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
207   PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
208   PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
209   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
210   PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
211   PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
212   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
213   PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
214   PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
215   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
216170INPUT_PORTS_END
217171
218172static const gfx_layout tilelayout =
r9191r9192
240194};
241195
242196
243static MACHINE_DRIVER_START( quizpani )
197static MACHINE_CONFIG_START( quizpani, driver_device )
244198   MDRV_CPU_ADD("maincpu", M68000, 10000000)
245199   MDRV_CPU_PROGRAM_MAP(quizpani_map)
246200   MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
r9191r9192
265219   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
266220
267221   MDRV_NMK112_ADD("nmk112", quizpani_nmk112_intf)
268MACHINE_DRIVER_END
222MACHINE_CONFIG_END
269223
270224ROM_START( quizpani )
271225   ROM_REGION( 0x340000, "maincpu", 0 ) /* 68000 Code */
src/mame/drivers/gomoku.c
r9191r9192
117117GFXDECODE_END
118118
119119
120static MACHINE_DRIVER_START( gomoku )
120static MACHINE_CONFIG_START( gomoku, driver_device )
121121   /* basic machine hardware */
122122   MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/12)       /* 1.536 MHz ? */
123123   MDRV_CPU_PROGRAM_MAP(gomoku_map)
r9191r9192
143143
144144   MDRV_SOUND_ADD("gomoku", GOMOKU, 0)
145145   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
146MACHINE_DRIVER_END
146MACHINE_CONFIG_END
147147
148148
149149ROM_START( gomoku )
src/mame/drivers/ssfindo.c
r9191r9192
593593INPUT_PORTS_END
594594
595595
596static MACHINE_DRIVER_START( ssfindo )
596static MACHINE_CONFIG_START( ssfindo, driver_device )
597597
598598   /* basic machine hardware */
599599   MDRV_CPU_ADD("maincpu", ARM7, 54000000) // guess...
r9191r9192
614614
615615   MDRV_VIDEO_UPDATE(ssfindo)
616616
617MACHINE_DRIVER_END
617MACHINE_CONFIG_END
618618
619static MACHINE_DRIVER_START( ppcar )
619static MACHINE_CONFIG_START( ppcar, driver_device )
620620
621621   /* basic machine hardware */
622622   MDRV_CPU_ADD("maincpu", ARM7, 54000000) // guess...
r9191r9192
636636   MDRV_PALETTE_LENGTH(256)
637637
638638   MDRV_VIDEO_UPDATE(ssfindo)
639MACHINE_DRIVER_END
639MACHINE_CONFIG_END
640640
641641
642642ROM_START( ssfindo )
src/mame/drivers/firetrk.c
r9191r9192
876876GFXDECODE_END
877877
878878
879static MACHINE_DRIVER_START( firetrk )
879static MACHINE_CONFIG_START( firetrk, driver_device )
880880
881881   /* basic machine hardware */
882882   MDRV_CPU_ADD("maincpu", M6800, MASTER_CLOCK/12)   /* 750Khz during service mode */
r9191r9192
907907   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
908908   MDRV_SOUND_CONFIG_DISCRETE(firetrk)
909909   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
910MACHINE_DRIVER_END
910MACHINE_CONFIG_END
911911
912912
913static MACHINE_DRIVER_START( superbug )
913static MACHINE_CONFIG_DERIVED( superbug, firetrk )
914914
915915   /* basic machine hardware */
916   MDRV_IMPORT_FROM(firetrk)
917916   MDRV_CPU_MODIFY("maincpu")
918917   MDRV_CPU_PROGRAM_MAP(superbug_map)
919918
r9191r9192
927926   MDRV_SOUND_REPLACE("discrete", DISCRETE, 0)
928927   MDRV_SOUND_CONFIG_DISCRETE(superbug)
929928   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
930MACHINE_DRIVER_END
929MACHINE_CONFIG_END
931930
932931
933static MACHINE_DRIVER_START( montecar )
932static MACHINE_CONFIG_DERIVED( montecar, firetrk )
934933
935934   /* basic machine hardware */
936   MDRV_IMPORT_FROM(firetrk)
937935   MDRV_CPU_MODIFY("maincpu")   /* 750Khz during service mode */
938936   MDRV_CPU_PROGRAM_MAP(montecar_map)
939937
r9191r9192
949947   MDRV_SOUND_REPLACE("discrete", DISCRETE, 0)
950948   MDRV_SOUND_CONFIG_DISCRETE(montecar)
951949   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
952MACHINE_DRIVER_END
950MACHINE_CONFIG_END
953951
954952
955953ROM_START( firetrk )
src/mame/drivers/m57.c
r9191r9192
222222 *
223223 *************************************/
224224
225static MACHINE_DRIVER_START( m57 )
225static MACHINE_CONFIG_START( m57, irem_z80_state )
226226
227   /* driver data */
228   MDRV_DRIVER_DATA(irem_z80_state)
229
230227   /* basic machine hardware */
231228   MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6)   /* verified on pcb */
232229   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
250247   MDRV_VIDEO_UPDATE(m57)
251248
252249   /* sound hardware */
253   MDRV_IMPORT_FROM(m52_sound_c_audio)
254MACHINE_DRIVER_END
250   MDRV_FRAGMENT_ADD(m52_sound_c_audio)
251MACHINE_CONFIG_END
255252
256253
257254
src/mame/drivers/peplus.c
r9191r9192
162162
163163#include "emu.h"
164164#include "sound/ay8910.h"
165#include "machine/nvram.h"
165166#include "cpu/mcs51/mcs51.h"
166167#include "machine/i2cmem.h"
167168#include "video/mc6845.h"
r9191r9192
173174#include "pe_keno.lh"
174175#include "pe_slots.lh"
175176
177
178class peplus_state : public driver_device
179{
180public:
181   peplus_state(running_machine &machine, const driver_device_config_base &config)
182      : driver_device(machine, config),
183        cmos_ram(*this, "cmos") { }
184
185   UINT8 *videoram;
186   required_shared_ptr<UINT8> cmos_ram;
187};
188
189
176190#define MASTER_CLOCK      XTAL_20MHz
177191#define CPU_CLOCK         ((MASTER_CLOCK)/2)      /* divided by 2 - 7474 */
178192#define MC6845_CLOCK      ((MASTER_CLOCK)/8/3)
r9191r9192
186200
187201/* Pointers to External RAM */
188202static UINT8 *program_ram;
189static UINT8 *cmos_ram;
190203static UINT8 *s3000_ram;
191204static UINT8 *s5000_ram;
192205static UINT8 *s7000_ram;
r9191r9192
214227static int sda_dir = 0;
215228
216229/* Static Variables */
217#define CMOS_NVRAM_SIZE     0x2000
218230#define eeprom_NVRAM_SIZE   0x200 // 4k Bit
219231
220232/* EEPROM is a X2404P 4K-bit Serial I2C Bus */
r9191r9192
261273
262274
263275/*****************
264* NVRAM Handlers *
265******************/
266
267static NVRAM_HANDLER( peplus )
268{
269   if (read_or_write)
270   {
271      mame_fwrite(file, cmos_ram, CMOS_NVRAM_SIZE);
272   }
273   else
274   {
275      if (file)
276      {
277         mame_fread(file, cmos_ram, CMOS_NVRAM_SIZE);
278      }
279      else
280      {
281         memset(cmos_ram, 0, CMOS_NVRAM_SIZE);
282      }
283   }
284}
285
286
287/*****************
288276* Write Handlers *
289277******************/
290278
r9191r9192
357345
358346static WRITE8_DEVICE_HANDLER( peplus_crtc_display_w )
359347{
360   device->machine->generic.videoram.u8[vid_address] = data;
348   peplus_state *state = device->machine->driver_data<peplus_state>();
349   UINT8 *videoram = state->videoram;
350   videoram[vid_address] = data;
361351   palette_ram[vid_address] = io_port[1];
362352   palette_ram2[vid_address] = io_port[3];
363353
r9191r9192
379369
380370static WRITE8_HANDLER( peplus_cmos_w )
381371{
372   peplus_state *state = space->machine->driver_data<peplus_state>();
382373   char bank_name[6];
383374
384375   /* Test for Wingboard PAL Trigger Condition */
r9191r9192
388379      peplus_load_superdata(space->machine, bank_name);
389380   }
390381
391   cmos_ram[offset] = data;
382   state->cmos_ram[offset] = data;
392383}
393384
394385static WRITE8_HANDLER( peplus_s3000_w )
r9191r9192
486477
487478static READ8_HANDLER( peplus_cmos_r )
488479{
489   return cmos_ram[offset];
480   peplus_state *state = space->machine->driver_data<peplus_state>();
481   return state->cmos_ram[offset];
490482}
491483
492484static READ8_HANDLER( peplus_s3000_r )
r9191r9192
644636
645637static TILE_GET_INFO( get_bg_tile_info )
646638{
639   peplus_state *state = machine->driver_data<peplus_state>();
640   UINT8 *videoram = state->videoram;
647641   int pr = palette_ram[tile_index];
648642   int pr2 = palette_ram2[tile_index];
649   int vr = machine->generic.videoram.u8[tile_index];
643   int vr = videoram[tile_index];
650644
651645   int code = ((pr & 0x0f)*256) | vr;
652646   int color = (pr>>4) & 0x0f;
r9191r9192
733727
734728static ADDRESS_MAP_START( peplus_iomap, ADDRESS_SPACE_IO, 8 )
735729   // Battery-backed RAM (0x1000-0x01fff Extended RAM for Superboards Only)
736   AM_RANGE(0x0000, 0x1fff) AM_READWRITE(peplus_cmos_r, peplus_cmos_w) AM_BASE(&cmos_ram)
730   AM_RANGE(0x0000, 0x1fff) AM_READWRITE(peplus_cmos_r, peplus_cmos_w) AM_SHARE("cmos")
737731
738732   // CRT Controller
739733   AM_RANGE(0x2008, 0x2008) AM_DEVWRITE("crtc", peplus_crtc_mode_w)
r9191r9192
755749   AM_RANGE(0x6000, 0x6000) AM_READ(peplus_bgcolor_r) AM_WRITE(peplus_bgcolor_w)
756750
757751    // Bogus Location for Video RAM
758   AM_RANGE(0x06001, 0x06400) AM_RAM AM_BASE_GENERIC(videoram)
752   AM_RANGE(0x06001, 0x06400) AM_RAM AM_BASE_MEMBER(peplus_state, videoram)
759753
760754    // Superboard Data
761755   AM_RANGE(0x7000, 0x7fff) AM_READWRITE(peplus_s7000_r, peplus_s7000_w) AM_BASE(&s7000_ram)
r9191r9192
10211015*     Machine Driver     *
10221016*************************/
10231017
1024static MACHINE_DRIVER_START( peplus )
1018static MACHINE_CONFIG_START( peplus, peplus_state )
10251019   // basic machine hardware
10261020   MDRV_CPU_ADD("maincpu", I80C32, CPU_CLOCK)
10271021   MDRV_CPU_PROGRAM_MAP(peplus_map)
10281022   MDRV_CPU_IO_MAP(peplus_iomap)
10291023
10301024   MDRV_MACHINE_RESET(peplus)
1031   MDRV_NVRAM_HANDLER(peplus)
1025   MDRV_NVRAM_ADD_0FILL("cmos")
10321026
10331027   // video hardware
10341028   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
10521046
10531047   MDRV_SOUND_ADD("aysnd", AY8912, SOUND_CLOCK)
10541048   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
1055MACHINE_DRIVER_END
1049MACHINE_CONFIG_END
10561050
10571051
10581052/*****************
src/mame/drivers/segas24.c
r9191r9192
17721772 *
17731773 *************************************/
17741774
1775static MACHINE_DRIVER_START( system24 )
1775static MACHINE_CONFIG_START( system24, driver_device )
17761776   /* basic machine hardware */
17771777   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK/2)
17781778   MDRV_CPU_PROGRAM_MAP(system24_cpu1_map)
r9191r9192
18101810   MDRV_SOUND_ADD("dac", DAC, 0)
18111811   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
18121812   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
1813MACHINE_DRIVER_END
1813MACHINE_CONFIG_END
18141814
1815static MACHINE_DRIVER_START( system24_floppy )
1816   MDRV_IMPORT_FROM(system24)
1815static MACHINE_CONFIG_DERIVED( system24_floppy, system24 )
18171816   MDRV_NVRAM_HANDLER(system24)
1818MACHINE_DRIVER_END
1817MACHINE_CONFIG_END
18191818
18201819
18211820/*************************************
src/mame/drivers/ddayjlc.c
r9191r9192
5656#include "sound/ay8910.h"
5757
5858
59class ddayjlc_state : public driver_data_t
59class ddayjlc_state : public driver_device
6060{
6161public:
62   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, ddayjlc_state(machine)); }
62   ddayjlc_state(running_machine &machine, const driver_device_config_base &config)
63      : driver_device(machine, config) { }
6364
64   ddayjlc_state(running_machine &machine)
65      : driver_data_t(machine) { }
66
6765   /* memory pointers */
6866   UINT8 *  bgram;
6967   UINT8 *  mainram;
r9191r9192
508506   }
509507}
510508
511static MACHINE_DRIVER_START( ddayjlc )
509static MACHINE_CONFIG_START( ddayjlc, ddayjlc_state )
512510
513   /* driver data */
514   MDRV_DRIVER_DATA(ddayjlc_state)
515
516511   /* basic machine hardware */
517512   MDRV_CPU_ADD("maincpu", Z80,12000000/3)
518513   MDRV_CPU_PROGRAM_MAP(main_cpu)
r9191r9192
550545
551546   MDRV_SOUND_ADD("ay2", AY8910, 12000000/6)
552547   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
553MACHINE_DRIVER_END
548MACHINE_CONFIG_END
554549
555550
556551ROM_START( ddayjlc )
src/mame/drivers/konamigx.c
r9191r9192
17851785   GFXDECODE_ENTRY( "gfx3", 0, bglayout_8bpp, 0x1800, 8 )
17861786GFXDECODE_END
17871787
1788static MACHINE_DRIVER_START( konamigx )
1788static MACHINE_CONFIG_START( konamigx, driver_device )
17891789   /* basic machine hardware */
17901790   MDRV_CPU_ADD("maincpu", M68EC020, 24000000)
17911791   MDRV_CPU_PROGRAM_MAP(gx_type2_map)
r9191r9192
18361836   MDRV_SOUND_CONFIG(k054539_config)
18371837   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
18381838   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1839MACHINE_DRIVER_END
1839MACHINE_CONFIG_END
18401840
1841static MACHINE_DRIVER_START( dragoonj )
1842   MDRV_IMPORT_FROM(konamigx)
1841static MACHINE_CONFIG_DERIVED( dragoonj, konamigx )
18431842   MDRV_CPU_MODIFY("maincpu")
18441843   MDRV_CPU_CLOCK(26400000) // needs higher clock to stop sprite flickerings
18451844   MDRV_SCREEN_MODIFY("screen")
18461845   MDRV_SCREEN_VISIBLE_AREA(40, 40+384-1, 16, 16+224-1)
18471846   MDRV_VIDEO_START(dragoonj)
1848MACHINE_DRIVER_END
1847MACHINE_CONFIG_END
18491848
1850static MACHINE_DRIVER_START( le2 )
1851   MDRV_IMPORT_FROM(konamigx)
1849static MACHINE_CONFIG_DERIVED( le2, konamigx )
18521850   MDRV_VIDEO_START(le2)
1853MACHINE_DRIVER_END
1851MACHINE_CONFIG_END
18541852
1855static MACHINE_DRIVER_START( konamigx_6bpp )
1856   MDRV_IMPORT_FROM(konamigx)
1853static MACHINE_CONFIG_DERIVED( konamigx_6bpp, konamigx )
18571854   MDRV_VIDEO_START(konamigx_6bpp)
1858MACHINE_DRIVER_END
1855MACHINE_CONFIG_END
18591856
1860static MACHINE_DRIVER_START( konamigx_6bpp_2 )
1861   MDRV_IMPORT_FROM(konamigx)
1857static MACHINE_CONFIG_DERIVED( konamigx_6bpp_2, konamigx )
18621858   MDRV_VIDEO_START(konamigx_6bpp_2)
1863MACHINE_DRIVER_END
1859MACHINE_CONFIG_END
18641860
1865static MACHINE_DRIVER_START( opengolf )
1866   MDRV_IMPORT_FROM(konamigx)
1861static MACHINE_CONFIG_DERIVED( opengolf, konamigx )
18671862   MDRV_SCREEN_MODIFY("screen")
18681863   MDRV_SCREEN_RAW_PARAMS(8000000, 384+24+64+40, 0, 383, 224+16+8+16, 0, 223)
18691864   MDRV_SCREEN_VISIBLE_AREA(40, 40+384-1, 16, 16+224-1)
r9191r9192
18741869   MDRV_CPU_PROGRAM_MAP(gx_type1_map)
18751870
18761871   MDRV_ADC0834_ADD( "adc0834", konamigx_adc_interface )
1877MACHINE_DRIVER_END
1872MACHINE_CONFIG_END
18781873
1879static MACHINE_DRIVER_START( racinfrc )
1880   MDRV_IMPORT_FROM(konamigx)
1874static MACHINE_CONFIG_DERIVED( racinfrc, konamigx )
18811875   MDRV_SCREEN_MODIFY("screen")
18821876   MDRV_SCREEN_RAW_PARAMS(8000000, 384+24+64+40, 0, 383, 224+16+8+16, 0, 223)
18831877   MDRV_SCREEN_VISIBLE_AREA(32, 32+384-1, 16, 16+224-1)
r9191r9192
18881882   MDRV_CPU_PROGRAM_MAP(gx_type1_map)
18891883
18901884   MDRV_ADC0834_ADD( "adc0834", konamigx_adc_interface )
1891MACHINE_DRIVER_END
1885MACHINE_CONFIG_END
18921886
1893static MACHINE_DRIVER_START( gxtype3 )
1894   MDRV_IMPORT_FROM(konamigx)
1887static MACHINE_CONFIG_DERIVED( gxtype3, konamigx )
18951888
18961889   MDRV_CPU_MODIFY("maincpu")
18971890   MDRV_CPU_PROGRAM_MAP(gx_type3_map)
r9191r9192
19141907
19151908
19161909   MDRV_GFXDECODE(type34)
1917MACHINE_DRIVER_END
1910MACHINE_CONFIG_END
19181911
1919static MACHINE_DRIVER_START( gxtype4 )
1920   MDRV_IMPORT_FROM(konamigx)
1912static MACHINE_CONFIG_DERIVED( gxtype4, konamigx )
19211913
19221914   MDRV_CPU_MODIFY("maincpu")
19231915   MDRV_CPU_PROGRAM_MAP(gx_type4_map)
r9191r9192
19401932   MDRV_PALETTE_LENGTH(8192)
19411933   MDRV_GFXDECODE(type4)
19421934   MDRV_VIDEO_START(konamigx_type4)
1943MACHINE_DRIVER_END
1935MACHINE_CONFIG_END
19441936
1945static MACHINE_DRIVER_START( gxtype4_vsn )
1946   MDRV_IMPORT_FROM(gxtype4)
1937static MACHINE_CONFIG_DERIVED( gxtype4_vsn, gxtype4 )
19471938
19481939   MDRV_DEFAULT_LAYOUT(layout_dualhsxs)
19491940
r9191r9192
19561947   MDRV_SCREEN_VISIBLE_AREA(0, 576-1, 16, 32*8-1-16)
19571948
19581949   MDRV_VIDEO_START(konamigx_type4_vsn)
1959MACHINE_DRIVER_END
1950MACHINE_CONFIG_END
19601951
1961static MACHINE_DRIVER_START( gxtype4sd2 )
1962   MDRV_IMPORT_FROM(gxtype4)
1952static MACHINE_CONFIG_DERIVED( gxtype4sd2, gxtype4 )
19631953
19641954   MDRV_VIDEO_START(konamigx_type4_sd2)
1965MACHINE_DRIVER_END
1955MACHINE_CONFIG_END
19661956
19671957
19681958
1969static MACHINE_DRIVER_START( winspike )
1970   MDRV_IMPORT_FROM(konamigx)
1959static MACHINE_CONFIG_DERIVED( winspike, konamigx )
19711960
19721961   MDRV_SCREEN_MODIFY("screen")
19731962   MDRV_SCREEN_VISIBLE_AREA(38, 38+384-1, 16, 16+224-1)
19741963   MDRV_VIDEO_START(winspike)
1975MACHINE_DRIVER_END
1964MACHINE_CONFIG_END
19761965
19771966
19781967/**********************************************************************************/
src/mame/drivers/sprcros2.c
r9191r9192
5858#include "cpu/z80/z80.h"
5959#include "deprecat.h"
6060#include "sound/sn76496.h"
61#include "includes/sprcros2.h"
6162
62extern UINT8 *sprcros2_fgvideoram, *sprcros2_spriteram, *sprcros2_bgvideoram;
63extern size_t sprcros2_spriteram_size;
6463
65WRITE8_HANDLER( sprcros2_fgvideoram_w );
66WRITE8_HANDLER( sprcros2_bgvideoram_w );
67WRITE8_HANDLER( sprcros2_bgscrollx_w );
68WRITE8_HANDLER( sprcros2_bgscrolly_w );
6964
70PALETTE_INIT( sprcros2 );
71VIDEO_START( sprcros2 );
72VIDEO_UPDATE( sprcros2 );
73UINT8 sprcros2_m_port7 = 0;
74static UINT8 sprcros2_s_port3 = 0;
7565
76
77
7866static WRITE8_HANDLER( sprcros2_m_port7_w )
7967{
68   sprcros2_state *state = space->machine->driver_data<sprcros2_state>();
8069   UINT8 *RAM = memory_region(space->machine, "master");
8170
8271   //76543210
r9191r9192
8877   //------x- flip screen
8978   //-------x nmi enable
9079
91   if((sprcros2_m_port7^data)&0x40)
80   if((state->m_port7^data)&0x40)
9281      memory_set_bankptr(space->machine, "bank1",&RAM[0x10000+((data&0x40)<<7)]);
9382
9483   tilemap_set_flip_all( space->machine,data&0x02?(TILEMAP_FLIPX|TILEMAP_FLIPY):0 );
9584
96   sprcros2_m_port7 = data;
85   state->m_port7 = data;
9786}
9887
9988static WRITE8_HANDLER( sprcros2_s_port3_w )
10089{
90   sprcros2_state *state = space->machine->driver_data<sprcros2_state>();
10191   UINT8 *RAM = memory_region(space->machine, "slave");
10292
10393   //76543210
r9191r9192
10696   //-----xx- unused
10797   //-------x nmi enable
10898
109   if((sprcros2_s_port3^data)&0x08)
99   if((state->s_port3^data)&0x08)
110100      memory_set_bankptr(space->machine, "bank2",&RAM[0x10000+((data&0x08)<<10)]);
111101
112   sprcros2_s_port3 = data;
102   state->s_port3 = data;
113103}
114104
115105static ADDRESS_MAP_START( sprcros2_master_map, ADDRESS_SPACE_PROGRAM, 8 )
116106   AM_RANGE(0x0000, 0xbfff) AM_ROM
117107   AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("bank1")
118   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sprcros2_fgvideoram_w) AM_BASE(&sprcros2_fgvideoram)
108   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sprcros2_fgvideoram_w) AM_BASE_MEMBER(sprcros2_state, fgvideoram)
119109   AM_RANGE(0xe800, 0xe817) AM_RAM                  //always zero
120   AM_RANGE(0xe818, 0xe83f) AM_RAM AM_BASE(&sprcros2_spriteram) AM_SIZE(&sprcros2_spriteram_size)
110   AM_RANGE(0xe818, 0xe83f) AM_RAM AM_BASE_SIZE_MEMBER(sprcros2_state, spriteram, spriteram_size)
121111   AM_RANGE(0xe840, 0xefff) AM_RAM                  //always zero
122112   AM_RANGE(0xf000, 0xf7ff) AM_RAM
123113   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("share1")         //shared with slave cpu
r9191r9192
136126static ADDRESS_MAP_START( sprcros2_slave_map, ADDRESS_SPACE_PROGRAM, 8 )
137127   AM_RANGE(0x0000, 0xbfff) AM_ROM
138128   AM_RANGE(0xc000, 0xdfff) AM_ROMBANK("bank2")
139   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sprcros2_bgvideoram_w) AM_BASE(&sprcros2_bgvideoram)
129   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(sprcros2_bgvideoram_w) AM_BASE_MEMBER(sprcros2_state, bgvideoram)
140130   AM_RANGE(0xe800, 0xefff) AM_RAM                  //always zero
141131   AM_RANGE(0xf000, 0xf7ff) AM_RAM
142132   AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("share1")
r9191r9192
243233
244234static INTERRUPT_GEN( sprcros2_m_interrupt )
245235{
236   sprcros2_state *state = device->machine->driver_data<sprcros2_state>();
237
246238   if (cpu_getiloops(device) == 0)
247239   {
248      if(sprcros2_m_port7&0x01)
240      if(state->m_port7&0x01)
249241         cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
250242   }
251243   else
252244   {
253      if(sprcros2_m_port7&0x08)
245      if(state->m_port7&0x08)
254246         cpu_set_input_line(device, 0, HOLD_LINE);
255247   }
256248}
257249
258250static INTERRUPT_GEN( sprcros2_s_interrupt )
259251{
260   if(sprcros2_s_port3&0x01)
252   sprcros2_state *state = device->machine->driver_data<sprcros2_state>();
253
254   if(state->s_port3&0x01)
261255      cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
262256}
263257
264258static MACHINE_START( sprcros2 )
265259{
266   state_save_register_global(machine, sprcros2_m_port7);
267   state_save_register_global(machine, sprcros2_s_port3);
260   sprcros2_state *state = machine->driver_data<sprcros2_state>();
261
262   state_save_register_global(machine, state->m_port7);
263   state_save_register_global(machine, state->s_port3);
268264}
269265
270static MACHINE_DRIVER_START( sprcros2 )
266static MACHINE_CONFIG_START( sprcros2, sprcros2_state )
271267
272268   /* basic machine hardware */
273269   MDRV_CPU_ADD("master", Z80,10000000/2)
r9191r9192
308304
309305   MDRV_SOUND_ADD("sn3", SN76489, 10000000/4)
310306   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
311MACHINE_DRIVER_END
307MACHINE_CONFIG_END
312308
313309ROM_START( sprcros2 )
314310   ROM_REGION( 0x14000, "master", 0 )
src/mame/drivers/triforce.c
r9191r9192
418418static INPUT_PORTS_START( triforce )
419419INPUT_PORTS_END
420420
421static MACHINE_DRIVER_START( triforce_base )
421static MACHINE_CONFIG_START( triforce_base, driver_device )
422422
423423   /* basic machine hardware */
424424   MDRV_CPU_ADD("maincpu", PPC403GA, 64000000) /* Wrong! */
r9191r9192
437437
438438   MDRV_VIDEO_START(triforce)
439439   MDRV_VIDEO_UPDATE(triforce)
440MACHINE_DRIVER_END
440MACHINE_CONFIG_END
441441
442static MACHINE_DRIVER_START( triforcegd )
443   MDRV_IMPORT_FROM(triforce_base)
442static MACHINE_CONFIG_DERIVED( triforcegd, triforce_base )
444443   MDRV_NAOMI_DIMM_BOARD_ADD("rom_board", "gdrom", "user1", "picreturn")
445MACHINE_DRIVER_END
444MACHINE_CONFIG_END
446445
447446#define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \
448447      ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_BIOS(bios+1)) /* Note '+1' */
src/mame/drivers/dorachan.c
r9191r9192
1616#define NUM_PENS   (8)
1717
1818
19class dorachan_state : public driver_data_t
19class dorachan_state : public driver_device
2020{
2121public:
22   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, dorachan_state(machine)); }
22   dorachan_state(running_machine &machine, const driver_device_config_base &config)
23      : driver_device(machine, config) { }
2324
24   dorachan_state(running_machine &machine)
25      : driver_data_t(machine) { }
26
2725   /* memory pointers */
2826   UINT8 *  videoram;
2927   size_t   videoram_size;
r9191r9192
240238   state->flip_screen = 0;
241239}
242240
243static MACHINE_DRIVER_START( dorachan )
241static MACHINE_CONFIG_START( dorachan, dorachan_state )
244242
245   /* driver data */
246   MDRV_DRIVER_DATA(dorachan_state)
247
248243   /* basic machine hardware */
249244   MDRV_CPU_ADD("maincpu", Z80, 2000000)
250245   MDRV_CPU_PROGRAM_MAP(dorachan_map)
r9191r9192
263258   MDRV_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 1*8, 31*8-1)
264259   MDRV_SCREEN_REFRESH_RATE(60)
265260
266MACHINE_DRIVER_END
261MACHINE_CONFIG_END
267262
268263
269264
src/mame/drivers/thunderj.c
r9191r9192
152152
153153static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
154154   AM_RANGE(0x000000, 0x09ffff) AM_ROM
155   AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(thunderj_state, eeprom, eeprom_size)
155   AM_RANGE(0x0e0000, 0x0e0fff) AM_READWRITE(atarigen_eeprom_r, atarigen_eeprom_w) AM_SHARE("eeprom")
156156   AM_RANGE(0x160000, 0x16ffff) AM_RAM AM_SHARE("share1")
157157   AM_RANGE(0x1f0000, 0x1fffff) AM_WRITE(atarigen_eeprom_enable_w)
158158   AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
r9191r9192
283283 *
284284 *************************************/
285285
286static MACHINE_DRIVER_START( thunderj )
287   MDRV_DRIVER_DATA(thunderj_state)
286static MACHINE_CONFIG_START( thunderj, thunderj_state )
288287
289288   /* basic machine hardware */
290289   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
295294
296295   MDRV_MACHINE_START(thunderj)
297296   MDRV_MACHINE_RESET(thunderj)
298   MDRV_NVRAM_HANDLER(atarigen)
297   MDRV_NVRAM_ADD_1FILL("eeprom")
299298
300299   /* perfect synchronization due to shared RAM */
301300   MDRV_QUANTUM_PERFECT_CPU("maincpu")
r9191r9192
315314   MDRV_VIDEO_UPDATE(thunderj)
316315
317316   /* sound hardware */
318   MDRV_IMPORT_FROM(jsa_ii_mono)
319MACHINE_DRIVER_END
317   MDRV_FRAGMENT_ADD(jsa_ii_mono)
318MACHINE_CONFIG_END
320319
321320
322321
src/mame/drivers/parodius.c
r9191r9192
297297   state->videobank = 0;
298298}
299299
300static MACHINE_DRIVER_START( parodius )
300static MACHINE_CONFIG_START( parodius, parodius_state )
301301
302   /* driver data */
303   MDRV_DRIVER_DATA(parodius_state)
304
305302   /* basic machine hardware */
306303   MDRV_CPU_ADD("maincpu", KONAMI, 3000000)      /* 053248 */
307304   MDRV_CPU_PROGRAM_MAP(parodius_map)
r9191r9192
341338   MDRV_SOUND_ADD("k053260", K053260, 3579545)
342339   MDRV_SOUND_ROUTE(0, "lspeaker", 0.70)
343340   MDRV_SOUND_ROUTE(1, "rspeaker", 0.70)
344MACHINE_DRIVER_END
341MACHINE_CONFIG_END
345342
346343/***************************************************************************
347344
src/mame/drivers/quantum.c
r9191r9192
4848#include "video/vector.h"
4949#include "video/avgdvg.h"
5050#include "sound/pokey.h"
51#include "machine/nvram.h"
5152
5253#define MASTER_CLOCK (12096000)
5354#define CLOCK_3KHZ  (MASTER_CLOCK / 4096)
r9191r9192
118119   AM_RANGE(0x800000, 0x801fff) AM_RAM AM_BASE((UINT16 **)&avgdvg_vectorram) AM_SIZE(&avgdvg_vectorram_size)
119120   AM_RANGE(0x840000, 0x84001f) AM_DEVREADWRITE8("pokey1", pokey_r, pokey_w, 0x00ff)
120121   AM_RANGE(0x840020, 0x84003f) AM_DEVREADWRITE8("pokey2", pokey_r, pokey_w, 0x00ff)
121   AM_RANGE(0x900000, 0x9001ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
122   AM_RANGE(0x900000, 0x9001ff) AM_RAM AM_SHARE("nvram")
122123   AM_RANGE(0x940000, 0x940001) AM_READ(trackball_r) /* trackball */
123124   AM_RANGE(0x948000, 0x948001) AM_READ_PORT("SYSTEM")
124125   AM_RANGE(0x950000, 0x95001f) AM_WRITEONLY AM_BASE((UINT16**)&avgdvg_colorram)
r9191r9192
225226 *
226227 *************************************/
227228
228static MACHINE_DRIVER_START( quantum )
229static MACHINE_CONFIG_START( quantum, driver_device )
229230
230231   /* basic machine hardware */
231232   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK / 2)
232233   MDRV_CPU_PROGRAM_MAP(main_map)
233234   MDRV_CPU_PERIODIC_INT(irq1_line_hold, (double)MASTER_CLOCK / 4096 / 12)
234235
235   MDRV_NVRAM_HANDLER(generic_1fill)
236   MDRV_NVRAM_ADD_1FILL("nvram")
236237
237238   /* video hardware */
238239   MDRV_SCREEN_ADD("screen", VECTOR)
r9191r9192
253254   MDRV_SOUND_ADD("pokey2", POKEY, 600000)
254255   MDRV_SOUND_CONFIG(pokey_interface_2)
255256   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
256MACHINE_DRIVER_END
257MACHINE_CONFIG_END
257258
258259
259260
src/mame/drivers/combatsc.c
r9191r9192
734734}
735735
736736/* combat school (original) */
737static MACHINE_DRIVER_START( combatsc )
737static MACHINE_CONFIG_START( combatsc, combatsc_state )
738738
739   /* driver data */
740   MDRV_DRIVER_DATA(combatsc_state)
741
742739   /* basic machine hardware */
743740   MDRV_CPU_ADD("maincpu", HD6309, 3000000*4)   /* 3 MHz? */
744741   MDRV_CPU_PROGRAM_MAP(combatsc_map)
r9191r9192
779776
780777   MDRV_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
781778   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
782MACHINE_DRIVER_END
779MACHINE_CONFIG_END
783780
784781/* combat school (bootleg on different hardware) */
785static MACHINE_DRIVER_START( combatscb )
782static MACHINE_CONFIG_START( combatscb, combatsc_state )
786783
787   /* driver data */
788   MDRV_DRIVER_DATA(combatsc_state)
789
790784   /* basic machine hardware */
791785   MDRV_CPU_ADD("maincpu", HD6309, 3000000*4)   /* 3 MHz? */
792786   MDRV_CPU_PROGRAM_MAP(combatscb_map)
r9191r9192
824818
825819   MDRV_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
826820   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
827MACHINE_DRIVER_END
821MACHINE_CONFIG_END
828822
829823
830824
src/mame/drivers/quizpun2.c
r9191r9192
415415                                Machine Drivers
416416***************************************************************************/
417417
418static MACHINE_DRIVER_START( quizpun2 )
418static MACHINE_CONFIG_START( quizpun2, driver_device )
419419   /* basic machine hardware */
420420   MDRV_CPU_ADD("maincpu", Z80, XTAL_8MHz / 2)   // 4 MHz?
421421   MDRV_CPU_PROGRAM_MAP(quizpun2_map)
r9191r9192
449449
450450   MDRV_SOUND_ADD("ymsnd", YM2203, XTAL_8MHz / 4 )   // 2 MHz?
451451   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
452MACHINE_DRIVER_END
452MACHINE_CONFIG_END
453453
454454
455455/***************************************************************************
src/mame/drivers/rockrage.c
r9191r9192
295295   state->layer_colorbase[1] = 0x10;
296296}
297297
298static MACHINE_DRIVER_START( rockrage )
298static MACHINE_CONFIG_START( rockrage, rockrage_state )
299299
300   /* driver data */
301   MDRV_DRIVER_DATA(rockrage_state)
302
303300   /* basic machine hardware */
304301   MDRV_CPU_ADD("maincpu", HD6309, 3000000*4)      /* 24MHz/8 */
305302   MDRV_CPU_PROGRAM_MAP(rockrage_map)
r9191r9192
337334
338335   MDRV_SOUND_ADD("vlm", VLM5030, 3579545)
339336   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
340MACHINE_DRIVER_END
337MACHINE_CONFIG_END
341338
342339
343340/***************************************************************************
src/mame/drivers/egghunt.c
r9191r9192
4545#include "cpu/z80/z80.h"
4646#include "sound/okim6295.h"
4747
48class egghunt_state : public driver_data_t
48class egghunt_state : public driver_device
4949{
5050public:
51   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, egghunt_state(machine)); }
51   egghunt_state(running_machine &machine, const driver_device_config_base &config)
52      : driver_device(machine, config) { }
5253
53   egghunt_state(running_machine &machine)
54      : driver_data_t(machine) { }
55
5654   /* memory pointers */
5755   UINT8 *   bgram;
5856   UINT8 *   atram;
r9191r9192
246244   AM_RANGE(0x0000, 0x7fff) AM_ROM
247245   AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
248246   AM_RANGE(0xe001, 0xe001) AM_DEVREADWRITE("oki", egghunt_okibanking_r, egghunt_okibanking_w)
249   AM_RANGE(0xe004, 0xe004) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
247   AM_RANGE(0xe004, 0xe004) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
250248   AM_RANGE(0xf000, 0xffff) AM_RAM
251249ADDRESS_MAP_END
252250
r9191r9192
410408   state->vidram_bank = 0;
411409}
412410
413static MACHINE_DRIVER_START( egghunt )
411static MACHINE_CONFIG_START( egghunt, egghunt_state )
414412
415   /* driver data */
416   MDRV_DRIVER_DATA(egghunt_state)
417
418413   /* basic machine hardware */
419414   MDRV_CPU_ADD("maincpu", Z80,12000000/2)       /* 6 MHz ?*/
420415   MDRV_CPU_PROGRAM_MAP(egghunt_map)
r9191r9192
446441
447442   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
448443   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
449MACHINE_DRIVER_END
444MACHINE_CONFIG_END
450445
451446ROM_START( egghunt )
452447   ROM_REGION( 0x20000, "maincpu", 0 )
src/mame/drivers/midxunit.c
r9191r9192
8383#include "cpu/tms34010/tms34010.h"
8484#include "cpu/adsp2100/adsp2100.h"
8585#include "audio/dcs.h"
86#include "machine/nvram.h"
8687#include "includes/midwunit.h"
8788
8889
r9191r9192
107108   AM_RANGE(0x60c000e0, 0x60c000ff) AM_READWRITE(midwunit_security_r, midxunit_security_w)
108109   AM_RANGE(0x80800000, 0x8080001f) AM_READWRITE(midxunit_analog_r, midxunit_analog_select_w)
109110   AM_RANGE(0x80c00000, 0x80c000ff) AM_READWRITE(midxunit_uart_r, midxunit_uart_w)
110   AM_RANGE(0xa0440000, 0xa047ffff) AM_READWRITE(midwunit_cmos_r, midxunit_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
111   AM_RANGE(0xa0440000, 0xa047ffff) AM_READWRITE(midwunit_cmos_r, midxunit_cmos_w) AM_SHARE("nvram")
111112   AM_RANGE(0xa0800000, 0xa08fffff) AM_READWRITE(midxunit_paletteram_r, midxunit_paletteram_w) AM_BASE_GENERIC(paletteram)
112113   AM_RANGE(0xc0000000, 0xc00003ff) AM_READWRITE(tms34020_io_register_r, tms34020_io_register_w)
113114   AM_RANGE(0xc0c00000, 0xc0c000ff) AM_MIRROR(0x00400000) AM_READWRITE(midtunit_dma_r, midtunit_dma_w)
r9191r9192
255256 *
256257 *************************************/
257258
258static MACHINE_DRIVER_START( midxunit )
259static MACHINE_CONFIG_START( midxunit, midwxunit_state )
259260
260261   /* basic machine hardware */
261262   MDRV_CPU_ADD("maincpu", TMS34020, 40000000)
r9191r9192
263264   MDRV_CPU_PROGRAM_MAP(main_map)
264265
265266   MDRV_MACHINE_RESET(midxunit)
266   MDRV_NVRAM_HANDLER(generic_0fill)
267   MDRV_NVRAM_ADD_0FILL("nvram")
267268
268269   /* video hardware */
269270   MDRV_PALETTE_LENGTH(32768)
r9191r9192
276277   MDRV_VIDEO_UPDATE(tms340x0)
277278
278279   /* sound hardware */
279   MDRV_IMPORT_FROM(dcs_audio_2k_uart)
280MACHINE_DRIVER_END
280   MDRV_FRAGMENT_ADD(dcs_audio_2k_uart)
281MACHINE_CONFIG_END
281282
282283
283284
src/mame/drivers/segac2.c
r9191r9192
6868
6969#include "emu.h"
7070#include "cpu/m68000/m68000.h"
71#include "machine/nvram.h"
7172#include "sound/okim6295.h"
7273#include "sound/sn76496.h"
7374#include "sound/2612intf.h"
r9191r9192
131132
132133static MACHINE_RESET( segac2 )
133134{
134   megadrive_ram = machine->generic.nvram.u16;
135   megadrive_ram = reinterpret_cast<UINT16 *>(memory_get_shared(*machine, "nvram"));
135136
136137   /* set up interrupts and such */
137138   MACHINE_RESET_CALL(megadriv);
r9191r9192
629630   AM_RANGE(0x880100, 0x880101) AM_MIRROR(0x13fefe) AM_WRITE(counter_timer_w)
630631   AM_RANGE(0x8c0000, 0x8c0fff) AM_MIRROR(0x13f000) AM_READWRITE(palette_r, palette_w) AM_BASE_GENERIC(paletteram)
631632   AM_RANGE(0xc00000, 0xc0001f) AM_MIRROR(0x18ff00) AM_READWRITE(megadriv_vdp_r, megadriv_vdp_w)
632   AM_RANGE(0xe00000, 0xe0ffff) AM_MIRROR(0x1f0000) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
633   AM_RANGE(0xe00000, 0xe0ffff) AM_MIRROR(0x1f0000) AM_RAM AM_SHARE("nvram")
633634ADDRESS_MAP_END
634635
635636
r9191r9192
13601361}
13611362
13621363
1363static MACHINE_DRIVER_START( segac )
1364static MACHINE_CONFIG_START( segac, driver_device )
13641365
13651366   /* basic machine hardware */
13661367   MDRV_CPU_ADD("maincpu", M68000, XL2_CLOCK/6)
r9191r9192
13681369
13691370   MDRV_MACHINE_START(segac2)
13701371   MDRV_MACHINE_RESET(segac2)
1371   MDRV_NVRAM_HANDLER(generic_randfill)
1372   MDRV_NVRAM_ADD_RANDOM_FILL("nvram")
13721373
1373   MDRV_IMPORT_FROM(megadriv_timers)
1374   MDRV_FRAGMENT_ADD(megadriv_timers)
13741375
13751376   /* video hardware */
13761377   //MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_HAS_HIGHLIGHTS)
r9191r9192
13981399
13991400   MDRV_SOUND_ADD("snsnd", SN76496, XL2_CLOCK/15)
14001401   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1401MACHINE_DRIVER_END
1402MACHINE_CONFIG_END
14021403
14031404
1404static MACHINE_DRIVER_START( segac2 )
1405static MACHINE_CONFIG_DERIVED( segac2, segac )
14051406
14061407   /* basic machine hardware */
1407   MDRV_IMPORT_FROM( segac )
14081408
14091409   /* sound hardware */
14101410   MDRV_SOUND_ADD("upd", UPD7759, XL1_CLOCK)
14111411   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1412MACHINE_DRIVER_END
1412MACHINE_CONFIG_END
14131413
14141414
14151415
src/mame/drivers/bigstrkb.c
r9191r9192
7070
7171   AM_RANGE(0xB00000, 0xB00001) AM_WRITENOP
7272
73   AM_RANGE(0xE00000, 0xE00001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)
74   AM_RANGE(0xE00002, 0xE00003) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)
73   AM_RANGE(0xE00000, 0xE00001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
74   AM_RANGE(0xE00002, 0xE00003) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
7575
7676   AM_RANGE(0xE00008, 0xE00009) AM_WRITENOP
7777   AM_RANGE(0xE0000c, 0xE0000d) AM_WRITENOP
r9191r9192
194194
195195/* Machine Driver */
196196
197static MACHINE_DRIVER_START( bigstrkb )
197static MACHINE_CONFIG_START( bigstrkb, bigstrkb_state )
198198
199   MDRV_DRIVER_DATA( bigstrkb_state )
200
201199   MDRV_CPU_ADD("maincpu", M68000, 12000000)
202200   MDRV_CPU_PROGRAM_MAP(bigstrkb_map)
203201   MDRV_CPU_VBLANK_INT("screen", irq6_line_hold)
r9191r9192
227225   MDRV_OKIM6295_ADD("oki2", 4000000, OKIM6295_PIN7_HIGH)
228226   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.30)
229227   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.30)
230MACHINE_DRIVER_END
228MACHINE_CONFIG_END
231229
232230/* Rom Loading */
233231
src/mame/drivers/gberet.c
r9191r9192
387387   state->spritebank = 0;
388388}
389389
390static MACHINE_DRIVER_START( gberet )
390static MACHINE_CONFIG_START( gberet, gberet_state )
391391
392   /* driver data */
393   MDRV_DRIVER_DATA(gberet_state)
394
395392   /* basic machine hardware */
396393   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)   // X1S (generated by a custom IC)
397394   MDRV_CPU_PROGRAM_MAP(gberet_map)
r9191r9192
420417
421418   MDRV_SOUND_ADD("snsnd", SN76489A, MASTER_CLOCK/12) /* type verified on real and bootleg pcb */
422419   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
423MACHINE_DRIVER_END
420MACHINE_CONFIG_END
424421
425static MACHINE_DRIVER_START( gberetb )
426   MDRV_IMPORT_FROM(gberet)
422static MACHINE_CONFIG_DERIVED( gberetb, gberet )
427423
428424   /* basic machine hardware */
429425   MDRV_CPU_MODIFY("maincpu")
r9191r9192
438434   MDRV_GFXDECODE(gberetb)
439435
440436   MDRV_VIDEO_UPDATE(gberetb)
441MACHINE_DRIVER_END
437MACHINE_CONFIG_END
442438
443static MACHINE_DRIVER_START( mrgoemon )
444   MDRV_IMPORT_FROM(gberet)
439static MACHINE_CONFIG_DERIVED( mrgoemon, gberet )
445440
446441   /* basic machine hardware */
447442   MDRV_CPU_MODIFY("maincpu")
r9191r9192
452447   MDRV_SCREEN_MODIFY("screen")
453448   MDRV_SCREEN_REFRESH_RATE(60)
454449   MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
455MACHINE_DRIVER_END
450MACHINE_CONFIG_END
456451
457452/*************************************
458453 *
src/mame/drivers/stfight.c
r9191r9192
431431   MSM5205_S48_4B      /* 8KHz               */
432432};
433433
434static MACHINE_DRIVER_START( stfight )
434static MACHINE_CONFIG_START( stfight, driver_device )
435435
436436   /* basic machine hardware */
437437   MDRV_CPU_ADD("maincpu", Z80, 3000000)   /* 3 MHz */
r9191r9192
479479   MDRV_SOUND_ADD("msm", MSM5205, 384000)
480480   MDRV_SOUND_CONFIG(msm5205_config)
481481   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
482MACHINE_DRIVER_END
482MACHINE_CONFIG_END
483483
484484
485485/***************************************************************************
src/mame/drivers/sandscrp.c
r9191r9192
273273   ADDRESS_MAP_GLOBAL_MASK(0xff)
274274   AM_RANGE(0x00, 0x00) AM_WRITE(sandscrp_bankswitch_w)   // ROM Bank
275275   AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)      // PORTA/B read
276   AM_RANGE(0x04, 0x04) AM_DEVWRITE("oki", okim6295_w)      // OKIM6295
276   AM_RANGE(0x04, 0x04) AM_DEVWRITE_MODERN("oki", okim6295_device, write)      // OKIM6295
277277   AM_RANGE(0x06, 0x06) AM_WRITE(sandscrp_soundlatch_w)   //
278278   AM_RANGE(0x07, 0x07) AM_READ(sandscrp_soundlatch_r)      //
279279   AM_RANGE(0x08, 0x08) AM_READ(sandscrp_latchstatus_r)   //
r9191r9192
438438   0, 0   /* x_offs, y_offs */
439439};
440440
441static MACHINE_DRIVER_START( sandscrp )
441static MACHINE_CONFIG_START( sandscrp, driver_device )
442442
443443   /* basic machine hardware */
444444   MDRV_CPU_ADD("maincpu", M68000,12000000)   /* TMP68HC000N-12 */
r9191r9192
481481   MDRV_SOUND_CONFIG(ym2203_intf_sandscrp)
482482   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25)
483483   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25)
484MACHINE_DRIVER_END
484MACHINE_CONFIG_END
485485
486486
487487
src/mame/drivers/gpworld.c
r9191r9192
441441GFXDECODE_END
442442
443443/* DRIVER */
444static MACHINE_DRIVER_START( gpworld )
444static MACHINE_CONFIG_START( gpworld, driver_device )
445445
446446   /* main cpu */
447447   MDRV_CPU_ADD("maincpu", Z80, GUESSED_CLOCK)
r9191r9192
463463   /* sound hardware */
464464   MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
465465
466   MDRV_SOUND_ADD("ldsound", LASERDISC, 0)
466   MDRV_SOUND_ADD("ldsound", LASERDISC_SOUND, 0)
467467   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
468468   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
469MACHINE_DRIVER_END
469MACHINE_CONFIG_END
470470
471471
472472ROM_START( gpworld )
src/mame/drivers/tubep.c
r9191r9192
892892 *
893893 *************************************/
894894
895static MACHINE_DRIVER_START( tubep )
895static MACHINE_CONFIG_START( tubep, driver_device )
896896
897897   /* basic machine hardware */
898898   MDRV_CPU_ADD("maincpu",Z80,16000000 / 4)   /* 4 MHz */
r9191r9192
943943   MDRV_SOUND_ADD("ay3", AY8910, 19968000 / 8 / 2)
944944   MDRV_SOUND_CONFIG(ay8910_interface_3)
945945   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
946MACHINE_DRIVER_END
946MACHINE_CONFIG_END
947947
948948
949static MACHINE_DRIVER_START( tubepb )
950   MDRV_IMPORT_FROM( tubep )
949static MACHINE_CONFIG_DERIVED( tubepb, tubep )
951950
952951   MDRV_CPU_REPLACE("mcu", M6802,6000000) /* ? MHz Xtal */
953952   MDRV_CPU_PROGRAM_MAP(nsc_map)
954953   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
955MACHINE_DRIVER_END
954MACHINE_CONFIG_END
956955
957956
958static MACHINE_DRIVER_START( rjammer )
957static MACHINE_CONFIG_START( rjammer, driver_device )
959958
960959   /* basic machine hardware */
961960   MDRV_CPU_ADD("maincpu",Z80,16000000 / 4)   /* 4 MHz */
r9191r9192
10091008   MDRV_SOUND_ADD("msm", MSM5205, 384000)
10101009   MDRV_SOUND_CONFIG(msm5205_config)
10111010   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1012MACHINE_DRIVER_END
1011MACHINE_CONFIG_END
10131012
10141013
10151014
src/mame/drivers/homedata.c
r9191r9192
12521252   state->gfx_bank[1] = 0;   // this is not used by reikaids
12531253}
12541254
1255static MACHINE_DRIVER_START( mrokumei )
1255static MACHINE_CONFIG_START( mrokumei, homedata_state )
12561256
1257   /* driver data */
1258   MDRV_DRIVER_DATA(homedata_state)
1259
12601257   /* basic machine hardware */
12611258   MDRV_CPU_ADD("maincpu", M6809, 16000000/4)   /* 4MHz ? */
12621259   MDRV_CPU_PROGRAM_MAP(mrokumei_map)
r9191r9192
12941291
12951292   MDRV_SOUND_ADD("dac", DAC, 0)
12961293   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1297MACHINE_DRIVER_END
1294MACHINE_CONFIG_END
12981295
12991296
13001297/**************************************************************************/
r9191r9192
13211318};
13221319
13231320
1324static MACHINE_DRIVER_START( reikaids )
1321static MACHINE_CONFIG_START( reikaids, homedata_state )
13251322
1326   /* driver data */
1327   MDRV_DRIVER_DATA(homedata_state)
1328
13291323   /* basic machine hardware */
13301324   MDRV_CPU_ADD("maincpu", M6809, 16000000/4)   /* 4MHz ? */
13311325   MDRV_CPU_PROGRAM_MAP(reikaids_map)
r9191r9192
13701364
13711365   MDRV_SOUND_ADD("dac", DAC, 0)
13721366   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
1373MACHINE_DRIVER_END
1367MACHINE_CONFIG_END
13741368
13751369
13761370/**************************************************************************/
13771371
1378static MACHINE_DRIVER_START( pteacher )
1372static MACHINE_CONFIG_START( pteacher, homedata_state )
13791373
1380   /* driver data */
1381   MDRV_DRIVER_DATA(homedata_state)
1382
13831374   /* basic machine hardware */
13841375   MDRV_CPU_ADD("maincpu", M6809, 16000000/4)   /* 4MHz ? */
13851376   MDRV_CPU_PROGRAM_MAP(pteacher_map)
r9191r9192
14211412
14221413   MDRV_SOUND_ADD("dac", DAC, 0)
14231414   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1424MACHINE_DRIVER_END
1415MACHINE_CONFIG_END
14251416
1426static MACHINE_DRIVER_START( mjkinjas )
1417static MACHINE_CONFIG_DERIVED( mjkinjas, pteacher )
14271418
1428   MDRV_IMPORT_FROM(pteacher)
1429
14301419   MDRV_CPU_MODIFY("audiocpu")
14311420   MDRV_CPU_CLOCK(11000000)   /* 11MHz ? */
1432MACHINE_DRIVER_END
1421MACHINE_CONFIG_END
14331422
1434static MACHINE_DRIVER_START( lemnangl )
1423static MACHINE_CONFIG_DERIVED( lemnangl, pteacher )
14351424
1436   MDRV_IMPORT_FROM(pteacher)
1437
14381425   /* video hardware */
14391426   MDRV_GFXDECODE(lemnangl)
14401427
14411428   MDRV_VIDEO_START(lemnangl)
1442MACHINE_DRIVER_END
1429MACHINE_CONFIG_END
14431430
14441431static INPUT_PORTS_START( mirderby )
14451432INPUT_PORTS_END
r9191r9192
15471534
15481535/* clocks are 16mhz and 9mhz */
15491536
1550static MACHINE_DRIVER_START( mirderby )
1537static MACHINE_CONFIG_START( mirderby, homedata_state )
15511538
1552   /* driver data */
1553   MDRV_DRIVER_DATA(homedata_state)
1554
15551539   MDRV_CPU_ADD("maincpu", M6809, 16000000/8)   /* 2 Mhz */
15561540   MDRV_CPU_PROGRAM_MAP(cpu2_map)
15571541
r9191r9192
15921576   MDRV_SOUND_ROUTE(1, "mono", 0.25)
15931577   MDRV_SOUND_ROUTE(2, "mono", 0.25)
15941578   MDRV_SOUND_ROUTE(3, "mono", 1.0)
1595MACHINE_DRIVER_END
1579MACHINE_CONFIG_END
15961580
15971581/**************************************************************************/
15981582
src/mame/drivers/exidy.c
r9191r9192
789789 *
790790 *************************************/
791791
792static MACHINE_DRIVER_START( base )
792static MACHINE_CONFIG_START( base, driver_device )
793793
794794   /* basic machine hardware */
795795   MDRV_CPU_ADD("maincpu", M6502, EXIDY_CPU_CLOCK)
r9191r9192
806806   MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
807807   MDRV_SCREEN_RAW_PARAMS(EXIDY_PIXEL_CLOCK, EXIDY_HTOTAL, EXIDY_HBEND, EXIDY_HBSTART, EXIDY_VTOTAL, EXIDY_VBEND, EXIDY_VBSTART)
808808
809MACHINE_DRIVER_END
809MACHINE_CONFIG_END
810810
811811
812static MACHINE_DRIVER_START( sidetrac )
812static MACHINE_CONFIG_DERIVED( sidetrac, base )
813813
814814   /* basic machine hardware */
815   MDRV_IMPORT_FROM(base)
816815   MDRV_CPU_MODIFY("maincpu")
817816   MDRV_CPU_PROGRAM_MAP(sidetrac_map)
818817
819818   /* audio hardware */
820   MDRV_IMPORT_FROM(spectar_audio)
821MACHINE_DRIVER_END
819   MDRV_FRAGMENT_ADD(spectar_audio)
820MACHINE_CONFIG_END
822821
823822
824static MACHINE_DRIVER_START( targ )
823static MACHINE_CONFIG_DERIVED( targ, base )
825824
826825   /* basic machine hardware */
827   MDRV_IMPORT_FROM(base)
828826   MDRV_CPU_MODIFY("maincpu")
829827   MDRV_CPU_PROGRAM_MAP(targ_map)
830828
831829   /* audio hardware */
832   MDRV_IMPORT_FROM(targ_audio)
833MACHINE_DRIVER_END
830   MDRV_FRAGMENT_ADD(targ_audio)
831MACHINE_CONFIG_END
834832
835833
836static MACHINE_DRIVER_START( spectar )
834static MACHINE_CONFIG_DERIVED( spectar, base )
837835
838836   /* basic machine hardware */
839   MDRV_IMPORT_FROM(base)
840837   MDRV_CPU_MODIFY("maincpu")
841838   MDRV_CPU_PROGRAM_MAP(spectar_map)
842839
843840   /* audio hardware */
844   MDRV_IMPORT_FROM(spectar_audio)
845MACHINE_DRIVER_END
841   MDRV_FRAGMENT_ADD(spectar_audio)
842MACHINE_CONFIG_END
846843
847844
848static MACHINE_DRIVER_START( rallys )
845static MACHINE_CONFIG_DERIVED( rallys, spectar )
849846
850847   /* basic machine hardware */
851   MDRV_IMPORT_FROM(spectar)
852848   MDRV_CPU_MODIFY("maincpu")
853849   MDRV_CPU_PROGRAM_MAP(rallys_map)
854MACHINE_DRIVER_END
850MACHINE_CONFIG_END
855851
856852
857static MACHINE_DRIVER_START( venture )
853static MACHINE_CONFIG_DERIVED( venture, base )
858854
859855   /* basic machine hardware */
860   MDRV_IMPORT_FROM(base)
861856   MDRV_CPU_MODIFY("maincpu")
862857   MDRV_CPU_PROGRAM_MAP(venture_map)
863858
864859   MDRV_QUANTUM_TIME(HZ(600))
865860
866861   /* audio hardware */
867   MDRV_IMPORT_FROM(venture_audio)
868MACHINE_DRIVER_END
862   MDRV_FRAGMENT_ADD(venture_audio)
863MACHINE_CONFIG_END
869864
870865
871static MACHINE_DRIVER_START( teetert )
866static MACHINE_CONFIG_DERIVED( teetert, venture )
872867
873868   /* basic machine hardware */
874   MDRV_IMPORT_FROM(venture)
875869   MDRV_CPU_MODIFY("maincpu")
876870   MDRV_CPU_VBLANK_INT_HACK(teetert_vblank_interrupt,10)
877871
878872    MDRV_MACHINE_START( teetert )
879873
880MACHINE_DRIVER_END
874MACHINE_CONFIG_END
881875
882876
883static MACHINE_DRIVER_START( mtrap )
877static MACHINE_CONFIG_DERIVED( mtrap, venture )
884878
885879   /* basic machine hardware */
886   MDRV_IMPORT_FROM(venture)
887880
888881   MDRV_QUANTUM_TIME(HZ(1920))
889882
890883   /* audio hardware */
891   MDRV_IMPORT_FROM(mtrap_cvsd_audio)
892MACHINE_DRIVER_END
884   MDRV_FRAGMENT_ADD(mtrap_cvsd_audio)
885MACHINE_CONFIG_END
893886
894887
895static MACHINE_DRIVER_START( pepper2 )
888static MACHINE_CONFIG_DERIVED( pepper2, venture )
896889
897890   /* basic machine hardware */
898   MDRV_IMPORT_FROM(venture)
899891   MDRV_CPU_MODIFY("maincpu")
900892   MDRV_CPU_PROGRAM_MAP(pepper2_map)
901MACHINE_DRIVER_END
893MACHINE_CONFIG_END
902894
903895
904static MACHINE_DRIVER_START( fax )
896static MACHINE_CONFIG_DERIVED( fax, pepper2 )
905897
906898   /* basic machine hardware */
907   MDRV_IMPORT_FROM(pepper2)
908899   MDRV_CPU_MODIFY("maincpu")
909900   MDRV_CPU_PROGRAM_MAP(fax_map)
910MACHINE_DRIVER_END
901MACHINE_CONFIG_END
911902
912903
913904
src/mame/drivers/mugsmash.c
r9191r9192
196196   AM_RANGE(0x0000, 0x7fff) AM_ROM
197197   AM_RANGE(0x8000, 0x87ff) AM_RAM
198198   AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_r,ym2151_w)
199   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r,okim6295_w)
199   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
200200   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
201201ADDRESS_MAP_END
202202
r9191r9192
408408   state->audiocpu = machine->device("audiocpu");
409409}
410410
411static MACHINE_DRIVER_START( mugsmash )
411static MACHINE_CONFIG_START( mugsmash, mugsmash_state )
412412
413   MDRV_DRIVER_DATA( mugsmash_state )
414
415413   MDRV_CPU_ADD("maincpu", M68000, 12000000)
416414   MDRV_CPU_PROGRAM_MAP(mugsmash_map)
417415   MDRV_CPU_VBLANK_INT("screen", irq6_line_hold)
r9191r9192
444442   MDRV_OKIM6295_ADD("oki", 1122000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
445443   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)   /* sound fx */
446444   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
447MACHINE_DRIVER_END
445MACHINE_CONFIG_END
448446
449447ROM_START( mugsmash )
450448   ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 Code */
src/mame/drivers/jokrwild.c
r9191r9192
9494#include "cpu/m6809/m6809.h"
9595#include "video/mc6845.h"
9696#include "machine/6821pia.h"
97#include "machine/nvram.h"
9798
9899
99100/*************************
r9191r9192
454455*    Machine Drivers     *
455456*************************/
456457
457static MACHINE_DRIVER_START( jokrwild )
458static MACHINE_CONFIG_START( jokrwild, driver_device )
458459
459460   /* basic machine hardware */
460461   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/2)   /* guess */
461462   MDRV_CPU_PROGRAM_MAP(jokrwild_map)
462463   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
463464
464//  MDRV_NVRAM_HANDLER(generic_0fill)
465//  MDRV_NVRAM_ADD_0FILL("nvram")
465466
466467   MDRV_PIA6821_ADD("pia0", pia0_intf)
467468   MDRV_PIA6821_ADD("pia1", pia1_intf)
r9191r9192
482483
483484   MDRV_MC6845_ADD("crtc", MC6845, MASTER_CLOCK/16, mc6845_intf) /* guess */
484485
485MACHINE_DRIVER_END
486MACHINE_CONFIG_END
486487
487488
488489/*************************
src/mame/drivers/pcktgal.c
r9191r9192
1717#include "sound/2203intf.h"
1818#include "sound/3812intf.h"
1919#include "sound/msm5205.h"
20#include "includes/pcktgal.h"
2021
21extern WRITE8_HANDLER( pcktgal_videoram_w );
22extern WRITE8_HANDLER( pcktgal_flipscreen_w );
23
24extern PALETTE_INIT( pcktgal );
25extern VIDEO_START( pcktgal );
26extern VIDEO_UPDATE( pcktgal );
27
2822/***************************************************************************/
2923
3024static WRITE8_HANDLER( pcktgal_bank_w )
r9191r9192
7872
7973static ADDRESS_MAP_START( pcktgal_map, ADDRESS_SPACE_PROGRAM, 8 )
8074   AM_RANGE(0x0000, 0x07ff) AM_RAM
81   AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pcktgal_videoram_w) AM_BASE_GENERIC(videoram)
75   AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pcktgal_videoram_w) AM_BASE_MEMBER(pcktgal_state, videoram)
8276   AM_RANGE(0x1000, 0x11ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
8377   AM_RANGE(0x1800, 0x1800) AM_READ_PORT("P1")
8478   AM_RANGE(0x1801, 0x1801) AM_WRITE(pcktgal_flipscreen_w)
r9191r9192
221215
222216/***************************************************************************/
223217
224static MACHINE_DRIVER_START( pcktgal )
218static MACHINE_CONFIG_START( pcktgal, pcktgal_state )
225219
226220   /* basic machine hardware */
227221   MDRV_CPU_ADD("maincpu", M6502, 2000000)
r9191r9192
260254   MDRV_SOUND_ADD("msm", MSM5205, 384000)
261255   MDRV_SOUND_CONFIG(msm5205_config)
262256   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
263MACHINE_DRIVER_END
257MACHINE_CONFIG_END
264258
265259
266static MACHINE_DRIVER_START( bootleg )
267   MDRV_IMPORT_FROM(pcktgal)
260static MACHINE_CONFIG_DERIVED( bootleg, pcktgal )
268261   MDRV_GFXDECODE(bootleg)
269MACHINE_DRIVER_END
262MACHINE_CONFIG_END
270263
271264/***************************************************************************/
272265
src/mame/drivers/hng64.c
r9191r9192
445445#include "cpu/nec/nec.h"
446446#include "deprecat.h"
447447#include "cpu/mips/mips3.h"
448#include "machine/nvram.h"
448449#include "includes/hng64.h"
449450
450451
r9191r9192
10491050   AM_RANGE(0x1f700000, 0x1f702fff) AM_READWRITE(hng64_sysregs_r, hng64_sysregs_w) AM_BASE_MEMBER(hng64_state, sysregs)
10501051
10511052   // SRAM.  Coin data, Player Statistics, etc.
1052   AM_RANGE(0x1F800000, 0x1F803fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1053   AM_RANGE(0x1F800000, 0x1F803fff) AM_RAM AM_SHARE("nvram")
10531054
10541055   // Dualport RAM
10551056   AM_RANGE(0x1F808000, 0x1F8087ff) AM_READWRITE(hng64_dualport_r, hng64_dualport_w) AM_BASE_MEMBER(hng64_state, dualport)
r9191r9192
17141715   state->mcu_en = 0;
17151716}
17161717
1717static MACHINE_DRIVER_START( hng64 )
1718static MACHINE_CONFIG_START( hng64, hng64_state )
17181719
1719   MDRV_DRIVER_DATA( hng64_state )
1720
17211720   /* basic machine hardware */
17221721   MDRV_CPU_ADD("maincpu", VR4300BE, MASTER_CLOCK)    // actually R4300
17231722   MDRV_CPU_CONFIG(vr4300_config)
r9191r9192
17311730   MDRV_CPU_PROGRAM_MAP(hng_comm_map)
17321731   MDRV_CPU_IO_MAP(hng_comm_io_map)
17331732
1734   MDRV_NVRAM_HANDLER(generic_0fill)
1733   MDRV_NVRAM_ADD_0FILL("nvram")
17351734
17361735   MDRV_GFXDECODE(hng64)
17371736   MDRV_MACHINE_START(hyperneo)
r9191r9192
17481747
17491748   MDRV_VIDEO_START(hng64)
17501749   MDRV_VIDEO_UPDATE(hng64)
1751MACHINE_DRIVER_END
1750MACHINE_CONFIG_END
17521751
17531752
17541753ROM_START( hng64 )
src/mame/drivers/solomon.c
r9191r9192
99#include "deprecat.h"
1010#include "cpu/z80/z80.h"
1111#include "sound/ay8910.h"
12#include "includes/solomon.h"
1213
13extern UINT8 *solomon_videoram;
14extern UINT8 *solomon_colorram;
15extern UINT8 *solomon_videoram2;
16extern UINT8 *solomon_colorram2;
17
18extern WRITE8_HANDLER( solomon_videoram_w );
19extern WRITE8_HANDLER( solomon_colorram_w );
20extern WRITE8_HANDLER( solomon_videoram2_w );
21extern WRITE8_HANDLER( solomon_colorram2_w );
22extern WRITE8_HANDLER( solomon_flipscreen_w );
23
24extern VIDEO_START( solomon );
25extern VIDEO_UPDATE( solomon );
26
2714static WRITE8_HANDLER( solomon_sh_command_w )
2815{
2916   soundlatch_w(space, offset, data);
r9191r9192
5542static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
5643   AM_RANGE(0x0000, 0xbfff) AM_ROM
5744   AM_RANGE(0xc000, 0xcfff) AM_RAM
58   AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(solomon_colorram_w) AM_BASE(&solomon_colorram)
59   AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(solomon_videoram_w) AM_BASE(&solomon_videoram)
60   AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(solomon_colorram2_w) AM_BASE(&solomon_colorram2)
61   AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(solomon_videoram2_w) AM_BASE(&solomon_videoram2)
62   AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
45   AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(solomon_colorram_w) AM_BASE_MEMBER(solomon_state, colorram)
46   AM_RANGE(0xd400, 0xd7ff) AM_RAM_WRITE(solomon_videoram_w) AM_BASE_MEMBER(solomon_state, videoram)
47   AM_RANGE(0xd800, 0xdbff) AM_RAM_WRITE(solomon_colorram2_w) AM_BASE_MEMBER(solomon_state, colorram2)
48   AM_RANGE(0xdc00, 0xdfff) AM_RAM_WRITE(solomon_videoram2_w) AM_BASE_MEMBER(solomon_state, videoram2)
49   AM_RANGE(0xe000, 0xe07f) AM_RAM AM_BASE_SIZE_MEMBER(solomon_state, spriteram, spriteram_size)
6350   AM_RANGE(0xe400, 0xe5ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_le_w) AM_BASE_GENERIC(paletteram)
6451   AM_RANGE(0xe600, 0xe600) AM_READ_PORT("P1")
6552   AM_RANGE(0xe601, 0xe601) AM_READ_PORT("P2")
r9191r9192
201188   GFXDECODE_ENTRY( "gfx3", 0, spritelayout,   0, 8 )   /* colors   0-127 */
202189GFXDECODE_END
203190
204static MACHINE_DRIVER_START( solomon )
191static MACHINE_CONFIG_START( solomon, solomon_state )
205192
206193   /* basic machine hardware */
207194   MDRV_CPU_ADD("maincpu", Z80, 4000000)   /* 4.0 MHz (?????) */
r9191r9192
239226
240227   MDRV_SOUND_ADD("ay3", AY8910, 1500000)
241228   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.12)
242MACHINE_DRIVER_END
229MACHINE_CONFIG_END
243230
244231/***************************************************************************
245232
src/mame/drivers/macrossp.c
r9191r9192
625625   state->old_fade = 0;
626626}
627627
628static MACHINE_DRIVER_START( macrossp )
628static MACHINE_CONFIG_START( macrossp, macrossp_state )
629629
630   /* driver data */
631   MDRV_DRIVER_DATA(macrossp_state)
632
633630   /* basic machine hardware */
634631   MDRV_CPU_ADD("maincpu", M68EC020, 50000000/2)   /* 25 MHz */
635632   MDRV_CPU_PROGRAM_MAP(macrossp_map)
r9191r9192
663660   MDRV_SOUND_CONFIG(es5506_config)
664661   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
665662   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
666MACHINE_DRIVER_END
663MACHINE_CONFIG_END
667664
668static MACHINE_DRIVER_START( quizmoon )
669   MDRV_IMPORT_FROM(macrossp)
665static MACHINE_CONFIG_DERIVED( quizmoon, macrossp )
670666
671667   MDRV_SCREEN_MODIFY("screen")
672668   MDRV_SCREEN_VISIBLE_AREA(0, 24*16-1, 0*8, 14*16-1)
673MACHINE_DRIVER_END
669MACHINE_CONFIG_END
674670
675671
676672
src/mame/drivers/gladiatr.c
r9191r9192
187187#include "cpu/z80/z80.h"
188188#include "sound/2203intf.h"
189189#include "sound/msm5205.h"
190#include "machine/nvram.h"
191#include "includes/gladiatr.h"
190192
191193
192/*Video functions*/
193extern UINT8 *gladiatr_videoram, *gladiatr_colorram,*gladiatr_textram;
194WRITE8_HANDLER( gladiatr_videoram_w );
195WRITE8_HANDLER( gladiatr_colorram_w );
196WRITE8_HANDLER( gladiatr_textram_w );
197WRITE8_HANDLER( gladiatr_paletteram_w );
198WRITE8_HANDLER( ppking_video_registers_w );
199WRITE8_HANDLER( gladiatr_video_registers_w );
200WRITE8_HANDLER( gladiatr_spritebuffer_w );
201WRITE8_HANDLER( gladiatr_spritebank_w );
202VIDEO_START( ppking );
203VIDEO_UPDATE( ppking );
204VIDEO_START( gladiatr );
205VIDEO_UPDATE( gladiatr );
206
207
208194/*Rom bankswitching*/
209195static WRITE8_HANDLER( gladiatr_bankswitch_w )
210196{
r9191r9192
392378   AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(gladiatr_videoram_w) AM_BASE(&gladiatr_videoram)
393379   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(gladiatr_colorram_w) AM_BASE(&gladiatr_colorram)
394380   AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(gladiatr_textram_w) AM_BASE(&gladiatr_textram)
395   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* battery backed RAM */
381   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
396382ADDRESS_MAP_END
397383
398384
r9191r9192
430416   AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(gladiatr_videoram_w) AM_BASE(&gladiatr_videoram)
431417   AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(gladiatr_colorram_w) AM_BASE(&gladiatr_colorram)
432418   AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(gladiatr_textram_w) AM_BASE(&gladiatr_textram)
433   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram) /* battery backed RAM */
419   AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
434420ADDRESS_MAP_END
435421
436422static ADDRESS_MAP_START( cpu2_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
674660
675661
676662
677static MACHINE_DRIVER_START( ppking )
663static MACHINE_CONFIG_START( ppking, gladiatr_state )
678664
679665   /* basic machine hardware */
680666   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */
r9191r9192
693679   MDRV_QUANTUM_TIME(HZ(6000))
694680
695681   MDRV_MACHINE_RESET(ppking)
696   MDRV_NVRAM_HANDLER(generic_0fill)
682   MDRV_NVRAM_ADD_0FILL("nvram")
697683
698684   /* video hardware */
699685   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
722708   MDRV_SOUND_ADD("msm", MSM5205, XTAL_455kHz) /* verified on pcb */
723709   MDRV_SOUND_CONFIG(msm5205_config)
724710   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
725MACHINE_DRIVER_END
711MACHINE_CONFIG_END
726712
727static MACHINE_DRIVER_START( gladiatr )
713static MACHINE_CONFIG_START( gladiatr, gladiatr_state )
728714
729715   /* basic machine hardware */
730716   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */
r9191r9192
742728   MDRV_QUANTUM_TIME(HZ(600))
743729
744730   MDRV_MACHINE_RESET(gladiator)
745   MDRV_NVRAM_HANDLER(generic_0fill)
731   MDRV_NVRAM_ADD_0FILL("nvram")
746732
747733   /* video hardware */
748734   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
771757   MDRV_SOUND_ADD("msm", MSM5205, XTAL_455kHz) /* verified on pcb */
772758   MDRV_SOUND_CONFIG(msm5205_config)
773759   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
774MACHINE_DRIVER_END
760MACHINE_CONFIG_END
775761
776762/***************************************************************************
777763
r9191r9192
1010996
1011997static READ8_HANDLER(f6a3_r)
1012998{
999   gladiatr_state *state = space->machine->driver_data<gladiatr_state>();
10131000   if(cpu_get_previouspc(space->cpu)==0x8e)
1014      space->machine->generic.nvram.u8[0x6a3]=1;
1001      state->m_nvram[0x6a3]=1;
10151002
1016   return space->machine->generic.nvram.u8[0x6a3];
1003   return state->m_nvram[0x6a3];
10171004}
10181005
10191006static DRIVER_INIT(ppking)
src/mame/drivers/imolagp.c
r9191r9192
8383#define HLE_COM
8484
8585
86class imolagp_state : public driver_data_t
86class imolagp_state : public driver_device
8787{
8888public:
89   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, imolagp_state(machine)); }
89   imolagp_state(running_machine &machine, const driver_device_config_base &config)
90      : driver_device(machine, config) { }
9091
91   imolagp_state(running_machine &machine)
92      : driver_data_t(machine) { }
93
9492   UINT8 *slave_workram; // used only ifdef HLE_COM
9593
9694#ifdef HLE_COM
r9191r9192
552550#endif
553551}
554552
555static MACHINE_DRIVER_START( imolagp )
556   MDRV_DRIVER_DATA(imolagp_state)
553static MACHINE_CONFIG_START( imolagp, imolagp_state )
557554
558555   MDRV_CPU_ADD("maincpu", Z80,8000000) /* ? */
559556   MDRV_CPU_PROGRAM_MAP(imolagp_master)
r9191r9192
585582   MDRV_SPEAKER_STANDARD_MONO("mono")
586583   MDRV_SOUND_ADD("aysnd", AY8910, 2000000)
587584   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
588MACHINE_DRIVER_END
585MACHINE_CONFIG_END
589586
590587ROM_START( imolagp )
591588   ROM_REGION( 0x10000, "maincpu", 0 ) /* Z80 code */
src/mame/drivers/puckpkmn.c
r9191r9192
133133   AM_RANGE(0x700014, 0x700015) AM_READ_PORT("UNK")
134134   AM_RANGE(0x700016, 0x700017) AM_READ_PORT("DSW1")
135135   AM_RANGE(0x700018, 0x700019) AM_READ_PORT("DSW2")
136   AM_RANGE(0x700022, 0x700023) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
136   AM_RANGE(0x700022, 0x700023) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
137137   AM_RANGE(0xa04000, 0xa04003) AM_DEVREADWRITE8("ymsnd", megadriv_68k_YM2612_read, megadriv_68k_YM2612_write, 0xffff)
138138   AM_RANGE(0xc00000, 0xc0001f) AM_READWRITE(megadriv_vdp_r, megadriv_vdp_w)
139139   AM_RANGE(0xe00000, 0xe0ffff) AM_RAM AM_MIRROR(0x1f0000) AM_BASE(&megadrive_ram)
r9191r9192
149149ADDRESS_MAP_END
150150
151151
152static MACHINE_DRIVER_START( puckpkmn )
153   MDRV_IMPORT_FROM( megadriv )
152static MACHINE_CONFIG_DERIVED( puckpkmn, megadriv )
154153
155154   MDRV_CPU_MODIFY("maincpu")
156155   MDRV_CPU_PROGRAM_MAP(puckpkmn_map)
r9191r9192
160159   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
161160   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25)
162161   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker",0.25)
163MACHINE_DRIVER_END
162MACHINE_CONFIG_END
164163
165164/* Genie's Hardware (contains no real sega parts) */
166165
src/mame/drivers/poker72.c
r9191r9192
329329   memory_set_bankptr(machine, "bank1", &ROM[0]);
330330}
331331
332static MACHINE_DRIVER_START( poker72 )
332static MACHINE_CONFIG_START( poker72, driver_device )
333333
334334
335335   /* basic machine hardware */
r9191r9192
359359   MDRV_SOUND_ADD("ay", AY8910, 8000000/8) /* ? Mhz */
360360   MDRV_SOUND_CONFIG(ay8910_config)
361361   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
362MACHINE_DRIVER_END
362MACHINE_CONFIG_END
363363
364364
365365
src/mame/drivers/stepstag.c
r9191r9192
108108   return 0;
109109}
110110
111static MACHINE_DRIVER_START( stepstag )
111static MACHINE_CONFIG_START( stepstag, driver_device )
112112   /* basic machine hardware */
113113   MDRV_CPU_ADD("maincpu", M68000, 16000000 ) //??
114114   MDRV_CPU_PROGRAM_MAP(stepstag_map)
r9191r9192
145145
146146   MDRV_VIDEO_START(stepstag)
147147   MDRV_VIDEO_UPDATE(stepstag)
148MACHINE_DRIVER_END
148MACHINE_CONFIG_END
149149
150150
151151ROM_START( stepstag )
src/mame/drivers/goindol.c
r9191r9192
243243   state->prot_toggle = 0;
244244}
245245
246static MACHINE_DRIVER_START( goindol )
246static MACHINE_CONFIG_START( goindol, goindol_state )
247247
248   /* driver data */
249   MDRV_DRIVER_DATA(goindol_state)
250
251248   /* basic machine hardware */
252249   MDRV_CPU_ADD("maincpu", Z80, 6000000)        /* 6 MHz (?) */
253250   MDRV_CPU_PROGRAM_MAP(goindol_map)
r9191r9192
280277
281278   MDRV_SOUND_ADD("ymsnd", YM2203, 2000000)
282279   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
283MACHINE_DRIVER_END
280MACHINE_CONFIG_END
284281
285282
286283
src/mame/drivers/gyruss.c
r9191r9192
505505   state->audiocpu_2 = machine->device<cpu_device>("audio2");
506506}
507507
508static MACHINE_DRIVER_START( gyruss )
508static MACHINE_CONFIG_START( gyruss, gyruss_state )
509509
510   /* driver data */
511   MDRV_DRIVER_DATA(gyruss_state)
512
513510   /* basic machine hardware */
514511   MDRV_CPU_ADD("maincpu", Z80, 3072000)   /* 3.072 MHz (?) */
515512   MDRV_CPU_PROGRAM_MAP(main_cpu1_map)
r9191r9192
583580   MDRV_SOUND_CONFIG_DISCRETE(gyruss_sound)
584581   MDRV_SOUND_ROUTE(0, "rspeaker", 1.0)
585582   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
586MACHINE_DRIVER_END
583MACHINE_CONFIG_END
587584
588585
589586
src/mame/drivers/fastlane.c
r9191r9192
210210   state->k007121 = machine->device("k007121");
211211}
212212
213static MACHINE_DRIVER_START( fastlane )
213static MACHINE_CONFIG_START( fastlane, fastlane_state )
214214
215   /* driver data */
216   MDRV_DRIVER_DATA(fastlane_state)
217
218215   /* basic machine hardware */
219216   MDRV_CPU_ADD("maincpu", HD6309, 3000000*4)      /* 24MHz/8? */
220217   MDRV_CPU_PROGRAM_MAP(fastlane_map)
r9191r9192
252249   MDRV_SOUND_CONFIG(k007232_interface_2)
253250   MDRV_SOUND_ROUTE(0, "mono", 0.50)
254251   MDRV_SOUND_ROUTE(1, "mono", 0.50)
255MACHINE_DRIVER_END
252MACHINE_CONFIG_END
256253
257254
258255/***************************************************************************
src/mame/drivers/gamecstl.c
r9191r9192
509509   AM_RANGE(0x0020, 0x003f) AM_DEVREADWRITE8("pic8259_1", pic8259_r, pic8259_w, 0xffffffff)
510510   AM_RANGE(0x0040, 0x005f) AM_DEVREADWRITE8("pit8254", pit8253_r, pit8253_w, 0xffffffff)
511511   AM_RANGE(0x0060, 0x006f) AM_READWRITE(kbdc8042_32le_r,         kbdc8042_32le_w)
512   AM_RANGE(0x0070, 0x007f) AM_READWRITE(mc146818_port32le_r,      mc146818_port32le_w)
512   AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8_MODERN("rtc", mc146818_device, read, write, 0xffffffff)
513513   AM_RANGE(0x0080, 0x009f) AM_READWRITE(at_page32_r,            at_page32_w)
514514   AM_RANGE(0x00a0, 0x00bf) AM_DEVREADWRITE8("pic8259_2", pic8259_r, pic8259_w, 0xffffffff)
515515   AM_RANGE(0x00c0, 0x00df) AM_DEVREADWRITE("dma8237_2", at32_dma8237_2_r, at32_dma8237_2_w)
r9191r9192
656656   }
657657};
658658
659static MACHINE_DRIVER_START(gamecstl)
659static MACHINE_CONFIG_START( gamecstl, driver_device )
660660
661661   /* basic machine hardware */
662662   MDRV_CPU_ADD("maincpu", PENTIUM, 200000000)
r9191r9192
682682
683683   MDRV_IDE_CONTROLLER_ADD("ide", ide_interrupt)
684684
685   MDRV_NVRAM_HANDLER( mc146818 )
685   MDRV_MC146818_ADD( "rtc", MC146818_STANDARD )
686686
687687   /* video hardware */
688688   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
698698   MDRV_VIDEO_START(gamecstl)
699699   MDRV_VIDEO_UPDATE(gamecstl)
700700
701MACHINE_DRIVER_END
701MACHINE_CONFIG_END
702702
703703static void set_gate_a20(running_machine *machine, int a20)
704704{
r9191r9192
735735   bios_ram = auto_alloc_array(machine, UINT32, 0x10000/4);
736736
737737   init_pc_common(machine, PCCOMMON_KEYBOARD_AT, gamecstl_set_keyb_int);
738   mc146818_init(machine, MC146818_STANDARD);
739738
740739   intel82439tx_init();
741740
src/mame/drivers/wldarrow.c
r9191r9192
2222#include "emu.h"
2323#include "cpu/i8085/i8085.h"
2424#include "sound/dac.h"
25#include "machine/nvram.h"
2526
2627
2728#define NUM_PENS   (8)
r9191r9192
169170   AM_RANGE(0x4000, 0x5fff) AM_RAM AM_BASE(&wldarrow_videoram_0) AM_SIZE(&wldarrow_videoram_size)
170171   AM_RANGE(0x6000, 0x7fff) AM_RAM AM_BASE(&wldarrow_videoram_1)
171172   AM_RANGE(0x8000, 0x9fff) AM_RAM AM_BASE(&wldarrow_videoram_2)
172   AM_RANGE(0xcd00, 0xcdff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
173   AM_RANGE(0xcd00, 0xcdff) AM_RAM AM_SHARE("nvram")
173174   AM_RANGE(0xf000, 0xf000) AM_READ_PORT("BITSW") AM_DEVWRITE("dac", wldarrow_dac_1_w)
174175   AM_RANGE(0xf004, 0xf004) AM_READ_PORT("IN1") AM_WRITE(lights_1_w)
175176   AM_RANGE(0xf006, 0xf006) AM_READ_PORT("IN2") AM_WRITE(lights_2_w)
r9191r9192
344345 *
345346 *************************************/
346347
347static MACHINE_DRIVER_START( wldarrow )
348static MACHINE_CONFIG_START( wldarrow, driver_device )
348349
349350   /* basic machine hardware */
350351   MDRV_CPU_ADD("maincpu", I8080, 2000000)
351352   MDRV_CPU_PROGRAM_MAP(wldarrow_map)
352353
353   MDRV_NVRAM_HANDLER(generic_0fill)
354   MDRV_NVRAM_ADD_0FILL("nvram")
354355
355356   /* video hardware */
356357   MDRV_VIDEO_UPDATE(wldarrow)
r9191r9192
367368   MDRV_SOUND_ADD("dac", DAC, 0)
368369   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
369370
370MACHINE_DRIVER_END
371MACHINE_CONFIG_END
371372
372373
373374
src/mame/drivers/kangaroo.c
r9191r9192
427427 *
428428 *************************************/
429429
430static MACHINE_DRIVER_START( nomcu )
430static MACHINE_CONFIG_START( nomcu, kangaroo_state )
431431
432   /* driver data */
433   MDRV_DRIVER_DATA(kangaroo_state)
434
435432   /* basic machine hardware */
436433   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4)
437434   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
459456   MDRV_SPEAKER_STANDARD_MONO("mono")
460457   MDRV_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK/8)
461458   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
462MACHINE_DRIVER_END
459MACHINE_CONFIG_END
463460
464461
465static MACHINE_DRIVER_START( mcu )
466   MDRV_IMPORT_FROM(nomcu)
462static MACHINE_CONFIG_DERIVED( mcu, nomcu )
467463
468464   MDRV_MACHINE_START(kangaroo_mcu)
469465
470466   MDRV_CPU_ADD("mcu", MB8841, MASTER_CLOCK/4/2)
471467   MDRV_DEVICE_DISABLE()
472MACHINE_DRIVER_END
468MACHINE_CONFIG_END
473469
474470
475471
src/mame/drivers/cabal.c
r9191r9192
484484   MSM5205_SEX_4B
485485};
486486
487static MACHINE_DRIVER_START( cabal )
487static MACHINE_CONFIG_START( cabal, cabal_state )
488488
489   MDRV_DRIVER_DATA(cabal_state)
490
491489   /* basic machine hardware */
492490   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb */
493491   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
524522
525523   MDRV_SOUND_ADD("adpcm2", SEIBU_ADPCM, 8000) /* it should use the msm5205 */
526524   MDRV_SOUND_ROUTE(ALL_OUTPUTS,"mono", 0.40)
527MACHINE_DRIVER_END
525MACHINE_CONFIG_END
528526
529527
530528/* the bootleg has different sound hardware (2 extra Z80s for ADPCM playback) */
531static MACHINE_DRIVER_START( cabalbl )
529static MACHINE_CONFIG_START( cabalbl, cabal_state )
532530
533   MDRV_DRIVER_DATA(cabal_state)
534
535531   /* basic machine hardware */
536532   MDRV_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb */
537533   MDRV_CPU_PROGRAM_MAP(cabalbl_main_map)
r9191r9192
583579   MDRV_SOUND_ADD("msm2", MSM5205, XTAL_12MHz/32) /* verified on pcb (no resonator)*/
584580   MDRV_SOUND_CONFIG(msm5205_interface_2)
585581   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
586MACHINE_DRIVER_END
582MACHINE_CONFIG_END
587583
588584ROM_START( cabal )
589585   ROM_REGION( 0x50000, "maincpu", 0 )   /* 64k for cpu code */
src/mame/drivers/cidelsa.c
r9191r9192
44#include "sound/cdp1869.h"
55#include "sound/ay8910.h"
66#include "machine/cdp1852.h"
7#include "machine/nvram.h"
78#include "includes/cidelsa.h"
89
910/* CDP1802 Interface */
r9191r9192
231232
232233static ADDRESS_MAP_START( destryer_map, ADDRESS_SPACE_PROGRAM, 8 )
233234   AM_RANGE(0x0000, 0x1fff) AM_ROM
234   AM_RANGE(0x2000, 0x20ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
235   AM_RANGE(0x2000, 0x20ff) AM_RAM AM_SHARE("nvram")
235236   AM_RANGE(0xf400, 0xf7ff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_charram_r, cdp1869_charram_w)
236237   AM_RANGE(0xf800, 0xffff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_pageram_r, cdp1869_pageram_w)
237238ADDRESS_MAP_END
238239
239240static ADDRESS_MAP_START( destryera_map, ADDRESS_SPACE_PROGRAM, 8 )
240241   AM_RANGE(0x0000, 0x1fff) AM_ROM
241   AM_RANGE(0x3000, 0x30ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
242   AM_RANGE(0x3000, 0x30ff) AM_RAM AM_SHARE("nvram")
242243   AM_RANGE(0xf400, 0xf7ff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_charram_r, cdp1869_charram_w)
243244   AM_RANGE(0xf800, 0xffff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_pageram_r, cdp1869_pageram_w)
244245ADDRESS_MAP_END
r9191r9192
276277
277278static ADDRESS_MAP_START( draco_map, ADDRESS_SPACE_PROGRAM, 8 )
278279   AM_RANGE(0x0000, 0x3fff) AM_ROM
279   AM_RANGE(0x8000, 0x83ff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
280   AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("nvram")
280281   AM_RANGE(0xf400, 0xf7ff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_charram_r, cdp1869_charram_w)
281282   AM_RANGE(0xf800, 0xffff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_pageram_r, cdp1869_pageram_w)
282283ADDRESS_MAP_END
r9191r9192
509510
510511/* Machine Drivers */
511512
512static MACHINE_DRIVER_START( destryer )
513   MDRV_DRIVER_DATA(cidelsa_state)
513static MACHINE_CONFIG_START( destryer, cidelsa_state )
514514
515515   /* basic system hardware */
516516   MDRV_CPU_ADD(CDP1802_TAG, CDP1802, DESTRYER_CHR1)
517517   MDRV_CPU_PROGRAM_MAP(destryer_map)
518518   MDRV_CPU_IO_MAP(destryer_io_map)
519519   MDRV_CPU_CONFIG(cidelsa_cdp1802_config)
520   MDRV_NVRAM_HANDLER(generic_0fill)
520   MDRV_NVRAM_ADD_0FILL("nvram")
521521
522522   MDRV_MACHINE_START(cidelsa)
523523   MDRV_MACHINE_RESET(cidelsa)
524524
525525   /* sound and video hardware */
526   MDRV_IMPORT_FROM(destryer_video)
527MACHINE_DRIVER_END
526   MDRV_FRAGMENT_ADD(destryer_video)
527MACHINE_CONFIG_END
528528
529static MACHINE_DRIVER_START( destryera )
530   MDRV_DRIVER_DATA(cidelsa_state)
529static MACHINE_CONFIG_START( destryera, cidelsa_state )
531530
532531   /* basic system hardware */
533532   MDRV_CPU_ADD(CDP1802_TAG, CDP1802, DESTRYER_CHR1)
534533   MDRV_CPU_PROGRAM_MAP(destryera_map)
535534   MDRV_CPU_IO_MAP(destryer_io_map)
536535   MDRV_CPU_CONFIG(cidelsa_cdp1802_config)
537   MDRV_NVRAM_HANDLER(generic_0fill)
536   MDRV_NVRAM_ADD_0FILL("nvram")
538537
539538   MDRV_MACHINE_START(cidelsa)
540539   MDRV_MACHINE_RESET(cidelsa)
541540
542541   /* sound and video hardware */
543   MDRV_IMPORT_FROM(destryer_video)
544MACHINE_DRIVER_END
542   MDRV_FRAGMENT_ADD(destryer_video)
543MACHINE_CONFIG_END
545544
546static MACHINE_DRIVER_START( altair )
547   MDRV_DRIVER_DATA(cidelsa_state)
545static MACHINE_CONFIG_START( altair, cidelsa_state )
548546
549547   /* basic system hardware */
550548
r9191r9192
563561   MDRV_CDP1852_ADD("ic26", ALTAIR_CHR1 / 8, altair_cdp1852_out1_intf)      /* clock is CDP1802 TPB */
564562
565563   /* sound and video hardware */
566   MDRV_IMPORT_FROM(altair_video)
567MACHINE_DRIVER_END
564   MDRV_FRAGMENT_ADD(altair_video)
565MACHINE_CONFIG_END
568566
569static MACHINE_DRIVER_START( draco )
570   MDRV_DRIVER_DATA(cidelsa_state)
567static MACHINE_CONFIG_START( draco, cidelsa_state )
571568
572569   /* basic system hardware */
573570   MDRV_CPU_ADD(CDP1802_TAG, CDP1802, DRACO_CHR1)
574571   MDRV_CPU_PROGRAM_MAP(draco_map)
575572   MDRV_CPU_IO_MAP(draco_io_map)
576573   MDRV_CPU_CONFIG(cidelsa_cdp1802_config)
577   MDRV_NVRAM_HANDLER(generic_0fill)
574   MDRV_NVRAM_ADD_0FILL("nvram")
578575
579576   MDRV_MACHINE_START(draco)
580577   MDRV_MACHINE_RESET(cidelsa)
r9191r9192
591588   MDRV_CDP1852_ADD("ic32", DRACO_CHR1 / 8, draco_cdp1852_out1_intf)      /* clock is CDP1802 TPB */
592589
593590   /* sound and video hardware */
594   MDRV_IMPORT_FROM(draco_video)
595MACHINE_DRIVER_END
591   MDRV_FRAGMENT_ADD(draco_video)
592MACHINE_CONFIG_END
596593
597594/* ROMs */
598595
src/mame/drivers/hotblock.c
r9191r9192
4545#include "cpu/i86/i86.h"
4646#include "sound/ay8910.h"
4747
48class hotblock_state : public driver_data_t
48class hotblock_state : public driver_device
4949{
5050public:
51   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, hotblock_state(machine)); }
51   hotblock_state(running_machine &machine, const driver_device_config_base &config)
52      : driver_device(machine, config) { }
5253
53   hotblock_state(running_machine &machine)
54      : driver_data_t(machine) { }
55
5654   /* memory pointers */
5755   UINT8 *  vram;
5856   UINT8 *  pal;
r9191r9192
208206};
209207
210208
211static MACHINE_DRIVER_START( hotblock )
209static MACHINE_CONFIG_START( hotblock, hotblock_state )
212210
213   /* driver data */
214   MDRV_DRIVER_DATA(hotblock_state)
215
216211   /* basic machine hardware */
217212   MDRV_CPU_ADD("maincpu", I8088, 10000000)
218213   MDRV_CPU_PROGRAM_MAP(hotblock_map)
r9191r9192
238233   MDRV_SOUND_ADD("aysnd", AY8910, 1000000)
239234   MDRV_SOUND_CONFIG(ay8910_config)
240235   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
241MACHINE_DRIVER_END
236MACHINE_CONFIG_END
242237
243238ROM_START( hotblock )
244239   ROM_REGION( 0x100000, "maincpu", 0 )
src/mame/drivers/turrett.c
r9191r9192
103103};
104104
105105
106static MACHINE_DRIVER_START( turrett )
106static MACHINE_CONFIG_START( turrett, driver_device )
107107   /* basic machine hardware */
108108   MDRV_CPU_ADD("maincpu", R3041BE, R3041_CLOCK)
109109   MDRV_CPU_PROGRAM_MAP(cpu_map)
r9191r9192
121121
122122   MDRV_VIDEO_START(turrett)
123123   MDRV_VIDEO_UPDATE(turrett)
124MACHINE_DRIVER_END
124MACHINE_CONFIG_END
125125
126126
127127ROM_START( turrett )
src/mame/drivers/vendetta.c
r9191r9192
497497   vendetta_video_banking(machine, 0);
498498}
499499
500static MACHINE_DRIVER_START( vendetta )
500static MACHINE_CONFIG_START( vendetta, vendetta_state )
501501
502   /* driver data */
503   MDRV_DRIVER_DATA(vendetta_state)
504
505502   /* basic machine hardware */
506503   MDRV_CPU_ADD("maincpu", KONAMI, 6000000)   /* this is strange, seems an overclock but */
507504//  MDRV_CPU_ADD("maincpu", KONAMI, 3000000)   /* is needed to have correct music speed */
r9191r9192
546543   MDRV_SOUND_ADD("k053260", K053260, 3579545)   /* verified with PCB */
547544   MDRV_SOUND_ROUTE(0, "lspeaker", 0.75)
548545   MDRV_SOUND_ROUTE(1, "rspeaker", 0.75)
549MACHINE_DRIVER_END
546MACHINE_CONFIG_END
550547
551548
552static MACHINE_DRIVER_START( esckids )
549static MACHINE_CONFIG_DERIVED( esckids, vendetta )
553550
554551   /* basic machine hardware */
555   MDRV_IMPORT_FROM(vendetta)
556552   MDRV_CPU_MODIFY("maincpu")
557553   MDRV_CPU_PROGRAM_MAP(esckids_map)
558554
r9191r9192
565561   MDRV_K052109_ADD("k052109", esckids_k052109_intf)
566562   MDRV_DEVICE_REMOVE("k053246")
567563   MDRV_K053246_ADD("k053246", esckids_k053246_intf)
568MACHINE_DRIVER_END
564MACHINE_CONFIG_END
569565
570566
571567
src/mame/drivers/segas16b.c
r9191r9192
10321032   }
10331033}
10341034
1035
1036static void system16b_generic_init(running_machine *machine, int _rom_board)
1035static void system16b_common_init(running_machine* machine, int _rom_board)
10371036{
10381037   segas1x_state *state = machine->driver_data<segas1x_state>();
10391038
10401039   /* set the ROM board */
10411040   state->rom_board = _rom_board;
10421041
1043   /* allocate memory for regions not autmatically assigned */
1044   segaic16_spriteram_0 = auto_alloc_array(machine, UINT16, 0x00800 / 2);
1045   segaic16_paletteram  = auto_alloc_array(machine, UINT16, 0x01000 / 2);
1046   segaic16_tileram_0   = auto_alloc_array(machine, UINT16, 0x10000 / 2);
1047   segaic16_textram_0   = auto_alloc_array(machine, UINT16, 0x01000 / 2);
1048   workram              = auto_alloc_array(machine, UINT16, 0x04000 / 2);
1049
1050   /* init the memory mapper */
1051   segaic16_memory_mapper_init(machine->device("maincpu"), region_info_list[state->rom_board], sound_w, NULL);
1052
1053   /* init the FD1094 */
1054   fd1094_driver_init(machine, "maincpu", segaic16_memory_mapper_set_decrypted);
1055
10561042   /* reset the custom handlers and other pointers */
10571043   state->custom_io_r = NULL;
10581044   state->custom_io_w = NULL;
r9191r9192
10731059   state_save_register_global(machine, state->mj_last_val);
10741060   state_save_register_global(machine, state->hwc_input_value);
10751061   state_save_register_global(machine, state->atomicp_sound_divisor);
1062
1063}
1064
1065
1066static void system16b_generic_init(running_machine *machine, int _rom_board)
1067{
1068   segas1x_state *state = machine->driver_data<segas1x_state>();
1069
1070   system16b_common_init(machine, _rom_board);
1071
1072   /* allocate memory for regions not autmatically assigned */
1073   segaic16_spriteram_0 = auto_alloc_array(machine, UINT16, 0x00800 / 2);
1074   segaic16_paletteram  = auto_alloc_array(machine, UINT16, 0x01000 / 2);
1075   segaic16_tileram_0   = auto_alloc_array(machine, UINT16, 0x10000 / 2);
1076   segaic16_textram_0   = auto_alloc_array(machine, UINT16, 0x01000 / 2);
1077   workram              = auto_alloc_array(machine, UINT16, 0x04000 / 2);
1078
1079   /* init the memory mapper */
1080   segaic16_memory_mapper_init(machine->device("maincpu"), region_info_list[state->rom_board], sound_w, NULL);
1081
1082   /* init the FD1094 */
1083   fd1094_driver_init(machine, "maincpu", segaic16_memory_mapper_set_decrypted);
1084
10761085   state_save_register_global_pointer(machine, segaic16_spriteram_0, 0x00800/2);
10771086   state_save_register_global_pointer(machine, segaic16_paletteram,  0x01000/2);
10781087   state_save_register_global_pointer(machine, segaic16_tileram_0,   0x10000/2);
r9191r9192
32723281 *
32733282 *************************************/
32743283
3275static MACHINE_DRIVER_START( system16b )
3284static MACHINE_CONFIG_START( system16b, segas1x_state )
32763285
3277   /* driver data */
3278   MDRV_DRIVER_DATA(segas1x_state)
3279
32803286   /* basic machine hardware */
32813287   MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK_10MHz)
32823288   MDRV_CPU_PROGRAM_MAP(system16b_map)
r9191r9192
33113317   MDRV_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
33123318   MDRV_SOUND_CONFIG(upd7759_config)
33133319   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.48)
3314MACHINE_DRIVER_END
3320MACHINE_CONFIG_END
33153321
33163322
3317static MACHINE_DRIVER_START( system16b_8751 )
3318   MDRV_IMPORT_FROM(system16b)
3323static MACHINE_CONFIG_DERIVED( system16b_8751, system16b )
33193324   MDRV_CPU_MODIFY("maincpu")
33203325   MDRV_CPU_VBLANK_INT("screen", i8751_main_cpu_vblank)
33213326
33223327   MDRV_CPU_ADD("mcu", I8751, MASTER_CLOCK_8MHz)
33233328   MDRV_CPU_IO_MAP(mcu_io_map)
33243329   MDRV_CPU_VBLANK_INT("screen", irq0_line_pulse)
3325MACHINE_DRIVER_END
3330MACHINE_CONFIG_END
33263331
33273332/* same as the above, but with custom Sega ICs */
33283333
r9191r9192
33313336   NULL, NULL
33323337};
33333338
3334static MACHINE_DRIVER_START( system16b_5248 )
3335   MDRV_IMPORT_FROM(system16b)
3339static MACHINE_CONFIG_DERIVED( system16b_5248, system16b )
33363340
33373341   MDRV_315_5248_ADD("315_5248")
33383342   MDRV_315_5250_ADD("315_5250_1", sys16b_5250_intf)
33393343   MDRV_315_5250_ADD("315_5250_2", sys16b_5250_intf)
3340MACHINE_DRIVER_END
3344MACHINE_CONFIG_END
33413345
3342static MACHINE_DRIVER_START( system16b_8751_5248 )
3343   MDRV_IMPORT_FROM(system16b_8751)
3346static MACHINE_CONFIG_DERIVED( system16b_8751_5248, system16b_8751 )
33443347
33453348   MDRV_315_5248_ADD("315_5248")
33463349   MDRV_315_5250_ADD("315_5250_1", sys16b_5250_intf)
33473350   MDRV_315_5250_ADD("315_5250_2", sys16b_5250_intf)
3348MACHINE_DRIVER_END
3351MACHINE_CONFIG_END
33493352
33503353
33513354
r9191r9192
33553358 *
33563359 *************************************/
33573360
3358static MACHINE_DRIVER_START( atomicp ) /* 10MHz CPU Clock verified */
3359   MDRV_IMPORT_FROM(system16b)
3361static MACHINE_CONFIG_DERIVED( atomicp, system16b ) /* 10MHz CPU Clock verified */
33603362
33613363   /* basic machine hardware */
33623364   MDRV_DEVICE_REMOVE("soundcpu")
r9191r9192
33693371   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
33703372
33713373   MDRV_DEVICE_REMOVE("upd")
3372MACHINE_DRIVER_END
3374MACHINE_CONFIG_END
33733375
33743376
3375static MACHINE_DRIVER_START( timescan )
3376   MDRV_IMPORT_FROM(system16b)
3377static MACHINE_CONFIG_DERIVED( timescan, system16b )
33773378   MDRV_VIDEO_START(timscanr)
3378MACHINE_DRIVER_END
3379MACHINE_CONFIG_END
33793380
33803381
33813382
r9191r9192
66836684/* Custom Korean Board - these probably belong with the bootlegs... */
66846685GAME( 1990, atomicp,    0,        atomicp,        atomicp,  atomicp,            ROT0,   "Philko",         "Atomic Point (Korea)" , 0) // korean clone board..
66856686GAME( 1990, snapper,    0,        atomicp,        snapper,  snapper,            ROT0,   "Philko",         "Snapper (Korea)" , 0) // korean clone board..
6687
6688
6689
6690
6691/* ISG 'Selection Master' Type 2006 hardware
6692
6693This is a 'multi-game' cart system (only the operator can select the game, via a dipswitch exposed from the cartridge)
6694
6695The system is designed to look like a PGM system (the ISG logo and fonts are ripped straight from original IGS material,
6696and the external casing of the unit is near identical)  The system does NOT however run PGM games, the cartridges won't
6697fit, and the hardware is basically a bootleg of Sega System 16 instead of PGM!  So far only one cartridge has been seen.
6698
6699There are various levels of 'protection' on the system
6700 - Address XOR + 16-bit bitswap on the BIOS rom and Cartridge ROMs
6701 - A device which performs a 32-bit bitswap, used to produce decryption keys for the data compressed on the cartridges
6702 - An alternate way of reading the cartridge data through a port, which causes an additional 8-bit data xor to be applied
6703 - A simple hardware RLE decompression device used to decrypt data for the BIOS (the games use a stronger software
6704   implementation instead)
6705
6706The PCB is entirely custom SMT components, as you'd expect from a modern bootleg, all chips have had their surface details
6707removed.
6708
6709*/
6710
6711
6712
6713/* these should probably go in a driver state derived from the Sega one */
6714static UINT16 isgsm_cart_addrlatch;
6715static UINT32 isgsm_cart_addr;
6716static int isgsm_type = 0;
6717static UINT32 isgsm_addr;
6718static UINT8  isgsm_mode;
6719static UINT16 isgsm_addrlatch;
6720static UINT32 isgsm_security;
6721static UINT16 isgsm_securitylatch;
6722static UINT8 isgsm_rle_control_position = 8;
6723static UINT8 isgsm_rle_control_byte;
6724static int isgsm_rle_latched;
6725static UINT8 isgsm_rle_byte;
6726
6727#define ISGSM_CART_BANK "gamecart"
6728#define ISGSM_MAIN_BANK "mainbank"
6729
6730static WRITE16_HANDLER( isgsm_sound_w16 )
6731{
6732   sound_w(space->machine, data);
6733}
6734
6735static WRITE16_HANDLER( isgsm_cart_addr_high_w )
6736{
6737   isgsm_cart_addrlatch = data;
6738}
6739
6740static WRITE16_HANDLER( isgsm_cart_addr_low_w )
6741{
6742   isgsm_cart_addr = data | isgsm_cart_addrlatch<<16;
6743}
6744
6745// the cart can be read here 8-bits at a time.
6746// when reading from this port the data is xored by a fixed value (maybe other carts differ?)
6747static READ16_HANDLER( isgsm_cart_data_r )
6748{
6749   int size = memory_region_length(space->machine,"gamecart_rgn");
6750   UINT8* rgn = memory_region(space->machine,"gamecart_rgn");
6751
6752   isgsm_cart_addr++;
6753
6754   UINT8 data = rgn[(isgsm_cart_addr&(size-1))^1]^0x66;
6755
6756   return data;
6757}
6758
6759static WRITE16_HANDLER( isgsm_data_w )
6760{
6761   UINT8* dest = 0;
6762
6763   switch (isgsm_type)
6764   {
6765      case 0x20: dest = memory_region(space->machine,"gfx2");
6766         break;
6767
6768      case 0x21: dest = memory_region(space->machine,"gfx1");
6769         break;
6770
6771      case 0x22: dest = memory_region(space->machine,"soundcpu");
6772         break;
6773
6774      case 0x23: dest = memory_region(space->machine,"maincpu");
6775         break;
6776
6777      default: // no other cases?
6778         break;
6779   }
6780
6781   if (dest)
6782   {
6783      int bytes_to_write;
6784      // mode register
6785      //  droo
6786      //  d = direction
6787      //  r = hardware rle (used by the bios only, games are using some kind of software compression/encryption
6788      //  oo = operator mode (0 = plain, 1 = xor, 2 = OR, 3 = AND)
6789
6790      // address can auto-increment or decrement, happens *before* data is written
6791      bytes_to_write = 1;
6792
6793      if (isgsm_mode&0x4)
6794      {
6795         if (!isgsm_rle_latched)
6796         {
6797            if (isgsm_rle_control_position==8)
6798            {
6799               isgsm_rle_control_byte = data;
6800               isgsm_rle_control_position = 0;
6801               bytes_to_write = 0;
6802            }
6803            else
6804            {
6805               if (((isgsm_rle_control_byte<<isgsm_rle_control_position)&0x80) == 0) // RLE
6806               {
6807                  isgsm_rle_byte = data;
6808                  isgsm_rle_latched = 1;
6809               }
6810               else
6811               {
6812                  bytes_to_write = 1;
6813               }
6814
6815               isgsm_rle_control_position++;
6816            }
6817         }
6818         else
6819         {
6820            isgsm_rle_latched = 0;
6821            bytes_to_write = data+2;
6822            data = isgsm_rle_byte;
6823         }
6824      }
6825
6826      for (int i=0;i<bytes_to_write;i++)
6827      {
6828         if (isgsm_mode&0x8)
6829         {
6830            isgsm_addr++;
6831            isgsm_addr&=0xfffffff;
6832         }
6833         else
6834         {
6835            isgsm_addr--;
6836            isgsm_addr&=0xfffffff;
6837         }
6838
6839         switch (isgsm_mode&0x3)
6840         {
6841            case 0: dest[isgsm_addr]  = data; break;
6842            case 1: dest[isgsm_addr] ^= data; break;
6843            case 2: dest[isgsm_addr] |= data; break; // not used, based on real hw test
6844            case 3: dest[isgsm_addr] &= data; break; // ^^
6845         }
6846
6847         if (dest == memory_region(space->machine,"gfx1"))
6848         {
6849
6850            // we need to re-decode the tiles if writing to this area to keep MAME happy
6851            gfx_element_mark_dirty(space->machine->gfx[0], (isgsm_addr&0x1ffff)/8);
6852         }
6853      }
6854   }
6855}
6856
6857static WRITE16_HANDLER( isgsm_type_w )
6858{
6859   //printf("type set to %04x %04x\n", data, mem_mask);
6860   isgsm_type = data;
6861}
6862
6863static WRITE16_HANDLER( isgsm_addr_high_w )
6864{
6865   // this is latched, doesn't get applied until low part is written.
6866   isgsm_addrlatch = data;
6867}
6868
6869static WRITE16_HANDLER( isgsm_addr_low_w )
6870{
6871   // update the address and mode
6872   isgsm_mode = (isgsm_addrlatch & 0xf000)>>12;
6873   isgsm_addr = data | ((isgsm_addrlatch&0x0fff)<<16);
6874
6875   // also resets the RLE
6876   isgsm_rle_control_position = 8;
6877   isgsm_rle_control_byte = 0;
6878   isgsm_rle_latched = 0;
6879}
6880
6881static WRITE16_HANDLER( isgsm_cart_security_high_w )
6882{
6883   // this is latched, doesn't get applied until low part is written.
6884   isgsm_securitylatch = data;
6885}
6886
6887static WRITE16_HANDLER( isgsm_cart_security_low_w )
6888{
6889   isgsm_security = data | isgsm_securitylatch << 16;
6890   // come up with security answer
6891   // -- this probably depends on the cart.
6892   isgsm_security = BITSWAP32(isgsm_security, 19, 20, 25, 26, 15, 0, 16, 2, 8, 9, 13, 14, 31, 21, 7, 18, 11, 30, 22, 17, 3, 4, 12, 28, 29, 5, 27, 10, 23, 24, 1, 6);
6893}
6894
6895static READ16_HANDLER( isgsm_cart_security_low_r )
6896{
6897   return isgsm_security & 0xffff;
6898}
6899
6900static READ16_HANDLER( isgsm_cart_security_high_r )
6901{
6902   return (isgsm_security>>16) & 0xffff;
6903}
6904
6905WRITE16_HANDLER( isgsm_sound_reset_w )
6906{
6907   if (data==0)
6908   {
6909      devtag_reset( space->machine, "soundcpu" );
6910      space->machine->device<cpu_device>( "soundcpu" )->resume(SUSPEND_REASON_HALT );
6911   }
6912   else if (data==1)
6913   {
6914      devtag_reset( space->machine, "soundcpu" );
6915      space->machine->device<cpu_device>( "soundcpu" )->suspend(SUSPEND_REASON_HALT, 1 );
6916   }
6917}
6918
6919static WRITE16_HANDLER( isgsm_main_bank_change_w )
6920{
6921   // other values on real hw have strange results, change memory mapping etc??
6922   if (data==1)
6923   {
6924      memory_set_bankptr(space->machine,ISGSM_MAIN_BANK, memory_region(space->machine, "maincpu"));
6925   }
6926}
6927
6928static MACHINE_START( isgsm )
6929{
6930   memory_set_bankptr(machine,ISGSM_CART_BANK, memory_region(machine, "gamecart_rgn"));
6931   memory_set_bankptr(machine,ISGSM_MAIN_BANK, memory_region(machine, "bios"));
6932}
6933
6934static ADDRESS_MAP_START( isgsm_map, ADDRESS_SPACE_PROGRAM, 16 )
6935
6936   AM_RANGE(0x000000, 0x0fffff) AM_ROMBANK(ISGSM_MAIN_BANK) // this area is ALWAYS read-only, even when the game is banked in
6937   AM_RANGE(0x200000, 0x23ffff) AM_RAM // used during startup for decompression
6938   AM_RANGE(0x3f0000, 0x3fffff) AM_WRITE( rom_5704_bank_w )
6939   AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(segaic16_tileram_0_w) AM_BASE(&segaic16_tileram_0)
6940   AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(segaic16_textram_0_w) AM_BASE(&segaic16_textram_0)
6941   AM_RANGE(0x440000, 0x4407ff) AM_RAM AM_BASE(&segaic16_spriteram_0)
6942   AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE(segaic16_paletteram_w) AM_BASE(&segaic16_paletteram)
6943   AM_RANGE(0xC40000, 0xC43fff) AM_READWRITE(misc_io_r, misc_io_w)
6944
6945   AM_RANGE(0xe00000, 0xe00001) AM_WRITE( isgsm_data_w ) // writes decompressed data here (copied from RAM..)
6946   AM_RANGE(0xe00002, 0xe00003) AM_WRITE( isgsm_type_w ) // selects which 'type' of data we're writing
6947   AM_RANGE(0xe00004, 0xe00005) AM_WRITE( isgsm_addr_high_w ) // high address, and some mode bits
6948   AM_RANGE(0xe00006, 0xe00007) AM_WRITE( isgsm_addr_low_w )  // low address
6949
6950   AM_RANGE(0xe80000, 0xe80001) AM_READ( isgsm_cart_data_r ) // 8-bit port that the entire cart can be read from
6951   AM_RANGE(0xe80002, 0xe80003) AM_READ_PORT("CARDDSW")
6952   AM_RANGE(0xe80004, 0xe80005) AM_WRITE( isgsm_cart_addr_high_w )
6953   AM_RANGE(0xe80006, 0xe80007) AM_WRITE( isgsm_cart_addr_low_w )
6954   AM_RANGE(0xe80008, 0xe80009) AM_READWRITE( isgsm_cart_security_high_r, isgsm_cart_security_high_w ) // 32-bit bitswap device..
6955   AM_RANGE(0xe8000a, 0xe8000b) AM_READWRITE( isgsm_cart_security_low_r,  isgsm_cart_security_low_w )
6956
6957   AM_RANGE(0xee0000, 0xefffff) AM_ROMBANK(ISGSM_CART_BANK) // only the first 0x20000 bytes of the cart are visible here..
6958
6959   AM_RANGE(0xfe0006, 0xfe0007) AM_WRITE( isgsm_sound_w16 )
6960   AM_RANGE(0xfe0008, 0xfe0009) AM_WRITE( isgsm_sound_reset_w )
6961   AM_RANGE(0xfe000a, 0xfe000b) AM_WRITE( isgsm_main_bank_change_w )
6962   AM_RANGE(0xffc000, 0xffffff) AM_RAM AM_BASE(&workram)
6963ADDRESS_MAP_END
6964
6965
6966
6967static INPUT_PORTS_START( isgsm )
6968   PORT_INCLUDE( system16b_generic )
6969
6970   PORT_MODIFY("DSW2")
6971   PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW2:1" )
6972   PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW2:2" )
6973   PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW2:3" )
6974   PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW2:4" )
6975   PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW2:5" )
6976   PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW2:6" )
6977   PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW2:7" )
6978   PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW2:8" )
6979
6980   PORT_MODIFY("UNUSED")
6981   PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
6982
6983   PORT_MODIFY("DSW1")
6984   PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW1:1" )
6985   PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW1:2" )
6986   PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW1:3" )
6987   PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW1:4" )
6988   PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" )
6989   PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" )
6990   PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW1:7" )
6991   PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" )
6992
6993   PORT_START("CARDDSW") // on the gamecard..
6994   PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
6995INPUT_PORTS_END
6996
6997
6998static INPUT_PORTS_START( shinfz )
6999   PORT_INCLUDE( system16b_generic )
7000
7001   PORT_MODIFY("DSW2")
7002   PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:1")
7003   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
7004   PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
7005   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW2:2")
7006   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
7007   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
7008   PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:3,4")
7009   PORT_DIPSETTING(    0x08, "2" )
7010   PORT_DIPSETTING(    0x0c, "3" )
7011   PORT_DIPSETTING(    0x04, "4" )
7012   PORT_DIPSETTING(    0x00, "240 (Cheat)")
7013   PORT_DIPNAME( 0x30, 0x30, "Extra Ship Cost" ) PORT_DIPLOCATION("SW2:5,6")
7014   PORT_DIPSETTING(    0x30, "5000" )
7015   PORT_DIPSETTING(    0x20, "10000" )
7016   PORT_DIPSETTING(    0x10, "15000" )
7017   PORT_DIPSETTING(    0x00, "20000" )
7018   PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:7,8")
7019   PORT_DIPSETTING(    0x80, DEF_STR( Easy ) )
7020   PORT_DIPSETTING(    0xc0, DEF_STR( Normal ) )
7021   PORT_DIPSETTING(    0x40, DEF_STR( Hard ) )
7022   PORT_DIPSETTING(    0x00, DEF_STR( Hardest ) )
7023
7024   PORT_MODIFY("UNUSED")
7025   PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNUSED )
7026
7027   PORT_MODIFY("DSW1")
7028   PORT_DIPUNUSED_DIPLOC( 0x0001, 0x0001, "SW1:1" )
7029   PORT_DIPUNUSED_DIPLOC( 0x0002, 0x0002, "SW1:2" )
7030   PORT_DIPUNUSED_DIPLOC( 0x0004, 0x0004, "SW1:3" )
7031   PORT_DIPUNUSED_DIPLOC( 0x0008, 0x0008, "SW1:4" )
7032   PORT_DIPUNUSED_DIPLOC( 0x0010, 0x0010, "SW1:5" )
7033   PORT_DIPUNUSED_DIPLOC( 0x0020, 0x0020, "SW1:6" )
7034   PORT_DIPUNUSED_DIPLOC( 0x0040, 0x0040, "SW1:7" )
7035   PORT_DIPUNUSED_DIPLOC( 0x0080, 0x0080, "SW1:8" )
7036
7037   PORT_START("CARDDSW") // on the gamecard..
7038   PORT_DIPNAME( 0x0003, 0x0000, "Game Type" )
7039   PORT_DIPSETTING(      0x0000, "Shinobi Ninja Game" )
7040   PORT_DIPSETTING(      0x0001, "FZ-2006 Game I" )
7041   PORT_DIPSETTING(      0x0002, "FZ-2006 Game II" )
7042   PORT_DIPSETTING(      0x0003, "Invalid" ) // this (or higher) gives 'BAD SELECT - Check Switch' message.
7043   PORT_BIT( 0xfffc, IP_ACTIVE_HIGH, IPT_UNUSED )
7044INPUT_PORTS_END
7045
7046
7047
7048static MACHINE_RESET( isgsm )
7049{
7050   segaic16_tilemap_reset(machine, 0);
7051
7052   /* configure sprite banks */
7053   for (int i = 0; i < 16; i++)
7054      segaic16_sprites_set_bank(machine, 0, i, i);
7055
7056   memory_set_bankptr(machine,ISGSM_CART_BANK, memory_region(machine, "gamecart_rgn"));
7057   memory_set_bankptr(machine,ISGSM_MAIN_BANK, memory_region(machine, "bios"));
7058   devtag_reset( machine, "maincpu" );
7059}
7060
7061
7062static MACHINE_CONFIG_DERIVED( isgsm, system16b )
7063   /* basic machine hardware */
7064
7065   MDRV_DEVICE_REMOVE("maincpu")
7066
7067   MDRV_CPU_ADD("maincpu", M68000, 16000000) // no obvious CPU, but seems to be clocked faster than an original system16 based on the boot times
7068   MDRV_CPU_PROGRAM_MAP(isgsm_map)
7069   MDRV_CPU_VBLANK_INT("screen", irq4_line_hold)
7070
7071   MDRV_MACHINE_START(isgsm)
7072   MDRV_MACHINE_RESET(isgsm)
7073
7074MACHINE_CONFIG_END
7075
7076
7077DRIVER_INIT( isgsm )
7078{
7079   system16b_common_init(machine, ROM_BOARD_171_5521);
7080
7081   // decrypt the bios...
7082   UINT16* temp = (UINT16*)malloc(0x20000);
7083   UINT16* rom = (UINT16*)memory_region(machine, "bios");
7084   int i;
7085
7086   for (i=0;i<0x10000;i++)
7087   {
7088      temp[i^0x4127] = BITSWAP16(rom[i], 6, 14, 4, 2, 12, 10, 8, 0, 1, 9, 11, 13, 3, 5, 7, 15);
7089   }
7090
7091   memcpy(rom, temp, 0x20000);
7092   free(temp);
7093}
7094
7095DRIVER_INIT( shinfz )
7096{
7097   DRIVER_INIT_CALL( isgsm );
7098
7099   UINT16* temp = (UINT16*)malloc(0x200000);
7100   UINT16* rom = (UINT16*)memory_region(machine, "gamecart_rgn");
7101   int i;
7102
7103   for (i=0;i<0x100000;i++)
7104   {
7105      temp[i^0x68956] = BITSWAP16(rom[i], 8, 4, 12, 3, 6, 7, 1, 0, 15, 11, 5, 14, 10, 2, 9, 13);
7106   }
7107
7108   memcpy(rom, temp, 0x200000);
7109   free(temp);
7110}
7111
7112
7113
7114/* other regions are filled with data from the game cartridge at run-time via port accesses */
7115#define ISGSM_BIOS \
7116   ROM_REGION16_BE( 0x100000, "bios", 0 ) \
7117   ROM_LOAD16_WORD_SWAP("ism2006v00.u1",0x00000,0x20000, CRC(2292585c) SHA1(97ba0e0f0be832a5114d95151e519bc027f6675b) ) \
7118   ROM_REGION( 0x100000, "maincpu", ROMREGION_ERASE00 ) \
7119   ROM_REGION( 0x60000, "gfx1", ROMREGION_ERASE00 ) \
7120   ROM_REGION16_BE( 0x200000, "gfx2", ROMREGION_ERASE00 ) \
7121   ROM_REGION( 0x40000, "soundcpu", ROMREGION_ERASE00 ) \
7122
7123
7124ROM_START( isgsm )
7125   ISGSM_BIOS
7126   ROM_REGION16_BE( 0x200000, "gamecart_rgn", ROMREGION_ERASE00 )
7127ROM_END
7128
7129
7130ROM_START( shinfz )
7131   ISGSM_BIOS
7132
7133   ROM_REGION16_BE( 0x200000, "gamecart_rgn", 0 )
7134   ROM_LOAD16_WORD_SWAP("shin06.u13",0x00000,0x200000, CRC(39d773e9) SHA1(5284f90cb5190128a17ebee8b539a39c8914c364) )
7135ROM_END
7136
7137GAME( 2006, isgsm,  0,      isgsm, isgsm,  isgsm,         ROT0,  "ISG", "ISG Selection Master Type 2006 BIOS", GAME_IS_BIOS_ROOT )
7138GAME( 2006, shinfz, isgsm,  isgsm, shinfz, shinfz,        ROT0,  "ISG", "Shinobi / FZ-2006 (Korean System 16 bootleg) (ISG Selection Master Type 2006)", 0 )
7139
7140
src/mame/drivers/thoop2.c
r9191r9192
1616#include "emu.h"
1717#include "cpu/m68000/m68000.h"
1818#include "sound/okim6295.h"
19#include "includes/thoop2.h"
1920
20extern UINT16 *thoop2_vregs;
21extern UINT16 *thoop2_videoram;
22extern UINT16 *thoop2_spriteram;
23
24/* from video/thoop2.c */
25WRITE16_HANDLER( thoop2_vram_w );
26VIDEO_START( thoop2 );
27VIDEO_UPDATE( thoop2 );
28
29
3021static const gfx_layout thoop2_tilelayout =
3122{
3223   8,8,                           /* 8x8 tiles */
r9191r9192
10697   AM_RANGE(0x700006, 0x700007) AM_READ_PORT("P2")
10798   AM_RANGE(0x700008, 0x700009) AM_READ_PORT("SYSTEM")
10899   AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w)                  /* OKI6295 bankswitch */
109   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)               /* OKI6295 data register */
100   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)               /* OKI6295 data register */
110101   AM_RANGE(0x70000a, 0x70005b) AM_WRITE(thoop2_coin_w)                        /* Coin Counters + Coin Lockout */
111102   AM_RANGE(0xfeff00, 0xfeff01) AM_READ(DS5002FP_R)
112103   AM_RANGE(0xfeff02, 0xfeff03) AM_WRITENOP  /* pf: 0xfeff02 and 0xfeff03 need to remain zero always */
r9191r9192
195186INPUT_PORTS_END
196187
197188
198static MACHINE_DRIVER_START( thoop2 )
189static MACHINE_CONFIG_START( thoop2, driver_device )
199190
200191   /* basic machine hardware */
201192   MDRV_CPU_ADD("maincpu", M68000,24000000/2)         /* 12 MHz */
r9191r9192
221212
222213   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
223214   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
224MACHINE_DRIVER_END
215MACHINE_CONFIG_END
225216
226217
227218ROM_START( thoop2 )
src/mame/drivers/marineb.c
r9191r9192
525525GFXDECODE_END
526526
527527
528static MACHINE_DRIVER_START( marineb )
528static MACHINE_CONFIG_START( marineb, espial_state )
529529
530   /* driver data */
531   MDRV_DRIVER_DATA(espial_state)
532
533530   /* basic machine hardware */
534531   MDRV_CPU_ADD("maincpu", Z80, 3072000)   /* 3.072 MHz */
535532   MDRV_CPU_PROGRAM_MAP(marineb_map)
r9191r9192
558555   MDRV_SPEAKER_STANDARD_MONO("mono")
559556   MDRV_SOUND_ADD("ay1", AY8910, 1500000)
560557   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
561MACHINE_DRIVER_END
558MACHINE_CONFIG_END
562559
563560
564static MACHINE_DRIVER_START( changes )
561static MACHINE_CONFIG_DERIVED( changes, marineb )
565562
566563   /* basic machine hardware */
567   MDRV_IMPORT_FROM(marineb)
568564
569565   /* video hardware */
570566   MDRV_GFXDECODE(changes)
571567   MDRV_VIDEO_UPDATE(changes)
572MACHINE_DRIVER_END
568MACHINE_CONFIG_END
573569
574570
575static MACHINE_DRIVER_START( springer )
571static MACHINE_CONFIG_DERIVED( springer, marineb )
576572
577573   /* basic machine hardware */
578   MDRV_IMPORT_FROM(marineb)
579574   MDRV_MACHINE_RESET(springer)
580575
581576   /* video hardware */
582577   MDRV_VIDEO_UPDATE(springer)
583MACHINE_DRIVER_END
578MACHINE_CONFIG_END
584579
585580
586static MACHINE_DRIVER_START( hoccer )
581static MACHINE_CONFIG_DERIVED( hoccer, marineb )
587582
588583   /* basic machine hardware */
589   MDRV_IMPORT_FROM(marineb)
590584
591585   /* video hardware */
592586   MDRV_GFXDECODE(hoccer)
593587   MDRV_VIDEO_UPDATE(hoccer)
594MACHINE_DRIVER_END
588MACHINE_CONFIG_END
595589
596590
597static MACHINE_DRIVER_START( wanted )
591static MACHINE_CONFIG_DERIVED( wanted, marineb )
598592
599593   /* basic machine hardware */
600   MDRV_IMPORT_FROM(marineb)
601594   MDRV_CPU_MODIFY("maincpu")
602595   MDRV_CPU_IO_MAP(wanted_io_map)
603596   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
r9191r9192
612605
613606   MDRV_SOUND_ADD("ay2", AY8910, 1500000)
614607   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
615MACHINE_DRIVER_END
608MACHINE_CONFIG_END
616609
617610
618static MACHINE_DRIVER_START( hopprobo )
611static MACHINE_CONFIG_DERIVED( hopprobo, marineb )
619612
620613   /* basic machine hardware */
621   MDRV_IMPORT_FROM(marineb)
622614
623615   /* video hardware */
624616   MDRV_GFXDECODE(hopprobo)
625617   MDRV_VIDEO_UPDATE(hopprobo)
626MACHINE_DRIVER_END
618MACHINE_CONFIG_END
627619
628620
629static MACHINE_DRIVER_START( bcruzm12 )
621static MACHINE_CONFIG_DERIVED( bcruzm12, wanted )
630622
631623   /* basic machine hardware */
632   MDRV_IMPORT_FROM(wanted)
633624   MDRV_MACHINE_RESET(springer)
634MACHINE_DRIVER_END
625MACHINE_CONFIG_END
635626
636627/***************************************************************************
637628
src/mame/drivers/pktgaldx.c
r9191r9192
8181   AM_RANGE(0x120000, 0x1207ff) AM_RAM AM_BASE_SIZE_MEMBER(pktgaldx_state, spriteram, spriteram_size)
8282   AM_RANGE(0x130000, 0x130fff) AM_RAM_DEVWRITE("deco_custom", deco16ic_nonbuffered_palette_w) AM_BASE_GENERIC(paletteram)
8383
84   AM_RANGE(0x140000, 0x14000f) AM_DEVWRITE8("oki1", okim6295_w, 0x00ff)
85   AM_RANGE(0x140006, 0x140007) AM_DEVREAD8("oki1", okim6295_r, 0x00ff)
86   AM_RANGE(0x150000, 0x15000f) AM_DEVWRITE8("oki2", okim6295_w, 0x00ff)
87   AM_RANGE(0x150006, 0x150007) AM_DEVREAD8("oki2", okim6295_r, 0x00ff)
84   AM_RANGE(0x140000, 0x14000f) AM_DEVWRITE8_MODERN("oki1", okim6295_device, write, 0x00ff)
85   AM_RANGE(0x140006, 0x140007) AM_DEVREAD8_MODERN("oki1", okim6295_device, read, 0x00ff)
86   AM_RANGE(0x150000, 0x15000f) AM_DEVWRITE8_MODERN("oki2", okim6295_device, write, 0x00ff)
87   AM_RANGE(0x150006, 0x150007) AM_DEVREAD8_MODERN("oki2", okim6295_device, read, 0x00ff)
8888
8989   AM_RANGE(0x161800, 0x16180f) AM_DEVWRITE("deco_custom", deco16ic_pf12_control_w)
9090   AM_RANGE(0x164800, 0x164801) AM_DEVWRITE("oki2", pktgaldx_oki_bank_w)
r9191r9192
127127
128128   AM_RANGE(0x130000, 0x130fff) AM_RAM // palette on original?
129129
130   AM_RANGE(0x140000, 0x14000f) AM_DEVWRITE8("oki1", okim6295_w, 0x00ff)
131   AM_RANGE(0x140006, 0x140007) AM_DEVREAD8("oki1", okim6295_r, 0x00ff)
132   AM_RANGE(0x150000, 0x15000f) AM_DEVWRITE8("oki2", okim6295_w, 0x00ff)
133   AM_RANGE(0x150006, 0x150007) AM_DEVREAD8("oki2", okim6295_r, 0x00ff)
130   AM_RANGE(0x140000, 0x14000f) AM_DEVWRITE8_MODERN("oki1", okim6295_device, write, 0x00ff)
131   AM_RANGE(0x140006, 0x140007) AM_DEVREAD8_MODERN("oki1", okim6295_device, read, 0x00ff)
132   AM_RANGE(0x150000, 0x15000f) AM_DEVWRITE8_MODERN("oki2", okim6295_device, write, 0x00ff)
133   AM_RANGE(0x150006, 0x150007) AM_DEVREAD8_MODERN("oki2", okim6295_device, read, 0x00ff)
134134
135135//  AM_RANGE(0x160000, 0x167fff) AM_RAM
136136   AM_RANGE(0x164800, 0x164801) AM_DEVWRITE("oki2", pktgaldx_oki_bank_w)
r9191r9192
318318   state->deco16ic = machine->device("deco_custom");
319319}
320320
321static MACHINE_DRIVER_START( pktgaldx )
321static MACHINE_CONFIG_START( pktgaldx, pktgaldx_state )
322322
323   /* driver data */
324   MDRV_DRIVER_DATA(pktgaldx_state)
325
326323   /* basic machine hardware */
327324   MDRV_CPU_ADD("maincpu", M68000, 14000000)
328325   MDRV_CPU_PROGRAM_MAP(pktgaldx_map)
r9191r9192
355352   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
356353   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60)
357354   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60)
358MACHINE_DRIVER_END
355MACHINE_CONFIG_END
359356
360357
361static MACHINE_DRIVER_START( pktgaldb )
358static MACHINE_CONFIG_START( pktgaldb, pktgaldx_state )
362359
363   /* driver data */
364   MDRV_DRIVER_DATA(pktgaldx_state)
365
366360   /* basic machine hardware */
367361   MDRV_CPU_ADD("maincpu", M68000, 16000000)
368362   MDRV_CPU_PROGRAM_MAP(pktgaldb_map)
r9191r9192
393387   MDRV_OKIM6295_ADD("oki2", 32220000/16, OKIM6295_PIN7_HIGH)
394388   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60)
395389   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60)
396MACHINE_DRIVER_END
390MACHINE_CONFIG_END
397391
398392
399393ROM_START( pktgaldx )
src/mame/drivers/timeplt.c
r9191r9192
376376   state->nmi_enable = 0;
377377}
378378
379static MACHINE_DRIVER_START( timeplt )
379static MACHINE_CONFIG_START( timeplt, timeplt_state )
380380
381   /* driver data */
382   MDRV_DRIVER_DATA(timeplt_state)
383
384381   /* basic machine hardware */
385382   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/3/2)   /* not confirmed, but common for Konami games of the era */
386383   MDRV_CPU_PROGRAM_MAP(timeplt_main_map)
r9191r9192
406403   MDRV_VIDEO_UPDATE(timeplt)
407404
408405   /* sound hardware */
409   MDRV_IMPORT_FROM(timeplt_sound)
410MACHINE_DRIVER_END
406   MDRV_FRAGMENT_ADD(timeplt_sound)
407MACHINE_CONFIG_END
411408
412409
413static MACHINE_DRIVER_START( psurge )
414   MDRV_IMPORT_FROM(timeplt)
410static MACHINE_CONFIG_DERIVED( psurge, timeplt )
415411
416412   /* basic machine hardware */
417413   MDRV_CPU_MODIFY("maincpu")
r9191r9192
420416
421417   MDRV_MACHINE_START(common)
422418   MDRV_MACHINE_RESET(0)
423MACHINE_DRIVER_END
419MACHINE_CONFIG_END
424420
425static MACHINE_DRIVER_START( chkun )
426   MDRV_IMPORT_FROM(timeplt)
421static MACHINE_CONFIG_DERIVED( chkun, timeplt )
427422
428423   /* basic machine hardware */
429424   MDRV_CPU_MODIFY("maincpu")
430425   MDRV_CPU_PROGRAM_MAP(chkun_main_map)
431426
432427   MDRV_VIDEO_START(chkun)
433MACHINE_DRIVER_END
428MACHINE_CONFIG_END
434429
435430/*************************************
436431 *
src/mame/drivers/atarigx2.c
r9191r9192
11531153   AM_RANGE(0xc80000, 0xc80fff) AM_RAM
11541154   AM_RANGE(0xca0000, 0xca0fff) AM_READWRITE(atarigx2_protection_r, atarigx2_protection_w) AM_BASE_MEMBER(atarigx2_state, protection_base)
11551155   AM_RANGE(0xd00000, 0xd1ffff) AM_READ(a2d_data_r)
1156   AM_RANGE(0xd20000, 0xd20fff) AM_READWRITE(atarigen_eeprom_upper32_r, atarigen_eeprom32_w) AM_BASE_SIZE_MEMBER(atarigx2_state, eeprom, eeprom_size)
1156   AM_RANGE(0xd20000, 0xd20fff) AM_READWRITE(atarigen_eeprom_upper32_r, atarigen_eeprom32_w) AM_SHARE("eeprom")
11571157   AM_RANGE(0xd40000, 0xd40fff) AM_RAM_WRITE(atarigen_666_paletteram32_w) AM_BASE_GENERIC(paletteram)
11581158   AM_RANGE(0xd72000, 0xd75fff) AM_WRITE(atarigen_playfield32_w) AM_BASE_MEMBER(atarigx2_state, playfield32)
11591159   AM_RANGE(0xd76000, 0xd76fff) AM_WRITE(atarigen_alpha32_w) AM_BASE_MEMBER(atarigx2_state, alpha32)
r9191r9192
13881388 *
13891389 *************************************/
13901390
1391static MACHINE_DRIVER_START( atarigx2 )
1392   MDRV_DRIVER_DATA(atarigx2_state)
1391static MACHINE_CONFIG_START( atarigx2, atarigx2_state )
13931392
13941393   /* basic machine hardware */
13951394   MDRV_CPU_ADD("maincpu", M68EC020, ATARI_CLOCK_14MHz)
r9191r9192
13981397
13991398   MDRV_MACHINE_START(atarigx2)
14001399   MDRV_MACHINE_RESET(atarigx2)
1401   MDRV_NVRAM_HANDLER(atarigen)
1400   MDRV_NVRAM_ADD_1FILL("eeprom")
14021401
14031402   /* video hardware */
14041403   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
14161415   MDRV_VIDEO_UPDATE(atarigx2)
14171416
14181417   /* sound hardware */
1419   MDRV_IMPORT_FROM(jsa_iiis_stereo)
1420MACHINE_DRIVER_END
1418   MDRV_FRAGMENT_ADD(jsa_iiis_stereo)
1419MACHINE_CONFIG_END
14211420
14221421
14231422
src/mame/drivers/nwk-tr.c
r9191r9192
652652   cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
653653}
654654
655static MACHINE_DRIVER_START( nwktr )
655static MACHINE_CONFIG_START( nwktr, driver_device )
656656
657657   /* basic machine hardware */
658658   MDRV_CPU_ADD("maincpu", PPC403GA, 64000000/2)   /* PowerPC 403GA 32MHz */
r9191r9192
702702   MDRV_M48T58_ADD( "m48t58" )
703703
704704   MDRV_ADC12138_ADD( "adc12138", nwktr_adc_interface )
705MACHINE_DRIVER_END
705MACHINE_CONFIG_END
706706
707static MACHINE_DRIVER_START( thrilld )
708   MDRV_IMPORT_FROM(nwktr)
707static MACHINE_CONFIG_DERIVED( thrilld, nwktr )
709708
710709   MDRV_DEVICE_REMOVE("k001604")
711710   MDRV_K001604_ADD("k001604", thrilld_k001604_intf)
712MACHINE_DRIVER_END
711MACHINE_CONFIG_END
713712
714713
715714/*****************************************************************************/
src/mame/drivers/circus.c
r9191r9192
287287}
288288
289289
290static MACHINE_DRIVER_START( circus )
290static MACHINE_CONFIG_START( circus, circus_state )
291291
292   /* driver data */
293   MDRV_DRIVER_DATA(circus_state)
294
295292   /* basic machine hardware */
296293   MDRV_CPU_ADD("maincpu", M6502, XTAL_11_289MHz / 16) /* 705.562kHz */
297294   MDRV_CPU_PROGRAM_MAP(circus_map)
r9191r9192
325322   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
326323   MDRV_SOUND_CONFIG_DISCRETE(circus)
327324   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
328MACHINE_DRIVER_END
325MACHINE_CONFIG_END
329326
330327
331static MACHINE_DRIVER_START( robotbwl )
328static MACHINE_CONFIG_START( robotbwl, circus_state )
332329
333330   /* basic machine hardware */
334331   MDRV_CPU_ADD("maincpu", M6502, XTAL_11_289MHz / 16) /* 705.562kHz */
335332
336333   /* driver data */
337   MDRV_DRIVER_DATA(circus_state)
338334   MDRV_CPU_PROGRAM_MAP(circus_map)
339335   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
340336
r9191r9192
366362   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
367363   MDRV_SOUND_CONFIG_DISCRETE(robotbwl)
368364   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
369MACHINE_DRIVER_END
365MACHINE_CONFIG_END
370366
371static MACHINE_DRIVER_START( crash )
367static MACHINE_CONFIG_START( crash, circus_state )
372368
373   /* driver data */
374   MDRV_DRIVER_DATA(circus_state)
375
376369   /* basic machine hardware */
377370   MDRV_CPU_ADD("maincpu", M6502, XTAL_11_289MHz / 16) /* 705.562kHz */
378371   MDRV_CPU_PROGRAM_MAP(circus_map)
r9191r9192
406399   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
407400   MDRV_SOUND_CONFIG_DISCRETE(crash)
408401   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
409MACHINE_DRIVER_END
402MACHINE_CONFIG_END
410403
411static MACHINE_DRIVER_START( ripcord )
404static MACHINE_CONFIG_START( ripcord, circus_state )
412405
413   /* driver data */
414   MDRV_DRIVER_DATA(circus_state)
415
416406   /* basic machine hardware */
417407   MDRV_CPU_ADD("maincpu", M6502, XTAL_11_289MHz / 16) /* 705.562kHz */
418408   MDRV_CPU_PROGRAM_MAP(circus_map)
r9191r9192
446436   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
447437   MDRV_SOUND_CONFIG_DISCRETE(circus)
448438   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
449MACHINE_DRIVER_END
439MACHINE_CONFIG_END
450440
451441
452442
src/mame/drivers/zac2650.c
r9191r9192
1313#include "sound/s2636.h"
1414
1515#include "tinv2650.lh"
16#include "includes/zac2650.h"
1617
17extern UINT8 *zac2650_s2636_0_ram;
18WRITE8_HANDLER( tinvader_videoram_w );
1918static WRITE8_HANDLER( tinvader_sound_w );
20READ8_HANDLER( zac_s2636_r );
21WRITE8_HANDLER( zac_s2636_w );
22READ8_HANDLER( tinvader_port_0_r );
2319
24VIDEO_START( tinvader );
25VIDEO_UPDATE( tinvader );
26
2720static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
2821   AM_RANGE(0x0000, 0x17ff) AM_ROM
29   AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(tinvader_videoram_w) AM_BASE_GENERIC(videoram)
22   AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(tinvader_videoram_w) AM_BASE_MEMBER(zac2650_state, videoram)
3023   AM_RANGE(0x1c00, 0x1cff) AM_RAM
3124   AM_RANGE(0x1d00, 0x1dff) AM_RAM
3225   AM_RANGE(0x1e80, 0x1e80) AM_READWRITE(tinvader_port_0_r, tinvader_sound_w)
r9191r9192
238231   GFXDECODE_SCALE( NULL,   0x1F00, s2636_character, 0, 2, 8, 6 )   /* dynamic */
239232GFXDECODE_END
240233
241static MACHINE_DRIVER_START( tinvader )
234static MACHINE_CONFIG_START( tinvader, zac2650_state )
242235
243236   /* basic machine hardware */
244237   MDRV_CPU_ADD("maincpu", S2650, 3800000/4)
r9191r9192
263256   /* sound hardware */
264257   MDRV_SPEAKER_STANDARD_MONO("mono")
265258
266   MDRV_SOUND_ADD("s2636snd", S2636, 0)
259   MDRV_SOUND_ADD("s2636snd", S2636_SOUND, 0)
267260   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
268MACHINE_DRIVER_END
261MACHINE_CONFIG_END
269262
270263static WRITE8_HANDLER( tinvader_sound_w )
271264{
src/mame/drivers/taotaido.c
r9191r9192
330330   irqhandler
331331};
332332
333static MACHINE_DRIVER_START( taotaido )
333static MACHINE_CONFIG_START( taotaido, driver_device )
334334   MDRV_CPU_ADD("maincpu", M68000, 32000000/2)
335335   MDRV_CPU_PROGRAM_MAP(main_map)
336336   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
r9191r9192
364364   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
365365   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
366366   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
367MACHINE_DRIVER_END
367MACHINE_CONFIG_END
368368
369369
370370ROM_START( taotaido )
src/mame/drivers/relief.c
r9191r9192
150150   ADDRESS_MAP_GLOBAL_MASK(0x3fffff)
151151   AM_RANGE(0x000000, 0x07ffff) AM_ROM
152152   AM_RANGE(0x140000, 0x140003) AM_DEVWRITE8("ymsnd", ym2413_w, 0x00ff)
153   AM_RANGE(0x140010, 0x140011) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)
153   AM_RANGE(0x140010, 0x140011) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
154154   AM_RANGE(0x140020, 0x140021) AM_WRITE(audio_volume_w)
155155   AM_RANGE(0x140030, 0x140031) AM_WRITE(audio_control_w)
156   AM_RANGE(0x180000, 0x180fff) AM_READWRITE(atarigen_eeprom_upper_r, atarigen_eeprom_w) AM_BASE_SIZE_MEMBER(relief_state, eeprom, eeprom_size)
156   AM_RANGE(0x180000, 0x180fff) AM_READWRITE(atarigen_eeprom_upper_r, atarigen_eeprom_w) AM_SHARE("eeprom")
157157   AM_RANGE(0x1c0030, 0x1c0031) AM_WRITE(atarigen_eeprom_enable_w)
158158   AM_RANGE(0x260000, 0x260001) AM_READ_PORT("260000")
159159   AM_RANGE(0x260002, 0x260003) AM_READ_PORT("260002")
r9191r9192
293293 *
294294 *************************************/
295295
296static MACHINE_DRIVER_START( relief )
297   MDRV_DRIVER_DATA(relief_state)
296static MACHINE_CONFIG_START( relief, relief_state )
298297
299298   /* basic machine hardware */
300299   MDRV_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2)
r9191r9192
302301
303302   MDRV_MACHINE_START(relief)
304303   MDRV_MACHINE_RESET(relief)
305   MDRV_NVRAM_HANDLER(atarigen)
304   MDRV_NVRAM_ADD_1FILL("eeprom")
306305
307306   /* video hardware */
308307   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
326325
327326   MDRV_SOUND_ADD("ymsnd", YM2413, ATARI_CLOCK_14MHz/4)
328327   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
329MACHINE_DRIVER_END
328MACHINE_CONFIG_END
330329
331330
332331
r9191r9192
354353   ROM_LOAD( "136093-0030a.9b",  0x100000, 0x80000, CRC(f4c567f5) SHA1(7e8c1d54d918b0b41625eacbaf6dcb5bd99d1949) )
355354   ROM_LOAD( "136093-0031a.10b", 0x180000, 0x80000, CRC(ba908d73) SHA1(a83afd86f4c39394cf624b728a87b8d8b6de1944) )
356355
356   ROM_REGION( 0x1000, "eeprom", 0 )
357   ROM_LOAD( "relief-eeprom.bin", 0x0000, 0x1000, CRC(71090711) SHA1(fc516dd84635e544c5f89640f77645e4a7d5bcc0) )
358
357359   ROM_REGION( 0x001000, "plds", 0 )
358360   ROM_LOAD( "gal16v8a-136093-0002.15f", 0x0000, 0x0117, CRC(b111d5f2) SHA1(0fe5b4ca786e839e6927a485109d33fe31c737a2) )
359361   ROM_LOAD( "gal16v8a-136093-0003.11r", 0x0200, 0x0117, CRC(67165ed2) SHA1(c7d9b9c45dd34e588c3db4e23c9c562334d2172a) )
r9191r9192
383385   ROM_LOAD( "136093-0030a.9b",  0x100000, 0x80000, CRC(f4c567f5) SHA1(7e8c1d54d918b0b41625eacbaf6dcb5bd99d1949) )
384386   ROM_LOAD( "136093-0031a.10b", 0x180000, 0x80000, CRC(ba908d73) SHA1(a83afd86f4c39394cf624b728a87b8d8b6de1944) )
385387
388   ROM_REGION( 0x1000, "eeprom", 0 )
389   ROM_LOAD( "relief2-eeprom.bin", 0x0000, 0x1000, CRC(6cd70719) SHA1(1bbc52924931b68a546c85f689419200a4b6547b) )
390
386391   ROM_REGION( 0x001000, "plds", 0 )
387392   ROM_LOAD( "gal16v8a-136093-0002.15f", 0x0000, 0x0117, CRC(b111d5f2) SHA1(0fe5b4ca786e839e6927a485109d33fe31c737a2) )
388393   ROM_LOAD( "gal16v8a-136093-0003.11r", 0x0200, 0x0117, CRC(67165ed2) SHA1(c7d9b9c45dd34e588c3db4e23c9c562334d2172a) )
r9191r9192
402407 *
403408 *************************************/
404409
405static void init_common(running_machine *machine, const UINT16 *def_eeprom)
410static DRIVER_INIT( relief )
406411{
407   relief_state *state = machine->driver_data<relief_state>();
408412   UINT8 *sound_base = memory_region(machine, "oki");
409413
410   state->eeprom_default = def_eeprom;
411
412414   /* expand the ADPCM data to avoid lots of memcpy's during gameplay */
413415   /* the upper 128k is fixed, the lower 128k is bankswitched */
414416   memcpy(&sound_base[0x000000], &sound_base[0x100000], 0x20000);
r9191r9192
430432}
431433
432434
433static DRIVER_INIT( relief )
434{
435   static const UINT16 default_eeprom[] =
436   {
437      0x0001,0x0166,0x0128,0x01E6,0x0100,0x012C,0x0300,0x0144,
438      0x0700,0x01C0,0x2F00,0x01EC,0x0B00,0x0148,0x0140,0x0100,
439      0x0124,0x0188,0x0120,0x0600,0x0196,0x013C,0x0192,0x0150,
440      0x0166,0x0128,0x01E6,0x0100,0x012C,0x0300,0x0144,0x0700,
441      0x01C0,0x2F00,0x01EC,0x0B00,0x0148,0x0140,0x0100,0x0124,
442      0x0188,0x0120,0x0600,0x0196,0x013C,0x0192,0x0150,0xFF00,
443      0x9500,0x0000
444   };
445   init_common(machine, default_eeprom);
446}
447435
448
449static DRIVER_INIT( relief2 )
450{
451   static const UINT16 default_eeprom[] =
452   {
453      0x0001,0x01FD,0x019F,0x015E,0x01FF,0x019E,0x03FF,0x015F,
454      0x07FF,0x01FD,0x12FF,0x01FC,0x01FB,0x07FF,0x01F7,0x01FF,
455      0x01DF,0x02FF,0x017F,0x03FF,0x0300,0x0110,0x0300,0x0140,
456      0x0300,0x018E,0x0400,0x0180,0x0101,0x0300,0x0180,0x0204,
457      0x0120,0x0182,0x0100,0x0102,0x0600,0x01D5,0x0138,0x0192,
458      0x0150,0x01FD,0x019F,0x015E,0x01FF,0x019E,0x03FF,0x015F,
459      0x07FF,0x01FD,0x12FF,0x01FC,0x01FB,0x07FF,0x01F7,0x01FF,
460      0x01DF,0x02FF,0x017F,0x03FF,0x0300,0x0110,0x0300,0x0140,
461      0x0300,0x018E,0x0400,0x0180,0x0101,0x0300,0x0180,0x0204,
462      0x0120,0x0182,0x0100,0x0102,0x0600,0x01D5,0x0138,0x0192,
463      0x0150,0xE600,0x01C3,0x019D,0x0131,0x0100,0x0116,0x0100,
464      0x010A,0x0190,0x010E,0x014A,0x0200,0x010B,0x018D,0x0121,
465      0x0100,0x0145,0x0100,0x0109,0x0184,0x012C,0x0200,0x0107,
466      0x01AA,0x0149,0x60FF,0x3300,0x0000
467   };
468   init_common(machine, default_eeprom);
469}
470
471
472
473436/*************************************
474437 *
475438 *  Game driver(s)
476439 *
477440 *************************************/
478441
479GAME( 1992, relief,  0,      relief, relief, relief,  ROT0, "Atari Games", "Relief Pitcher (set 1)", 0 )
480GAME( 1992, relief2, relief, relief, relief, relief2, ROT0, "Atari Games", "Relief Pitcher (set 2)", 0 )
442GAME( 1992, relief,  0,      relief, relief, relief, ROT0, "Atari Games", "Relief Pitcher (set 1)", 0 )
443GAME( 1992, relief2, relief, relief, relief, relief, ROT0, "Atari Games", "Relief Pitcher (set 2)", 0 )
src/mame/drivers/taito_f3.c
r9191r9192
158158   AM_RANGE(0x4a0000, 0x4a001f) AM_READWRITE(f3_control_r,  f3_control_w)
159159   AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
160160   AM_RANGE(0x610000, 0x61bfff) AM_RAM_WRITE(f3_pf_data_w) AM_BASE(&f3_pf_data)
161   AM_RANGE(0x61c000, 0x61dfff) AM_RAM_WRITE(f3_videoram_w) AM_BASE_GENERIC(videoram)
161   AM_RANGE(0x61c000, 0x61dfff) AM_RAM_WRITE(f3_videoram_w) AM_BASE_MEMBER(taito_f3_state, videoram)
162162   AM_RANGE(0x61e000, 0x61ffff) AM_RAM_WRITE(f3_vram_w) AM_BASE(&f3_vram)
163163   AM_RANGE(0x620000, 0x62ffff) AM_RAM_WRITE(f3_lineram_w) AM_BASE(&f3_line_ram)
164164   AM_RANGE(0x630000, 0x63ffff) AM_RAM_WRITE(f3_pivot_w) AM_BASE(&f3_pivot_ram)
r9191r9192
373373}
374374
375375
376static const UINT8 recalh_eeprom[128] =   {
377   0x85,0x54,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf3,0x35,
378   0x00,0x01,0x86,0xa0,0x00,0x13,0x04,0x13,0x00,0x00,0xc3,0x50,0x00,0x19,0x00,0x0a,
379   0x00,0x00,0x4e,0x20,0x00,0x03,0x18,0x0d,0x00,0x00,0x27,0x10,0x00,0x05,0x14,0x18,
380   0x00,0x00,0x13,0x88,0x00,0x00,0x12,0x27,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
381   0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
382   0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
383   0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
384   0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
376static const UINT16 recalh_eeprom[64] =   {
377   0x8554,0x0000,0x3000,0x0000,0x0000,0x0000,0x0000,0xf335,
378   0x0001,0x86a0,0x0013,0x0413,0x0000,0xc350,0x0019,0x000a,
379   0x0000,0x4e20,0x0003,0x180d,0x0000,0x2710,0x0005,0x1418,
380   0x0000,0x1388,0x0000,0x1227,0xffff,0xffff,0xffff,0xffff,
381   0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
382   0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
383   0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,
384   0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff
385385};
386386
387387static MACHINE_START(f3)
r9191r9192
389389   state_save_register_global_array(machine, coin_word);
390390}
391391
392static MACHINE_DRIVER_START( f3 )
392static MACHINE_CONFIG_START( f3, taito_f3_state )
393393
394394   /* basic machine hardware */
395395   MDRV_CPU_ADD("maincpu", M68EC020, XTAL_16MHz)
r9191r9192
416416   MDRV_VIDEO_UPDATE(f3)
417417
418418   /* sound hardware */
419   MDRV_IMPORT_FROM(taito_f3_sound)
419   MDRV_FRAGMENT_ADD(taito_f3_sound)
420420   MDRV_SOUND_RESET(f3)
421MACHINE_DRIVER_END
421MACHINE_CONFIG_END
422422
423423/* These games reprogram the video output registers to display different scanlines,
424424 we can't change our screen display at runtime, so we do it here instead.  None
425425 of the games change the registers during the game (to do so would probably require
426426 monitor recalibration.)
427427*/
428static MACHINE_DRIVER_START( f3_224a )
429   MDRV_IMPORT_FROM(f3)
428static MACHINE_CONFIG_DERIVED( f3_224a, f3 )
430429   MDRV_SCREEN_MODIFY("screen")
431430   MDRV_SCREEN_VISIBLE_AREA(46, 40*8-1 + 46, 31, 31+224-1)
432MACHINE_DRIVER_END
431MACHINE_CONFIG_END
433432
434static MACHINE_DRIVER_START( f3_224b )
435   MDRV_IMPORT_FROM(f3)
433static MACHINE_CONFIG_DERIVED( f3_224b, f3 )
436434   MDRV_SCREEN_MODIFY("screen")
437435   MDRV_SCREEN_VISIBLE_AREA(46, 40*8-1 + 46, 32, 32+224-1)
438MACHINE_DRIVER_END
436MACHINE_CONFIG_END
439437
440static MACHINE_DRIVER_START( f3_224c )
441   MDRV_IMPORT_FROM(f3)
438static MACHINE_CONFIG_DERIVED( f3_224c, f3 )
442439   MDRV_SCREEN_MODIFY("screen")
443440   MDRV_SCREEN_VISIBLE_AREA(46, 40*8-1 + 46, 24, 24+224-1)
444MACHINE_DRIVER_END
441MACHINE_CONFIG_END
445442
446443/* recalh and gseeker need a default EEPROM to work */
447static MACHINE_DRIVER_START( f3_eeprom )
448   MDRV_IMPORT_FROM(f3)
444static MACHINE_CONFIG_DERIVED( f3_eeprom, f3 )
449445
450446   MDRV_DEVICE_REMOVE("eeprom")
451447   MDRV_EEPROM_93C46_ADD("eeprom")
452448   MDRV_EEPROM_DATA(recalh_eeprom, 128)
453MACHINE_DRIVER_END
449MACHINE_CONFIG_END
454450
455static MACHINE_DRIVER_START( f3_224b_eeprom )
456   MDRV_IMPORT_FROM(f3)
451static MACHINE_CONFIG_DERIVED( f3_224b_eeprom, f3 )
457452
458453   MDRV_DEVICE_REMOVE("eeprom")
459454   MDRV_EEPROM_93C46_ADD("eeprom")
460455   MDRV_EEPROM_DATA(recalh_eeprom, 128)
461MACHINE_DRIVER_END
456MACHINE_CONFIG_END
462457
463458static const gfx_layout bubsympb_sprite_layout =
464459{
r9191r9192
490485   GFXDECODE_ENTRY( NULL,           0x000000, pivotlayout,         0,  64 ) /* Dynamically modified */
491486GFXDECODE_END
492487
493static MACHINE_DRIVER_START( bubsympb )
488static MACHINE_CONFIG_START( bubsympb, taito_f3_state )
494489   /* basic machine hardware */
495490   MDRV_CPU_ADD("maincpu", M68EC020, XTAL_16MHz)
496491   MDRV_CPU_PROGRAM_MAP(f3_map)
r9191r9192
520515
521516   MDRV_OKIM6295_ADD("oki", 1000000 , OKIM6295_PIN7_HIGH) // not verified
522517   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
523MACHINE_DRIVER_END
518MACHINE_CONFIG_END
524519
525520/******************************************************************************/
526521
r9191r9192
36483643}
36493644
36503645
3651static READ32_DEVICE_HANDLER( bubsympb_oki_r )
3646static READ32_HANDLER( bubsympb_oki_r )
36523647{
3653   return okim6295_r(device,0);
3648   return space->machine->device<okim6295_device>("oki")->read(*space,0);
36543649}
3655static WRITE32_DEVICE_HANDLER( bubsympb_oki_w )
3650static WRITE32_HANDLER( bubsympb_oki_w )
36563651{
36573652   //printf("write %08x %08x\n",data,mem_mask);
3658   if (ACCESSING_BITS_0_7) okim6295_w(device,0,data&0xff);
3659   //if (mem_mask==0x000000ff) okim6295_w(device,0,data&0xff);
3653   if (ACCESSING_BITS_0_7) space->machine->device<okim6295_device>("oki")->write(*space, 0,data&0xff);
3654   //if (mem_mask==0x000000ff) downcast<okim6295_device *>(device)->write(0,data&0xff);
36603655   if (ACCESSING_BITS_16_23)
36613656   {
3662      UINT8 *snd = memory_region(device->machine, "oki");
3657      UINT8 *snd = memory_region(space->machine, "oki");
36633658      int bank = (data & 0x000f0000) >> 16;
36643659      // almost certainly wrong
36653660      memcpy(snd+0x30000, snd+0x80000+0x30000+bank*0x10000, 0x10000);
r9191r9192
36733668
36743669static DRIVER_INIT( bubsympb )
36753670{
3676   running_device *oki = machine->device("oki");
36773671   f3_game=BUBSYMPH;
36783672   //tile_decode(machine);
36793673
r9191r9192
36963690      }
36973691   }
36983692
3699   memory_install_read32_device_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), oki, 0x4a001c, 0x4a001f, 0, 0, bubsympb_oki_r );
3700   memory_install_write32_device_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), oki, 0x4a001c, 0x4a001f, 0, 0, bubsympb_oki_w );
3693   memory_install_read32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x4a001c, 0x4a001f, 0, 0, bubsympb_oki_r );
3694   memory_install_write32_handler(cputag_get_address_space(machine, "maincpu", ADDRESS_SPACE_PROGRAM), 0x4a001c, 0x4a001f, 0, 0, bubsympb_oki_w );
37013695}
37023696
37033697
src/mame/drivers/jpmsys5.c
r9191r9192
2424#include "sound/2413intf.h"
2525#include "sound/upd7759.h"
2626#include "video/tms34061.h"
27#include "machine/nvram.h"
2728
2829
2930/*************************************
r9191r9192
282283   AM_RANGE(0x000000, 0x01ffff) AM_ROM
283284   AM_RANGE(0x01fffe, 0x01ffff) AM_WRITE(rombank_w)
284285   AM_RANGE(0x020000, 0x03ffff) AM_ROMBANK("bank1")
285   AM_RANGE(0x040000, 0x043fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
286   AM_RANGE(0x040000, 0x043fff) AM_RAM AM_SHARE("nvram")
286287   AM_RANGE(0x046000, 0x046001) AM_WRITENOP
287288   AM_RANGE(0x046020, 0x046021) AM_DEVREADWRITE8("acia6850_0", acia6850_stat_r, acia6850_ctrl_w, 0xff)
288289   AM_RANGE(0x046022, 0x046023) AM_DEVREADWRITE8("acia6850_0", acia6850_data_r, acia6850_data_w, 0xff)
r9191r9192
594595 *
595596 *************************************/
596597
597static MACHINE_DRIVER_START( jpmsys5v )
598static MACHINE_CONFIG_START( jpmsys5v, driver_device )
598599   MDRV_CPU_ADD("maincpu", M68000, 8000000)
599600   MDRV_CPU_PROGRAM_MAP(68000_map)
600601
r9191r9192
602603   MDRV_ACIA6850_ADD("acia6850_1", acia1_if)
603604   MDRV_ACIA6850_ADD("acia6850_2", acia2_if)
604605
605   MDRV_NVRAM_HANDLER(generic_0fill)
606   MDRV_NVRAM_ADD_0FILL("nvram")
606607
607608   MDRV_MACHINE_START(jpmsys5v)
608609   MDRV_MACHINE_RESET(jpmsys5v)
r9191r9192
627628
628629   /* 6840 PTM */
629630   MDRV_PTM6840_ADD("6840ptm", ptm_intf)
630MACHINE_DRIVER_END
631MACHINE_CONFIG_END
631632
632633
633634/*************************************
src/mame/drivers/gaelco2.c
r9191r9192
155155   { 0*0x0080000, 1*0x0080000, 0, 0 },      /* start of each ROM bank */
156156};
157157
158static MACHINE_DRIVER_START( maniacsq )
158static MACHINE_CONFIG_START( maniacsq, driver_device )
159159   /* basic machine hardware */
160160   MDRV_CPU_ADD("maincpu", M68000, 26000000/2)      /* 13 MHz? */
161161   MDRV_CPU_PROGRAM_MAP(maniacsq_map)
r9191r9192
185185   MDRV_SOUND_CONFIG(maniacsq_snd_interface)
186186   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
187187   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
188MACHINE_DRIVER_END
188MACHINE_CONFIG_END
189189
190190
191191ROM_START( maniacsq )
r9191r9192
287287//  "*10010xxxxxx", /* erase all */
288288};
289289
290static MACHINE_DRIVER_START( bang )
290static MACHINE_CONFIG_START( bang, driver_device )
291291   /* basic machine hardware */
292292   MDRV_CPU_ADD("maincpu", M68000, 30000000/2)         /* 15 MHz */
293293   MDRV_CPU_PROGRAM_MAP(bang_map)
r9191r9192
319319   MDRV_SOUND_CONFIG(bang_snd_interface)
320320   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
321321   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
322MACHINE_DRIVER_END
322MACHINE_CONFIG_END
323323
324324
325325/*
r9191r9192
531531   { 0*0x0400000, 1*0x0400000, 2*0x0400000, 3*0x0400000 }   /* start of each ROM bank */
532532};
533533
534static MACHINE_DRIVER_START( alighunt )
534static MACHINE_CONFIG_START( alighunt, driver_device )
535535   /* basic machine hardware */
536536   MDRV_CPU_ADD("maincpu", M68000, 24000000/2)         /* 12 MHz */
537537   MDRV_CPU_PROGRAM_MAP(alighunt_map)
r9191r9192
561561   MDRV_SOUND_CONFIG(alighunt_snd_interface)
562562   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
563563   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
564MACHINE_DRIVER_END
564MACHINE_CONFIG_END
565565
566566
567567/*
r9191r9192
774774   { 0*0x0400000, 1*0x0400000, 0, 0 }      /* start of each ROM bank */
775775};
776776
777static MACHINE_DRIVER_START( touchgo )
777static MACHINE_CONFIG_START( touchgo, driver_device )
778778   /* basic machine hardware */
779779   MDRV_CPU_ADD("maincpu", M68000, 32000000/2)         /* 16 MHz */
780780   MDRV_CPU_PROGRAM_MAP(touchgo_map)
r9191r9192
812812   MDRV_SOUND_CONFIG(touchgo_snd_interface)
813813   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
814814   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
815MACHINE_DRIVER_END
815MACHINE_CONFIG_END
816816
817817/*
818818PCB Layout:
r9191r9192
967967   { 0*0x0400000, 1*0x0400000, 0, 0 }      /* start of each ROM bank */
968968};
969969
970static MACHINE_DRIVER_START( snowboar )
970static MACHINE_CONFIG_START( snowboar, driver_device )
971971   /* basic machine hardware */
972972   MDRV_CPU_ADD("maincpu", M68000, 30000000/2)         /* 15 MHz */
973973   MDRV_CPU_PROGRAM_MAP(snowboar_map)
r9191r9192
999999   MDRV_SOUND_CONFIG(snowboar_snd_interface)
10001000   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
10011001   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1002MACHINE_DRIVER_END
1002MACHINE_CONFIG_END
10031003
10041004
10051005/*
r9191r9192
12091209   { 0*0x0200000, 1*0x0200000, 0, 0 }   /* start of each ROM bank */
12101210};
12111211
1212static MACHINE_DRIVER_START( wrally2 )
1212static MACHINE_CONFIG_START( wrally2, driver_device )
12131213   /* basic machine hardware */
12141214   MDRV_CPU_ADD("maincpu", M68000, 26000000/2)         /* 13 MHz */
12151215   MDRV_CPU_PROGRAM_MAP(wrally2_map)
r9191r9192
12501250   MDRV_SOUND_CONFIG(wrally2_snd_interface)
12511251   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
12521252   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1253MACHINE_DRIVER_END
1253MACHINE_CONFIG_END
12541254
12551255/*
12561256PCB Layout:
src/mame/drivers/homerun.c
r9191r9192
218218   state->xpc = 0;
219219}
220220
221static MACHINE_DRIVER_START( homerun )
221static MACHINE_CONFIG_START( homerun, homerun_state )
222222
223   /* driver data */
224   MDRV_DRIVER_DATA(homerun_state)
225
226223   /* basic machine hardware */
227224   MDRV_CPU_ADD("maincpu", Z80, 5000000)
228225   MDRV_CPU_PROGRAM_MAP(homerun_memmap)
r9191r9192
254251   MDRV_SOUND_CONFIG(ym2203_config)
255252   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
256253
257MACHINE_DRIVER_END
254MACHINE_CONFIG_END
258255
259256
260257/*
src/mame/drivers/champbas.c
r9191r9192
597597}
598598
599599
600static MACHINE_DRIVER_START( talbot )
600static MACHINE_CONFIG_START( talbot, champbas_state )
601601
602   /* driver data */
603   MDRV_DRIVER_DATA(champbas_state)
604
605602   /* basic machine hardware */
606603   MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6)
607604   MDRV_CPU_PROGRAM_MAP(talbot_map)
r9191r9192
633630   MDRV_SPEAKER_STANDARD_MONO("mono")
634631   MDRV_SOUND_ADD("aysnd", AY8910, XTAL_18_432MHz/12)
635632   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
636MACHINE_DRIVER_END
633MACHINE_CONFIG_END
637634
638635
639static MACHINE_DRIVER_START( champbas )
636static MACHINE_CONFIG_START( champbas, champbas_state )
640637
641   /* driver data */
642   MDRV_DRIVER_DATA(champbas_state)
643
644638   /* basic machine hardware */
645639   /* main cpu */
646640   MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6)
r9191r9192
676670
677671   MDRV_SOUND_ADD("dac", DAC, 0)
678672   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
679MACHINE_DRIVER_END
673MACHINE_CONFIG_END
680674
681675
682static MACHINE_DRIVER_START( champmcu )
676static MACHINE_CONFIG_DERIVED( champmcu, champbas )
677
683678   /* basic machine hardware */
684   MDRV_IMPORT_FROM(champbas)
685679
686680   /* MCU */
687681   MDRV_CPU_ADD(CPUTAG_MCU, ALPHA8201, XTAL_18_432MHz/6/8)
r9191r9192
689683
690684   /* to MCU timeout champbbj */
691685   MDRV_QUANTUM_TIME(HZ(3000))
692MACHINE_DRIVER_END
686MACHINE_CONFIG_END
693687
694688
695static MACHINE_DRIVER_START( exctsccr )
689static MACHINE_CONFIG_START( exctsccr, champbas_state )
696690
697   /* driver data */
698   MDRV_DRIVER_DATA(champbas_state)
699
700691   /* basic machine hardware */
701692   MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6 )
702693   MDRV_CPU_PROGRAM_MAP(exctsccr_main_map)
r9191r9192
750741
751742   MDRV_SOUND_ADD("dac2", DAC, 0)
752743   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
753MACHINE_DRIVER_END
744MACHINE_CONFIG_END
754745
755746/* Bootleg running on a modified Champion Baseball board */
756static MACHINE_DRIVER_START( exctsccrb )
747static MACHINE_CONFIG_START( exctsccrb, champbas_state )
757748
758   /* driver data */
759   MDRV_DRIVER_DATA(champbas_state)
760
761749   /* basic machine hardware */
762750   MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6)
763751   MDRV_CPU_PROGRAM_MAP(exctsccrb_main_map)
r9191r9192
792780
793781   MDRV_SOUND_ADD("dac", DAC, 0)
794782   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
795MACHINE_DRIVER_END
783MACHINE_CONFIG_END
796784
797785
798786
src/mame/drivers/ssozumo.c
r9191r9192
1212#include "cpu/m6809/m6809.h"
1313#include "sound/ay8910.h"
1414#include "sound/dac.h"
15#include "includes/ssozumo.h"
1516
16extern UINT8 *ssozumo_videoram;
17extern UINT8 *ssozumo_colorram;
18extern UINT8 *ssozumo_videoram2;
19extern UINT8 *ssozumo_colorram2;
20
21extern WRITE8_HANDLER( ssozumo_videoram_w );
22extern WRITE8_HANDLER( ssozumo_colorram_w );
23extern WRITE8_HANDLER( ssozumo_videoram2_w );
24extern WRITE8_HANDLER( ssozumo_colorram2_w );
25extern WRITE8_HANDLER( ssozumo_paletteram_w );
26extern WRITE8_HANDLER( ssozumo_scroll_w );
27extern WRITE8_HANDLER( ssozumo_flipscreen_w );
28
29extern PALETTE_INIT( ssozumo );
30extern VIDEO_START( ssozumo );
31extern VIDEO_UPDATE( ssozumo );
32
3317static WRITE8_HANDLER( ssozumo_sh_command_w )
3418{
3519   soundlatch_w(space, 0, data);
r9191r9192
3923
4024static ADDRESS_MAP_START( ssozumo_map, ADDRESS_SPACE_PROGRAM, 8 )
4125   AM_RANGE(0x0000, 0x077f) AM_RAM
42   AM_RANGE(0x0780, 0x07ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
43   AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(ssozumo_videoram2_w) AM_BASE(&ssozumo_videoram2)
44   AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(ssozumo_colorram2_w) AM_BASE(&ssozumo_colorram2)
45   AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(ssozumo_videoram_w) AM_BASE(&ssozumo_videoram)
46   AM_RANGE(0x3200, 0x33ff) AM_RAM_WRITE(ssozumo_colorram_w) AM_BASE(&ssozumo_colorram)
26   AM_RANGE(0x0780, 0x07ff) AM_RAM AM_BASE_SIZE_MEMBER(ssozumo_state, spriteram, spriteram_size)
27   AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(ssozumo_videoram2_w) AM_BASE_MEMBER(ssozumo_state, videoram2)
28   AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(ssozumo_colorram2_w) AM_BASE_MEMBER(ssozumo_state, colorram2)
29   AM_RANGE(0x3000, 0x31ff) AM_RAM_WRITE(ssozumo_videoram_w) AM_BASE_MEMBER(ssozumo_state, videoram)
30   AM_RANGE(0x3200, 0x33ff) AM_RAM_WRITE(ssozumo_colorram_w) AM_BASE_MEMBER(ssozumo_state, colorram)
4731   AM_RANGE(0x3400, 0x35ff) AM_RAM
4832   AM_RANGE(0x3600, 0x37ff) AM_RAM
4933   AM_RANGE(0x4000, 0x4000) AM_READ_PORT("P1") AM_WRITE(ssozumo_flipscreen_w)
r9191r9192
5135   AM_RANGE(0x4020, 0x4020) AM_READ_PORT("DSW2") AM_WRITE(ssozumo_scroll_w)
5236   AM_RANGE(0x4030, 0x4030) AM_READ_PORT("DSW1")
5337//  AM_RANGE(0x4030, 0x4030) AM_WRITEONLY
54   AM_RANGE(0x4050, 0x407f) AM_RAM_WRITE(ssozumo_paletteram_w) AM_BASE_GENERIC(paletteram)
38   AM_RANGE(0x4050, 0x407f) AM_RAM_WRITE(ssozumo_paletteram_w) AM_BASE_MEMBER(ssozumo_state, paletteram)
5539   AM_RANGE(0x6000, 0xffff) AM_ROM
5640ADDRESS_MAP_END
5741
r9191r9192
189173GFXDECODE_END
190174
191175
192static MACHINE_DRIVER_START( ssozumo )
176static MACHINE_CONFIG_START( ssozumo, ssozumo_state )
193177
194178   /* basic machine hardware */
195179   MDRV_CPU_ADD("maincpu", M6502, 1200000)   /* 1.2 MHz ???? */
r9191r9192
226210
227211   MDRV_SOUND_ADD("dac", DAC, 0)
228212   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
229MACHINE_DRIVER_END
213MACHINE_CONFIG_END
230214
231215
232216
src/mame/drivers/m107.c
r9191r9192
435435
436436static const nec_config firebarr_config ={ rtypeleo_decryption_table, };
437437
438static MACHINE_DRIVER_START( firebarr )
438static MACHINE_CONFIG_START( firebarr, driver_device )
439439
440440   /* basic machine hardware */
441441   MDRV_CPU_ADD("maincpu", V33, 28000000/2)   /* NEC V33, 28MHz clock */
r9191r9192
474474   MDRV_SOUND_ADD("irem", IREMGA20, 14318180/4)
475475   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
476476   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
477MACHINE_DRIVER_END
477MACHINE_CONFIG_END
478478
479479static const nec_config dsoccr94_config ={ dsoccr94_decryption_table, };
480static MACHINE_DRIVER_START( dsoccr94 )
481   MDRV_IMPORT_FROM(firebarr)
480static MACHINE_CONFIG_DERIVED( dsoccr94, firebarr )
482481
483482   /* basic machine hardware */
484483   MDRV_CPU_MODIFY("maincpu")
r9191r9192
489488
490489   /* video hardware */
491490   MDRV_GFXDECODE(m107)
492MACHINE_DRIVER_END
491MACHINE_CONFIG_END
493492
494493
495494static const nec_config wpksoc_config ={ leagueman_decryption_table, };
496static MACHINE_DRIVER_START( wpksoc )
497   MDRV_IMPORT_FROM(firebarr)
495static MACHINE_CONFIG_DERIVED( wpksoc, firebarr )
498496   MDRV_CPU_MODIFY("soundcpu")
499497   MDRV_CPU_CONFIG(wpksoc_config)
500MACHINE_DRIVER_END
498MACHINE_CONFIG_END
501499
502500/***************************************************************************/
503501
src/mame/drivers/ninjaw.c
r9191r9192
797797   sound_global_enable(machine, 1);   /* mixer enabled */
798798}
799799
800static MACHINE_DRIVER_START( ninjaw )
800static MACHINE_CONFIG_START( ninjaw, ninjaw_state )
801801
802   /* driver data */
803   MDRV_DRIVER_DATA(ninjaw_state)
804
805802   /* basic machine hardware */
806803   MDRV_CPU_ADD("maincpu", M68000,16000000/2)   /* 8 MHz ? */
807804   MDRV_CPU_PROGRAM_MAP(ninjaw_master_map)
r9191r9192
881878//  MDRV_SOUND_ADD("subwoofer", SUBWOOFER, 0)
882879
883880   MDRV_TC0140SYT_ADD("tc0140syt", ninjaw_tc0140syt_intf)
884MACHINE_DRIVER_END
881MACHINE_CONFIG_END
885882
886883
887static MACHINE_DRIVER_START( darius2 )
884static MACHINE_CONFIG_START( darius2, ninjaw_state )
888885
889   /* driver data */
890   MDRV_DRIVER_DATA(ninjaw_state)
891
892886   /* basic machine hardware */
893887   MDRV_CPU_ADD("maincpu", M68000,16000000/2)   /* 8 MHz ? */
894888   MDRV_CPU_PROGRAM_MAP(darius2_master_map)
r9191r9192
968962//  MDRV_SOUND_ADD("subwoofer", SUBWOOFER, 0)
969963
970964   MDRV_TC0140SYT_ADD("tc0140syt", ninjaw_tc0140syt_intf)
971MACHINE_DRIVER_END
965MACHINE_CONFIG_END
972966
973967
974968/***************************************************************************
src/mame/drivers/arkanoid.c
r9191r9192
957957   state->palettebank = 0;
958958}
959959
960static MACHINE_DRIVER_START( arkanoid )
960static MACHINE_CONFIG_START( arkanoid, arkanoid_state )
961961
962   /* driver data */
963   MDRV_DRIVER_DATA(arkanoid_state)
964
965962   /* basic machine hardware */
966963   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */
967964   MDRV_CPU_PROGRAM_MAP(arkanoid_map)
r9191r9192
995992   MDRV_SOUND_ADD("aysnd", YM2149, XTAL_12MHz/4/2) /* YM2149 clock is 3mhz, pin 26 is low so 3mhz/2 */
996993   MDRV_SOUND_CONFIG(ay8910_config)
997994   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
998MACHINE_DRIVER_END
995MACHINE_CONFIG_END
999996
1000997
1001static MACHINE_DRIVER_START( hexa )
1002   /* driver data */
1003   MDRV_DRIVER_DATA(arkanoid_state)
998static MACHINE_CONFIG_START( hexa, arkanoid_state )
1004999
10051000   /* basic machine hardware */
10061001   MDRV_CPU_ADD("maincpu", Z80, XTAL_12MHz/2)   /* Imported from arkanoid - correct? */
r9191r9192
10301025   MDRV_SOUND_ADD("aysnd", AY8910, XTAL_12MHz/4/2)   /* Imported from arkanoid - correct? */
10311026   MDRV_SOUND_CONFIG(hexa_ay8910_config)
10321027   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1033MACHINE_DRIVER_END
1028MACHINE_CONFIG_END
10341029
10351030
1036static MACHINE_DRIVER_START( bootleg )
1037   MDRV_IMPORT_FROM(arkanoid)
1031static MACHINE_CONFIG_DERIVED( bootleg, arkanoid )
10381032
10391033   /* basic machine hardware */
10401034   MDRV_CPU_MODIFY("maincpu")
10411035   MDRV_CPU_PROGRAM_MAP(bootleg_map)
10421036
10431037   MDRV_DEVICE_REMOVE("mcu")
1044MACHINE_DRIVER_END
1038MACHINE_CONFIG_END
10451039
10461040
10471041/***************************************************************************/
src/mame/drivers/twin16.c
r9191r9192
4949#include "sound/2151intf.h"
5050#include "sound/k007232.h"
5151#include "sound/upd7759.h"
52#include "machine/nvram.h"
5253#include "includes/twin16.h"
5354#include "includes/konamipt.h"
5455
r9191r9192
8384
8485static READ16_HANDLER( videoram16_r )
8586{
86   return space->machine->generic.videoram.u16[offset];
87   twin16_state *state = space->machine->driver_data<twin16_state>();
88   UINT16 *videoram = state->videoram;
89   return videoram[offset];
8790}
8891
8992static WRITE16_HANDLER( videoram16_w )
9093{
91   COMBINE_DATA(space->machine->generic.videoram.u16 + offset);
94   twin16_state *state = space->machine->driver_data<twin16_state>();
95   UINT16 *videoram = state->videoram;
96   COMBINE_DATA(videoram + offset);
9297}
9398
9499static READ16_HANDLER( extra_rom_r )
r9191r9192
248253   AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(twin16_CPUA_register_w)
249254   AM_RANGE(0x0a0008, 0x0a0009) AM_WRITE(sound_command_w)
250255   AM_RANGE(0x0a0010, 0x0a0011) AM_WRITE(watchdog_reset16_w)
251   AM_RANGE(0x0b0000, 0x0b03ff) AM_READWRITE(cuebrickj_nvram_r, cuebrickj_nvram_w)
256   AM_RANGE(0x0b0000, 0x0b03ff) AM_READWRITE(cuebrickj_nvram_r, cuebrickj_nvram_w) AM_SHARE("nvram")
252257   AM_RANGE(0x0b0400, 0x0b0401) AM_WRITE(cuebrickj_nvram_bank_w)
253258   AM_RANGE(0x0c0000, 0x0c000f) AM_WRITE(twin16_video_register_w)
254259   AM_RANGE(0x0c000e, 0x0c000f) AM_READ(twin16_sprite_status_r)
255260   AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE(&twin16_text_ram)
256261//  AM_RANGE(0x104000, 0x105fff) AM_NOP             // miaj
257   AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_GENERIC(videoram)
262   AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_MEMBER(twin16_state, videoram)
258263   AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE("share1") AM_BASE_SIZE_GENERIC(spriteram)
259264ADDRESS_MAP_END
260265
r9191r9192
286291   AM_RANGE(0x0c000e, 0x0c000f) AM_READ(twin16_sprite_status_r)
287292   AM_RANGE(0x0e0000, 0x0e0001) AM_WRITE(fround_gfx_bank_w)
288293   AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE(&twin16_text_ram)
289   AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_GENERIC(videoram)
294   AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_MEMBER(twin16_state, videoram)
290295   AM_RANGE(0x140000, 0x143fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
291296   AM_RANGE(0x500000, 0x6fffff) AM_READ(twin16_gfx_rom1_r)
292297ADDRESS_MAP_END
r9191r9192
714719   state_save_register_global_array(machine, cuebrickj_nvram);
715720}
716721
717static MACHINE_DRIVER_START( twin16 )
722static MACHINE_CONFIG_START( twin16, twin16_state )
718723   // basic machine hardware
719724   MDRV_CPU_ADD("maincpu", M68000, XTAL_18_432MHz/2)
720725   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
766771   MDRV_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
767772   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.20)
768773   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.20)
769MACHINE_DRIVER_END
774MACHINE_CONFIG_END
770775
771static MACHINE_DRIVER_START( devilw )
772   MDRV_IMPORT_FROM(twin16)
776static MACHINE_CONFIG_DERIVED( devilw, twin16 )
773777   MDRV_QUANTUM_TIME(HZ(60000)) // watchdog reset otherwise
774MACHINE_DRIVER_END
778MACHINE_CONFIG_END
775779
776static MACHINE_DRIVER_START( fround )
780static MACHINE_CONFIG_START( fround, twin16_state )
777781   /* basic machine hardware */
778782   MDRV_CPU_ADD("maincpu", M68000, 10000000)
779783   MDRV_CPU_PROGRAM_MAP(fround_map)
r9191r9192
821825   MDRV_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
822826   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.20)
823827   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.20)
824MACHINE_DRIVER_END
828MACHINE_CONFIG_END
825829
826static MACHINE_DRIVER_START( miaj )
827   MDRV_IMPORT_FROM(twin16)
830static MACHINE_CONFIG_DERIVED( miaj, twin16 )
828831   MDRV_SCREEN_MODIFY("screen")
829832   MDRV_SCREEN_VISIBLE_AREA(1*8, 39*8-1, 2*8, 30*8-1)
830MACHINE_DRIVER_END
833MACHINE_CONFIG_END
831834
832static MACHINE_DRIVER_START( cuebrickj )
833   MDRV_IMPORT_FROM(twin16)
835static MACHINE_CONFIG_DERIVED( cuebrickj, twin16 )
834836   MDRV_SCREEN_MODIFY("screen")
835837   MDRV_SCREEN_VISIBLE_AREA(1*8, 39*8-1, 2*8, 30*8-1)
836   MDRV_NVRAM_HANDLER(generic_0fill)
837MACHINE_DRIVER_END
838   MDRV_NVRAM_ADD_0FILL("nvram")
839MACHINE_CONFIG_END
838840
839841/* ROMs */
840842
r9191r9192
13321334{
13331335   gfx_untangle(machine);
13341336
1335   machine->generic.nvram.u8 = (UINT8 *)cuebrickj_nvram;
1336   machine->generic.nvram_size = 0x400*0x20;
1337   machine->device<nvram_device>("nvram")->set_base(cuebrickj_nvram, 0x400*0x20);
13371338}
13381339
13391340/* Game Drivers */
src/mame/drivers/megasys1.c
r9191r9192
307307   AM_RANGE(0x0e0000, 0x0e0001) AM_READ_PORT("DSW")
308308   AM_RANGE(0x0e8000, 0x0ebfff) AM_RAM_WRITE(megasys1_scrollram_0_w) AM_BASE(&megasys1_scrollram[0])
309309   AM_RANGE(0x0f0000, 0x0f0001) AM_READ_PORT("SYSTEM")
310   AM_RANGE(0x0f8000, 0x0f8001) AM_DEVREADWRITE8("oki1", okim6295_r,okim6295_w, 0x00ff)
310   AM_RANGE(0x0f8000, 0x0f8001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
311311//  AM_RANGE(0x100000, 0x100001) // protection
312312   AM_RANGE(0x1f0000, 0x1fffff) AM_RAM AM_BASE(&megasys1_ram)
313313ADDRESS_MAP_END
r9191r9192
382382   if (megasys1_ignore_oki_status == 1)
383383      return 0;
384384   else
385      return okim6295_r(device,offset);
385      return downcast<okim6295_device *>(device)->read_status();
386386}
387387
388388/***************************************************************************
r9191r9192
396396   AM_RANGE(0x060000, 0x060001) AM_WRITE(soundlatch2_word_w)   // to main cpu
397397   AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8("ymsnd", ym2151_r,ym2151_w, 0x00ff)
398398   AM_RANGE(0x0a0000, 0x0a0001) AM_DEVREAD8("oki1", oki_status_r, 0x00ff)
399   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVWRITE8("oki1", okim6295_w, 0x00ff)
399   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVWRITE8_MODERN("oki1", okim6295_device, write, 0x00ff)
400400   AM_RANGE(0x0c0000, 0x0c0001) AM_DEVREAD8("oki2", oki_status_r, 0x00ff)
401   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVWRITE8("oki2", okim6295_w, 0x00ff)
401   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVWRITE8_MODERN("oki2", okim6295_device, write, 0x00ff)
402402   AM_RANGE(0x0e0000, 0x0fffff) AM_RAM
403403ADDRESS_MAP_END
404404
r9191r9192
414414   AM_RANGE(0x060000, 0x060001) AM_READWRITE(soundlatch_word_r,soundlatch2_word_w)   /* from/to main cpu */
415415   AM_RANGE(0x080000, 0x080003) AM_DEVREADWRITE8("ymsnd", ym2151_r,ym2151_w, 0x00ff)
416416   AM_RANGE(0x0a0000, 0x0a0001) AM_DEVREAD8("oki1", oki_status_r, 0x00ff)
417   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVWRITE8("oki1", okim6295_w, 0x00ff)
417   AM_RANGE(0x0a0000, 0x0a0003) AM_DEVWRITE8_MODERN("oki1", okim6295_device, write, 0x00ff)
418418   AM_RANGE(0x0c0000, 0x0c0001) AM_DEVREAD8("oki2", oki_status_r, 0x00ff)
419   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVWRITE8("oki2", okim6295_w, 0x00ff)
419   AM_RANGE(0x0c0000, 0x0c0003) AM_DEVWRITE8_MODERN("oki2", okim6295_device, write, 0x00ff)
420420   AM_RANGE(0x0e0000, 0x0effff) AM_RAM
421421ADDRESS_MAP_END
422422
r9191r9192
14541454   megasys1_sound_irq
14551455};
14561456
1457static MACHINE_DRIVER_START( system_A )
1457static MACHINE_CONFIG_START( system_A, driver_device )
14581458
14591459   /* basic machine hardware */
14601460   MDRV_CPU_ADD("maincpu", M68000, SYS_A_CPU_CLOCK) /* 6MHz verified */
r9191r9192
14991499   MDRV_OKIM6295_ADD("oki2", OKI4_SOUND_CLOCK, OKIM6295_PIN7_HIGH) /* 4MHz verified */
15001500   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.30)
15011501   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.30)
1502MACHINE_DRIVER_END
1502MACHINE_CONFIG_END
15031503
1504static MACHINE_DRIVER_START( system_A_hachoo )
1505   MDRV_IMPORT_FROM(system_A)
1504static MACHINE_CONFIG_DERIVED( system_A_hachoo, system_A )
15061505   MDRV_MACHINE_RESET(megasys1_hachoo)
1507MACHINE_DRIVER_END
1506MACHINE_CONFIG_END
15081507
1509static MACHINE_DRIVER_START( system_B )
1508static MACHINE_CONFIG_DERIVED( system_B, system_A )
15101509
15111510   /* basic machine hardware */
1512   MDRV_IMPORT_FROM(system_A)
15131511
15141512   MDRV_CPU_MODIFY("maincpu")
15151513   MDRV_CPU_CLOCK(SYS_B_CPU_CLOCK) /* 8MHz */
r9191r9192
15181516
15191517   MDRV_CPU_MODIFY("soundcpu")
15201518   MDRV_CPU_PROGRAM_MAP(megasys1B_sound_map)
1521MACHINE_DRIVER_END
1519MACHINE_CONFIG_END
15221520
15231521
1524static MACHINE_DRIVER_START( system_Bbl )
1522static MACHINE_CONFIG_START( system_Bbl, driver_device )
15251523
15261524   /* basic machine hardware */
15271525   MDRV_CPU_ADD("maincpu", M68000, SYS_B_CPU_CLOCK)
r9191r9192
15531551   MDRV_OKIM6295_ADD("oki1", OKI4_SOUND_CLOCK, OKIM6295_PIN7_HIGH)
15541552   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.30)
15551553   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.30)
1556MACHINE_DRIVER_END
1554MACHINE_CONFIG_END
15571555
1558static MACHINE_DRIVER_START( system_B_hayaosi1 )
1556static MACHINE_CONFIG_DERIVED( system_B_hayaosi1, system_B )
15591557
15601558   /* basic machine hardware */
1561   MDRV_IMPORT_FROM(system_B)
15621559
15631560   MDRV_OKIM6295_REPLACE("oki1", 2000000, OKIM6295_PIN7_HIGH) /* correct speed, but unknown OSC + divider combo */
15641561   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.30)
r9191r9192
15671564   MDRV_OKIM6295_REPLACE("oki2", 2000000, OKIM6295_PIN7_HIGH) /* correct speed, but unknown OSC + divider combo */
15681565   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.30)
15691566   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.30)
1570MACHINE_DRIVER_END
1567MACHINE_CONFIG_END
15711568
15721569
1573static MACHINE_DRIVER_START( system_C )
1570static MACHINE_CONFIG_DERIVED( system_C, system_A )
15741571
15751572   /* basic machine hardware */
1576   MDRV_IMPORT_FROM(system_A)
15771573   MDRV_CPU_MODIFY("maincpu")
15781574   MDRV_CPU_CLOCK(SYS_C_CPU_CLOCK) /* 12MHz */
15791575   MDRV_CPU_PROGRAM_MAP(megasys1C_map)
r9191r9192
15811577
15821578   MDRV_CPU_MODIFY("soundcpu")
15831579   MDRV_CPU_PROGRAM_MAP(megasys1B_sound_map)
1584MACHINE_DRIVER_END
1580MACHINE_CONFIG_END
15851581
15861582
15871583/***************************************************************************
r9191r9192
15951591***************************************************************************/
15961592
15971593
1598static MACHINE_DRIVER_START( system_D )
1594static MACHINE_CONFIG_START( system_D, driver_device )
15991595
16001596   /* basic machine hardware */
16011597   MDRV_CPU_ADD("maincpu", M68000, SYS_D_CPU_CLOCK)   /* 8MHz */
r9191r9192
16251621
16261622   MDRV_OKIM6295_ADD("oki1", SYS_D_CPU_CLOCK/4, OKIM6295_PIN7_HIGH)   /* 2MHz (8MHz / 4) */
16271623   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
1628MACHINE_DRIVER_END
1624MACHINE_CONFIG_END
16291625
16301626
16311627
r9191r9192
16571653   irq_handler
16581654};
16591655
1660static MACHINE_DRIVER_START( system_Z )
1656static MACHINE_CONFIG_START( system_Z, driver_device )
16611657
16621658   /* basic machine hardware */
16631659   MDRV_CPU_ADD("maincpu", M68000, SYS_A_CPU_CLOCK) /* 6MHz (12MHz / 2) */
r9191r9192
16881684   MDRV_SOUND_ADD("ymsnd", YM2203, 1500000)
16891685   MDRV_SOUND_CONFIG(ym2203_config)
16901686   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
1691MACHINE_DRIVER_END
1687MACHINE_CONFIG_END
16921688
16931689
16941690/*************************************
r9191r9192
38473843
38483844static WRITE16_DEVICE_HANDLER( okim6295_both_w )
38493845{
3850   if (ACCESSING_BITS_0_7)   okim6295_w(device, 0, (data >> 0) & 0xff );
3851   else            okim6295_w(device, 0, (data >> 8) & 0xff );
3846   okim6295_device *oki = downcast<okim6295_device *>(device);
3847   if (ACCESSING_BITS_0_7)   oki->write_command((data >> 0) & 0xff );
3848   else            oki->write_command((data >> 8) & 0xff );
38523849}
38533850
38543851static DRIVER_INIT( jitsupro )
src/mame/drivers/crshrace.c
r9191r9192
467467   state->pending_command = 0;
468468}
469469
470static MACHINE_DRIVER_START( crshrace )
470static MACHINE_CONFIG_START( crshrace, crshrace_state )
471471
472   /* driver data */
473   MDRV_DRIVER_DATA(crshrace_state)
474
475472   /* basic machine hardware */
476473   MDRV_CPU_ADD("maincpu", M68000,16000000)   /* 16 MHz ??? */
477474   MDRV_CPU_PROGRAM_MAP(crshrace_map)
r9191r9192
511508   MDRV_SOUND_ROUTE(0, "rspeaker", 0.25)
512509   MDRV_SOUND_ROUTE(1, "lspeaker",  1.0)
513510   MDRV_SOUND_ROUTE(2, "rspeaker", 1.0)
514MACHINE_DRIVER_END
511MACHINE_CONFIG_END
515512
516513
517514ROM_START( crshrace )
src/mame/drivers/airbustr.c
r9191r9192
402402   ADDRESS_MAP_GLOBAL_MASK(0xff)
403403   AM_RANGE(0x00, 0x00) AM_WRITE(sound_bankswitch_w)
404404   AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
405   AM_RANGE(0x04, 0x04) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
405   AM_RANGE(0x04, 0x04) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
406406   AM_RANGE(0x06, 0x06) AM_READWRITE(soundcommand_r, soundcommand2_w)
407407ADDRESS_MAP_END
408408
r9191r9192
630630   0, 0   /* x_offs, y_offs */
631631};
632632
633static MACHINE_DRIVER_START( airbustr )
633static MACHINE_CONFIG_START( airbustr, airbustr_state )
634634
635   /* driver data */
636   MDRV_DRIVER_DATA(airbustr_state)
637
638635   /* basic machine hardware */
639636   MDRV_CPU_ADD("master", Z80, 6000000)   // ???
640637   MDRV_CPU_PROGRAM_MAP(master_map)
r9191r9192
685682
686683   MDRV_OKIM6295_ADD("oki", 12000000/4, OKIM6295_PIN7_LOW)
687684   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
688MACHINE_DRIVER_END
685MACHINE_CONFIG_END
689686
690static MACHINE_DRIVER_START( airbustrb )
691   MDRV_IMPORT_FROM(airbustr)
687static MACHINE_CONFIG_DERIVED( airbustrb, airbustr )
692688   MDRV_WATCHDOG_TIME_INIT(SEC(0)) // no protection device or watchdog
693MACHINE_DRIVER_END
689MACHINE_CONFIG_END
694690
695691
696692/* ROMs */
src/mame/drivers/pacman.c
r9191r9192
31703170 *
31713171 *************************************/
31723172
3173static MACHINE_DRIVER_START( pacman )
3173static MACHINE_CONFIG_START( pacman, driver_device )
31743174
31753175   /* basic machine hardware */
31763176   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6)
r9191r9192
31973197   MDRV_SOUND_ADD("namco", NAMCO, MASTER_CLOCK/6/32)
31983198   MDRV_SOUND_CONFIG(namco_config)
31993199   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
3200MACHINE_DRIVER_END
3200MACHINE_CONFIG_END
32013201
32023202
3203static MACHINE_DRIVER_START( piranha )
3203static MACHINE_CONFIG_DERIVED( piranha, pacman )
32043204
32053205   /* basic machine hardware */
3206   MDRV_IMPORT_FROM(pacman)
32073206
32083207   MDRV_CPU_MODIFY("maincpu")
32093208   MDRV_CPU_IO_MAP(piranha_portmap)
3210MACHINE_DRIVER_END
3209MACHINE_CONFIG_END
32113210
32123211
3213static MACHINE_DRIVER_START( nmouse )
3212static MACHINE_CONFIG_DERIVED( nmouse, pacman )
32143213
32153214   /* basic machine hardware */
3216   MDRV_IMPORT_FROM(pacman)
32173215
32183216   MDRV_CPU_MODIFY("maincpu")
32193217   MDRV_CPU_IO_MAP(nmouse_portmap)
3220MACHINE_DRIVER_END
3218MACHINE_CONFIG_END
32213219
32223220
3223static MACHINE_DRIVER_START( mspacman )
3221static MACHINE_CONFIG_DERIVED( mspacman, pacman )
32243222
32253223   /* basic machine hardware */
3226   MDRV_IMPORT_FROM(pacman)
32273224
32283225   MDRV_CPU_MODIFY("maincpu")
32293226   MDRV_CPU_PROGRAM_MAP(mspacman_map)
3230MACHINE_DRIVER_END
3227MACHINE_CONFIG_END
32313228
32323229
3233static MACHINE_DRIVER_START( woodpek )
3230static MACHINE_CONFIG_DERIVED( woodpek, pacman )
32343231
32353232   /* basic machine hardware */
3236   MDRV_IMPORT_FROM(pacman)
32373233
32383234   MDRV_CPU_MODIFY("maincpu")
32393235   MDRV_CPU_PROGRAM_MAP(woodpek_map)
32403236
3241MACHINE_DRIVER_END
3237MACHINE_CONFIG_END
32423238
32433239
3244static MACHINE_DRIVER_START( alibaba )
3240static MACHINE_CONFIG_DERIVED( alibaba, pacman )
32453241
32463242   /* basic machine hardware */
3247   MDRV_IMPORT_FROM(pacman)
32483243
32493244   MDRV_CPU_MODIFY("maincpu")
32503245   MDRV_CPU_PROGRAM_MAP(alibaba_map)
32513246   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
3252MACHINE_DRIVER_END
3247MACHINE_CONFIG_END
32533248
32543249
3255static MACHINE_DRIVER_START( dremshpr )
3250static MACHINE_CONFIG_DERIVED( dremshpr, pacman )
32563251
32573252   /* basic machine hardware */
3258   MDRV_IMPORT_FROM(pacman)
32593253
32603254   MDRV_CPU_MODIFY("maincpu")
32613255   MDRV_CPU_PROGRAM_MAP(dremshpr_map)
r9191r9192
32653259   /* sound hardware */
32663260   MDRV_SOUND_REPLACE("namco", AY8910, 14318000/8)
32673261   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
3268MACHINE_DRIVER_END
3262MACHINE_CONFIG_END
32693263
32703264
3271static MACHINE_DRIVER_START( theglobp )
3265static MACHINE_CONFIG_DERIVED( theglobp, pacman )
32723266
32733267   /* basic machine hardware */
3274   MDRV_IMPORT_FROM(pacman)
32753268
32763269   MDRV_CPU_MODIFY("maincpu")
32773270   MDRV_CPU_PROGRAM_MAP(epos_map)
r9191r9192
32793272
32803273   MDRV_MACHINE_START(theglobp)
32813274   MDRV_MACHINE_RESET(theglobp)
3282MACHINE_DRIVER_END
3275MACHINE_CONFIG_END
32833276
32843277
3285static MACHINE_DRIVER_START( acitya )
3278static MACHINE_CONFIG_DERIVED( acitya, pacman )
32863279
32873280   /* basic machine hardware */
3288   MDRV_IMPORT_FROM(pacman)
32893281
32903282   MDRV_CPU_MODIFY("maincpu")
32913283   MDRV_CPU_PROGRAM_MAP(epos_map)
r9191r9192
32933285
32943286   MDRV_MACHINE_START(acitya)
32953287   MDRV_MACHINE_RESET(acitya)
3296MACHINE_DRIVER_END
3288MACHINE_CONFIG_END
32973289
32983290
3299static MACHINE_DRIVER_START( vanvan )
3291static MACHINE_CONFIG_DERIVED( vanvan, pacman )
33003292
33013293   /* basic machine hardware */
3302   MDRV_IMPORT_FROM(pacman)
33033294
33043295   MDRV_CPU_MODIFY("maincpu")
33053296   MDRV_CPU_PROGRAM_MAP(vanvan_map)
r9191r9192
33153306   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
33163307   MDRV_SOUND_ADD("sn2", SN76496, 1789750)
33173308   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
3318MACHINE_DRIVER_END
3309MACHINE_CONFIG_END
33193310
33203311
3321static MACHINE_DRIVER_START( bigbucks )
3312static MACHINE_CONFIG_DERIVED( bigbucks, pacman )
33223313
33233314   /* basic machine hardware */
3324   MDRV_IMPORT_FROM(pacman)
33253315
33263316   MDRV_CPU_MODIFY("maincpu")
33273317   MDRV_CPU_PROGRAM_MAP(bigbucks_map)
r9191r9192
33303320
33313321   MDRV_SCREEN_MODIFY("screen")
33323322   MDRV_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
3333MACHINE_DRIVER_END
3323MACHINE_CONFIG_END
33343324
33353325
3336static MACHINE_DRIVER_START( s2650games )
3326static MACHINE_CONFIG_DERIVED( s2650games, pacman )
33373327
33383328   /* basic machine hardware */
3339   MDRV_IMPORT_FROM(pacman)
33403329
33413330   MDRV_DEVICE_REMOVE("maincpu")
33423331   MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/6/2)   /* 2H */
r9191r9192
33563345   /* sound hardware */
33573346   MDRV_SOUND_REPLACE("namco", SN76496, MASTER_CLOCK/6)   /* 1H */
33583347   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
3359MACHINE_DRIVER_END
3348MACHINE_CONFIG_END
33603349
33613350
3362static MACHINE_DRIVER_START( drivfrcp )
3351static MACHINE_CONFIG_DERIVED( drivfrcp, s2650games )
33633352
33643353   /* basic machine hardware */
3365   MDRV_IMPORT_FROM(s2650games)
33663354
33673355   MDRV_CPU_MODIFY("maincpu")
33683356   MDRV_CPU_IO_MAP(drivfrcp_portmap)
3369MACHINE_DRIVER_END
3357MACHINE_CONFIG_END
33703358
33713359
3372static MACHINE_DRIVER_START( 8bpm )
3360static MACHINE_CONFIG_DERIVED( 8bpm, s2650games )
33733361
33743362   /* basic machine hardware */
3375   MDRV_IMPORT_FROM(s2650games)
33763363
33773364   MDRV_CPU_MODIFY("maincpu")
33783365   MDRV_CPU_IO_MAP(_8bpm_portmap)
3379MACHINE_DRIVER_END
3366MACHINE_CONFIG_END
33803367
33813368
3382static MACHINE_DRIVER_START( porky )
3369static MACHINE_CONFIG_DERIVED( porky, s2650games )
33833370
33843371   /* basic machine hardware */
3385   MDRV_IMPORT_FROM(s2650games)
33863372
33873373   MDRV_CPU_MODIFY("maincpu")
33883374   MDRV_CPU_IO_MAP(porky_portmap)
3389MACHINE_DRIVER_END
3375MACHINE_CONFIG_END
33903376
33913377
3392static MACHINE_DRIVER_START( rocktrv2 )
3378static MACHINE_CONFIG_DERIVED( rocktrv2, pacman )
33933379
33943380   /* basic machine hardware */
3395   MDRV_IMPORT_FROM(pacman)
33963381
33973382   MDRV_CPU_MODIFY("maincpu")
33983383   MDRV_CPU_PROGRAM_MAP(rocktrv2_map)
r9191r9192
34003385
34013386   MDRV_SCREEN_MODIFY("screen")
34023387   MDRV_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
3403MACHINE_DRIVER_END
3388MACHINE_CONFIG_END
34043389
34053390
3406static MACHINE_DRIVER_START( mschamp )
3391static MACHINE_CONFIG_DERIVED( mschamp, pacman )
34073392
34083393   /* basic machine hardware */
3409   MDRV_IMPORT_FROM(pacman)
34103394
34113395   MDRV_CPU_MODIFY("maincpu")
34123396   MDRV_CPU_PROGRAM_MAP(mschamp_map)
r9191r9192
34143398   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
34153399
34163400   MDRV_MACHINE_RESET(mschamp)
3417MACHINE_DRIVER_END
3401MACHINE_CONFIG_END
34183402
34193403
3420static MACHINE_DRIVER_START( crush4 )
3404static MACHINE_CONFIG_DERIVED( crush4, mschamp )
34213405
34223406   /* basic machine hardware */
3423   MDRV_IMPORT_FROM(mschamp)
34243407
34253408   MDRV_GFXDECODE(crush4)
3426MACHINE_DRIVER_END
3409MACHINE_CONFIG_END
34273410
34283411static const ay8910_interface crushs_ay8910_interface =
34293412{
r9191r9192
34353418   DEVCB_NULL
34363419};
34373420
3438static MACHINE_DRIVER_START( crushs )
3421static MACHINE_CONFIG_DERIVED( crushs, pacman )
34393422
34403423   /* basic machine hardware */
3441   MDRV_IMPORT_FROM(pacman)
34423424
34433425   MDRV_CPU_MODIFY("maincpu")
34443426   MDRV_CPU_PROGRAM_MAP(crushs_map)
r9191r9192
34483430   MDRV_SOUND_REPLACE("namco", AY8912, 1789750)
34493431   MDRV_SOUND_CONFIG(crushs_ay8910_interface)
34503432   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
3451MACHINE_DRIVER_END
3433MACHINE_CONFIG_END
34523434
34533435
34543436
src/mame/drivers/igs011.c
r9191r9192
6767#include "sound/2413intf.h"
6868#include "sound/3812intf.h"
6969#include "sound/ics2115.h"
70#include "machine/nvram.h"
7071
7172#define LOG_BLITTER 0
7273
r9191r9192
20072008//  AM_RANGE( 0x01dd78, 0x01dd79 ) AM_READ ( igs011_prot1_r )
20082009
20092010   AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
2010   AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
2011   AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
20112012   AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE( &igs011_priority_ram )
20122013   AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE_GENERIC( paletteram )
20132014   AM_RANGE( 0x500000, 0x500001 ) AM_READ_PORT( "COIN" )
2014   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
2015   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )
20152016   AM_RANGE( 0x700000, 0x700003 ) AM_DEVWRITE8( "ymsnd", ym3812_w, 0x00ff )
20162017
20172018   AM_RANGE( 0x800000, 0x800003 ) AM_WRITE( drgnwrld_igs003_w )
r9191r9192
20932094   // no reset
20942095
20952096   AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
2096   AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
2097   AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
20972098   AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE( &igs011_priority_ram )
20982099   AM_RANGE( 0x300000, 0x3fffff ) AM_READWRITE( igs011_layers_r, igs011_layers_w )
20992100   AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE_GENERIC( paletteram )
2100   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
2101   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )
21012102   AM_RANGE( 0x700000, 0x700001 ) AM_READ_PORT( "COIN" )
21022103   AM_RANGE( 0x700002, 0x700005 ) AM_READ ( lhb_inputs_r )
21032104   AM_RANGE( 0x700002, 0x700003 ) AM_WRITE( lhb_inputs_w )
r9191r9192
21342135
21352136   AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
21362137   AM_RANGE( 0x100000, 0x103fff ) AM_RAM
2137   AM_RANGE( 0x1f0000, 0x1f3fff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram ) // extra ram
2138   AM_RANGE( 0x1f0000, 0x1f3fff ) AM_RAM AM_SHARE("nvram") // extra ram
21382139   AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE( &igs011_priority_ram )
21392140   AM_RANGE( 0x300000, 0x3fffff ) AM_READWRITE( igs011_layers_r, igs011_layers_w )
21402141   AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE_GENERIC( paletteram )
2141   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
2142   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )
21422143   AM_RANGE( 0x700000, 0x700003 ) AM_WRITE( xymg_igs003_w )
21432144   AM_RANGE( 0x700002, 0x700003 ) AM_READ ( xymg_igs003_r )
21442145   AM_RANGE( 0x820000, 0x820001 ) AM_WRITE( igs011_priority_w )
r9191r9192
21702171   AM_RANGE( 0x519000, 0x5195ff ) AM_READ ( lhb_igs011_prot2_r         )   // read
21712172
21722173   AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
2173   AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
2174   AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
21742175   AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE( &igs011_priority_ram )
21752176   AM_RANGE( 0x300000, 0x3fffff ) AM_READWRITE( igs011_layers_r, igs011_layers_w )
21762177   AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE_GENERIC( paletteram )
21772178   AM_RANGE( 0x520000, 0x520001 ) AM_READ_PORT( "COIN" )
2178   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
2179   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )
21792180   AM_RANGE( 0x800000, 0x800003 ) AM_WRITE( wlcc_igs003_w )
21802181   AM_RANGE( 0x800002, 0x800003 ) AM_READ ( wlcc_igs003_r )
21812182   AM_RANGE( 0xa20000, 0xa20001 ) AM_WRITE( igs011_priority_w )
r9191r9192
22092210   AM_RANGE( 0x020600, 0x0207ff ) AM_WRITE( igs011_prot2_reset_w      )   // reset (55)
22102211
22112212   AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
2212   AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
2213   AM_RANGE( 0x200000, 0x200001 ) AM_DEVREADWRITE8( "oki", okim6295_r, okim6295_w, 0x00ff )
2213   AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
2214   AM_RANGE( 0x200000, 0x200001 ) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff )
22142215   AM_RANGE( 0x204000, 0x204003 ) AM_DEVWRITE8( "ymsnd", ym2413_w, 0x00ff )
22152216   AM_RANGE( 0x208000, 0x208003 ) AM_WRITE( lhb2_igs003_w )
22162217   AM_RANGE( 0x208002, 0x208003 ) AM_READ ( lhb2_igs003_r )
r9191r9192
23202321//  AM_RANGE( 0x902000, 0x902005 ) AM_WRITE( igs012_prot_fake_r )
23212322
23222323   AM_RANGE( 0x000000, 0x07ffff ) AM_ROM
2323   AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_BASE_SIZE_GENERIC( nvram )
2324   AM_RANGE( 0x100000, 0x103fff ) AM_RAM AM_SHARE("nvram")
23242325   AM_RANGE( 0x200000, 0x200fff ) AM_RAM AM_BASE( &igs011_priority_ram )
23252326   AM_RANGE( 0x300000, 0x3fffff ) AM_READWRITE( igs011_layers_r, igs011_layers_w )
23262327   AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE( igs011_palette ) AM_BASE_GENERIC( paletteram )
r9191r9192
34443445GFXDECODE_END
34453446#endif
34463447
3447static MACHINE_DRIVER_START( igs011_base )
3448static MACHINE_CONFIG_START( igs011_base, driver_device )
34483449   MDRV_CPU_ADD("maincpu",M68000, XTAL_22MHz/3)
34493450
3450   MDRV_NVRAM_HANDLER(generic_0fill)
3451   MDRV_NVRAM_ADD_0FILL("nvram")
34513452
34523453   /* video hardware */
34533454   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
34673468   MDRV_SPEAKER_STANDARD_MONO("mono")
34683469   MDRV_OKIM6295_ADD("oki", XTAL_22MHz/21, OKIM6295_PIN7_HIGH)
34693470   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
3470MACHINE_DRIVER_END
3471MACHINE_CONFIG_END
34713472
34723473static INTERRUPT_GEN( drgnwrld_interrupt )
34733474{
r9191r9192
34793480   }
34803481}
34813482
3482static MACHINE_DRIVER_START( drgnwrld )
3483   MDRV_IMPORT_FROM(igs011_base)
3483static MACHINE_CONFIG_DERIVED( drgnwrld, igs011_base )
34843484   MDRV_CPU_MODIFY("maincpu")
34853485   MDRV_CPU_PROGRAM_MAP(drgnwrld)
34863486   MDRV_CPU_VBLANK_INT_HACK(drgnwrld_interrupt,1+4)   // lev5 frequency drives the music tempo
34873487
34883488   MDRV_SOUND_ADD("ymsnd", YM3812, 3579545)
34893489   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
3490MACHINE_DRIVER_END
3490MACHINE_CONFIG_END
34913491
3492static MACHINE_DRIVER_START( drgnwrld_igs012 )
3493   MDRV_IMPORT_FROM(drgnwrld)
3492static MACHINE_CONFIG_DERIVED( drgnwrld_igs012, drgnwrld )
34943493   MDRV_CPU_MODIFY("maincpu")
34953494   MDRV_CPU_PROGRAM_MAP(drgnwrld_igs012)
3496MACHINE_DRIVER_END
3495MACHINE_CONFIG_END
34973496
34983497
34993498
r9191r9192
35123511   }
35133512}
35143513
3515static MACHINE_DRIVER_START( lhb )
3516   MDRV_IMPORT_FROM(igs011_base)
3514static MACHINE_CONFIG_DERIVED( lhb, igs011_base )
35173515   MDRV_CPU_MODIFY("maincpu")
35183516   MDRV_CPU_PROGRAM_MAP(lhb)
35193517   MDRV_CPU_VBLANK_INT_HACK(lhb_interrupt,3+1)
3520MACHINE_DRIVER_END
3518MACHINE_CONFIG_END
35213519
35223520
35233521
r9191r9192
35303528   }
35313529}
35323530
3533static MACHINE_DRIVER_START( wlcc )
3534   MDRV_IMPORT_FROM(igs011_base)
3531static MACHINE_CONFIG_DERIVED( wlcc, igs011_base )
35353532   MDRV_CPU_MODIFY("maincpu")
35363533   MDRV_CPU_PROGRAM_MAP(wlcc)
35373534   MDRV_CPU_VBLANK_INT_HACK(wlcc_interrupt,2)
3538MACHINE_DRIVER_END
3535MACHINE_CONFIG_END
35393536
35403537
35413538
3542static MACHINE_DRIVER_START( xymg )
3543   MDRV_IMPORT_FROM(igs011_base)
3539static MACHINE_CONFIG_DERIVED( xymg, igs011_base )
35443540   MDRV_CPU_MODIFY("maincpu")
35453541   MDRV_CPU_PROGRAM_MAP(xymg)
35463542   MDRV_CPU_VBLANK_INT_HACK(wlcc_interrupt,2)
3547MACHINE_DRIVER_END
3543MACHINE_CONFIG_END
35483544
35493545
35503546
3551static MACHINE_DRIVER_START( lhb2 )
3552   MDRV_IMPORT_FROM(igs011_base)
3547static MACHINE_CONFIG_DERIVED( lhb2, igs011_base )
35533548   MDRV_CPU_MODIFY("maincpu")
35543549   MDRV_CPU_PROGRAM_MAP(lhb2)
35553550   MDRV_CPU_VBLANK_INT_HACK(drgnwrld_interrupt,1+4)   // lev5 frequency drives the music tempo
r9191r9192
35583553
35593554   MDRV_SOUND_ADD("ymsnd", YM2413, 3579545)
35603555   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
3561MACHINE_DRIVER_END
3556MACHINE_CONFIG_END
35623557
35633558
35643559
r9191r9192
35833578   }
35843579}
35853580
3586static MACHINE_DRIVER_START( vbowl )
3587   MDRV_IMPORT_FROM(igs011_base)
3581static MACHINE_CONFIG_DERIVED( vbowl, igs011_base )
35883582   MDRV_CPU_MODIFY("maincpu")
35893583   MDRV_CPU_PROGRAM_MAP(vbowl)
35903584   MDRV_CPU_VBLANK_INT_HACK(vbowl_interrupt,3+4)
r9191r9192
35963590   MDRV_SOUND_ADD("ics", ICS2115, 0)
35973591   MDRV_SOUND_CONFIG(vbowl_ics2115_interface)
35983592   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 5.0)
3599MACHINE_DRIVER_END
3593MACHINE_CONFIG_END
36003594
36013595
36023596
src/mame/drivers/bwing.c
r9191r9192
414414   state->fftail = state->ffhead = state->ffcount = 0;
415415}
416416
417static MACHINE_DRIVER_START( bwing )
417static MACHINE_CONFIG_START( bwing, bwing_state )
418418
419   /* driver data */
420   MDRV_DRIVER_DATA(bwing_state)
421
422419   // basic machine hardware
423420   MDRV_CPU_ADD("maincpu", M6809, 2000000)
424421   MDRV_CPU_PROGRAM_MAP(bwp1_map)
r9191r9192
465462
466463   MDRV_SOUND_ADD("dac", DAC, 0)
467464   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
468MACHINE_DRIVER_END
465MACHINE_CONFIG_END
469466
470467//****************************************************************************
471468// ROM Maps
src/mame/drivers/srmp6.c
r9191r9192
7171#include "deprecat.h"
7272#include "sound/nile.h"
7373
74class srmp6_state : public driver_data_t
74class srmp6_state : public driver_device
7575{
7676public:
77   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, srmp6_state(machine)); }
77   srmp6_state(running_machine &machine, const driver_device_config_base &config)
78      : driver_device(machine, config) { }
7879
79   srmp6_state(running_machine &machine)
80      : driver_data_t(machine) { }
81
8280   UINT16* tileram;
8381   UINT16* dmaram;
8482
r9191r9192
665663      cpu_set_input_line(device,4,HOLD_LINE);
666664}
667665
668static MACHINE_DRIVER_START( srmp6 )
666static MACHINE_CONFIG_START( srmp6, srmp6_state )
669667
670   MDRV_DRIVER_DATA( srmp6_state )
671
672668   MDRV_CPU_ADD("maincpu", M68000, 16000000)
673669   MDRV_CPU_PROGRAM_MAP(srmp6)
674670   MDRV_CPU_VBLANK_INT_HACK(srmp6_interrupt,2)
r9191r9192
692688   MDRV_SOUND_ADD("nile", NILE, 0)
693689   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
694690   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
695MACHINE_DRIVER_END
691MACHINE_CONFIG_END
696692
697693
698694/***************************************************************************
src/mame/drivers/sf.c
r9191r9192
826826   state->fgscroll = 0;
827827}
828828
829static MACHINE_DRIVER_START( sf )
829static MACHINE_CONFIG_START( sf, sf_state )
830830
831   /* driver data */
832   MDRV_DRIVER_DATA(sf_state)
833
834831   /* basic machine hardware */
835832   MDRV_CPU_ADD("maincpu", M68000, 8000000)   /* 8 MHz ? (xtal is 16MHz) */
836833   MDRV_CPU_PROGRAM_MAP(sf_map)
r9191r9192
879876   MDRV_SOUND_CONFIG(msm5205_config)
880877   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
881878   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
882MACHINE_DRIVER_END
879MACHINE_CONFIG_END
883880
884881
885static MACHINE_DRIVER_START( sfus )
882static MACHINE_CONFIG_DERIVED( sfus, sf )
886883
887884   /* basic machine hardware */
888   MDRV_IMPORT_FROM(sf)
889885   MDRV_CPU_MODIFY("maincpu")
890886   MDRV_CPU_PROGRAM_MAP(sfus_map)
891MACHINE_DRIVER_END
887MACHINE_CONFIG_END
892888
893889
894static MACHINE_DRIVER_START( sfjp )
890static MACHINE_CONFIG_DERIVED( sfjp, sf )
895891
896892   /* basic machine hardware */
897   MDRV_IMPORT_FROM(sf)
898893   MDRV_CPU_MODIFY("maincpu")
899894   MDRV_CPU_PROGRAM_MAP(sfjp_map)
900MACHINE_DRIVER_END
895MACHINE_CONFIG_END
901896
902897
903static MACHINE_DRIVER_START( sfp )
898static MACHINE_CONFIG_DERIVED( sfp, sf )
904899
905900   /* basic machine hardware */
906   MDRV_IMPORT_FROM(sf)
907901   MDRV_CPU_MODIFY("maincpu")
908902   MDRV_CPU_VBLANK_INT("screen", irq6_line_hold)
909MACHINE_DRIVER_END
903MACHINE_CONFIG_END
910904
911905
912906ROM_START( sf )
src/mame/drivers/cball.c
r9191r9192
88#include "cpu/m6800/m6800.h"
99
1010
11class cball_state : public driver_data_t
11class cball_state : public driver_device
1212{
1313public:
14   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, cball_state(machine)); }
14   cball_state(running_machine &machine, const driver_device_config_base &config)
15      : driver_device(machine, config) { }
1516
16   cball_state(running_machine &machine)
17      : driver_data_t(machine) { }
18
1917   /* memory pointers */
2018   UINT8 *  video_ram;
2119
r9191r9192
225223GFXDECODE_END
226224
227225
228static MACHINE_DRIVER_START( cball )
226static MACHINE_CONFIG_START( cball, cball_state )
229227
230   /* driver data */
231   MDRV_DRIVER_DATA(cball_state)
232
233228   /* basic machine hardware */
234229   MDRV_CPU_ADD("maincpu", M6800, XTAL_12_096MHz / 16) /* ? */
235230   MDRV_CPU_PROGRAM_MAP(cpu_map)
r9191r9192
252247   MDRV_VIDEO_UPDATE(cball)
253248
254249   /* sound hardware */
255MACHINE_DRIVER_END
250MACHINE_CONFIG_END
256251
257252
258253ROM_START( cball )
src/mame/drivers/konamim2.c
r9191r9192
11301130   cpu_set_input_line(device, INPUT_LINE_IRQ0, ASSERT_LINE);
11311131}
11321132
1133static MACHINE_DRIVER_START( m2 )
1133static MACHINE_CONFIG_START( m2, driver_device )
11341134
11351135   /* basic machine hardware */
11361136   MDRV_CPU_ADD("maincpu", PPC602, 33000000)   /* actually PPC602, 66MHz */
r9191r9192
11561156   MDRV_VIDEO_START(m2)
11571157   MDRV_VIDEO_UPDATE(m2)
11581158
1159MACHINE_DRIVER_END
1159MACHINE_CONFIG_END
11601160
11611161
11621162ROM_START( polystar )
src/mame/drivers/cave.c
r9191r9192
7373#include "emu.h"
7474#include "cpu/m68000/m68000.h"
7575#include "machine/eeprom.h"
76#include "machine/nvram.h"
7677#include "machine/nmk112.h"
7778#include "cpu/z80/z80.h"
7879#include "includes/cave.h"
r9191r9192
508509/**/AM_RANGE(0x800000, 0x800005) AM_RAM AM_BASE_MEMBER(cave_state, vctrl_2)                           // Layer 2 Control
509510   AM_RANGE(0x900000, 0x90007f) AM_RAM_READ(donpachi_videoregs_r) AM_BASE_MEMBER(cave_state, videoregs)   // Video Regs
510511/**/AM_RANGE(0xa08000, 0xa08fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, paletteram, paletteram_size)      // Palette
511   AM_RANGE(0xb00000, 0xb00003) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)               // M6295
512   AM_RANGE(0xb00010, 0xb00013) AM_DEVREADWRITE8("oki2", okim6295_r, okim6295_w, 0x00ff)               //
512   AM_RANGE(0xb00000, 0xb00003) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)               // M6295
513   AM_RANGE(0xb00010, 0xb00013) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)               //
513514   AM_RANGE(0xb00020, 0xb0002f) AM_DEVWRITE("nmk112", nmk112_okibank_lsb_w)                        //
514515   AM_RANGE(0xc00000, 0xc00001) AM_READ_PORT("IN0")                                          // Inputs
515516   AM_RANGE(0xc00002, 0xc00003) AM_READ_PORT("IN1")                                          // Inputs + EEPROM
r9191r9192
930931
931932static ADDRESS_MAP_START( tjumpman_map, ADDRESS_SPACE_PROGRAM, 16 )
932933   AM_RANGE(0x000000, 0x07ffff) AM_ROM                                                   // ROM
933   AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_BASE_SIZE_GENERIC( nvram )                           // RAM
934   AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("nvram")                           // RAM
934935   AM_RANGE(0x200000, 0x207fff) AM_RAM AM_BASE_SIZE_MEMBER(cave_state, spriteram, spriteram_size)      // Sprites
935936   AM_RANGE(0x208000, 0x20ffff) AM_RAM AM_BASE_MEMBER(cave_state, spriteram_2)                     // Sprite bank 2
936937   AM_RANGE(0x304000, 0x307fff) AM_WRITE(cave_vram_0_w)                                    // Layer 0 - 16x16 tiles mapped here
r9191r9192
942943   AM_RANGE(0x700000, 0x700007) AM_READ(cave_irq_cause_r)                                    // IRQ Cause
943944   AM_RANGE(0x700068, 0x700069) AM_WRITE(watchdog_reset16_w)                                 // Watchdog
944945   AM_RANGE(0x700000, 0x70007f) AM_WRITEONLY AM_BASE_MEMBER(cave_state, videoregs)                  // Video Regs
945   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8("oki1", okim6295_r, okim6295_w, 0x00ff)            // M6295
946   AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)            // M6295
946947   AM_RANGE(0xc00000, 0xc00001) AM_WRITE(tjumpman_leds_w)                                    // Leds + Hopper
947948   AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE("eeprom", tjumpman_eeprom_lsb_w)                     // EEPROM
948949ADDRESS_MAP_END
r9191r9192
10111012   AM_RANGE(0x30, 0x30) AM_READ(soundlatch_lo_r)                  // From Main CPU
10121013   AM_RANGE(0x40, 0x40) AM_READ(soundlatch_hi_r)                  //
10131014   AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)   //
1014   AM_RANGE(0x60, 0x60) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)   // M6295
1015   AM_RANGE(0x60, 0x60) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)   // M6295
10151016   AM_RANGE(0x70, 0x70) AM_WRITE(hotdogst_okibank_w)               // Samples bank
10161017ADDRESS_MAP_END
10171018
r9191r9192
10421043   AM_RANGE(0x30, 0x30) AM_READ(soundlatch_lo_r)      // From Main CPU
10431044   AM_RANGE(0x50, 0x51) AM_DEVWRITE("ymsnd", ym2203_w)   // YM2203
10441045   AM_RANGE(0x52, 0x53) AM_DEVREAD("ymsnd", ym2203_r)   // YM2203
1045   AM_RANGE(0x70, 0x70) AM_DEVWRITE("oki", okim6295_w)   // M6295
1046   AM_RANGE(0x70, 0x70) AM_DEVWRITE_MODERN("oki", okim6295_device, write)   // M6295
10461047   AM_RANGE(0x74, 0x74) AM_WRITE(hotdogst_okibank_w)   // Samples bank
10471048ADDRESS_MAP_END
10481049
r9191r9192
10901091   AM_RANGE(0x30, 0x30) AM_READ(soundlatch_lo_r)                  // From Main CPU
10911092   AM_RANGE(0x40, 0x40) AM_READ(soundlatch_hi_r)                  //
10921093   AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)   // YM2151
1093   AM_RANGE(0x60, 0x60) AM_DEVWRITE("oki1", okim6295_w)            // M6295 #0
1094   AM_RANGE(0x60, 0x60) AM_DEVWRITE_MODERN("oki1", okim6295_device, write)            // M6295 #0
10941095   AM_RANGE(0x70, 0x70) AM_WRITE(metmqstr_okibank0_w)               // Samples Bank #0
1095   AM_RANGE(0x80, 0x80) AM_DEVWRITE("oki2", okim6295_w)            // M6295 #1
1096   AM_RANGE(0x80, 0x80) AM_DEVWRITE_MODERN("oki2", okim6295_device, write)            // M6295 #1
10961097   AM_RANGE(0x90, 0x90) AM_WRITE(metmqstr_okibank1_w)               // Samples Bank #1
10971098ADDRESS_MAP_END
10981099
r9191r9192
11171118
11181119static ADDRESS_MAP_START( pwrinst2_sound_portmap, ADDRESS_SPACE_IO, 8 )
11191120   ADDRESS_MAP_GLOBAL_MASK(0xff)
1120   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)   // M6295
1121   AM_RANGE(0x08, 0x08) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)   //
1121   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)   // M6295
1122   AM_RANGE(0x08, 0x08) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)   //
11221123   AM_RANGE(0x10, 0x17) AM_DEVWRITE("nmk112", nmk112_okibank_w)         // Samples bank
11231124   AM_RANGE(0x40, 0x41) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)      //
11241125   AM_RANGE(0x50, 0x50) AM_WRITE(soundlatch_ack_w)                     // To Main CPU
r9191r9192
11861187   AM_RANGE(0x30, 0x30) AM_READ(soundlatch_lo_r)                     // From Main CPU
11871188   AM_RANGE(0x40, 0x40) AM_READ(soundlatch_hi_r)                     //
11881189   AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)      // YM2151
1189   AM_RANGE(0x60, 0x60) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)   // M6295 #0
1190   AM_RANGE(0x60, 0x60) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)   // M6295 #0
11901191   AM_RANGE(0x70, 0x70) AM_WRITE(sailormn_okibank0_w)                  // Samples Bank #0
1191   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)   // M6295 #1
1192   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)   // M6295 #1
11921193   AM_RANGE(0xc0, 0xc0) AM_WRITE(sailormn_okibank1_w)                  // Samples Bank #1
11931194ADDRESS_MAP_END
11941195
r9191r9192
17661767                                Dangun Feveron
17671768***************************************************************************/
17681769
1769static MACHINE_DRIVER_START( dfeveron )
1770static MACHINE_CONFIG_START( dfeveron, cave_state )
17701771
1771   /* driver data */
1772   MDRV_DRIVER_DATA(cave_state)
1773
17741772   /* basic machine hardware */
17751773   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
17761774   MDRV_CPU_PROGRAM_MAP(dfeveron_map)
r9191r9192
18021800   MDRV_SOUND_CONFIG(ymz280b_intf)
18031801   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
18041802   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1805MACHINE_DRIVER_END
1803MACHINE_CONFIG_END
18061804
18071805
18081806/***************************************************************************
r9191r9192
18101808***************************************************************************/
18111809
18121810
1813static MACHINE_DRIVER_START( ddonpach )
1811static MACHINE_CONFIG_START( ddonpach, cave_state )
18141812
1815   /* driver data */
1816   MDRV_DRIVER_DATA(cave_state)
1817
18181813   /* basic machine hardware */
18191814   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
18201815   MDRV_CPU_PROGRAM_MAP(ddonpach_map)
r9191r9192
18461841   MDRV_SOUND_CONFIG(ymz280b_intf)
18471842   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
18481843   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1849MACHINE_DRIVER_END
1844MACHINE_CONFIG_END
18501845
18511846
18521847/***************************************************************************
r9191r9192
18581853   "oki1", "oki2", 1 << 0   // chip #0 (music) is not paged
18591854};
18601855
1861static MACHINE_DRIVER_START( donpachi )
1856static MACHINE_CONFIG_START( donpachi, cave_state )
18621857
1863   /* driver data */
1864   MDRV_DRIVER_DATA(cave_state)
1865
18661858   /* basic machine hardware */
18671859   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
18681860   MDRV_CPU_PROGRAM_MAP(donpachi_map)
r9191r9192
18991891   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
19001892
19011893   MDRV_NMK112_ADD("nmk112", donpachi_nmk112_intf)
1902MACHINE_DRIVER_END
1894MACHINE_CONFIG_END
19031895
19041896
19051897/***************************************************************************
19061898                                Esprade
19071899***************************************************************************/
19081900
1909static MACHINE_DRIVER_START( esprade )
1901static MACHINE_CONFIG_START( esprade, cave_state )
19101902
1911   /* driver data */
1912   MDRV_DRIVER_DATA(cave_state)
1913
19141903   /* basic machine hardware */
19151904   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
19161905   MDRV_CPU_PROGRAM_MAP(esprade_map)
r9191r9192
19421931   MDRV_SOUND_CONFIG(ymz280b_intf)
19431932   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
19441933   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1945MACHINE_DRIVER_END
1934MACHINE_CONFIG_END
19461935
19471936
19481937/***************************************************************************
19491938                                    Gaia Crusaders
19501939***************************************************************************/
19511940
1952static MACHINE_DRIVER_START( gaia )
1941static MACHINE_CONFIG_START( gaia, cave_state )
19531942
1954   /* driver data */
1955   MDRV_DRIVER_DATA(cave_state)
1956
19571943   /* basic machine hardware */
19581944   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
19591945   MDRV_CPU_PROGRAM_MAP(gaia_map)
r9191r9192
19841970   MDRV_SOUND_CONFIG(ymz280b_intf)
19851971   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
19861972   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
1987MACHINE_DRIVER_END
1973MACHINE_CONFIG_END
19881974
19891975
19901976/***************************************************************************
19911977                                    Guwange
19921978***************************************************************************/
19931979
1994static MACHINE_DRIVER_START( guwange )
1980static MACHINE_CONFIG_START( guwange, cave_state )
19951981
1996   /* driver data */
1997   MDRV_DRIVER_DATA(cave_state)
1998
19991982   /* basic machine hardware */
20001983   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
20011984   MDRV_CPU_PROGRAM_MAP(guwange_map)
r9191r9192
20272010   MDRV_SOUND_CONFIG(ymz280b_intf)
20282011   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
20292012   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2030MACHINE_DRIVER_END
2013MACHINE_CONFIG_END
20312014
20322015/***************************************************************************
20332016                                Hotdog Storm
20342017***************************************************************************/
20352018
2036static MACHINE_DRIVER_START( hotdogst )
2019static MACHINE_CONFIG_START( hotdogst, cave_state )
20372020
2038   /* driver data */
2039   MDRV_DRIVER_DATA(cave_state)
2040
20412021   /* basic machine hardware */
20422022   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
20432023   MDRV_CPU_PROGRAM_MAP(hotdogst_map)
r9191r9192
20832063   MDRV_OKIM6295_ADD("oki", XTAL_1_056MHz, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
20842064   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
20852065   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
2086MACHINE_DRIVER_END
2066MACHINE_CONFIG_END
20872067
20882068
20892069/***************************************************************************
20902070                               Koro Koro Quest
20912071***************************************************************************/
20922072
2093static MACHINE_DRIVER_START( korokoro )
2073static MACHINE_CONFIG_START( korokoro, cave_state )
20942074
2095   /* driver data */
2096   MDRV_DRIVER_DATA(cave_state)
2097
20982075   /* basic machine hardware */
20992076   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
21002077   MDRV_CPU_PROGRAM_MAP(korokoro_map)
r9191r9192
21262103   MDRV_SOUND_CONFIG(ymz280b_intf)
21272104   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
21282105   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2129MACHINE_DRIVER_END
2106MACHINE_CONFIG_END
21302107
2131static MACHINE_DRIVER_START( crusherm )
2108static MACHINE_CONFIG_DERIVED( crusherm, korokoro )
21322109
2133   /* driver data */
2134   MDRV_IMPORT_FROM( korokoro )
2135
21362110   /* basic machine hardware */
21372111   MDRV_CPU_MODIFY("maincpu")
21382112   MDRV_CPU_PROGRAM_MAP(crusherm_map)
2139MACHINE_DRIVER_END
2113MACHINE_CONFIG_END
21402114
21412115
21422116/***************************************************************************
21432117                                Mazinger Z
21442118***************************************************************************/
21452119
2146static MACHINE_DRIVER_START( mazinger )
2120static MACHINE_CONFIG_START( mazinger, cave_state )
21472121
2148   /* driver data */
2149   MDRV_DRIVER_DATA(cave_state)
2150
21512122   /* basic machine hardware */
21522123   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
21532124   MDRV_CPU_PROGRAM_MAP(mazinger_map)
r9191r9192
21952166   MDRV_OKIM6295_ADD("oki", XTAL_1_056MHz, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
21962167   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 2.0)
21972168   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 2.0)
2198MACHINE_DRIVER_END
2169MACHINE_CONFIG_END
21992170
22002171
22012172/***************************************************************************
22022173                                Metamoqester
22032174***************************************************************************/
22042175
2205static MACHINE_DRIVER_START( metmqstr )
2176static MACHINE_CONFIG_START( metmqstr, cave_state )
22062177
2207   /* driver data */
2208   MDRV_DRIVER_DATA(cave_state)
2209
22102178   /* basic machine hardware */
22112179   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz / 2)
22122180   MDRV_CPU_PROGRAM_MAP(metmqstr_map)
r9191r9192
22522220   MDRV_OKIM6295_ADD("oki2", XTAL_32MHz / 16 , OKIM6295_PIN7_HIGH)
22532221   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
22542222   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
2255MACHINE_DRIVER_END
2223MACHINE_CONFIG_END
22562224
22572225
22582226/***************************************************************************
r9191r9192
22662234   "oki1", "oki2", 0
22672235};
22682236
2269static MACHINE_DRIVER_START( pwrinst2 )
2237static MACHINE_CONFIG_START( pwrinst2, cave_state )
22702238
2271   /* driver data */
2272   MDRV_DRIVER_DATA(cave_state)
2273
22742239   /* basic machine hardware */
22752240   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)   /* 16 MHz */
22762241   MDRV_CPU_PROGRAM_MAP(pwrinst2_map)
r9191r9192
23222287   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
23232288
23242289   MDRV_NMK112_ADD("nmk112", pwrinst2_nmk112_intf)
2325MACHINE_DRIVER_END
2290MACHINE_CONFIG_END
23262291
23272292
23282293/***************************************************************************
23292294                        Sailor Moon / Air Gallet
23302295***************************************************************************/
23312296
2332static MACHINE_DRIVER_START( sailormn )
2297static MACHINE_CONFIG_START( sailormn, cave_state )
23332298
2334   /* driver data */
2335   MDRV_DRIVER_DATA(cave_state)
2336
23372299   /* basic machine hardware */
23382300   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
23392301   MDRV_CPU_PROGRAM_MAP(sailormn_map)
r9191r9192
23782340   MDRV_OKIM6295_ADD("oki2", 2112000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
23792341   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
23802342   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
2381MACHINE_DRIVER_END
2343MACHINE_CONFIG_END
23822344
23832345
23842346/***************************************************************************
23852347                            Tobikose! Jumpman
23862348***************************************************************************/
23872349
2388static MACHINE_DRIVER_START( tjumpman )
2350static MACHINE_CONFIG_START( tjumpman, cave_state )
23892351
2390   /* driver data */
2391   MDRV_DRIVER_DATA(cave_state)
2352   MDRV_NVRAM_ADD_0FILL("nvram")
23922353
2393   MDRV_NVRAM_HANDLER(generic_0fill)
2394
23952354   /* basic machine hardware */
23962355   MDRV_CPU_ADD("maincpu", M68000, XTAL_28MHz / 2)
23972356   MDRV_CPU_PROGRAM_MAP(tjumpman_map)
r9191r9192
24262385   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
24272386
24282387   // oki2 spot is unpopulated
2429MACHINE_DRIVER_END
2388MACHINE_CONFIG_END
24302389
24312390
24322391/***************************************************************************
24332392                                Uo Poko
24342393***************************************************************************/
24352394
2436static MACHINE_DRIVER_START( uopoko )
2395static MACHINE_CONFIG_START( uopoko, cave_state )
24372396
2438   /* driver data */
2439   MDRV_DRIVER_DATA(cave_state)
2440
24412397   /* basic machine hardware */
24422398   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz)
24432399   MDRV_CPU_PROGRAM_MAP(uopoko_map)
r9191r9192
24682424   MDRV_SOUND_CONFIG(ymz280b_intf)
24692425   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
24702426   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
2471MACHINE_DRIVER_END
2427MACHINE_CONFIG_END
24722428
24732429
24742430/***************************************************************************
src/mame/drivers/comebaby.c
r9191r9192
7676INPUT_PORTS_END
7777
7878
79static MACHINE_DRIVER_START( comebaby )
79static MACHINE_CONFIG_START( comebaby, driver_device )
8080   /* basic machine hardware */
8181   MDRV_CPU_ADD("maincpu", PENTIUM, 2000000000) /* Probably a Pentium .. ?? Mhz*/
8282   MDRV_CPU_PROGRAM_MAP(comebaby_map)
r9191r9192
9393
9494   MDRV_VIDEO_START(comebaby)
9595   MDRV_VIDEO_UPDATE(comebaby)
96MACHINE_DRIVER_END
96MACHINE_CONFIG_END
9797
9898
9999ROM_START(comebaby)
src/mame/drivers/williams.c
r9191r9192
500500#include "machine/ticket.h"
501501#include "audio/williams.h"
502502#include "includes/williams.h"
503#include "machine/nvram.h"
503504
504505
505506#define MASTER_CLOCK      (12000000)
r9191r9192
517518   AM_RANGE(0x0000, 0xbfff) AM_RAM AM_BASE(&williams_videoram)
518519   /* range from 0xc000-0xcfff is mapped programmatically below */
519520   AM_RANGE(0xc000, 0xc00f) AM_BASE_GENERIC(paletteram)
520   AM_RANGE(0xc400, 0xc4ff) AM_BASE_SIZE_GENERIC(nvram)
521   AM_RANGE(0xc400, 0xc4ff) AM_SHARE("nvram")
521522   AM_RANGE(0xc000, 0xcfff) AM_ROMBANK("bank1")
522523   AM_RANGE(0xd000, 0xdfff) AM_WRITE(defender_bank_select_w)
523524   AM_RANGE(0xd000, 0xffff) AM_ROM
r9191r9192
538539   memory_install_read8_handler     (space, 0xc800, 0xcbff, 0, 0x03e0, williams_video_counter_r);
539540   memory_install_readwrite8_device_handler(space, pia_1, 0xcc00, 0xcc03, 0, 0x03e0, pia6821_r, pia6821_w);
540541   memory_install_readwrite8_device_handler(space, pia_0, 0xcc04, 0xcc07, 0, 0x03e0, pia6821_r, pia6821_w);
541   memory_set_bankptr(space->machine, "bank3", space->machine->generic.nvram.v);
542   memory_set_bankptr(space->machine, "bank3", space->machine->driver_data<williams_state>()->m_nvram);
542543   memory_set_bankptr(space->machine, "bank4", space->machine->generic.paletteram.v);
543544}
544545
r9191r9192
560561   AM_RANGE(0xca00, 0xca07) AM_MIRROR(0x00f8) AM_WRITE(williams_blitter_w)
561562   AM_RANGE(0xcb00, 0xcbff) AM_READ(williams_video_counter_r)
562563   AM_RANGE(0xcbff, 0xcbff) AM_WRITE(williams_watchdog_reset_w)
563   AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(williams_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
564   AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(williams_cmos_w) AM_SHARE("nvram")
564565   AM_RANGE(0xd000, 0xffff) AM_ROM
565566ADDRESS_MAP_END
566567
r9191r9192
575576   AM_RANGE(0xca00, 0xca07) AM_MIRROR(0x00f8) AM_WRITE(williams_blitter_w)
576577   AM_RANGE(0xcb00, 0xcbff) AM_READ(williams_video_counter_r)
577578   AM_RANGE(0xcbff, 0xcbff) AM_WRITE(williams_watchdog_reset_w)
578   AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(williams_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
579   AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(williams_cmos_w) AM_SHARE("nvram")
579580   AM_RANGE(0xd000, 0xdfff) AM_RAM
580581   AM_RANGE(0xe000, 0xffff) AM_ROM
581582ADDRESS_MAP_END
r9191r9192
604605   AM_RANGE(0xca00, 0xca07) AM_MIRROR(0x00f8) AM_WRITE(williams_blitter_w)
605606   AM_RANGE(0xcb00, 0xcbff) AM_READ(williams_video_counter_r)
606607   AM_RANGE(0xcbff, 0xcbff) AM_WRITE(williams_watchdog_reset_w)
607   AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(williams_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
608   AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(williams_cmos_w) AM_SHARE("nvram")
608609   AM_RANGE(0xd000, 0xffff) AM_ROM
609610ADDRESS_MAP_END
610611
r9191r9192
633634   AM_RANGE(0xcb80, 0xcb9f) AM_WRITE(defender_video_control_w)
634635   AM_RANGE(0xcba0, 0xcbbf) AM_WRITE(williams2_blit_window_enable_w)
635636   AM_RANGE(0xcbe0, 0xcbef) AM_READ(williams2_video_counter_r)
636   AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(williams_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
637   AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(williams_cmos_w) AM_SHARE("nvram")
637638   AM_RANGE(0xd000, 0xffff) AM_ROM
638639ADDRESS_MAP_END
639640
r9191r9192
655656   AM_RANGE(0xcb80, 0xcb9f) AM_WRITE(defender_video_control_w)
656657   AM_RANGE(0xcba0, 0xcbbf) AM_WRITE(williams2_blit_window_enable_w)
657658   AM_RANGE(0xcbe0, 0xcbef) AM_READ(williams2_video_counter_r)
658   AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(williams_cmos_w) AM_BASE_SIZE_GENERIC(nvram)
659   AM_RANGE(0xcc00, 0xcfff) AM_RAM_WRITE(williams_cmos_w) AM_SHARE("nvram")
659660   AM_RANGE(0xd000, 0xdfff) AM_RAM
660661   AM_RANGE(0xe000, 0xffff) AM_ROM
661662ADDRESS_MAP_END
r9191r9192
14261427 *
14271428 *************************************/
14281429
1429static MACHINE_DRIVER_START( defender )
1430static MACHINE_CONFIG_START( defender, williams_state )
14301431
14311432   /* basic machine hardware */
14321433   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/3/4)
r9191r9192
14371438
14381439   MDRV_MACHINE_START(defender)
14391440   MDRV_MACHINE_RESET(defender)
1440   MDRV_NVRAM_HANDLER(generic_0fill)
1441   MDRV_NVRAM_ADD_0FILL("nvram")
14411442
14421443   MDRV_TIMER_ADD("scan_timer", williams_va11_callback)
14431444   MDRV_TIMER_ADD("240_timer", williams_count240_callback)
r9191r9192
14621463   MDRV_PIA6821_ADD("pia_0", williams_pia_0_intf)
14631464   MDRV_PIA6821_ADD("pia_1", williams_pia_1_intf)
14641465   MDRV_PIA6821_ADD("pia_2", williams_snd_pia_intf)
1465MACHINE_DRIVER_END
1466MACHINE_CONFIG_END
14661467
14671468
1468static MACHINE_DRIVER_START( jin ) // needs a different screen size or the credit text is clipped
1469static MACHINE_CONFIG_DERIVED( jin, defender ) // needs a different screen size or the credit text is clipped
14691470   /* basic machine hardware */
1470   MDRV_IMPORT_FROM(defender)
14711471   MDRV_SCREEN_MODIFY("screen")
14721472   MDRV_SCREEN_VISIBLE_AREA(0, 315, 7, 245)
1473MACHINE_DRIVER_END
1473MACHINE_CONFIG_END
14741474
14751475
1476static MACHINE_DRIVER_START( williams )
1476static MACHINE_CONFIG_DERIVED( williams, defender )
14771477
14781478   /* basic machine hardware */
1479   MDRV_IMPORT_FROM(defender)
14801479
14811480   MDRV_CPU_MODIFY("maincpu")
14821481   MDRV_CPU_PROGRAM_MAP(williams_map)
r9191r9192
14881487   MDRV_MACHINE_RESET(williams)
14891488   MDRV_SCREEN_MODIFY("screen")
14901489   MDRV_SCREEN_VISIBLE_AREA(6, 298-1, 7, 247-1)
1491MACHINE_DRIVER_END
1490MACHINE_CONFIG_END
14921491
14931492
1494static MACHINE_DRIVER_START( williams_muxed )
1493static MACHINE_CONFIG_DERIVED( williams_muxed, williams )
14951494
14961495   /* basic machine hardware */
1497   MDRV_IMPORT_FROM(williams)
14981496
14991497   /* pia */
15001498   MDRV_PIA6821_MODIFY("pia_0", williams_muxed_pia_0_intf)
1501MACHINE_DRIVER_END
1499MACHINE_CONFIG_END
15021500
15031501
1504static MACHINE_DRIVER_START( williams_extra_ram )
1502static MACHINE_CONFIG_DERIVED( williams_extra_ram, williams )
15051503
15061504   /* basic machine hardware */
1507   MDRV_IMPORT_FROM(williams)
15081505
15091506   MDRV_CPU_MODIFY("maincpu")
15101507   MDRV_CPU_PROGRAM_MAP(williams_extra_ram_map)
1511MACHINE_DRIVER_END
1508MACHINE_CONFIG_END
15121509
15131510
1514static MACHINE_DRIVER_START( spdball )
1511static MACHINE_CONFIG_DERIVED( spdball, williams )
15151512
15161513   /* basic machine hardware */
1517   MDRV_IMPORT_FROM(williams)
15181514
15191515   /* pia */
15201516   MDRV_PIA6821_ADD("pia_3", spdball_pia_3_intf)
1521MACHINE_DRIVER_END
1517MACHINE_CONFIG_END
15221518
15231519
1524static MACHINE_DRIVER_START( lottofun )
1520static MACHINE_CONFIG_DERIVED( lottofun, williams )
15251521
15261522   /* basic machine hardware */
1527   MDRV_IMPORT_FROM(williams)
15281523
15291524   /* pia */
15301525   MDRV_PIA6821_MODIFY("pia_0", lottofun_pia_0_intf)
15311526   MDRV_TICKET_DISPENSER_ADD("ticket", 70, TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_HIGH)
1532MACHINE_DRIVER_END
1527MACHINE_CONFIG_END
15331528
15341529
1535static MACHINE_DRIVER_START( alienar )
1530static MACHINE_CONFIG_DERIVED( alienar, defender )
15361531
15371532   /* basic machine hardware */
1538   MDRV_IMPORT_FROM(defender)
15391533
15401534   MDRV_CPU_MODIFY("maincpu")
15411535   MDRV_CPU_PROGRAM_MAP(williams_map)
r9191r9192
15471541
15481542   /* pia */
15491543   MDRV_PIA6821_MODIFY("pia_0", williams_muxed_pia_0_intf)
1550MACHINE_DRIVER_END
1544MACHINE_CONFIG_END
15511545
15521546
1553static MACHINE_DRIVER_START( sinistar )
1547static MACHINE_CONFIG_DERIVED( sinistar, williams_extra_ram )
15541548
15551549   /* basic machine hardware */
1556   MDRV_IMPORT_FROM(williams_extra_ram)
15571550
15581551   /* sound hardware */
15591552   MDRV_SOUND_ADD("cvsd", HC55516, 0)
r9191r9192
15621555   /* pia */
15631556   MDRV_PIA6821_MODIFY("pia_0", williams_49way_pia_0_intf)
15641557   MDRV_PIA6821_MODIFY("pia_2", sinistar_snd_pia_intf)
1565MACHINE_DRIVER_END
1558MACHINE_CONFIG_END
15661559
15671560
1568static MACHINE_DRIVER_START( playball )
1561static MACHINE_CONFIG_DERIVED( playball, williams )
15691562
15701563   /* basic machine hardware */
1571   MDRV_IMPORT_FROM(williams)
15721564
15731565   /* video hardware */
15741566   MDRV_SCREEN_MODIFY("screen")
r9191r9192
15811573   /* pia */
15821574   MDRV_PIA6821_MODIFY("pia_1", playball_pia_1_intf)
15831575   MDRV_PIA6821_MODIFY("pia_2", sinistar_snd_pia_intf)
1584MACHINE_DRIVER_END
1576MACHINE_CONFIG_END
15851577
15861578
1587static MACHINE_DRIVER_START( blaster )
1579static MACHINE_CONFIG_DERIVED( blaster, williams )
15881580
15891581   /* basic machine hardware */
1590   MDRV_IMPORT_FROM(williams)
15911582
15921583   MDRV_CPU_MODIFY("maincpu")
15931584   MDRV_CPU_PROGRAM_MAP(blaster_map)
r9191r9192
16011592
16021593   /* pia */
16031594   MDRV_PIA6821_MODIFY("pia_0", williams_49way_pia_0_intf)
1604MACHINE_DRIVER_END
1595MACHINE_CONFIG_END
16051596
16061597
1607static MACHINE_DRIVER_START( blastkit )
1598static MACHINE_CONFIG_DERIVED( blastkit, blaster )
16081599
16091600   /* basic machine hardware */
1610   MDRV_IMPORT_FROM(blaster)
16111601
16121602   /* pia */
16131603   MDRV_PIA6821_MODIFY("pia_0", williams_49way_muxed_pia_0_intf)
1614MACHINE_DRIVER_END
1604MACHINE_CONFIG_END
16151605
16161606
1617static MACHINE_DRIVER_START( williams2 )
1607static MACHINE_CONFIG_START( williams2, williams_state )
16181608
16191609   /* basic machine hardware */
16201610   MDRV_CPU_ADD("maincpu", M6809, MASTER_CLOCK/3/4)
r9191r9192
16251615
16261616   MDRV_MACHINE_START(williams2)
16271617   MDRV_MACHINE_RESET(williams2)
1628   MDRV_NVRAM_HANDLER(generic_0fill)
1618   MDRV_NVRAM_ADD_0FILL("nvram")
16291619
16301620   MDRV_TIMER_ADD("scan_timer", williams2_va11_callback)
16311621   MDRV_TIMER_ADD("254_timer", williams2_endscreen_callback)
r9191r9192
16521642   MDRV_PIA6821_ADD("pia_0", williams2_muxed_pia_0_intf)
16531643   MDRV_PIA6821_ADD("pia_1", williams2_pia_1_intf)
16541644   MDRV_PIA6821_ADD("pia_2", williams2_snd_pia_intf)
1655MACHINE_DRIVER_END
1645MACHINE_CONFIG_END
16561646
16571647
1658static MACHINE_DRIVER_START( williams2_extra_ram )
1648static MACHINE_CONFIG_DERIVED( williams2_extra_ram, williams2 )
16591649
16601650   /* basic machine hardware */
1661   MDRV_IMPORT_FROM(williams2)
16621651
16631652   MDRV_CPU_MODIFY("maincpu")
16641653   MDRV_CPU_PROGRAM_MAP(williams2_extra_ram_map)
1665MACHINE_DRIVER_END
1654MACHINE_CONFIG_END
16661655
16671656
1668static MACHINE_DRIVER_START( mysticm )
1657static MACHINE_CONFIG_DERIVED( mysticm, williams2_extra_ram )
16691658
16701659   /* basic machine hardware */
1671   MDRV_IMPORT_FROM(williams2_extra_ram)
16721660
16731661   /* pia */
16741662   MDRV_PIA6821_MODIFY("pia_0", mysticm_pia_0_intf)
16751663   MDRV_PIA6821_MODIFY("pia_1", mysticm_pia_1_intf)
1676MACHINE_DRIVER_END
1664MACHINE_CONFIG_END
16771665
16781666
1679static MACHINE_DRIVER_START( tshoot )
1667static MACHINE_CONFIG_DERIVED( tshoot, williams2 )
16801668
16811669   /* basic machine hardware */
1682   MDRV_IMPORT_FROM(williams2)
16831670
16841671   /* pia */
16851672   MDRV_PIA6821_MODIFY("pia_0", tshoot_pia_0_intf)
16861673   MDRV_PIA6821_MODIFY("pia_1", tshoot_pia_1_intf)
16871674   MDRV_PIA6821_MODIFY("pia_2", tshoot_snd_pia_intf)
1688MACHINE_DRIVER_END
1675MACHINE_CONFIG_END
16891676
16901677
1691static MACHINE_DRIVER_START( joust2 )
1678static MACHINE_CONFIG_DERIVED( joust2, williams2 )
16921679
16931680   /* basic machine hardware */
1694   MDRV_IMPORT_FROM(williams2)
16951681   MDRV_DEVICE_REMOVE("mono")
1696   MDRV_IMPORT_FROM(williams_cvsd_sound)
1682   MDRV_FRAGMENT_ADD(williams_cvsd_sound)
16971683
16981684   MDRV_MACHINE_START(joust2)
16991685   MDRV_MACHINE_RESET(joust2)
17001686
17011687   /* pia */
17021688   MDRV_PIA6821_MODIFY("pia_1", joust2_pia_1_intf)
1703MACHINE_DRIVER_END
1689MACHINE_CONFIG_END
17041690
17051691
17061692
src/mame/drivers/dec8.c
r9191r9192
19731973}
19741974
19751975
1976static MACHINE_DRIVER_START( cobracom )
1976static MACHINE_CONFIG_START( cobracom, dec8_state )
19771977
1978   /* driver data */
1979   MDRV_DRIVER_DATA(dec8_state)
1980
19811978   /* basic machine hardware */
19821979   MDRV_CPU_ADD("maincpu", M6809, 2000000)
19831980   MDRV_CPU_PROGRAM_MAP(cobra_map)
r9191r9192
20182015   MDRV_SOUND_ADD("ym2", YM3812, 3000000)
20192016   MDRV_SOUND_CONFIG(ym3812_config)
20202017   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2021MACHINE_DRIVER_END
2018MACHINE_CONFIG_END
20222019
2023static MACHINE_DRIVER_START( ghostb )
2020static MACHINE_CONFIG_START( ghostb, dec8_state )
20242021
2025   /* driver data */
2026   MDRV_DRIVER_DATA(dec8_state)
2027
20282022   /* basic machine hardware */
20292023   MDRV_CPU_ADD("maincpu", HD6309, 3000000*4)
20302024   MDRV_CPU_PROGRAM_MAP(meikyuh_map)
r9191r9192
20702064   MDRV_SOUND_ADD("ym2", YM3812, 3000000)
20712065   MDRV_SOUND_CONFIG(ym3812_config)
20722066   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2073MACHINE_DRIVER_END
2067MACHINE_CONFIG_END
20742068
20752069
2076static MACHINE_DRIVER_START( srdarwin )
2070static MACHINE_CONFIG_START( srdarwin, dec8_state )
20772071
2078   /* driver data */
2079   MDRV_DRIVER_DATA(dec8_state)
2080
20812072   /* basic machine hardware */
20822073   MDRV_CPU_ADD("maincpu", M6809,2000000)  /* MC68A09EP */
20832074   MDRV_CPU_PROGRAM_MAP(srdarwin_map)
r9191r9192
21182109   MDRV_SOUND_ADD("ym2", YM3812, 3000000)
21192110   MDRV_SOUND_CONFIG(ym3812_config)
21202111   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2121MACHINE_DRIVER_END
2112MACHINE_CONFIG_END
21222113
2123static MACHINE_DRIVER_START( gondo )
2114static MACHINE_CONFIG_START( gondo, dec8_state )
21242115
2125   /* driver data */
2126   MDRV_DRIVER_DATA(dec8_state)
2127
21282116   /* basic machine hardware */
21292117   MDRV_CPU_ADD("maincpu", HD6309,3000000*4) /* HD63C09EP */
21302118   MDRV_CPU_PROGRAM_MAP(gondo_map)
r9191r9192
21692157   MDRV_SOUND_ADD("ym2", YM3526, 3000000)
21702158   MDRV_SOUND_CONFIG(ym3526_config)
21712159   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2172MACHINE_DRIVER_END
2160MACHINE_CONFIG_END
21732161
2174static MACHINE_DRIVER_START( oscar )
2162static MACHINE_CONFIG_START( oscar, dec8_state )
21752163
2176   /* driver data */
2177   MDRV_DRIVER_DATA(dec8_state)
2178
21792164   /* basic machine hardware */
21802165   MDRV_CPU_ADD("maincpu", HD6309, XTAL_12MHz/2) /* verified on pcb */
21812166   MDRV_CPU_PROGRAM_MAP(oscar_map)
r9191r9192
22202205   MDRV_SOUND_ADD("ym2", YM3526, XTAL_12MHz/4) /* verified on pcb */
22212206   MDRV_SOUND_CONFIG(ym3526_config)
22222207   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2223MACHINE_DRIVER_END
2208MACHINE_CONFIG_END
22242209
2225static MACHINE_DRIVER_START( lastmisn )
2210static MACHINE_CONFIG_START( lastmisn, dec8_state )
22262211
2227   /* driver data */
2228   MDRV_DRIVER_DATA(dec8_state)
2229
22302212   /* basic machine hardware */
22312213   MDRV_CPU_ADD("maincpu", M6809, 2000000)
22322214   MDRV_CPU_PROGRAM_MAP(lastmisn_map)
r9191r9192
22702252   MDRV_SOUND_ADD("ym2", YM3526, 3000000)
22712253   MDRV_SOUND_CONFIG(ym3526_config)
22722254   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2273MACHINE_DRIVER_END
2255MACHINE_CONFIG_END
22742256
2275static MACHINE_DRIVER_START( shackled )
2257static MACHINE_CONFIG_START( shackled, dec8_state )
22762258
2277   /* driver data */
2278   MDRV_DRIVER_DATA(dec8_state)
2279
22802259   /* basic machine hardware */
22812260   MDRV_CPU_ADD("maincpu", M6809, 2000000)
22822261   MDRV_CPU_PROGRAM_MAP(shackled_map)
r9191r9192
23202299   MDRV_SOUND_ADD("ym2", YM3526, 3000000)
23212300   MDRV_SOUND_CONFIG(ym3526_config)
23222301   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2323MACHINE_DRIVER_END
2302MACHINE_CONFIG_END
23242303
2325static MACHINE_DRIVER_START( csilver )
2304static MACHINE_CONFIG_START( csilver, dec8_state )
23262305
2327   /* driver data */
2328   MDRV_DRIVER_DATA(dec8_state)
2329
23302306   /* basic machine hardware */
23312307   MDRV_CPU_ADD("maincpu", M6809, XTAL_12MHz/8) /* verified on pcb */
23322308   MDRV_CPU_PROGRAM_MAP(csilver_map)
r9191r9192
23752351   MDRV_SOUND_ADD("msm", MSM5205, XTAL_384kHz) /* verified on pcb */
23762352   MDRV_SOUND_CONFIG(msm5205_config)
23772353   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.88)
2378MACHINE_DRIVER_END
2354MACHINE_CONFIG_END
23792355
2380static MACHINE_DRIVER_START( garyoret )
2356static MACHINE_CONFIG_START( garyoret, dec8_state )
23812357
2382   /* driver data */
2383   MDRV_DRIVER_DATA(dec8_state)
2384
23852358   /* basic machine hardware */
23862359   MDRV_CPU_ADD("maincpu", HD6309,3000000*4) /* HD63C09EP */
23872360   MDRV_CPU_PROGRAM_MAP(garyoret_map)
r9191r9192
24232396   MDRV_SOUND_ADD("ym2", YM3526, 3000000)
24242397   MDRV_SOUND_CONFIG(ym3526_config)
24252398   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
2426MACHINE_DRIVER_END
2399MACHINE_CONFIG_END
24272400
24282401/******************************************************************************/
24292402
src/mame/drivers/fuukifg3.c
r9191r9192
547547   irqhandler      /* irq */
548548};
549549
550static MACHINE_DRIVER_START( fuuki32 )
550static MACHINE_CONFIG_START( fuuki32, fuuki32_state )
551551
552   /* driver data */
553   MDRV_DRIVER_DATA(fuuki32_state)
554
555552   /* basic machine hardware */
556553   MDRV_CPU_ADD("maincpu", M68EC020, CPU_CLOCK) /* 20MHz verified */
557554   MDRV_CPU_PROGRAM_MAP(fuuki32_map)
r9191r9192
586583   MDRV_SOUND_CONFIG(fuuki32_ymf278b_interface)
587584   MDRV_SOUND_ROUTE(0, "lspeaker", 0.50)
588585   MDRV_SOUND_ROUTE(1, "rspeaker", 0.50)
589MACHINE_DRIVER_END
586MACHINE_CONFIG_END
590587
591588/***************************************************************************
592589
src/mame/drivers/rcorsair.c
r9191r9192
106106   return 0;
107107}
108108
109static MACHINE_DRIVER_START( rcorsair )
109static MACHINE_CONFIG_START( rcorsair, driver_device )
110110
111111   /* Main CPU is probably inside Custom Block with
112112       program code, unknown type */
r9191r9192
127127
128128   MDRV_VIDEO_START(rcorsair)
129129   MDRV_VIDEO_UPDATE(rcorsair)
130MACHINE_DRIVER_END
130MACHINE_CONFIG_END
131131
132132ROM_START( rcorsair )
133133   ROM_REGION( 0x2000, "maincpu", 0 )
src/mame/drivers/slotcarn.c
r9191r9192
591591*          Machine Driver          *
592592***********************************/
593593
594static MACHINE_DRIVER_START( slotcarn )
594static MACHINE_CONFIG_START( slotcarn, driver_device )
595595
596596   /* basic machine hardware */
597597   MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK) // 2.5 Mhz?
r9191r9192
622622   MDRV_SOUND_ADD("aysnd",AY8910, SND_CLOCK)
623623   MDRV_SOUND_CONFIG(scarn_ay8910_config)
624624   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
625MACHINE_DRIVER_END
625MACHINE_CONFIG_END
626626
627627
628628/******************************
src/mame/drivers/tbowl.c
r9191r9192
1717#include "sound/3812intf.h"
1818#include "sound/msm5205.h"
1919#include "rendlay.h"
20#include "includes/tbowl.h"
2021
2122static int adpcm_pos[2],adpcm_end[2];
2223static int adpcm_data[2];
2324static UINT8 *shared_ram;
2425
25/* in video/tbowl.c */
26extern UINT8 *tbowl_txvideoram, *tbowl_bgvideoram, *tbowl_bg2videoram;
27extern UINT8 *tbowl_spriteram;
28
29WRITE8_HANDLER (tbowl_bg2videoram_w);
30WRITE8_HANDLER (tbowl_bgvideoram_w);
31WRITE8_HANDLER (tbowl_txvideoram_w);
32
33WRITE8_HANDLER (tbowl_bg2xscroll_lo); WRITE8_HANDLER (tbowl_bg2xscroll_hi);
34WRITE8_HANDLER (tbowl_bg2yscroll_lo); WRITE8_HANDLER (tbowl_bg2yscroll_hi);
35WRITE8_HANDLER (tbowl_bgxscroll_lo);  WRITE8_HANDLER (tbowl_bgxscroll_hi);
36WRITE8_HANDLER (tbowl_bgyscroll_lo);  WRITE8_HANDLER (tbowl_bgyscroll_hi);
37
38VIDEO_START( tbowl );
39VIDEO_UPDATE( tbowl );
40
4126static WRITE8_HANDLER( tbowl_coin_counter_w )
4227{
4328   coin_counter_w(space->machine, 0, data & 1);
r9191r9192
477462   adpcm_data[0] = adpcm_data[1] = -1;
478463}
479464
480static MACHINE_DRIVER_START( tbowl )
465static MACHINE_CONFIG_START( tbowl, driver_device )
481466
482467   /* CPU on Board '6206B' */
483468   MDRV_CPU_ADD("maincpu", Z80, 8000000) /* NEC D70008AC-8 (Z80 Clone) */
r9191r9192
537522   MDRV_SOUND_ADD("msm2", MSM5205, 384000)
538523   MDRV_SOUND_CONFIG(msm5205_config)
539524   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
540MACHINE_DRIVER_END
525MACHINE_CONFIG_END
541526
542527
543528/* Board Layout from readme.txt
src/mame/drivers/battlane.c
r9191r9192
293293   state->cpu_control = 0;
294294}
295295
296static MACHINE_DRIVER_START( battlane )
296static MACHINE_CONFIG_START( battlane, battlane_state )
297297
298   /* driver data */
299   MDRV_DRIVER_DATA(battlane_state)
300
301298   /* basic machine hardware */
302299   MDRV_CPU_ADD("maincpu", M6809, 1250000)        /* 1.25 MHz ? */
303300   MDRV_CPU_PROGRAM_MAP(battlane_map)
r9191r9192
330327   MDRV_SOUND_ADD("ymsnd", YM3526, 3000000)
331328   MDRV_SOUND_CONFIG(ym3526_config)
332329   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
333MACHINE_DRIVER_END
330MACHINE_CONFIG_END
334331
335332
336333/*************************************
src/mame/drivers/atarigt.c
r9191r9192
609609   AM_RANGE(0xc00000, 0xc00003) AM_READWRITE(sound_data_r, sound_data_w)
610610   AM_RANGE(0xd00014, 0xd00017) AM_READ(analog_port0_r)
611611   AM_RANGE(0xd0001c, 0xd0001f) AM_READ(analog_port1_r)
612   AM_RANGE(0xd20000, 0xd20fff) AM_READWRITE(atarigen_eeprom_upper32_r, atarigen_eeprom32_w) AM_BASE_SIZE_MEMBER(atarigt_state, eeprom, eeprom_size)
612   AM_RANGE(0xd20000, 0xd20fff) AM_READWRITE(atarigen_eeprom_upper32_r, atarigen_eeprom32_w) AM_SHARE("eeprom")
613613   AM_RANGE(0xd40000, 0xd4ffff) AM_WRITE(atarigen_eeprom_enable32_w)
614614   AM_RANGE(0xd72000, 0xd75fff) AM_WRITE(atarigen_playfield32_w) AM_BASE_MEMBER(atarigt_state, playfield32)
615615   AM_RANGE(0xd76000, 0xd76fff) AM_WRITE(atarigen_alpha32_w) AM_BASE_MEMBER(atarigt_state, alpha32)
r9191r9192
790790 *
791791 *************************************/
792792
793static MACHINE_DRIVER_START( atarigt )
794   MDRV_DRIVER_DATA(atarigt_state)
793static MACHINE_CONFIG_START( atarigt, atarigt_state )
795794
796795   /* basic machine hardware */
797796   MDRV_CPU_ADD("maincpu", M68EC020, ATARI_CLOCK_50MHz/2)
r9191r9192
801800
802801   MDRV_MACHINE_START(atarigt)
803802   MDRV_MACHINE_RESET(atarigt)
804   MDRV_NVRAM_HANDLER(atarigen)
803   MDRV_NVRAM_ADD_1FILL("eeprom")
805804
806805   /* video hardware */
807806   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
819818   MDRV_VIDEO_UPDATE(atarigt)
820819
821820   /* sound hardware */
822   MDRV_IMPORT_FROM(cage)
823MACHINE_DRIVER_END
821   MDRV_FRAGMENT_ADD(cage)
822MACHINE_CONFIG_END
824823
825824
826825
src/mame/drivers/bigfghtr.c
r9191r9192
117117#include "sound/3812intf.h"
118118
119119
120class bigfghtr_state : public driver_data_t
120class bigfghtr_state : public driver_device
121121{
122122public:
123   static driver_data_t *alloc(running_machine &machine) { return auto_alloc_clear(&machine, bigfghtr_state(machine)); }
123   bigfghtr_state(running_machine &machine, const driver_device_config_base &config)
124      : driver_device(machine, config) { }
124125
125   bigfghtr_state(running_machine &machine)
126      : driver_data_t(machine) { }
127
128126   /* video-related */
129127   UINT16 *      text_videoram;
130128   UINT16 *      bg_videoram;
r9191r9192
559557}
560558
561559
562static MACHINE_DRIVER_START( bigfghtr )
563   MDRV_DRIVER_DATA(bigfghtr_state)
560static MACHINE_CONFIG_START( bigfghtr, bigfghtr_state )
564561
565562   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz?? */
566563   MDRV_CPU_PROGRAM_MAP(mainmem)
r9191r9192
602599
603600   MDRV_SOUND_ADD("dac2", DAC, 0)
604601   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
605MACHINE_DRIVER_END
602MACHINE_CONFIG_END
606603
607604
608605ROM_START( skyrobo )
src/mame/drivers/rabbit.c
r9191r9192
935935   cpu_set_input_line(device, intlevel, HOLD_LINE);
936936}
937937
938static MACHINE_DRIVER_START( rabbit )
938static MACHINE_CONFIG_START( rabbit, driver_device )
939939   MDRV_CPU_ADD("maincpu",M68EC020,24000000) /* 24 MHz */
940940   MDRV_CPU_PROGRAM_MAP(rabbit_map)
941941   MDRV_CPU_VBLANK_INT_HACK(rabbit_interrupts,262)
r9191r9192
957957
958958   MDRV_VIDEO_START(rabbit)
959959   MDRV_VIDEO_UPDATE(rabbit)
960MACHINE_DRIVER_END
960MACHINE_CONFIG_END
961961
962962
963963
src/mame/drivers/crimfght.c
r9191r9192
275275   konami_configure_set_lines(machine->device("maincpu"), crimfght_banking);
276276}
277277
278static MACHINE_DRIVER_START( crimfght )
278static MACHINE_CONFIG_START( crimfght, crimfght_state )
279279
280   /* driver data */
281   MDRV_DRIVER_DATA(crimfght_state)
282
283280   /* basic machine hardware */
284281   MDRV_CPU_ADD("maincpu", KONAMI, 3000000)      /* ? */
285282   MDRV_CPU_PROGRAM_MAP(crimfght_map)
r9191r9192
323320   MDRV_SOUND_ROUTE(0, "rspeaker", 0.20)
324321   MDRV_SOUND_ROUTE(1, "lspeaker", 0.20)
325322   MDRV_SOUND_ROUTE(1, "rspeaker", 0.20)
326MACHINE_DRIVER_END
323MACHINE_CONFIG_END
327324
328325/***************************************************************************
329326
src/mame/drivers/triplhnt.c
r9191r9192
1212
1313#include "emu.h"
1414#include "cpu/m6800/m6800.h"
15#include "machine/nvram.h"
1516#include "includes/triplhnt.h"
1617
1718static UINT8 triplhnt_cmos[16];
r9191r9192
2324
2425static DRIVER_INIT( triplhnt )
2526{
26   machine->generic.nvram.u8 = triplhnt_cmos;
27   machine->generic.nvram_size = sizeof triplhnt_cmos;
27   machine->device<nvram_device>("nvram")->set_base(triplhnt_cmos, sizeof(triplhnt_cmos));
2828}
2929
3030
r9191r9192
148148   AM_RANGE(0x0c0a, 0x0c0a) AM_READ_PORT("0C0A")
149149   AM_RANGE(0x0c0b, 0x0c0b) AM_READ(triplhnt_input_port_4_r)
150150   AM_RANGE(0x0c10, 0x0c1f) AM_READ(triplhnt_da_latch_r)
151   AM_RANGE(0x0c20, 0x0c2f) AM_READ(triplhnt_cmos_r)
151   AM_RANGE(0x0c20, 0x0c2f) AM_READ(triplhnt_cmos_r) AM_SHARE("nvram")
152152   AM_RANGE(0x0c30, 0x0c3f) AM_READWRITE(triplhnt_misc_r, triplhnt_misc_w)
153153   AM_RANGE(0x0c40, 0x0c40) AM_READ_PORT("0C40")
154154   AM_RANGE(0x0c48, 0x0c48) AM_READ_PORT("0C48")
r9191r9192
309309}
310310
311311
312static MACHINE_DRIVER_START( triplhnt )
312static MACHINE_CONFIG_START( triplhnt, driver_device )
313313
314314/* basic machine hardware */
315315   MDRV_CPU_ADD("maincpu", M6800, 800000)
316316   MDRV_CPU_PROGRAM_MAP(triplhnt_map)
317317   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
318318
319   MDRV_NVRAM_HANDLER(generic_0fill)
319   MDRV_NVRAM_ADD_0FILL("nvram")
320320
321321   /* video hardware */
322322   MDRV_SCREEN_ADD("screen", RASTER)
r9191r9192
341341   MDRV_SOUND_ADD("discrete", DISCRETE, 0)
342342   MDRV_SOUND_CONFIG_DISCRETE(triplhnt)
343343   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
344MACHINE_DRIVER_END
344MACHINE_CONFIG_END
345345
346346
347347ROM_START( triplhnt )
src/mame/drivers/asuka.c
r9191r9192
892892   "maincpu", "audiocpu"
893893};
894894
895static MACHINE_DRIVER_START( bonzeadv )
895static MACHINE_CONFIG_START( bonzeadv, asuka_state )
896896
897   /* driver data */
898   MDRV_DRIVER_DATA(asuka_state)
899
900897   /* basic machine hardware */
901898   MDRV_CPU_ADD("maincpu", M68000, 8000000)    /* checked on PCB */
902899   MDRV_CPU_PROGRAM_MAP(bonzeadv_map)
r9191r9192
937934   MDRV_SOUND_ROUTE(2, "mono", 1.0)
938935
939936   MDRV_TC0140SYT_ADD("tc0140syt", asuka_tc0140syt_intf)
940MACHINE_DRIVER_END
937MACHINE_CONFIG_END
941938
942static MACHINE_DRIVER_START( asuka )
939static MACHINE_CONFIG_START( asuka, asuka_state )
943940
944   /* driver data */
945   MDRV_DRIVER_DATA(asuka_state)
946
947941   /* basic machine hardware */
948942   MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz/2)   /* verified on pcb */
949943   MDRV_CPU_PROGRAM_MAP(asuka_map)
r9191r9192
989983   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
990984
991985   MDRV_TC0140SYT_ADD("tc0140syt", asuka_tc0140syt_intf)
992MACHINE_DRIVER_END
986MACHINE_CONFIG_END
993987
994static MACHINE_DRIVER_START( cadash )
988static MACHINE_CONFIG_START( cadash, asuka_state )
995989
996   /* driver data */
997   MDRV_DRIVER_DATA(asuka_state)
998
999990   /* basic machine hardware */
1000991   MDRV_CPU_ADD("maincpu", M68000, XTAL_32MHz/2)   /* 68000p12 running at 16Mhz, verified on pcb  */
1001992   MDRV_CPU_PROGRAM_MAP(cadash_map)
r9191r9192
10411032   MDRV_SOUND_ROUTE(1, "mono", 0.50)
10421033
10431034   MDRV_TC0140SYT_ADD("tc0140syt", asuka_tc0140syt_intf)
1044MACHINE_DRIVER_END
1035MACHINE_CONFIG_END
10451036
1046static MACHINE_DRIVER_START( mofflott )
1037static MACHINE_CONFIG_START( mofflott, asuka_state )
10471038
1048   /* driver data */
1049   MDRV_DRIVER_DATA(asuka_state)
1050
10511039   /* basic machine hardware */
10521040   MDRV_CPU_ADD("maincpu", M68000, 8000000)   /* 8 MHz ??? */
10531041   MDRV_CPU_PROGRAM_MAP(asuka_map)
r9191r9192
10931081   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
10941082
10951083   MDRV_TC0140SYT_ADD("tc0140syt", asuka_tc0140syt_intf)
1096MACHINE_DRIVER_END
1084MACHINE_CONFIG_END
10971085
1098static MACHINE_DRIVER_START( galmedes )
1086static MACHINE_CONFIG_START( galmedes, asuka_state )
10991087
1100   /* driver data */
1101   MDRV_DRIVER_DATA(asuka_state)
1102
11031088   /* basic machine hardware */
11041089   MDRV_CPU_ADD("maincpu", M68000, 8000000)   /* 8 MHz ??? */
11051090   MDRV_CPU_PROGRAM_MAP(asuka_map)
r9191r9192
11411126   MDRV_SOUND_ROUTE(1, "mono", 0.50)
11421127
11431128   MDRV_TC0140SYT_ADD("tc0140syt", asuka_tc0140syt_intf)
1144MACHINE_DRIVER_END
1129MACHINE_CONFIG_END
11451130
1146static MACHINE_DRIVER_START( eto )
1131static MACHINE_CONFIG_START( eto, asuka_state )
11471132
1148   /* driver data */
1149   MDRV_DRIVER_DATA(asuka_state)
1150
11511133   /* basic machine hardware */
11521134   MDRV_CPU_ADD("maincpu", M68000, 8000000)   /* 8 MHz ??? */
11531135   MDRV_CPU_PROGRAM_MAP(eto_map)
r9191r9192
11891171   MDRV_SOUND_ROUTE(1, "mono", 0.50)
11901172
11911173   MDRV_TC0140SYT_ADD("tc0140syt", asuka_tc0140syt_intf)
1192MACHINE_DRIVER_END
1174MACHINE_CONFIG_END
11931175
11941176
11951177/***************************************************************************
src/mame/drivers/pooyan.c
r9191r9192
222222}
223223
224224
225static MACHINE_DRIVER_START( pooyan )
225static MACHINE_CONFIG_START( pooyan, timeplt_state )
226226
227   /* driver data */
228   MDRV_DRIVER_DATA(timeplt_state)
229
230227   /* basic machine hardware */
231228   MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/3/2)
232229   MDRV_CPU_PROGRAM_MAP(main_map)
r9191r9192
250247   MDRV_VIDEO_UPDATE(pooyan)
251248
252249   /* sound hardware */
253   MDRV_IMPORT_FROM(timeplt_sound)
254MACHINE_DRIVER_END
250   MDRV_FRAGMENT_ADD(timeplt_sound)
251MACHINE_CONFIG_END
255252
256253
257254/*************************************
src/mame/drivers/rollerg.c
r9191r9192
261261   state->readzoomroms = 0;
262262}
263263
264static MACHINE_DRIVER_START( rollerg )
264static MACHINE_CONFIG_START( rollerg, rollerg_state )
265265
266   /* driver data */
267   MDRV_DRIVER_DATA(rollerg_state)
268
269266   /* basic machine hardware */
270267   MDRV_CPU_ADD("maincpu", KONAMI, 3000000)      /* ? */
271268   MDRV_CPU_PROGRAM_MAP(rollerg_map)
r9191r9192
303300
304301   MDRV_SOUND_ADD("k053260", K053260, 3579545)
305302   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
306MACHINE_DRIVER_END
303MACHINE_CONFIG_END
307304
308305
309306
src/mame/drivers/hvyunit.c
r9191r9192
640640};
641641
642642
643static MACHINE_DRIVER_START( hvyunit )
643static MACHINE_CONFIG_START( hvyunit, driver_device )
644644
645645   MDRV_CPU_ADD("master", Z80,6000000)
646646   MDRV_CPU_PROGRAM_MAP(master_memory)
r9191r9192
681681
682682   MDRV_SOUND_ADD("ymsnd", YM2203, 3000000)
683683   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
684MACHINE_DRIVER_END
684MACHINE_CONFIG_END
685685
686686
687687
src/mame/drivers/wolfpack.c
r9191r9192
77#include "emu.h"
88#include "cpu/m6502/m6502.h"
99#include "sound/s14001a.h"
10#include "includes/wolfpack.h"
1011
11extern int wolfpack_collision;
12
13extern UINT8* wolfpack_alpha_num_ram;
14
15PALETTE_INIT( wolfpack );
16VIDEO_UPDATE( wolfpack );
17VIDEO_START( wolfpack );
18VIDEO_EOF( wolfpack );
19
20WRITE8_HANDLER( wolfpack_video_invert_w );
21WRITE8_HANDLER( wolfpack_ship_reflect_w );
22WRITE8_HANDLER( wolfpack_pt_pos_select_w );
23WRITE8_HANDLER( wolfpack_pt_horz_w );
24WRITE8_HANDLER( wolfpack_pt_pic_w );
25WRITE8_HANDLER( wolfpack_ship_h_w );
26WRITE8_HANDLER( wolfpack_torpedo_pic_w );
27WRITE8_HANDLER( wolfpack_ship_size_w );
28WRITE8_HANDLER( wolfpack_ship_h_precess_w );
29WRITE8_HANDLER( wolfpack_ship_pic_w );
30WRITE8_HANDLER( wolfpack_torpedo_h_w );
31WRITE8_HANDLER( wolfpack_torpedo_v_w );
32
33
3412static TIMER_CALLBACK( periodic_callback )
3513{
3614   int scanline = param;
r9191r9192
306284GFXDECODE_END
307285
308286
309static MACHINE_DRIVER_START(wolfpack)
287static MACHINE_CONFIG_START( wolfpack, driver_device )
310288   MDRV_SPEAKER_STANDARD_MONO("mono")
311289
312290   /* basic machine hardware */
r9191r9192
333311   /* sound hardware */
334312   MDRV_SOUND_ADD("speech", S14001A, 20000) /* RC Clock (C=100pf, R=470K-670K ohms, adjustable) ranging from 14925.37313hz to 21276.59574hz, likely factory set to 20000hz since anything below 19500 is too slow */
335313   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
336MACHINE_DRIVER_END
314MACHINE_CONFIG_END
337315
338316
339317ROM_START( wolfpack )
src/mame/drivers/pirates.c
r9191r9192
9191#include "cpu/m68000/m68000.h"
9292#include "machine/eeprom.h"
9393#include "sound/okim6295.h"
94#include "includes/pirates.h"
9495
95extern UINT16 *pirates_tx_tileram, *pirates_spriteram;
96extern UINT16 *pirates_fg_tileram,  *pirates_bg_tileram;
97extern UINT16 *pirates_scroll;
9896
99VIDEO_START(pirates);
100WRITE16_HANDLER( pirates_tx_tileram_w );
101WRITE16_HANDLER( pirates_fg_tileram_w );
102WRITE16_HANDLER( pirates_bg_tileram_w );
103VIDEO_UPDATE(pirates);
104
105
106
10797static const eeprom_interface eeprom_intf =
10898{
10999   6,            /* address bits */
r9191r9192
189179//  AM_RANGE(0x902580, 0x902a7f) AM_RAM  // more of tilemaps ?
190180   AM_RANGE(0x902a80, 0x904187) AM_RAM_WRITE(pirates_bg_tileram_w) AM_BASE(&pirates_bg_tileram)
191181//  AM_RANGE(0x903c80, 0x904187) AM_RAM  // more of tilemaps ?
192   AM_RANGE(0xa00000, 0xa00001) AM_DEVREADWRITE8("oki", okim6295_r,okim6295_w, 0x00ff)
182   AM_RANGE(0xa00000, 0xa00001) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)
193183ADDRESS_MAP_END
194184
195185
r9191r9192
270260
271261/* Machine Driver + Related bits */
272262
273static MACHINE_DRIVER_START( pirates )
263static MACHINE_CONFIG_START( pirates, driver_device )
274264   MDRV_CPU_ADD("maincpu", M68000, 16000000) /* 16mhz */
275265   MDRV_CPU_PROGRAM_MAP(pirates_map)
276266   MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
r9191r9192
296286
297287   MDRV_OKIM6295_ADD("oki", 1333333, OKIM6295_PIN7_LOW)
298288   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
299MACHINE_DRIVER_END
289MACHINE_CONFIG_END
300290
301291
302292
src/mame/drivers/tankbatt.c
r9191r9192
5959#include "emu.h"
6060#include "cpu/m6502/m6502.h"
6161#include "sound/samples.h"
62#include "includes/tankbatt.h"
6263
63extern UINT8 *tankbatt_bulletsram;
64extern size_t tankbatt_bulletsram_size;
65
6664static int tankbatt_nmi_enable; /* No need to init this - the game will set it on reset */
6765static int tankbatt_sound_enable;
6866
69extern WRITE8_HANDLER( tankbatt_videoram_w );
70
71extern PALETTE_INIT( tankbatt );
72extern VIDEO_START( tankbatt );
73extern VIDEO_UPDATE( tankbatt );
74
7567static WRITE8_HANDLER( tankbatt_led_w )
7668{
7769   set_led_status(space->machine, offset,data & 1);
r9191r9192
170162   AM_RANGE(0x0000, 0x000f) AM_RAM AM_BASE(&tankbatt_bulletsram) AM_SIZE(&tankbatt_bulletsram_size)
171163   AM_RANGE(0x0010, 0x01ff) AM_RAM
172164   AM_RANGE(0x0200, 0x07ff) AM_RAM
173   AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(tankbatt_videoram_w) AM_BASE_GENERIC(videoram)
165   AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(tankbatt_videoram_w) AM_BASE_MEMBER(tankbatt_state, videoram)
174166   AM_RANGE(0x0c00, 0x0c07) AM_READ(tankbatt_in0_r)
175167   AM_RANGE(0x0c00, 0x0c01) AM_WRITE(tankbatt_led_w)
176168   AM_RANGE(0x0c02, 0x0c02) AM_WRITE(tankbatt_coin_counter_w)
r9191r9192
297289
298290
299291
300static MACHINE_DRIVER_START( tankbatt )
292static MACHINE_CONFIG_START( tankbatt, tankbatt_state )
301293
302294   /* basic machine hardware */
303295   MDRV_CPU_ADD("maincpu", M6502, 1000000)   /* 1 MHz ???? */
r9191r9192
325317   MDRV_SOUND_ADD("samples", SAMPLES, 0)
326318   MDRV_SOUND_CONFIG(tankbatt_samples_interface)
327319   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
328MACHINE_DRIVER_END
320MACHINE_CONFIG_END
329321
330322
331323
src/mame/drivers/wrally.c
r9191r9192
114114   AM_RANGE(0x700004, 0x700005) AM_READ_PORT("WHEEL")
115115   AM_RANGE(0x700008, 0x700009) AM_READ_PORT("SYSTEM")
116116   AM_RANGE(0x70000c, 0x70000d) AM_WRITE(OKIM6295_bankswitch_w)                        /* OKI6295 bankswitch */
117   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8("oki", okim6295_r, okim6295_w, 0x00ff)   /* OKI6295 status/data register */
117   AM_RANGE(0x70000e, 0x70000f) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)   /* OKI6295 status/data register */
118118   AM_RANGE(0x70000a, 0x70001b) AM_WRITE(wrally_coin_lockout_w)                        /* Coin lockouts */
119119   AM_RANGE(0x70002a, 0x70003b) AM_WRITE(wrally_coin_counter_w)                        /* Coin counters */
120120   AM_RANGE(0x70004a, 0x70004b) AM_WRITENOP                                    /* Sound muting */
r9191r9192
245245GFXDECODE_END
246246
247247
248static MACHINE_DRIVER_START( wrally )
248static MACHINE_CONFIG_START( wrally, driver_device )
249249   /* basic machine hardware */
250250   MDRV_CPU_ADD("maincpu", M68000,XTAL_24MHz/2)      /* verified on pcb */
251251   MDRV_CPU_PROGRAM_MAP(wrally_map)
r9191r9192
277277
278278   MDRV_OKIM6295_ADD("oki", XTAL_1MHz, OKIM6295_PIN7_HIGH)               /* verified on pcb */
279279   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
280MACHINE_DRIVER_END
280MACHINE_CONFIG_END
281281
282282
283283ROM_START( wrally )
src/mame/drivers/subs.c
r9191r9192
6565   AM_RANGE(0x006e, 0x006f) AM_WRITE(subs_invert2_w)
6666   AM_RANGE(0x0090, 0x009f) AM_BASE_GENERIC(spriteram)
6767   AM_RANGE(0x0000, 0x01ff) AM_RAM
68   AM_RANGE(0x0800, 0x0bff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
68   AM_RANGE(0x0800, 0x0bff) AM_RAM AM_BASE_MEMBER(subs_state, videoram)
6969   AM_RANGE(0x2000, 0x3fff) AM_ROM
7070ADDRESS_MAP_END
7171
r9191r9192
175175 *
176176 *************************************/
177177
178static MACHINE_DRIVER_START( subs )
178static MACHINE_CONFIG_START( subs, subs_state )
179179
180180   /* basic machine hardware */
181181   MDRV_CPU_ADD("maincpu", M6502,12096000/16)      /* clock input is the "4H" signal */
r9191r9192
213213   MDRV_SOUND_CONFIG_DISCRETE(subs)
214214   MDRV_SOUND_ROUTE(0, "lspeaker", 1.0)
215215   MDRV_SOUND_ROUTE(1, "rspeaker", 1.0)
216MACHINE_DRIVER_END
216MACHINE_CONFIG_END
217217
218218
219219
src/mame/drivers/royalmah.c
r9191r9192
9595#include "machine/msm6242.h"
9696#include "sound/ay8910.h"
9797#include "sound/dac.h"
98#include "machine/nvram.h"
9899
99100
101class royalmah_state : public driver_device
102{
103public:
104   royalmah_state(running_machine &machine, const driver_device_config_base &config)
105      : driver_device(machine, config) { }
106
107   UINT8 *videoram;
108};
109
110
111
100112static UINT8 input_port_select, dsw_select, rombank;
101113static int palette_base;
114static UINT8 *janptr96_nvram;
102115
103
104116static PALETTE_INIT( royalmah )
105117{
106118   offs_t i;
r9191r9192
185197
186198static VIDEO_UPDATE( royalmah )
187199{
200   royalmah_state *state = screen->machine->driver_data<royalmah_state>();
201   UINT8 *videoram = state->videoram;
188202
189203   offs_t offs;
190204
r9191r9192
192206   {
193207      int i;
194208
195      UINT8 data1 = screen->machine->generic.videoram.u8[offs + 0x0000];
196      UINT8 data2 = screen->machine->generic.videoram.u8[offs + 0x4000];
209      UINT8 data1 = videoram[offs + 0x0000];
210      UINT8 data2 = videoram[offs + 0x4000];
197211
198212      UINT8 y = 255 - (offs >> 6);
199213      UINT8 x = 255 - (offs << 2);
r9191r9192
421435
422436static ADDRESS_MAP_START( royalmah_map, ADDRESS_SPACE_PROGRAM, 8 )
423437   AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITE( royalmah_rom_w )
424   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
438   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
425439   AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" )   // banked ROMs not present in royalmah
426   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
440   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
427441ADDRESS_MAP_END
428442
429443
430444static ADDRESS_MAP_START( mjapinky_map, ADDRESS_SPACE_PROGRAM, 8 )
431445   AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITE( royalmah_rom_w )
432   AM_RANGE( 0x7000, 0x77ff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
446   AM_RANGE( 0x7000, 0x77ff ) AM_RAM AM_SHARE("nvram")
433447   AM_RANGE( 0x7800, 0x7fff ) AM_RAM
434448   AM_RANGE( 0x8000, 0x8000 ) AM_READ( mjapinky_dsw_r )
435449   AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" )
436   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
450   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
437451ADDRESS_MAP_END
438452
439453
r9191r9192
564578
565579static ADDRESS_MAP_START( janho_map, ADDRESS_SPACE_PROGRAM, 8 )
566580   AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITE( royalmah_rom_w )
567   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("share1") AM_BASE_SIZE_GENERIC(nvram)
568   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
581   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
582   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
569583ADDRESS_MAP_END
570584
571585
r9191r9192
578592   AM_RANGE( 0x6000, 0x607f ) AM_RAM
579593   AM_RANGE( 0x7000, 0x7000 ) AM_READNOP
580594   AM_RANGE( 0x7200, 0x7200 ) AM_WRITENOP
581   AM_RANGE( 0xf000, 0xffff ) AM_RAM AM_SHARE("share1")
595   AM_RANGE( 0xf000, 0xffff ) AM_RAM AM_SHARE("nvram")
582596ADDRESS_MAP_END
583597
584598static ADDRESS_MAP_START( janoh_sub_iomap, ADDRESS_SPACE_IO, 8 )
r9191r9192
686700   AM_RANGE( 0x6407, 0x6407 ) AM_READ(jansou_dsw_r)
687701   AM_RANGE( 0x6800, 0x6800 ) AM_WRITE(jansou_sound_w)
688702
689   AM_RANGE( 0x7000, 0x77ff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
690   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
703   AM_RANGE( 0x7000, 0x77ff ) AM_RAM AM_SHARE("nvram")
704   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
691705ADDRESS_MAP_END
692706
693707static ADDRESS_MAP_START( jansou_sub_map, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
707721
708722static ADDRESS_MAP_START( janptr96_map, ADDRESS_SPACE_PROGRAM, 8 )
709723   AM_RANGE( 0x0000, 0x5fff) AM_ROM
710   AM_RANGE( 0x6000, 0x6fff ) AM_RAMBANK("bank3")   // nvram
724   AM_RANGE( 0x6000, 0x6fff ) AM_RAMBANK("bank3") AM_SHARE("nvram")   // nvram
711725   AM_RANGE( 0x7000, 0x7fff ) AM_RAMBANK("bank2")   // banked nvram
712726   AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
713   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
727   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
714728ADDRESS_MAP_END
715729
716730static WRITE8_HANDLER( janptr96_dswsel_w )
r9191r9192
743757
744758static WRITE8_HANDLER( janptr96_rambank_w )
745759{
746   memory_set_bankptr(space->machine, "bank2",space->machine->generic.nvram.u8 + 0x1000 + 0x1000 * data);
760   memory_set_bankptr(space->machine, "bank2", janptr96_nvram + 0x1000 + 0x1000 * data);
747761}
748762
749763static READ8_HANDLER( janptr96_unknown_r )
r9191r9192
808822
809823static WRITE8_HANDLER( mjifb_rom_io_w )
810824{
825   royalmah_state *state = space->machine->driver_data<royalmah_state>();
826   UINT8 *videoram = state->videoram;
811827   if (mjifb_rom_enable)
812828   {
813      space->machine->generic.videoram.u8[offset] = data;
829      videoram[offset] = data;
814830      return;
815831   }
816832
r9191r9192
835851
836852static WRITE8_HANDLER( mjifb_videoram_w )
837853{
838   space->machine->generic.videoram.u8[offset + 0x4000] = data;
854   royalmah_state *state = space->machine->driver_data<royalmah_state>();
855   UINT8 *videoram = state->videoram;
856   videoram[offset + 0x4000] = data;
839857}
840858
841859static ADDRESS_MAP_START( mjifb_map, ADDRESS_SPACE_PROGRAM, 8 )
842860   AM_RANGE( 0x0000, 0x6fff ) AM_ROM
843   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
844   AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjifb_rom_io_r, mjifb_rom_io_w) AM_BASE_GENERIC(videoram)
861   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
862   AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjifb_rom_io_r, mjifb_rom_io_w) AM_BASE_MEMBER(royalmah_state, videoram)
845863   AM_RANGE( 0xc000, 0xffff ) AM_ROM AM_WRITE(mjifb_videoram_w)
846864//  AM_RANGE( 0xc000, 0xffff ) AM_ROM AM_WRITEONLY  This should, but doesn't work
847865ADDRESS_MAP_END
r9191r9192
915933
916934static WRITE8_HANDLER( mjdejavu_rom_io_w )
917935{
936   royalmah_state *state = space->machine->driver_data<royalmah_state>();
937   UINT8 *videoram = state->videoram;
918938   if (mjifb_rom_enable)
919939   {
920      space->machine->generic.videoram.u8[offset] = data;
940      videoram[offset] = data;
921941      return;
922942   }
923943
r9191r9192
939959
940960static ADDRESS_MAP_START( mjdejavu_map, ADDRESS_SPACE_PROGRAM, 8 )
941961   AM_RANGE( 0x0000, 0x6fff ) AM_ROM
942   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
943   AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjdejavu_rom_io_r, mjdejavu_rom_io_w) AM_BASE_GENERIC(videoram)
962   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
963   AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjdejavu_rom_io_r, mjdejavu_rom_io_w) AM_BASE_MEMBER(royalmah_state, videoram)
944964   AM_RANGE( 0xc000, 0xffff ) AM_ROM AM_WRITE(mjifb_videoram_w)
945965ADDRESS_MAP_END
946966
r9191r9192
9801000   AM_RANGE( 0x6ff0, 0x6ff0 ) AM_READWRITE( janptr96_dsw_r, janptr96_dswsel_w )
9811001   AM_RANGE( 0x6ff1, 0x6ff1 ) AM_WRITE( mjderngr_palbank_w )
9821002   AM_RANGE( 0x6ff3, 0x6ff3 ) AM_WRITE( mjtensin_6ff3_w )
983   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1003   AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
9841004   AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" )
985   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
1005   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
9861006ADDRESS_MAP_END
9871007
9881008static ADDRESS_MAP_START( mjtensin_iomap, ADDRESS_SPACE_IO, 8 )
r9191r9192
10391059
10401060static ADDRESS_MAP_START( cafetime_map, ADDRESS_SPACE_PROGRAM, 8 )
10411061   AM_RANGE( 0x0000, 0x5fff ) AM_ROM
1042   AM_RANGE( 0x6000, 0x7eff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1062   AM_RANGE( 0x6000, 0x7eff ) AM_RAM AM_SHARE("nvram")
10431063   AM_RANGE( 0x7fc1, 0x7fc1 ) AM_DEVREAD( "aysnd", ay8910_r )
10441064   AM_RANGE( 0x7fc2, 0x7fc3 ) AM_DEVWRITE( "aysnd", ay8910_data_address_w )
10451065   AM_RANGE( 0x7fd0, 0x7fd0 ) AM_WRITE( janptr96_coin_counter_w )
r9191r9192
10521072   AM_RANGE( 0x7fe4, 0x7fe4 ) AM_READ( cafetime_7fe4_r )
10531073   AM_RANGE( 0x7ff0, 0x7fff ) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w)
10541074   AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" )
1055   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
1075   AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
10561076ADDRESS_MAP_END
10571077
10581078
r9191r9192
11151135
11161136static WRITE8_HANDLER( mjvegasa_rom_io_w )
11171137{
1138   royalmah_state *state = space->machine->driver_data<royalmah_state>();
1139   UINT8 *videoram = state->videoram;
11181140   if ((rombank & 0x70) != 0x70)
11191141   {
1120      space->machine->generic.videoram.u8[offset] = data;
1142      videoram[offset] = data;
11211143      return;
11221144   }
11231145
r9191r9192
11721194static ADDRESS_MAP_START( mjvegasa_map, ADDRESS_SPACE_PROGRAM, 8 )
11731195
11741196   AM_RANGE( 0x00000, 0x05fff ) AM_ROM
1175   AM_RANGE( 0x06000, 0x07fff ) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
1176   AM_RANGE( 0x08000, 0x0ffff ) AM_READWRITE(mjvegasa_rom_io_r, mjvegasa_rom_io_w) AM_BASE_GENERIC(videoram)
1197   AM_RANGE( 0x06000, 0x07fff ) AM_RAM AM_SHARE("nvram")
1198   AM_RANGE( 0x08000, 0x0ffff ) AM_READWRITE(mjvegasa_rom_io_r, mjvegasa_rom_io_w) AM_BASE_MEMBER(royalmah_state, videoram)
11771199
11781200   AM_RANGE( 0x10001, 0x10001 ) AM_DEVREAD( "aysnd", ay8910_r )
11791201   AM_RANGE( 0x10002, 0x10003 ) AM_DEVWRITE( "aysnd", ay8910_data_address_w )
r9191r9192
30933115   DEVCB_HANDLER(royalmah_player_2_port_r)
30943116};
30953117
3096static MACHINE_DRIVER_START( royalmah )
3118static MACHINE_CONFIG_START( royalmah, royalmah_state )
30973119
30983120   /* basic machine hardware */
30993121   MDRV_CPU_ADD("maincpu", Z80, 18432000/6)        /* 3.072 MHz */
r9191r9192
31013123   MDRV_CPU_IO_MAP(royalmah_iomap)
31023124   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
31033125
3104   MDRV_NVRAM_HANDLER(generic_0fill)
3126   MDRV_NVRAM_ADD_0FILL("nvram")
31053127
31063128   /* video hardware */
31073129   MDRV_VIDEO_UPDATE(royalmah)
r9191r9192
31213143   MDRV_SOUND_ADD("aysnd", AY8910, 18432000/12)
31223144   MDRV_SOUND_CONFIG(ay8910_config)
31233145   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.33)
3124MACHINE_DRIVER_END
3146MACHINE_CONFIG_END
31253147
31263148
3127static MACHINE_DRIVER_START( janoh )
3128
3129   MDRV_IMPORT_FROM(royalmah)
3149static MACHINE_CONFIG_DERIVED( janoh, royalmah )
31303150   MDRV_CPU_MODIFY("maincpu")
31313151   MDRV_CPU_CLOCK(8000000/2)   /* 4 MHz ? */
31323152   MDRV_CPU_PROGRAM_MAP(janho_map)
r9191r9192
31353155   MDRV_CPU_PROGRAM_MAP(janoh_sub_map)
31363156   MDRV_CPU_IO_MAP(janoh_sub_iomap)
31373157   MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
3138MACHINE_DRIVER_END
3158MACHINE_CONFIG_END
31393159
3140static MACHINE_DRIVER_START( jansou )
3141   MDRV_IMPORT_FROM(royalmah)
3160static MACHINE_CONFIG_DERIVED( jansou, royalmah )
31423161
31433162   MDRV_CPU_MODIFY("maincpu")
31443163   MDRV_CPU_PROGRAM_MAP(jansou_map)
r9191r9192
31503169
31513170   MDRV_SOUND_ADD("dac", DAC, 0)
31523171   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
3153MACHINE_DRIVER_END
3172MACHINE_CONFIG_END
31543173
3155static MACHINE_DRIVER_START( dondenmj )
3156   MDRV_IMPORT_FROM(royalmah)
3174static MACHINE_CONFIG_DERIVED( dondenmj, royalmah )
31573175   MDRV_CPU_MODIFY("maincpu")
31583176   MDRV_CPU_CLOCK(8000000/2)   /* 4 MHz ? */
31593177   MDRV_CPU_IO_MAP(dondenmj_iomap)
3160MACHINE_DRIVER_END
3178MACHINE_CONFIG_END
31613179
3162static MACHINE_DRIVER_START( makaijan )
3163   MDRV_IMPORT_FROM(royalmah)
3180static MACHINE_CONFIG_DERIVED( makaijan, royalmah )
31643181   MDRV_CPU_MODIFY("maincpu")
31653182   MDRV_CPU_CLOCK(8000000/2)   /* 4 MHz ? */
31663183   MDRV_CPU_IO_MAP(makaijan_iomap)
3167MACHINE_DRIVER_END
3184MACHINE_CONFIG_END
31683185
3169static MACHINE_DRIVER_START( daisyari )
3170   MDRV_IMPORT_FROM(royalmah)
3186static MACHINE_CONFIG_DERIVED( daisyari, royalmah )
31713187   MDRV_CPU_MODIFY("maincpu")
31723188   MDRV_CPU_CLOCK(8000000/2)   /* 4 MHz ? */
31733189   MDRV_CPU_IO_MAP(daisyari_iomap)
3174MACHINE_DRIVER_END
3190MACHINE_CONFIG_END
31753191
3176static MACHINE_DRIVER_START( mjclub )
3177   MDRV_IMPORT_FROM(royalmah)
3192static MACHINE_CONFIG_DERIVED( mjclub, royalmah )
31783193   MDRV_CPU_MODIFY("maincpu")
31793194   MDRV_CPU_CLOCK(8000000/2)   /* 4 MHz ? */
31803195   MDRV_CPU_IO_MAP(mjclub_iomap)
3181MACHINE_DRIVER_END
3196MACHINE_CONFIG_END
31823197
3183static MACHINE_DRIVER_START( ippatsu )
3184   MDRV_IMPORT_FROM(dondenmj)
3198static MACHINE_CONFIG_DERIVED( ippatsu, dondenmj )
31853199   MDRV_CPU_MODIFY("maincpu")
31863200   MDRV_CPU_IO_MAP(ippatsu_iomap)
3187MACHINE_DRIVER_END
3201MACHINE_CONFIG_END
31883202
31893203static INTERRUPT_GEN( suzume_irq )
31903204{
r9191r9192
31923206      cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE);
31933207}
31943208
3195static MACHINE_DRIVER_START( suzume )
3196   MDRV_IMPORT_FROM(dondenmj)
3209static MACHINE_CONFIG_DERIVED( suzume, dondenmj )
31973210   MDRV_CPU_MODIFY("maincpu")
31983211   MDRV_CPU_IO_MAP(suzume_iomap)
31993212   MDRV_CPU_VBLANK_INT("screen", suzume_irq)
3200MACHINE_DRIVER_END
3213MACHINE_CONFIG_END
32013214
3202static MACHINE_DRIVER_START( tontonb )
3203   MDRV_IMPORT_FROM(dondenmj)
3215static MACHINE_CONFIG_DERIVED( tontonb, dondenmj )
32043216   MDRV_CPU_MODIFY("maincpu")
32053217   MDRV_CPU_IO_MAP(tontonb_iomap)
3206MACHINE_DRIVER_END
3218MACHINE_CONFIG_END
32073219
3208static MACHINE_DRIVER_START( mjdiplob )
3209   MDRV_IMPORT_FROM(dondenmj)
3220static MACHINE_CONFIG_DERIVED( mjdiplob, dondenmj )
32103221   MDRV_CPU_MODIFY("maincpu")
32113222   MDRV_CPU_IO_MAP(mjdiplob_iomap)
3212MACHINE_DRIVER_END
3223MACHINE_CONFIG_END
32133224
3214static MACHINE_DRIVER_START( majs101b )
3215   MDRV_IMPORT_FROM(dondenmj)
3225static MACHINE_CONFIG_DERIVED( majs101b, dondenmj )
32163226   MDRV_CPU_MODIFY("maincpu")
32173227   MDRV_CPU_IO_MAP(majs101b_iomap)
3218MACHINE_DRIVER_END
3228MACHINE_CONFIG_END
32193229
3220static MACHINE_DRIVER_START( mjapinky )
3221   MDRV_IMPORT_FROM(dondenmj)
3230static MACHINE_CONFIG_DERIVED( mjapinky, dondenmj )
32223231   MDRV_CPU_MODIFY("maincpu")
32233232   MDRV_CPU_PROGRAM_MAP(mjapinky_map)
32243233   MDRV_CPU_IO_MAP(mjapinky_iomap)
3225MACHINE_DRIVER_END
3234MACHINE_CONFIG_END
32263235
3227static MACHINE_DRIVER_START( mjderngr )
3228   MDRV_IMPORT_FROM(dondenmj)
3236static MACHINE_CONFIG_DERIVED( mjderngr, dondenmj )
32293237   MDRV_CPU_MODIFY("maincpu")
32303238   MDRV_CPU_IO_MAP(mjderngr_iomap)
32313239
32323240   /* video hardware */
32333241   MDRV_PALETTE_LENGTH(16*32)
32343242   MDRV_PALETTE_INIT(mjderngr)
3235MACHINE_DRIVER_END
3243MACHINE_CONFIG_END
32363244
32373245/* It runs in IM 2, thus needs a vector on the data bus */
32383246static INTERRUPT_GEN( janptr96_interrupt )
r9191r9192
32453253   }
32463254}
32473255
3248static MACHINE_DRIVER_START( janptr96 )
3249   MDRV_IMPORT_FROM(mjderngr)
3256static MACHINE_CONFIG_DERIVED( janptr96, mjderngr )
32503257   MDRV_CPU_REPLACE("maincpu",Z80,24000000/4)   /* 6 MHz? */
32513258   MDRV_CPU_PROGRAM_MAP(janptr96_map)
32523259   MDRV_CPU_IO_MAP(janptr96_iomap)
r9191r9192
32573264
32583265   /* devices */
32593266   MDRV_MSM6242_ADD("rtc")
3260MACHINE_DRIVER_END
3267MACHINE_CONFIG_END
32613268
32623269
3263static MACHINE_DRIVER_START( mjifb )
3264   MDRV_IMPORT_FROM(mjderngr)
3270static MACHINE_CONFIG_DERIVED( mjifb, mjderngr )
32653271   MDRV_CPU_REPLACE("maincpu",TMP90841, 8000000)   /* ? */
32663272   MDRV_CPU_PROGRAM_MAP(mjifb_map)
32673273   MDRV_CPU_IO_MAP(mjifb_iomap)
r9191r9192
32693275
32703276   MDRV_SCREEN_MODIFY("screen")
32713277   MDRV_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8)
3272MACHINE_DRIVER_END
3278MACHINE_CONFIG_END
32733279
32743280
3275static MACHINE_DRIVER_START( mjdejavu )
3276   MDRV_IMPORT_FROM(mjderngr)
3281static MACHINE_CONFIG_DERIVED( mjdejavu, mjderngr )
32773282   MDRV_CPU_REPLACE("maincpu",TMP90841, 8000000)   /* ? */
32783283   MDRV_CPU_PROGRAM_MAP(mjdejavu_map)
32793284   MDRV_CPU_IO_MAP(mjifb_iomap)
r9191r9192
32813286
32823287   MDRV_SCREEN_MODIFY("screen")
32833288   MDRV_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8)
3284MACHINE_DRIVER_END
3289MACHINE_CONFIG_END
32853290
32863291
32873292static INTERRUPT_GEN( mjtensin_interrupt )
r9191r9192
32933298   }
32943299}
32953300
3296static MACHINE_DRIVER_START( mjtensin )
3297   MDRV_IMPORT_FROM(mjderngr)
3301static MACHINE_CONFIG_DERIVED( mjtensin, mjderngr )
32983302   MDRV_CPU_REPLACE("maincpu",TMP90841, 12000000)   /* ? */
32993303   MDRV_CPU_PROGRAM_MAP(mjtensin_map)
33003304   MDRV_CPU_IO_MAP(mjtensin_iomap)
r9191r9192
33053309
33063310   /* devices */
33073311   MDRV_MSM6242_ADD("rtc")
3308MACHINE_DRIVER_END
3312MACHINE_CONFIG_END
33093313
3310static MACHINE_DRIVER_START( cafetime )
3311   MDRV_IMPORT_FROM(mjderngr)
3314static MACHINE_CONFIG_DERIVED( cafetime, mjderngr )
33123315   MDRV_CPU_REPLACE("maincpu",TMP90841, 12000000)   /* ? */
33133316   MDRV_CPU_PROGRAM_MAP(cafetime_map)
33143317   MDRV_CPU_IO_MAP(cafetime_iomap)
r9191r9192
33193322
33203323   /* devices */
33213324   MDRV_MSM6242_ADD("rtc")
3322MACHINE_DRIVER_END
3325MACHINE_CONFIG_END
33233326
3324static MACHINE_DRIVER_START( mjvegasa )
3325   MDRV_IMPORT_FROM(mjderngr)
3327static MACHINE_CONFIG_DERIVED( mjvegasa, mjderngr )
33263328   MDRV_CPU_REPLACE("maincpu",TMP90841, XTAL_8MHz)   /* ? */
33273329   MDRV_CPU_PROGRAM_MAP(mjvegasa_map)
33283330   MDRV_CPU_IO_MAP(mjvegasa_iomap)
r9191r9192
33333335
33343336   /* devices */
33353337   MDRV_MSM6242_ADD("rtc")
3336MACHINE_DRIVER_END
3338MACHINE_CONFIG_END
33373339
33383340
33393341/***************************************************************************
r9191r9192
46164618
46174619static DRIVER_INIT( janptr96 )
46184620{
4619   machine->generic.nvram_size = 0x1000 * 9;
4620   machine->generic.nvram.u8 = auto_alloc_array(machine, UINT8,  machine->generic.nvram_size );
4621
4622   memory_set_bankptr(machine, "bank3",machine->generic.nvram.u8);
4621   janptr96_nvram = auto_alloc_array(machine, UINT8, 0x1000 * 9);
4622   memory_set_bankptr(machine, "bank3", janptr96_nvram);
4623   machine->device<nvram_device>("nvram")->set_base(janptr96_nvram, 0x1000 * 9);
46234624}
46244625
46254626GAME( 1981,  royalmj,  0,        royalmah, royalmah, 0,        ROT0,   "Nichibutsu",                 "Royal Mahjong (Japan, v1.13)",          0 )
src/mame/drivers/crospang.c
r9191r9192
9595static ADDRESS_MAP_START( crospang_sound_io_map, ADDRESS_SPACE_IO, 8 )
9696   ADDRESS_MAP_GLOBAL_MASK(0xff)
9797   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_r, ym3812_w)
98   AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
98   AM_RANGE(0x02, 0x02) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
9999   AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
100100ADDRESS_MAP_END
101101
r9191r9192
346346}
347347
348348
349static MACHINE_DRIVER_START( crospang )
349static MACHINE_CONFIG_START( crospang, crospang_state )
350350
351   /* driver data */
352   MDRV_DRIVER_DATA(crospang_state)
353
354351   /* basic machine hardware */
355352   MDRV_CPU_ADD("maincpu", M68000, 14318180/2)
356353   MDRV_CPU_PROGRAM_MAP(crospang_map)
r9191r9192
386383
387384   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
388385   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
389MACHINE_DRIVER_END
386MACHINE_CONFIG_END
390387
391static MACHINE_DRIVER_START( bestri )
388static MACHINE_CONFIG_START( bestri, crospang_state )
392389
393   /* driver data */
394   MDRV_DRIVER_DATA(crospang_state)
395
396390   /* basic machine hardware */
397391   MDRV_CPU_ADD("maincpu", M68000, 14318180/2)
398392   MDRV_CPU_PROGRAM_MAP(bestri_map)
r9191r9192
428422
429423   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
430424   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
431MACHINE_DRIVER_END
425MACHINE_CONFIG_END
432426
433427
434428ROM_START( crospang )
src/mame/drivers/darkmist.c
r9191r9192
2727#include "cpu/z80/z80.h"
2828#include "deprecat.h"
2929#include "audio/t5182.h"
30#include "includes/darkmist.h"
3031
31
32VIDEO_START(darkmist);
33VIDEO_UPDATE(darkmist);
34PALETTE_INIT(darkmist);
35
36extern UINT8 *darkmist_scroll;
37extern UINT8 *darkmist_spritebank;
3832static UINT8 * darkmist_workram;
3933
4034int darkmist_hw;
r9191r9192
7670   AM_RANGE(0xd681, 0xd681) AM_READ(t5182_sharedram_semaphore_snd_r)
7771   AM_RANGE(0xd682, 0xd682) AM_WRITE(t5182_sharedram_semaphore_main_acquire_w)
7872   AM_RANGE(0xd683, 0xd683) AM_WRITE(t5182_sharedram_semaphore_main_release_w)
79   AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram)
73   AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE_MEMBER(darkmist_state, videoram)
8074   AM_RANGE(0xe000, 0xefff) AM_RAM AM_BASE(&darkmist_workram)
8175   AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
8276ADDRESS_MAP_END
r9191r9192
246240
247241
248242
249static MACHINE_DRIVER_START( darkmist )
243static MACHINE_CONFIG_START( darkmist, darkmist_state )
250244   /* basic machine hardware */
251245   MDRV_CPU_ADD("maincpu", Z80,4000000)       /* ? MHz */
252246   MDRV_CPU_PROGRAM_MAP(memmap)
r9191r9192
278272   MDRV_SOUND_ROUTE(0, "mono", 1.0)
279273   MDRV_SOUND_ROUTE(1, "mono", 1.0)
280274
281MACHINE_DRIVER_END
275MACHINE_CONFIG_END
282276
283277ROM_START( darkmist )
284278   ROM_REGION( 0x18000, "maincpu", 0 )
src/mame/drivers/mquake.c
r9191r9192
1212#include "includes/amiga.h"
1313#include "sound/es5503.h"
1414#include "machine/6526cia.h"
15#include "machine/nvram.h"
1516
1617
1718
r9191r9192
145146   AM_RANGE(0xe80000, 0xe8ffff) AM_READWRITE(amiga_autoconfig_r, amiga_autoconfig_w)
146147   AM_RANGE(0xfc0000, 0xffffff) AM_ROM AM_REGION("user1", 0)         /* System ROM */
147148
148   AM_RANGE(0x200000, 0x203fff) AM_RAM AM_BASE_SIZE_GENERIC(nvram)
149   AM_RANGE(0x200000, 0x203fff) AM_RAM AM_SHARE("nvram")
149150   AM_RANGE(0x204000, 0x2041ff) AM_DEVREADWRITE8("ensoniq", es5503_r, mquake_es5503_w, 0x00ff)
150151   AM_RANGE(0x282000, 0x282001) AM_READ_PORT("SW.LO")
151152   AM_RANGE(0x282002, 0x282003) AM_READ_PORT("SW.HI")
r9191r9192
356357   DEVCB_NULL
357358};
358359
359static MACHINE_DRIVER_START( mquake )
360static MACHINE_CONFIG_START( mquake, driver_device )
360361
361362   /* basic machine hardware */
362363   MDRV_CPU_ADD("maincpu", M68000, AMIGA_68000_NTSC_CLOCK)
363364   MDRV_CPU_PROGRAM_MAP(main_map)
364365
365366   MDRV_MACHINE_RESET(mquake)
366   MDRV_NVRAM_HANDLER(generic_0fill)
367   MDRV_NVRAM_ADD_0FILL("nvram")
367368
368369    /* video hardware */
369370   MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
r9191r9192
400401   /* cia */
401402   MDRV_MOS8520_ADD("cia_0", AMIGA_68000_NTSC_CLOCK / 10, cia_0_intf)
402403   MDRV_MOS8520_ADD("cia_1", AMIGA_68000_NTSC_CLOCK / 10, cia_1_intf)
403MACHINE_DRIVER_END
404MACHINE_CONFIG_END
404405
405406
406407
src/mame/drivers/ajax.c
r9191r9192
205205   ajax_zoom_callback
206206};
207207
208static MACHINE_DRIVER_START( ajax )
208static MACHINE_CONFIG_START( ajax, ajax_state )
209209
210   /* driver data */
211   MDRV_DRIVER_DATA(ajax_state)
212
213210   /* basic machine hardware */
214211   MDRV_CPU_ADD("maincpu", KONAMI, 3000000)   /* 12/4 MHz*/
215212   MDRV_CPU_PROGRAM_MAP(ajax_main_map)
r9191r9192
262259   MDRV_SOUND_CONFIG(k007232_interface_2)
263260   MDRV_SOUND_ROUTE(0, "lspeaker", 0.50)
264261   MDRV_SOUND_ROUTE(1, "rspeaker", 0.50)
265MACHINE_DRIVER_END
262MACHINE_CONFIG_END
266263
267264
268265/*
src/mame/drivers/rotaryf.c
r9191r9192
148148INPUT_PORTS_END
149149
150150
151static MACHINE_DRIVER_START( rotaryf )
151static MACHINE_CONFIG_START( rotaryf, driver_device )
152152
153153   /* basic machine hardware */
154154   MDRV_CPU_ADD("maincpu",I8085A,4000000) /* 8080? */ /* 2 MHz? */
r9191r9192
165165   MDRV_SCREEN_VISIBLE_AREA(1*8, 30*8-1, 0*8, 32*8-1)
166166   MDRV_SCREEN_REFRESH_RATE(60)
167167
168MACHINE_DRIVER_END
168MACHINE_CONFIG_END
169169
170170
171171ROM_START( rotaryf )
src/mame/drivers/funybubl.c
r9191r9192
104104   AM_RANGE(0x0000, 0x7fff) AM_ROM
105105   AM_RANGE(0x8000, 0x87ff) AM_RAM
106106   AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("oki", funybubl_oki_bank_sw)
107   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_r, okim6295_w)
107   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
108108   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
109109ADDRESS_MAP_END
110110
r9191r9192
217217}
218218
219219
220static MACHINE_DRIVER_START( funybubl )
220static MACHINE_CONFIG_START( funybubl, funybubl_state )
221221
222   /* driver data */
223   MDRV_DRIVER_DATA(funybubl_state)
224
225222   /* basic machine hardware */
226223   MDRV_CPU_ADD("maincpu", Z80,12000000/2)       /* 6 MHz?? */
227224   MDRV_CPU_PROGRAM_MAP(funybubl_map)
r9191r9192
253250
254251   MDRV_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
255252   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
256MACHINE_DRIVER_END
253MACHINE_CONFIG_END
257254
258255
259256
src/mame/drivers/shisen.c
r9191r9192
1111#include "audio/m72.h"
1212#include "sound/dac.h"
1313#include "sound/2151intf.h"
14#include "includes/shisen.h"
1415
15extern WRITE8_HANDLER( sichuan2_videoram_w );
16extern WRITE8_HANDLER( sichuan2_bankswitch_w );
17extern WRITE8_HANDLER( sichuan2_paletteram_w );
18
19extern VIDEO_START( sichuan2 );
20extern VIDEO_UPDATE( sichuan2 );
21
2216static READ8_HANDLER( sichuan2_dsw1_r )
2317{
2418   int ret = input_port_read(space->machine, "DSW1");
r9191r9192
5145static ADDRESS_MAP_START( shisen_map, ADDRESS_SPACE_PROGRAM, 8 )
5246   AM_RANGE(0x0000, 0x7fff) AM_ROM
5347   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
54   AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE(sichuan2_paletteram_w) AM_BASE_GENERIC(paletteram)
55   AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(sichuan2_videoram_w) AM_BASE_GENERIC(videoram)
48   AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE(sichuan2_paletteram_w) AM_BASE_MEMBER(shisen_state, paletteram)
49   AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(sichuan2_videoram_w) AM_BASE_MEMBER(shisen_state, videoram)
5650   AM_RANGE(0xe000, 0xffff) AM_RAM
5751ADDRESS_MAP_END
5852
r9191r9192
215209
216210
217211
218static MACHINE_DRIVER_START( shisen )
212static MACHINE_CONFIG_START( shisen, shisen_state )
219213
220214   /* basic machine hardware */
221215   MDRV_CPU_ADD("maincpu", Z80, 6000000)   /* 6 MHz ? */
r9191r9192
257251   MDRV_SOUND_ADD("dac", DAC, 0)
258252   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25)
259253   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25)
260MACHINE_DRIVER_END
254MACHINE_CONFIG_END
261255
262256
263257
src/mame/drivers/nmk16.c
r9191r9192
389389   AM_RANGE(0x0000, 0xbfff) AM_ROM
390390   AM_RANGE(0xc000, 0xc7ff) AM_RAM
391391   AM_RANGE(0xf000, 0xf000) AM_READWRITE(soundlatch_r,soundlatch2_w)
392   AM_RANGE(0xf400, 0xf400) AM_DEVREADWRITE("oki1", okim6295_r,okim6295_w)
393   AM_RANGE(0xf500, 0xf500) AM_DEVREADWRITE("oki2", okim6295_r,okim6295_w)
392   AM_RANGE(0xf400, 0xf400) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
393   AM_RANGE(0xf500, 0xf500) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
394394   AM_RANGE(0xf600, 0xf600) AM_WRITE(tharrier_oki6295_bankswitch_0_w)
395395   AM_RANGE(0xf700, 0xf700) AM_WRITE(tharrier_oki6295_bankswitch_1_w)
396396ADDRESS_MAP_END
r9191r9192
941941   AM_RANGE(0x0000, 0x7fff) AM_ROM
942942   AM_RANGE(0x8000, 0x87ff) AM_RAM
943943   AM_RANGE(0x9000, 0x9000) AM_WRITE(ssmissin_soundbank_w)
944   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki1", okim6295_r,okim6295_w)
944   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
945945   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
946946ADDRESS_MAP_END
947947
r9191r9192
10791079   AM_RANGE(0x0000, 0x7fff) AM_ROM
10801080   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
10811081   AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
1082   AM_RANGE(0xc800, 0xc800) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
1083   AM_RANGE(0xc808, 0xc808) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
1082   AM_RANGE(0xc800, 0xc800) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
1083   AM_RANGE(0xc808, 0xc808) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
10841084   AM_RANGE(0xc810, 0xc817) AM_DEVWRITE("nmk112", nmk112_okibank_w)
10851085//  AM_RANGE(0xc810, 0xc817) AM_WRITE(okibank_w)
10861086   AM_RANGE(0xd000, 0xd000) AM_WRITE(raphero_sound_rombank_w)
r9191r9192
11001100static ADDRESS_MAP_START( macross2_sound_io_map, ADDRESS_SPACE_IO, 8 )
11011101   ADDRESS_MAP_GLOBAL_MASK(0xff)
11021102   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
1103   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
1104   AM_RANGE(0x88, 0x88) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
1103   AM_RANGE(0x80, 0x80) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
1104   AM_RANGE(0x88, 0x88) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
11051105   AM_RANGE(0x90, 0x97) AM_DEVWRITE("nmk112", nmk112_okibank_w)
11061106ADDRESS_MAP_END
11071107
r9191r9192
11121112   AM_RANGE(0x080008, 0x080009) AM_READ_PORT("DSW1")
11131113   AM_RANGE(0x08000a, 0x08000b) AM_READ_PORT("DSW2")
11141114   AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w)
1115   AM_RANGE(0x084000, 0x084001) AM_DEVREADWRITE8("oki1", okim6295_r,okim6295_w, 0x00ff)
1116   AM_RANGE(0x084010, 0x084011) AM_DEVREADWRITE8("oki2", okim6295_r,okim6295_w, 0x00ff)
1115   AM_RANGE(0x084000, 0x084001) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff)
1116   AM_RANGE(0x084010, 0x084011) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff)
11171117   AM_RANGE(0x084020, 0x08402f) AM_DEVWRITE("nmk112", nmk112_okibank_lsb_w)
11181118   AM_RANGE(0x088000, 0x0887ff) AM_RAM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
11191119   AM_RANGE(0x094000, 0x094001) AM_WRITE(nmk_tilebank_w)
r9191r9192
35283528   "oki1", "oki2", 0
35293529};
35303530
3531static MACHINE_DRIVER_START( tharrier )
3531static MACHINE_CONFIG_START( tharrier, driver_device )
35323532
35333533   /* basic machine hardware */
35343534   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz */
r9191r9192
35723572
35733573   MDRV_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW)
35743574   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
3575MACHINE_DRIVER_END
3575MACHINE_CONFIG_END
35763576
3577static MACHINE_DRIVER_START( manybloc )
3577static MACHINE_CONFIG_START( manybloc, driver_device )
35783578
35793579   /* basic machine hardware */
35803580   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10? MHz - check */
r9191r9192
36163616
36173617   MDRV_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW)
36183618   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
3619MACHINE_DRIVER_END
3619MACHINE_CONFIG_END
36203620
3621static MACHINE_DRIVER_START( mustang )
3621static MACHINE_CONFIG_START( mustang, driver_device )
36223622
36233623   /* basic machine hardware */
36243624   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
r9191r9192
36593659
36603660   MDRV_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW)
36613661   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
3662MACHINE_DRIVER_END
3662MACHINE_CONFIG_END
36633663
3664static MACHINE_DRIVER_START( mustangb )
3664static MACHINE_CONFIG_START( mustangb, driver_device )
36653665
36663666   /* basic machine hardware */
36673667   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
r9191r9192
36913691   /* sound hardware */
36923692   SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4, 1320000)
36933693
3694MACHINE_DRIVER_END
3694MACHINE_CONFIG_END
36953695
36963696#define BIOSHIP_CRYSTAL1 10000000
36973697#define BIOSHIP_CRYSTAL2 12000000
36983698
3699static MACHINE_DRIVER_START( bioship )
3699static MACHINE_CONFIG_START( bioship, driver_device )
37003700
37013701   /* basic machine hardware */
37023702   MDRV_CPU_ADD("maincpu", M68000, BIOSHIP_CRYSTAL1 ) /* 10.0 MHz (verified) */
r9191r9192
37363736
37373737   MDRV_OKIM6295_ADD("oki2", BIOSHIP_CRYSTAL2 / 3 , OKIM6295_PIN7_HIGH) /* 4.0 Mhz, Pin 7 High (verified) */
37383738   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
3739MACHINE_DRIVER_END
3739MACHINE_CONFIG_END
37403740
3741static MACHINE_DRIVER_START( vandyke )
3741static MACHINE_CONFIG_START( vandyke, driver_device )
37423742
37433743   /* basic machine hardware */
37443744   MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* 68000p12 running at 10Mhz, verified on pcb */
r9191r9192
37783778
37793779   MDRV_OKIM6295_ADD("oki2", XTAL_12MHz/3, OKIM6295_PIN7_LOW) /* verified on pcb */
37803780   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
3781MACHINE_DRIVER_END
3781MACHINE_CONFIG_END
37823782
3783static MACHINE_DRIVER_START( vandykeb )
3783static MACHINE_CONFIG_START( vandykeb, driver_device )
37843784
37853785   /* basic machine hardware */
37863786   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
r9191r9192
38133813
38143814   MDRV_OKIM6295_ADD("oki1", 16000000/4, OKIM6295_PIN7_LOW)
38153815   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
3816MACHINE_DRIVER_END
3816MACHINE_CONFIG_END
38173817
3818static MACHINE_DRIVER_START( acrobatm )
3818static MACHINE_CONFIG_START( acrobatm, driver_device )
38193819
38203820   /* basic machine hardware */
38213821   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz (verified on pcb) */
r9191r9192
38553855
38563856   MDRV_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW) /* (verified on pcb) on the pcb pin7 is not connected to gnd or +5v! */
38573857   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
3858MACHINE_DRIVER_END
3858MACHINE_CONFIG_END
38593859
38603860
3861static MACHINE_DRIVER_START( tdragonb )   /* bootleg using Raiden sound hardware */
3861static MACHINE_CONFIG_START( tdragonb, driver_device )   /* bootleg using Raiden sound hardware */
38623862
38633863   /* basic machine hardware */
38643864   MDRV_CPU_ADD("maincpu", M68000, 10000000)
r9191r9192
38883888
38893889   /* sound hardware */
38903890   SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(14318180/4, 1320000)
3891MACHINE_DRIVER_END
3891MACHINE_CONFIG_END
38923892
3893static MACHINE_DRIVER_START( tdragon )
3893static MACHINE_CONFIG_START( tdragon, driver_device )
38943894
38953895   /* basic machine hardware */
38963896   MDRV_CPU_ADD("maincpu", M68000, XTAL_8MHz) /* verified on pcb */
r9191r9192
39323932
39333933   MDRV_OKIM6295_ADD("oki2", XTAL_8MHz/2, OKIM6295_PIN7_LOW) /* verified on pcb */
39343934   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
3935MACHINE_DRIVER_END
3935MACHINE_CONFIG_END
39363936
3937static MACHINE_DRIVER_START( ssmissin )
3937static MACHINE_CONFIG_START( ssmissin, driver_device )
39383938
39393939   /* basic machine hardware */
39403940   MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 Mhz */
r9191r9192
39673967   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
39683968
39693969   MDRV_NMK112_ADD("nmk112", nmk16_nmk112_intf)
3970MACHINE_DRIVER_END
3970MACHINE_CONFIG_END
39713971
3972static MACHINE_DRIVER_START( strahl )
3972static MACHINE_CONFIG_START( strahl, driver_device )
39733973
39743974   /* basic machine hardware */
39753975   MDRV_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ? */
r9191r9192
40094009
40104010   MDRV_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW)
40114011   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
4012MACHINE_DRIVER_END
4012MACHINE_CONFIG_END
40134013
4014static MACHINE_DRIVER_START( hachamf )
4014static MACHINE_CONFIG_START( hachamf, driver_device )
40154015
40164016   /* basic machine hardware */
40174017   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
r9191r9192
40524052
40534053   MDRV_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW)
40544054   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
4055MACHINE_DRIVER_END
4055MACHINE_CONFIG_END
40564056
4057static MACHINE_DRIVER_START( macross )
4057static MACHINE_CONFIG_START( macross, driver_device )
40584058
40594059   /* basic machine hardware */
40604060   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
r9191r9192
40944094
40954095   MDRV_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW)
40964096   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
4097MACHINE_DRIVER_END
4097MACHINE_CONFIG_END
40984098
4099static MACHINE_DRIVER_START( blkheart )
4099static MACHINE_CONFIG_START( blkheart, driver_device )
41004100
41014101   /* basic machine hardware */
41024102   MDRV_CPU_ADD("maincpu", M68000, XTAL_8MHz) /* verified on pcb */
r9191r9192
41364136
41374137   MDRV_OKIM6295_ADD("oki2", XTAL_8MHz/2, OKIM6295_PIN7_LOW) /* verified on pcb */
41384138   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
4139MACHINE_DRIVER_END
4139MACHINE_CONFIG_END
41404140
4141static MACHINE_DRIVER_START( gunnail )
4141static MACHINE_CONFIG_START( gunnail, driver_device )
41424142
41434143   /* basic machine hardware */
41444144   MDRV_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz? */
r9191r9192
41784178
41794179   MDRV_OKIM6295_ADD("oki2", 16000000/4, OKIM6295_PIN7_LOW)
41804180   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
4181MACHINE_DRIVER_END
4181MACHINE_CONFIG_END
41824182
4183static MACHINE_DRIVER_START( macross2 )
4183static MACHINE_CONFIG_START( macross2, driver_device )
41844184
41854185   /* basic machine hardware */
41864186   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */
r9191r9192
42214221   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
42224222
42234223   MDRV_NMK112_ADD("nmk112", nmk16_nmk112_intf)
4224MACHINE_DRIVER_END
4224MACHINE_CONFIG_END
42254225
4226static MACHINE_DRIVER_START( tdragon2 )
4226static MACHINE_CONFIG_START( tdragon2, driver_device )
42274227
42284228   /* basic machine hardware */
42294229   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz  */
r9191r9192
42644264   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.08)
42654265
42664266   MDRV_NMK112_ADD("nmk112", nmk16_nmk112_intf)
4267MACHINE_DRIVER_END
4267MACHINE_CONFIG_END
42684268
4269static MACHINE_DRIVER_START( raphero )
4269static MACHINE_CONFIG_START( raphero, driver_device )
42704270
42714271   /* basic machine hardware */
42724272   MDRV_CPU_ADD("maincpu", M68000, 14000000) /* 14 MHz measured */
r9191r9192
43064306   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
43074307
43084308   MDRV_NMK112_ADD("nmk112", nmk16_nmk112_intf)
4309MACHINE_DRIVER_END
4309MACHINE_CONFIG_END
43104310
4311static MACHINE_DRIVER_START( bjtwin )
4311static MACHINE_CONFIG_START( bjtwin, driver_device )
43124312
43134313   /* basic machine hardware */
43144314   MDRV_CPU_ADD("maincpu", M68000, 10000000) /* verified on pcb */
r9191r9192
43414341   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.20)
43424342
43434343   MDRV_NMK112_ADD("nmk112", nmk16_nmk112_intf)
4344MACHINE_DRIVER_END
4344MACHINE_CONFIG_END
43454345
43464346
43474347static UINT8 decode_byte(UINT8 src, const UINT8 *bitp)
r9191r9192
46914691   AM_RANGE(0xf000, 0xf7ff) AM_RAM                           // RAM
46924692   AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)               // From Main CPU
46934693   AM_RANGE(0xf808, 0xf809) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)   // YM2151
4694   AM_RANGE(0xf80a, 0xf80a) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)      // M6295
4694   AM_RANGE(0xf80a, 0xf80a) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)      // M6295
46954695ADDRESS_MAP_END
46964696
46974697static ADDRESS_MAP_START( firehawk_sound_cpu, ADDRESS_SPACE_PROGRAM, 8 )
r9191r9192
46994699   AM_RANGE(0xf000, 0xf7ff) AM_RAM
47004700   AM_RANGE(0xfff0, 0xfff0) AM_READ(soundlatch_r)
47014701   AM_RANGE(0xfff2, 0xfff2) AM_DEVWRITE("oki2", spec2k_oki1_banking_w )
4702   AM_RANGE(0xfff8, 0xfff8) AM_DEVREADWRITE("oki2", okim6295_r, okim6295_w)
4703   AM_RANGE(0xfffa, 0xfffa) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
4702   AM_RANGE(0xfff8, 0xfff8) AM_DEVREADWRITE_MODERN("oki2", okim6295_device, read, write)
4703   AM_RANGE(0xfffa, 0xfffa) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
47044704   AM_RANGE(0xf800, 0xffff) AM_RAM // not used, only tested
47054705ADDRESS_MAP_END
47064706
r9191r9192
47194719   AM_RANGE(0x0000, 0x7fff) AM_ROM
47204720   AM_RANGE(0x8000, 0x87ff) AM_RAM
47214721   AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("oki1", twinactn_oki_bank_w)
4722   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki1", okim6295_r, okim6295_w)
4722   AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE_MODERN("oki1", okim6295_device, read, write)
47234723   AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)      // From Main CPU
47244724ADDRESS_MAP_END
47254725
r9191r9192
48144814};
48154815
48164816
4817static MACHINE_DRIVER_START( stagger1 )
4817static MACHINE_CONFIG_START( stagger1, driver_device )
48184818
48194819   /* basic machine hardware */
48204820   MDRV_CPU_ADD("maincpu", M68000,XTAL_12MHz) /* 68000p10 running at 12mhz, verified on pcb */
r9191r9192
48504850   MDRV_OKIM6295_ADD("oki1", XTAL_4MHz/4, OKIM6295_PIN7_HIGH) /* verified on pcb */
48514851   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.70)
48524852   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.70)
4853MACHINE_DRIVER_END
4853MACHINE_CONFIG_END
48544854
4855static MACHINE_DRIVER_START( redhawki )
4855static MACHINE_CONFIG_DERIVED( redhawki, stagger1 )
4856
48564857   /* basic machine hardware */
4857   MDRV_IMPORT_FROM(stagger1)
48584858   /* video hardware */
48594859   MDRV_VIDEO_UPDATE(redhawki)
4860MACHINE_DRIVER_END
4860MACHINE_CONFIG_END
48614861
4862static MACHINE_DRIVER_START( redhawkb )
4862static MACHINE_CONFIG_DERIVED( redhawkb, stagger1 )
4863
48634864   /* basic machine hardware */
4864   MDRV_IMPORT_FROM(stagger1)
48654865   /* video hardware */
48664866   MDRV_GFXDECODE(redhawkb)
48674867   MDRV_VIDEO_UPDATE(redhawkb)
4868MACHINE_DRIVER_END
4868MACHINE_CONFIG_END
48694869
4870static MACHINE_DRIVER_START( grdnstrm )
4870static MACHINE_CONFIG_DERIVED( grdnstrm, stagger1 )
48714871
48724872   /* basic machine hardware */
4873   MDRV_IMPORT_FROM(stagger1)
48744873
48754874   /* video hardware */
48764875   MDRV_GFXDECODE(grdnstrm)
48774876   MDRV_VIDEO_START(firehawk)
48784877   MDRV_VIDEO_UPDATE(firehawk)
4879MACHINE_DRIVER_END
4878MACHINE_CONFIG_END
48804879
4881static MACHINE_DRIVER_START( grdnstrmk )
4880static MACHINE_CONFIG_DERIVED( grdnstrmk, stagger1 )
48824881
48834882   /* basic machine hardware */
4884   MDRV_IMPORT_FROM(stagger1)
48854883
48864884   /* video hardware */
48874885   MDRV_GFXDECODE(grdnstrm)
48884886   MDRV_VIDEO_START(grdnstrm)
4889MACHINE_DRIVER_END
4887MACHINE_CONFIG_END
48904888
48914889
4892static MACHINE_DRIVER_START( popspops )
4890static MACHINE_CONFIG_DERIVED( popspops, grdnstrm )
48934891
48944892   /* basic machine hardware */
4895   MDRV_IMPORT_FROM(grdnstrm)
48964893
48974894   /* video hardware */
48984895   MDRV_VIDEO_UPDATE(bubl2000)
4899MACHINE_DRIVER_END
4896MACHINE_CONFIG_END
49004897
4901static MACHINE_DRIVER_START( firehawk )
4898static MACHINE_CONFIG_START( firehawk, driver_device )
49024899
49034900   /* basic machine hardware */
49044901   MDRV_CPU_ADD("maincpu", M68000,12000000)
r9191r9192
49314928
49324929   MDRV_OKIM6295_ADD("oki2", 1000000, OKIM6295_PIN7_HIGH)
49334930   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4934MACHINE_DRIVER_END
4931MACHINE_CONFIG_END
49354932
4936static MACHINE_DRIVER_START( twinactn )
4933static MACHINE_CONFIG_START( twinactn, driver_device )
49374934
49384935   /* basic machine hardware */
49394936   MDRV_CPU_ADD("maincpu", M68000,12000000)
r9191r9192
49654962
49664963   MDRV_OKIM6295_ADD("oki1", 1000000, OKIM6295_PIN7_HIGH)
49674964   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
4968MACHINE_DRIVER_END
4965MACHINE_CONFIG_END
49694966
49704967
49714968/***************************************************************************
src/mame/drivers/miniboy7.c
r9191r9192
149149#include "video/mc6845.h"
150150#include "machine/6821pia.h"
151151#include "sound/ay8910.h"
152#include "machine/nvram.h"
152153
153154
154155/***********************************
r9191r9192
253254***********************************/
254255
255256static ADDRESS_MAP_START( miniboy7_map, ADDRESS_SPACE_PROGRAM, 8 )
256   AM_RANGE(0x0000, 0x07ff) AM_RAM   /* battery backed RAM? */
257   AM_RANGE(0x0000, 0x07ff) AM_RAM   AM_SHARE("nvram") /* battery backed RAM? */
257258   AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(miniboy7_videoram_w) AM_BASE(&videoram)
258259   AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(miniboy7_colorram_w) AM_BASE(&colorram)
259260   AM_RANGE(0x1800, 0x25ff) AM_RAM   /* looks like videoram */
r9191r9192
428429*         Machine Drivers          *
429430***********************************/
430431
431static MACHINE_DRIVER_START( miniboy7 )
432static MACHINE_CONFIG_START( miniboy7, driver_device )
432433
433434   /* basic machine hardware */
434435   MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/16)   /* guess */
435436   MDRV_CPU_PROGRAM_MAP(miniboy7_map)
436437   MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
437438
438   MDRV_NVRAM_HANDLER(generic_0fill)
439   MDRV_NVRAM_ADD_0FILL("nvram")
439440   MDRV_PIA6821_ADD("pia0", miniboy7_pia0_intf)
440441
441442   /* video hardware */
r9191r9192
461462   MDRV_SOUND_CONFIG(miniboy7_ay8910_intf)
462463   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
463464
464MACHINE_DRIVER_END
465MACHINE_CONFIG_END
465466
466467
467468/***********************************
src/mame/drivers/m10.c
r9191r9192
833833 *
834834 *************************************/
835835
836static MACHINE_DRIVER_START( m10 )
836static MACHINE_CONFIG_START( m10, m10_state )
837837
838   MDRV_DRIVER_DATA(m10_state)
839
840838   /* basic machine hardware */
841839   MDRV_CPU_ADD("maincpu", M6502,IREMM10_CPU_CLOCK)
842840   MDRV_CPU_PROGRAM_MAP(m10_main)
r9191r9192
870868   MDRV_SOUND_CONFIG(m10_samples_interface)
871869   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
872870
873MACHINE_DRIVER_END
871MACHINE_CONFIG_END
874872
875static MACHINE_DRIVER_START( m11 )
873static MACHINE_CONFIG_DERIVED( m11, m10 )
876874
877   MDRV_DRIVER_DATA(m10_state)
878
879875   /* basic machine hardware */
880   MDRV_IMPORT_FROM(m10)
881876   MDRV_CPU_MODIFY("maincpu")
882877   MDRV_CPU_PROGRAM_MAP(m11_main)
883878   //MDRV_CPU_VBLANK_INT("screen", m11_interrupt)
884879
885880   /* sound hardware */
886MACHINE_DRIVER_END
881MACHINE_CONFIG_END
887882
888static MACHINE_DRIVER_START( m15 )
883static MACHINE_CONFIG_START( m15, m10_state )
889884
890   MDRV_DRIVER_DATA(m10_state)
891
892885   /* basic machine hardware */
893886   MDRV_CPU_ADD("maincpu", M6502,IREMM15_CPU_CLOCK)
894887   MDRV_CPU_PROGRAM_MAP(m15_main)
r9191r9192
916909   MDRV_SOUND_CONFIG(m10_samples_interface)
917910   MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
918911
919MACHINE_DRIVER_END
912MACHINE_CONFIG_END
920913
921914
922static MACHINE_DRIVER_START( headoni )
923   MDRV_IMPORT_FROM(m15)
915static MACHINE_CONFIG_DERIVED( headoni, m15 )
924916   MDRV_CPU_MODIFY("maincpu")
925917   MDRV_CPU_CLOCK(11730000/16)
926MACHINE_DRIVER_END
918MACHINE_CONFIG_END
927919
928920/*************************************
929921 *
src/tools/chdcd.c
r9191r9192
124124}
125125
126126/*-------------------------------------------------
127    parse_wav_sample - takes a .WAV file, verifies
128    that the file is 16 bits, and returns the
127    parse_wav_sample - takes a .WAV file, verifies
128    that the file is 16 bits, and returns the
129129    length in bytes of the data and the offset in
130130    bytes to where the data starts in the file.
131131-------------------------------------------------*/
r9191r9192
470470            outinfo->idx0offs[trknum] = -1;
471471            outinfo->idx1offs[trknum] = 0;
472472            strcpy(&outinfo->fname[trknum][0], lastfname);   // default filename to the last one
473//            printf("trk %d: fname %s offset %d\n", trknum, &outinfo->fname[trknum][0], outinfo->offset[trknum]);
473//              printf("trk %d: fname %s offset %d\n", trknum, &outinfo->fname[trknum][0], outinfo->offset[trknum]);
474474
475475            cdrom_convert_type_string_to_track_info(token, &outtoc->tracks[trknum]);
476476            if (outtoc->tracks[trknum].datasize == 0)
r9191r9192
532532      }
533533   }
534534
535    /* close the input CUE */
535   /* close the input CUE */
536536   fclose(infile);
537537
538538   /* store the number of tracks found */
r9191r9192
593593               }
594594               else
595595               {
596                  outinfo->offset[trknum] = outinfo->offset[trknum-1] + outtoc->tracks[trknum-1].frames * (outtoc->tracks[trknum-1].datasize + outtoc->tracks[trknum-1].subsize);
596                  outinfo->offset[trknum] = outinfo->offset[trknum-1] + outtoc->tracks[trknum-1].frames * (outtoc->tracks[trknum-1].datasize + outtoc->tracks[trknum-1].subsize);
597597               }
598598
599599               if (!outtoc->tracks[trknum].frames)
src/tools/chdman.c
r9191r9192
16101610      {
16111611         char modestr[16];
16121612
1613         if (track == 0)
1613         if (track == 0)
16141614         {
16151615            fprintf(outfile, "FILE \"%s\" BINARY\n", outputfile2);
16161616         }
src/osd/sdl/sdl.mak
r9191r9192
340340INCPATH += `sdl-config --cflags`
341341LIBS += -lm `sdl-config --libs`
342342else
343INCPATH += -I$(SDL_INSTALL_ROOT)/include
343INCPATH += -I$(SDL_INSTALL_ROOT)/include
344344CCOMFLAGS += -D_GNU_SOURCE=1
345345LIBS += -lm -L$(SDL_INSTALL_ROOT)/lib -Wl,-rpath,$(SDL_INSTALL_ROOT)/lib -lSDL
346346endif
r9191r9192
388388# Remove the "/SDL" component from the include path so that we can compile
389389# files (header files are #include "SDL/something.h", so the extra "/SDL"
390390# causes a significant problem)
391INCPATH += `sdl-config --cflags | sed 's:/SDL::'`
391INCPATH += `sdl-config --cflags | sed 's:/SDL::'`
392392CCOMFLAGS += -DNO_SDL_GLEXT
393393# Remove libSDLmain, as its symbols conflict with SDLMain_tmpl.m
394394LIBS += `sdl-config --libs | sed 's/-lSDLmain//'` -lpthread
src/osd/windows/winmain.c
r9191r9192
118118{
119119public:
120120   stack_walker();
121   
121
122122   FPTR ip() const { return m_stackframe.AddrPC.Offset; }
123123   FPTR sp() const { return m_stackframe.AddrStack.Offset; }
124124   FPTR frame() const { return m_stackframe.AddrFrame.Offset; }
r9191r9192
394394   // allocate symbols
395395   symbol_manager local_symbols(argv[0]);
396396   symbols = &local_symbols;
397   
397
398398   // set up exception handling
399399   pass_thru_filter = SetUnhandledExceptionFilter(exception_filter);
400400   SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX);
r9191r9192
457457void osd_init(running_machine *machine)
458458{
459459   const char *stemp;
460   
460
461461   // determine if we are benchmarking, and adjust options appropriately
462462   int bench = options_get_int(machine->options(), WINOPTION_BENCH);
463463   if (bench > 0)
src/emu/debug/debugcpu.c
r9191r9192
354354            if (curnode == NULL)
355355               throw emu_exception();
356356            xml_set_attribute(curnode, "tag", device->tag());
357           
357
358358            // export the comments
359359            if (!device->debug()->comment_export(*curnode))
360360               throw emu_exception();
r9191r9192
19821982   if (global->execution_state == EXECUTION_STATE_STOPPED)
19831983   {
19841984      int firststop = true;
1985     
1985
19861986      // load comments if we haven't yet
19871987      if (!global->comments_loaded)
19881988      {
r9191r9192
25612561
25622562
25632563//-------------------------------------------------
2564//  comment_add - adds a comment to the list at
2564//  comment_add - adds a comment to the list at
25652565//  the given address
25662566//-------------------------------------------------
25672567
r9191r9192
25702570   // create a new item for the list
25712571   UINT32 crc = compute_opcode_crc32(addr);
25722572   dasm_comment *newcomment = auto_alloc(m_device.machine, dasm_comment(comment, addr, color, crc));
2573   
2573
25742574   // figure out where to insert it
25752575   dasm_comment *prev = NULL;
25762576   dasm_comment *curr;
r9191r9192
25812581   // we could be the new head
25822582   if (prev == NULL)
25832583      m_comment_list.prepend(*newcomment);
2584   
2585   // or else we just insert ourselves here
2584
2585   // or else we just insert ourselves here
25862586   else
25872587   {
25882588      newcomment->m_next = prev->m_next;
25892589      prev->m_next = newcomment;
25902590   }
2591   
2591
25922592   // scan forward from here to delete any exact matches
25932593   for ( ; curr != NULL && curr->m_address == addr; curr = curr->next())
25942594      if (curr->m_crc == crc)
r9191r9192
26032603
26042604
26052605//-------------------------------------------------
2606//  comment_remove - removes a comment at the
2606//  comment_remove - removes a comment at the
26072607//  given address with a matching CRC
26082608//-------------------------------------------------
26092609
r9191r9192
26162616      // if we're past the address, we failed
26172617      if (curr->m_address > addr)
26182618         break;
2619     
2619
26202620      // find an exact match
26212621      if (curr->m_address == addr && curr->m_crc == crc)
26222622      {
r9191r9192
26262626         return true;
26272627      }
26282628   }
2629   
2629
26302630   // failure is an option
26312631   return false;
26322632}
r9191r9192
26452645      // if we're past the address, we failed
26462646      if (curr->m_address > addr)
26472647         break;
2648     
2648
26492649      // find an exact match
26502650      if (curr->m_address == addr && curr->m_crc == crc)
26512651         return curr->m_text;
26522652   }
2653   
2653
26542654   // failure is an option
26552655   return NULL;
26562656}
r9191r9192
26942694      rgb_t color = xml_get_attribute_int(datanode, "color", 0);
26952695      UINT32 crc;
26962696      sscanf(xml_get_attribute_string(datanode, "crc", 0), "%08X", &crc);
2697     
2697
26982698      // add the new comment; we assume they were saved ordered
26992699      m_comment_list.append(*auto_alloc(m_device.machine, dasm_comment(datanode->value, address, color, crc)));
27002700   }
r9191r9192
27422742   address_space *space = m_memory->space(AS_PROGRAM);
27432743   if (space == NULL)
27442744      return 0;
2745     
2745
27462746   // zero out the buffers
27472747   UINT8 opbuf[64], argbuf[64];
27482748   memset(opbuf, 0x00, sizeof(opbuf));
src/emu/debug/debugcpu.h
r9191r9192
5353const UINT8 WATCHPOINT_WRITE         = 2;
5454const UINT8 WATCHPOINT_READWRITE      = WATCHPOINT_READ | WATCHPOINT_WRITE;
5555
56const int COMMENT_VERSION             = 1;
56const int COMMENT_VERSION            = 1;
5757
5858
5959
r9191r9192
205205   // hotspots
206206   bool hotspot_tracking_enabled() const { return (m_hotspots != NULL); }
207207   void hotspot_track(int numspots, int threshhold);
208   
208
209209   // comments
210210   void comment_add(offs_t address, const char *comment, rgb_t color);
211211   bool comment_remove(offs_t addr);
r9191r9192
329329   {
330330   public:
331331      dasm_comment(const char *text, offs_t address, rgb_t color, UINT32 crc);
332     
332
333333      dasm_comment *next() const { return m_next; }
334   
334
335335      dasm_comment *      m_next;                  // next comment in the list
336336      offs_t            m_address;               // address in question
337337      rgb_t            m_color;               // color to use
src/emu/cpu/adsp2100/adsp2100.h
r9191r9192
22
33    adsp2100.h
44
5   ADSP-21xx series emulator.
5    ADSP-21xx series emulator.
66
77****************************************************************************
88
r9191r9192
137137   // address spaces
138138   const address_space_config      m_program_config;
139139   const address_space_config      m_data_config;
140   
140
141141   // internal state
142142   UINT32                     m_chip_type;
143143};
r9191r9192
192192   inline void loop_stack_pop();
193193   inline void stat_stack_push();
194194   inline void stat_stack_pop();
195//   inline int condition(int c);
195//  inline int condition(int c);
196196   int slow_condition();
197197   inline void modify_address(UINT32 ireg, UINT32 mreg);
198198   inline void data_write_dag1(UINT32 op, INT32 val);
r9191r9192
233233   inline INT32 read_reg1(int regnum);
234234   inline INT32 read_reg2(int regnum);
235235   inline INT32 read_reg3(int regnum);
236   
236
237237   // interrupts
238238   virtual bool generate_irq(int which, int indx = 0) = 0;
239239   virtual void check_irqs() = 0;
240   
240
241241   // internal state
242242   static const int PC_STACK_DEPTH      = 16;
243243   static const int CNTR_STACK_DEPTH   = 4;
r9191r9192
381381    direct_read_data *   m_direct;
382382
383383   // tables
384   UINT8             m_condition_table[0x1000];
384   UINT8            m_condition_table[0x1000];
385385   UINT16            m_mask_table[0x4000];
386386   UINT16            m_reverse_table[0x4000];
387387
388388   // debugging
389389#if ADSP_TRACK_HOTSPOTS
390   UINT32             m_pcbucket[0x4000];
390   UINT32            m_pcbucket[0x4000];
391391#endif
392392
393393   // flag definitions
r9191r9192
430430class adsp2100_device : public adsp21xx_device
431431{
432432   friend class adsp2100_device_config;
433   
433
434434   // construction/destruction
435435   adsp2100_device(running_machine &_machine, const adsp2100_device_config &config);
436436
r9191r9192
472472   friend class adsp2104_device_config;
473473   friend class adsp2105_device_config;
474474   friend class adsp2115_device_config;
475   
475
476476protected:
477477   // construction/destruction
478478   adsp2101_device(running_machine &_machine, const adsp2101_device_config &config);
r9191r9192
514514class adsp2181_device : public adsp21xx_device
515515{
516516   friend class adsp2181_device_config;
517   
517
518518   // construction/destruction
519519   adsp2181_device(running_machine &_machine, const adsp2181_device_config &config);
520520
src/emu/cpu/adsp2100/2100ops.c
r9191r9192
300300/*
301301inline int adsp21xx_device::condition(int c)
302302{
303   if (c != 14)
304      return m_condition_table[((c) << 8) | m_astat];
305   else
306      return slow_condition(c);
303    if (c != 14)
304        return m_condition_table[((c) << 8) | m_astat];
305    else
306        return slow_condition(c);
307307}
308308*/
309309
r9191r9192
367367         m_i[index] = val & 0x3fff;
368368         update_i(index);
369369         break;
370     
370
371371      case 1:
372372         m_m[index] = (INT32)(val << 18) >> 18;
373373         break;
374     
374
375375      case 2:
376         m_l[index] = val & 0x3fff;
376         m_l[index] = val & 0x3fff;
377377         update_l(index);
378378         break;
379     
379
380380      case 3:
381381         logerror("ADSP %04x: Writing to an invalid register!\n", m_ppc);
382382         break;
383383   }
384384}
385         
385
386386void adsp21xx_device::write_reg2(int regnum, INT32 val)
387387{
388388   int index = 4 + (regnum & 3);
r9191r9192
392392         m_i[index] = val & 0x3fff;
393393         update_i(index);
394394         break;
395     
395
396396      case 1:
397397         m_m[index] = (INT32)(val << 18) >> 18;
398398         break;
399     
399
400400      case 2:
401         m_l[index] = val & 0x3fff;
401         m_l[index] = val & 0x3fff;
402402         update_l(index);
403403         break;
404     
404
405405      case 3:
406406         logerror("ADSP %04x: Writing to an invalid register!\n", m_ppc);
407407         break;
r9191r9192
413413   switch (regnum)
414414   {
415415      case 0x00:   m_astat = val & 0x00ff;                     break;
416      case 0x01:   m_mstat = val & m_mstat_mask; update_mstat();    break;
416      case 0x01:   m_mstat = val & m_mstat_mask; update_mstat();   break;
417417      case 0x03:   m_imask = val & m_imask_mask; check_irqs();    break;
418418      case 0x04:   m_icntl = val & 0x001f; check_irqs();         break;
419419      case 0x05:   cntr_stack_push(); m_cntr = val & 0x3fff;      break;
r9191r9192
464464      default:   logerror("ADSP %04x: Writing to an invalid register!\n", m_ppc); break;
465465   }
466466}
467         
467
468468#define WRITE_REG(adsp,grp,reg,val) ((this->*wr_reg[grp][reg])(val))
469469
470470
src/emu/cpu/adsp2100/adsp2100.c
r9191r9192
11/***************************************************************************
22
3   ADSP2100.c
3    ADSP2100.c
44
5   ADSP-21xx series emulator.
5    ADSP-21xx series emulator.
66
77****************************************************************************
88
r9191r9192
190190{
191191   return global_alloc(adsp2100_device_config(mconfig, tag, owner, clock));
192192}
193   
193
194194device_config *adsp2101_device_config::static_alloc_device_config(const machine_config &mconfig, const char *tag, const device_config *owner, UINT32 clock)
195195{
196196   return global_alloc(adsp2101_device_config(mconfig, static_alloc_device_config, "ADSP-2101", tag, owner, clock, CHIP_TYPE_ADSP2101));
197197}
198   
198
199199device_config *adsp2181_device_config::static_alloc_device_config(const machine_config &mconfig, const char *tag, const device_config *owner, UINT32 clock)
200200{
201201   return global_alloc(adsp2181_device_config(mconfig, tag, owner, clock));
r9191r9192
285285
286286const address_space_config *adsp2100_device_config::memory_space_config(int spacenum) const
287287{
288   return    (spacenum == AS_PROGRAM) ? &m_program_config :
289         (spacenum == AS_DATA) ? &m_data_config :
288   return   (spacenum == AS_PROGRAM) ? &m_program_config :
289         (spacenum == AS_DATA) ? &m_data_config :
290290         NULL;
291291}
292292
293293const address_space_config *adsp2101_device_config::memory_space_config(int spacenum) const
294294{
295   return    (spacenum == AS_PROGRAM) ? &m_program_config :
296         (spacenum == AS_DATA) ? &m_data_config :
295   return   (spacenum == AS_PROGRAM) ? &m_program_config :
296         (spacenum == AS_DATA) ? &m_data_config :
297297         NULL;
298298}
299299
300300const address_space_config *adsp2181_device_config::memory_space_config(int spacenum) const
301301{
302   return    (spacenum == AS_PROGRAM) ? &m_program_config :
303         (spacenum == AS_DATA) ? &m_data_config :
304         (spacenum == AS_IO) ? &m_io_config :
302   return   (spacenum == AS_PROGRAM) ? &m_program_config :
303         (spacenum == AS_DATA) ? &m_data_config :
304         (spacenum == AS_IO) ? &m_io_config :
305305         NULL;
306306}
307307
r9191r9192
369369     m_ifc(0),
370370     m_icount(0),
371371     m_mstat_mask((config.m_chip_type >= adsp21xx_device_config::CHIP_TYPE_ADSP2101) ? 0x7f : 0x0f),
372     m_imask_mask((config.m_chip_type >= adsp21xx_device_config::CHIP_TYPE_ADSP2181) ? 0x3ff :
373                 (config.m_chip_type >= adsp21xx_device_config::CHIP_TYPE_ADSP2101) ? 0x3f : 0x0f)
372     m_imask_mask((config.m_chip_type >= adsp21xx_device_config::CHIP_TYPE_ADSP2181) ? 0x3ff :
373               (config.m_chip_type >= adsp21xx_device_config::CHIP_TYPE_ADSP2101) ? 0x3f : 0x0f)
374374{
375375   // initialize remaining state
376376   memset(&m_core, 0, sizeof(m_core));
r9191r9192
774774   state_add(ADSP2100_FL0,     "FL0",       m_fl0).mask(1);
775775   state_add(ADSP2100_FL1,     "FL1",       m_fl1).mask(1);
776776   state_add(ADSP2100_FL2,     "FL2",       m_fl2).mask(1);
777   
777
778778   // set our instruction counter
779779   m_icountptr = &m_icount;
780780}
src/emu/cpu/asap/asap.c
r9191r9192
6161const int EXCEPTION_TRAPF      = 2;
6262const int EXCEPTION_INTERRUPT   = 3;
6363
64const int REGBASE             = 0xffe0;
64const int REGBASE            = 0xffe0;
6565
6666
6767
r9191r9192
146146
147147const asap_device::ophandler asap_device::s_conditiontable[16] =
148148{
149   &asap_device::bsp, &asap_device::bmz, &asap_device::bgt, &asap_device::ble,
149   &asap_device::bsp, &asap_device::bmz, &asap_device::bgt, &asap_device::ble,
150150   &asap_device::bge, &asap_device::blt, &asap_device::bhi, &asap_device::bls,
151   &asap_device::bcc, &asap_device::bcs, &asap_device::bpl, &asap_device::bmi,
151   &asap_device::bcc, &asap_device::bcs, &asap_device::bpl, &asap_device::bmi,
152152   &asap_device::bne, &asap_device::beq, &asap_device::bvc, &asap_device::bvs
153153};
154154
r9191r9192
336336   state_save_register_device_item(this, 0, m_ppc);
337337   state_save_register_device_item(this, 0, m_nextpc);
338338   state_save_register_device_item(this, 0, m_irq_state);
339   
339
340340   // set our instruction counter
341341   m_icountptr = &m_icount;
342342}
src/emu/cpu/asap/asap.h
r9191r9192
258258   int               m_icount;
259259   address_space *      m_program;
260260   direct_read_data *   m_direct;
261   
261
262262   // src2val table, registers are at the end
263263   UINT32            m_src2val[65536];
264   
264
265265   // opcode/condition tables
266266   typedef void (asap_device::*ophandler)();
267267
src/emu/video/mc6845.c
r9191r9192
694694   mc6845_t *mc6845 = get_safe_token(device);
695695
696696   mc6845_update_counters( mc6845 );
697   
697
698698   return ( mc6845->line_address + mc6845->character_counter ) & 0x3fff;
699699}
700700
src/emu/devcb.h
r9191r9192
126126#define DECLARE_READ_LINE_MEMBER(name)      int  name()
127127#define READ_LINE_MEMBER(name)            int  name()
128128#define DECLARE_WRITE_LINE_MEMBER(name)    void name(ATTR_UNUSED int state)
129#define WRITE_LINE_MEMBER(name)             void name(ATTR_UNUSED int state)
129#define WRITE_LINE_MEMBER(name)            void name(ATTR_UNUSED int state)
130130
131131/* macros for inline device handler initialization */
132132
src/emu/devintrf.c
r9191r9192
148148         mame_printf_verbose("Starting %s '%s'\n", device->name(), device->tag());
149149         device->start();
150150      }
151     
151
152152      // handle missing dependencies by moving the device to the end
153153      catch (device_missing_dependencies &)
154154      {
r9191r9192
190190   // first let the debugger save comments
191191   if ((machine.debug_flags & DEBUG_FLAG_ENABLED) != 0)
192192      debug_comment_save(&machine);
193   
193
194194   // then nuke the devices
195195   machine.m_devicelist.reset();
196196}
r9191r9192
724724
725725   // force an update of the clock
726726   notify_clock_changed();
727   
727
728728   // if we're debugging, create a device_debug object
729729   if ((m_machine.debug_flags & DEBUG_FLAG_ENABLED) != 0)
730730   {
src/emu/devintrf.h
r9191r9192
6666class _ConfigClass;                                                      \
6767                                                                  \
6868class _ConfigClass : public _ConfigBase                                     \
69{                                                                   \
70protected:                                                             \
69{                                                                  \
70protected:                                                            \
7171   _ConfigClass(const machine_config &mconfig, const char *tag, const device_config *owner, UINT32 clock, UINT32 param = 0); \
7272                                                                  \
7373public:                                                             \
r9191r9192
8080_ConfigClass::_ConfigClass(const machine_config &mconfig, const char *tag, const device_config *owner, UINT32 clock, UINT32 param) \
8181   : _ConfigBase(mconfig, static_alloc_device_config, _Name, tag, owner, clock, param)   \
8282{                                                                  \
83}                                                                   \
83}                                                                  \
8484                                                                  \
8585device_config *_ConfigClass::static_alloc_device_config(const machine_config &mconfig, const char *tag, const device_config *owner, UINT32 clock) \
86{                                                                   \
87   return global_alloc(_ConfigClass(mconfig, tag, owner, clock, _Param));             \
88}                                                                   \
86{                                                                  \
87   return global_alloc(_ConfigClass(mconfig, tag, owner, clock, _Param));            \
88}                                                                  \
8989                                                                  \
90device_t *_ConfigClass::alloc_device(running_machine &machine) const                \
91{                                                                   \
92   return auto_alloc(&machine, _DeviceClass(machine, *this));                      \
93}                                                                   \
90device_t *_ConfigClass::alloc_device(running_machine &machine) const               \
91{                                                                  \
92   return auto_alloc(&machine, _DeviceClass(machine, *this));                     \
93}                                                                  \
9494
9595
9696
r9191r9192
286286   const char *name() const { return m_name; }
287287   const char *tag() const { return m_tag; }
288288   const void *static_config() const { return m_static_config; }
289   const machine_config &mconfig() const { return m_machine_config; }
289290
290291   // methods that wrap both interface-level and device-level behavior
291292   void config_complete();
r9191r9192
500501
501502      // getters
502503      virtual void findit(device_t &base) = 0;
503     
504
504505      // helpers
505506      device_t *find_device(device_t &device, const char *tag);
506507      void *find_shared_ptr(device_t &device, const char *tag);
507508      size_t find_shared_size(device_t &device, const char *tag);
508   
509
509510      // internal state
510511      auto_finder_base *m_next;
511512      const char *m_tag;
r9191r9192
517518   {
518519   public:
519520      // construction/destruction
520      auto_finder_type(device_t &base, const char *tag)
521         : auto_finder_base(base, tag),
521      auto_finder_type(device_t &base, const char *tag)
522         : auto_finder_base(base, tag),
522523           m_target(0) { }
523524
524525      // operators to make use transparent
r9191r9192
537538      // internal state
538539      _TargetType m_target;
539540   };
540   
541
541542   // optional device finder
542543   template<class _DeviceClass>
543544   class optional_device : public auto_finder_type<_DeviceClass *, false>
r9191r9192
546547      optional_device(device_t &base, const char *tag) : auto_finder_type<_DeviceClass *, false>(base, tag) { }
547548      virtual void findit(device_t &base) { set_target(downcast<_DeviceClass *>(find_device(base, this->m_tag))); }
548549   };
549   
550
550551   // required devices are similar but throw an error if they are not found
551552   template<class _DeviceClass>
552553   class required_device : public auto_finder_type<_DeviceClass *, true>
r9191r9192
555556      required_device(device_t &base, const char *tag) : auto_finder_type<_DeviceClass *, true>(base, tag) { }
556557      virtual void findit(device_t &base) { set_target(downcast<_DeviceClass *>(find_device(base, this->m_tag))); }
557558   };
558   
559
559560   // optional shared pointer finder
560561   template<typename _PointerType>
561562   class optional_shared_ptr : public auto_finder_type<_PointerType *, false>
r9191r9192
564565      optional_shared_ptr(device_t &base, const char *tag) : auto_finder_type<_PointerType *, false>(base, tag) { }
565566      virtual void findit(device_t &base) { set_target(reinterpret_cast<_PointerType *>(find_shared_ptr(base, this->m_tag))); }
566567   };
567   
568
568569   // required shared pointer finder
569570   template<typename _PointerType>
570571   class required_shared_ptr : public auto_finder_type<_PointerType *, true>
r9191r9192
573574      required_shared_ptr(device_t &base, const char *tag) : auto_finder_type<_PointerType *, true>(base, tag) { }
574575      virtual void findit(device_t &base) { set_target(reinterpret_cast<_PointerType *>(find_shared_ptr(base, this->m_tag))); }
575576   };
576   
577
577578   // optional shared pointer size finder
578579   class optional_shared_size : public auto_finder_type<size_t, false>
579580   {
r9191r9192
581582      optional_shared_size(device_t &base, const char *tag) : auto_finder_type<size_t, false>(base, tag) { }
582583      virtual void findit(device_t &base) { set_target(find_shared_size(base, this->m_tag)); }
583584   };
584   
585
585586   // required shared pointer size finder
586587   class required_shared_size : public auto_finder_type<size_t, true>
587588   {
r9191r9192
589590      required_shared_size(device_t &base, const char *tag) : auto_finder_type<size_t, true>(base, tag) { }
590591      virtual void findit(device_t &base) { set_target(find_shared_size(base, this->m_tag)); }
591592   };
592   
593
593594   // internal helpers
594595   void register_auto_finder(auto_finder_base &autodev);
595596
src/emu/sound/okim6295.c
r9191r9192
303303   return result;
304304}
305305
306   
306
307307//-------------------------------------------------
308308//  read - memory interface for read
309309//-------------------------------------------------
src/emu/sound/okim6295.h
r9191r9192
122122
123123   UINT8 read_status();
124124   void write_command(UINT8 command);
125   
125
126126   DECLARE_READ8_MEMBER( read );
127127   DECLARE_WRITE8_MEMBER( write );
128128
src/emu/machine.h
r9191r9192
586586   {
587587      return global_alloc(driver_device_config(mconfig, tag, owner));
588588   }
589   
589
590590   virtual device_t *alloc_device(running_machine &machine) const
591591   {
592592      // we clear here for historical reasons, as many existing driver states
r9191r9192
627627   // device-level overrides
628628   virtual void device_start();
629629   virtual void device_reset();
630   
630
631631   // internal state
632632   const driver_device_config_base &m_config;
633633};
src/emu/memory.c
r9191r9192
399399   memory_share(size_t size, void *ptr = NULL)
400400      : m_ptr(ptr),
401401        m_size(size) { }
402   
402
403403   // getters
404404   void *ptr() const { return m_ptr; }
405405   size_t size() const { return m_size; }
406   
406
407407   // setters
408408   void set_ptr(void *ptr) { m_ptr = ptr; }
409   
409
410410private:
411411   // internal state
412412   void *               m_ptr;               // pointer to the memory backing the region
r9191r9192
16981698
16991699
17001700//-------------------------------------------------
1701//  memory_get_shared - get a pointer to a shared
1701//  memory_get_shared - get a pointer to a shared
17021702//  memory region by tag
17031703//-------------------------------------------------
17041704
r9191r9192
30103010   // if we are asked to provide a base pointer, then yes, we do need backing
30113011   if (entry->m_baseptr != NULL || entry->m_baseptroffs_plus1 != 0 || entry->m_genbaseptroffs_plus1 != 0)
30123012      return true;
3013   
3013
30143014   // if we are sharing, and we don't have a pointer yet, create one
30153015   if (entry->m_share != NULL)
30163016   {
30173017      memory_share *share = m_machine.memory_data->sharemap.find(entry->m_share);
30183018      if (share != NULL && share->ptr() == NULL)
30193019         return true;
3020   }
3020   }
30213021
30223022   // if we're writing to any sort of bank or RAM, then yes, we do need backing
30233023   if (entry->m_write.m_type == AMH_BANK || entry->m_write.m_type == AMH_RAM)
src/emu/mame.c
r9191r9192
239239
240240/*-------------------------------------------------
241241    set_mame_options - set mame options, used by
242   validate option
242    validate option
243243-------------------------------------------------*/
244244
245245void set_mame_options(core_options *options)
src/emu/machine/mc146818.h
r9191r9192
6060
6161protected:
6262   // internal state
63   mc146818_type       m_type;
63   mc146818_type      m_type;
6464};
6565
6666
r9191r9192
9292   // internal helpers
9393   int dec_2_local(int a);
9494   void set_base_datetime();
95   
95
9696   // internal state
9797   static const int MC146818_DATA_SIZE   = 0x80;
9898
9999   const mc146818_device_config &   m_config;
100100
101   UINT8          m_index;
102   UINT8          m_data[MC146818_DATA_SIZE];
101   UINT8         m_index;
102   UINT8         m_data[MC146818_DATA_SIZE];
103103
104   UINT16          m_eindex;
105   UINT8          m_edata[0x2000];
104   UINT16         m_eindex;
105   UINT8         m_edata[0x2000];
106106
107   bool          m_updated;  /* update ended interrupt flag */
107   bool         m_updated;  /* update ended interrupt flag */
108108
109   attotime       m_last_refresh;
109   attotime      m_last_refresh;
110110};
111111
112112
src/emu/machine/6522via.c
r9191r9192
423423      case TIMER_SHIFT:
424424         shift();
425425         break;
426         
426
427427      // t1 timeout
428428      case TIMER_T1:
429429          if (T1_CONTINUOUS (m_acr))
r9191r9192
454454            set_int(INT_T1);
455455          }
456456          break;
457         
457
458458      // t2 timeout
459459      case TIMER_T2:
460460          m_t2_active = 0;
src/emu/machine/nvram.c
r9191r9192
100100
101101
102102//-------------------------------------------------
103//  static_set_custom_handler - configuration
103//  static_set_custom_handler - configuration
104104//  helper to set a custom callback
105105//-------------------------------------------------
106106
r9191r9192
182182            nvram[index] = mame_rand(&m_machine);
183183         break;
184184      }
185     
185
186186      // custom handler
187187      case nvram_device_config::DEFAULT_CUSTOM:
188188         m_custom_handler(*this, m_base, m_length);
src/emu/machine/8257dma.c
r9191r9192
289289         }
290290         break;
291291      }
292   
292
293293      case TIMER_MSBFLIP:
294294         m_msb ^= 1;
295295         break;
296     
296
297297      case TIMER_DRQ_SYNC:
298298      {
299299         int channel = param >> 1;
src/emu/machine/nvram.h
r9191r9192
152152   virtual void nvram_default();
153153   virtual void nvram_read(mame_file &file);
154154   virtual void nvram_write(mame_file &file);
155   
155
156156   // internal helpers
157157   void determine_final_base();
158158
src/emu/machine/intelfsh.c
r9191r9192
200200      map = ADDRESS_MAP_NAME( memory_map8_1Mb );
201201      break;
202202   }
203   
203
204204   int addrbits;
205205   for (addrbits = 24; addrbits > 0; addrbits--)
206206      if ((m_size & (1 << addrbits)) != 0)
src/emu/machine/intelfsh.h
r9191r9192
6868      FLASH_INTEL_28F016S5 = 0x0800,
6969      FLASH_FUJITSU_29F016A,
7070      FLASH_SHARP_LH28F016S,
71      FLASH_INTEL_E28F400,
71      FLASH_INTEL_E28F008SA,
7272      FLASH_MACRONIX_29L001MC,
7373      FLASH_PANASONIC_MN63F805MNP,
7474      FLASH_SANYO_LE26FV10N1TS,
7575
7676      // 16-bit variants
7777      FLASH_SHARP_LH28F400 = 0x1000,
78      FLASH_INTEL_E28F008SA,
78      FLASH_INTEL_E28F400,
7979      FLASH_INTEL_TE28F160,
8080      FLASH_SHARP_UNK128MBIT
8181   };
r9191r9192
8888
8989   // internal state
9090   address_space_config   m_space_config;
91   UINT32                m_type;
92   INT32                m_size;
93   UINT8                m_bits;
94   UINT8                m_device_id;
95   UINT8                m_maker_id;
96   bool                m_sector_is_4k;
91   UINT32               m_type;
92   INT32               m_size;
93   UINT8               m_bits;
94   UINT8               m_device_id;
95   UINT8               m_maker_id;
96   bool               m_sector_is_4k;
9797};
9898
9999
r9191r9192
118118   virtual void nvram_default();
119119   virtual void nvram_read(mame_file &file);
120120   virtual void nvram_write(mame_file &file);
121   
121
122122   // derived helpers
123123   UINT32 read_full(UINT32 offset);
124124   void write_full(UINT32 offset, UINT32 data);
r9191r9192
126126   // internal state
127127   const intelfsh_device_config &   m_config;
128128
129   UINT8                   m_status;
130   INT32                   m_erase_sector;
131   INT32                   m_flash_mode;
132   bool                   m_flash_master_lock;
129   UINT8                  m_status;
130   INT32                  m_erase_sector;
131   INT32                  m_flash_mode;
132   bool                  m_flash_master_lock;
133133   emu_timer *               m_timer;
134134};
135135
r9191r9192
167167   // public interface
168168   UINT8 read(offs_t offset) { return read_full(offset); }
169169   void write(offs_t offset, UINT8 data) { write_full(offset, data); }
170   
170
171171   UINT8 read_raw(offs_t offset) { return m_addrspace[0]->read_byte(offset); }
172172   void write_raw(offs_t offset, UINT8 data) { m_addrspace[0]->write_byte(offset, data); }
173173};
r9191r9192
203203   // public interface
204204   UINT16 read(offs_t offset) { return read_full(offset); }
205205   void write(offs_t offset, UINT16 data) { write_full(offset, data); }
206   
206
207207   UINT16 read_raw(offs_t offset) { return m_addrspace[0]->read_word(offset * 2); }
208208   void write_raw(offs_t offset, UINT16 data) { m_addrspace[0]->write_word(offset * 2, data); }
209209};
r9191r9192
226226DECLARE_TRIVIAL_DERIVED_DEVICE(intel_te28f160_device_config, intelfsh16_device_config, intel_te28f160_device, intelfsh16_device)
227227DECLARE_TRIVIAL_DERIVED_DEVICE(intel_e28f400_device_config, intelfsh16_device_config, intel_e28f400_device, intelfsh16_device)
228228DECLARE_TRIVIAL_DERIVED_DEVICE(sharp_unk128mbit_device_config, intelfsh16_device_config, sharp_unk128mbit_device, intelfsh16_device)
229     
230229
231230
231
232232// device type definition
233233extern const device_type INTEL_28F016S5;
234234extern const device_type SHARP_LH28F016S;
src/emu/machine/eeprom.c
r9191r9192
11/***************************************************************************
22
3    eeprom.h
3    eeprom.c
44
55    Serial eeproms.
66
r9191r9192
7878   : device_config(mconfig, static_alloc_device_config, "EEPROM", tag, owner, clock),
7979     device_config_memory_interface(mconfig, *this),
8080     device_config_nvram_interface(mconfig, *this),
81     m_default_data(NULL),
8281     m_default_data_size(0),
8382     m_default_value(0)
8483{
84   m_default_data.u8 = NULL;
8585}
8686
8787
r9191r9192
132132void eeprom_device_config::static_set_default_data(device_config *device, const UINT8 *data, UINT32 size)
133133{
134134   eeprom_device_config *eeprom = downcast<eeprom_device_config *>(device);
135if (eeprom->m_data_bits != 8) mame_printf_debug("16-bit EEPROM set with 8-bit data\n");
136//  assert(eeprom->m_data_bits == 8);
137   eeprom->m_default_data = data;
135   assert(eeprom->m_data_bits == 8);
136   eeprom->m_default_data.u8 = const_cast<UINT8 *>(data);
138137   eeprom->m_default_data_size = size;
139138}
140139
141140void eeprom_device_config::static_set_default_data(device_config *device, const UINT16 *data, UINT32 size)
142141{
143142   eeprom_device_config *eeprom = downcast<eeprom_device_config *>(device);
144if (eeprom->m_data_bits != 16) mame_printf_debug("8-bit EEPROM set with 16-bit data\n");
145//  assert(eeprom->m_data_bits == 16);
146   eeprom->m_default_data = reinterpret_cast<const UINT8 *>(data);
147   eeprom->m_default_data_size = size;
143   assert(eeprom->m_data_bits == 16);
144   eeprom->m_default_data.u16 = const_cast<UINT16 *>(data);
145   eeprom->m_default_data_size = size / 2;
148146}
149147
150148
r9191r9192
266264         m_addrspace[0]->write_word(offs * 2, default_value);
267265
268266   /* handle hard-coded data from the driver */
269   if (m_config.m_default_data != NULL)
267   if (m_config.m_default_data.u8 != NULL)
270268      for (offs_t offs = 0; offs < m_config.m_default_data_size; offs++)
271         m_addrspace[0]->write_byte(offs, m_config.m_default_data[offs]);
269         if (m_config.m_data_bits == 8)
270            m_addrspace[0]->write_byte(offs, m_config.m_default_data.u8[offs]);
271         else
272            m_addrspace[0]->write_word(offs * 2, m_config.m_default_data.u16[offs]);
272273
273274   /* populate from a memory region if present */
274275   if (m_region != NULL)
src/emu/machine/eeprom.h
r9191r9192
9292   address_space_config      m_space_config;
9393
9494   // internal state
95   const UINT8 *            m_default_data;
95   generic_ptr               m_default_data;
9696   int                   m_default_data_size;
9797   UINT32                  m_default_value;
9898};
src/emu/mconfig.c
r9191r9192
6565{
6666   // construct the config
6767   (*gamedrv.machine_config)(*this, NULL);
68   
68
6969   // when finished, set the game driver
7070   device_config *config = m_devicelist.find("root");
7171   if (config == NULL)
src/emu/mconfig.h
r9191r9192
126126public:
127127   machine_config(const game_driver &gamedrv);
128128   ~machine_config();
129   
129
130130   const game_driver &gamedrv() const { return m_gamedrv; }
131131
132132   attotime            m_minimum_quantum;         // minimum scheduling quantum
src/mess/mess.mak
r9191r9192
13421342   $(MESS_MACHINE)/sms.o      \
13431343   $(MESS_DRIVERS)/sms.o      \
13441344   $(MAME_DRIVERS)/megadriv.o  \
1345   $(MAME_DRIVERS)/megadrvb.o  \
13451346   $(MESS_DRIVERS)/sg1000.o   \
13461347   $(MESS_DRIVERS)/dc.o      \
13471348   $(MAME_MACHINE)/dc.o      \

Previous 15994 Revisions Next


© 1998-2018 The MESS Team