summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatarGravatar Aaron Giles <aaron@aarongiles.com>2007-12-17 16:41:39 +0000
committerGravatarGravatar Aaron Giles <aaron@aarongiles.com>2007-12-17 16:41:39 +0000
commit507ca2d27520118151a2556d96b9a15aac768876 (patch)
tree46bb2585f4114b1dfc157c3bfe60238d23877e7a
parentdf34329a478833efbd542a424ce1813a11214d4a (diff)
Changes for MAME 0.121u4.mame0121u4
-rw-r--r--docs/config.txt7
-rw-r--r--makefile4
-rw-r--r--src/emu/cheat.c48
-rw-r--r--src/emu/cpu/adsp2100/2100ops.c12
-rw-r--r--src/emu/cpu/asap/asap.c4
-rw-r--r--src/emu/cpu/h6280/tblh6280.c2
-rw-r--r--src/emu/cpu/hd6309/6309dasm.c2
-rw-r--r--src/emu/cpu/hd6309/6309ops.c2
-rw-r--r--src/emu/cpu/i86/ea.h2
-rw-r--r--src/emu/cpu/konami/konamtbl.c8
-rw-r--r--src/emu/cpu/m37710/m37710.c4
-rw-r--r--src/emu/cpu/m6502/t65c02.c2
-rw-r--r--src/emu/cpu/m68000/m68kcpu.c2
-rw-r--r--src/emu/cpu/m68000/m68kmame.c14
-rw-r--r--src/emu/cpu/m6805/m6805.c2
-rw-r--r--src/emu/cpu/m6809/6809dasm.c2
-rw-r--r--src/emu/cpu/m6809/6809tbl.c2
-rw-r--r--src/emu/cpu/mips/psx.c6
-rw-r--r--src/emu/cpu/nec/necea.h2
-rw-r--r--src/emu/cpu/nec/necinstr.h2
-rw-r--r--src/emu/cpu/pic16c5x/pic16c5x.c14
-rw-r--r--src/emu/cpu/powerpc/ppcdrc.c2
-rw-r--r--src/emu/cpu/saturn/saturnds.c2
-rw-r--r--src/emu/cpu/sharc/sharcdsm.c2
-rw-r--r--src/emu/cpu/sharc/sharcops.h2
-rw-r--r--src/emu/cpu/tms32010/tms32010.c4
-rw-r--r--src/emu/cpu/tms32025/tms32025.c6
-rw-r--r--src/emu/cpu/tms34010/tms34010.c2
-rw-r--r--src/emu/cpu/tms7000/tms70tb.c4
-rw-r--r--src/emu/cpu/v30mz/necea.h2
-rw-r--r--src/emu/cpu/v30mz/necinstr.h2
-rw-r--r--src/emu/cpu/v60/v60mem.c4
-rw-r--r--src/emu/cpu/z8000/z8000.c14
-rw-r--r--src/emu/cpuexec.h2
-rw-r--r--src/emu/cpuint.c2
-rw-r--r--src/emu/cpuint.h2
-rw-r--r--src/emu/debug/debugcmd.c4
-rw-r--r--src/emu/debug/debugcpu.c4
-rw-r--r--src/emu/debug/debughlp.c4
-rw-r--r--src/emu/debug/express.c6
-rw-r--r--src/emu/drawgfx.c2
-rw-r--r--src/emu/driver.h11
-rw-r--r--src/emu/emuopts.c1
-rw-r--r--src/emu/emuopts.h1
-rw-r--r--src/emu/hash.c2
-rw-r--r--src/emu/inptport.c10
-rw-r--r--src/emu/inptport.h4
-rw-r--r--src/emu/input.c8
-rw-r--r--src/emu/input.h6
-rw-r--r--src/emu/machine/53c810.c8
-rw-r--r--src/emu/machine/53c810.h4
-rw-r--r--src/emu/machine/6840ptm.c2
-rw-r--r--src/emu/machine/am53cf96.c4
-rw-r--r--src/emu/machine/am53cf96.h4
-rw-r--r--src/emu/machine/cr589.c4
-rw-r--r--src/emu/machine/cr589.h2
-rw-r--r--src/emu/machine/ds2401.c11
-rw-r--r--src/emu/machine/ds2401.h2
-rw-r--r--src/emu/machine/idectrl.c14
-rw-r--r--src/emu/machine/idectrl.h8
-rw-r--r--src/emu/machine/laserdsc.c2
-rw-r--r--src/emu/machine/laserdsc.h2
-rw-r--r--src/emu/machine/mb87078.c4
-rw-r--r--src/emu/machine/roc10937.c2
-rw-r--r--src/emu/machine/rp5h01.c4
-rw-r--r--src/emu/machine/rp5h01.h2
-rw-r--r--src/emu/machine/scsi.c12
-rw-r--r--src/emu/machine/scsi.h18
-rw-r--r--src/emu/machine/scsicd.c2
-rw-r--r--src/emu/machine/scsicd.h2
-rw-r--r--src/emu/machine/scsidev.c2
-rw-r--r--src/emu/machine/scsidev.h2
-rw-r--r--src/emu/machine/scsihd.c2
-rw-r--r--src/emu/machine/scsihd.h2
-rw-r--r--src/emu/machine/smc91c9x.c4
-rw-r--r--src/emu/machine/smc91c9x.h2
-rw-r--r--src/emu/machine/wd33c93.c6
-rw-r--r--src/emu/machine/wd33c93.h4
-rw-r--r--src/emu/machine/z80pio.c2
-rw-r--r--src/emu/machine/z80pio.h2
-rw-r--r--src/emu/mame.c4
-rw-r--r--src/emu/mame.h4
-rw-r--r--src/emu/mamecore.c2
-rw-r--r--src/emu/memory.c8
-rw-r--r--src/emu/memory.h4
-rw-r--r--src/emu/profiler.c2
-rw-r--r--src/emu/rendlay.c2
-rw-r--r--src/emu/sound/c140.c2
-rw-r--r--src/emu/sound/c6280.c2
-rw-r--r--src/emu/sound/discrete.c2
-rw-r--r--src/emu/sound/es5503.c8
-rw-r--r--src/emu/sound/flt_rc.c2
-rw-r--r--src/emu/sound/flt_rc.h2
-rw-r--r--src/emu/sound/fm.c14
-rw-r--r--src/emu/sound/k007232.c4
-rw-r--r--src/emu/sound/k053260.c2
-rw-r--r--src/emu/sound/k054539.c4
-rw-r--r--src/emu/sound/msm5232.c4
-rw-r--r--src/emu/sound/multipcm.c4
-rw-r--r--src/emu/sound/okim6295.c2
-rw-r--r--src/emu/sound/s14001a.c2
-rw-r--r--src/emu/sound/scsp.c29
-rw-r--r--src/emu/sound/scspdsp.c52
-rw-r--r--src/emu/sound/scsplfo.c8
-rw-r--r--src/emu/sound/side6581.h2
-rw-r--r--src/emu/sound/sidenvel.c4
-rw-r--r--src/emu/sound/sidw6581.h8
-rw-r--r--src/emu/sound/sidw8580.h8
-rw-r--r--src/emu/sound/sn76477.c2
-rw-r--r--src/emu/sound/sp0256.c2
-rw-r--r--src/emu/sound/speaker.c4
-rw-r--r--src/emu/sound/tms3615.c2
-rw-r--r--src/emu/sound/tms36xx.c2
-rw-r--r--src/emu/sound/tms5110.c2
-rw-r--r--src/emu/sound/tms5220r.c4
-rw-r--r--src/emu/sound/vlm5030.c2
-rw-r--r--src/emu/sound/ym2151.c14
-rw-r--r--src/emu/sound/ym2413.c2
-rw-r--r--src/emu/sound/ymdeltat.c2
-rw-r--r--src/emu/sound/ymz280b.c2
-rw-r--r--src/emu/state.c2
-rw-r--r--src/emu/ui.c5
-rw-r--r--src/emu/uimenu.c4
-rw-r--r--src/emu/uitext.c4
-rw-r--r--src/emu/validity.c2
-rw-r--r--src/emu/video.c13
-rw-r--r--src/emu/video/rgbutil.h2
-rw-r--r--src/emu/video/s2636.c2
-rw-r--r--src/emu/video/tms34061.c4
-rw-r--r--src/emu/video/tms34061.h2
-rw-r--r--src/emu/video/tms9928a.c4
-rw-r--r--src/emu/video/v9938.c30
-rw-r--r--src/emu/video/vooddefs.h10
-rw-r--r--src/lib/util/options.c2
-rw-r--r--src/lib/util/options.h2
-rw-r--r--src/mame/audio/atarijsa.c2
-rw-r--r--src/mame/audio/berzerk.c4
-rw-r--r--src/mame/audio/cage.c4
-rw-r--r--src/mame/audio/cclimber.c2
-rw-r--r--src/mame/audio/cinemat.c6
-rw-r--r--src/mame/audio/dkong.c12
-rw-r--r--src/mame/audio/gotya.c2
-rw-r--r--src/mame/audio/gyruss.c2
-rw-r--r--src/mame/audio/irem.c8
-rw-r--r--src/mame/audio/mcr.c6
-rw-r--r--src/mame/audio/namcoc7x.h2
-rw-r--r--src/mame/audio/polepos.c6
-rw-r--r--src/mame/audio/rockola.c6
-rw-r--r--src/mame/audio/scramble.c4
-rw-r--r--src/mame/audio/segag80r.c4
-rw-r--r--src/mame/audio/segasnd.c4
-rw-r--r--src/mame/audio/seibu.h8
-rw-r--r--src/mame/audio/senjyo.c2
-rw-r--r--src/mame/audio/spiders.c4
-rw-r--r--src/mame/audio/t5182.c2
-rw-r--r--src/mame/audio/t5182.h2
-rw-r--r--src/mame/audio/taito_en.c2
-rw-r--r--src/mame/audio/taito_en.h2
-rw-r--r--src/mame/audio/tank8.c2
-rw-r--r--src/mame/audio/targ.c2
-rw-r--r--src/mame/audio/timeplt.c4
-rw-r--r--src/mame/audio/timeplt.h2
-rw-r--r--src/mame/audio/williams.c4
-rw-r--r--src/mame/drivers/20pacgal.c2
-rw-r--r--src/mame/drivers/2mindril.c2
-rw-r--r--src/mame/drivers/40love.c4
-rw-r--r--src/mame/drivers/88games.c8
-rw-r--r--src/mame/drivers/actfancr.c2
-rw-r--r--src/mame/drivers/aeroboto.c2
-rw-r--r--src/mame/drivers/aerofgt.c4
-rw-r--r--src/mame/drivers/afega.c2
-rw-r--r--src/mame/drivers/airbustr.c2
-rw-r--r--src/mame/drivers/ajax.c4
-rw-r--r--src/mame/drivers/aleck64.c2
-rw-r--r--src/mame/drivers/alg.c2
-rw-r--r--src/mame/drivers/aliens.c4
-rw-r--r--src/mame/drivers/alpha68k.c18
-rw-r--r--src/mame/drivers/ambush.c4
-rw-r--r--src/mame/drivers/amidar.c2
-rw-r--r--src/mame/drivers/ampoker.c2
-rw-r--r--src/mame/drivers/amspdwy.c2
-rw-r--r--src/mame/drivers/angelkds.c2
-rw-r--r--src/mame/drivers/appoooh.c2
-rw-r--r--src/mame/drivers/aquarium.c2
-rw-r--r--src/mame/drivers/arabian.c2
-rw-r--r--src/mame/drivers/arcadia.c2
-rw-r--r--src/mame/drivers/argus.c2
-rw-r--r--src/mame/drivers/arkanoid.c2
-rw-r--r--src/mame/drivers/artmagic.c2
-rw-r--r--src/mame/drivers/ashnojoe.c4
-rw-r--r--src/mame/drivers/asterix.c2
-rw-r--r--src/mame/drivers/asteroid.c4
-rw-r--r--src/mame/drivers/astrocde.c6
-rw-r--r--src/mame/drivers/asuka.c6
-rw-r--r--src/mame/drivers/atarisy1.c4
-rw-r--r--src/mame/drivers/atarisy2.c8
-rw-r--r--src/mame/drivers/ataxx.c2
-rw-r--r--src/mame/drivers/atetris.c4
-rw-r--r--src/mame/drivers/attckufo.c2
-rw-r--r--src/mame/drivers/backfire.c2
-rw-r--r--src/mame/drivers/bagman.c4
-rw-r--r--src/mame/drivers/balsente.c2
-rw-r--r--src/mame/drivers/baraduke.c2
-rw-r--r--src/mame/drivers/battlane.c2
-rw-r--r--src/mame/drivers/battlera.c2
-rw-r--r--src/mame/drivers/bbusters.c4
-rw-r--r--src/mame/drivers/bfcobra.c10
-rw-r--r--src/mame/drivers/bfm_sc2.c2
-rw-r--r--src/mame/drivers/bigevglf.c2
-rw-r--r--src/mame/drivers/bishi.c2
-rw-r--r--src/mame/drivers/bking2.c6
-rw-r--r--src/mame/drivers/bladestl.c4
-rw-r--r--src/mame/drivers/blktiger.c2
-rw-r--r--src/mame/drivers/blockout.c2
-rw-r--r--src/mame/drivers/blueprnt.c4
-rw-r--r--src/mame/drivers/bmcbowl.c4
-rw-r--r--src/mame/drivers/bnstars.c4
-rw-r--r--src/mame/drivers/boogwing.c2
-rw-r--r--src/mame/drivers/bottom9.c4
-rw-r--r--src/mame/drivers/brkthru.c2
-rw-r--r--src/mame/drivers/btoads.c2
-rw-r--r--src/mame/drivers/bublbobl.c2
-rw-r--r--src/mame/drivers/buggychl.c6
-rw-r--r--src/mame/drivers/bwidow.c4
-rw-r--r--src/mame/drivers/bwing.c2
-rw-r--r--src/mame/drivers/bzone.c8
-rw-r--r--src/mame/drivers/cabal.c8
-rw-r--r--src/mame/drivers/capbowl.c2
-rw-r--r--src/mame/drivers/cardline.c2
-rw-r--r--src/mame/drivers/carrera.c2
-rw-r--r--src/mame/drivers/cave.c8
-rw-r--r--src/mame/drivers/cbuster.c2
-rw-r--r--src/mame/drivers/ccastles.c2
-rw-r--r--src/mame/drivers/cchasm.c2
-rw-r--r--src/mame/drivers/centiped.c8
-rw-r--r--src/mame/drivers/chaknpop.c4
-rw-r--r--src/mame/drivers/cham24.c2
-rw-r--r--src/mame/drivers/champbas.c2
-rw-r--r--src/mame/drivers/champbwl.c2
-rw-r--r--src/mame/drivers/changela.c4
-rw-r--r--src/mame/drivers/cherrym.c2
-rw-r--r--src/mame/drivers/cherrym2.c2
-rw-r--r--src/mame/drivers/chinagat.c6
-rw-r--r--src/mame/drivers/chinsan.c2
-rw-r--r--src/mame/drivers/chqflag.c6
-rw-r--r--src/mame/drivers/cidelsa.c4
-rw-r--r--src/mame/drivers/cinemat.c4
-rw-r--r--src/mame/drivers/citycon.c2
-rw-r--r--src/mame/drivers/cloak.c4
-rw-r--r--src/mame/drivers/cloud9.c2
-rw-r--r--src/mame/drivers/clshroad.c2
-rw-r--r--src/mame/drivers/cninja.c4
-rw-r--r--src/mame/drivers/coinmstr.c2
-rw-r--r--src/mame/drivers/cojag.c8
-rw-r--r--src/mame/drivers/combatsc.c4
-rw-r--r--src/mame/drivers/compgolf.c2
-rw-r--r--src/mame/drivers/coolpool.c4
-rw-r--r--src/mame/drivers/couple.c2
-rw-r--r--src/mame/drivers/cowrace.c2
-rw-r--r--src/mame/drivers/cps1.c6
-rw-r--r--src/mame/drivers/cps2.c2
-rw-r--r--src/mame/drivers/cps3.c6
-rw-r--r--src/mame/drivers/crgolf.c2
-rw-r--r--src/mame/drivers/crimfght.c4
-rw-r--r--src/mame/drivers/crospang.c2
-rw-r--r--src/mame/drivers/crshrace.c2
-rw-r--r--src/mame/drivers/crystal.c2
-rw-r--r--src/mame/drivers/cubocd32.c2
-rw-r--r--src/mame/drivers/cvs.c2
-rw-r--r--src/mame/drivers/cyberbal.c2
-rw-r--r--src/mame/drivers/cybertnk.c2
-rw-r--r--src/mame/drivers/darius.c6
-rw-r--r--src/mame/drivers/darkhors.c2
-rw-r--r--src/mame/drivers/darkseal.c2
-rw-r--r--src/mame/drivers/dassault.c2
-rw-r--r--src/mame/drivers/dblewing.c2
-rw-r--r--src/mame/drivers/dbz.c2
-rw-r--r--src/mame/drivers/ddayjlc.c2
-rw-r--r--src/mame/drivers/ddealer.c2
-rw-r--r--src/mame/drivers/ddenlovr.c6
-rw-r--r--src/mame/drivers/ddragon.c4
-rw-r--r--src/mame/drivers/ddragon3.c2
-rw-r--r--src/mame/drivers/ddrible.c4
-rw-r--r--src/mame/drivers/ddz.c2
-rw-r--r--src/mame/drivers/dec0.c12
-rw-r--r--src/mame/drivers/dec8.c8
-rw-r--r--src/mame/drivers/deco156.c2
-rw-r--r--src/mame/drivers/deco32.c4
-rw-r--r--src/mame/drivers/deco_mlc.c2
-rw-r--r--src/mame/drivers/deniam.c2
-rw-r--r--src/mame/drivers/dietgo.c2
-rw-r--r--src/mame/drivers/discoboy.c2
-rw-r--r--src/mame/drivers/djmain.c28
-rw-r--r--src/mame/drivers/dkong.c4
-rw-r--r--src/mame/drivers/dlair.c4
-rw-r--r--src/mame/drivers/docastle.c2
-rw-r--r--src/mame/drivers/dominob.c2
-rw-r--r--src/mame/drivers/dooyong.c6
-rw-r--r--src/mame/drivers/drmicro.c2
-rw-r--r--src/mame/drivers/drtomy.c4
-rw-r--r--src/mame/drivers/dunhuang.c2
-rw-r--r--src/mame/drivers/dwarfd.c2
-rw-r--r--src/mame/drivers/dynax.c16
-rw-r--r--src/mame/drivers/enigma2.c2
-rw-r--r--src/mame/drivers/eolithsp.c2
-rw-r--r--src/mame/drivers/ettrivia.c4
-rw-r--r--src/mame/drivers/exerion.c2
-rw-r--r--src/mame/drivers/exidy.c2
-rw-r--r--src/mame/drivers/exidy440.c2
-rw-r--r--src/mame/drivers/exprraid.c2
-rw-r--r--src/mame/drivers/exterm.c4
-rw-r--r--src/mame/drivers/exzisus.c2
-rw-r--r--src/mame/drivers/f1gp.c2
-rw-r--r--src/mame/drivers/fantland.c4
-rw-r--r--src/mame/drivers/fastlane.c4
-rw-r--r--src/mame/drivers/filetto.c2
-rw-r--r--src/mame/drivers/findout.c2
-rw-r--r--src/mame/drivers/firebeat.c12
-rw-r--r--src/mame/drivers/firetrap.c2
-rw-r--r--src/mame/drivers/flkatck.c2
-rw-r--r--src/mame/drivers/flower.c2
-rw-r--r--src/mame/drivers/flstory.c4
-rw-r--r--src/mame/drivers/foodf.c2
-rw-r--r--src/mame/drivers/frogger.c2
-rw-r--r--src/mame/drivers/fromanc2.c2
-rw-r--r--src/mame/drivers/fromance.c2
-rw-r--r--src/mame/drivers/funkybee.c2
-rw-r--r--src/mame/drivers/funkyjet.c2
-rw-r--r--src/mame/drivers/funworld.c2
-rw-r--r--src/mame/drivers/fuukifg2.c2
-rw-r--r--src/mame/drivers/fuukifg3.c4
-rw-r--r--src/mame/drivers/gaelco2.c12
-rw-r--r--src/mame/drivers/gaelco3d.c2
-rw-r--r--src/mame/drivers/gaiden.c10
-rw-r--r--src/mame/drivers/galaga.c8
-rw-r--r--src/mame/drivers/galaxian.c4
-rw-r--r--src/mame/drivers/galpani3.c2
-rw-r--r--src/mame/drivers/galspnbl.c2
-rw-r--r--src/mame/drivers/gamecstl.c8
-rw-r--r--src/mame/drivers/gameplan.c10
-rw-r--r--src/mame/drivers/gaplus.c8
-rw-r--r--src/mame/drivers/gbusters.c2
-rw-r--r--src/mame/drivers/gcpinbal.c2
-rw-r--r--src/mame/drivers/gijoe.c2
-rw-r--r--src/mame/drivers/ginganin.c2
-rw-r--r--src/mame/drivers/gladiatr.c8
-rw-r--r--src/mame/drivers/goal92.c4
-rw-r--r--src/mame/drivers/goldstar.c4
-rw-r--r--src/mame/drivers/gomoku.c2
-rw-r--r--src/mame/drivers/gotcha.c2
-rw-r--r--src/mame/drivers/gottlieb.c2
-rw-r--r--src/mame/drivers/gradius3.c2
-rw-r--r--src/mame/drivers/grchamp.c4
-rw-r--r--src/mame/drivers/gridlee.c2
-rw-r--r--src/mame/drivers/groundfx.c2
-rw-r--r--src/mame/drivers/gstriker.c2
-rw-r--r--src/mame/drivers/gsword.c6
-rw-r--r--src/mame/drivers/gticlub.c6
-rw-r--r--src/mame/drivers/gunbustr.c2
-rw-r--r--src/mame/drivers/gyruss.c6
-rw-r--r--src/mame/drivers/halleys.c8
-rw-r--r--src/mame/drivers/hanaawas.c2
-rw-r--r--src/mame/drivers/hanaroku.c2
-rw-r--r--src/mame/drivers/harddriv.c10
-rw-r--r--src/mame/drivers/hcastle.c4
-rw-r--r--src/mame/drivers/hexa.c2
-rw-r--r--src/mame/drivers/hnayayoi.c4
-rw-r--r--src/mame/drivers/hng64.c2
-rw-r--r--src/mame/drivers/holeland.c4
-rw-r--r--src/mame/drivers/homedata.c2
-rw-r--r--src/mame/drivers/homerun.c2
-rw-r--r--src/mame/drivers/hornet.c4
-rw-r--r--src/mame/drivers/hotblock.c2
-rw-r--r--src/mame/drivers/hyhoo.c2
-rw-r--r--src/mame/drivers/hyperspt.c4
-rw-r--r--src/mame/drivers/hyprduel.c2
-rw-r--r--src/mame/drivers/igs_blit.c2
-rw-r--r--src/mame/drivers/inufuku.c2
-rw-r--r--src/mame/drivers/irobot.c2
-rw-r--r--src/mame/drivers/ironhors.c2
-rw-r--r--src/mame/drivers/itech32.c6
-rw-r--r--src/mame/drivers/itech8.c6
-rw-r--r--src/mame/drivers/jack.c2
-rw-r--r--src/mame/drivers/jailbrek.c2
-rw-r--r--src/mame/drivers/jalmah.c10
-rw-r--r--src/mame/drivers/jchan.c2
-rw-r--r--src/mame/drivers/jcross.c2
-rw-r--r--src/mame/drivers/jongkyo.c2
-rw-r--r--src/mame/drivers/jpmimpct.c4
-rw-r--r--src/mame/drivers/jrpacman.c2
-rw-r--r--src/mame/drivers/junofrst.c2
-rw-r--r--src/mame/drivers/kaneko16.c4
-rw-r--r--src/mame/drivers/karnov.c2
-rw-r--r--src/mame/drivers/kchamp.c2
-rw-r--r--src/mame/drivers/kingobox.c2
-rw-r--r--src/mame/drivers/kinst.c4
-rw-r--r--src/mame/drivers/kinstb.c2
-rw-r--r--src/mame/drivers/koikoi.c2
-rw-r--r--src/mame/drivers/konamigq.c6
-rw-r--r--src/mame/drivers/konamigv.c6
-rw-r--r--src/mame/drivers/konamigx.c8
-rw-r--r--src/mame/drivers/konamim2.c2
-rw-r--r--src/mame/drivers/ksayakyu.c4
-rw-r--r--src/mame/drivers/ksys573.c12
-rw-r--r--src/mame/drivers/kyugo.c2
-rw-r--r--src/mame/drivers/labyrunr.c4
-rw-r--r--src/mame/drivers/ladyfrog.c4
-rw-r--r--src/mame/drivers/laserbat.c2
-rw-r--r--src/mame/drivers/lastduel.c2
-rw-r--r--src/mame/drivers/leland.c8
-rw-r--r--src/mame/drivers/lemmings.c2
-rw-r--r--src/mame/drivers/lethal.c2
-rw-r--r--src/mame/drivers/lethalj.c4
-rw-r--r--src/mame/drivers/liberatr.c4
-rw-r--r--src/mame/drivers/limenko.c2
-rw-r--r--src/mame/drivers/lkage.c2
-rw-r--r--src/mame/drivers/lockon.c2
-rw-r--r--src/mame/drivers/looping.c4
-rw-r--r--src/mame/drivers/lordgun.c2
-rw-r--r--src/mame/drivers/lsasquad.c2
-rw-r--r--src/mame/drivers/lucky8.c2
-rw-r--r--src/mame/drivers/lvcards.c2
-rw-r--r--src/mame/drivers/lwings.c2
-rw-r--r--src/mame/drivers/m107.c4
-rw-r--r--src/mame/drivers/m72.c2
-rw-r--r--src/mame/drivers/m90.c2
-rw-r--r--src/mame/drivers/m92.c4
-rw-r--r--src/mame/drivers/macrossp.c2
-rw-r--r--src/mame/drivers/macs.c2
-rw-r--r--src/mame/drivers/madalien.c4
-rw-r--r--src/mame/drivers/madmotor.c2
-rw-r--r--src/mame/drivers/magmax.c2
-rw-r--r--src/mame/drivers/mainevt.c4
-rw-r--r--src/mame/drivers/mainsnk.c2
-rw-r--r--src/mame/drivers/mappy.c10
-rw-r--r--src/mame/drivers/mario.c2
-rw-r--r--src/mame/drivers/marvins.c2
-rw-r--r--src/mame/drivers/mastboy.c2
-rw-r--r--src/mame/drivers/matmania.c2
-rw-r--r--src/mame/drivers/maxaflex.c2
-rw-r--r--src/mame/drivers/mayumi.c2
-rw-r--r--src/mame/drivers/mazerbla.c4
-rw-r--r--src/mame/drivers/mcatadv.c2
-rw-r--r--src/mame/drivers/mcr3.c4
-rw-r--r--src/mame/drivers/meadows.c2
-rw-r--r--src/mame/drivers/mediagx.c6
-rw-r--r--src/mame/drivers/megadriv.c8
-rw-r--r--src/mame/drivers/megasys1.c4
-rw-r--r--src/mame/drivers/megatech.c2
-rw-r--r--src/mame/drivers/megazone.c2
-rw-r--r--src/mame/drivers/meijinsn.c6
-rw-r--r--src/mame/drivers/merit.c2
-rw-r--r--src/mame/drivers/metlclsh.c2
-rw-r--r--src/mame/drivers/metro.c8
-rw-r--r--src/mame/drivers/mexico86.c2
-rw-r--r--src/mame/drivers/mhavoc.c2
-rw-r--r--src/mame/drivers/micro3d.c4
-rw-r--r--src/mame/drivers/midas.c2
-rw-r--r--src/mame/drivers/midtunit.c2
-rw-r--r--src/mame/drivers/midvunit.c6
-rw-r--r--src/mame/drivers/midwunit.c2
-rw-r--r--src/mame/drivers/midxunit.c2
-rw-r--r--src/mame/drivers/midyunit.c4
-rw-r--r--src/mame/drivers/midzeus.c153
-rw-r--r--src/mame/drivers/mirax.c4
-rw-r--r--src/mame/drivers/missb2.c2
-rw-r--r--src/mame/drivers/missile.c2
-rw-r--r--src/mame/drivers/mitchell.c2
-rw-r--r--src/mame/drivers/mjkjidai.c2
-rw-r--r--src/mame/drivers/mjsister.c2
-rw-r--r--src/mame/drivers/mjsiyoub.c4
-rw-r--r--src/mame/drivers/mlanding.c4
-rw-r--r--src/mame/drivers/model1.c4
-rw-r--r--src/mame/drivers/model2.c14
-rw-r--r--src/mame/drivers/model3.c24
-rw-r--r--src/mame/drivers/momoko.c2
-rw-r--r--src/mame/drivers/moo.c2
-rw-r--r--src/mame/drivers/mosaic.c4
-rw-r--r--src/mame/drivers/mpu4drvr.c4
-rw-r--r--src/mame/drivers/mquake.c4
-rw-r--r--src/mame/drivers/ms32.c2
-rw-r--r--src/mame/drivers/msisaac.c2
-rw-r--r--src/mame/drivers/mugsmash.c2
-rw-r--r--src/mame/drivers/multigam.c2
-rw-r--r--src/mame/drivers/mw8080bw.c2
-rw-r--r--src/mame/drivers/mystwarr.c2
-rw-r--r--src/mame/drivers/namcona1.c4
-rw-r--r--src/mame/drivers/namcond1.c2
-rw-r--r--src/mame/drivers/namcos1.c4
-rw-r--r--src/mame/drivers/namcos11.c2
-rw-r--r--src/mame/drivers/namcos12.c340
-rw-r--r--src/mame/drivers/namcos2.c2
-rw-r--r--src/mame/drivers/namcos21.c4
-rw-r--r--src/mame/drivers/namcos22.c2
-rw-r--r--src/mame/drivers/namcos23.c6
-rw-r--r--src/mame/drivers/namcos86.c4
-rw-r--r--src/mame/drivers/naomi.c2
-rw-r--r--src/mame/drivers/naughtyb.c38
-rw-r--r--src/mame/drivers/nbmj8688.c2
-rw-r--r--src/mame/drivers/nbmj8891.c2
-rw-r--r--src/mame/drivers/nbmj8991.c2
-rw-r--r--src/mame/drivers/nbmj9195.c4
-rw-r--r--src/mame/drivers/nemesis.c14
-rw-r--r--src/mame/drivers/ninjakd2.c2
-rw-r--r--src/mame/drivers/ninjaw.c4
-rw-r--r--src/mame/drivers/niyanpai.c2
-rw-r--r--src/mame/drivers/nmg5.c2
-rw-r--r--src/mame/drivers/nmk16.c20
-rw-r--r--src/mame/drivers/nova2001.c4
-rw-r--r--src/mame/drivers/nss.c2
-rw-r--r--src/mame/drivers/nwk-tr.c10
-rw-r--r--src/mame/drivers/nycaptor.c4
-rw-r--r--src/mame/drivers/nyny.c6
-rw-r--r--src/mame/drivers/ojankohs.c8
-rw-r--r--src/mame/drivers/omegrace.c2
-rw-r--r--src/mame/drivers/oneshot.c2
-rw-r--r--src/mame/drivers/onetwo.c2
-rw-r--r--src/mame/drivers/opwolf.c8
-rw-r--r--src/mame/drivers/othunder.c4
-rw-r--r--src/mame/drivers/overdriv.c2
-rw-r--r--src/mame/drivers/pacland.c2
-rw-r--r--src/mame/drivers/pacman.c4
-rw-r--r--src/mame/drivers/pandoras.c2
-rw-r--r--src/mame/drivers/parodius.c2
-rw-r--r--src/mame/drivers/pastelg.c2
-rw-r--r--src/mame/drivers/pcktgal.c2
-rw-r--r--src/mame/drivers/pengo.c2
-rw-r--r--src/mame/drivers/pgm.c2
-rw-r--r--src/mame/drivers/phoenix.c10
-rw-r--r--src/mame/drivers/pipedrm.c4
-rw-r--r--src/mame/drivers/pipeline.c4
-rw-r--r--src/mame/drivers/pitnrun.c2
-rw-r--r--src/mame/drivers/pkscram.c2
-rw-r--r--src/mame/drivers/pkunwar.c4
-rw-r--r--src/mame/drivers/playch10.c2
-rw-r--r--src/mame/drivers/plygonet.c2
-rw-r--r--src/mame/drivers/pntnpuzl.c2
-rw-r--r--src/mame/drivers/polepos.c10
-rw-r--r--src/mame/drivers/policetr.c2
-rw-r--r--src/mame/drivers/popeye.c2
-rw-r--r--src/mame/drivers/powerins.c2
-rw-r--r--src/mame/drivers/prehisle.c4
-rw-r--r--src/mame/drivers/progolf.c10
-rw-r--r--src/mame/drivers/psikyo.c6
-rw-r--r--src/mame/drivers/psikyo4.c2
-rw-r--r--src/mame/drivers/psikyosh.c4
-rw-r--r--src/mame/drivers/psychic5.c2
-rw-r--r--src/mame/drivers/pturn.c2
-rw-r--r--src/mame/drivers/puckpkmn.c2
-rw-r--r--src/mame/drivers/punchout.c4
-rw-r--r--src/mame/drivers/pushman.c2
-rw-r--r--src/mame/drivers/qdrmfgp.c8
-rw-r--r--src/mame/drivers/quantum.c4
-rw-r--r--src/mame/drivers/quizdna.c2
-rw-r--r--src/mame/drivers/r2dtank.c6
-rw-r--r--src/mame/drivers/raiders5.c4
-rw-r--r--src/mame/drivers/rainbow.c2
-rw-r--r--src/mame/drivers/rallyx.c2
-rw-r--r--src/mame/drivers/rastan.c4
-rw-r--r--src/mame/drivers/rcasino.c2
-rw-r--r--src/mame/drivers/realbrk.c2
-rw-r--r--src/mame/drivers/redalert.c4
-rw-r--r--src/mame/drivers/renegade.c4
-rw-r--r--src/mame/drivers/rmhaihai.c4
-rw-r--r--src/mame/drivers/rockola.c2
-rw-r--r--src/mame/drivers/rockrage.c2
-rw-r--r--src/mame/drivers/rohga.c2
-rw-r--r--src/mame/drivers/rollerg.c2
-rw-r--r--src/mame/drivers/route16.c2
-rw-r--r--src/mame/drivers/royalmah.c2
-rw-r--r--src/mame/drivers/rpunch.c4
-rw-r--r--src/mame/drivers/runaway.c4
-rw-r--r--src/mame/drivers/rungun.c2
-rw-r--r--src/mame/drivers/sandscrp.c2
-rw-r--r--src/mame/drivers/sbasketb.c2
-rw-r--r--src/mame/drivers/scobra.c4
-rw-r--r--src/mame/drivers/scramble.c18
-rw-r--r--src/mame/drivers/seattle.c6
-rw-r--r--src/mame/drivers/segac2.c4
-rw-r--r--src/mame/drivers/segae.c20
-rw-r--r--src/mame/drivers/segahang.c6
-rw-r--r--src/mame/drivers/segaorun.c6
-rw-r--r--src/mame/drivers/segas16a.c4
-rw-r--r--src/mame/drivers/segas16b.c8
-rw-r--r--src/mame/drivers/segas24.c56
-rw-r--r--src/mame/drivers/segas32.c10
-rw-r--r--src/mame/drivers/segaxbd.c6
-rw-r--r--src/mame/drivers/segaybd.c6
-rw-r--r--src/mame/drivers/seibuspi.c2
-rw-r--r--src/mame/drivers/seicross.c2
-rw-r--r--src/mame/drivers/senjyo.c2
-rw-r--r--src/mame/drivers/seta.c10
-rw-r--r--src/mame/drivers/seta2.c2
-rw-r--r--src/mame/drivers/sf.c12
-rw-r--r--src/mame/drivers/shadfrce.c2
-rw-r--r--src/mame/drivers/shangha3.c6
-rw-r--r--src/mame/drivers/shanghai.c6
-rw-r--r--src/mame/drivers/shisen.c110
-rw-r--r--src/mame/drivers/shootout.c4
-rw-r--r--src/mame/drivers/sidearms.c4
-rw-r--r--src/mame/drivers/sidepckt.c2
-rw-r--r--src/mame/drivers/simpsons.c2
-rw-r--r--src/mame/drivers/skydiver.c2
-rw-r--r--src/mame/drivers/skykid.c2
-rw-r--r--src/mame/drivers/skylncr.c2
-rw-r--r--src/mame/drivers/slapfght.c4
-rw-r--r--src/mame/drivers/slapshot.c2
-rw-r--r--src/mame/drivers/sliver.c2
-rw-r--r--src/mame/drivers/snk.c8
-rw-r--r--src/mame/drivers/snk68.c4
-rw-r--r--src/mame/drivers/snowbros.c4
-rw-r--r--src/mame/drivers/spbactn.c2
-rw-r--r--src/mame/drivers/spcforce.c2
-rw-r--r--src/mame/drivers/spdodgeb.c4
-rw-r--r--src/mame/drivers/speglsht.c4
-rw-r--r--src/mame/drivers/spiders.c2
-rw-r--r--src/mame/drivers/splash.c4
-rw-r--r--src/mame/drivers/spy.c6
-rw-r--r--src/mame/drivers/srmp2.c4
-rw-r--r--src/mame/drivers/srmp5.c4
-rw-r--r--src/mame/drivers/ssf2md.c2
-rw-r--r--src/mame/drivers/sshangha.c2
-rw-r--r--src/mame/drivers/ssrj.c2
-rw-r--r--src/mame/drivers/ssv.c68
-rw-r--r--src/mame/drivers/st0016.c2
-rw-r--r--src/mame/drivers/stadhero.c2
-rw-r--r--src/mame/drivers/starcrus.c2
-rw-r--r--src/mame/drivers/starwars.c18
-rw-r--r--src/mame/drivers/stfight.c2
-rw-r--r--src/mame/drivers/stv.c8
-rw-r--r--src/mame/drivers/suna16.c4
-rw-r--r--src/mame/drivers/suna8.c6
-rw-r--r--src/mame/drivers/supbtime.c2
-rw-r--r--src/mame/drivers/superdq.c2
-rw-r--r--src/mame/drivers/superqix.c14
-rw-r--r--src/mame/drivers/suprgolf.c2
-rw-r--r--src/mame/drivers/suprnova.c2
-rw-r--r--src/mame/drivers/suprridr.c2
-rw-r--r--src/mame/drivers/suprslam.c2
-rw-r--r--src/mame/drivers/surpratk.c2
-rw-r--r--src/mame/drivers/system1.c2
-rw-r--r--src/mame/drivers/system16.c20
-rw-r--r--src/mame/drivers/system18.c2
-rw-r--r--src/mame/drivers/tail2nos.c2
-rw-r--r--src/mame/drivers/taito_b.c8
-rw-r--r--src/mame/drivers/taito_f2.c4
-rw-r--r--src/mame/drivers/taito_h.c4
-rw-r--r--src/mame/drivers/taito_l.c12
-rw-r--r--src/mame/drivers/taito_x.c6
-rw-r--r--src/mame/drivers/taito_z.c8
-rw-r--r--src/mame/drivers/taitoair.c2
-rw-r--r--src/mame/drivers/taitosj.c10
-rw-r--r--src/mame/drivers/taitowlf.c8
-rw-r--r--src/mame/drivers/tankbust.c2
-rw-r--r--src/mame/drivers/taotaido.c2
-rw-r--r--src/mame/drivers/tatsumi.c2
-rw-r--r--src/mame/drivers/tattack.c2
-rw-r--r--src/mame/drivers/taxidrvr.c4
-rw-r--r--src/mame/drivers/tbowl.c4
-rw-r--r--src/mame/drivers/tceptor.c2
-rw-r--r--src/mame/drivers/tecmo.c4
-rw-r--r--src/mame/drivers/tecmo16.c2
-rw-r--r--src/mame/drivers/tecmosys.c4
-rw-r--r--src/mame/drivers/tehkanwc.c6
-rw-r--r--src/mame/drivers/tempest.c4
-rw-r--r--src/mame/drivers/tetrisp2.c2
-rw-r--r--src/mame/drivers/thedeep.c2
-rw-r--r--src/mame/drivers/thepit.c2
-rw-r--r--src/mame/drivers/thunderx.c2
-rw-r--r--src/mame/drivers/tiamc1.c2
-rw-r--r--src/mame/drivers/tickee.c6
-rw-r--r--src/mame/drivers/tigeroad.c12
-rw-r--r--src/mame/drivers/timelimt.c9
-rw-r--r--src/mame/drivers/tmnt.c12
-rw-r--r--src/mame/drivers/tnzs.c8
-rw-r--r--src/mame/drivers/toaplan1.c2
-rw-r--r--src/mame/drivers/toaplan2.c4
-rw-r--r--src/mame/drivers/toki.c2
-rw-r--r--src/mame/drivers/topspeed.c4
-rw-r--r--src/mame/drivers/toypop.c10
-rw-r--r--src/mame/drivers/trackfld.c4
-rw-r--r--src/mame/drivers/trvquest.c6
-rw-r--r--src/mame/drivers/tubep.c8
-rw-r--r--src/mame/drivers/tumbleb.c4
-rw-r--r--src/mame/drivers/tumblep.c2
-rw-r--r--src/mame/drivers/tunhunt.c4
-rw-r--r--src/mame/drivers/twin16.c4
-rw-r--r--src/mame/drivers/twincobr.c2
-rw-r--r--src/mame/drivers/twins.c2
-rw-r--r--src/mame/drivers/tx1.c6
-rw-r--r--src/mame/drivers/ultrsprt.c4
-rw-r--r--src/mame/drivers/upscope.c2
-rw-r--r--src/mame/drivers/vaportra.c2
-rw-r--r--src/mame/drivers/vastar.c2
-rw-r--r--src/mame/drivers/vball.c2
-rw-r--r--src/mame/drivers/vegas.c6
-rw-r--r--src/mame/drivers/vendetta.c2
-rw-r--r--src/mame/drivers/vertigo.c2
-rw-r--r--src/mame/drivers/victory.c2
-rw-r--r--src/mame/drivers/videopin.c2
-rw-r--r--src/mame/drivers/vigilant.c4
-rw-r--r--src/mame/drivers/viper.c10
-rw-r--r--src/mame/drivers/volfied.c2
-rw-r--r--src/mame/drivers/vroulet.c2
-rw-r--r--src/mame/drivers/vsnes.c4
-rw-r--r--src/mame/drivers/wardner.c2
-rw-r--r--src/mame/drivers/warpwarp.c4
-rw-r--r--src/mame/drivers/warriorb.c4
-rw-r--r--src/mame/drivers/wc90.c2
-rw-r--r--src/mame/drivers/wc90b.c4
-rw-r--r--src/mame/drivers/wecleman.c8
-rw-r--r--src/mame/drivers/welltris.c2
-rw-r--r--src/mame/drivers/wgp.c2
-rw-r--r--src/mame/drivers/wink.c2
-rw-r--r--src/mame/drivers/wiping.c2
-rw-r--r--src/mame/drivers/witch.c6
-rw-r--r--src/mame/drivers/wolfpack.c2
-rw-r--r--src/mame/drivers/wwfsstar.c2
-rw-r--r--src/mame/drivers/wwfwfest.c2
-rw-r--r--src/mame/drivers/xain.c2
-rw-r--r--src/mame/drivers/xexex.c2
-rw-r--r--src/mame/drivers/xmen.c2
-rw-r--r--src/mame/drivers/xtheball.c2
-rw-r--r--src/mame/drivers/xxmissio.c4
-rw-r--r--src/mame/drivers/yamato.c10
-rw-r--r--src/mame/drivers/yiear.c2
-rw-r--r--src/mame/drivers/yunsun16.c2
-rw-r--r--src/mame/drivers/yunsung8.c2
-rw-r--r--src/mame/drivers/zaccaria.c6
-rw-r--r--src/mame/drivers/zaxxon.c2
-rw-r--r--src/mame/drivers/zn.c16
-rw-r--r--src/mame/drivers/zr107.c4
-rw-r--r--src/mame/includes/amiga.h2
-rw-r--r--src/mame/includes/cclimber.h2
-rw-r--r--src/mame/includes/cps1.h2
-rw-r--r--src/mame/includes/galaga.h2
-rw-r--r--src/mame/includes/mcr.h8
-rw-r--r--src/mame/includes/n64.h2
-rw-r--r--src/mame/includes/starwars.h12
-rw-r--r--src/mame/includes/system16.h4
-rw-r--r--src/mame/machine/amiga.c4
-rw-r--r--src/mame/machine/bagman.c2
-rw-r--r--src/mame/machine/balsente.c2
-rw-r--r--src/mame/machine/beezer.c4
-rw-r--r--src/mame/machine/bfm_bd1.c2
-rw-r--r--src/mame/machine/bublbobl.c4
-rw-r--r--src/mame/machine/carpolo.c10
-rw-r--r--src/mame/machine/cchip.c2
-rw-r--r--src/mame/machine/copsnrob.c2
-rw-r--r--src/mame/machine/cubocd32.c2
-rw-r--r--src/mame/machine/daikaiju.c2
-rw-r--r--src/mame/machine/deco102.c6
-rw-r--r--src/mame/machine/equites.c28
-rw-r--r--src/mame/machine/fd1089.c12
-rw-r--r--src/mame/machine/konamigx.c14
-rw-r--r--src/mame/machine/mcr.c10
-rw-r--r--src/mame/machine/mexico86.c6
-rw-r--r--src/mame/machine/midwayic.c4
-rw-r--r--src/mame/machine/model1.c2
-rw-r--r--src/mame/machine/model3.c2
-rw-r--r--src/mame/machine/n64.c2
-rw-r--r--src/mame/machine/namcoio.c2
-rw-r--r--src/mame/machine/neoboot.c2
-rw-r--r--src/mame/machine/neoprot.c10
-rw-r--r--src/mame/machine/nmk004.c8
-rw-r--r--src/mame/machine/pckeybrd.c8
-rw-r--r--src/mame/machine/pcshare.c8
-rw-r--r--src/mame/machine/pgmcrypt.c6
-rw-r--r--src/mame/machine/pgmprot.c18
-rw-r--r--src/mame/machine/playch10.c2
-rw-r--r--src/mame/machine/psx.c2
-rw-r--r--src/mame/machine/scramble.c2
-rw-r--r--src/mame/machine/scudsp.c22
-rw-r--r--src/mame/machine/segacrpt.c2
-rw-r--r--src/mame/machine/segas32.c6
-rw-r--r--src/mame/machine/snes.c6
-rw-r--r--src/mame/machine/starwars.c62
-rw-r--r--src/mame/machine/stfight.c2
-rw-r--r--src/mame/machine/stvprot.c2
-rw-r--r--src/mame/machine/system16.c2
-rw-r--r--src/mame/machine/twincobr.c2
-rw-r--r--src/mame/machine/vertigo.c4
-rw-r--r--src/mame/machine/volfied.c2
-rw-r--r--src/mame/machine/vsnes.c12
-rw-r--r--src/mame/mamedriv.c6
-rw-r--r--src/mame/video/20pacgal.c2
-rw-r--r--src/mame/video/atari.c10
-rw-r--r--src/mame/video/avgdvg.c16
-rw-r--r--src/mame/video/blktiger.c2
-rw-r--r--src/mame/video/bwing.c2
-rw-r--r--src/mame/video/capbowl.c2
-rw-r--r--src/mame/video/cps1.c1
-rw-r--r--src/mame/video/cvs.c2
-rw-r--r--src/mame/video/ddrible.c4
-rw-r--r--src/mame/video/digdug.c2
-rw-r--r--src/mame/video/djmain.c6
-rw-r--r--src/mame/video/gaelco.c4
-rw-r--r--src/mame/video/gaelco2.c2
-rw-r--r--src/mame/video/galaga.c4
-rw-r--r--src/mame/video/gaplus.c2
-rw-r--r--src/mame/video/gladiatr.c2
-rw-r--r--src/mame/video/gradius3.c2
-rw-r--r--src/mame/video/gtia.c4
-rw-r--r--src/mame/video/homedata.c9
-rw-r--r--src/mame/video/itech8.c2
-rw-r--r--src/mame/video/jagobj.c6
-rw-r--r--src/mame/video/konamiic.c28
-rw-r--r--src/mame/video/liberatr.c2
-rw-r--r--src/mame/video/lordgun.c2
-rw-r--r--src/mame/video/midtunit.c2
-rw-r--r--src/mame/video/midyunit.c2
-rw-r--r--src/mame/video/midzeus.c2080
-rw-r--r--src/mame/video/model2.c2
-rw-r--r--src/mame/video/n64.c6
-rw-r--r--src/mame/video/namcona1.c2
-rw-r--r--src/mame/video/namcos1.c2
-rw-r--r--src/mame/video/pacland.c2
-rw-r--r--src/mame/video/psx.c24
-rw-r--r--src/mame/video/qix.c2
-rw-r--r--src/mame/video/redalert.c2
-rw-r--r--src/mame/video/retofinv.c2
-rw-r--r--src/mame/video/sauro.c6
-rw-r--r--src/mame/video/segas32.c4
-rw-r--r--src/mame/video/seibuspi.c4
-rw-r--r--src/mame/video/senjyo.c2
-rw-r--r--src/mame/video/seta.c6
-rw-r--r--src/mame/video/sf.c2
-rw-r--r--src/mame/video/skykid.c2
-rw-r--r--src/mame/video/snes.c6
-rw-r--r--src/mame/video/stactics.c2
-rw-r--r--src/mame/video/suprnova.c2
-rw-r--r--src/mame/video/system16.c4
-rw-r--r--src/mame/video/taito_h.c2
-rw-r--r--src/mame/video/taitoair.c2
-rw-r--r--src/mame/video/taitoic.c10
-rw-r--r--src/mame/video/taitosj.c6
-rw-r--r--src/mame/video/tehkanwc.c2
-rw-r--r--src/mame/video/thoop2.c4
-rw-r--r--src/mame/video/vicdual.c2
-rw-r--r--src/mame/video/vrender0.c4
-rw-r--r--src/mame/video/warpwarp.c4
-rw-r--r--src/mame/video/wc90.c70
-rw-r--r--src/mame/video/wecleman.c7
-rw-r--r--src/mame/video/wgp.c4
-rw-r--r--src/mame/video/wrally.c4
-rw-r--r--src/mame/video/ygv608.c4
-rw-r--r--src/osd/windows/d3d8intf.c10
-rw-r--r--src/osd/windows/d3d9intf.c10
-rw-r--r--src/osd/windows/drawd3d.c2
-rw-r--r--src/osd/windows/input.c8
-rw-r--r--src/version.c2
851 files changed, 3272 insertions, 3277 deletions
diff --git a/docs/config.txt b/docs/config.txt
index cd29497cc89..5c7625d5f7a 100644
--- a/docs/config.txt
+++ b/docs/config.txt
@@ -877,6 +877,13 @@ Debugging options
reporting bugs, please run with mame -verbose and include the
resulting information. The default is OFF (-noverbose).
+-[no]update_in_pause
+
+ Enables updating of the main screen bitmap while the game is paused.
+ This means that the VIDEO_UPDATE callback will be called repeatedly
+ during pause, which can be useful for debugging. The default is OFF
+ (-noupdate_in_pause).
+
-[no]debug
Activates the integrated debugger. This is available only if the
diff --git a/makefile b/makefile
index fff99618e4d..8aff71a3aa5 100644
--- a/makefile
+++ b/makefile
@@ -495,12 +495,16 @@ $(sort $(OBJDIRS)):
# executable targets and dependencies
#-------------------------------------------------
+ifndef EXECUTABLE_DEFINED
+
$(EMULATOR): $(VERSIONOBJ) $(DRVLIBS) $(LIBOSD) $(LIBEMU) $(LIBCPU) $(LIBSOUND) $(LIBUTIL) $(EXPAT) $(ZLIB) $(LIBOCORE) $(RESFILE)
# always recompile the version string
$(CC) $(CDEFS) $(CFLAGS) -c $(SRC)/version.c -o $(VERSIONOBJ)
@echo Linking $@...
$(LD) $(LDFLAGS) $(LDFLAGSEMULATOR) $^ $(LIBS) -o $@
+endif
+
#-------------------------------------------------
diff --git a/src/emu/cheat.c b/src/emu/cheat.c
index 599f4d2d250..d4c89b4389e 100644
--- a/src/emu/cheat.c
+++ b/src/emu/cheat.c
@@ -563,7 +563,7 @@ static INT32 menuItemInfoLength = 0;
static UINT32 cheatOptions = 2;
-static const char * kCheatNameTemplates[] =
+static const char *const kCheatNameTemplates[] =
{
"Infinite Credits",
"Infinite Time",
@@ -724,14 +724,14 @@ static const UINT32 kPrefillValueTable[] =
0x01
};
-static const char * kWatchLabelStringList[] =
+static const char *const kWatchLabelStringList[] =
{
"None",
"Address",
"String"
};
-static const char * kWatchDisplayTypeStringList[] =
+static const char *const kWatchDisplayTypeStringList[] =
{
"Hex",
"Decimal",
@@ -2827,7 +2827,7 @@ static int AddEditCheatMenu(int selection)
static int EditCheatMenu(CheatEntry * entry, int index, int selection)
{
- static const char * kTypeNames[] =
+ static const char *const kTypeNames[] =
{
"Normal/Delay",
"Wait",
@@ -2837,7 +2837,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
"Select"
};
- static const char * kNumbersTable[] =
+ static const char *const kNumbersTable[] =
{
"0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "10", "11", "12", "13", "14", "15",
@@ -2845,7 +2845,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
"24", "25", "26", "27", "28", "29", "30", "31"
};
- static const char * kOperationNames[] =
+ static const char *const kOperationNames[] =
{
"Write",
"Add/Subtract",
@@ -2857,19 +2857,19 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
"Null"
};
- static const char * kAddSubtractNames[] =
+ static const char *const kAddSubtractNames[] =
{
"Add",
"Subtract"
};
- static const char * kSetClearNames[] =
+ static const char *const kSetClearNames[] =
{
"Set",
"Clear"
};
- static const char * kPrefillNames[] =
+ static const char *const kPrefillNames[] =
{
"None",
"FF",
@@ -2877,13 +2877,13 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
"01"
};
- static const char * kEndiannessNames[] =
+ static const char *const kEndiannessNames[] =
{
"Normal",
"Swap"
};
- static const char * kRegionNames[] =
+ static const char *const kRegionNames[] =
{
"CPU1", "CPU2", "CPU3", "CPU4", "CPU5", "CPU6", "CPU7", "CPU8",
"GFX1", "GFX2", "GFX3", "GFX4", "GFX5", "GFX6", "GFX7", "GFX8",
@@ -2892,7 +2892,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
"USER1", "USER2", "USER3", "USER4", "USER5", "USER6", "USER7", "USER8"
};
- static const char * kLocationNames[] =
+ static const char *const kLocationNames[] =
{
"Normal",
"Region",
@@ -2904,7 +2904,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
"Unused (7)"
};
- static const char * kCustomLocationNames[] =
+ static const char *const kCustomLocationNames[] =
{
"Comment",
"EEPROM",
@@ -2917,7 +2917,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
"Unused (28)", "Unused (29)", "Unused (30)", "Unused (31)"
};
- static const char * kSizeNames[] =
+ static const char *const kSizeNames[] =
{
"8 Bit",
"16 Bit",
@@ -5270,7 +5270,7 @@ static int DoSearchMenuMinimum(int selection)
static int DoSearchMenuClassic(int selection)
{
- static const char * energyStrings[] =
+ static const char *const energyStrings[] =
{
"Less",
"Greater",
@@ -5278,13 +5278,13 @@ static int DoSearchMenuClassic(int selection)
"Greater or Equal",
};
- static const char * equalOrNotStrings[] =
+ static const char *const equalOrNotStrings[] =
{
"Equal",
"Not Equal",
};
- static const char * operandStrings[] =
+ static const char *const operandStrings[] =
{
"Previous Data",
"First Data",
@@ -5800,7 +5800,7 @@ static int DoSearchMenuClassic(int selection)
static int DoSearchMenu(int selection)
{
/* menu stirngs */
- static const char * kOperandNameTable[] =
+ static const char *const kOperandNameTable[] =
{
"Current Data",
"Previous Data",
@@ -5808,7 +5808,7 @@ static int DoSearchMenu(int selection)
"Value"
};
- static const char * kComparisonNameTable[] =
+ static const char *const kComparisonNameTable[] =
{
"Less",
"Greater",
@@ -5820,7 +5820,7 @@ static int DoSearchMenu(int selection)
"Near To"
};
- static const char * kSearchByteNameTable[] =
+ static const char *const kSearchByteNameTable[] =
{
"1",
"2",
@@ -6289,7 +6289,7 @@ static int DoSearchMenu(int selection)
static int SelectSearchRegions(int selection, SearchInfo * search)
{
- static const char * kSearchSpeedList[] =
+ static const char *const kSearchSpeedList[] =
{
"Fast",
"Medium",
@@ -7066,7 +7066,7 @@ static int EditWatch(WatchInfo * entry, int selection)
kMenu_Return
};
- static const char * kWatchSizeStringList[] =
+ static const char *const kWatchSizeStringList[] =
{
"8 Bit",
"16 Bit",
@@ -9246,7 +9246,7 @@ static int ConvertOldCode(int code, int cpu, int * data, int * extendData)
UINT8 customField;
};
- static struct ConversionTable kConversionTable[] =
+ static const struct ConversionTable kConversionTable[] =
{
{ 0, 0x00000000, kCustomField_None },
{ 1, 0x00000001, kCustomField_None },
@@ -9313,7 +9313,7 @@ static int ConvertOldCode(int code, int cpu, int * data, int * extendData)
{ -1, 0x00000000, kCustomField_End }
};
- struct ConversionTable * traverse = kConversionTable;
+ const struct ConversionTable * traverse = kConversionTable;
UINT32 newCode;
UINT8 linkCheat = 0;
diff --git a/src/emu/cpu/adsp2100/2100ops.c b/src/emu/cpu/adsp2100/2100ops.c
index 0d50f217bcf..403b69bd77d 100644
--- a/src/emu/cpu/adsp2100/2100ops.c
+++ b/src/emu/cpu/adsp2100/2100ops.c
@@ -420,7 +420,7 @@ static void wr_topstack(INT32 val) { pc_stack_push_val(val & 0x3fff); }
#define WRITE_REG(grp,reg,val) ((*wr_reg[grp][reg])(val))
-static void (*wr_reg[4][16])(INT32) =
+static void (*const wr_reg[4][16])(INT32) =
{
{
wr_ax0, wr_ax1, wr_mx0, wr_mx1, wr_ay0, wr_ay1, wr_my0, wr_my1,
@@ -681,7 +681,7 @@ INLINE UINT32 pgm_read_dag2(UINT32 op)
#define ALU_GETYREG_UNSIGNED(y) (*(UINT16 *)alu_yregs[y])
#define ALU_GETYREG_SIGNED(y) (*( INT16 *)alu_yregs[y])
-static const void *alu_xregs[8] =
+static const void *const alu_xregs[8] =
{
&adsp2100.core.ax0,
&adsp2100.core.ax1,
@@ -693,7 +693,7 @@ static const void *alu_xregs[8] =
&adsp2100.core.sr.srx.sr1
};
-static const void *alu_yregs[4] =
+static const void *const alu_yregs[4] =
{
&adsp2100.core.ay0,
&adsp2100.core.ay1,
@@ -712,7 +712,7 @@ static const void *alu_yregs[4] =
#define MAC_GETYREG_UNSIGNED(y) (*(UINT16 *)mac_yregs[y])
#define MAC_GETYREG_SIGNED(y) (*( INT16 *)mac_yregs[y])
-static const void *mac_xregs[8] =
+static const void *const mac_xregs[8] =
{
&adsp2100.core.mx0,
&adsp2100.core.mx1,
@@ -724,7 +724,7 @@ static const void *mac_xregs[8] =
&adsp2100.core.sr.srx.sr1
};
-static const void *mac_yregs[4] =
+static const void *const mac_yregs[4] =
{
&adsp2100.core.my0,
&adsp2100.core.my1,
@@ -741,7 +741,7 @@ static const void *mac_yregs[4] =
#define SHIFT_GETXREG_UNSIGNED(x) (*(UINT16 *)shift_xregs[x])
#define SHIFT_GETXREG_SIGNED(x) (*( INT16 *)shift_xregs[x])
-static const void *shift_xregs[8] =
+static const void *const shift_xregs[8] =
{
&adsp2100.core.si,
&adsp2100.core.si,
diff --git a/src/emu/cpu/asap/asap.c b/src/emu/cpu/asap/asap.c
index 91278197f75..b478d0be54f 100644
--- a/src/emu/cpu/asap/asap.c
+++ b/src/emu/cpu/asap/asap.c
@@ -217,7 +217,7 @@ static void jsr_c(void);
static void jsr_c0(void);
static void trapf(void);
-static void (*opcodetable[32][4])(void) =
+static void (*const opcodetable[32][4])(void) =
{
{ trap0, trap0, trap0, trap0 },
{ NULL, NULL, NULL, NULL },
@@ -253,7 +253,7 @@ static void (*opcodetable[32][4])(void) =
{ trapf, trapf, trapf, trapf }
};
-static void (*conditiontable[16])(void) =
+static void (*const conditiontable[16])(void) =
{
bsp, bmz, bgt, ble, bge, blt, bhi, bls,
bcc, bcs, bpl, bmi, bne, beq, bvc, bvs
diff --git a/src/emu/cpu/h6280/tblh6280.c b/src/emu/cpu/h6280/tblh6280.c
index 1cd317e5a03..da4c7b2532d 100644
--- a/src/emu/cpu/h6280/tblh6280.c
+++ b/src/emu/cpu/h6280/tblh6280.c
@@ -308,7 +308,7 @@ OP(_0bf) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(3); } // 6/8 BBS3 ZPG,REL
OP(_0df) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(5); } // 6/8 BBS5 ZPG,REL
OP(_0ff) { int tmp; H6280_CYCLES(4); RD_ZPG; BBS(7); } // 6/8 BBS7 ZPG,REL
-static void (*insnh6280[0x100])(void) = {
+static void (*const insnh6280[0x100])(void) = {
h6280_000,h6280_001,h6280_002,h6280_003,h6280_004,h6280_005,h6280_006,h6280_007,
h6280_008,h6280_009,h6280_00a,h6280_00b,h6280_00c,h6280_00d,h6280_00e,h6280_00f,
h6280_010,h6280_011,h6280_012,h6280_013,h6280_014,h6280_015,h6280_016,h6280_017,
diff --git a/src/emu/cpu/hd6309/6309dasm.c b/src/emu/cpu/hd6309/6309dasm.c
index f558de9a633..0b36b6a1804 100644
--- a/src/emu/cpu/hd6309/6309dasm.c
+++ b/src/emu/cpu/hd6309/6309dasm.c
@@ -574,7 +574,7 @@ static const opcodeinfo hd6309_pg2opcodes[] =
{ 0xFB, 4, "ADDF", EXT }
};
-static const opcodeinfo *hd6309_pgpointers[3] =
+static const opcodeinfo *const hd6309_pgpointers[3] =
{
hd6309_pg0opcodes, hd6309_pg1opcodes, hd6309_pg2opcodes
};
diff --git a/src/emu/cpu/hd6309/6309ops.c b/src/emu/cpu/hd6309/6309ops.c
index ed3e6098584..3894d49404c 100644
--- a/src/emu/cpu/hd6309/6309ops.c
+++ b/src/emu/cpu/hd6309/6309ops.c
@@ -1344,7 +1344,7 @@ INLINE void swi( void )
#define decodePB_dst(n) (((n) >> 0) & 0x07)
static UINT8 dummy_byte;
-static unsigned char *regTable[4] = { &(CC), &(A), &(B), &dummy_byte };
+static unsigned char *const regTable[4] = { &(CC), &(A), &(B), &dummy_byte };
static const UINT8 bitTable[] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 };
diff --git a/src/emu/cpu/i86/ea.h b/src/emu/cpu/i86/ea.h
index 3dbb6e0e802..dca12337a5b 100644
--- a/src/emu/cpu/i86/ea.h
+++ b/src/emu/cpu/i86/ea.h
@@ -28,7 +28,7 @@ static unsigned EA_205(void) { i8086_ICount-=9; EO=FETCHOP; EO+=FETCHOP<<8; EO+=
static unsigned EA_206(void) { i8086_ICount-=9; EO=FETCHOP; EO+=FETCHOP<<8; EO+=I.regs.w[BP]; EA=DefaultBase(SS)+(WORD)EO; return EA; }
static unsigned EA_207(void) { i8086_ICount-=9; EO=FETCHOP; EO+=FETCHOP<<8; EO+=I.regs.w[BX]; EA=DefaultBase(DS)+(WORD)EO; return EA; }
-static unsigned (*GetEA[192])(void)={
+static unsigned (*const GetEA[192])(void)={
EA_000, EA_001, EA_002, EA_003, EA_004, EA_005, EA_006, EA_007,
EA_000, EA_001, EA_002, EA_003, EA_004, EA_005, EA_006, EA_007,
EA_000, EA_001, EA_002, EA_003, EA_004, EA_005, EA_006, EA_007,
diff --git a/src/emu/cpu/konami/konamtbl.c b/src/emu/cpu/konami/konamtbl.c
index f2725c3be73..d9a8c770194 100644
--- a/src/emu/cpu/konami/konamtbl.c
+++ b/src/emu/cpu/konami/konamtbl.c
@@ -350,7 +350,7 @@ INLINE void absd( void );
INLINE void opcode2( void );
-static void (*konami_main[0x100])(void) = {
+static void (*const konami_main[0x100])(void) = {
illegal,illegal,illegal,illegal,illegal,illegal,illegal,illegal, /* 00 */
opcode2,opcode2,opcode2,opcode2,pshs ,pshu ,puls ,pulu ,
lda_im ,ldb_im ,opcode2,opcode2,adda_im,addb_im,opcode2,opcode2, /* 10 */
@@ -385,7 +385,7 @@ static void (*konami_main[0x100])(void) = {
illegal,illegal,illegal,illegal,illegal,illegal,illegal,illegal
};
-static void (*konami_indexed[0x100])(void) = {
+static void (*const konami_indexed[0x100])(void) = {
illegal,illegal,illegal,illegal,illegal,illegal,illegal,illegal, /* 00 */
leax ,leay ,leau ,leas ,illegal,illegal,illegal,illegal,
illegal,illegal,lda_ix ,ldb_ix ,illegal,illegal,adda_ix,addb_ix, /* 10 */
@@ -420,7 +420,7 @@ static void (*konami_indexed[0x100])(void) = {
illegal,illegal,illegal,illegal,illegal,illegal,illegal,illegal
};
-static void (*konami_direct[0x100])(void) = {
+static void (*const konami_direct[0x100])(void) = {
illegal,illegal,illegal,illegal,illegal,illegal,illegal,illegal, /* 00 */
illegal,illegal,illegal,illegal,illegal,illegal,illegal,illegal,
illegal,illegal,lda_di ,ldb_di ,illegal,illegal,adda_di,addb_di, /* 10 */
@@ -455,7 +455,7 @@ static void (*konami_direct[0x100])(void) = {
illegal,illegal,illegal,illegal,illegal,illegal,illegal,illegal
};
-static void (*konami_extended[0x100])(void) = {
+static void (*const konami_extended[0x100])(void) = {
illegal,illegal,illegal,illegal,illegal,illegal,illegal,illegal, /* 00 */
illegal,illegal,illegal,illegal,illegal,illegal,illegal,illegal,
illegal,illegal,lda_ex ,ldb_ex ,illegal,illegal,adda_ex,addb_ex, /* 10 */
diff --git a/src/emu/cpu/m37710/m37710.c b/src/emu/cpu/m37710/m37710.c
index d9e91045be4..230c283c4cb 100644
--- a/src/emu/cpu/m37710/m37710.c
+++ b/src/emu/cpu/m37710/m37710.c
@@ -426,7 +426,7 @@ static void m37710_recalc_timer(int timer)
switch (m37710i_cpu.m37710_regs[0x56+timer] & 0x3)
{
case 0: // timer mode
- time = attotime_mul(ATTOTIME_IN_HZ(16000000), tscales[m37710i_cpu.m37710_regs[tcr[timer]]>>6]);
+ time = attotime_mul(ATTOTIME_IN_HZ(cpunum_get_clock(cpu_getactivecpu())), tscales[m37710i_cpu.m37710_regs[tcr[timer]]>>6]);
time = attotime_mul(time, tval + 1);
#if M37710_DEBUG
@@ -461,7 +461,7 @@ static void m37710_recalc_timer(int timer)
switch (m37710i_cpu.m37710_regs[0x56+timer] & 0x3)
{
case 0: // timer mode
- time = attotime_mul(ATTOTIME_IN_HZ(16000000), tscales[m37710i_cpu.m37710_regs[tcr[timer]]>>6]);
+ time = attotime_mul(ATTOTIME_IN_HZ(cpunum_get_clock(cpu_getactivecpu())), tscales[m37710i_cpu.m37710_regs[tcr[timer]]>>6]);
time = attotime_mul(time, tval + 1);
#if M37710_DEBUG
diff --git a/src/emu/cpu/m6502/t65c02.c b/src/emu/cpu/m6502/t65c02.c
index 9566e3d0548..ddd4a8d2f18 100644
--- a/src/emu/cpu/m6502/t65c02.c
+++ b/src/emu/cpu/m6502/t65c02.c
@@ -371,7 +371,7 @@ OP(7e_wdc) { int tmp; RD_ABX_P; RD_EA; ROR; WB_EA; } /* 6 ROR ABX page pena
OP(de_wdc) { int tmp; RD_ABX_P; RD_EA; DEC; WB_EA; } /* 6 DEC ABX page penalty */
OP(fe_wdc) { int tmp; RD_ABX_P; RD_EA; INC; WB_EA; } /* 6 INC ABX page penalty */
-static void (*insnwdc65c02[0x100])(void) = {
+static void (*const insnwdc65c02[0x100])(void) = {
m65c02_00,m65c02_01,m65c02_02,m65c02_03,m65c02_04,m65c02_05,m65c02_06,m65c02_07,
m65c02_08,m65c02_09,m65c02_0a,m65c02_0b,m65c02_0c,m65c02_0d,m65c02_0e,m65c02_0f,
m65c02_10,m65c02_11,m65c02_12,m65c02_13,m65c02_14,m65c02_15,m65c02_16,m65c02_17,
diff --git a/src/emu/cpu/m68000/m68kcpu.c b/src/emu/cpu/m68000/m68kcpu.c
index 97b67df5db2..d8b278c772b 100644
--- a/src/emu/cpu/m68000/m68kcpu.c
+++ b/src/emu/cpu/m68000/m68kcpu.c
@@ -995,8 +995,8 @@ static void m68k_post_load(void)
void m68k_state_register(const char *type, int index)
{
+ /* Note, D covers A because the dar array is common, REG_A=REG_D+8 */
state_save_register_item_array(type, index, REG_D);
- state_save_register_item_array(type, index, REG_A);
state_save_register_item(type, index, REG_PPC);
state_save_register_item(type, index, REG_PC);
state_save_register_item(type, index, REG_USP);
diff --git a/src/emu/cpu/m68000/m68kmame.c b/src/emu/cpu/m68000/m68kmame.c
index b213023ccba..84969ed6a88 100644
--- a/src/emu/cpu/m68000/m68kmame.c
+++ b/src/emu/cpu/m68000/m68kmame.c
@@ -178,10 +178,6 @@ static const struct m68k_memory_interface interface_d32 =
};
-/* global access */
-struct m68k_memory_interface m68k_memory_intf;
-
-
static void set_irq_line(int irqline, int state)
{
if (irqline == INPUT_LINE_NMI)
@@ -298,7 +294,7 @@ static offs_t m68008_dasm(char *buffer, offs_t pc, const UINT8 *oprom, const UIN
}
#endif /* MAME_DEBUG */
-#endif
+#endif /* HAS_M68008 */
/****************************************************************************
* M68010 section
@@ -814,7 +810,7 @@ void m68008_get_info(UINT32 state, cpuinfo *info)
}
}
-#endif
+#endif /* HAS_M68008 */
/**************************************************************************
* CPU-specific set_info
@@ -859,7 +855,7 @@ void m68010_get_info(UINT32 state, cpuinfo *info)
}
}
-#endif
+#endif /* HAS_M68010 */
/**************************************************************************
* CPU-specific set_info
@@ -1099,7 +1095,7 @@ void m68ec020_get_info(UINT32 state, cpuinfo *info)
}
}
-#endif
+#endif /* HAS_M68EC020 */
/**************************************************************************
* CPU-specific set_info
@@ -1301,5 +1297,5 @@ void m68040_get_info(UINT32 state, cpuinfo *info)
}
}
-#endif
+#endif /* HAS_M68040 */
diff --git a/src/emu/cpu/m6805/m6805.c b/src/emu/cpu/m6805/m6805.c
index 22eafd6420e..c028d2e0a3a 100644
--- a/src/emu/cpu/m6805/m6805.c
+++ b/src/emu/cpu/m6805/m6805.c
@@ -199,7 +199,7 @@ static const UINT8 flags8d[256]= /* decrement */
#define BRANCH(f) { UINT8 t; IMMBYTE(t); if(f) { PC+=SIGNED(t); change_pc(PC); if (t==0xfe) { /* speed up busy loops */ if(m6805_ICount > 0) m6805_ICount = 0; } } }
/* what they say it is ... */
-static unsigned char cycles1[] =
+static const unsigned char cycles1[] =
{
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */
/*0*/ 10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
diff --git a/src/emu/cpu/m6809/6809dasm.c b/src/emu/cpu/m6809/6809dasm.c
index 08c19724477..fe4a6797b04 100644
--- a/src/emu/cpu/m6809/6809dasm.c
+++ b/src/emu/cpu/m6809/6809dasm.c
@@ -342,7 +342,7 @@ static const opcodeinfo m6809_pg2opcodes[] =
{ 0xBC, 4, "CMPS", EXT }
};
-static const opcodeinfo *m6809_pgpointers[3] =
+static const opcodeinfo *const m6809_pgpointers[3] =
{
m6809_pg0opcodes, m6809_pg1opcodes, m6809_pg2opcodes
};
diff --git a/src/emu/cpu/m6809/6809tbl.c b/src/emu/cpu/m6809/6809tbl.c
index 66a6afe8424..b0b6bcd3660 100644
--- a/src/emu/cpu/m6809/6809tbl.c
+++ b/src/emu/cpu/m6809/6809tbl.c
@@ -279,7 +279,7 @@ INLINE void pref10(void);
INLINE void pref11(void);
#if (BIG_SWITCH==0)
-static void (*m6809_main[0x100])(void) = {
+static void (*const m6809_main[0x100])(void) = {
neg_di, neg_di, illegal,com_di, lsr_di, illegal,ror_di, asr_di, /* 00 */
asl_di, rol_di, dec_di, illegal,inc_di, tst_di, jmp_di, clr_di,
pref10, pref11, nop, sync, illegal,illegal,lbra, lbsr, /* 10 */
diff --git a/src/emu/cpu/mips/psx.c b/src/emu/cpu/mips/psx.c
index fd0c9582c4b..06a5eedd49d 100644
--- a/src/emu/cpu/mips/psx.c
+++ b/src/emu/cpu/mips/psx.c
@@ -2524,12 +2524,12 @@ static void docop2( int gteop )
static const UINT16 *const p_n_lm[] = { &L11, &L12, &L13, &L21, &L22, &L23, &L31, &L32, &L33 };
static const UINT16 *const p_n_cm[] = { &LR1, &LR2, &LR3, &LG1, &LG2, &LG3, &LB1, &LB2, &LB3 };
static const UINT16 *const p_n_zm[] = { &n_zm, &n_zm, &n_zm, &n_zm, &n_zm, &n_zm, &n_zm, &n_zm, &n_zm };
- static const UINT16 *const *p_p_n_mx[] = { p_n_rm, p_n_lm, p_n_cm, p_n_zm };
+ static const UINT16 *const *const p_p_n_mx[] = { p_n_rm, p_n_lm, p_n_cm, p_n_zm };
static const UINT32 *const p_n_tr[] = { &TRX, &TRY, &TRZ };
static const UINT32 *const p_n_bk[] = { &RBK, &GBK, &BBK };
static const UINT32 *const p_n_fc[] = { &RFC, &GFC, &BFC };
static const UINT32 *const p_n_zc[] = { &n_zc, &n_zc, &n_zc };
- static const UINT32 *const *p_p_n_cv[] = { p_n_tr, p_n_bk, p_n_fc, p_n_zc };
+ static const UINT32 *const *const p_p_n_cv[] = { p_n_tr, p_n_bk, p_n_fc, p_n_zc };
switch( GTE_FUNCT( gteop ) )
{
@@ -2788,7 +2788,7 @@ static void docop2( int gteop )
}
break;
case 0x1b:
- if( gteop == 0x108041b )
+ if( gteop == 0x108041b || gteop == 0x118041b )
{
GTELOG( "NCCS" );
FLAG = 0;
diff --git a/src/emu/cpu/nec/necea.h b/src/emu/cpu/nec/necea.h
index f754523805e..5a1c3b1f749 100644
--- a/src/emu/cpu/nec/necea.h
+++ b/src/emu/cpu/nec/necea.h
@@ -30,7 +30,7 @@ static unsigned EA_205(void) { E16=FETCH; E16+=FETCH<<8; EO=I.regs.w[IY]+(INT16)
static unsigned EA_206(void) { E16=FETCH; E16+=FETCH<<8; EO=I.regs.w[BP]+(INT16)E16; EA=DefaultBase(SS)+EO; return EA; }
static unsigned EA_207(void) { E16=FETCH; E16+=FETCH<<8; EO=I.regs.w[BW]+(INT16)E16; EA=DefaultBase(DS0)+EO; return EA; }
-static unsigned (*GetEA[192])(void)={
+static unsigned (*const GetEA[192])(void)={
EA_000, EA_001, EA_002, EA_003, EA_004, EA_005, EA_006, EA_007,
EA_000, EA_001, EA_002, EA_003, EA_004, EA_005, EA_006, EA_007,
EA_000, EA_001, EA_002, EA_003, EA_004, EA_005, EA_006, EA_007,
diff --git a/src/emu/cpu/nec/necinstr.h b/src/emu/cpu/nec/necinstr.h
index f07fe442c0c..b4c6e51ce87 100644
--- a/src/emu/cpu/nec/necinstr.h
+++ b/src/emu/cpu/nec/necinstr.h
@@ -246,7 +246,7 @@ static void i_ffpre(void);
static void i_wait(void);
-static void (*nec_instruction[256])(void) =
+static void (*const nec_instruction[256])(void) =
{
i_add_br8, /* 0x00 */
i_add_wr16, /* 0x01 */
diff --git a/src/emu/cpu/pic16c5x/pic16c5x.c b/src/emu/cpu/pic16c5x/pic16c5x.c
index f8ee36e9967..731dda0b54c 100644
--- a/src/emu/cpu/pic16c5x/pic16c5x.c
+++ b/src/emu/cpu/pic16c5x/pic16c5x.c
@@ -107,7 +107,7 @@ static int picmodel;
static int pic16C5x_reset_vector;
static int pic16C5x_icount;
typedef void (*opcode_fn) (void);
-static unsigned cycles_000_other[16];
+static const unsigned cycles_000_other[16];
#define TMR0 internalram[1]
@@ -174,8 +174,8 @@ static unsigned cycles_000_other[16];
/* Easy bit position selectors */
#define POS ((R.opcode.b.l >> 5) & 7)
-static unsigned int bit_clr[8] = { 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f };
-static unsigned int bit_set[8] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 };
+static const unsigned int bit_clr[8] = { 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f };
+static const unsigned int bit_set[8] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 };
INLINE void CLR(UINT16 flag) { R.STATUS &= ~flag; }
@@ -615,7 +615,7 @@ static void xorwf(void)
* Cycle Timings
***********************************************************************/
-static unsigned cycles_main[256]=
+static const unsigned cycles_main[256]=
{
/*00*/ 1*CLK, 0*CLK, 1*CLK, 1*CLK, 1*CLK, 0*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK,
/*10*/ 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK,
@@ -635,7 +635,7 @@ static unsigned cycles_main[256]=
/*F0*/ 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK
};
-static opcode_fn opcode_main[256]=
+static const opcode_fn opcode_main[256]=
{
/*00*/ nop, illegal,movwf, movwf, clrw, illegal,clrf, clrf,
/*08*/ subwf, subwf, subwf, subwf, decf, decf, decf, decf,
@@ -672,12 +672,12 @@ static opcode_fn opcode_main[256]=
};
-static unsigned cycles_000_other[16]=
+static const unsigned cycles_000_other[16]=
{
/*00*/ 1*CLK, 0*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK
};
-static opcode_fn opcode_000_other[16]=
+static const opcode_fn opcode_000_other[16]=
{
/*00*/ nop, illegal,option, sleepic,clrwdt, tris, tris, tris,
/*08*/ illegal,illegal,illegal,illegal,illegal,illegal,illegal,illegal
diff --git a/src/emu/cpu/powerpc/ppcdrc.c b/src/emu/cpu/powerpc/ppcdrc.c
index 98decf6fdc7..5a5b337b73a 100644
--- a/src/emu/cpu/powerpc/ppcdrc.c
+++ b/src/emu/cpu/powerpc/ppcdrc.c
@@ -1280,7 +1280,9 @@ static void ppcdrc603_init(int index, int clock, const void *_config, int (*irqc
ppc.optable59[i * 32 | 30] = recompile_fnmsubsx;
}
+#if (HAS_PPC602 || HAS_MPC8240)
ppc.optable31[978] = recompile_tlbld;
+#endif /* (HAS_PPC602 || HAS_MPC8240) */
for(i = 0; i < 256; i++)
{
diff --git a/src/emu/cpu/saturn/saturnds.c b/src/emu/cpu/saturn/saturnds.c
index dce67bf487a..15f113035d3 100644
--- a/src/emu/cpu/saturn/saturnds.c
+++ b/src/emu/cpu/saturn/saturnds.c
@@ -191,7 +191,7 @@ typedef enum {
} MNEMONICS;
-static struct {
+static const struct {
const char *name[2];
} mnemonics[]={
{ { "rtn", "RET" } },
diff --git a/src/emu/cpu/sharc/sharcdsm.c b/src/emu/cpu/sharc/sharcdsm.c
index 3845433f9e7..487a3f59834 100644
--- a/src/emu/cpu/sharc/sharcdsm.c
+++ b/src/emu/cpu/sharc/sharcdsm.c
@@ -1052,7 +1052,7 @@ static UINT32 dasm_invalid(UINT32 pc, UINT64 opcode)
return 0;
}
-static SHARC_DASM_OP sharc_dasm_ops[] =
+static const SHARC_DASM_OP sharc_dasm_ops[] =
{
// |0 0 1|
{ 0xe000, 0x2000, dasm_compute_dreg_dmpm },
diff --git a/src/emu/cpu/sharc/sharcops.h b/src/emu/cpu/sharc/sharcops.h
index 77f1a400074..17a6a70b0c0 100644
--- a/src/emu/cpu/sharc/sharcops.h
+++ b/src/emu/cpu/sharc/sharcops.h
@@ -5,7 +5,7 @@ typedef struct
void (* handler)(void);
} SHARC_OP;
-static SHARC_OP sharc_opcode_table[] =
+static const SHARC_OP sharc_opcode_table[] =
{
// |0 0 1|
{ 0xe000, 0x2000, sharcop_compute_dreg_dm_dreg_pm },
diff --git a/src/emu/cpu/tms32010/tms32010.c b/src/emu/cpu/tms32010/tms32010.c
index 580256a896f..d1fe310a504 100644
--- a/src/emu/cpu/tms32010/tms32010.c
+++ b/src/emu/cpu/tms32010/tms32010.c
@@ -634,7 +634,7 @@ static void zals(void)
* Cycle Timings
***********************************************************************/
-static unsigned cycles_main[256]=
+static const unsigned cycles_main[256]=
{
/*00*/ 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK,
/*10*/ 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK,
@@ -654,7 +654,7 @@ static unsigned cycles_main[256]=
/*F0*/ 0*CLK, 0*CLK, 0*CLK, 0*CLK, 2*CLK, 2*CLK, 2*CLK, 0*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK
};
-static unsigned cycles_7F_other[32]=
+static const unsigned cycles_7F_other[32]=
{
/*80*/ 1*CLK, 1*CLK, 1*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 2*CLK, 2*CLK, 1*CLK, 1*CLK,
/*90*/ 1*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 0*CLK, 2*CLK, 2*CLK, 0*CLK, 0*CLK
diff --git a/src/emu/cpu/tms32025/tms32025.c b/src/emu/cpu/tms32025/tms32025.c
index 352f787efba..a7fc99bb273 100644
--- a/src/emu/cpu/tms32025/tms32025.c
+++ b/src/emu/cpu/tms32025/tms32025.c
@@ -1561,7 +1561,7 @@ static void zals(void)
* Cycle Timings
***********************************************************************/
-static unsigned cycles_main[256]=
+static const unsigned cycles_main[256]=
{
/*00*/ 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK,
/*08*/ 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK,
@@ -1597,12 +1597,12 @@ static unsigned cycles_main[256]=
/*F8*/ 2*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK
};
-static unsigned cycles_DX_subset[8]=
+static const unsigned cycles_DX_subset[8]=
{
/*00*/ 2*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK, 2*CLK, 0
};
-static unsigned cycles_CE_subset[256]=
+static const unsigned cycles_CE_subset[256]=
{
/*00*/ 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK,
/*08*/ 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK, 1*CLK,
diff --git a/src/emu/cpu/tms34010/tms34010.c b/src/emu/cpu/tms34010/tms34010.c
index 9860e91a953..dabb1bd58fd 100644
--- a/src/emu/cpu/tms34010/tms34010.c
+++ b/src/emu/cpu/tms34010/tms34010.c
@@ -98,7 +98,7 @@ static UINT8 screen_to_cpu[MAX_SCREENS];
static UINT8 executing_cpu = 0xff;
/* default configuration */
-static tms34010_config default_config =
+static const tms34010_config default_config =
{
0
};
diff --git a/src/emu/cpu/tms7000/tms70tb.c b/src/emu/cpu/tms7000/tms70tb.c
index c9b6587e234..ef1db21498d 100644
--- a/src/emu/cpu/tms7000/tms70tb.c
+++ b/src/emu/cpu/tms7000/tms70tb.c
@@ -17,7 +17,7 @@
*
*****************************************************************************/
-static void (*opfn[0x100])(void) = {
+static void (*const opfn[0x100])(void) = {
/* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7,
0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */
@@ -70,7 +70,7 @@ static void (*opfn[0x100])(void) = {
trap_7, trap_6, trap_5, trap_4, trap_3, trap_2, trap_1, trap_0
};
-static void (*opfn_exl[0x100])(void) = {
+static void (*const opfn_exl[0x100])(void) = {
/* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7,
0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */
diff --git a/src/emu/cpu/v30mz/necea.h b/src/emu/cpu/v30mz/necea.h
index 12fb93f3fee..4cd072fd2bc 100644
--- a/src/emu/cpu/v30mz/necea.h
+++ b/src/emu/cpu/v30mz/necea.h
@@ -30,7 +30,7 @@ static unsigned EA_205(void) { E16=FETCH; E16+=FETCH<<8; EO=I.regs.w[IY]+(INT16)
static unsigned EA_206(void) { E16=FETCH; E16+=FETCH<<8; EO=I.regs.w[BP]+(INT16)E16; EA=DefaultBase(SS)+EO; return EA; }
static unsigned EA_207(void) { E16=FETCH; E16+=FETCH<<8; EO=I.regs.w[BW]+(INT16)E16; EA=DefaultBase(DS)+EO; return EA; }
-static unsigned (*GetEA[192])(void)={
+static unsigned (*const GetEA[192])(void)={
EA_000, EA_001, EA_002, EA_003, EA_004, EA_005, EA_006, EA_007,
EA_000, EA_001, EA_002, EA_003, EA_004, EA_005, EA_006, EA_007,
EA_000, EA_001, EA_002, EA_003, EA_004, EA_005, EA_006, EA_007,
diff --git a/src/emu/cpu/v30mz/necinstr.h b/src/emu/cpu/v30mz/necinstr.h
index f07fe442c0c..b4c6e51ce87 100644
--- a/src/emu/cpu/v30mz/necinstr.h
+++ b/src/emu/cpu/v30mz/necinstr.h
@@ -246,7 +246,7 @@ static void i_ffpre(void);
static void i_wait(void);
-static void (*nec_instruction[256])(void) =
+static void (*const nec_instruction[256])(void) =
{
i_add_br8, /* 0x00 */
i_add_wr16, /* 0x01 */
diff --git a/src/emu/cpu/v60/v60mem.c b/src/emu/cpu/v60/v60mem.c
index c29a1a81f33..2f283e31fe0 100644
--- a/src/emu/cpu/v60/v60mem.c
+++ b/src/emu/cpu/v60/v60mem.c
@@ -337,7 +337,7 @@ static void ChangePC_32(offs_t pc)
/* Structures pointing to various I/O functions */
/************************************************/
-static struct cpu_info v60_i =
+static const struct cpu_info v60_i =
{
MemRead8_16, MemWrite8_16, MemRead16_16, MemWrite16_16, MemRead32_16, MemWrite32_16,
PortRead8_16, PortWrite8_16, PortRead16_16, PortWrite16_16, PortRead32_16, PortWrite32_16,
@@ -346,7 +346,7 @@ static struct cpu_info v60_i =
0xfffff0
};
-static struct cpu_info v70_i =
+static const struct cpu_info v70_i =
{
MemRead8_32, MemWrite8_32, MemRead16_32, MemWrite16_32, MemRead32_32, MemWrite32_32,
PortRead8_32, PortWrite8_32, PortRead16_32, PortWrite16_32, PortRead32_32, PortWrite32_32,
diff --git a/src/emu/cpu/z8000/z8000.c b/src/emu/cpu/z8000/z8000.c
index d845083aacc..0a3e089e19b 100644
--- a/src/emu/cpu/z8000/z8000.c
+++ b/src/emu/cpu/z8000/z8000.c
@@ -125,7 +125,7 @@ static UINT8 z8000_zsp[256];
**************************************************************************/
#ifdef LSB_FIRST
/* pointers to byte (8bit) registers */
- static UINT8 *pRB[16] =
+ static UINT8 *const pRB[16] =
{
&Z.regs.B[ 7],&Z.regs.B[ 5],&Z.regs.B[ 3],&Z.regs.B[ 1],
&Z.regs.B[15],&Z.regs.B[13],&Z.regs.B[11],&Z.regs.B[ 9],
@@ -133,7 +133,7 @@ static UINT8 z8000_zsp[256];
&Z.regs.B[14],&Z.regs.B[12],&Z.regs.B[10],&Z.regs.B[ 8]
};
- static UINT16 *pRW[16] =
+ static UINT16 *const pRW[16] =
{
&Z.regs.W[ 3],&Z.regs.W[ 2],&Z.regs.W[ 1],&Z.regs.W[ 0],
&Z.regs.W[ 7],&Z.regs.W[ 6],&Z.regs.W[ 5],&Z.regs.W[ 4],
@@ -142,7 +142,7 @@ static UINT8 z8000_zsp[256];
};
/* pointers to long (32bit) registers */
- static UINT32 *pRL[16] =
+ static UINT32 *const pRL[16] =
{
&Z.regs.L[ 1],&Z.regs.L[ 1],&Z.regs.L[ 0],&Z.regs.L[ 0],
&Z.regs.L[ 3],&Z.regs.L[ 3],&Z.regs.L[ 2],&Z.regs.L[ 2],
@@ -153,7 +153,7 @@ static UINT8 z8000_zsp[256];
#else /* MSB_FIRST */
/* pointers to byte (8bit) registers */
- static UINT8 *pRB[16] =
+ static UINT8 *const pRB[16] =
{
&Z.regs.B[ 0],&Z.regs.B[ 2],&Z.regs.B[ 4],&Z.regs.B[ 6],
&Z.regs.B[ 8],&Z.regs.B[10],&Z.regs.B[12],&Z.regs.B[14],
@@ -162,7 +162,7 @@ static UINT8 z8000_zsp[256];
};
/* pointers to word (16bit) registers */
- static UINT16 *pRW[16] =
+ static UINT16 *const pRW[16] =
{
&Z.regs.W[ 0],&Z.regs.W[ 1],&Z.regs.W[ 2],&Z.regs.W[ 3],
&Z.regs.W[ 4],&Z.regs.W[ 5],&Z.regs.W[ 6],&Z.regs.W[ 7],
@@ -171,7 +171,7 @@ static UINT8 z8000_zsp[256];
};
/* pointers to long (32bit) registers */
- static UINT32 *pRL[16] =
+ static UINT32 *const pRL[16] =
{
&Z.regs.L[ 0],&Z.regs.L[ 0],&Z.regs.L[ 1],&Z.regs.L[ 1],
&Z.regs.L[ 2],&Z.regs.L[ 2],&Z.regs.L[ 3],&Z.regs.L[ 3],
@@ -182,7 +182,7 @@ static UINT8 z8000_zsp[256];
#endif
/* pointers to quad word (64bit) registers */
-static UINT64 *pRQ[16] = {
+static UINT64 *const pRQ[16] = {
&Z.regs.Q[ 0],&Z.regs.Q[ 0],&Z.regs.Q[ 0],&Z.regs.Q[ 0],
&Z.regs.Q[ 1],&Z.regs.Q[ 1],&Z.regs.Q[ 1],&Z.regs.Q[ 1],
&Z.regs.Q[ 2],&Z.regs.Q[ 2],&Z.regs.Q[ 2],&Z.regs.Q[ 2],
diff --git a/src/emu/cpuexec.h b/src/emu/cpuexec.h
index 206cbb982c4..36de52747c1 100644
--- a/src/emu/cpuexec.h
+++ b/src/emu/cpuexec.h
@@ -227,7 +227,7 @@ struct _cpu_config
int vblank_interrupts_per_frame;/* usually 1 */
void (*timed_interrupt)(void); /* for interrupts not tied to VBLANK */
attoseconds_t timed_interrupt_period; /* period for periodic interrupts */
- void * reset_param; /* parameter for cpu_reset */
+ const void *reset_param; /* parameter for cpu_reset */
const char *tag;
};
diff --git a/src/emu/cpuint.c b/src/emu/cpuint.c
index 2d9acfb0061..5ce2795752f 100644
--- a/src/emu/cpuint.c
+++ b/src/emu/cpuint.c
@@ -83,7 +83,7 @@ static int cpu_5_irq_callback(int line);
static int cpu_6_irq_callback(int line);
static int cpu_7_irq_callback(int line);
-int (*cpu_irq_callbacks[MAX_CPU])(int) =
+int (*const cpu_irq_callbacks[MAX_CPU])(int) =
{
cpu_0_irq_callback,
cpu_1_irq_callback,
diff --git a/src/emu/cpuint.h b/src/emu/cpuint.h
index ca45d3006c4..c6dcf7c3f69 100644
--- a/src/emu/cpuint.h
+++ b/src/emu/cpuint.h
@@ -30,7 +30,7 @@ void cpuint_init(running_machine *machine);
void cpuint_reset(void);
-extern int (*cpu_irq_callbacks[])(int);
+extern int (*const cpu_irq_callbacks[])(int);
diff --git a/src/emu/debug/debugcmd.c b/src/emu/debug/debugcmd.c
index 41fe159e064..75c444a6d00 100644
--- a/src/emu/debug/debugcmd.c
+++ b/src/emu/debug/debugcmd.c
@@ -1275,7 +1275,7 @@ static void execute_wpdisenable(int ref, int params, const char *param[])
static void execute_wplist(int ref, int params, const char *param[])
{
- static const char *spacenames[ADDRESS_SPACES] = { "program", "data", "I/O" };
+ static const char *const spacenames[ADDRESS_SPACES] = { "program", "data", "I/O" };
int cpunum, printed = 0;
char buffer[256];
@@ -1292,7 +1292,7 @@ static void execute_wplist(int ref, int params, const char *param[])
{
if (cpuinfo->space[spacenum].first_wp)
{
- static const char *types[] = { "unkn ", "read ", "write", "r/w " };
+ static const char *const types[] = { "unkn ", "read ", "write", "r/w " };
debug_cpu_watchpoint *wp;
debug_console_printf("CPU %d %s space watchpoints:\n", cpunum, spacenames[spacenum]);
diff --git a/src/emu/debug/debugcpu.c b/src/emu/debug/debugcpu.c
index 81099acd348..3d25239aaac 100644
--- a/src/emu/debug/debugcpu.c
+++ b/src/emu/debug/debugcpu.c
@@ -42,7 +42,7 @@
FILE *debug_source_file;
symbol_table *global_symtable;
-static const char *address_space_name[] = { "program", "data", "I/O" };
+static const char *const address_space_name[] = { "program", "data", "I/O" };
static UINT64 wpdata;
static UINT64 wpaddr;
@@ -1317,7 +1317,7 @@ static void check_watchpoints(int cpunum, int spacenum, int type, offs_t address
/* if we do, evaluate the condition */
if (wp->condition == NULL || (expression_execute(wp->condition, &result) == EXPRERR_NONE && result))
{
- static const char *sizes[] =
+ static const char *const sizes[] =
{
"0bytes", "byte", "word", "3bytes", "dword", "5bytes", "6bytes", "7bytes", "qword"
};
diff --git a/src/emu/debug/debughlp.c b/src/emu/debug/debughlp.c
index 68e188130da..d1241aab076 100644
--- a/src/emu/debug/debughlp.c
+++ b/src/emu/debug/debughlp.c
@@ -53,7 +53,7 @@ struct _help_item
TABLE OF HELP
***************************************************************************/
-static help_item static_help_list[] =
+static const help_item static_help_list[] =
{
{
"",
@@ -1035,7 +1035,7 @@ static help_item static_help_list[] =
const char *debug_get_help(const char *tag)
{
static char ambig_message[1024];
- help_item *found = NULL;
+ const help_item *found = NULL;
int i, msglen, foundcount = 0;
int taglen = (int)strlen(tag);
char tagcopy[256];
diff --git a/src/emu/debug/express.c b/src/emu/debug/express.c
index 22aa49d9782..8694c8751d9 100644
--- a/src/emu/debug/express.c
+++ b/src/emu/debug/express.c
@@ -1158,6 +1158,12 @@ static EXPRERR execute_tokens(parsed_expression *expr, UINT64 *result)
/* reset the token stack */
init_token_stack(expr);
+ /* Initialize t1, t2 to keep gcc's warnings-as-errors happy */
+ t1.type = TOK_INVALID;
+ t1.offset = 0;
+ t2.type = TOK_INVALID;
+ t2.offset = 0;
+
/* create a temporary token for holding intermediate number and memory values */
tempnum.type = TOK_NUMBER;
tempnum.offset = 0;
diff --git a/src/emu/drawgfx.c b/src/emu/drawgfx.c
index 89a9f3231ea..43f7b184354 100644
--- a/src/emu/drawgfx.c
+++ b/src/emu/drawgfx.c
@@ -82,7 +82,7 @@ INLINE void write_dword(void *address, UINT32 data)
offset
-------------------------------------------------*/
-INLINE int readbit(const UINT8 *src, int bitnum)
+INLINE int readbit(const UINT8 *src, unsigned int bitnum)
{
return src[bitnum / 8] & (0x80 >> (bitnum % 8));
}
diff --git a/src/emu/driver.h b/src/emu/driver.h
index 7db71669c22..cf4a820c8e1 100644
--- a/src/emu/driver.h
+++ b/src/emu/driver.h
@@ -119,16 +119,17 @@
/* ----- flags for video_attributes ----- */
-/* is the video hardware raser or vector base? */
-#define VIDEO_TYPE_RASTER 0x0000
-#define VIDEO_TYPE_VECTOR 0x0001
+/* is the video hardware raster or vector based? */
+#define VIDEO_TYPE_NONE 0x0000
+#define VIDEO_TYPE_RASTER 0x0001
+#define VIDEO_TYPE_VECTOR 0x0002
/* should VIDEO_UPDATE by called at the start of VBLANK or at the end? */
#define VIDEO_UPDATE_BEFORE_VBLANK 0x0000
-#define VIDEO_UPDATE_AFTER_VBLANK 0x0002
+#define VIDEO_UPDATE_AFTER_VBLANK 0x0004
/* indicates VIDEO_UPDATE will add container bits its */
-#define VIDEO_SELF_RENDER 0x0004
+#define VIDEO_SELF_RENDER 0x0008
/* automatically extend the palette creating a darker copy for shadows */
#define VIDEO_HAS_SHADOWS 0x0010
diff --git a/src/emu/emuopts.c b/src/emu/emuopts.c
index 1b75f35b245..1463b1350b8 100644
--- a/src/emu/emuopts.c
+++ b/src/emu/emuopts.c
@@ -143,6 +143,7 @@ const options_entry mame_core_options[] =
{ NULL, NULL, OPTION_HEADER, "CORE DEBUGGING OPTIONS" },
{ "log", "0", OPTION_BOOLEAN, "generate an error.log file" },
{ "verbose;v", "0", OPTION_BOOLEAN, "display additional diagnostic information" },
+ { "update_in_pause", "0", OPTION_BOOLEAN, "keep calling video updates while in pause" },
#ifdef MAME_DEBUG
{ "debug;d", "1", OPTION_BOOLEAN, "enable/disable debugger" },
{ "debugscript", NULL, 0, "script for debugger" },
diff --git a/src/emu/emuopts.h b/src/emu/emuopts.h
index 982f2556826..eab42ba5b34 100644
--- a/src/emu/emuopts.h
+++ b/src/emu/emuopts.h
@@ -133,6 +133,7 @@
#define OPTION_LOG "log"
#define OPTION_DEBUG "debug"
#define OPTION_DEBUGSCRIPT "debugscript"
+#define OPTION_UPDATEINPAUSE "update_in_pause"
/* core misc options */
#define OPTION_BIOS "bios"
diff --git a/src/emu/hash.c b/src/emu/hash.c
index 5c3a293d604..db92127523b 100644
--- a/src/emu/hash.c
+++ b/src/emu/hash.c
@@ -185,7 +185,7 @@ static const hash_function_desc hash_descs[HASH_NUM_FUNCTIONS] =
},
};
-static const char* info_strings[] =
+static const char *const info_strings[] =
{
"$ND$", // No dump
"$BD$" // Bad dump
diff --git a/src/emu/inptport.c b/src/emu/inptport.c
index 4c698e96ef8..ff17aa3d148 100644
--- a/src/emu/inptport.c
+++ b/src/emu/inptport.c
@@ -264,7 +264,7 @@ static digital_joystick_info joystick_info[MAX_PLAYERS][DIGITAL_JOYSTICKS_PER_PL
static UINT8 ui_memory[__ipt_max];
/* XML attributes for the different types */
-static const char *seqtypestrings[] = { "standard", "decrement", "increment" };
+static const char *const seqtypestrings[] = { "standard", "decrement", "increment" };
/* original input_ports without modifications */
static input_port_entry *input_ports_default;
@@ -2598,9 +2598,9 @@ const char *input_port_name(const input_port_entry *port)
}
-input_seq *input_port_seq(input_port_entry *port, int seqtype)
+const input_seq *input_port_seq(input_port_entry *port, int seqtype)
{
- static input_seq ip_none = SEQ_DEF_0;
+ static const input_seq ip_none = SEQ_DEF_0;
input_seq *portseq;
/* if port is disabled, return no key */
@@ -2639,9 +2639,9 @@ input_seq *input_port_seq(input_port_entry *port, int seqtype)
}
-input_seq *input_port_default_seq(int type, int player, int seqtype)
+const input_seq *input_port_default_seq(int type, int player, int seqtype)
{
- static input_seq ip_none = SEQ_DEF_0;
+ static const input_seq ip_none = SEQ_DEF_0;
/* find the default setting */
int defindex = default_ports_lookup[type][player];
diff --git a/src/emu/inptport.h b/src/emu/inptport.h
index 527bcf453eb..31fc3ce21c9 100644
--- a/src/emu/inptport.h
+++ b/src/emu/inptport.h
@@ -876,8 +876,8 @@ read16_handler port_tag_to_handler16(const char *tag);
read32_handler port_tag_to_handler32(const char *tag);
read64_handler port_tag_to_handler64(const char *tag);
const char *input_port_name(const input_port_entry *in);
-input_seq *input_port_seq(input_port_entry *in, int seqtype);
-input_seq *input_port_default_seq(int type, int player, int seqtype);
+const input_seq *input_port_seq(input_port_entry *in, int seqtype);
+const input_seq *input_port_default_seq(int type, int player, int seqtype);
int input_port_condition(const input_port_entry *in);
void input_port_set_changed_callback(int port, UINT32 mask, void (*callback)(void *, UINT32, UINT32), void *param);
diff --git a/src/emu/input.c b/src/emu/input.c
index 9a961ea0b7a..2f841fadd9a 100644
--- a/src/emu/input.c
+++ b/src/emu/input.c
@@ -337,9 +337,9 @@ static INT32 joystick_deadzone;
static INT32 joystick_saturation;
/* standard joystick mappings */
-const char * joystick_map_8way = "7778...4445";
-const char * joystick_map_4way_sticky = "s8.4s8.44s8.4445";
-const char * joystick_map_4way_diagonal = "4444s8888..444458888.444555888.ss5.222555666.222256666.2222s6666.2222s6666";
+const char joystick_map_8way[] = "7778...4445";
+const char joystick_map_4way_sticky[] = "s8.4s8.44s8.4445";
+const char joystick_map_4way_diagonal[] = "4444s8888..444458888.444555888.ss5.222555666.222256666.2222s6666.2222s6666";
@@ -1549,7 +1549,7 @@ static int joystick_map_parse(const char *mapstring, joystick_map *map)
JOYSTICK_MAP_DOWN | JOYSTICK_MAP_RIGHT,
JOYSTICK_MAP_STICKY
};
- static const char *validchars = "789456123s";
+ static const char validchars[] = "789456123s";
const char *ptr = strchr(validchars, *mapstring++);
/* invalid characters exit immediately */
diff --git a/src/emu/input.h b/src/emu/input.h
index 4f2c82086d8..30fd3fea98f 100644
--- a/src/emu/input.h
+++ b/src/emu/input.h
@@ -485,9 +485,9 @@ typedef struct _input_device input_device;
***************************************************************************/
/* joystick maps */
-extern const char * joystick_map_8way;
-extern const char * joystick_map_4way_sticky;
-extern const char * joystick_map_4way_diagonal;
+extern const char joystick_map_8way[];
+extern const char joystick_map_4way_sticky[];
+extern const char joystick_map_4way_diagonal[];
diff --git a/src/emu/machine/53c810.c b/src/emu/machine/53c810.c
index ec8b30fe50e..8c182413843 100644
--- a/src/emu/machine/53c810.c
+++ b/src/emu/machine/53c810.c
@@ -7,7 +7,7 @@
#define DASM_OPCODES 0
static SCSIInstance *devices[8]; /* SCSI IDs 0-7 */
-static struct LSI53C810interface *intf;
+static const struct LSI53C810interface *intf;
static UINT8 last_id;
static struct {
@@ -659,7 +659,7 @@ static void add_opcode(UINT8 op, UINT8 mask, void (* handler)(void))
}
}
-extern void lsi53c810_init(struct LSI53C810interface *interface)
+extern void lsi53c810_init(const struct LSI53C810interface *interface)
{
int i;
@@ -756,7 +756,7 @@ unsigned lsi53c810_dasm(char *buf, UINT32 pc)
UINT32 dest;
int i;
- static const char *phases[] =
+ static const char *const phases[] =
{
"DATA_OUT", "DATA_IN", "CMD", "STATUS",
"RESERVED_OUT??", "RESERVED_IN??", "MSG_OUT", "MSG_IN"
@@ -777,7 +777,7 @@ unsigned lsi53c810_dasm(char *buf, UINT32 pc)
else if (((op & 0xF8000000) == 0x58000000)
| ((op & 0xF8000000) == 0x60000000))
{
- static struct
+ static const struct
{
UINT32 flag;
const char *text;
diff --git a/src/emu/machine/53c810.h b/src/emu/machine/53c810.h
index 8cbb6065146..8818ee9f3b3 100644
--- a/src/emu/machine/53c810.h
+++ b/src/emu/machine/53c810.h
@@ -5,13 +5,13 @@
struct LSI53C810interface
{
- SCSIConfigTable *scsidevs; /* SCSI devices */
+ const SCSIConfigTable *scsidevs; /* SCSI devices */
void (*irq_callback)(void); /* IRQ callback */
void (*dma_callback)(UINT32, UINT32, int, int); /* DMA callback */
UINT32 (*fetch)(UINT32 dsp);
};
-extern void lsi53c810_init(struct LSI53C810interface *interface);
+extern void lsi53c810_init(const struct LSI53C810interface *interface);
extern void lsi53c810_read_data(int bytes, UINT8 *pData);
extern void lsi53c810_write_data(int bytes, UINT8 *pData);
diff --git a/src/emu/machine/6840ptm.c b/src/emu/machine/6840ptm.c
index 4a0492afb68..5ba50449134 100644
--- a/src/emu/machine/6840ptm.c
+++ b/src/emu/machine/6840ptm.c
@@ -97,7 +97,7 @@ static TIMER_CALLBACK( ptm6840_t3_timeout );
static ptm6840 ptm[PTM_6840_MAX];
#if PTMVERBOSE
-static const char *opmode[] =
+static const char *const opmode[] =
{
"000 continous mode",
"001 freq comparison mode",
diff --git a/src/emu/machine/am53cf96.c b/src/emu/machine/am53cf96.c
index 9e5467138f7..0dce33a9e54 100644
--- a/src/emu/machine/am53cf96.c
+++ b/src/emu/machine/am53cf96.c
@@ -13,7 +13,7 @@
#include "am53cf96.h"
static UINT8 scsi_regs[32], fifo[16], fptr = 0, xfer_state, last_id;
-static struct AM53CF96interface *intf;
+static const struct AM53CF96interface *intf;
static SCSIInstance *devices[8]; // SCSI IDs 0-7
@@ -208,7 +208,7 @@ WRITE32_HANDLER( am53cf96_w )
}
}
-void am53cf96_init( struct AM53CF96interface *interface )
+void am53cf96_init( const struct AM53CF96interface *interface )
{
int i;
diff --git a/src/emu/machine/am53cf96.h b/src/emu/machine/am53cf96.h
index b3e23de8712..ea893904f1d 100644
--- a/src/emu/machine/am53cf96.h
+++ b/src/emu/machine/am53cf96.h
@@ -10,11 +10,11 @@
struct AM53CF96interface
{
- SCSIConfigTable *scsidevs; /* SCSI devices */
+ const SCSIConfigTable *scsidevs; /* SCSI devices */
void (*irq_callback)(void); /* irq callback */
};
-extern void am53cf96_init( struct AM53CF96interface *interface );
+extern void am53cf96_init( const struct AM53CF96interface *interface );
extern void am53cf96_read_data(int bytes, UINT8 *pData);
void am53cf96_write_data(int bytes, UINT8 *pData);
void *am53cf96_get_device(int id);
diff --git a/src/emu/machine/cr589.c b/src/emu/machine/cr589.c
index 4ec39d35845..102631c4fe3 100644
--- a/src/emu/machine/cr589.c
+++ b/src/emu/machine/cr589.c
@@ -14,7 +14,7 @@ typedef struct
} SCSICr589;
static const int identity_offset = 0x3ab;
-static const char *download_identity = "MATSHITA CD98Q4 DOWNLOADGS0N";
+static const char download_identity[] = "MATSHITA CD98Q4 DOWNLOADGS0N";
static int cr589_exec_command( SCSIInstance *scsiInstance, UINT8 *statusCode )
{
@@ -144,7 +144,7 @@ static int cr589_dispatch( int operation, void *file, INT64 intparm, void *ptrpa
return SCSIBase( &SCSIClassCr589, operation, file, intparm, ptrparm );
}
-SCSIClass SCSIClassCr589 =
+const SCSIClass SCSIClassCr589 =
{
&SCSIClassCDROM,
cr589_dispatch,
diff --git a/src/emu/machine/cr589.h b/src/emu/machine/cr589.h
index a0e9313abe9..1f27614eb01 100644
--- a/src/emu/machine/cr589.h
+++ b/src/emu/machine/cr589.h
@@ -1,3 +1,3 @@
#include "scsi.h"
-extern SCSIClass SCSIClassCr589;
+extern const SCSIClass SCSIClassCr589;
diff --git a/src/emu/machine/ds2401.c b/src/emu/machine/ds2401.c
index cd3ebd52274..0d61bad2243 100644
--- a/src/emu/machine/ds2401.c
+++ b/src/emu/machine/ds2401.c
@@ -41,7 +41,7 @@ struct ds2401_chip
int shift;
int rx;
int tx;
- UINT8 *data;
+ const UINT8 *data;
emu_timer *timer;
emu_timer *reset_timer;
attotime t_samp;
@@ -138,15 +138,10 @@ static TIMER_CALLBACK( ds2401_tick )
}
}
-void ds2401_init( int which, UINT8 *data )
+void ds2401_init( int which, const UINT8 *data )
{
struct ds2401_chip *c = &ds2401[ which ];
- if( data == NULL )
- {
- data = auto_malloc( SIZE_DATA );
- }
-
c->state = STATE_IDLE;
c->bit = 0;
c->byte = 0;
@@ -166,7 +161,7 @@ void ds2401_init( int which, UINT8 *data )
state_save_register_item( "ds2401", which, c->shift );
state_save_register_item( "ds2401", which, c->rx );
state_save_register_item( "ds2401", which, c->tx );
- state_save_register_item_pointer( "ds2401", which, data, SIZE_DATA );
+ state_save_register_generic( "ds2401", which, "data", (UINT8 *)&data[0], data[0], SIZE_DATA );
c->timer = timer_alloc( ds2401_tick , NULL);
c->reset_timer = timer_alloc( ds2401_reset , NULL);
diff --git a/src/emu/machine/ds2401.h b/src/emu/machine/ds2401.h
index 52241177e0e..6acd33b786e 100644
--- a/src/emu/machine/ds2401.h
+++ b/src/emu/machine/ds2401.h
@@ -11,7 +11,7 @@
#define DS2401_MAXCHIP ( 3 )
-extern void ds2401_init( int which, UINT8 *data );
+extern void ds2401_init( int which, const UINT8 *data );
extern void ds2401_write( int which, int data );
extern int ds2401_read( int which );
diff --git a/src/emu/machine/idectrl.c b/src/emu/machine/idectrl.c
index bd08522cdfc..a0a746cb92f 100644
--- a/src/emu/machine/idectrl.c
+++ b/src/emu/machine/idectrl.c
@@ -157,15 +157,15 @@ struct ide_state
UINT8 config_register[IDE_CONFIG_REGISTERS];
UINT8 config_register_num;
- struct ide_interface *intf;
+ const struct ide_interface *intf;
hard_disk_file * disk;
emu_timer * last_status_timer;
emu_timer * reset_timer;
UINT8 master_password_enable;
UINT8 user_password_enable;
- UINT8 * master_password;
- UINT8 * user_password;
+ const UINT8 * master_password;
+ const UINT8 * user_password;
};
@@ -289,7 +289,7 @@ static void ide_controller_exit(running_machine *machine)
}
-int ide_controller_init_custom(int which, struct ide_interface *intf, chd_file *diskhandle)
+int ide_controller_init_custom(int which, const struct ide_interface *intf, chd_file *diskhandle)
{
struct ide_state *ide = &idestate[which];
const hard_disk_info *hdinfo;
@@ -380,7 +380,7 @@ int ide_controller_init_custom(int which, struct ide_interface *intf, chd_file *
return 0;
}
-int ide_controller_init(int which, struct ide_interface *intf)
+int ide_controller_init(int which, const struct ide_interface *intf)
{
/* we only support one hard disk right now; get a handle to it */
return ide_controller_init_custom(which, intf, get_disk_handle(0));
@@ -414,7 +414,7 @@ UINT8 *ide_get_features(int which)
}
-void ide_set_master_password(int which, UINT8 *password)
+void ide_set_master_password(int which, const UINT8 *password)
{
struct ide_state *ide = &idestate[which];
@@ -423,7 +423,7 @@ void ide_set_master_password(int which, UINT8 *password)
}
-void ide_set_user_password(int which, UINT8 *password)
+void ide_set_user_password(int which, const UINT8 *password)
{
struct ide_state *ide = &idestate[which];
diff --git a/src/emu/machine/idectrl.h b/src/emu/machine/idectrl.h
index 0112d6d71f4..a73929bc1f8 100644
--- a/src/emu/machine/idectrl.h
+++ b/src/emu/machine/idectrl.h
@@ -14,13 +14,13 @@ struct ide_interface
void (*interrupt)(int state);
};
-int ide_controller_init(int which, struct ide_interface *intf);
-int ide_controller_init_custom(int which, struct ide_interface *intf, chd_file *diskhandle);
+int ide_controller_init(int which, const struct ide_interface *intf);
+int ide_controller_init_custom(int which, const struct ide_interface *intf, chd_file *diskhandle);
void ide_controller_reset(int which);
UINT8 *ide_get_features(int which);
-void ide_set_master_password(int which, UINT8 *password);
-void ide_set_user_password(int which, UINT8 *password);
+void ide_set_master_password(int which, const UINT8 *password);
+void ide_set_user_password(int which, const UINT8 *password);
int ide_bus_0_r(int select, int offset);
void ide_bus_0_w(int select, int offset, int data);
diff --git a/src/emu/machine/laserdsc.c b/src/emu/machine/laserdsc.c
index 3ab6eeb7412..e1b224602e3 100644
--- a/src/emu/machine/laserdsc.c
+++ b/src/emu/machine/laserdsc.c
@@ -363,7 +363,7 @@ static void vp932_state_changed(laserdisc_info *info, UINT8 oldstate);
GLOBAL VARIABLES
***************************************************************************/
-struct CustomSound_interface laserdisc_custom_interface =
+const struct CustomSound_interface laserdisc_custom_interface =
{
custom_start
};
diff --git a/src/emu/machine/laserdsc.h b/src/emu/machine/laserdsc.h
index 78a404b577d..0da43dcc292 100644
--- a/src/emu/machine/laserdsc.h
+++ b/src/emu/machine/laserdsc.h
@@ -60,7 +60,7 @@ typedef struct _laserdisc_info laserdisc_info;
GLOBAL VARIABLES
***************************************************************************/
-extern struct CustomSound_interface laserdisc_custom_interface;
+extern const struct CustomSound_interface laserdisc_custom_interface;
diff --git a/src/emu/machine/mb87078.c b/src/emu/machine/mb87078.c
index c98eccceccb..432e22816d0 100644
--- a/src/emu/machine/mb87078.c
+++ b/src/emu/machine/mb87078.c
@@ -19,7 +19,7 @@ struct MB87078 {
static struct MB87078 chip[MAX_MB87078];
-static float MB87078_gain_decibel[66]={
+static const float MB87078_gain_decibel[66]={
0.0, -0.5, -1.0, -1.5, -2.0, -2.5, -3.0, -3.5,
-4.0, -4.5, -5.0, -5.5, -6.0, -6.5, -7.0, -7.5,
-8.0, -8.5, -9.0, -9.5,-10.0,-10.5,-11.0,-11.5,
@@ -31,7 +31,7 @@ static float MB87078_gain_decibel[66]={
-32.0, -256.0
};
-static int MB87078_gain_percent[66]={
+static const int MB87078_gain_percent[66]={
100,94,89,84,79,74,70,66,
63,59,56,53,50,47,44,42,
39,37,35,33,31,29,28,26,
diff --git a/src/emu/machine/roc10937.c b/src/emu/machine/roc10937.c
index 59a44b7a04a..4b23c8b1df7 100644
--- a/src/emu/machine/roc10937.c
+++ b/src/emu/machine/roc10937.c
@@ -65,7 +65,7 @@ we actually have 18 segments, including the semicolon portions.
This means our segment maths needs to be more than 16-bit to work!
*/
-static UINT32 roc10937charset[]=
+static const UINT32 roc10937charset[]=
{ // 11 10 FEDC BA98 7654 3210
0x0507F, // 0 0 0101 0000 0111 1111 @.
0x044CF, // 0 0 0100 0100 1100 1111 A.
diff --git a/src/emu/machine/rp5h01.c b/src/emu/machine/rp5h01.c
index 32b46da62ec..3abed1220da 100644
--- a/src/emu/machine/rp5h01.c
+++ b/src/emu/machine/rp5h01.c
@@ -4,7 +4,7 @@
/****************************************************************************/
/* local copy of the interface pointer */
-static struct RP5H01_interface *intf;
+static const struct RP5H01_interface *intf;
/* these also work as the address masks */
enum {
@@ -25,7 +25,7 @@ static RP5H01 RP5H01_state[MAX_RP5H01];
/****************************************************************************/
-int RP5H01_init( struct RP5H01_interface *interface ) {
+int RP5H01_init( const struct RP5H01_interface *interface ) {
int i;
/* setup our local copy of the interface */
diff --git a/src/emu/machine/rp5h01.h b/src/emu/machine/rp5h01.h
index b0bb3898c89..9f9fec7dce6 100644
--- a/src/emu/machine/rp5h01.h
+++ b/src/emu/machine/rp5h01.h
@@ -10,7 +10,7 @@ struct RP5H01_interface {
int offset[MAX_RP5H01]; /* memory offset within the above region where data resides */
};
-int RP5H01_init( struct RP5H01_interface *interface );
+int RP5H01_init( const struct RP5H01_interface *interface );
void RP5H01_enable_w( int which, int data ); /* /CE */
void RP5H01_reset_w( int which, int data ); /* RESET */
void RP5H01_clock_w( int which, int data ); /* DATA CLOCK (active low) */
diff --git a/src/emu/machine/scsi.c b/src/emu/machine/scsi.c
index f01f60d5390..33097caffb7 100644
--- a/src/emu/machine/scsi.c
+++ b/src/emu/machine/scsi.c
@@ -1,8 +1,8 @@
#include "scsi.h"
-void SCSIAllocInstance( SCSIClass *scsiClass, SCSIInstance **instance, int diskId )
+void SCSIAllocInstance( const SCSIClass *scsiClass, SCSIInstance **instance, int diskId )
{
- scsiClass->dispatch( SCSIOP_ALLOC_INSTANCE, scsiClass, diskId, instance );
+ scsiClass->dispatch( SCSIOP_ALLOC_INSTANCE, (void *)scsiClass, diskId, instance );
}
void SCSIDeleteInstance( SCSIInstance *instance )
@@ -60,19 +60,19 @@ void SCSIGetPhase( SCSIInstance *instance, int *phase )
*phase = instance->scsiClass->dispatch( SCSIOP_GET_PHASE, instance, 0, NULL );
}
-int SCSIBase( SCSIClass *scsiClass, int operation, void *file, INT64 intparm, UINT8 *ptrparm )
+int SCSIBase( const SCSIClass *scsiClass, int operation, void *file, INT64 intparm, UINT8 *ptrparm )
{
return scsiClass->baseClass->dispatch( operation, file, intparm, ptrparm );
}
-SCSIInstance *SCSIMalloc( SCSIClass *scsiClass )
+SCSIInstance *SCSIMalloc( const SCSIClass *scsiClass )
{
SCSIInstance *scsiInstance = (SCSIInstance *) malloc_or_die( SCSISizeof( scsiClass ) );
scsiInstance->scsiClass = scsiClass;
return scsiInstance;
}
-void *SCSIThis( SCSIClass *scsiClass, SCSIInstance *instance )
+void *SCSIThis( const SCSIClass *scsiClass, SCSIInstance *instance )
{
if( instance != NULL )
{
@@ -90,7 +90,7 @@ void *SCSIThis( SCSIClass *scsiClass, SCSIInstance *instance )
return NULL;
}
-int SCSISizeof( SCSIClass *scsiClass )
+int SCSISizeof( const SCSIClass *scsiClass )
{
int sizeofData = sizeof( SCSIInstance );
diff --git a/src/emu/machine/scsi.h b/src/emu/machine/scsi.h
index 7097cf38147..38464e0a6bc 100644
--- a/src/emu/machine/scsi.h
+++ b/src/emu/machine/scsi.h
@@ -14,14 +14,14 @@ typedef int (*pSCSIDispatch)( int operation, void *file, INT64 intparm, void *pt
typedef struct _SCSIClass
{
- struct _SCSIClass *baseClass;
+ const struct _SCSIClass *baseClass;
pSCSIDispatch dispatch;
int sizeofData;
} SCSIClass;
typedef struct
{
- SCSIClass *scsiClass;
+ const SCSIClass *scsiClass;
} SCSIInstance;
// commands accepted by a SCSI device's dispatch handler
@@ -45,7 +45,7 @@ typedef struct scsiconfigitem
{
int scsiID;
int diskID;
- SCSIClass *scsiClass;
+ const SCSIClass *scsiClass;
} SCSIConfigItem;
#define SCSI_MAX_DEVICES (16)
@@ -53,7 +53,7 @@ typedef struct scsiconfigitem
typedef struct scsiconfigtable
{
int devs_present;
- SCSIConfigItem devices[SCSI_MAX_DEVICES];
+ const SCSIConfigItem devices[SCSI_MAX_DEVICES];
} SCSIConfigTable;
// SCSI IDs
@@ -77,7 +77,7 @@ enum
#define SCSI_PHASE_MESSAGE_OUT ( 6 )
#define SCSI_PHASE_MESSAGE_IN ( 7 )
-extern void SCSIAllocInstance( SCSIClass *scsiClass, SCSIInstance **instance, int diskId );
+extern void SCSIAllocInstance( const SCSIClass *scsiClass, SCSIInstance **instance, int diskId );
extern void SCSIDeleteInstance( SCSIInstance *instance );
extern void SCSISetDevice( SCSIInstance *instance, void *device );
extern void SCSIGetDevice( SCSIInstance *instance, void **device );
@@ -90,10 +90,10 @@ extern void SCSIReadData( SCSIInstance *instance, void *data, int dataLength );
extern void SCSISetPhase( SCSIInstance *instance, int phase );
extern void SCSIGetPhase( SCSIInstance *instance, int *phase );
-extern SCSIInstance *SCSIMalloc( SCSIClass *scsiClass );
-extern int SCSIBase( SCSIClass *scsiClass, int operation, void *file, INT64 intparm, UINT8 *ptrparm );
-extern void *SCSIThis( SCSIClass *scsiClass, SCSIInstance *instance );
-extern int SCSISizeof( SCSIClass *scsiClass );
+extern SCSIInstance *SCSIMalloc( const SCSIClass *scsiClass );
+extern int SCSIBase( const SCSIClass *scsiClass, int operation, void *file, INT64 intparm, UINT8 *ptrparm );
+extern void *SCSIThis( const SCSIClass *scsiClass, SCSIInstance *instance );
+extern int SCSISizeof( const SCSIClass *scsiClass );
extern int SCSILengthFromUINT8( UINT8 *length );
extern int SCSILengthFromUINT16( UINT8 *length );
diff --git a/src/emu/machine/scsicd.c b/src/emu/machine/scsicd.c
index b611eac5614..a3e0f6f6737 100644
--- a/src/emu/machine/scsicd.c
+++ b/src/emu/machine/scsicd.c
@@ -760,7 +760,7 @@ static int scsicd_dispatch(int operation, void *file, INT64 intparm, void *ptrpa
return SCSIBase( &SCSIClassCDROM, operation, file, intparm, ptrparm );
}
-SCSIClass SCSIClassCDROM =
+const SCSIClass SCSIClassCDROM =
{
&SCSIClassDevice,
scsicd_dispatch,
diff --git a/src/emu/machine/scsicd.h b/src/emu/machine/scsicd.h
index 5300a9563b1..67998398631 100644
--- a/src/emu/machine/scsicd.h
+++ b/src/emu/machine/scsicd.h
@@ -10,7 +10,7 @@
#include "machine/scsi.h"
// CD-ROM handler
-extern SCSIClass SCSIClassCDROM;
+extern const SCSIClass SCSIClassCDROM;
#define SCSI_DEVICE_CDROM &SCSIClassCDROM
#endif
diff --git a/src/emu/machine/scsidev.c b/src/emu/machine/scsidev.c
index 11ac55b1193..3e816e70903 100644
--- a/src/emu/machine/scsidev.c
+++ b/src/emu/machine/scsidev.c
@@ -147,7 +147,7 @@ static int scsidev_dispatch( int operation, void *file, INT64 intparm, void *ptr
return 0;
}
-SCSIClass SCSIClassDevice =
+const SCSIClass SCSIClassDevice =
{
NULL,
scsidev_dispatch,
diff --git a/src/emu/machine/scsidev.h b/src/emu/machine/scsidev.h
index f765e187cbe..984ab7f818e 100644
--- a/src/emu/machine/scsidev.h
+++ b/src/emu/machine/scsidev.h
@@ -10,6 +10,6 @@
#include "machine/scsi.h"
// base handler
-extern SCSIClass SCSIClassDevice;
+extern const SCSIClass SCSIClassDevice;
#endif
diff --git a/src/emu/machine/scsihd.c b/src/emu/machine/scsihd.c
index 81d3770eb71..2c11b5dc889 100644
--- a/src/emu/machine/scsihd.c
+++ b/src/emu/machine/scsihd.c
@@ -303,7 +303,7 @@ static int scsihd_dispatch(int operation, void *file, INT64 intparm, void *ptrpa
return SCSIBase( &SCSIClassHARDDISK, operation, file, intparm, ptrparm );
}
-SCSIClass SCSIClassHARDDISK =
+const SCSIClass SCSIClassHARDDISK =
{
&SCSIClassDevice,
scsihd_dispatch,
diff --git a/src/emu/machine/scsihd.h b/src/emu/machine/scsihd.h
index 4adb0c8fbd3..f4549926655 100644
--- a/src/emu/machine/scsihd.h
+++ b/src/emu/machine/scsihd.h
@@ -10,7 +10,7 @@
#include "machine/scsi.h"
// CD-ROM handler
-extern SCSIClass SCSIClassHARDDISK;
+extern const SCSIClass SCSIClassHARDDISK;
#define SCSI_DEVICE_HARDDISK &SCSIClassHARDDISK
#endif
diff --git a/src/emu/machine/smc91c9x.c b/src/emu/machine/smc91c9x.c
index 4735863fe7f..6eff3f50fc5 100644
--- a/src/emu/machine/smc91c9x.c
+++ b/src/emu/machine/smc91c9x.c
@@ -92,7 +92,7 @@
#define EINT_ERCV 0x40
/* Ethernet register names */
-static const char *ethernet_regname[64] =
+static const char *const ethernet_regname[64] =
{
"TCR", "EPH STATUS", "RCR", "COUNTER", "MIR", "MCR", "(0.6)", "BANK",
"CONFIG", "BASE", "IA0-1", "IA2-3", "IA4-5", "GENERAL PURPOSE", "CONTROL", "BANK",
@@ -164,7 +164,7 @@ static void update_ethernet_irq(void);
*
*************************************/
-void smc91c94_init(struct smc91c9x_interface *config)
+void smc91c94_init(const struct smc91c9x_interface *config)
{
ethernet.irq_handler = config->irq_handler;
}
diff --git a/src/emu/machine/smc91c9x.h b/src/emu/machine/smc91c9x.h
index 2cef861294c..6abc6c001a5 100644
--- a/src/emu/machine/smc91c9x.h
+++ b/src/emu/machine/smc91c9x.h
@@ -14,7 +14,7 @@ struct smc91c9x_interface
void (*irq_handler)(int state);
};
-void smc91c94_init(struct smc91c9x_interface *config);
+void smc91c94_init(const struct smc91c9x_interface *config);
void smc91c94_reset(void);
READ16_HANDLER( smc91c94_r );
WRITE16_HANDLER( smc91c94_w );
diff --git a/src/emu/machine/wd33c93.c b/src/emu/machine/wd33c93.c
index 9fa3bb408ae..03b8f4455b0 100644
--- a/src/emu/machine/wd33c93.c
+++ b/src/emu/machine/wd33c93.c
@@ -18,7 +18,7 @@
#define VERBOSE 0
static SCSIInstance *devices[8]; // SCSI IDs 0-7
-static struct WD33C93interface *intf;
+static const struct WD33C93interface *intf;
/* wd register names */
#define WD_OWN_ID 0x00
@@ -457,7 +457,7 @@ static void wd33c93_xferinfo_cmd( void )
}
/* Command handlers */
-static cmd_handler wd33c93_cmds[0x22] =
+static const cmd_handler wd33c93_cmds[0x22] =
{
&wd33c93_reset_cmd, /* 0x00 - WD_CMD_RESET */
&wd33c93_abort_cmd, /* 0x01 - WD_CMD_ABORT */
@@ -785,7 +785,7 @@ READ8_HANDLER(wd33c93_r)
return 0;
}
-extern void wd33c93_init( struct WD33C93interface *interface )
+extern void wd33c93_init( const struct WD33C93interface *interface )
{
int i;
diff --git a/src/emu/machine/wd33c93.h b/src/emu/machine/wd33c93.h
index 99f13944b9d..4e967941465 100644
--- a/src/emu/machine/wd33c93.h
+++ b/src/emu/machine/wd33c93.h
@@ -10,11 +10,11 @@
struct WD33C93interface
{
- SCSIConfigTable *scsidevs; /* SCSI devices */
+ const SCSIConfigTable *scsidevs; /* SCSI devices */
void (*irq_callback)(int state); /* irq callback */
};
-extern void wd33c93_init( struct WD33C93interface *interface );
+extern void wd33c93_init( const struct WD33C93interface *interface );
extern void wd33c93_get_dma_data(int bytes, UINT8 *pData);
extern void wd33c93_write_data(int bytes, UINT8 *pData);
extern void *wd33c93_get_device(int id);
diff --git a/src/emu/machine/z80pio.c b/src/emu/machine/z80pio.c
index 81f293b83c9..aa893e027f7 100644
--- a/src/emu/machine/z80pio.c
+++ b/src/emu/machine/z80pio.c
@@ -167,7 +167,7 @@ static void update_irq_state(z80pio *pio, int ch)
INITIALIZATION/CONFIGURATION
***************************************************************************/
-void z80pio_init(int which, z80pio_interface *intf)
+void z80pio_init(int which, const z80pio_interface *intf)
{
z80pio *pio = pios + which;
diff --git a/src/emu/machine/z80pio.h b/src/emu/machine/z80pio.h
index e699ce0de03..adfb54fb735 100644
--- a/src/emu/machine/z80pio.h
+++ b/src/emu/machine/z80pio.h
@@ -33,7 +33,7 @@ typedef struct _z80pio_interface z80pio_interface;
INITIALIZATION/CONFIGURATION
***************************************************************************/
-void z80pio_init(int which, z80pio_interface *intf);
+void z80pio_init(int which, const z80pio_interface *intf);
void z80pio_reset(int which);
diff --git a/src/emu/mame.c b/src/emu/mame.c
index 2d23eaad4e5..0934fa3ff4f 100644
--- a/src/emu/mame.c
+++ b/src/emu/mame.c
@@ -190,7 +190,7 @@ static output_callback output_cb[OUTPUT_CHANNEL_COUNT];
static void *output_cb_param[OUTPUT_CHANNEL_COUNT];
/* the "disclaimer" that should be printed when run with no parameters */
-const char *mame_disclaimer =
+const char mame_disclaimer[] =
"MAME is an emulator: it reproduces, more or less faithfully, the behaviour of\n"
"several arcade machines. But hardware is useless without software, so an image\n"
"of the ROMs which run on that hardware is required. Such ROMs, like any other\n"
@@ -200,7 +200,7 @@ const char *mame_disclaimer =
"images is a violation of copyright law and should be promptly reported to the\n"
"authors so that appropriate legal action can be taken.\n";
-const char *memory_region_names[REGION_MAX] =
+const char *const memory_region_names[REGION_MAX] =
{
"REGION_INVALID",
"REGION_CPU1",
diff --git a/src/emu/mame.h b/src/emu/mame.h
index 328ee632c8d..97b34c24990 100644
--- a/src/emu/mame.h
+++ b/src/emu/mame.h
@@ -148,7 +148,7 @@ enum
REGION_MAX
};
-extern const char *memory_region_names[REGION_MAX];
+extern const char *const memory_region_names[REGION_MAX];
@@ -249,7 +249,7 @@ struct _mame_system_time
***************************************************************************/
extern running_machine *Machine;
-extern const char *mame_disclaimer;
+extern const char mame_disclaimer[];
extern char giant_string_buffer[];
extern char build_version[];
diff --git a/src/emu/mamecore.c b/src/emu/mamecore.c
index aa3cf98c9d0..dfc2039bcc7 100644
--- a/src/emu/mamecore.c
+++ b/src/emu/mamecore.c
@@ -14,4 +14,4 @@
#include <ctype.h>
/* a giant string buffer for temporary strings */
-char giant_string_buffer[GIANT_STRING_BUFFER_SIZE];
+char giant_string_buffer[GIANT_STRING_BUFFER_SIZE] = { 0 };
diff --git a/src/emu/memory.c b/src/emu/memory.c
index eade6d00fe7..90e027382e2 100644
--- a/src/emu/memory.c
+++ b/src/emu/memory.c
@@ -243,7 +243,7 @@ struct _addrspace_data
UINT64 unmap; /* unmapped value */
table_data read; /* memory read lookup table */
table_data write; /* memory write lookup table */
- data_accessors * accessors; /* pointer to the memory accessors */
+ const data_accessors * accessors; /* pointer to the memory accessors */
address_map * map; /* original memory map */
address_map * adjmap; /* adjusted memory map */
};
@@ -300,7 +300,7 @@ static debug_hook_read_ptr debug_hook_read; /* pointer to debugger callback f
static debug_hook_write_ptr debug_hook_write; /* pointer to debugger callback for memory writes */
#endif
-static data_accessors memory_accessors[ADDRESS_SPACES][4][2] =
+static const data_accessors memory_accessors[ADDRESS_SPACES][4][2] =
{
/* program accessors */
{
@@ -363,7 +363,7 @@ static data_accessors memory_accessors[ADDRESS_SPACES][4][2] =
},
};
-const char *address_space_names[ADDRESS_SPACES] = { "program", "data", "I/O" };
+const char *const address_space_names[ADDRESS_SPACES] = { "program", "data", "I/O" };
/*-------------------------------------------------
@@ -3254,7 +3254,7 @@ static genf *get_static_handler(int databits, int readorwrite, int spacenum, int
static const char *handler_to_string(const table_data *table, UINT8 entry)
{
- static const char *strings[] =
+ static const char *const strings[] =
{
"invalid", "bank 1", "bank 2", "bank 3",
"bank 4", "bank 5", "bank 6", "bank 7",
diff --git a/src/emu/memory.h b/src/emu/memory.h
index 61f59a3d654..87a84ec5e27 100644
--- a/src/emu/memory.h
+++ b/src/emu/memory.h
@@ -591,7 +591,7 @@ struct _address_space
UINT8 * writelookup; /* write table lookup */
handler_data * readhandlers; /* read handlers */
handler_data * writehandlers; /* write handlers */
- data_accessors * accessors; /* pointers to the data access handlers */
+ const data_accessors * accessors; /* pointers to the data access handlers */
};
@@ -728,7 +728,7 @@ enum
ADDRESS_SPACES /* maximum number of address spaces */
};
-extern const char *address_space_names[ADDRESS_SPACES];
+extern const char *const address_space_names[ADDRESS_SPACES];
/* ----- address map lookup table definitions ----- */
#define SUBTABLE_COUNT 64 /* number of slots reserved for subtables */
diff --git a/src/emu/profiler.c b/src/emu/profiler.c
index 7c70ee4abc2..65bfb91648b 100644
--- a/src/emu/profiler.c
+++ b/src/emu/profiler.c
@@ -102,7 +102,7 @@ const char *profiler_get_text(void)
int i,j;
UINT64 total,normalize;
UINT64 computed;
- static const char *names[PROFILER_TOTAL] =
+ static const char *const names[PROFILER_TOTAL] =
{
"CPU 1 ",
"CPU 2 ",
diff --git a/src/emu/rendlay.c b/src/emu/rendlay.c
index 95f92443ede..04b7c6f61c8 100644
--- a/src/emu/rendlay.c
+++ b/src/emu/rendlay.c
@@ -1772,7 +1772,7 @@ static layout_view *load_layout_view(xml_data_node *viewnode, layout_element *el
/* loop over all the layer types we support */
for (layer = 0; layer < ITEM_LAYER_MAX; layer++)
{
- static const char *layer_node_name[ITEM_LAYER_MAX] = { "backdrop", "screen", "overlay", "bezel" };
+ static const char *const layer_node_name[ITEM_LAYER_MAX] = { "backdrop", "screen", "overlay", "bezel" };
xml_data_node *itemnode;
/* initialize the list */
diff --git a/src/emu/sound/c140.c b/src/emu/sound/c140.c
index 180a34b2bab..9cc4922a1e2 100644
--- a/src/emu/sound/c140.c
+++ b/src/emu/sound/c140.c
@@ -138,7 +138,7 @@ static long find_sample(struct c140_info *info, long adrs, long bank, int voice)
{
long newadr = 0;
- static INT16 asic219banks[4] = { 0x1f7, 0x1f1, 0x1f3, 0x1f5 };
+ static const INT16 asic219banks[4] = { 0x1f7, 0x1f1, 0x1f3, 0x1f5 };
adrs=(bank<<16)+adrs;
diff --git a/src/emu/sound/c6280.c b/src/emu/sound/c6280.c
index e2e01f30ddd..49dbfa011b6 100644
--- a/src/emu/sound/c6280.c
+++ b/src/emu/sound/c6280.c
@@ -214,7 +214,7 @@ static void c6280_write(c6280_t *p, int offset, int data)
static void c6280_update(void *param, stream_sample_t **inputs, stream_sample_t **buffer, int length)
{
- static int scale_tab[] = {
+ static const int scale_tab[] = {
0x00, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
0x10, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F
};
diff --git a/src/emu/sound/discrete.c b/src/emu/sound/discrete.c
index 25b3e03024b..bc6d43f979f 100644
--- a/src/emu/sound/discrete.c
+++ b/src/emu/sound/discrete.c
@@ -162,7 +162,7 @@ static void CLIB_DECL discrete_log(const char *text, ...)
*
*************************************/
-static discrete_module module_list[] =
+static const discrete_module module_list[] =
{
{ DSO_OUTPUT ,"DSO_OUTPUT" ,0 ,NULL ,NULL },
{ DSO_CSVLOG ,"DSO_CSVLOG" ,0 ,NULL ,NULL },
diff --git a/src/emu/sound/es5503.c b/src/emu/sound/es5503.c
index 86bb1a5a5f2..c804d7fab73 100644
--- a/src/emu/sound/es5503.c
+++ b/src/emu/sound/es5503.c
@@ -79,10 +79,10 @@ typedef struct
UINT32 output_rate;
} ES5503Chip;
-static UINT16 wavesizes[8] = { 256, 512, 1024, 2048, 4096, 8192, 16384, 32768 };
-static UINT32 wavemasks[8] = { 0x1ff00, 0x1fe00, 0x1fc00, 0x1f800, 0x1f000, 0x1e000, 0x1c000, 0x18000 };
-static UINT32 accmasks[8] = { 0xff, 0x1ff, 0x3ff, 0x7ff, 0xfff, 0x1fff, 0x3fff, 0x7fff };
-static int resshifts[8] = { 9, 10, 11, 12, 13, 14, 15, 16 };
+static const UINT16 wavesizes[8] = { 256, 512, 1024, 2048, 4096, 8192, 16384, 32768 };
+static const UINT32 wavemasks[8] = { 0x1ff00, 0x1fe00, 0x1fc00, 0x1f800, 0x1f000, 0x1e000, 0x1c000, 0x18000 };
+static const UINT32 accmasks[8] = { 0xff, 0x1ff, 0x3ff, 0x7ff, 0xfff, 0x1fff, 0x3fff, 0x7fff };
+static const int resshifts[8] = { 9, 10, 11, 12, 13, 14, 15, 16 };
enum
{
diff --git a/src/emu/sound/flt_rc.c b/src/emu/sound/flt_rc.c
index 0a6c864a746..5e68cbb5b1b 100644
--- a/src/emu/sound/flt_rc.c
+++ b/src/emu/sound/flt_rc.c
@@ -11,7 +11,7 @@ struct filter_rc_info
int type;
};
-flt_rc_config flt_rc_ac_default = {FLT_RC_AC, 10000, 0, 0, CAP_U(1)};
+const flt_rc_config flt_rc_ac_default = {FLT_RC_AC, 10000, 0, 0, CAP_U(1)};
static void filter_rc_update(void *param, stream_sample_t **inputs, stream_sample_t **outputs, int samples)
diff --git a/src/emu/sound/flt_rc.h b/src/emu/sound/flt_rc.h
index 189d98c3651..c8b16324df8 100644
--- a/src/emu/sound/flt_rc.h
+++ b/src/emu/sound/flt_rc.h
@@ -52,7 +52,7 @@ struct _flt_rc_config
double C;
};
-extern flt_rc_config flt_rc_ac_default;
+extern const flt_rc_config flt_rc_ac_default;
void filter_rc_set_RC(int num, int type, double R1, double R2, double R3, double C);
diff --git a/src/emu/sound/fm.c b/src/emu/sound/fm.c
index aca7d18584e..fd1e4a34ecc 100644
--- a/src/emu/sound/fm.c
+++ b/src/emu/sound/fm.c
@@ -2333,7 +2333,7 @@ typedef struct
UINT8 addr_A1; /* address line A1 */
/* ADPCM-A unit */
- UINT8 *pcmbuf; /* pcm rom buffer */
+ const UINT8 *pcmbuf; /* pcm rom buffer */
UINT32 pcm_size; /* size of pcm rom */
UINT8 adpcmTL; /* adpcmA total level */
ADPCM_CH adpcm[6]; /* adpcm channels */
@@ -2353,14 +2353,14 @@ typedef YM2610 YM2608;
#define ADPCM_SHIFT (16) /* frequency step rate */
#define ADPCMA_ADDRESS_SHIFT 8 /* adpcm A address shift */
-static UINT8 *pcmbufA;
+static const UINT8 *pcmbufA;
static UINT32 pcmsizeA;
/* Algorithm and tables verified on real YM2608 and YM2610 */
/* usual ADPCM table (16 * 1.1^N) */
-static int steps[49] =
+static const int steps[49] =
{
16, 17, 19, 21, 23, 25, 28,
31, 34, 37, 41, 45, 50, 55,
@@ -2372,7 +2372,7 @@ static int steps[49] =
};
/* different from the usual ADPCM table */
-static int step_inc[8] = { -1*16, -1*16, -1*16, -1*16, 2*16, 5*16, 7*16, 9*16 };
+static const int step_inc[8] = { -1*16, -1*16, -1*16, -1*16, 2*16, 5*16, 7*16, 9*16 };
/* speedup purposes only */
static int jedi_table[ 49*16 ];
@@ -2599,7 +2599,7 @@ static void FMsave_state_adpcma(const char *name,int num,ADPCM_CH *adpcm)
-static unsigned int YM2608_ADPCM_ROM_addr[2*6] = {
+static const unsigned int YM2608_ADPCM_ROM_addr[2*6] = {
0x0000, 0x01bf, /* bass drum */
0x01c0, 0x043f, /* snare drum */
0x0440, 0x1b7f, /* top cymbal */
@@ -2614,7 +2614,7 @@ static unsigned int YM2608_ADPCM_ROM_addr[2*6] = {
It was verified, using real YM2608, that this ADPCM stream produces 100% correct output signal.
*/
-static unsigned char YM2608_ADPCM_ROM[0x2000] = {
+static const unsigned char YM2608_ADPCM_ROM[0x2000] = {
/* Source: 01BD.ROM */
/* Length: 448 / 0x000001C0 */
@@ -4119,7 +4119,7 @@ void *YM2610Init(void *param, int index, int clock, int rate,
F2610->OPN.ST.IRQ_Handler = IRQHandler;
F2610->OPN.ST.SSG = ssg;
/* ADPCM */
- F2610->pcmbuf = (UINT8 *)pcmroma;
+ F2610->pcmbuf = (const UINT8 *)pcmroma;
F2610->pcm_size = pcmsizea;
/* DELTA-T */
F2610->deltaT.memory = (UINT8 *)pcmromb;
diff --git a/src/emu/sound/k007232.c b/src/emu/sound/k007232.c
index 53c33c346e7..3e4f609bfee 100644
--- a/src/emu/sound/k007232.c
+++ b/src/emu/sound/k007232.c
@@ -58,7 +58,7 @@ typedef struct kdacApcm
#if 0
-static int kdac_note[] = {
+static const int kdac_note[] = {
261.63/8, 277.18/8,
293.67/8, 311.13/8,
329.63/8,
@@ -70,7 +70,7 @@ static int kdac_note[] = {
523.25/8,
};
-static float kdaca_fn[][2] = {
+static const float kdaca_fn[][2] = {
/* B */
{ 0x03f, 493.88/8 }, /* ?? */
{ 0x11f, 493.88/4 }, /* ?? */
diff --git a/src/emu/sound/k053260.c b/src/emu/sound/k053260.c
index 6a6b6fc1d1a..054e281d6c6 100644
--- a/src/emu/sound/k053260.c
+++ b/src/emu/sound/k053260.c
@@ -95,7 +95,7 @@ INLINE int limit( int val, int max, int min ) {
#define MINOUT -0x8000
static void K053260_update( void * param, stream_sample_t **inputs, stream_sample_t **buffer, int length ) {
- static long dpcmcnv[] = { 0,1,2,4,8,16,32,64, -128, -64, -32, -16, -8, -4, -2, -1};
+ static const long dpcmcnv[] = { 0,1,2,4,8,16,32,64, -128, -64, -32, -16, -8, -4, -2, -1};
int i, j, lvol[4], rvol[4], play[4], loop[4], ppcm_data[4], ppcm[4];
unsigned char *rom[4];
diff --git a/src/emu/sound/k054539.c b/src/emu/sound/k054539.c
index 1d5c13a4ab9..1677ed3085b 100644
--- a/src/emu/sound/k054539.c
+++ b/src/emu/sound/k054539.c
@@ -123,7 +123,7 @@ static void K054539_update(void *param, stream_sample_t **inputs, stream_sample_
struct k054539_info *info = param;
#define VOL_CAP 1.80
- static INT16 dpcm[16] = {
+ static const INT16 dpcm[16] = {
0<<8, 1<<8, 4<<8, 9<<8, 16<<8, 25<<8, 36<<8, 49<<8,
-64<<8, -49<<8, -36<<8, -25<<8, -16<<8, -9<<8, -4<<8, -1<<8
};
@@ -368,7 +368,7 @@ else
#if CHANNEL_DEBUG
{
- static char gc_msg[32] = "chip : ";
+ static const char gc_msg[32] = "chip : ";
static int gc_active=0, gc_chip=0, gc_pos[2]={0,0};
double *gc_fptr;
char *gc_cptr;
diff --git a/src/emu/sound/msm5232.c b/src/emu/sound/msm5232.c
index 0853d38acb2..ef065e1f5ec 100644
--- a/src/emu/sound/msm5232.c
+++ b/src/emu/sound/msm5232.c
@@ -179,8 +179,8 @@ static void msm5232_init_tables( MSM5232 *chip )
#if 0
{
/* rate tables (in miliseconds) */
- static int ATBL[8] = { 2,4,8,16, 32,64, 32,64};
- static int DTBL[16]= { 40,80,160,320, 640,1280, 640,1280,
+ static const int ATBL[8] = { 2,4,8,16, 32,64, 32,64};
+ static const int DTBL[16]= { 40,80,160,320, 640,1280, 640,1280,
333,500,1000,2000, 4000,8000, 4000,8000};
for (i=0; i<8; i++)
{
diff --git a/src/emu/sound/multipcm.c b/src/emu/sound/multipcm.c
index 414d7681a0f..8310235d0a9 100644
--- a/src/emu/sound/multipcm.c
+++ b/src/emu/sound/multipcm.c
@@ -35,7 +35,7 @@
#define MULTIPCM_CLOCKDIV (360.0)
#define MULTIPCM_ONE (18)
-static int ctbl[] =
+static const int ctbl[] =
{
0, 1, 2, 3, 4, 5, 6 , -1, // voice number mapping
7, 8, 9, 10,11,12,13, -1,
@@ -43,7 +43,7 @@ static int ctbl[] =
21,22,23,24,25,26,27, -1,
};
-static int decaytbl[16] = // decay times
+static const int decaytbl[16] = // decay times
{
0, 300, 800, 1400,
2100, 3000, 4000, 5200,
diff --git a/src/emu/sound/okim6295.c b/src/emu/sound/okim6295.c
index 6b42a68e020..119897c6409 100644
--- a/src/emu/sound/okim6295.c
+++ b/src/emu/sound/okim6295.c
@@ -86,7 +86,7 @@ const struct OKIM6295interface okim6295_interface_region_4_pin7low = { REGION_SO
static void compute_tables(void)
{
/* nibble to bit map */
- static int nbl2bit[16][4] =
+ static const int nbl2bit[16][4] =
{
{ 1, 0, 0, 0}, { 1, 0, 0, 1}, { 1, 0, 1, 0}, { 1, 0, 1, 1},
{ 1, 1, 0, 0}, { 1, 1, 0, 1}, { 1, 1, 1, 0}, { 1, 1, 1, 1},
diff --git a/src/emu/sound/s14001a.c b/src/emu/sound/s14001a.c
index 306b537db8d..7e50a5b5d1b 100644
--- a/src/emu/sound/s14001a.c
+++ b/src/emu/sound/s14001a.c
@@ -172,7 +172,7 @@ typedef struct
#define REPEATCOUNT ((chip->PlayParams<<1)&0x6) // remember: its 3 bits and the bottom bit is always zero!
#define LOCALSILENCESTATE ((chip->OutputCounter & 0x2) && (MIRRORMODE)) // 1 when silent output, 0 when DAC output.
-static INT8 DeltaTable[4][4] =
+static const INT8 DeltaTable[4][4] =
{
{ 0xCD, 0xCD, 0xEF, 0xEF, },
{ 0xEF, 0xEF, 0x00, 0x00, },
diff --git a/src/emu/sound/scsp.c b/src/emu/sound/scsp.c
index a24ed931946..542c53a448a 100644
--- a/src/emu/sound/scsp.c
+++ b/src/emu/sound/scsp.c
@@ -411,6 +411,8 @@ static int EG_Update(struct _SLOT *slot)
break;
case DECAY1:
slot->EG.volume-=slot->EG.D1R;
+ if(slot->EG.volume<=0)
+ slot->EG.volume=0;
if(slot->EG.volume>>(EG_SHIFT+5)<slot->EG.DL)
slot->EG.state=DECAY2;
break;
@@ -1063,7 +1065,7 @@ SCSPTMPL(1,1,1,3)
typedef void (*_SCSPUpdateModes)(struct _SCSP *,struct _SLOT *,unsigned int,unsigned int);
-static _SCSPUpdateModes SCSPUpdateModes[]=
+static const _SCSPUpdateModes SCSPUpdateModes[]=
{
SCSPTMPL(0,0,0,0)
SCSPTMPL(0,0,0,1)
@@ -1225,18 +1227,18 @@ INLINE INT32 SCSP_UpdateSlot(struct _SCSP *SCSP, struct _SLOT *slot)
switch(LPCTL(slot))
{
case 0: //no loop
- if(addr>LEA(slot))
+ if(addr>=LEA(slot))
{
//slot->active=0;
SCSP_StopSlot(slot,0);
}
break;
case 1: //normal loop
- if(addr>LEA(slot))
+ if(addr>=LEA(slot))
slot->cur_addr=LSA(slot)<<SHIFT;
break;
case 2: //reverse loop
- if(addr>LEA(slot))
+ if(addr>=LEA(slot))
{
slot->cur_addr=LEA(slot)<<SHIFT;
slot->Backwards=1;
@@ -1245,7 +1247,7 @@ INLINE INT32 SCSP_UpdateSlot(struct _SCSP *SCSP, struct _SLOT *slot)
slot->cur_addr=LEA(slot)<<SHIFT;
break;
case 3: //ping-pong
- if(addr>LEA(slot)) //reached end, reverse till start
+ if(addr>=LEA(slot)) //reached end, reverse till start
{
slot->cur_addr=LEA(slot)<<SHIFT;
slot->Backwards=1;
@@ -1302,12 +1304,13 @@ static void SCSP_DoMasterSamples(struct _SCSP *SCSP, int nsamples)
++SCSP->BUFPTR;
SCSP->BUFPTR&=63;
#ifdef USEDSP
- SCSPDSP_SetSample(&SCSP->DSP,sample>>SHIFT,ISEL(slot),IMXL(slot));
+ Enc=((TL(slot))<<0x0)|((IMXL(slot))<<0xd);
+ SCSPDSP_SetSample(&SCSP->DSP,(sample*SCSP->LPANTABLE[Enc])>>SHIFT,ISEL(slot),IMXL(slot));
#endif
Enc=((TL(slot))<<0x0)|((DIPAN(slot))<<0x8)|((DISDL(slot))<<0xd);
{
- smpl+=(sample*SCSP->LPANTABLE[Enc])>>SHIFT;
- smpr+=(sample*SCSP->RPANTABLE[Enc])>>SHIFT;
+ smpl+=(sample*SCSP->LPANTABLE[Enc])>>SHIFT;
+ smpr+=(sample*SCSP->RPANTABLE[Enc])>>SHIFT;
}
}
@@ -1320,14 +1323,14 @@ static void SCSP_DoMasterSamples(struct _SCSP *SCSP, int nsamples)
struct _SLOT *slot=SCSP->Slots+i;
if(EFSDL(slot))
{
- unsigned short Enc=(TL(slot))|((EFPAN(slot))<<0x8)|((EFSDL(slot))<<0xd);
- smpl+=(SCSP->DSP.EFREG[i]*SCSP->LPANTABLE[Enc])>>(SHIFT-4);
- smpr+=(SCSP->DSP.EFREG[i]*SCSP->RPANTABLE[Enc])>>(SHIFT-4);
+ unsigned short Enc=((EFPAN(slot))<<0x8)|((EFSDL(slot))<<0xd);
+ smpl+=(SCSP->DSP.EFREG[i]*SCSP->LPANTABLE[Enc])>>SHIFT;
+ smpr+=(SCSP->DSP.EFREG[i]*SCSP->RPANTABLE[Enc])>>SHIFT;
}
}
- *bufl++ = ICLIP16(smpl>>4);
- *bufr++ = ICLIP16(smpr>>4);
+ *bufl++ = ICLIP16(smpl>>2);
+ *bufr++ = ICLIP16(smpr>>2);
}
}
#endif
diff --git a/src/emu/sound/scspdsp.c b/src/emu/sound/scspdsp.c
index 9a417c47443..bb30dd376be 100644
--- a/src/emu/sound/scspdsp.c
+++ b/src/emu/sound/scspdsp.c
@@ -6,19 +6,49 @@
static UINT16 PACK(INT32 val)
{
- //cut to 16 bits
- INT32 f=((UINT32 ) val)>>8;
- return f;
+ UINT32 temp;
+ int sign,exponent,k;
+
+ sign = (val >> 23) & 0x1;
+ temp = (val ^ (val << 1)) & 0xFFFFFF;
+ exponent = 0;
+ for (k=0; k<12; k++)
+ {
+ if (temp & 0x800000)
+ break;
+ temp <<= 1;
+ exponent += 1;
+ }
+ if (exponent < 12)
+ val = (val << exponent) & 0x3FFFFF;
+ else
+ val <<= 11;
+ val >>= 11;
+ val |= sign << 15;
+ val |= exponent << 11;
+
+ return (UINT16)val;
}
static INT32 UNPACK(UINT16 val)
{
- INT32 r=val<<8;
- r<<=8;
- r>>=8;
- //if(r&0x00800000)
- // r|=0xFF000000;
- return r;
+ int sign,exponent,mantissa;
+ INT32 uval;
+
+ sign = (val >> 15) & 0x1;
+ exponent = (val >> 11) & 0xF;
+ mantissa = val & 0x7FF;
+ uval = mantissa << 11;
+ if (exponent > 11)
+ exponent = 11;
+ else
+ uval |= (sign ^ 1) << 22;
+ uval |= sign << 23;
+ uval <<= 8;
+ uval >>= 8;
+ uval >>= exponent;
+
+ return uval;
}
void SCSPDSP_Init(struct _SCSPDSP *DSP)
@@ -125,7 +155,7 @@ void SCSPDSP_Step(struct _SCSPDSP *DSP)
if(IRA<=0x1f)
INPUTS=DSP->MEMS[IRA];
else if(IRA<=0x2F)
- INPUTS=DSP->MIXS[IRA-0x20]<<8; //MIXS is 16 bit
+ INPUTS=DSP->MIXS[IRA-0x20]<<4; //MIXS is 20 bit
else if(IRA<=0x31)
INPUTS=0;
@@ -298,7 +328,7 @@ void SCSPDSP_Step(struct _SCSPDSP *DSP)
void SCSPDSP_SetSample(struct _SCSPDSP *DSP,INT32 sample,int SEL,int MXL)
{
//DSP->MIXS[SEL]+=sample<<(MXL+1)/*7*/;
- DSP->MIXS[SEL]+=sample<<7;
+ DSP->MIXS[SEL]+=sample;
// if(MXL)
// int a=1;
}
diff --git a/src/emu/sound/scsplfo.c b/src/emu/sound/scsplfo.c
index dc9dcca674c..01023a4ba82 100644
--- a/src/emu/sound/scsplfo.c
+++ b/src/emu/sound/scsplfo.c
@@ -28,10 +28,10 @@ struct _LFO
static int PLFO_TRI[256],PLFO_SQR[256],PLFO_SAW[256],PLFO_NOI[256];
static int ALFO_TRI[256],ALFO_SQR[256],ALFO_SAW[256],ALFO_NOI[256];
-static float LFOFreq[32]={0.17,0.19,0.23,0.27,0.34,0.39,0.45,0.55,0.68,0.78,0.92,1.10,1.39,1.60,1.87,2.27,
+static const float LFOFreq[32]={0.17,0.19,0.23,0.27,0.34,0.39,0.45,0.55,0.68,0.78,0.92,1.10,1.39,1.60,1.87,2.27,
2.87,3.31,3.92,4.79,6.15,7.18,8.60,10.8,14.4,17.2,21.5,28.7,43.1,57.4,86.1,172.3};
-static float ASCALE[8]={0.0,0.4,0.8,1.5,3.0,6.0,12.0,24.0};
-static float PSCALE[8]={0.0,7.0,13.5,27.0,55.0,112.0,230.0,494};
+static const float ASCALE[8]={0.0,0.4,0.8,1.5,3.0,6.0,12.0,24.0};
+static const float PSCALE[8]={0.0,7.0,13.5,27.0,55.0,112.0,230.0,494};
static int PSCALES[8][256];
static int ASCALES[8][256];
@@ -47,7 +47,7 @@ static void LFO_Init(void)
if(i<128)
p=i;
else
- p=255-i;
+ p=i-256;
ALFO_SAW[i]=a;
PLFO_SAW[i]=p;
diff --git a/src/emu/sound/side6581.h b/src/emu/sound/side6581.h
index 8e2a5b8e829..149f5e24edf 100644
--- a/src/emu/sound/side6581.h
+++ b/src/emu/sound/side6581.h
@@ -11,7 +11,7 @@
// C64 C PAL, MOS 6581R4 1686 S
//
-static UINT8 releaseTab[] =
+static const UINT8 releaseTab[] =
{
255, 255, 254, 254, 253, 253, 252, 252, 251, 251, 250, 250, 249, 249, 248,
248, 247, 247, 246, 246, 245, 245, 244, 244, 243, 243, 242, 242, 241, 241,
diff --git a/src/emu/sound/sidenvel.c b/src/emu/sound/sidenvel.c
index 2958b8a9b24..a042f303baa 100644
--- a/src/emu/sound/sidenvel.c
+++ b/src/emu/sound/sidenvel.c
@@ -46,7 +46,7 @@ const UINT8 masterVolumeLevels[16] =
static UINT16 masterAmplModTable[16*256];
-static float attackTimes[16] =
+static const float attackTimes[16] =
{
/* milliseconds */
#if defined(SID_REFTIMES)
@@ -60,7 +60,7 @@ static float attackTimes[16] =
#endif
};
-static float decayReleaseTimes[16] =
+static const float decayReleaseTimes[16] =
{
/* milliseconds */
#if defined(SID_REFTIMES)
diff --git a/src/emu/sound/sidw6581.h b/src/emu/sound/sidw6581.h
index c18445a3f10..d66bf58d85c 100644
--- a/src/emu/sound/sidw6581.h
+++ b/src/emu/sound/sidw6581.h
@@ -8,7 +8,7 @@
* Copyright (C) 1998 Dag Lem <resid@nimrod.no>
*/
-static UINT8 waveform30_6581[4096] =
+static const UINT8 waveform30_6581[4096] =
{
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
@@ -268,7 +268,7 @@ static UINT8 waveform30_6581[4096] =
0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3e,0x3e,0x3f,0x3f,0x7f,0x7f,0x7f,0x7f
};
-static UINT8 waveform50_6581[4096+4096] =
+static const UINT8 waveform50_6581[4096+4096] =
{
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
@@ -528,7 +528,7 @@ static UINT8 waveform50_6581[4096+4096] =
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
};
-static UINT8 waveform60_6581[4096+4096] =
+static const UINT8 waveform60_6581[4096+4096] =
{
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
@@ -788,7 +788,7 @@ static UINT8 waveform60_6581[4096+4096] =
0x70,0x7c,0x7c,0x7f,0x7c,0x7f,0x7f,0x7f,0x7e,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f
};
-static UINT8 waveform70_6581[4096+4096] =
+static const UINT8 waveform70_6581[4096+4096] =
{
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
diff --git a/src/emu/sound/sidw8580.h b/src/emu/sound/sidw8580.h
index 226d2e18b34..033d550c228 100644
--- a/src/emu/sound/sidw8580.h
+++ b/src/emu/sound/sidw8580.h
@@ -7,7 +7,7 @@
* Created with Deadman's Raw Data to C Header converter
*/
-static UINT8 waveform30_8580[4096] =
+static const UINT8 waveform30_8580[4096] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
@@ -353,7 +353,7 @@ static UINT8 waveform30_8580[4096] =
0xff,0xff,0xff,0xff
};
-static UINT8 waveform50_8580[4096+4096] =
+static const UINT8 waveform50_8580[4096+4096] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
@@ -699,7 +699,7 @@ static UINT8 waveform50_8580[4096+4096] =
0x00,0x00,0x00,0x00
};
-static UINT8 waveform60_8580[4096+4096] =
+static const UINT8 waveform60_8580[4096+4096] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
@@ -1045,7 +1045,7 @@ static UINT8 waveform60_8580[4096+4096] =
0xff,0xff,0xff,0xff
};
-static UINT8 waveform70_8580[4096+4096] =
+static const UINT8 waveform70_8580[4096+4096] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
diff --git a/src/emu/sound/sn76477.c b/src/emu/sound/sn76477.c
index 34db6ea018e..a9a25eac9f3 100644
--- a/src/emu/sound/sn76477.c
+++ b/src/emu/sound/sn76477.c
@@ -643,7 +643,7 @@ static double compute_center_to_peak_voltage_out(struct SN76477 *sn)
static void log_enable_line(struct SN76477 *sn)
{
#if VERBOSE
- static const char *desc[] =
+ static const char *const desc[] =
{
"Enabled", "Inhibited"
};
diff --git a/src/emu/sound/sp0256.c b/src/emu/sound/sp0256.c
index 67b34e621f7..22762080ba2 100644
--- a/src/emu/sound/sp0256.c
+++ b/src/emu/sound/sp0256.c
@@ -283,7 +283,7 @@ static int lpc12_update(struct lpc12_t *f, int num_samp, INT16 *out, UINT32 *opt
return i;
}
-static int stage_map[6] = { 0, 1, 2, 3, 4, 5 };
+static const int stage_map[6] = { 0, 1, 2, 3, 4, 5 };
/* ======================================================================== */
/* LPC12_REGDEC -- Decode the register set in the filter bank. */
diff --git a/src/emu/sound/speaker.c b/src/emu/sound/speaker.c
index 4fba85bb5e3..fe5277cb56e 100644
--- a/src/emu/sound/speaker.c
+++ b/src/emu/sound/speaker.c
@@ -11,12 +11,12 @@
#include "streams.h"
#include "speaker.h"
-static INT16 default_levels[2] = {0,32767};
+static const INT16 default_levels[2] = {0,32767};
struct speaker
{
sound_stream *channel;
- INT16 *levels;
+ const INT16 *levels;
int num_levels;
int level;
};
diff --git a/src/emu/sound/tms3615.c b/src/emu/sound/tms3615.c
index 46225348ccd..1b3212627e6 100644
--- a/src/emu/sound/tms3615.c
+++ b/src/emu/sound/tms3615.c
@@ -7,7 +7,7 @@
#define TONES 13
-static int divisor[TONES] = { 478, 451, 426, 402, 379, 358, 338, 319, 301, 284, 268, 253, 239 };
+static const int divisor[TONES] = { 478, 451, 426, 402, 379, 358, 338, 319, 301, 284, 268, 253, 239 };
struct TMS3615 {
sound_stream *channel; /* returned by stream_create() */
diff --git a/src/emu/sound/tms36xx.c b/src/emu/sound/tms36xx.c
index 911e929e08b..250634bb826 100644
--- a/src/emu/sound/tms36xx.c
+++ b/src/emu/sound/tms36xx.c
@@ -301,7 +301,7 @@ static const int tune4[13*6] = {
B(1), B(2), Dx(3), B(3), Dx(4), B(4)
};
-static const int *tunes[] = {NULL,tune1,tune2,tune3,tune4};
+static const int *const tunes[] = {NULL,tune1,tune2,tune3,tune4};
#define DECAY(voice) \
if( tms->vol[voice] > VMIN ) \
diff --git a/src/emu/sound/tms5110.c b/src/emu/sound/tms5110.c
index a1e3ee5131c..96ceea772b7 100644
--- a/src/emu/sound/tms5110.c
+++ b/src/emu/sound/tms5110.c
@@ -709,7 +709,7 @@ static void parse_frame(struct tms5110 *tms)
#if 0
/*This is an example word TEN taken from the TMS5110A datasheet*/
-static unsigned int example_word_TEN[619]={
+static const unsigned int example_word_TEN[619]={
/* 1*/1,0,0,0, 0, 0,0,0,0,0, 1,1,0,0,0, 0,0,0,1,0, 0,1,1,1, 0,1,0,1,
/* 2*/1,0,0,0, 0, 0,0,0,0,0, 1,0,0,1,0, 0,0,1,1,0, 0,0,1,1, 0,1,0,1,
/* 3*/1,1,0,0, 0, 1,0,0,0,0, 1,0,1,0,0, 0,1,0,1,0, 0,1,0,0, 1,0,1,0, 1,0,0,0, 1,0,0,1, 0,1,0,1, 0,0,1, 0,1,0, 0,1,1,
diff --git a/src/emu/sound/tms5220r.c b/src/emu/sound/tms5220r.c
index e373dd045ec..c3d47f04e21 100644
--- a/src/emu/sound/tms5220r.c
+++ b/src/emu/sound/tms5220r.c
@@ -83,7 +83,7 @@ const static short k10table [0x08]={
/* chirp table */
-static char chirptable[51]={
+static const char chirptable[51]={
0x00, 0x2a, (char)0xd4, 0x32,
(char)0xb2, 0x12, 0x25, 0x14,
0x02, (char)0xe1, (char)0xc5, 0x02,
@@ -101,7 +101,7 @@ static char chirptable[51]={
/* interpolation coefficients (in rightshifts, as in actual chip) */
-static char interp_coeff[8] = {
+static const char interp_coeff[8] = {
3, 3, 3, 2, 2, 1, 1, 0
};
diff --git a/src/emu/sound/vlm5030.c b/src/emu/sound/vlm5030.c
index 9d1ea3eef1e..303c2dda0da 100644
--- a/src/emu/sound/vlm5030.c
+++ b/src/emu/sound/vlm5030.c
@@ -174,7 +174,7 @@ static const char VLM_NAME[] = "VLM5030";
/* This is the energy lookup table */
/* sampled from real chip */
-static unsigned short energytable[0x20] =
+static const unsigned short energytable[0x20] =
{
0, 2, 4, 6, 10, 12, 14, 18, /* 0-7 */
22, 26, 30, 34, 38, 44, 48, 54, /* 8-15 */
diff --git a/src/emu/sound/ym2151.c b/src/emu/sound/ym2151.c
index 063cfcc7477..5180db44620 100644
--- a/src/emu/sound/ym2151.c
+++ b/src/emu/sound/ym2151.c
@@ -229,7 +229,7 @@ static UINT32 d1l_tab[16];
#define RATE_STEPS (8)
-static UINT8 eg_inc[19*RATE_STEPS]={
+static const UINT8 eg_inc[19*RATE_STEPS]={
/*cycle:0 1 2 3 4 5 6 7*/
@@ -262,7 +262,7 @@ static UINT8 eg_inc[19*RATE_STEPS]={
#define O(a) (a*RATE_STEPS)
/*note that there is no O(17) in this table - it's directly in the code */
-static UINT8 eg_rate_select[32+64+32]={ /* Envelope Generator rates (32 + 64 rates + 32 RKS) */
+static const UINT8 eg_rate_select[32+64+32]={ /* Envelope Generator rates (32 + 64 rates + 32 RKS) */
/* 32 dummy (infinite time) rates */
O(18),O(18),O(18),O(18),O(18),O(18),O(18),O(18),
O(18),O(18),O(18),O(18),O(18),O(18),O(18),O(18),
@@ -309,7 +309,7 @@ O(16),O(16),O(16),O(16),O(16),O(16),O(16),O(16)
/*mask 2047, 1023, 511, 255, 127, 63, 31, 15, 7, 3, 1, 0, 0, 0, 0, 0 */
#define O(a) (a*1)
-static UINT8 eg_rate_shift[32+64+32]={ /* Envelope Generator counter shifts (32 + 64 rates + 32 RKS) */
+static const UINT8 eg_rate_shift[32+64+32]={ /* Envelope Generator counter shifts (32 + 64 rates + 32 RKS) */
/* 32 infinite time rates */
O(0),O(0),O(0),O(0),O(0),O(0),O(0),O(0),
O(0),O(0),O(0),O(0),O(0),O(0),O(0),O(0),
@@ -362,14 +362,14 @@ O( 0),O( 0),O( 0),O( 0),O( 0),O( 0),O( 0),O( 0)
* DT2=0 DT2=1 DT2=2 DT2=3
* 0 600 781 950
*/
-static UINT32 dt2_tab[4] = { 0, 384, 500, 608 };
+static const UINT32 dt2_tab[4] = { 0, 384, 500, 608 };
/* DT1 defines offset in Hertz from base note
* This table is converted while initialization...
* Detune table shown in YM2151 User's Manual is wrong (verified on the real chip)
*/
-static UINT8 dt1_tab[4*32] = { /* 4*32 DT1 values */
+static const UINT8 dt1_tab[4*32] = { /* 4*32 DT1 values */
/* DT1=0 */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -387,7 +387,7 @@ static UINT8 dt1_tab[4*32] = { /* 4*32 DT1 values */
8, 8, 9,10,11,12,13,14,16,17,19,20,22,22,22,22
};
-static UINT16 phaseinc_rom[768]={
+static const UINT16 phaseinc_rom[768]={
1299,1300,1301,1302,1303,1304,1305,1306,1308,1309,1310,1311,1313,1314,1315,1316,
1318,1319,1320,1321,1322,1323,1324,1325,1327,1328,1329,1330,1332,1333,1334,1335,
1337,1338,1339,1340,1341,1342,1343,1344,1346,1347,1348,1349,1351,1352,1353,1354,
@@ -457,7 +457,7 @@ static UINT16 phaseinc_rom[768]={
some 0x80 could be 0x81 as well as some 0x00 could be 0x01.
*/
-static UINT8 lfo_noise_waveform[256] = {
+static const UINT8 lfo_noise_waveform[256] = {
0xFF,0xEE,0xD3,0x80,0x58,0xDA,0x7F,0x94,0x9E,0xE3,0xFA,0x00,0x4D,0xFA,0xFF,0x6A,
0x7A,0xDE,0x49,0xF6,0x00,0x33,0xBB,0x63,0x91,0x60,0x51,0xFF,0x00,0xD8,0x7F,0xDE,
0xDC,0x73,0x21,0x85,0xB2,0x9C,0x5D,0x24,0xCD,0x91,0x9E,0x76,0x7F,0x20,0xFB,0xF3,
diff --git a/src/emu/sound/ym2413.c b/src/emu/sound/ym2413.c
index f4d65b2263a..d688829c2c0 100644
--- a/src/emu/sound/ym2413.c
+++ b/src/emu/sound/ym2413.c
@@ -557,7 +557,7 @@ static const INT8 lfo_pm_table[8*8] = {
- waveform DC and DM select are 100% correct
*/
-static unsigned char table[19][8] = {
+static const unsigned char table[19][8] = {
/* MULT MULT modTL DcDmFb AR/DR AR/DR SL/RR SL/RR */
/* 0 1 2 3 4 5 6 7 */
{0x49, 0x4c, 0x4c, 0x12, 0x00, 0x00, 0x00, 0x00 }, //0
diff --git a/src/emu/sound/ymdeltat.c b/src/emu/sound/ymdeltat.c
index 2c91a0ca066..f37a6cacaf5 100644
--- a/src/emu/sound/ymdeltat.c
+++ b/src/emu/sound/ymdeltat.c
@@ -151,7 +151,7 @@ UINT8 YM_DELTAT_ADPCM_Read(YM_DELTAT *DELTAT)
/* 0-DRAM x1, 1-ROM, 2-DRAM x8, 3-ROM (3 is bad setting - not allowed by the manual) */
-static UINT8 dram_rightshift[4]={3,0,0,0};
+static const UINT8 dram_rightshift[4]={3,0,0,0};
/* DELTA-T ADPCM write register */
void YM_DELTAT_ADPCM_Write(YM_DELTAT *DELTAT,int r,int v)
diff --git a/src/emu/sound/ymz280b.c b/src/emu/sound/ymz280b.c
index 3af8405b342..ddd9acb3376 100644
--- a/src/emu/sound/ymz280b.c
+++ b/src/emu/sound/ymz280b.c
@@ -117,7 +117,7 @@ static TIMER_CALLBACK( update_irq_state_timer_5 );
static TIMER_CALLBACK( update_irq_state_timer_6 );
static TIMER_CALLBACK( update_irq_state_timer_7 );
-static timer_callback update_irq_state_cb[] =
+static const timer_callback update_irq_state_cb[] =
{
update_irq_state_timer_0,
update_irq_state_timer_1,
diff --git a/src/emu/state.c b/src/emu/state.c
index 9b4159f82a5..a0c7073e9e0 100644
--- a/src/emu/state.c
+++ b/src/emu/state.c
@@ -135,7 +135,7 @@ static void ss_c2(UINT8 *, UINT32);
static void ss_c4(UINT8 *, UINT32);
static void ss_c8(UINT8 *, UINT32);
-static void (*ss_conv[])(UINT8 *, UINT32) = { 0, 0, ss_c2, 0, ss_c4, 0, 0, 0, ss_c8 };
+static void (*const ss_conv[])(UINT8 *, UINT32) = { 0, 0, ss_c2, 0, ss_c4, 0, 0, 0, ss_c8 };
diff --git a/src/emu/ui.c b/src/emu/ui.c
index adbef791c1c..2f6a630b09f 100644
--- a/src/emu/ui.c
+++ b/src/emu/ui.c
@@ -1134,13 +1134,16 @@ int sprintf_game_info(char *buffer)
bufptr += sprintf(bufptr, "\n%s\n", ui_getstring(UI_vectorgame));
/* display screen resolution and refresh rate info for raster games */
- else
+ else if (Machine->drv->video_attributes & VIDEO_TYPE_RASTER)
bufptr += sprintf(bufptr,"\n%s:\n%d " UTF8_MULTIPLY " %d (%s) %f" UTF8_NBSP "Hz\n",
ui_getstring(UI_screenres),
Machine->screen[0].visarea.max_x - Machine->screen[0].visarea.min_x + 1,
Machine->screen[0].visarea.max_y - Machine->screen[0].visarea.min_y + 1,
(Machine->gamedrv->flags & ORIENTATION_SWAP_XY) ? "V" : "H",
ATTOSECONDS_TO_HZ(Machine->screen[0].refresh));
+ else
+ *bufptr++ = '\0';
+
return bufptr - buffer;
}
diff --git a/src/emu/uimenu.c b/src/emu/uimenu.c
index 4f1aeaf7e0d..34cd685a7df 100644
--- a/src/emu/uimenu.c
+++ b/src/emu/uimenu.c
@@ -130,7 +130,7 @@ static render_texture *hilight_texture;
static render_texture *arrow_texture;
-static const char *input_format[] =
+static const char *const input_format[] =
{
"%s",
"%s Analog",
@@ -1891,7 +1891,7 @@ static int input_menu_get_game_items(input_item_data *itemlist)
((in->type == IPT_OTHER && in->name != IP_NAME_DEFAULT) || port_type_to_group(in->type, in->player) != IPG_INVALID))
{
UINT16 sortorder;
- input_seq *curseq, *defseq;
+ const input_seq *curseq, *defseq;
/* determine the sorting order */
if (in->type >= IPT_START1 && in->type <= __ipt_analog_end)
diff --git a/src/emu/uitext.c b/src/emu/uitext.c
index 62e4b9abe7b..8d3a0f8cb4a 100644
--- a/src/emu/uitext.c
+++ b/src/emu/uitext.c
@@ -21,7 +21,7 @@ extern const char *mess_default_text[];
static lang_struct lang;
/* All entries in this table must match the enum ordering in "uitext.h" */
-static const char *mame_default_text[] =
+static const char *const mame_default_text[] =
{
APPNAME,
/* copyright stuff */
@@ -215,7 +215,7 @@ static const char *mame_default_text[] =
-static const char **default_text[] =
+static const char *const *const default_text[] =
{
mame_default_text,
#ifdef MESS
diff --git a/src/emu/validity.c b/src/emu/validity.c
index faa37b60768..633e4f3f6c3 100644
--- a/src/emu/validity.c
+++ b/src/emu/validity.c
@@ -654,7 +654,7 @@ static int validate_cpu(int drivnum, const machine_config *drv, const UINT32 *re
{
#define SPACE_SHIFT(a) ((addr_shift < 0) ? ((a) << -addr_shift) : ((a) >> addr_shift))
#define SPACE_SHIFT_END(a) ((addr_shift < 0) ? (((a) << -addr_shift) | ((1 << -addr_shift) - 1)) : ((a) >> addr_shift))
- static const char *spacename[] = { "program", "data", "I/O" };
+ static const char *const spacename[] = { "program", "data", "I/O" };
int databus_width = cputype_databus_width(cpu->type, spacenum);
int addr_shift = cputype_addrbus_shift(cpu->type, spacenum);
int alignunit = databus_width/8;
diff --git a/src/emu/video.c b/src/emu/video.c
index f89b961ed89..fd7324c785c 100644
--- a/src/emu/video.c
+++ b/src/emu/video.c
@@ -121,6 +121,7 @@ struct _video_global
UINT32 speed; /* overall speed (*100) */
UINT32 original_speed; /* originally-specified speed */
UINT8 refresh_speed; /* flag: TRUE if we max out our speed according to the refresh */
+ UINT8 update_in_pause; /* flag: TRUE if video is updated while in pause */
/* frameskipping */
UINT8 empty_skip_count; /* number of empty frames we have skipped */
@@ -284,6 +285,7 @@ void video_init(running_machine *machine)
global.seconds_to_run = options_get_int(mame_options(), OPTION_SECONDS_TO_RUN);
global.original_speed = global.speed = (options_get_float(mame_options(), OPTION_SPEED) * 100.0 + 0.5);
global.refresh_speed = options_get_bool(mame_options(), OPTION_REFRESHSPEED);
+ global.update_in_pause = options_get_bool(mame_options(), OPTION_UPDATEINPAUSE);
/* allocate memory for our private data */
viddata = machine->video_data = auto_malloc(sizeof(*viddata));
@@ -1023,11 +1025,7 @@ void video_frame_update(int debug)
int phase = mame_get_phase(Machine);
/* only render sound and video if we're in the running phase */
-#ifdef MAME_DEBUG
- if (phase == MAME_PHASE_RUNNING)
-#else
- if (phase == MAME_PHASE_RUNNING && (debug || !mame_is_paused(Machine)))
-#endif
+ if (phase == MAME_PHASE_RUNNING && (!mame_is_paused(Machine) || global.update_in_pause))
{
int anything_changed = finish_screen_updates(Machine);
@@ -1522,6 +1520,7 @@ static osd_ticks_t throttle_until_ticks(osd_ticks_t target_ticks)
}
current_ticks = new_ticks;
}
+ profiler_mark(PROFILER_END);
return current_ticks;
}
@@ -1864,6 +1863,7 @@ static void movie_record_frame(running_machine *machine, int scrnum)
{
video_private *viddata = machine->video_data;
internal_screen_info *info = &viddata->scrinfo[scrnum];
+ const rgb_t *palette;
/* only record if we have a file */
if (info->movie_file != NULL)
@@ -1901,7 +1901,8 @@ static void movie_record_frame(running_machine *machine, int scrnum)
}
/* write the next frame */
- error = mng_capture_frame(mame_core_file(info->movie_file), &pnginfo, bitmap, machine->drv->total_colors, palette_entry_list_adjusted(machine->palette));
+ palette = (machine->palette != NULL) ? palette_entry_list_adjusted(machine->palette) : NULL;
+ error = mng_capture_frame(mame_core_file(info->movie_file), &pnginfo, bitmap, machine->drv->total_colors, palette);
png_free(&pnginfo);
if (error != PNGERR_NONE)
{
diff --git a/src/emu/video/rgbutil.h b/src/emu/video/rgbutil.h
index d3c94496976..43821682963 100644
--- a/src/emu/video/rgbutil.h
+++ b/src/emu/video/rgbutil.h
@@ -14,7 +14,7 @@
#define __RGBUTIL__
/* use SSE on 64-bit implementations, where it can be assumed */
-#if defined(__SSE2__) || (defined(PTR64) && defined(_MSC_VER))
+#if (defined(__SSE2__) && defined(PTR64))
#include "rgbsse.h"
#elif defined(__ALTIVEC__)
#include "rgbvmx.h"
diff --git a/src/emu/video/s2636.c b/src/emu/video/s2636.c
index 664399e4834..baff57f0a8e 100644
--- a/src/emu/video/s2636.c
+++ b/src/emu/video/s2636.c
@@ -76,7 +76,7 @@
#include "driver.h"
#include "s2636.h"
-static int SpriteOffset[4] = {0,0x10,0x20,0x40};
+static const int SpriteOffset[4] = {0,0x10,0x20,0x40};
/* To adjust sprites against bitmap */
diff --git a/src/emu/video/tms34061.c b/src/emu/video/tms34061.c
index f601842cd1d..9f7a6ff4a16 100644
--- a/src/emu/video/tms34061.c
+++ b/src/emu/video/tms34061.c
@@ -47,7 +47,7 @@ struct tms34061_data
static struct tms34061_data tms34061;
-static const char *regnames[] =
+static const char *const regnames[] =
{
"HORENDSYNC", "HORENDBLNK", "HORSTARTBLNK", "HORTOTAL",
"VERENDSYNC", "VERENDBLNK", "VERSTARTBLNK", "VERTOTAL",
@@ -74,7 +74,7 @@ static TIMER_CALLBACK( tms34061_interrupt );
*
*************************************/
-void tms34061_start(struct tms34061_interface *interface)
+void tms34061_start(const struct tms34061_interface *interface)
{
/* reset the data */
memset(&tms34061, 0, sizeof(tms34061));
diff --git a/src/emu/video/tms34061.h b/src/emu/video/tms34061.h
index 9ff83a8eb6a..fb3dc6c04e7 100644
--- a/src/emu/video/tms34061.h
+++ b/src/emu/video/tms34061.h
@@ -56,7 +56,7 @@ struct tms34061_display
/* starts/stops the emulator */
-void tms34061_start(struct tms34061_interface *interface);
+void tms34061_start(const struct tms34061_interface *interface);
/* reads/writes to the 34061 */
UINT8 tms34061_r(int col, int row, int func);
diff --git a/src/emu/video/tms9928a.c b/src/emu/video/tms9928a.c
index cf20b9d60ee..5ff8fcaada3 100644
--- a/src/emu/video/tms9928a.c
+++ b/src/emu/video/tms9928a.c
@@ -110,7 +110,7 @@ static void draw_modebogus (running_machine *machine, mame_bitmap *bitmap, const
static void draw_sprites (running_machine *machine, mame_bitmap *bitmap, const rectangle *cliprect);
static void change_register (int reg, UINT8 data);
-static void (*ModeHandlers[])(running_machine *machine, mame_bitmap *bitmap, const rectangle *cliprect) = {
+static void (*const ModeHandlers[])(running_machine *machine, mame_bitmap *bitmap, const rectangle *cliprect) = {
draw_mode0, draw_mode1, draw_mode2, draw_mode12,
draw_mode3, draw_modebogus, draw_mode23,
draw_modebogus };
@@ -305,7 +305,7 @@ WRITE8_HANDLER (TMS9928A_register_w) {
static void change_register (int reg, UINT8 val) {
static const UINT8 Mask[8] =
{ 0x03, 0xfb, 0x0f, 0xff, 0x07, 0x7f, 0x07, 0xff };
- static const char *modes[] = {
+ static const char *const modes[] = {
"Mode 0 (GRAPHIC 1)", "Mode 1 (TEXT 1)", "Mode 2 (GRAPHIC 2)",
"Mode 1+2 (TEXT 1 variation)", "Mode 3 (MULTICOLOR)",
"Mode 1+3 (BOGUS)", "Mode 2+3 (MULTICOLOR variation)",
diff --git a/src/emu/video/v9938.c b/src/emu/video/v9938.c
index 1a239f982db..9e41f30eb00 100644
--- a/src/emu/video/v9938.c
+++ b/src/emu/video/v9938.c
@@ -62,7 +62,7 @@ static UINT16 pal_ind16[16], pal_ind256[256], *pal_indYJK;
#define V9938_MODE_UNKNOWN (10)
-static const char *v9938_modes[] = {
+static const char *const v9938_modes[] = {
"TEXT 1", "MULTICOLOR", "GRAPHIC 1", "GRAPHIC 2", "GRAPHIC 3",
"GRAPHIC 4", "GRAPHIC 5", "GRAPHIC 6", "GRAPHIC 7", "TEXT 2",
"UNKNOWN" };
@@ -1504,7 +1504,7 @@ static void VDPpset(register UINT8 SM, register int MXD,
register int DX, register int DY,
register UINT8 CL, register UINT8 OP);
-static int GetVdpTimingValue(register int *);
+static int GetVdpTimingValue(register const int *);
static void SrchEngine(void);
static void LineEngine(void);
@@ -1522,27 +1522,27 @@ static void ReportVdpCommand(register UINT8 Op);
/*************************************************************/
/** Variables visible only in this module **/
/*************************************************************/
-static UINT8 Mask[4] = { 0x0F,0x03,0x0F,0xFF };
-static int PPB[4] = { 2,4,2,1 };
-static int PPL[4] = { 256,512,512,256 };
+static const UINT8 Mask[4] = { 0x0F,0x03,0x0F,0xFF };
+static const int PPB[4] = { 2,4,2,1 };
+static const int PPL[4] = { 256,512,512,256 };
static int VdpOpsCnt=1;
static void (*VdpEngine)(void)=0;
/* SprOn SprOn SprOf SprOf */
/* ScrOf ScrOn ScrOf ScrOn */
-static int srch_timing[8]={ 818, 1025, 818, 830, /* ntsc */
+static const int srch_timing[8]={ 818, 1025, 818, 830, /* ntsc */
696, 854, 696, 684 }; /* pal */
-static int line_timing[8]={ 1063, 1259, 1063, 1161,
+static const int line_timing[8]={ 1063, 1259, 1063, 1161,
904, 1026, 904, 953 };
-static int hmmv_timing[8]={ 439, 549, 439, 531,
+static const int hmmv_timing[8]={ 439, 549, 439, 531,
366, 439, 366, 427 };
-static int lmmv_timing[8]={ 873, 1135, 873, 1056,
+static const int lmmv_timing[8]={ 873, 1135, 873, 1056,
732, 909, 732, 854 };
-static int ymmm_timing[8]={ 586, 952, 586, 610,
+static const int ymmm_timing[8]={ 586, 952, 586, 610,
488, 720, 488, 500 };
-static int hmmm_timing[8]={ 818, 1111, 818, 854,
+static const int hmmm_timing[8]={ 818, 1111, 818, 854,
684, 879, 684, 708 };
-static int lmmm_timing[8]={ 1160, 1599, 1160, 1172,
+static const int lmmm_timing[8]={ 1160, 1599, 1160, 1172,
964, 1257, 964, 977 };
@@ -1695,7 +1695,7 @@ INLINE void VDPpset(UINT8 SM, int MXD, int DX, int DY, UINT8 CL, UINT8 OP)
/** GetVdpTimingValue() **************************************/
/** Get timing value for a certain VDP command **/
/*************************************************************/
-static int GetVdpTimingValue(register int *timing_values)
+static int GetVdpTimingValue(register const int *timing_values)
{
return(timing_values[((VDP[1]>>6)&1)|(VDP[8]&2)|((VDP[9]<<1)&4)]);
}
@@ -2249,12 +2249,12 @@ static UINT8 v9938_vdp_to_cpu (void)
/*************************************************************/
static void ReportVdpCommand(register UINT8 Op)
{
- static const char *Ops[16] =
+ static const char *const Ops[16] =
{
"SET ","AND ","OR ","XOR ","NOT ","NOP ","NOP ","NOP ",
"TSET","TAND","TOR ","TXOR","TNOT","NOP ","NOP ","NOP "
};
- static const char *Commands[16] =
+ static const char *const Commands[16] =
{
" ABRT"," ????"," ????"," ????","POINT"," PSET"," SRCH"," LINE",
" LMMV"," LMMM"," LMCM"," LMMC"," HMMV"," HMMM"," YMMM"," HMMC"
diff --git a/src/emu/video/vooddefs.h b/src/emu/video/vooddefs.h
index 374df64e76b..f15017d3c14 100644
--- a/src/emu/video/vooddefs.h
+++ b/src/emu/video/vooddefs.h
@@ -604,7 +604,7 @@ static const UINT8 banshee_register_access[0x100] =
*
*************************************/
-static const char *voodoo_reg_name[] =
+static const char *const voodoo_reg_name[] =
{
/* 0x000 */
"status", "{intrCtrl}", "vertexAx", "vertexAy",
@@ -681,7 +681,7 @@ static const char *voodoo_reg_name[] =
};
-static const char *banshee_reg_name[] =
+static const char *const banshee_reg_name[] =
{
/* 0x000 */
"status", "intrCtrl", "vertexAx", "vertexAy",
@@ -843,7 +843,7 @@ static const char *banshee_reg_name[] =
*
*************************************/
-static const char *banshee_io_reg_name[] =
+static const char *const banshee_io_reg_name[] =
{
/* 0x000 */
"status", "pciInit0", "sipMonitor", "lfbMemoryConfig",
@@ -924,7 +924,7 @@ static const char *banshee_io_reg_name[] =
*
*************************************/
-static const char *banshee_agp_reg_name[] =
+static const char *const banshee_agp_reg_name[] =
{
/* 0x000 */
"agpReqSize", "agpHostAddressLow","agpHostAddressHigh","agpGraphicsAddress",
@@ -1681,7 +1681,7 @@ struct _voodoo_state
voodoo_reg reg[0x400]; /* raw registers */
const UINT8 *regaccess; /* register access array */
- const char **regnames; /* register names array */
+ const char *const *regnames; /* register names array */
UINT8 alt_regmap; /* enable alternate register map? */
pci_state pci; /* PCI state */
diff --git a/src/lib/util/options.c b/src/lib/util/options.c
index 44534e2247d..e090cae0399 100644
--- a/src/lib/util/options.c
+++ b/src/lib/util/options.c
@@ -110,7 +110,7 @@ static void output_printf(void (*output)(const char *s), const char *format, ...
GLOBAL VARIABLES
***************************************************************************/
-const char *option_unadorned[MAX_UNADORNED_OPTIONS] =
+const char *const option_unadorned[MAX_UNADORNED_OPTIONS] =
{
"<UNADORNED0>",
"<UNADORNED1>",
diff --git a/src/lib/util/options.h b/src/lib/util/options.h
index 35abc73f226..742f41bde89 100644
--- a/src/lib/util/options.h
+++ b/src/lib/util/options.h
@@ -87,7 +87,7 @@ typedef enum _options_range_type options_range_type;
GLOBAL VARIABLES
***************************************************************************/
-extern const char *option_unadorned[MAX_UNADORNED_OPTIONS];
+extern const char *const option_unadorned[MAX_UNADORNED_OPTIONS];
diff --git a/src/mame/audio/atarijsa.c b/src/mame/audio/atarijsa.c
index c6ef071a726..193cfd0c511 100644
--- a/src/mame/audio/atarijsa.c
+++ b/src/mame/audio/atarijsa.c
@@ -791,7 +791,7 @@ ADDRESS_MAP_END
*
*************************************/
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
atarigen_ym2151_irq_gen
};
diff --git a/src/mame/audio/berzerk.c b/src/mame/audio/berzerk.c
index 7728212bda8..c7908a84fdf 100644
--- a/src/mame/audio/berzerk.c
+++ b/src/mame/audio/berzerk.c
@@ -15,13 +15,13 @@
#define BERZERK_AUDIO_DEBUG (0)
-static struct S14001A_interface berzerk_s14001a_interface =
+static const struct S14001A_interface berzerk_s14001a_interface =
{
REGION_SOUND1 /* voice data region */
};
-static struct CustomSound_interface custom_interface =
+static const struct CustomSound_interface custom_interface =
{
berzerk_sh_start
};
diff --git a/src/mame/audio/cage.c b/src/mame/audio/cage.c
index 9c5f6afcec1..7db002f4669 100644
--- a/src/mame/audio/cage.c
+++ b/src/mame/audio/cage.c
@@ -87,7 +87,7 @@ static UINT32 *speedup_ram;
#define SPORT_DATA_TX 0x48
#define SPORT_DATA_RX 0x4c
-static const char *register_names[] =
+static const char *const register_names[] =
{
"TMS32031-DMA global control", NULL, NULL, NULL,
"TMS32031-DMA source address", NULL, "TMS32031-DMA destination address", NULL,
@@ -590,7 +590,7 @@ static WRITE32_HANDLER( speedup_w )
*
*************************************/
-static struct tms32031_config cage_config =
+static const struct tms32031_config cage_config =
{
0x400000
};
diff --git a/src/mame/audio/cclimber.c b/src/mame/audio/cclimber.c
index f7d04174167..93e8aee3d0f 100644
--- a/src/mame/audio/cclimber.c
+++ b/src/mame/audio/cclimber.c
@@ -75,7 +75,7 @@ WRITE8_HANDLER( cclimber_sample_trigger_w )
}
-struct AY8910interface cclimber_ay8910_interface =
+const struct AY8910interface cclimber_ay8910_interface =
{
0,
0,
diff --git a/src/mame/audio/cinemat.c b/src/mame/audio/cinemat.c
index a3c24a2b845..5e65d971cd6 100644
--- a/src/mame/audio/cinemat.c
+++ b/src/mame/audio/cinemat.c
@@ -1468,7 +1468,7 @@ static WRITE8_HANDLER( sound_output_w )
}
-static struct AY8910interface demon_ay8910_interface_1 =
+static const struct AY8910interface demon_ay8910_interface_1 =
{
sound_porta_r,
sound_portb_r,
@@ -1476,7 +1476,7 @@ static struct AY8910interface demon_ay8910_interface_1 =
sound_portb_w
};
-static struct AY8910interface demon_ay8910_interface_3 =
+static const struct AY8910interface demon_ay8910_interface_3 =
{
0,
0,
@@ -1543,7 +1543,7 @@ static ADDRESS_MAP_START( demon_sound_ports, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
-static struct z80_irq_daisy_chain daisy_chain[] =
+static const struct z80_irq_daisy_chain daisy_chain[] =
{
{ z80ctc_reset, z80ctc_irq_state, z80ctc_irq_ack, z80ctc_irq_reti, 0 },
{ 0,0,0,0,-1 }
diff --git a/src/mame/audio/dkong.c b/src/mame/audio/dkong.c
index 421689f46fd..a55a903e266 100644
--- a/src/mame/audio/dkong.c
+++ b/src/mame/audio/dkong.c
@@ -1265,7 +1265,7 @@ ADDRESS_MAP_END
*
*************************************/
-static const char *dkongjr_sample_names[] =
+static const char *const dkongjr_sample_names[] =
{
"*dkongjr",
"jump.wav",
@@ -1283,13 +1283,13 @@ static const char *dkongjr_sample_names[] =
0 /* end of array */
};
-static struct Samplesinterface dkongjr_samples_interface =
+static const struct Samplesinterface dkongjr_samples_interface =
{
8, /* 8 channels */
dkongjr_sample_names
};
-static const char *radarsc1_sample_names[] =
+static const char *const radarsc1_sample_names[] =
{
"*radarsc1",
"10.wav",
@@ -1304,14 +1304,14 @@ static const char *radarsc1_sample_names[] =
0 /* end of array */
};
-static struct Samplesinterface radarsc1_samples_interface =
+static const struct Samplesinterface radarsc1_samples_interface =
{
8, /* 8 channels */
radarsc1_sample_names
};
-static struct NESinterface nes_interface_1 = { REGION_CPU2 };
-static struct NESinterface nes_interface_2 = { REGION_CPU3 };
+static const struct NESinterface nes_interface_1 = { REGION_CPU2 };
+static const struct NESinterface nes_interface_2 = { REGION_CPU3 };
/*************************************
*
diff --git a/src/mame/audio/gotya.c b/src/mame/audio/gotya.c
index 46fbfdff0dc..df47bfc52c3 100644
--- a/src/mame/audio/gotya.c
+++ b/src/mame/audio/gotya.c
@@ -9,7 +9,7 @@ struct gotya_sample
};
-static struct gotya_sample gotya_samples[] =
+static const struct gotya_sample gotya_samples[] =
{
{ 0x01, 0, 0 },
{ 0x02, 1, 0 },
diff --git a/src/mame/audio/gyruss.c b/src/mame/audio/gyruss.c
index 92c0bdbddc1..9c6cbed2e7f 100644
--- a/src/mame/audio/gyruss.c
+++ b/src/mame/audio/gyruss.c
@@ -21,7 +21,7 @@
/* Bit 3 comes from the QA output of the LS90 producing a sequence of */
/* 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 */
-static int gyruss_timer[10] =
+static const int gyruss_timer[10] =
{
0x00, 0x01, 0x02, 0x03, 0x04, 0x09, 0x0a, 0x0b, 0x0a, 0x0d
};
diff --git a/src/mame/audio/irem.c b/src/mame/audio/irem.c
index 0cf69bad491..6a20a89651f 100644
--- a/src/mame/audio/irem.c
+++ b/src/mame/audio/irem.c
@@ -98,7 +98,7 @@ if (data&0x0f) popmessage("analog sound %x",data&0x0f);
}
-static struct AY8910interface irem_ay8910_interface_1 =
+static const struct AY8910interface irem_ay8910_interface_1 =
{
soundlatch_r,
0,
@@ -106,7 +106,7 @@ static struct AY8910interface irem_ay8910_interface_1 =
irem_msm5205_w
};
-static struct AY8910interface irem_ay8910_interface_2 =
+static const struct AY8910interface irem_ay8910_interface_2 =
{
0,
0,
@@ -114,13 +114,13 @@ static struct AY8910interface irem_ay8910_interface_2 =
0
};
-static struct MSM5205interface irem_msm5205_interface_1 =
+static const struct MSM5205interface irem_msm5205_interface_1 =
{
irem_adpcm_int, /* interrupt function */
MSM5205_S96_4B /* default to 4KHz, but can be changed at run time */
};
-static struct MSM5205interface irem_msm5205_interface_2 =
+static const struct MSM5205interface irem_msm5205_interface_2 =
{
0, /* interrupt function */
MSM5205_SEX_4B /* default to 4KHz, but can be changed at run time, slave */
diff --git a/src/mame/audio/mcr.c b/src/mame/audio/mcr.c
index 1ca52c94ea7..60834cd280e 100644
--- a/src/mame/audio/mcr.c
+++ b/src/mame/audio/mcr.c
@@ -412,7 +412,7 @@ void ssio_reset_w(int state)
READ8_HANDLER( ssio_input_port_r )
{
- static const char *port[] = { "SSIO.IP0", "SSIO.IP1", "SSIO.IP2", "SSIO.IP3", "SSIO.IP4" };
+ static const char *const port[] = { "SSIO.IP0", "SSIO.IP1", "SSIO.IP2", "SSIO.IP3", "SSIO.IP4" };
UINT8 result = readinputportbytag_safe(port[offset], 0xff);
if (ssio_custom_input[offset])
result = (result & ~ssio_custom_input_mask[offset]) |
@@ -443,7 +443,7 @@ void ssio_set_custom_output(int which, int mask, write8_handler handler)
/********* sound interfaces ***********/
-static struct AY8910interface ssio_ay8910_interface_1 =
+static const struct AY8910interface ssio_ay8910_interface_1 =
{
0,
0,
@@ -451,7 +451,7 @@ static struct AY8910interface ssio_ay8910_interface_1 =
ssio_portb0_w
};
-static struct AY8910interface ssio_ay8910_interface_2 =
+static const struct AY8910interface ssio_ay8910_interface_2 =
{
0,
0,
diff --git a/src/mame/audio/namcoc7x.h b/src/mame/audio/namcoc7x.h
index 68225480277..b6ac15e2efa 100644
--- a/src/mame/audio/namcoc7x.h
+++ b/src/mame/audio/namcoc7x.h
@@ -24,7 +24,7 @@ void namcoc7x_on_driver_init(void);
void namcoc7x_set_host_ram(UINT32 *hostram);
#define NAMCO_C7X_HARDWARE \
-static struct C352interface namcoc7x_c352_interface = \
+static const struct C352interface namcoc7x_c352_interface = \
{ \
REGION_SOUND1 \
};
diff --git a/src/mame/audio/polepos.c b/src/mame/audio/polepos.c
index 1f912352753..78748e226a1 100644
--- a/src/mame/audio/polepos.c
+++ b/src/mame/audio/polepos.c
@@ -26,7 +26,7 @@ static sound_stream *stream;
#define POLEPOS_R167_SHUNT 1.0/(1.0/POLEPOS_R166 + 1.0/250)
#define POLEPOS_R168_SHUNT 1.0/(1.0/POLEPOS_R166 + 1.0/250)
-static double volume_table[8] =
+static const double volume_table[8] =
{
(POLEPOS_R168_SHUNT + POLEPOS_R167_SHUNT + POLEPOS_R166_SHUNT + 2200) / 10000,
(POLEPOS_R168_SHUNT + POLEPOS_R167_SHUNT + POLEPOS_R166 + 2200) / 10000,
@@ -40,8 +40,8 @@ static double volume_table[8] =
static filter2_context filter_engine[3];
-static double r_filt_out[3] = {RES_K(4.7), RES_K(7.5), RES_K(10)};
-static double r_filt_total = 1.0 / (1.0/RES_K(4.7) + 1.0/RES_K(7.5) + 1.0/RES_K(10));
+static const double r_filt_out[3] = {RES_K(4.7), RES_K(7.5), RES_K(10)};
+static const double r_filt_total = 1.0 / (1.0/RES_K(4.7) + 1.0/RES_K(7.5) + 1.0/RES_K(10));
/************************************/
/* Stream updater */
diff --git a/src/mame/audio/rockola.c b/src/mame/audio/rockola.c
index 1cc0988e4b7..d0aed2200b7 100644
--- a/src/mame/audio/rockola.c
+++ b/src/mame/audio/rockola.c
@@ -751,7 +751,7 @@ static int hd38880_data_bytes;
static double hd38880_speed;
-static void rockola_speech_w(UINT8 data, UINT16 *table, int start)
+static void rockola_speech_w(UINT8 data, const UINT16 *table, int start)
{
/*
bit description
@@ -894,7 +894,7 @@ static void rockola_speech_w(UINT8 data, UINT16 *table, int start)
WRITE8_HANDLER( vanguard_speech_w )
{
- static UINT16 vanguard_table[16] =
+ static const UINT16 vanguard_table[16] =
{
0x04000,
0x04325,
@@ -919,7 +919,7 @@ WRITE8_HANDLER( vanguard_speech_w )
WRITE8_HANDLER( fantasy_speech_w )
{
- static UINT16 fantasy_table[16] =
+ static const UINT16 fantasy_table[16] =
{
0x04000,
0x04297,
diff --git a/src/mame/audio/scramble.c b/src/mame/audio/scramble.c
index 734fc187c8f..3a7632a1393 100644
--- a/src/mame/audio/scramble.c
+++ b/src/mame/audio/scramble.c
@@ -36,7 +36,7 @@
/* Bit 7 comes from the QA output of the LS90 producing a sequence of */
/* 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 */
-static int scramble_timer[10] =
+static const int scramble_timer[10] =
{
0x00, 0x10, 0x20, 0x30, 0x40, 0x90, 0xa0, 0xb0, 0xa0, 0xd0
};
@@ -78,7 +78,7 @@ READ8_HANDLER( scramble_portB_r )
/* Bit 7 comes from the QA output of the LS90 producing a sequence of */
/* 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 */
-static int frogger_timer[10] =
+static const int frogger_timer[10] =
{
0x00, 0x10, 0x08, 0x18, 0x40, 0x90, 0x88, 0x98, 0x88, 0xd0
};
diff --git a/src/mame/audio/segag80r.c b/src/mame/audio/segag80r.c
index 36dfd14a42e..be2f5d6e093 100644
--- a/src/mame/audio/segag80r.c
+++ b/src/mame/audio/segag80r.c
@@ -418,7 +418,7 @@ static const struct Samplesinterface sega005_samples_interface =
};
-static struct CustomSound_interface sega005_custom_interface =
+static const struct CustomSound_interface sega005_custom_interface =
{
sega005_custom_start
};
@@ -782,7 +782,7 @@ static const struct Samplesinterface monsterb_samples_interface =
};
-static struct TMS36XXinterface monsterb_tms3617_interface =
+static const struct TMS36XXinterface monsterb_tms3617_interface =
{
TMS3617,
{0.5,0.5,0.5,0.5,0.5,0.5} /* decay times of voices */
diff --git a/src/mame/audio/segasnd.c b/src/mame/audio/segasnd.c
index fb3d4fd61f9..fede97adc14 100644
--- a/src/mame/audio/segasnd.c
+++ b/src/mame/audio/segasnd.c
@@ -264,7 +264,7 @@ ADDRESS_MAP_END
*
*************************************/
-static struct sp0250_interface sp0250_interface =
+static const struct sp0250_interface sp0250_interface =
{
speech_drq_w
};
@@ -902,7 +902,7 @@ ADDRESS_MAP_END
*
*************************************/
-static struct CustomSound_interface usb_custom_interface =
+static const struct CustomSound_interface usb_custom_interface =
{
usb_start
};
diff --git a/src/mame/audio/seibu.h b/src/mame/audio/seibu.h
index 88c2bd1b2e0..cf45f6caf47 100644
--- a/src/mame/audio/seibu.h
+++ b/src/mame/audio/seibu.h
@@ -76,14 +76,14 @@ WRITE8_HANDLER( seibu_adpcm_ctl_2_w );
#define SEIBU_SOUND_SYSTEM_YM3812_HARDWARE \
\
-static struct YM3812interface ym3812_interface = \
+static const struct YM3812interface ym3812_interface = \
{ \
seibu_ym3812_irqhandler \
};
#define SEIBU_SOUND_SYSTEM_ADPCM_HARDWARE \
\
-static struct CustomSound_interface adpcm_interface = \
+static const struct CustomSound_interface adpcm_interface = \
{ \
seibu_adpcm_start, \
seibu_adpcm_stop \
@@ -91,14 +91,14 @@ static struct CustomSound_interface adpcm_interface = \
#define SEIBU_SOUND_SYSTEM_YM2151_HARDWARE \
\
-static struct YM2151interface ym2151_interface = \
+static const struct YM2151interface ym2151_interface = \
{ \
seibu_ym2151_irqhandler \
};
#define SEIBU_SOUND_SYSTEM_YM2203_HARDWARE \
\
-static struct YM2203interface ym2203_interface = \
+static const struct YM2203interface ym2203_interface = \
{ \
0,0,0,0,seibu_ym2203_irqhandler \
};
diff --git a/src/mame/audio/senjyo.c b/src/mame/audio/senjyo.c
index 7520692020c..af27f5ef980 100644
--- a/src/mame/audio/senjyo.c
+++ b/src/mame/audio/senjyo.c
@@ -11,7 +11,7 @@ static void pio_interrupt(int state)
cpunum_set_input_line(1, 0, state);
}
-static z80pio_interface pio_intf =
+static const z80pio_interface pio_intf =
{
pio_interrupt,
0,
diff --git a/src/mame/audio/spiders.c b/src/mame/audio/spiders.c
index 7b1083325d7..15a5ec1a548 100644
--- a/src/mame/audio/spiders.c
+++ b/src/mame/audio/spiders.c
@@ -57,7 +57,7 @@ static const discrete_lfsr_desc spiders_lfsr =
};
-static discrete_dac_r1_ladder spiders_fire_dac =
+static const discrete_dac_r1_ladder spiders_fire_dac =
{
1,
{RES_K(10)}, // R29
@@ -67,7 +67,7 @@ static discrete_dac_r1_ladder spiders_fire_dac =
CAP_N(100) // C100
};
-static discrete_dac_r1_ladder spiders_web_exp_dac =
+static const discrete_dac_r1_ladder spiders_web_exp_dac =
{
1,
{RES_K(10)}, // R44
diff --git a/src/mame/audio/t5182.c b/src/mame/audio/t5182.c
index 2b58d6c1f9e..a60b240b188 100644
--- a/src/mame/audio/t5182.c
+++ b/src/mame/audio/t5182.c
@@ -233,7 +233,7 @@ static READ8_HANDLER(t5182_sharedram_semaphore_main_r)
}
-struct YM2151interface t5182_ym2151_interface =
+const struct YM2151interface t5182_ym2151_interface =
{
t5182_ym2151_irq_handler
};
diff --git a/src/mame/audio/t5182.h b/src/mame/audio/t5182.h
index b5c1a9c4c8c..16cf21cf2dc 100644
--- a/src/mame/audio/t5182.h
+++ b/src/mame/audio/t5182.h
@@ -11,4 +11,4 @@ WRITE8_HANDLER(t5182_sharedram_semaphore_main_release_w);
extern UINT8 *t5182_sharedram;
-extern struct YM2151interface t5182_ym2151_interface;
+extern const struct YM2151interface t5182_ym2151_interface;
diff --git a/src/mame/audio/taito_en.c b/src/mame/audio/taito_en.c
index 937ed800aa2..420fea70de8 100644
--- a/src/mame/audio/taito_en.c
+++ b/src/mame/audio/taito_en.c
@@ -260,7 +260,7 @@ void taito_f3_soundsystem_reset(void)
//cpunum_set_input_line(1, INPUT_LINE_RESET, ASSERT_LINE);
}
-struct ES5505interface es5505_interface =
+const struct ES5505interface es5505_interface =
{
REGION_SOUND1, /* Bank 0: Unused by F3 games? */
REGION_SOUND1, /* Bank 1: All games seem to use this */
diff --git a/src/mame/audio/taito_en.h b/src/mame/audio/taito_en.h
index 9a2f819c60c..6c4b0b8b2db 100644
--- a/src/mame/audio/taito_en.h
+++ b/src/mame/audio/taito_en.h
@@ -25,4 +25,4 @@ void taito_f3_soundsystem_reset(void);
ADDRESS_MAP_EXTERN(f3_sound_map);
-extern struct ES5505interface es5505_interface;
+extern const struct ES5505interface es5505_interface;
diff --git a/src/mame/audio/tank8.c b/src/mame/audio/tank8.c
index 211ead0498b..c424d356c78 100644
--- a/src/mame/audio/tank8.c
+++ b/src/mame/audio/tank8.c
@@ -86,7 +86,7 @@ static const discrete_op_amp_filt_info tank8_filt =
0 /* VEE */
};
-static discrete_dac_r1_ladder tank8_dac =
+static const discrete_dac_r1_ladder tank8_dac =
{
1,
{RES_K(4.7)}, // R89
diff --git a/src/mame/audio/targ.c b/src/mame/audio/targ.c
index 15f01fa7426..1e6f830255d 100644
--- a/src/mame/audio/targ.c
+++ b/src/mame/audio/targ.c
@@ -28,7 +28,7 @@ static int sound_a_freq;
static UINT8 tone_pointer;
static UINT8 tone_offset;
-static UINT8 tone_prom[32] =
+static const UINT8 tone_prom[32] =
{
0xE5,0xE5,0xED,0xED,0xE5,0xE5,0xED,0xED,0xE7,0xE7,0xEF,0xEF,0xE7,0xE7,0xEF,0xEF,
0xC1,0xE1,0xC9,0xE9,0xC5,0xE5,0xCD,0xED,0xC3,0xE3,0xCB,0xEB,0xC7,0xE7,0xCF,0xEF
diff --git a/src/mame/audio/timeplt.c b/src/mame/audio/timeplt.c
index 32d4daa37ca..1fda06b08f8 100644
--- a/src/mame/audio/timeplt.c
+++ b/src/mame/audio/timeplt.c
@@ -55,7 +55,7 @@ ADDRESS_MAP_START( locomotn_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
-struct AY8910interface timeplt_ay8910_interface =
+const struct AY8910interface timeplt_ay8910_interface =
{
soundlatch_r,
timeplt_portB_r
@@ -79,7 +79,7 @@ struct AY8910interface timeplt_ay8910_interface =
/* Bit 7 comes from the QA output of the LS90 producing a sequence of */
/* 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 */
-static int timeplt_timer[10] =
+static const int timeplt_timer[10] =
{
0x00, 0x10, 0x20, 0x30, 0x40, 0x90, 0xa0, 0xb0, 0xa0, 0xd0
};
diff --git a/src/mame/audio/timeplt.h b/src/mame/audio/timeplt.h
index b784e846b80..d9bee89f2e4 100644
--- a/src/mame/audio/timeplt.h
+++ b/src/mame/audio/timeplt.h
@@ -2,5 +2,5 @@ ADDRESS_MAP_EXTERN(timeplt_sound_readmem);
ADDRESS_MAP_EXTERN(timeplt_sound_writemem);
ADDRESS_MAP_EXTERN(locomotn_sound_readmem);
ADDRESS_MAP_EXTERN(locomotn_sound_writemem);
-extern struct AY8910interface timeplt_ay8910_interface;
+extern const struct AY8910interface timeplt_ay8910_interface;
WRITE8_HANDLER( timeplt_sh_irqtrigger_w );
diff --git a/src/mame/audio/williams.c b/src/mame/audio/williams.c
index a9988c2588c..c424b768ef8 100644
--- a/src/mame/audio/williams.c
+++ b/src/mame/audio/williams.c
@@ -158,14 +158,14 @@ static const pia6821_interface cvsd_pia_intf =
****************************************************************************/
/* YM2151 structure (CVSD variant) */
-static struct YM2151interface cvsd_ym2151_interface =
+static const struct YM2151interface cvsd_ym2151_interface =
{
cvsd_ym2151_irq
};
/* YM2151 structure (ADPCM variant) */
-static struct YM2151interface adpcm_ym2151_interface =
+static const struct YM2151interface adpcm_ym2151_interface =
{
adpcm_ym2151_irq
};
diff --git a/src/mame/drivers/20pacgal.c b/src/mame/drivers/20pacgal.c
index b0fd88d3239..0fa5da74254 100644
--- a/src/mame/drivers/20pacgal.c
+++ b/src/mame/drivers/20pacgal.c
@@ -226,7 +226,7 @@ static GFXDECODE_START( 20pacgal )
GFXDECODE_ENTRY( 0, 0, spritelayout, 0, 64 )
GFXDECODE_END
-static struct namco_interface namco_interface =
+static const struct namco_interface namco_interface =
{
3, /* number of voices */
-1, /* memory region */
diff --git a/src/mame/drivers/2mindril.c b/src/mame/drivers/2mindril.c
index 8c40edf5574..039527de58b 100644
--- a/src/mame/drivers/2mindril.c
+++ b/src/mame/drivers/2mindril.c
@@ -184,7 +184,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(0,5,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2610interface ym2610_interface =
+static const struct YM2610interface ym2610_interface =
{
irqhandler,
0,
diff --git a/src/mame/drivers/40love.c b/src/mame/drivers/40love.c
index f85be1dc7b5..a78275f41d8 100644
--- a/src/mame/drivers/40love.c
+++ b/src/mame/drivers/40love.c
@@ -1078,7 +1078,7 @@ static GFXDECODE_START( 40love )
GFXDECODE_ENTRY( REGION_GFX1, 0, sprite_layout, 0, 64 )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0,
0,
@@ -1086,7 +1086,7 @@ static struct AY8910interface ay8910_interface =
sound_control_3_w
};
-static struct MSM5232interface msm5232_interface =
+static const struct MSM5232interface msm5232_interface =
{
{ 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6 } /* 1.0 uF capacitors (verified on real PCB) */
};
diff --git a/src/mame/drivers/88games.c b/src/mame/drivers/88games.c
index fed86db8801..724d41d2acb 100644
--- a/src/mame/drivers/88games.c
+++ b/src/mame/drivers/88games.c
@@ -75,7 +75,7 @@ static READ8_HANDLER( cheat1_r )
{
int res;
static int cheat = 0;
- static int bits[] = { 0xee, 0xff, 0xbb, 0xaa };
+ static const int bits[] = { 0xee, 0xff, 0xbb, 0xaa };
res = readinputportbytag("IN1");
@@ -93,7 +93,7 @@ static READ8_HANDLER( cheat2_r )
{
int res;
static int cheat = 0;
- static int bits[] = { 0xee, 0xff, 0xbb, 0xaa };
+ static const int bits[] = { 0xee, 0xff, 0xbb, 0xaa };
res = readinputportbytag("IN2");
@@ -275,12 +275,12 @@ INPUT_PORTS_END
-static struct upd7759_interface upd7759_interface_1 =
+static const struct upd7759_interface upd7759_interface_1 =
{
REGION_SOUND1 /* memory region */
};
-static struct upd7759_interface upd7759_interface_2 =
+static const struct upd7759_interface upd7759_interface_2 =
{
REGION_SOUND2 /* memory region */
};
diff --git a/src/mame/drivers/actfancr.c b/src/mame/drivers/actfancr.c
index bcc0cff7128..d30679ec7c2 100644
--- a/src/mame/drivers/actfancr.c
+++ b/src/mame/drivers/actfancr.c
@@ -380,7 +380,7 @@ static void sound_irq(int linestate)
cpunum_set_input_line(1,0,linestate); /* IRQ */
}
-static struct YM3812interface ym3812_interface =
+static const struct YM3812interface ym3812_interface =
{
sound_irq
};
diff --git a/src/mame/drivers/aeroboto.c b/src/mame/drivers/aeroboto.c
index 667ca3b221a..a368c737d5a 100644
--- a/src/mame/drivers/aeroboto.c
+++ b/src/mame/drivers/aeroboto.c
@@ -244,7 +244,7 @@ GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
soundlatch_r,
soundlatch2_r
diff --git a/src/mame/drivers/aerofgt.c b/src/mame/drivers/aerofgt.c
index dc29057534b..17a770c8235 100644
--- a/src/mame/drivers/aerofgt.c
+++ b/src/mame/drivers/aerofgt.c
@@ -1380,14 +1380,14 @@ static void irqhandler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2610interface ym2610_interface =
+static const struct YM2610interface ym2610_interface =
{
irqhandler,
REGION_SOUND1,
REGION_SOUND2
};
-static struct YM3812interface ym3812_interface =
+static const struct YM3812interface ym3812_interface =
{
irqhandler /* IRQ Line */
};
diff --git a/src/mame/drivers/afega.c b/src/mame/drivers/afega.c
index e112d120892..3d4cbc19664 100644
--- a/src/mame/drivers/afega.c
+++ b/src/mame/drivers/afega.c
@@ -1071,7 +1071,7 @@ static void irq_handler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2151interface afega_ym2151_intf =
+static const struct YM2151interface afega_ym2151_intf =
{
irq_handler
};
diff --git a/src/mame/drivers/airbustr.c b/src/mame/drivers/airbustr.c
index 67d34077ede..06f52c0a5fb 100644
--- a/src/mame/drivers/airbustr.c
+++ b/src/mame/drivers/airbustr.c
@@ -557,7 +557,7 @@ GFXDECODE_END
/* Sound Interfaces */
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
input_port_3_r, // DSW-1 connected to port A
input_port_4_r // DSW-2 connected to port B
diff --git a/src/mame/drivers/ajax.c b/src/mame/drivers/ajax.c
index 64bc25c5bd9..2fa4d481637 100644
--- a/src/mame/drivers/ajax.c
+++ b/src/mame/drivers/ajax.c
@@ -252,13 +252,13 @@ static void volume_callback1(int v)
K007232_set_volume(1,1,(v & 0x0f) * 0x11/2,(v >> 4) * 0x11/2);
}
-static struct K007232_interface k007232_interface_1 =
+static const struct K007232_interface k007232_interface_1 =
{
REGION_SOUND1,
volume_callback0
};
-static struct K007232_interface k007232_interface_2 =
+static const struct K007232_interface k007232_interface_2 =
{
REGION_SOUND2,
volume_callback1
diff --git a/src/mame/drivers/aleck64.c b/src/mame/drivers/aleck64.c
index 1d2f4b80099..29fc72ad260 100644
--- a/src/mame/drivers/aleck64.c
+++ b/src/mame/drivers/aleck64.c
@@ -408,7 +408,7 @@ static INPUT_PORTS_START( starsldr )
INPUT_PORTS_END
/* ?? */
-static struct mips3_config config =
+static const struct mips3_config config =
{
16384, /* code cache size */
8192, /* data cache size */
diff --git a/src/mame/drivers/alg.c b/src/mame/drivers/alg.c
index d7a5bf638a5..8215836669e 100644
--- a/src/mame/drivers/alg.c
+++ b/src/mame/drivers/alg.c
@@ -436,7 +436,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct CustomSound_interface amiga_custom_interface =
+static const struct CustomSound_interface amiga_custom_interface =
{
amiga_sh_start
};
diff --git a/src/mame/drivers/aliens.c b/src/mame/drivers/aliens.c
index b313308b00b..9f69c6ea7e4 100644
--- a/src/mame/drivers/aliens.c
+++ b/src/mame/drivers/aliens.c
@@ -245,13 +245,13 @@ static void volume_callback(int v)
K007232_set_volume(0,1,0,(v >> 4) * 0x11);
}
-static struct K007232_interface k007232_interface =
+static const struct K007232_interface k007232_interface =
{
REGION_SOUND1, /* memory regions */
volume_callback /* external port callback */
};
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
0,
aliens_snd_bankswitch_w
diff --git a/src/mame/drivers/alpha68k.c b/src/mame/drivers/alpha68k.c
index 557d3d8ead6..41894cc7adc 100644
--- a/src/mame/drivers/alpha68k.c
+++ b/src/mame/drivers/alpha68k.c
@@ -359,8 +359,8 @@ static READ16_HANDLER( kyros_alpha_trigger_r )
- Super Stingray : 0x21,0x22,0x23,0x24,0x34,0x37,0x3a,0x3d,0x40,0x43,0x46,0x49
*/
static unsigned coinvalue=0, microcontroller_data=0;
- static UINT8 coinage1[8][2]={{1,1},{1,5},{1,3},{2,3},{1,2},{1,6},{1,4},{3,2}};
- static UINT8 coinage2[8][2]={{1,1},{5,1},{3,1},{7,1},{2,1},{6,1},{4,1},{8,1}};
+ static const UINT8 coinage1[8][2]={{1,1},{1,5},{1,3},{2,3},{1,2},{1,6},{1,4},{3,2}};
+ static const UINT8 coinage2[8][2]={{1,1},{5,1},{3,1},{7,1},{2,1},{6,1},{4,1},{8,1}};
static int latch;
int source=shared_ram[offset];
@@ -441,8 +441,8 @@ static READ16_HANDLER( alpha_II_trigger_r )
- Gold Medalist : 0x21,0x23,0x24,0x5b
*/
static unsigned coinvalue=0, microcontroller_data=0;
- static UINT8 coinage1[8][2]={{1,1},{1,2},{1,3},{1,4},{1,5},{1,6},{2,3},{3,2}};
- static UINT8 coinage2[8][2]={{1,1},{2,1},{3,1},{4,1},{5,1},{6,1},{7,1},{8,1}};
+ static const UINT8 coinage1[8][2]={{1,1},{1,2},{1,3},{1,4},{1,5},{1,6},{2,3},{3,2}};
+ static const UINT8 coinage2[8][2]={{1,1},{2,1},{3,1},{4,1},{5,1},{6,1},{7,1},{8,1}};
static int latch;
int source=shared_ram[offset];
@@ -537,8 +537,8 @@ static READ16_HANDLER( alpha_V_trigger_r )
- Super Champion Baseball : 0x21,0x23,0x24
*/
static unsigned coinvalue=0, microcontroller_data=0;
- static UINT8 coinage1[8][2]={{1,1},{1,5},{1,3},{2,3},{1,2},{1,6},{1,4},{3,2}};
- static UINT8 coinage2[8][2]={{1,1},{5,1},{3,1},{7,1},{2,1},{6,1},{4,1},{8,1}};
+ static const UINT8 coinage1[8][2]={{1,1},{1,5},{1,3},{2,3},{1,2},{1,6},{1,4},{3,2}};
+ static const UINT8 coinage2[8][2]={{1,1},{5,1},{3,1},{7,1},{2,1},{6,1},{4,1},{8,1}};
static int latch;
int source=shared_ram[offset];
@@ -2018,12 +2018,12 @@ GFXDECODE_END
/******************************************************************************/
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
soundlatch_r
};
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
soundlatch_r
};
@@ -2033,7 +2033,7 @@ static void YM3812_irq(int param)
cpunum_set_input_line(1, 0, (param) ? HOLD_LINE : CLEAR_LINE);
}
-static struct YM3812interface ym3812_interface =
+static const struct YM3812interface ym3812_interface =
{
YM3812_irq
};
diff --git a/src/mame/drivers/ambush.c b/src/mame/drivers/ambush.c
index 4678ecb6577..66efb8bbde0 100644
--- a/src/mame/drivers/ambush.c
+++ b/src/mame/drivers/ambush.c
@@ -169,12 +169,12 @@ static GFXDECODE_START( ambush )
GFXDECODE_END
-static struct AY8910interface ay8910_interface_1 =
+static const struct AY8910interface ay8910_interface_1 =
{
input_port_0_r
};
-static struct AY8910interface ay8910_interface_2 =
+static const struct AY8910interface ay8910_interface_2 =
{
input_port_1_r
};
diff --git a/src/mame/drivers/amidar.c b/src/mame/drivers/amidar.c
index b2c0ad07d0b..b8308a554cc 100644
--- a/src/mame/drivers/amidar.c
+++ b/src/mame/drivers/amidar.c
@@ -53,7 +53,7 @@ static WRITE8_HANDLER(amidar_soundram_w)
amidar_soundram[offset & 0x03ff] = data;
}
-static struct AY8910interface amidar_ay8910_interface_2 =
+static const struct AY8910interface amidar_ay8910_interface_2 =
{
soundlatch_r,
scramble_portB_r
diff --git a/src/mame/drivers/ampoker.c b/src/mame/drivers/ampoker.c
index 3f41b61bae1..53c661680a4 100644
--- a/src/mame/drivers/ampoker.c
+++ b/src/mame/drivers/ampoker.c
@@ -843,7 +843,7 @@ GFXDECODE_END
* AY8910 Interfase *
*******************/
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0, 0, 0, 0 /* no ports used */
};
diff --git a/src/mame/drivers/amspdwy.c b/src/mame/drivers/amspdwy.c
index 15a6760b28d..f2011d28afb 100644
--- a/src/mame/drivers/amspdwy.c
+++ b/src/mame/drivers/amspdwy.c
@@ -263,7 +263,7 @@ static void irq_handler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2151interface amspdwy_ym2151_interface =
+static const struct YM2151interface amspdwy_ym2151_interface =
{
irq_handler
};
diff --git a/src/mame/drivers/angelkds.c b/src/mame/drivers/angelkds.c
index a81e2bb38b8..760b6710099 100644
--- a/src/mame/drivers/angelkds.c
+++ b/src/mame/drivers/angelkds.c
@@ -565,7 +565,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
diff --git a/src/mame/drivers/appoooh.c b/src/mame/drivers/appoooh.c
index 1ce8318b6f2..698ae456568 100644
--- a/src/mame/drivers/appoooh.c
+++ b/src/mame/drivers/appoooh.c
@@ -216,7 +216,7 @@ GFXDECODE_END
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
appoooh_adpcm_int,/* interrupt function */
MSM5205_S64_4B /* 6KHz */
diff --git a/src/mame/drivers/aquarium.c b/src/mame/drivers/aquarium.c
index 523c89c809a..af6d72c251a 100644
--- a/src/mame/drivers/aquarium.c
+++ b/src/mame/drivers/aquarium.c
@@ -358,7 +358,7 @@ static void irq_handler(int irq)
cpunum_set_input_line( 1, 0 , irq ? ASSERT_LINE : CLEAR_LINE );
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
irq_handler
};
diff --git a/src/mame/drivers/arabian.c b/src/mame/drivers/arabian.c
index 827d32070ee..2186caa4668 100644
--- a/src/mame/drivers/arabian.c
+++ b/src/mame/drivers/arabian.c
@@ -331,7 +331,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0,
0,
diff --git a/src/mame/drivers/arcadia.c b/src/mame/drivers/arcadia.c
index d03b52fb554..cc2cd8984af 100644
--- a/src/mame/drivers/arcadia.c
+++ b/src/mame/drivers/arcadia.c
@@ -273,7 +273,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct CustomSound_interface amiga_custom_interface =
+static const struct CustomSound_interface amiga_custom_interface =
{
amiga_sh_start
};
diff --git a/src/mame/drivers/argus.c b/src/mame/drivers/argus.c
index 671ff067c44..ef37a1b54e6 100644
--- a/src/mame/drivers/argus.c
+++ b/src/mame/drivers/argus.c
@@ -171,7 +171,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(1, 0, irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
diff --git a/src/mame/drivers/arkanoid.c b/src/mame/drivers/arkanoid.c
index 11b46970e1e..755b03cb181 100644
--- a/src/mame/drivers/arkanoid.c
+++ b/src/mame/drivers/arkanoid.c
@@ -753,7 +753,7 @@ GFXDECODE_END
/* Sound Interfaces */
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_5_r,
input_port_4_r
diff --git a/src/mame/drivers/artmagic.c b/src/mame/drivers/artmagic.c
index 6c7bced7f53..a45e6c677a3 100644
--- a/src/mame/drivers/artmagic.c
+++ b/src/mame/drivers/artmagic.c
@@ -449,7 +449,7 @@ ADDRESS_MAP_END
*
*************************************/
-static tms34010_config tms_config =
+static const tms34010_config tms_config =
{
TRUE, /* halt on reset */
0, /* the screen operated on */
diff --git a/src/mame/drivers/ashnojoe.c b/src/mame/drivers/ashnojoe.c
index 2d80c6c823f..f4d7681b53f 100644
--- a/src/mame/drivers/ashnojoe.c
+++ b/src/mame/drivers/ashnojoe.c
@@ -330,13 +330,13 @@ static void ashnojoe_adpcm_int (int data)
cpunum_set_input_line(1, INPUT_LINE_NMI, PULSE_LINE);
}
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
ashnojoe_adpcm_int, /* interrupt function */
MSM5205_S48_4B /* 4KHz 4-bit */
};
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
diff --git a/src/mame/drivers/asterix.c b/src/mame/drivers/asterix.c
index 55dfa52dcdf..fcf0c6909fa 100644
--- a/src/mame/drivers/asterix.c
+++ b/src/mame/drivers/asterix.c
@@ -266,7 +266,7 @@ static INPUT_PORTS_START( asterix )
PORT_BIT( 0xf800, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
-static struct K053260_interface k053260_interface =
+static const struct K053260_interface k053260_interface =
{
REGION_SOUND1 /* memory region */
};
diff --git a/src/mame/drivers/asteroid.c b/src/mame/drivers/asteroid.c
index 270fe202335..068f42e374f 100644
--- a/src/mame/drivers/asteroid.c
+++ b/src/mame/drivers/asteroid.c
@@ -192,7 +192,7 @@ static WRITE8_HANDLER( astdelux_coin_counter_w )
static WRITE8_HANDLER( llander_led_w )
{
- static const char *lampname[] =
+ static const char *const lampname[] =
{
"lamp0", "lamp1", "lamp2", "lamp3", "lamp4"
};
@@ -609,7 +609,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct POKEYinterface pokey_interface =
+static const struct POKEYinterface pokey_interface =
{
{ 0 },
input_port_3_r
diff --git a/src/mame/drivers/astrocde.c b/src/mame/drivers/astrocde.c
index a76bb77e255..fb7c433f713 100644
--- a/src/mame/drivers/astrocde.c
+++ b/src/mame/drivers/astrocde.c
@@ -246,7 +246,7 @@ static WRITE8_HANDLER( seawolf2_sound_2_w ) // Port 41
static UINT32 ebases_trackball_r(void *param)
{
- static const char *names[] = { "TRACKX2", "TRACKY2", "TRACKX1", "TRACKY1" };
+ static const char *const names[] = { "TRACKX2", "TRACKY2", "TRACKX1", "TRACKY1" };
return readinputportbytag(names[input_select]);
}
@@ -462,7 +462,7 @@ static READ8_HANDLER( demndrgn_io_r )
static UINT32 demndragn_joystick_r(void *param)
{
- static const char *names[] = { "MOVEX", "MOVEY" };
+ static const char *const names[] = { "MOVEX", "MOVEY" };
return readinputportbytag(names[input_select]);
}
@@ -1226,7 +1226,7 @@ static const struct Samplesinterface gorf_samples_interface =
*
*************************************/
-static struct z80_irq_daisy_chain tenpin_daisy_chain[] =
+static const struct z80_irq_daisy_chain tenpin_daisy_chain[] =
{
{ z80ctc_reset, z80ctc_irq_state, z80ctc_irq_ack, z80ctc_irq_reti, 0 }, /* CTC number 0 */
{ 0, 0, 0, 0, -1 } /* end mark */
diff --git a/src/mame/drivers/asuka.c b/src/mame/drivers/asuka.c
index a5e0bfc3428..f8b41955516 100644
--- a/src/mame/drivers/asuka.c
+++ b/src/mame/drivers/asuka.c
@@ -815,7 +815,7 @@ static void irq_handler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2610interface ym2610_interface =
+static const struct YM2610interface ym2610_interface =
{
irq_handler,
REGION_SOUND1, /* Delta-T */
@@ -823,13 +823,13 @@ static struct YM2610interface ym2610_interface =
};
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
irq_handler,
sound_bankswitch_w
};
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
asuka_msm5205_vck, /* VCK function */
MSM5205_S48_4B /* 8 kHz */
diff --git a/src/mame/drivers/atarisy1.c b/src/mame/drivers/atarisy1.c
index fedfdf98585..cd0d6cc24b1 100644
--- a/src/mame/drivers/atarisy1.c
+++ b/src/mame/drivers/atarisy1.c
@@ -384,7 +384,7 @@ static READ8_HANDLER( via_pb_r )
}
-static struct via6522_interface via_interface =
+static const struct via6522_interface via_interface =
{
/*inputs : A/B */ via_pa_r, via_pb_r,
/*inputs : CA/B1,CA/B2 */ 0, 0, 0, 0,
@@ -722,7 +722,7 @@ GFXDECODE_END
*
*************************************/
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
atarigen_ym2151_irq_gen
};
diff --git a/src/mame/drivers/atarisy2.c b/src/mame/drivers/atarisy2.c
index f9b0ff210f9..d8fdd961a80 100644
--- a/src/mame/drivers/atarisy2.c
+++ b/src/mame/drivers/atarisy2.c
@@ -298,7 +298,7 @@ static WRITE16_HANDLER( int_enable_w )
static WRITE16_HANDLER( bankselect_w )
{
- static int bankoffset[64] =
+ static const int bankoffset[64] =
{
0x28000, 0x20000, 0x18000, 0x10000,
0x2a000, 0x22000, 0x1a000, 0x12000,
@@ -1268,13 +1268,13 @@ GFXDECODE_END
*
*************************************/
-static struct POKEYinterface pokey_interface_1 =
+static const struct POKEYinterface pokey_interface_1 =
{
{ 0 },
input_port_11_r
};
-static struct POKEYinterface pokey_interface_2 =
+static const struct POKEYinterface pokey_interface_2 =
{
{ 0 },
input_port_12_r
@@ -1288,7 +1288,7 @@ static struct POKEYinterface pokey_interface_2 =
*
*************************************/
-static struct t11_setup t11_data =
+static const struct t11_setup t11_data =
{
0x36ff /* initial mode word has DAL15,14,11,8 pulled low */
};
diff --git a/src/mame/drivers/ataxx.c b/src/mame/drivers/ataxx.c
index f352d3de640..dd96d4900fb 100644
--- a/src/mame/drivers/ataxx.c
+++ b/src/mame/drivers/ataxx.c
@@ -310,7 +310,7 @@ GFXDECODE_END
*
*************************************/
-static struct CustomSound_interface i80186_custom_interface =
+static const struct CustomSound_interface i80186_custom_interface =
{
leland_80186_sh_start
};
diff --git a/src/mame/drivers/atetris.c b/src/mame/drivers/atetris.c
index 84704b9546e..2559d1eef3d 100644
--- a/src/mame/drivers/atetris.c
+++ b/src/mame/drivers/atetris.c
@@ -306,14 +306,14 @@ GFXDECODE_END
*
*************************************/
-static struct POKEYinterface pokey_interface_1 =
+static const struct POKEYinterface pokey_interface_1 =
{
{ 0 },
input_port_0_r
};
-static struct POKEYinterface pokey_interface_2 =
+static const struct POKEYinterface pokey_interface_2 =
{
{ 0 },
input_port_1_r
diff --git a/src/mame/drivers/attckufo.c b/src/mame/drivers/attckufo.c
index 28110e46340..3be48abac95 100644
--- a/src/mame/drivers/attckufo.c
+++ b/src/mame/drivers/attckufo.c
@@ -46,7 +46,7 @@ LOIPOIO-B
#include "includes/attckufo.h"
-static struct CustomSound_interface attckufo_sound_interface =
+static const struct CustomSound_interface attckufo_sound_interface =
{
attckufo_custom_start
};
diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c
index b5113ef7aef..2d1a03460b5 100644
--- a/src/mame/drivers/backfire.c
+++ b/src/mame/drivers/backfire.c
@@ -470,7 +470,7 @@ static void sound_irq_gen(int state)
logerror("sound irq\n");
}
-static struct YMZ280Binterface ymz280b_intf =
+static const struct YMZ280Binterface ymz280b_intf =
{
REGION_SOUND1,
sound_irq_gen
diff --git a/src/mame/drivers/bagman.c b/src/mame/drivers/bagman.c
index da7e02835d5..6bc3b78dc18 100644
--- a/src/mame/drivers/bagman.c
+++ b/src/mame/drivers/bagman.c
@@ -547,13 +547,13 @@ GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_0_r,
input_port_1_r,
};
-static struct TMS5110interface tms5110_interface =
+static const struct TMS5110interface tms5110_interface =
{
0, /*irq callback function*/
bagman_speech_rom_read_bit /*M0 callback function. Called whenever chip requests a single bit of data*/
diff --git a/src/mame/drivers/balsente.c b/src/mame/drivers/balsente.c
index ce6ad22a89a..2d179362f28 100644
--- a/src/mame/drivers/balsente.c
+++ b/src/mame/drivers/balsente.c
@@ -1650,7 +1650,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct cem3394_interface cem_interface =
+static const struct cem3394_interface cem_interface =
{
431.894,
1300.0,
diff --git a/src/mame/drivers/baraduke.c b/src/mame/drivers/baraduke.c
index 80b635822e7..d6cef558d10 100644
--- a/src/mame/drivers/baraduke.c
+++ b/src/mame/drivers/baraduke.c
@@ -423,7 +423,7 @@ GFXDECODE_END
-static struct namco_interface namco_interface =
+static const struct namco_interface namco_interface =
{
8, /* number of voices */
-1, /* memory region */
diff --git a/src/mame/drivers/battlane.c b/src/mame/drivers/battlane.c
index 661541bdfc1..e2621fe8594 100644
--- a/src/mame/drivers/battlane.c
+++ b/src/mame/drivers/battlane.c
@@ -246,7 +246,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(0, M6809_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM3526interface ym3526_interface =
+static const struct YM3526interface ym3526_interface =
{
irqhandler
};
diff --git a/src/mame/drivers/battlera.c b/src/mame/drivers/battlera.c
index b1e5147cd57..fca4b10b246 100644
--- a/src/mame/drivers/battlera.c
+++ b/src/mame/drivers/battlera.c
@@ -259,7 +259,7 @@ GFXDECODE_END
/******************************************************************************/
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
battlera_adpcm_int,/* interrupt function */
MSM5205_S48_4B /* 8KHz */
diff --git a/src/mame/drivers/bbusters.c b/src/mame/drivers/bbusters.c
index c3b526a4dbe..957d890b1bb 100644
--- a/src/mame/drivers/bbusters.c
+++ b/src/mame/drivers/bbusters.c
@@ -642,13 +642,13 @@ static void sound_irq( int irq )
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2608interface ym2608_interface =
+static const struct YM2608interface ym2608_interface =
{
0,0,0,0,sound_irq,
REGION_SOUND1
};
-static struct YM2610interface ym2610_interface =
+static const struct YM2610interface ym2610_interface =
{
sound_irq,
REGION_SOUND2,
diff --git a/src/mame/drivers/bfcobra.c b/src/mame/drivers/bfcobra.c
index 2d25a14025f..f48435f1faa 100644
--- a/src/mame/drivers/bfcobra.c
+++ b/src/mame/drivers/bfcobra.c
@@ -750,7 +750,7 @@ INLINE void z80_bank(int num, int data)
if (data < 0x08)
{
/* TODO: Don't need this table! */
- static UINT32 offs_table[2][8] =
+ static const UINT32 offs_table[2][8] =
{
{ 0x10000, 0x14000, 0x18000, 0x1c000, 0x00000, 0x04000, 0x08000, 0x0c000 },
{ 0x00000, 0x04000, 0x08000, 0x0c000, 0x10000, 0x14000, 0x18000, 0x1c000 }
@@ -1367,7 +1367,7 @@ static void m6809_data_irq(int state)
/*
What are the correct ACIA clocks ?
*/
-static struct acia6850_interface z80_acia_if =
+static const struct acia6850_interface z80_acia_if =
{
500000,
500000,
@@ -1379,7 +1379,7 @@ static struct acia6850_interface z80_acia_if =
z80_acia_irq
};
-static struct acia6850_interface m6809_acia_if =
+static const struct acia6850_interface m6809_acia_if =
{
500000,
500000,
@@ -1391,7 +1391,7 @@ static struct acia6850_interface m6809_acia_if =
NULL
};
-static struct acia6850_interface data_acia_if =
+static const struct acia6850_interface data_acia_if =
{
500000,
500000,
@@ -1474,7 +1474,7 @@ static DRIVER_INIT( bfcobra )
state_save_register_global_pointer(video_ram, 0x20000);
}
-static struct upd7759_interface upd7759_interface =
+static const struct upd7759_interface upd7759_interface =
{
REGION_SOUND1
};
diff --git a/src/mame/drivers/bfm_sc2.c b/src/mame/drivers/bfm_sc2.c
index 19c9ac8f3f0..46c6294a23e 100644
--- a/src/mame/drivers/bfm_sc2.c
+++ b/src/mame/drivers/bfm_sc2.c
@@ -3031,7 +3031,7 @@ static INPUT_PORTS_START( pokio )
INPUT_PORTS_END
- static struct upd7759_interface upd7759_interface =
+ static const struct upd7759_interface upd7759_interface =
{
REGION_SOUND1, /* memory region */
0
diff --git a/src/mame/drivers/bigevglf.c b/src/mame/drivers/bigevglf.c
index e4303cfef10..11050c9763f 100644
--- a/src/mame/drivers/bigevglf.c
+++ b/src/mame/drivers/bigevglf.c
@@ -468,7 +468,7 @@ static MACHINE_RESET( bigevglf )
}
-static struct MSM5232interface msm5232_interface =
+static const struct MSM5232interface msm5232_interface =
{
{ 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6 } /* 0.65 (???) uF capacitors */
};
diff --git a/src/mame/drivers/bishi.c b/src/mame/drivers/bishi.c
index 1b581c98c44..d2ab34dd799 100644
--- a/src/mame/drivers/bishi.c
+++ b/src/mame/drivers/bishi.c
@@ -256,7 +256,7 @@ static void sound_irq_gen(int state)
cpunum_set_input_line(0, MC68000_IRQ_1, CLEAR_LINE);
}
-static struct YMZ280Binterface ymz280b_intf =
+static const struct YMZ280Binterface ymz280b_intf =
{
REGION_SOUND1,
sound_irq_gen
diff --git a/src/mame/drivers/bking2.c b/src/mame/drivers/bking2.c
index 2cc29242aa5..0d594ccf905 100644
--- a/src/mame/drivers/bking2.c
+++ b/src/mame/drivers/bking2.c
@@ -465,7 +465,7 @@ static const gfx_layout charlayout =
8*8 /* every char takes 8 consecutive bytes */
};
-static gfx_layout crowlayout =
+static const gfx_layout crowlayout =
{
16,32, /* 16*32 characters */
16, /* 16 characters */
@@ -482,7 +482,7 @@ static gfx_layout crowlayout =
128*8 /* every sprite takes 128 consecutive bytes */
};
-static gfx_layout balllayout =
+static const gfx_layout balllayout =
{
8,16, /* 8*16 sprites */
8, /* 8 sprites */
@@ -508,7 +508,7 @@ static WRITE8_HANDLER( portb_w )
if (data != 0x00) logerror("portB = %02x\n",data);
}
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0,
0,
diff --git a/src/mame/drivers/bladestl.c b/src/mame/drivers/bladestl.c
index f9ac1ceaeb7..e5e875f9b94 100644
--- a/src/mame/drivers/bladestl.c
+++ b/src/mame/drivers/bladestl.c
@@ -415,7 +415,7 @@ GFXDECODE_END
***************************************************************************/
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
@@ -423,7 +423,7 @@ static struct YM2203interface ym2203_interface =
bladestl_port_B_w
};
-static struct upd7759_interface upd7759_interface =
+static const struct upd7759_interface upd7759_interface =
{
REGION_SOUND1 /* memory regions */
};
diff --git a/src/mame/drivers/blktiger.c b/src/mame/drivers/blktiger.c
index 4e6ddba3c16..191d1e780ce 100644
--- a/src/mame/drivers/blktiger.c
+++ b/src/mame/drivers/blktiger.c
@@ -250,7 +250,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
diff --git a/src/mame/drivers/blockout.c b/src/mame/drivers/blockout.c
index 109158ae9d1..8738aa0ef85 100644
--- a/src/mame/drivers/blockout.c
+++ b/src/mame/drivers/blockout.c
@@ -306,7 +306,7 @@ static void blockout_irq_handler(int irq)
cpunum_set_input_line_and_vector(1,0,irq ? ASSERT_LINE : CLEAR_LINE,0xff);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
blockout_irq_handler
};
diff --git a/src/mame/drivers/blueprnt.c b/src/mame/drivers/blueprnt.c
index f73d03eb347..836eba16ae3 100644
--- a/src/mame/drivers/blueprnt.c
+++ b/src/mame/drivers/blueprnt.c
@@ -276,7 +276,7 @@ GFXDECODE_END
/* Sound Interfaces */
-static struct AY8910interface ay8910_interface_1 =
+static const struct AY8910interface ay8910_interface_1 =
{
0,
soundlatch_r,
@@ -284,7 +284,7 @@ static struct AY8910interface ay8910_interface_1 =
0
};
-static struct AY8910interface ay8910_interface_2 =
+static const struct AY8910interface ay8910_interface_2 =
{
input_port_2_r,
input_port_3_r
diff --git a/src/mame/drivers/bmcbowl.c b/src/mame/drivers/bmcbowl.c
index 63d4abd7701..4f86859a88f 100644
--- a/src/mame/drivers/bmcbowl.c
+++ b/src/mame/drivers/bmcbowl.c
@@ -460,7 +460,7 @@ static WRITE8_HANDLER(input_mux_w)
}
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
dips1_r,
0,
@@ -469,7 +469,7 @@ static struct AY8910interface ay8910_interface =
};
-static struct via6522_interface via_interface =
+static const struct via6522_interface via_interface =
{
/*inputs : A/B */ 0, via_b_in,
/*inputs : CA/B1,CA/B2 */ 0, 0, 0, 0,
diff --git a/src/mame/drivers/bnstars.c b/src/mame/drivers/bnstars.c
index 1f236d757e4..1bee526b5c0 100644
--- a/src/mame/drivers/bnstars.c
+++ b/src/mame/drivers/bnstars.c
@@ -1306,12 +1306,12 @@ static ADDRESS_MAP_START( bnstars_z80_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
#endif
-static struct YMF271interface ymf271_interface1 =
+static const struct YMF271interface ymf271_interface1 =
{
REGION_SOUND1
};
-static struct YMF271interface ymf271_interface2 =
+static const struct YMF271interface ymf271_interface2 =
{
REGION_SOUND2
};
diff --git a/src/mame/drivers/boogwing.c b/src/mame/drivers/boogwing.c
index b5cbf254990..6f038f1b8d3 100644
--- a/src/mame/drivers/boogwing.c
+++ b/src/mame/drivers/boogwing.c
@@ -276,7 +276,7 @@ static WRITE8_HANDLER( sound_bankswitch_w )
OKIM6295_set_bank_base(0, (data & 1) * 0x40000);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq,
sound_bankswitch_w
diff --git a/src/mame/drivers/bottom9.c b/src/mame/drivers/bottom9.c
index 54877a1e21c..e02df10d8a0 100644
--- a/src/mame/drivers/bottom9.c
+++ b/src/mame/drivers/bottom9.c
@@ -383,13 +383,13 @@ static void volume_callback1(int v)
K007232_set_volume(1,1,0,(v & 0x0f) * 0x11);
}
-static struct K007232_interface k007232_interface_1 =
+static const struct K007232_interface k007232_interface_1 =
{
REGION_SOUND1,
volume_callback0
};
-static struct K007232_interface k007232_interface_2 =
+static const struct K007232_interface k007232_interface_2 =
{
REGION_SOUND2,
volume_callback1
diff --git a/src/mame/drivers/brkthru.c b/src/mame/drivers/brkthru.c
index 7027a0cfff1..064fd2e39ea 100644
--- a/src/mame/drivers/brkthru.c
+++ b/src/mame/drivers/brkthru.c
@@ -405,7 +405,7 @@ static void irqhandler(int linestate)
cpunum_set_input_line(1,M6809_IRQ_LINE,linestate);
}
-static struct YM3526interface ym3526_interface =
+static const struct YM3526interface ym3526_interface =
{
irqhandler
};
diff --git a/src/mame/drivers/btoads.c b/src/mame/drivers/btoads.c
index 6c8a5086bf9..906c4af1d94 100644
--- a/src/mame/drivers/btoads.c
+++ b/src/mame/drivers/btoads.c
@@ -302,7 +302,7 @@ INPUT_PORTS_END
*
*************************************/
-static tms34010_config tms_config =
+static const tms34010_config tms_config =
{
FALSE, /* halt on reset */
0, /* the screen operated on */
diff --git a/src/mame/drivers/bublbobl.c b/src/mame/drivers/bublbobl.c
index 23520bf969c..6812b2f9188 100644
--- a/src/mame/drivers/bublbobl.c
+++ b/src/mame/drivers/bublbobl.c
@@ -720,7 +720,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(2, 0, irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
diff --git a/src/mame/drivers/buggychl.c b/src/mame/drivers/buggychl.c
index b63fb25bd17..bf932743553 100644
--- a/src/mame/drivers/buggychl.c
+++ b/src/mame/drivers/buggychl.c
@@ -403,7 +403,7 @@ static WRITE8_HANDLER( portB_1_w )
}
-static struct AY8910interface ay8910_interface_1 =
+static const struct AY8910interface ay8910_interface_1 =
{
0,
0,
@@ -411,7 +411,7 @@ static struct AY8910interface ay8910_interface_1 =
portB_0_w
};
-static struct AY8910interface ay8910_interface_2 =
+static const struct AY8910interface ay8910_interface_2 =
{
0,
0,
@@ -419,7 +419,7 @@ static struct AY8910interface ay8910_interface_2 =
portB_1_w
};
-static struct MSM5232interface msm5232_interface =
+static const struct MSM5232interface msm5232_interface =
{
{ 0.39e-6, 0.39e-6, 0.39e-6, 0.39e-6, 0.39e-6, 0.39e-6, 0.39e-6, 0.39e-6 } /* default 0.39 uF capacitors (not verified) */
};
diff --git a/src/mame/drivers/bwidow.c b/src/mame/drivers/bwidow.c
index d677986ab00..9e8d2518bfb 100644
--- a/src/mame/drivers/bwidow.c
+++ b/src/mame/drivers/bwidow.c
@@ -659,14 +659,14 @@ INPUT_PORTS_END
*
*************************************/
-static struct POKEYinterface pokey_interface_1 =
+static const struct POKEYinterface pokey_interface_1 =
{
{ 0 },
input_port_1_r
};
-static struct POKEYinterface pokey_interface_2 =
+static const struct POKEYinterface pokey_interface_2 =
{
{ 0 },
input_port_2_r
diff --git a/src/mame/drivers/bwing.c b/src/mame/drivers/bwing.c
index 29860e77a04..ea7266f9ef6 100644
--- a/src/mame/drivers/bwing.c
+++ b/src/mame/drivers/bwing.c
@@ -35,7 +35,7 @@ Known issues:
//****************************************************************************
// Imports
-extern gfx_layout bwing_tilelayout;
+extern const gfx_layout bwing_tilelayout;
extern WRITE8_HANDLER( bwing_paletteram_w );
extern WRITE8_HANDLER( bwing_videoram_w );
diff --git a/src/mame/drivers/bzone.c b/src/mame/drivers/bzone.c
index c8ac766d606..be58865cfa4 100644
--- a/src/mame/drivers/bzone.c
+++ b/src/mame/drivers/bzone.c
@@ -539,27 +539,27 @@ INPUT_PORTS_END
*
*************************************/
-static struct POKEYinterface bzone_pokey_interface =
+static const struct POKEYinterface bzone_pokey_interface =
{
{ 0 },
input_port_3_r
};
-static struct CustomSound_interface bzone_custom_interface =
+static const struct CustomSound_interface bzone_custom_interface =
{
bzone_sh_start
};
-static struct POKEYinterface redbaron_pokey_interface =
+static const struct POKEYinterface redbaron_pokey_interface =
{
{ 0 },
redbaron_joy_r
};
-static struct CustomSound_interface redbaron_custom_interface =
+static const struct CustomSound_interface redbaron_custom_interface =
{
redbaron_sh_start
};
diff --git a/src/mame/drivers/cabal.c b/src/mame/drivers/cabal.c
index 5e2fe23fb74..17c8c89d164 100644
--- a/src/mame/drivers/cabal.c
+++ b/src/mame/drivers/cabal.c
@@ -513,7 +513,7 @@ static GFXDECODE_START( cabal )
GFXDECODE_END
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
seibu_ym3812_irqhandler
};
@@ -523,20 +523,20 @@ static void irqhandler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2151interface cabalbl_ym2151_interface =
+static const struct YM2151interface cabalbl_ym2151_interface =
{
irqhandler
};
SEIBU_SOUND_SYSTEM_ADPCM_HARDWARE
-static struct MSM5205interface msm5205_interface_1 =
+static const struct MSM5205interface msm5205_interface_1 =
{
0,
MSM5205_SEX_4B
};
-static struct MSM5205interface msm5205_interface_2 =
+static const struct MSM5205interface msm5205_interface_2 =
{
0,
MSM5205_SEX_4B
diff --git a/src/mame/drivers/capbowl.c b/src/mame/drivers/capbowl.c
index dc9b85e6255..d37dc30fda8 100644
--- a/src/mame/drivers/capbowl.c
+++ b/src/mame/drivers/capbowl.c
@@ -329,7 +329,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
ticket_dispenser_r,
0,
diff --git a/src/mame/drivers/cardline.c b/src/mame/drivers/cardline.c
index a5e7cc746a2..b84292f4063 100644
--- a/src/mame/drivers/cardline.c
+++ b/src/mame/drivers/cardline.c
@@ -150,7 +150,7 @@ static INPUT_PORTS_START( cardline )
PORT_BIT( 0xf5, IP_ACTIVE_HIGH, IPT_SPECIAL ) // h/w status bits
INPUT_PORTS_END
-static gfx_layout charlayout =
+static const gfx_layout charlayout =
{
8,8,
RGN_FRAC(1,1),
diff --git a/src/mame/drivers/carrera.c b/src/mame/drivers/carrera.c
index ea458280417..7b090719e99 100644
--- a/src/mame/drivers/carrera.c
+++ b/src/mame/drivers/carrera.c
@@ -271,7 +271,7 @@ static READ8_HANDLER( unknown_r )
}
/* these are set as input, but I have no idea which input port it uses is for the AY */
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
unknown_r,
unknown_r,
diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c
index 6c50f9990e4..5699277c9d8 100644
--- a/src/mame/drivers/cave.c
+++ b/src/mame/drivers/cave.c
@@ -443,7 +443,7 @@ static NVRAM_HANDLER( cave )
}
}
-static struct EEPROM_interface eeprom_interface_93C46_8bit =
+static const struct EEPROM_interface eeprom_interface_93C46_8bit =
{
7, // address bits 7
8, // data bits 8
@@ -2098,7 +2098,7 @@ static MACHINE_RESET( cave )
EEPROM_get_data_pointer(0)[cave_region_byte] = readinputport(2);
}
-static struct YMZ280Binterface ymz280b_intf =
+static const struct YMZ280Binterface ymz280b_intf =
{
REGION_SOUND1,
sound_irq_gen
@@ -2109,12 +2109,12 @@ static void irqhandler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
irqhandler
};
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,0,0,0,irqhandler
};
diff --git a/src/mame/drivers/cbuster.c b/src/mame/drivers/cbuster.c
index b7cb4a0791c..34d82435797 100644
--- a/src/mame/drivers/cbuster.c
+++ b/src/mame/drivers/cbuster.c
@@ -335,7 +335,7 @@ static void sound_irq(int state)
cpunum_set_input_line(1,1,state); /* IRQ 2 */
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq
};
diff --git a/src/mame/drivers/ccastles.c b/src/mame/drivers/ccastles.c
index c96680a5007..a310074ce4b 100644
--- a/src/mame/drivers/ccastles.c
+++ b/src/mame/drivers/ccastles.c
@@ -448,7 +448,7 @@ GFXDECODE_END
*
*************************************/
-static struct POKEYinterface pokey_interface =
+static const struct POKEYinterface pokey_interface =
{
{ 0 },
input_port_1_r
diff --git a/src/mame/drivers/cchasm.c b/src/mame/drivers/cchasm.c
index f700d49a529..2aefba2aeff 100644
--- a/src/mame/drivers/cchasm.c
+++ b/src/mame/drivers/cchasm.c
@@ -159,7 +159,7 @@ static MACHINE_START( cchasm )
*
*************************************/
-static struct z80_irq_daisy_chain daisy_chain[] =
+static const struct z80_irq_daisy_chain daisy_chain[] =
{
{ z80ctc_reset, z80ctc_irq_state, z80ctc_irq_ack, z80ctc_irq_reti, 0 }, /* CTC number 0 */
{ 0,0,0,0,-1 } /* end mark */
diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c
index 8dffcb20061..a6a23eed2f6 100644
--- a/src/mame/drivers/centiped.c
+++ b/src/mame/drivers/centiped.c
@@ -1595,27 +1595,27 @@ GFXDECODE_END
*
*************************************/
-static struct AY8910interface centipdb_ay8910_interface =
+static const struct AY8910interface centipdb_ay8910_interface =
{
caterplr_rand_r
};
-static struct POKEYinterface milliped_pokey_interface_1 =
+static const struct POKEYinterface milliped_pokey_interface_1 =
{
{ 0 },
input_port_4_r
};
-static struct POKEYinterface milliped_pokey_interface_2 =
+static const struct POKEYinterface milliped_pokey_interface_2 =
{
{ 0 },
input_port_5_r
};
-static struct POKEYinterface warlords_pokey_interface =
+static const struct POKEYinterface warlords_pokey_interface =
{
{ input_port_4_r,input_port_5_r,input_port_6_r,input_port_7_r }
};
diff --git a/src/mame/drivers/chaknpop.c b/src/mame/drivers/chaknpop.c
index cb57f921744..21f34f9b0f1 100644
--- a/src/mame/drivers/chaknpop.c
+++ b/src/mame/drivers/chaknpop.c
@@ -106,13 +106,13 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xc000, 0xffff) AM_WRITE(MWA8_BANK1) // bitmap plane 1-4
ADDRESS_MAP_END
-static struct AY8910interface ay8910_interface_1 =
+static const struct AY8910interface ay8910_interface_1 =
{
input_port_5_r, // DSW A
input_port_4_r // DSW B
};
-static struct AY8910interface ay8910_interface_2 =
+static const struct AY8910interface ay8910_interface_2 =
{
0,
0,
diff --git a/src/mame/drivers/cham24.c b/src/mame/drivers/cham24.c
index 857e831a09f..35eb7504452 100644
--- a/src/mame/drivers/cham24.c
+++ b/src/mame/drivers/cham24.c
@@ -189,7 +189,7 @@ static INPUT_PORTS_START( cham24 )
INPUT_PORTS_END
-static struct NESinterface cham24_interface_1 =
+static const struct NESinterface cham24_interface_1 =
{
REGION_CPU1
};
diff --git a/src/mame/drivers/champbas.c b/src/mame/drivers/champbas.c
index 7fae02b16df..521f65bfab6 100644
--- a/src/mame/drivers/champbas.c
+++ b/src/mame/drivers/champbas.c
@@ -252,7 +252,7 @@ GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_0_r,
input_port_1_r
diff --git a/src/mame/drivers/champbwl.c b/src/mame/drivers/champbwl.c
index 0c29295bb84..f609f695a95 100644
--- a/src/mame/drivers/champbwl.c
+++ b/src/mame/drivers/champbwl.c
@@ -323,7 +323,7 @@ static GFXDECODE_START( champbwl )
GFXDECODE_ENTRY( REGION_GFX1, 0, charlayout, 0, 32 )
GFXDECODE_END
-static struct x1_010_interface champbwl_sound_intf =
+static const struct x1_010_interface champbwl_sound_intf =
{
0x0000 /* address */
};
diff --git a/src/mame/drivers/changela.c b/src/mame/drivers/changela.c
index 23ad19926a2..a0adb2c28e6 100644
--- a/src/mame/drivers/changela.c
+++ b/src/mame/drivers/changela.c
@@ -448,12 +448,12 @@ static INPUT_PORTS_START( changela )
INPUT_PORTS_END
-static struct AY8910interface ay8910_interface_1 = {
+static const struct AY8910interface ay8910_interface_1 = {
input_port_0_r,
input_port_1_r
};
-static struct AY8910interface ay8910_interface_2 = {
+static const struct AY8910interface ay8910_interface_2 = {
input_port_2_r,
input_port_3_r
};
diff --git a/src/mame/drivers/cherrym.c b/src/mame/drivers/cherrym.c
index 001639501ea..9186cba8fd6 100644
--- a/src/mame/drivers/cherrym.c
+++ b/src/mame/drivers/cherrym.c
@@ -363,7 +363,7 @@ static GFXDECODE_START( cherrym )
GFXDECODE_ENTRY( REGION_GFX2, 0x0020, spritelayout, 0, 16 )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_6_r, //
input_port_7_r, //
diff --git a/src/mame/drivers/cherrym2.c b/src/mame/drivers/cherrym2.c
index 53fc6e576d8..c434767b1f9 100644
--- a/src/mame/drivers/cherrym2.c
+++ b/src/mame/drivers/cherrym2.c
@@ -340,7 +340,7 @@ static GFXDECODE_START( alt )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_6_r, //
input_port_7_r, //
diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c
index 5541ea44b5c..d6ce26e19e8 100644
--- a/src/mame/drivers/chinagat.c
+++ b/src/mame/drivers/chinagat.c
@@ -460,14 +460,14 @@ static void chinagat_irq_handler(int irq) {
cpunum_set_input_line( 2, 0, irq ? ASSERT_LINE : CLEAR_LINE );
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
chinagat_irq_handler
};
/* This on the bootleg board, instead of the m6295 */
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
saiyugb1_m5205_irq_w, /* Interrupt function */
MSM5205_S64_4B /* vclk input mode (6030Hz, 4-bit) */
@@ -480,7 +480,7 @@ static INTERRUPT_GEN( chinagat_interrupt )
}
/* This is only on the second bootleg board */
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
diff --git a/src/mame/drivers/chinsan.c b/src/mame/drivers/chinsan.c
index 72b79e9ba9d..26634e5880e 100644
--- a/src/mame/drivers/chinsan.c
+++ b/src/mame/drivers/chinsan.c
@@ -94,7 +94,7 @@ static WRITE8_HANDLER( ym_port_w2 )
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
input_port_0_r,
input_port_1_r,
diff --git a/src/mame/drivers/chqflag.c b/src/mame/drivers/chqflag.c
index 3f91d5c0186..06919d4f729 100644
--- a/src/mame/drivers/chqflag.c
+++ b/src/mame/drivers/chqflag.c
@@ -330,7 +330,7 @@ static void chqflag_ym2151_irq_w(int data)
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
chqflag_ym2151_irq_w
};
@@ -351,13 +351,13 @@ static void volume_callback1(int v)
K007232_set_volume(1,0,(v & 0x0f)*0x11/2,(v >> 4)*0x11/2);
}
-static struct K007232_interface k007232_interface_1 =
+static const struct K007232_interface k007232_interface_1 =
{
REGION_SOUND1,
volume_callback0
};
-static struct K007232_interface k007232_interface_2 =
+static const struct K007232_interface k007232_interface_2 =
{
REGION_SOUND2,
volume_callback1
diff --git a/src/mame/drivers/cidelsa.c b/src/mame/drivers/cidelsa.c
index de9a57f96a2..270043cc924 100644
--- a/src/mame/drivers/cidelsa.c
+++ b/src/mame/drivers/cidelsa.c
@@ -47,7 +47,7 @@ static UINT8 cidelsa_ef_r(void)
return (cdp1869_prd & 0x01) + (readinputportbytag("EF") & 0xfe);
}
-static CDP1802_CONFIG cidelsa_cdp1802_config =
+static const CDP1802_CONFIG cidelsa_cdp1802_config =
{
cidelsa_mode_r,
cidelsa_ef_r,
@@ -148,7 +148,7 @@ static WRITE8_HANDLER ( draco_ay8910_port_b_w )
*/
}
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0,
0,
diff --git a/src/mame/drivers/cinemat.c b/src/mame/drivers/cinemat.c
index 5b9b813cf7b..192e4161aaf 100644
--- a/src/mame/drivers/cinemat.c
+++ b/src/mame/drivers/cinemat.c
@@ -957,14 +957,14 @@ INPUT_PORTS_END
*
*************************************/
-static struct CCPUConfig config_nojmi =
+static const struct CCPUConfig config_nojmi =
{
joystick_read,
cinemat_vector_callback,
0
};
-static struct CCPUConfig config_jmi =
+static const struct CCPUConfig config_jmi =
{
NULL,
cinemat_vector_callback,
diff --git a/src/mame/drivers/citycon.c b/src/mame/drivers/citycon.c
index cf299a3a41f..12eec71abf5 100644
--- a/src/mame/drivers/citycon.c
+++ b/src/mame/drivers/citycon.c
@@ -196,7 +196,7 @@ GFXDECODE_END
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
soundlatch_r,
soundlatch2_r,
diff --git a/src/mame/drivers/cloak.c b/src/mame/drivers/cloak.c
index 070f4d34aea..577c191ec21 100644
--- a/src/mame/drivers/cloak.c
+++ b/src/mame/drivers/cloak.c
@@ -311,13 +311,13 @@ GFXDECODE_END
*
*************************************/
-static struct POKEYinterface pokey_interface_1 =
+static const struct POKEYinterface pokey_interface_1 =
{
{ 0 },
input_port_3_r
};
-static struct POKEYinterface pokey_interface_2 =
+static const struct POKEYinterface pokey_interface_2 =
{
{ 0 },
input_port_4_r
diff --git a/src/mame/drivers/cloud9.c b/src/mame/drivers/cloud9.c
index 8a2dbe8e0ac..43aebcae3d3 100644
--- a/src/mame/drivers/cloud9.c
+++ b/src/mame/drivers/cloud9.c
@@ -440,7 +440,7 @@ GFXDECODE_END
*
*************************************/
-static struct POKEYinterface pokey_interface =
+static const struct POKEYinterface pokey_interface =
{
{ 0 },
input_port_2_r
diff --git a/src/mame/drivers/clshroad.c b/src/mame/drivers/clshroad.c
index 0c009d17775..a3e947f3bb8 100644
--- a/src/mame/drivers/clshroad.c
+++ b/src/mame/drivers/clshroad.c
@@ -294,7 +294,7 @@ GFXDECODE_END
-static struct CustomSound_interface custom_interface =
+static const struct CustomSound_interface custom_interface =
{
wiping_sh_start
};
diff --git a/src/mame/drivers/cninja.c b/src/mame/drivers/cninja.c
index de101ee8fa7..fa4aa6ced56 100644
--- a/src/mame/drivers/cninja.c
+++ b/src/mame/drivers/cninja.c
@@ -846,13 +846,13 @@ static WRITE8_HANDLER( sound_bankswitch_w )
OKIM6295_set_bank_base(1, (data & 1) * 0x40000);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq,
sound_bankswitch_w
};
-static struct YM2151interface ym2151_interface2 =
+static const struct YM2151interface ym2151_interface2 =
{
sound_irq2
};
diff --git a/src/mame/drivers/coinmstr.c b/src/mame/drivers/coinmstr.c
index 13384c55f77..b006dd3bb11 100644
--- a/src/mame/drivers/coinmstr.c
+++ b/src/mame/drivers/coinmstr.c
@@ -617,7 +617,7 @@ static MACHINE_RESET( trailblz )
pia_reset();
}
-static struct AY8910interface ay8912_interface =
+static const struct AY8910interface ay8912_interface =
{
input_port_4_r
};
diff --git a/src/mame/drivers/cojag.c b/src/mame/drivers/cojag.c
index 316d477d974..76c8b3f90a2 100644
--- a/src/mame/drivers/cojag.c
+++ b/src/mame/drivers/cojag.c
@@ -204,7 +204,7 @@ static UINT8 eeprom_enable;
static UINT32 *rom_base;
-static struct ide_interface ide_intf =
+static const struct ide_interface ide_intf =
{
jaguar_external_int
};
@@ -964,7 +964,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct r3000_config config =
+static const struct r3000_config config =
{
0, /* 1 if we have an FPU, 0 otherwise */
4096, /* code cache size */
@@ -972,13 +972,13 @@ static struct r3000_config config =
};
-static struct jaguar_config gpu_config =
+static const struct jaguar_config gpu_config =
{
jaguar_gpu_cpu_int
};
-static struct jaguar_config dsp_config =
+static const struct jaguar_config dsp_config =
{
jaguar_dsp_cpu_int
};
diff --git a/src/mame/drivers/combatsc.c b/src/mame/drivers/combatsc.c
index 1f34f5b8e53..44dec6d56e1 100644
--- a/src/mame/drivers/combatsc.c
+++ b/src/mame/drivers/combatsc.c
@@ -639,7 +639,7 @@ static GFXDECODE_START( combascb )
GFXDECODE_ENTRY( REGION_GFX2, 0x40000, sprite_layout, 0, 8*16 )
GFXDECODE_END
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
@@ -647,7 +647,7 @@ static struct YM2203interface ym2203_interface =
0
};
-static struct upd7759_interface upd7759_interface =
+static const struct upd7759_interface upd7759_interface =
{
REGION_SOUND1, /* memory region */
0
diff --git a/src/mame/drivers/compgolf.c b/src/mame/drivers/compgolf.c
index 6c378bfaedc..9cba0e70f84 100644
--- a/src/mame/drivers/compgolf.c
+++ b/src/mame/drivers/compgolf.c
@@ -198,7 +198,7 @@ static void sound_irq(int linestate)
cpunum_set_input_line(0,0,linestate);
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
diff --git a/src/mame/drivers/coolpool.c b/src/mame/drivers/coolpool.c
index bd4258188f3..a9d451d7460 100644
--- a/src/mame/drivers/coolpool.c
+++ b/src/mame/drivers/coolpool.c
@@ -646,7 +646,7 @@ INPUT_PORTS_END
*
*************************************/
-static tms34010_config tms_config_amerdart =
+static const tms34010_config tms_config_amerdart =
{
FALSE, /* halt on reset */
0, /* the screen operated on */
@@ -659,7 +659,7 @@ static tms34010_config tms_config_amerdart =
};
-static tms34010_config tms_config_coolpool =
+static const tms34010_config tms_config_coolpool =
{
FALSE, /* halt on reset */
0, /* the screen operated on */
diff --git a/src/mame/drivers/couple.c b/src/mame/drivers/couple.c
index 4079e5861c8..35d70411b1d 100644
--- a/src/mame/drivers/couple.c
+++ b/src/mame/drivers/couple.c
@@ -119,7 +119,7 @@ static WRITE8_HANDLER( merit_prot_w )
}
#if 0
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_4_r,
};
diff --git a/src/mame/drivers/cowrace.c b/src/mame/drivers/cowrace.c
index 3a1f30b3bf1..5dd9447904b 100644
--- a/src/mame/drivers/cowrace.c
+++ b/src/mame/drivers/cowrace.c
@@ -149,7 +149,7 @@ static INPUT_PORTS_START( cowrace )
PORT_START // IN0
INPUT_PORTS_END
-static struct YM2203interface ym2203_interface_1 =
+static const struct YM2203interface ym2203_interface_1 =
{
soundlatch_r, OKIM6295_status_0_r, // read A,B
0, OKIM6295_data_0_w, // write A,B
diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c
index a1be3a62d1e..a6cf8099e1d 100644
--- a/src/mame/drivers/cps1.c
+++ b/src/mame/drivers/cps1.c
@@ -162,7 +162,7 @@ Stephh's log (2006.09.20) :
READ16_HANDLER( cps1_dsw_r )
{
- static const char *dswname[3] = { "DSWA", "DSWB", "DSWC" };
+ static const char *const dswname[3] = { "DSWA", "DSWB", "DSWC" };
int control = readinputportbytag(dswname[offset]);
return control << 8 | control;
}
@@ -306,7 +306,7 @@ INTERRUPT_GEN( cps1_interrupt )
*
********************************************************************/
-struct QSound_interface qsound_interface =
+const struct QSound_interface qsound_interface =
{
REGION_SOUND1
};
@@ -3463,7 +3463,7 @@ static void cps1_irq_handler_mus(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
cps1_irq_handler_mus
};
diff --git a/src/mame/drivers/cps2.c b/src/mame/drivers/cps2.c
index 7f8e0538b82..ddfe03e4894 100644
--- a/src/mame/drivers/cps2.c
+++ b/src/mame/drivers/cps2.c
@@ -1342,7 +1342,7 @@ GFXDECODE_END
-static struct m68k_encryption_interface cps2_encryption =
+static const struct m68k_encryption_interface cps2_encryption =
{
CPS2_Read8, CPS2_Read16, CPS2_Read32,
CPS2_Read16, CPS2_Read32
diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c
index b37fb87c72b..6aafda60f05 100644
--- a/src/mame/drivers/cps3.c
+++ b/src/mame/drivers/cps3.c
@@ -2478,7 +2478,7 @@ static INTERRUPT_GEN(cps3_other_interrupt)
//static struct sh2_config sh2cp_conf_slave = { 1 };
-static struct CustomSound_interface custom_interface =
+static const struct CustomSound_interface custom_interface =
{
cps3_sh_start
};
@@ -2497,13 +2497,13 @@ static TIMER_CALLBACK( fastboot_timer_callback )
cpunum_set_reg(0,SH2_VBR, 0x6000000);
}
-static SCSIConfigTable dev_table =
+static const SCSIConfigTable dev_table =
{
1, /* 1 SCSI device */
{ { SCSI_ID_1, 0, SCSI_DEVICE_CDROM } } /* SCSI ID 2, using CD 0, and it's a CD-ROM */
};
-static struct WD33C93interface scsi_intf =
+static const struct WD33C93interface scsi_intf =
{
&dev_table, /* SCSI device table */
NULL /* command completion IRQ */
diff --git a/src/mame/drivers/crgolf.c b/src/mame/drivers/crgolf.c
index 075310ff61d..681a6381ac0 100644
--- a/src/mame/drivers/crgolf.c
+++ b/src/mame/drivers/crgolf.c
@@ -346,7 +346,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct MSM5205interface msm5205_intf =
+static const struct MSM5205interface msm5205_intf =
{
vck_callback,
MSM5205_S64_4B
diff --git a/src/mame/drivers/crimfght.c b/src/mame/drivers/crimfght.c
index c07cfe12b69..cddcded40d4 100644
--- a/src/mame/drivers/crimfght.c
+++ b/src/mame/drivers/crimfght.c
@@ -341,7 +341,7 @@ INPUT_PORTS_END
***************************************************************************/
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
0,
crimfght_snd_bankswitch_w
@@ -353,7 +353,7 @@ static void volume_callback(int v)
K007232_set_volume(0,1,0,(v >> 4) * 0x11);
}
-static struct K007232_interface k007232_interface =
+static const struct K007232_interface k007232_interface =
{
REGION_SOUND1, /* memory regions */
volume_callback /* external port callback */
diff --git a/src/mame/drivers/crospang.c b/src/mame/drivers/crospang.c
index eb8600ceb5d..f6fbf055be0 100644
--- a/src/mame/drivers/crospang.c
+++ b/src/mame/drivers/crospang.c
@@ -395,7 +395,7 @@ static void irqhandler(int linestate)
cpunum_set_input_line(1,0,linestate);
}
-static struct YM3812interface ym3812_interface =
+static const struct YM3812interface ym3812_interface =
{
irqhandler /* IRQ Line */
};
diff --git a/src/mame/drivers/crshrace.c b/src/mame/drivers/crshrace.c
index 5879b2f3b48..696a2fe6561 100644
--- a/src/mame/drivers/crshrace.c
+++ b/src/mame/drivers/crshrace.c
@@ -610,7 +610,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2610interface ym2610_interface =
+static const struct YM2610interface ym2610_interface =
{
irqhandler,
REGION_SOUND1,
diff --git a/src/mame/drivers/crystal.c b/src/mame/drivers/crystal.c
index 47e01d11edb..556a5357d73 100644
--- a/src/mame/drivers/crystal.c
+++ b/src/mame/drivers/crystal.c
@@ -814,7 +814,7 @@ static INPUT_PORTS_START(crystal)
INPUT_PORTS_END
-static struct VR0Interface vr0_interface =
+static const struct VR0Interface vr0_interface =
{
0x04800000
};
diff --git a/src/mame/drivers/cubocd32.c b/src/mame/drivers/cubocd32.c
index f2c4dd4b015..c8068652bce 100644
--- a/src/mame/drivers/cubocd32.c
+++ b/src/mame/drivers/cubocd32.c
@@ -257,7 +257,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct CustomSound_interface amiga_custom_interface =
+static const struct CustomSound_interface amiga_custom_interface =
{
amiga_sh_start
};
diff --git a/src/mame/drivers/cvs.c b/src/mame/drivers/cvs.c
index 4617fa0780d..34e51bfed0f 100644
--- a/src/mame/drivers/cvs.c
+++ b/src/mame/drivers/cvs.c
@@ -219,7 +219,7 @@ static READ8_HANDLER( cvs_393hz_Clock_r )
else return 0;
}
-static struct TMS5110interface tms5110_interface =
+static const struct TMS5110interface tms5110_interface =
{
0, /*irq callback function*/
cvs_speech_rom_read_bit /*M0 callback function. Called whenever chip requests a single bit of data*/
diff --git a/src/mame/drivers/cyberbal.c b/src/mame/drivers/cyberbal.c
index 7e81b42914a..a38475dee34 100644
--- a/src/mame/drivers/cyberbal.c
+++ b/src/mame/drivers/cyberbal.c
@@ -428,7 +428,7 @@ GFXDECODE_END
*
*************************************/
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
atarigen_ym2151_irq_gen
};
diff --git a/src/mame/drivers/cybertnk.c b/src/mame/drivers/cybertnk.c
index 29bba4f7ddb..2369e7365a4 100644
--- a/src/mame/drivers/cybertnk.c
+++ b/src/mame/drivers/cybertnk.c
@@ -556,7 +556,7 @@ static INTERRUPT_GEN( slave_irq )
}
}
-static struct Y8950interface y8950_interface = {
+static const struct Y8950interface y8950_interface = {
0, /* TODO */
REGION_SOUND1 /* memory region */
};
diff --git a/src/mame/drivers/darius.c b/src/mame/drivers/darius.c
index c74be14940b..2d3115eabda 100644
--- a/src/mame/drivers/darius.c
+++ b/src/mame/drivers/darius.c
@@ -547,7 +547,7 @@ static void darius_adpcm_int (int data)
}
}
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
darius_adpcm_int, /* interrupt function */
MSM5205_S48_4B /* 8KHz */
@@ -832,7 +832,7 @@ static void irqhandler(int irq) /* assumes Z80 sandwiched between 68Ks */
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2203interface ym2203_interface_1 =
+static const struct YM2203interface ym2203_interface_1 =
{
0, /* portA read */
0,
@@ -841,7 +841,7 @@ static struct YM2203interface ym2203_interface_1 =
irqhandler
};
-static struct YM2203interface ym2203_interface_2 =
+static const struct YM2203interface ym2203_interface_2 =
{
0, /* portA read */
0,
diff --git a/src/mame/drivers/darkhors.c b/src/mame/drivers/darkhors.c
index 84ec4a28547..f96b22c164a 100644
--- a/src/mame/drivers/darkhors.c
+++ b/src/mame/drivers/darkhors.c
@@ -558,7 +558,7 @@ INPUT_PORTS_END
***************************************************************************/
-static gfx_layout layout_16x16x8 =
+static const gfx_layout layout_16x16x8 =
{
16,16,
RGN_FRAC(1,4),
diff --git a/src/mame/drivers/darkseal.c b/src/mame/drivers/darkseal.c
index 157c88809d5..8644d94c583 100644
--- a/src/mame/drivers/darkseal.c
+++ b/src/mame/drivers/darkseal.c
@@ -278,7 +278,7 @@ static void sound_irq(int state)
cpunum_set_input_line(1,1,state); /* IRQ 2 */
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq
};
diff --git a/src/mame/drivers/dassault.c b/src/mame/drivers/dassault.c
index d5e3e29375b..a3e6f754724 100644
--- a/src/mame/drivers/dassault.c
+++ b/src/mame/drivers/dassault.c
@@ -542,7 +542,7 @@ static WRITE8_HANDLER( sound_bankswitch_w )
OKIM6295_set_bank_base(1, (data & 1) * 0x40000);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq,
sound_bankswitch_w
diff --git a/src/mame/drivers/dblewing.c b/src/mame/drivers/dblewing.c
index 83147937c03..b21b92dc39a 100644
--- a/src/mame/drivers/dblewing.c
+++ b/src/mame/drivers/dblewing.c
@@ -532,7 +532,7 @@ static void sound_irq(int irq)
// mame_printf_debug("sound irq\n");
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq
};
diff --git a/src/mame/drivers/dbz.c b/src/mame/drivers/dbz.c
index 61410aa153c..a53765ecc78 100644
--- a/src/mame/drivers/dbz.c
+++ b/src/mame/drivers/dbz.c
@@ -406,7 +406,7 @@ INPUT_PORTS_END
/**********************************************************************************/
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
dbz_sound_irq
};
diff --git a/src/mame/drivers/ddayjlc.c b/src/mame/drivers/ddayjlc.c
index e683a8c9a81..d9c922b1b44 100644
--- a/src/mame/drivers/ddayjlc.c
+++ b/src/mame/drivers/ddayjlc.c
@@ -378,7 +378,7 @@ static VIDEO_UPDATE( ddayjlc )
return 0;
}
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
soundlatch_r
};
diff --git a/src/mame/drivers/ddealer.c b/src/mame/drivers/ddealer.c
index c5b7de49f26..3efd7d7e3eb 100644
--- a/src/mame/drivers/ddealer.c
+++ b/src/mame/drivers/ddealer.c
@@ -213,7 +213,7 @@ MACHINE_DRIVER_END
static READ16_HANDLER( ddealer_mcu_r )
{
- static int resp[] =
+ static const int resp[] =
{
0x93, 0xc7, 0x00, 0x8000,
0x2d, 0x6d, 0x00, 0x8000,
diff --git a/src/mame/drivers/ddenlovr.c b/src/mame/drivers/ddenlovr.c
index 2d0ed88b8b0..e54bbfe73a5 100644
--- a/src/mame/drivers/ddenlovr.c
+++ b/src/mame/drivers/ddenlovr.c
@@ -6569,7 +6569,7 @@ static MACHINE_DRIVER_START( akamaru )
MACHINE_DRIVER_END
-static struct AY8910interface quiz365_ay8910_interface =
+static const struct AY8910interface quiz365_ay8910_interface =
{
quiz365_input_r,
0,
@@ -6909,7 +6909,7 @@ static INTERRUPT_GEN( rtc_nmi_irq )
cpunum_set_input_line(0, INPUT_LINE_NMI, PULSE_LINE);
}
-static struct AY8910interface mjmyster_ay8910_interface =
+static const struct AY8910interface mjmyster_ay8910_interface =
{
0,
0,
@@ -6957,7 +6957,7 @@ static INTERRUPT_GEN( hginga_irq )
cpunum_set_input_line_and_vector(0, 0, HOLD_LINE, 0xf8);
}
-static struct AY8910interface hginga_ay8910_interface =
+static const struct AY8910interface hginga_ay8910_interface =
{
// A B
hginga_dsw_r, 0, // R
diff --git a/src/mame/drivers/ddragon.c b/src/mame/drivers/ddragon.c
index 1dea5ad9b68..3e2cc1a741c 100644
--- a/src/mame/drivers/ddragon.c
+++ b/src/mame/drivers/ddragon.c
@@ -953,12 +953,12 @@ static void irq_handler(int irq)
cpunum_set_input_line( snd_cpu, ym_irq , irq ? ASSERT_LINE : CLEAR_LINE );
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
irq_handler
};
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
dd_adpcm_int, /* interrupt function */
MSM5205_S48_4B /* 8kHz */
diff --git a/src/mame/drivers/ddragon3.c b/src/mame/drivers/ddragon3.c
index d889b795b2a..f06ef69b703 100644
--- a/src/mame/drivers/ddragon3.c
+++ b/src/mame/drivers/ddragon3.c
@@ -480,7 +480,7 @@ static void dd3_ymirq_handler(int irq)
cpunum_set_input_line( 1, 0 , irq ? ASSERT_LINE : CLEAR_LINE );
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
dd3_ymirq_handler
};
diff --git a/src/mame/drivers/ddrible.c b/src/mame/drivers/ddrible.c
index ae0248df1e5..f2d16de5bfb 100644
--- a/src/mame/drivers/ddrible.c
+++ b/src/mame/drivers/ddrible.c
@@ -322,7 +322,7 @@ static GFXDECODE_START( ddrible )
GFXDECODE_ENTRY( REGION_GFX2, 0x40000, spritelayout, 64, 16 ) /* colors 0-15 but using lookup table */
GFXDECODE_END
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
ddrible_vlm5030_busy_r,
@@ -330,7 +330,7 @@ static struct YM2203interface ym2203_interface =
0
};
-static struct VLM5030interface vlm5030_interface =
+static const struct VLM5030interface vlm5030_interface =
{
REGION_SOUND1,/* memory region of speech rom */
0x10000 /* memory size 64Kbyte * 2 bank */
diff --git a/src/mame/drivers/ddz.c b/src/mame/drivers/ddz.c
index 4b5a57c875d..0a79e61eb42 100644
--- a/src/mame/drivers/ddz.c
+++ b/src/mame/drivers/ddz.c
@@ -45,7 +45,7 @@ static INPUT_PORTS_START(ddz)
INPUT_PORTS_END
-static struct VR0Interface vr0_interface =
+static const struct VR0Interface vr0_interface =
{
0x04800000
};
diff --git a/src/mame/drivers/dec0.c b/src/mame/drivers/dec0.c
index 4ef54eb6323..869d251a598 100644
--- a/src/mame/drivers/dec0.c
+++ b/src/mame/drivers/dec0.c
@@ -912,12 +912,12 @@ static void sound_irq2(int linestate)
cpunum_set_input_line(1,1,linestate); /* IRQ2 */
}
-static struct YM3812interface ym3812_interface =
+static const struct YM3812interface ym3812_interface =
{
sound_irq
};
-static struct YM3812interface ym3812b_interface =
+static const struct YM3812interface ym3812b_interface =
{
sound_irq2
};
@@ -1965,10 +1965,10 @@ ROM_END
ROM_START( secretag )
ROM_REGION( 0x60000, REGION_CPU1, 0 ) /* 68000 code */
- ROM_LOAD16_BYTE( "fb14.bin", 0x00000, 0x10000, CRC(9be6ac90) SHA1(1c78af9da63add7c77c8d2ce24924505481381b1) )
- ROM_LOAD16_BYTE( "fb12.bin", 0x00001, 0x10000, CRC(28904b6b) SHA1(c3fd42c3ba5b19c3483df3ac9e44016570762de7) )
- ROM_LOAD16_BYTE( "fb15.bin", 0x20000, 0x10000, CRC(106bb26c) SHA1(e5d05124b6dfc54e41dcf40916633caaa9a19823) )
- ROM_LOAD16_BYTE( "fb13.bin", 0x20001, 0x10000, CRC(90523413) SHA1(7ea65525f2d7c577255aa01260acc5f43d136b3c) )
+ ROM_LOAD16_BYTE( "fb14-3.17l", 0x00000, 0x10000, CRC(9be6ac90) SHA1(1c78af9da63add7c77c8d2ce24924505481381b1) )
+ ROM_LOAD16_BYTE( "fb12-3.9l", 0x00001, 0x10000, CRC(28904b6b) SHA1(c3fd42c3ba5b19c3483df3ac9e44016570762de7) )
+ ROM_LOAD16_BYTE( "fb15.19l", 0x20000, 0x10000, CRC(106bb26c) SHA1(e5d05124b6dfc54e41dcf40916633caaa9a19823) )
+ ROM_LOAD16_BYTE( "fb13.11l", 0x20001, 0x10000, CRC(90523413) SHA1(7ea65525f2d7c577255aa01260acc5f43d136b3c) )
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* Sound CPU */
ROM_LOAD( "fa10.5h", 0x00000, 0x10000, CRC(dfd2ff25) SHA1(3dcd6d50b92b49daae4b51581abe9c95f764e848) )
diff --git a/src/mame/drivers/dec8.c b/src/mame/drivers/dec8.c
index dcf6143b9a5..5fc27b43253 100644
--- a/src/mame/drivers/dec8.c
+++ b/src/mame/drivers/dec8.c
@@ -2019,22 +2019,22 @@ static void oscar_irqhandler(int linestate)
cpunum_set_input_line(2,0,linestate); /* M6502_IRQ_LINE */
}
-static struct YM3526interface ym3526_interface =
+static const struct YM3526interface ym3526_interface =
{
irqhandler
};
-static struct YM3526interface oscar_ym3526_interface =
+static const struct YM3526interface oscar_ym3526_interface =
{
oscar_irqhandler
};
-static struct YM3812interface ym3812_interface =
+static const struct YM3812interface ym3812_interface =
{
irqhandler
};
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
csilver_adpcm_int, /* interrupt function */
MSM5205_S48_4B /* 8KHz */
diff --git a/src/mame/drivers/deco156.c b/src/mame/drivers/deco156.c
index ee8596cd2ea..2e92b2489ba 100644
--- a/src/mame/drivers/deco156.c
+++ b/src/mame/drivers/deco156.c
@@ -409,7 +409,7 @@ static void sound_irq_gen(int state)
logerror("sound irq\n");
}
-static struct YMZ280Binterface ymz280b_intf =
+static const struct YMZ280Binterface ymz280b_intf =
{
REGION_SOUND1,
sound_irq_gen
diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c
index b38938911a9..039f7eaf656 100644
--- a/src/mame/drivers/deco32.c
+++ b/src/mame/drivers/deco32.c
@@ -1798,13 +1798,13 @@ static WRITE8_HANDLER( sound_bankswitch_w )
OKIM6295_set_bank_base(1, ((data >> 1)& 1) * 0x40000);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq,
sound_bankswitch_w
};
-static struct YM2151interface ym2151_interface_nslasher =
+static const struct YM2151interface ym2151_interface_nslasher =
{
sound_irq_nslasher,
sound_bankswitch_w
diff --git a/src/mame/drivers/deco_mlc.c b/src/mame/drivers/deco_mlc.c
index d86c62fec72..e94e69155fc 100644
--- a/src/mame/drivers/deco_mlc.c
+++ b/src/mame/drivers/deco_mlc.c
@@ -425,7 +425,7 @@ static MACHINE_RESET( mlc )
raster_irq_timer = timer_alloc(interrupt_gen, NULL);
}
-static struct YMZ280Binterface ymz280b_intf =
+static const struct YMZ280Binterface ymz280b_intf =
{
REGION_SOUND1,
0
diff --git a/src/mame/drivers/deniam.c b/src/mame/drivers/deniam.c
index d956902e5f8..95f1566f10c 100644
--- a/src/mame/drivers/deniam.c
+++ b/src/mame/drivers/deniam.c
@@ -311,7 +311,7 @@ static void irqhandler(int linestate)
cpunum_set_input_line(1,0,linestate);
}
-static struct YM3812interface ym3812_interface =
+static const struct YM3812interface ym3812_interface =
{
irqhandler
};
diff --git a/src/mame/drivers/dietgo.c b/src/mame/drivers/dietgo.c
index 2893f223bda..ebf825788ee 100644
--- a/src/mame/drivers/dietgo.c
+++ b/src/mame/drivers/dietgo.c
@@ -195,7 +195,7 @@ static void sound_irq(int state)
cpunum_set_input_line(1,1,state); /* IRQ 2 */
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq
};
diff --git a/src/mame/drivers/discoboy.c b/src/mame/drivers/discoboy.c
index 64fe032ef5e..b16b8e6d2a5 100644
--- a/src/mame/drivers/discoboy.c
+++ b/src/mame/drivers/discoboy.c
@@ -464,7 +464,7 @@ GFXDECODE_END
-static struct MSM5205interface discoboy_msm5205_interface =
+static const struct MSM5205interface discoboy_msm5205_interface =
{
splash_msm5205_int, /* IRQ handler */
MSM5205_S48_4B /* ??? unknown hz */
diff --git a/src/mame/drivers/djmain.c b/src/mame/drivers/djmain.c
index d29cb32106e..7e0bb8d277e 100644
--- a/src/mame/drivers/djmain.c
+++ b/src/mame/drivers/djmain.c
@@ -1152,7 +1152,7 @@ GFXDECODE_END
*
*************************************/
-static struct ide_interface ide_intf =
+static const struct ide_interface ide_intf =
{
ide_interrupt,
};
@@ -1165,7 +1165,7 @@ static struct ide_interface ide_intf =
*
*************************************/
-static struct K054539interface k054539_interface =
+static const struct K054539interface k054539_interface =
{
REGION_SOUND1
};
@@ -1731,7 +1731,7 @@ static DRIVER_INIT( beatmania )
ide_controller_init(0, &ide_intf);
}
-static UINT8 beatmania_master_password[2 + 32] =
+static const UINT8 beatmania_master_password[2 + 32] =
{
0x01, 0x00,
0x4d, 0x47, 0x43, 0x28, 0x4b, 0x29, 0x4e, 0x4f,
@@ -1742,7 +1742,7 @@ static UINT8 beatmania_master_password[2 + 32] =
static DRIVER_INIT( hmcompmx )
{
- static UINT8 hmcompmx_user_password[2 + 32] =
+ static const UINT8 hmcompmx_user_password[2 + 32] =
{
0x00, 0x00,
0x44, 0x42, 0x56, 0x4b, 0x3a, 0x34, 0x38, 0x2a,
@@ -1759,7 +1759,7 @@ static DRIVER_INIT( hmcompmx )
static DRIVER_INIT( bm4thmix )
{
- static UINT8 bm4thmix_user_password[2 + 32] =
+ static const UINT8 bm4thmix_user_password[2 + 32] =
{
0x00, 0x00,
0x44, 0x42, 0x29, 0x4b, 0x2f, 0x2c, 0x4c, 0x32,
@@ -1775,7 +1775,7 @@ static DRIVER_INIT( bm4thmix )
static DRIVER_INIT( bm5thmix )
{
- static UINT8 bm5thmix_user_password[2 + 32] =
+ static const UINT8 bm5thmix_user_password[2 + 32] =
{
0x00, 0x00,
0x44, 0x42, 0x56, 0x4b, 0x37, 0x35, 0x4a, 0x23,
@@ -1792,7 +1792,7 @@ static DRIVER_INIT( bm5thmix )
static DRIVER_INIT( bmclubmx )
{
- static UINT8 bmclubmx_user_password[2 + 32] =
+ static const UINT8 bmclubmx_user_password[2 + 32] =
{
0x00, 0x00,
0x44, 0x20, 0x30, 0x57, 0x3c, 0x3f, 0x38, 0x32,
@@ -1810,7 +1810,7 @@ static DRIVER_INIT( bmclubmx )
static DRIVER_INIT( bmcompm2 )
{
- static UINT8 bmcompm2_user_password[2 + 32] =
+ static const UINT8 bmcompm2_user_password[2 + 32] =
{
0x00, 0x00,
0x3a, 0x20, 0x31, 0x3e, 0x46, 0x2c, 0x35, 0x46,
@@ -1827,7 +1827,7 @@ static DRIVER_INIT( bmcompm2 )
static DRIVER_INIT( hmcompm2 )
{
- static UINT8 hmcompm2_user_password[2 + 32] =
+ static const UINT8 hmcompm2_user_password[2 + 32] =
{
0x00, 0x00,
0x3b, 0x39, 0x24, 0x3e, 0x4e, 0x59, 0x5c, 0x32,
@@ -1844,7 +1844,7 @@ static DRIVER_INIT( hmcompm2 )
static DRIVER_INIT( bmdct )
{
- static UINT8 bmdct_user_password[2 + 32] =
+ static const UINT8 bmdct_user_password[2 + 32] =
{
0x00, 0x00,
0x52, 0x47, 0x30, 0x3f, 0x2f, 0x39, 0x54, 0x5e,
@@ -1861,7 +1861,7 @@ static DRIVER_INIT( bmdct )
static DRIVER_INIT( bmcorerm )
{
- static UINT8 bmcorerm_user_password[2 + 32] =
+ static const UINT8 bmcorerm_user_password[2 + 32] =
{
0x00, 0x00,
0x44, 0x42, 0x56, 0x4b, 0x3f, 0x4d, 0x4a, 0x27,
@@ -1878,7 +1878,7 @@ static DRIVER_INIT( bmcorerm )
static DRIVER_INIT( bm6thmix )
{
- static UINT8 bm6thmix_user_password[2 + 32] =
+ static const UINT8 bm6thmix_user_password[2 + 32] =
{
0x00, 0x00,
0x44, 0x42, 0x56, 0x4b, 0x3d, 0x4d, 0x4a, 0x23,
@@ -1895,7 +1895,7 @@ static DRIVER_INIT( bm6thmix )
static DRIVER_INIT( bm7thmix )
{
- static UINT8 bm7thmix_user_password[2 + 32] =
+ static const UINT8 bm7thmix_user_password[2 + 32] =
{
0x00, 0x00,
0x44, 0x42, 0x56, 0x4b, 0x3f, 0x4e, 0x4a, 0x25,
@@ -1913,7 +1913,7 @@ static DRIVER_INIT( bm7thmix )
#if 0
static DRIVER_INIT( bmfinal )
{
- static UINT8 bmfinal_user_password[2 + 32] =
+ static const UINT8 bmfinal_user_password[2 + 32] =
{
0x00, 0x00,
0x44, 0x42, 0x56, 0x4b, 0x3f, 0x4f, 0x4a, 0x23,
diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c
index 142d8282ddb..097f79ca1c1 100644
--- a/src/mame/drivers/dkong.c
+++ b/src/mame/drivers/dkong.c
@@ -230,7 +230,7 @@ static void p8257_ctl_w(UINT8 data);
*
*************************************/
-static struct dma8257_interface dk_dma =
+static const struct dma8257_interface dk_dma =
{
0,
CLOCK_1H,
@@ -243,7 +243,7 @@ static struct dma8257_interface dk_dma =
{ 0, 0, 0, 0 }
};
-static struct dma8257_interface hb_dma =
+static const struct dma8257_interface hb_dma =
{
0,
CLOCK_1H,
diff --git a/src/mame/drivers/dlair.c b/src/mame/drivers/dlair.c
index 2d18f8853e6..151747ae64e 100644
--- a/src/mame/drivers/dlair.c
+++ b/src/mame/drivers/dlair.c
@@ -133,7 +133,7 @@ static z80sio_interface sio_intf =
};
-static struct z80_irq_daisy_chain dleuro_daisy_chain[] =
+static const struct z80_irq_daisy_chain dleuro_daisy_chain[] =
{
{ z80sio_reset, z80sio_irq_state, z80sio_irq_ack, z80sio_irq_reti, 0 },
{ z80ctc_reset, z80ctc_irq_state, z80ctc_irq_ack, z80ctc_irq_reti, 0 },
@@ -783,7 +783,7 @@ GFXDECODE_END
*
*************************************/
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_0_r,
input_port_1_r
diff --git a/src/mame/drivers/docastle.c b/src/mame/drivers/docastle.c
index 5d21b288aeb..8c14aa67ab8 100644
--- a/src/mame/drivers/docastle.c
+++ b/src/mame/drivers/docastle.c
@@ -616,7 +616,7 @@ GFXDECODE_END
/* Sound Interfaces */
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
idsoccer_adpcm_int, // interrupt function
MSM5205_S64_4B // 6 kHz ???
diff --git a/src/mame/drivers/dominob.c b/src/mame/drivers/dominob.c
index 1e2faddfa6c..184f0063152 100644
--- a/src/mame/drivers/dominob.c
+++ b/src/mame/drivers/dominob.c
@@ -241,7 +241,7 @@ static GFXDECODE_START( dominob )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_5_r,
input_port_4_r
diff --git a/src/mame/drivers/dooyong.c b/src/mame/drivers/dooyong.c
index f89ad145e99..508543dc5d2 100644
--- a/src/mame/drivers/dooyong.c
+++ b/src/mame/drivers/dooyong.c
@@ -907,7 +907,7 @@ static READ8_HANDLER( unk_r )
return 0;
}
-static struct YM2203interface ym2203_interface_1 =
+static const struct YM2203interface ym2203_interface_1 =
{
unk_r,
0,
@@ -916,12 +916,12 @@ static struct YM2203interface ym2203_interface_1 =
irqhandler
};
-static struct YM2203interface ym2203_interface_2 =
+static const struct YM2203interface ym2203_interface_2 =
{
unk_r
};
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
irqhandler
};
diff --git a/src/mame/drivers/drmicro.c b/src/mame/drivers/drmicro.c
index b28e01c47cd..afff24bc22e 100644
--- a/src/mame/drivers/drmicro.c
+++ b/src/mame/drivers/drmicro.c
@@ -219,7 +219,7 @@ static GFXDECODE_START( drmicro )
GFXDECODE_ENTRY( REGION_GFX2, 0x0000, spritelayout8, 256, 32 ) /* sprites */
GFXDECODE_END
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
pcm_w, /* IRQ handler */
MSM5205_S64_4B /* 6 KHz */
diff --git a/src/mame/drivers/drtomy.c b/src/mame/drivers/drtomy.c
index cf5f3d68e1b..1c318ea1258 100644
--- a/src/mame/drivers/drtomy.c
+++ b/src/mame/drivers/drtomy.c
@@ -52,8 +52,8 @@ static void draw_sprites(running_machine *machine, mame_bitmap *bitmap, const re
int i, x, y, ex, ey;
const gfx_element *gfx = machine->gfx[0];
- static int x_offset[2] = {0x0,0x2};
- static int y_offset[2] = {0x0,0x1};
+ static const int x_offset[2] = {0x0,0x2};
+ static const int y_offset[2] = {0x0,0x1};
for (i = 3; i < 0x1000/2; i+=4){
int sx = drtomy_spriteram[i+2] & 0x01ff;
diff --git a/src/mame/drivers/dunhuang.c b/src/mame/drivers/dunhuang.c
index 77194fc3332..7d72b73485f 100644
--- a/src/mame/drivers/dunhuang.c
+++ b/src/mame/drivers/dunhuang.c
@@ -661,7 +661,7 @@ GFXDECODE_END
Machine Drivers
***************************************************************************/
-static struct AY8910interface dunhuang_ay8910_interface =
+static const struct AY8910interface dunhuang_ay8910_interface =
{
// A B
0, dunhuang_dsw_r, // R
diff --git a/src/mame/drivers/dwarfd.c b/src/mame/drivers/dwarfd.c
index 3a1daf26cad..22bdbb1f648 100644
--- a/src/mame/drivers/dwarfd.c
+++ b/src/mame/drivers/dwarfd.c
@@ -674,7 +674,7 @@ static PALETTE_INIT(dwarfd)
palette_set_color(machine, 6, MAKE_RGB(255, 0, 0));
}
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_3_r,
input_port_2_r,
diff --git a/src/mame/drivers/dynax.c b/src/mame/drivers/dynax.c
index aa3bfe9f072..a6c421b9889 100644
--- a/src/mame/drivers/dynax.c
+++ b/src/mame/drivers/dynax.c
@@ -3576,7 +3576,7 @@ INPUT_PORTS_END
Hana no Mai
***************************************************************************/
-static struct YM2203interface hanamai_ym2203_interface =
+static const struct YM2203interface hanamai_ym2203_interface =
{
input_port_1_r, /* Port A Read: DSW */
input_port_0_r, /* Port B Read: DSW */
@@ -3585,7 +3585,7 @@ static struct YM2203interface hanamai_ym2203_interface =
sprtmtch_sound_callback /* IRQ handler */
};
-static struct MSM5205interface hanamai_msm5205_interface =
+static const struct MSM5205interface hanamai_msm5205_interface =
{
adpcm_int, /* IRQ handler */
MSM5205_S48_4B /* 8 KHz, 4 Bits */
@@ -3642,7 +3642,7 @@ MACHINE_DRIVER_END
Hana Oriduru
***************************************************************************/
-static struct AY8910interface hnoridur_ay8910_interface =
+static const struct AY8910interface hnoridur_ay8910_interface =
{
input_port_0_r /* Port A Read: DSW */
};
@@ -3691,7 +3691,7 @@ MACHINE_DRIVER_END
Sports Match
***************************************************************************/
-static struct YM2203interface sprtmtch_ym2203_interface =
+static const struct YM2203interface sprtmtch_ym2203_interface =
{
input_port_3_r, /* Port A Read: DSW */
input_port_4_r, /* Port B Read: DSW */
@@ -3861,7 +3861,7 @@ MACHINE_DRIVER_END
// dual monitor, 2 CPU's, 2 blitters
-static struct YM2203interface jantouki_ym2203_interface =
+static const struct YM2203interface jantouki_ym2203_interface =
{
0, /* Port A Read: DSW */
0, /* Port B Read: DSW */
@@ -3870,7 +3870,7 @@ static struct YM2203interface jantouki_ym2203_interface =
jantouki_sound_callback /* IRQ handler */
};
-static struct MSM5205interface jantouki_msm5205_interface =
+static const struct MSM5205interface jantouki_msm5205_interface =
{
adpcm_int_cpu1, /* IRQ handler */
MSM5205_S48_4B /* 8 KHz, 4 Bits */
@@ -4033,7 +4033,7 @@ MACHINE_DRIVER_END
Hanafuda Hana Tengoku
***************************************************************************/
-static struct AY8910interface htengoku_ay8910_interface =
+static const struct AY8910interface htengoku_ay8910_interface =
{
// A B
htengoku_dsw_r, 0, // R
@@ -4091,7 +4091,7 @@ static INTERRUPT_GEN( tenkai_interrupt )
}
}
-static struct AY8910interface tenkai_ay8910_interface =
+static const struct AY8910interface tenkai_ay8910_interface =
{
// A // B
tenkai_dsw_r, 0, // Read
diff --git a/src/mame/drivers/enigma2.c b/src/mame/drivers/enigma2.c
index e55db4e5e60..a1387a9f47a 100644
--- a/src/mame/drivers/enigma2.c
+++ b/src/mame/drivers/enigma2.c
@@ -392,7 +392,7 @@ static UINT32 p2_controls_r(void *param)
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
sound_latch_r,
0,
diff --git a/src/mame/drivers/eolithsp.c b/src/mame/drivers/eolithsp.c
index 3f760da6534..6c156c4be54 100644
--- a/src/mame/drivers/eolithsp.c
+++ b/src/mame/drivers/eolithsp.c
@@ -29,7 +29,7 @@ void eolith_speedup_read(void)
}
-static struct
+static const struct
{
const char *s_name;
UINT32 speedup_address;
diff --git a/src/mame/drivers/ettrivia.c b/src/mame/drivers/ettrivia.c
index 00d04f4e467..8fac5071def 100644
--- a/src/mame/drivers/ettrivia.c
+++ b/src/mame/drivers/ettrivia.c
@@ -200,12 +200,12 @@ static VIDEO_UPDATE( ettrivia )
return 0;
}
-static struct AY8910interface ay8912_interface_2 =
+static const struct AY8910interface ay8912_interface_2 =
{
input_port_1_r
};
-static struct AY8910interface ay8912_interface_3 =
+static const struct AY8910interface ay8912_interface_3 =
{
input_port_0_r
};
diff --git a/src/mame/drivers/exerion.c b/src/mame/drivers/exerion.c
index c3b5047255a..77d6e7c0527 100644
--- a/src/mame/drivers/exerion.c
+++ b/src/mame/drivers/exerion.c
@@ -261,7 +261,7 @@ GFXDECODE_END
*
*************************************/
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
exerion_porta_r,
0,
diff --git a/src/mame/drivers/exidy.c b/src/mame/drivers/exidy.c
index 4705373dff8..804beacdfbb 100644
--- a/src/mame/drivers/exidy.c
+++ b/src/mame/drivers/exidy.c
@@ -811,7 +811,7 @@ static const struct Samplesinterface targ_samples_interface =
};
-static struct CustomSound_interface exidy_custom_interface =
+static const struct CustomSound_interface exidy_custom_interface =
{
exidy_sh_start
};
diff --git a/src/mame/drivers/exidy440.c b/src/mame/drivers/exidy440.c
index 15260721054..4d7bb4ae85e 100644
--- a/src/mame/drivers/exidy440.c
+++ b/src/mame/drivers/exidy440.c
@@ -1040,7 +1040,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct CustomSound_interface custom_interface =
+static const struct CustomSound_interface custom_interface =
{
exidy440_sh_start,
exidy440_sh_stop
diff --git a/src/mame/drivers/exprraid.c b/src/mame/drivers/exprraid.c
index 43c0250b15d..3c9269a26da 100644
--- a/src/mame/drivers/exprraid.c
+++ b/src/mame/drivers/exprraid.c
@@ -283,7 +283,7 @@ static void irqhandler(int linestate)
cpunum_set_input_line_and_vector(1,0,linestate,0xff);
}
-static struct YM3526interface ym3526_interface =
+static const struct YM3526interface ym3526_interface =
{
irqhandler
};
diff --git a/src/mame/drivers/exterm.c b/src/mame/drivers/exterm.c
index 001db75acf8..98f57a58286 100644
--- a/src/mame/drivers/exterm.c
+++ b/src/mame/drivers/exterm.c
@@ -441,7 +441,7 @@ INPUT_PORTS_END
*
*************************************/
-static tms34010_config master_config =
+static const tms34010_config master_config =
{
FALSE, /* halt on reset */
0, /* the screen operated on */
@@ -453,7 +453,7 @@ static tms34010_config master_config =
exterm_from_shiftreg_master /* read from shiftreg function */
};
-static tms34010_config slave_config =
+static const tms34010_config slave_config =
{
TRUE, /* halt on reset */
0, /* the screen operated on */
diff --git a/src/mame/drivers/exzisus.c b/src/mame/drivers/exzisus.c
index 9378237d1fd..4539db9d03e 100644
--- a/src/mame/drivers/exzisus.c
+++ b/src/mame/drivers/exzisus.c
@@ -315,7 +315,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(1, 0, irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
irqhandler
};
diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c
index 4a1d2327f68..830ddaab5eb 100644
--- a/src/mame/drivers/f1gp.c
+++ b/src/mame/drivers/f1gp.c
@@ -535,7 +535,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(2,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2610interface ym2610_interface =
+static const struct YM2610interface ym2610_interface =
{
irqhandler,
REGION_SOUND1,
diff --git a/src/mame/drivers/fantland.c b/src/mame/drivers/fantland.c
index 7f17cd529c5..d159fa24a63 100644
--- a/src/mame/drivers/fantland.c
+++ b/src/mame/drivers/fantland.c
@@ -755,7 +755,7 @@ static void galaxygn_sound_irq(int line)
cpunum_set_input_line_and_vector(1, 0, line ? ASSERT_LINE : CLEAR_LINE, 0x80/4);
}
-static struct YM2151interface galaxygn_ym2151_interface =
+static const struct YM2151interface galaxygn_ym2151_interface =
{
galaxygn_sound_irq
};
@@ -798,7 +798,7 @@ MACHINE_DRIVER_END
// OKI M5205 running at 384kHz [18.432/48]. Sample rate = 384000 / 48
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
borntofi_adpcm_int, /* IRQ handler */
MSM5205_S48_4B /* 8 kHz, 4 Bits */
diff --git a/src/mame/drivers/fastlane.c b/src/mame/drivers/fastlane.c
index 75ab46fd265..546a32ac87c 100644
--- a/src/mame/drivers/fastlane.c
+++ b/src/mame/drivers/fastlane.c
@@ -261,13 +261,13 @@ static void volume_callback1(int v)
K007232_set_volume(1,1,0,(v & 0x0f) * 0x11);
}
-static struct K007232_interface k007232_interface_1 =
+static const struct K007232_interface k007232_interface_1 =
{
REGION_SOUND1,
volume_callback0
};
-static struct K007232_interface k007232_interface_2 =
+static const struct K007232_interface k007232_interface_2 =
{
REGION_SOUND2,
volume_callback1
diff --git a/src/mame/drivers/filetto.c b/src/mame/drivers/filetto.c
index 834cc7f065e..ffccb4aa636 100644
--- a/src/mame/drivers/filetto.c
+++ b/src/mame/drivers/filetto.c
@@ -390,7 +390,7 @@ static void pc_timer0_w(int state)
// pic8259_0_issue_irq(0);
}
-static struct pit8253_config pc_pit8253_config =
+static const struct pit8253_config pc_pit8253_config =
{
TYPE8253,
{
diff --git a/src/mame/drivers/findout.c b/src/mame/drivers/findout.c
index 8446aaed6e3..e67b5e46b38 100644
--- a/src/mame/drivers/findout.c
+++ b/src/mame/drivers/findout.c
@@ -178,7 +178,7 @@ static WRITE8_HANDLER( signature_w )
if (data == 0) signature_pos = 0;
else
{
- static UINT8 signature[8] = { 0xff, 0x01, 0xfd, 0x05, 0xf5, 0x15, 0xd5, 0x55 };
+ static const UINT8 signature[8] = { 0xff, 0x01, 0xfd, 0x05, 0xf5, 0x15, 0xd5, 0x55 };
signature_answer = signature[signature_pos++];
diff --git a/src/mame/drivers/firebeat.c b/src/mame/drivers/firebeat.c
index b7e754dee1d..bea9ea452e2 100644
--- a/src/mame/drivers/firebeat.c
+++ b/src/mame/drivers/firebeat.c
@@ -1339,11 +1339,11 @@ static WRITE32_HANDLER( sound_w )
}
}
-static int cab_data[2] = { 0x0, 0x8 };
-static int kbm_cab_data[2] = { 0x2, 0x8 };
-static int ppd_cab_data[2] = { 0x1, 0x9 };
+static const int cab_data[2] = { 0x0, 0x8 };
+static const int kbm_cab_data[2] = { 0x2, 0x8 };
+static const int ppd_cab_data[2] = { 0x1, 0x9 };
static int cab_data_ptr = 0;
-static int * cur_cab_data = cab_data;
+static const int * cur_cab_data = cab_data;
static READ32_HANDLER( cabinet_r )
{
@@ -1783,7 +1783,7 @@ static void sound_irq_callback(int state)
{
}
-static struct YMZ280Binterface ymz280b_intf =
+static const struct YMZ280Binterface ymz280b_intf =
{
REGION_SOUND1,
sound_irq_callback, // irq
@@ -1974,7 +1974,7 @@ static MACHINE_RESET( firebeat )
cdda_set_cdrom(0, cd);
}
-static ppc_config firebeat_ppc_cfg =
+static const ppc_config firebeat_ppc_cfg =
{
PPC_MODEL_403GCX
};
diff --git a/src/mame/drivers/firetrap.c b/src/mame/drivers/firetrap.c
index a64c62bf969..254df91463d 100644
--- a/src/mame/drivers/firetrap.c
+++ b/src/mame/drivers/firetrap.c
@@ -531,7 +531,7 @@ GFXDECODE_END
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
firetrap_adpcm_int, /* interrupt function */
MSM5205_S48_4B /* 8KHz ? */
diff --git a/src/mame/drivers/flkatck.c b/src/mame/drivers/flkatck.c
index d220e9ab269..f1f001def0e 100644
--- a/src/mame/drivers/flkatck.c
+++ b/src/mame/drivers/flkatck.c
@@ -260,7 +260,7 @@ static void volume_callback0(int v)
K007232_set_volume(0,1,0,(v & 0x0f) * 0x11);
}
-static struct K007232_interface k007232_interface =
+static const struct K007232_interface k007232_interface =
{
REGION_SOUND1, /* memory region */
volume_callback0 /* external port callback */
diff --git a/src/mame/drivers/flower.c b/src/mame/drivers/flower.c
index 312c2916d8b..7c392c1f912 100644
--- a/src/mame/drivers/flower.c
+++ b/src/mame/drivers/flower.c
@@ -224,7 +224,7 @@ static GFXDECODE_START( flower )
GFXDECODE_ENTRY( REGION_GFX3, 0, flower_tilelayout, 0, 16 )
GFXDECODE_END
-static struct CustomSound_interface custom_interface =
+static const struct CustomSound_interface custom_interface =
{
flower_sh_start
};
diff --git a/src/mame/drivers/flstory.c b/src/mame/drivers/flstory.c
index e8a1003b6a1..e5ac450691a 100644
--- a/src/mame/drivers/flstory.c
+++ b/src/mame/drivers/flstory.c
@@ -716,7 +716,7 @@ static GFXDECODE_START( flstory )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0,
0,
@@ -724,7 +724,7 @@ static struct AY8910interface ay8910_interface =
sound_control_3_w
};
-static struct MSM5232interface msm5232_interface =
+static const struct MSM5232interface msm5232_interface =
{
{ 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6 } /* 1.0 uF capacitors (verified on real PCB) */
};
diff --git a/src/mame/drivers/foodf.c b/src/mame/drivers/foodf.c
index 27fd7af25ed..9ce0883f660 100644
--- a/src/mame/drivers/foodf.c
+++ b/src/mame/drivers/foodf.c
@@ -356,7 +356,7 @@ static READ8_HANDLER( pot_r )
return (readinputport(5) >> offset) << 7;
}
-static struct POKEYinterface pokey_interface =
+static const struct POKEYinterface pokey_interface =
{
{ pot_r,pot_r,pot_r,pot_r,pot_r,pot_r,pot_r,pot_r }
};
diff --git a/src/mame/drivers/frogger.c b/src/mame/drivers/frogger.c
index 985d9c101a6..c9a785925d7 100644
--- a/src/mame/drivers/frogger.c
+++ b/src/mame/drivers/frogger.c
@@ -223,7 +223,7 @@ static INPUT_PORTS_START( froggrmc )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
-static struct AY8910interface frogger_ay8910_interface =
+static const struct AY8910interface frogger_ay8910_interface =
{
soundlatch_r,
frogger_portB_r
diff --git a/src/mame/drivers/fromanc2.c b/src/mame/drivers/fromanc2.c
index 57bb0cb8d6c..86fb449a2dc 100644
--- a/src/mame/drivers/fromanc2.c
+++ b/src/mame/drivers/fromanc2.c
@@ -687,7 +687,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(1, 0, irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2610interface ym2610_interface =
+static const struct YM2610interface ym2610_interface =
{
irqhandler,
0,
diff --git a/src/mame/drivers/fromance.c b/src/mame/drivers/fromance.c
index 1cbc6ee4f87..9552ba4c5be 100644
--- a/src/mame/drivers/fromance.c
+++ b/src/mame/drivers/fromance.c
@@ -1041,7 +1041,7 @@ GFXDECODE_END
*
*************************************/
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
fromance_adpcm_int, /* IRQ handler */
MSM5205_S48_4B /* 8 KHz */
diff --git a/src/mame/drivers/funkybee.c b/src/mame/drivers/funkybee.c
index 2b56457b66c..11a4dce0b82 100644
--- a/src/mame/drivers/funkybee.c
+++ b/src/mame/drivers/funkybee.c
@@ -294,7 +294,7 @@ static GFXDECODE_START( funkybee )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_3_r
};
diff --git a/src/mame/drivers/funkyjet.c b/src/mame/drivers/funkyjet.c
index dbc23ac9bcb..47f4de79180 100644
--- a/src/mame/drivers/funkyjet.c
+++ b/src/mame/drivers/funkyjet.c
@@ -357,7 +357,7 @@ static void sound_irq(int state)
cpunum_set_input_line(1,1,state); /* IRQ 2 */
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq
};
diff --git a/src/mame/drivers/funworld.c b/src/mame/drivers/funworld.c
index 50fdd13fa87..cc56ce8bde7 100644
--- a/src/mame/drivers/funworld.c
+++ b/src/mame/drivers/funworld.c
@@ -1389,7 +1389,7 @@ static const pia6821_interface pia1_intf =
* Sound Interface *
************************/
-static struct AY8910interface ay8910_intf =
+static const struct AY8910interface ay8910_intf =
{
0, // portA in
0, // portB in
diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c
index 1a91be22558..9281fdb394b 100644
--- a/src/mame/drivers/fuukifg2.c
+++ b/src/mame/drivers/fuukifg2.c
@@ -504,7 +504,7 @@ static void soundirq(int state)
cpunum_set_input_line(1, 0, state);
}
-static struct YM3812interface fuuki16_ym3812_intf =
+static const struct YM3812interface fuuki16_ym3812_intf =
{
soundirq /* IRQ Line */
};
diff --git a/src/mame/drivers/fuukifg3.c b/src/mame/drivers/fuukifg3.c
index 170e31750ef..60ff8288498 100644
--- a/src/mame/drivers/fuukifg3.c
+++ b/src/mame/drivers/fuukifg3.c
@@ -577,12 +577,12 @@ static void irqhandler(int irq)
cpunum_set_input_line(1, 0, irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YMF278B_interface ymf278b_interface =
+static const struct YMF278B_interface ymf278b_interface =
{
REGION_SOUND1
};
-static struct YMF262interface ymf262_interface =
+static const struct YMF262interface ymf262_interface =
{
irqhandler /* irq */
};
diff --git a/src/mame/drivers/gaelco2.c b/src/mame/drivers/gaelco2.c
index ae092f138eb..c2eb3de0a6e 100644
--- a/src/mame/drivers/gaelco2.c
+++ b/src/mame/drivers/gaelco2.c
@@ -183,7 +183,7 @@ PORT_START /* COINSW & SERVICESW */
PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
-static struct gaelcosnd_interface maniacsq_snd_interface =
+static const struct gaelcosnd_interface maniacsq_snd_interface =
{
REGION_GFX1, /* memory region */
{ 0*0x0080000, 1*0x0080000, 0, 0 }, /* start of each ROM bank */
@@ -334,7 +334,7 @@ PORT_START /* COINSW & Service */
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, -6.0 / 240, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
INPUT_PORTS_END
-static struct gaelcosnd_interface bang_snd_interface =
+static const struct gaelcosnd_interface bang_snd_interface =
{
REGION_GFX1, /* memory region */
{ 0*0x0200000, 1*0x0200000, 2*0x0200000, 3*0x0200000 } /* start of each ROM bank */
@@ -537,7 +537,7 @@ PORT_START /* COINSW & Service */
PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
-static struct gaelcosnd_interface alighunt_snd_interface =
+static const struct gaelcosnd_interface alighunt_snd_interface =
{
REGION_GFX1, /* memory region */
{ 0*0x0400000, 1*0x0400000, 2*0x0400000, 3*0x0400000 } /* start of each ROM bank */
@@ -798,7 +798,7 @@ PORT_START /* Fake: To switch between monitors at run time */
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_SERVICE4 ) PORT_TOGGLE
INPUT_PORTS_END
-static struct gaelcosnd_interface touchgo_snd_interface =
+static const struct gaelcosnd_interface touchgo_snd_interface =
{
REGION_GFX1, /* memory region */
{ 0*0x0400000, 1*0x0400000, 0, 0 } /* start of each ROM bank */
@@ -1001,7 +1001,7 @@ PORT_START /* COINSW & Service */
/* bits 6 & 7 are used for accessing the NVRAM */
INPUT_PORTS_END
-static struct gaelcosnd_interface snowboar_snd_interface =
+static const struct gaelcosnd_interface snowboar_snd_interface =
{
REGION_GFX1, /* memory region */
{ 0*0x0400000, 1*0x0400000, 0, 0 } /* start of each ROM bank */
@@ -1244,7 +1244,7 @@ PORT_START /* Fake: To switch between monitors at run time */
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_SERVICE4 ) PORT_TOGGLE
INPUT_PORTS_END
-static struct gaelcosnd_interface wrally2_snd_interface =
+static const struct gaelcosnd_interface wrally2_snd_interface =
{
REGION_GFX1, /* memory region */
{ 0*0x0200000, 1*0x0200000, 0, 0 } /* start of each ROM bank */
diff --git a/src/mame/drivers/gaelco3d.c b/src/mame/drivers/gaelco3d.c
index 80471ae79a0..9c0b64746b6 100644
--- a/src/mame/drivers/gaelco3d.c
+++ b/src/mame/drivers/gaelco3d.c
@@ -928,7 +928,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct tms32031_config tms_config =
+static const struct tms32031_config tms_config =
{
0x1000,
0,
diff --git a/src/mame/drivers/gaiden.c b/src/mame/drivers/gaiden.c
index 121f48ccf3b..f6347e6401e 100644
--- a/src/mame/drivers/gaiden.c
+++ b/src/mame/drivers/gaiden.c
@@ -189,7 +189,7 @@ static WRITE16_HANDLER( wildfang_protection_w )
if (ACCESSING_MSB)
{
static int jumpcode;
- static int jumppoints[] =
+ static const int jumppoints[] =
{
0x0c0c,0x0cac,0x0d42,0x0da2,0x0eea,0x112e,0x1300,0x13fa,
0x159a,0x1630,0x109a,0x1700,0x1750,0x1806,0x18d6,0x1a44,
@@ -286,7 +286,7 @@ same commands as some of the above
*/
/* these are used during startup */
-static int jumppoints_00[0x100] =
+static const int jumppoints_00[0x100] =
{
0x6669, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1,0x4a46, -1,
@@ -299,7 +299,7 @@ static int jumppoints_00[0x100] =
};
/* these are used the rest of the time */
-static int jumppoints_other[0x100] =
+static const int jumppoints_other[0x100] =
{
0x5457,0x494e,0x5f4b,0x4149,0x5345,0x525f,0x4d49,0x5941,
0x5241,0x5349,0x4d4f,0x4a49, -1, -1, -1, -1,
@@ -311,7 +311,7 @@ static int jumppoints_other[0x100] =
-1, -1, -1, -1, -1, -1, -1, -1
};
-static int *raiga_jumppoints = jumppoints_00;
+static const int *raiga_jumppoints = jumppoints_00;
static MACHINE_RESET ( raiga )
{
@@ -954,7 +954,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,0,0,0,irqhandler
};
diff --git a/src/mame/drivers/galaga.c b/src/mame/drivers/galaga.c
index 0149929aaba..9154f4f3853 100644
--- a/src/mame/drivers/galaga.c
+++ b/src/mame/drivers/galaga.c
@@ -795,12 +795,12 @@ static WRITE8_HANDLER( out_1 )
coin_lockout_global_w(data & 1);
}
-static struct namcoio_interface intf0 =
+static const struct namcoio_interface intf0 =
{
{ in0_l, in0_h, in1_l, in1_h }, /* port read handlers */
{ out_0, out_1 } /* port write handlers */
};
-static struct namcoio_interface intf1 =
+static const struct namcoio_interface intf1 =
{
{ dipA_l, dipA_h, dipB_l, dipB_h }, /* port read handlers */
{ NULL, NULL } /* port write handlers */
@@ -1578,7 +1578,7 @@ GFXDECODE_END
/* The resistance path of the namco sound is 16k compared to
* the 10k of the highest gain 54xx filter. Giving a 10/16 gain.
*/
-static struct namco_interface namco_interface =
+static const struct namco_interface namco_interface =
{
3, /* number of voices */
REGION_SOUND1 /* memory region */
@@ -1588,7 +1588,7 @@ static struct namco_interface namco_interface =
* the signal is 1V, or 25%. The relative volume between
* 52xx & 54xx is the same.
*/
-static struct namco_52xx_interface namco_52xx_interface =
+static const struct namco_52xx_interface namco_52xx_interface =
{
REGION_SOUND2, /* memory region */
4000, /* Playback frequency - from 555 timer 6M */
diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c
index 4c901c284fd..52a6bc4dca6 100644
--- a/src/mame/drivers/galaxian.c
+++ b/src/mame/drivers/galaxian.c
@@ -4236,12 +4236,12 @@ static GFXDECODE_START( _4in1 )
GFXDECODE_ENTRY( REGION_GFX1, 0x4000, _4in1_spritelayout, 0, 8 )
GFXDECODE_END
-static struct AY8910interface checkmaj_ay8910_interface =
+static const struct AY8910interface checkmaj_ay8910_interface =
{
soundlatch_r
};
-static struct AY8910interface bongo_ay8910_interface =
+static const struct AY8910interface bongo_ay8910_interface =
{
input_port_3_r
};
diff --git a/src/mame/drivers/galpani3.c b/src/mame/drivers/galpani3.c
index 567b88fa024..27ef6635508 100644
--- a/src/mame/drivers/galpani3.c
+++ b/src/mame/drivers/galpani3.c
@@ -363,7 +363,7 @@ static ADDRESS_MAP_START( galpani3_map, ADDRESS_SPACE_PROGRAM, 16 )
ADDRESS_MAP_END
-static struct YMZ280Binterface ymz280b_intf =
+static const struct YMZ280Binterface ymz280b_intf =
{
REGION_SOUND1,
0 // irq ?
diff --git a/src/mame/drivers/galspnbl.c b/src/mame/drivers/galspnbl.c
index 2251208b46a..a575454b157 100644
--- a/src/mame/drivers/galspnbl.c
+++ b/src/mame/drivers/galspnbl.c
@@ -289,7 +289,7 @@ static void irqhandler(int linestate)
cpunum_set_input_line(1,0,linestate);
}
-static struct YM3812interface ym3812_interface =
+static const struct YM3812interface ym3812_interface =
{
irqhandler
};
diff --git a/src/mame/drivers/gamecstl.c b/src/mame/drivers/gamecstl.c
index 33acae10e12..19c1688c149 100644
--- a/src/mame/drivers/gamecstl.c
+++ b/src/mame/drivers/gamecstl.c
@@ -474,13 +474,13 @@ static MACHINE_DRIVER_START(gamecstl)
MACHINE_DRIVER_END
-static struct pci_device_info intel82439tx =
+static const struct pci_device_info intel82439tx =
{
intel82439tx_pci_r,
intel82439tx_pci_w
};
-static struct pci_device_info intel82371ab =
+static const struct pci_device_info intel82371ab =
{
intel82371ab_pci_r,
intel82371ab_pci_w
@@ -501,12 +501,12 @@ static void ide_interrupt(int state)
pic8259_set_irq_line(1, 6, state);
}
-static struct kbdc8042_interface at8042 =
+static const struct kbdc8042_interface at8042 =
{
KBDC8042_AT386, set_gate_a20, keyboard_interrupt
};
-static struct ide_interface ide_intf =
+static const struct ide_interface ide_intf =
{
ide_interrupt
};
diff --git a/src/mame/drivers/gameplan.c b/src/mame/drivers/gameplan.c
index bce79ce97e2..0bfb5bec2de 100644
--- a/src/mame/drivers/gameplan.c
+++ b/src/mame/drivers/gameplan.c
@@ -285,7 +285,7 @@ static void via_irq(int state)
}
-static struct via6522_interface gameplan_via_0_interface =
+static const struct via6522_interface gameplan_via_0_interface =
{
0, 0, /*inputs : A/B */
/*vblank*/0, 0, 0, 0, /*inputs : CA/B1,CA/B2 */
@@ -295,7 +295,7 @@ static struct via6522_interface gameplan_via_0_interface =
};
-static struct via6522_interface leprechn_via_0_interface =
+static const struct via6522_interface leprechn_via_0_interface =
{
0, 0, /*inputs : A/B */
/*vblank*/0, 0, 0, 0, /*inputs : CA/B1,CA/B2 */
@@ -365,7 +365,7 @@ static WRITE8_HANDLER( coin_w )
}
-static struct via6522_interface via_1_interface =
+static const struct via6522_interface via_1_interface =
{
io_port_r, 0, /*inputs : A/B */
0, 0, 0, 0, /*inputs : CA/B1,CA/B2 */
@@ -406,7 +406,7 @@ static WRITE8_HANDLER( sound_trigger_w )
}
-static struct via6522_interface via_2_interface =
+static const struct via6522_interface via_2_interface =
{
0, soundlatch2_r, /*inputs : A/B */
0, 0, 0, 0, /*inputs : CA/B1,CA/B2 */
@@ -1395,7 +1395,7 @@ INPUT_PORTS_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_6_r,
input_port_7_r,
diff --git a/src/mame/drivers/gaplus.c b/src/mame/drivers/gaplus.c
index ebc845aa78b..2382e4e7cb7 100644
--- a/src/mame/drivers/gaplus.c
+++ b/src/mame/drivers/gaplus.c
@@ -200,18 +200,18 @@ static WRITE8_HANDLER( out_lamps1 )
}
/* chip #0: player inputs, buttons, coins */
-static struct namcoio_interface intf0 =
+static const struct namcoio_interface intf0 =
{
{ in1_h, in0_l, in0_h, in1_l }, /* port read handlers */
{ NULL, NULL } /* port write handlers */
};
-static struct namcoio_interface intf0_lamps =
+static const struct namcoio_interface intf0_lamps =
{
{ in1_h, in0_l, in0_h, in1_l }, /* port read handlers */
{ out_lamps0, out_lamps1 } /* port write handlers */
};
/* chip #1: dip switches */
-static struct namcoio_interface intf1 =
+static const struct namcoio_interface intf1 =
{
{ dipA_h, dipB_l, dipB_h, dipA_l }, /* port read handlers */
{ NULL, NULL } /* port write handlers */
@@ -731,7 +731,7 @@ static GFXDECODE_START( gaplus )
GFXDECODE_ENTRY( REGION_GFX2, 0x0000, spritelayout, 64*4, 64 )
GFXDECODE_END
-static struct namco_interface namco_interface =
+static const struct namco_interface namco_interface =
{
8, /* number of voices */
REGION_SOUND1 /* memory region */
diff --git a/src/mame/drivers/gbusters.c b/src/mame/drivers/gbusters.c
index d3f3d061cda..5cb1584e5a3 100644
--- a/src/mame/drivers/gbusters.c
+++ b/src/mame/drivers/gbusters.c
@@ -287,7 +287,7 @@ static void volume_callback(int v)
K007232_set_volume(0,1,0,(v & 0x0f) * 0x11);
}
-static struct K007232_interface k007232_interface =
+static const struct K007232_interface k007232_interface =
{
REGION_SOUND1, /* memory regions */
volume_callback /* external port callback */
diff --git a/src/mame/drivers/gcpinbal.c b/src/mame/drivers/gcpinbal.c
index 96327204b8f..7ff3ad688ed 100644
--- a/src/mame/drivers/gcpinbal.c
+++ b/src/mame/drivers/gcpinbal.c
@@ -366,7 +366,7 @@ GFXDECODE_END
(SOUND)
**************************************************************/
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
NULL, /* VCK function */
MSM5205_S48_4B /* 8 kHz */
diff --git a/src/mame/drivers/gijoe.c b/src/mame/drivers/gijoe.c
index ede39d44fd7..dafc2b962de 100644
--- a/src/mame/drivers/gijoe.c
+++ b/src/mame/drivers/gijoe.c
@@ -331,7 +331,7 @@ static INPUT_PORTS_START( gijoe )
PORT_DIPUNUSED( 0x8000, IP_ACTIVE_LOW )
INPUT_PORTS_END
-static struct K054539interface k054539_interface =
+static const struct K054539interface k054539_interface =
{
REGION_SOUND1,
NULL,
diff --git a/src/mame/drivers/ginganin.c b/src/mame/drivers/ginganin.c
index 9f58fa20e51..8142e1b2638 100644
--- a/src/mame/drivers/ginganin.c
+++ b/src/mame/drivers/ginganin.c
@@ -339,7 +339,7 @@ static INTERRUPT_GEN( ginganin_sound_interrupt )
/* The Y8950 is basically a YM3526 with ADPCM built in */
-static struct Y8950interface y8950_interface =
+static const struct Y8950interface y8950_interface =
{
0,
REGION_SOUND1 /* ROM region */
diff --git a/src/mame/drivers/gladiatr.c b/src/mame/drivers/gladiatr.c
index a6d4729cf0c..2305997972f 100644
--- a/src/mame/drivers/gladiatr.c
+++ b/src/mame/drivers/gladiatr.c
@@ -256,7 +256,7 @@ static READ8_HANDLER( gladiator_button3_r )
return 0;
}
-static struct TAITO8741interface gsword_8741interface=
+static const struct TAITO8741interface gsword_8741interface=
{
4, /* 4 chips */
{TAITO8741_MASTER,TAITO8741_SLAVE,TAITO8741_PORT,TAITO8741_PORT},/* program mode */
@@ -653,13 +653,13 @@ static READ8_HANDLER(f1_r)
return mame_rand(Machine);
}
-static struct YM2203interface ppking_ym2203_interface =
+static const struct YM2203interface ppking_ym2203_interface =
{
f1_r,
f1_r
};
-static struct YM2203interface gladiatr_ym2203_interface =
+static const struct YM2203interface gladiatr_ym2203_interface =
{
0,
gladiator_dsw3_r, /* port B read */
@@ -668,7 +668,7 @@ static struct YM2203interface gladiatr_ym2203_interface =
gladiator_ym_irq /* NMI request for 2nd cpu */
};
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
0, /* interrupt function */
MSM5205_SEX_4B /* vclk input mode */
diff --git a/src/mame/drivers/goal92.c b/src/mame/drivers/goal92.c
index 4e28ef31097..6ccc5f335f4 100644
--- a/src/mame/drivers/goal92.c
+++ b/src/mame/drivers/goal92.c
@@ -237,7 +237,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(1, INPUT_LINE_NMI, irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
@@ -258,7 +258,7 @@ static void goal92_adpcm_int(int data)
cpunum_set_input_line(1, INPUT_LINE_NMI, PULSE_LINE);
}
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
goal92_adpcm_int, /* interrupt function */
MSM5205_S96_4B /* 4KHz 4-bit */
diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c
index c869afd1e73..d4cddc63f24 100644
--- a/src/mame/drivers/goldstar.c
+++ b/src/mame/drivers/goldstar.c
@@ -50,7 +50,7 @@ static WRITE8_HANDLER( protection_w )
static READ8_HANDLER( protection_r )
{
- static int data[4] = { 0x47, 0x4f, 0x4c, 0x44 };
+ static const int data[4] = { 0x47, 0x4f, 0x4c, 0x44 };
dataoffset %= 4;
return data[dataoffset++];
@@ -277,7 +277,7 @@ GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_7_r, /* DSW 4 */
input_port_6_r, /* DSW 3 */
diff --git a/src/mame/drivers/gomoku.c b/src/mame/drivers/gomoku.c
index 90810432ec0..3dd82c425b7 100644
--- a/src/mame/drivers/gomoku.c
+++ b/src/mame/drivers/gomoku.c
@@ -160,7 +160,7 @@ static GFXDECODE_START( gomoku )
GFXDECODE_END
-static struct CustomSound_interface custom_interface =
+static const struct CustomSound_interface custom_interface =
{
gomoku_sh_start
};
diff --git a/src/mame/drivers/gotcha.c b/src/mame/drivers/gotcha.c
index e3d52f7c434..009a32a6ab0 100644
--- a/src/mame/drivers/gotcha.c
+++ b/src/mame/drivers/gotcha.c
@@ -264,7 +264,7 @@ static void irqhandler(int linestate)
cpunum_set_input_line(1,0,linestate);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
irqhandler
};
diff --git a/src/mame/drivers/gottlieb.c b/src/mame/drivers/gottlieb.c
index ca9a867e471..b5a29e568ab 100644
--- a/src/mame/drivers/gottlieb.c
+++ b/src/mame/drivers/gottlieb.c
@@ -1523,7 +1523,7 @@ static const struct Samplesinterface reactor_samples_interface =
#define gottlieb_samples_interface qbert_samples_interface /* not used */
#define krull_samples_interface qbert_samples_interface /* not used */
-static struct sp0250_interface sp0250_interface =
+static const struct sp0250_interface sp0250_interface =
{
stooges_sp0250_drq
};
diff --git a/src/mame/drivers/gradius3.c b/src/mame/drivers/gradius3.c
index 0d4f329d8ad..3e8021b79bc 100644
--- a/src/mame/drivers/gradius3.c
+++ b/src/mame/drivers/gradius3.c
@@ -325,7 +325,7 @@ static void volume_callback(int v)
K007232_set_volume(0,1,0,(v & 0x0f) * 0x11);
}
-static struct K007232_interface k007232_interface =
+static const struct K007232_interface k007232_interface =
{
REGION_SOUND1, /* memory regions */
volume_callback /* external port callback */
diff --git a/src/mame/drivers/grchamp.c b/src/mame/drivers/grchamp.c
index e1442b2e146..52598fa751e 100644
--- a/src/mame/drivers/grchamp.c
+++ b/src/mame/drivers/grchamp.c
@@ -451,7 +451,7 @@ static WRITE8_HANDLER( grchamp_portB_2_w )
*
*************************************/
-static struct AY8910interface ay8910_interface_1 =
+static const struct AY8910interface ay8910_interface_1 =
{
0,
0,
@@ -459,7 +459,7 @@ static struct AY8910interface ay8910_interface_1 =
grchamp_portB_0_w
};
-static struct AY8910interface ay8910_interface_3 =
+static const struct AY8910interface ay8910_interface_3 =
{
0,
0,
diff --git a/src/mame/drivers/gridlee.c b/src/mame/drivers/gridlee.c
index a5485057ca1..430097c8bcd 100644
--- a/src/mame/drivers/gridlee.c
+++ b/src/mame/drivers/gridlee.c
@@ -402,7 +402,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct CustomSound_interface custom_interface =
+static const struct CustomSound_interface custom_interface =
{
gridlee_sh_start
};
diff --git a/src/mame/drivers/groundfx.c b/src/mame/drivers/groundfx.c
index eb05cf30eeb..ca1d6fc69c5 100644
--- a/src/mame/drivers/groundfx.c
+++ b/src/mame/drivers/groundfx.c
@@ -127,7 +127,7 @@ static const UINT8 default_eeprom[128]=
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
-static struct EEPROM_interface groundfx_eeprom_interface =
+static const struct EEPROM_interface groundfx_eeprom_interface =
{
6, /* address bits */
16, /* data bits */
diff --git a/src/mame/drivers/gstriker.c b/src/mame/drivers/gstriker.c
index fb17f03b74b..a23e21316f9 100644
--- a/src/mame/drivers/gstriker.c
+++ b/src/mame/drivers/gstriker.c
@@ -276,7 +276,7 @@ static void gs_ym2610_irq(int irq)
cpunum_set_input_line(1, 0, CLEAR_LINE);
}
-static struct YM2610interface ym2610_interface =
+static const struct YM2610interface ym2610_interface =
{
gs_ym2610_irq,
REGION_SOUND1,
diff --git a/src/mame/drivers/gsword.c b/src/mame/drivers/gsword.c
index baadd8968fa..48dbebeabd8 100644
--- a/src/mame/drivers/gsword.c
+++ b/src/mame/drivers/gsword.c
@@ -242,7 +242,7 @@ static READ8_HANDLER( gsword_8741_3_r )
return 0;
}
-static struct TAITO8741interface gsword_8741interface=
+static const struct TAITO8741interface gsword_8741interface=
{
4, /* 4 chips */
{ TAITO8741_MASTER,TAITO8741_SLAVE,TAITO8741_PORT,TAITO8741_PORT }, /* program mode */
@@ -670,7 +670,7 @@ GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0,
0,
@@ -678,7 +678,7 @@ static struct AY8910interface ay8910_interface =
0
};
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
0, /* interrupt function */
MSM5205_SEX_4B /* vclk input mode */
diff --git a/src/mame/drivers/gticlub.c b/src/mame/drivers/gticlub.c
index 80e5ec27eaf..cfff27152c2 100644
--- a/src/mame/drivers/gticlub.c
+++ b/src/mame/drivers/gticlub.c
@@ -728,17 +728,17 @@ static INTERRUPT_GEN( gticlub_vblank )
}
-static ppc_config gticlub_ppc_cfg =
+static const ppc_config gticlub_ppc_cfg =
{
PPC_MODEL_403GA
};
-static sharc_config sharc_cfg =
+static const sharc_config sharc_cfg =
{
BOOT_MODE_EPROM
};
-static struct RF5C400interface rf5c400_interface =
+static const struct RF5C400interface rf5c400_interface =
{
REGION_SOUND1
};
diff --git a/src/mame/drivers/gunbustr.c b/src/mame/drivers/gunbustr.c
index e001e2f239a..45de5f4f502 100644
--- a/src/mame/drivers/gunbustr.c
+++ b/src/mame/drivers/gunbustr.c
@@ -347,7 +347,7 @@ static const UINT8 default_eeprom[128]={
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
-static struct EEPROM_interface gunbustr_eeprom_interface =
+static const struct EEPROM_interface gunbustr_eeprom_interface =
{
6, /* address bits */
16, /* data bits */
diff --git a/src/mame/drivers/gyruss.c b/src/mame/drivers/gyruss.c
index c5b0d635dc6..6869dfe2570 100644
--- a/src/mame/drivers/gyruss.c
+++ b/src/mame/drivers/gyruss.c
@@ -338,7 +338,7 @@ GFXDECODE_END
-static struct AY8910interface ay8910_interface_1 =
+static const struct AY8910interface ay8910_interface_1 =
{
0,
0,
@@ -346,7 +346,7 @@ static struct AY8910interface ay8910_interface_1 =
gyruss_filter0_w
};
-static struct AY8910interface ay8910_interface_2 =
+static const struct AY8910interface ay8910_interface_2 =
{
0,
0,
@@ -354,7 +354,7 @@ static struct AY8910interface ay8910_interface_2 =
gyruss_filter1_w
};
-static struct AY8910interface ay8910_interface_3 =
+static const struct AY8910interface ay8910_interface_3 =
{
gyruss_portA_r
};
diff --git a/src/mame/drivers/halleys.c b/src/mame/drivers/halleys.c
index bc20ea3dd7b..a7dcd122804 100644
--- a/src/mame/drivers/halleys.c
+++ b/src/mame/drivers/halleys.c
@@ -287,9 +287,9 @@ static void blit(int offset)
#define XMASK (SCREEN_WIDTH-1)
#define YMASK (SCREEN_HEIGHT-1)
- static UINT8 penxlat[16]={0x03,0x07,0x0b,0x0f,0x02,0x06,0x0a,0x0e,0x01,0x05,0x09,0x0d,0x00,0x04,0x08,0x0c};
- static UINT8 rgbmask[16]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff};
- static UINT8 tyremap[ 8]={ 0, 5, 9,13,16,20,24,28};
+ static const UINT8 penxlat[16]={0x03,0x07,0x0b,0x0f,0x02,0x06,0x0a,0x0e,0x01,0x05,0x09,0x0d,0x00,0x04,0x08,0x0c};
+ static const UINT8 rgbmask[16]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xff,0xff,0xff,0xff,0xff};
+ static const UINT8 tyremap[ 8]={ 0, 5, 9,13,16,20,24,28};
UINT8 *param, *src_base;
UINT16 *dst_base;
@@ -1937,7 +1937,7 @@ static MACHINE_RESET( halleys )
}
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0,
0,
diff --git a/src/mame/drivers/hanaawas.c b/src/mame/drivers/hanaawas.c
index 8638bb8444a..4535a3badcb 100644
--- a/src/mame/drivers/hanaawas.c
+++ b/src/mame/drivers/hanaawas.c
@@ -193,7 +193,7 @@ static GFXDECODE_START( hanaawas )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_1_r,
0,
diff --git a/src/mame/drivers/hanaroku.c b/src/mame/drivers/hanaroku.c
index 1cee838d752..dbf2e8d7e5a 100644
--- a/src/mame/drivers/hanaroku.c
+++ b/src/mame/drivers/hanaroku.c
@@ -228,7 +228,7 @@ static GFXDECODE_START( hanaroku )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_3_r,
input_port_4_r
diff --git a/src/mame/drivers/harddriv.c b/src/mame/drivers/harddriv.c
index e3c452a32da..f0b18272d9e 100644
--- a/src/mame/drivers/harddriv.c
+++ b/src/mame/drivers/harddriv.c
@@ -190,7 +190,7 @@ void slapstic_init(int chip);
*************************************/
/* used on the medium-resolution driver boards */
-static tms34010_config gsp_config_driver =
+static const tms34010_config gsp_config_driver =
{
TRUE, /* halt on reset */
0, /* the screen operated on */
@@ -204,7 +204,7 @@ static tms34010_config gsp_config_driver =
/* used on the low-resolution multisync boards for harddrvc, racedrvc, steeltal */
-static tms34010_config gsp_config_multisync =
+static const tms34010_config gsp_config_multisync =
{
TRUE, /* halt on reset */
0, /* the screen operated on */
@@ -218,7 +218,7 @@ static tms34010_config gsp_config_multisync =
/* used on the low-resolution multisync board for stunrun */
-static tms34010_config gsp_config_multisync_stunrun =
+static const tms34010_config gsp_config_multisync_stunrun =
{
TRUE, /* halt on reset */
0, /* the screen operated on */
@@ -231,7 +231,7 @@ static tms34010_config gsp_config_multisync_stunrun =
};
-static tms34010_config msp_config =
+static const tms34010_config msp_config =
{
TRUE, /* halt on reset */
0, /* the screen operated on */
@@ -242,7 +242,7 @@ static tms34010_config msp_config =
};
-static struct dsp32_config dsp32c_config =
+static const struct dsp32_config dsp32c_config =
{
hddsk_update_pif /* a change has occurred on an output pin */
};
diff --git a/src/mame/drivers/hcastle.c b/src/mame/drivers/hcastle.c
index 25cafdf11ec..5c9222d5af0 100644
--- a/src/mame/drivers/hcastle.c
+++ b/src/mame/drivers/hcastle.c
@@ -252,13 +252,13 @@ static void volume_callback(int v)
K007232_set_volume(0,1,0,(v & 0x0f) * 0x11);
}
-static struct K007232_interface k007232_interface =
+static const struct K007232_interface k007232_interface =
{
REGION_SOUND1, /* memory regions */
volume_callback /* external port callback */
};
-static struct YM3812interface ym3812_interface =
+static const struct YM3812interface ym3812_interface =
{
irqhandler
};
diff --git a/src/mame/drivers/hexa.c b/src/mame/drivers/hexa.c
index 9a8e2461baa..3b1ec029d3b 100644
--- a/src/mame/drivers/hexa.c
+++ b/src/mame/drivers/hexa.c
@@ -121,7 +121,7 @@ GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_0_r,
input_port_1_r,
diff --git a/src/mame/drivers/hnayayoi.c b/src/mame/drivers/hnayayoi.c
index 85923695311..92598c819f3 100644
--- a/src/mame/drivers/hnayayoi.c
+++ b/src/mame/drivers/hnayayoi.c
@@ -602,7 +602,7 @@ popmessage("irq");
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
input_port_0_r,
input_port_1_r,
@@ -611,7 +611,7 @@ static struct YM2203interface ym2203_interface =
irqhandler
};
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
0, /* IRQ handler */
MSM5205_SEX_4B
diff --git a/src/mame/drivers/hng64.c b/src/mame/drivers/hng64.c
index d5a8fc1fcfb..1bd91fb4056 100644
--- a/src/mame/drivers/hng64.c
+++ b/src/mame/drivers/hng64.c
@@ -1421,7 +1421,7 @@ static DRIVER_INIT(hng64_race)
/* ?? */
-static struct mips3_config config =
+static const struct mips3_config config =
{
16384, /* code cache size */
16384 /* data cache size */
diff --git a/src/mame/drivers/holeland.c b/src/mame/drivers/holeland.c
index e4769ebfe5d..e3282861d9d 100644
--- a/src/mame/drivers/holeland.c
+++ b/src/mame/drivers/holeland.c
@@ -280,13 +280,13 @@ GFXDECODE_END
-static struct AY8910interface ay8910_interface_1 =
+static const struct AY8910interface ay8910_interface_1 =
{
input_port_0_r,
input_port_1_r
};
-static struct AY8910interface ay8910_interface_2 =
+static const struct AY8910interface ay8910_interface_2 =
{
input_port_2_r,
input_port_3_r
diff --git a/src/mame/drivers/homedata.c b/src/mame/drivers/homedata.c
index 5bc6bbfa28c..63ce8326821 100644
--- a/src/mame/drivers/homedata.c
+++ b/src/mame/drivers/homedata.c
@@ -1299,7 +1299,7 @@ MACHINE_DRIVER_END
/**************************************************************************/
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
input_port_3_r,
input_port_4_r
diff --git a/src/mame/drivers/homerun.c b/src/mame/drivers/homerun.c
index 1a5e8bc7bb8..f6005137f85 100644
--- a/src/mame/drivers/homerun.c
+++ b/src/mame/drivers/homerun.c
@@ -109,7 +109,7 @@ static ADDRESS_MAP_START( homerun_iomap, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x71, 0x71) AM_READWRITE(YM2203_read_port_0_r, YM2203_write_port_0_w)
ADDRESS_MAP_END
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
input_port_3_r,
0,
diff --git a/src/mame/drivers/hornet.c b/src/mame/drivers/hornet.c
index 64a6a89d20d..8f53173edb3 100644
--- a/src/mame/drivers/hornet.c
+++ b/src/mame/drivers/hornet.c
@@ -845,12 +845,12 @@ static INPUT_PORTS_START( sscope )
INPUT_PORTS_END
-static struct RF5C400interface rf5c400_interface =
+static const struct RF5C400interface rf5c400_interface =
{
REGION_SOUND1
};
-static ppc_config hornet_ppc_cfg =
+static const ppc_config hornet_ppc_cfg =
{
PPC_MODEL_403GA
};
diff --git a/src/mame/drivers/hotblock.c b/src/mame/drivers/hotblock.c
index cb7695cca60..a461911235a 100644
--- a/src/mame/drivers/hotblock.c
+++ b/src/mame/drivers/hotblock.c
@@ -176,7 +176,7 @@ static INTERRUPT_GEN( hotblocks_irq ) /* right? */
cpunum_set_input_line(0, INPUT_LINE_NMI, PULSE_LINE);
}
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_0_r,
input_port_1_r,
diff --git a/src/mame/drivers/hyhoo.c b/src/mame/drivers/hyhoo.c
index bfc1c27a45d..84517421796 100644
--- a/src/mame/drivers/hyhoo.c
+++ b/src/mame/drivers/hyhoo.c
@@ -255,7 +255,7 @@ static INPUT_PORTS_START( hyhoo2 )
INPUT_PORTS_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_0_r, // DIPSW-A read
input_port_1_r // DIPSW-B read
diff --git a/src/mame/drivers/hyperspt.c b/src/mame/drivers/hyperspt.c
index e09e99a2636..b2af9c08a83 100644
--- a/src/mame/drivers/hyperspt.c
+++ b/src/mame/drivers/hyperspt.c
@@ -43,7 +43,7 @@ static READ8_HANDLER( konami_IN1_r )
{
int res;
static int cheat = 0;
- static int bits[] = { 0xee, 0xff, 0xbb, 0xaa };
+ static const int bits[] = { 0xee, 0xff, 0xbb, 0xaa };
res = readinputportbytag("IN1");
@@ -450,7 +450,7 @@ GFXDECODE_END
-static struct VLM5030interface hyperspt_vlm5030_interface =
+static const struct VLM5030interface hyperspt_vlm5030_interface =
{
REGION_SOUND1, /* memory region */
0 /* memory size */
diff --git a/src/mame/drivers/hyprduel.c b/src/mame/drivers/hyprduel.c
index 05fd15afd15..d692202c901 100644
--- a/src/mame/drivers/hyprduel.c
+++ b/src/mame/drivers/hyprduel.c
@@ -713,7 +713,7 @@ static void sound_irq(int state)
cpunum_set_input_line(1, 1, HOLD_LINE);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq
};
diff --git a/src/mame/drivers/igs_blit.c b/src/mame/drivers/igs_blit.c
index f5e6421ded7..3f9b1fac449 100644
--- a/src/mame/drivers/igs_blit.c
+++ b/src/mame/drivers/igs_blit.c
@@ -2459,7 +2459,7 @@ static void sound_irq(int state)
// cpunum_set_input_line(0, 3, state);
}
-static struct ics2115_interface pgm_ics2115_interface = {
+static const struct ics2115_interface pgm_ics2115_interface = {
REGION_SOUND1,
sound_irq
};
diff --git a/src/mame/drivers/inufuku.c b/src/mame/drivers/inufuku.c
index e14a69491bf..dccf95d339a 100644
--- a/src/mame/drivers/inufuku.c
+++ b/src/mame/drivers/inufuku.c
@@ -381,7 +381,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(1, 0, irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2610interface ym2610_interface =
+static const struct YM2610interface ym2610_interface =
{
irqhandler,
0,
diff --git a/src/mame/drivers/irobot.c b/src/mame/drivers/irobot.c
index cf9a324756c..3bd0aa354ee 100644
--- a/src/mame/drivers/irobot.c
+++ b/src/mame/drivers/irobot.c
@@ -280,7 +280,7 @@ GFXDECODE_END
*
*************************************/
-static struct POKEYinterface pokey_interface =
+static const struct POKEYinterface pokey_interface =
{
{ 0 },
input_port_4_r
diff --git a/src/mame/drivers/ironhors.c b/src/mame/drivers/ironhors.c
index 12b0b15dd67..0cb05ede3bc 100644
--- a/src/mame/drivers/ironhors.c
+++ b/src/mame/drivers/ironhors.c
@@ -382,7 +382,7 @@ static GFXDECODE_START( farwest )
GFXDECODE_END
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
diff --git a/src/mame/drivers/itech32.c b/src/mame/drivers/itech32.c
index e4d26724236..c1e33a20471 100644
--- a/src/mame/drivers/itech32.c
+++ b/src/mame/drivers/itech32.c
@@ -640,7 +640,7 @@ static void via_irq(int state)
}
-static struct via6522_interface via_interface =
+static const struct via6522_interface via_interface =
{
/*inputs : A/B */ 0, 0,
/*inputs : CA/B1,CA/B2 */ 0, 0, 0, 0,
@@ -650,7 +650,7 @@ static struct via6522_interface via_interface =
};
-static struct via6522_interface drivedge_via_interface =
+static const struct via6522_interface drivedge_via_interface =
{
/*inputs : A/B */ 0, 0,
/*inputs : CA/B1,CA/B2 */ 0, 0, 0, 0,
@@ -1484,7 +1484,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct ES5506interface es5506_interface =
+static const struct ES5506interface es5506_interface =
{
REGION_SOUND1,
REGION_SOUND2,
diff --git a/src/mame/drivers/itech8.c b/src/mame/drivers/itech8.c
index e29068d465b..e21c3736c1c 100644
--- a/src/mame/drivers/itech8.c
+++ b/src/mame/drivers/itech8.c
@@ -521,7 +521,7 @@ static const pia6821_interface pia_interface =
static void via_irq(int state);
-static struct via6522_interface via_interface =
+static const struct via6522_interface via_interface =
{
/*inputs : A/B */ 0, 0,
/*inputs : CA/B1,CA/B2 */ 0, 0, 0, 0,
@@ -1734,7 +1734,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
@@ -1744,7 +1744,7 @@ static struct YM2203interface ym2203_interface =
};
-static struct YM3812interface ym3812_interface =
+static const struct YM3812interface ym3812_interface =
{
generate_sound_irq
};
diff --git a/src/mame/drivers/jack.c b/src/mame/drivers/jack.c
index 98158d49336..0ab899c132d 100644
--- a/src/mame/drivers/jack.c
+++ b/src/mame/drivers/jack.c
@@ -862,7 +862,7 @@ static GFXDECODE_START( joinem )
GFXDECODE_ENTRY( REGION_GFX1, 0, joinem_charlayout, 0, 32 )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
soundlatch_r,
timer_r
diff --git a/src/mame/drivers/jailbrek.c b/src/mame/drivers/jailbrek.c
index 00ccea42d0b..64dda973b0c 100644
--- a/src/mame/drivers/jailbrek.c
+++ b/src/mame/drivers/jailbrek.c
@@ -221,7 +221,7 @@ GFXDECODE_END
-static struct VLM5030interface vlm5030_interface =
+static const struct VLM5030interface vlm5030_interface =
{
REGION_SOUND1, /* memory region of speech rom */
0 /* memory size of speech rom */
diff --git a/src/mame/drivers/jalmah.c b/src/mame/drivers/jalmah.c
index ec6961deef9..953a7588f3b 100644
--- a/src/mame/drivers/jalmah.c
+++ b/src/mame/drivers/jalmah.c
@@ -1293,7 +1293,7 @@ MCU simulations
static READ16_HANDLER( urashima_mcu_r )
{
- static int resp[] = { 0x99, 0xd8, 0x00,
+ static const int resp[] = { 0x99, 0xd8, 0x00,
0x2a, 0x6a, 0x00,
0x9c, 0xd8, 0x00,
0x2f, 0x6f, 0x00,
@@ -1444,7 +1444,7 @@ static WRITE16_HANDLER( urashima_mcu_w )
static READ16_HANDLER( daireika_mcu_r )
{
- static int resp[] = { 0x99, 0xd8, 0x00,
+ static const int resp[] = { 0x99, 0xd8, 0x00,
0x2a, 0x6a, 0x00,
0x9c, 0xd8, 0x00,
0x2f, 0x6f, 0x00,
@@ -1729,7 +1729,7 @@ static WRITE16_HANDLER( daireika_mcu_w )
static READ16_HANDLER( mjzoomin_mcu_r )
{
- static int resp[] = { 0x9c, 0xd8, 0x00,
+ static const int resp[] = { 0x9c, 0xd8, 0x00,
0x2a, 0x6a, 0x00,
0x99, 0xd8, 0x00,
0x2f, 0x6f, 0x00,
@@ -1842,7 +1842,7 @@ static WRITE16_HANDLER( mjzoomin_mcu_w )
static READ16_HANDLER( kakumei_mcu_r )
{
- static int resp[] = { 0x8a, 0xd8, 0x00,
+ static const int resp[] = { 0x8a, 0xd8, 0x00,
0x3c, 0x7c, 0x00,
0x99, 0xd8, 0x00,
0x25, 0x65, 0x00,
@@ -1863,7 +1863,7 @@ static READ16_HANDLER( kakumei_mcu_r )
static READ16_HANDLER( suchipi_mcu_r )
{
- static int resp[] = { 0x8a, 0xd8, 0x00,
+ static const int resp[] = { 0x8a, 0xd8, 0x00,
0x3c, 0x7c, 0x00,
0x99, 0xd8, 0x00,
0x25, 0x65, 0x00,
diff --git a/src/mame/drivers/jchan.c b/src/mame/drivers/jchan.c
index 0534d269ece..7f448ec33f1 100644
--- a/src/mame/drivers/jchan.c
+++ b/src/mame/drivers/jchan.c
@@ -735,7 +735,7 @@ INPUT_PORTS_END
/* sound stuff */
-static struct YMZ280Binterface ymz280b_intf =
+static const struct YMZ280Binterface ymz280b_intf =
{
REGION_SOUND1,
0 // irq ?
diff --git a/src/mame/drivers/jcross.c b/src/mame/drivers/jcross.c
index ab73a6cfc0d..d6415d90f03 100644
--- a/src/mame/drivers/jcross.c
+++ b/src/mame/drivers/jcross.c
@@ -45,7 +45,7 @@ static READ8_HANDLER(sharedram_r){ return jcr_sharedram[offset];}
static WRITE8_HANDLER(sharedram_w){ jcr_sharedram[offset]=data;}
#endif
-static struct namco_interface snkwave_interface =
+static const struct namco_interface snkwave_interface =
{
1,
-1
diff --git a/src/mame/drivers/jongkyo.c b/src/mame/drivers/jongkyo.c
index 8410ba90195..eebb1e2da59 100644
--- a/src/mame/drivers/jongkyo.c
+++ b/src/mame/drivers/jongkyo.c
@@ -580,7 +580,7 @@ static PALETTE_INIT(jongkyo)
}
}
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
keyboard1_r,
keyboard2_r,
diff --git a/src/mame/drivers/jpmimpct.c b/src/mame/drivers/jpmimpct.c
index 682e3376e61..18271a1c2f4 100644
--- a/src/mame/drivers/jpmimpct.c
+++ b/src/mame/drivers/jpmimpct.c
@@ -794,7 +794,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct upd7759_interface upd7759_interface =
+static const struct upd7759_interface upd7759_interface =
{
REGION_SOUND1
};
@@ -812,7 +812,7 @@ static void jpmimpct_tms_irq(int state)
update_irqs();
}
-static tms34010_config tms_config =
+static const tms34010_config tms_config =
{
TRUE, /* halt on reset */
0, /* the screen operated on */
diff --git a/src/mame/drivers/jrpacman.c b/src/mame/drivers/jrpacman.c
index 90fd97068ca..2ae01c206bd 100644
--- a/src/mame/drivers/jrpacman.c
+++ b/src/mame/drivers/jrpacman.c
@@ -248,7 +248,7 @@ GFXDECODE_END
*
*************************************/
-static struct namco_interface namco_interface =
+static const struct namco_interface namco_interface =
{
3, /* number of voices */
REGION_SOUND1 /* memory region */
diff --git a/src/mame/drivers/junofrst.c b/src/mame/drivers/junofrst.c
index a1e84bf7b0e..07e6fcab005 100644
--- a/src/mame/drivers/junofrst.c
+++ b/src/mame/drivers/junofrst.c
@@ -331,7 +331,7 @@ INPUT_PORTS_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
junofrst_portA_r,
0,
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index 33f954f26a3..8bcaf057548 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -1756,13 +1756,13 @@ static INTERRUPT_GEN( kaneko16_interrupt )
}
}
-static struct AY8910interface ay8910_intf_dsw =
+static const struct AY8910interface ay8910_intf_dsw =
{
input_port_4_r, /* input A: DSW 1 */
input_port_5_r /* input B: DSW 2 */
};
-static struct AY8910interface ay8910_intf_eeprom =
+static const struct AY8910interface ay8910_intf_eeprom =
{
kaneko16_eeprom_r, /* inputs A: 0,EEPROM bit read */
0, /* inputs B */
diff --git a/src/mame/drivers/karnov.c b/src/mame/drivers/karnov.c
index 0a13ef25c08..ceed3d0975c 100644
--- a/src/mame/drivers/karnov.c
+++ b/src/mame/drivers/karnov.c
@@ -671,7 +671,7 @@ static void sound_irq(int linestate)
cpunum_set_input_line(1,0,linestate); /* IRQ */
}
-static struct YM3526interface ym3526_interface =
+static const struct YM3526interface ym3526_interface =
{
sound_irq
};
diff --git a/src/mame/drivers/kchamp.c b/src/mame/drivers/kchamp.c
index b7196d7e04f..f01003a9255 100644
--- a/src/mame/drivers/kchamp.c
+++ b/src/mame/drivers/kchamp.c
@@ -420,7 +420,7 @@ static void msmint( int data ) {
}
}
-static struct MSM5205interface msm_interface =
+static const struct MSM5205interface msm_interface =
{
msmint, /* interrupt function */
MSM5205_S96_4B /* 1 / 96 = 3906.25Hz playback */
diff --git a/src/mame/drivers/kingobox.c b/src/mame/drivers/kingobox.c
index fc563e6e796..f4e73dddccb 100644
--- a/src/mame/drivers/kingobox.c
+++ b/src/mame/drivers/kingobox.c
@@ -536,7 +536,7 @@ static GFXDECODE_START( rk )
GFXDECODE_ENTRY( REGION_GFX4, 0x00000, rk_bglayout, 0, 32 ) /* bg tiles */
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
soundlatch_r
};
diff --git a/src/mame/drivers/kinst.c b/src/mame/drivers/kinst.c
index 05015d96aaf..6edcf3c6a9f 100644
--- a/src/mame/drivers/kinst.c
+++ b/src/mame/drivers/kinst.c
@@ -259,7 +259,7 @@ static void ide_interrupt(int state)
}
-static struct ide_interface ide_intf =
+static const struct ide_interface ide_intf =
{
ide_interrupt
};
@@ -643,7 +643,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct mips3_config config =
+static const struct mips3_config config =
{
16384, /* code cache size */
16384 /* data cache size */
diff --git a/src/mame/drivers/kinstb.c b/src/mame/drivers/kinstb.c
index a6567897f90..3252905be6a 100644
--- a/src/mame/drivers/kinstb.c
+++ b/src/mame/drivers/kinstb.c
@@ -203,7 +203,7 @@ static INPUT_PORTS_START( kinstb )
INPUT_PORTS_END
-static struct CustomSound_interface snes_sound_interface =
+static const struct CustomSound_interface snes_sound_interface =
{ snes_sh_start };
static GFXDECODE_START( kinstb )
diff --git a/src/mame/drivers/koikoi.c b/src/mame/drivers/koikoi.c
index 6fe21fd3900..8924eebd59e 100644
--- a/src/mame/drivers/koikoi.c
+++ b/src/mame/drivers/koikoi.c
@@ -238,7 +238,7 @@ static GFXDECODE_START( koikoi )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0, input_r,
unknown_w, 0
diff --git a/src/mame/drivers/konamigq.c b/src/mame/drivers/konamigq.c
index de16f5f8f2d..7342cb131a2 100644
--- a/src/mame/drivers/konamigq.c
+++ b/src/mame/drivers/konamigq.c
@@ -274,7 +274,7 @@ static ADDRESS_MAP_START( sndwritemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x580000, 0x580001) AM_WRITE(MWA16_NOP) /* ?? */
ADDRESS_MAP_END
-static struct K054539interface k054539_interface =
+static const struct K054539interface k054539_interface =
{
REGION_SOUND1
};
@@ -325,7 +325,7 @@ static void scsi_irq(void)
psx_irq_set(0x400);
}
-static SCSIConfigTable dev_table =
+static const SCSIConfigTable dev_table =
{
1, /* 1 SCSI device */
{
@@ -333,7 +333,7 @@ static SCSIConfigTable dev_table =
}
};
-static struct AM53CF96interface scsi_intf =
+static const struct AM53CF96interface scsi_intf =
{
&dev_table, /* SCSI device table */
&scsi_irq, /* command completion IRQ */
diff --git a/src/mame/drivers/konamigv.c b/src/mame/drivers/konamigv.c
index 77ea0c487c0..88e01ac121f 100644
--- a/src/mame/drivers/konamigv.c
+++ b/src/mame/drivers/konamigv.c
@@ -292,7 +292,7 @@ static void scsi_irq(void)
psx_irq_set(0x400);
}
-static SCSIConfigTable dev_table =
+static const SCSIConfigTable dev_table =
{
1, /* 1 SCSI device */
{
@@ -300,7 +300,7 @@ static SCSIConfigTable dev_table =
}
};
-static struct AM53CF96interface scsi_intf =
+static const struct AM53CF96interface scsi_intf =
{
&dev_table, /* SCSI device table */
&scsi_irq, /* command completion IRQ */
@@ -331,7 +331,7 @@ static MACHINE_RESET( konamigv )
state_save_register_global_array(btc_trackball_data);
}
-static struct PSXSPUinterface konamigv_psxspu_interface =
+static const struct PSXSPUinterface konamigv_psxspu_interface =
{
&g_p_n_psxram,
psx_irq_set,
diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c
index 2dc85fef79e..8b6fd2f8ccb 100644
--- a/src/mame/drivers/konamigx.c
+++ b/src/mame/drivers/konamigx.c
@@ -1245,7 +1245,7 @@ static ADDRESS_MAP_START( gxsndmap, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x580000, 0x580001) AM_WRITENOP
ADDRESS_MAP_END
-static struct K054539interface k054539_interface =
+static const struct K054539interface k054539_interface =
{
REGION_SOUND1
};
@@ -1268,7 +1268,7 @@ static const gfx_layout bglayout_8bpp =
16*128
};
-static gfx_layout t1_charlayout6 =
+static const gfx_layout t1_charlayout6 =
{
16, 16,
RGN_FRAC(1,1),
@@ -1280,7 +1280,7 @@ static gfx_layout t1_charlayout6 =
16*16*6
};
-static gfx_layout t1_charlayout8 =
+static const gfx_layout t1_charlayout8 =
{
16, 16,
RGN_FRAC(1,1),
@@ -3476,7 +3476,7 @@ typedef struct
#define BPP6 2
#define BPP66 3
-static GXGameInfoT gameDefs[] =
+static const GXGameInfoT gameDefs[] =
{
{ "racinfrc", 11, 0, 0, BPP4 },
{ "racinfru", 11, 0, 0, BPP4 },
diff --git a/src/mame/drivers/konamim2.c b/src/mame/drivers/konamim2.c
index d679ff6b201..feabd9ad6a4 100644
--- a/src/mame/drivers/konamim2.c
+++ b/src/mame/drivers/konamim2.c
@@ -1019,7 +1019,7 @@ static INPUT_PORTS_START( m2 )
INPUT_PORTS_END
-static ppc_config ppc602_config =
+static const ppc_config ppc602_config =
{
PPC_MODEL_602,
0x20, /* Multiplier 2, Bus = 33MHz, Core = 66MHz */
diff --git a/src/mame/drivers/ksayakyu.c b/src/mame/drivers/ksayakyu.c
index cbc0d43a6c3..0933da2e682 100644
--- a/src/mame/drivers/ksayakyu.c
+++ b/src/mame/drivers/ksayakyu.c
@@ -179,7 +179,7 @@ static WRITE8_HANDLER(dummy_w)
//DAC ? communication with main cpu ?
}
-static struct AY8910interface ay8910_interface_1 =
+static const struct AY8910interface ay8910_interface_1 =
{
soundlatch_r,
0,
@@ -187,7 +187,7 @@ static struct AY8910interface ay8910_interface_1 =
dummy_w
};
-static struct AY8910interface ay8910_interface_2 =
+static const struct AY8910interface ay8910_interface_2 =
{
0,
0,
diff --git a/src/mame/drivers/ksys573.c b/src/mame/drivers/ksys573.c
index 1d11a2878da..32ee7e94f86 100644
--- a/src/mame/drivers/ksys573.c
+++ b/src/mame/drivers/ksys573.c
@@ -1316,7 +1316,7 @@ static void flash_init( void )
int chip;
int size;
UINT8 *data;
- static struct
+ static const struct
{
int *start;
int region;
@@ -1515,7 +1515,7 @@ static MACHINE_RESET( konami573 )
flash_bank = -1;
}
-static struct PSXSPUinterface konami573_psxspu_interface =
+static const struct PSXSPUinterface konami573_psxspu_interface =
{
&g_p_n_psxram,
psx_irq_set,
@@ -1713,7 +1713,7 @@ static void gx700pwbf_output( int offset, UINT8 data )
if( gx700pwfbf_output_callback != NULL )
{
int i;
- static int shift[] = { 7, 6, 1, 0, 5, 4, 3, 2 };
+ static const int shift[] = { 7, 6, 1, 0, 5, 4, 3, 2 };
for( i = 0; i < 8; i++ )
{
int oldbit = ( gx700pwbf_output_data[ offset ] >> shift[ i ] ) & 1;
@@ -1802,7 +1802,7 @@ static struct
int bit;
} stage[ 2 ];
-static int mask[] =
+static const int mask[] =
{
0, 6, 2, 4,
0, 4, 0, 4,
@@ -2024,7 +2024,7 @@ static DRIVER_INIT( gtrfrks )
/* GX894 digital i/o */
-static UINT8 ds2401_xid[] =
+static const UINT8 ds2401_xid[] =
{
0x3d, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12, 0x01
};
@@ -2157,7 +2157,7 @@ static void gx894pwbba_output( int offset, UINT8 data )
if( gx894pwbba_output_callback != NULL )
{
int i;
- static int shift[] = { 0, 2, 3, 1 };
+ static const int shift[] = { 0, 2, 3, 1 };
for( i = 0; i < 4; i++ )
{
int oldbit = ( gx894pwbba_output_data[ offset ] >> shift[ i ] ) & 1;
diff --git a/src/mame/drivers/kyugo.c b/src/mame/drivers/kyugo.c
index 71629f68947..6fe796db294 100644
--- a/src/mame/drivers/kyugo.c
+++ b/src/mame/drivers/kyugo.c
@@ -476,7 +476,7 @@ GFXDECODE_END
*
*************************************/
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_0_r,
input_port_1_r
diff --git a/src/mame/drivers/labyrunr.c b/src/mame/drivers/labyrunr.c
index 1b8ee0acacb..723b7acfb2f 100644
--- a/src/mame/drivers/labyrunr.c
+++ b/src/mame/drivers/labyrunr.c
@@ -221,13 +221,13 @@ GFXDECODE_END
***************************************************************************/
-static struct YM2203interface ym2203_interface_1 =
+static const struct YM2203interface ym2203_interface_1 =
{
input_port_0_r,
input_port_1_r
};
-static struct YM2203interface ym2203_interface_2 =
+static const struct YM2203interface ym2203_interface_2 =
{
0,
input_port_2_r
diff --git a/src/mame/drivers/ladyfrog.c b/src/mame/drivers/ladyfrog.c
index 531b525d2c5..83fb6d803b3 100644
--- a/src/mame/drivers/ladyfrog.c
+++ b/src/mame/drivers/ladyfrog.c
@@ -120,7 +120,7 @@ static WRITE8_HANDLER(unk_w)
}
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0,
0,
@@ -128,7 +128,7 @@ static struct AY8910interface ay8910_interface =
unk_w
};
-static struct MSM5232interface msm5232_interface =
+static const struct MSM5232interface msm5232_interface =
{
{ 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6 }
};
diff --git a/src/mame/drivers/laserbat.c b/src/mame/drivers/laserbat.c
index 2d479c9fea1..a9d26bf81a7 100644
--- a/src/mame/drivers/laserbat.c
+++ b/src/mame/drivers/laserbat.c
@@ -651,7 +651,7 @@ static const pia6821_interface pia_0_intf =
/*irqs : A/B */ zaccaria_irq0a, zaccaria_irq0b
};
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0,
soundlatch_r,
diff --git a/src/mame/drivers/lastduel.c b/src/mame/drivers/lastduel.c
index 2fe4a458c8c..9267862f89b 100644
--- a/src/mame/drivers/lastduel.c
+++ b/src/mame/drivers/lastduel.c
@@ -234,7 +234,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,0,0,0,irqhandler
};
diff --git a/src/mame/drivers/leland.c b/src/mame/drivers/leland.c
index 49baf152a7d..77136e3c04d 100644
--- a/src/mame/drivers/leland.c
+++ b/src/mame/drivers/leland.c
@@ -696,7 +696,7 @@ GFXDECODE_END
register.
*/
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
leland_sound_port_r,
0,
@@ -705,19 +705,19 @@ static struct AY8910interface ay8910_interface =
};
-static struct CustomSound_interface dac_custom_interface =
+static const struct CustomSound_interface dac_custom_interface =
{
leland_sh_start
};
-static struct CustomSound_interface i80186_custom_interface =
+static const struct CustomSound_interface i80186_custom_interface =
{
leland_80186_sh_start
};
-static struct CustomSound_interface redline_custom_interface =
+static const struct CustomSound_interface redline_custom_interface =
{
redline_80186_sh_start
};
diff --git a/src/mame/drivers/lemmings.c b/src/mame/drivers/lemmings.c
index 7e3804cfb7b..25f8eb97398 100644
--- a/src/mame/drivers/lemmings.c
+++ b/src/mame/drivers/lemmings.c
@@ -264,7 +264,7 @@ static void sound_irq(int state)
cpunum_set_input_line(1,0,state);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq
};
diff --git a/src/mame/drivers/lethal.c b/src/mame/drivers/lethal.c
index 83762a190fc..f23d882f31e 100644
--- a/src/mame/drivers/lethal.c
+++ b/src/mame/drivers/lethal.c
@@ -610,7 +610,7 @@ static INPUT_PORTS_START( lethalej )
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, -1.0, 0.0, 0) PORT_SENSITIVITY(25) PORT_KEYDELTA(15) PORT_PLAYER(2) PORT_REVERSE
INPUT_PORTS_END
-static struct K054539interface k054539_interface =
+static const struct K054539interface k054539_interface =
{
REGION_SOUND1,
NULL,
diff --git a/src/mame/drivers/lethalj.c b/src/mame/drivers/lethalj.c
index 1cdec17f885..620f7ccb2f6 100644
--- a/src/mame/drivers/lethalj.c
+++ b/src/mame/drivers/lethalj.c
@@ -469,7 +469,7 @@ INPUT_PORTS_END
*
*************************************/
-static tms34010_config tms_config =
+static const tms34010_config tms_config =
{
FALSE, /* halt on reset */
0, /* the screen operated on */
@@ -481,7 +481,7 @@ static tms34010_config tms_config =
NULL /* read from shiftreg function */
};
-static tms34010_config tms_config_lethalj =
+static const tms34010_config tms_config_lethalj =
{
FALSE, /* halt on reset */
0, /* the screen operated on */
diff --git a/src/mame/drivers/liberatr.c b/src/mame/drivers/liberatr.c
index 9d22b647c10..317e795f8a1 100644
--- a/src/mame/drivers/liberatr.c
+++ b/src/mame/drivers/liberatr.c
@@ -357,14 +357,14 @@ INPUT_PORTS_END
*
*************************************/
-static struct POKEYinterface pokey_interface_1 =
+static const struct POKEYinterface pokey_interface_1 =
{
{ 0 },
input_port_3_r
};
-static struct POKEYinterface pokey_interface_2 =
+static const struct POKEYinterface pokey_interface_2 =
{
{ 0 },
input_port_2_r
diff --git a/src/mame/drivers/limenko.c b/src/mame/drivers/limenko.c
index 73288f2aaf2..d0eaee5193a 100644
--- a/src/mame/drivers/limenko.c
+++ b/src/mame/drivers/limenko.c
@@ -453,7 +453,7 @@ INPUT_PORTS_END
*****************************************************************************************************/
-static gfx_layout tile_layout =
+static const gfx_layout tile_layout =
{
8,8,
RGN_FRAC(1,1),
diff --git a/src/mame/drivers/lkage.c b/src/mame/drivers/lkage.c
index e9350f028ef..732edd92a45 100644
--- a/src/mame/drivers/lkage.c
+++ b/src/mame/drivers/lkage.c
@@ -313,7 +313,7 @@ static void irqhandler(int irq)
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
diff --git a/src/mame/drivers/lockon.c b/src/mame/drivers/lockon.c
index 8d0e2a00d4c..c95e689b6b0 100644
--- a/src/mame/drivers/lockon.c
+++ b/src/mame/drivers/lockon.c
@@ -575,7 +575,7 @@ static WRITE8_HANDLER(YM2203_out_b)
set_led_status(1,!(data & 0x10)); // 'LOCK-ON' lamp
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
input_port_2_r,
0,
diff --git a/src/mame/drivers/looping.c b/src/mame/drivers/looping.c
index 53ebe26eeeb..4606382b250 100644
--- a/src/mame/drivers/looping.c
+++ b/src/mame/drivers/looping.c
@@ -555,12 +555,12 @@ GFXDECODE_END
*
*************************************/
-static struct TMS5220interface tms5220_interface =
+static const struct TMS5220interface tms5220_interface =
{
looping_spcint
};
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
soundlatch_r
};
diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c
index 7a8d7913533..068808d66d8 100644
--- a/src/mame/drivers/lordgun.c
+++ b/src/mame/drivers/lordgun.c
@@ -429,7 +429,7 @@ static void soundirq(int state)
cpunum_set_input_line(1, 0, state);
}
-static struct YM3812interface lordgun_ym3812_interface =
+static const struct YM3812interface lordgun_ym3812_interface =
{
soundirq
};
diff --git a/src/mame/drivers/lsasquad.c b/src/mame/drivers/lsasquad.c
index 0c6fe3d6d00..eee26f49c91 100644
--- a/src/mame/drivers/lsasquad.c
+++ b/src/mame/drivers/lsasquad.c
@@ -575,7 +575,7 @@ static WRITE8_HANDLER( unk )
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
diff --git a/src/mame/drivers/lucky8.c b/src/mame/drivers/lucky8.c
index 8e286bc449f..41472e6a253 100644
--- a/src/mame/drivers/lucky8.c
+++ b/src/mame/drivers/lucky8.c
@@ -357,7 +357,7 @@ static GFXDECODE_START( lucky8 )
GFXDECODE_ENTRY( REGION_GFX2, 0x1000, spritelayout2, 0, 64 )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_7_r, // DSW3
input_port_8_r, // DSW4
diff --git a/src/mame/drivers/lvcards.c b/src/mame/drivers/lvcards.c
index ca9d5358ecb..3629c8229af 100644
--- a/src/mame/drivers/lvcards.c
+++ b/src/mame/drivers/lvcards.c
@@ -461,7 +461,7 @@ GFXDECODE_END
/* Sound Interfaces */
-static struct AY8910interface lcay8910_interface =
+static const struct AY8910interface lcay8910_interface =
{
input_port_3_r, //DSW0
input_port_4_r //DSW1
diff --git a/src/mame/drivers/lwings.c b/src/mame/drivers/lwings.c
index 58364445796..fac8cccf9ef 100644
--- a/src/mame/drivers/lwings.c
+++ b/src/mame/drivers/lwings.c
@@ -844,7 +844,7 @@ static GFXDECODE_START( trojan )
GFXDECODE_ENTRY( REGION_GFX4, 0, bg2_tilelayout, 0, 8 ) /* colors 0-127 */
GFXDECODE_END
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
0, /* interrupt function */
MSM5205_SEX_4B /* slave mode */
diff --git a/src/mame/drivers/m107.c b/src/mame/drivers/m107.c
index 1d4ac5fe235..600c032a292 100644
--- a/src/mame/drivers/m107.c
+++ b/src/mame/drivers/m107.c
@@ -462,12 +462,12 @@ static void sound_irq(int state)
timer_call_after_resynch(NULL, YM2151_CLEAR,setvector_callback);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq
};
-static struct IremGA20_interface iremGA20_interface =
+static const struct IremGA20_interface iremGA20_interface =
{
REGION_SOUND1
};
diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c
index 73c1cade25d..a2ee2e1216f 100644
--- a/src/mame/drivers/m72.c
+++ b/src/mame/drivers/m72.c
@@ -1853,7 +1853,7 @@ GFXDECODE_END
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
m72_ym2151_irq_handler
};
diff --git a/src/mame/drivers/m90.c b/src/mame/drivers/m90.c
index 4182a62e707..d116b2906dc 100644
--- a/src/mame/drivers/m90.c
+++ b/src/mame/drivers/m90.c
@@ -639,7 +639,7 @@ GFXDECODE_END
/*****************************************************************************/
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
m72_ym2151_irq_handler
};
diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c
index 5d3f951fb29..d9ec7a77943 100644
--- a/src/mame/drivers/m92.c
+++ b/src/mame/drivers/m92.c
@@ -933,12 +933,12 @@ static void sound_irq(int state)
timer_call_after_resynch(NULL, YM2151_CLEAR, setvector_callback);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq
};
-static struct IremGA20_interface iremGA20_interface =
+static const struct IremGA20_interface iremGA20_interface =
{
REGION_SOUND1
};
diff --git a/src/mame/drivers/macrossp.c b/src/mame/drivers/macrossp.c
index 3ea484f98f0..9a888c1f0c6 100644
--- a/src/mame/drivers/macrossp.c
+++ b/src/mame/drivers/macrossp.c
@@ -519,7 +519,7 @@ static void irqhandler(int irq)
// cpunum_set_input_line(1,1,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct ES5506interface es5506_interface =
+static const struct ES5506interface es5506_interface =
{
REGION_SOUND1,
REGION_SOUND2,
diff --git a/src/mame/drivers/macs.c b/src/mame/drivers/macs.c
index cda90b068db..1576ea74039 100644
--- a/src/mame/drivers/macs.c
+++ b/src/mame/drivers/macs.c
@@ -340,7 +340,7 @@ static INPUT_PORTS_START( macs )
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END
-static struct ST0016interface st0016_interface =
+static const struct ST0016interface st0016_interface =
{
&st0016_charram
};
diff --git a/src/mame/drivers/madalien.c b/src/mame/drivers/madalien.c
index b12d47eb76c..f7581183796 100644
--- a/src/mame/drivers/madalien.c
+++ b/src/mame/drivers/madalien.c
@@ -160,7 +160,7 @@ static VIDEO_START( madalien )
{
rectangle rect = { 0, 127, 0, 127 };
- static crtc6845_interface crtc6845_intf =
+ static const crtc6845_interface crtc6845_intf =
{
0, /* screen we are acting on */
PIXEL_CLOCK / 8, /* the clock of the chip */
@@ -647,7 +647,7 @@ static GFXDECODE_START( madalien )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
NULL,
NULL,
diff --git a/src/mame/drivers/madmotor.c b/src/mame/drivers/madmotor.c
index 520126ceeb1..cf35a2951f5 100644
--- a/src/mame/drivers/madmotor.c
+++ b/src/mame/drivers/madmotor.c
@@ -276,7 +276,7 @@ static void sound_irq(int state)
cpunum_set_input_line(1,1,state); /* IRQ 2 */
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
sound_irq
};
diff --git a/src/mame/drivers/magmax.c b/src/mame/drivers/magmax.c
index 56c03da92ca..b4e00fa520a 100644
--- a/src/mame/drivers/magmax.c
+++ b/src/mame/drivers/magmax.c
@@ -350,7 +350,7 @@ static GFXDECODE_START( magmax )
GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0,
0,
diff --git a/src/mame/drivers/mainevt.c b/src/mame/drivers/mainevt.c
index 6d6b6d1bccf..5a304aa6460 100644
--- a/src/mame/drivers/mainevt.c
+++ b/src/mame/drivers/mainevt.c
@@ -691,13 +691,13 @@ static void volume_callback(int v)
K007232_set_volume(0,1,0,(v & 0x0f) * 0x11);
}
-static struct K007232_interface k007232_interface =
+static const struct K007232_interface k007232_interface =
{
REGION_SOUND1, /* memory regions */
volume_callback /* external port callback */
};
-static struct upd7759_interface upd7759_interface =
+static const struct upd7759_interface upd7759_interface =
{
REGION_SOUND2, /* memory region */
0
diff --git a/src/mame/drivers/mainsnk.c b/src/mame/drivers/mainsnk.c
index 99a2ac2d16f..07d4c046bbd 100644
--- a/src/mame/drivers/mainsnk.c
+++ b/src/mame/drivers/mainsnk.c
@@ -358,7 +358,7 @@ static const gfx_layout sprite_layout =
256
};
-static struct namco_interface snkwave_interface =
+static const struct namco_interface snkwave_interface =
{
1,
-1
diff --git a/src/mame/drivers/mappy.c b/src/mame/drivers/mappy.c
index faf81a41af9..4e4c75312da 100644
--- a/src/mame/drivers/mappy.c
+++ b/src/mame/drivers/mappy.c
@@ -626,23 +626,23 @@ static WRITE8_HANDLER( out_lamps )
}
/* chip #0: player inputs, buttons, coins */
-static struct namcoio_interface intf0 =
+static const struct namcoio_interface intf0 =
{
{ in1_h, in0_l, in0_h, in1_l }, /* port read handlers */
{ NULL, NULL } /* port write handlers */
};
-static struct namcoio_interface intf0_lamps =
+static const struct namcoio_interface intf0_lamps =
{
{ in1_h, in0_l, in0_h, in1_l }, /* port read handlers */
{ out_lamps, NULL } /* port write handlers */
};
/* chip #1: dip switches, test/cocktail, optional buttons */
-static struct namcoio_interface intf1 =
+static const struct namcoio_interface intf1 =
{
{ dipB_mux, dipA_l, dipA_h, in2 }, /* port read handlers */
{ out_mux, NULL } /* port write handlers */
};
-static struct namcoio_interface intf1_interleave =
+static const struct namcoio_interface intf1_interleave =
{
{ dipB_muxi, dipA_l, dipA_h, in2 }, /* port read handlers */
{ out_mux, NULL } /* port write handlers */
@@ -1559,7 +1559,7 @@ GFXDECODE_END
-static struct namco_interface namco_interface =
+static const struct namco_interface namco_interface =
{
8, /* number of voices */
REGION_SOUND1 /* memory region */
diff --git a/src/mame/drivers/mario.c b/src/mame/drivers/mario.c
index 98369031a61..0a0a6c29999 100644
--- a/src/mame/drivers/mario.c
+++ b/src/mame/drivers/mario.c
@@ -377,7 +377,7 @@ static const struct Samplesinterface samples_interface =
mario_sample_names
};
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
soundlatch_r
};
diff --git a/src/mame/drivers/marvins.c b/src/mame/drivers/marvins.c
index 49439d4cc68..cad05d0b46e 100644
--- a/src/mame/drivers/marvins.c
+++ b/src/mame/drivers/marvins.c
@@ -94,7 +94,7 @@ extern WRITE8_HANDLER( snkwave_w );
static int sound_cpu_busy;
-static struct namco_interface snkwave_interface =
+static const struct namco_interface snkwave_interface =
{
1, /* number of voices */
-1 /* memory region */
diff --git a/src/mame/drivers/mastboy.c b/src/mame/drivers/mastboy.c
index 581c98f38bd..43421e313db 100644
--- a/src/mame/drivers/mastboy.c
+++ b/src/mame/drivers/mastboy.c
@@ -644,7 +644,7 @@ static void mastboy_adpcm_int(int data)
}
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
mastboy_adpcm_int, /* interrupt function */
MSM5205_SEX_4B /* 4KHz 4-bit */
diff --git a/src/mame/drivers/matmania.c b/src/mame/drivers/matmania.c
index db2a4a81ae0..6b780c6eb70 100644
--- a/src/mame/drivers/matmania.c
+++ b/src/mame/drivers/matmania.c
@@ -383,7 +383,7 @@ static void irqhandler(int linestate)
cpunum_set_input_line(1,1,linestate);
}
-static struct YM3526interface ym3526_interface =
+static const struct YM3526interface ym3526_interface =
{
irqhandler
};
diff --git a/src/mame/drivers/maxaflex.c b/src/mame/drivers/maxaflex.c
index fa25f608fe8..841f2c26775 100644
--- a/src/mame/drivers/maxaflex.c
+++ b/src/mame/drivers/maxaflex.c
@@ -422,7 +422,7 @@ static PALETTE_INIT( atari )
}
-static struct POKEYinterface pokey_interface = {
+static const struct POKEYinterface pokey_interface = {
{ 0 },
0,
0,0,
diff --git a/src/mame/drivers/mayumi.c b/src/mame/drivers/mayumi.c
index a2a9c530b4a..0a25d0de7c1 100644
--- a/src/mame/drivers/mayumi.c
+++ b/src/mame/drivers/mayumi.c
@@ -261,7 +261,7 @@ static GFXDECODE_START( mayumi )
GFXDECODE_ENTRY( REGION_GFX1, 0x00000, charlayout, 0, 32 )
GFXDECODE_END
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
input_port_0_r,
input_port_1_r
diff --git a/src/mame/drivers/mazerbla.c b/src/mame/drivers/mazerbla.c
index 1ffa98bddbd..6c7df0498a9 100644
--- a/src/mame/drivers/mazerbla.c
+++ b/src/mame/drivers/mazerbla.c
@@ -1468,13 +1468,13 @@ static MACHINE_RESET( greatgun )
/* only Great Guns */
-static struct AY8910interface ay8912_interface_1 =
+static const struct AY8910interface ay8912_interface_1 =
{
0,
soundcommand_r
};
-static struct AY8910interface ay8912_interface_2 =
+static const struct AY8910interface ay8912_interface_2 =
{
0,
0,
diff --git a/src/mame/drivers/mcatadv.c b/src/mame/drivers/mcatadv.c
index 864916ffa6c..ca5b51f218a 100644
--- a/src/mame/drivers/mcatadv.c
+++ b/src/mame/drivers/mcatadv.c
@@ -481,7 +481,7 @@ static void sound_irq( int irq )
{
cpunum_set_input_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2610interface mcatadv_ym2610_interface =
+static const struct YM2610interface mcatadv_ym2610_interface =
{
sound_irq, /* irq */
REGION_SOUND1, /* delta_t */
diff --git a/src/mame/drivers/mcr3.c b/src/mame/drivers/mcr3.c
index 86ec5b2eb6d..e04eabb825c 100644
--- a/src/mame/drivers/mcr3.c
+++ b/src/mame/drivers/mcr3.c
@@ -206,7 +206,7 @@ static WRITE8_HANDLER( maxrpm_op5_w )
static WRITE8_HANDLER( maxrpm_op6_w )
{
- static const char *inputs[] = { "MONO.IP1", "MONO.IP1.ALT1", "MONO.IP1.ALT2", "MONO.IP1.ALT3" };
+ static const char *const inputs[] = { "MONO.IP1", "MONO.IP1.ALT1", "MONO.IP1.ALT2", "MONO.IP1.ALT3" };
/*
Reflective Sensor Control:
@@ -388,7 +388,7 @@ static WRITE8_HANDLER( spyhunt_op4_w )
/* bit 5 = STR1 (J1-13) */
if (((last_op4 ^ data) & 0x20) && !(data & 0x20))
{
- static const char *lampname[8] =
+ static const char *const lampname[8] =
{
"lamp0", "lamp1", "lamp2", "lamp3",
"lamp4", "lamp5", "lamp6", "lamp7"
diff --git a/src/mame/drivers/meadows.c b/src/mame/drivers/meadows.c
index e58cce74ed0..864a7cfb9b3 100644
--- a/src/mame/drivers/meadows.c
+++ b/src/mame/drivers/meadows.c
@@ -805,7 +805,7 @@ ROM_END
/* A fake for the missing ball sprites #3 and #4 */
static DRIVER_INIT( gypsyjug )
{
- static UINT8 ball[16*2] =
+ static const UINT8 ball[16*2] =
{
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
0x00,0x00, 0x00,0x00, 0x00,0x00, 0x00,0x00,
diff --git a/src/mame/drivers/mediagx.c b/src/mame/drivers/mediagx.c
index d96913e9c4b..29ffef9ad7d 100644
--- a/src/mame/drivers/mediagx.c
+++ b/src/mame/drivers/mediagx.c
@@ -916,17 +916,17 @@ static void ide_interrupt(int state)
pic8259_set_irq_line(1, 6, state);
}
-static struct kbdc8042_interface at8042 =
+static const struct kbdc8042_interface at8042 =
{
KBDC8042_AT386, set_gate_a20, keyboard_interrupt
};
-static struct ide_interface ide_intf =
+static const struct ide_interface ide_intf =
{
ide_interrupt
};
-static struct pci_device_info cx5510 =
+static const struct pci_device_info cx5510 =
{
cx5510_pci_r,
cx5510_pci_w
diff --git a/src/mame/drivers/megadriv.c b/src/mame/drivers/megadriv.c
index 10a02adcb72..3fb0dd2d6a9 100644
--- a/src/mame/drivers/megadriv.c
+++ b/src/mame/drivers/megadriv.c
@@ -1148,7 +1148,7 @@ static UINT16 megadriv_vdp_ctrl_port_r(void)
(megadrive_region_pal<<0); // PAL MODE FLAG checked by striker for region prot..
}
-static UINT8 vc_ntsc_224[] =
+static const UINT8 vc_ntsc_224[] =
{
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
@@ -1169,7 +1169,7 @@ static UINT8 vc_ntsc_224[] =
0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
};
-static UINT8 vc_ntsc_240[] =
+static const UINT8 vc_ntsc_240[] =
{
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
@@ -1190,7 +1190,7 @@ static UINT8 vc_ntsc_240[] =
0x00, 0x01, 0x02, 0x03, 0x04, 0x05
};
-static UINT8 vc_pal_224[] =
+static const UINT8 vc_pal_224[] =
{
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
@@ -1214,7 +1214,7 @@ static UINT8 vc_pal_224[] =
0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
};
-static UINT8 vc_pal_240[] =
+static const UINT8 vc_pal_240[] =
{
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
diff --git a/src/mame/drivers/megasys1.c b/src/mame/drivers/megasys1.c
index e0227aed05a..622aa0a8a6e 100644
--- a/src/mame/drivers/megasys1.c
+++ b/src/mame/drivers/megasys1.c
@@ -641,7 +641,7 @@ GFXDECODE_END
/* Provided by Jim Hernandez: 3.5MHz for FM, 30KHz (!) for ADPCM */
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
megasys1_sound_irq
};
@@ -814,7 +814,7 @@ static void irq_handler(int irq)
}
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
0,
0,
diff --git a/src/mame/drivers/megatech.c b/src/mame/drivers/megatech.c
index eac9cdb11ea..4dad7339c19 100644
--- a/src/mame/drivers/megatech.c
+++ b/src/mame/drivers/megatech.c
@@ -1308,7 +1308,7 @@ ROM_END
/* 44 */ GAME( 1990, mt_arrow, megatech, megatech, megatech, mtnew, ROT0, "Sega", "Arrow Flash (Mega-Tech)", GAME_NOT_WORKING )
/* 45 */ // unknown
/* 46 */ // unknown
-/* 47 */ GAME( 1990, mt_astrm, megatech, megatech, megatech, mtnew, ROT0, "Sega", "Alien Storm (Mega-Tech", GAME_NOT_WORKING )
+/* 47 */ GAME( 1990, mt_astrm, megatech, megatech, megatech, mtnew, ROT0, "Sega", "Alien Storm (Mega-Tech)", GAME_NOT_WORKING )
/* 48 */ GAME( 1991, mt_wwar, megatech, megatech, megatech, mtnew, ROT0, "Sega", "Wrestle War (Mega-Tech)", GAME_NOT_WORKING ) /* Copyright 1989, 1991 Sega */
/* 49 */ GAME( 1991, mt_bbros, megatech, megatech, megatech, mtnew, ROT0, "Sega", "Bonanza Bros. (Mega-Tech)", GAME_NOT_WORKING )
/* 50 */ // unknown
diff --git a/src/mame/drivers/megazone.c b/src/mame/drivers/megazone.c
index f3181eca2d7..298a0a64ccf 100644
--- a/src/mame/drivers/megazone.c
+++ b/src/mame/drivers/megazone.c
@@ -315,7 +315,7 @@ GFXDECODE_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
megazone_portA_r,
0,
diff --git a/src/mame/drivers/meijinsn.c b/src/mame/drivers/meijinsn.c
index b18ab8799e1..392e35505fa 100644
--- a/src/mame/drivers/meijinsn.c
+++ b/src/mame/drivers/meijinsn.c
@@ -74,8 +74,8 @@ static WRITE16_HANDLER( sound_w )
static READ16_HANDLER( alpha_mcu_r )
{
static unsigned coinvalue=0;
- static UINT8 coinage1[2][2]={{1,1},{1,2}};
- static UINT8 coinage2[2][2]={{1,5},{2,1}};
+ static const UINT8 coinage1[2][2]={{1,1},{1,2}};
+ static const UINT8 coinage2[2][2]={{1,5},{2,1}};
static int latch;
int source=shared_ram[offset];
@@ -288,7 +288,7 @@ static INTERRUPT_GEN( meijinsn_interrupt )
cpunum_set_input_line(0, 2, HOLD_LINE);
}
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
soundlatch_r
};
diff --git a/src/mame/drivers/merit.c b/src/mame/drivers/merit.c
index 4ae1eb0ed97..6a629349cdc 100644
--- a/src/mame/drivers/merit.c
+++ b/src/mame/drivers/merit.c
@@ -780,7 +780,7 @@ static const ppi8255_interface ppi8255_intf =
{ NULL, misc_w }, /* Port C write */
};
-static struct AY8910interface merit_ay8912_interface =
+static const struct AY8910interface merit_ay8912_interface =
{
0,0,
led2_w,0
diff --git a/src/mame/drivers/metlclsh.c b/src/mame/drivers/metlclsh.c
index d7a6212c284..b20473a8788 100644
--- a/src/mame/drivers/metlclsh.c
+++ b/src/mame/drivers/metlclsh.c
@@ -291,7 +291,7 @@ static void metlclsh_irqhandler(int linestate)
cpunum_set_input_line(0,M6809_IRQ_LINE,linestate);
}
-static struct YM3526interface ym3526_interface =
+static const struct YM3526interface ym3526_interface =
{
metlclsh_irqhandler
};
diff --git a/src/mame/drivers/metro.c b/src/mame/drivers/metro.c
index e709c3ae435..44e45fc88d3 100644
--- a/src/mame/drivers/metro.c
+++ b/src/mame/drivers/metro.c
@@ -517,7 +517,7 @@ static void metro_sound_irq_handler(int state)
cpunum_set_input_line(1, UPD7810_INTF2, state ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
metro_sound_irq_handler /* irq handler */
};
@@ -555,7 +555,7 @@ static WRITE16_HANDLER( ymf278b_w )
}
-static struct YMF278B_interface ymf278b_interface =
+static const struct YMF278B_interface ymf278b_interface =
{
REGION_SOUND1,
ymf278b_interrupt
@@ -1942,7 +1942,7 @@ static void blzntrnd_irqhandler(int irq)
cpunum_set_input_line(1, 0, irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2610interface blzntrnd_ym2610_interface =
+static const struct YM2610interface blzntrnd_ym2610_interface =
{
blzntrnd_irqhandler,
REGION_SOUND1,
@@ -3679,7 +3679,7 @@ GFXDECODE_END
***************************************************************************/
-static UPD7810_CONFIG metro_cpu_config =
+static const UPD7810_CONFIG metro_cpu_config =
{
TYPE_7810,
metro_io_callback
diff --git a/src/mame/drivers/mexico86.c b/src/mame/drivers/mexico86.c
index dc7625d9456..f379b43fcb7 100644
--- a/src/mame/drivers/mexico86.c
+++ b/src/mame/drivers/mexico86.c
@@ -369,7 +369,7 @@ GFXDECODE_END
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
input_port_3_r,
input_port_4_r
diff --git a/src/mame/drivers/mhavoc.c b/src/mame/drivers/mhavoc.c
index f1a4f6dcb9b..e0a5156319f 100644
--- a/src/mame/drivers/mhavoc.c
+++ b/src/mame/drivers/mhavoc.c
@@ -502,7 +502,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct POKEYinterface pokey_interface =
+static const struct POKEYinterface pokey_interface =
{
{ 0 },
input_port_3_r
diff --git a/src/mame/drivers/micro3d.c b/src/mame/drivers/micro3d.c
index ca32d16644e..a03db9b7913 100644
--- a/src/mame/drivers/micro3d.c
+++ b/src/mame/drivers/micro3d.c
@@ -840,12 +840,12 @@ ADDRESS_MAP_END
-static struct upd7759_interface upd7759_interface =
+static const struct upd7759_interface upd7759_interface =
{
REGION_SOUND1
};
-static tms34010_config vgb_config =
+static const tms34010_config vgb_config =
{
FALSE, /* halt on reset ????? - check this */
0, /* the screen operated on */
diff --git a/src/mame/drivers/midas.c b/src/mame/drivers/midas.c
index f2cae93cc8b..19337d71ece 100644
--- a/src/mame/drivers/midas.c
+++ b/src/mame/drivers/midas.c
@@ -429,7 +429,7 @@ static void livequiz_irqhandler (int state)
logerror("YMZ280 is generating an interrupt. State=%08x\n",state);
}
-static struct YMZ280Binterface ymz280b_interface =
+static const struct YMZ280Binterface ymz280b_interface =
{
REGION_SOUND1,
livequiz_irqhandler
diff --git a/src/mame/drivers/midtunit.c b/src/mame/drivers/midtunit.c
index c5eb7e2ed8a..d6c630b95c3 100644
--- a/src/mame/drivers/midtunit.c
+++ b/src/mame/drivers/midtunit.c
@@ -580,7 +580,7 @@ INPUT_PORTS_END
*
*************************************/
-static tms34010_config tms_config =
+static const tms34010_config tms_config =
{
FALSE, /* halt on reset */
0, /* the screen operated on */
diff --git a/src/mame/drivers/midvunit.c b/src/mame/drivers/midvunit.c
index 3439b5810d4..c60b5d3a83b 100644
--- a/src/mame/drivers/midvunit.c
+++ b/src/mame/drivers/midvunit.c
@@ -337,7 +337,7 @@ static WRITE32_HANDLER( crusnwld_serial_data_w )
/* values from offset 3, 6, and 10 must add up to 0x904752a2 */
static UINT16 bit_index;
-static UINT32 bit_data[0x10] =
+static const UINT32 bit_data[0x10] =
{
0x3017c636,0x3017c636,0x3017c636,0x3017c636,
0x3017c636,0x3017c636,0x3017c636,0x3017c636,
@@ -503,7 +503,7 @@ static ADDRESS_MAP_START( midvunit_map, ADDRESS_SPACE_PROGRAM, 32 )
ADDRESS_MAP_END
-static struct tms32031_config midvplus_config = { 0, NULL, midvplus_xf1_w };
+static const struct tms32031_config midvplus_config = { 0, NULL, midvplus_xf1_w };
static ADDRESS_MAP_START( midvplus_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x000000, 0x01ffff) AM_RAM AM_BASE(&ram_base)
@@ -1388,7 +1388,7 @@ static DRIVER_INIT( offroadc )
}
-static struct ide_interface ide_intf =
+static const struct ide_interface ide_intf =
{
0
};
diff --git a/src/mame/drivers/midwunit.c b/src/mame/drivers/midwunit.c
index acbb1a3baf9..19e468691fc 100644
--- a/src/mame/drivers/midwunit.c
+++ b/src/mame/drivers/midwunit.c
@@ -611,7 +611,7 @@ INPUT_PORTS_END
*
*************************************/
-static tms34010_config tms_config =
+static const tms34010_config tms_config =
{
FALSE, /* halt on reset */
0, /* the screen operated on */
diff --git a/src/mame/drivers/midxunit.c b/src/mame/drivers/midxunit.c
index 8defa400216..34e233f5dc1 100644
--- a/src/mame/drivers/midxunit.c
+++ b/src/mame/drivers/midxunit.c
@@ -169,7 +169,7 @@ INPUT_PORTS_END
*
*************************************/
-static tms34010_config tms_config =
+static const tms34010_config tms_config =
{
FALSE, /* halt on reset */
0, /* the screen operated on */
diff --git a/src/mame/drivers/midyunit.c b/src/mame/drivers/midyunit.c
index 4c39858a649..e810b4a7c84 100644
--- a/src/mame/drivers/midyunit.c
+++ b/src/mame/drivers/midyunit.c
@@ -852,7 +852,7 @@ INPUT_PORTS_END
*
*************************************/
-static tms34010_config zunit_tms_config =
+static const tms34010_config zunit_tms_config =
{
FALSE, /* halt on reset */
0, /* the screen operated on */
@@ -864,7 +864,7 @@ static tms34010_config zunit_tms_config =
midyunit_from_shiftreg /* read from shiftreg function */
};
-static tms34010_config yunit_tms_config =
+static const tms34010_config yunit_tms_config =
{
FALSE, /* halt on reset */
0, /* the screen operated on */
diff --git a/src/mame/drivers/midzeus.c b/src/mame/drivers/midzeus.c
index 807c290bfdb..0ee6d1f89f6 100644
--- a/src/mame/drivers/midzeus.c
+++ b/src/mame/drivers/midzeus.c
@@ -25,6 +25,14 @@
#define CPU_CLOCK 60000000
+#define BEAM_DY 3
+#define BEAM_DX 3
+#define BEAM_XOFFS 20 /* table in the code indicates an offset of 20 with a beam height of 7 */
+
+static UINT32 gun_control;
+static UINT8 gun_irq_state;
+static emu_timer * gun_timer[2];
+static INT32 gun_x[2], gun_y[2];
static UINT32 *ram_base;
static UINT8 cmos_protected;
@@ -34,6 +42,9 @@ static emu_timer *timer[2];
static UINT32 *tms32031_control;
+static TIMER_CALLBACK( invasn_gun_callback );
+
+
/*************************************
*
@@ -49,6 +60,9 @@ static MACHINE_RESET( midzeus )
timer[0] = timer_alloc(NULL, NULL);
timer[1] = timer_alloc(NULL, NULL);
+
+ gun_timer[0] = timer_alloc(invasn_gun_callback, NULL);
+ gun_timer[1] = timer_alloc(invasn_gun_callback, NULL);
}
@@ -124,6 +138,82 @@ static WRITE32_HANDLER( tms32031_control_w )
}
+/*************************************
+ *
+ * Lightgun handling
+ *
+ *************************************/
+
+static void update_gun_irq(void)
+{
+ if (gun_irq_state & gun_control & 0x03)
+ cpunum_set_input_line(0, 3, ASSERT_LINE);
+ else
+ cpunum_set_input_line(0, 3, CLEAR_LINE);
+}
+
+
+static TIMER_CALLBACK( invasn_gun_callback )
+{
+ int player = param;
+ int beamy = video_screen_get_vpos(0);
+
+ gun_irq_state |= 0x01 << player;
+ update_gun_irq();
+
+ beamy++;
+ if (beamy <= machine->screen[0].visarea.max_y && beamy <= gun_y[player] + BEAM_DY)
+ timer_adjust(gun_timer[player], video_screen_get_time_until_pos(0, beamy, MAX(0, gun_x[player] - BEAM_DX)), player, attotime_never);
+}
+
+
+static WRITE32_HANDLER( invasn_gun_w )
+{
+ UINT32 old_control = gun_control;
+ int player;
+
+ COMBINE_DATA(&gun_control);
+
+ /* bits 0-1 enable IRQs (?) */
+ /* bits 2-3 reset IRQ states */
+ gun_irq_state &= ~((gun_control >> 2) & 3);
+ update_gun_irq();
+
+ for (player = 0; player < 2; player++)
+ {
+ UINT8 pmask = 0x04 << player;
+ if (((old_control ^ gun_control) & pmask) != 0 && (gun_control & pmask) == 0)
+ {
+ const rectangle *visarea = &Machine->screen[0].visarea;
+ static const char *names[2][2] =
+ {
+ { "GUNX1", "GUNY1" },
+ { "GUNX2", "GUNY2" }
+ };
+ gun_x[player] = readinputportbytag(names[player][0]) * (visarea->max_x + 1 - visarea->min_x) / 255 + visarea->min_x + BEAM_XOFFS;
+ gun_y[player] = readinputportbytag(names[player][1]) * (visarea->max_y + 1 - visarea->min_y) / 255 + visarea->min_y;
+ timer_adjust(gun_timer[player], video_screen_get_time_until_pos(0, MAX(0, gun_y[player] - BEAM_DY), MAX(0, gun_x[player] - BEAM_DX)), player, attotime_never);
+ }
+ }
+}
+
+static READ32_HANDLER( invasn_gun_r )
+{
+ int beamx = video_screen_get_hpos(0);
+ int beamy = video_screen_get_vpos(0);
+ UINT32 result = 0xffff;
+ int player;
+
+ for (player = 0; player < 2; player++)
+ {
+ int diffx = beamx - gun_x[player];
+ int diffy = beamy - gun_y[player];
+ if (diffx >= -BEAM_DX && diffx <= BEAM_DX && diffy >= -BEAM_DY && diffy <= BEAM_DY)
+ result ^= 0x1000 << player;
+ }
+ return result;
+}
+
/*************************************
*
@@ -155,7 +245,6 @@ static ADDRESS_MAP_START( zeus_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x880000, 0x8803ff) AM_READWRITE(zeus_r, zeus_w) AM_BASE(&zeusbase)
AM_RANGE(0x8d0000, 0x8d0003) AM_READWRITE(unknown_8d0000_r, unknown_8d0000_w) AM_BASE(&unknown_8d0000)
AM_RANGE(0x990000, 0x99000f) AM_READWRITE(midway_ioasic_r, midway_ioasic_w)
-//9d0000 -- page select?
AM_RANGE(0x9e0000, 0x9e0000) AM_WRITENOP // watchdog?
AM_RANGE(0x9f0000, 0x9f7fff) AM_READWRITE(cmos_r, cmos_w) AM_BASE(&generic_nvram32) AM_SIZE(&generic_nvram_size)
AM_RANGE(0x9f8000, 0x9f8000) AM_WRITE(cmos_protect_w)
@@ -171,7 +260,6 @@ static ADDRESS_MAP_START( zeus2_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x880000, 0x8801ff) AM_READWRITE(zeus2_r, zeus2_w) AM_BASE(&zeusbase)
AM_RANGE(0x8d0000, 0x8d0003) AM_READWRITE(unknown_8d0000_r, unknown_8d0000_w) AM_BASE(&unknown_8d0000)
AM_RANGE(0x990000, 0x99000f) AM_READWRITE(midway_ioasic_r, midway_ioasic_w)
-//9d0000 -- page select?
AM_RANGE(0x9e0000, 0x9e0000) AM_WRITENOP // watchdog?
AM_RANGE(0x9f0000, 0x9f7fff) AM_READWRITE(cmos_r, cmos_w) AM_BASE(&generic_nvram32) AM_SIZE(&generic_nvram_size)
AM_RANGE(0x9f8000, 0x9f8000) AM_WRITE(cmos_protect_w)
@@ -364,32 +452,27 @@ static INPUT_PORTS_START( invasn )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BILL1 ) /* Bill */
PORT_START
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
- PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY
- PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
- PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
- PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
- PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
+ PORT_BIT( 0x00e0, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x0f00, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
+ PORT_BIT( 0xe000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START
- PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
- PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
- PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
- PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
- PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(2)
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
- PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(2)
- PORT_BIT( 0xff80, IP_ACTIVE_LOW, IPT_UNUSED )
+ PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_START_TAG("GUNX1") /* fake analog X */
+ PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
+
+ PORT_START_TAG("GUNY1") /* fake analog Y */
+ PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(70) PORT_KEYDELTA(10)
+
+ PORT_START_TAG("GUNX2") /* fake analog X */
+ PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_PLAYER(2)
+
+ PORT_START_TAG("GUNY2") /* fake analog Y */
+ PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(70) PORT_KEYDELTA(10) PORT_PLAYER(2)
INPUT_PORTS_END
@@ -782,15 +865,11 @@ static DRIVER_INIT( mk4 )
}
-static READ32_HANDLER( gun_r )
-{
- return ~0;
-}
static DRIVER_INIT( invasn )
{
dcs2_init(0, 0);
- midway_ioasic_init(MIDWAY_IOASIC_STANDARD, 461/* unknown */, 94, NULL);
- memory_install_read32_handler(0, ADDRESS_SPACE_PROGRAM, 0x9c0000, 0x9c0000, 0, 0, gun_r);
+ midway_ioasic_init(MIDWAY_IOASIC_STANDARD, 468/* or 488 */, 94, NULL);
+ memory_install_readwrite32_handler(0, ADDRESS_SPACE_PROGRAM, 0x9c0000, 0x9c0000, 0, 0, invasn_gun_r, invasn_gun_w);
}
@@ -816,8 +895,8 @@ static DRIVER_INIT( thegrid )
*
*************************************/
-GAME( 1997, mk4, 0, midzeus, mk4, mk4, ROT0, "Midway", "Mortal Kombat 4 (3.0)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1997, mk4a, mk4, midzeus, mk4, mk4, ROT0, "Midway", "Mortal Kombat 4 (2.1)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1999, invasn, 0, midzeus, invasn, invasn, ROT0, "Midway", "Invasion (Midway)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1999, crusnexo, 0, midzeus2, crusnexo, crusnexo, ROT0, "Midway", "Cruis'n Exotica", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2001, thegrid, 0, midzeus2, thegrid, thegrid, ROT0, "Midway", "The Grid (version 1.1)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1997, mk4, 0, midzeus, mk4, mk4, ROT0, "Midway", "Mortal Kombat 4 (3.0)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, mk4a, mk4, midzeus, mk4, mk4, ROT0, "Midway", "Mortal Kombat 4 (2.1)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, invasn, 0, midzeus, invasn, invasn, ROT0, "Midway", "Invasion (Midway)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, crusnexo, 0, midzeus2, crusnexo, crusnexo, ROT0, "Midway", "Cruis'n Exotica", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
+GAME( 2001, thegrid, 0, midzeus2, thegrid, thegrid, ROT0, "Midway", "The Grid (version 1.1)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
diff --git a/src/mame/drivers/mirax.c b/src/mame/drivers/mirax.c
index 47b9a16fe3e..f565eef3484 100644
--- a/src/mame/drivers/mirax.c
+++ b/src/mame/drivers/mirax.c
@@ -141,7 +141,7 @@ static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_END
-static gfx_layout layout16 =
+static const gfx_layout layout16 =
{
16,16,
RGN_FRAC(1,3),
@@ -154,7 +154,7 @@ static gfx_layout layout16 =
16*16
};
-static gfx_layout layout8 =
+static const gfx_layout layout8 =
{
8,8,
RGN_FRAC(1,3),
diff --git a/src/mame/drivers/missb2.c b/src/mame/drivers/missb2.c
index e055cdcee22..1a13e362a16 100644
--- a/src/mame/drivers/missb2.c
+++ b/src/mame/drivers/missb2.c
@@ -349,7 +349,7 @@ static void irqhandler(int irq)
// cpunum_set_input_line(2,0,irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM3526interface ym3526_interface =
+static const struct YM3526interface ym3526_interface =
{
irqhandler
};
diff --git a/src/mame/drivers/missile.c b/src/mame/drivers/missile.c
index e1fe2670585..8d969877637 100644
--- a/src/mame/drivers/missile.c
+++ b/src/mame/drivers/missile.c
@@ -871,7 +871,7 @@ INPUT_PORTS_END
*
*************************************/
-static struct POKEYinterface pokey_interface =
+static const struct POKEYinterface pokey_interface =
{
{ 0 },
input_port_3_r
diff --git a/src/mame/drivers/mitchell.c b/src/mame/drivers/mitchell.c
index cb0bf50ee6c..b97c35cc33c 100644
--- a/src/mame/drivers/mitchell.c
+++ b/src/mame/drivers/mitchell.c
@@ -1422,7 +1422,7 @@ static void spangbl_adpcm_int(int data)
}
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
spangbl_adpcm_int, /* interrupt function */
MSM5205_S48_4B /* 4KHz 4-bit */
diff --git a/src/mame/drivers/mjkjidai.c b/src/mame/drivers/mjkjidai.c
index 1f1a95c3b1d..9d55ccedb11 100644
--- a/src/mame/drivers/mjkjidai.c
+++ b/src/mame/drivers/mjkjidai.c
@@ -343,7 +343,7 @@ static GFXDECODE_START( mjkjidai )
GFXDECODE_END
-static struct CustomSound_interface adpcm_interface =
+static const struct CustomSound_interface adpcm_interface =
{
mjkjidai_adpcm_start
};
diff --git a/src/mame/drivers/mjsister.c b/src/mame/drivers/mjsister.c
index 23dacdcf116..abe768c9a2d 100644
--- a/src/mame/drivers/mjsister.c
+++ b/src/mame/drivers/mjsister.c
@@ -296,7 +296,7 @@ INPUT_PORTS_END
/****************************************************************************/
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
input_port_0_r,
input_port_1_r
diff --git a/src/mame/drivers/mjsiyoub.c b/src/mame/drivers/mjsiyoub.c
index d946ecf8812..55d65c19220 100644
--- a/src/mame/drivers/mjsiyoub.c
+++ b/src/mame/drivers/mjsiyoub.c
@@ -65,13 +65,13 @@ static INPUT_PORTS_START( mjsiyoub )
INPUT_PORTS_END
-static struct AY8910interface ay8910_interface =
+static const struct AY8910interface ay8910_interface =
{
0, /* Input A: DSW 2 */
0, /* Input B: DSW 1 */
};
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
0, /* IRQ handler */
MSM5205_S48_4B /* 8 KHz, 4 Bits ?? */
diff --git a/src/mame/drivers/mlanding.c b/src/mame/drivers/mlanding.c
index e03a7da2ce7..6f5cc5e95ad 100644
--- a/src/mame/drivers/mlanding.c
+++ b/src/mame/drivers/mlanding.c
@@ -346,13 +346,13 @@ static GFXDECODE_START( mlanding )
GFXDECODE_ENTRY( REGION_GFX1, 0, tiles8x8_layout, 0, 16 )
GFXDECODE_END
-static struct MSM5205interface msm5205_interface =
+static const struct MSM5205interface msm5205_interface =
{
ml_msm5205_vck, /* VCK function */
MSM5205_S48_4B /* 8 kHz */
};
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
irq_handler,
sound_bankswitch_w
diff --git a/src/mame/drivers/model1.c b/src/mame/drivers/model1.c
index 3c009545102..5b75723ebd0 100644
--- a/src/mame/drivers/model1.c
+++ b/src/mame/drivers/model1.c
@@ -1077,12 +1077,12 @@ static ADDRESS_MAP_START( model1_snd, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0xf00000, 0xf0ffff) AM_RAM
ADDRESS_MAP_END
-static struct MultiPCM_interface m1_multipcm_interface_1 =
+static const struct MultiPCM_interface m1_multipcm_interface_1 =
{
REGION_SOUND1
};
-static struct MultiPCM_interface m1_multipcm_interface_2 =
+static const struct MultiPCM_interface m1_multipcm_interface_2 =
{
REGION_SOUND2
};
diff --git a/src/mame/drivers/model2.c b/src/mame/drivers/model2.c
index 53d2758c2ed..8ae4881ea52 100644
--- a/src/mame/drivers/model2.c
+++ b/src/mame/drivers/model2.c
@@ -951,7 +951,7 @@ static WRITE32_HANDLER( model2_serial_w )
/* Protection handling */
-static UINT8 ZGUNProt[] =
+static const UINT8 ZGUNProt[] =
{
0x7F,0x4E,0x1B,0x1E,0xA8,0x48,0xF5,0x49,0x31,0x32,0x4A,0x09,0x89,0x29,0xC0,0x41,
0x3A,0x49,0x85,0x24,0xA0,0x4D,0x21,0x31,0xEA,0xC3,0x3F,0xAF,0x0E,0x4B,0x25,0x02,
@@ -962,7 +962,7 @@ static UINT8 ZGUNProt[] =
0x94,0xD5,0x73,0x09,0xE4,0x3D,0x2D,0x92,0xC9,0xA7,0xA3,0x53,0x42,0x82,0x55,0x67,
0xE4,0x66,0xD0,0x4A,0x7D,0x4A,0x13,0xDE,0xD7,0x9F,0x38,0xAA,0x00,0x56,0x85,0x0A
};
-static UINT8 DCOPKey1326[]=
+static const UINT8 DCOPKey1326[]=
{
0x43,0x66,0x54,0x11,0x99,0xfe,0xcc,0x8e,0xdd,0x87,0x11,0x89,0x22,0xdf,0x44,0x09
};
@@ -1694,19 +1694,19 @@ static void scsp_irq(int irq)
}
}
-static struct SCSPinterface scsp_interface =
+static const struct SCSPinterface scsp_interface =
{
REGION_CPU2,
0,
scsp_irq
};
-static struct MultiPCM_interface m1_multipcm_interface_1 =
+static const struct MultiPCM_interface m1_multipcm_interface_1 =
{
REGION_SOUND1
};
-static struct MultiPCM_interface m1_multipcm_interface_2 =
+static const struct MultiPCM_interface m1_multipcm_interface_2 =
{
REGION_SOUND2
};
@@ -1775,7 +1775,7 @@ ADDRESS_MAP_END
/*****************************************************************************/
-static struct mb86233_config tgp_config =
+static const struct mb86233_config tgp_config =
{
copro_fifoin_pop,
copro_fifoout_push,
@@ -1865,7 +1865,7 @@ static MACHINE_DRIVER_START( model2a )
MACHINE_DRIVER_END
-static sharc_config sharc_cfg =
+static const sharc_config sharc_cfg =
{
BOOT_MODE_HOST
};
diff --git a/src/mame/drivers/model3.c b/src/mame/drivers/model3.c
index 518e8b935b7..e28e7988a22 100644
--- a/src/mame/drivers/model3.c
+++ b/src/mame/drivers/model3.c
@@ -967,7 +967,7 @@ static NVRAM_HANDLER( model3 )
}
}
-static SCSIConfigTable scsi_dev_table =
+static const SCSIConfigTable scsi_dev_table =
{
1, /* 1 SCSI device */
{
@@ -975,7 +975,7 @@ static SCSIConfigTable scsi_dev_table =
}
};
-static struct LSI53C810interface scsi_intf =
+static const struct LSI53C810interface scsi_intf =
{
&scsi_dev_table, /* SCSI device table */
&scsi_irq_callback,
@@ -1333,7 +1333,7 @@ static WRITE64_HANDLER(network_w)
static int prot_data_ptr = 0;
-static UINT16 vs299_prot_data[] =
+static const UINT16 vs299_prot_data[] =
{
0xc800, 0x4a20, 0x5041, 0x4e41, 0x4920, 0x4154, 0x594c, 0x4220,
0x4152, 0x4953, 0x204c, 0x5241, 0x4547, 0x544e, 0x4e49, 0x2041,
@@ -1350,7 +1350,7 @@ static UINT16 vs299_prot_data[] =
0x4149, 0x4620, 0x5f43, 0x4553, 0x4147
};
-static UINT16 swt_prot_data[] =
+static const UINT16 swt_prot_data[] =
{
0xffff,
0x3d3d, 0x3d3d, 0x203d, 0x5453, 0x5241, 0x5720, 0x5241, 0x2053,
@@ -1362,7 +1362,7 @@ static UINT16 swt_prot_data[] =
0x614b, 0x6f79, 0x6f6b, 0x5920, 0x6d61, 0x6d61, 0x746f, 0x0a6f,
};
-static UINT16 fvipers2_prot_data[] =
+static const UINT16 fvipers2_prot_data[] =
{
0x2a2a,
0x2a2a, 0x2a2a, 0x2a2a, 0x2a2a, 0x2a2a, 0x2a2a, 0x202a, 0x5b5b,
@@ -1375,7 +1375,7 @@ static UINT16 fvipers2_prot_data[] =
0x2e64, 0x2a20, 0x2a2a, 0x2a2a, 0x2a2a, 0x2a2a, 0x2a2a, 0x2a2a,
};
-static UINT16 spikeout_prot_data[] =
+static const UINT16 spikeout_prot_data[] =
{
0x0000,
0x4f4d, 0x4544, 0x2d4c, 0x2033, 0x7953, 0x7473, 0x6d65, 0x5020,
@@ -1386,7 +1386,7 @@ static UINT16 spikeout_prot_data[] =
0x6465, 0x202e, 0x2020, 0x0020
};
-static UINT16 eca_prot_data[] =
+static const UINT16 eca_prot_data[] =
{
0x0000,
0x2d2f, 0x202d, 0x4d45, 0x5245, 0x4547, 0x434e, 0x2059, 0x4143,
@@ -4003,14 +4003,14 @@ static void scsp_irq(int irq)
}
}
-static struct SCSPinterface scsp_interface =
+static const struct SCSPinterface scsp_interface =
{
REGION_CPU2,
0,
scsp_irq
};
-static struct SCSPinterface scsp2_interface =
+static const struct SCSPinterface scsp2_interface =
{
REGION_SOUND3,
0,
@@ -4042,21 +4042,21 @@ static INTERRUPT_GEN(model3_interrupt)
model3_vblank &= 1;
}
-static ppc_config model3_10 =
+static const ppc_config model3_10 =
{
PPC_MODEL_603E, /* 603e, Stretch, 1.3 */
0x10, /* Multiplier 1, Bus = 66MHz, Core = 66MHz */
BUS_FREQUENCY_66MHZ
};
-static ppc_config model3_15 =
+static const ppc_config model3_15 =
{
PPC_MODEL_603E, /* 603e, Stretch, 1.3 */
0x15, /* Multiplier 1.5, Bus = 66MHz, Core = 100MHz */
BUS_FREQUENCY_66MHZ
};
-static ppc_config model3_2x =
+static const ppc_config model3_2x =
{
PPC_MODEL_603R, /* 603e-PID7t, Goldeneye, 2.1 */
0x25, /* Multiplier 2.5, Bus = 66MHz, Core = 166MHz */
diff --git a/src/mame/drivers/momoko.c b/src/mame/drivers/momoko.c
index e26c22e0ed3..eb576cfca06 100644
--- a/src/mame/drivers/momoko.c
+++ b/src/mame/drivers/momoko.c
@@ -243,7 +243,7 @@ GFXDECODE_END
/****************************************************************************/
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
soundlatch_r
};
diff --git a/src/mame/drivers/moo.c b/src/mame/drivers/moo.c
index c4391a98261..d61d4ad5a17 100644
--- a/src/mame/drivers/moo.c
+++ b/src/mame/drivers/moo.c
@@ -606,7 +606,7 @@ static INPUT_PORTS_START( bucky )
INPUT_PORTS_END
-static struct K054539interface k054539_interface =
+static const struct K054539interface k054539_interface =
{
REGION_SOUND1
};
diff --git a/src/mame/drivers/mosaic.c b/src/mame/drivers/mosaic.c
index fddd6ae0133..fa043c2f584 100644
--- a/src/mame/drivers/mosaic.c
+++ b/src/mame/drivers/mosaic.c
@@ -32,7 +32,7 @@ static WRITE8_HANDLER( protection_w )
}
else
{
- static int jumptable[] =
+ static const int jumptable[] =
{
0x02be, 0x0314, 0x0475, 0x0662, 0x0694, 0x08f3, 0x0959, 0x096f,
0x0992, 0x09a4, 0x0a50, 0x0d69, 0x0eee, 0x0f98, 0x1040, 0x1075,
@@ -274,7 +274,7 @@ GFXDECODE_END
-static struct YM2203interface ym2203_interface =
+static const struct YM2203interface ym2203_interface =
{
input_port_2_r
};
diff --git a/src/mame/drivers/mpu4drvr.c b/src/mame/drivers/mpu4drvr.c
index 1b57b5346cb..6d870b695cf 100644
--- a/src/mame/drivers/mpu4drvr.c
+++ b/src/mame/drivers/mpu4drvr.c
@@ -300,7 +300,7 @@ static void m68k_acia_irq(int state)
update_mpu68_interrupts();
}
-static struct acia6850_interface m6809_acia_if =
+static const struct acia6850_interface m6809_acia_if =
{
MPU4_MASTER_CLOCK/44,//This isn't a real division, this is just to work around
MPU4_MASTER_CLOCK/44,//the ACIA code's hard coding
@@ -312,7 +312,7 @@ static struct acia6850_interface m6809_acia_if =
m6809_acia_irq
};
-static struct acia6850_interface m68k_acia_if =
+static const struct acia6850_interface m68k_acia_if =
{
MPU4_MASTER_CLOCK/44,
MPU4_MASTER_CLOCK/44,
diff --git a/src/mame/drivers/mquake.c b/src/mame/drivers/mquake.c
index 79b4dac4455..e35dcbbf42e 100644
--- a/src/mame/drivers/mquake.c
+++ b/src/mame/drivers/mquake.c
@@ -319,13 +319,13 @@ INPUT_PORTS_END
*
*************************************/
-static struct CustomSound_interface amiga_custom_interface =
+static const struct CustomSound_interface amiga_custom_interface =
{
amiga_sh_start
};
-static struct ES5503interface es5503_intf =
+static const struct ES5503interface es5503_intf =
{
NULL,
NULL,
diff --git a/src/mame/drivers/ms32.c b/src/mame/drivers/ms32.c
index 88fadf6aef8..c33329a5b25 100644
--- a/src/mame/drivers/ms32.c
+++ b/src/mame/drivers/ms32.c
@@ -1370,7 +1370,7 @@ static ADDRESS_MAP_START( ms32_snd_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x8000, 0xffff) AM_WRITE(MWA8_ROM)
ADDRESS_MAP_END
-static struct YMF271interface ymf271_interface =
+static const struct YMF271interface ymf271_interface =
{
REGION_SOUND1
};
diff --git a/src/mame/drivers/msisaac.c b/src/mame/drivers/msisaac.c
index aa288a8e184..6d04aad4d26 100644
--- a/src/mame/drivers/msisaac.c
+++ b/src/mame/drivers/msisaac.c
@@ -517,7 +517,7 @@ static GFXDECODE_START( msisaac )
GFXDECODE_ENTRY( REGION_GFX2, 0, tile_layout, 0, 64 )
GFXDECODE_END
-static struct MSM5232interface msm5232_interface =
+static const struct MSM5232interface msm5232_interface =
{
{ 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6, 0.65e-6 } /* 0.65 (???) uF capacitors (match the sample, not verified) */
};
diff --git a/src/mame/drivers/mugsmash.c b/src/mame/drivers/mugsmash.c
index 92ad43c1ae5..37e398f934e 100644
--- a/src/mame/drivers/mugsmash.c
+++ b/src/mame/drivers/mugsmash.c
@@ -421,7 +421,7 @@ static void irq_handler(int irq)
cpunum_set_input_line( 1, 0 , irq ? ASSERT_LINE : CLEAR_LINE );
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
irq_handler
};
diff --git a/src/mame/drivers/multigam.c b/src/mame/drivers/multigam.c
index 6dd4bb476cf..6d25f3f735a 100644
--- a/src/mame/drivers/multigam.c
+++ b/src/mame/drivers/multigam.c
@@ -206,7 +206,7 @@ static INPUT_PORTS_START( multigam )
PORT_DIPSETTING( 0x06, "10 min" )
INPUT_PORTS_END
-static struct NESinterface multigam_interface_1 =
+static const struct NESinterface multigam_interface_1 =
{
REGION_CPU1
};
diff --git a/src/mame/drivers/mw8080bw.c b/src/mame/drivers/mw8080bw.c
index 88ce86811b0..8a306f30d53 100644
--- a/src/mame/drivers/mw8080bw.c
+++ b/src/mame/drivers/mw8080bw.c
@@ -274,7 +274,7 @@ static WRITE8_HANDLER( seawolf_explosion_lamp_w )
*/
int i;
- static const char *lamp_names[] =
+ static const char *const lamp_names[] =
{
"EXP_LAMP_0", "EXP_LAMP_1", "EXP_LAMP_2", "EXP_LAMP_3",
"EXP_LAMP_4", "EXP_LAMP_5", "EXP_LAMP_6", "EXP_LAMP_7",
diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c
index 43181d7ee41..d4cf877ba4d 100644
--- a/src/mame/drivers/mystwarr.c
+++ b/src/mame/drivers/mystwarr.c
@@ -812,7 +812,7 @@ static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xfff0, 0xfff3) AM_WRITE(MWA8_NOP) // unknown write
ADDRESS_MAP_END
-static struct K054539interface k054539_interface =
+static const struct K054539interface k054539_interface =
{
REGION_SOUND1
};
diff --git a/src/mame/drivers/namcona1.c b/src/mame/drivers/namcona1.c
index c4f11498dcd..54abd7d49e9 100644
--- a/src/mame/drivers/namcona1.c
+++ b/src/mame/drivers/namcona1.c
@@ -1289,7 +1289,7 @@ static MACHINE_RESET( namcona1_mcu )
// bit 7 => port 7
static READ8_HANDLER( portana_r )
{
- static UINT8 bitnum[8] = { 0x40, 0x20, 0x10, 0x01, 0x02, 0x04, 0x08, 0x80 };
+ static const UINT8 bitnum[8] = { 0x40, 0x20, 0x10, 0x01, 0x02, 0x04, 0x08, 0x80 };
UINT8 port = readinputport(2);
return (port & bitnum[offset>>1]) ? 0xff : 0x00;
@@ -1334,7 +1334,7 @@ static INTERRUPT_GEN( mcu_interrupt )
}
}
-static struct C140interface C140_interface_typeA =
+static const struct C140interface C140_interface_typeA =
{
C140_TYPE_ASIC219,
0
diff --git a/src/mame/drivers/namcond1.c b/src/mame/drivers/namcond1.c
index f3c08d90687..402e1674981 100644
--- a/src/mame/drivers/namcond1.c
+++ b/src/mame/drivers/namcond1.c
@@ -264,7 +264,7 @@ static ADDRESS_MAP_START( nd1h8iomap, ADDRESS_SPACE_IO, 8 )
AM_RANGE(H8_ADC_0_L, H8_ADC_3_H) AM_NOP // MCU reads these, but the games have no analog controls
ADDRESS_MAP_END
-static struct C352interface c352_interface =
+static const struct C352interface c352_interface =
{
REGION_SOUND1
};
diff --git a/src/mame/drivers/namcos1.c b/src/mame/drivers/namcos1.c
index 799e9cbd878..97e28586122 100644
--- a/src/mame/drivers/namcos1.c
+++ b/src/mame/drivers/namcos1.c
@@ -965,12 +965,12 @@ static void namcos1_sound_interrupt( int irq )
cpunum_set_input_line( 2, M6809_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
}
-static struct YM2151interface ym2151_interface =
+static const struct YM2151interface ym2151_interface =
{
namcos1_sound_interrupt
};
-static struct namco_interface namco_interface =
+static const struct namco_interface namco_interface =
{
8, /* number of voices */
-1, /* memory region */
diff --git a/src/mame/drivers/namcos11.c b/src/mame/drivers/namcos11.c
index a2790e0d2b8..d6bfb465d87 100644
--- a/src/mame/drivers/namcos11.c
+++ b/src/mame/drivers/namcos11.c
@@ -789,7 +789,7 @@ static ADDRESS_MAP_START( namcos11_map, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0xfffe0130, 0xfffe0133) AM_WRITENOP
ADDRESS_MAP_END
-static struct
+static const struct
{
const char *s_name;
read32_handler keycus_r;
diff --git a/src/mame/drivers/namcos12.c b/src/mame/drivers/namcos12.c
index 3cbbd05f6d6..211ca245c6c 100644
--- a/src/mame/drivers/namcos12.c
+++ b/src/mame/drivers/namcos12.c
@@ -14,42 +14,35 @@
- golgo13 assumes the test switch is a switch, not a button - must hold down F2 to stay in test mode
+Namco System 12 - Arcade PSX Hardware
+=====================================
+
Game & software revision Company/Year CPU board Mother board Daughter board Keycus
------------------------------------------------------------------------------------------------------------------------
-*Aerosmith - Quest for Fame (C) Namco, 2001
Aqua Rush (AQ1/VER.A1) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M5F2 KC053
-*Attack Pla-Rail (C) Tomy/Namco, 199?
Derby Quiz My Dream Horse (MDH1/VER.A2) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M10X64 KC035
Ehrgeiz (EG2/VER.A) (C) Square/Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC021
Ehrgeiz (EG3/VER.A) (C) Square/Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC021
Fighting Layer (FTL0/VER.A) (C) Arika/Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F4 KC037
-*Fighting Spirit Biography 3 (C) Namco, 1997
Ghoul Panic (OB2/VER.A) (C) Namco/Raizing,1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC045
Golgo 13 (GLG1/VER.A) (C) Raizing/Namco,1999 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M8F6 KC054
Golgo 13 Kiseki no Dandou (GLS1/VER.A) (C) Raizing/Namco,2000 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M8F6 KC059
-*Kaiun Quiz (C) Namco, 199?
-*Kart Duel (C) Namco, 2000
+Kaiun Quiz (KW1/VER.A1) (C) Namco/Moss, 1999 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M10X64 KC050
Libero Grande (LG2/VER.A) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC014
Mr Driller (DRI1/VER.A2) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M8F2F KC048
-*Oh Bakyuuun (C) Namco/Raizing,1999
-*Over Kuhn (C) Namco, 1999
Paca Paca Passion (PPP1/VER.A2) (C) Produce/Namco,1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC038
Paca Paca Passion Special (PSP1/VER.A) (C) Produce/Namco,1999 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M5F2 KC052
Paca Paca Passion 2 (PKS1/VER.A) (C) Produce/Namco,1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F2 KC046
Point Blank 2 (GNB5/VER.A) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F0 KC042
Soul Calibur (SOC11/VER.A2) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F2 KC020
Soul Calibur (SOC11/VER.B) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F2 KC020
-Soul Calibur (SOC13/VER.B) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F4 KC020
Soul Calibur (SOC11/VER.C) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F4 KC020
+Soul Calibur (SOC13/VER.B) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F4 KC020
Soul Calibur (SOC14/VER.C) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER JO 11-04-98 none
-*Soul Calibur Ver.B (C) Namco, 199?
-*Submarines (C) Namco, 199?
-*Super World Stadium '98 (C) Namco, 1998
+Super World Stadium '98 (SS81/VER.A) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC025
Super World Stadium '99 (SS91/VER.A3) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M5F4 KC043
-*Super World Stadium 2000 (C) Namco, 2000
-*Super World Stadium 2001 (C) Namco, 2001
-*Techno Drive (C) Namco, 1998
-*TeknoWerk (C) Namco, 1999
+Super World Stadium 2000 (SS01/VER.A3) (C) Namco, 2000 COH-700 SYSTEM12 MOTHER(C) SYSTEM12 M5F4 KC055
+Super World Stadium 2001 (SS11/VER.A2) (C) Namco, 2001 COH-716 SYSTEM12 MOTHER(C) SYSTEM12 F2M5 KC061
Tenkomori Shooting (TKM1/VER.A1) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC036
Tenkomori Shooting (TKM2/VER.A1) (C) Namco, 1998 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M4F6 KC036
Tekken 3 (TET1/VER.E1) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC006
@@ -58,13 +51,45 @@ Tekken 3 (TET3/VER.A) (C) Namco, 1996 COH-700 SYS
Tekken 3 (TET3/VER.B) (C) Namco, 1996 COH-700 SYSTEM12 MOTHER SYSTEM12 M8F2F KC006
Tekken Tag Tournament (TEG3/VER.B) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F4 KC044
Tekken Tag Tournament (TEG3/VER.C1) (C) Namco, 1999 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F4 KC044
-*Toukon Retsuden 3 (C) Namco, 1997
-*Truck Kyosokyoku (C) Namco, 2000
-*Um Jammer Lammy (C) Namco, 1999
+Toukon Retsuden 3 (TR1/VER.A) (C) Namco, 1997 COH-700 SYSTEM12 MOTHER(B) SYSTEM12 M8F2F KC019
+
+
+Wanted Games
+------------
+Aerosmith - Quest for Fame (C) Namco, 2001
+http://www.bandainamcogames.co.jp/aa/am/vg/questforfame/
+
+Attack Pla-Rail (C) Tomy/Namco, 199?
+Possibly some kind of redemption game for kids
+
+Kart Duel (C) Namco, 2000
+http://www.bandainamcogames.co.jp/aa/am/vg/kartduel/
+
+Oh Bakyuuun (C) Namco/Raizing,1999
+http://www.8ing.net/prd/ohbakyun/index.html
+
+Soul Calibur Ver.B (C) Namco, 199?
+Probably doesn't exist
+
+Submarines (C) Namco, 199?
+http://www.arcadeflyers.com/?page=thumbs&db=videodb&id=5531
+This was cancelled, only the flyer exists.
+It was shown only at an amusement show. Possibly a prototype still exists. Possibly not.
+
+Techno Drive (C) Namco, 1998
+http://www.bandainamcogames.co.jp/aa/am/em/techno-drive/main/index.php
+
+Tekno Werk (C) Namco, 1999
+Some kind of music game similar to Konami's Keyboard Mania series
+
+Truck Kyosokyoku (C) Namco, 2000
+http://www.bandainamcogames.co.jp/aa/am/vg/truckkyosokyoku/
-* - Denotes not dumped yet. If you can help with the remaining undumped S12 games,
- please contact me at http://www.mameworld.net/gurudumps/
- Note that this list above may not be 100% complete. Alternative versions are also welcome :-)
+Um Jammer Lammy (C) Namco, 1999
+http://www.bandainamcogames.co.jp/aa/am/vg/umjammerlammy/#nbgiWrapper
+
+If you can help with the remaining undumped S12 games, please contact me at http://www.mameworld.net/gurudumps/
+Note that this list above may not be 100% complete. Alternative versions are also welcome :-)
The Namco System 12 system comprises 3 mandatory PCB's....
MOTHER PCB - This is the main PCB. It holds all sound circuitry, sound ROMs, program ROMs, shared RAM, bank-switching
@@ -73,7 +98,7 @@ MOTHER PCB - This is the main PCB. It holds all sound circuitry, sound ROMs, pr
some of the PALs are different and it has the capability to use 1x TSOP56 ROM in the program location,
instead of the regular TSOP40/48 ROMs. The first 2 revisions appear to be identical.
CPU PCB - All games use the exact same PCB. Contains main CPU/RAM and GPU/Video RAM
-ROM PCB - There are eight known revisions of this PCB (so far). They're mostly identical except for the type and
+ROM PCB - There are nine known revisions of this PCB (so far). They're mostly identical except for the type and
number of ROMs used. Most have a PAL and a CPLD known as a 'KEYCUS'. Some also have an additional CPLD for
protection.
@@ -110,7 +135,7 @@ Rev. (C) Main Board is only slightly different to the other revs. Mostly some PA
PCB is wired for 1x 32M TSOP56 FlashROM (replaces 2E & 2J) and 2x 16M TSOP48 FlashROMs (replaces 2R/2P/2N/2L).
One other difference is that the motherboard has a serial number sticker on it and the program ROMs also contain
that same serial number, so all the games running on the Rev. C mother board have serialised ROMs. I'm not sure why,
-they're not exactly _easily_ tracable and no one cares either way ;-)
+they're not exactly _easily_ traceable and no one cares either way ;-)
|--------------------------------------------------------------|
|-| SOUND.11S |--------------| AT28C16 |
| |--------------| |
@@ -192,6 +217,7 @@ Notes:
D6345 : NEC uPD6345 Serial 8-bit Shift Register IC (SOIC16)
PRG.2L/PRG.2P: Main program ROMs, Intel 28F016S5 2M x8 FLASHROM (both TSOP40)
+ or Fujitsu 29F016A 2M x8 FLASHROM (both TSOP48)
These ROMs are populated on the following games....
Test Mode S/W
@@ -202,6 +228,7 @@ Notes:
Ehrgeiz EG3 Ver.A EG3/VER.A MOTHER(B)
Golgo 13 GLG1 Ver.A GLG1/VER.A MOTHER(C) (ROMs serialised)
Golgo 13 Kiseki no Dandou GLS1 Ver.A GLS1/VER.A MOTHER(C) (ROMs serialised)
+ Kaiun Quiz KW1 Ver.A KW1/VER.A1 MOTHER(C) (ROMs serialised)
Libero Grande LG2 Ver.A LG2/VER.A MOTHER(B)
Mr Driller DRI1 Ver.A DRI1/VER.A2 MOTHER(C) (ROMs serialised)
Paca Paca Passion PPP1 Ver.A PPP1/VER.A2 MOTHER(B)
@@ -211,6 +238,8 @@ Notes:
Soul Calibur SOC1 Ver.A SOC11/VER.A2 MOTHER(B)
Soul Calibur SOC3 Ver.B SOC13/VER.B MOTHER(B)
Soul Calibur SOC1 Ver.C SOC11/VER.C MOTHER(B)
+ Super World Stadium 2000 SS01 Ver.A SS01/VER.A3 MOTHER(C) (ROMs serialised)
+ Super World Stadium 2001 SS11 Ver.A SS11/VER.A2 MOTHER(C) (ROMs serialised)
Tekken Tag Tournament TEG3 Ver.B TEG3/VER.B MOTHER(B)
Tekken Tag Tournament TEG3 Ver.B TEG3/VER.C1 MOTHER(B)
@@ -233,6 +262,7 @@ Notes:
Ghoul Panic OB2 Ver.A OB2/VER.A MOTHER(B)
Soul Calibur SOC1 Ver.B SOC11/VER.B MOTHER(B)
Soul Calibur TET1 Ver.C SOC14/VER.C MOTHER (factory upgraded from Tekken 3 to Soul Calibur)
+ Super World Stadium '98 SS81 Ver.A SS81/VER.A MOTHER(B)
Super World Stadium '99 SS91 Ver.A SS91/VER.A3 MOTHER(B)
Tekken 3 TET1 Ver.A TET1/VER.E1 MOTHER(B)
Tekken 3 TET2 Ver.A TET2/VER.A MOTHER
@@ -254,7 +284,8 @@ All of the PCBs are the same size (approx 2" x 7") containing one custom connect
PAL and a KEYCUS (which is a PLCC CPLD) and in some cases an extra TQFP CPLD.
The PCBs are named with a special coding. First a letter M, denoting MASKROM (always SOP44), then a number denoting how
many ROMs of that type, then another letter F, denoting FLASHROM (always TSOP40/48/56), then a number denoting how many
-ROMs of that type.
+ROMs of that type. That number is always the maximum amount of that ROM type that can be used on the PCB. The actual number
+of ROMs populated on the PCB can be less.
********
*Type 1*
@@ -281,7 +312,7 @@ Notes:
|----------|----|----| |----------|----|
WAVEx: 64M SOP44 MASKROM (R6 populated)
- FLx : Intel E28F016 TSOP40 16M FlashROM (R8 not populated)
+ FLx : Intel E28F016 TSOP40 16M FlashROM or Fujitsu 29F016A TSOP48 16M FlashROM (R8 not populated)
ROM0x: 64M SOP44 MASKROM (size fixed at 64M, no configure options)
IC3 : MACH211 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which is different per game.)
IC4 : PALCE 16V8H (PLCC20, PCB labelled 'A_DECO', chip stamped 'A DECO')
@@ -320,6 +351,10 @@ Point Blank 2 GNB5/VER.A Same PCB but sticker says.... KC042
(i.e no FlashROMs) (note these ROMs contains the same data as)
(the ones used on System 11 Point Blank 2)
+Super World SS81/VER.A SYSTEM 12 M4F6 PCB 8661960901 (8661970901) KC025 SS81 WAVE0, SS81 WAVE1
+Stadium '98 SS81 FL1U, SS81 FL1L, SS81 FL2U
+ SS81 FL2L, SS81 FL3U, SS81 FL3L
+
********
*Type 2*
********
@@ -428,6 +463,10 @@ Stadium '99 (sticker KC0
SS91 FL4L, SS91 FL4H
SS91 FL3L, SS91 FL3H
+Super World SS01/VER.A3 SYSTEM 12 M5F4 PCB 8661961200 (8661971200) KC055 SS01 WAVE0, SS01 WAVE1
+Stadium 2000 SS01 ROM0, SS01 ROM1, SS01 ROM2
+ SS01 FL3L, SS01 FL3H
+
Soul Calibur SOC13/VER.B SYSTEM 12 M5F4 PCB 8661961200 (8661971200) KC020 SOC1 WAVE0
SOC1 ROM0, SOC1 ROM1, SOC1 ROM2
SOC1 FL4L, SOC1 FL4H
@@ -512,6 +551,8 @@ Libero Grande LG2/VER.A SYSTEM 12 M8F2F PCB 8661960301 (8661970301) KC01
LG1 ROM0U, LG1 ROM0L
LG1 FL3L, LG1 FL3U
+Toukon TR1/VER.A SYSTEM 12 M8F2F PCB 8661960301 (8661970301) KC019 TR1 WAVE0, TR1 WAVE1 R4, R7
+Retsuden 3 TR1 ROM0U, TR1 ROM0L
********
*Type 5*
@@ -621,38 +662,47 @@ Kiseki no Dandou
********
*Type 7*
********
-SYSTEM 12 M10X64 PCB ?????????? (??????????)
+SYSTEM 12 M10X64 PCB 8661961500 (8661971500)
|----------------------------------------------------------|
|WAVE0 |
-| ROM0L ROM0U ROM2L ROM3L ROM4L |
-| |
-| ROM1L ROM1U ROM2U ROM3U ROM4U |
+| ROM3L ROM3U ROM2L ROM2U ROM1L ROM0L |
+| IC4 |
+| ROM1U ROM0U |
| |
|WAVE1 |
| KEYCUS |-------------------| |
| |-------------------| |
|----------------------------------------------------------|
Notes:
- Due to the lack of documentation, the follow is unknown.....
- - The presence or absence of zero Ohm resistor jumpers to set the ROM sizes.
- - The locations of the ROMs and KEYCUS.
- - The PCB number.
- - The presence or absence of a PAL.
+ This PCB has zero Ohm resistor jumpers to set the ROM sizes.
+ Note X means 'not populated', O means 'populated'
+ |----------|----|----|
+ | MASK | R4 | R5 |
+ |----------|----|----|
+ | WAVE 32M | O | X |
+ | 64M | X | O |
+ |----------|----|----|
- WAVEx : 64M SOP44 MASKROM
- ROMx : 64M SOP44 MASKROM
- KEYCUS: MACH211 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which is different per game.)
+ WAVEx : 32M/64M SOP44 MASKROM
+ ROMx : 64M SOP44 MASKROM (size fixed at 64M, no configure options)
+ KEYCUS: CY37064 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which is different per game.)
+ IC4 : PALCE 16V8H (PLCC20, PCB labelled 'A_DECO', chip stamped 'S12M10X')
This PCB is used on:
Software
Game Revision PCB KEYCUS ROMs Populated
-----------------------------------------------------------------------------------------------------------
-Derby Quiz My MDH1/VER.A2 SYSTEM 12 M10X64 PCB ?????????? (??????????) KC035 MDH1 WAVE0
+Derby Quiz My MDH1/VER.A2 SYSTEM 12 M10X64 PCB 8661961500 (8661971500) KC035 MDH1 WAVE0
Dream Horse MDH1 ROM0L, MDH1 ROM1L
MDH1 ROM2L, MDH1 ROM0U
MDH1 ROM1U, MDH1 ROM2U
+Kaiun Quiz KW1/VER.A1 SYSTEM 12 M10X64 PCB 8661961500 (8661971500) KC050 KW1 WAVE0
+ KW1 ROM0L, KW1 ROM1L
+ KW1 ROM2L, KW1 ROM0U
+ KW1 ROM1U, KW1 ROM2U
+
********
*Type 8*
********
@@ -694,10 +744,45 @@ Soul Calibur SOC14/VER.C JO 11-04-98 ----
ROM1-1, ROM2, ROM2-1
FL3, FL4
+********
+*Type 9*
+********
+SYSTEM 12 F2M5 PCB 8661962600 (8661972600)
+|----------------------------------------------------------|
+|WAVE0.IC2 IC4 |
+| ROM0.IC7 |
+| FL1L.IC5 FL1U.IC6 |
+| ROM1.IC8 |
+| |
+|WAVE1.IC1 ROM2.IC9|
+| IC3 |-------------------| |
+| |-------------------| |
+|----------------------------------------------------------|
+Notes:
+ WAVEx: 64M SOP44 MASKROM
+ FLx : Intel Flash DA28F640J5 64M FlashROM (SSOP56)
+ ROMx : 64M SOP44 MASKROM
+ IC3 : CY37064 CPLD (PLCC44, labelled 'KEYCUS' and stamped with 'KC' & a 3-digit number which is different per game.)
+ IC4 : GAL22V10 (PLCC28, PCB labelled 'S12F2M', chip stamped 'S12F2M')
+
+This PCB is used on:
+
+ Software
+Game Revision PCB KEYCUS ROMs Populated
+-------------------------------------------------------------------------------------------------------------------
+Super World SS11/VER.A2 SYSTEM 12 F2M5 PCB 8661962600 (8661972600) KC061 SS01 WAVE0, SS01 WAVE1
+Stadium 2001 SS01 ROM0, SS01 ROM1, SS01 ROM2
+ SS11FL1L, SS11FL1U
+
CPU PCB
-------
-COH-700 GP-15
+
+There are 2 known types (so far). Type 1 is the most common.
+
+Type 1
+------
+COH-700 GP-15 (manufactured by Sony)
|-------------------------------------------|
| 74F74 74ALS08 |
| |
@@ -727,6 +812,23 @@ Notes:
CXD8661R : Sony CXD8661R R3000A-based CPU (QFP208)
MC44200FT : Motorola MC44200FT Triple 8-bit Video DAC (QFP44)
+Type 2
+------
+ SYSTEM12 COH716 PCB 8661962301 (8661972301)
+ (manufactured by Namco, probably in 2001, under licence from Sony)
+ Component layout is identical to COH-700 PCB with some updated components. Generally
+ it has 2X the amount of video RAM and 4X the amount of program RAM that the COH-700 PCB has.
+ KM4132G271Q replaced with OKI 54V25632A 256k x 32-bit x 2 Banks SGRAM (x2, QFP100)
+ KM416V1204 replaced with Samsung Electronics K4E6416120D 4M x16 EDO DRAM (x2, TSOP44)
+ Updated Sony CXD8561CQ GPU (QFP208)
+ Updated Sony CXD8606BQ R3000A-based CPU (QFP208)
+ Updated Motorola MC141685FT Video DAC (QFP44)
+
+ The Type 2 PCB is used only by Super World Stadium 2001 (so far)
+ Note, this CPU PCB was tested with some of the older S12 games and
+ they worked fine, so it seems to be 100% compatible with all S12 games.
+ The older COH-700 CPU board will also work with SWS2001.
+
NETWORK PCB
-----------
@@ -838,7 +940,14 @@ INLINE void verboselog( int n_level, const char *s_fmt, ... )
va_start( v, s_fmt );
vsprintf( buf, s_fmt, v );
va_end( v );
- logerror( "%08x: %s", activecpu_get_pc(), buf );
+ if( cpu_getactivecpu() != -1 )
+ {
+ logerror( "%08x: %s", activecpu_get_pc(), buf );
+ }
+ else
+ {
+ logerror( "(timer) : %s", buf );
+ }
}
}
@@ -931,37 +1040,56 @@ static WRITE32_HANDLER( dmaoffset_w )
static void namcos12_rom_read( UINT32 n_address, INT32 n_size )
{
- INT32 n_left;
+ int n_region;
+ int n_offset;
+
+ INT32 n_ramleft;
+ INT32 n_romleft;
+
UINT32 *p_n_src;
UINT32 *p_n_dst;
- verboselog( 1, "namcos12_rom_read( %08x, %08x )\n", n_address, n_size );
-
if( ( m_n_dmaoffset >= 0x80000000 ) || ( m_n_dmabias == 0x1f300000 ) )
{
- p_n_src = (UINT32 *)( memory_region( REGION_USER1 ) + ( m_n_dmaoffset & 0x003fffff ) );
+ n_region = REGION_USER1;
+ n_offset = m_n_dmaoffset & 0x003fffff;
+ verboselog( 1, "namcos12_rom_read( %08x, %08x ) boot %08x\n", n_address, n_size, n_offset );
}
else if( m_n_tektagdmaoffset >= 0x00000000 && m_n_tektagdmaoffset <= 0x03800000 )
{
- p_n_src = (UINT32 *)( memory_region( REGION_USER2 ) + ( m_n_tektagdmaoffset & 0x7fffffff ) );
+ n_region = REGION_USER2;
+ n_offset = m_n_tektagdmaoffset & 0x7fffffff;
+ verboselog( 1, "namcos12_rom_read( %08x, %08x ) tektag1 %08x\n", n_address, n_size, n_offset );
}
else if( m_n_tektagdmaoffset >= 0x04000000 && m_n_tektagdmaoffset <= 0x04400000 )
{
- p_n_src = (UINT32 *)( memory_region( REGION_USER1 ) + ( m_n_tektagdmaoffset & 0x003fffff ) );
+ n_region = REGION_USER1;
+ n_offset = m_n_tektagdmaoffset & 0x003fffff;
+ verboselog( 1, "namcos12_rom_read( %08x, %08x ) tektag2 %08x\n", n_address, n_size, n_offset );
}
else
{
- p_n_src = (UINT32 *)( memory_region( REGION_USER2 ) + ( m_n_dmaoffset & 0x7fffffff ) );
+ n_region = REGION_USER2;
+ n_offset = m_n_dmaoffset & 0x7fffffff;
+ verboselog( 1, "namcos12_rom_read( %08x, %08x ) game %08x\n", n_address, n_size, n_offset );
}
+ p_n_src = (UINT32 *)( memory_region( n_region ) + n_offset );
+ n_romleft = ( memory_region_length( n_region ) - n_offset ) / 4;
+ if( n_size > n_romleft )
+ {
+ verboselog( 1, "namcos12_rom_read dma truncated %d to %d passed end of rom\n", n_size, n_romleft );
+ n_size = n_romleft;
+ }
p_n_dst = &g_p_n_psxram[ n_address / 4 ];
-
- n_left = ( g_n_psxramsize - n_address ) / 4;
- if( n_size > n_left )
+ n_ramleft = ( g_n_psxramsize - n_address ) / 4;
+ if( n_size > n_ramleft )
{
- n_size = n_left;
+ verboselog( 1, "namcos12_rom_read dma truncated %d to %d passed end of ram\n", n_size, n_ramleft );
+ n_size = n_ramleft;
}
+
while( n_size > 0 )
{
*( p_n_dst++ ) = *( p_n_src++ );
@@ -1131,6 +1259,8 @@ static MACHINE_RESET( namcos12 )
strcmp( machine->gamedrv->name, "tenkomoj" ) == 0 ||
strcmp( machine->gamedrv->name, "tenkomor" ) == 0 ||
strcmp( machine->gamedrv->name, "ptblank2" ) == 0 ||
+ strcmp( machine->gamedrv->name, "sws2000" ) == 0 ||
+ strcmp( machine->gamedrv->name, "sws2001" ) == 0 ||
strcmp( machine->gamedrv->name, "ghlpanic" ) == 0 )
{
/* this is based on guesswork, it might not even be keycus. */
@@ -1192,7 +1322,7 @@ static READ8_HANDLER( s12_mcu_rtc_r )
{
UINT8 ret = 0;
mame_system_time systime;
- static int weekday[7] = { 7, 1, 2, 3, 4, 5, 6 };
+ static const int weekday[7] = { 7, 1, 2, 3, 4, 5, 6 };
mame_get_current_datetime(Machine, &systime);
@@ -1328,7 +1458,7 @@ static ADDRESS_MAP_START( s12h8iomap, ADDRESS_SPACE_IO, 8 )
AM_RANGE(H8_ADC_3_H, H8_ADC_3_L) AM_NOP
ADDRESS_MAP_END
-static struct C352interface c352_interface =
+static const struct C352interface c352_interface =
{
REGION_SOUND1
};
@@ -1666,6 +1796,26 @@ ROM_START( ghlpanic )
ROM_LOAD( "ob1wave.ic2", 0x000000, 0x800000, CRC(e7bc7202) SHA1(f0f598304866ebe62642eaac6b7d8709baa14fe1) )
ROM_END
+ROM_START( kaiunqz )
+ ROM_REGION32_LE( 0x00400000, REGION_USER1, 0 ) /* main prg */
+ ROM_LOAD16_BYTE( "kw1vera.2l", 0x000000, 0x200000, CRC(fd1d2324) SHA1(eedb4627dfa17e9aac2c99592628f1fa7060edb5) )
+ ROM_LOAD16_BYTE( "kw1vera.2p", 0x000001, 0x200000, CRC(d8bdea6b) SHA1(d32118846a1f43eecff7f56dcda03adf04975784) )
+
+ ROM_REGION32_LE( 0x3000000, REGION_USER2, 0 ) /* main data */
+ ROM_LOAD16_BYTE( "kw1rom0l.12", 0x0000000, 0x800000, CRC(e0768f0b) SHA1(3ffec7c789a95fcff7f06432723f155b99a20c42) )
+ ROM_LOAD16_BYTE( "kw1rom0u.11", 0x0000001, 0x800000, CRC(04101a16) SHA1(c2d79333ee382e2fea229bba23918fb5f88a25d4) )
+ ROM_LOAD16_BYTE( "kw1rom1l.10", 0x1000000, 0x800000, CRC(6a4edfa6) SHA1(a59fa28446b28db28b38368c794af71e673f69a2) )
+ ROM_LOAD16_BYTE( "kw1rom1u.9", 0x1000001, 0x800000, CRC(e6150b0d) SHA1(7dd1ba524246aea007e7bd6d3e7d457033b23a09) )
+ ROM_LOAD16_BYTE( "kw1rom2l.7", 0x2000000, 0x800000, CRC(21c376e4) SHA1(4b82494c1e13ebcea3c4e97803c0667be73bf6ae) )
+ ROM_LOAD16_BYTE( "kw1rom2u.8", 0x2000001, 0x800000, CRC(d850c222) SHA1(802c1782b323802eae871e2b9ccc5eae34277861) )
+
+ ROM_REGION( 0x0080000, REGION_CPU2, 0 ) /* sound prg */
+ ROM_LOAD16_WORD_SWAP( "kw1vera.11s", 0x000000, 0x080000, CRC(d863fafa) SHA1(3c2bb38c24165e3a1a4d1d257fcfc019b63d5199) )
+
+ ROM_REGION( 0x0800000, REGION_SOUND1, 0 ) /* samples */
+ ROM_LOAD( "kw1wave0.2", 0x000000, 0x800000, CRC(060e52ae) SHA1(7ea95cae9d3c648163b225d0c7d365644be90241) )
+ROM_END
+
ROM_START( lbgrande )
ROM_REGION32_LE( 0x00400000, REGION_USER1, 0 ) /* main prg */
ROM_LOAD16_BYTE( "lg2vera.2l", 0x0000000, 0x200000, CRC(5ed6b152) SHA1(fdab457862bd6e0a3178c9329bd0978b6aa3ae2f) )
@@ -1889,6 +2039,27 @@ ROM_START( soulclbd )
ROM_LOAD( "soc1wave0.2", 0x0000000, 0x800000, CRC(c100618d) SHA1(b87f88ee42ad9c5affa674e5f816d902143fed99) )
ROM_END
+ROM_START( sws98 )
+ ROM_REGION32_LE( 0x00400000, REGION_USER1, 0 ) /* main prg */
+ ROM_LOAD16_BYTE( "ss81vera.2l", 0x0000000, 0x200000, CRC(94b1f34c) SHA1(0c8491fda366b5b2874e5f49959dccd11d372e46) )
+ ROM_LOAD16_BYTE( "ss81vera.2p", 0x0000001, 0x200000, CRC(7d0ed33d) SHA1(34342ce57b29ee15c6279c099bb145ac7ad262f3) )
+
+ ROM_REGION32_LE( 0x2000000, REGION_USER2, 0 ) /* main data */
+ ROM_LOAD16_BYTE( "ss81fl1l.9", 0x1000000, 0x200000, CRC(b0b5dc77) SHA1(abce4e6ae60858b7c7408d10975b7a1e0d183115) )
+ ROM_LOAD16_BYTE( "ss81fl1u.10", 0x1000001, 0x200000, CRC(e526dba5) SHA1(889fdfba17282eb05a3e254af81ee15c3e16acc4) )
+ ROM_LOAD16_BYTE( "ss81fl2l.7", 0x1400000, 0x200000, CRC(2dc6f6b5) SHA1(e6c7bb804d7d027acca5adb15b0bb95321905ff3) )
+ ROM_LOAD16_BYTE( "ss81fl2u.8", 0x1400001, 0x200000, CRC(c8341c9f) SHA1(b7c5a960a238e963c7ec5bdb0751a8730d3b09f7) )
+ ROM_LOAD16_BYTE( "ss81fl3l.5", 0x1800000, 0x200000, CRC(ce5d2a96) SHA1(08f3955e1ce949ce436f6f2f19fd42204682ae8c) )
+ ROM_LOAD16_BYTE( "ss81fl3u.6", 0x1800001, 0x200000, CRC(02df4df8) SHA1(01fd66c905cde9ca073dc4b6dbd826c5fe96b79b) )
+
+ ROM_REGION( 0x0080000, REGION_CPU2, 0 ) /* sound prg */
+ ROM_LOAD16_WORD_SWAP( "ss81vera.11s", 0x0000000, 0x080000, CRC(c6bc5c31) SHA1(c6ef46c3fa8a7749618126d360e614ea6c8d9c54) )
+
+ ROM_REGION( 0x1000000, REGION_SOUND1, 0 ) /* samples */
+ ROM_LOAD( "ss81wave0.2", 0x0000000, 0x800000, CRC(1c5e2ff1) SHA1(4f29dfd49f6b5c3ca3b758823d368051354bd673) )
+ ROM_LOAD( "ss81wave1.1", 0x0800000, 0x800000, CRC(5f4c8861) SHA1(baee7182c32bc064d805de5a16948faf78941ac4) )
+ROM_END
+
ROM_START( sws99 )
ROM_REGION32_LE( 0x00400000, REGION_USER1, 0 ) /* main prg */
ROM_LOAD16_BYTE( "ss91vera.2e", 0x0000000, 0x200000, CRC(4dd928d7) SHA1(d76c0f52d1a2cd101a6879e6ff57ed1c52b5e228) )
@@ -1911,6 +2082,46 @@ ROM_START( sws99 )
ROM_LOAD( "ss91wave1.1", 0x0800000, 0x800000, CRC(5f4c8861) SHA1(baee7182c32bc064d805de5a16948faf78941ac4) )
ROM_END
+ROM_START( sws2000 )
+ ROM_REGION32_LE( 0x00400000, REGION_USER1, 0 ) /* main prg */
+ ROM_LOAD16_BYTE( "ss01vera.2l", 0x000000, 0x200000, CRC(6ddbdcaa) SHA1(cff31d75e7780851b2c2c025ee34fd8990e2f502) )
+ ROM_LOAD16_BYTE( "ss01vera.2p", 0x000001, 0x200000, CRC(6ade7d28) SHA1(3e8d7bc9a284324c4de0ac265872b613d108cb57) )
+
+ ROM_REGION32_LE( 0x2000000, REGION_USER2, 0 ) /* main data */
+ ROM_LOAD( "ss01rom0.9", 0x0000000, 0x800000, CRC(c08cc59c) SHA1(f2d8064491c98acbb40260d7f13d0f9b394c1383) )
+ ROM_LOAD( "ss01rom1.10", 0x0800000, 0x800000, CRC(d4aa1dc6) SHA1(68fcb60aadf35668d7d746da1e29d5d985e40aec) )
+ ROM_LOAD( "ss01rom2.11", 0x1000000, 0x800000, CRC(3371904a) SHA1(58bbf98a44560bc021bac4bc513fe89deea85b50) )
+ ROM_LOAD16_BYTE( "ss01fl3l.7", 0x1800000, 0x200000, CRC(35bad813) SHA1(19ceffb78695c8c22b30659aad56ac237ffb56ac) )
+ ROM_LOAD16_BYTE( "ss01fl3h.8", 0x1800001, 0x200000, CRC(a14828fc) SHA1(fd8a052451f74f420f4a4a2b902e0c2e83e3239b) )
+
+ ROM_REGION( 0x0080000, REGION_CPU2, 0 ) /* sound prg */
+ ROM_LOAD16_WORD_SWAP( "ss01vera.11s", 0x000000, 0x080000, CRC(641e6584) SHA1(dfc0ac21bea5b19dbce5d50fb681854889d756dc) )
+
+ ROM_REGION( 0x1000000, REGION_SOUND1, 0 ) /* samples */
+ ROM_LOAD( "ss01wave0.2", 0x000000, 0x800000, CRC(1c5e2ff1) SHA1(4f29dfd49f6b5c3ca3b758823d368051354bd673) )
+ ROM_LOAD( "ss01wave1.1", 0x800000, 0x800000, CRC(5f4c8861) SHA1(baee7182c32bc064d805de5a16948faf78941ac4) )
+ROM_END
+
+ROM_START( sws2001 )
+ ROM_REGION32_LE( 0x00400000, REGION_USER1, 0 ) /* main prg */
+ ROM_LOAD16_BYTE( "ss11vera.2l", 0x000000, 0x200000, CRC(a7b4dbe5) SHA1(1bcb8d127388e2ead9ca04b527779896c69daf7f) )
+ ROM_LOAD16_BYTE( "ss11vera.2p", 0x000001, 0x200000, CRC(3ef76b4e) SHA1(34c21b6002d3f88aa3f4b4606c8aace24be92920) )
+
+ ROM_REGION32_LE( 0x2800000, REGION_USER2, 0 ) /* main data */
+ ROM_LOAD( "ss01rom0.9", 0x0000000, 0x800000, CRC(c08cc59c) SHA1(f2d8064491c98acbb40260d7f13d0f9b394c1383) )
+ ROM_LOAD( "ss01rom1.10", 0x0800000, 0x800000, CRC(d4aa1dc6) SHA1(68fcb60aadf35668d7d746da1e29d5d985e40aec) )
+ ROM_LOAD( "ss01rom2.11", 0x1000000, 0x800000, CRC(3371904a) SHA1(58bbf98a44560bc021bac4bc513fe89deea85b50) )
+ ROM_LOAD16_BYTE( "ss11fl1l.5", 0x1800000, 0x800000, CRC(0546a2b4) SHA1(b61457c9c5136f94ace48e83de8043ce20ca4d99) )
+ ROM_LOAD16_BYTE( "ss11fl1u.6", 0x1800001, 0x800000, CRC(b3de0b2c) SHA1(a89d3a2eb0952a98cc4765af2897b94136ca58ad) )
+
+ ROM_REGION( 0x0080000, REGION_CPU2, 0 ) /* sound prg */
+ ROM_LOAD16_WORD_SWAP( "ss01vera.11s", 0x000000, 0x080000, CRC(641e6584) SHA1(dfc0ac21bea5b19dbce5d50fb681854889d756dc) )
+
+ ROM_REGION( 0x1000000, REGION_SOUND1, 0 ) /* samples */
+ ROM_LOAD( "ss01wave0.2", 0x000000, 0x800000, CRC(1c5e2ff1) SHA1(4f29dfd49f6b5c3ca3b758823d368051354bd673) )
+ ROM_LOAD( "ss01wave1.1", 0x800000, 0x800000, CRC(5f4c8861) SHA1(baee7182c32bc064d805de5a16948faf78941ac4) )
+ROM_END
+
ROM_START( tekken3 )
ROM_REGION32_LE( 0x00400000, REGION_USER1, 0 ) /* main prg */
ROM_LOAD16_BYTE( "tet1vere.2e", 0x0000000, 0x200000, CRC(8b01113b) SHA1(45fdfd58293641ed16bc59c633a85a9cf64ccbaf) )
@@ -2149,11 +2360,29 @@ ROM_START( tenkomoj )
ROM_LOAD( "tkm1wave1.1", 0x0800000, 0x800000, CRC(7567796b) SHA1(99e4b867477da2ccddfa9bebc4be84adc5cba53c) )
ROM_END
+ROM_START( toukon3 )
+ ROM_REGION32_LE( 0x00400000, REGION_USER1, 0 ) /* main prg */
+ ROM_LOAD16_BYTE( "tr1vera.2e", 0x000000, 0x200000, CRC(126ebb73) SHA1(de429e335e03f2b5116fc50f556a5507475a0535) )
+ ROM_LOAD16_BYTE( "tr1vera.2j", 0x000001, 0x200000, CRC(2edb3ad2) SHA1(d1d2d78b781c7f6fb5a201785295daa825ad057e) )
+
+ ROM_REGION32_LE( 0x1c00000, REGION_USER2, 0 ) /* main data */
+ ROM_LOAD16_BYTE( "tr1rom0l.6", 0x0000000, 0x400000, CRC(42946d26) SHA1(dc7944cb6daceda41ecee7a4e3f549cba916ab87) )
+ ROM_LOAD16_BYTE( "tr1rom0u.9", 0x0000001, 0x400000, CRC(e3cd0be0) SHA1(f27d14cd086b5961be33e635662aca89a5e8c857) )
+
+ ROM_REGION( 0x0080000, REGION_CPU2, 0 ) /* sound prg */
+ ROM_LOAD16_WORD_SWAP( "tr1vera.11s", 0x0000000, 0x080000, CRC(f9ecbd19) SHA1(ad64f95ef85ee5c45dcf15217ea5adff61fddba6) )
+
+ ROM_REGION( 0x1000000, REGION_SOUND1, 0 ) /* samples */
+ ROM_LOAD( "tr1wave0.5", 0x0000000, 0x400000, CRC(07d10e55) SHA1(3af8f7019a221981984741181b6be98e2315d441) )
+ ROM_LOAD( "tr1wave1.4", 0x0400000, 0x400000, CRC(34539cdd) SHA1(afb7079c0f447fbda285a5b97a37c04baf26db75) )
+ROM_END
+
GAME( 1996, tekken3, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (TET1/VER.E1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
GAME( 1996, tekken3a, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (TET2/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
GAME( 1996, tekken3b, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (TET3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
GAME( 1996, tekken3c, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (TET2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
GAME( 1997, lbgrande, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Libero Grande (LG2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
+GAME( 1997, toukon3, 0, coh700, namcos12, namcos12, ROT0, "Tomy/Namco", "Shin Nihon Pro Wrestling Toukon Retsuden 3 Arcade Edition (TR1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC019 */
GAME( 1998, soulclbr, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (SOC14/VER.C)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
GAME( 1998, soulclba, soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (SOC11/VER.C)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) /* KC020 */
GAME( 1998, soulclbb, soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (SOC13/VER.B)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) /* KC020 */
@@ -2161,7 +2390,9 @@ GAME( 1998, soulclbc, soulclbr, coh700, namcos12, namcos12, ROT0, "Namco",
GAME( 1998, soulclbd, soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (SOC11/VER.A2)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) /* KC020 */
GAME( 1998, ehrgeiz, 0, coh700, namcos12, namcos12, ROT0, "Square/Namco", "Ehrgeiz (EG3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC021 */
GAME( 1998, ehrgeiza, ehrgeiz, coh700, namcos12, namcos12, ROT0, "Square/Namco", "Ehrgeiz (EG2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC021 */
+GAME( 1999, kaiunqz, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Kaiun Quiz (KW1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC050 */
GAME( 1998, mdhorse, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Derby Quiz My Dream Horse (MDH1/VER.A2)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC035 */
+GAME( 1998, sws98, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Super World Stadium '98 (SS81/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC0?? */
GAME( 1998, tenkomor, 0, coh700, namcos12, namcos12, ROT90, "Namco", "Tenkomori Shooting (TKM2/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC036 */
GAME( 1998, tenkomoj, tenkomor, coh700, namcos12, namcos12, ROT90, "Namco", "Tenkomori Shooting (TKM1/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC036 */
GAME( 1998, fgtlayer, 0, coh700, namcos12, namcos12, ROT0, "Arika/Namco", "Fighting Layer (FTL0/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC037 */
@@ -2179,3 +2410,6 @@ GAME( 1999, pacappsp, 0, coh700, namcos12, namcos12, ROT0, "Produce/Na
GAME( 1999, aquarush, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Aqua Rush (AQ1/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC053 */
GAME( 1999, golgo13, 0, coh700, golgo13, golgo13, ROT0, "Raizing/Namco", "Golgo 13 (GLG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC054 */
GAME( 1999, g13knd, 0, coh700, golgo13, golgo13, ROT0, "Raizing/Namco", "Golgo 13 Kiseki no Dandou (GLS1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC059 */
+GAME( 2000, sws2000, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Super World Stadium 2000 (SS01/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC055 */
+GAME( 2001, sws2001, sws2000, coh700, namcos12, namcos12, ROT0, "Namco", "Super World Stadium 2001 (SS11/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC061 */
+
diff --git a/src/mame/drivers/namcos2.c b/src/mame/drivers/namcos2.c
index 1541f2af8f2..178d0c6bafb 100644
--- a/src/mame/drivers/namcos2.c
+++ b/src/mame/drivers/namcos2.c
@@ -1530,7 +1530,7 @@ static GFXDECODE_START( luckywld )
GFXDECODE_ENTRY( REGION_GFX2, 0x000000, chr_layout, 16*256, 16 )
GFXDECODE_END
-static struct C140interface C140_interface =
+static const struct C140interface C140_interface =
{
C140_TYPE_SYSTEM2,
REGION_SOUND1
diff --git a/src/mame/drivers/namcos21.c b/src/mame/drivers/namcos21.c
index d3dd871f434..6e496730312 100644
--- a/src/mame/drivers/namcos21.c
+++ b/src/mame/drivers/namcos21.c
@@ -1502,13 +1502,13 @@ static GFXDECODE_START( namcos21 )
GFXDECODE_ENTRY( REGION_GFX1, 0x000000, tile_layout, 0x1000, 0x10 )
GFXDECODE_END
-static struct C140interface C140_interface_typeA =
+static const struct C140interface C140_interface_typeA =
{
C140_TYPE_SYSTEM21_A,
REGION_SOUND1
};
-static struct C140interface C140_interface_typeB =
+static const struct C140interface C140_interface_typeB =
{
C140_TYPE_SYSTEM21_B,
REGION_SOUND1
diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c
index 445321a940d..5afc84a2b55 100644
--- a/src/mame/drivers/namcos22.c
+++ b/src/mame/drivers/namcos22.c
@@ -1798,7 +1798,7 @@ static INTERRUPT_GEN( mcu_interrupt )
}
}
-static struct C