From 3c6eacc96f5ede7feec56e345e70af28ba3bed42 Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Fri, 5 Dec 2008 08:00:13 +0000 Subject: [PATCH] Changed save state system to accept machine parameters where appropriate, and to keep all global variables hanging off the machine structure. Once again, this means all state registration call sites have been touched: - state_save_register_global* now takes a machine parameter - state_save_register_item* now takes a machine parameter - added new state_save_register_device_item* which now uses the device name and tag to generate the base name Extended the fake sound devices to have more populated fields. Modified sound cores to use tags from the devices and simplified the start function. Renumbered CPU and sound get/set info constants to align with the device constants, and shared values where they were perfectly aligned. Set the type field in the fake device_configs for CPU and sound chips to a get_info stub which calls through to the CPU and sound specific get_info functions. This means the device_get_info() functions work for CPU and sound cores, even in their fake state. Changed device information getters from device_info() to device_get_info() to match the CPU and sound macros. --- src/emu/audio/generic.c | 6 +- src/emu/audio/generic.h | 2 +- src/emu/cpu/adsp2100/adsp2100.c | 142 ++++++------ src/emu/cpu/alph8201/alph8201.c | 38 +-- src/emu/cpu/arm/arm.c | 8 +- src/emu/cpu/arm7/arm7core.c | 14 +- src/emu/cpu/ccpu/ccpu.c | 38 +-- src/emu/cpu/cdp1802/cdp1802.c | 36 +-- src/emu/cpu/cop400/cop410.c | 38 +-- src/emu/cpu/cop400/cop420.c | 50 ++-- src/emu/cpu/cop400/cop440.c | 50 ++-- src/emu/cpu/cubeqcpu/cubeqcpu.c | 130 +++++------ src/emu/cpu/dsp56k/dsp56k.c | 2 +- src/emu/cpu/e132xs/e132xs.c | 18 +- src/emu/cpu/g65816/g65816.c | 48 ++-- src/emu/cpu/h6280/h6280.c | 46 ++-- src/emu/cpu/h83002/h8_16.c | 22 +- src/emu/cpu/h83002/h8_8.c | 22 +- src/emu/cpu/hd6309/hd6309.c | 26 +-- src/emu/cpu/i386/i386.c | 106 ++++----- src/emu/cpu/i8085/i8085.c | 60 ++--- src/emu/cpu/i86/i286.c | 68 +++--- src/emu/cpu/i86/i86.c | 42 ++-- src/emu/cpu/i8x41/i8x41.c | 30 +-- src/emu/cpu/i960/i960.c | 20 +- src/emu/cpu/jaguar/jaguar.c | 8 +- src/emu/cpu/konami/konami.c | 24 +- src/emu/cpu/m37710/m37710.c | 96 ++++---- src/emu/cpu/m6502/m6502.c | 26 +-- src/emu/cpu/m6800/m6800.c | 76 +++--- src/emu/cpu/m68000/m68kcpu.c | 34 +-- src/emu/cpu/m6805/m6805.c | 14 +- src/emu/cpu/m6809/m6809.c | 24 +- src/emu/cpu/mb86233/mb86233.c | 2 +- src/emu/cpu/mb88xx/mb88xx.c | 42 ++-- src/emu/cpu/mcs48/mcs48.c | 38 +-- src/emu/cpu/mcs51/mcs51.c | 30 +-- src/emu/cpu/mips/mips3com.c | 18 +- src/emu/cpu/mips/psx.c | 34 +-- src/emu/cpu/nec/nec.c | 38 ++- src/emu/cpu/pic16c5x/pic16c5x.c | 54 ++--- src/emu/cpu/powerpc/ppccom.c | 48 ++-- src/emu/cpu/s2650/s2650.c | 24 +- src/emu/cpu/saturn/saturn.c | 46 ++-- src/emu/cpu/sh2/sh2comn.c | 48 ++-- src/emu/cpu/sh4/sh4.c | 128 +++++------ src/emu/cpu/sharc/sharc.c | 178 +++++++-------- src/emu/cpu/ssp1601/ssp1601.c | 22 +- src/emu/cpu/t11/t11.c | 26 +-- src/emu/cpu/tlcs90/tlcs90.c | 2 +- src/emu/cpu/tms32010/tms32010.c | 30 +-- src/emu/cpu/tms32025/tms32025.c | 62 ++--- src/emu/cpu/tms32031/tms32031.c | 16 +- src/emu/cpu/tms34010/tms34010.c | 36 +-- src/emu/cpu/tms7000/tms7000.c | 20 +- src/emu/cpu/tms9900/99xxcore.h | 86 +++---- src/emu/cpu/upd7810/upd7810.c | 124 +++++----- src/emu/cpu/v30mz/v30mz.c | 36 ++- src/emu/cpu/v60/v60.c | 16 +- src/emu/cpu/v810/v810.c | 8 +- src/emu/cpu/vtlb.c | 6 +- src/emu/cpu/z180/z180.c | 50 ++-- src/emu/cpu/z80/z80.c | 50 ++-- src/emu/cpuexec.c | 44 ++-- src/emu/cpuintrf.h | 140 +++++++----- src/emu/debug/debugcmd.c | 2 +- src/emu/debug/debugvw.c | 2 +- src/emu/devintrf.c | 33 +-- src/emu/devintrf.h | 21 +- src/emu/emupal.c | 8 +- src/emu/machine/6526cia.c | 64 +++--- src/emu/machine/6532riot.c | 24 +- src/emu/machine/6821pia.c | 64 +++--- src/emu/machine/6840ptm.c | 36 +-- src/emu/machine/6850acia.c | 44 ++-- src/emu/machine/68681.c | 74 +++--- src/emu/machine/74123.c | 6 +- src/emu/machine/74181.c | 6 +- src/emu/machine/7474.c | 19 +- src/emu/machine/8255ppi.c | 32 +-- src/emu/machine/8257dma.c | 18 +- src/emu/machine/adc083x.c | 26 +-- src/emu/machine/am53cf96.c | 11 +- src/emu/machine/at28c16.c | 10 +- src/emu/machine/cdp1852.c | 10 +- src/emu/machine/cr589.c | 7 +- src/emu/machine/ds2401.c | 12 +- src/emu/machine/eeprom.c | 23 +- src/emu/machine/generic.c | 10 +- src/emu/machine/i2cmem.c | 26 +-- src/emu/machine/idectrl.c | 70 +++--- src/emu/machine/intelfsh.c | 8 +- src/emu/machine/latch8.c | 2 +- src/emu/machine/mb3773.c | 2 +- src/emu/machine/microtch.c | 24 +- src/emu/machine/pd4990a.c | 39 ++-- src/emu/machine/pit8253.c | 40 ++-- src/emu/machine/scsicd.c | 18 +- src/emu/machine/scsidev.c | 6 +- src/emu/machine/scsihd.c | 6 +- src/emu/machine/smc91c9x.c | 18 +- src/emu/machine/timekpr.c | 20 +- src/emu/machine/upd4701.c | 29 +-- src/emu/machine/wd33c93.c | 2 +- src/emu/machine/x2212.c | 8 +- src/emu/machine/x76f041.c | 36 +-- src/emu/machine/x76f100.c | 30 +-- src/emu/machine/z80ctc.c | 12 +- src/emu/machine/z80dma.c | 26 +-- src/emu/machine/z80pio.c | 20 +- src/emu/mame.c | 14 +- src/emu/mame.h | 2 + src/emu/mconfig.c | 2 +- src/emu/memory.c | 10 +- src/emu/sndintrf.c | 65 +++--- src/emu/sndintrf.h | 44 ++-- src/emu/sound.c | 4 +- src/emu/sound/2151intf.c | 2 +- src/emu/sound/2203intf.c | 4 +- src/emu/sound/2413intf.c | 2 +- src/emu/sound/2608intf.c | 8 +- src/emu/sound/2610intf.c | 20 +- src/emu/sound/2612intf.c | 2 +- src/emu/sound/3812intf.c | 10 +- src/emu/sound/5110intf.c | 11 +- src/emu/sound/5220intf.c | 2 +- src/emu/sound/aica.c | 8 +- src/emu/sound/astrocde.c | 28 ++- src/emu/sound/ay8910.c | 60 ++--- src/emu/sound/ay8910.h | 2 +- src/emu/sound/bsmt2000.c | 32 +-- src/emu/sound/c140.c | 2 +- src/emu/sound/c352.c | 46 ++-- src/emu/sound/cdda.c | 16 +- src/emu/sound/cem3394.c | 26 +-- src/emu/sound/dac.c | 2 +- src/emu/sound/discrete.c | 8 +- src/emu/sound/dmadac.c | 12 +- src/emu/sound/es5503.c | 20 +- src/emu/sound/es5506.c | 6 +- src/emu/sound/es8712.c | 26 +-- src/emu/sound/fm.c | 144 ++++++------ src/emu/sound/fm.h | 8 +- src/emu/sound/fmopl.c | 100 ++++---- src/emu/sound/fmopl.h | 6 +- src/emu/sound/gaelco.c | 10 +- src/emu/sound/hc55516.c | 26 +-- src/emu/sound/ics2115.c | 6 +- src/emu/sound/iremga20.c | 24 +- src/emu/sound/k005289.c | 2 +- src/emu/sound/k007232.c | 6 +- src/emu/sound/k053260.c | 9 +- src/emu/sound/k054539.c | 19 +- src/emu/sound/msm5205.c | 20 +- src/emu/sound/msm5205.h | 2 +- src/emu/sound/multipcm.c | 56 ++--- src/emu/sound/n63701x.c | 2 +- src/emu/sound/namco.c | 29 ++- src/emu/sound/namco52.c | 16 +- src/emu/sound/nes_apu.c | 84 +++---- src/emu/sound/nile.c | 2 +- src/emu/sound/okim6258.c | 18 +- src/emu/sound/okim6295.c | 30 +-- src/emu/sound/pokey.c | 74 +++--- src/emu/sound/psx.c | 74 +++--- src/emu/sound/qsound.c | 28 +-- src/emu/sound/rf5c400.c | 48 ++-- src/emu/sound/s14001a.c | 2 +- src/emu/sound/samples.c | 14 +- src/emu/sound/scsp.c | 8 +- src/emu/sound/segapcm.c | 8 +- src/emu/sound/sid6581.c | 8 +- src/emu/sound/sn76477.c | 154 ++++++------- src/emu/sound/sn76496.c | 30 +-- src/emu/sound/snkwave.c | 8 +- src/emu/sound/sp0256.c | 2 +- src/emu/sound/tms5110.c | 62 ++--- src/emu/sound/tms5110.h | 2 +- src/emu/sound/tms5220.c | 76 +++--- src/emu/sound/tms5220.h | 2 +- src/emu/sound/upd7759.c | 56 ++--- src/emu/sound/vlm5030.c | 42 ++-- src/emu/sound/wave.c | 2 +- src/emu/sound/x1_010.c | 6 +- src/emu/sound/ym2151.c | 142 ++++++------ src/emu/sound/ym2151.h | 2 +- src/emu/sound/ym2413.c | 120 +++++----- src/emu/sound/ym2413.h | 2 +- src/emu/sound/ymdeltat.c | 16 +- src/emu/sound/ymdeltat.h | 2 +- src/emu/sound/ymf271.c | 132 ++++++----- src/emu/sound/ymf278b.c | 2 +- src/emu/sound/ymz280b.c | 62 ++--- src/emu/state.c | 394 +++++++++++++++++--------------- src/emu/state.h | 175 ++++++++++---- src/emu/streams.c | 10 +- src/emu/tilemap.c | 24 +- src/emu/timer.c | 34 +-- src/emu/validity.c | 4 +- src/emu/video.c | 42 ++-- src/emu/video/cdp1869.c | 42 ++-- src/emu/video/generic.c | 6 +- src/emu/video/mc6845.c | 44 ++-- src/emu/video/tms34061.c | 2 +- src/emu/video/tms9928a.c | 30 +-- src/emu/video/v9938.c | 90 ++++---- src/emu/video/voodoo.c | 244 ++++++++++---------- src/emu/watchdog.c | 4 +- src/mame/audio/astrof.c | 10 +- src/mame/audio/atarijsa.c | 20 +- src/mame/audio/cage.c | 18 +- src/mame/audio/cinemat.c | 20 +- src/mame/audio/dcs.c | 82 +++---- src/mame/audio/exidy.c | 2 +- src/mame/audio/exidy440.c | 10 +- src/mame/audio/flower.c | 16 +- src/mame/audio/galaxian.c | 18 +- src/mame/audio/gottlieb.c | 14 +- src/mame/audio/irem.c | 8 +- src/mame/audio/jedi.c | 6 +- src/mame/audio/m72.c | 4 +- src/mame/audio/mario.c | 4 +- src/mame/audio/mcr.c | 22 +- src/mame/audio/mw8080bw.c | 4 +- src/mame/audio/phoenix.c | 22 +- src/mame/audio/redalert.c | 8 +- src/mame/audio/scramble.c | 8 +- src/mame/audio/segag80r.c | 24 +- src/mame/audio/segasnd.c | 64 +++--- src/mame/audio/targ.c | 11 +- src/mame/audio/tiamc1.c | 21 +- src/mame/audio/timeplt.c | 2 +- src/mame/audio/williams.c | 14 +- src/mame/drivers/aliens.c | 2 +- src/mame/drivers/appoooh.c | 2 +- src/mame/drivers/ashnojoe.c | 4 +- src/mame/drivers/astrocde.c | 10 +- src/mame/drivers/astrof.c | 24 +- src/mame/drivers/asuka.c | 6 +- src/mame/drivers/atarig1.c | 6 +- src/mame/drivers/atarisy2.c | 14 +- src/mame/drivers/atetris.c | 4 +- src/mame/drivers/backfire.c | 20 +- src/mame/drivers/batman.c | 2 +- src/mame/drivers/battlera.c | 4 +- src/mame/drivers/beaminv.c | 2 +- src/mame/drivers/berzerk.c | 10 +- src/mame/drivers/bfcobra.c | 26 +-- src/mame/drivers/bishi.c | 4 +- src/mame/drivers/bombjack.c | 2 +- src/mame/drivers/btoads.c | 10 +- src/mame/drivers/bzone.c | 14 +- src/mame/drivers/ccastles.c | 6 +- src/mame/drivers/centiped.c | 6 +- src/mame/drivers/changela.c | 38 +-- src/mame/drivers/chinagat.c | 2 +- src/mame/drivers/cidelsa.c | 6 +- src/mame/drivers/cinemat.c | 6 +- src/mame/drivers/circusc.c | 2 +- src/mame/drivers/clayshoo.c | 4 +- src/mame/drivers/cloud9.c | 4 +- src/mame/drivers/cps1.c | 4 +- src/mame/drivers/cps3.c | 4 +- src/mame/drivers/crgolf.c | 14 +- src/mame/drivers/cvs.c | 14 +- src/mame/drivers/dacholer.c | 4 +- src/mame/drivers/darius.c | 12 +- src/mame/drivers/dcheese.c | 8 +- src/mame/drivers/ddragon.c | 13 +- src/mame/drivers/dec8.c | 4 +- src/mame/drivers/deco156.c | 12 +- src/mame/drivers/deco32.c | 2 +- src/mame/drivers/decocass.c | 2 +- src/mame/drivers/discoboy.c | 12 +- src/mame/drivers/djmain.c | 10 +- src/mame/drivers/dkong.c | 6 +- src/mame/drivers/docastle.c | 6 +- src/mame/drivers/drmicro.c | 6 +- src/mame/drivers/dynax.c | 8 +- src/mame/drivers/embargo.c | 6 +- src/mame/drivers/eprom.c | 2 +- src/mame/drivers/fantland.c | 39 +++- src/mame/drivers/fcrash.c | 6 +- src/mame/drivers/firetrap.c | 4 +- src/mame/drivers/foodf.c | 2 +- src/mame/drivers/fromance.c | 4 +- src/mame/drivers/gaelco3d.c | 20 +- src/mame/drivers/galaxian.c | 8 +- src/mame/drivers/gameplan.c | 2 +- src/mame/drivers/genesis.c | 6 +- src/mame/drivers/gijoe.c | 2 +- src/mame/drivers/goal92.c | 4 +- src/mame/drivers/gottlieb.c | 30 +-- src/mame/drivers/hornet.c | 14 +- src/mame/drivers/jailbrek.c | 4 +- src/mame/drivers/jedi.c | 2 +- src/mame/drivers/jongkyo.c | 2 +- src/mame/drivers/jpmimpct.c | 14 +- src/mame/drivers/kangaroo.c | 2 +- src/mame/drivers/kchamp.c | 4 +- src/mame/drivers/konamigq.c | 8 +- src/mame/drivers/konamigv.c | 12 +- src/mame/drivers/konamigx.c | 6 +- src/mame/drivers/ksys573.c | 46 ++-- src/mame/drivers/lethal.c | 2 +- src/mame/drivers/looping.c | 2 +- src/mame/drivers/lucky74.c | 4 +- src/mame/drivers/lvcards.c | 6 +- src/mame/drivers/m10.c | 4 +- src/mame/drivers/m72.c | 4 +- src/mame/drivers/m90.c | 2 +- src/mame/drivers/m92.c | 6 +- src/mame/drivers/magmax.c | 8 +- src/mame/drivers/mastboy.c | 4 +- src/mame/drivers/mcr.c | 40 ++-- src/mame/drivers/mcr3.c | 16 +- src/mame/drivers/mcr68.c | 4 +- src/mame/drivers/merit.c | 10 +- src/mame/drivers/meritm.c | 30 +-- src/mame/drivers/midvunit.c | 14 +- src/mame/drivers/midzeus.c | 12 +- src/mame/drivers/missile.c | 10 +- src/mame/drivers/mitchell.c | 4 +- src/mame/drivers/mlanding.c | 4 +- src/mame/drivers/model1.c | 2 +- src/mame/drivers/moo.c | 4 +- src/mame/drivers/ms32.c | 2 +- src/mame/drivers/mw8080bw.c | 24 +- src/mame/drivers/mystwarr.c | 4 +- src/mame/drivers/namcoic.c | 4 +- src/mame/drivers/namcos11.c | 4 +- src/mame/drivers/namcos12.c | 6 +- src/mame/drivers/neodrvr.c | 4 +- src/mame/drivers/neogeo.c | 38 +-- src/mame/drivers/ninjaw.c | 4 +- src/mame/drivers/nmg5.c | 6 +- src/mame/drivers/nova2001.c | 2 +- src/mame/drivers/nyny.c | 8 +- src/mame/drivers/ojankohs.c | 4 +- src/mame/drivers/opwolf.c | 13 +- src/mame/drivers/othunder.c | 2 +- src/mame/drivers/pcktgal.c | 4 +- src/mame/drivers/pipedrm.c | 4 +- src/mame/drivers/pkscram.c | 4 +- src/mame/drivers/pooyan.c | 2 +- src/mame/drivers/qdrmfgp.c | 6 +- src/mame/drivers/r2dtank.c | 6 +- src/mame/drivers/rainbow.c | 2 +- src/mame/drivers/rastan.c | 4 +- src/mame/drivers/renegade.c | 10 +- src/mame/drivers/rohga.c | 6 +- src/mame/drivers/safarir.c | 6 +- src/mame/drivers/sbrkout.c | 6 +- src/mame/drivers/seattle.c | 50 ++-- src/mame/drivers/segac2.c | 6 +- src/mame/drivers/segag80v.c | 10 +- src/mame/drivers/segaybd.c | 8 +- src/mame/drivers/skykid.c | 2 +- src/mame/drivers/slapshot.c | 2 +- src/mame/drivers/spdodgeb.c | 5 +- src/mame/drivers/spiders.c | 10 +- src/mame/drivers/splash.c | 2 +- src/mame/drivers/sprcros2.c | 4 +- src/mame/drivers/srmp2.c | 4 +- src/mame/drivers/ssingles.c | 4 +- src/mame/drivers/sslam.c | 14 +- src/mame/drivers/starfire.c | 2 +- src/mame/drivers/starwars.c | 6 +- src/mame/drivers/stv.c | 42 ++-- src/mame/drivers/superqix.c | 30 +-- src/mame/drivers/system16.c | 4 +- src/mame/drivers/system18.c | 4 +- src/mame/drivers/taito_f2.c | 6 +- src/mame/drivers/taito_f3.c | 2 +- src/mame/drivers/taito_h.c | 2 +- src/mame/drivers/taito_l.c | 4 +- src/mame/drivers/taito_x.c | 2 +- src/mame/drivers/taito_z.c | 12 +- src/mame/drivers/taitoair.c | 2 +- src/mame/drivers/taitosj.c | 10 +- src/mame/drivers/tatsumi.c | 6 +- src/mame/drivers/tbowl.c | 7 +- src/mame/drivers/tceptor.c | 6 +- src/mame/drivers/tecmo.c | 6 +- src/mame/drivers/tehkanwc.c | 4 +- src/mame/drivers/terracre.c | 4 +- src/mame/drivers/tetrisp2.c | 10 +- src/mame/drivers/tiamc1.c | 2 +- src/mame/drivers/timeplt.c | 2 +- src/mame/drivers/toaplan2.c | 34 +-- src/mame/drivers/toki.c | 4 +- src/mame/drivers/topspeed.c | 10 +- src/mame/drivers/tubep.c | 16 +- src/mame/drivers/tutankhm.c | 4 +- src/mame/drivers/vegas.c | 26 +-- src/mame/drivers/volfied.c | 2 +- src/mame/drivers/warriorb.c | 2 +- src/mame/drivers/wc90b.c | 4 +- src/mame/drivers/wgp.c | 4 +- src/mame/drivers/xexex.c | 4 +- src/mame/drivers/xmen.c | 2 +- src/mame/drivers/yunsung8.c | 4 +- src/mame/drivers/zaxxon.c | 10 +- src/mame/includes/cchip.h | 2 +- src/mame/includes/decoprot.h | 2 +- src/mame/includes/model1.h | 2 +- src/mame/includes/stfight.h | 2 +- src/mame/includes/tatsumi.h | 2 +- src/mame/machine/acitya.c | 2 +- src/mame/machine/arkanoid.c | 20 +- src/mame/machine/atari.c | 4 +- src/mame/machine/atari_vg.c | 6 +- src/mame/machine/atari_vg.h | 2 +- src/mame/machine/atarigen.c | 64 +++--- src/mame/machine/balsente.c | 64 +++--- src/mame/machine/cchip.c | 4 +- src/mame/machine/chaknpop.c | 6 +- src/mame/machine/decocass.c | 60 ++--- src/mame/machine/decocass.h | 2 +- src/mame/machine/decoprot.c | 16 +- src/mame/machine/galaxold.c | 2 +- src/mame/machine/konamiic.c | 6 +- src/mame/machine/konppc.c | 30 +-- src/mame/machine/mathbox.c | 6 +- src/mame/machine/mathbox.h | 2 +- src/mame/machine/mb14241.c | 6 +- src/mame/machine/mb14241.h | 2 +- src/mame/machine/mcr.c | 26 +-- src/mame/machine/mhavoc.c | 20 +- src/mame/machine/midtunit.c | 20 +- src/mame/machine/midwayic.c | 76 +++--- src/mame/machine/midwunit.c | 18 +- src/mame/machine/model1.c | 34 +-- src/mame/machine/mw8080bw.c | 2 +- src/mame/machine/namcoio.c | 29 +-- src/mame/machine/namcond1.c | 4 +- src/mame/machine/namcos1.c | 6 +- src/mame/machine/naomibd.c | 8 +- src/mame/machine/neoprot.c | 6 +- src/mame/machine/nitedrvr.c | 18 +- src/mame/machine/opwolf.c | 30 +-- src/mame/machine/psx.c | 70 +++--- src/mame/machine/qix.c | 4 +- src/mame/machine/rainbow.c | 4 +- src/mame/machine/s16fd.c | 4 +- src/mame/machine/s24fd.c | 4 +- src/mame/machine/scramble.c | 2 +- src/mame/machine/slapstic.c | 12 +- src/mame/machine/steppers.c | 16 +- src/mame/machine/stfight.c | 4 +- src/mame/machine/stvprot.c | 10 +- src/mame/machine/stvprot.h | 2 +- src/mame/machine/taitosj.c | 20 +- src/mame/machine/tatsumi.c | 10 +- src/mame/machine/theglobp.c | 2 +- src/mame/machine/ticket.c | 4 +- src/mame/machine/toaplan1.c | 20 +- src/mame/machine/twincobr.c | 32 +-- src/mame/machine/vertigo.c | 8 +- src/mame/machine/volfied.c | 12 +- src/mame/machine/williams.c | 8 +- src/mame/machine/zs01.c | 30 +-- src/mame/video/1942.c | 2 +- src/mame/video/actfancr.c | 10 +- src/mame/video/arkanoid.c | 4 +- src/mame/video/astrocde.c | 78 +++---- src/mame/video/asuka.c | 2 +- src/mame/video/atarig1.c | 8 +- src/mame/video/atarimo.c | 88 +++---- src/mame/video/atarirle.c | 20 +- src/mame/video/atarisy2.c | 6 +- src/mame/video/avgdvg.c | 68 +++--- src/mame/video/balsente.c | 4 +- src/mame/video/battlnts.c | 2 +- src/mame/video/bfm_adr2.c | 18 +- src/mame/video/bishi.c | 4 +- src/mame/video/bladestl.c | 2 +- src/mame/video/blktiger.c | 12 +- src/mame/video/bombjack.c | 2 +- src/mame/video/bosco.c | 8 +- src/mame/video/btoads.c | 16 +- src/mame/video/carjmbre.c | 4 +- src/mame/video/ccastles.c | 8 +- src/mame/video/centiped.c | 6 +- src/mame/video/chaknpop.c | 14 +- src/mame/video/changela.c | 12 +- src/mame/video/cidelsa.c | 20 +- src/mame/video/cloak.c | 12 +- src/mame/video/cloud9.c | 6 +- src/mame/video/crbaloon.c | 4 +- src/mame/video/crgolf.c | 4 +- src/mame/video/dcheese.c | 10 +- src/mame/video/ddragon.c | 8 +- src/mame/video/ddragon3.c | 12 +- src/mame/video/deco32.c | 6 +- src/mame/video/decocass.c | 26 +-- src/mame/video/digdug.c | 8 +- src/mame/video/djmain.c | 2 +- src/mame/video/dkong.c | 12 +- src/mame/video/dooyong.c | 52 ++--- src/mame/video/foodf.c | 2 +- src/mame/video/fromance.c | 28 +-- src/mame/video/gaelco3d.c | 14 +- src/mame/video/galaga.c | 8 +- src/mame/video/galaxian.c | 28 +-- src/mame/video/galaxold.c | 36 +-- src/mame/video/galivan.c | 18 +- src/mame/video/gameplan.c | 10 +- src/mame/video/genesis.c | 46 ++-- src/mame/video/gng.c | 4 +- src/mame/video/gottlieb.c | 6 +- src/mame/video/gtia.c | 122 +++++----- src/mame/video/gunsmoke.c | 8 +- src/mame/video/jaguar.c | 8 +- src/mame/video/jedi.c | 4 +- src/mame/video/jpmimpct.c | 10 +- src/mame/video/kangaroo.c | 2 +- src/mame/video/konamigx.c | 6 +- src/mame/video/konamiic.c | 128 +++++------ src/mame/video/konamiic.h | 8 +- src/mame/video/lasso.c | 8 +- src/mame/video/m52.c | 10 +- src/mame/video/m62.c | 42 ++-- src/mame/video/m72.c | 24 +- src/mame/video/m90.c | 6 +- src/mame/video/m92.c | 16 +- src/mame/video/magmax.c | 2 +- src/mame/video/mario.c | 8 +- src/mame/video/mcr3.c | 8 +- src/mame/video/midtunit.c | 10 +- src/mame/video/midvunit.c | 10 +- src/mame/video/midyunit.c | 10 +- src/mame/video/midzeus.c | 26 +-- src/mame/video/midzeus2.c | 22 +- src/mame/video/model1.c | 6 +- src/mame/video/moo.c | 2 +- src/mame/video/mystwarr.c | 26 +-- src/mame/video/namcos1.c | 8 +- src/mame/video/neogeo.c | 26 +-- src/mame/video/pacland.c | 6 +- src/mame/video/pacman.c | 22 +- src/mame/video/phoenix.c | 20 +- src/mame/video/plygonet.c | 2 +- src/mame/video/popper.c | 6 +- src/mame/video/prehisle.c | 2 +- src/mame/video/psx.c | 64 +++--- src/mame/video/qix.c | 8 +- src/mame/video/rastan.c | 10 +- src/mame/video/redalert.c | 2 +- src/mame/video/renegade.c | 2 +- src/mame/video/rockrage.c | 2 +- src/mame/video/rungun.c | 2 +- src/mame/video/segag80r.c | 28 +-- src/mame/video/segaic16.c | 16 +- src/mame/video/segaic24.c | 12 +- src/mame/video/segaic24.h | 4 +- src/mame/video/segas24.c | 4 +- src/mame/video/segasyse.c | 16 +- src/mame/video/simpl156.c | 12 +- src/mame/video/skykid.c | 8 +- src/mame/video/slapshot.c | 16 +- src/mame/video/sslam.c | 4 +- src/mame/video/st0016.c | 18 +- src/mame/video/starfire.c | 8 +- src/mame/video/stvvdp1.c | 16 +- src/mame/video/stvvdp2.c | 6 +- src/mame/video/superqix.c | 14 +- src/mame/video/system1.c | 14 +- src/mame/video/taito_b.c | 20 +- src/mame/video/taito_f2.c | 22 +- src/mame/video/taito_f3.c | 4 +- src/mame/video/taito_z.c | 2 +- src/mame/video/taitoic.c | 54 ++--- src/mame/video/taitoic.h | 10 +- src/mame/video/tceptor.c | 10 +- src/mame/video/terracre.c | 4 +- src/mame/video/tiamc1.c | 6 +- src/mame/video/tmnt.c | 8 +- src/mame/video/toaplan1.c | 102 ++++----- src/mame/video/toaplan2.c | 74 +++--- src/mame/video/tubep.c | 42 ++-- src/mame/video/turbo.c | 2 +- src/mame/video/tutankhm.c | 6 +- src/mame/video/twincobr.c | 38 +-- src/mame/video/vertigo.c | 56 ++--- src/mame/video/victory.c | 2 +- src/mame/video/volfied.c | 8 +- src/mame/video/williams.c | 26 +-- src/mame/video/wiz.c | 10 +- src/mame/video/wwfwfest.c | 10 +- src/mame/video/xevious.c | 2 +- src/mame/video/xexex.c | 4 +- src/mame/video/ygv608.c | 12 +- src/mame/video/zaxxon.c | 16 +- 594 files changed, 6249 insertions(+), 6057 deletions(-) diff --git a/src/emu/audio/generic.c b/src/emu/audio/generic.c index b551c6262c6..c4618554f2c 100644 --- a/src/emu/audio/generic.c +++ b/src/emu/audio/generic.c @@ -33,7 +33,7 @@ static UINT8 latch_read[4]; register for save states -------------------------------------------------*/ -int generic_sound_init(void) +int generic_sound_init(running_machine *machine) { /* reset latches */ latch_clear_value = 0; @@ -41,8 +41,8 @@ int generic_sound_init(void) memset(latch_read, 0, sizeof(latch_read)); /* register globals with the save state system */ - state_save_register_global_array(latched_value); - state_save_register_global_array(latch_read); + state_save_register_global_array(machine, latched_value); + state_save_register_global_array(machine, latch_read); return 0; } diff --git a/src/emu/audio/generic.h b/src/emu/audio/generic.h index bcdc75a4e60..c8d83ca0ece 100644 --- a/src/emu/audio/generic.h +++ b/src/emu/audio/generic.h @@ -24,7 +24,7 @@ ***************************************************************************/ -int generic_sound_init(void); +int generic_sound_init(running_machine *machine); /* latch readers */ READ8_HANDLER( soundlatch_r ); diff --git a/src/emu/cpu/adsp2100/adsp2100.c b/src/emu/cpu/adsp2100/adsp2100.c index 6356d71db76..2dbe0d6d44e 100644 --- a/src/emu/cpu/adsp2100/adsp2100.c +++ b/src/emu/cpu/adsp2100/adsp2100.c @@ -615,85 +615,85 @@ static adsp2100_state *adsp21xx_init(const device_config *device, int index, int adsp->shift_xregs[7] = &adsp->core.sr.srx.sr1; /* "core" */ - state_save_register_item("adsp2100", device->tag, 0, adsp->core.ax0.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.ax1.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.ay0.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.ay1.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.ar.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.af.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.mx0.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.mx1.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.my0.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.my1.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.mr.mr); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.mf.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.si.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.se.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.sb.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.sr.sr); - state_save_register_item("adsp2100", device->tag, 0, adsp->core.zero.u); + state_save_register_device_item(device, 0, adsp->core.ax0.u); + state_save_register_device_item(device, 0, adsp->core.ax1.u); + state_save_register_device_item(device, 0, adsp->core.ay0.u); + state_save_register_device_item(device, 0, adsp->core.ay1.u); + state_save_register_device_item(device, 0, adsp->core.ar.u); + state_save_register_device_item(device, 0, adsp->core.af.u); + state_save_register_device_item(device, 0, adsp->core.mx0.u); + state_save_register_device_item(device, 0, adsp->core.mx1.u); + state_save_register_device_item(device, 0, adsp->core.my0.u); + state_save_register_device_item(device, 0, adsp->core.my1.u); + state_save_register_device_item(device, 0, adsp->core.mr.mr); + state_save_register_device_item(device, 0, adsp->core.mf.u); + state_save_register_device_item(device, 0, adsp->core.si.u); + state_save_register_device_item(device, 0, adsp->core.se.u); + state_save_register_device_item(device, 0, adsp->core.sb.u); + state_save_register_device_item(device, 0, adsp->core.sr.sr); + state_save_register_device_item(device, 0, adsp->core.zero.u); /* "alt" */ - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.ax0.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.ax1.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.ay0.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.ay1.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.ar.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.af.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.mx0.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.mx1.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.my0.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.my1.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.mr.mr); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.mf.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.si.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.se.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.sb.u); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.sr.sr); - state_save_register_item("adsp2100", device->tag, 0, adsp->alt.zero.u); + state_save_register_device_item(device, 0, adsp->alt.ax0.u); + state_save_register_device_item(device, 0, adsp->alt.ax1.u); + state_save_register_device_item(device, 0, adsp->alt.ay0.u); + state_save_register_device_item(device, 0, adsp->alt.ay1.u); + state_save_register_device_item(device, 0, adsp->alt.ar.u); + state_save_register_device_item(device, 0, adsp->alt.af.u); + state_save_register_device_item(device, 0, adsp->alt.mx0.u); + state_save_register_device_item(device, 0, adsp->alt.mx1.u); + state_save_register_device_item(device, 0, adsp->alt.my0.u); + state_save_register_device_item(device, 0, adsp->alt.my1.u); + state_save_register_device_item(device, 0, adsp->alt.mr.mr); + state_save_register_device_item(device, 0, adsp->alt.mf.u); + state_save_register_device_item(device, 0, adsp->alt.si.u); + state_save_register_device_item(device, 0, adsp->alt.se.u); + state_save_register_device_item(device, 0, adsp->alt.sb.u); + state_save_register_device_item(device, 0, adsp->alt.sr.sr); + state_save_register_device_item(device, 0, adsp->alt.zero.u); - state_save_register_item_array("adsp2100", device->tag, 0, adsp->i); - state_save_register_item_array("adsp2100", device->tag, 0, adsp->m); - state_save_register_item_array("adsp2100", device->tag, 0, adsp->l); - state_save_register_item_array("adsp2100", device->tag, 0, adsp->lmask); - state_save_register_item_array("adsp2100", device->tag, 0, adsp->base); - state_save_register_item("adsp2100", device->tag, 0, adsp->px); + state_save_register_device_item_array(device, 0, adsp->i); + state_save_register_device_item_array(device, 0, adsp->m); + state_save_register_device_item_array(device, 0, adsp->l); + state_save_register_device_item_array(device, 0, adsp->lmask); + state_save_register_device_item_array(device, 0, adsp->base); + state_save_register_device_item(device, 0, adsp->px); - state_save_register_item("adsp2100", device->tag, 0, adsp->pc); - state_save_register_item("adsp2100", device->tag, 0, adsp->ppc); - state_save_register_item("adsp2100", device->tag, 0, adsp->loop); - state_save_register_item("adsp2100", device->tag, 0, adsp->loop_condition); - state_save_register_item("adsp2100", device->tag, 0, adsp->cntr); - state_save_register_item("adsp2100", device->tag, 0, adsp->astat); - state_save_register_item("adsp2100", device->tag, 0, adsp->sstat); - state_save_register_item("adsp2100", device->tag, 0, adsp->mstat); - state_save_register_item("adsp2100", device->tag, 0, adsp->astat_clear); - state_save_register_item("adsp2100", device->tag, 0, adsp->idle); + state_save_register_device_item(device, 0, adsp->pc); + state_save_register_device_item(device, 0, adsp->ppc); + state_save_register_device_item(device, 0, adsp->loop); + state_save_register_device_item(device, 0, adsp->loop_condition); + state_save_register_device_item(device, 0, adsp->cntr); + state_save_register_device_item(device, 0, adsp->astat); + state_save_register_device_item(device, 0, adsp->sstat); + state_save_register_device_item(device, 0, adsp->mstat); + state_save_register_device_item(device, 0, adsp->astat_clear); + state_save_register_device_item(device, 0, adsp->idle); - state_save_register_item_array("adsp2100", device->tag, 0, adsp->loop_stack); - state_save_register_item_array("adsp2100", device->tag, 0, adsp->cntr_stack); - state_save_register_item_array("adsp2100", device->tag, 0, adsp->pc_stack); - state_save_register_item_2d_array("adsp2100", device->tag, 0, adsp->stat_stack); + state_save_register_device_item_array(device, 0, adsp->loop_stack); + state_save_register_device_item_array(device, 0, adsp->cntr_stack); + state_save_register_device_item_array(device, 0, adsp->pc_stack); + state_save_register_device_item_2d_array(device, 0, adsp->stat_stack); - state_save_register_item("adsp2100", device->tag, 0, adsp->pc_sp); - state_save_register_item("adsp2100", device->tag, 0, adsp->cntr_sp); - state_save_register_item("adsp2100", device->tag, 0, adsp->stat_sp); - state_save_register_item("adsp2100", device->tag, 0, adsp->loop_sp); + state_save_register_device_item(device, 0, adsp->pc_sp); + state_save_register_device_item(device, 0, adsp->cntr_sp); + state_save_register_device_item(device, 0, adsp->stat_sp); + state_save_register_device_item(device, 0, adsp->loop_sp); - state_save_register_item("adsp2100", device->tag, 0, adsp->flagout); - state_save_register_item("adsp2100", device->tag, 0, adsp->flagin); - state_save_register_item("adsp2100", device->tag, 0, adsp->fl0); - state_save_register_item("adsp2100", device->tag, 0, adsp->fl1); - state_save_register_item("adsp2100", device->tag, 0, adsp->fl2); - state_save_register_item("adsp2100", device->tag, 0, adsp->idma_addr); - state_save_register_item("adsp2100", device->tag, 0, adsp->idma_cache); - state_save_register_item("adsp2100", device->tag, 0, adsp->idma_offs); + state_save_register_device_item(device, 0, adsp->flagout); + state_save_register_device_item(device, 0, adsp->flagin); + state_save_register_device_item(device, 0, adsp->fl0); + state_save_register_device_item(device, 0, adsp->fl1); + state_save_register_device_item(device, 0, adsp->fl2); + state_save_register_device_item(device, 0, adsp->idma_addr); + state_save_register_device_item(device, 0, adsp->idma_cache); + state_save_register_device_item(device, 0, adsp->idma_offs); - state_save_register_item("adsp2100", device->tag, 0, adsp->imask); - state_save_register_item("adsp2100", device->tag, 0, adsp->icntl); - state_save_register_item("adsp2100", device->tag, 0, adsp->ifc); - state_save_register_item_array("adsp2100", device->tag, 0, adsp->irq_state); - state_save_register_item_array("adsp2100", device->tag, 0, adsp->irq_latch); + state_save_register_device_item(device, 0, adsp->imask); + state_save_register_device_item(device, 0, adsp->icntl); + state_save_register_device_item(device, 0, adsp->ifc); + state_save_register_device_item_array(device, 0, adsp->irq_state); + state_save_register_device_item_array(device, 0, adsp->irq_latch); return adsp; } diff --git a/src/emu/cpu/alph8201/alph8201.c b/src/emu/cpu/alph8201/alph8201.c index 392c68f2eaa..9146b0f3358 100644 --- a/src/emu/cpu/alph8201/alph8201.c +++ b/src/emu/cpu/alph8201/alph8201.c @@ -669,27 +669,27 @@ static CPU_INIT( ALPHA8201 ) R.device = device; R.program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); - state_save_register_item_array("ALPHA8201", device->tag, 0, R.RAM); - state_save_register_item("ALPHA8201", device->tag, 0, R.PREVPC); - state_save_register_item("ALPHA8201", device->tag, 0, PC); - state_save_register_item("ALPHA8201", device->tag, 0, regPTR); - state_save_register_item("ALPHA8201", device->tag, 0, ZF); - state_save_register_item("ALPHA8201", device->tag, 0, CF); - state_save_register_item("ALPHA8201", device->tag, 0, R.mb); + state_save_register_device_item_array(device, 0, R.RAM); + state_save_register_device_item(device, 0, R.PREVPC); + state_save_register_device_item(device, 0, PC); + state_save_register_device_item(device, 0, regPTR); + state_save_register_device_item(device, 0, ZF); + state_save_register_device_item(device, 0, CF); + state_save_register_device_item(device, 0, R.mb); #if HANDLE_HALT_LINE - state_save_register_item("ALPHA8201", device->tag, 0, R.halt); + state_save_register_device_item(device, 0, R.halt); #endif - state_save_register_item("ALPHA8201", device->tag, 0, IX0); - state_save_register_item("ALPHA8201", device->tag, 0, IX1); - state_save_register_item("ALPHA8201", device->tag, 0, IX2); - state_save_register_item("ALPHA8201", device->tag, 0, LP0); - state_save_register_item("ALPHA8201", device->tag, 0, LP1); - state_save_register_item("ALPHA8201", device->tag, 0, LP2); - state_save_register_item("ALPHA8201", device->tag, 0, R.A); - state_save_register_item("ALPHA8201", device->tag, 0, R.B); - state_save_register_item("ALPHA8201", device->tag, 0, R.retptr); - state_save_register_item("ALPHA8201", device->tag, 0, R.savec); - state_save_register_item("ALPHA8201", device->tag, 0, R.savez); + state_save_register_device_item(device, 0, IX0); + state_save_register_device_item(device, 0, IX1); + state_save_register_device_item(device, 0, IX2); + state_save_register_device_item(device, 0, LP0); + state_save_register_device_item(device, 0, LP1); + state_save_register_device_item(device, 0, LP2); + state_save_register_device_item(device, 0, R.A); + state_save_register_device_item(device, 0, R.B); + state_save_register_device_item(device, 0, R.retptr); + state_save_register_device_item(device, 0, R.savec); + state_save_register_device_item(device, 0, R.savez); } /**************************************************************************** * Reset registers to their initial values diff --git a/src/emu/cpu/arm/arm.c b/src/emu/cpu/arm/arm.c index abd75449932..009c557b504 100644 --- a/src/emu/cpu/arm/arm.c +++ b/src/emu/cpu/arm/arm.c @@ -511,10 +511,10 @@ static CPU_INIT( arm ) arm.device = device; arm.program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); - state_save_register_item_array("arm", device->tag, 0, arm.sArmRegister); - state_save_register_item_array("arm", device->tag, 0, arm.coproRegister); - state_save_register_item("arm", device->tag, 0, arm.pendingIrq); - state_save_register_item("arm", device->tag, 0, arm.pendingFiq); + state_save_register_device_item_array(device, 0, arm.sArmRegister); + state_save_register_device_item_array(device, 0, arm.coproRegister); + state_save_register_device_item(device, 0, arm.pendingIrq); + state_save_register_device_item(device, 0, arm.pendingFiq); } /***************************************************************************/ diff --git a/src/emu/cpu/arm7/arm7core.c b/src/emu/cpu/arm7/arm7core.c index bd4af99b978..9ea4d7f6a67 100644 --- a/src/emu/cpu/arm7/arm7core.c +++ b/src/emu/cpu/arm7/arm7core.c @@ -512,13 +512,13 @@ static void arm7_core_init(const char *cpuname, const device_config *device) { arm_state *cpustate = device->token; - state_save_register_item_array(cpuname, device->tag, 0, cpustate->sArmRegister); - state_save_register_item(cpuname, device->tag, 0, cpustate->pendingIrq); - state_save_register_item(cpuname, device->tag, 0, cpustate->pendingFiq); - state_save_register_item(cpuname, device->tag, 0, cpustate->pendingAbtD); - state_save_register_item(cpuname, device->tag, 0, cpustate->pendingAbtP); - state_save_register_item(cpuname, device->tag, 0, cpustate->pendingUnd); - state_save_register_item(cpuname, device->tag, 0, cpustate->pendingSwi); + state_save_register_device_item_array(device, 0, cpustate->sArmRegister); + state_save_register_device_item(device, 0, cpustate->pendingIrq); + state_save_register_device_item(device, 0, cpustate->pendingFiq); + state_save_register_device_item(device, 0, cpustate->pendingAbtD); + state_save_register_device_item(device, 0, cpustate->pendingAbtP); + state_save_register_device_item(device, 0, cpustate->pendingUnd); + state_save_register_device_item(device, 0, cpustate->pendingSwi); } // CPU RESET diff --git a/src/emu/cpu/ccpu/ccpu.c b/src/emu/cpu/ccpu/ccpu.c index 7ff99480c56..137d3769180 100644 --- a/src/emu/cpu/ccpu/ccpu.c +++ b/src/emu/cpu/ccpu/ccpu.c @@ -137,25 +137,25 @@ static CPU_INIT( ccpu ) cpustate->data = memory_find_address_space(device, ADDRESS_SPACE_DATA); cpustate->io = memory_find_address_space(device, ADDRESS_SPACE_IO); - state_save_register_item("ccpu", device->tag, 0, cpustate->PC); - state_save_register_item("ccpu", device->tag, 0, cpustate->A); - state_save_register_item("ccpu", device->tag, 0, cpustate->B); - state_save_register_item("ccpu", device->tag, 0, cpustate->I); - state_save_register_item("ccpu", device->tag, 0, cpustate->J); - state_save_register_item("ccpu", device->tag, 0, cpustate->P); - state_save_register_item("ccpu", device->tag, 0, cpustate->X); - state_save_register_item("ccpu", device->tag, 0, cpustate->Y); - state_save_register_item("ccpu", device->tag, 0, cpustate->T); - state_save_register_item("ccpu", device->tag, 0, cpustate->a0flag); - state_save_register_item("ccpu", device->tag, 0, cpustate->ncflag); - state_save_register_item("ccpu", device->tag, 0, cpustate->cmpacc); - state_save_register_item("ccpu", device->tag, 0, cpustate->cmpval); - state_save_register_item("ccpu", device->tag, 0, cpustate->miflag); - state_save_register_item("ccpu", device->tag, 0, cpustate->nextmiflag); - state_save_register_item("ccpu", device->tag, 0, cpustate->nextnextmiflag); - state_save_register_item("ccpu", device->tag, 0, cpustate->drflag); - state_save_register_item("ccpu", device->tag, 0, cpustate->waiting); - state_save_register_item("ccpu", device->tag, 0, cpustate->watchdog); + state_save_register_device_item(device, 0, cpustate->PC); + state_save_register_device_item(device, 0, cpustate->A); + state_save_register_device_item(device, 0, cpustate->B); + state_save_register_device_item(device, 0, cpustate->I); + state_save_register_device_item(device, 0, cpustate->J); + state_save_register_device_item(device, 0, cpustate->P); + state_save_register_device_item(device, 0, cpustate->X); + state_save_register_device_item(device, 0, cpustate->Y); + state_save_register_device_item(device, 0, cpustate->T); + state_save_register_device_item(device, 0, cpustate->a0flag); + state_save_register_device_item(device, 0, cpustate->ncflag); + state_save_register_device_item(device, 0, cpustate->cmpacc); + state_save_register_device_item(device, 0, cpustate->cmpval); + state_save_register_device_item(device, 0, cpustate->miflag); + state_save_register_device_item(device, 0, cpustate->nextmiflag); + state_save_register_device_item(device, 0, cpustate->nextnextmiflag); + state_save_register_device_item(device, 0, cpustate->drflag); + state_save_register_device_item(device, 0, cpustate->waiting); + state_save_register_device_item(device, 0, cpustate->watchdog); } diff --git a/src/emu/cpu/cdp1802/cdp1802.c b/src/emu/cpu/cdp1802/cdp1802.c index 4e9cf2b93a2..497998c9c52 100644 --- a/src/emu/cpu/cdp1802/cdp1802.c +++ b/src/emu/cpu/cdp1802/cdp1802.c @@ -906,24 +906,24 @@ static CPU_INIT( cdp1802 ) /* register for state saving */ - state_save_register_item("cdp1802", device->tag, 0, cpustate->p); - state_save_register_item("cdp1802", device->tag, 0, cpustate->x); - state_save_register_item("cdp1802", device->tag, 0, cpustate->d); - state_save_register_item("cdp1802", device->tag, 0, cpustate->b); - state_save_register_item("cdp1802", device->tag, 0, cpustate->t); - state_save_register_item_array("cdp1802", device->tag, 0, cpustate->r); - state_save_register_item("cdp1802", device->tag, 0, cpustate->df); - state_save_register_item("cdp1802", device->tag, 0, cpustate->ie); - state_save_register_item("cdp1802", device->tag, 0, cpustate->q); - state_save_register_item("cdp1802", device->tag, 0, cpustate->n); - state_save_register_item("cdp1802", device->tag, 0, cpustate->i); - state_save_register_item("cdp1802", device->tag, 0, cpustate->state); - state_save_register_item("cdp1802", device->tag, 0, cpustate->prevmode); - state_save_register_item("cdp1802", device->tag, 0, cpustate->mode); - state_save_register_item("cdp1802", device->tag, 0, cpustate->irq); - state_save_register_item("cdp1802", device->tag, 0, cpustate->dmain); - state_save_register_item("cdp1802", device->tag, 0, cpustate->dmaout); - state_save_register_item("cdp1802", device->tag, 0, cpustate->ef); + state_save_register_device_item(device, 0, cpustate->p); + state_save_register_device_item(device, 0, cpustate->x); + state_save_register_device_item(device, 0, cpustate->d); + state_save_register_device_item(device, 0, cpustate->b); + state_save_register_device_item(device, 0, cpustate->t); + state_save_register_device_item_array(device, 0, cpustate->r); + state_save_register_device_item(device, 0, cpustate->df); + state_save_register_device_item(device, 0, cpustate->ie); + state_save_register_device_item(device, 0, cpustate->q); + state_save_register_device_item(device, 0, cpustate->n); + state_save_register_device_item(device, 0, cpustate->i); + state_save_register_device_item(device, 0, cpustate->state); + state_save_register_device_item(device, 0, cpustate->prevmode); + state_save_register_device_item(device, 0, cpustate->mode); + state_save_register_device_item(device, 0, cpustate->irq); + state_save_register_device_item(device, 0, cpustate->dmain); + state_save_register_device_item(device, 0, cpustate->dmaout); + state_save_register_device_item(device, 0, cpustate->ef); } static CPU_GET_CONTEXT( cdp1802 ) { } diff --git a/src/emu/cpu/cop400/cop410.c b/src/emu/cpu/cop400/cop410.c index 75ef163b2ce..f967d4b8117 100644 --- a/src/emu/cpu/cop400/cop410.c +++ b/src/emu/cpu/cop400/cop410.c @@ -218,25 +218,25 @@ static CPU_INIT( cop410 ) /* register for state saving */ - state_save_register_item("cop410", device->tag, 0, cop400->pc); - state_save_register_item("cop410", device->tag, 0, cop400->prevpc); - state_save_register_item("cop410", device->tag, 0, cop400->a); - state_save_register_item("cop410", device->tag, 0, cop400->b); - state_save_register_item("cop410", device->tag, 0, cop400->c); - state_save_register_item("cop410", device->tag, 0, cop400->en); - state_save_register_item("cop410", device->tag, 0, cop400->g); - state_save_register_item("cop410", device->tag, 0, cop400->q); - state_save_register_item("cop410", device->tag, 0, cop400->sa); - state_save_register_item("cop410", device->tag, 0, cop400->sb); - state_save_register_item("cop410", device->tag, 0, cop400->sio); - state_save_register_item("cop410", device->tag, 0, cop400->skl); - state_save_register_item("cop410", device->tag, 0, cop400->skip); - state_save_register_item("cop410", device->tag, 0, cop400->skip_lbi); - state_save_register_item("cop410", device->tag, 0, cop400->g_mask); - state_save_register_item("cop410", device->tag, 0, cop400->d_mask); - state_save_register_item("cop410", device->tag, 0, cop400->si); - state_save_register_item("cop410", device->tag, 0, cop400->microbus_int); - state_save_register_item("cop410", device->tag, 0, cop400->halt); + state_save_register_device_item(device, 0, cop400->pc); + state_save_register_device_item(device, 0, cop400->prevpc); + state_save_register_device_item(device, 0, cop400->a); + state_save_register_device_item(device, 0, cop400->b); + state_save_register_device_item(device, 0, cop400->c); + state_save_register_device_item(device, 0, cop400->en); + state_save_register_device_item(device, 0, cop400->g); + state_save_register_device_item(device, 0, cop400->q); + state_save_register_device_item(device, 0, cop400->sa); + state_save_register_device_item(device, 0, cop400->sb); + state_save_register_device_item(device, 0, cop400->sio); + state_save_register_device_item(device, 0, cop400->skl); + state_save_register_device_item(device, 0, cop400->skip); + state_save_register_device_item(device, 0, cop400->skip_lbi); + state_save_register_device_item(device, 0, cop400->g_mask); + state_save_register_device_item(device, 0, cop400->d_mask); + state_save_register_device_item(device, 0, cop400->si); + state_save_register_device_item(device, 0, cop400->microbus_int); + state_save_register_device_item(device, 0, cop400->halt); } static CPU_INIT( cop411 ) diff --git a/src/emu/cpu/cop400/cop420.c b/src/emu/cpu/cop400/cop420.c index 97f92055cbe..1ad0f3b81b7 100644 --- a/src/emu/cpu/cop400/cop420.c +++ b/src/emu/cpu/cop400/cop420.c @@ -244,31 +244,31 @@ static CPU_INIT( cop420 ) /* register for state saving */ - state_save_register_item("cop420", device->tag, 0, cop400->pc); - state_save_register_item("cop420", device->tag, 0, cop400->prevpc); - state_save_register_item("cop420", device->tag, 0, cop400->a); - state_save_register_item("cop420", device->tag, 0, cop400->b); - state_save_register_item("cop420", device->tag, 0, cop400->c); - state_save_register_item("cop420", device->tag, 0, cop400->en); - state_save_register_item("cop420", device->tag, 0, cop400->g); - state_save_register_item("cop420", device->tag, 0, cop400->q); - state_save_register_item("cop420", device->tag, 0, cop400->sa); - state_save_register_item("cop420", device->tag, 0, cop400->sb); - state_save_register_item("cop420", device->tag, 0, cop400->sc); - state_save_register_item("cop420", device->tag, 0, cop400->sio); - state_save_register_item("cop420", device->tag, 0, cop400->skl); - state_save_register_item("cop420", device->tag, 0, cop400->skip); - state_save_register_item("cop420", device->tag, 0, cop400->skip_lbi); - state_save_register_item("cop420", device->tag, 0, cop400->t); - state_save_register_item("cop420", device->tag, 0, cop400->skt_latch); - state_save_register_item("cop420", device->tag, 0, cop400->g_mask); - state_save_register_item("cop420", device->tag, 0, cop400->d_mask); - state_save_register_item("cop420", device->tag, 0, cop400->in_mask); - state_save_register_item("cop420", device->tag, 0, cop400->si); - state_save_register_item("cop420", device->tag, 0, cop400->last_skip); - state_save_register_item_array("cop420", device->tag, 0, cop400->in); - state_save_register_item("cop420", device->tag, 0, cop400->microbus_int); - state_save_register_item("cop420", device->tag, 0, cop400->halt); + state_save_register_device_item(device, 0, cop400->pc); + state_save_register_device_item(device, 0, cop400->prevpc); + state_save_register_device_item(device, 0, cop400->a); + state_save_register_device_item(device, 0, cop400->b); + state_save_register_device_item(device, 0, cop400->c); + state_save_register_device_item(device, 0, cop400->en); + state_save_register_device_item(device, 0, cop400->g); + state_save_register_device_item(device, 0, cop400->q); + state_save_register_device_item(device, 0, cop400->sa); + state_save_register_device_item(device, 0, cop400->sb); + state_save_register_device_item(device, 0, cop400->sc); + state_save_register_device_item(device, 0, cop400->sio); + state_save_register_device_item(device, 0, cop400->skl); + state_save_register_device_item(device, 0, cop400->skip); + state_save_register_device_item(device, 0, cop400->skip_lbi); + state_save_register_device_item(device, 0, cop400->t); + state_save_register_device_item(device, 0, cop400->skt_latch); + state_save_register_device_item(device, 0, cop400->g_mask); + state_save_register_device_item(device, 0, cop400->d_mask); + state_save_register_device_item(device, 0, cop400->in_mask); + state_save_register_device_item(device, 0, cop400->si); + state_save_register_device_item(device, 0, cop400->last_skip); + state_save_register_device_item_array(device, 0, cop400->in); + state_save_register_device_item(device, 0, cop400->microbus_int); + state_save_register_device_item(device, 0, cop400->halt); } static CPU_INIT( cop421 ) diff --git a/src/emu/cpu/cop400/cop440.c b/src/emu/cpu/cop400/cop440.c index 4d1b59daf78..601cc8a9370 100644 --- a/src/emu/cpu/cop400/cop440.c +++ b/src/emu/cpu/cop400/cop440.c @@ -256,31 +256,31 @@ static CPU_INIT( cop444 ) /* register for state saving */ - state_save_register_item("cop420", device->tag, 0, cop400->pc); - state_save_register_item("cop420", device->tag, 0, cop400->prevpc); - state_save_register_item("cop420", device->tag, 0, cop400->a); - state_save_register_item("cop420", device->tag, 0, cop400->b); - state_save_register_item("cop420", device->tag, 0, cop400->c); - state_save_register_item("cop420", device->tag, 0, cop400->en); - state_save_register_item("cop420", device->tag, 0, cop400->g); - state_save_register_item("cop420", device->tag, 0, cop400->q); - state_save_register_item("cop420", device->tag, 0, cop400->sa); - state_save_register_item("cop420", device->tag, 0, cop400->sb); - state_save_register_item("cop420", device->tag, 0, cop400->sc); - state_save_register_item("cop420", device->tag, 0, cop400->sio); - state_save_register_item("cop420", device->tag, 0, cop400->skl); - state_save_register_item("cop420", device->tag, 0, cop400->skip); - state_save_register_item("cop420", device->tag, 0, cop400->skip_lbi); - state_save_register_item("cop420", device->tag, 0, cop400->t); - state_save_register_item("cop420", device->tag, 0, cop400->skt_latch); - state_save_register_item("cop420", device->tag, 0, cop400->g_mask); - state_save_register_item("cop420", device->tag, 0, cop400->d_mask); - state_save_register_item("cop420", device->tag, 0, cop400->in_mask); - state_save_register_item("cop420", device->tag, 0, cop400->si); - state_save_register_item("cop420", device->tag, 0, cop400->last_skip); - state_save_register_item_array("cop420", device->tag, 0, cop400->in); - state_save_register_item("cop420", device->tag, 0, cop400->microbus_int); - state_save_register_item("cop420", device->tag, 0, cop400->halt); + state_save_register_device_item(device, 0, cop400->pc); + state_save_register_device_item(device, 0, cop400->prevpc); + state_save_register_device_item(device, 0, cop400->a); + state_save_register_device_item(device, 0, cop400->b); + state_save_register_device_item(device, 0, cop400->c); + state_save_register_device_item(device, 0, cop400->en); + state_save_register_device_item(device, 0, cop400->g); + state_save_register_device_item(device, 0, cop400->q); + state_save_register_device_item(device, 0, cop400->sa); + state_save_register_device_item(device, 0, cop400->sb); + state_save_register_device_item(device, 0, cop400->sc); + state_save_register_device_item(device, 0, cop400->sio); + state_save_register_device_item(device, 0, cop400->skl); + state_save_register_device_item(device, 0, cop400->skip); + state_save_register_device_item(device, 0, cop400->skip_lbi); + state_save_register_device_item(device, 0, cop400->t); + state_save_register_device_item(device, 0, cop400->skt_latch); + state_save_register_device_item(device, 0, cop400->g_mask); + state_save_register_device_item(device, 0, cop400->d_mask); + state_save_register_device_item(device, 0, cop400->in_mask); + state_save_register_device_item(device, 0, cop400->si); + state_save_register_device_item(device, 0, cop400->last_skip); + state_save_register_device_item_array(device, 0, cop400->in); + state_save_register_device_item(device, 0, cop400->microbus_int); + state_save_register_device_item(device, 0, cop400->halt); } static CPU_INIT( cop425 ) diff --git a/src/emu/cpu/cubeqcpu/cubeqcpu.c b/src/emu/cpu/cubeqcpu/cubeqcpu.c index 6ce91cb1c15..3e49027c84b 100644 --- a/src/emu/cpu/cubeqcpu/cubeqcpu.c +++ b/src/emu/cpu/cubeqcpu/cubeqcpu.c @@ -324,22 +324,22 @@ static STATE_POSTLOAD( cquestsnd_postload ) static void cquestsnd_state_register(const device_config *device, const char *type) { - state_save_register_item_array(type, device->tag, 0, cquestsnd.ram); - state_save_register_item(type, device->tag, 0, cquestsnd.q); - state_save_register_item(type, device->tag, 0, cquestsnd.f); - state_save_register_item(type, device->tag, 0, cquestsnd.y); - state_save_register_item(type, device->tag, 0, cquestsnd.cflag); - state_save_register_item(type, device->tag, 0, cquestsnd.vflag); + state_save_register_device_item_array(device, 0, cquestsnd.ram); + state_save_register_device_item(device, 0, cquestsnd.q); + state_save_register_device_item(device, 0, cquestsnd.f); + state_save_register_device_item(device, 0, cquestsnd.y); + state_save_register_device_item(device, 0, cquestsnd.cflag); + state_save_register_device_item(device, 0, cquestsnd.vflag); - state_save_register_item(type, device->tag, 0, cquestsnd.pc); - state_save_register_item(type, device->tag, 0, cquestsnd.platch); - state_save_register_item(type, device->tag, 0, cquestsnd.rtnlatch); - state_save_register_item(type, device->tag, 0, cquestsnd.adrcntr); - state_save_register_item(type, device->tag, 0, cquestsnd.adrlatch); - state_save_register_item(type, device->tag, 0, cquestsnd.dinlatch); - state_save_register_item(type, device->tag, 0, cquestsnd.ramwlatch); - state_save_register_item(type, device->tag, 0, cquestsnd.prev_ipram); - state_save_register_item(type, device->tag, 0, cquestsnd.prev_ipwrt); + state_save_register_device_item(device, 0, cquestsnd.pc); + state_save_register_device_item(device, 0, cquestsnd.platch); + state_save_register_device_item(device, 0, cquestsnd.rtnlatch); + state_save_register_device_item(device, 0, cquestsnd.adrcntr); + state_save_register_device_item(device, 0, cquestsnd.adrlatch); + state_save_register_device_item(device, 0, cquestsnd.dinlatch); + state_save_register_device_item(device, 0, cquestsnd.ramwlatch); + state_save_register_device_item(device, 0, cquestsnd.prev_ipram); + state_save_register_device_item(device, 0, cquestsnd.prev_ipwrt); state_save_register_postload(device->machine, cquestsnd_postload, (void *)device); } @@ -386,31 +386,31 @@ static STATE_POSTLOAD( cquestrot_postload ) static void cquestrot_state_register(const device_config *device, const char *type) { - state_save_register_item_array(type, device->tag, 0, cquestrot.ram); - state_save_register_item(type, device->tag, 0, cquestrot.q); - state_save_register_item(type, device->tag, 0, cquestrot.f); - state_save_register_item(type, device->tag, 0, cquestrot.y); - state_save_register_item(type, device->tag, 0, cquestrot.cflag); - state_save_register_item(type, device->tag, 0, cquestrot.vflag); + state_save_register_device_item_array(device, 0, cquestrot.ram); + state_save_register_device_item(device, 0, cquestrot.q); + state_save_register_device_item(device, 0, cquestrot.f); + state_save_register_device_item(device, 0, cquestrot.y); + state_save_register_device_item(device, 0, cquestrot.cflag); + state_save_register_device_item(device, 0, cquestrot.vflag); - state_save_register_item(type, device->tag, 0, cquestrot.pc); - state_save_register_item(type, device->tag, 0, cquestrot.seqcnt); - state_save_register_item(type, device->tag, 0, cquestrot.dsrclatch); - state_save_register_item(type, device->tag, 0, cquestrot.rsrclatch); - state_save_register_item(type, device->tag, 0, cquestrot.dynaddr); - state_save_register_item(type, device->tag, 0, cquestrot.dyndata); - state_save_register_item(type, device->tag, 0, cquestrot.yrlatch); - state_save_register_item(type, device->tag, 0, cquestrot.ydlatch); - state_save_register_item(type, device->tag, 0, cquestrot.dinlatch); - state_save_register_item(type, device->tag, 0, cquestrot.divreg); - state_save_register_item(type, device->tag, 0, cquestrot.linedata); - state_save_register_item(type, device->tag, 0, cquestrot.lineaddr); - state_save_register_item(type, device->tag, 0, cquestrot.prev_dred); - state_save_register_item(type, device->tag, 0, cquestrot.prev_dwrt); - state_save_register_item(type, device->tag, 0, cquestrot.wc); + state_save_register_device_item(device, 0, cquestrot.pc); + state_save_register_device_item(device, 0, cquestrot.seqcnt); + state_save_register_device_item(device, 0, cquestrot.dsrclatch); + state_save_register_device_item(device, 0, cquestrot.rsrclatch); + state_save_register_device_item(device, 0, cquestrot.dynaddr); + state_save_register_device_item(device, 0, cquestrot.dyndata); + state_save_register_device_item(device, 0, cquestrot.yrlatch); + state_save_register_device_item(device, 0, cquestrot.ydlatch); + state_save_register_device_item(device, 0, cquestrot.dinlatch); + state_save_register_device_item(device, 0, cquestrot.divreg); + state_save_register_device_item(device, 0, cquestrot.linedata); + state_save_register_device_item(device, 0, cquestrot.lineaddr); + state_save_register_device_item(device, 0, cquestrot.prev_dred); + state_save_register_device_item(device, 0, cquestrot.prev_dwrt); + state_save_register_device_item(device, 0, cquestrot.wc); - state_save_register_item_pointer(type, device->tag, 0, cquestrot.dram, 16384); - state_save_register_item_pointer(type, device->tag, 0, cquestrot.sram, 2048); + state_save_register_device_item_pointer(device, 0, cquestrot.dram, 16384); + state_save_register_device_item_pointer(device, 0, cquestrot.sram, 2048); state_save_register_postload(device->machine, cquestrot_postload, (void *)device); } @@ -461,35 +461,35 @@ static STATE_POSTLOAD( cquestlin_postload ) static void cquestlin_state_register(const device_config *device, const char *type) { - state_save_register_item_array(type, device->tag, 0, cquestlin.ram); - state_save_register_item(type, device->tag, 0, cquestlin.q); - state_save_register_item(type, device->tag, 0, cquestlin.f); - state_save_register_item(type, device->tag, 0, cquestlin.y); - state_save_register_item(type, device->tag, 0, cquestlin.cflag); - state_save_register_item(type, device->tag, 0, cquestlin.vflag); + state_save_register_device_item_array(device, 0, cquestlin.ram); + state_save_register_device_item(device, 0, cquestlin.q); + state_save_register_device_item(device, 0, cquestlin.f); + state_save_register_device_item(device, 0, cquestlin.y); + state_save_register_device_item(device, 0, cquestlin.cflag); + state_save_register_device_item(device, 0, cquestlin.vflag); - state_save_register_item(type, device->tag, 0, cquestlin.pc[0]); - state_save_register_item(type, device->tag, 0, cquestlin.pc[1]); - state_save_register_item(type, device->tag, 0, cquestlin.seqcnt); - state_save_register_item(type, device->tag, 0, cquestlin.clatch); - state_save_register_item(type, device->tag, 0, cquestlin.zlatch); - state_save_register_item(type, device->tag, 0, cquestlin.xcnt); - state_save_register_item(type, device->tag, 0, cquestlin.ycnt); - state_save_register_item(type, device->tag, 0, cquestlin.sreg); - state_save_register_item(type, device->tag, 0, cquestlin.fadlatch); - state_save_register_item(type, device->tag, 0, cquestlin.badlatch); - state_save_register_item(type, device->tag, 0, cquestlin.sramdlatch); - state_save_register_item(type, device->tag, 0, cquestlin.fglatch); - state_save_register_item(type, device->tag, 0, cquestlin.bglatch); - state_save_register_item(type, device->tag, 0, cquestlin.gt0reg); - state_save_register_item(type, device->tag, 0, cquestlin.fdxreg); - state_save_register_item(type, device->tag, 0, cquestlin.field); - state_save_register_item(type, device->tag, 0, cquestlin.clkcnt); + state_save_register_device_item(device, 0, cquestlin.pc[0]); + state_save_register_device_item(device, 0, cquestlin.pc[1]); + state_save_register_device_item(device, 0, cquestlin.seqcnt); + state_save_register_device_item(device, 0, cquestlin.clatch); + state_save_register_device_item(device, 0, cquestlin.zlatch); + state_save_register_device_item(device, 0, cquestlin.xcnt); + state_save_register_device_item(device, 0, cquestlin.ycnt); + state_save_register_device_item(device, 0, cquestlin.sreg); + state_save_register_device_item(device, 0, cquestlin.fadlatch); + state_save_register_device_item(device, 0, cquestlin.badlatch); + state_save_register_device_item(device, 0, cquestlin.sramdlatch); + state_save_register_device_item(device, 0, cquestlin.fglatch); + state_save_register_device_item(device, 0, cquestlin.bglatch); + state_save_register_device_item(device, 0, cquestlin.gt0reg); + state_save_register_device_item(device, 0, cquestlin.fdxreg); + state_save_register_device_item(device, 0, cquestlin.field); + state_save_register_device_item(device, 0, cquestlin.clkcnt); - state_save_register_item_pointer(type, device->tag, 0, cquestlin.sram, 4096); - state_save_register_item_pointer(type, device->tag, 0, cquestlin.ptr_ram, 1024); - state_save_register_item_pointer(type, device->tag, 0, cquestlin.e_stack, 32768); - state_save_register_item_pointer(type, device->tag, 0, cquestlin.o_stack, 32768); + state_save_register_device_item_pointer(device, 0, cquestlin.sram, 4096); + state_save_register_device_item_pointer(device, 0, cquestlin.ptr_ram, 1024); + state_save_register_device_item_pointer(device, 0, cquestlin.e_stack, 32768); + state_save_register_device_item_pointer(device, 0, cquestlin.o_stack, 32768); state_save_register_postload(device->machine, cquestlin_postload, (void *)device); } diff --git a/src/emu/cpu/dsp56k/dsp56k.c b/src/emu/cpu/dsp56k/dsp56k.c index d51d71a1e27..7a294cd2da3 100644 --- a/src/emu/cpu/dsp56k/dsp56k.c +++ b/src/emu/cpu/dsp56k/dsp56k.c @@ -397,7 +397,7 @@ static CPU_INIT( dsp56k ) core.reset_state = FALSE; /* Save the core's state */ - // state_save_register_item("dsp56k", device->tag, 0, modA_state); + // state_save_register_device_item(device, 0, modA_state); // ... //core.config = device->static_config; diff --git a/src/emu/cpu/e132xs/e132xs.c b/src/emu/cpu/e132xs/e132xs.c index 03c3d678e9b..3e42428e80a 100644 --- a/src/emu/cpu/e132xs/e132xs.c +++ b/src/emu/cpu/e132xs/e132xs.c @@ -1529,15 +1529,15 @@ static void hyperstone_init(const device_config *device, int index, int clock, c { hyperstone_state *cpustate = device->token; - state_save_register_item_array("E132XS", device->tag, 0, cpustate->global_regs); - state_save_register_item_array("E132XS", device->tag, 0, cpustate->local_regs); - state_save_register_item("E132XS", device->tag, 0, cpustate->ppc); - state_save_register_item("E132XS", device->tag, 0, cpustate->trap_entry); - state_save_register_item("E132XS", device->tag, 0, cpustate->delay.delay_pc); - state_save_register_item("E132XS", device->tag, 0, cpustate->instruction_length); - state_save_register_item("E132XS", device->tag, 0, cpustate->intblock); - state_save_register_item("E132XS", device->tag, 0, cpustate->delay.delay_cmd); - state_save_register_item("E132XS", device->tag, 0, cpustate->tr_clocks_per_tick); + state_save_register_device_item_array(device, 0, cpustate->global_regs); + state_save_register_device_item_array(device, 0, cpustate->local_regs); + state_save_register_device_item(device, 0, cpustate->ppc); + state_save_register_device_item(device, 0, cpustate->trap_entry); + state_save_register_device_item(device, 0, cpustate->delay.delay_pc); + state_save_register_device_item(device, 0, cpustate->instruction_length); + state_save_register_device_item(device, 0, cpustate->intblock); + state_save_register_device_item(device, 0, cpustate->delay.delay_cmd); + state_save_register_device_item(device, 0, cpustate->tr_clocks_per_tick); cpustate->irq_callback = irqcallback; cpustate->device = device; diff --git a/src/emu/cpu/g65816/g65816.c b/src/emu/cpu/g65816/g65816.c index 20807b7fbb6..98e5ee74536 100644 --- a/src/emu/cpu/g65816/g65816.c +++ b/src/emu/cpu/g65816/g65816.c @@ -332,30 +332,30 @@ static CPU_INIT( g65816 ) cpustate->device = device; cpustate->program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); - state_save_register_item("G65816", device->tag, 0, cpustate->a); - state_save_register_item("G65816", device->tag, 0, cpustate->b); - state_save_register_item("G65816", device->tag, 0, cpustate->x); - state_save_register_item("G65816", device->tag, 0, cpustate->y); - state_save_register_item("G65816", device->tag, 0, cpustate->s); - state_save_register_item("G65816", device->tag, 0, cpustate->pc); - state_save_register_item("G65816", device->tag, 0, cpustate->ppc); - state_save_register_item("G65816", device->tag, 0, cpustate->pb); - state_save_register_item("G65816", device->tag, 0, cpustate->db); - state_save_register_item("G65816", device->tag, 0, cpustate->d); - state_save_register_item("G65816", device->tag, 0, cpustate->flag_e); - state_save_register_item("G65816", device->tag, 0, cpustate->flag_m); - state_save_register_item("G65816", device->tag, 0, cpustate->flag_x); - state_save_register_item("G65816", device->tag, 0, cpustate->flag_n); - state_save_register_item("G65816", device->tag, 0, cpustate->flag_v); - state_save_register_item("G65816", device->tag, 0, cpustate->flag_d); - state_save_register_item("G65816", device->tag, 0, cpustate->flag_i); - state_save_register_item("G65816", device->tag, 0, cpustate->flag_z); - state_save_register_item("G65816", device->tag, 0, cpustate->flag_c); - state_save_register_item("G65816", device->tag, 0, cpustate->line_irq); - state_save_register_item("G65816", device->tag, 0, cpustate->line_nmi); - state_save_register_item("G65816", device->tag, 0, cpustate->ir); - state_save_register_item("G65816", device->tag, 0, cpustate->irq_delay); - state_save_register_item("G65816", device->tag, 0, cpustate->stopped); + state_save_register_device_item(device, 0, cpustate->a); + state_save_register_device_item(device, 0, cpustate->b); + state_save_register_device_item(device, 0, cpustate->x); + state_save_register_device_item(device, 0, cpustate->y); + state_save_register_device_item(device, 0, cpustate->s); + state_save_register_device_item(device, 0, cpustate->pc); + state_save_register_device_item(device, 0, cpustate->ppc); + state_save_register_device_item(device, 0, cpustate->pb); + state_save_register_device_item(device, 0, cpustate->db); + state_save_register_device_item(device, 0, cpustate->d); + state_save_register_device_item(device, 0, cpustate->flag_e); + state_save_register_device_item(device, 0, cpustate->flag_m); + state_save_register_device_item(device, 0, cpustate->flag_x); + state_save_register_device_item(device, 0, cpustate->flag_n); + state_save_register_device_item(device, 0, cpustate->flag_v); + state_save_register_device_item(device, 0, cpustate->flag_d); + state_save_register_device_item(device, 0, cpustate->flag_i); + state_save_register_device_item(device, 0, cpustate->flag_z); + state_save_register_device_item(device, 0, cpustate->flag_c); + state_save_register_device_item(device, 0, cpustate->line_irq); + state_save_register_device_item(device, 0, cpustate->line_nmi); + state_save_register_device_item(device, 0, cpustate->ir); + state_save_register_device_item(device, 0, cpustate->irq_delay); + state_save_register_device_item(device, 0, cpustate->stopped); state_save_register_postload(device->machine, g65816_restore_state, cpustate); } diff --git a/src/emu/cpu/h6280/h6280.c b/src/emu/cpu/h6280/h6280.c index e187bb5ee41..ea613715d9e 100644 --- a/src/emu/cpu/h6280/h6280.c +++ b/src/emu/cpu/h6280/h6280.c @@ -162,32 +162,32 @@ static void set_irq_line(int irqline, int state); /*****************************************************************************/ static CPU_INIT( h6280 ) { - state_save_register_item("h6280", device->tag, 0, h6280.ppc.w.l); - state_save_register_item("h6280", device->tag, 0, h6280.pc.w.l); - state_save_register_item("h6280", device->tag, 0, h6280.sp.w.l); - state_save_register_item("h6280", device->tag, 0, h6280.zp.w.l); - state_save_register_item("h6280", device->tag, 0, h6280.ea.w.l); - state_save_register_item("h6280", device->tag, 0, h6280.a); - state_save_register_item("h6280", device->tag, 0, h6280.x); - state_save_register_item("h6280", device->tag, 0, h6280.y); - state_save_register_item("h6280", device->tag, 0, h6280.p); - state_save_register_item_array("h6280", device->tag, 0, h6280.mmr); - state_save_register_item("h6280", device->tag, 0, h6280.irq_mask); - state_save_register_item("h6280", device->tag, 0, h6280.timer_status); - state_save_register_item("h6280", device->tag, 0, h6280.timer_ack); - state_save_register_item("h6280", device->tag, 0, h6280.clocks_per_cycle); - state_save_register_item("h6280", device->tag, 0, h6280.timer_value); - state_save_register_item("h6280", device->tag, 0, h6280.timer_load); - state_save_register_item("h6280", device->tag, 0, h6280.nmi_state); - state_save_register_item("h6280", device->tag, 0, h6280.irq_state[0]); - state_save_register_item("h6280", device->tag, 0, h6280.irq_state[1]); - state_save_register_item("h6280", device->tag, 0, h6280.irq_state[2]); - state_save_register_item("h6280", device->tag, 0, h6280.irq_pending); + state_save_register_device_item(device, 0, h6280.ppc.w.l); + state_save_register_device_item(device, 0, h6280.pc.w.l); + state_save_register_device_item(device, 0, h6280.sp.w.l); + state_save_register_device_item(device, 0, h6280.zp.w.l); + state_save_register_device_item(device, 0, h6280.ea.w.l); + state_save_register_device_item(device, 0, h6280.a); + state_save_register_device_item(device, 0, h6280.x); + state_save_register_device_item(device, 0, h6280.y); + state_save_register_device_item(device, 0, h6280.p); + state_save_register_device_item_array(device, 0, h6280.mmr); + state_save_register_device_item(device, 0, h6280.irq_mask); + state_save_register_device_item(device, 0, h6280.timer_status); + state_save_register_device_item(device, 0, h6280.timer_ack); + state_save_register_device_item(device, 0, h6280.clocks_per_cycle); + state_save_register_device_item(device, 0, h6280.timer_value); + state_save_register_device_item(device, 0, h6280.timer_load); + state_save_register_device_item(device, 0, h6280.nmi_state); + state_save_register_device_item(device, 0, h6280.irq_state[0]); + state_save_register_device_item(device, 0, h6280.irq_state[1]); + state_save_register_device_item(device, 0, h6280.irq_state[2]); + state_save_register_device_item(device, 0, h6280.irq_pending); #if LAZY_FLAGS - state_save_register_item("h6280", device->tag, 0, h6280.NZ); + state_save_register_device_item(device, 0, h6280.NZ); #endif - state_save_register_item("h6280", device->tag, 0, h6280.io_buffer); + state_save_register_device_item(device, 0, h6280.io_buffer); h6280.irq_callback = irqcallback; h6280.device = device; diff --git a/src/emu/cpu/h83002/h8_16.c b/src/emu/cpu/h83002/h8_16.c index b11ccd1a904..cf93fef118a 100644 --- a/src/emu/cpu/h83002/h8_16.c +++ b/src/emu/cpu/h83002/h8_16.c @@ -215,18 +215,18 @@ static CPU_INIT(h8) h8->program = cpu_get_address_space(device, ADDRESS_SPACE_PROGRAM); h8->io = cpu_get_address_space(device, ADDRESS_SPACE_IO); - state_save_register_item("H8/3002", device->tag, 0, h8->h8err); - state_save_register_item_array("H8/3002", device->tag, 0, h8->regs); - state_save_register_item("H8/3002", device->tag, 0, h8->pc); - state_save_register_item("H8/3002", device->tag, 0, h8->ppc); - state_save_register_item("H8/3002", device->tag, 0, h8->h8_IRQrequestH); - state_save_register_item("H8/3002", device->tag, 0, h8->h8_IRQrequestL); - state_save_register_item("H8/3002", device->tag, 0, h8->ccr); - state_save_register_item("H8/3002", device->tag, 0, h8->mode_8bit); + state_save_register_device_item(device, 0, h8->h8err); + state_save_register_device_item_array(device, 0, h8->regs); + state_save_register_device_item(device, 0, h8->pc); + state_save_register_device_item(device, 0, h8->ppc); + state_save_register_device_item(device, 0, h8->h8_IRQrequestH); + state_save_register_device_item(device, 0, h8->h8_IRQrequestL); + state_save_register_device_item(device, 0, h8->ccr); + state_save_register_device_item(device, 0, h8->mode_8bit); - state_save_register_item_array("H8/3002", device->tag, 0, h8->per_regs); - state_save_register_item("H8/3002", device->tag, 0, h8->h8TSTR); - state_save_register_item_array("H8/3002", device->tag, 0, h8->h8TCNT); + state_save_register_device_item_array(device, 0, h8->per_regs); + state_save_register_device_item(device, 0, h8->h8TSTR); + state_save_register_device_item_array(device, 0, h8->h8TCNT); state_save_register_postload(device->machine, h8_onstateload, h8); diff --git a/src/emu/cpu/h83002/h8_8.c b/src/emu/cpu/h83002/h8_8.c index 9d439540b8c..71f9562dfc2 100644 --- a/src/emu/cpu/h83002/h8_8.c +++ b/src/emu/cpu/h83002/h8_8.c @@ -225,18 +225,18 @@ static CPU_INIT(h8bit) h8->program = cpu_get_address_space(device, ADDRESS_SPACE_PROGRAM); h8->io = cpu_get_address_space(device, ADDRESS_SPACE_IO); - state_save_register_item("H8/300", device->tag, 0, h8->h8err); - state_save_register_item_array("H8/300", device->tag, 0, h8->regs); - state_save_register_item("H8/300", device->tag, 0, h8->pc); - state_save_register_item("H8/300", device->tag, 0, h8->ppc); - state_save_register_item("H8/300", device->tag, 0, h8->h8_IRQrequestH); - state_save_register_item("H8/300", device->tag, 0, h8->h8_IRQrequestL); - state_save_register_item("H8/300", device->tag, 0, h8->ccr); - state_save_register_item("H8/300", device->tag, 0, h8->mode_8bit); + state_save_register_device_item(device, 0, h8->h8err); + state_save_register_device_item_array(device, 0, h8->regs); + state_save_register_device_item(device, 0, h8->pc); + state_save_register_device_item(device, 0, h8->ppc); + state_save_register_device_item(device, 0, h8->h8_IRQrequestH); + state_save_register_device_item(device, 0, h8->h8_IRQrequestL); + state_save_register_device_item(device, 0, h8->ccr); + state_save_register_device_item(device, 0, h8->mode_8bit); - state_save_register_item_array("H8/300", device->tag, 0, h8->per_regs); - state_save_register_item("H8/300", device->tag, 0, h8->h8TSTR); - state_save_register_item_array("H8/300", device->tag, 0, h8->h8TCNT); + state_save_register_device_item_array(device, 0, h8->per_regs); + state_save_register_device_item(device, 0, h8->h8TSTR); + state_save_register_device_item_array(device, 0, h8->h8TCNT); state_save_register_postload(h8->device->machine, h8_onstateload, h8); } diff --git a/src/emu/cpu/hd6309/hd6309.c b/src/emu/cpu/hd6309/hd6309.c index e7aeb9f6413..f6e916d47da 100644 --- a/src/emu/cpu/hd6309/hd6309.c +++ b/src/emu/cpu/hd6309/hd6309.c @@ -532,20 +532,20 @@ static CPU_INIT( hd6309 ) m68_state->regTable[2] = &(B); m68_state->regTable[3] = &m68_state->dummy_byte; - state_save_register_item("hd6309", device->tag, 0, PC); - state_save_register_item("hd6309", device->tag, 0, U); - state_save_register_item("hd6309", device->tag, 0, S); - state_save_register_item("hd6309", device->tag, 0, X); - state_save_register_item("hd6309", device->tag, 0, Y); - state_save_register_item("hd6309", device->tag, 0, V); - state_save_register_item("hd6309", device->tag, 0, DP); - state_save_register_item("hd6309", device->tag, 0, CC); - state_save_register_item("hd6309", device->tag, 0, MD); + state_save_register_device_item(device, 0, PC); + state_save_register_device_item(device, 0, U); + state_save_register_device_item(device, 0, S); + state_save_register_device_item(device, 0, X); + state_save_register_device_item(device, 0, Y); + state_save_register_device_item(device, 0, V); + state_save_register_device_item(device, 0, DP); + state_save_register_device_item(device, 0, CC); + state_save_register_device_item(device, 0, MD); state_save_register_postload(device->machine, hd6309_postload, (void *) device); - state_save_register_item("hd6309", device->tag, 0, m68_state->int_state); - state_save_register_item("hd6309", device->tag, 0, m68_state->nmi_state); - state_save_register_item("hd6309", device->tag, 0, m68_state->irq_state[0]); - state_save_register_item("hd6309", device->tag, 0, m68_state->irq_state[1]); + state_save_register_device_item(device, 0, m68_state->int_state); + state_save_register_device_item(device, 0, m68_state->nmi_state); + state_save_register_device_item(device, 0, m68_state->irq_state[0]); + state_save_register_device_item(device, 0, m68_state->irq_state[1]); } /****************************************************************************/ diff --git a/src/emu/cpu/i386/i386.c b/src/emu/cpu/i386/i386.c index 6c425e359c2..2316f69a24a 100644 --- a/src/emu/cpu/i386/i386.c +++ b/src/emu/cpu/i386/i386.c @@ -527,59 +527,59 @@ static CPU_INIT( i386 ) I.program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); I.io = memory_find_address_space(device, ADDRESS_SPACE_IO); - state_save_register_item_array(state_type, device->tag, 0, I.reg.d); - state_save_register_item(state_type, device->tag, 0, I.sreg[ES].selector); - state_save_register_item(state_type, device->tag, 0, I.sreg[ES].base); - state_save_register_item(state_type, device->tag, 0, I.sreg[ES].limit); - state_save_register_item(state_type, device->tag, 0, I.sreg[ES].flags); - state_save_register_item(state_type, device->tag, 0, I.sreg[CS].selector); - state_save_register_item(state_type, device->tag, 0, I.sreg[CS].base); - state_save_register_item(state_type, device->tag, 0, I.sreg[CS].limit); - state_save_register_item(state_type, device->tag, 0, I.sreg[CS].flags); - state_save_register_item(state_type, device->tag, 0, I.sreg[SS].selector); - state_save_register_item(state_type, device->tag, 0, I.sreg[SS].base); - state_save_register_item(state_type, device->tag, 0, I.sreg[SS].limit); - state_save_register_item(state_type, device->tag, 0, I.sreg[SS].flags); - state_save_register_item(state_type, device->tag, 0, I.sreg[DS].selector); - state_save_register_item(state_type, device->tag, 0, I.sreg[DS].base); - state_save_register_item(state_type, device->tag, 0, I.sreg[DS].limit); - state_save_register_item(state_type, device->tag, 0, I.sreg[DS].flags); - state_save_register_item(state_type, device->tag, 0, I.sreg[FS].selector); - state_save_register_item(state_type, device->tag, 0, I.sreg[FS].base); - state_save_register_item(state_type, device->tag, 0, I.sreg[FS].limit); - state_save_register_item(state_type, device->tag, 0, I.sreg[FS].flags); - state_save_register_item(state_type, device->tag, 0, I.sreg[GS].selector); - state_save_register_item(state_type, device->tag, 0, I.sreg[GS].base); - state_save_register_item(state_type, device->tag, 0, I.sreg[GS].limit); - state_save_register_item(state_type, device->tag, 0, I.sreg[GS].flags); - state_save_register_item(state_type, device->tag, 0, I.eip); - state_save_register_item(state_type, device->tag, 0, I.prev_eip); - state_save_register_item(state_type, device->tag, 0, I.CF); - state_save_register_item(state_type, device->tag, 0, I.DF); - state_save_register_item(state_type, device->tag, 0, I.SF); - state_save_register_item(state_type, device->tag, 0, I.OF); - state_save_register_item(state_type, device->tag, 0, I.ZF); - state_save_register_item(state_type, device->tag, 0, I.PF); - state_save_register_item(state_type, device->tag, 0, I.AF); - state_save_register_item(state_type, device->tag, 0, I.IF); - state_save_register_item(state_type, device->tag, 0, I.TF); - state_save_register_item_array(state_type, device->tag, 0, I.cr); - state_save_register_item_array(state_type, device->tag, 0, I.dr); - state_save_register_item_array(state_type, device->tag, 0, I.tr); - state_save_register_item(state_type, device->tag, 0, I.idtr.base); - state_save_register_item(state_type, device->tag, 0, I.idtr.limit); - state_save_register_item(state_type, device->tag, 0, I.gdtr.base); - state_save_register_item(state_type, device->tag, 0, I.gdtr.limit); - state_save_register_item(state_type, device->tag, 0, I.task.base); - state_save_register_item(state_type, device->tag, 0, I.task.segment); - state_save_register_item(state_type, device->tag, 0, I.task.limit); - state_save_register_item(state_type, device->tag, 0, I.task.flags); - state_save_register_item(state_type, device->tag, 0, I.ldtr.base); - state_save_register_item(state_type, device->tag, 0, I.ldtr.segment); - state_save_register_item(state_type, device->tag, 0, I.ldtr.limit); - state_save_register_item(state_type, device->tag, 0, I.ldtr.flags); - state_save_register_item(state_type, device->tag, 0, I.irq_state); - state_save_register_item(state_type, device->tag, 0, I.performed_intersegment_jump); + state_save_register_device_item_array(device, 0, I.reg.d); + state_save_register_device_item(device, 0, I.sreg[ES].selector); + state_save_register_device_item(device, 0, I.sreg[ES].base); + state_save_register_device_item(device, 0, I.sreg[ES].limit); + state_save_register_device_item(device, 0, I.sreg[ES].flags); + state_save_register_device_item(device, 0, I.sreg[CS].selector); + state_save_register_device_item(device, 0, I.sreg[CS].base); + state_save_register_device_item(device, 0, I.sreg[CS].limit); + state_save_register_device_item(device, 0, I.sreg[CS].flags); + state_save_register_device_item(device, 0, I.sreg[SS].selector); + state_save_register_device_item(device, 0, I.sreg[SS].base); + state_save_register_device_item(device, 0, I.sreg[SS].limit); + state_save_register_device_item(device, 0, I.sreg[SS].flags); + state_save_register_device_item(device, 0, I.sreg[DS].selector); + state_save_register_device_item(device, 0, I.sreg[DS].base); + state_save_register_device_item(device, 0, I.sreg[DS].limit); + state_save_register_device_item(device, 0, I.sreg[DS].flags); + state_save_register_device_item(device, 0, I.sreg[FS].selector); + state_save_register_device_item(device, 0, I.sreg[FS].base); + state_save_register_device_item(device, 0, I.sreg[FS].limit); + state_save_register_device_item(device, 0, I.sreg[FS].flags); + state_save_register_device_item(device, 0, I.sreg[GS].selector); + state_save_register_device_item(device, 0, I.sreg[GS].base); + state_save_register_device_item(device, 0, I.sreg[GS].limit); + state_save_register_device_item(device, 0, I.sreg[GS].flags); + state_save_register_device_item(device, 0, I.eip); + state_save_register_device_item(device, 0, I.prev_eip); + state_save_register_device_item(device, 0, I.CF); + state_save_register_device_item(device, 0, I.DF); + state_save_register_device_item(device, 0, I.SF); + state_save_register_device_item(device, 0, I.OF); + state_save_register_device_item(device, 0, I.ZF); + state_save_register_device_item(device, 0, I.PF); + state_save_register_device_item(device, 0, I.AF); + state_save_register_device_item(device, 0, I.IF); + state_save_register_device_item(device, 0, I.TF); + state_save_register_device_item_array(device, 0, I.cr); + state_save_register_device_item_array(device, 0, I.dr); + state_save_register_device_item_array(device, 0, I.tr); + state_save_register_device_item(device, 0, I.idtr.base); + state_save_register_device_item(device, 0, I.idtr.limit); + state_save_register_device_item(device, 0, I.gdtr.base); + state_save_register_device_item(device, 0, I.gdtr.limit); + state_save_register_device_item(device, 0, I.task.base); + state_save_register_device_item(device, 0, I.task.segment); + state_save_register_device_item(device, 0, I.task.limit); + state_save_register_device_item(device, 0, I.task.flags); + state_save_register_device_item(device, 0, I.ldtr.base); + state_save_register_device_item(device, 0, I.ldtr.segment); + state_save_register_device_item(device, 0, I.ldtr.limit); + state_save_register_device_item(device, 0, I.ldtr.flags); + state_save_register_device_item(device, 0, I.irq_state); + state_save_register_device_item(device, 0, I.performed_intersegment_jump); state_save_register_postload(device->machine, i386_postload, NULL); } diff --git a/src/emu/cpu/i8085/i8085.c b/src/emu/cpu/i8085/i8085.c index f931aff2edf..42595c3724b 100644 --- a/src/emu/cpu/i8085/i8085.c +++ b/src/emu/cpu/i8085/i8085.c @@ -1365,21 +1365,21 @@ static CPU_INIT( i8085 ) I.program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); I.io = memory_find_address_space(device, ADDRESS_SPACE_IO); - state_save_register_item("i8085", device->tag, 0, I.AF.w.l); - state_save_register_item("i8085", device->tag, 0, I.BC.w.l); - state_save_register_item("i8085", device->tag, 0, I.DE.w.l); - state_save_register_item("i8085", device->tag, 0, I.HL.w.l); - state_save_register_item("i8085", device->tag, 0, I.SP.w.l); - state_save_register_item("i8085", device->tag, 0, I.PC.w.l); - state_save_register_item("i8085", device->tag, 0, I.HALT); - state_save_register_item("i8085", device->tag, 0, I.IM); - state_save_register_item("i8085", device->tag, 0, I.IREQ); - state_save_register_item("i8085", device->tag, 0, I.ISRV); - state_save_register_item("i8085", device->tag, 0, I.INTR); - state_save_register_item("i8085", device->tag, 0, I.IRQ2); - state_save_register_item("i8085", device->tag, 0, I.IRQ1); - state_save_register_item("i8085", device->tag, 0, I.STATUS); - state_save_register_item_array("i8085", device->tag, 0, I.irq_state); + state_save_register_device_item(device, 0, I.AF.w.l); + state_save_register_device_item(device, 0, I.BC.w.l); + state_save_register_device_item(device, 0, I.DE.w.l); + state_save_register_device_item(device, 0, I.HL.w.l); + state_save_register_device_item(device, 0, I.SP.w.l); + state_save_register_device_item(device, 0, I.PC.w.l); + state_save_register_device_item(device, 0, I.HALT); + state_save_register_device_item(device, 0, I.IM); + state_save_register_device_item(device, 0, I.IREQ); + state_save_register_device_item(device, 0, I.ISRV); + state_save_register_device_item(device, 0, I.INTR); + state_save_register_device_item(device, 0, I.IRQ2); + state_save_register_device_item(device, 0, I.IRQ1); + state_save_register_device_item(device, 0, I.STATUS); + state_save_register_device_item_array(device, 0, I.irq_state); } /**************************************************************************** @@ -1602,21 +1602,21 @@ static CPU_INIT( i8080 ) I.irq_callback = irqcallback; I.device = device; - state_save_register_item("i8080", device->tag, 0, I.AF.w.l); - state_save_register_item("i8080", device->tag, 0, I.BC.w.l); - state_save_register_item("i8080", device->tag, 0, I.DE.w.l); - state_save_register_item("i8080", device->tag, 0, I.HL.w.l); - state_save_register_item("i8080", device->tag, 0, I.SP.w.l); - state_save_register_item("i8080", device->tag, 0, I.PC.w.l); - state_save_register_item("i8080", device->tag, 0, I.HALT); - state_save_register_item("i8085", device->tag, 0, I.IM); - state_save_register_item("i8080", device->tag, 0, I.IREQ); - state_save_register_item("i8080", device->tag, 0, I.ISRV); - state_save_register_item("i8080", device->tag, 0, I.INTR); - state_save_register_item("i8080", device->tag, 0, I.IRQ2); - state_save_register_item("i8080", device->tag, 0, I.IRQ1); - state_save_register_item("i8080", device->tag, 0, I.STATUS); - state_save_register_item_array("i8080", device->tag, 0, I.irq_state); + state_save_register_device_item(device, 0, I.AF.w.l); + state_save_register_device_item(device, 0, I.BC.w.l); + state_save_register_device_item(device, 0, I.DE.w.l); + state_save_register_device_item(device, 0, I.HL.w.l); + state_save_register_device_item(device, 0, I.SP.w.l); + state_save_register_device_item(device, 0, I.PC.w.l); + state_save_register_device_item(device, 0, I.HALT); + state_save_register_device_item(device, 0, I.IM); + state_save_register_device_item(device, 0, I.IREQ); + state_save_register_device_item(device, 0, I.ISRV); + state_save_register_device_item(device, 0, I.INTR); + state_save_register_device_item(device, 0, I.IRQ2); + state_save_register_device_item(device, 0, I.IRQ1); + state_save_register_device_item(device, 0, I.STATUS); + state_save_register_device_item_array(device, 0, I.irq_state); } static void i8080_set_irq_line(int irqline, int state) diff --git a/src/emu/cpu/i86/i286.c b/src/emu/cpu/i86/i286.c index 75723fbb680..1e1742bbef2 100644 --- a/src/emu/cpu/i86/i286.c +++ b/src/emu/cpu/i86/i286.c @@ -253,40 +253,40 @@ static CPU_DISASSEMBLE( i80286 ) static CPU_INIT( i80286 ) { static const char type[] = "80286"; - state_save_register_item_array(type, device->tag, 0, I.regs.w); - state_save_register_item(type, device->tag, 0, I.amask); - state_save_register_item(type, device->tag, 0, I.pc); - state_save_register_item(type, device->tag, 0, I.prevpc); - state_save_register_item(type, device->tag, 0, I.msw); - state_save_register_item_array(type, device->tag, 0, I.base); - state_save_register_item_array(type, device->tag, 0, I.sregs); - state_save_register_item_array(type, device->tag, 0, I.limit); - state_save_register_item_array(type, device->tag, 0, I.rights); - state_save_register_item(type, device->tag, 0, I.gdtr.base); - state_save_register_item(type, device->tag, 0, I.gdtr.limit); - state_save_register_item(type, device->tag, 0, I.idtr.base); - state_save_register_item(type, device->tag, 0, I.idtr.limit); - state_save_register_item(type, device->tag, 0, I.ldtr.sel); - state_save_register_item(type, device->tag, 0, I.ldtr.base); - state_save_register_item(type, device->tag, 0, I.ldtr.limit); - state_save_register_item(type, device->tag, 0, I.ldtr.rights); - state_save_register_item(type, device->tag, 0, I.tr.sel); - state_save_register_item(type, device->tag, 0, I.tr.base); - state_save_register_item(type, device->tag, 0, I.tr.limit); - state_save_register_item(type, device->tag, 0, I.tr.rights); - state_save_register_item(type, device->tag, 0, I.AuxVal); - state_save_register_item(type, device->tag, 0, I.OverVal); - state_save_register_item(type, device->tag, 0, I.SignVal); - state_save_register_item(type, device->tag, 0, I.ZeroVal); - state_save_register_item(type, device->tag, 0, I.CarryVal); - state_save_register_item(type, device->tag, 0, I.DirVal); - state_save_register_item(type, device->tag, 0, I.ParityVal); - state_save_register_item(type, device->tag, 0, I.TF); - state_save_register_item(type, device->tag, 0, I.IF); - state_save_register_item(type, device->tag, 0, I.int_vector); - state_save_register_item(type, device->tag, 0, I.nmi_state); - state_save_register_item(type, device->tag, 0, I.irq_state); - state_save_register_item(type, device->tag, 0, I.extra_cycles); + state_save_register_device_item_array(device, 0, I.regs.w); + state_save_register_device_item(device, 0, I.amask); + state_save_register_device_item(device, 0, I.pc); + state_save_register_device_item(device, 0, I.prevpc); + state_save_register_device_item(device, 0, I.msw); + state_save_register_device_item_array(device, 0, I.base); + state_save_register_device_item_array(device, 0, I.sregs); + state_save_register_device_item_array(device, 0, I.limit); + state_save_register_device_item_array(device, 0, I.rights); + state_save_register_device_item(device, 0, I.gdtr.base); + state_save_register_device_item(device, 0, I.gdtr.limit); + state_save_register_device_item(device, 0, I.idtr.base); + state_save_register_device_item(device, 0, I.idtr.limit); + state_save_register_device_item(device, 0, I.ldtr.sel); + state_save_register_device_item(device, 0, I.ldtr.base); + state_save_register_device_item(device, 0, I.ldtr.limit); + state_save_register_device_item(device, 0, I.ldtr.rights); + state_save_register_device_item(device, 0, I.tr.sel); + state_save_register_device_item(device, 0, I.tr.base); + state_save_register_device_item(device, 0, I.tr.limit); + state_save_register_device_item(device, 0, I.tr.rights); + state_save_register_device_item(device, 0, I.AuxVal); + state_save_register_device_item(device, 0, I.OverVal); + state_save_register_device_item(device, 0, I.SignVal); + state_save_register_device_item(device, 0, I.ZeroVal); + state_save_register_device_item(device, 0, I.CarryVal); + state_save_register_device_item(device, 0, I.DirVal); + state_save_register_device_item(device, 0, I.ParityVal); + state_save_register_device_item(device, 0, I.TF); + state_save_register_device_item(device, 0, I.IF); + state_save_register_device_item(device, 0, I.int_vector); + state_save_register_device_item(device, 0, I.nmi_state); + state_save_register_device_item(device, 0, I.irq_state); + state_save_register_device_item(device, 0, I.extra_cycles); I.irq_callback = irqcallback; I.device = device; diff --git a/src/emu/cpu/i86/i86.c b/src/emu/cpu/i86/i86.c index 9562bd14360..8b58fd02ea1 100644 --- a/src/emu/cpu/i86/i86.c +++ b/src/emu/cpu/i86/i86.c @@ -95,27 +95,27 @@ static struct i80x86_timing timing; static void i8086_state_register(const device_config *device) { static const char type[] = "I8086"; - state_save_register_item_array(type, device->tag, 0, I.regs.w); - state_save_register_item(type, device->tag, 0, I.pc); - state_save_register_item(type, device->tag, 0, I.prevpc); - state_save_register_item_array(type, device->tag, 0, I.base); - state_save_register_item_array(type, device->tag, 0, I.sregs); - state_save_register_item(type, device->tag, 0, I.flags); - state_save_register_item(type, device->tag, 0, I.AuxVal); - state_save_register_item(type, device->tag, 0, I.OverVal); - state_save_register_item(type, device->tag, 0, I.SignVal); - state_save_register_item(type, device->tag, 0, I.ZeroVal); - state_save_register_item(type, device->tag, 0, I.CarryVal); - state_save_register_item(type, device->tag, 0, I.DirVal); - state_save_register_item(type, device->tag, 0, I.ParityVal); - state_save_register_item(type, device->tag, 0, I.TF); - state_save_register_item(type, device->tag, 0, I.IF); - state_save_register_item(type, device->tag, 0, I.MF); - state_save_register_item(type, device->tag, 0, I.int_vector); - state_save_register_item(type, device->tag, 0, I.nmi_state); - state_save_register_item(type, device->tag, 0, I.irq_state); - state_save_register_item(type, device->tag, 0, I.extra_cycles); - state_save_register_item(type, device->tag, 0, I.test_state); /* PJB 03/05 */ + state_save_register_device_item_array(device, 0, I.regs.w); + state_save_register_device_item(device, 0, I.pc); + state_save_register_device_item(device, 0, I.prevpc); + state_save_register_device_item_array(device, 0, I.base); + state_save_register_device_item_array(device, 0, I.sregs); + state_save_register_device_item(device, 0, I.flags); + state_save_register_device_item(device, 0, I.AuxVal); + state_save_register_device_item(device, 0, I.OverVal); + state_save_register_device_item(device, 0, I.SignVal); + state_save_register_device_item(device, 0, I.ZeroVal); + state_save_register_device_item(device, 0, I.CarryVal); + state_save_register_device_item(device, 0, I.DirVal); + state_save_register_device_item(device, 0, I.ParityVal); + state_save_register_device_item(device, 0, I.TF); + state_save_register_device_item(device, 0, I.IF); + state_save_register_device_item(device, 0, I.MF); + state_save_register_device_item(device, 0, I.int_vector); + state_save_register_device_item(device, 0, I.nmi_state); + state_save_register_device_item(device, 0, I.irq_state); + state_save_register_device_item(device, 0, I.extra_cycles); + state_save_register_device_item(device, 0, I.test_state); /* PJB 03/05 */ } static CPU_INIT( i8086 ) diff --git a/src/emu/cpu/i8x41/i8x41.c b/src/emu/cpu/i8x41/i8x41.c index c76fae2c471..eec1b47407d 100644 --- a/src/emu/cpu/i8x41/i8x41.c +++ b/src/emu/cpu/i8x41/i8x41.c @@ -848,21 +848,21 @@ static CPU_INIT( i8x41 ) upi41_state->subtype = 8041; upi41_state->ram_mask = I8X41_intRAM_MASK; - state_save_register_item("i8x41", device->tag, 0, upi41_state->ppc); - state_save_register_item("i8x41", device->tag, 0, upi41_state->pc); - state_save_register_item("i8x41", device->tag, 0, upi41_state->timer); - state_save_register_item("i8x41", device->tag, 0, upi41_state->prescaler); - state_save_register_item("i8x41", device->tag, 0, upi41_state->subtype); - state_save_register_item("i8x41", device->tag, 0, upi41_state->a); - state_save_register_item("i8x41", device->tag, 0, upi41_state->psw); - state_save_register_item("i8x41", device->tag, 0, upi41_state->state); - state_save_register_item("i8x41", device->tag, 0, upi41_state->enable); - state_save_register_item("i8x41", device->tag, 0, upi41_state->control); - state_save_register_item("i8x41", device->tag, 0, upi41_state->dbbi); - state_save_register_item("i8x41", device->tag, 0, upi41_state->dbbo); - state_save_register_item("i8x41", device->tag, 0, upi41_state->p1); - state_save_register_item("i8x41", device->tag, 0, upi41_state->p2); - state_save_register_item("i8x41", device->tag, 0, upi41_state->p2_hs); + state_save_register_device_item(device, 0, upi41_state->ppc); + state_save_register_device_item(device, 0, upi41_state->pc); + state_save_register_device_item(device, 0, upi41_state->timer); + state_save_register_device_item(device, 0, upi41_state->prescaler); + state_save_register_device_item(device, 0, upi41_state->subtype); + state_save_register_device_item(device, 0, upi41_state->a); + state_save_register_device_item(device, 0, upi41_state->psw); + state_save_register_device_item(device, 0, upi41_state->state); + state_save_register_device_item(device, 0, upi41_state->enable); + state_save_register_device_item(device, 0, upi41_state->control); + state_save_register_device_item(device, 0, upi41_state->dbbi); + state_save_register_device_item(device, 0, upi41_state->dbbo); + state_save_register_device_item(device, 0, upi41_state->p1); + state_save_register_device_item(device, 0, upi41_state->p2); + state_save_register_device_item(device, 0, upi41_state->p2_hs); } static CPU_INIT( i8042 ) diff --git a/src/emu/cpu/i960/i960.c b/src/emu/cpu/i960/i960.c index 6ce7a91fa61..d6c44171f92 100644 --- a/src/emu/cpu/i960/i960.c +++ b/src/emu/cpu/i960/i960.c @@ -2060,16 +2060,16 @@ static CPU_INIT( i960 ) i960->device = device; i960->program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); - state_save_register_item("i960", device->tag, 0, i960->PIP); - state_save_register_item("i960", device->tag, 0, i960->SAT); - state_save_register_item("i960", device->tag, 0, i960->PRCB); - state_save_register_item("i960", device->tag, 0, i960->PC); - state_save_register_item("i960", device->tag, 0, i960->AC); - state_save_register_item("i960", device->tag, 0, i960->ICR); - state_save_register_item_array("i960", device->tag, 0, i960->r); - state_save_register_item_array("i960", device->tag, 0, i960->fp); - state_save_register_item_2d_array("i960", device->tag, 0, i960->rcache); - state_save_register_item_array("i960", device->tag, 0, i960->rcache_frame_addr); + state_save_register_device_item(device, 0, i960->PIP); + state_save_register_device_item(device, 0, i960->SAT); + state_save_register_device_item(device, 0, i960->PRCB); + state_save_register_device_item(device, 0, i960->PC); + state_save_register_device_item(device, 0, i960->AC); + state_save_register_device_item(device, 0, i960->ICR); + state_save_register_device_item_array(device, 0, i960->r); + state_save_register_device_item_array(device, 0, i960->fp); + state_save_register_device_item_2d_array(device, 0, i960->rcache); + state_save_register_device_item_array(device, 0, i960->rcache_frame_addr); } static CPU_DISASSEMBLE( i960 ) diff --git a/src/emu/cpu/jaguar/jaguar.c b/src/emu/cpu/jaguar/jaguar.c index 844a9a8f180..a77397dfd76 100644 --- a/src/emu/cpu/jaguar/jaguar.c +++ b/src/emu/cpu/jaguar/jaguar.c @@ -422,10 +422,10 @@ static void init_common(int isdsp, const device_config *device, cpu_irq_callback if (configdata != NULL) jaguar->cpu_interrupt = configdata->cpu_int_callback; - state_save_register_item_array("jaguar", device->tag, 0, jaguar->r); - state_save_register_item_array("jaguar", device->tag, 0, jaguar->a); - state_save_register_item_array("jaguar", device->tag, 0, jaguar->ctrl); - state_save_register_item("jaguar", device->tag, 0, jaguar->ppc); + state_save_register_device_item_array(device, 0, jaguar->r); + state_save_register_device_item_array(device, 0, jaguar->a); + state_save_register_device_item_array(device, 0, jaguar->ctrl); + state_save_register_device_item(device, 0, jaguar->ppc); state_save_register_postload(device->machine, jaguar_postload, (void *)device); } diff --git a/src/emu/cpu/konami/konami.c b/src/emu/cpu/konami/konami.c index faa32899b6d..20bc7c5d4dc 100644 --- a/src/emu/cpu/konami/konami.c +++ b/src/emu/cpu/konami/konami.c @@ -390,18 +390,18 @@ static CPU_INIT( konami ) konami.device = device; konami.program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); - state_save_register_item("KONAMI", device->tag, 0, PC); - state_save_register_item("KONAMI", device->tag, 0, U); - state_save_register_item("KONAMI", device->tag, 0, S); - state_save_register_item("KONAMI", device->tag, 0, X); - state_save_register_item("KONAMI", device->tag, 0, Y); - state_save_register_item("KONAMI", device->tag, 0, D); - state_save_register_item("KONAMI", device->tag, 0, DP); - state_save_register_item("KONAMI", device->tag, 0, CC); - state_save_register_item("KONAMI", device->tag, 0, konami.int_state); - state_save_register_item("KONAMI", device->tag, 0, konami.nmi_state); - state_save_register_item("KONAMI", device->tag, 0, konami.irq_state[0]); - state_save_register_item("KONAMI", device->tag, 0, konami.irq_state[1]); + state_save_register_device_item(device, 0, PC); + state_save_register_device_item(device, 0, U); + state_save_register_device_item(device, 0, S); + state_save_register_device_item(device, 0, X); + state_save_register_device_item(device, 0, Y); + state_save_register_device_item(device, 0, D); + state_save_register_device_item(device, 0, DP); + state_save_register_device_item(device, 0, CC); + state_save_register_device_item(device, 0, konami.int_state); + state_save_register_device_item(device, 0, konami.nmi_state); + state_save_register_device_item(device, 0, konami.irq_state[0]); + state_save_register_device_item(device, 0, konami.irq_state[1]); } static CPU_RESET( konami ) diff --git a/src/emu/cpu/m37710/m37710.c b/src/emu/cpu/m37710/m37710.c index f0dba2cdb3d..704e815e082 100644 --- a/src/emu/cpu/m37710/m37710.c +++ b/src/emu/cpu/m37710/m37710.c @@ -961,54 +961,54 @@ static CPU_INIT( m37710 ) for (i = 0; i < 8; i++) cpustate->timers[i] = timer_alloc(device->machine, m37710_timer_cb, cpustate); - state_save_register_item("M377xx", device->tag, 0, cpustate->a); - state_save_register_item("M377xx", device->tag, 0, cpustate->b); - state_save_register_item("M377xx", device->tag, 0, cpustate->ba); - state_save_register_item("M377xx", device->tag, 0, cpustate->bb); - state_save_register_item("M377xx", device->tag, 0, cpustate->x); - state_save_register_item("M377xx", device->tag, 0, cpustate->y); - state_save_register_item("M377xx", device->tag, 0, cpustate->s); - state_save_register_item("M377xx", device->tag, 0, cpustate->pc); - state_save_register_item("M377xx", device->tag, 0, cpustate->ppc); - state_save_register_item("M377xx", device->tag, 0, cpustate->pb); - state_save_register_item("M377xx", device->tag, 0, cpustate->db); - state_save_register_item("M377xx", device->tag, 0, cpustate->d); - state_save_register_item("M377xx", device->tag, 0, cpustate->flag_e); - state_save_register_item("M377xx", device->tag, 0, cpustate->flag_m); - state_save_register_item("M377xx", device->tag, 0, cpustate->flag_x); - state_save_register_item("M377xx", device->tag, 0, cpustate->flag_n); - state_save_register_item("M377xx", device->tag, 0, cpustate->flag_v); - state_save_register_item("M377xx", device->tag, 0, cpustate->flag_d); - state_save_register_item("M377xx", device->tag, 0, cpustate->flag_i); - state_save_register_item("M377xx", device->tag, 0, cpustate->flag_z); - state_save_register_item("M377xx", device->tag, 0, cpustate->flag_c); - state_save_register_item("M377xx", device->tag, 0, cpustate->line_irq); - state_save_register_item("M377xx", device->tag, 0, cpustate->ipl); - state_save_register_item("M377xx", device->tag, 0, cpustate->ir); - state_save_register_item("M377xx", device->tag, 0, cpustate->im); - state_save_register_item("M377xx", device->tag, 0, cpustate->im2); - state_save_register_item("M377xx", device->tag, 0, cpustate->im3); - state_save_register_item("M377xx", device->tag, 0, cpustate->im4); - state_save_register_item("M377xx", device->tag, 0, cpustate->irq_delay); - state_save_register_item("M377xx", device->tag, 0, cpustate->irq_level); - state_save_register_item("M377xx", device->tag, 0, cpustate->stopped); - state_save_register_item_array("M377xx", device->tag, 0, cpustate->m37710_regs); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[0].seconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[0].attoseconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[1].seconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[1].attoseconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[2].seconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[2].attoseconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[3].seconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[3].attoseconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[4].seconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[4].attoseconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[5].seconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[5].attoseconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[6].seconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[6].attoseconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[7].seconds); - state_save_register_item("M377xx", device->tag, 0, cpustate->reload[7].attoseconds); + state_save_register_device_item(device, 0, cpustate->a); + state_save_register_device_item(device, 0, cpustate->b); + state_save_register_device_item(device, 0, cpustate->ba); + state_save_register_device_item(device, 0, cpustate->bb); + state_save_register_device_item(device, 0, cpustate->x); + state_save_register_device_item(device, 0, cpustate->y); + state_save_register_device_item(device, 0, cpustate->s); + state_save_register_device_item(device, 0, cpustate->pc); + state_save_register_device_item(device, 0, cpustate->ppc); + state_save_register_device_item(device, 0, cpustate->pb); + state_save_register_device_item(device, 0, cpustate->db); + state_save_register_device_item(device, 0, cpustate->d); + state_save_register_device_item(device, 0, cpustate->flag_e); + state_save_register_device_item(device, 0, cpustate->flag_m); + state_save_register_device_item(device, 0, cpustate->flag_x); + state_save_register_device_item(device, 0, cpustate->flag_n); + state_save_register_device_item(device, 0, cpustate->flag_v); + state_save_register_device_item(device, 0, cpustate->flag_d); + state_save_register_device_item(device, 0, cpustate->flag_i); + state_save_register_device_item(device, 0, cpustate->flag_z); + state_save_register_device_item(device, 0, cpustate->flag_c); + state_save_register_device_item(device, 0, cpustate->line_irq); + state_save_register_device_item(device, 0, cpustate->ipl); + state_save_register_device_item(device, 0, cpustate->ir); + state_save_register_device_item(device, 0, cpustate->im); + state_save_register_device_item(device, 0, cpustate->im2); + state_save_register_device_item(device, 0, cpustate->im3); + state_save_register_device_item(device, 0, cpustate->im4); + state_save_register_device_item(device, 0, cpustate->irq_delay); + state_save_register_device_item(device, 0, cpustate->irq_level); + state_save_register_device_item(device, 0, cpustate->stopped); + state_save_register_device_item_array(device, 0, cpustate->m37710_regs); + state_save_register_device_item(device, 0, cpustate->reload[0].seconds); + state_save_register_device_item(device, 0, cpustate->reload[0].attoseconds); + state_save_register_device_item(device, 0, cpustate->reload[1].seconds); + state_save_register_device_item(device, 0, cpustate->reload[1].attoseconds); + state_save_register_device_item(device, 0, cpustate->reload[2].seconds); + state_save_register_device_item(device, 0, cpustate->reload[2].attoseconds); + state_save_register_device_item(device, 0, cpustate->reload[3].seconds); + state_save_register_device_item(device, 0, cpustate->reload[3].attoseconds); + state_save_register_device_item(device, 0, cpustate->reload[4].seconds); + state_save_register_device_item(device, 0, cpustate->reload[4].attoseconds); + state_save_register_device_item(device, 0, cpustate->reload[5].seconds); + state_save_register_device_item(device, 0, cpustate->reload[5].attoseconds); + state_save_register_device_item(device, 0, cpustate->reload[6].seconds); + state_save_register_device_item(device, 0, cpustate->reload[6].attoseconds); + state_save_register_device_item(device, 0, cpustate->reload[7].seconds); + state_save_register_device_item(device, 0, cpustate->reload[7].attoseconds); state_save_register_postload(device->machine, m37710_restore_state, cpustate); } diff --git a/src/emu/cpu/m6502/m6502.c b/src/emu/cpu/m6502/m6502.c index c3e53531a90..aabf99bf587 100644 --- a/src/emu/cpu/m6502/m6502.c +++ b/src/emu/cpu/m6502/m6502.c @@ -147,23 +147,23 @@ static void m6502_common_init(const device_config *device, int index, int clock, cpustate->rdmem_id = default_rdmem_id; cpustate->wrmem_id = default_wdmem_id; - state_save_register_item(type, device->tag, 0, cpustate->pc.w.l); - state_save_register_item(type, device->tag, 0, cpustate->sp.w.l); - state_save_register_item(type, device->tag, 0, cpustate->p); - state_save_register_item(type, device->tag, 0, cpustate->a); - state_save_register_item(type, device->tag, 0, cpustate->x); - state_save_register_item(type, device->tag, 0, cpustate->y); - state_save_register_item(type, device->tag, 0, cpustate->pending_irq); - state_save_register_item(type, device->tag, 0, cpustate->after_cli); - state_save_register_item(type, device->tag, 0, cpustate->nmi_state); - state_save_register_item(type, device->tag, 0, cpustate->irq_state); - state_save_register_item(type, device->tag, 0, cpustate->so_state); + state_save_register_device_item(device, 0, cpustate->pc.w.l); + state_save_register_device_item(device, 0, cpustate->sp.w.l); + state_save_register_device_item(device, 0, cpustate->p); + state_save_register_device_item(device, 0, cpustate->a); + state_save_register_device_item(device, 0, cpustate->x); + state_save_register_device_item(device, 0, cpustate->y); + state_save_register_device_item(device, 0, cpustate->pending_irq); + state_save_register_device_item(device, 0, cpustate->after_cli); + state_save_register_device_item(device, 0, cpustate->nmi_state); + state_save_register_device_item(device, 0, cpustate->irq_state); + state_save_register_device_item(device, 0, cpustate->so_state); #if (HAS_M6510) || (HAS_M6510T) || (HAS_M8502) || (HAS_M7501) if (subtype == SUBTYPE_6510) { - state_save_register_item(type, device->tag, 0, cpustate->port); - state_save_register_item(type, device->tag, 0, cpustate->ddr); + state_save_register_device_item(device, 0, cpustate->port); + state_save_register_device_item(device, 0, cpustate->ddr); } #endif } diff --git a/src/emu/cpu/m6800/m6800.c b/src/emu/cpu/m6800/m6800.c index 768e7703e85..7967982fb54 100644 --- a/src/emu/cpu/m6800/m6800.c +++ b/src/emu/cpu/m6800/m6800.c @@ -839,47 +839,47 @@ static TIMER_CALLBACK(m6800_rx_tick) ****************************************************************************/ static void state_register(m68_state_t *m68_state, const char *type) { - state_save_register_item(type, m68_state->device->tag, 0, m68_state->ppc.w.l); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->pc.w.l); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->s.w.l); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->x.w.l); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->d.w.l); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->cc); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->wai_state); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->nmi_state); - state_save_register_item_array(type, m68_state->device->tag, 0, m68_state->irq_state); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->ic_eddge); + state_save_register_device_item(m68_state->device, 0, m68_state->ppc.w.l); + state_save_register_device_item(m68_state->device, 0, m68_state->pc.w.l); + state_save_register_device_item(m68_state->device, 0, m68_state->s.w.l); + state_save_register_device_item(m68_state->device, 0, m68_state->x.w.l); + state_save_register_device_item(m68_state->device, 0, m68_state->d.w.l); + state_save_register_device_item(m68_state->device, 0, m68_state->cc); + state_save_register_device_item(m68_state->device, 0, m68_state->wai_state); + state_save_register_device_item(m68_state->device, 0, m68_state->nmi_state); + state_save_register_device_item_array(m68_state->device, 0, m68_state->irq_state); + state_save_register_device_item(m68_state->device, 0, m68_state->ic_eddge); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->port1_ddr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->port2_ddr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->port3_ddr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->port4_ddr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->port1_data); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->port2_data); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->port3_data); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->port4_data); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->tcsr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->pending_tcsr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->irq2); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->ram_ctrl); + state_save_register_device_item(m68_state->device, 0, m68_state->port1_ddr); + state_save_register_device_item(m68_state->device, 0, m68_state->port2_ddr); + state_save_register_device_item(m68_state->device, 0, m68_state->port3_ddr); + state_save_register_device_item(m68_state->device, 0, m68_state->port4_ddr); + state_save_register_device_item(m68_state->device, 0, m68_state->port1_data); + state_save_register_device_item(m68_state->device, 0, m68_state->port2_data); + state_save_register_device_item(m68_state->device, 0, m68_state->port3_data); + state_save_register_device_item(m68_state->device, 0, m68_state->port4_data); + state_save_register_device_item(m68_state->device, 0, m68_state->tcsr); + state_save_register_device_item(m68_state->device, 0, m68_state->pending_tcsr); + state_save_register_device_item(m68_state->device, 0, m68_state->irq2); + state_save_register_device_item(m68_state->device, 0, m68_state->ram_ctrl); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->counter.d); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->output_compare.d); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->input_capture); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->timer_over.d); + state_save_register_device_item(m68_state->device, 0, m68_state->counter.d); + state_save_register_device_item(m68_state->device, 0, m68_state->output_compare.d); + state_save_register_device_item(m68_state->device, 0, m68_state->input_capture); + state_save_register_device_item(m68_state->device, 0, m68_state->timer_over.d); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->clock); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->trcsr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->rmcr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->rdr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->tdr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->rsr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->tsr); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->rxbits); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->txbits); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->txstate); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->trcsr_read); - state_save_register_item(type, m68_state->device->tag, 0, m68_state->tx); + state_save_register_device_item(m68_state->device, 0, m68_state->clock); + state_save_register_device_item(m68_state->device, 0, m68_state->trcsr); + state_save_register_device_item(m68_state->device, 0, m68_state->rmcr); + state_save_register_device_item(m68_state->device, 0, m68_state->rdr); + state_save_register_device_item(m68_state->device, 0, m68_state->tdr); + state_save_register_device_item(m68_state->device, 0, m68_state->rsr); + state_save_register_device_item(m68_state->device, 0, m68_state->tsr); + state_save_register_device_item(m68_state->device, 0, m68_state->rxbits); + state_save_register_device_item(m68_state->device, 0, m68_state->txbits); + state_save_register_device_item(m68_state->device, 0, m68_state->txstate); + state_save_register_device_item(m68_state->device, 0, m68_state->trcsr_read); + state_save_register_device_item(m68_state->device, 0, m68_state->tx); } static CPU_INIT( m6800 ) diff --git a/src/emu/cpu/m68000/m68kcpu.c b/src/emu/cpu/m68000/m68kcpu.c index 7efbe335f6a..faf8012cdc1 100644 --- a/src/emu/cpu/m68000/m68kcpu.c +++ b/src/emu/cpu/m68000/m68kcpu.c @@ -515,23 +515,23 @@ static CPU_INIT( m68k ) } /* Note, D covers A because the dar array is common, REG_A=REG_D+8 */ - state_save_register_item_array("m68k", device->tag, 0, REG_D); - state_save_register_item("m68k", device->tag, 0, REG_PPC); - state_save_register_item("m68k", device->tag, 0, REG_PC); - state_save_register_item("m68k", device->tag, 0, REG_USP); - state_save_register_item("m68k", device->tag, 0, REG_ISP); - state_save_register_item("m68k", device->tag, 0, REG_MSP); - state_save_register_item("m68k", device->tag, 0, m68k->vbr); - state_save_register_item("m68k", device->tag, 0, m68k->sfc); - state_save_register_item("m68k", device->tag, 0, m68k->dfc); - state_save_register_item("m68k", device->tag, 0, m68k->cacr); - state_save_register_item("m68k", device->tag, 0, m68k->caar); - state_save_register_item("m68k", device->tag, 0, m68k->save_sr); - state_save_register_item("m68k", device->tag, 0, m68k->int_level); - state_save_register_item("m68k", device->tag, 0, m68k->save_stopped); - state_save_register_item("m68k", device->tag, 0, m68k->save_halted); - state_save_register_item("m68k", device->tag, 0, m68k->pref_addr); - state_save_register_item("m68k", device->tag, 0, m68k->pref_data); + state_save_register_device_item_array(device, 0, REG_D); + state_save_register_device_item(device, 0, REG_PPC); + state_save_register_device_item(device, 0, REG_PC); + state_save_register_device_item(device, 0, REG_USP); + state_save_register_device_item(device, 0, REG_ISP); + state_save_register_device_item(device, 0, REG_MSP); + state_save_register_device_item(device, 0, m68k->vbr); + state_save_register_device_item(device, 0, m68k->sfc); + state_save_register_device_item(device, 0, m68k->dfc); + state_save_register_device_item(device, 0, m68k->cacr); + state_save_register_device_item(device, 0, m68k->caar); + state_save_register_device_item(device, 0, m68k->save_sr); + state_save_register_device_item(device, 0, m68k->int_level); + state_save_register_device_item(device, 0, m68k->save_stopped); + state_save_register_device_item(device, 0, m68k->save_halted); + state_save_register_device_item(device, 0, m68k->pref_addr); + state_save_register_device_item(device, 0, m68k->pref_data); state_save_register_presave(device->machine, m68k_presave, m68k); state_save_register_postload(device->machine, m68k_postload, m68k); } diff --git a/src/emu/cpu/m6805/m6805.c b/src/emu/cpu/m6805/m6805.c index 5b91154b44f..1d6a23ce556 100644 --- a/src/emu/cpu/m6805/m6805.c +++ b/src/emu/cpu/m6805/m6805.c @@ -419,13 +419,13 @@ static void Interrupt(void) static void state_register(const char *type, const device_config *device) { - state_save_register_item(type, device->tag, 0, A); - state_save_register_item(type, device->tag, 0, PC); - state_save_register_item(type, device->tag, 0, S); - state_save_register_item(type, device->tag, 0, X); - state_save_register_item(type, device->tag, 0, CC); - state_save_register_item(type, device->tag, 0, m6805.pending_interrupts); - state_save_register_item_array(type, device->tag, 0, m6805.irq_state); + state_save_register_device_item(device, 0, A); + state_save_register_device_item(device, 0, PC); + state_save_register_device_item(device, 0, S); + state_save_register_device_item(device, 0, X); + state_save_register_device_item(device, 0, CC); + state_save_register_device_item(device, 0, m6805.pending_interrupts); + state_save_register_device_item_array(device, 0, m6805.irq_state); } static CPU_INIT( m6805 ) diff --git a/src/emu/cpu/m6809/m6809.c b/src/emu/cpu/m6809/m6809.c index be8eb41ea72..5eacf3d915a 100644 --- a/src/emu/cpu/m6809/m6809.c +++ b/src/emu/cpu/m6809/m6809.c @@ -388,18 +388,18 @@ static CPU_INIT( m6809 ) /* setup regtable */ - state_save_register_item("m6809", device->tag, 0, PC); - state_save_register_item("m6809", device->tag, 0, PPC); - state_save_register_item("m6809", device->tag, 0, D); - state_save_register_item("m6809", device->tag, 0, DP); - state_save_register_item("m6809", device->tag, 0, U); - state_save_register_item("m6809", device->tag, 0, S); - state_save_register_item("m6809", device->tag, 0, X); - state_save_register_item("m6809", device->tag, 0, Y); - state_save_register_item("m6809", device->tag, 0, CC); - state_save_register_item_array("m6809", device->tag, 0, m68_state->irq_state); - state_save_register_item("m6809", device->tag, 0, m68_state->int_state); - state_save_register_item("m6809", device->tag, 0, m68_state->nmi_state); + state_save_register_device_item(device, 0, PC); + state_save_register_device_item(device, 0, PPC); + state_save_register_device_item(device, 0, D); + state_save_register_device_item(device, 0, DP); + state_save_register_device_item(device, 0, U); + state_save_register_device_item(device, 0, S); + state_save_register_device_item(device, 0, X); + state_save_register_device_item(device, 0, Y); + state_save_register_device_item(device, 0, CC); + state_save_register_device_item_array(device, 0, m68_state->irq_state); + state_save_register_device_item(device, 0, m68_state->int_state); + state_save_register_device_item(device, 0, m68_state->nmi_state); } diff --git a/src/emu/cpu/mb86233/mb86233.c b/src/emu/cpu/mb86233/mb86233.c index f8ab01f91e6..4ebb6322197 100644 --- a/src/emu/cpu/mb86233/mb86233.c +++ b/src/emu/cpu/mb86233/mb86233.c @@ -139,7 +139,7 @@ static CPU_INIT( mb86233 ) mb86233.BRAM = &mb86233.RAM[0x200]; mb86233.Tables = (UINT32*) memory_region(device->machine, _config->tablergn); - state_save_register_global_pointer(mb86233.RAM,2 * 0x200 * sizeof(UINT32)); + state_save_register_global_pointer(device->machine, mb86233.RAM,2 * 0x200 * sizeof(UINT32)); } static CPU_RESET( mb86233 ) diff --git a/src/emu/cpu/mb88xx/mb88xx.c b/src/emu/cpu/mb88xx/mb88xx.c index bc683ab7ac2..02637dfff8e 100644 --- a/src/emu/cpu/mb88xx/mb88xx.c +++ b/src/emu/cpu/mb88xx/mb88xx.c @@ -134,27 +134,27 @@ static CPU_INIT( mb88 ) mb88.data = memory_find_address_space(device, ADDRESS_SPACE_DATA); mb88.io = memory_find_address_space(device, ADDRESS_SPACE_IO); - state_save_register_item("mb88", device->tag, 0, mb88.PC); - state_save_register_item("mb88", device->tag, 0, mb88.PA); - state_save_register_item("mb88", device->tag, 0, mb88.SP[0]); - state_save_register_item("mb88", device->tag, 0, mb88.SP[1]); - state_save_register_item("mb88", device->tag, 0, mb88.SP[2]); - state_save_register_item("mb88", device->tag, 0, mb88.SP[3]); - state_save_register_item("mb88", device->tag, 0, mb88.SI); - state_save_register_item("mb88", device->tag, 0, mb88.A); - state_save_register_item("mb88", device->tag, 0, mb88.X); - state_save_register_item("mb88", device->tag, 0, mb88.Y); - state_save_register_item("mb88", device->tag, 0, mb88.st); - state_save_register_item("mb88", device->tag, 0, mb88.zf); - state_save_register_item("mb88", device->tag, 0, mb88.cf); - state_save_register_item("mb88", device->tag, 0, mb88.vf); - state_save_register_item("mb88", device->tag, 0, mb88.sf); - state_save_register_item("mb88", device->tag, 0, mb88.nf); - state_save_register_item("mb88", device->tag, 0, mb88.pio); - state_save_register_item("mb88", device->tag, 0, mb88.TH); - state_save_register_item("mb88", device->tag, 0, mb88.TL); - state_save_register_item("mb88", device->tag, 0, mb88.SB); - state_save_register_item("mb88", device->tag, 0, mb88.pending_interrupt); + state_save_register_device_item(device, 0, mb88.PC); + state_save_register_device_item(device, 0, mb88.PA); + state_save_register_device_item(device, 0, mb88.SP[0]); + state_save_register_device_item(device, 0, mb88.SP[1]); + state_save_register_device_item(device, 0, mb88.SP[2]); + state_save_register_device_item(device, 0, mb88.SP[3]); + state_save_register_device_item(device, 0, mb88.SI); + state_save_register_device_item(device, 0, mb88.A); + state_save_register_device_item(device, 0, mb88.X); + state_save_register_device_item(device, 0, mb88.Y); + state_save_register_device_item(device, 0, mb88.st); + state_save_register_device_item(device, 0, mb88.zf); + state_save_register_device_item(device, 0, mb88.cf); + state_save_register_device_item(device, 0, mb88.vf); + state_save_register_device_item(device, 0, mb88.sf); + state_save_register_device_item(device, 0, mb88.nf); + state_save_register_device_item(device, 0, mb88.pio); + state_save_register_device_item(device, 0, mb88.TH); + state_save_register_device_item(device, 0, mb88.TL); + state_save_register_device_item(device, 0, mb88.SB); + state_save_register_device_item(device, 0, mb88.pending_interrupt); } static CPU_RESET( mb88 ) diff --git a/src/emu/cpu/mcs48/mcs48.c b/src/emu/cpu/mcs48/mcs48.c index 822c3f76ad4..47762719e7c 100644 --- a/src/emu/cpu/mcs48/mcs48.c +++ b/src/emu/cpu/mcs48/mcs48.c @@ -716,25 +716,25 @@ static void mcs48_init(const device_config *device, int index, int clock, cpu_ir /* ensure that regptr is valid before get_info gets called */ update_regptr(cpustate); - state_save_register_item("mcs48", device->tag, 0, cpustate->prevpc.w.l); - state_save_register_item("mcs48", device->tag, 0, PC); - state_save_register_item("mcs48", device->tag, 0, A); - state_save_register_item("mcs48", device->tag, 0, PSW); - state_save_register_item("mcs48", device->tag, 0, cpustate->p1); - state_save_register_item("mcs48", device->tag, 0, cpustate->p2); - state_save_register_item("mcs48", device->tag, 0, cpustate->f1); - state_save_register_item("mcs48", device->tag, 0, cpustate->ea); - state_save_register_item("mcs48", device->tag, 0, cpustate->timer); - state_save_register_item("mcs48", device->tag, 0, cpustate->prescaler); - state_save_register_item("mcs48", device->tag, 0, cpustate->t1_history); - state_save_register_item("mcs48", device->tag, 0, cpustate->irq_state); - state_save_register_item("mcs48", device->tag, 0, cpustate->irq_in_progress); - state_save_register_item("mcs48", device->tag, 0, cpustate->timer_overflow); - state_save_register_item("mcs48", device->tag, 0, cpustate->timer_flag); - state_save_register_item("mcs48", device->tag, 0, cpustate->tirq_enabled); - state_save_register_item("mcs48", device->tag, 0, cpustate->xirq_enabled); - state_save_register_item("mcs48", device->tag, 0, cpustate->timecount_enabled); - state_save_register_item("mcs48", device->tag, 0, cpustate->a11); + state_save_register_device_item(device, 0, cpustate->prevpc.w.l); + state_save_register_device_item(device, 0, PC); + state_save_register_device_item(device, 0, A); + state_save_register_device_item(device, 0, PSW); + state_save_register_device_item(device, 0, cpustate->p1); + state_save_register_device_item(device, 0, cpustate->p2); + state_save_register_device_item(device, 0, cpustate->f1); + state_save_register_device_item(device, 0, cpustate->ea); + state_save_register_device_item(device, 0, cpustate->timer); + state_save_register_device_item(device, 0, cpustate->prescaler); + state_save_register_device_item(device, 0, cpustate->t1_history); + state_save_register_device_item(device, 0, cpustate->irq_state); + state_save_register_device_item(device, 0, cpustate->irq_in_progress); + state_save_register_device_item(device, 0, cpustate->timer_overflow); + state_save_register_device_item(device, 0, cpustate->timer_flag); + state_save_register_device_item(device, 0, cpustate->tirq_enabled); + state_save_register_device_item(device, 0, cpustate->xirq_enabled); + state_save_register_device_item(device, 0, cpustate->timecount_enabled); + state_save_register_device_item(device, 0, cpustate->a11); } diff --git a/src/emu/cpu/mcs51/mcs51.c b/src/emu/cpu/mcs51/mcs51.c index 75cd66fb33d..9d829ac5fa5 100644 --- a/src/emu/cpu/mcs51/mcs51.c +++ b/src/emu/cpu/mcs51/mcs51.c @@ -2072,18 +2072,18 @@ static CPU_INIT( mcs51 ) /* Save states */ - state_save_register_item("mcs51", device->tag, 0, mcs51_state->ppc); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->pc); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->rwm ); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->cur_irq_prio ); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->last_line_state ); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->t0_cnt ); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->t1_cnt ); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->t2_cnt ); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->t2ex_cnt ); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->recalc_parity ); - state_save_register_item_array("mcs51", device->tag, 0, mcs51_state->irq_prio ); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->irq_active ); + state_save_register_device_item(device, 0, mcs51_state->ppc); + state_save_register_device_item(device, 0, mcs51_state->pc); + state_save_register_device_item(device, 0, mcs51_state->rwm ); + state_save_register_device_item(device, 0, mcs51_state->cur_irq_prio ); + state_save_register_device_item(device, 0, mcs51_state->last_line_state ); + state_save_register_device_item(device, 0, mcs51_state->t0_cnt ); + state_save_register_device_item(device, 0, mcs51_state->t1_cnt ); + state_save_register_device_item(device, 0, mcs51_state->t2_cnt ); + state_save_register_device_item(device, 0, mcs51_state->t2ex_cnt ); + state_save_register_device_item(device, 0, mcs51_state->recalc_parity ); + state_save_register_device_item_array(device, 0, mcs51_state->irq_prio ); + state_save_register_device_item(device, 0, mcs51_state->irq_active ); } static CPU_INIT( i80c51 ) @@ -2381,9 +2381,9 @@ static CPU_INIT( ds5002fp ) mcs51_state->sfr_read = ds5002fp_sfr_read; mcs51_state->sfr_write = ds5002fp_sfr_write; - state_save_register_item("mcs51", device->tag, 0, mcs51_state->ds5002fp.previous_ta ); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->ds5002fp.ta_window ); - state_save_register_item("mcs51", device->tag, 0, mcs51_state->ds5002fp.range ); + state_save_register_device_item(device, 0, mcs51_state->ds5002fp.previous_ta ); + state_save_register_device_item(device, 0, mcs51_state->ds5002fp.ta_window ); + state_save_register_device_item(device, 0, mcs51_state->ds5002fp.range ); } diff --git a/src/emu/cpu/mips/mips3com.c b/src/emu/cpu/mips/mips3com.c index 1f200356e2d..ee6844ca2ea 100644 --- a/src/emu/cpu/mips/mips3com.c +++ b/src/emu/cpu/mips/mips3com.c @@ -101,17 +101,17 @@ void mips3com_init(mips3_state *mips, mips3_flavor flavor, int bigendian, const mips3com_reset(mips); /* register for save states */ - state_save_register_item("mips3", device->tag, 0, mips->pc); - state_save_register_item_array("mips3", device->tag, 0, mips->r); - state_save_register_item_2d_array("mips3", device->tag, 0, mips->cpr); - state_save_register_item_2d_array("mips3", device->tag, 0, mips->ccr); - state_save_register_item("mips3", device->tag, 0, mips->llbit); - state_save_register_item("mips3", device->tag, 0, mips->count_zero_time); + state_save_register_device_item(device, 0, mips->pc); + state_save_register_device_item_array(device, 0, mips->r); + state_save_register_device_item_2d_array(device, 0, mips->cpr); + state_save_register_device_item_2d_array(device, 0, mips->ccr); + state_save_register_device_item(device, 0, mips->llbit); + state_save_register_device_item(device, 0, mips->count_zero_time); for (tlbindex = 0; tlbindex < ARRAY_LENGTH(mips->tlb); tlbindex++) { - state_save_register_item("mips3", device->tag, tlbindex, mips->tlb[tlbindex].page_mask); - state_save_register_item("mips3", device->tag, tlbindex, mips->tlb[tlbindex].entry_hi); - state_save_register_item_array("mips3", device->tag, tlbindex, mips->tlb[tlbindex].entry_lo); + state_save_register_device_item(device, tlbindex, mips->tlb[tlbindex].page_mask); + state_save_register_device_item(device, tlbindex, mips->tlb[tlbindex].entry_hi); + state_save_register_device_item_array(device, tlbindex, mips->tlb[tlbindex].entry_lo); } } diff --git a/src/emu/cpu/mips/psx.c b/src/emu/cpu/mips/psx.c index 383e30cf62f..d4921aedd01 100644 --- a/src/emu/cpu/mips/psx.c +++ b/src/emu/cpu/mips/psx.c @@ -1599,23 +1599,23 @@ static void mips_state_register( const char *type, const device_config *device ) { psxcpu_state *psxcpu = device->token; - state_save_register_item( type, device->tag, 0, psxcpu->op ); - state_save_register_item( type, device->tag, 0, psxcpu->pc ); - state_save_register_item( type, device->tag, 0, psxcpu->delayv ); - state_save_register_item( type, device->tag, 0, psxcpu->delayr ); - state_save_register_item( type, device->tag, 0, psxcpu->hi ); - state_save_register_item( type, device->tag, 0, psxcpu->lo ); - state_save_register_item( type, device->tag, 0, psxcpu->biu ); - state_save_register_item_array( type, device->tag, 0, psxcpu->r ); - state_save_register_item_array( type, device->tag, 0, psxcpu->cp0r ); - state_save_register_item_array( type, device->tag, 0, psxcpu->cp2cr ); - state_save_register_item_array( type, device->tag, 0, psxcpu->cp2dr ); - state_save_register_item_array( type, device->tag, 0, psxcpu->icacheTag ); - state_save_register_item_array( type, device->tag, 0, psxcpu->icache ); - state_save_register_item_array( type, device->tag, 0, psxcpu->dcache ); - state_save_register_item( type, device->tag, 0, psxcpu->multiplier_operation ); - state_save_register_item( type, device->tag, 0, psxcpu->multiplier_operand1 ); - state_save_register_item( type, device->tag, 0, psxcpu->multiplier_operand2 ); + state_save_register_device_item( device, 0, psxcpu->op ); + state_save_register_device_item( device, 0, psxcpu->pc ); + state_save_register_device_item( device, 0, psxcpu->delayv ); + state_save_register_device_item( device, 0, psxcpu->delayr ); + state_save_register_device_item( device, 0, psxcpu->hi ); + state_save_register_device_item( device, 0, psxcpu->lo ); + state_save_register_device_item( device, 0, psxcpu->biu ); + state_save_register_device_item_array( device, 0, psxcpu->r ); + state_save_register_device_item_array( device, 0, psxcpu->cp0r ); + state_save_register_device_item_array( device, 0, psxcpu->cp2cr ); + state_save_register_device_item_array( device, 0, psxcpu->cp2dr ); + state_save_register_device_item_array( device, 0, psxcpu->icacheTag ); + state_save_register_device_item_array( device, 0, psxcpu->icache ); + state_save_register_device_item_array( device, 0, psxcpu->dcache ); + state_save_register_device_item( device, 0, psxcpu->multiplier_operation ); + state_save_register_device_item( device, 0, psxcpu->multiplier_operand1 ); + state_save_register_device_item( device, 0, psxcpu->multiplier_operand2 ); state_save_register_postload( device->machine, mips_postload, psxcpu ); } diff --git a/src/emu/cpu/nec/nec.c b/src/emu/cpu/nec/nec.c index c5be4824fe8..e2c8e529cad 100644 --- a/src/emu/cpu/nec/nec.c +++ b/src/emu/cpu/nec/nec.c @@ -1095,30 +1095,28 @@ static void nec_init(const device_config *device, int index, int clock, cpu_irq_ const nec_config *config = device->static_config ? device->static_config : &default_config; nec_state_t *nec_state = device->token; - static const char *const names[]={"V20","V30","V33"}; - nec_state->config = config; - state_save_register_item_array(names[type], device->tag, 0, nec_state->regs.w); - state_save_register_item_array(names[type], device->tag, 0, nec_state->sregs); + state_save_register_device_item_array(device, 0, nec_state->regs.w); + state_save_register_device_item_array(device, 0, nec_state->sregs); - state_save_register_item(names[type], device->tag, 0, nec_state->ip); - state_save_register_item(names[type], device->tag, 0, nec_state->TF); - state_save_register_item(names[type], device->tag, 0, nec_state->IF); - state_save_register_item(names[type], device->tag, 0, nec_state->DF); - state_save_register_item(names[type], device->tag, 0, nec_state->MF); - state_save_register_item(names[type], device->tag, 0, nec_state->SignVal); - state_save_register_item(names[type], device->tag, 0, nec_state->int_vector); - state_save_register_item(names[type], device->tag, 0, nec_state->pending_irq); - state_save_register_item(names[type], device->tag, 0, nec_state->nmi_state); - state_save_register_item(names[type], device->tag, 0, nec_state->irq_state); - state_save_register_item(names[type], device->tag, 0, nec_state->poll_state); - state_save_register_item(names[type], device->tag, 0, nec_state->AuxVal); - state_save_register_item(names[type], device->tag, 0, nec_state->OverVal); - state_save_register_item(names[type], device->tag, 0, nec_state->ZeroVal); - state_save_register_item(names[type], device->tag, 0, nec_state->CarryVal); - state_save_register_item(names[type], device->tag, 0, nec_state->ParityVal); + state_save_register_device_item(device, 0, nec_state->ip); + state_save_register_device_item(device, 0, nec_state->TF); + state_save_register_device_item(device, 0, nec_state->IF); + state_save_register_device_item(device, 0, nec_state->DF); + state_save_register_device_item(device, 0, nec_state->MF); + state_save_register_device_item(device, 0, nec_state->SignVal); + state_save_register_device_item(device, 0, nec_state->int_vector); + state_save_register_device_item(device, 0, nec_state->pending_irq); + state_save_register_device_item(device, 0, nec_state->nmi_state); + state_save_register_device_item(device, 0, nec_state->irq_state); + state_save_register_device_item(device, 0, nec_state->poll_state); + state_save_register_device_item(device, 0, nec_state->AuxVal); + state_save_register_device_item(device, 0, nec_state->OverVal); + state_save_register_device_item(device, 0, nec_state->ZeroVal); + state_save_register_device_item(device, 0, nec_state->CarryVal); + state_save_register_device_item(device, 0, nec_state->ParityVal); nec_state->irq_callback = irqcallback; nec_state->device = device; diff --git a/src/emu/cpu/pic16c5x/pic16c5x.c b/src/emu/cpu/pic16c5x/pic16c5x.c index 508ddbe6f38..8350d9d4ec4 100644 --- a/src/emu/cpu/pic16c5x/pic16c5x.c +++ b/src/emu/cpu/pic16c5x/pic16c5x.c @@ -693,33 +693,33 @@ static const opcode_fn opcode_000_other[16]= static CPU_INIT( pic16C5x ) { - state_save_register_item("pic16C5x", device->tag, 0, old_data); - state_save_register_item("pic16C5x", device->tag, 0, R.W); - state_save_register_item("pic16C5x", device->tag, 0, R.ALU); - state_save_register_item("pic16C5x", device->tag, 0, R.OPTION); - state_save_register_item("pic16C5x", device->tag, 0, R.TMR0); - state_save_register_item("pic16C5x", device->tag, 0, R.PCL); - state_save_register_item("pic16C5x", device->tag, 0, R.STATUS); - state_save_register_item("pic16C5x", device->tag, 0, R.FSR); - state_save_register_item("pic16C5x", device->tag, 0, R.PORTA); - state_save_register_item("pic16C5x", device->tag, 0, R.PORTB); - state_save_register_item("pic16C5x", device->tag, 0, R.PORTC); - state_save_register_item("pic16C5x", device->tag, 0, R.TRISA); - state_save_register_item("pic16C5x", device->tag, 0, R.TRISB); - state_save_register_item("pic16C5x", device->tag, 0, R.TRISC); - state_save_register_item("pic16C5x", device->tag, 0, old_T0); - state_save_register_item("pic16C5x", device->tag, 0, picRAMmask); - state_save_register_item("pic16C5x", device->tag, 0, R.WDT); - state_save_register_item("pic16C5x", device->tag, 0, R.prescaler); - state_save_register_item("pic16C5x", device->tag, 0, R.STACK[0]); - state_save_register_item("pic16C5x", device->tag, 0, R.STACK[1]); - state_save_register_item("pic16C5x", device->tag, 0, R.PC); - state_save_register_item("pic16C5x", device->tag, 0, R.PREVPC); - state_save_register_item("pic16C5x", device->tag, 0, R.CONFIG); - state_save_register_item("pic16C5x", device->tag, 0, R.opcode.d); - state_save_register_item("pic16C5x", device->tag, 0, delay_timer); - state_save_register_item("pic16C5x", device->tag, 0, picmodel); - state_save_register_item("pic16C5x", device->tag, 0, pic16C5x_reset_vector); + state_save_register_device_item(device, 0, old_data); + state_save_register_device_item(device, 0, R.W); + state_save_register_device_item(device, 0, R.ALU); + state_save_register_device_item(device, 0, R.OPTION); + state_save_register_device_item(device, 0, R.TMR0); + state_save_register_device_item(device, 0, R.PCL); + state_save_register_device_item(device, 0, R.STATUS); + state_save_register_device_item(device, 0, R.FSR); + state_save_register_device_item(device, 0, R.PORTA); + state_save_register_device_item(device, 0, R.PORTB); + state_save_register_device_item(device, 0, R.PORTC); + state_save_register_device_item(device, 0, R.TRISA); + state_save_register_device_item(device, 0, R.TRISB); + state_save_register_device_item(device, 0, R.TRISC); + state_save_register_device_item(device, 0, old_T0); + state_save_register_device_item(device, 0, picRAMmask); + state_save_register_device_item(device, 0, R.WDT); + state_save_register_device_item(device, 0, R.prescaler); + state_save_register_device_item(device, 0, R.STACK[0]); + state_save_register_device_item(device, 0, R.STACK[1]); + state_save_register_device_item(device, 0, R.PC); + state_save_register_device_item(device, 0, R.PREVPC); + state_save_register_device_item(device, 0, R.CONFIG); + state_save_register_device_item(device, 0, R.opcode.d); + state_save_register_device_item(device, 0, delay_timer); + state_save_register_device_item(device, 0, picmodel); + state_save_register_device_item(device, 0, pic16C5x_reset_vector); R.device = device; R.program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); diff --git a/src/emu/cpu/powerpc/ppccom.c b/src/emu/cpu/powerpc/ppccom.c index 12a3903b8cc..c8cf7044435 100644 --- a/src/emu/cpu/powerpc/ppccom.c +++ b/src/emu/cpu/powerpc/ppccom.c @@ -218,36 +218,36 @@ void ppccom_init(powerpc_state *ppc, powerpc_flavor flavor, UINT8 cap, int tb_di } /* register for save states */ - state_save_register_item("ppc", device->tag, 0, ppc->pc); - state_save_register_item_array("ppc", device->tag, 0, ppc->r); - state_save_register_item_array("ppc", device->tag, 0, ppc->f); - state_save_register_item_array("ppc", device->tag, 0, ppc->cr); - state_save_register_item("ppc", device->tag, 0, ppc->xerso); - state_save_register_item("ppc", device->tag, 0, ppc->fpscr); - state_save_register_item("ppc", device->tag, 0, ppc->msr); - state_save_register_item_array("ppc", device->tag, 0, ppc->sr); - state_save_register_item_array("ppc", device->tag, 0, ppc->spr); - state_save_register_item_array("ppc", device->tag, 0, ppc->dcr); + state_save_register_device_item(device, 0, ppc->pc); + state_save_register_device_item_array(device, 0, ppc->r); + state_save_register_device_item_array(device, 0, ppc->f); + state_save_register_device_item_array(device, 0, ppc->cr); + state_save_register_device_item(device, 0, ppc->xerso); + state_save_register_device_item(device, 0, ppc->fpscr); + state_save_register_device_item(device, 0, ppc->msr); + state_save_register_device_item_array(device, 0, ppc->sr); + state_save_register_device_item_array(device, 0, ppc->spr); + state_save_register_device_item_array(device, 0, ppc->dcr); if (cap & PPCCAP_4XX) { - state_save_register_item_array("ppc", device->tag, 0, ppc->spu.regs); - state_save_register_item("ppc", device->tag, 0, ppc->spu.txbuf); - state_save_register_item("ppc", device->tag, 0, ppc->spu.rxbuf); - state_save_register_item_array("ppc", device->tag, 0, ppc->spu.rxbuffer); - state_save_register_item("ppc", device->tag, 0, ppc->spu.rxin); - state_save_register_item("ppc", device->tag, 0, ppc->spu.rxout); - state_save_register_item("ppc", device->tag, 0, ppc->pit_reload); - state_save_register_item("ppc", device->tag, 0, ppc->irqstate); + state_save_register_device_item_array(device, 0, ppc->spu.regs); + state_save_register_device_item(device, 0, ppc->spu.txbuf); + state_save_register_device_item(device, 0, ppc->spu.rxbuf); + state_save_register_device_item_array(device, 0, ppc->spu.rxbuffer); + state_save_register_device_item(device, 0, ppc->spu.rxin); + state_save_register_device_item(device, 0, ppc->spu.rxout); + state_save_register_device_item(device, 0, ppc->pit_reload); + state_save_register_device_item(device, 0, ppc->irqstate); } if (cap & PPCCAP_603_MMU) { - state_save_register_item("ppc", device->tag, 0, ppc->mmu603_cmp); - state_save_register_item_array("ppc", device->tag, 0, ppc->mmu603_hash); - state_save_register_item_array("ppc", device->tag, 0, ppc->mmu603_r); + state_save_register_device_item(device, 0, ppc->mmu603_cmp); + state_save_register_device_item_array(device, 0, ppc->mmu603_hash); + state_save_register_device_item_array(device, 0, ppc->mmu603_r); } - state_save_register_item("ppc", device->tag, 0, ppc->irq_pending); - state_save_register_item("ppc", device->tag, 0, ppc->tb_zero_cycles); - state_save_register_item("ppc", device->tag, 0, ppc->dec_zero_cycles); + state_save_register_device_item(device, 0, ppc->irq_pending); + state_save_register_device_item(device, 0, ppc->tb_zero_cycles); + state_save_register_device_item(device, 0, ppc->dec_zero_cycles); } diff --git a/src/emu/cpu/s2650/s2650.c b/src/emu/cpu/s2650/s2650.c index ab9cf7b8485..5fbbf824be4 100644 --- a/src/emu/cpu/s2650/s2650.c +++ b/src/emu/cpu/s2650/s2650.c @@ -766,18 +766,18 @@ static CPU_INIT( s2650 ) s2650c->program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); s2650c->io = memory_find_address_space(device, ADDRESS_SPACE_IO); - state_save_register_item("s2650", device->tag, 0, s2650c->ppc); - state_save_register_item("s2650", device->tag, 0, s2650c->page); - state_save_register_item("s2650", device->tag, 0, s2650c->iar); - state_save_register_item("s2650", device->tag, 0, s2650c->ea); - state_save_register_item("s2650", device->tag, 0, s2650c->psl); - state_save_register_item("s2650", device->tag, 0, s2650c->psu); - state_save_register_item("s2650", device->tag, 0, s2650c->r); - state_save_register_item_array("s2650", device->tag, 0, s2650c->reg); - state_save_register_item("s2650", device->tag, 0, s2650c->halt); - state_save_register_item("s2650", device->tag, 0, s2650c->ir); - state_save_register_item_array("s2650", device->tag, 0, s2650c->ras); - state_save_register_item("s2650", device->tag, 0, s2650c->irq_state); + state_save_register_device_item(device, 0, s2650c->ppc); + state_save_register_device_item(device, 0, s2650c->page); + state_save_register_device_item(device, 0, s2650c->iar); + state_save_register_device_item(device, 0, s2650c->ea); + state_save_register_device_item(device, 0, s2650c->psl); + state_save_register_device_item(device, 0, s2650c->psu); + state_save_register_device_item(device, 0, s2650c->r); + state_save_register_device_item_array(device, 0, s2650c->reg); + state_save_register_device_item(device, 0, s2650c->halt); + state_save_register_device_item(device, 0, s2650c->ir); + state_save_register_device_item_array(device, 0, s2650c->ras); + state_save_register_device_item(device, 0, s2650c->irq_state); } static CPU_RESET( s2650 ) diff --git a/src/emu/cpu/saturn/saturn.c b/src/emu/cpu/saturn/saturn.c index 562470106b4..84a147a05ac 100644 --- a/src/emu/cpu/saturn/saturn.c +++ b/src/emu/cpu/saturn/saturn.c @@ -107,29 +107,29 @@ static CPU_INIT( saturn ) saturn.device = device; saturn.program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); - state_save_register_item_array("saturn",device->tag, 0,saturn.reg[R0]); - state_save_register_item_array("saturn",device->tag, 0,saturn.reg[R1]); - state_save_register_item_array("saturn",device->tag, 0,saturn.reg[R2]); - state_save_register_item_array("saturn",device->tag, 0,saturn.reg[R3]); - state_save_register_item_array("saturn",device->tag, 0,saturn.reg[R4]); - state_save_register_item_array("saturn",device->tag, 0,saturn.reg[A]); - state_save_register_item_array("saturn",device->tag, 0,saturn.reg[B]); - state_save_register_item_array("saturn",device->tag, 0,saturn.reg[C]); - state_save_register_item_array("saturn",device->tag, 0,saturn.reg[D]); - state_save_register_item_array("saturn",device->tag, 0,saturn.d); - state_save_register_item("saturn",device->tag, 0,saturn.pc); - state_save_register_item("saturn",device->tag, 0,saturn.oldpc); - state_save_register_item_array("saturn",device->tag, 0,saturn.rstk); - state_save_register_item("saturn",device->tag, 0,saturn.out); - state_save_register_item("saturn",device->tag, 0,saturn.carry); - state_save_register_item("saturn",device->tag, 0,saturn.st); - state_save_register_item("saturn",device->tag, 0,saturn.hst); - state_save_register_item("saturn",device->tag, 0,saturn.nmi_state); - state_save_register_item("saturn",device->tag, 0,saturn.irq_state); - state_save_register_item("saturn",device->tag, 0,saturn.irq_enable); - state_save_register_item("saturn",device->tag, 0,saturn.in_irq); - state_save_register_item("saturn",device->tag, 0,saturn.pending_irq); - state_save_register_item("saturn",device->tag, 0,saturn.sleeping); + state_save_register_device_item_array(device, 0,saturn.reg[R0]); + state_save_register_device_item_array(device, 0,saturn.reg[R1]); + state_save_register_device_item_array(device, 0,saturn.reg[R2]); + state_save_register_device_item_array(device, 0,saturn.reg[R3]); + state_save_register_device_item_array(device, 0,saturn.reg[R4]); + state_save_register_device_item_array(device, 0,saturn.reg[A]); + state_save_register_device_item_array(device, 0,saturn.reg[B]); + state_save_register_device_item_array(device, 0,saturn.reg[C]); + state_save_register_device_item_array(device, 0,saturn.reg[D]); + state_save_register_device_item_array(device, 0,saturn.d); + state_save_register_device_item(device, 0,saturn.pc); + state_save_register_device_item(device, 0,saturn.oldpc); + state_save_register_device_item_array(device, 0,saturn.rstk); + state_save_register_device_item(device, 0,saturn.out); + state_save_register_device_item(device, 0,saturn.carry); + state_save_register_device_item(device, 0,saturn.st); + state_save_register_device_item(device, 0,saturn.hst); + state_save_register_device_item(device, 0,saturn.nmi_state); + state_save_register_device_item(device, 0,saturn.irq_state); + state_save_register_device_item(device, 0,saturn.irq_enable); + state_save_register_device_item(device, 0,saturn.in_irq); + state_save_register_device_item(device, 0,saturn.pending_irq); + state_save_register_device_item(device, 0,saturn.sleeping); } static CPU_RESET( saturn ) diff --git a/src/emu/cpu/sh2/sh2comn.c b/src/emu/cpu/sh2/sh2comn.c index 149c4d23275..cbc58d351af 100644 --- a/src/emu/cpu/sh2/sh2comn.c +++ b/src/emu/cpu/sh2/sh2comn.c @@ -737,29 +737,29 @@ void sh2_common_init(int alloc, const device_config *device, int index, int cloc sh2->program = cpu_get_address_space(device, ADDRESS_SPACE_PROGRAM); sh2->internal = cpu_get_address_space(device, ADDRESS_SPACE_PROGRAM); - state_save_register_item("sh2", device->tag, 0, sh2->pc); - state_save_register_item("sh2", device->tag, 0, sh2->r[15]); - state_save_register_item("sh2", device->tag, 0, sh2->sr); - state_save_register_item("sh2", device->tag, 0, sh2->pr); - state_save_register_item("sh2", device->tag, 0, sh2->gbr); - state_save_register_item("sh2", device->tag, 0, sh2->vbr); - state_save_register_item("sh2", device->tag, 0, sh2->mach); - state_save_register_item("sh2", device->tag, 0, sh2->macl); - state_save_register_item("sh2", device->tag, 0, sh2->r[ 0]); - state_save_register_item("sh2", device->tag, 0, sh2->r[ 1]); - state_save_register_item("sh2", device->tag, 0, sh2->r[ 2]); - state_save_register_item("sh2", device->tag, 0, sh2->r[ 3]); - state_save_register_item("sh2", device->tag, 0, sh2->r[ 4]); - state_save_register_item("sh2", device->tag, 0, sh2->r[ 5]); - state_save_register_item("sh2", device->tag, 0, sh2->r[ 6]); - state_save_register_item("sh2", device->tag, 0, sh2->r[ 7]); - state_save_register_item("sh2", device->tag, 0, sh2->r[ 8]); - state_save_register_item("sh2", device->tag, 0, sh2->r[ 9]); - state_save_register_item("sh2", device->tag, 0, sh2->r[10]); - state_save_register_item("sh2", device->tag, 0, sh2->r[11]); - state_save_register_item("sh2", device->tag, 0, sh2->r[12]); - state_save_register_item("sh2", device->tag, 0, sh2->r[13]); - state_save_register_item("sh2", device->tag, 0, sh2->r[14]); - state_save_register_item("sh2", device->tag, 0, sh2->ea); + state_save_register_device_item(device, 0, sh2->pc); + state_save_register_device_item(device, 0, sh2->r[15]); + state_save_register_device_item(device, 0, sh2->sr); + state_save_register_device_item(device, 0, sh2->pr); + state_save_register_device_item(device, 0, sh2->gbr); + state_save_register_device_item(device, 0, sh2->vbr); + state_save_register_device_item(device, 0, sh2->mach); + state_save_register_device_item(device, 0, sh2->macl); + state_save_register_device_item(device, 0, sh2->r[ 0]); + state_save_register_device_item(device, 0, sh2->r[ 1]); + state_save_register_device_item(device, 0, sh2->r[ 2]); + state_save_register_device_item(device, 0, sh2->r[ 3]); + state_save_register_device_item(device, 0, sh2->r[ 4]); + state_save_register_device_item(device, 0, sh2->r[ 5]); + state_save_register_device_item(device, 0, sh2->r[ 6]); + state_save_register_device_item(device, 0, sh2->r[ 7]); + state_save_register_device_item(device, 0, sh2->r[ 8]); + state_save_register_device_item(device, 0, sh2->r[ 9]); + state_save_register_device_item(device, 0, sh2->r[10]); + state_save_register_device_item(device, 0, sh2->r[11]); + state_save_register_device_item(device, 0, sh2->r[12]); + state_save_register_device_item(device, 0, sh2->r[13]); + state_save_register_device_item(device, 0, sh2->r[14]); + state_save_register_device_item(device, 0, sh2->ea); } diff --git a/src/emu/cpu/sh4/sh4.c b/src/emu/cpu/sh4/sh4.c index b87489ff5ee..156c9ac19b1 100644 --- a/src/emu/cpu/sh4/sh4.c +++ b/src/emu/cpu/sh4/sh4.c @@ -3406,70 +3406,70 @@ static CPU_INIT( sh4 ) sh4.irln = 15; sh4.test_irq = 0; - state_save_register_item("sh4", device->tag, 0, sh4.pc); - state_save_register_item("sh4", device->tag, 0, sh4.r[15]); - state_save_register_item("sh4", device->tag, 0, sh4.sr); - state_save_register_item("sh4", device->tag, 0, sh4.pr); - state_save_register_item("sh4", device->tag, 0, sh4.gbr); - state_save_register_item("sh4", device->tag, 0, sh4.vbr); - state_save_register_item("sh4", device->tag, 0, sh4.mach); - state_save_register_item("sh4", device->tag, 0, sh4.macl); - state_save_register_item("sh4", device->tag, 0, sh4.spc); - state_save_register_item("sh4", device->tag, 0, sh4.ssr); - state_save_register_item("sh4", device->tag, 0, sh4.sgr); - state_save_register_item("sh4", device->tag, 0, sh4.fpscr); - state_save_register_item("sh4", device->tag, 0, sh4.r[ 0]); - state_save_register_item("sh4", device->tag, 0, sh4.r[ 1]); - state_save_register_item("sh4", device->tag, 0, sh4.r[ 2]); - state_save_register_item("sh4", device->tag, 0, sh4.r[ 3]); - state_save_register_item("sh4", device->tag, 0, sh4.r[ 4]); - state_save_register_item("sh4", device->tag, 0, sh4.r[ 5]); - state_save_register_item("sh4", device->tag, 0, sh4.r[ 6]); - state_save_register_item("sh4", device->tag, 0, sh4.r[ 7]); - state_save_register_item("sh4", device->tag, 0, sh4.r[ 8]); - state_save_register_item("sh4", device->tag, 0, sh4.r[ 9]); - state_save_register_item("sh4", device->tag, 0, sh4.r[10]); - state_save_register_item("sh4", device->tag, 0, sh4.r[11]); - state_save_register_item("sh4", device->tag, 0, sh4.r[12]); - state_save_register_item("sh4", device->tag, 0, sh4.r[13]); - state_save_register_item("sh4", device->tag, 0, sh4.r[14]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[ 0]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[ 1]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[ 2]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[ 3]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[ 4]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[ 5]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[ 6]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[ 7]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[ 8]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[ 9]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[10]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[11]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[12]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[13]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[14]); - state_save_register_item("sh4", device->tag, 0, sh4.fr[15]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[ 0]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[ 1]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[ 2]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[ 3]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[ 4]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[ 5]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[ 6]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[ 7]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[ 8]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[ 9]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[10]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[11]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[12]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[13]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[14]); - state_save_register_item("sh4", device->tag, 0, sh4.xf[15]); - state_save_register_item("sh4", device->tag, 0, sh4.ea); - state_save_register_item("sh4", device->tag, 0, sh4.fpul); - state_save_register_item("sh4", device->tag, 0, sh4.dbr); - state_save_register_item_array("sh4", device->tag, 0, sh4.exception_priority); - state_save_register_item_array("sh4", device->tag, 0, sh4.exception_requesting); + state_save_register_device_item(device, 0, sh4.pc); + state_save_register_device_item(device, 0, sh4.r[15]); + state_save_register_device_item(device, 0, sh4.sr); + state_save_register_device_item(device, 0, sh4.pr); + state_save_register_device_item(device, 0, sh4.gbr); + state_save_register_device_item(device, 0, sh4.vbr); + state_save_register_device_item(device, 0, sh4.mach); + state_save_register_device_item(device, 0, sh4.macl); + state_save_register_device_item(device, 0, sh4.spc); + state_save_register_device_item(device, 0, sh4.ssr); + state_save_register_device_item(device, 0, sh4.sgr); + state_save_register_device_item(device, 0, sh4.fpscr); + state_save_register_device_item(device, 0, sh4.r[ 0]); + state_save_register_device_item(device, 0, sh4.r[ 1]); + state_save_register_device_item(device, 0, sh4.r[ 2]); + state_save_register_device_item(device, 0, sh4.r[ 3]); + state_save_register_device_item(device, 0, sh4.r[ 4]); + state_save_register_device_item(device, 0, sh4.r[ 5]); + state_save_register_device_item(device, 0, sh4.r[ 6]); + state_save_register_device_item(device, 0, sh4.r[ 7]); + state_save_register_device_item(device, 0, sh4.r[ 8]); + state_save_register_device_item(device, 0, sh4.r[ 9]); + state_save_register_device_item(device, 0, sh4.r[10]); + state_save_register_device_item(device, 0, sh4.r[11]); + state_save_register_device_item(device, 0, sh4.r[12]); + state_save_register_device_item(device, 0, sh4.r[13]); + state_save_register_device_item(device, 0, sh4.r[14]); + state_save_register_device_item(device, 0, sh4.fr[ 0]); + state_save_register_device_item(device, 0, sh4.fr[ 1]); + state_save_register_device_item(device, 0, sh4.fr[ 2]); + state_save_register_device_item(device, 0, sh4.fr[ 3]); + state_save_register_device_item(device, 0, sh4.fr[ 4]); + state_save_register_device_item(device, 0, sh4.fr[ 5]); + state_save_register_device_item(device, 0, sh4.fr[ 6]); + state_save_register_device_item(device, 0, sh4.fr[ 7]); + state_save_register_device_item(device, 0, sh4.fr[ 8]); + state_save_register_device_item(device, 0, sh4.fr[ 9]); + state_save_register_device_item(device, 0, sh4.fr[10]); + state_save_register_device_item(device, 0, sh4.fr[11]); + state_save_register_device_item(device, 0, sh4.fr[12]); + state_save_register_device_item(device, 0, sh4.fr[13]); + state_save_register_device_item(device, 0, sh4.fr[14]); + state_save_register_device_item(device, 0, sh4.fr[15]); + state_save_register_device_item(device, 0, sh4.xf[ 0]); + state_save_register_device_item(device, 0, sh4.xf[ 1]); + state_save_register_device_item(device, 0, sh4.xf[ 2]); + state_save_register_device_item(device, 0, sh4.xf[ 3]); + state_save_register_device_item(device, 0, sh4.xf[ 4]); + state_save_register_device_item(device, 0, sh4.xf[ 5]); + state_save_register_device_item(device, 0, sh4.xf[ 6]); + state_save_register_device_item(device, 0, sh4.xf[ 7]); + state_save_register_device_item(device, 0, sh4.xf[ 8]); + state_save_register_device_item(device, 0, sh4.xf[ 9]); + state_save_register_device_item(device, 0, sh4.xf[10]); + state_save_register_device_item(device, 0, sh4.xf[11]); + state_save_register_device_item(device, 0, sh4.xf[12]); + state_save_register_device_item(device, 0, sh4.xf[13]); + state_save_register_device_item(device, 0, sh4.xf[14]); + state_save_register_device_item(device, 0, sh4.xf[15]); + state_save_register_device_item(device, 0, sh4.ea); + state_save_register_device_item(device, 0, sh4.fpul); + state_save_register_device_item(device, 0, sh4.dbr); + state_save_register_device_item_array(device, 0, sh4.exception_priority); + state_save_register_device_item_array(device, 0, sh4.exception_requesting); } diff --git a/src/emu/cpu/sharc/sharc.c b/src/emu/cpu/sharc/sharc.c index ecbd44aad38..ed83452740f 100644 --- a/src/emu/cpu/sharc/sharc.c +++ b/src/emu/cpu/sharc/sharc.c @@ -438,120 +438,120 @@ static CPU_INIT( sharc ) sharc.internal_ram_block0 = &sharc.internal_ram[0]; sharc.internal_ram_block1 = &sharc.internal_ram[0x20000/2]; - state_save_register_item("sharc", device->tag, 0, sharc.pc); - state_save_register_item_pointer("sharc", device->tag, 0, (&sharc.r[0].r), ARRAY_LENGTH(sharc.r)); - state_save_register_item_pointer("sharc", device->tag, 0, (&sharc.reg_alt[0].r), ARRAY_LENGTH(sharc.reg_alt)); - state_save_register_item("sharc", device->tag, 0, sharc.mrf); - state_save_register_item("sharc", device->tag, 0, sharc.mrb); + state_save_register_device_item(device, 0, sharc.pc); + state_save_register_device_item_pointer(device, 0, (&sharc.r[0].r), ARRAY_LENGTH(sharc.r)); + state_save_register_device_item_pointer(device, 0, (&sharc.reg_alt[0].r), ARRAY_LENGTH(sharc.reg_alt)); + state_save_register_device_item(device, 0, sharc.mrf); + state_save_register_device_item(device, 0, sharc.mrb); - state_save_register_item_array("sharc", device->tag, 0, sharc.pcstack); - state_save_register_item_array("sharc", device->tag, 0, sharc.lcstack); - state_save_register_item_array("sharc", device->tag, 0, sharc.lastack); - state_save_register_item("sharc", device->tag, 0, sharc.lstkp); + state_save_register_device_item_array(device, 0, sharc.pcstack); + state_save_register_device_item_array(device, 0, sharc.lcstack); + state_save_register_device_item_array(device, 0, sharc.lastack); + state_save_register_device_item(device, 0, sharc.lstkp); - state_save_register_item("sharc", device->tag, 0, sharc.faddr); - state_save_register_item("sharc", device->tag, 0, sharc.daddr); - state_save_register_item("sharc", device->tag, 0, sharc.pcstk); - state_save_register_item("sharc", device->tag, 0, sharc.pcstkp); - state_save_register_item("sharc", device->tag, 0, sharc.laddr); - state_save_register_item("sharc", device->tag, 0, sharc.curlcntr); - state_save_register_item("sharc", device->tag, 0, sharc.lcntr); + state_save_register_device_item(device, 0, sharc.faddr); + state_save_register_device_item(device, 0, sharc.daddr); + state_save_register_device_item(device, 0, sharc.pcstk); + state_save_register_device_item(device, 0, sharc.pcstkp); + state_save_register_device_item(device, 0, sharc.laddr); + state_save_register_device_item(device, 0, sharc.curlcntr); + state_save_register_device_item(device, 0, sharc.lcntr); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag1.i); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag1.m); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag1.b); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag1.l); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag2.i); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag2.m); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag2.b); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag2.l); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag1_alt.i); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag1_alt.m); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag1_alt.b); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag1_alt.l); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag2_alt.i); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag2_alt.m); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag2_alt.b); - state_save_register_item_array("sharc", device->tag, 0, sharc.dag2_alt.l); + state_save_register_device_item_array(device, 0, sharc.dag1.i); + state_save_register_device_item_array(device, 0, sharc.dag1.m); + state_save_register_device_item_array(device, 0, sharc.dag1.b); + state_save_register_device_item_array(device, 0, sharc.dag1.l); + state_save_register_device_item_array(device, 0, sharc.dag2.i); + state_save_register_device_item_array(device, 0, sharc.dag2.m); + state_save_register_device_item_array(device, 0, sharc.dag2.b); + state_save_register_device_item_array(device, 0, sharc.dag2.l); + state_save_register_device_item_array(device, 0, sharc.dag1_alt.i); + state_save_register_device_item_array(device, 0, sharc.dag1_alt.m); + state_save_register_device_item_array(device, 0, sharc.dag1_alt.b); + state_save_register_device_item_array(device, 0, sharc.dag1_alt.l); + state_save_register_device_item_array(device, 0, sharc.dag2_alt.i); + state_save_register_device_item_array(device, 0, sharc.dag2_alt.m); + state_save_register_device_item_array(device, 0, sharc.dag2_alt.b); + state_save_register_device_item_array(device, 0, sharc.dag2_alt.l); for (saveindex = 0; saveindex < ARRAY_LENGTH(sharc.dma); saveindex++) { - state_save_register_item("sharc", device->tag, saveindex, sharc.dma[saveindex].control); - state_save_register_item("sharc", device->tag, saveindex, sharc.dma[saveindex].int_index); - state_save_register_item("sharc", device->tag, saveindex, sharc.dma[saveindex].int_modifier); - state_save_register_item("sharc", device->tag, saveindex, sharc.dma[saveindex].int_count); - state_save_register_item("sharc", device->tag, saveindex, sharc.dma[saveindex].chain_ptr); - state_save_register_item("sharc", device->tag, saveindex, sharc.dma[saveindex].gen_purpose); - state_save_register_item("sharc", device->tag, saveindex, sharc.dma[saveindex].ext_index); - state_save_register_item("sharc", device->tag, saveindex, sharc.dma[saveindex].ext_modifier); - state_save_register_item("sharc", device->tag, saveindex, sharc.dma[saveindex].ext_count); + state_save_register_device_item(device, saveindex, sharc.dma[saveindex].control); + state_save_register_device_item(device, saveindex, sharc.dma[saveindex].int_index); + state_save_register_device_item(device, saveindex, sharc.dma[saveindex].int_modifier); + state_save_register_device_item(device, saveindex, sharc.dma[saveindex].int_count); + state_save_register_device_item(device, saveindex, sharc.dma[saveindex].chain_ptr); + state_save_register_device_item(device, saveindex, sharc.dma[saveindex].gen_purpose); + state_save_register_device_item(device, saveindex, sharc.dma[saveindex].ext_index); + state_save_register_device_item(device, saveindex, sharc.dma[saveindex].ext_modifier); + state_save_register_device_item(device, saveindex, sharc.dma[saveindex].ext_count); } - state_save_register_item("sharc", device->tag, 0, sharc.mode1); - state_save_register_item("sharc", device->tag, 0, sharc.mode2); - state_save_register_item("sharc", device->tag, 0, sharc.astat); - state_save_register_item("sharc", device->tag, 0, sharc.stky); - state_save_register_item("sharc", device->tag, 0, sharc.irptl); - state_save_register_item("sharc", device->tag, 0, sharc.imask); - state_save_register_item("sharc", device->tag, 0, sharc.imaskp); - state_save_register_item("sharc", device->tag, 0, sharc.ustat1); - state_save_register_item("sharc", device->tag, 0, sharc.ustat2); + state_save_register_device_item(device, 0, sharc.mode1); + state_save_register_device_item(device, 0, sharc.mode2); + state_save_register_device_item(device, 0, sharc.astat); + state_save_register_device_item(device, 0, sharc.stky); + state_save_register_device_item(device, 0, sharc.irptl); + state_save_register_device_item(device, 0, sharc.imask); + state_save_register_device_item(device, 0, sharc.imaskp); + state_save_register_device_item(device, 0, sharc.ustat1); + state_save_register_device_item(device, 0, sharc.ustat2); - state_save_register_item_array("sharc", device->tag, 0, sharc.flag); + state_save_register_device_item_array(device, 0, sharc.flag); - state_save_register_item("sharc", device->tag, 0, sharc.syscon); - state_save_register_item("sharc", device->tag, 0, sharc.sysstat); + state_save_register_device_item(device, 0, sharc.syscon); + state_save_register_device_item(device, 0, sharc.sysstat); for (saveindex = 0; saveindex < ARRAY_LENGTH(sharc.status_stack); saveindex++) { - state_save_register_item("sharc", device->tag, saveindex, sharc.status_stack[saveindex].mode1); - state_save_register_item("sharc", device->tag, saveindex, sharc.status_stack[saveindex].astat); + state_save_register_device_item(device, saveindex, sharc.status_stack[saveindex].mode1); + state_save_register_device_item(device, saveindex, sharc.status_stack[saveindex].astat); } - state_save_register_item("sharc", device->tag, 0, sharc.status_stkp); + state_save_register_device_item(device, 0, sharc.status_stkp); - state_save_register_item("sharc", device->tag, 0, sharc.px); + state_save_register_device_item(device, 0, sharc.px); - state_save_register_item_pointer("sharc", device->tag, 0, sharc.internal_ram, 2 * 0x10000); + state_save_register_device_item_pointer(device, 0, sharc.internal_ram, 2 * 0x10000); - state_save_register_item("sharc", device->tag, 0, sharc.opcode); - state_save_register_item("sharc", device->tag, 0, sharc.fetch_opcode); - state_save_register_item("sharc", device->tag, 0, sharc.decode_opcode); + state_save_register_device_item(device, 0, sharc.opcode); + state_save_register_device_item(device, 0, sharc.fetch_opcode); + state_save_register_device_item(device, 0, sharc.decode_opcode); - state_save_register_item("sharc", device->tag, 0, sharc.nfaddr); + state_save_register_device_item(device, 0, sharc.nfaddr); - state_save_register_item("sharc", device->tag, 0, sharc.idle); - state_save_register_item("sharc", device->tag, 0, sharc.irq_active); - state_save_register_item("sharc", device->tag, 0, sharc.active_irq_num); + state_save_register_device_item(device, 0, sharc.idle); + state_save_register_device_item(device, 0, sharc.irq_active); + state_save_register_device_item(device, 0, sharc.active_irq_num); - state_save_register_item("sharc", device->tag, 0, sharc.dmaop_src); - state_save_register_item("sharc", device->tag, 0, sharc.dmaop_dst); - state_save_register_item("sharc", device->tag, 0, sharc.dmaop_chain_ptr); - state_save_register_item("sharc", device->tag, 0, sharc.dmaop_src_modifier); - state_save_register_item("sharc", device->tag, 0, sharc.dmaop_dst_modifier); - state_save_register_item("sharc", device->tag, 0, sharc.dmaop_src_count); - state_save_register_item("sharc", device->tag, 0, sharc.dmaop_dst_count); - state_save_register_item("sharc", device->tag, 0, sharc.dmaop_pmode); - state_save_register_item("sharc", device->tag, 0, sharc.dmaop_cycles); - state_save_register_item("sharc", device->tag, 0, sharc.dmaop_channel); - state_save_register_item("sharc", device->tag, 0, sharc.dmaop_chained_direction); + state_save_register_device_item(device, 0, sharc.dmaop_src); + state_save_register_device_item(device, 0, sharc.dmaop_dst); + state_save_register_device_item(device, 0, sharc.dmaop_chain_ptr); + state_save_register_device_item(device, 0, sharc.dmaop_src_modifier); + state_save_register_device_item(device, 0, sharc.dmaop_dst_modifier); + state_save_register_device_item(device, 0, sharc.dmaop_src_count); + state_save_register_device_item(device, 0, sharc.dmaop_dst_count); + state_save_register_device_item(device, 0, sharc.dmaop_pmode); + state_save_register_device_item(device, 0, sharc.dmaop_cycles); + state_save_register_device_item(device, 0, sharc.dmaop_channel); + state_save_register_device_item(device, 0, sharc.dmaop_chained_direction); - state_save_register_item("sharc", device->tag, 0, sharc.interrupt_active); + state_save_register_device_item(device, 0, sharc.interrupt_active); - state_save_register_item("sharc", device->tag, 0, sharc.iop_latency_cycles); - state_save_register_item("sharc", device->tag, 0, sharc.iop_latency_reg); - state_save_register_item("sharc", device->tag, 0, sharc.iop_latency_data); + state_save_register_device_item(device, 0, sharc.iop_latency_cycles); + state_save_register_device_item(device, 0, sharc.iop_latency_reg); + state_save_register_device_item(device, 0, sharc.iop_latency_data); - state_save_register_item("sharc", device->tag, 0, sharc.delay_slot1); - state_save_register_item("sharc", device->tag, 0, sharc.delay_slot2); + state_save_register_device_item(device, 0, sharc.delay_slot1); + state_save_register_device_item(device, 0, sharc.delay_slot2); - state_save_register_item("sharc", device->tag, 0, sharc.systemreg_latency_cycles); - state_save_register_item("sharc", device->tag, 0, sharc.systemreg_latency_reg); - state_save_register_item("sharc", device->tag, 0, sharc.systemreg_latency_data); - state_save_register_item("sharc", device->tag, 0, sharc.systemreg_previous_data); + state_save_register_device_item(device, 0, sharc.systemreg_latency_cycles); + state_save_register_device_item(device, 0, sharc.systemreg_latency_reg); + state_save_register_device_item(device, 0, sharc.systemreg_latency_data); + state_save_register_device_item(device, 0, sharc.systemreg_previous_data); - state_save_register_item("sharc", device->tag, 0, sharc.astat_old); - state_save_register_item("sharc", device->tag, 0, sharc.astat_old_old); - state_save_register_item("sharc", device->tag, 0, sharc.astat_old_old_old); + state_save_register_device_item(device, 0, sharc.astat_old); + state_save_register_device_item(device, 0, sharc.astat_old_old); + state_save_register_device_item(device, 0, sharc.astat_old_old_old); } static CPU_RESET( sharc ) diff --git a/src/emu/cpu/ssp1601/ssp1601.c b/src/emu/cpu/ssp1601/ssp1601.c index 95f7179158e..8eb192fdaec 100644 --- a/src/emu/cpu/ssp1601/ssp1601.c +++ b/src/emu/cpu/ssp1601/ssp1601.c @@ -504,17 +504,17 @@ static CPU_INIT( ssp1601 ) { ssp1601_state_t *ssp1601_state = device->token; - state_save_register_item(CHIP_NAME, device->tag, 0, rX); - state_save_register_item(CHIP_NAME, device->tag, 0, rY); - state_save_register_item(CHIP_NAME, device->tag, 0, rA32); - state_save_register_item(CHIP_NAME, device->tag, 0, rST); - state_save_register_item(CHIP_NAME, device->tag, 0, rSTACK); - state_save_register_item(CHIP_NAME, device->tag, 0, rPC); - state_save_register_item(CHIP_NAME, device->tag, 0, rP.d); - state_save_register_item(CHIP_NAME, device->tag, 0, PPC); - state_save_register_item_array(CHIP_NAME, device->tag, 0, ssp1601_state->stack); - state_save_register_item_array(CHIP_NAME, device->tag, 0, ssp1601_state->r); - state_save_register_item_array(CHIP_NAME, device->tag, 0, ssp1601_state->RAM); + state_save_register_device_item(device, 0, rX); + state_save_register_device_item(device, 0, rY); + state_save_register_device_item(device, 0, rA32); + state_save_register_device_item(device, 0, rST); + state_save_register_device_item(device, 0, rSTACK); + state_save_register_device_item(device, 0, rPC); + state_save_register_device_item(device, 0, rP.d); + state_save_register_device_item(device, 0, PPC); + state_save_register_device_item_array(device, 0, ssp1601_state->stack); + state_save_register_device_item_array(device, 0, ssp1601_state->r); + state_save_register_device_item_array(device, 0, ssp1601_state->RAM); /* clear the state */ memset(ssp1601_state, 0, sizeof(ssp1601_state_t)); diff --git a/src/emu/cpu/t11/t11.c b/src/emu/cpu/t11/t11.c index 8b52d20f021..c7219d1a1db 100644 --- a/src/emu/cpu/t11/t11.c +++ b/src/emu/cpu/t11/t11.c @@ -277,19 +277,19 @@ static CPU_INIT( t11 ) cpustate->device = device; cpustate->program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); - state_save_register_item("t11", device->tag, 0, cpustate->ppc.w.l); - state_save_register_item("t11", device->tag, 0, cpustate->reg[0].w.l); - state_save_register_item("t11", device->tag, 0, cpustate->reg[1].w.l); - state_save_register_item("t11", device->tag, 0, cpustate->reg[2].w.l); - state_save_register_item("t11", device->tag, 0, cpustate->reg[3].w.l); - state_save_register_item("t11", device->tag, 0, cpustate->reg[4].w.l); - state_save_register_item("t11", device->tag, 0, cpustate->reg[5].w.l); - state_save_register_item("t11", device->tag, 0, cpustate->reg[6].w.l); - state_save_register_item("t11", device->tag, 0, cpustate->reg[7].w.l); - state_save_register_item("t11", device->tag, 0, cpustate->psw.w.l); - state_save_register_item("t11", device->tag, 0, cpustate->initial_pc); - state_save_register_item("t11", device->tag, 0, cpustate->wait_state); - state_save_register_item("t11", device->tag, 0, cpustate->irq_state); + state_save_register_device_item(device, 0, cpustate->ppc.w.l); + state_save_register_device_item(device, 0, cpustate->reg[0].w.l); + state_save_register_device_item(device, 0, cpustate->reg[1].w.l); + state_save_register_device_item(device, 0, cpustate->reg[2].w.l); + state_save_register_device_item(device, 0, cpustate->reg[3].w.l); + state_save_register_device_item(device, 0, cpustate->reg[4].w.l); + state_save_register_device_item(device, 0, cpustate->reg[5].w.l); + state_save_register_device_item(device, 0, cpustate->reg[6].w.l); + state_save_register_device_item(device, 0, cpustate->reg[7].w.l); + state_save_register_device_item(device, 0, cpustate->psw.w.l); + state_save_register_device_item(device, 0, cpustate->initial_pc); + state_save_register_device_item(device, 0, cpustate->wait_state); + state_save_register_device_item(device, 0, cpustate->irq_state); } diff --git a/src/emu/cpu/tlcs90/tlcs90.c b/src/emu/cpu/tlcs90/tlcs90.c index baf436fccd5..2520a1e5b69 100644 --- a/src/emu/cpu/tlcs90/tlcs90.c +++ b/src/emu/cpu/tlcs90/tlcs90.c @@ -2619,7 +2619,7 @@ static CPU_INIT( t90 ) { int i, p; -// state_save_register_item("z80", device->tag, 0, Z80.prvpc.w.l); +// state_save_register_device_item(device, 0, Z80.prvpc.w.l); for (i = 0; i < 256; i++) { diff --git a/src/emu/cpu/tms32010/tms32010.c b/src/emu/cpu/tms32010/tms32010.c index c337adeb114..16fb6b846d1 100644 --- a/src/emu/cpu/tms32010/tms32010.c +++ b/src/emu/cpu/tms32010/tms32010.c @@ -715,21 +715,21 @@ static const opcode_fn opcode_7F_other[32]= ****************************************************************************/ static CPU_INIT( tms32010 ) { - state_save_register_item("tms32010", device->tag, 0, R.PC); - state_save_register_item("tms32010", device->tag, 0, R.PREVPC); - state_save_register_item("tms32010", device->tag, 0, R.STR); - state_save_register_item("tms32010", device->tag, 0, R.ACC.d); - state_save_register_item("tms32010", device->tag, 0, R.ALU.d); - state_save_register_item("tms32010", device->tag, 0, R.Preg.d); - state_save_register_item("tms32010", device->tag, 0, R.Treg); - state_save_register_item("tms32010", device->tag, 0, R.AR[0]); - state_save_register_item("tms32010", device->tag, 0, R.AR[1]); - state_save_register_item("tms32010", device->tag, 0, R.STACK[0]); - state_save_register_item("tms32010", device->tag, 0, R.STACK[1]); - state_save_register_item("tms32010", device->tag, 0, R.STACK[2]); - state_save_register_item("tms32010", device->tag, 0, R.STACK[3]); - state_save_register_item("tms32010", device->tag, 0, R.INTF); - state_save_register_item("tms32010", device->tag, 0, R.opcode.d); + state_save_register_device_item(device, 0, R.PC); + state_save_register_device_item(device, 0, R.PREVPC); + state_save_register_device_item(device, 0, R.STR); + state_save_register_device_item(device, 0, R.ACC.d); + state_save_register_device_item(device, 0, R.ALU.d); + state_save_register_device_item(device, 0, R.Preg.d); + state_save_register_device_item(device, 0, R.Treg); + state_save_register_device_item(device, 0, R.AR[0]); + state_save_register_device_item(device, 0, R.AR[1]); + state_save_register_device_item(device, 0, R.STACK[0]); + state_save_register_device_item(device, 0, R.STACK[1]); + state_save_register_device_item(device, 0, R.STACK[2]); + state_save_register_device_item(device, 0, R.STACK[3]); + state_save_register_device_item(device, 0, R.INTF); + state_save_register_device_item(device, 0, R.opcode.d); R.device = device; R.program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); diff --git a/src/emu/cpu/tms32025/tms32025.c b/src/emu/cpu/tms32025/tms32025.c index 1ede426e67f..4147180b2fe 100644 --- a/src/emu/cpu/tms32025/tms32025.c +++ b/src/emu/cpu/tms32025/tms32025.c @@ -1740,38 +1740,38 @@ static CPU_INIT( tms32025 ) R.data = memory_find_address_space(device, ADDRESS_SPACE_DATA); R.io = memory_find_address_space(device, ADDRESS_SPACE_IO); - state_save_register_item("tms32025", device->tag, 0, R.PC); - state_save_register_item("tms32025", device->tag, 0, R.STR0); - state_save_register_item("tms32025", device->tag, 0, R.STR1); - state_save_register_item("tms32025", device->tag, 0, R.PFC); - state_save_register_item("tms32025", device->tag, 0, R.IFR); - state_save_register_item("tms32025", device->tag, 0, R.RPTC); - state_save_register_item("tms32025", device->tag, 0, R.ACC.d); - state_save_register_item("tms32025", device->tag, 0, R.ALU.d); - state_save_register_item("tms32025", device->tag, 0, R.Preg.d); - state_save_register_item("tms32025", device->tag, 0, R.Treg); - state_save_register_item("tms32025", device->tag, 0, R.AR[0]); - state_save_register_item("tms32025", device->tag, 0, R.AR[1]); - state_save_register_item("tms32025", device->tag, 0, R.AR[2]); - state_save_register_item("tms32025", device->tag, 0, R.AR[3]); - state_save_register_item("tms32025", device->tag, 0, R.AR[4]); - state_save_register_item("tms32025", device->tag, 0, R.AR[5]); - state_save_register_item("tms32025", device->tag, 0, R.AR[6]); - state_save_register_item("tms32025", device->tag, 0, R.AR[7]); - state_save_register_item("tms32025", device->tag, 0, R.STACK[0]); - state_save_register_item("tms32025", device->tag, 0, R.STACK[1]); - state_save_register_item("tms32025", device->tag, 0, R.STACK[2]); - state_save_register_item("tms32025", device->tag, 0, R.STACK[3]); - state_save_register_item("tms32025", device->tag, 0, R.STACK[4]); - state_save_register_item("tms32025", device->tag, 0, R.STACK[5]); - state_save_register_item("tms32025", device->tag, 0, R.STACK[6]); - state_save_register_item("tms32025", device->tag, 0, R.STACK[7]); + state_save_register_device_item(device, 0, R.PC); + state_save_register_device_item(device, 0, R.STR0); + state_save_register_device_item(device, 0, R.STR1); + state_save_register_device_item(device, 0, R.PFC); + state_save_register_device_item(device, 0, R.IFR); + state_save_register_device_item(device, 0, R.RPTC); + state_save_register_device_item(device, 0, R.ACC.d); + state_save_register_device_item(device, 0, R.ALU.d); + state_save_register_device_item(device, 0, R.Preg.d); + state_save_register_device_item(device, 0, R.Treg); + state_save_register_device_item(device, 0, R.AR[0]); + state_save_register_device_item(device, 0, R.AR[1]); + state_save_register_device_item(device, 0, R.AR[2]); + state_save_register_device_item(device, 0, R.AR[3]); + state_save_register_device_item(device, 0, R.AR[4]); + state_save_register_device_item(device, 0, R.AR[5]); + state_save_register_device_item(device, 0, R.AR[6]); + state_save_register_device_item(device, 0, R.AR[7]); + state_save_register_device_item(device, 0, R.STACK[0]); + state_save_register_device_item(device, 0, R.STACK[1]); + state_save_register_device_item(device, 0, R.STACK[2]); + state_save_register_device_item(device, 0, R.STACK[3]); + state_save_register_device_item(device, 0, R.STACK[4]); + state_save_register_device_item(device, 0, R.STACK[5]); + state_save_register_device_item(device, 0, R.STACK[6]); + state_save_register_device_item(device, 0, R.STACK[7]); - state_save_register_item("tms32025", device->tag, 0, R.idle); - state_save_register_item("tms32025", device->tag, 0, R.hold); - state_save_register_item("tms32025", device->tag, 0, R.external_mem_access); - state_save_register_item("tms32025", device->tag, 0, R.init_load_addr); - state_save_register_item("tms32025", device->tag, 0, R.PREVPC); + state_save_register_device_item(device, 0, R.idle); + state_save_register_device_item(device, 0, R.hold); + state_save_register_device_item(device, 0, R.external_mem_access); + state_save_register_device_item(device, 0, R.init_load_addr); + state_save_register_device_item(device, 0, R.PREVPC); } /**************************************************************************** diff --git a/src/emu/cpu/tms32031/tms32031.c b/src/emu/cpu/tms32031/tms32031.c index 4eea4ad7bfc..2b35b8cf80d 100644 --- a/src/emu/cpu/tms32031/tms32031.c +++ b/src/emu/cpu/tms32031/tms32031.c @@ -387,15 +387,15 @@ static CPU_INIT( tms32031 ) tms->iack_w = configdata->iack_w; } - state_save_register_item("tms32031", device->tag, 0, tms->pc); + state_save_register_device_item(device, 0, tms->pc); for (i = 0; i < 36; i++) - state_save_register_generic("tms32031", device->tag, i, "reg", tms->r[i].i8, UINT8, 8); - state_save_register_item("tms32031", device->tag, 0, tms->bkmask); - state_save_register_item("tms32031", device->tag, 0, tms->irq_state); - state_save_register_item("tms32031", device->tag, 0, tms->delayed); - state_save_register_item("tms32031", device->tag, 0, tms->irq_pending); - state_save_register_item("tms32031", device->tag, 0, tms->mcu_mode); - state_save_register_item("tms32031", device->tag, 0, tms->is_idling); + state_save_register_generic(device->machine, "tms32031", device->tag, i, "reg", tms->r[i].i8, UINT8, 8); + state_save_register_device_item(device, 0, tms->bkmask); + state_save_register_device_item(device, 0, tms->irq_state); + state_save_register_device_item(device, 0, tms->delayed); + state_save_register_device_item(device, 0, tms->irq_pending); + state_save_register_device_item(device, 0, tms->mcu_mode); + state_save_register_device_item(device, 0, tms->is_idling); } static CPU_RESET( tms32031 ) diff --git a/src/emu/cpu/tms34010/tms34010.c b/src/emu/cpu/tms34010/tms34010.c index 1fd2d5a30bb..639614a99be 100644 --- a/src/emu/cpu/tms34010/tms34010.c +++ b/src/emu/cpu/tms34010/tms34010.c @@ -633,17 +633,17 @@ static CPU_INIT( tms34010 ) /* allocate the shiftreg */ tms->shiftreg = auto_malloc(SHIFTREG_SIZE); - state_save_register_item("tms34010", device->tag, 0, tms->pc); - state_save_register_item("tms34010", device->tag, 0, tms->st); - state_save_register_item("tms34010", device->tag, 0, tms->reset_deferred); - state_save_register_item_pointer("tms34010", device->tag, 0, tms->shiftreg, SHIFTREG_SIZE / 2); - state_save_register_item_array("tms34010", device->tag, 0, tms->IOregs); - state_save_register_item("tms34010", device->tag, 0, tms->convsp); - state_save_register_item("tms34010", device->tag, 0, tms->convdp); - state_save_register_item("tms34010", device->tag, 0, tms->convmp); - state_save_register_item("tms34010", device->tag, 0, tms->pixelshift); - state_save_register_item("tms34010", device->tag, 0, tms->gfxcycles); - state_save_register_item_pointer("tms34010", device->tag, 0, (&tms->regs[0].reg), ARRAY_LENGTH(tms->regs)); + state_save_register_device_item(device, 0, tms->pc); + state_save_register_device_item(device, 0, tms->st); + state_save_register_device_item(device, 0, tms->reset_deferred); + state_save_register_device_item_pointer(device, 0, tms->shiftreg, SHIFTREG_SIZE / 2); + state_save_register_device_item_array(device, 0, tms->IOregs); + state_save_register_device_item(device, 0, tms->convsp); + state_save_register_device_item(device, 0, tms->convdp); + state_save_register_device_item(device, 0, tms->convmp); + state_save_register_device_item(device, 0, tms->pixelshift); + state_save_register_device_item(device, 0, tms->gfxcycles); + state_save_register_device_item_pointer(device, 0, (&tms->regs[0].reg), ARRAY_LENGTH(tms->regs)); state_save_register_postload(device->machine, tms34010_state_postload, tms); } @@ -1107,12 +1107,16 @@ VIDEO_UPDATE( tms340x0 ) for (cpunum = 0; cpunum < ARRAY_LENGTH(screen->machine->cpu); cpunum++) { const device_config *cpudevice = screen->machine->cpu[cpunum]; - if (cpudevice != NULL && (cpudevice->type == (device_type)CPU_TMS34010 || cpudevice->type == (device_type)CPU_TMS34020)) + if (cpudevice != NULL) { - tms = cpudevice->token; - if (tms->config != NULL && tms->config->scanline_callback != NULL && tms->screen == screen) - break; - tms = NULL; + const cpu_class_header *classdata = cpudevice->classtoken; + if (classdata->cputype == CPU_TMS34010 || classdata->cputype == CPU_TMS34020) + { + tms = cpudevice->token; + if (tms->config != NULL && tms->config->scanline_callback != NULL && tms->screen == screen) + break; + tms = NULL; + } } } if (tms == NULL) diff --git a/src/emu/cpu/tms7000/tms7000.c b/src/emu/cpu/tms7000/tms7000.c index ce94aa2f70b..36afb9ace24 100644 --- a/src/emu/cpu/tms7000/tms7000.c +++ b/src/emu/cpu/tms7000/tms7000.c @@ -195,23 +195,23 @@ static CPU_INIT( tms7000 ) memset(tms7000.rf, 0, 0x80); /* Save register state */ - state_save_register_item("tms7000", device->tag, 0, pPC); - state_save_register_item("tms7000", device->tag, 0, pSP); - state_save_register_item("tms7000", device->tag, 0, pSR); + state_save_register_device_item(device, 0, pPC); + state_save_register_device_item(device, 0, pSP); + state_save_register_device_item(device, 0, pSR); /* Save Interrupt state */ - state_save_register_item_array("tms7000", device->tag, 0, tms7000.irq_state); + state_save_register_device_item_array(device, 0, tms7000.irq_state); /* Save register and perpherial file state */ - state_save_register_item_array("tms7000", device->tag, 0, tms7000.rf); - state_save_register_item_array("tms7000", device->tag, 0, tms7000.pf); + state_save_register_device_item_array(device, 0, tms7000.rf); + state_save_register_device_item_array(device, 0, tms7000.pf); /* Save timer state */ - state_save_register_item("tms7000", device->tag, 0, tms7000.t1_prescaler); - state_save_register_item("tms7000", device->tag, 0, tms7000.t1_capture_latch); - state_save_register_item("tms7000", device->tag, 0, tms7000.t1_decrementer); + state_save_register_device_item(device, 0, tms7000.t1_prescaler); + state_save_register_device_item(device, 0, tms7000.t1_capture_latch); + state_save_register_device_item(device, 0, tms7000.t1_decrementer); - state_save_register_item("tms7000", device->tag, 0, tms7000.idle_state); + state_save_register_device_item(device, 0, tms7000.idle_state); } static CPU_RESET( tms7000 ) diff --git a/src/emu/cpu/tms9900/99xxcore.h b/src/emu/cpu/tms9900/99xxcore.h index eef5fc1d9ba..63c6a3b8890 100644 --- a/src/emu/cpu/tms9900/99xxcore.h +++ b/src/emu/cpu/tms9900/99xxcore.h @@ -1207,76 +1207,76 @@ static void set_flag1(int val); static void register_for_save_state(const device_config *device) { - state_save_register_item("tms99xx", device->tag, 0, I.WP); - state_save_register_item("tms99xx", device->tag, 0, I.PC); - state_save_register_item("tms99xx", device->tag, 0, I.STATUS); - state_save_register_item("tms99xx", device->tag, 0, I.interrupt_pending); + state_save_register_device_item(device, 0, I.WP); + state_save_register_device_item(device, 0, I.PC); + state_save_register_device_item(device, 0, I.STATUS); + state_save_register_device_item(device, 0, I.interrupt_pending); #if ! ((TMS99XX_MODEL == TMS9940_ID) || (TMS99XX_MODEL == TMS9985_ID)) - state_save_register_item("tms99xx", device->tag, 0, I.load_state); + state_save_register_device_item(device, 0, I.load_state); #endif #if (TMS99XX_MODEL == TI990_10_ID) || (TMS99XX_MODEL == TMS9900_ID) || (TMS99XX_MODEL == TMS9980_ID) - state_save_register_item("tms99xx", device->tag, 0, I.irq_level); - state_save_register_item("tms99xx", device->tag, 0, I.irq_state); + state_save_register_device_item(device, 0, I.irq_level); + state_save_register_device_item(device, 0, I.irq_state); #elif (TMS99XX_MODEL == TMS9995_ID) - state_save_register_item("tms99xx", device->tag, 0, I.irq_level); - state_save_register_item("tms99xx", device->tag, 0, I.int_state); - state_save_register_item("tms99xx", device->tag, 0, I.int_latch); + state_save_register_device_item(device, 0, I.irq_level); + state_save_register_device_item(device, 0, I.int_state); + state_save_register_device_item(device, 0, I.int_latch); #endif - state_save_register_item("tms99xx", device->tag, 0, I.IDLE); + state_save_register_device_item(device, 0, I.IDLE); #if HAS_MAPPING - state_save_register_item("tms99xx", device->tag, 0, I.mapping_on); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[0].L); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[0].B); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[0].limit); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[0].bias); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[1].L); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[1].B); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[1].limit); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[1].bias); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[2].L); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[2].B); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[2].limit); - state_save_register_item_array("tms99xx", device->tag, 0, I.map_files[2].bias); - state_save_register_item("tms99xx", device->tag, 0, I.cur_map); - state_save_register_item("tms99xx", device->tag, 0, I.cur_src_map); - state_save_register_item("tms99xx", device->tag, 0, I.cur_dst_map); + state_save_register_device_item(device, 0, I.mapping_on); + state_save_register_device_item_array(device, 0, I.map_files[0].L); + state_save_register_device_item_array(device, 0, I.map_files[0].B); + state_save_register_device_item_array(device, 0, I.map_files[0].limit); + state_save_register_device_item_array(device, 0, I.map_files[0].bias); + state_save_register_device_item_array(device, 0, I.map_files[1].L); + state_save_register_device_item_array(device, 0, I.map_files[1].B); + state_save_register_device_item_array(device, 0, I.map_files[1].limit); + state_save_register_device_item_array(device, 0, I.map_files[1].bias); + state_save_register_device_item_array(device, 0, I.map_files[2].L); + state_save_register_device_item_array(device, 0, I.map_files[2].B); + state_save_register_device_item_array(device, 0, I.map_files[2].limit); + state_save_register_device_item_array(device, 0, I.map_files[2].bias); + state_save_register_device_item(device, 0, I.cur_map); + state_save_register_device_item(device, 0, I.cur_src_map); + state_save_register_device_item(device, 0, I.cur_dst_map); #if (TMS99XX_MODEL == TI990_10_ID) - state_save_register_item("tms99xx", device->tag, 0, I.reset_maperr); - state_save_register_item("tms99xx", device->tag, 0, I.mapper_address_latch); - state_save_register_item("tms99xx", device->tag, 0, I.mapper_cru_read_register); - state_save_register_item("tms99xx", device->tag, 0, I.diaglat); - state_save_register_item_array("tms99xx", device->tag, 0, I.latch_control); + state_save_register_device_item(device, 0, I.reset_maperr); + state_save_register_device_item(device, 0, I.mapper_address_latch); + state_save_register_device_item(device, 0, I.mapper_cru_read_register); + state_save_register_device_item(device, 0, I.diaglat); + state_save_register_device_item_array(device, 0, I.latch_control); #endif #endif #if (TMS99XX_MODEL == TI990_10_ID) - state_save_register_item("tms99xx", device->tag, 0, I.error_interrupt_register); + state_save_register_device_item(device, 0, I.error_interrupt_register); #endif #if (TMS99XX_MODEL == TMS9985_ID) || (TMS99XX_MODEL == TMS9995_ID) - state_save_register_item_array("tms99xx", device->tag, 0, I.RAM); + state_save_register_device_item_array(device, 0, I.RAM); #endif #if (TMS99XX_MODEL == TMS9940_ID) || (TMS99XX_MODEL == TMS9985_ID) || (TMS99XX_MODEL == TMS9995_ID) - state_save_register_item("tms99xx", device->tag, 0, I.decrementer_enabled); - state_save_register_item("tms99xx", device->tag, 0, I.decrementer_interval); - state_save_register_item("tms99xx", device->tag, 0, I.decrementer_count); + state_save_register_device_item(device, 0, I.decrementer_enabled); + state_save_register_device_item(device, 0, I.decrementer_interval); + state_save_register_device_item(device, 0, I.decrementer_count); #endif #if (TMS99XX_MODEL == TMS9995_ID) - state_save_register_item("tms99xx", device->tag, 0, I.flag); - state_save_register_item("tms99xx", device->tag, 0, I.MID_flag); - state_save_register_item("tms99xx", device->tag, 0, I.memory_wait_states_byte); - state_save_register_item("tms99xx", device->tag, 0, I.memory_wait_states_word); - state_save_register_item("tms99xx", device->tag, 0, I.is_mp9537); + state_save_register_device_item(device, 0, I.flag); + state_save_register_device_item(device, 0, I.MID_flag); + state_save_register_device_item(device, 0, I.memory_wait_states_byte); + state_save_register_device_item(device, 0, I.memory_wait_states_word); + state_save_register_device_item(device, 0, I.is_mp9537); #endif - state_save_register_item("tms99xx", device->tag, 0, I.disable_interrupt_recognition); + state_save_register_device_item(device, 0, I.disable_interrupt_recognition); } diff --git a/src/emu/cpu/upd7810/upd7810.c b/src/emu/cpu/upd7810/upd7810.c index d48ab4aeeae..bc652799f54 100644 --- a/src/emu/cpu/upd7810/upd7810.c +++ b/src/emu/cpu/upd7810/upd7810.c @@ -1535,68 +1535,68 @@ static CPU_INIT( upd7810 ) upd7810.program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); upd7810.io = memory_find_address_space(device, ADDRESS_SPACE_IO); - state_save_register_item("upd7810", device->tag, 0, upd7810.ppc.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.pc.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.sp.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.psw); - state_save_register_item("upd7810", device->tag, 0, upd7810.op); - state_save_register_item("upd7810", device->tag, 0, upd7810.op2); - state_save_register_item("upd7810", device->tag, 0, upd7810.iff); - state_save_register_item("upd7810", device->tag, 0, upd7810.ea.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.va.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.bc.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.de.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.hl.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.ea2.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.va2.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.bc2.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.de2.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.hl2.w.l); - state_save_register_item("upd7810", device->tag, 0, upd7810.cnt.d); - state_save_register_item("upd7810", device->tag, 0, upd7810.tm.d); - state_save_register_item("upd7810", device->tag, 0, upd7810.ecnt.d); - state_save_register_item("upd7810", device->tag, 0, upd7810.etm.d); - state_save_register_item("upd7810", device->tag, 0, upd7810.ma); - state_save_register_item("upd7810", device->tag, 0, upd7810.mb); - state_save_register_item("upd7810", device->tag, 0, upd7810.mcc); - state_save_register_item("upd7810", device->tag, 0, upd7810.mc); - state_save_register_item("upd7810", device->tag, 0, upd7810.mm); - state_save_register_item("upd7810", device->tag, 0, upd7810.mf); - state_save_register_item("upd7810", device->tag, 0, upd7810.tmm); - state_save_register_item("upd7810", device->tag, 0, upd7810.etmm); - state_save_register_item("upd7810", device->tag, 0, upd7810.eom); - state_save_register_item("upd7810", device->tag, 0, upd7810.sml); - state_save_register_item("upd7810", device->tag, 0, upd7810.smh); - state_save_register_item("upd7810", device->tag, 0, upd7810.anm); - state_save_register_item("upd7810", device->tag, 0, upd7810.mkl); - state_save_register_item("upd7810", device->tag, 0, upd7810.mkh); - state_save_register_item("upd7810", device->tag, 0, upd7810.zcm); - state_save_register_item("upd7810", device->tag, 0, upd7810.pa_out); - state_save_register_item("upd7810", device->tag, 0, upd7810.pb_out); - state_save_register_item("upd7810", device->tag, 0, upd7810.pc_out); - state_save_register_item("upd7810", device->tag, 0, upd7810.pd_out); - state_save_register_item("upd7810", device->tag, 0, upd7810.pf_out); - state_save_register_item("upd7810", device->tag, 0, upd7810.cr0); - state_save_register_item("upd7810", device->tag, 0, upd7810.cr1); - state_save_register_item("upd7810", device->tag, 0, upd7810.cr2); - state_save_register_item("upd7810", device->tag, 0, upd7810.cr3); - state_save_register_item("upd7810", device->tag, 0, upd7810.txb); - state_save_register_item("upd7810", device->tag, 0, upd7810.rxb); - state_save_register_item("upd7810", device->tag, 0, upd7810.txd); - state_save_register_item("upd7810", device->tag, 0, upd7810.rxd); - state_save_register_item("upd7810", device->tag, 0, upd7810.sck); - state_save_register_item("upd7810", device->tag, 0, upd7810.ti); - state_save_register_item("upd7810", device->tag, 0, upd7810.to); - state_save_register_item("upd7810", device->tag, 0, upd7810.ci); - state_save_register_item("upd7810", device->tag, 0, upd7810.co0); - state_save_register_item("upd7810", device->tag, 0, upd7810.co1); - state_save_register_item("upd7810", device->tag, 0, upd7810.irr); - state_save_register_item("upd7810", device->tag, 0, upd7810.itf); - state_save_register_item("upd7810", device->tag, 0, upd7810.ovc0); - state_save_register_item("upd7810", device->tag, 0, upd7810.ovc1); - state_save_register_item("upd7810", device->tag, 0, upd7810.ovcf); - state_save_register_item("upd7810", device->tag, 0, upd7810.ovcs); - state_save_register_item("upd7810", device->tag, 0, upd7810.edges); + state_save_register_device_item(device, 0, upd7810.ppc.w.l); + state_save_register_device_item(device, 0, upd7810.pc.w.l); + state_save_register_device_item(device, 0, upd7810.sp.w.l); + state_save_register_device_item(device, 0, upd7810.psw); + state_save_register_device_item(device, 0, upd7810.op); + state_save_register_device_item(device, 0, upd7810.op2); + state_save_register_device_item(device, 0, upd7810.iff); + state_save_register_device_item(device, 0, upd7810.ea.w.l); + state_save_register_device_item(device, 0, upd7810.va.w.l); + state_save_register_device_item(device, 0, upd7810.bc.w.l); + state_save_register_device_item(device, 0, upd7810.de.w.l); + state_save_register_device_item(device, 0, upd7810.hl.w.l); + state_save_register_device_item(device, 0, upd7810.ea2.w.l); + state_save_register_device_item(device, 0, upd7810.va2.w.l); + state_save_register_device_item(device, 0, upd7810.bc2.w.l); + state_save_register_device_item(device, 0, upd7810.de2.w.l); + state_save_register_device_item(device, 0, upd7810.hl2.w.l); + state_save_register_device_item(device, 0, upd7810.cnt.d); + state_save_register_device_item(device, 0, upd7810.tm.d); + state_save_register_device_item(device, 0, upd7810.ecnt.d); + state_save_register_device_item(device, 0, upd7810.etm.d); + state_save_register_device_item(device, 0, upd7810.ma); + state_save_register_device_item(device, 0, upd7810.mb); + state_save_register_device_item(device, 0, upd7810.mcc); + state_save_register_device_item(device, 0, upd7810.mc); + state_save_register_device_item(device, 0, upd7810.mm); + state_save_register_device_item(device, 0, upd7810.mf); + state_save_register_device_item(device, 0, upd7810.tmm); + state_save_register_device_item(device, 0, upd7810.etmm); + state_save_register_device_item(device, 0, upd7810.eom); + state_save_register_device_item(device, 0, upd7810.sml); + state_save_register_device_item(device, 0, upd7810.smh); + state_save_register_device_item(device, 0, upd7810.anm); + state_save_register_device_item(device, 0, upd7810.mkl); + state_save_register_device_item(device, 0, upd7810.mkh); + state_save_register_device_item(device, 0, upd7810.zcm); + state_save_register_device_item(device, 0, upd7810.pa_out); + state_save_register_device_item(device, 0, upd7810.pb_out); + state_save_register_device_item(device, 0, upd7810.pc_out); + state_save_register_device_item(device, 0, upd7810.pd_out); + state_save_register_device_item(device, 0, upd7810.pf_out); + state_save_register_device_item(device, 0, upd7810.cr0); + state_save_register_device_item(device, 0, upd7810.cr1); + state_save_register_device_item(device, 0, upd7810.cr2); + state_save_register_device_item(device, 0, upd7810.cr3); + state_save_register_device_item(device, 0, upd7810.txb); + state_save_register_device_item(device, 0, upd7810.rxb); + state_save_register_device_item(device, 0, upd7810.txd); + state_save_register_device_item(device, 0, upd7810.rxd); + state_save_register_device_item(device, 0, upd7810.sck); + state_save_register_device_item(device, 0, upd7810.ti); + state_save_register_device_item(device, 0, upd7810.to); + state_save_register_device_item(device, 0, upd7810.ci); + state_save_register_device_item(device, 0, upd7810.co0); + state_save_register_device_item(device, 0, upd7810.co1); + state_save_register_device_item(device, 0, upd7810.irr); + state_save_register_device_item(device, 0, upd7810.itf); + state_save_register_device_item(device, 0, upd7810.ovc0); + state_save_register_device_item(device, 0, upd7810.ovc1); + state_save_register_device_item(device, 0, upd7810.ovcf); + state_save_register_device_item(device, 0, upd7810.ovcs); + state_save_register_device_item(device, 0, upd7810.edges); } #include "7810tbl.c" diff --git a/src/emu/cpu/v30mz/v30mz.c b/src/emu/cpu/v30mz/v30mz.c index 52c160718df..322f70e7cf9 100644 --- a/src/emu/cpu/v30mz/v30mz.c +++ b/src/emu/cpu/v30mz/v30mz.c @@ -926,26 +926,24 @@ static CPU_DISASSEMBLE( nec ) static void nec_init(const device_config *device, int index, int clock, cpu_irq_callback irqcallback, int type) { - static const char *const names[]={"V20","V30","V33","V30MZ"}; + state_save_register_device_item_array(device, 0, I.regs.w); + state_save_register_device_item_array(device, 0, I.sregs); - state_save_register_item_array(names[type], device->tag, 0, I.regs.w); - state_save_register_item_array(names[type], device->tag, 0, I.sregs); - - state_save_register_item(names[type], device->tag, 0, I.ip); - state_save_register_item(names[type], device->tag, 0, I.TF); - state_save_register_item(names[type], device->tag, 0, I.IF); - state_save_register_item(names[type], device->tag, 0, I.DF); - state_save_register_item(names[type], device->tag, 0, I.MF); - state_save_register_item(names[type], device->tag, 0, I.SignVal); - state_save_register_item(names[type], device->tag, 0, I.int_vector); - state_save_register_item(names[type], device->tag, 0, I.pending_irq); - state_save_register_item(names[type], device->tag, 0, I.nmi_state); - state_save_register_item(names[type], device->tag, 0, I.irq_state); - state_save_register_item(names[type], device->tag, 0, I.AuxVal); - state_save_register_item(names[type], device->tag, 0, I.OverVal); - state_save_register_item(names[type], device->tag, 0, I.ZeroVal); - state_save_register_item(names[type], device->tag, 0, I.CarryVal); - state_save_register_item(names[type], device->tag, 0, I.ParityVal); + state_save_register_device_item(device, 0, I.ip); + state_save_register_device_item(device, 0, I.TF); + state_save_register_device_item(device, 0, I.IF); + state_save_register_device_item(device, 0, I.DF); + state_save_register_device_item(device, 0, I.MF); + state_save_register_device_item(device, 0, I.SignVal); + state_save_register_device_item(device, 0, I.int_vector); + state_save_register_device_item(device, 0, I.pending_irq); + state_save_register_device_item(device, 0, I.nmi_state); + state_save_register_device_item(device, 0, I.irq_state); + state_save_register_device_item(device, 0, I.AuxVal); + state_save_register_device_item(device, 0, I.OverVal); + state_save_register_device_item(device, 0, I.ZeroVal); + state_save_register_device_item(device, 0, I.CarryVal); + state_save_register_device_item(device, 0, I.ParityVal); I.irq_callback = irqcallback; I.device = device; diff --git a/src/emu/cpu/v60/v60.c b/src/emu/cpu/v60/v60.c index 30a914c318b..68f2cebd5aa 100644 --- a/src/emu/cpu/v60/v60.c +++ b/src/emu/cpu/v60/v60.c @@ -310,14 +310,14 @@ static void base_init(const char *type, const device_config *device, int index, v60.irq_line = CLEAR_LINE; v60.nmi_line = CLEAR_LINE; - state_save_register_item_array(type, device->tag, 0, v60.reg); - state_save_register_item(type, device->tag, 0, v60.irq_line); - state_save_register_item(type, device->tag, 0, v60.nmi_line); - state_save_register_item(type, device->tag, 0, v60.PPC); - state_save_register_item(type, device->tag, 0, _CY); - state_save_register_item(type, device->tag, 0, _OV); - state_save_register_item(type, device->tag, 0, _S); - state_save_register_item(type, device->tag, 0, _Z); + state_save_register_device_item_array(device, 0, v60.reg); + state_save_register_device_item(device, 0, v60.irq_line); + state_save_register_device_item(device, 0, v60.nmi_line); + state_save_register_device_item(device, 0, v60.PPC); + state_save_register_device_item(device, 0, _CY); + state_save_register_device_item(device, 0, _OV); + state_save_register_device_item(device, 0, _S); + state_save_register_device_item(device, 0, _Z); } static CPU_INIT( v60 ) diff --git a/src/emu/cpu/v810/v810.c b/src/emu/cpu/v810/v810.c index 2c2574f8b97..f58449f8817 100644 --- a/src/emu/cpu/v810/v810.c +++ b/src/emu/cpu/v810/v810.c @@ -957,10 +957,10 @@ static CPU_INIT( v810 ) v810.program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); v810.io = memory_find_address_space(device, ADDRESS_SPACE_IO); - state_save_register_item_array("v810", device->tag, 0, v810.reg); - state_save_register_item("v810", device->tag, 0, v810.irq_line); - state_save_register_item("v810", device->tag, 0, v810.nmi_line); - state_save_register_item("v810", device->tag, 0, v810.PPC); + state_save_register_device_item_array(device, 0, v810.reg); + state_save_register_device_item(device, 0, v810.irq_line); + state_save_register_device_item(device, 0, v810.nmi_line); + state_save_register_device_item(device, 0, v810.PPC); } diff --git a/src/emu/cpu/vtlb.c b/src/emu/cpu/vtlb.c index 563f40110c1..4adf0549f65 100644 --- a/src/emu/cpu/vtlb.c +++ b/src/emu/cpu/vtlb.c @@ -80,19 +80,19 @@ vtlb_state *vtlb_alloc(const device_config *cpu, int space, int fixed_entries, i /* allocate the entry array */ vtlb->live = malloc_or_die(sizeof(vtlb->live[0]) * (fixed_entries + dynamic_entries)); memset(vtlb->live, 0, sizeof(vtlb->live[0]) * (fixed_entries + dynamic_entries)); - state_save_register_item_pointer("vtlb", cpu->tag, space, vtlb->live, fixed_entries + dynamic_entries); + state_save_register_device_item_pointer(cpu, space, vtlb->live, fixed_entries + dynamic_entries); /* allocate the lookup table */ vtlb->table = malloc_or_die(sizeof(vtlb->table[0]) << (vtlb->addrwidth - vtlb->pageshift)); memset(vtlb->table, 0, sizeof(vtlb->table[0]) << (vtlb->addrwidth - vtlb->pageshift)); - state_save_register_item_pointer("vtlb", cpu->tag, space, vtlb->table, 1 << (vtlb->addrwidth - vtlb->pageshift)); + state_save_register_device_item_pointer(cpu, space, vtlb->table, 1 << (vtlb->addrwidth - vtlb->pageshift)); /* allocate the fixed page count array */ if (fixed_entries > 0) { vtlb->fixedpages = malloc_or_die(sizeof(vtlb->fixedpages[0]) * fixed_entries); memset(vtlb->fixedpages, 0, sizeof(vtlb->fixedpages[0]) * fixed_entries); - state_save_register_item_pointer("vtlb", cpu->tag, space, vtlb->fixedpages, fixed_entries); + state_save_register_device_item_pointer(cpu, space, vtlb->fixedpages, fixed_entries); } return vtlb; } diff --git a/src/emu/cpu/z180/z180.c b/src/emu/cpu/z180/z180.c index e3ff6fd11b8..92584f80217 100644 --- a/src/emu/cpu/z180/z180.c +++ b/src/emu/cpu/z180/z180.c @@ -1909,31 +1909,31 @@ static CPU_INIT( z180 ) Z180.program = memory_find_address_space(device, ADDRESS_SPACE_PROGRAM); Z180.iospace = memory_find_address_space(device, ADDRESS_SPACE_IO); - state_save_register_item("z180", device->tag, 0, Z180.AF.w.l); - state_save_register_item("z180", device->tag, 0, Z180.BC.w.l); - state_save_register_item("z180", device->tag, 0, Z180.DE.w.l); - state_save_register_item("z180", device->tag, 0, Z180.HL.w.l); - state_save_register_item("z180", device->tag, 0, Z180.IX.w.l); - state_save_register_item("z180", device->tag, 0, Z180.IY.w.l); - state_save_register_item("z180", device->tag, 0, Z180.PC.w.l); - state_save_register_item("z180", device->tag, 0, Z180.SP.w.l); - state_save_register_item("z180", device->tag, 0, Z180.AF2.w.l); - state_save_register_item("z180", device->tag, 0, Z180.BC2.w.l); - state_save_register_item("z180", device->tag, 0, Z180.DE2.w.l); - state_save_register_item("z180", device->tag, 0, Z180.HL2.w.l); - state_save_register_item("z180", device->tag, 0, Z180.R); - state_save_register_item("z180", device->tag, 0, Z180.R2); - state_save_register_item("z180", device->tag, 0, Z180.IFF1); - state_save_register_item("z180", device->tag, 0, Z180.IFF2); - state_save_register_item("z180", device->tag, 0, Z180.HALT); - state_save_register_item("z180", device->tag, 0, Z180.IM); - state_save_register_item("z180", device->tag, 0, Z180.I); - state_save_register_item("z180", device->tag, 0, Z180.nmi_state); - state_save_register_item("z180", device->tag, 0, Z180.nmi_pending); - state_save_register_item("z180", device->tag, 0, Z180.irq_state[0]); - state_save_register_item("z180", device->tag, 0, Z180.irq_state[1]); - state_save_register_item("z180", device->tag, 0, Z180.irq_state[2]); - state_save_register_item("z180", device->tag, 0, Z180.after_EI); + state_save_register_device_item(device, 0, Z180.AF.w.l); + state_save_register_device_item(device, 0, Z180.BC.w.l); + state_save_register_device_item(device, 0, Z180.DE.w.l); + state_save_register_device_item(device, 0, Z180.HL.w.l); + state_save_register_device_item(device, 0, Z180.IX.w.l); + state_save_register_device_item(device, 0, Z180.IY.w.l); + state_save_register_device_item(device, 0, Z180.PC.w.l); + state_save_register_device_item(device, 0, Z180.SP.w.l); + state_save_register_device_item(device, 0, Z180.AF2.w.l); + state_save_register_device_item(device, 0, Z180.BC2.w.l); + state_save_register_device_item(device, 0, Z180.DE2.w.l); + state_save_register_device_item(device, 0, Z180.HL2.w.l); + state_save_register_device_item(device, 0, Z180.R); + state_save_register_device_item(device, 0, Z180.R2); + state_save_register_device_item(device, 0, Z180.IFF1); + state_save_register_device_item(device, 0, Z180.IFF2); + state_save_register_device_item(device, 0, Z180.HALT); + state_save_register_device_item(device, 0, Z180.IM); + state_save_register_device_item(device, 0, Z180.I); + state_save_register_device_item(device, 0, Z180.nmi_state); + state_save_register_device_item(device, 0, Z180.nmi_pending); + state_save_register_device_item(device, 0, Z180.irq_state[0]); + state_save_register_device_item(device, 0, Z180.irq_state[1]); + state_save_register_device_item(device, 0, Z180.irq_state[2]); + state_save_register_device_item(device, 0, Z180.after_EI); } /**************************************************************************** diff --git a/src/emu/cpu/z80/z80.c b/src/emu/cpu/z80/z80.c index e8f6e8ce384..cfcc1bc0216 100644 --- a/src/emu/cpu/z80/z80.c +++ b/src/emu/cpu/z80/z80.c @@ -3358,31 +3358,31 @@ static CPU_INIT( z80 ) if( (i & 0x0f) == 0x0f ) SZHV_dec[i] |= HF; } - state_save_register_item("z80", device->tag, 0, z80->prvpc.w.l); - state_save_register_item("z80", device->tag, 0, z80->PC); - state_save_register_item("z80", device->tag, 0, z80->SP); - state_save_register_item("z80", device->tag, 0, z80->AF); - state_save_register_item("z80", device->tag, 0, z80->BC); - state_save_register_item("z80", device->tag, 0, z80->DE); - state_save_register_item("z80", device->tag, 0, z80->HL); - state_save_register_item("z80", device->tag, 0, z80->IX); - state_save_register_item("z80", device->tag, 0, z80->IY); - state_save_register_item("z80", device->tag, 0, z80->MEMPTR); - state_save_register_item("z80", device->tag, 0, z80->af2.w.l); - state_save_register_item("z80", device->tag, 0, z80->bc2.w.l); - state_save_register_item("z80", device->tag, 0, z80->de2.w.l); - state_save_register_item("z80", device->tag, 0, z80->hl2.w.l); - state_save_register_item("z80", device->tag, 0, z80->r); - state_save_register_item("z80", device->tag, 0, z80->r2); - state_save_register_item("z80", device->tag, 0, z80->iff1); - state_save_register_item("z80", device->tag, 0, z80->iff2); - state_save_register_item("z80", device->tag, 0, z80->halt); - state_save_register_item("z80", device->tag, 0, z80->im); - state_save_register_item("z80", device->tag, 0, z80->i); - state_save_register_item("z80", device->tag, 0, z80->nmi_state); - state_save_register_item("z80", device->tag, 0, z80->nmi_pending); - state_save_register_item("z80", device->tag, 0, z80->irq_state); - state_save_register_item("z80", device->tag, 0, z80->after_ei); + state_save_register_device_item(device, 0, z80->prvpc.w.l); + state_save_register_device_item(device, 0, z80->PC); + state_save_register_device_item(device, 0, z80->SP); + state_save_register_device_item(device, 0, z80->AF); + state_save_register_device_item(device, 0, z80->BC); + state_save_register_device_item(device, 0, z80->DE); + state_save_register_device_item(device, 0, z80->HL); + state_save_register_device_item(device, 0, z80->IX); + state_save_register_device_item(device, 0, z80->IY); + state_save_register_device_item(device, 0, z80->MEMPTR); + state_save_register_device_item(device, 0, z80->af2.w.l); + state_save_register_device_item(device, 0, z80->bc2.w.l); + state_save_register_device_item(device, 0, z80->de2.w.l); + state_save_register_device_item(device, 0, z80->hl2.w.l); + state_save_register_device_item(device, 0, z80->r); + state_save_register_device_item(device, 0, z80->r2); + state_save_register_device_item(device, 0, z80->iff1); + state_save_register_device_item(device, 0, z80->iff2); + state_save_register_device_item(device, 0, z80->halt); + state_save_register_device_item(device, 0, z80->im); + state_save_register_device_item(device, 0, z80->i); + state_save_register_device_item(device, 0, z80->nmi_state); + state_save_register_device_item(device, 0, z80->nmi_pending); + state_save_register_device_item(device, 0, z80->irq_state); + state_save_register_device_item(device, 0, z80->after_ei); /* Reset registers to their initial values */ memset(z80, 0, sizeof(*z80)); diff --git a/src/emu/cpuexec.c b/src/emu/cpuexec.c index 6fb71454c6f..75138c1fbce 100644 --- a/src/emu/cpuexec.c +++ b/src/emu/cpuexec.c @@ -167,6 +167,12 @@ INLINE void suspend_until_trigger(const device_config *device, int trigger, int each CPU -------------------------------------------------*/ +static DEVICE_GET_INFO( cpuclass ) +{ + cpu_class_data *classdata = device->classtoken; + (*classdata->header.get_info)(device, state, (cpuinfo *)info); +} + const device_config *cpuexec_create_cpu_device(const cpu_config *config) { device_config *device; @@ -175,7 +181,7 @@ const device_config *cpuexec_create_cpu_device(const cpu_config *config) device = malloc_or_die(sizeof(*device) + strlen(config->tag)); memset(device, 0, sizeof(*device)); strcpy(device->tag, config->tag); - device->type = (device_type)config->type; + device->type = DEVICE_GET_INFO_NAME(cpuclass); device->class = DEVICE_CLASS_CPU_CHIP; device->inline_config = (void *)config; device->static_config = config->reset_param; @@ -245,9 +251,9 @@ void cpuexec_init(running_machine *machine) /* initialize this CPU */ state_save_push_tag(cpunum + 1); - num_regs = state_save_get_reg_count(); + num_regs = state_save_get_reg_count(machine); cpu_init(device, cpunum, classdata->clock, standard_irq_callback); - num_regs = state_save_get_reg_count() - num_regs; + num_regs = state_save_get_reg_count(machine) - num_regs; state_save_pop_tag(); /* fetch post-initialization data */ @@ -917,7 +923,7 @@ void cpu_set_input_line_and_vector(const device_config *device, int line, int st /* catch errors where people use PULSE_LINE for CPUs that don't support it */ if (state == PULSE_LINE && line != INPUT_LINE_NMI && line != INPUT_LINE_RESET) { - switch ((cpu_type)device->type) + switch (classdata->header.cputype) { case CPU_Z80: case CPU_Z180: @@ -1341,7 +1347,7 @@ static TIMER_CALLBACK( empty_event_queue ) { case PULSE_LINE: /* temporary: PULSE_LINE only makes sense for NMI lines on Z80 */ - assert((cpu_type)device->type != CPU_Z80 || param == INPUT_LINE_NMI); + assert(classdata->header.cputype != CPU_Z80 || param == INPUT_LINE_NMI); cpu_set_info_int(device, CPUINFO_INT_INPUT_STATE + param, ASSERT_LINE); cpu_set_info_int(device, CPUINFO_INT_INPUT_STATE + param, CLEAR_LINE); break; @@ -1418,26 +1424,26 @@ static void register_save_states(const device_config *device) cpu_class_data *classdata = device->classtoken; int line; - state_save_register_item("cpu", device->tag, 0, classdata->suspend); - state_save_register_item("cpu", device->tag, 0, classdata->nextsuspend); - state_save_register_item("cpu", device->tag, 0, classdata->eatcycles); - state_save_register_item("cpu", device->tag, 0, classdata->nexteatcycles); - state_save_register_item("cpu", device->tag, 0, classdata->trigger); + state_save_register_device_item(device, 0, classdata->suspend); + state_save_register_device_item(device, 0, classdata->nextsuspend); + state_save_register_device_item(device, 0, classdata->eatcycles); + state_save_register_device_item(device, 0, classdata->nexteatcycles); + state_save_register_device_item(device, 0, classdata->trigger); - state_save_register_item("cpu", device->tag, 0, classdata->iloops); + state_save_register_device_item(device, 0, classdata->iloops); - state_save_register_item("cpu", device->tag, 0, classdata->totalcycles); - state_save_register_item("cpu", device->tag, 0, classdata->localtime.seconds); - state_save_register_item("cpu", device->tag, 0, classdata->localtime.attoseconds); - state_save_register_item("cpu", device->tag, 0, classdata->clock); - state_save_register_item("cpu", device->tag, 0, classdata->clockscale); + state_save_register_device_item(device, 0, classdata->totalcycles); + state_save_register_device_item(device, 0, classdata->localtime.seconds); + state_save_register_device_item(device, 0, classdata->localtime.attoseconds); + state_save_register_device_item(device, 0, classdata->clock); + state_save_register_device_item(device, 0, classdata->clockscale); for (line = 0; line < ARRAY_LENGTH(classdata->input); line++) { cpu_input_data *inputline = &classdata->input[line]; - state_save_register_item("cpu", device->tag, line, inputline->vector); - state_save_register_item("cpu", device->tag, line, inputline->curvector); - state_save_register_item("cpu", device->tag, line, inputline->curstate); + state_save_register_device_item(device, line, inputline->vector); + state_save_register_device_item(device, line, inputline->curvector); + state_save_register_device_item(device, line, inputline->curstate); } } diff --git a/src/emu/cpuintrf.h b/src/emu/cpuintrf.h index 0f79a32dadf..3ebe34b12a5 100644 --- a/src/emu/cpuintrf.h +++ b/src/emu/cpuintrf.h @@ -71,81 +71,95 @@ enum enum { /* --- the following bits of info are returned as 64-bit signed integers --- */ - CPUINFO_INT_FIRST = 0x00000, + CPUINFO_INT_FIRST = DEVINFO_INT_FIRST, - CPUINFO_INT_CONTEXT_SIZE = CPUINFO_INT_FIRST, /* R/O: size of CPU context in bytes */ - CPUINFO_INT_INPUT_LINES, /* R/O: number of input lines */ - CPUINFO_INT_OUTPUT_LINES, /* R/O: number of output lines */ - CPUINFO_INT_DEFAULT_IRQ_VECTOR, /* R/O: default IRQ vector */ - CPUINFO_INT_ENDIANNESS, /* R/O: either ENDIANNESS_BIG or ENDIANNESS_LITTLE */ - CPUINFO_INT_CLOCK_MULTIPLIER, /* R/O: internal clock multiplier */ - CPUINFO_INT_CLOCK_DIVIDER, /* R/O: internal clock divider */ - CPUINFO_INT_MIN_INSTRUCTION_BYTES, /* R/O: minimum bytes per instruction */ - CPUINFO_INT_MAX_INSTRUCTION_BYTES, /* R/O: maximum bytes per instruction */ - CPUINFO_INT_MIN_CYCLES, /* R/O: minimum cycles for a single instruction */ - CPUINFO_INT_MAX_CYCLES, /* R/O: maximum cycles for a single instruction */ + /* direct map to device data */ + CPUINFO_INT_CONTEXT_SIZE = DEVINFO_INT_TOKEN_BYTES, /* R/O: size of CPU context in bytes */ - CPUINFO_INT_DATABUS_WIDTH, /* R/O: data bus size for each address space (8,16,32,64) */ - CPUINFO_INT_DATABUS_WIDTH_LAST = CPUINFO_INT_DATABUS_WIDTH + ADDRESS_SPACES - 1, - CPUINFO_INT_ADDRBUS_WIDTH, /* R/O: address bus size for each address space (12-32) */ - CPUINFO_INT_ADDRBUS_WIDTH_LAST = CPUINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACES - 1, - CPUINFO_INT_ADDRBUS_SHIFT, /* R/O: shift applied to addresses each address space (+3 means >>3, -1 means <<1) */ - CPUINFO_INT_ADDRBUS_SHIFT_LAST = CPUINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACES - 1, - CPUINFO_INT_LOGADDR_WIDTH, /* R/O: address bus size for logical accesses in each space (0=same as physical) */ - CPUINFO_INT_LOGADDR_WIDTH_LAST = CPUINFO_INT_LOGADDR_WIDTH + ADDRESS_SPACES - 1, - CPUINFO_INT_PAGE_SHIFT, /* R/O: size of a page log 2 (i.e., 12=4096), or 0 if paging not supported */ - CPUINFO_INT_PAGE_SHIFT_LAST = CPUINFO_INT_PAGE_SHIFT + ADDRESS_SPACES - 1, + /* CPU-specific additions */ + CPUINFO_INT_INPUT_LINES = DEVINFO_INT_CLASS_SPECIFIC, /* R/O: number of input lines */ + CPUINFO_INT_OUTPUT_LINES, /* R/O: number of output lines */ + CPUINFO_INT_DEFAULT_IRQ_VECTOR, /* R/O: default IRQ vector */ + CPUINFO_INT_ENDIANNESS, /* R/O: either ENDIANNESS_BIG or ENDIANNESS_LITTLE */ + CPUINFO_INT_CLOCK_MULTIPLIER, /* R/O: internal clock multiplier */ + CPUINFO_INT_CLOCK_DIVIDER, /* R/O: internal clock divider */ + CPUINFO_INT_MIN_INSTRUCTION_BYTES, /* R/O: minimum bytes per instruction */ + CPUINFO_INT_MAX_INSTRUCTION_BYTES, /* R/O: maximum bytes per instruction */ + CPUINFO_INT_MIN_CYCLES, /* R/O: minimum cycles for a single instruction */ + CPUINFO_INT_MAX_CYCLES, /* R/O: maximum cycles for a single instruction */ - CPUINFO_INT_SP, /* R/W: the current stack pointer value */ - CPUINFO_INT_PC, /* R/W: the current PC value */ - CPUINFO_INT_PREVIOUSPC, /* R/W: the previous PC value */ - CPUINFO_INT_INPUT_STATE, /* R/W: states for each input line */ - CPUINFO_INT_INPUT_STATE_LAST = CPUINFO_INT_INPUT_STATE + MAX_INPUT_LINES - 1, - CPUINFO_INT_OUTPUT_STATE, /* R/W: states for each output line */ - CPUINFO_INT_OUTPUT_STATE_LAST = CPUINFO_INT_OUTPUT_STATE + MAX_OUTPUT_LINES - 1, - CPUINFO_INT_REGISTER, /* R/W: values of up to MAX_REGs registers */ - CPUINFO_INT_REGISTER_LAST = CPUINFO_INT_REGISTER + MAX_REGS - 1, + CPUINFO_INT_DATABUS_WIDTH, /* R/O: data bus size for each address space (8,16,32,64) */ + CPUINFO_INT_DATABUS_WIDTH_LAST = CPUINFO_INT_DATABUS_WIDTH + ADDRESS_SPACES - 1, + CPUINFO_INT_ADDRBUS_WIDTH, /* R/O: address bus size for each address space (12-32) */ + CPUINFO_INT_ADDRBUS_WIDTH_LAST = CPUINFO_INT_ADDRBUS_WIDTH + ADDRESS_SPACES - 1, + CPUINFO_INT_ADDRBUS_SHIFT, /* R/O: shift applied to addresses each address space (+3 means >>3, -1 means <<1) */ + CPUINFO_INT_ADDRBUS_SHIFT_LAST = CPUINFO_INT_ADDRBUS_SHIFT + ADDRESS_SPACES - 1, + CPUINFO_INT_LOGADDR_WIDTH, /* R/O: address bus size for logical accesses in each space (0=same as physical) */ + CPUINFO_INT_LOGADDR_WIDTH_LAST = CPUINFO_INT_LOGADDR_WIDTH + ADDRESS_SPACES - 1, + CPUINFO_INT_PAGE_SHIFT, /* R/O: size of a page log 2 (i.e., 12=4096), or 0 if paging not supported */ + CPUINFO_INT_PAGE_SHIFT_LAST = CPUINFO_INT_PAGE_SHIFT + ADDRESS_SPACES - 1, - CPUINFO_INT_CPU_SPECIFIC = 0x08000, /* R/W: CPU-specific values start here */ + CPUINFO_INT_SP, /* R/W: the current stack pointer value */ + CPUINFO_INT_PC, /* R/W: the current PC value */ + CPUINFO_INT_PREVIOUSPC, /* R/W: the previous PC value */ + CPUINFO_INT_INPUT_STATE, /* R/W: states for each input line */ + CPUINFO_INT_INPUT_STATE_LAST = CPUINFO_INT_INPUT_STATE + MAX_INPUT_LINES - 1, + CPUINFO_INT_OUTPUT_STATE, /* R/W: states for each output line */ + CPUINFO_INT_OUTPUT_STATE_LAST = CPUINFO_INT_OUTPUT_STATE + MAX_OUTPUT_LINES - 1, + CPUINFO_INT_REGISTER, /* R/W: values of up to MAX_REGs registers */ + CPUINFO_INT_REGISTER_LAST = CPUINFO_INT_REGISTER + MAX_REGS - 1, + + CPUINFO_INT_CPU_SPECIFIC = 0x08000, /* R/W: CPU-specific values start here */ /* --- the following bits of info are returned as pointers to data or functions --- */ - CPUINFO_PTR_FIRST = 0x10000, + CPUINFO_PTR_FIRST = DEVINFO_PTR_FIRST, - CPUINFO_PTR_SET_INFO = CPUINFO_PTR_FIRST, /* R/O: void (*set_info)(UINT32 state, INT64 data, void *ptr) */ - CPUINFO_PTR_GET_CONTEXT, /* R/O: void (*get_context)(void *buffer) */ - CPUINFO_PTR_SET_CONTEXT, /* R/O: void (*set_context)(void *buffer) */ - CPUINFO_PTR_INIT, /* R/O: void (*init)(int index, int clock, int (*irqcallback)(const device_config *device, int)) */ - CPUINFO_PTR_RESET, /* R/O: void (*reset)(void) */ - CPUINFO_PTR_EXIT, /* R/O: void (*exit)(void) */ - CPUINFO_PTR_EXECUTE, /* R/O: int (*execute)(int cycles) */ - CPUINFO_PTR_BURN, /* R/O: void (*burn)(int cycles) */ - CPUINFO_PTR_DISASSEMBLE, /* R/O: offs_t (*disassemble)(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram) */ - CPUINFO_PTR_TRANSLATE, /* R/O: int (*translate)(int space, int intention, offs_t *address) */ - CPUINFO_PTR_READ, /* R/O: int (*read)(int space, UINT32 offset, int size, UINT64 *value) */ - CPUINFO_PTR_WRITE, /* R/O: int (*write)(int space, UINT32 offset, int size, UINT64 value) */ - CPUINFO_PTR_READOP, /* R/O: int (*readop)(UINT32 offset, int size, UINT64 *value) */ - CPUINFO_PTR_DEBUG_INIT, /* R/O: void (*debug_init)(void) */ - CPUINFO_PTR_INSTRUCTION_COUNTER, /* R/O: int *icount */ - CPUINFO_PTR_INTERNAL_MEMORY_MAP, /* R/O: const addrmap_token *map */ - CPUINFO_PTR_INTERNAL_MEMORY_MAP_LAST = CPUINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACES - 1, - CPUINFO_PTR_DEBUG_REGISTER_LIST, /* R/O: int *list: list of registers for the debugger */ - CPUINFO_PTR_VALIDITY_CHECK, /* R/O: int (*validity_check)(const void *config) */ + /* CPU-specific additions */ + CPUINFO_PTR_INSTRUCTION_COUNTER = DEVINFO_PTR_CLASS_SPECIFIC, + /* R/O: int *icount */ + CPUINFO_PTR_INTERNAL_MEMORY_MAP, /* R/O: const addrmap_token *map */ + CPUINFO_PTR_INTERNAL_MEMORY_MAP_LAST = CPUINFO_PTR_INTERNAL_MEMORY_MAP + ADDRESS_SPACES - 1, + CPUINFO_PTR_DEBUG_REGISTER_LIST, /* R/O: int *list: list of registers for the debugger */ - CPUINFO_PTR_CPU_SPECIFIC = 0x18000, /* R/W: CPU-specific values start here */ + CPUINFO_PTR_CPU_SPECIFIC = DEVINFO_PTR_DEVICE_SPECIFIC, /* R/W: CPU-specific values start here */ + + /* --- the following bits of info are returned as pointers to functions --- */ + CPUINFO_FCT_FIRST = DEVINFO_FCT_FIRST, + + /* CPU-specific additions */ + CPUINFO_PTR_RESET = DEVINFO_FCT_RESET, /* R/O: void (*reset)(const device_config *device) */ + CPUINFO_PTR_EXIT = DEVINFO_FCT_STOP, /* R/O: void (*exit)(const device_config *device) */ + + CPUINFO_PTR_SET_INFO = DEVINFO_FCT_CLASS_SPECIFIC, /* R/O: void (*set_info)(const device_config *device, UINT32 state, INT64 data, void *ptr) */ + CPUINFO_PTR_GET_CONTEXT, /* R/O: void (*get_context)(void *buffer) */ + CPUINFO_PTR_SET_CONTEXT, /* R/O: void (*set_context)(void *buffer) */ + CPUINFO_PTR_INIT, /* R/O: void (*init)(const device_config *device, int index, int clock, int (*irqcallback)(const device_config *device, int)) */ + CPUINFO_PTR_EXECUTE, /* R/O: int (*execute)(const device_config *device, int cycles) */ + CPUINFO_PTR_BURN, /* R/O: void (*burn)(const device_config *device, int cycles) */ + CPUINFO_PTR_DISASSEMBLE, /* R/O: offs_t (*disassemble)(const device_config *device, char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram) */ + CPUINFO_PTR_TRANSLATE, /* R/O: int (*translate)(const device_config *device, int space, int intention, offs_t *address) */ + CPUINFO_PTR_READ, /* R/O: int (*read)(const device_config *device, int space, UINT32 offset, int size, UINT64 *value) */ + CPUINFO_PTR_WRITE, /* R/O: int (*write)(const device_config *device, int space, UINT32 offset, int size, UINT64 value) */ + CPUINFO_PTR_READOP, /* R/O: int (*readop)(const device_config *device, UINT32 offset, int size, UINT64 *value) */ + CPUINFO_PTR_DEBUG_INIT, /* R/O: void (*debug_init)(const device_config *device) */ + CPUINFO_PTR_VALIDITY_CHECK, /* R/O: int (*validity_check)(const game_driver *driver, const void *config) */ /* --- the following bits of info are returned as NULL-terminated strings --- */ - CPUINFO_STR_FIRST = 0x20000, + CPUINFO_STR_FIRST = DEVINFO_STR_FIRST, - CPUINFO_STR_NAME = CPUINFO_STR_FIRST, /* R/O: name of the CPU */ - CPUINFO_STR_CORE_FAMILY, /* R/O: family of the CPU */ - CPUINFO_STR_CORE_VERSION, /* R/O: version of the CPU core */ - CPUINFO_STR_CORE_FILE, /* R/O: file containing the CPU core */ - CPUINFO_STR_CORE_CREDITS, /* R/O: credits for the CPU core */ - CPUINFO_STR_FLAGS, /* R/O: string representation of the main flags value */ - CPUINFO_STR_REGISTER, /* R/O: string representation of up to MAX_REGs registers */ - CPUINFO_STR_REGISTER_LAST = CPUINFO_STR_REGISTER + MAX_REGS - 1, + /* direct map to device data */ + CPUINFO_STR_NAME = DEVINFO_STR_NAME, /* R/O: name of the CPU */ + CPUINFO_STR_CORE_FAMILY = DEVINFO_STR_FAMILY, /* R/O: family of the CPU */ + CPUINFO_STR_CORE_VERSION = DEVINFO_STR_VERSION, /* R/O: version of the CPU core */ + CPUINFO_STR_CORE_FILE = DEVINFO_STR_SOURCE_FILE, /* R/O: file containing the CPU core */ + CPUINFO_STR_CORE_CREDITS = DEVINFO_STR_CREDITS, /* R/O: credits for the CPU core */ - CPUINFO_STR_CPU_SPECIFIC = 0x28000 /* R/W: CPU-specific values start here */ + /* CPU-specific additions */ + CPUINFO_STR_FLAGS = DEVINFO_STR_CLASS_SPECIFIC, /* R/O: string representation of the main flags value */ + CPUINFO_STR_REGISTER, /* R/O: string representation of up to MAX_REGs registers */ + CPUINFO_STR_REGISTER_LAST = CPUINFO_STR_REGISTER + MAX_REGS - 1, + + CPUINFO_STR_CPU_SPECIFIC = DEVINFO_STR_DEVICE_SPECIFIC /* R/W: CPU-specific values start here */ }; diff --git a/src/emu/debug/debugcmd.c b/src/emu/debug/debugcmd.c index 80d68a56456..353e7984a5f 100644 --- a/src/emu/debug/debugcmd.c +++ b/src/emu/debug/debugcmd.c @@ -140,7 +140,7 @@ void debug_command_init(running_machine *machine) void *base; /* stop when we run out of items */ - name = state_save_get_indexed_item(itemnum, &base, &valsize, &valcount); + name = state_save_get_indexed_item(machine, itemnum, &base, &valsize, &valcount); if (name == NULL) break; diff --git a/src/emu/debug/debugvw.c b/src/emu/debug/debugvw.c index 0186bbb1c33..89217b70447 100644 --- a/src/emu/debug/debugvw.c +++ b/src/emu/debug/debugvw.c @@ -2458,7 +2458,7 @@ static const memory_subview_item *memory_view_enumerate_subviews(running_machine void *base; /* stop when we run out of items */ - name = state_save_get_indexed_item(itemnum, &base, &valsize, &valcount); + name = state_save_get_indexed_item(machine, itemnum, &base, &valsize, &valcount); if (name == NULL) break; diff --git a/src/emu/devintrf.c b/src/emu/devintrf.c index ee2f8dca287..ff069dc26f7 100644 --- a/src/emu/devintrf.c +++ b/src/emu/devintrf.c @@ -10,6 +10,7 @@ ***************************************************************************/ #include "driver.h" +#include "cpuintrf.h" @@ -93,7 +94,7 @@ device_config *device_list_add(device_config **listheadptr, device_type type, co /* find the end of the list, and ensure no duplicates along the way */ for (devptr = listheadptr; *devptr != NULL; devptr = &(*devptr)->next) if (type == (*devptr)->type && strcmp(tag, (*devptr)->tag) == 0) - fatalerror("Attempted to add duplicate device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("Attempted to add duplicate device: type=%s tag=%s\n", devtype_get_name(type), tag); /* get the size of the inline config */ configlen = (UINT32)devtype_get_info_int(type, DEVINFO_INT_INLINE_CONFIG_BYTES); @@ -164,7 +165,7 @@ void device_list_remove(device_config **listheadptr, device_type type, const cha if (type == (*devptr)->type && strcmp(tag, (*devptr)->tag) == 0) break; if (*devptr == NULL) - fatalerror("Attempted to remove non-existant device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("Attempted to remove non-existant device: type=%s tag=%s\n", devtype_get_name(type), tag); /* remove the device from the list */ device = *devptr; @@ -515,7 +516,7 @@ void device_list_start(running_machine *machine) /* get the size of the token data */ tokenlen = (UINT32)devtype_get_info_int(device->type, DEVINFO_INT_TOKEN_BYTES); if (tokenlen == 0) - fatalerror("Device %s specifies a 0 token length!\n", devtype_name(device->type)); + fatalerror("Device %s specifies a 0 token length!\n", devtype_get_name(device->type)); /* allocate memory for the token */ device->token = malloc_or_die(tokenlen); @@ -626,7 +627,7 @@ void devtag_reset(running_machine *machine, device_type type, const char *tag) device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("devtag_reset failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("devtag_reset failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); device_reset(device); } @@ -651,7 +652,7 @@ void *devtag_get_token(running_machine *machine, device_type type, const char *t device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("devtag_get_token failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("devtag_get_token failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); return device->token; } @@ -671,7 +672,7 @@ const device_config *devtag_get_device(running_machine *machine, device_type typ device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("devtag_get_device failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("devtag_get_device failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); return device; } @@ -692,7 +693,7 @@ const void *devtag_get_static_config(running_machine *machine, device_type type, device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("devtag_get_static_config failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("devtag_get_static_config failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); return device->static_config; } @@ -713,7 +714,7 @@ const void *devtag_get_inline_config(running_machine *machine, device_type type, device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("devtag_get_inline_config failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("devtag_get_inline_config failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); return device->inline_config; } @@ -750,7 +751,7 @@ INT64 devtag_get_info_int(running_machine *machine, device_type type, const char device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("devtag_get_info_int failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("devtag_get_info_int failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); return device_get_info_int(device, state); } @@ -786,7 +787,7 @@ void *devtag_get_info_ptr(running_machine *machine, device_type type, const char device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("devtag_get_info_ptr failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("devtag_get_info_ptr failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); return device_get_info_ptr(device, state); } @@ -822,7 +823,7 @@ genf *devtag_get_info_fct(running_machine *machine, device_type type, const char device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("device_get_info_fct failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("device_get_info_fct failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); return device_get_info_fct(device, state); } @@ -858,7 +859,7 @@ const char *devtag_get_info_string(running_machine *machine, device_type type, c device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("device_get_info_string failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("device_get_info_string failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); return device_get_info_string(device, state); } @@ -900,7 +901,7 @@ const char *devtype_get_info_string(device_type type, UINT32 state) assert(type != NULL); assert(state >= DEVINFO_STR_FIRST && state <= DEVINFO_STR_LAST); - + /* retrieve the value */ info.s = get_temp_string_buffer(); (*type)(NULL, state, &info); @@ -944,7 +945,7 @@ void devtag_set_info_int(running_machine *machine, device_type type, const char device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("devtag_set_info_int failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("devtag_set_info_int failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); device_set_info_int(device, state, data); } @@ -980,7 +981,7 @@ void devtag_set_info_ptr(running_machine *machine, device_type type, const char device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("devtag_set_info_ptr failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("devtag_set_info_ptr failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); device_set_info_ptr(device, state, data); } @@ -1016,6 +1017,6 @@ void devtag_set_info_fct(running_machine *machine, device_type type, const char device = device_list_find_by_tag(machine->config->devicelist, type, tag); if (device == NULL) - fatalerror("devtag_set_info_fct failed to find device: type=%s tag=%s\n", devtype_name(type), tag); + fatalerror("devtag_set_info_fct failed to find device: type=%s tag=%s\n", devtype_get_name(type), tag); device_set_info_fct(device, state, data); } diff --git a/src/emu/devintrf.h b/src/emu/devintrf.h index 3fd26c9ff4a..544b7d54bbc 100644 --- a/src/emu/devintrf.h +++ b/src/emu/devintrf.h @@ -60,6 +60,7 @@ enum DEVINFO_INT_INLINE_CONFIG_BYTES, /* R/O: bytes to allocate for the inline configuration */ DEVINFO_INT_CLASS, /* R/O: the device's class */ + DEVINFO_INT_CLASS_SPECIFIC = 0x04000, /* R/W: device-specific values start here */ DEVINFO_INT_DEVICE_SPECIFIC = 0x08000, /* R/W: device-specific values start here */ DEVINFO_INT_LAST = 0x0ffff, @@ -69,6 +70,7 @@ enum DEVINFO_PTR_ROM_REGION = DEVINFO_PTR_FIRST, /* R/O: pointer to device-specific ROM region */ DEVINFO_PTR_MACHINE_CONFIG, /* R/O: pointer to device-specific machine config */ + DEVINFO_PTR_CLASS_SPECIFIC = 0x14000, /* R/W: device-specific values start here */ DEVINFO_PTR_DEVICE_SPECIFIC = 0x18000, /* R/W: device-specific values start here */ DEVINFO_PTR_LAST = 0x1ffff, @@ -82,6 +84,7 @@ enum DEVINFO_FCT_VALIDITY_CHECK, /* R/O: device_validity_check_func */ DEVINFO_FCT_NVRAM, /* R/O: device_nvram_func */ + DEVINFO_FCT_CLASS_SPECIFIC = 0x24000, /* R/W: device-specific values start here */ DEVINFO_FCT_DEVICE_SPECIFIC = 0x28000, /* R/W: device-specific values start here */ DEVINFO_FCT_LAST = 0x2ffff, @@ -94,6 +97,7 @@ enum DEVINFO_STR_SOURCE_FILE, /* R/O: file containing the device implementation */ DEVINFO_STR_CREDITS, /* R/O: credits for the device implementation */ + DEVINFO_STR_CLASS_SPECIFIC = 0x34000, /* R/W: device-specific values start here */ DEVINFO_STR_DEVICE_SPECIFIC = 0x38000, /* R/W: device-specific values start here */ DEVINFO_STR_LAST = 0x3ffff }; @@ -341,12 +345,19 @@ void devtag_set_info_fct(running_machine *machine, device_type type, const char INLINE FUNCTIONS ***************************************************************************/ +/* return common strings based on device instances */ +INLINE const char *device_get_name(const device_config *device) { return device_get_info_string(device, DEVINFO_STR_NAME); } +INLINE const char *device_get_family(const device_config *device) { return device_get_info_string(device, DEVINFO_STR_FAMILY); } +INLINE const char *device_get_version(const device_config *device) { return device_get_info_string(device, DEVINFO_STR_VERSION); } +INLINE const char *device_get_source_file(const device_config *device) { return device_get_info_string(device, DEVINFO_STR_SOURCE_FILE); } +INLINE const char *device_get_credits(const device_config *device) { return device_get_info_string(device, DEVINFO_STR_CREDITS); } + /* return common strings based on device types */ -INLINE const char *devtype_name(device_type devtype) { return devtype_get_info_string(devtype, DEVINFO_STR_NAME); } -INLINE const char *devtype_family(device_type devtype) { return devtype_get_info_string(devtype, DEVINFO_STR_FAMILY); } -INLINE const char *devtype_version(device_type devtype) { return devtype_get_info_string(devtype, DEVINFO_STR_VERSION); } -INLINE const char *devtype_source_file(device_type devtype) { return devtype_get_info_string(devtype, DEVINFO_STR_SOURCE_FILE); } -INLINE const char *devtype_credits(device_type devtype) { return devtype_get_info_string(devtype, DEVINFO_STR_CREDITS); } +INLINE const char *devtype_get_name(device_type devtype) { return devtype_get_info_string(devtype, DEVINFO_STR_NAME); } +INLINE const char *devtype_get_family(device_type devtype) { return devtype_get_info_string(devtype, DEVINFO_STR_FAMILY); } +INLINE const char *devtype_get_version(device_type devtype) { return devtype_get_info_string(devtype, DEVINFO_STR_VERSION); } +INLINE const char *devtype_get_source_file(device_type devtype) { return devtype_get_info_string(devtype, DEVINFO_STR_SOURCE_FILE); } +INLINE const char *devtype_get_credits(device_type devtype) { return devtype_get_info_string(devtype, DEVINFO_STR_CREDITS); } #endif /* __DEVINTRF_H__ */ diff --git a/src/emu/emupal.c b/src/emu/emupal.c index 7488627e376..a9cf183e832 100644 --- a/src/emu/emupal.c +++ b/src/emu/emupal.c @@ -148,8 +148,8 @@ void palette_init(running_machine *machine) numcolors = palette_get_num_colors(machine->palette); palette->save_pen = auto_malloc(sizeof(*palette->save_pen) * numcolors); palette->save_bright = auto_malloc(sizeof(*palette->save_bright) * numcolors); - state_save_register_global_pointer(palette->save_pen, numcolors); - state_save_register_global_pointer(palette->save_bright, numcolors); + state_save_register_global_pointer(machine, palette->save_pen, numcolors); + state_save_register_global_pointer(machine, palette->save_bright, numcolors); state_save_register_presave(machine, palette_presave, palette); state_save_register_postload(machine, palette_postload, palette); } @@ -342,13 +342,13 @@ colortable_t *colortable_alloc(running_machine *machine, UINT32 palettesize) ctable->raw = auto_malloc(ctable->entries * sizeof(*ctable->raw)); for (index = 0; index < ctable->entries; index++) ctable->raw[index] = index % ctable->palentries; - state_save_register_global_pointer(ctable->raw, ctable->entries); + state_save_register_global_pointer(machine, ctable->raw, ctable->entries); /* allocate the palette */ ctable->palette = auto_malloc(ctable->palentries * sizeof(*ctable->palette)); for (index = 0; index < ctable->palentries; index++) ctable->palette[index] = MAKE_ARGB(0x80,0xff,0xff,0xff); - state_save_register_global_pointer(ctable->palette, ctable->palentries); + state_save_register_global_pointer(machine, ctable->palette, ctable->palentries); return ctable; } diff --git a/src/emu/machine/6526cia.c b/src/emu/machine/6526cia.c index 6a4657b72ee..74e4664123d 100644 --- a/src/emu/machine/6526cia.c +++ b/src/emu/machine/6526cia.c @@ -166,38 +166,38 @@ static DEVICE_START( cia ) timer_pulse(device->machine, ATTOTIME_IN_HZ(intf->tod_clock), (void *) device, 0, cia_clock_tod_callback); /* state save support */ - state_save_register_item("6526cia", device->tag, 0, cia->port[0].ddr); - state_save_register_item("6526cia", device->tag, 0, cia->port[0].latch); - state_save_register_item("6526cia", device->tag, 0, cia->port[0].in); - state_save_register_item("6526cia", device->tag, 0, cia->port[0].out); - state_save_register_item("6526cia", device->tag, 0, cia->port[0].mask_value); - state_save_register_item("6526cia", device->tag, 0, cia->port[1].ddr); - state_save_register_item("6526cia", device->tag, 0, cia->port[1].latch); - state_save_register_item("6526cia", device->tag, 0, cia->port[1].in); - state_save_register_item("6526cia", device->tag, 0, cia->port[1].out); - state_save_register_item("6526cia", device->tag, 0, cia->port[1].mask_value); - state_save_register_item("6526cia", device->tag, 0, cia->timer[0].latch); - state_save_register_item("6526cia", device->tag, 0, cia->timer[0].count); - state_save_register_item("6526cia", device->tag, 0, cia->timer[0].mode); - state_save_register_item("6526cia", device->tag, 0, cia->timer[0].irq); - state_save_register_item("6526cia", device->tag, 0, cia->timer[1].latch); - state_save_register_item("6526cia", device->tag, 0, cia->timer[1].count); - state_save_register_item("6526cia", device->tag, 0, cia->timer[1].mode); - state_save_register_item("6526cia", device->tag, 0, cia->timer[1].irq); - state_save_register_item("6526cia", device->tag, 0, cia->tod); - state_save_register_item("6526cia", device->tag, 0, cia->tod_latch); - state_save_register_item("6526cia", device->tag, 0, cia->tod_latched); - state_save_register_item("6526cia", device->tag, 0, cia->tod_running); - state_save_register_item("6526cia", device->tag, 0, cia->alarm); - state_save_register_item("6526cia", device->tag, 0, cia->icr); - state_save_register_item("6526cia", device->tag, 0, cia->ics); - state_save_register_item("6526cia", device->tag, 0, cia->irq); - state_save_register_item("6526cia", device->tag, 0, cia->loaded); - state_save_register_item("6526cia", device->tag, 0, cia->sdr); - state_save_register_item("6526cia", device->tag, 0, cia->sp); - state_save_register_item("6526cia", device->tag, 0, cia->cnt); - state_save_register_item("6526cia", device->tag, 0, cia->shift); - state_save_register_item("6526cia", device->tag, 0, cia->serial); + state_save_register_device_item(device, 0, cia->port[0].ddr); + state_save_register_device_item(device, 0, cia->port[0].latch); + state_save_register_device_item(device, 0, cia->port[0].in); + state_save_register_device_item(device, 0, cia->port[0].out); + state_save_register_device_item(device, 0, cia->port[0].mask_value); + state_save_register_device_item(device, 0, cia->port[1].ddr); + state_save_register_device_item(device, 0, cia->port[1].latch); + state_save_register_device_item(device, 0, cia->port[1].in); + state_save_register_device_item(device, 0, cia->port[1].out); + state_save_register_device_item(device, 0, cia->port[1].mask_value); + state_save_register_device_item(device, 0, cia->timer[0].latch); + state_save_register_device_item(device, 0, cia->timer[0].count); + state_save_register_device_item(device, 0, cia->timer[0].mode); + state_save_register_device_item(device, 0, cia->timer[0].irq); + state_save_register_device_item(device, 0, cia->timer[1].latch); + state_save_register_device_item(device, 0, cia->timer[1].count); + state_save_register_device_item(device, 0, cia->timer[1].mode); + state_save_register_device_item(device, 0, cia->timer[1].irq); + state_save_register_device_item(device, 0, cia->tod); + state_save_register_device_item(device, 0, cia->tod_latch); + state_save_register_device_item(device, 0, cia->tod_latched); + state_save_register_device_item(device, 0, cia->tod_running); + state_save_register_device_item(device, 0, cia->alarm); + state_save_register_device_item(device, 0, cia->icr); + state_save_register_device_item(device, 0, cia->ics); + state_save_register_device_item(device, 0, cia->irq); + state_save_register_device_item(device, 0, cia->loaded); + state_save_register_device_item(device, 0, cia->sdr); + state_save_register_device_item(device, 0, cia->sp); + state_save_register_device_item(device, 0, cia->cnt); + state_save_register_device_item(device, 0, cia->shift); + state_save_register_device_item(device, 0, cia->serial); return DEVICE_START_OK; } diff --git a/src/emu/machine/6532riot.c b/src/emu/machine/6532riot.c index 83661c5a59b..0f1824ce7ab 100644 --- a/src/emu/machine/6532riot.c +++ b/src/emu/machine/6532riot.c @@ -449,21 +449,21 @@ static DEVICE_START( riot6532 ) riot->timer = timer_alloc(device->machine, timer_end_callback, (void *)device); /* register for save states */ - state_save_register_item("riot6532", device->tag, 0, riot->port[0].in); - state_save_register_item("riot6532", device->tag, 0, riot->port[0].out); - state_save_register_item("riot6532", device->tag, 0, riot->port[0].ddr); - state_save_register_item("riot6532", device->tag, 0, riot->port[1].in); - state_save_register_item("riot6532", device->tag, 0, riot->port[1].out); - state_save_register_item("riot6532", device->tag, 0, riot->port[1].ddr); + state_save_register_device_item(device, 0, riot->port[0].in); + state_save_register_device_item(device, 0, riot->port[0].out); + state_save_register_device_item(device, 0, riot->port[0].ddr); + state_save_register_device_item(device, 0, riot->port[1].in); + state_save_register_device_item(device, 0, riot->port[1].out); + state_save_register_device_item(device, 0, riot->port[1].ddr); - state_save_register_item("riot6532", device->tag, 0, riot->irqstate); - state_save_register_item("riot6532", device->tag, 0, riot->irqenable); + state_save_register_device_item(device, 0, riot->irqstate); + state_save_register_device_item(device, 0, riot->irqenable); - state_save_register_item("riot6532", device->tag, 0, riot->pa7dir); - state_save_register_item("riot6532", device->tag, 0, riot->pa7prev); + state_save_register_device_item(device, 0, riot->pa7dir); + state_save_register_device_item(device, 0, riot->pa7prev); - state_save_register_item("riot6532", device->tag, 0, riot->timershift); - state_save_register_item("riot6532", device->tag, 0, riot->timerstate); + state_save_register_device_item(device, 0, riot->timershift); + state_save_register_device_item(device, 0, riot->timerstate); return DEVICE_START_OK; } diff --git a/src/emu/machine/6821pia.c b/src/emu/machine/6821pia.c index a2ca4ca1cea..997142fabf2 100644 --- a/src/emu/machine/6821pia.c +++ b/src/emu/machine/6821pia.c @@ -127,38 +127,38 @@ void pia_config(int which, const pia6821_interface *intf) p->intf = intf; - state_save_register_item("6821pia", NULL, which, p->in_a); - state_save_register_item("6821pia", NULL, which, p->in_ca1); - state_save_register_item("6821pia", NULL, which, p->in_ca2); - state_save_register_item("6821pia", NULL, which, p->out_a); - state_save_register_item("6821pia", NULL, which, p->out_ca2); - state_save_register_item("6821pia", NULL, which, p->port_a_z_mask); - state_save_register_item("6821pia", NULL, which, p->ddr_a); - state_save_register_item("6821pia", NULL, which, p->ctl_a); - state_save_register_item("6821pia", NULL, which, p->irq_a1); - state_save_register_item("6821pia", NULL, which, p->irq_a2); - state_save_register_item("6821pia", NULL, which, p->irq_a_state); - state_save_register_item("6821pia", NULL, which, p->in_b); - state_save_register_item("6821pia", NULL, which, p->in_cb1); - state_save_register_item("6821pia", NULL, which, p->in_cb2); - state_save_register_item("6821pia", NULL, which, p->out_b); - state_save_register_item("6821pia", NULL, which, p->out_cb2); - state_save_register_item("6821pia", NULL, which, p->last_out_cb2_z); - state_save_register_item("6821pia", NULL, which, p->ddr_b); - state_save_register_item("6821pia", NULL, which, p->ctl_b); - state_save_register_item("6821pia", NULL, which, p->irq_b1); - state_save_register_item("6821pia", NULL, which, p->irq_b2); - state_save_register_item("6821pia", NULL, which, p->irq_b_state); - state_save_register_item("6821pia", NULL, which, p->in_a_pushed); - state_save_register_item("6821pia", NULL, which, p->out_a_needs_pulled); - state_save_register_item("6821pia", NULL, which, p->in_ca1_pushed); - state_save_register_item("6821pia", NULL, which, p->in_ca2_pushed); - state_save_register_item("6821pia", NULL, which, p->out_ca2_needs_pulled); - state_save_register_item("6821pia", NULL, which, p->in_b_pushed); - state_save_register_item("6821pia", NULL, which, p->out_b_needs_pulled); - state_save_register_item("6821pia", NULL, which, p->in_cb1_pushed); - state_save_register_item("6821pia", NULL, which, p->in_cb2_pushed); - state_save_register_item("6821pia", NULL, which, p->out_cb2_needs_pulled); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_a); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_ca1); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_ca2); + state_save_register_item(Machine, "6821pia", NULL, which, p->out_a); + state_save_register_item(Machine, "6821pia", NULL, which, p->out_ca2); + state_save_register_item(Machine, "6821pia", NULL, which, p->port_a_z_mask); + state_save_register_item(Machine, "6821pia", NULL, which, p->ddr_a); + state_save_register_item(Machine, "6821pia", NULL, which, p->ctl_a); + state_save_register_item(Machine, "6821pia", NULL, which, p->irq_a1); + state_save_register_item(Machine, "6821pia", NULL, which, p->irq_a2); + state_save_register_item(Machine, "6821pia", NULL, which, p->irq_a_state); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_b); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_cb1); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_cb2); + state_save_register_item(Machine, "6821pia", NULL, which, p->out_b); + state_save_register_item(Machine, "6821pia", NULL, which, p->out_cb2); + state_save_register_item(Machine, "6821pia", NULL, which, p->last_out_cb2_z); + state_save_register_item(Machine, "6821pia", NULL, which, p->ddr_b); + state_save_register_item(Machine, "6821pia", NULL, which, p->ctl_b); + state_save_register_item(Machine, "6821pia", NULL, which, p->irq_b1); + state_save_register_item(Machine, "6821pia", NULL, which, p->irq_b2); + state_save_register_item(Machine, "6821pia", NULL, which, p->irq_b_state); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_a_pushed); + state_save_register_item(Machine, "6821pia", NULL, which, p->out_a_needs_pulled); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_ca1_pushed); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_ca2_pushed); + state_save_register_item(Machine, "6821pia", NULL, which, p->out_ca2_needs_pulled); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_b_pushed); + state_save_register_item(Machine, "6821pia", NULL, which, p->out_b_needs_pulled); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_cb1_pushed); + state_save_register_item(Machine, "6821pia", NULL, which, p->in_cb2_pushed); + state_save_register_item(Machine, "6821pia", NULL, which, p->out_cb2_needs_pulled); } diff --git a/src/emu/machine/6840ptm.c b/src/emu/machine/6840ptm.c index f4664c15a5c..5161905f2cb 100644 --- a/src/emu/machine/6840ptm.c +++ b/src/emu/machine/6840ptm.c @@ -402,25 +402,25 @@ void ptm6840_config(running_machine *machine, int which, const ptm6840_interface timer_enable(ptm[which].timer[i], FALSE); } - state_save_register_item("6840ptm", NULL, which, currptr->lsb_buffer); - state_save_register_item("6840ptm", NULL, which, currptr->msb_buffer); - state_save_register_item("6840ptm", NULL, which, currptr->status_read_since_int); - state_save_register_item("6840ptm", NULL, which, currptr->status_reg); - state_save_register_item("6840ptm", NULL, which, currptr->t3_divisor); - state_save_register_item("6840ptm", NULL, which, currptr->t3_scaler); - state_save_register_item("6840ptm", NULL, which, currptr->internal_clock); - state_save_register_item("6840ptm", NULL, which, currptr->IRQ); + state_save_register_item(machine, "6840ptm", NULL, which, currptr->lsb_buffer); + state_save_register_item(machine, "6840ptm", NULL, which, currptr->msb_buffer); + state_save_register_item(machine, "6840ptm", NULL, which, currptr->status_read_since_int); + state_save_register_item(machine, "6840ptm", NULL, which, currptr->status_reg); + state_save_register_item(machine, "6840ptm", NULL, which, currptr->t3_divisor); + state_save_register_item(machine, "6840ptm", NULL, which, currptr->t3_scaler); + state_save_register_item(machine, "6840ptm", NULL, which, currptr->internal_clock); + state_save_register_item(machine, "6840ptm", NULL, which, currptr->IRQ); - state_save_register_item_array("6840ptm", NULL, which, currptr->control_reg); - state_save_register_item_array("6840ptm", NULL, which, currptr->output); - state_save_register_item_array("6840ptm", NULL, which, currptr->gate); - state_save_register_item_array("6840ptm", NULL, which, currptr->clock); - state_save_register_item_array("6840ptm", NULL, which, currptr->mode); - state_save_register_item_array("6840ptm", NULL, which, currptr->fired); - state_save_register_item_array("6840ptm", NULL, which, currptr->enabled); - state_save_register_item_array("6840ptm", NULL, which, currptr->external_clock); - state_save_register_item_array("6840ptm", NULL, which, currptr->counter); - state_save_register_item_array("6840ptm", NULL, which, currptr->latch); + state_save_register_item_array(machine, "6840ptm", NULL, which, currptr->control_reg); + state_save_register_item_array(machine, "6840ptm", NULL, which, currptr->output); + state_save_register_item_array(machine, "6840ptm", NULL, which, currptr->gate); + state_save_register_item_array(machine, "6840ptm", NULL, which, currptr->clock); + state_save_register_item_array(machine, "6840ptm", NULL, which, currptr->mode); + state_save_register_item_array(machine, "6840ptm", NULL, which, currptr->fired); + state_save_register_item_array(machine, "6840ptm", NULL, which, currptr->enabled); + state_save_register_item_array(machine, "6840ptm", NULL, which, currptr->external_clock); + state_save_register_item_array(machine, "6840ptm", NULL, which, currptr->counter); + state_save_register_item_array(machine, "6840ptm", NULL, which, currptr->latch); ptm6840_reset(which); } diff --git a/src/emu/machine/6850acia.c b/src/emu/machine/6850acia.c index d2db4ccd226..687ca9def0c 100644 --- a/src/emu/machine/6850acia.c +++ b/src/emu/machine/6850acia.c @@ -234,29 +234,29 @@ static DEVICE_START( acia6850 ) timer_reset(acia_p->rx_timer, attotime_never); timer_reset(acia_p->tx_timer, attotime_never); - state_save_register_item("acia6850", device->tag, 0, acia_p->ctrl); - state_save_register_item("acia6850", device->tag, 0, acia_p->status); - state_save_register_item("acia6850", device->tag, 0, acia_p->rx_clock); - state_save_register_item("acia6850", device->tag, 0, acia_p->tx_clock); - state_save_register_item("acia6850", device->tag, 0, acia_p->rx_counter); - state_save_register_item("acia6850", device->tag, 0, acia_p->tx_counter); - state_save_register_item("acia6850", device->tag, 0, acia_p->rx_shift); - state_save_register_item("acia6850", device->tag, 0, acia_p->tx_shift); - state_save_register_item("acia6850", device->tag, 0, acia_p->rdr); - state_save_register_item("acia6850", device->tag, 0, acia_p->tdr); - state_save_register_item("acia6850", device->tag, 0, acia_p->rx_bits); - state_save_register_item("acia6850", device->tag, 0, acia_p->tx_bits); - state_save_register_item("acia6850", device->tag, 0, acia_p->rx_parity); - state_save_register_item("acia6850", device->tag, 0, acia_p->tx_parity); - state_save_register_item("acia6850", device->tag, 0, acia_p->tx_int); + state_save_register_device_item(device, 0, acia_p->ctrl); + state_save_register_device_item(device, 0, acia_p->status); + state_save_register_device_item(device, 0, acia_p->rx_clock); + state_save_register_device_item(device, 0, acia_p->tx_clock); + state_save_register_device_item(device, 0, acia_p->rx_counter); + state_save_register_device_item(device, 0, acia_p->tx_counter); + state_save_register_device_item(device, 0, acia_p->rx_shift); + state_save_register_device_item(device, 0, acia_p->tx_shift); + state_save_register_device_item(device, 0, acia_p->rdr); + state_save_register_device_item(device, 0, acia_p->tdr); + state_save_register_device_item(device, 0, acia_p->rx_bits); + state_save_register_device_item(device, 0, acia_p->tx_bits); + state_save_register_device_item(device, 0, acia_p->rx_parity); + state_save_register_device_item(device, 0, acia_p->tx_parity); + state_save_register_device_item(device, 0, acia_p->tx_int); - state_save_register_item("acia6850", device->tag, 0, acia_p->divide); - state_save_register_item("acia6850", device->tag, 0, acia_p->overrun); - state_save_register_item("acia6850", device->tag, 0, acia_p->reset); - state_save_register_item("acia6850", device->tag, 0, acia_p->first_reset); - state_save_register_item("acia6850", device->tag, 0, acia_p->rts); - state_save_register_item("acia6850", device->tag, 0, acia_p->brk); - state_save_register_item("acia6850", device->tag, 0, acia_p->status_read); + state_save_register_device_item(device, 0, acia_p->divide); + state_save_register_device_item(device, 0, acia_p->overrun); + state_save_register_device_item(device, 0, acia_p->reset); + state_save_register_device_item(device, 0, acia_p->first_reset); + state_save_register_device_item(device, 0, acia_p->rts); + state_save_register_device_item(device, 0, acia_p->brk); + state_save_register_device_item(device, 0, acia_p->status_read); return DEVICE_START_OK; } diff --git a/src/emu/machine/68681.c b/src/emu/machine/68681.c index d1391323ccf..d6cddce17a3 100644 --- a/src/emu/machine/68681.c +++ b/src/emu/machine/68681.c @@ -542,45 +542,45 @@ static DEVICE_START(duart68681) assert(device != NULL); assert(device->tag != NULL); - state_save_register_item("DUART68681", device->tag, 0, duart68681->ACR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->IMR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->ISR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->IVR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->OPCR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->CTR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->IP_last_state); + state_save_register_device_item(device, 0, duart68681->ACR); + state_save_register_device_item(device, 0, duart68681->IMR); + state_save_register_device_item(device, 0, duart68681->ISR); + state_save_register_device_item(device, 0, duart68681->IVR); + state_save_register_device_item(device, 0, duart68681->OPCR); + state_save_register_device_item(device, 0, duart68681->CTR); + state_save_register_device_item(device, 0, duart68681->IP_last_state); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].CR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].CSR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].MR1); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].MR2); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].MR_ptr); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].SR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].baud_rate); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].rx_enabled); - state_save_register_item_array("DUART68681", device->tag, 0, duart68681->channel[0].rx_fifo); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].rx_fifo_read_ptr); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].rx_fifo_write_ptr); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].rx_fifo_num); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].tx_enabled); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].tx_data); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[0].tx_ready); + state_save_register_device_item(device, 0, duart68681->channel[0].CR); + state_save_register_device_item(device, 0, duart68681->channel[0].CSR); + state_save_register_device_item(device, 0, duart68681->channel[0].MR1); + state_save_register_device_item(device, 0, duart68681->channel[0].MR2); + state_save_register_device_item(device, 0, duart68681->channel[0].MR_ptr); + state_save_register_device_item(device, 0, duart68681->channel[0].SR); + state_save_register_device_item(device, 0, duart68681->channel[0].baud_rate); + state_save_register_device_item(device, 0, duart68681->channel[0].rx_enabled); + state_save_register_device_item_array(device, 0, duart68681->channel[0].rx_fifo); + state_save_register_device_item(device, 0, duart68681->channel[0].rx_fifo_read_ptr); + state_save_register_device_item(device, 0, duart68681->channel[0].rx_fifo_write_ptr); + state_save_register_device_item(device, 0, duart68681->channel[0].rx_fifo_num); + state_save_register_device_item(device, 0, duart68681->channel[0].tx_enabled); + state_save_register_device_item(device, 0, duart68681->channel[0].tx_data); + state_save_register_device_item(device, 0, duart68681->channel[0].tx_ready); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].CR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].CSR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].MR1); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].MR2); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].MR_ptr); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].SR); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].baud_rate); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].rx_enabled); - state_save_register_item_array("DUART68681", device->tag, 0, duart68681->channel[1].rx_fifo); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].rx_fifo_read_ptr); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].rx_fifo_write_ptr); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].rx_fifo_num); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].tx_enabled); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].tx_data); - state_save_register_item("DUART68681", device->tag, 0, duart68681->channel[1].tx_ready); + state_save_register_device_item(device, 0, duart68681->channel[1].CR); + state_save_register_device_item(device, 0, duart68681->channel[1].CSR); + state_save_register_device_item(device, 0, duart68681->channel[1].MR1); + state_save_register_device_item(device, 0, duart68681->channel[1].MR2); + state_save_register_device_item(device, 0, duart68681->channel[1].MR_ptr); + state_save_register_device_item(device, 0, duart68681->channel[1].SR); + state_save_register_device_item(device, 0, duart68681->channel[1].baud_rate); + state_save_register_device_item(device, 0, duart68681->channel[1].rx_enabled); + state_save_register_device_item_array(device, 0, duart68681->channel[1].rx_fifo); + state_save_register_device_item(device, 0, duart68681->channel[1].rx_fifo_read_ptr); + state_save_register_device_item(device, 0, duart68681->channel[1].rx_fifo_write_ptr); + state_save_register_device_item(device, 0, duart68681->channel[1].rx_fifo_num); + state_save_register_device_item(device, 0, duart68681->channel[1].tx_enabled); + state_save_register_device_item(device, 0, duart68681->channel[1].tx_data); + state_save_register_device_item(device, 0, duart68681->channel[1].tx_ready); return DEVICE_START_OK; } diff --git a/src/emu/machine/74123.c b/src/emu/machine/74123.c index 4c6be09b621..4258ca896cb 100644 --- a/src/emu/machine/74123.c +++ b/src/emu/machine/74123.c @@ -205,9 +205,9 @@ static DEVICE_START( ttl74123 ) chip->clear = chip->intf->clear; /* register for state saving */ - state_save_register_item("ttl74123", device->tag, 0, chip->a); - state_save_register_item("ttl74123", device->tag, 0, chip->b); - state_save_register_item("ttl74123", device->tag, 0, chip->clear); + state_save_register_device_item(device, 0, chip->a); + state_save_register_device_item(device, 0, chip->b); + state_save_register_device_item(device, 0, chip->clear); return DEVICE_START_OK; } diff --git a/src/emu/machine/74181.c b/src/emu/machine/74181.c index 0e82952eb95..68e9b6d13c8 100644 --- a/src/emu/machine/74181.c +++ b/src/emu/machine/74181.c @@ -39,9 +39,9 @@ void TTL74181_config(running_machine *machine, int which, void *intf) c->dirty = 1; - state_save_register_item_array("TTL74181", NULL, which, c->inputs); - state_save_register_item_array("TTL74181", NULL, which, c->outputs); - state_save_register_item ("TTL74181", NULL, which, c->dirty); + state_save_register_item_array(machine, "TTL74181", NULL, which, c->inputs); + state_save_register_item_array(machine, "TTL74181", NULL, which, c->outputs); + state_save_register_item (machine, "TTL74181", NULL, which, c->dirty); } diff --git a/src/emu/machine/7474.c b/src/emu/machine/7474.c index 76f23060a56..187cdf1166c 100644 --- a/src/emu/machine/7474.c +++ b/src/emu/machine/7474.c @@ -38,6 +38,7 @@ *****************************************************************************/ #include "driver.h" +#include "deprecat.h" #include "7474.h" @@ -161,13 +162,13 @@ void TTL7474_config(int which, const struct TTL7474_interface *intf) chip->last_output = -1; chip->last_output_comp = -1; - state_save_register_item("ttl7474", NULL, which, chip->clear); - state_save_register_item("ttl7474", NULL, which, chip->preset); - state_save_register_item("ttl7474", NULL, which, chip->clock); - state_save_register_item("ttl7474", NULL, which, chip->d); - state_save_register_item("ttl7474", NULL, which, chip->output); - state_save_register_item("ttl7474", NULL, which, chip->output_comp); - state_save_register_item("ttl7474", NULL, which, chip->last_clock); - state_save_register_item("ttl7474", NULL, which, chip->last_output); - state_save_register_item("ttl7474", NULL, which, chip->last_output_comp); + state_save_register_item(Machine, "ttl7474", NULL, which, chip->clear); + state_save_register_item(Machine, "ttl7474", NULL, which, chip->preset); + state_save_register_item(Machine, "ttl7474", NULL, which, chip->clock); + state_save_register_item(Machine, "ttl7474", NULL, which, chip->d); + state_save_register_item(Machine, "ttl7474", NULL, which, chip->output); + state_save_register_item(Machine, "ttl7474", NULL, which, chip->output_comp); + state_save_register_item(Machine, "ttl7474", NULL, which, chip->last_clock); + state_save_register_item(Machine, "ttl7474", NULL, which, chip->last_output); + state_save_register_item(Machine, "ttl7474", NULL, which, chip->last_output_comp); } diff --git a/src/emu/machine/8255ppi.c b/src/emu/machine/8255ppi.c index 62e330d1fee..9a2dc39e598 100644 --- a/src/emu/machine/8255ppi.c +++ b/src/emu/machine/8255ppi.c @@ -518,22 +518,22 @@ static DEVICE_START( ppi8255 ) { ppi8255->port_write[2] = ppi8255->intf->port_c_write; /* register for state saving */ - state_save_register_item("ppi8255", device->tag, 0, ppi8255->group_a_mode); - state_save_register_item("ppi8255", device->tag, 0, ppi8255->group_b_mode); - state_save_register_item("ppi8255", device->tag, 0, ppi8255->port_a_dir); - state_save_register_item("ppi8255", device->tag, 0, ppi8255->port_b_dir); - state_save_register_item("ppi8255", device->tag, 0, ppi8255->port_ch_dir); - state_save_register_item("ppi8255", device->tag, 0, ppi8255->port_cl_dir); - state_save_register_item("ppi8255", device->tag, 0, ppi8255->obf_a); - state_save_register_item("ppi8255", device->tag, 0, ppi8255->obf_b); - state_save_register_item("ppi8255", device->tag, 0, ppi8255->ibf_a); - state_save_register_item("ppi8255", device->tag, 0, ppi8255->ibf_b); - state_save_register_item("ppi8255", device->tag, 0, ppi8255->inte_a); - state_save_register_item("ppi8255", device->tag, 0, ppi8255->inte_b); - state_save_register_item_array("ppi8255", device->tag, 0, ppi8255->in_mask); - state_save_register_item_array("ppi8255", device->tag, 0, ppi8255->out_mask); - state_save_register_item_array("ppi8255", device->tag, 0, ppi8255->read); - state_save_register_item_array("ppi8255", device->tag, 0, ppi8255->latch); + state_save_register_device_item(device, 0, ppi8255->group_a_mode); + state_save_register_device_item(device, 0, ppi8255->group_b_mode); + state_save_register_device_item(device, 0, ppi8255->port_a_dir); + state_save_register_device_item(device, 0, ppi8255->port_b_dir); + state_save_register_device_item(device, 0, ppi8255->port_ch_dir); + state_save_register_device_item(device, 0, ppi8255->port_cl_dir); + state_save_register_device_item(device, 0, ppi8255->obf_a); + state_save_register_device_item(device, 0, ppi8255->obf_b); + state_save_register_device_item(device, 0, ppi8255->ibf_a); + state_save_register_device_item(device, 0, ppi8255->ibf_b); + state_save_register_device_item(device, 0, ppi8255->inte_a); + state_save_register_device_item(device, 0, ppi8255->inte_b); + state_save_register_device_item_array(device, 0, ppi8255->in_mask); + state_save_register_device_item_array(device, 0, ppi8255->out_mask); + state_save_register_device_item_array(device, 0, ppi8255->read); + state_save_register_device_item_array(device, 0, ppi8255->latch); return DEVICE_START_OK; } diff --git a/src/emu/machine/8257dma.c b/src/emu/machine/8257dma.c index 9d0f6d05c69..bd5463052c5 100644 --- a/src/emu/machine/8257dma.c +++ b/src/emu/machine/8257dma.c @@ -374,16 +374,16 @@ static DEVICE_START( dma8257 ) dma8257->timer = timer_alloc(device->machine, dma8257_timerproc, (void *) device); dma8257->msbflip_timer = timer_alloc(device->machine, dma8257_msbflip_timerproc, (void *) device); - state_save_register_item_array("dma8257", device->tag, 0, dma8257->address); - state_save_register_item_array("dma8257", device->tag, 0, dma8257->count); - state_save_register_item_array("dma8257", device->tag, 0, dma8257->rwmode); - state_save_register_item_array("dma8257", device->tag, 0, dma8257->registers); + state_save_register_device_item_array(device, 0, dma8257->address); + state_save_register_device_item_array(device, 0, dma8257->count); + state_save_register_device_item_array(device, 0, dma8257->rwmode); + state_save_register_device_item_array(device, 0, dma8257->registers); - state_save_register_item("dma8257", device->tag, 0, dma8257->mode); - state_save_register_item("dma8257", device->tag, 0, dma8257->rr); - state_save_register_item("dma8257", device->tag, 0, dma8257->msb); - state_save_register_item("dma8257", device->tag, 0, dma8257->drq); - state_save_register_item("dma8257", device->tag, 0, dma8257->status); + state_save_register_device_item(device, 0, dma8257->mode); + state_save_register_device_item(device, 0, dma8257->rr); + state_save_register_device_item(device, 0, dma8257->msb); + state_save_register_device_item(device, 0, dma8257->drq); + state_save_register_device_item(device, 0, dma8257->status); return DEVICE_START_OK; } diff --git a/src/emu/machine/adc083x.c b/src/emu/machine/adc083x.c index 7e24583c74d..d67c3acf27c 100644 --- a/src/emu/machine/adc083x.c +++ b/src/emu/machine/adc083x.c @@ -114,19 +114,19 @@ void adc083x_init( int chip, int type, double (*input_callback)(int input) ) break; } - state_save_register_item( "adc083x", NULL, chip, c->CS ); - state_save_register_item( "adc083x", NULL, chip, c->CLK ); - state_save_register_item( "adc083x", NULL, chip, c->DI ); - state_save_register_item( "adc083x", NULL, chip, c->SE ); - state_save_register_item( "adc083x", NULL, chip, c->SARS ); - state_save_register_item( "adc083x", NULL, chip, c->DO ); - state_save_register_item( "adc083x", NULL, chip, c->SGL ); - state_save_register_item( "adc083x", NULL, chip, c->ODD ); - state_save_register_item( "adc083x", NULL, chip, c->SEL1 ); - state_save_register_item( "adc083x", NULL, chip, c->SEL0 ); - state_save_register_item( "adc083x", NULL, chip, c->state ); - state_save_register_item( "adc083x", NULL, chip, c->bit ); - state_save_register_item( "adc083x", NULL, chip, c->output ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->CS ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->CLK ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->DI ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->SE ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->SARS ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->DO ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->SGL ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->ODD ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->SEL1 ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->SEL0 ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->state ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->bit ); + state_save_register_item( Machine, "adc083x", NULL, chip, c->output ); } void adc083x_cs_write( int chip, int cs ) diff --git a/src/emu/machine/am53cf96.c b/src/emu/machine/am53cf96.c index 851eb3ebf95..d1a177dc835 100644 --- a/src/emu/machine/am53cf96.c +++ b/src/emu/machine/am53cf96.c @@ -10,6 +10,7 @@ */ #include "driver.h" +#include "deprecat.h" #include "am53cf96.h" static UINT8 scsi_regs[32], fifo[16], fptr = 0, xfer_state, last_id; @@ -224,11 +225,11 @@ void am53cf96_init( const struct AM53CF96interface *interface ) SCSIAllocInstance( interface->scsidevs->devices[i].scsiClass, &devices[interface->scsidevs->devices[i].scsiID], interface->scsidevs->devices[i].diskregion ); } - state_save_register_global_array(scsi_regs); - state_save_register_global_array(fifo); - state_save_register_global(fptr); - state_save_register_global(xfer_state); - state_save_register_global(last_id); + state_save_register_global_array(Machine, scsi_regs); + state_save_register_global_array(Machine, fifo); + state_save_register_global(Machine, fptr); + state_save_register_global(Machine, xfer_state); + state_save_register_global(Machine, last_id); } void am53cf96_exit( const struct AM53CF96interface *interface ) diff --git a/src/emu/machine/at28c16.c b/src/emu/machine/at28c16.c index 363f81d42b4..396c3202ce3 100644 --- a/src/emu/machine/at28c16.c +++ b/src/emu/machine/at28c16.c @@ -147,11 +147,11 @@ static DEVICE_START(at28c16) } /* create the name for save states */ - state_save_register_item_pointer( "at28c16", device->tag, 0, c->data, SIZE_DATA ); - state_save_register_item_pointer( "at28c16", device->tag, 0, c->id, SIZE_ID ); - state_save_register_item( "at28c16", device->tag, 0, c->a9_12v ); - state_save_register_item( "at28c16", device->tag, 0, c->oe_12v ); - state_save_register_item( "at28c16", device->tag, 0, c->last_write ); + state_save_register_device_item_pointer( device, 0, c->data, SIZE_DATA ); + state_save_register_device_item_pointer( device, 0, c->id, SIZE_ID ); + state_save_register_device_item( device, 0, c->a9_12v ); + state_save_register_device_item( device, 0, c->oe_12v ); + state_save_register_device_item( device, 0, c->last_write ); return DEVICE_START_OK; } diff --git a/src/emu/machine/cdp1852.c b/src/emu/machine/cdp1852.c index f438ad18fd0..d0d2d59c3da 100644 --- a/src/emu/machine/cdp1852.c +++ b/src/emu/machine/cdp1852.c @@ -147,11 +147,11 @@ static DEVICE_START( cdp1852 ) } /* register for state saving */ - state_save_register_item("cdp1852", device->tag, 0, cdp1852->new_data); - state_save_register_item("cdp1852", device->tag, 0, cdp1852->data); - state_save_register_item("cdp1852", device->tag, 0, cdp1852->next_data); - state_save_register_item("cdp1852", device->tag, 0, cdp1852->sr); - state_save_register_item("cdp1852", device->tag, 0, cdp1852->next_sr); + state_save_register_device_item(device, 0, cdp1852->new_data); + state_save_register_device_item(device, 0, cdp1852->data); + state_save_register_device_item(device, 0, cdp1852->next_data); + state_save_register_device_item(device, 0, cdp1852->sr); + state_save_register_device_item(device, 0, cdp1852->next_sr); return DEVICE_START_OK; } diff --git a/src/emu/machine/cr589.c b/src/emu/machine/cr589.c index 9bbee3395b0..4c8abc1952f 100644 --- a/src/emu/machine/cr589.c +++ b/src/emu/machine/cr589.c @@ -4,6 +4,7 @@ */ #include "driver.h" +#include "deprecat.h" #include "cr589.h" typedef struct @@ -115,9 +116,9 @@ static void cr589_alloc_instance( SCSIInstance *scsiInstance, const char *diskre our_this->download = 0; memcpy( &our_this->buffer[ identity_offset ], "MATSHITACD-ROM CR-589 GS0N", 28 ); - state_save_register_item( "cr589", diskregion, 0, our_this->download ); - state_save_register_item_array( "cr589", diskregion, 0, our_this->buffer ); - state_save_register_item( "cr589", diskregion, 0, our_this->bufferOffset ); + state_save_register_item( Machine, "cr589", diskregion, 0, our_this->download ); + state_save_register_item_array( Machine, "cr589", diskregion, 0, our_this->buffer ); + state_save_register_item( Machine, "cr589", diskregion, 0, our_this->bufferOffset ); } static int cr589_dispatch( int operation, void *file, INT64 intparm, void *ptrparm ) diff --git a/src/emu/machine/ds2401.c b/src/emu/machine/ds2401.c index d54db006b49..2d3fb3bf96a 100644 --- a/src/emu/machine/ds2401.c +++ b/src/emu/machine/ds2401.c @@ -156,12 +156,12 @@ void ds2401_init( int which, const UINT8 *data ) c->t_pdh = ATTOTIME_IN_USEC( 15 ); c->t_pdl = ATTOTIME_IN_USEC( 60 ); - state_save_register_item( "ds2401", NULL, which, c->state ); - state_save_register_item( "ds2401", NULL, which, c->bit ); - state_save_register_item( "ds2401", NULL, which, c->byte ); - state_save_register_item( "ds2401", NULL, which, c->shift ); - state_save_register_item( "ds2401", NULL, which, c->rx ); - state_save_register_item( "ds2401", NULL, which, c->tx ); + state_save_register_item(Machine, "ds2401", NULL, which, c->state ); + state_save_register_item(Machine, "ds2401", NULL, which, c->bit ); + state_save_register_item(Machine, "ds2401", NULL, which, c->byte ); + state_save_register_item(Machine, "ds2401", NULL, which, c->shift ); + state_save_register_item(Machine, "ds2401", NULL, which, c->rx ); + state_save_register_item(Machine, "ds2401", NULL, which, c->tx ); c->timer = timer_alloc(Machine, ds2401_tick , NULL); c->reset_timer = timer_alloc(Machine, ds2401_reset , NULL); diff --git a/src/emu/machine/eeprom.c b/src/emu/machine/eeprom.c index 62a7e6c2751..a037c6a7932 100644 --- a/src/emu/machine/eeprom.c +++ b/src/emu/machine/eeprom.c @@ -1,4 +1,5 @@ #include "driver.h" +#include "deprecat.h" #include "eeprom.h" #define VERBOSE 0 @@ -146,17 +147,17 @@ void eeprom_init(const eeprom_interface *interface) if (intf->cmd_unlock) locked = 1; else locked = 0; - state_save_register_global_array(eeprom_data); - state_save_register_global_array(serial_buffer); - state_save_register_global(clock_line); - state_save_register_global(reset_line); - state_save_register_global(locked); - state_save_register_global(serial_count); - state_save_register_global(latch); - state_save_register_global(reset_delay); - state_save_register_global(eeprom_clock_count); - state_save_register_global(eeprom_data_bits); - state_save_register_global(eeprom_read_address); + state_save_register_global_array(Machine, eeprom_data); + state_save_register_global_array(Machine, serial_buffer); + state_save_register_global(Machine, clock_line); + state_save_register_global(Machine, reset_line); + state_save_register_global(Machine, locked); + state_save_register_global(Machine, serial_count); + state_save_register_global(Machine, latch); + state_save_register_global(Machine, reset_delay); + state_save_register_global(Machine, eeprom_clock_count); + state_save_register_global(Machine, eeprom_data_bits); + state_save_register_global(Machine, eeprom_read_address); } static void eeprom_write(int bit) diff --git a/src/emu/machine/generic.c b/src/emu/machine/generic.c index e2eefce0602..879daa91172 100644 --- a/src/emu/machine/generic.c +++ b/src/emu/machine/generic.c @@ -72,9 +72,9 @@ void generic_machine_init(running_machine *machine) } /* register coin save state */ - state_save_register_item_array("coin", NULL, 0, coin_count); - state_save_register_item_array("coin", NULL, 0, coinlockedout); - state_save_register_item_array("coin", NULL, 0, lastcoin); + state_save_register_item_array(machine, "coin", NULL, 0, coin_count); + state_save_register_item_array(machine, "coin", NULL, 0, coinlockedout); + state_save_register_item_array(machine, "coin", NULL, 0, lastcoin); /* reset NVRAM size and pointers */ generic_nvram_size = 0; @@ -87,7 +87,7 @@ void generic_machine_init(running_machine *machine) /* register a reset callback and save state for interrupt enable */ add_reset_callback(machine, interrupt_reset); - state_save_register_item_array("cpu", NULL, 0, interrupt_enable); + state_save_register_item_array(machine, "cpu", NULL, 0, interrupt_enable); /* register for configuration */ config_register(machine, "counters", counters_load, counters_save); @@ -95,7 +95,7 @@ void generic_machine_init(running_machine *machine) /* for memory cards, request save state and an exit callback */ if (machine->config->memcard_handler != NULL) { - state_save_register_global(memcard_inserted); + state_save_register_global(machine, memcard_inserted); add_exit_callback(machine, memcard_eject); } } diff --git a/src/emu/machine/i2cmem.c b/src/emu/machine/i2cmem.c index fa102d5ae3b..38662fab294 100644 --- a/src/emu/machine/i2cmem.c +++ b/src/emu/machine/i2cmem.c @@ -121,19 +121,19 @@ void i2cmem_init( int chip, int slave_address, int page_size, int data_size, uns c->data = data; c->page = page; - state_save_register_item( "i2cmem", NULL, chip, c->scl ); - state_save_register_item( "i2cmem", NULL, chip, c->sdaw ); - state_save_register_item( "i2cmem", NULL, chip, c->e0 ); - state_save_register_item( "i2cmem", NULL, chip, c->e1 ); - state_save_register_item( "i2cmem", NULL, chip, c->e2 ); - state_save_register_item( "i2cmem", NULL, chip, c->wc ); - state_save_register_item( "i2cmem", NULL, chip, c->sdar ); - state_save_register_item( "i2cmem", NULL, chip, c->state ); - state_save_register_item( "i2cmem", NULL, chip, c->bits ); - state_save_register_item( "i2cmem", NULL, chip, c->shift ); - state_save_register_item( "i2cmem", NULL, chip, c->devsel ); - state_save_register_item( "i2cmem", NULL, chip, c->byteaddr ); - state_save_register_item_pointer( "i2cmem", NULL, chip, c->data, c->data_size ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->scl ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->sdaw ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->e0 ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->e1 ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->e2 ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->wc ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->sdar ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->state ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->bits ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->shift ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->devsel ); + state_save_register_item( Machine, "i2cmem", NULL, chip, c->byteaddr ); + state_save_register_item_pointer( Machine, "i2cmem", NULL, chip, c->data, c->data_size ); } static int select_device( struct i2cmem_chip *c ) diff --git a/src/emu/machine/idectrl.c b/src/emu/machine/idectrl.c index 5c45d26e7b8..2352e196000 100644 --- a/src/emu/machine/idectrl.c +++ b/src/emu/machine/idectrl.c @@ -1709,50 +1709,50 @@ static DEVICE_START( ide_controller ) ide->reset_timer = timer_alloc(device->machine, reset_callback, (void *)device); /* register ide states */ - state_save_register_item("ide_controller", device->tag, 0, ide->adapter_control); - state_save_register_item("ide_controller", device->tag, 0, ide->status); - state_save_register_item("ide_controller", device->tag, 0, ide->error); - state_save_register_item("ide_controller", device->tag, 0, ide->command); - state_save_register_item("ide_controller", device->tag, 0, ide->interrupt_pending); - state_save_register_item("ide_controller", device->tag, 0, ide->precomp_offset); + state_save_register_device_item(device, 0, ide->adapter_control); + state_save_register_device_item(device, 0, ide->status); + state_save_register_device_item(device, 0, ide->error); + state_save_register_device_item(device, 0, ide->command); + state_save_register_device_item(device, 0, ide->interrupt_pending); + state_save_register_device_item(device, 0, ide->precomp_offset); - state_save_register_item_array("ide_controller", device->tag, 0, ide->buffer); - state_save_register_item_array("ide_controller", device->tag, 0, ide->features); - state_save_register_item("ide_controller", device->tag, 0, ide->buffer_offset); - state_save_register_item("ide_controller", device->tag, 0, ide->sector_count); + state_save_register_device_item_array(device, 0, ide->buffer); + state_save_register_device_item_array(device, 0, ide->features); + state_save_register_device_item(device, 0, ide->buffer_offset); + state_save_register_device_item(device, 0, ide->sector_count); - state_save_register_item("ide_controller", device->tag, 0, ide->block_count); - state_save_register_item("ide_controller", device->tag, 0, ide->sectors_until_int); + state_save_register_device_item(device, 0, ide->block_count); + state_save_register_device_item(device, 0, ide->sectors_until_int); - state_save_register_item("ide_controller", device->tag, 0, ide->dma_active); - state_save_register_item("ide_controller", device->tag, 0, ide->dma_cpu); - state_save_register_item("ide_controller", device->tag, 0, ide->dma_address_xor); - state_save_register_item("ide_controller", device->tag, 0, ide->dma_last_buffer); - state_save_register_item("ide_controller", device->tag, 0, ide->dma_address); - state_save_register_item("ide_controller", device->tag, 0, ide->dma_descriptor); - state_save_register_item("ide_controller", device->tag, 0, ide->dma_bytes_left); + state_save_register_device_item(device, 0, ide->dma_active); + state_save_register_device_item(device, 0, ide->dma_cpu); + state_save_register_device_item(device, 0, ide->dma_address_xor); + state_save_register_device_item(device, 0, ide->dma_last_buffer); + state_save_register_device_item(device, 0, ide->dma_address); + state_save_register_device_item(device, 0, ide->dma_descriptor); + state_save_register_device_item(device, 0, ide->dma_bytes_left); - state_save_register_item("ide_controller", device->tag, 0, ide->bus_master_command); - state_save_register_item("ide_controller", device->tag, 0, ide->bus_master_status); - state_save_register_item("ide_controller", device->tag, 0, ide->bus_master_descriptor); + state_save_register_device_item(device, 0, ide->bus_master_command); + state_save_register_device_item(device, 0, ide->bus_master_status); + state_save_register_device_item(device, 0, ide->bus_master_descriptor); - state_save_register_item("ide_controller", device->tag, 0, ide->cur_cylinder); - state_save_register_item("ide_controller", device->tag, 0, ide->cur_sector); - state_save_register_item("ide_controller", device->tag, 0, ide->cur_head); - state_save_register_item("ide_controller", device->tag, 0, ide->cur_head_reg); + state_save_register_device_item(device, 0, ide->cur_cylinder); + state_save_register_device_item(device, 0, ide->cur_sector); + state_save_register_device_item(device, 0, ide->cur_head); + state_save_register_device_item(device, 0, ide->cur_head_reg); - state_save_register_item("ide_controller", device->tag, 0, ide->cur_lba); + state_save_register_device_item(device, 0, ide->cur_lba); - state_save_register_item("ide_controller", device->tag, 0, ide->num_cylinders); - state_save_register_item("ide_controller", device->tag, 0, ide->num_sectors); - state_save_register_item("ide_controller", device->tag, 0, ide->num_heads); + state_save_register_device_item(device, 0, ide->num_cylinders); + state_save_register_device_item(device, 0, ide->num_sectors); + state_save_register_device_item(device, 0, ide->num_heads); - state_save_register_item("ide_controller", device->tag, 0, ide->config_unknown); - state_save_register_item_array("ide_controller", device->tag, 0, ide->config_register); - state_save_register_item("ide_controller", device->tag, 0, ide->config_register_num); + state_save_register_device_item(device, 0, ide->config_unknown); + state_save_register_device_item_array(device, 0, ide->config_register); + state_save_register_device_item(device, 0, ide->config_register_num); - state_save_register_item("ide_controller", device->tag, 0, ide->master_password_enable); - state_save_register_item("ide_controller", device->tag, 0, ide->user_password_enable); + state_save_register_device_item(device, 0, ide->master_password_enable); + state_save_register_device_item(device, 0, ide->user_password_enable); return DEVICE_START_OK; } diff --git a/src/emu/machine/intelfsh.c b/src/emu/machine/intelfsh.c index 0a8d5764454..38d5f855dbe 100644 --- a/src/emu/machine/intelfsh.c +++ b/src/emu/machine/intelfsh.c @@ -135,10 +135,10 @@ void intelflash_init(int chip, int type, void *data) c->timer = timer_alloc(Machine, erase_finished, c); c->flash_memory = data; - state_save_register_item( "intelfsh", NULL, chip, c->status ); - state_save_register_item( "intelfsh", NULL, chip, c->flash_mode ); - state_save_register_item( "intelfsh", NULL, chip, c->flash_master_lock ); - state_save_register_memory( "intelfsh", NULL, chip, "flash_memory", c->flash_memory, c->bits/8, c->size / (c->bits/8) ); + state_save_register_item( Machine, "intelfsh", NULL, chip, c->status ); + state_save_register_item( Machine, "intelfsh", NULL, chip, c->flash_mode ); + state_save_register_item( Machine, "intelfsh", NULL, chip, c->flash_master_lock ); + state_save_register_memory( Machine, "intelfsh", NULL, chip, "flash_memory", c->flash_memory, c->bits/8, c->size / (c->bits/8) ); } UINT32 intelflash_read(int chip, UINT32 address) diff --git a/src/emu/machine/latch8.c b/src/emu/machine/latch8.c index 1f1382f479a..8079328ae5f 100644 --- a/src/emu/machine/latch8.c +++ b/src/emu/machine/latch8.c @@ -221,7 +221,7 @@ static DEVICE_START( latch8 ) latch8->has_read = 1; } - state_save_register_item("latch8", device->tag, 0, latch8->value); + state_save_register_device_item(device, 0, latch8->value); return DEVICE_START_OK; } diff --git a/src/emu/machine/mb3773.c b/src/emu/machine/mb3773.c index ce75c83e964..7528520e042 100644 --- a/src/emu/machine/mb3773.c +++ b/src/emu/machine/mb3773.c @@ -36,5 +36,5 @@ void mb3773_init( void ) { watchdog_timer = timer_alloc(Machine, watchdog_timeout, NULL); reset_timer(); - state_save_register_global( ck ); + state_save_register_global(Machine, ck ); } diff --git a/src/emu/machine/microtch.c b/src/emu/machine/microtch.c index e7a7be7066e..84405eca7b8 100644 --- a/src/emu/machine/microtch.c +++ b/src/emu/machine/microtch.c @@ -120,18 +120,18 @@ void microtouch_init(void (*tx_cb)(UINT8 data), microtouch.timer = timer_alloc(Machine, microtouch_timer_callback, NULL); timer_adjust_periodic(microtouch.timer, ATTOTIME_IN_HZ(167*5), 0, ATTOTIME_IN_HZ(167*5)); - state_save_register_item("microtouch", NULL, 0, microtouch.reset_done); - state_save_register_item("microtouch", NULL, 0, microtouch.format_tablet); - state_save_register_item("microtouch", NULL, 0, microtouch.mode_inactive); - state_save_register_item("microtouch", NULL, 0, microtouch.mode_stream); - state_save_register_item("microtouch", NULL, 0, microtouch.last_touch_state); - state_save_register_item("microtouch", NULL, 0, microtouch.last_x); - state_save_register_item("microtouch", NULL, 0, microtouch.last_y); - state_save_register_item_array("microtouch", NULL, 0, microtouch.rx_buffer); - state_save_register_item("microtouch", NULL, 0, microtouch.rx_buffer_ptr); - state_save_register_item_array("microtouch", NULL, 0, microtouch.tx_buffer); - state_save_register_item("microtouch", NULL, 0, microtouch.tx_buffer_num); - state_save_register_item("microtouch", NULL, 0, microtouch.tx_buffer_ptr); + state_save_register_item(Machine, "microtouch", NULL, 0, microtouch.reset_done); + state_save_register_item(Machine, "microtouch", NULL, 0, microtouch.format_tablet); + state_save_register_item(Machine, "microtouch", NULL, 0, microtouch.mode_inactive); + state_save_register_item(Machine, "microtouch", NULL, 0, microtouch.mode_stream); + state_save_register_item(Machine, "microtouch", NULL, 0, microtouch.last_touch_state); + state_save_register_item(Machine, "microtouch", NULL, 0, microtouch.last_x); + state_save_register_item(Machine, "microtouch", NULL, 0, microtouch.last_y); + state_save_register_item_array(Machine, "microtouch", NULL, 0, microtouch.rx_buffer); + state_save_register_item(Machine, "microtouch", NULL, 0, microtouch.rx_buffer_ptr); + state_save_register_item_array(Machine, "microtouch", NULL, 0, microtouch.tx_buffer); + state_save_register_item(Machine, "microtouch", NULL, 0, microtouch.tx_buffer_num); + state_save_register_item(Machine, "microtouch", NULL, 0, microtouch.tx_buffer_ptr); }; diff --git a/src/emu/machine/pd4990a.c b/src/emu/machine/pd4990a.c index 1cf12eaa76e..1acf34e9d08 100644 --- a/src/emu/machine/pd4990a.c +++ b/src/emu/machine/pd4990a.c @@ -31,6 +31,7 @@ */ #include "driver.h" +#include "deprecat.h" #include "machine/pd4990a.h" @@ -342,27 +343,27 @@ void pd4990a_init(void) clock_line = 0; command_line =0; - state_save_register_item("pd4990a", NULL, 0, pd4990a.seconds); - state_save_register_item("pd4990a", NULL, 0, pd4990a.minutes); - state_save_register_item("pd4990a", NULL, 0, pd4990a.hours); - state_save_register_item("pd4990a", NULL, 0, pd4990a.days); - state_save_register_item("pd4990a", NULL, 0, pd4990a.month); - state_save_register_item("pd4990a", NULL, 0, pd4990a.year); - state_save_register_item("pd4990a", NULL, 0, pd4990a.weekday); + state_save_register_item(Machine, "pd4990a", NULL, 0, pd4990a.seconds); + state_save_register_item(Machine, "pd4990a", NULL, 0, pd4990a.minutes); + state_save_register_item(Machine, "pd4990a", NULL, 0, pd4990a.hours); + state_save_register_item(Machine, "pd4990a", NULL, 0, pd4990a.days); + state_save_register_item(Machine, "pd4990a", NULL, 0, pd4990a.month); + state_save_register_item(Machine, "pd4990a", NULL, 0, pd4990a.year); + state_save_register_item(Machine, "pd4990a", NULL, 0, pd4990a.weekday); - state_save_register_item("pd4990a", NULL, 0, shiftlo); - state_save_register_item("pd4990a", NULL, 0, shifthi); + state_save_register_item(Machine, "pd4990a", NULL, 0, shiftlo); + state_save_register_item(Machine, "pd4990a", NULL, 0, shifthi); - state_save_register_item("pd4990a", NULL, 0, retraces); - state_save_register_item("pd4990a", NULL, 0, testwaits); - state_save_register_item("pd4990a", NULL, 0, maxwaits); - state_save_register_item("pd4990a", NULL, 0, testbit); + state_save_register_item(Machine, "pd4990a", NULL, 0, retraces); + state_save_register_item(Machine, "pd4990a", NULL, 0, testwaits); + state_save_register_item(Machine, "pd4990a", NULL, 0, maxwaits); + state_save_register_item(Machine, "pd4990a", NULL, 0, testbit); - state_save_register_item("pd4990a", NULL, 0, outputbit); - state_save_register_item("pd4990a", NULL, 0, bitno); - state_save_register_item("pd4990a", NULL, 0, reading); - state_save_register_item("pd4990a", NULL, 0, writting); + state_save_register_item(Machine, "pd4990a", NULL, 0, outputbit); + state_save_register_item(Machine, "pd4990a", NULL, 0, bitno); + state_save_register_item(Machine, "pd4990a", NULL, 0, reading); + state_save_register_item(Machine, "pd4990a", NULL, 0, writting); - state_save_register_item("pd4990a", NULL, 0, clock_line); - state_save_register_item("pd4990a", NULL, 0, command_line); + state_save_register_item(Machine, "pd4990a", NULL, 0, clock_line); + state_save_register_item(Machine, "pd4990a", NULL, 0, command_line); } diff --git a/src/emu/machine/pit8253.c b/src/emu/machine/pit8253.c index 615b124f9d6..a2f01108718 100644 --- a/src/emu/machine/pit8253.c +++ b/src/emu/machine/pit8253.c @@ -1063,26 +1063,26 @@ static device_start_err common_start( const device_config *device, int device_ty timer_adjust_oneshot(timer->updatetimer, attotime_never, timerno); /* set up state save values */ - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->clockin); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->control); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->status); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->lowcount); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->latch); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->count); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->value); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->wmsb); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->rmsb); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->output); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->gate); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->latched_count); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->latched_status); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->null_count); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->phase); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->cycles_to_output); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->last_updated.seconds); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->last_updated.attoseconds); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->programmed); - state_save_register_item(device_tags[device_type], device->tag, timerno, timer->clock); + state_save_register_device_item(device, timerno, timer->clockin); + state_save_register_device_item(device, timerno, timer->control); + state_save_register_device_item(device, timerno, timer->status); + state_save_register_device_item(device, timerno, timer->lowcount); + state_save_register_device_item(device, timerno, timer->latch); + state_save_register_device_item(device, timerno, timer->count); + state_save_register_device_item(device, timerno, timer->value); + state_save_register_device_item(device, timerno, timer->wmsb); + state_save_register_device_item(device, timerno, timer->rmsb); + state_save_register_device_item(device, timerno, timer->output); + state_save_register_device_item(device, timerno, timer->gate); + state_save_register_device_item(device, timerno, timer->latched_count); + state_save_register_device_item(device, timerno, timer->latched_status); + state_save_register_device_item(device, timerno, timer->null_count); + state_save_register_device_item(device, timerno, timer->phase); + state_save_register_device_item(device, timerno, timer->cycles_to_output); + state_save_register_device_item(device, timerno, timer->last_updated.seconds); + state_save_register_device_item(device, timerno, timer->last_updated.attoseconds); + state_save_register_device_item(device, timerno, timer->programmed); + state_save_register_device_item(device, timerno, timer->clock); } return DEVICE_START_OK; diff --git a/src/emu/machine/scsicd.c b/src/emu/machine/scsicd.c index 4bda069f444..22d0a944f53 100644 --- a/src/emu/machine/scsicd.c +++ b/src/emu/machine/scsicd.c @@ -4,14 +4,14 @@ ***************************************************************************/ -#include "state.h" #include "scsidev.h" #include "cdrom.h" #include "sound/cdda.h" +#include "state.h" #ifdef MESS #include "devices/chd_cd.h" -#include "deprecat.h" #endif +#include "deprecat.h" #include "scsicd.h" typedef struct @@ -683,13 +683,13 @@ static void scsicd_alloc_instance( SCSIInstance *scsiInstance, const char *diskr our_this->cur_subblock = 0; our_this->play_err_flag = 0; - state_save_register_item( "scsicd", diskregion, 0, our_this->lba ); - state_save_register_item( "scsicd", diskregion, 0, our_this->blocks ); - state_save_register_item( "scsicd", diskregion, 0, our_this->last_lba ); - state_save_register_item( "scsicd", diskregion, 0, our_this->bytes_per_sector ); - state_save_register_item( "scsicd", diskregion, 0, our_this->num_subblocks ); - state_save_register_item( "scsicd", diskregion, 0, our_this->cur_subblock ); - state_save_register_item( "scsicd", diskregion, 0, our_this->play_err_flag ); + state_save_register_item( Machine, "scsicd", diskregion, 0, our_this->lba ); + state_save_register_item( Machine, "scsicd", diskregion, 0, our_this->blocks ); + state_save_register_item( Machine, "scsicd", diskregion, 0, our_this->last_lba ); + state_save_register_item( Machine, "scsicd", diskregion, 0, our_this->bytes_per_sector ); + state_save_register_item( Machine, "scsicd", diskregion, 0, our_this->num_subblocks ); + state_save_register_item( Machine, "scsicd", diskregion, 0, our_this->cur_subblock ); + state_save_register_item( Machine, "scsicd", diskregion, 0, our_this->play_err_flag ); #ifdef MESS /* TODO: get rid of this ifdef MESS section */ diff --git a/src/emu/machine/scsidev.c b/src/emu/machine/scsidev.c index 732cde3f66f..f15ef1e1096 100644 --- a/src/emu/machine/scsidev.c +++ b/src/emu/machine/scsidev.c @@ -102,9 +102,9 @@ static void scsidev_alloc_instance( SCSIInstance *scsiInstance, const char *disk { SCSIDev *our_this = SCSIThis( &SCSIClassDevice, scsiInstance ); - state_save_register_item_array( "scsidev", diskregion, 0, our_this->command ); - state_save_register_item( "scsidev", diskregion, 0, our_this->commandLength ); - state_save_register_item( "scsidev", diskregion, 0, our_this->phase ); + state_save_register_item_array( Machine, "scsidev", diskregion, 0, our_this->command ); + state_save_register_item( Machine, "scsidev", diskregion, 0, our_this->commandLength ); + state_save_register_item( Machine, "scsidev", diskregion, 0, our_this->phase ); } static int scsidev_dispatch( int operation, void *file, INT64 intparm, void *ptrparm ) diff --git a/src/emu/machine/scsihd.c b/src/emu/machine/scsihd.c index bf7a43fe9cb..7d33f9f003e 100644 --- a/src/emu/machine/scsihd.c +++ b/src/emu/machine/scsihd.c @@ -10,8 +10,8 @@ #ifdef MESS #include "devices/harddriv.h" -#include "deprecat.h" #endif +#include "deprecat.h" #include "scsihd.h" typedef struct @@ -230,8 +230,8 @@ static void scsihd_alloc_instance( SCSIInstance *scsiInstance, const char *diskr our_this->lba = 0; our_this->blocks = 0; - state_save_register_item( "scsihd", diskregion, 0, our_this->lba ); - state_save_register_item( "scsihd", diskregion, 0, our_this->blocks ); + state_save_register_item( Machine, "scsihd", diskregion, 0, our_this->lba ); + state_save_register_item( Machine, "scsihd", diskregion, 0, our_this->blocks ); #ifdef MESS /* TODO: get rid of this ifdef MESS section */ diff --git a/src/emu/machine/smc91c9x.c b/src/emu/machine/smc91c9x.c index 4106c70ab18..338e4b91a07 100644 --- a/src/emu/machine/smc91c9x.c +++ b/src/emu/machine/smc91c9x.c @@ -525,15 +525,15 @@ static DEVICE_START( smc91c9x ) smc->irq_handler = config->interrupt; /* register ide states */ - state_save_register_item_array("smc91c9x", device->tag, 0, smc->reg); - state_save_register_item_array("smc91c9x", device->tag, 0, smc->regmask); - state_save_register_item("smc91c9x", device->tag, 0, smc->irq_state); - state_save_register_item("smc91c9x", device->tag, 0, smc->alloc_count); - state_save_register_item("smc91c9x", device->tag, 0, smc->fifo_count); - state_save_register_item_array("smc91c9x", device->tag, 0, smc->rx); - state_save_register_item_array("smc91c9x", device->tag, 0, smc->tx); - state_save_register_item("smc91c9x", device->tag, 0, smc->sent); - state_save_register_item("smc91c9x", device->tag, 0, smc->recd); + state_save_register_device_item_array(device, 0, smc->reg); + state_save_register_device_item_array(device, 0, smc->regmask); + state_save_register_device_item(device, 0, smc->irq_state); + state_save_register_device_item(device, 0, smc->alloc_count); + state_save_register_device_item(device, 0, smc->fifo_count); + state_save_register_device_item_array(device, 0, smc->rx); + state_save_register_device_item_array(device, 0, smc->tx); + state_save_register_device_item(device, 0, smc->sent); + state_save_register_device_item(device, 0, smc->recd); return DEVICE_START_OK; } diff --git a/src/emu/machine/timekpr.c b/src/emu/machine/timekpr.c index 3d2aaac6f7c..acc9846ebbb 100644 --- a/src/emu/machine/timekpr.c +++ b/src/emu/machine/timekpr.c @@ -321,16 +321,16 @@ static DEVICE_START(timekeeper) } } - state_save_register_item( "timekeeper", device->tag, 0, c->control ); - state_save_register_item( "timekeeper", device->tag, 0, c->seconds ); - state_save_register_item( "timekeeper", device->tag, 0, c->minutes ); - state_save_register_item( "timekeeper", device->tag, 0, c->hours ); - state_save_register_item( "timekeeper", device->tag, 0, c->day ); - state_save_register_item( "timekeeper", device->tag, 0, c->date ); - state_save_register_item( "timekeeper", device->tag, 0, c->month ); - state_save_register_item( "timekeeper", device->tag, 0, c->year ); - state_save_register_item( "timekeeper", device->tag, 0, c->century ); - state_save_register_item_pointer( "timekeeper", device->tag, 0, c->data, c->size ); + state_save_register_device_item( device, 0, c->control ); + state_save_register_device_item( device, 0, c->seconds ); + state_save_register_device_item( device, 0, c->minutes ); + state_save_register_device_item( device, 0, c->hours ); + state_save_register_device_item( device, 0, c->day ); + state_save_register_device_item( device, 0, c->date ); + state_save_register_device_item( device, 0, c->month ); + state_save_register_device_item( device, 0, c->year ); + state_save_register_device_item( device, 0, c->century ); + state_save_register_device_item_pointer( device, 0, c->data, c->size ); timer = timer_alloc( device->machine, timekeeper_tick, c ); duration = ATTOTIME_IN_SEC(1); diff --git a/src/emu/machine/upd4701.c b/src/emu/machine/upd4701.c index 6e28d082c66..22b2c059e1d 100644 --- a/src/emu/machine/upd4701.c +++ b/src/emu/machine/upd4701.c @@ -6,6 +6,7 @@ */ #include "driver.h" +#include "deprecat.h" #include "machine/upd4701.h" struct uPD4701_chip @@ -58,20 +59,20 @@ void uPD4701_init( int chip ) c->latchswitches = 0; c->cf = 1; - state_save_register_item( "uPD4701", NULL, chip, c->cs ); - state_save_register_item( "uPD4701", NULL, chip, c->xy ); - state_save_register_item( "uPD4701", NULL, chip, c->ul ); - state_save_register_item( "uPD4701", NULL, chip, c->resetx ); - state_save_register_item( "uPD4701", NULL, chip, c->resety ); - state_save_register_item( "uPD4701", NULL, chip, c->latchx ); - state_save_register_item( "uPD4701", NULL, chip, c->latchy ); - state_save_register_item( "uPD4701", NULL, chip, c->startx ); - state_save_register_item( "uPD4701", NULL, chip, c->starty ); - state_save_register_item( "uPD4701", NULL, chip, c->x ); - state_save_register_item( "uPD4701", NULL, chip, c->y ); - state_save_register_item( "uPD4701", NULL, chip, c->switches ); - state_save_register_item( "uPD4701", NULL, chip, c->latchswitches ); - state_save_register_item( "uPD4701", NULL, chip, c->cf ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->cs ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->xy ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->ul ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->resetx ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->resety ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->latchx ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->latchy ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->startx ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->starty ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->x ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->y ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->switches ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->latchswitches ); + state_save_register_item( Machine, "uPD4701", NULL, chip, c->cf ); } void uPD4701_ul_w( int chip, int ul ) diff --git a/src/emu/machine/wd33c93.c b/src/emu/machine/wd33c93.c index 368005e3646..afda58e9f7f 100644 --- a/src/emu/machine/wd33c93.c +++ b/src/emu/machine/wd33c93.c @@ -800,7 +800,7 @@ extern void wd33c93_init( const struct WD33C93interface *interface ) scsi_data.temp_input = auto_malloc( TEMP_INPUT_LEN ); -// state_save_register_item_array("wd33c93", NULL, 0, scsi_data); +// state_save_register_item_array(Machine, "wd33c93", NULL, 0, scsi_data); } extern void wd33c93_exit( const struct WD33C93interface *interface ) diff --git a/src/emu/machine/x2212.c b/src/emu/machine/x2212.c index 62c3b55727f..9b92dd32b52 100644 --- a/src/emu/machine/x2212.c +++ b/src/emu/machine/x2212.c @@ -99,10 +99,10 @@ static DEVICE_START(x2212) c->default_data = memory_region( device->machine, config->data ); } - state_save_register_item_pointer( "x2212", device->tag, 0, c->sram, SIZE_DATA ); - state_save_register_item_pointer( "x2212", device->tag, 0, c->e2prom, SIZE_DATA ); - state_save_register_item( "x2212", device->tag, 0, c->store ); - state_save_register_item( "x2212", device->tag, 0, c->array_recall ); + state_save_register_device_item_pointer( device, 0, c->sram, SIZE_DATA ); + state_save_register_device_item_pointer( device, 0, c->e2prom, SIZE_DATA ); + state_save_register_device_item( device, 0, c->store ); + state_save_register_device_item( device, 0, c->array_recall ); return DEVICE_START_OK; } diff --git a/src/emu/machine/x76f041.c b/src/emu/machine/x76f041.c index 7487812a512..33ac986f871 100644 --- a/src/emu/machine/x76f041.c +++ b/src/emu/machine/x76f041.c @@ -153,24 +153,24 @@ void x76f041_init( int chip, UINT8 *data ) c->configuration_registers = &data[ offset ]; offset += SIZE_CONFIGURATION_REGISTERS; c->data = &data[ offset ]; offset += SIZE_DATA; - state_save_register_item( "x76f041", NULL, chip, c->cs ); - state_save_register_item( "x76f041", NULL, chip, c->rst ); - state_save_register_item( "x76f041", NULL, chip, c->scl ); - state_save_register_item( "x76f041", NULL, chip, c->sdaw ); - state_save_register_item( "x76f041", NULL, chip, c->sdar ); - state_save_register_item( "x76f041", NULL, chip, c->state ); - state_save_register_item( "x76f041", NULL, chip, c->shift ); - state_save_register_item( "x76f041", NULL, chip, c->bit ); - state_save_register_item( "x76f041", NULL, chip, c->byte ); - state_save_register_item( "x76f041", NULL, chip, c->command ); - state_save_register_item( "x76f041", NULL, chip, c->address ); - state_save_register_item_array( "x76f041", NULL, chip, c->write_buffer ); - state_save_register_item_pointer( "x76f041", NULL, chip, c->response_to_reset, SIZE_RESPONSE_TO_RESET ); - state_save_register_item_pointer( "x76f041", NULL, chip, c->write_password, SIZE_WRITE_PASSWORD ); - state_save_register_item_pointer( "x76f041", NULL, chip, c->read_password, SIZE_READ_PASSWORD ); - state_save_register_item_pointer( "x76f041", NULL, chip, c->configuration_password, SIZE_CONFIGURATION_PASSWORD ); - state_save_register_item_pointer( "x76f041", NULL, chip, c->configuration_registers, SIZE_CONFIGURATION_REGISTERS ); - state_save_register_item_pointer( "x76f041", NULL, chip, c->data, SIZE_DATA ); + state_save_register_item( Machine, "x76f041", NULL, chip, c->cs ); + state_save_register_item( Machine, "x76f041", NULL, chip, c->rst ); + state_save_register_item( Machine, "x76f041", NULL, chip, c->scl ); + state_save_register_item( Machine, "x76f041", NULL, chip, c->sdaw ); + state_save_register_item( Machine, "x76f041", NULL, chip, c->sdar ); + state_save_register_item( Machine, "x76f041", NULL, chip, c->state ); + state_save_register_item( Machine, "x76f041", NULL, chip, c->shift ); + state_save_register_item( Machine, "x76f041", NULL, chip, c->bit ); + state_save_register_item( Machine, "x76f041", NULL, chip, c->byte ); + state_save_register_item( Machine, "x76f041", NULL, chip, c->command ); + state_save_register_item( Machine, "x76f041", NULL, chip, c->address ); + state_save_register_item_array( Machine, "x76f041", NULL, chip, c->write_buffer ); + state_save_register_item_pointer( Machine, "x76f041", NULL, chip, c->response_to_reset, SIZE_RESPONSE_TO_RESET ); + state_save_register_item_pointer( Machine, "x76f041", NULL, chip, c->write_password, SIZE_WRITE_PASSWORD ); + state_save_register_item_pointer( Machine, "x76f041", NULL, chip, c->read_password, SIZE_READ_PASSWORD ); + state_save_register_item_pointer( Machine, "x76f041", NULL, chip, c->configuration_password, SIZE_CONFIGURATION_PASSWORD ); + state_save_register_item_pointer( Machine, "x76f041", NULL, chip, c->configuration_registers, SIZE_CONFIGURATION_REGISTERS ); + state_save_register_item_pointer( Machine, "x76f041", NULL, chip, c->data, SIZE_DATA ); } void x76f041_cs_write( int chip, int cs ) diff --git a/src/emu/machine/x76f100.c b/src/emu/machine/x76f100.c index 220c5bf76ca..20bc7e6e380 100644 --- a/src/emu/machine/x76f100.c +++ b/src/emu/machine/x76f100.c @@ -117,21 +117,21 @@ void x76f100_init( int chip, UINT8 *data ) c->read_password = &data[ offset ]; offset += SIZE_READ_PASSWORD; c->data = &data[ offset ]; offset += SIZE_DATA; - state_save_register_item( "x76f100", NULL, chip, c->cs ); - state_save_register_item( "x76f100", NULL, chip, c->rst ); - state_save_register_item( "x76f100", NULL, chip, c->scl ); - state_save_register_item( "x76f100", NULL, chip, c->sdaw ); - state_save_register_item( "x76f100", NULL, chip, c->sdar ); - state_save_register_item( "x76f100", NULL, chip, c->state ); - state_save_register_item( "x76f100", NULL, chip, c->shift ); - state_save_register_item( "x76f100", NULL, chip, c->bit ); - state_save_register_item( "x76f100", NULL, chip, c->byte ); - state_save_register_item( "x76f100", NULL, chip, c->command ); - state_save_register_item_array( "x76f100", NULL, chip, c->write_buffer ); - state_save_register_item_pointer( "x76f100", NULL, chip, c->response_to_reset, SIZE_RESPONSE_TO_RESET ); - state_save_register_item_pointer( "x76f100", NULL, chip, c->write_password, SIZE_WRITE_PASSWORD ); - state_save_register_item_pointer( "x76f100", NULL, chip, c->read_password, SIZE_READ_PASSWORD ); - state_save_register_item_pointer( "x76f100", NULL, chip, c->data, SIZE_DATA ); + state_save_register_item( Machine, "x76f100", NULL, chip, c->cs ); + state_save_register_item( Machine, "x76f100", NULL, chip, c->rst ); + state_save_register_item( Machine, "x76f100", NULL, chip, c->scl ); + state_save_register_item( Machine, "x76f100", NULL, chip, c->sdaw ); + state_save_register_item( Machine, "x76f100", NULL, chip, c->sdar ); + state_save_register_item( Machine, "x76f100", NULL, chip, c->state ); + state_save_register_item( Machine, "x76f100", NULL, chip, c->shift ); + state_save_register_item( Machine, "x76f100", NULL, chip, c->bit ); + state_save_register_item( Machine, "x76f100", NULL, chip, c->byte ); + state_save_register_item( Machine, "x76f100", NULL, chip, c->command ); + state_save_register_item_array( Machine, "x76f100", NULL, chip, c->write_buffer ); + state_save_register_item_pointer( Machine, "x76f100", NULL, chip, c->response_to_reset, SIZE_RESPONSE_TO_RESET ); + state_save_register_item_pointer( Machine, "x76f100", NULL, chip, c->write_password, SIZE_WRITE_PASSWORD ); + state_save_register_item_pointer( Machine, "x76f100", NULL, chip, c->read_password, SIZE_READ_PASSWORD ); + state_save_register_item_pointer( Machine, "x76f100", NULL, chip, c->data, SIZE_DATA ); } void x76f100_cs_write( int chip, int cs ) diff --git a/src/emu/machine/z80ctc.c b/src/emu/machine/z80ctc.c index 0e33659e8b6..3faf4c8c8e8 100644 --- a/src/emu/machine/z80ctc.c +++ b/src/emu/machine/z80ctc.c @@ -494,15 +494,15 @@ static DEVICE_START( z80ctc ) ctc->channel[3].zc = NULL; /* register for save states */ - state_save_register_item("z80ctc", device->tag, 0, ctc->vector); + state_save_register_device_item(device, 0, ctc->vector); for (ch = 0; ch < 4; ch++) { ctc_channel *channel = &ctc->channel[ch]; - state_save_register_item("z80ctc", device->tag, ch, channel->mode); - state_save_register_item("z80ctc", device->tag, ch, channel->tconst); - state_save_register_item("z80ctc", device->tag, ch, channel->down); - state_save_register_item("z80ctc", device->tag, ch, channel->extclk); - state_save_register_item("z80ctc", device->tag, ch, channel->int_state); + state_save_register_device_item(device, ch, channel->mode); + state_save_register_device_item(device, ch, channel->tconst); + state_save_register_device_item(device, ch, channel->down); + state_save_register_device_item(device, ch, channel->extclk); + state_save_register_device_item(device, ch, channel->int_state); } astring_free(tempstring); diff --git a/src/emu/machine/z80dma.c b/src/emu/machine/z80dma.c index ba33fe349dd..dc91bafe86e 100644 --- a/src/emu/machine/z80dma.c +++ b/src/emu/machine/z80dma.c @@ -451,21 +451,21 @@ static DEVICE_START( z80dma ) z80dma->timer = timer_alloc(device->machine, z80dma_timerproc, (void *) device); - state_save_register_item_array("z80dma", device->tag, 0, z80dma->regs); - state_save_register_item_array("z80dma", device->tag, 0, z80dma->regs_follow); + state_save_register_device_item_array(device, 0, z80dma->regs); + state_save_register_device_item_array(device, 0, z80dma->regs_follow); - state_save_register_item("z80dma", device->tag, 0, z80dma->num_follow); - state_save_register_item("z80dma", device->tag, 0, z80dma->cur_follow); - state_save_register_item("z80dma", device->tag, 0, z80dma->status); - state_save_register_item("z80dma", device->tag, 0, z80dma->dma_enabled); + state_save_register_device_item(device, 0, z80dma->num_follow); + state_save_register_device_item(device, 0, z80dma->cur_follow); + state_save_register_device_item(device, 0, z80dma->status); + state_save_register_device_item(device, 0, z80dma->dma_enabled); - state_save_register_item("z80dma", device->tag, 0, z80dma->addressA); - state_save_register_item("z80dma", device->tag, 0, z80dma->addressB); - state_save_register_item("z80dma", device->tag, 0, z80dma->count); - state_save_register_item("z80dma", device->tag, 0, z80dma->rdy); - state_save_register_item("z80dma", device->tag, 0, z80dma->is_read); - state_save_register_item("z80dma", device->tag, 0, z80dma->cur_cycle); - state_save_register_item("z80dma", device->tag, 0, z80dma->latch); + state_save_register_device_item(device, 0, z80dma->addressA); + state_save_register_device_item(device, 0, z80dma->addressB); + state_save_register_device_item(device, 0, z80dma->count); + state_save_register_device_item(device, 0, z80dma->rdy); + state_save_register_device_item(device, 0, z80dma->is_read); + state_save_register_device_item(device, 0, z80dma->cur_cycle); + state_save_register_device_item(device, 0, z80dma->latch); return DEVICE_START_OK; } diff --git a/src/emu/machine/z80pio.c b/src/emu/machine/z80pio.c index c1c32273c43..0cc93b6e840 100644 --- a/src/emu/machine/z80pio.c +++ b/src/emu/machine/z80pio.c @@ -547,16 +547,16 @@ static DEVICE_START( z80pio ) z80pio->rdyr[1] = intf->rdyB; /* register for save states */ - state_save_register_item_array("z80pio", device->tag, 0, z80pio->vector); - state_save_register_item_array("z80pio", device->tag, 0, z80pio->mode); - state_save_register_item_array("z80pio", device->tag, 0, z80pio->enable); - state_save_register_item_array("z80pio", device->tag, 0, z80pio->mask); - state_save_register_item_array("z80pio", device->tag, 0, z80pio->dir); - state_save_register_item_array("z80pio", device->tag, 0, z80pio->rdy); - state_save_register_item_array("z80pio", device->tag, 0, z80pio->in); - state_save_register_item_array("z80pio", device->tag, 0, z80pio->out); - state_save_register_item_array("z80pio", device->tag, 0, z80pio->strobe); - state_save_register_item_array("z80pio", device->tag, 0, z80pio->int_state); + state_save_register_device_item_array(device, 0, z80pio->vector); + state_save_register_device_item_array(device, 0, z80pio->mode); + state_save_register_device_item_array(device, 0, z80pio->enable); + state_save_register_device_item_array(device, 0, z80pio->mask); + state_save_register_device_item_array(device, 0, z80pio->dir); + state_save_register_device_item_array(device, 0, z80pio->rdy); + state_save_register_device_item_array(device, 0, z80pio->in); + state_save_register_device_item_array(device, 0, z80pio->out); + state_save_register_device_item_array(device, 0, z80pio->strobe); + state_save_register_device_item_array(device, 0, z80pio->int_state); return DEVICE_START_OK; } diff --git a/src/emu/mame.c b/src/emu/mame.c index a325febbb9c..8a8f41be2ac 100644 --- a/src/emu/mame.c +++ b/src/emu/mame.c @@ -1515,7 +1515,7 @@ static void init_machine(running_machine *machine) input_init(machine); output_init(machine); state_init(machine); - state_save_allow_registration(TRUE); + state_save_allow_registration(machine, TRUE); drawgfx_init(machine); palette_init(machine); render_init(machine); @@ -1525,7 +1525,7 @@ static void init_machine(running_machine *machine) #endif /* MESS */ generic_machine_init(machine); generic_video_init(machine); - generic_sound_init(); + generic_sound_init(machine); mame->rand_seed = 0x9d14abd7; /* initialize the timers and allocate a soft_reset timer */ @@ -1631,7 +1631,7 @@ static TIMER_CALLBACK( soft_reset ) begin_resource_tracking(); /* allow save state registrations during the reset */ - state_save_allow_registration(TRUE); + state_save_allow_registration(machine, TRUE); /* call all registered reset callbacks */ for (cb = machine->mame_data->reset_callback_list; cb; cb = cb->next) @@ -1646,7 +1646,7 @@ static TIMER_CALLBACK( soft_reset ) (*machine->config->video_reset)(machine); /* disallow save state registrations starting here */ - state_save_allow_registration(FALSE); + state_save_allow_registration(machine, FALSE); /* now we're running */ mame->current_phase = MAME_PHASE_RUNNING; @@ -1731,7 +1731,7 @@ static void handle_save(running_machine *machine) int cpunum; /* write the save state */ - if (state_save_save_begin(file) != 0) + if (state_save_save_begin(machine, file) != 0) { popmessage("Error: Unable to save state due to illegal registrations. See error.log for details."); mame_fclose(file); @@ -1814,7 +1814,7 @@ static void handle_load(running_machine *machine) if (filerr == FILERR_NONE) { /* start loading */ - if (state_save_load_begin(file) == 0) + if (state_save_load_begin(machine, file) == 0) { int cpunum; @@ -1838,7 +1838,7 @@ static void handle_load(running_machine *machine) } /* finish and close */ - state_save_load_finish(); + state_save_load_finish(machine); popmessage("State successfully loaded."); } else diff --git a/src/emu/mame.h b/src/emu/mame.h index afac454a7ad..d8f5826d3ba 100644 --- a/src/emu/mame.h +++ b/src/emu/mame.h @@ -127,6 +127,7 @@ typedef void (*output_callback_func)(void *param, const char *format, va_list ar /* forward type declarations */ typedef struct _mame_private mame_private; typedef struct _timer_private timer_private; +typedef struct _state_private state_private; typedef struct _memory_private memory_private; typedef struct _palette_private palette_private; typedef struct _streams_private streams_private; @@ -173,6 +174,7 @@ struct _running_machine /* internal core information */ mame_private * mame_data; /* internal data from mame.c */ timer_private * timer_data; /* internal data from timer.c */ + state_private * state_data; /* internal data from state.c */ memory_private * memory_data; /* internal data from memory.c */ palette_private * palette_data; /* internal data from palette.c */ streams_private * streams_data; /* internal data from streams.c */ diff --git a/src/emu/mconfig.c b/src/emu/mconfig.c index 23bf7310090..91898784517 100644 --- a/src/emu/mconfig.c +++ b/src/emu/mconfig.c @@ -271,7 +271,7 @@ static void machine_config_detokenize(machine_config *config, const machine_conf tag = TOKEN_GET_STRING(tokens); device = (device_config *)device_list_find_by_tag(config->devicelist, devtype, device_build_tag(tempstring, tagprefix, tag)); if (device == NULL) - fatalerror("Unable to find device: type=%s tag=%s\n", devtype_name(devtype), astring_c(tempstring)); + fatalerror("Unable to find device: type=%s tag=%s\n", devtype_get_name(devtype), astring_c(tempstring)); break; case MCONFIG_TOKEN_DEVICE_CONFIG: diff --git a/src/emu/memory.c b/src/emu/memory.c index 6c95363bffb..299bd292aaf 100644 --- a/src/emu/memory.c +++ b/src/emu/memory.c @@ -1725,7 +1725,7 @@ static void memory_init_populate(running_machine *machine) { object = (void *)device_list_find_by_tag(machine->config->devicelist, entry->read_devtype, entry->read_devtag); if (object == NULL) - fatalerror("Unidentified object in memory map: type=%s tag=%s\n", devtype_name(entry->read_devtype), entry->read_devtag); + fatalerror("Unidentified object in memory map: type=%s tag=%s\n", devtype_get_name(entry->read_devtype), entry->read_devtag); } space_map_range_private(space, ROW_READ, bits, entry->read_mask, entry->addrstart, entry->addrend, entry->addrmask, entry->addrmirror, rhandler.generic, object, entry->read_name); } @@ -1739,7 +1739,7 @@ static void memory_init_populate(running_machine *machine) { object = (void *)device_list_find_by_tag(machine->config->devicelist, entry->write_devtype, entry->write_devtag); if (object == NULL) - fatalerror("Unidentified object in memory map: type=%s tag=%s\n", devtype_name(entry->write_devtype), entry->write_devtag); + fatalerror("Unidentified object in memory map: type=%s tag=%s\n", devtype_get_name(entry->write_devtype), entry->write_devtag); } space_map_range_private(space, ROW_WRITE, bits, entry->write_mask, entry->addrstart, entry->addrend, entry->addrmask, entry->addrmirror, whandler.generic, object, entry->write_name); } @@ -2332,8 +2332,8 @@ static void bank_assign_static(int banknum, const address_space *space, read_or_ if (!bank->used) { /* if we're allowed to, wire up state saving for the entry */ - if (state_save_registration_allowed()) - state_save_register_item("memory", NULL, banknum, bank->curentry); + if (state_save_registration_allowed(space->machine)) + state_save_register_item(space->machine, "memory", NULL, banknum, bank->curentry); /* fill in information about the bank */ bank->used = TRUE; @@ -2891,7 +2891,7 @@ static void *block_allocate(const address_space *space, offs_t bytestart, offs_t char name[256]; sprintf(name, "%08x-%08x", bytestart, byteend); - state_save_register_memory("memory", space->cpu->tag, space->spacenum, name, memory, bytes_per_element, (UINT32)(byteend - bytestart + 1) / bytes_per_element); + state_save_register_memory(space->machine, "memory", space->cpu->tag, space->spacenum, name, memory, bytes_per_element, (UINT32)(byteend - bytestart + 1) / bytes_per_element); } /* fill in the tracking block */ diff --git a/src/emu/sndintrf.c b/src/emu/sndintrf.c index 0ed6256a41e..88da02e20e2 100644 --- a/src/emu/sndintrf.c +++ b/src/emu/sndintrf.c @@ -41,7 +41,7 @@ struct _sndintrf_data snd_class_header intf; /* copy of the interface data */ sound_type sndtype; /* type index of this sound chip */ sound_type aliastype; /* aliased type index of this sound chip */ - device_config device; /* dummy device for now */ + device_config * device; /* dummy device for now */ const char * tag; /* tag this sound chip */ int index; /* index of this sound chip */ int clock; /* clock for this sound chip */ @@ -574,13 +574,26 @@ void sndintrf_init(running_machine *machine) particular sndnum -------------------------------------------------*/ +static DEVICE_GET_INFO( sndclass ) +{ + sndintrf_data *snddata = device->classtoken; + (*snddata->intf.get_info)(device, state, (sndinfo *)info); +} + int sndintrf_init_sound(int sndnum, const char *tag, sound_type sndtype, int clock, const void *config) { sndintrf_data *info = &sound[sndnum]; int index; - memset(&info->device, 0, sizeof(info->device)); - info->device.machine = Machine; + info->device = auto_malloc(sizeof(*info->device) + strlen(tag)); + memset(info->device, 0, sizeof(*info->device) + strlen(tag)); + info->device->type = DEVICE_GET_INFO_NAME(sndclass); + info->device->machine = Machine; + strcpy(info->device->tag, tag); + info->device->static_config = config; + info->device->region = memory_region(info->device->machine, info->device->tag); + info->device->regionbytes = memory_region_length(info->device->machine, info->device->tag); + info->device->classtoken = info; /* fill in the type and interface */ info->intf = snd_type_header[sndtype]; @@ -603,12 +616,12 @@ int sndintrf_init_sound(int sndnum, const char *tag, sound_type sndtype, int clo /* start the chip, tagging all its streams */ current_sound_start = &sound[sndnum]; - info->device.token = (*info->intf.start)(&info->device, info->tag, index, clock, config); + info->device->token = (*info->intf.start)(info->device, clock, config, info->index); current_sound_start = NULL; - VPRINTF((" token = %p\n", info->device.token)); + VPRINTF((" token = %p\n", info->device->token)); /* if that failed, die */ - if (!info->device.token) + if (info->device->token == NULL) return 1; return 0; @@ -624,7 +637,7 @@ void sndintrf_exit_sound(int sndnum) { /* stop the chip */ if (sound[sndnum].intf.stop) - (*sound[sndnum].intf.stop)(&sound[sndnum].device); + (*sound[sndnum].intf.stop)(sound[sndnum].device); } @@ -641,7 +654,7 @@ void sndintrf_exit_sound(int sndnum) void sndintrf_register_token(void *token) { if (current_sound_start) - current_sound_start->device.token = token; + current_sound_start->device->token = token; } @@ -713,7 +726,7 @@ INT64 sndnum_get_info_int(int sndnum, UINT32 state) VERIFY_SNDNUM(sndnum_get_info_int); info.i = 0; - (*sound[sndnum].intf.get_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.get_info)(sound[sndnum].device, state, &info); return info.i; } @@ -723,7 +736,7 @@ void *sndnum_get_info_ptr(int sndnum, UINT32 state) VERIFY_SNDNUM(sndnum_get_info_ptr); info.p = NULL; - (*sound[sndnum].intf.get_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.get_info)(sound[sndnum].device, state, &info); return info.p; } @@ -733,7 +746,7 @@ genf *sndnum_get_info_fct(int sndnum, UINT32 state) VERIFY_SNDNUM(sndnum_get_info_fct); info.f = NULL; - (*sound[sndnum].intf.get_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.get_info)(sound[sndnum].device, state, &info); return info.f; } @@ -743,7 +756,7 @@ const char *sndnum_get_info_string(int sndnum, UINT32 state) VERIFY_SNDNUM(sndnum_get_info_string); info.s = NULL; - (*sound[sndnum].intf.get_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.get_info)(sound[sndnum].device, state, &info); return info.s; } @@ -757,7 +770,7 @@ void sndnum_set_info_int(int sndnum, UINT32 state, INT64 data) sndinfo info; VERIFY_SNDNUM(sndnum_set_info_int); info.i = data; - (*sound[sndnum].intf.set_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.set_info)(sound[sndnum].device, state, &info); } void sndnum_set_info_ptr(int sndnum, UINT32 state, void *data) @@ -765,7 +778,7 @@ void sndnum_set_info_ptr(int sndnum, UINT32 state, void *data) sndinfo info; VERIFY_SNDNUM(sndnum_set_info_ptr); info.p = data; - (*sound[sndnum].intf.set_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.set_info)(sound[sndnum].device, state, &info); } void sndnum_set_info_fct(int sndnum, UINT32 state, genf *data) @@ -773,7 +786,7 @@ void sndnum_set_info_fct(int sndnum, UINT32 state, genf *data) sndinfo info; VERIFY_SNDNUM(sndnum_set_info_ptr); info.f = data; - (*sound[sndnum].intf.set_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.set_info)(sound[sndnum].device, state, &info); } @@ -785,7 +798,7 @@ void sndnum_reset(int sndnum) { VERIFY_SNDNUM(sndnum_reset); if (sound[sndnum].intf.reset) - (*sound[sndnum].intf.reset)(&sound[sndnum].device); + (*sound[sndnum].intf.reset)(sound[sndnum].device); } int sndnum_clock(int sndnum) @@ -797,7 +810,7 @@ int sndnum_clock(int sndnum) void *sndnum_token(int sndnum) { VERIFY_SNDNUM(sndnum_token); - return sound[sndnum].device.token; + return sound[sndnum].device->token; } @@ -818,7 +831,7 @@ INT64 sndti_get_info_int(sound_type sndtype, int sndindex, UINT32 state) VERIFY_SNDTI(sndti_get_info_int); sndnum = sound_matrix[sndtype][sndindex] - 1; info.i = 0; - (*sound[sndnum].intf.get_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.get_info)(sound[sndnum].device, state, &info); return info.i; } @@ -830,7 +843,7 @@ void *sndti_get_info_ptr(sound_type sndtype, int sndindex, UINT32 state) VERIFY_SNDTI(sndti_get_info_ptr); sndnum = sound_matrix[sndtype][sndindex] - 1; info.p = NULL; - (*sound[sndnum].intf.get_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.get_info)(sound[sndnum].device, state, &info); return info.p; } @@ -842,7 +855,7 @@ genf *sndti_get_info_fct(sound_type sndtype, int sndindex, UINT32 state) VERIFY_SNDTI(sndti_get_info_fct); sndnum = sound_matrix[sndtype][sndindex] - 1; info.f = NULL; - (*sound[sndnum].intf.get_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.get_info)(sound[sndnum].device, state, &info); return info.f; } @@ -854,7 +867,7 @@ const char *sndti_get_info_string(sound_type sndtype, int sndindex, UINT32 state VERIFY_SNDTI(sndti_get_info_string); sndnum = sound_matrix[sndtype][sndindex] - 1; info.s = NULL; - (*sound[sndnum].intf.get_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.get_info)(sound[sndnum].device, state, &info); return info.s; } @@ -871,7 +884,7 @@ void sndti_set_info_int(sound_type sndtype, int sndindex, UINT32 state, INT64 da VERIFY_SNDTI(sndti_set_info_int); sndnum = sound_matrix[sndtype][sndindex] - 1; info.i = data; - (*sound[sndnum].intf.set_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.set_info)(sound[sndnum].device, state, &info); } void sndti_set_info_ptr(sound_type sndtype, int sndindex, UINT32 state, void *data) @@ -882,7 +895,7 @@ void sndti_set_info_ptr(sound_type sndtype, int sndindex, UINT32 state, void *da VERIFY_SNDTI(sndti_set_info_ptr); sndnum = sound_matrix[sndtype][sndindex] - 1; info.p = data; - (*sound[sndnum].intf.set_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.set_info)(sound[sndnum].device, state, &info); } void sndti_set_info_fct(sound_type sndtype, int sndindex, UINT32 state, genf *data) @@ -893,7 +906,7 @@ void sndti_set_info_fct(sound_type sndtype, int sndindex, UINT32 state, genf *da VERIFY_SNDTI(sndti_set_info_ptr); sndnum = sound_matrix[sndtype][sndindex] - 1; info.f = data; - (*sound[sndnum].intf.set_info)(&sound[sndnum].device, state, &info); + (*sound[sndnum].intf.set_info)(sound[sndnum].device, state, &info); } @@ -908,7 +921,7 @@ void sndti_reset(sound_type sndtype, int sndindex) VERIFY_SNDTI(sndti_reset); sndnum = sound_matrix[sndtype][sndindex] - 1; if (sound[sndnum].intf.reset) - (*sound[sndnum].intf.reset)(&sound[sndnum].device); + (*sound[sndnum].intf.reset)(sound[sndnum].device); } int sndti_clock(sound_type sndtype, int sndindex) @@ -924,7 +937,7 @@ void *sndti_token(sound_type sndtype, int sndindex) int sndnum; VERIFY_SNDTI(sndti_token); sndnum = sound_matrix[sndtype][sndindex] - 1; - return sound[sndnum].device.token; + return sound[sndnum].device->token; } diff --git a/src/emu/sndintrf.h b/src/emu/sndintrf.h index e94bc1757b8..af0172d03cd 100644 --- a/src/emu/sndintrf.h +++ b/src/emu/sndintrf.h @@ -152,32 +152,38 @@ typedef enum _sound_type sound_type; enum { /* --- the following bits of info are returned as 64-bit signed integers --- */ - SNDINFO_INT_FIRST = 0x00000, + SNDINFO_INT_FIRST = DEVINFO_INT_FIRST, - SNDINFO_INT_ALIAS = SNDINFO_INT_FIRST, /* R/O: alias to sound type for (type,index) identification */ + SNDINFO_INT_ALIAS = DEVINFO_INT_CLASS_SPECIFIC, /* R/O: alias to sound type for (type,index) identification */ - SNDINFO_INT_CORE_SPECIFIC = 0x08000, /* R/W: core-specific values start here */ + SNDINFO_INT_CORE_SPECIFIC = DEVINFO_INT_DEVICE_SPECIFIC, /* R/W: core-specific values start here */ /* --- the following bits of info are returned as pointers to data or functions --- */ - SNDINFO_PTR_FIRST = 0x10000, + SNDINFO_PTR_FIRST = DEVINFO_PTR_FIRST, - SNDINFO_PTR_SET_INFO = SNDINFO_PTR_FIRST, /* R/O: void (*set_info)(void *token, UINT32 state, sndinfo *info) */ - SNDINFO_PTR_START, /* R/O: void *(*start)(int index, int clock, const void *config) */ - SNDINFO_PTR_STOP, /* R/O: void (*stop)(void *token) */ - SNDINFO_PTR_RESET, /* R/O: void (*reset)(void *token) */ + SNDINFO_PTR_CORE_SPECIFIC = DEVINFO_PTR_DEVICE_SPECIFIC, /* R/W: core-specific values start here */ - SNDINFO_PTR_CORE_SPECIFIC = 0x18000, /* R/W: core-specific values start here */ + /* --- the following bits of info are returned as pointers to functions --- */ + SNDINFO_FCT_FIRST = DEVINFO_FCT_FIRST, + + SNDINFO_PTR_STOP = DEVINFO_FCT_STOP, /* R/O: void (*stop)(const device_config *device) */ + SNDINFO_PTR_RESET = DEVINFO_FCT_RESET, /* R/O: void (*reset)(const device_config *device) */ + + SNDINFO_PTR_SET_INFO = DEVINFO_FCT_CLASS_SPECIFIC, /* R/O: void (*set_info)(const device_config *device, UINT32 state, sndinfo *info) */ + SNDINFO_PTR_START, /* R/O: void *(*start)(const device_config *device, int clock, const void *config, int sndindex) */ + + SNDINFO_FCT_CORE_SPECIFIC = DEVINFO_FCT_DEVICE_SPECIFIC, /* R/W: core-specific values start here */ /* --- the following bits of info are returned as NULL-terminated strings --- */ - SNDINFO_STR_FIRST = 0x20000, + SNDINFO_STR_FIRST = DEVINFO_STR_FIRST, - SNDINFO_STR_NAME = SNDINFO_STR_FIRST, /* R/O: name of the sound chip */ - SNDINFO_STR_CORE_FAMILY, /* R/O: family of the sound chip */ - SNDINFO_STR_CORE_VERSION, /* R/O: version of the sound core */ - SNDINFO_STR_CORE_FILE, /* R/O: file containing the sound core */ - SNDINFO_STR_CORE_CREDITS, /* R/O: credits for the sound core */ + SNDINFO_STR_NAME = DEVINFO_STR_NAME, /* R/O: name of the sound chip */ + SNDINFO_STR_CORE_FAMILY = DEVINFO_STR_FAMILY, /* R/O: family of the sound chip */ + SNDINFO_STR_CORE_VERSION = DEVINFO_STR_VERSION, /* R/O: version of the sound core */ + SNDINFO_STR_CORE_FILE = DEVINFO_STR_SOURCE_FILE, /* R/O: file containing the sound core */ + SNDINFO_STR_CORE_CREDITS = DEVINFO_STR_CREDITS, /* R/O: credits for the sound core */ - SNDINFO_STR_CORE_SPECIFIC = 0x28000 /* R/W: core-specific values start here */ + SNDINFO_STR_CORE_SPECIFIC = DEVINFO_STR_DEVICE_SPECIFIC /* R/W: core-specific values start here */ }; @@ -195,8 +201,8 @@ enum #define SND_SET_INFO_CALL(name) SND_SET_INFO_NAME(name)(device, state, info) #define SND_START_NAME(name) snd_start_##name -#define SND_START(name) void *SND_START_NAME(name)(const device_config *device, const char *tag, int sndindex, int clock, const void *config) -#define SND_START_CALL(name) SND_START_NAME(name)(device, tag, sndindex, clock, config) +#define SND_START(name) void *SND_START_NAME(name)(const device_config *device, int clock, const void *config, int sndindex) +#define SND_START_CALL(name) SND_START_NAME(name)(device, clock, config, sndindex) #define SND_STOP_NAME(name) snd_stop_##name #define SND_STOP(name) void SND_STOP_NAME(name)(const device_config *device) @@ -218,7 +224,7 @@ typedef union _sndinfo sndinfo; /* define the various callback functions */ typedef void (*snd_get_info_func)(const device_config *device, UINT32 state, sndinfo *info); typedef void (*snd_set_info_func)(const device_config *device, UINT32 state, sndinfo *info); -typedef void *(*snd_start_func)(const device_config *device, const char *tag, int sndindex, int clock, const void *config); +typedef void *(*snd_start_func)(const device_config *device, int clock, const void *config, int sndindex); typedef void (*snd_stop_func)(const device_config *device); typedef void (*snd_reset_func)(const device_config *device); diff --git a/src/emu/sound.c b/src/emu/sound.c index e48ccea08d0..429609aaf9c 100644 --- a/src/emu/sound.c +++ b/src/emu/sound.c @@ -292,13 +292,13 @@ static void start_sound_chips(running_machine *machine) /* start the chip, tagging all its streams */ VPRINTF(("sndnum = %d -- sound_type = %d\n", sndnum, msound->type)); - num_regs = state_save_get_reg_count(); + num_regs = state_save_get_reg_count(machine); streams_set_tag(machine, info); if (sndintrf_init_sound(sndnum, msound->tag, msound->type, msound->clock, msound->config) != 0) fatalerror("Sound chip #%d (%s) failed to initialize!", sndnum, sndnum_get_name(sndnum)); /* if no state registered for saving, we can't save */ - num_regs = state_save_get_reg_count() - num_regs; + num_regs = state_save_get_reg_count(machine) - num_regs; if (num_regs == 0) { logerror("Sound chip #%d (%s) did not register any state to save!\n", sndnum, sndnum_get_name(sndnum)); diff --git a/src/emu/sound/2151intf.c b/src/emu/sound/2151intf.c index 45459c42893..92ab56d164c 100644 --- a/src/emu/sound/2151intf.c +++ b/src/emu/sound/2151intf.c @@ -52,7 +52,7 @@ static SND_START( ym2151 ) /* stream setup */ info->stream = stream_create(0,2,rate,info,ym2151_update); - info->chip = ym2151_init(tag,clock,rate); + info->chip = ym2151_init(device,clock,rate); state_save_register_postload(device->machine, ym2151intf_postload, info); diff --git a/src/emu/sound/2203intf.c b/src/emu/sound/2203intf.c index 1c283cc4ec4..030cda689b7 100644 --- a/src/emu/sound/2203intf.c +++ b/src/emu/sound/2203intf.c @@ -124,7 +124,7 @@ static SND_START( ym2203 ) memset(info, 0, sizeof(*info)); info->intf = intf; - info->psg = ay8910_start_ym(SOUND_YM2203, tag, clock, &intf->ay8910_intf); + info->psg = ay8910_start_ym(SOUND_YM2203, device, clock, &intf->ay8910_intf); if (!info->psg) return NULL; /* Timer Handler set */ @@ -135,7 +135,7 @@ static SND_START( ym2203 ) info->stream = stream_create(0,1,rate,info,ym2203_stream_update); /* Initialize FM emurator */ - info->chip = ym2203_init(info,tag,clock,rate,timer_handler,IRQHandler,&psgintf); + info->chip = ym2203_init(info,device,clock,rate,timer_handler,IRQHandler,&psgintf); state_save_register_postload(device->machine, ym2203_intf_postload, info); diff --git a/src/emu/sound/2413intf.c b/src/emu/sound/2413intf.c index ebd975c6ba2..9640a0f8255 100644 --- a/src/emu/sound/2413intf.c +++ b/src/emu/sound/2413intf.c @@ -57,7 +57,7 @@ static SND_START( ym2413 ) memset(info, 0, sizeof(*info)); /* emulator create */ - info->chip = ym2413_init(clock, rate, tag); + info->chip = ym2413_init(clock, rate, device); if (!info->chip) return NULL; diff --git a/src/emu/sound/2608intf.c b/src/emu/sound/2608intf.c index 2bcf5fd5d99..44f98c5b2d7 100644 --- a/src/emu/sound/2608intf.c +++ b/src/emu/sound/2608intf.c @@ -141,7 +141,7 @@ static SND_START( ym2608 ) info->intf = intf; /* FIXME: Force to use simgle output */ - info->psg = ay8910_start_ym(SOUND_YM2608, tag, clock, &intf->ay8910_intf); + info->psg = ay8910_start_ym(SOUND_YM2608, device, clock, &intf->ay8910_intf); if (!info->psg) return NULL; /* Timer Handler set */ @@ -151,11 +151,11 @@ static SND_START( ym2608 ) /* stream system initialize */ info->stream = stream_create(0,2,rate,info,ym2608_stream_update); /* setup adpcm buffers */ - pcmbufa = (void *)(memory_region(device->machine, tag)); - pcmsizea = memory_region_length(device->machine, tag); + pcmbufa = device->region; + pcmsizea = device->regionbytes; /* initialize YM2608 */ - info->chip = ym2608_init(info,tag,clock,rate, + info->chip = ym2608_init(info,device,clock,rate, pcmbufa,pcmsizea, timer_handler,IRQHandler,&psgintf); diff --git a/src/emu/sound/2610intf.c b/src/emu/sound/2610intf.c index d2935c45d43..41147c1f5a7 100644 --- a/src/emu/sound/2610intf.c +++ b/src/emu/sound/2610intf.c @@ -142,7 +142,7 @@ static SND_START( ym2610 ) memset(info, 0, sizeof(*info)); info->intf = intf; - info->psg = ay8910_start_ym(SOUND_YM2610, tag, clock, &generic_ay8910); + info->psg = ay8910_start_ym(SOUND_YM2610, device, clock, &generic_ay8910); if (!info->psg) return NULL; /* Timer Handler set */ @@ -152,9 +152,9 @@ static SND_START( ym2610 ) /* stream system initialize */ info->stream = stream_create(0,2,rate,info,ym2610_stream_update); /* setup adpcm buffers */ - pcmbufa = (void *)(memory_region(device->machine, tag)); - pcmsizea = memory_region_length(device->machine, tag); - astring_printf(name, "%s.deltat", tag); + pcmbufa = device->region; + pcmsizea = device->regionbytes; + astring_printf(name, "%s.deltat", device->tag); pcmbufb = (void *)(memory_region(device->machine, astring_c(name))); pcmsizeb = memory_region_length(device->machine, astring_c(name)); astring_free(name); @@ -165,7 +165,7 @@ static SND_START( ym2610 ) } /**** initialize YM2610 ****/ - info->chip = ym2610_init(info,tag,clock,rate, + info->chip = ym2610_init(info,device,clock,rate, pcmbufa,pcmsizea,pcmbufb,pcmsizeb, timer_handler,IRQHandler,&psgintf); @@ -208,7 +208,7 @@ static SND_START( ym2610b ) memset(info, 0, sizeof(*info)); info->intf = intf; - info->psg = ay8910_start_ym(SOUND_YM2610B, tag, clock, &generic_ay8910); + info->psg = ay8910_start_ym(SOUND_YM2610B, device, clock, &generic_ay8910); if (!info->psg) return NULL; /* Timer Handler set */ @@ -218,9 +218,9 @@ static SND_START( ym2610b ) /* stream system initialize */ info->stream = stream_create(0,2,rate,info,ym2610b_stream_update); /* setup adpcm buffers */ - pcmbufa = (void *)(memory_region(device->machine, tag)); - pcmsizea = memory_region_length(device->machine, tag); - astring_printf(name, "%s.deltat", tag); + pcmbufa = device->region; + pcmsizea = device->regionbytes; + astring_printf(name, "%s.deltat", device->tag); pcmbufb = (void *)(memory_region(device->machine, astring_c(name))); pcmsizeb = memory_region_length(device->machine, astring_c(name)); astring_free(name); @@ -231,7 +231,7 @@ static SND_START( ym2610b ) } /**** initialize YM2610 ****/ - info->chip = ym2610_init(info,tag,clock,rate, + info->chip = ym2610_init(info,device,clock,rate, pcmbufa,pcmsizea,pcmbufb,pcmsizeb, timer_handler,IRQHandler,&psgintf); if (info->chip) diff --git a/src/emu/sound/2612intf.c b/src/emu/sound/2612intf.c index 55ef8f8bda9..8de7efadec7 100644 --- a/src/emu/sound/2612intf.c +++ b/src/emu/sound/2612intf.c @@ -107,7 +107,7 @@ static SND_START( ym2612 ) info->stream = stream_create(0,2,rate,info,ym2612_stream_update); /**** initialize YM2612 ****/ - info->chip = ym2612_init(info,tag,clock,rate,timer_handler,IRQHandler); + info->chip = ym2612_init(info,device,clock,rate,timer_handler,IRQHandler); state_save_register_postload(device->machine, ym2612_intf_postload, info); diff --git a/src/emu/sound/3812intf.c b/src/emu/sound/3812intf.c index c9caa94474e..8ca77038ecd 100644 --- a/src/emu/sound/3812intf.c +++ b/src/emu/sound/3812intf.c @@ -91,7 +91,7 @@ static SND_START( ym3812 ) info->intf = config ? config : &dummy; /* stream system initialize */ - info->chip = ym3812_init(tag,clock,rate); + info->chip = ym3812_init(device,clock,rate); if (!info->chip) return NULL; @@ -260,7 +260,7 @@ static SND_START( ym3526 ) info->intf = config ? config : &dummy; /* stream system initialize */ - info->chip = ym3526_init(tag,clock,rate); + info->chip = ym3526_init(device,clock,rate); if (!info->chip) return NULL; @@ -464,14 +464,12 @@ static SND_START( y8950 ) info->index = sndindex; /* stream system initialize */ - info->chip = y8950_init(tag,clock,rate); + info->chip = y8950_init(device,clock,rate); if (!info->chip) return NULL; /* ADPCM ROM data */ - y8950_set_delta_t_memory(info->chip, - (void *)(memory_region(device->machine, tag)), - memory_region_length(device->machine, tag) ); + y8950_set_delta_t_memory(info->chip, device->region, device->regionbytes); info->stream = stream_create(0,1,rate,info,y8950_stream_update); diff --git a/src/emu/sound/5110intf.c b/src/emu/sound/5110intf.c index b05246d1176..782c8dd6cd0 100644 --- a/src/emu/sound/5110intf.c +++ b/src/emu/sound/5110intf.c @@ -26,7 +26,7 @@ struct tms5110_info { const tms5110_interface *intf; - const char *tag; + const UINT8 *table; sound_stream *stream; void *chip; INT32 speech_rom_bitnum; @@ -39,14 +39,13 @@ static void tms5110_update(void *param, stream_sample_t **inputs, stream_sample_ static int speech_rom_read_bit(void) { struct tms5110_info *info = sndti_token(SOUND_TMS5110, 0); - const UINT8 *table = memory_region(Machine, info->tag); int r; if (info->speech_rom_bitnum<0) r = 0; else - r = (table[info->speech_rom_bitnum >> 3] >> (0x07 - (info->speech_rom_bitnum & 0x07))) & 1; + r = (info->table[info->speech_rom_bitnum >> 3] >> (0x07 - (info->speech_rom_bitnum & 0x07))) & 1; info->speech_rom_bitnum++; @@ -74,9 +73,9 @@ static SND_START( tms5110 ) info = auto_malloc(sizeof(*info)); memset(info, 0, sizeof(*info)); info->intf = config ? config : &dummy; - info->tag = tag; + info->table = device->region; - info->chip = tms5110_create(tag, TMS5110_IS_5110A); + info->chip = tms5110_create(device, TMS5110_IS_5110A); if (!info->chip) return NULL; sndintrf_register_token(info); @@ -84,7 +83,7 @@ static SND_START( tms5110 ) /* initialize a stream */ info->stream = stream_create(0, 1, clock / 80, info, tms5110_update); - if (memory_region(device->machine, tag) == NULL) + if (info->table == NULL) { if (info->intf->M0_callback==NULL) { diff --git a/src/emu/sound/5220intf.c b/src/emu/sound/5220intf.c index 3786370c7a7..f5a5ff619e3 100644 --- a/src/emu/sound/5220intf.c +++ b/src/emu/sound/5220intf.c @@ -50,7 +50,7 @@ static SND_START( tms5220 ) memset(info, 0, sizeof(*info)); info->intf = config ? config : &dummy; - info->chip = tms5220_create(tag); + info->chip = tms5220_create(device); if (!info->chip) return NULL; sndintrf_register_token(info); diff --git a/src/emu/sound/aica.c b/src/emu/sound/aica.c index 3d3221dbaf1..d423db1f961 100644 --- a/src/emu/sound/aica.c +++ b/src/emu/sound/aica.c @@ -513,7 +513,7 @@ static void AICA_StopSlot(struct _SLOT *slot,int keyoff) #define log_base_2(n) (log((float) n)/log((float) 2)) -static void AICA_Init(const char *tag, struct _AICA *AICA, const aica_interface *intf, int sndindex) +static void AICA_Init(const device_config *device, struct _AICA *AICA, const aica_interface *intf, int sndindex) { int i; @@ -534,11 +534,11 @@ static void AICA_Init(const char *tag, struct _AICA *AICA, const aica_interface AICA->Master=0; } - AICA->AICARAM = memory_region(Machine, tag); + AICA->AICARAM = device->region; if (AICA->AICARAM) { AICA->AICARAM += intf->roffset; - AICA->AICARAM_LENGTH = memory_region_length(Machine, tag); + AICA->AICARAM_LENGTH = device->regionbytes; AICA->RAM_MASK = AICA->AICARAM_LENGTH-1; AICA->RAM_MASK16 = AICA->RAM_MASK & 0x7ffffe; AICA->DSP.AICARAM = (UINT16 *)AICA->AICARAM; @@ -1296,7 +1296,7 @@ static SND_START( aica ) intf = config; // init the emulation - AICA_Init(tag, AICA, intf, sndindex); + AICA_Init(device, AICA, intf, sndindex); // set up the IRQ callbacks { diff --git a/src/emu/sound/astrocde.c b/src/emu/sound/astrocde.c index 2e21bcd2522..9c24af3815f 100644 --- a/src/emu/sound/astrocde.c +++ b/src/emu/sound/astrocde.c @@ -228,26 +228,24 @@ SND_RESET( astrocade ) * *************************************/ -static void astrocade_state_save_register(struct astrocade_info *chip, const char *tag) +static void astrocade_state_save_register(struct astrocade_info *chip, const device_config *device) { - state_save_register_item_array("globals", tag, 0, chip->reg); + state_save_register_device_item_array(device, 0, chip->reg); - state_save_register_item_array("astrocade", tag, 0, chip->reg); + state_save_register_device_item(device, 0, chip->master_count); + state_save_register_device_item(device, 0, chip->vibrato_clock); - state_save_register_item("astrocade", tag, 0, chip->master_count); - state_save_register_item("astrocade", tag, 0, chip->vibrato_clock); + state_save_register_device_item(device, 0, chip->noise_clock); + state_save_register_device_item(device, 0, chip->noise_state); - state_save_register_item("astrocade", tag, 0, chip->noise_clock); - state_save_register_item("astrocade", tag, 0, chip->noise_state); + state_save_register_device_item(device, 0, chip->a_count); + state_save_register_device_item(device, 0, chip->a_state); - state_save_register_item("astrocade", tag, 0, chip->a_count); - state_save_register_item("astrocade", tag, 0, chip->a_state); + state_save_register_device_item(device, 0, chip->b_count); + state_save_register_device_item(device, 0, chip->b_state); - state_save_register_item("astrocade", tag, 0, chip->b_count); - state_save_register_item("astrocade", tag, 0, chip->b_state); - - state_save_register_item("astrocade", tag, 0, chip->c_count); - state_save_register_item("astrocade", tag, 0, chip->c_state); + state_save_register_device_item(device, 0, chip->c_count); + state_save_register_device_item(device, 0, chip->c_state); } @@ -276,7 +274,7 @@ static SND_START( astrocade ) /* reset state */ astrocade_reset(chip); - astrocade_state_save_register(chip, tag); + astrocade_state_save_register(chip, device); return chip; } diff --git a/src/emu/sound/ay8910.c b/src/emu/sound/ay8910.c index f7a48294b86..414b829e168 100644 --- a/src/emu/sound/ay8910.c +++ b/src/emu/sound/ay8910.c @@ -160,7 +160,7 @@ struct _ay_ym_param typedef struct _ay8910_context ay8910_context; struct _ay8910_context { - const char *tag; + const device_config *device; int streams; int ready; sound_stream *channel; @@ -450,11 +450,11 @@ static void ay8910_write_reg(ay8910_context *psg, int r, int v) if (psg->intf->portAwrite) (*psg->intf->portAwrite)(space, 0, psg->regs[AY_PORTA]); else - logerror("warning - write %02x to 8910 '%s' Port A\n",psg->regs[AY_PORTA],psg->tag); + logerror("warning - write %02x to 8910 '%s' Port A\n",psg->regs[AY_PORTA],psg->device->tag); } else { - logerror("warning: write to 8910 '%s' Port A set as input - ignored\n",psg->tag); + logerror("warning: write to 8910 '%s' Port A set as input - ignored\n",psg->device->tag); } break; case AY_PORTB: @@ -463,11 +463,11 @@ static void ay8910_write_reg(ay8910_context *psg, int r, int v) if (psg->intf->portBwrite) (*psg->intf->portBwrite)(space, 0, psg->regs[AY_PORTB]); else - logerror("warning - write %02x to 8910 '%s' Port B\n",psg->regs[AY_PORTB],psg->tag); + logerror("warning - write %02x to 8910 '%s' Port B\n",psg->regs[AY_PORTB],psg->device->tag); } else { - logerror("warning: write to 8910 '%s' Port B set as input - ignored\n",psg->tag); + logerror("warning: write to 8910 '%s' Port B set as input - ignored\n",psg->device->tag); } break; } @@ -628,27 +628,27 @@ static void build_mixer_table(ay8910_context *psg) build_3D_table(psg->intf->res_load[0], psg->par, psg->par_env, normalize, 3, psg->zero_is_off, psg->vol3d_table); } -static void ay8910_statesave(ay8910_context *psg, const char *tag) +static void ay8910_statesave(ay8910_context *psg, const device_config *device) { - state_save_register_item("AY8910", tag, 0, psg->register_latch); - state_save_register_item_array("AY8910", tag, 0, psg->regs); - state_save_register_item("AY8910", tag, 0, psg->last_enable); + state_save_register_device_item(device, 0, psg->register_latch); + state_save_register_device_item_array(device, 0, psg->regs); + state_save_register_device_item(device, 0, psg->last_enable); - state_save_register_item_array("AY8910", tag, 0, psg->count); - state_save_register_item("AY8910", tag, 0, psg->count_noise); - state_save_register_item("AY8910", tag, 0, psg->count_env); + state_save_register_device_item_array(device, 0, psg->count); + state_save_register_device_item(device, 0, psg->count_noise); + state_save_register_device_item(device, 0, psg->count_env); - state_save_register_item("AY8910", tag, 0, psg->env_volume); + state_save_register_device_item(device, 0, psg->env_volume); - state_save_register_item_array("AY8910", tag, 0, psg->output); - state_save_register_item("AY8910", tag, 0, psg->output_noise); + state_save_register_device_item_array(device, 0, psg->output); + state_save_register_device_item(device, 0, psg->output_noise); - state_save_register_item("AY8910", tag, 0, psg->env_step); - state_save_register_item("AY8910", tag, 0, psg->hold); - state_save_register_item("AY8910", tag, 0, psg->alternate); - state_save_register_item("AY8910", tag, 0, psg->attack); - state_save_register_item("AY8910", tag, 0, psg->holding); - state_save_register_item("AY8910", tag, 0, psg->rng); + state_save_register_device_item(device, 0, psg->env_step); + state_save_register_device_item(device, 0, psg->hold); + state_save_register_device_item(device, 0, psg->alternate); + state_save_register_device_item(device, 0, psg->attack); + state_save_register_device_item(device, 0, psg->holding); + state_save_register_device_item(device, 0, psg->rng); } /************************************* @@ -659,13 +659,13 @@ static void ay8910_statesave(ay8910_context *psg, const char *tag) * *************************************/ -void *ay8910_start_ym(sound_type chip_type, const char *tag, int clock, const ay8910_interface *intf) +void *ay8910_start_ym(sound_type chip_type, const device_config *device, int clock, const ay8910_interface *intf) { ay8910_context *info; info = auto_malloc(sizeof(*info)); memset(info, 0, sizeof(*info)); - info->tag = tag; + info->device = device; info->intf = intf; if ((info->intf->flags & AY8910_SINGLE_OUTPUT) != 0) { @@ -709,7 +709,7 @@ void *ay8910_start_ym(sound_type chip_type, const char *tag, int clock, const ay info->channel = stream_create(0,info->streams,clock / 8 ,info,ay8910_update); ay8910_set_clock_ym(info,clock); - ay8910_statesave(info, tag); + ay8910_statesave(info, device); return info; } @@ -792,7 +792,7 @@ int ay8910_read_ym(void *chip) { case AY_PORTA: if ((psg->regs[AY_ENABLE] & 0x40) != 0) - logerror("warning: read from 8910 '%s' Port A set as output\n",psg->tag); + logerror("warning: read from 8910 '%s' Port A set as output\n",psg->device->tag); /* even if the port is set as output, we still need to return the external data. Some games, like kidniki, need this to work. @@ -800,15 +800,15 @@ int ay8910_read_ym(void *chip) if (psg->intf->portAread) psg->regs[AY_PORTA] = (*psg->intf->portAread)(space, 0); else - logerror("PC %04x: warning - read 8910 '%s' Port A\n",cpu_get_pc(Machine->activecpu),psg->tag); + logerror("PC %04x: warning - read 8910 '%s' Port A\n",cpu_get_pc(Machine->activecpu),psg->device->tag); break; case AY_PORTB: if ((psg->regs[AY_ENABLE] & 0x80) != 0) - logerror("warning: read from 8910 '%s' Port B set as output\n",psg->tag); + logerror("warning: read from 8910 '%s' Port B set as output\n",psg->device->tag); if (psg->intf->portBread) psg->regs[AY_PORTB] = (*psg->intf->portBread)(space, 0); else - logerror("PC %04x: warning - read 8910 '%s' Port B\n",cpu_get_pc(Machine->activecpu),psg->tag); + logerror("PC %04x: warning - read 8910 '%s' Port B\n",cpu_get_pc(Machine->activecpu),psg->device->tag); break; } return psg->regs[r]; @@ -829,7 +829,7 @@ static SND_START( ay8910 ) NULL, NULL, NULL, NULL }; const ay8910_interface *intf = (config ? config : &generic_ay8910); - return ay8910_start_ym(SOUND_AY8910, tag, clock, intf); + return ay8910_start_ym(SOUND_AY8910, device, clock, intf); } static SND_START( ym2149 ) @@ -841,7 +841,7 @@ static SND_START( ym2149 ) NULL, NULL, NULL, NULL }; const ay8910_interface *intf = (config ? config : &generic_ay8910); - return ay8910_start_ym(SOUND_YM2149, tag, clock, intf); + return ay8910_start_ym(SOUND_YM2149, device, clock, intf); } static SND_STOP( ay8910 ) diff --git a/src/emu/sound/ay8910.h b/src/emu/sound/ay8910.h index 19ef1718174..1a52eeb4ccc 100644 --- a/src/emu/sound/ay8910.h +++ b/src/emu/sound/ay8910.h @@ -126,7 +126,7 @@ WRITE16_HANDLER( ay8910_write_port_4_msb_w ); /*********** An interface for SSG of YM2203 ***********/ -void *ay8910_start_ym(sound_type chip_type, const char *tag, int clock, const ay8910_interface *intf); +void *ay8910_start_ym(sound_type chip_type, const device_config *device, int clock, const ay8910_interface *intf); void ay8910_stop_ym(void *chip); void ay8910_reset_ym(void *chip); diff --git a/src/emu/sound/bsmt2000.c b/src/emu/sound/bsmt2000.c index 674a6b62998..e369839eb3d 100644 --- a/src/emu/sound/bsmt2000.c +++ b/src/emu/sound/bsmt2000.c @@ -119,30 +119,30 @@ static SND_START( bsmt2000 ) chip->clock = clock; /* initialize the regions */ - chip->region_base = (INT8 *)memory_region(device->machine, tag); - chip->total_banks = memory_region_length(device->machine, tag) / 0x10000; + chip->region_base = (INT8 *)device->region; + chip->total_banks = device->regionbytes / 0x10000; /* register chip-wide data for save states */ - state_save_register_item("bsmt2000", tag, 0, chip->last_register); - state_save_register_item("bsmt2000", tag, 0, chip->stereo); - state_save_register_item("bsmt2000", tag, 0, chip->voices); - state_save_register_item("bsmt2000", tag, 0, chip->adpcm); - state_save_register_item("bsmt2000", tag, 0, chip->adpcm_current); - state_save_register_item("bsmt2000", tag, 0, chip->adpcm_delta_n); + state_save_register_device_item(device, 0, chip->last_register); + state_save_register_device_item(device, 0, chip->stereo); + state_save_register_device_item(device, 0, chip->voices); + state_save_register_device_item(device, 0, chip->adpcm); + state_save_register_device_item(device, 0, chip->adpcm_current); + state_save_register_device_item(device, 0, chip->adpcm_delta_n); /* register voice-specific data for save states */ for (voicenum = 0; voicenum < MAX_VOICES; voicenum++) { bsmt2000_voice *voice = &chip->voice[voicenum]; - state_save_register_item("bsmt2000", tag, voicenum, voice->pos); - state_save_register_item("bsmt2000", tag, voicenum, voice->rate); - state_save_register_item("bsmt2000", tag, voicenum, voice->loopend); - state_save_register_item("bsmt2000", tag, voicenum, voice->loopstart); - state_save_register_item("bsmt2000", tag, voicenum, voice->bank); - state_save_register_item("bsmt2000", tag, voicenum, voice->leftvol); - state_save_register_item("bsmt2000", tag, voicenum, voice->rightvol); - state_save_register_item("bsmt2000", tag, voicenum, voice->fraction); + state_save_register_device_item(device, voicenum, voice->pos); + state_save_register_device_item(device, voicenum, voice->rate); + state_save_register_device_item(device, voicenum, voice->loopend); + state_save_register_device_item(device, voicenum, voice->loopstart); + state_save_register_device_item(device, voicenum, voice->bank); + state_save_register_device_item(device, voicenum, voice->leftvol); + state_save_register_device_item(device, voicenum, voice->rightvol); + state_save_register_device_item(device, voicenum, voice->fraction); } /* reset the chip -- this also configures the default mode */ diff --git a/src/emu/sound/c140.c b/src/emu/sound/c140.c index e691b51e744..fe28a96afac 100644 --- a/src/emu/sound/c140.c +++ b/src/emu/sound/c140.c @@ -468,7 +468,7 @@ static SND_START( c140 ) info->stream = stream_create(0,2,info->sample_rate,info,update_stereo); - info->pRom=memory_region(device->machine, tag); + info->pRom=device->region; /* make decompress pcm table */ //2000.06.26 CAB { diff --git a/src/emu/sound/c352.c b/src/emu/sound/c352.c index 13cb9201e67..26ee0272499 100644 --- a/src/emu/sound/c352.c +++ b/src/emu/sound/c352.c @@ -481,7 +481,7 @@ static void c352_write_reg16(struct c352_info *info, unsigned long address, unsi } } -static void c352_init(struct c352_info *info, const char *tag) +static void c352_init(struct c352_info *info, const device_config *device) { int i; double x_max = 32752.0; @@ -510,27 +510,23 @@ static void c352_init(struct c352_info *info, const char *tag) // register save state info for (i = 0; i < 32; i++) { - char cname[32]; - - sprintf(cname, "C352 v %02d", i); - - state_save_register_item(cname, tag, 0, info->c352_ch[i].vol_l); - state_save_register_item(cname, tag, 0, info->c352_ch[i].vol_r); - state_save_register_item(cname, tag, 0, info->c352_ch[i].vol_l2); - state_save_register_item(cname, tag, 0, info->c352_ch[i].vol_r2); - state_save_register_item(cname, tag, 0, info->c352_ch[i].bank); - state_save_register_item(cname, tag, 0, info->c352_ch[i].noise); - state_save_register_item(cname, tag, 0, info->c352_ch[i].noisebuf); - state_save_register_item(cname, tag, 0, info->c352_ch[i].noisecnt); - state_save_register_item(cname, tag, 0, info->c352_ch[i].pitch); - state_save_register_item(cname, tag, 0, info->c352_ch[i].start_addr); - state_save_register_item(cname, tag, 0, info->c352_ch[i].end_addr); - state_save_register_item(cname, tag, 0, info->c352_ch[i].repeat_addr); - state_save_register_item(cname, tag, 0, info->c352_ch[i].flag); - state_save_register_item(cname, tag, 0, info->c352_ch[i].start); - state_save_register_item(cname, tag, 0, info->c352_ch[i].repeat); - state_save_register_item(cname, tag, 0, info->c352_ch[i].current_addr); - state_save_register_item(cname, tag, 0, info->c352_ch[i].pos); + state_save_register_device_item(device, i, info->c352_ch[i].vol_l); + state_save_register_device_item(device, i, info->c352_ch[i].vol_r); + state_save_register_device_item(device, i, info->c352_ch[i].vol_l2); + state_save_register_device_item(device, i, info->c352_ch[i].vol_r2); + state_save_register_device_item(device, i, info->c352_ch[i].bank); + state_save_register_device_item(device, i, info->c352_ch[i].noise); + state_save_register_device_item(device, i, info->c352_ch[i].noisebuf); + state_save_register_device_item(device, i, info->c352_ch[i].noisecnt); + state_save_register_device_item(device, i, info->c352_ch[i].pitch); + state_save_register_device_item(device, i, info->c352_ch[i].start_addr); + state_save_register_device_item(device, i, info->c352_ch[i].end_addr); + state_save_register_device_item(device, i, info->c352_ch[i].repeat_addr); + state_save_register_device_item(device, i, info->c352_ch[i].flag); + state_save_register_device_item(device, i, info->c352_ch[i].start); + state_save_register_device_item(device, i, info->c352_ch[i].repeat); + state_save_register_device_item(device, i, info->c352_ch[i].current_addr); + state_save_register_device_item(device, i, info->c352_ch[i].pos); } } @@ -541,14 +537,14 @@ static SND_START( c352 ) info = auto_malloc(sizeof(*info)); memset(info, 0, sizeof(*info)); - info->c352_rom_samples = memory_region(device->machine, tag); - info->c352_rom_length = memory_region_length(device->machine, tag); + info->c352_rom_samples = device->region; + info->c352_rom_length = device->regionbytes; info->sample_rate_base = clock / 192; info->stream = stream_create(0, 4, info->sample_rate_base, info, c352_update); - c352_init(info, tag); + c352_init(info, device); return info; } diff --git a/src/emu/sound/cdda.c b/src/emu/sound/cdda.c index 1fa210534e6..14122e22fd6 100644 --- a/src/emu/sound/cdda.c +++ b/src/emu/sound/cdda.c @@ -58,14 +58,14 @@ static SND_START( cdda ) info->stream = stream_create(0, 2, 44100, info, cdda_update); - state_save_register_item( "CDDA", tag, 0, info->audio_playing ); - state_save_register_item( "CDDA", tag, 0, info->audio_pause ); - state_save_register_item( "CDDA", tag, 0, info->audio_ended_normally ); - state_save_register_item( "CDDA", tag, 0, info->audio_lba ); - state_save_register_item( "CDDA", tag, 0, info->audio_length ); - state_save_register_item_pointer( "CDDA", tag, 0, info->audio_cache, CD_MAX_SECTOR_DATA * MAX_SECTORS ); - state_save_register_item( "CDDA", tag, 0, info->audio_samples ); - state_save_register_item( "CDDA", tag, 0, info->audio_bptr ); + state_save_register_device_item( device, 0, info->audio_playing ); + state_save_register_device_item( device, 0, info->audio_pause ); + state_save_register_device_item( device, 0, info->audio_ended_normally ); + state_save_register_device_item( device, 0, info->audio_lba ); + state_save_register_device_item( device, 0, info->audio_length ); + state_save_register_device_item_pointer( device, 0, info->audio_cache, CD_MAX_SECTOR_DATA * MAX_SECTORS ); + state_save_register_device_item( device, 0, info->audio_samples ); + state_save_register_device_item( device, 0, info->audio_bptr ); return info; } diff --git a/src/emu/sound/cem3394.c b/src/emu/sound/cem3394.c index 34851a66b0d..734c5475e66 100644 --- a/src/emu/sound/cem3394.c +++ b/src/emu/sound/cem3394.c @@ -108,7 +108,6 @@ typedef struct { sound_stream * stream; /* our stream */ - int index; void (*external)(int, int, short *);/* callback to generate external samples */ double vco_zero_freq; /* frequency of VCO at 0.0V */ double filter_zero_freq; /* frequency of filter at 0.0V */ @@ -132,6 +131,7 @@ typedef struct double inv_sample_rate; int sample_rate; + int index; INT16 *mixer_buffer; INT16 *external_buffer; @@ -338,18 +338,18 @@ static SND_START( cem3394 ) chip->mixer_buffer = auto_malloc(chip->sample_rate * sizeof(INT16)); chip->external_buffer = auto_malloc(chip->sample_rate * sizeof(INT16)); - state_save_register_item_array("cem3394", tag, 0, chip->values); - state_save_register_item("cem3394", tag, 0, chip->wave_select); - state_save_register_item("cem3394", tag, 0, chip->volume); - state_save_register_item("cem3394", tag, 0, chip->mixer_internal); - state_save_register_item("cem3394", tag, 0, chip->mixer_external); - state_save_register_item("cem3394", tag, 0, chip->position); - state_save_register_item("cem3394", tag, 0, chip->step); - state_save_register_item("cem3394", tag, 0, chip->filter_position); - state_save_register_item("cem3394", tag, 0, chip->filter_step); - state_save_register_item("cem3394", tag, 0, chip->modulation_depth); - state_save_register_item("cem3394", tag, 0, chip->last_ext); - state_save_register_item("cem3394", tag, 0, chip->pulse_width); + state_save_register_device_item_array(device, 0, chip->values); + state_save_register_device_item(device, 0, chip->wave_select); + state_save_register_device_item(device, 0, chip->volume); + state_save_register_device_item(device, 0, chip->mixer_internal); + state_save_register_device_item(device, 0, chip->mixer_external); + state_save_register_device_item(device, 0, chip->position); + state_save_register_device_item(device, 0, chip->step); + state_save_register_device_item(device, 0, chip->filter_position); + state_save_register_device_item(device, 0, chip->filter_step); + state_save_register_device_item(device, 0, chip->modulation_depth); + state_save_register_device_item(device, 0, chip->last_ext); + state_save_register_device_item(device, 0, chip->pulse_width); return chip; } diff --git a/src/emu/sound/dac.c b/src/emu/sound/dac.c index 5edd52fb165..117316e740d 100644 --- a/src/emu/sound/dac.c +++ b/src/emu/sound/dac.c @@ -111,7 +111,7 @@ static SND_START( dac ) info->channel = stream_create(0,1,clock ? clock : DEFAULT_SAMPLE_RATE,info,DAC_update); info->output = 0; - state_save_register_item("dac", tag, 0, info->output); + state_save_register_device_item(device, 0, info->output); return info; } diff --git a/src/emu/sound/discrete.c b/src/emu/sound/discrete.c index 64581f3a482..9b387973aa6 100644 --- a/src/emu/sound/discrete.c +++ b/src/emu/sound/discrete.c @@ -66,7 +66,7 @@ discrete_info *discrete_current_context = NULL; * *************************************/ -static void init_nodes(discrete_info *info, discrete_sound_block *block_list, const char *tag); +static void init_nodes(discrete_info *info, discrete_sound_block *block_list, const device_config *device); static void find_input_nodes(discrete_info *info, discrete_sound_block *block_list); static void setup_output_nodes(discrete_info *info); static void setup_disc_logs(discrete_info *info); @@ -308,7 +308,7 @@ static SND_START( discrete ) memset(info->indexed_node, 0, DISCRETE_MAX_NODES * sizeof(info->indexed_node[0])); /* initialize the node data */ - init_nodes(info, intf, tag); + init_nodes(info, intf, device); /* now go back and find pointers to all input nodes */ find_input_nodes(info, intf); @@ -518,7 +518,7 @@ static void discrete_stream_update(void *param, stream_sample_t **inputs, stream * *************************************/ -static void init_nodes(discrete_info *info, discrete_sound_block *block_list, const char *tag) +static void init_nodes(discrete_info *info, discrete_sound_block *block_list, const device_config *device) { int nodenum; @@ -627,7 +627,7 @@ static void init_nodes(discrete_info *info, discrete_sound_block *block_list, co } /* and register save state */ - state_save_register_item_array("discrete", tag, nodenum, node->output); + state_save_register_device_item_array(device, nodenum, node->output); } /* if no outputs, give an error */ diff --git a/src/emu/sound/dmadac.c b/src/emu/sound/dmadac.c index d6d8cabf490..e5a6fabbe0f 100644 --- a/src/emu/sound/dmadac.c +++ b/src/emu/sound/dmadac.c @@ -109,12 +109,12 @@ static SND_START( dmadac ) info->channel = stream_create(0, 1, DEFAULT_SAMPLE_RATE, info, dmadac_update); /* register with the save state system */ - state_save_register_item("dmadac", tag, 0, info->bufin); - state_save_register_item("dmadac", tag, 0, info->bufout); - state_save_register_item("dmadac", tag, 0, info->volume); - state_save_register_item("dmadac", tag, 0, info->enabled); - state_save_register_item("dmadac", tag, 0, info->frequency); - state_save_register_item_pointer("dmadac", tag, 0, info->buffer, BUFFER_SIZE); + state_save_register_device_item(device, 0, info->bufin); + state_save_register_device_item(device, 0, info->bufout); + state_save_register_device_item(device, 0, info->volume); + state_save_register_device_item(device, 0, info->enabled); + state_save_register_device_item(device, 0, info->frequency); + state_save_register_device_item_pointer(device, 0, info->buffer, BUFFER_SIZE); return info; } diff --git a/src/emu/sound/es5503.c b/src/emu/sound/es5503.c index 6d6a7c5eea7..0384f34514d 100644 --- a/src/emu/sound/es5503.c +++ b/src/emu/sound/es5503.c @@ -245,16 +245,16 @@ static SND_START( es5503 ) for (osc = 0; osc < 32; osc++) { - state_save_register_item("es5503", tag, osc, chip->oscillators[osc].freq); - state_save_register_item("es5503", tag, osc, chip->oscillators[osc].wtsize); - state_save_register_item("es5503", tag, osc, chip->oscillators[osc].control); - state_save_register_item("es5503", tag, osc, chip->oscillators[osc].vol); - state_save_register_item("es5503", tag, osc, chip->oscillators[osc].data); - state_save_register_item("es5503", tag, osc, chip->oscillators[osc].wavetblpointer); - state_save_register_item("es5503", tag, osc, chip->oscillators[osc].wavetblsize); - state_save_register_item("es5503", tag, osc, chip->oscillators[osc].resolution); - state_save_register_item("es5503", tag, osc, chip->oscillators[osc].accumulator); - state_save_register_item("es5503", tag, osc, chip->oscillators[osc].irqpend); + state_save_register_device_item(device, osc, chip->oscillators[osc].freq); + state_save_register_device_item(device, osc, chip->oscillators[osc].wtsize); + state_save_register_device_item(device, osc, chip->oscillators[osc].control); + state_save_register_device_item(device, osc, chip->oscillators[osc].vol); + state_save_register_device_item(device, osc, chip->oscillators[osc].data); + state_save_register_device_item(device, osc, chip->oscillators[osc].wavetblpointer); + state_save_register_device_item(device, osc, chip->oscillators[osc].wavetblsize); + state_save_register_device_item(device, osc, chip->oscillators[osc].resolution); + state_save_register_device_item(device, osc, chip->oscillators[osc].accumulator); + state_save_register_device_item(device, osc, chip->oscillators[osc].irqpend); chip->oscillators[osc].data = 0x80; chip->oscillators[osc].irqpend = 0; diff --git a/src/emu/sound/es5506.c b/src/emu/sound/es5506.c index 385095ebfe7..0889039935a 100644 --- a/src/emu/sound/es5506.c +++ b/src/emu/sound/es5506.c @@ -820,7 +820,7 @@ static void es5506_update(void *param, stream_sample_t **inputs, stream_sample_t ***********************************************************************************************/ -static void *es5506_start_common(const device_config *device, const char *tag, int sndindex, int clock, const void *config, sound_type sndtype) +static void *es5506_start_common(const device_config *device, int sndindex, int clock, const void *config, sound_type sndtype) { const es5506_interface *intf = config; struct ES5506Chip *chip; @@ -874,7 +874,7 @@ static void *es5506_start_common(const device_config *device, const char *tag, i static SND_START( es5506 ) { - return es5506_start_common(device, tag, sndindex, clock, config, SOUND_ES5506); + return es5506_start_common(device, sndindex, clock, config, SOUND_ES5506); } @@ -1511,7 +1511,7 @@ static SND_START( es5505 ) es5506intf.irq_callback = intf->irq_callback; es5506intf.read_port = intf->read_port; - return es5506_start_common(device, tag, sndindex, clock, &es5506intf, SOUND_ES5505); + return es5506_start_common(device, sndindex, clock, &es5506intf, SOUND_ES5505); } diff --git a/src/emu/sound/es8712.c b/src/emu/sound/es8712.c index aeda7c92d25..9f590d90038 100644 --- a/src/emu/sound/es8712.c +++ b/src/emu/sound/es8712.c @@ -182,21 +182,21 @@ static void es8712_update(void *param, stream_sample_t **inputs, stream_sample_t ***********************************************************************************************/ -static void es8712_state_save_register(struct es8712 *chip, const char *tag) +static void es8712_state_save_register(struct es8712 *chip, const device_config *device) { - state_save_register_item("es8712", tag, 0, chip->bank_offset); + state_save_register_device_item(device, 0, chip->bank_offset); - state_save_register_item("es8712", tag, 0, chip->playing); - state_save_register_item("es8712", tag, 0, chip->sample); - state_save_register_item("es8712", tag, 0, chip->count); - state_save_register_item("es8712", tag, 0, chip->signal); - state_save_register_item("es8712", tag, 0, chip->step); + state_save_register_device_item(device, 0, chip->playing); + state_save_register_device_item(device, 0, chip->sample); + state_save_register_device_item(device, 0, chip->count); + state_save_register_device_item(device, 0, chip->signal); + state_save_register_device_item(device, 0, chip->step); - state_save_register_item("es8712", tag, 0, chip->base_offset); + state_save_register_device_item(device, 0, chip->base_offset); - state_save_register_item("es8712", tag, 0, chip->start); - state_save_register_item("es8712", tag, 0, chip->end); - state_save_register_item("es8712", tag, 0, chip->repeat); + state_save_register_device_item(device, 0, chip->start); + state_save_register_device_item(device, 0, chip->end); + state_save_register_device_item(device, 0, chip->repeat); } @@ -221,7 +221,7 @@ static SND_START( es8712 ) chip->repeat = 0; chip->bank_offset = 0; - chip->region_base = memory_region(device->machine, tag); + chip->region_base = device->region; /* generate the name and create the stream */ chip->stream = stream_create(0, 1, clock, chip, es8712_update); @@ -229,7 +229,7 @@ static SND_START( es8712 ) /* initialize the rest of the structure */ chip->signal = -2; - es8712_state_save_register(chip, tag); + es8712_state_save_register(chip, device); /* success */ return chip; diff --git a/src/emu/sound/fm.c b/src/emu/sound/fm.c index 8f91ad03874..3ce931e2889 100644 --- a/src/emu/sound/fm.c +++ b/src/emu/sound/fm.c @@ -1847,43 +1847,43 @@ INLINE void CSMKeyControll(UINT8 type, FM_CH *CH) #ifdef __STATE_H__ /* FM channel save , internal state only */ -static void FMsave_state_channel(const char *name,const char *tag,FM_CH *CH,int num_ch) +static void FMsave_state_channel(const device_config *device,FM_CH *CH,int num_ch) { int slot , ch; for(ch=0;chop1_out); - state_save_register_item(name, tag, ch, CH->fc); + state_save_register_device_item_array(device, ch, CH->op1_out); + state_save_register_device_item(device, ch, CH->fc); /* slots */ for(slot=0;slot<4;slot++) { FM_SLOT *SLOT = &CH->SLOT[slot]; - state_save_register_item(name, tag, ch * 4 + slot, SLOT->phase); - state_save_register_item(name, tag, ch * 4 + slot, SLOT->state); - state_save_register_item(name, tag, ch * 4 + slot, SLOT->volume); + state_save_register_device_item(device, ch * 4 + slot, SLOT->phase); + state_save_register_device_item(device, ch * 4 + slot, SLOT->state); + state_save_register_device_item(device, ch * 4 + slot, SLOT->volume); } } } -static void FMsave_state_st(const char *state_name,const char *tag,FM_ST *ST) +static void FMsave_state_st(const device_config *device,FM_ST *ST) { #if FM_BUSY_FLAG_SUPPORT - state_save_register_item(state_name, tag, 0, ST->busy_expiry_time.seconds ); - state_save_register_item(state_name, tag, 0, ST->busy_expiry_time.attoseconds ); + state_save_register_device_item(device, 0, ST->busy_expiry_time.seconds ); + state_save_register_device_item(device, 0, ST->busy_expiry_time.attoseconds ); #endif - state_save_register_item(state_name, tag, 0, ST->address ); - state_save_register_item(state_name, tag, 0, ST->irq ); - state_save_register_item(state_name, tag, 0, ST->irqmask ); - state_save_register_item(state_name, tag, 0, ST->status ); - state_save_register_item(state_name, tag, 0, ST->mode ); - state_save_register_item(state_name, tag, 0, ST->prescaler_sel ); - state_save_register_item(state_name, tag, 0, ST->fn_h ); - state_save_register_item(state_name, tag, 0, ST->TA ); - state_save_register_item(state_name, tag, 0, ST->TAC ); - state_save_register_item(state_name, tag, 0, ST->TB ); - state_save_register_item(state_name, tag, 0, ST->TBC ); + state_save_register_device_item(device, 0, ST->address ); + state_save_register_device_item(device, 0, ST->irq ); + state_save_register_device_item(device, 0, ST->irqmask ); + state_save_register_device_item(device, 0, ST->status ); + state_save_register_device_item(device, 0, ST->mode ); + state_save_register_device_item(device, 0, ST->prescaler_sel ); + state_save_register_device_item(device, 0, ST->fn_h ); + state_save_register_device_item(device, 0, ST->TA ); + state_save_register_device_item(device, 0, ST->TAC ); + state_save_register_device_item(device, 0, ST->TB ); + state_save_register_device_item(device, 0, ST->TBC ); } #endif /* _STATE_H */ @@ -2402,15 +2402,15 @@ void ym2203_postload(void *chip) } } -static void YM2203_save_state(YM2203 *F2203, const char *tag) +static void YM2203_save_state(YM2203 *F2203, const device_config *device) { - state_save_register_item_array("ym2203", tag, 0, F2203->REGS); - FMsave_state_st("ym2203",tag,&F2203->OPN.ST); - FMsave_state_channel("ym2203",tag,F2203->CH,3); + state_save_register_device_item_array(device, 0, F2203->REGS); + FMsave_state_st(device,&F2203->OPN.ST); + FMsave_state_channel(device,F2203->CH,3); /* 3slots */ - state_save_register_item_array ("ym2203", tag, 0, F2203->OPN.SL3.fc); - state_save_register_item ("ym2203", tag, 0, F2203->OPN.SL3.fn_h); - state_save_register_item_array ("ym2203", tag, 0, F2203->OPN.SL3.kcode); + state_save_register_device_item_array (device, 0, F2203->OPN.SL3.fc); + state_save_register_device_item (device, 0, F2203->OPN.SL3.fn_h); + state_save_register_device_item_array (device, 0, F2203->OPN.SL3.kcode); } #endif /* _STATE_H */ @@ -2419,7 +2419,7 @@ static void YM2203_save_state(YM2203 *F2203, const char *tag) 'clock' is the chip clock in Hz 'rate' is sampling rate */ -void * ym2203_init(void *param, const char *tag, int clock, int rate, +void * ym2203_init(void *param, const device_config *device, int clock, int rate, FM_TIMERHANDLER timer_handler,FM_IRQHANDLER IRQHandler, const ssg_callbacks *ssg) { YM2203 *F2203; @@ -2448,7 +2448,7 @@ void * ym2203_init(void *param, const char *tag, int clock, int rate, ym2203_reset_chip(F2203); #ifdef __STATE_H__ - YM2203_save_state(F2203, tag); + YM2203_save_state(F2203, device); #endif return F2203; } @@ -2813,19 +2813,19 @@ static void FM_ADPCMAWrite(YM2610 *F2610,int r,int v) #ifdef __STATE_H__ /* FM channel save , internal state only */ -static void FMsave_state_adpcma(const char *name,const char *tag,ADPCM_CH *adpcm) +static void FMsave_state_adpcma(const device_config *device,ADPCM_CH *adpcm) { int ch; for(ch=0;ch<6;ch++,adpcm++) { - state_save_register_item(name, tag, ch, adpcm->flag); - state_save_register_item(name, tag, ch, adpcm->now_data); - state_save_register_item(name, tag, ch, adpcm->now_addr); - state_save_register_item(name, tag, ch, adpcm->now_step); - state_save_register_item(name, tag, ch, adpcm->adpcm_acc); - state_save_register_item(name, tag, ch, adpcm->adpcm_step); - state_save_register_item(name, tag, ch, adpcm->adpcm_out); + state_save_register_device_item(device, ch, adpcm->flag); + state_save_register_device_item(device, ch, adpcm->now_data); + state_save_register_device_item(device, ch, adpcm->now_addr); + state_save_register_device_item(device, ch, adpcm->now_step); + state_save_register_device_item(device, ch, adpcm->adpcm_acc); + state_save_register_device_item(device, ch, adpcm->adpcm_step); + state_save_register_device_item(device, ch, adpcm->adpcm_out); } } #endif /* _STATE_H */ @@ -3612,21 +3612,21 @@ void ym2608_postload(void *chip) } } -static void YM2608_save_state(YM2608 *F2608, const char *tag) +static void YM2608_save_state(YM2608 *F2608, const device_config *device) { - state_save_register_item_array("ym2608", tag, 0, F2608->REGS); - FMsave_state_st("ym2608",tag,&F2608->OPN.ST); - FMsave_state_channel("ym2608",tag,F2608->CH,6); + state_save_register_device_item_array(device, 0, F2608->REGS); + FMsave_state_st(device,&F2608->OPN.ST); + FMsave_state_channel(device,F2608->CH,6); /* 3slots */ - state_save_register_item_array("ym2608", tag, 0, F2608->OPN.SL3.fc); - state_save_register_item("ym2608", tag, 0, F2608->OPN.SL3.fn_h); - state_save_register_item_array("ym2608", tag, 0, F2608->OPN.SL3.kcode); + state_save_register_device_item_array(device, 0, F2608->OPN.SL3.fc); + state_save_register_device_item(device, 0, F2608->OPN.SL3.fn_h); + state_save_register_device_item_array(device, 0, F2608->OPN.SL3.kcode); /* address register1 */ - state_save_register_item("ym2608", tag, 0, F2608->addr_A1); + state_save_register_device_item(device, 0, F2608->addr_A1); /* rythm(ADPCMA) */ - FMsave_state_adpcma("ym2608",tag,F2608->adpcm); + FMsave_state_adpcma(device,F2608->adpcm); /* Delta-T ADPCM unit */ - YM_DELTAT_savestate("ym2608",tag,&F2608->deltaT); + YM_DELTAT_savestate(device,&F2608->deltaT); } #endif /* _STATE_H */ @@ -3641,7 +3641,7 @@ static void YM2608_deltat_status_reset(void *chip, UINT8 changebits) FM_STATUS_RESET(&(F2608->OPN.ST), changebits); } /* YM2608(OPNA) */ -void * ym2608_init(void *param, const char *tag, int clock, int rate, +void * ym2608_init(void *param, const device_config *device, int clock, int rate, void *pcmrom,int pcmsize, FM_TIMERHANDLER timer_handler,FM_IRQHANDLER IRQHandler, const ssg_callbacks *ssg) { @@ -3693,7 +3693,7 @@ void * ym2608_init(void *param, const char *tag, int clock, int rate, Init_ADPCMATable(); #ifdef __STATE_H__ - YM2608_save_state(F2608, tag); + YM2608_save_state(F2608, device); #endif return F2608; } @@ -4295,23 +4295,23 @@ void ym2610_postload(void *chip) } } -static void YM2610_save_state(YM2610 *F2610, const char *tag) +static void YM2610_save_state(YM2610 *F2610, const device_config *device) { - state_save_register_item_array("ym2610", tag, 0, F2610->REGS); - FMsave_state_st("ym2610",tag,&F2610->OPN.ST); - FMsave_state_channel("ym2610",tag,F2610->CH,6); + state_save_register_device_item_array(device, 0, F2610->REGS); + FMsave_state_st(device,&F2610->OPN.ST); + FMsave_state_channel(device,F2610->CH,6); /* 3slots */ - state_save_register_item_array("ym2610", tag, 0, F2610->OPN.SL3.fc); - state_save_register_item("ym2610", tag, 0, F2610->OPN.SL3.fn_h); - state_save_register_item_array("ym2610", tag, 0, F2610->OPN.SL3.kcode); + state_save_register_device_item_array(device, 0, F2610->OPN.SL3.fc); + state_save_register_device_item(device, 0, F2610->OPN.SL3.fn_h); + state_save_register_device_item_array(device, 0, F2610->OPN.SL3.kcode); /* address register1 */ - state_save_register_item("ym2610", tag, 0, F2610->addr_A1); + state_save_register_device_item(device, 0, F2610->addr_A1); - state_save_register_item("ym2610", tag, 0, F2610->adpcm_arrivedEndAddress); + state_save_register_device_item(device, 0, F2610->adpcm_arrivedEndAddress); /* rythm(ADPCMA) */ - FMsave_state_adpcma("ym2610",tag,F2610->adpcm); + FMsave_state_adpcma(device,F2610->adpcm); /* Delta-T ADPCM unit */ - YM_DELTAT_savestate("ym2610",tag,&F2610->deltaT); + YM_DELTAT_savestate(device,&F2610->deltaT); } #endif /* _STATE_H */ @@ -4326,7 +4326,7 @@ static void YM2610_deltat_status_reset(void *chip, UINT8 changebits) F2610->adpcm_arrivedEndAddress &= (~changebits); } -void *ym2610_init(void *param, const char *tag, int clock, int rate, +void *ym2610_init(void *param, const device_config *device, int clock, int rate, void *pcmroma,int pcmsizea,void *pcmromb,int pcmsizeb, FM_TIMERHANDLER timer_handler,FM_IRQHANDLER IRQHandler, const ssg_callbacks *ssg) @@ -4371,7 +4371,7 @@ void *ym2610_init(void *param, const char *tag, int clock, int rate, Init_ADPCMATable(); #ifdef __STATE_H__ - YM2610_save_state(F2610, tag); + YM2610_save_state(F2610, device); #endif return F2610; } @@ -4778,22 +4778,22 @@ void ym2612_postload(void *chip) } } -static void YM2612_save_state(YM2612 *F2612, const char *tag) +static void YM2612_save_state(YM2612 *F2612, const device_config *device) { - state_save_register_item_array("ym2612", tag, 0, F2612->REGS); - FMsave_state_st("ym2612",tag,&F2612->OPN.ST); - FMsave_state_channel("ym2612",tag,F2612->CH,6); + state_save_register_device_item_array(device, 0, F2612->REGS); + FMsave_state_st(device,&F2612->OPN.ST); + FMsave_state_channel(device,F2612->CH,6); /* 3slots */ - state_save_register_item_array("ym2612", tag, 0, F2612->OPN.SL3.fc); - state_save_register_item("ym2612", tag, 0, F2612->OPN.SL3.fn_h); - state_save_register_item_array("ym2612", tag, 0, F2612->OPN.SL3.kcode); + state_save_register_device_item_array(device, 0, F2612->OPN.SL3.fc); + state_save_register_device_item(device, 0, F2612->OPN.SL3.fn_h); + state_save_register_device_item_array(device, 0, F2612->OPN.SL3.kcode); /* address register1 */ - state_save_register_item("ym2612", tag, 0, F2612->addr_A1); + state_save_register_device_item(device, 0, F2612->addr_A1); } #endif /* _STATE_H */ /* initialize YM2612 emulator(s) */ -void * ym2612_init(void *param, const char *tag, int clock, int rate, +void * ym2612_init(void *param, const device_config *device, int clock, int rate, FM_TIMERHANDLER timer_handler,FM_IRQHANDLER IRQHandler) { YM2612 *F2612; @@ -4823,7 +4823,7 @@ void * ym2612_init(void *param, const char *tag, int clock, int rate, ym2612_reset_chip(F2612); #ifdef __STATE_H__ - YM2612_save_state(F2612, tag); + YM2612_save_state(F2612, device); #endif return F2612; } diff --git a/src/emu/sound/fm.h b/src/emu/sound/fm.h index fabf469f766..8c05a7cf603 100644 --- a/src/emu/sound/fm.h +++ b/src/emu/sound/fm.h @@ -127,7 +127,7 @@ typedef void (*FM_IRQHANDLER)(void *param,int irq); ** 'IRQHandler' IRQ callback handler when changed IRQ level ** return 0 = success */ -void * ym2203_init(void *param, const char *tag, int baseclock, int rate, +void * ym2203_init(void *param, const device_config *device, int baseclock, int rate, FM_TIMERHANDLER TimerHandler,FM_IRQHANDLER IRQHandler, const ssg_callbacks *ssg); /* @@ -170,7 +170,7 @@ void ym2203_postload(void *chip); #if BUILD_YM2608 /* -------------------- YM2608(OPNA) Interface -------------------- */ -void * ym2608_init(void *param, const char *tag, int baseclock, int rate, +void * ym2608_init(void *param, const device_config *device, int baseclock, int rate, void *pcmroma,int pcmsizea, FM_TIMERHANDLER TimerHandler,FM_IRQHANDLER IRQHandler, const ssg_callbacks *ssg); void ym2608_shutdown(void *chip); @@ -185,7 +185,7 @@ void ym2608_postload(void *chip); #if (BUILD_YM2610||BUILD_YM2610B) /* -------------------- YM2610(OPNB) Interface -------------------- */ -void * ym2610_init(void *param, const char *tag, int baseclock, int rate, +void * ym2610_init(void *param, const device_config *device, int baseclock, int rate, void *pcmroma,int pcmasize,void *pcmromb,int pcmbsize, FM_TIMERHANDLER TimerHandler,FM_IRQHANDLER IRQHandler, const ssg_callbacks *ssg); void ym2610_shutdown(void *chip); @@ -203,7 +203,7 @@ void ym2610_postload(void *chip); #endif /* (BUILD_YM2610||BUILD_YM2610B) */ #if (BUILD_YM2612||BUILD_YM3438) -void * ym2612_init(void *param, const char *tag, int baseclock, int rate, +void * ym2612_init(void *param, const device_config *device, int baseclock, int rate, FM_TIMERHANDLER TimerHandler,FM_IRQHANDLER IRQHandler); void ym2612_shutdown(void *chip); void ym2612_reset_chip(void *chip); diff --git a/src/emu/sound/fmopl.c b/src/emu/sound/fmopl.c index aa51e942ddb..73cc7e228a1 100644 --- a/src/emu/sound/fmopl.c +++ b/src/emu/sound/fmopl.c @@ -1872,43 +1872,43 @@ static STATE_POSTLOAD( OPL_postload ) } -static void OPLsave_state_channel(const char *name, const char *tag, OPL_CH *CH) +static void OPLsave_state_channel(const device_config *device, OPL_CH *CH) { int slot, ch; for( ch=0 ; ch < 9 ; ch++, CH++ ) { /* channel */ - state_save_register_item(name, tag, ch, CH->block_fnum); - state_save_register_item(name, tag, ch, CH->kcode); + state_save_register_device_item(device, ch, CH->block_fnum); + state_save_register_device_item(device, ch, CH->kcode); /* slots */ for( slot=0 ; slot < 2 ; slot++ ) { OPL_SLOT *SLOT = &CH->SLOT[slot]; - state_save_register_item(name, tag, ch * 2 + slot, SLOT->ar); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->dr); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->rr); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->KSR); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->ksl); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->mul); + state_save_register_device_item(device, ch * 2 + slot, SLOT->ar); + state_save_register_device_item(device, ch * 2 + slot, SLOT->dr); + state_save_register_device_item(device, ch * 2 + slot, SLOT->rr); + state_save_register_device_item(device, ch * 2 + slot, SLOT->KSR); + state_save_register_device_item(device, ch * 2 + slot, SLOT->ksl); + state_save_register_device_item(device, ch * 2 + slot, SLOT->mul); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->Cnt); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->FB); - state_save_register_item_array(name, tag, ch * 2 + slot, SLOT->op1_out); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->CON); + state_save_register_device_item(device, ch * 2 + slot, SLOT->Cnt); + state_save_register_device_item(device, ch * 2 + slot, SLOT->FB); + state_save_register_device_item_array(device, ch * 2 + slot, SLOT->op1_out); + state_save_register_device_item(device, ch * 2 + slot, SLOT->CON); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->eg_type); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->state); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->TL); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->volume); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->sl); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->key); + state_save_register_device_item(device, ch * 2 + slot, SLOT->eg_type); + state_save_register_device_item(device, ch * 2 + slot, SLOT->state); + state_save_register_device_item(device, ch * 2 + slot, SLOT->TL); + state_save_register_device_item(device, ch * 2 + slot, SLOT->volume); + state_save_register_device_item(device, ch * 2 + slot, SLOT->sl); + state_save_register_device_item(device, ch * 2 + slot, SLOT->key); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->AMmask); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->vib); + state_save_register_device_item(device, ch * 2 + slot, SLOT->AMmask); + state_save_register_device_item(device, ch * 2 + slot, SLOT->vib); - state_save_register_item(name, tag, ch * 2 + slot, SLOT->wavetable); + state_save_register_device_item(device, ch * 2 + slot, SLOT->wavetable); } } } @@ -1916,50 +1916,50 @@ static void OPLsave_state_channel(const char *name, const char *tag, OPL_CH *CH) /* Register savestate for a virtual YM3812/YM3526Y8950 */ -static void OPL_save_state(FM_OPL *OPL, const char *statename, const char *tag) +static void OPL_save_state(FM_OPL *OPL, const device_config *device) { - OPLsave_state_channel(statename, tag, OPL->P_CH); + OPLsave_state_channel(device, OPL->P_CH); - state_save_register_item(statename, tag, 0, OPL->eg_cnt); - state_save_register_item(statename, tag, 0, OPL->eg_timer); + state_save_register_device_item(device, 0, OPL->eg_cnt); + state_save_register_device_item(device, 0, OPL->eg_timer); - state_save_register_item(statename, tag, 0, OPL->rhythm); + state_save_register_device_item(device, 0, OPL->rhythm); - state_save_register_item(statename, tag, 0, OPL->lfo_am_depth); - state_save_register_item(statename, tag, 0, OPL->lfo_pm_depth_range); - state_save_register_item(statename, tag, 0, OPL->lfo_am_cnt); - state_save_register_item(statename, tag, 0, OPL->lfo_pm_cnt); + state_save_register_device_item(device, 0, OPL->lfo_am_depth); + state_save_register_device_item(device, 0, OPL->lfo_pm_depth_range); + state_save_register_device_item(device, 0, OPL->lfo_am_cnt); + state_save_register_device_item(device, 0, OPL->lfo_pm_cnt); - state_save_register_item(statename, tag, 0, OPL->noise_rng); - state_save_register_item(statename, tag, 0, OPL->noise_p); + state_save_register_device_item(device, 0, OPL->noise_rng); + state_save_register_device_item(device, 0, OPL->noise_p); if( OPL->type & OPL_TYPE_WAVESEL ) { - state_save_register_item(statename, tag, 0, OPL->wavesel); + state_save_register_device_item(device, 0, OPL->wavesel); } - state_save_register_item_array(statename, tag, 0, OPL->T); - state_save_register_item_array(statename, tag, 0, OPL->st); + state_save_register_device_item_array(device, 0, OPL->T); + state_save_register_device_item_array(device, 0, OPL->st); #if BUILD_Y8950 if ( (OPL->type & OPL_TYPE_ADPCM) && (OPL->deltat) ) { - YM_DELTAT_savestate(statename, tag, OPL->deltat); + YM_DELTAT_savestate(device, OPL->deltat); } if ( OPL->type & OPL_TYPE_IO ) { - state_save_register_item(statename, tag, 0, OPL->portDirection); - state_save_register_item(statename, tag, 0, OPL->portLatch); + state_save_register_device_item(device, 0, OPL->portDirection); + state_save_register_device_item(device, 0, OPL->portLatch); } #endif - state_save_register_item(statename, tag, 0, OPL->address); - state_save_register_item(statename, tag, 0, OPL->status); - state_save_register_item(statename, tag, 0, OPL->statusmask); - state_save_register_item(statename, tag, 0, OPL->mode); + state_save_register_device_item(device, 0, OPL->address); + state_save_register_device_item(device, 0, OPL->status); + state_save_register_device_item(device, 0, OPL->statusmask); + state_save_register_device_item(device, 0, OPL->mode); - state_save_register_postload(Machine, OPL_postload, OPL); + state_save_register_postload(device->machine, OPL_postload, OPL); } @@ -2159,13 +2159,13 @@ static int OPLTimerOver(FM_OPL *OPL,int c) #if (BUILD_YM3812) -void * ym3812_init(const char *tag, UINT32 clock, UINT32 rate) +void * ym3812_init(const device_config *device, UINT32 clock, UINT32 rate) { /* emulator create */ FM_OPL *YM3812 = OPLCreate(OPL_TYPE_YM3812,clock,rate); if (YM3812) { - OPL_save_state(YM3812, "YM3812", tag); + OPL_save_state(YM3812, device); ym3812_reset_chip(YM3812); } return YM3812; @@ -2295,13 +2295,13 @@ void ym3812_update_one(void *chip, OPLSAMPLE *buffer, int length) #if (BUILD_YM3526) -void *ym3526_init(const char *tag, UINT32 clock, UINT32 rate) +void *ym3526_init(const device_config *device, UINT32 clock, UINT32 rate) { /* emulator create */ FM_OPL *YM3526 = OPLCreate(OPL_TYPE_YM3526,clock,rate); if (YM3526) { - OPL_save_state(YM3526, "YM3526", tag); + OPL_save_state(YM3526, device); ym3526_reset_chip(YM3526); } return YM3526; @@ -2442,7 +2442,7 @@ static void Y8950_deltat_status_reset(void *chip, UINT8 changebits) OPL_STATUS_RESET(Y8950, changebits); } -void *y8950_init(const char *tag, UINT32 clock, UINT32 rate) +void *y8950_init(const device_config *device, UINT32 clock, UINT32 rate) { /* emulator create */ FM_OPL *Y8950 = OPLCreate(OPL_TYPE_Y8950,clock,rate); @@ -2457,7 +2457,7 @@ void *y8950_init(const char *tag, UINT32 clock, UINT32 rate) /*Y8950->deltat->write_time = 10.0 / clock;*/ /* a single byte write takes 10 cycles of main clock */ /*Y8950->deltat->read_time = 8.0 / clock;*/ /* a single byte read takes 8 cycles of main clock */ /* reset */ - OPL_save_state(Y8950, "Y8950", tag); + OPL_save_state(Y8950, device); y8950_reset_chip(Y8950); } diff --git a/src/emu/sound/fmopl.h b/src/emu/sound/fmopl.h index 777ecb7ecaf..a20625494fc 100644 --- a/src/emu/sound/fmopl.h +++ b/src/emu/sound/fmopl.h @@ -41,7 +41,7 @@ typedef unsigned char (*OPL_PORTHANDLER_R)(void *param); #if BUILD_YM3812 -void *ym3812_init(const char *tag, UINT32 clock, UINT32 rate); +void *ym3812_init(const device_config *device, UINT32 clock, UINT32 rate); void ym3812_shutdown(void *chip); void ym3812_reset_chip(void *chip); int ym3812_write(void *chip, int a, int v); @@ -65,7 +65,7 @@ void ym3812_set_update_handler(void *chip, OPL_UPDATEHANDLER UpdateHandler, void ** 'clock' is the chip clock in Hz ** 'rate' is sampling rate */ -void *ym3526_init(const char *tag, UINT32 clock, UINT32 rate); +void *ym3526_init(const device_config *device, UINT32 clock, UINT32 rate); /* shutdown the YM3526 emulators*/ void ym3526_shutdown(void *chip); void ym3526_reset_chip(void *chip); @@ -95,7 +95,7 @@ void y8950_set_port_handler(void *chip, OPL_PORTHANDLER_W PortHandler_w, OPL_POR void y8950_set_keyboard_handler(void *chip, OPL_PORTHANDLER_W KeyboardHandler_w, OPL_PORTHANDLER_R KeyboardHandler_r, void *param); void y8950_set_delta_t_memory(void *chip, void * deltat_mem_ptr, int deltat_mem_size ); -void * y8950_init(const char *tag, UINT32 clock, UINT32 rate); +void * y8950_init(const device_config *device, UINT32 clock, UINT32 rate); void y8950_shutdown(void *chip); void y8950_reset_chip(void *chip); int y8950_write(void *chip, int a, int v); diff --git a/src/emu/sound/gaelco.c b/src/emu/sound/gaelco.c index f61eed2fd94..b6882efe361 100644 --- a/src/emu/sound/gaelco.c +++ b/src/emu/sound/gaelco.c @@ -243,7 +243,7 @@ WRITE16_HANDLER( gaelcosnd_w ) CG-1V/GAE1 Init ============================================================================*/ -static void *gaelcosnd_start(sound_type sndtype, const char *tag, int sndindex, int clock, const void *config) +static void *gaelcosnd_start(sound_type sndtype, const device_config *device, int clock, const void *config) { int j, vol; const gaelcosnd_interface *intf = config; @@ -259,9 +259,9 @@ static void *gaelcosnd_start(sound_type sndtype, const char *tag, int sndindex, info->banks[j] = intf->banks[j]; } info->stream = stream_create(0, 2, 8000, info, gaelco_update); - info->snd_data = (UINT8 *)memory_region(Machine, intf->gfxregion); + info->snd_data = (UINT8 *)memory_region(device->machine, intf->gfxregion); if (info->snd_data == NULL) - info->snd_data = (UINT8 *)memory_region(Machine, tag); + info->snd_data = device->region; /* init volume table */ for (vol = 0; vol < VOLUME_LEVELS; vol++){ @@ -278,12 +278,12 @@ static void *gaelcosnd_start(sound_type sndtype, const char *tag, int sndindex, static SND_START( gaelco_gae1 ) { - return gaelcosnd_start(SOUND_GAELCO_GAE1, tag, sndindex, clock, config); + return gaelcosnd_start(SOUND_GAELCO_GAE1, device, clock, config); } static SND_START( gaelco_cg1v ) { - return gaelcosnd_start(SOUND_GAELCO_CG1V, tag, sndindex, clock, config); + return gaelcosnd_start(SOUND_GAELCO_CG1V, device, clock, config); } diff --git a/src/emu/sound/hc55516.c b/src/emu/sound/hc55516.c index d614ce35d8a..4368e453af1 100644 --- a/src/emu/sound/hc55516.c +++ b/src/emu/sound/hc55516.c @@ -52,7 +52,7 @@ static void hc55516_update(void *param, stream_sample_t **inputs, stream_sample_ -static void *start_common(const char *tag, int clock, const void *config, +static void *start_common(const device_config *device, int clock, UINT8 _shiftreg_mask, int _active_clock_hi) { struct hc55516_data *chip; @@ -74,15 +74,15 @@ static void *start_common(const char *tag, int clock, const void *config, /* create the stream */ chip->channel = stream_create(0, 1, SAMPLE_RATE, chip, hc55516_update); - state_save_register_item("hc55516", tag, 0, chip->last_clock_state); - state_save_register_item("hc55516", tag, 0, chip->digit); - state_save_register_item("hc55516", tag, 0, chip->new_digit); - state_save_register_item("hc55516", tag, 0, chip->shiftreg); - state_save_register_item("hc55516", tag, 0, chip->curr_sample); - state_save_register_item("hc55516", tag, 0, chip->next_sample); - state_save_register_item("hc55516", tag, 0, chip->update_count); - state_save_register_item("hc55516", tag, 0, chip->filter); - state_save_register_item("hc55516", tag, 0, chip->integrator); + state_save_register_device_item(device, 0, chip->last_clock_state); + state_save_register_device_item(device, 0, chip->digit); + state_save_register_device_item(device, 0, chip->new_digit); + state_save_register_device_item(device, 0, chip->shiftreg); + state_save_register_device_item(device, 0, chip->curr_sample); + state_save_register_device_item(device, 0, chip->next_sample); + state_save_register_device_item(device, 0, chip->update_count); + state_save_register_device_item(device, 0, chip->filter); + state_save_register_device_item(device, 0, chip->integrator); /* success */ return chip; @@ -91,19 +91,19 @@ static void *start_common(const char *tag, int clock, const void *config, static SND_START( hc55516 ) { - return start_common(tag, clock, config, 0x07, TRUE); + return start_common(device, clock, 0x07, TRUE); } static SND_START( mc3417 ) { - return start_common(tag, clock, config, 0x07, FALSE); + return start_common(device, clock, 0x07, FALSE); } static SND_START( mc3418 ) { - return start_common(tag, clock, config, 0x0f, FALSE); + return start_common(device, clock, 0x0f, FALSE); } diff --git a/src/emu/sound/ics2115.c b/src/emu/sound/ics2115.c index 107f7a40f88..481aa9aca65 100644 --- a/src/emu/sound/ics2115.c +++ b/src/emu/sound/ics2115.c @@ -450,9 +450,9 @@ static SND_START( ics2115 ) chip->intf = config; chip->index = sndindex; - chip->rom = memory_region(device->machine, tag); - chip->timer[0].timer = timer_alloc(Machine, timer_cb_0, chip); - chip->timer[1].timer = timer_alloc(Machine, timer_cb_1, chip); + chip->rom = device->region; + chip->timer[0].timer = timer_alloc(device->machine, timer_cb_0, chip); + chip->timer[1].timer = timer_alloc(device->machine, timer_cb_1, chip); chip->ulaw = auto_malloc(256*sizeof(INT16)); chip->stream = stream_create(0, 2, 33075, chip, update); diff --git a/src/emu/sound/iremga20.c b/src/emu/sound/iremga20.c index 10085a62d63..102c6abaa25 100644 --- a/src/emu/sound/iremga20.c +++ b/src/emu/sound/iremga20.c @@ -238,8 +238,8 @@ static SND_START( iremga20 ) memset(chip, 0, sizeof(*chip)); /* Initialize our chip structure */ - chip->rom = memory_region(device->machine, tag); - chip->rom_size = memory_region_length(device->machine, tag); + chip->rom = device->region; + chip->rom_size = device->regionbytes; iremga20_reset(chip); @@ -248,18 +248,18 @@ static SND_START( iremga20 ) chip->stream = stream_create( 0, 2, clock/4, chip, IremGA20_update ); - state_save_register_item_array("irem_ga20", tag, sndindex, chip->regs); + state_save_register_device_item_array(device, sndindex, chip->regs); for (i = 0; i < 4; i++) { - state_save_register_item("irem_ga20", tag, i, chip->channel[i].rate); - state_save_register_item("irem_ga20", tag, i, chip->channel[i].size); - state_save_register_item("irem_ga20", tag, i, chip->channel[i].start); - state_save_register_item("irem_ga20", tag, i, chip->channel[i].pos); - state_save_register_item("irem_ga20", tag, i, chip->channel[i].end); - state_save_register_item("irem_ga20", tag, i, chip->channel[i].volume); - state_save_register_item("irem_ga20", tag, i, chip->channel[i].pan); - state_save_register_item("irem_ga20", tag, i, chip->channel[i].effect); - state_save_register_item("irem_ga20", tag, i, chip->channel[i].play); + state_save_register_device_item(device, i, chip->channel[i].rate); + state_save_register_device_item(device, i, chip->channel[i].size); + state_save_register_device_item(device, i, chip->channel[i].start); + state_save_register_device_item(device, i, chip->channel[i].pos); + state_save_register_device_item(device, i, chip->channel[i].end); + state_save_register_device_item(device, i, chip->channel[i].volume); + state_save_register_device_item(device, i, chip->channel[i].pan); + state_save_register_device_item(device, i, chip->channel[i].effect); + state_save_register_device_item(device, i, chip->channel[i].play); } return chip; diff --git a/src/emu/sound/k005289.c b/src/emu/sound/k005289.c index 02147d3fd42..45a2fb2a4eb 100644 --- a/src/emu/sound/k005289.c +++ b/src/emu/sound/k005289.c @@ -171,7 +171,7 @@ static SND_START( k005289 ) if (make_mixer_table(info, 2)) return NULL; - info->sound_prom = memory_region(device->machine, tag); + info->sound_prom = device->region; /* reset all the voices */ voice[0].frequency = 0; diff --git a/src/emu/sound/k007232.c b/src/emu/sound/k007232.c index 1c1b6c02f7e..91f43236f6b 100644 --- a/src/emu/sound/k007232.c +++ b/src/emu/sound/k007232.c @@ -306,9 +306,9 @@ static SND_START( k007232 ) /* Set up the chips */ - info->pcmbuf[0] = (unsigned char *)memory_region(device->machine, tag); - info->pcmbuf[1] = (unsigned char *)memory_region(device->machine, tag); - info->pcmlimit = (unsigned int)memory_region_length(device->machine, tag); + info->pcmbuf[0] = device->region; + info->pcmbuf[1] = device->region; + info->pcmlimit = device->regionbytes; info->clock = clock; diff --git a/src/emu/sound/k053260.c b/src/emu/sound/k053260.c index c6ffe1e64c6..9f3021b41a3 100644 --- a/src/emu/sound/k053260.c +++ b/src/emu/sound/k053260.c @@ -212,8 +212,13 @@ static SND_START( k053260 ) ic->intf = (config != NULL) ? config : &defintrf; ic->mode = 0; - ic->rom = memory_region(device->machine, (ic->intf->rgnoverride != NULL) ? ic->intf->rgnoverride : tag); - ic->rom_size = memory_region_length(device->machine, (ic->intf->rgnoverride != NULL) ? ic->intf->rgnoverride : tag) - 1; + ic->rom = device->region; + ic->rom_size = device->regionbytes; + if (ic->intf->rgnoverride != NULL) + { + ic->rom = memory_region(device->machine, ic->intf->rgnoverride); + ic->rom_size = memory_region_length(device->machine, ic->intf->rgnoverride); + } k053260_reset( ic ); diff --git a/src/emu/sound/k054539.c b/src/emu/sound/k054539.c index f7ead552d1a..e7dc8536cac 100644 --- a/src/emu/sound/k054539.c +++ b/src/emu/sound/k054539.c @@ -433,7 +433,7 @@ static TIMER_CALLBACK( k054539_irq ) info->intf->irq(machine); } -static void k054539_init_chip(const char *tag, struct k054539_info *info, int clock, int sndindex) +static void k054539_init_chip(const device_config *device, struct k054539_info *info, int clock) { int i; @@ -447,8 +447,13 @@ static void k054539_init_chip(const char *tag, struct k054539_info *info, int cl info->cur_ptr = 0; memset(info->ram, 0, 0x4000*2+clock/50*2); - info->rom = memory_region(Machine, (info->intf->rgnoverride != NULL) ? info->intf->rgnoverride : tag); - info->rom_size = memory_region_length(Machine, (info->intf->rgnoverride != NULL) ? info->intf->rgnoverride : tag); + info->rom = device->region; + info->rom_size = device->regionbytes; + if (info->intf->rgnoverride != NULL) + { + info->rom = memory_region(device->machine, info->intf->rgnoverride); + info->rom_size = memory_region_length(device->machine, info->intf->rgnoverride); + } info->rom_mask = 0xffffffffU; for(i=0; i<32; i++) if((1U<= info->rom_size) { @@ -464,9 +469,9 @@ static void k054539_init_chip(const char *tag, struct k054539_info *info, int cl info->stream = stream_create(0, 2, clock, info, k054539_update); - state_save_register_item_array("K054539", tag, 0, info->regs); - state_save_register_item_pointer("K054539", tag, 0, info->ram, 0x4000); - state_save_register_item("K054539", tag, 0, info->cur_ptr); + state_save_register_device_item_array(device, 0, info->regs); + state_save_register_device_item_pointer(device, 0, info->ram, 0x4000); + state_save_register_device_item(device, 0, info->cur_ptr); } static void k054539_w(int chip, offs_t offset, UINT8 data) //* @@ -662,7 +667,7 @@ static SND_START( k054539 ) for(i=0; i<0xf; i++) info->pantab[i] = sqrt(i) / sqrt(0xe); - k054539_init_chip(tag, info, clock, sndindex); + k054539_init_chip(device, info, clock); state_save_register_postload(device->machine, reset_zones, info); return info; diff --git a/src/emu/sound/msm5205.c b/src/emu/sound/msm5205.c index 1a01d8f92bc..3afc491be3a 100644 --- a/src/emu/sound/msm5205.c +++ b/src/emu/sound/msm5205.c @@ -32,6 +32,7 @@ struct MSM5205Voice { const msm5205_interface *intf; + const device_config *device; sound_stream * stream; /* number of stream system */ INT32 index; INT32 clock; /* clock rate */ @@ -116,7 +117,7 @@ static TIMER_CALLBACK( MSM5205_vclk_callback ) int val; int new_signal; /* callback user handler and latch next data */ - if(voice->intf->vclk_callback) (*voice->intf->vclk_callback)(machine, voice->index); + if(voice->intf->vclk_callback) (*voice->intf->vclk_callback)(voice->device); /* reset check at last hieddge of VCLK */ if(voice->reset) @@ -179,6 +180,7 @@ static SND_START( msm5205 ) /* save a global pointer to our interface */ voice->intf = config; + voice->device = device; voice->index = sndindex; voice->clock = clock; @@ -193,14 +195,14 @@ static SND_START( msm5205 ) msm5205_reset(voice); /* register for save states */ - state_save_register_item("msm5205", tag, 0, voice->clock); - state_save_register_item("msm5205", tag, 0, voice->data); - state_save_register_item("msm5205", tag, 0, voice->vclk); - state_save_register_item("msm5205", tag, 0, voice->reset); - state_save_register_item("msm5205", tag, 0, voice->prescaler); - state_save_register_item("msm5205", tag, 0, voice->bitwidth); - state_save_register_item("msm5205", tag, 0, voice->signal); - state_save_register_item("msm5205", tag, 0, voice->step); + state_save_register_device_item(device, 0, voice->clock); + state_save_register_device_item(device, 0, voice->data); + state_save_register_device_item(device, 0, voice->vclk); + state_save_register_device_item(device, 0, voice->reset); + state_save_register_device_item(device, 0, voice->prescaler); + state_save_register_device_item(device, 0, voice->bitwidth); + state_save_register_device_item(device, 0, voice->signal); + state_save_register_device_item(device, 0, voice->step); /* success */ return voice; diff --git a/src/emu/sound/msm5205.h b/src/emu/sound/msm5205.h index a992dcb7b59..351d83eaa0c 100644 --- a/src/emu/sound/msm5205.h +++ b/src/emu/sound/msm5205.h @@ -19,7 +19,7 @@ typedef struct _msm5205_interface msm5205_interface; struct _msm5205_interface { - void (*vclk_callback)(running_machine *, int); /* VCLK callback */ + void (*vclk_callback)(const device_config *); /* VCLK callback */ int select; /* prescaler / bit width selector */ }; diff --git a/src/emu/sound/multipcm.c b/src/emu/sound/multipcm.c index 15e22d3dfb2..91e85adbc07 100644 --- a/src/emu/sound/multipcm.c +++ b/src/emu/sound/multipcm.c @@ -493,7 +493,7 @@ static SND_START( multipcm ) ptChip=(struct _MultiPCM *)auto_malloc(sizeof(struct _MultiPCM)); - ptChip->ROM=(INT8 *)memory_region(device->machine, tag); + ptChip->ROM=(INT8 *)device->region; ptChip->Rate=(float) clock / MULTIPCM_CLOCKDIV; ptChip->stream = stream_create(0, 2, ptChip->Rate, ptChip, MultiPCM_update); @@ -599,39 +599,39 @@ static SND_START( multipcm ) ptChip->Samples[i].AM=ptSample[11]; } - state_save_register_item("multipcm", tag, 0, ptChip->CurSlot); - state_save_register_item("multipcm", tag, 0, ptChip->Address); - state_save_register_item("multipcm", tag, 0, ptChip->BankL); - state_save_register_item("multipcm", tag, 0, ptChip->BankR); + state_save_register_device_item(device, 0, ptChip->CurSlot); + state_save_register_device_item(device, 0, ptChip->Address); + state_save_register_device_item(device, 0, ptChip->BankL); + state_save_register_device_item(device, 0, ptChip->BankR); for(i=0;i<28;++i) { ptChip->Slots[i].Num=i; ptChip->Slots[i].Playing=0; - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].Num); - state_save_register_item_array("multipcm", tag, i, ptChip->Slots[i].Regs); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].Playing); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].Base); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].offset); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].step); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].Pan); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].TL); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].DstTL); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].TLStep); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].Prev); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].EG.volume); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].EG.state); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].EG.step); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].EG.AR); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].EG.D1R); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].EG.D2R); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].EG.RR); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].EG.DL); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].PLFO.phase); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].PLFO.phase_step); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].ALFO.phase); - state_save_register_item("multipcm", tag, i, ptChip->Slots[i].ALFO.phase_step); + state_save_register_device_item(device, i, ptChip->Slots[i].Num); + state_save_register_device_item_array(device, i, ptChip->Slots[i].Regs); + state_save_register_device_item(device, i, ptChip->Slots[i].Playing); + state_save_register_device_item(device, i, ptChip->Slots[i].Base); + state_save_register_device_item(device, i, ptChip->Slots[i].offset); + state_save_register_device_item(device, i, ptChip->Slots[i].step); + state_save_register_device_item(device, i, ptChip->Slots[i].Pan); + state_save_register_device_item(device, i, ptChip->Slots[i].TL); + state_save_register_device_item(device, i, ptChip->Slots[i].DstTL); + state_save_register_device_item(device, i, ptChip->Slots[i].TLStep); + state_save_register_device_item(device, i, ptChip->Slots[i].Prev); + state_save_register_device_item(device, i, ptChip->Slots[i].EG.volume); + state_save_register_device_item(device, i, ptChip->Slots[i].EG.state); + state_save_register_device_item(device, i, ptChip->Slots[i].EG.step); + state_save_register_device_item(device, i, ptChip->Slots[i].EG.AR); + state_save_register_device_item(device, i, ptChip->Slots[i].EG.D1R); + state_save_register_device_item(device, i, ptChip->Slots[i].EG.D2R); + state_save_register_device_item(device, i, ptChip->Slots[i].EG.RR); + state_save_register_device_item(device, i, ptChip->Slots[i].EG.DL); + state_save_register_device_item(device, i, ptChip->Slots[i].PLFO.phase); + state_save_register_device_item(device, i, ptChip->Slots[i].PLFO.phase_step); + state_save_register_device_item(device, i, ptChip->Slots[i].ALFO.phase); + state_save_register_device_item(device, i, ptChip->Slots[i].ALFO.phase_step); } LFO_Init(); diff --git a/src/emu/sound/n63701x.c b/src/emu/sound/n63701x.c index cab09b7afe4..7ae40e9faaf 100644 --- a/src/emu/sound/n63701x.c +++ b/src/emu/sound/n63701x.c @@ -106,7 +106,7 @@ static SND_START( namco_63701x ) chip = auto_malloc(sizeof(*chip)); memset(chip, 0, sizeof(*chip)); - chip->rom = memory_region(device->machine, tag); + chip->rom = device->region; chip->stream = stream_create(0, 2, clock/1000, chip, namco_63701x_update); diff --git a/src/emu/sound/namco.c b/src/emu/sound/namco.c index 166fa0305d7..8da5a31dbd2 100644 --- a/src/emu/sound/namco.c +++ b/src/emu/sound/namco.c @@ -106,9 +106,8 @@ static void update_namco_waveform(struct namco_sound *chip, int offset, UINT8 da /* build the decoded waveform table */ -static int build_decoded_waveform(struct namco_sound *chip, const char *region) +static int build_decoded_waveform(struct namco_sound *chip, UINT8 *rgnbase) { - UINT8 *rgnbase = memory_region(Machine, region); INT16 *p; int size; int offset; @@ -383,7 +382,7 @@ static SND_START( namco ) logerror("Namco: freq fractional bits = %d: internal freq = %d, output freq = %d\n", chip->f_fracbits, chip->namco_clock, chip->sample_rate); /* build the waveform table */ - if (build_decoded_waveform(chip, tag)) + if (build_decoded_waveform(chip, device->region)) return NULL; /* get stream channels */ @@ -396,9 +395,9 @@ static SND_START( namco ) chip->sound_enable = 1; /* register with the save state system */ - state_save_register_item("namco", tag, 0, chip->num_voices); - state_save_register_item("namco", tag, 0, chip->sound_enable); - state_save_register_item_pointer("namco", tag, 0, chip->waveform[0], + state_save_register_device_item(device, 0, chip->num_voices); + state_save_register_device_item(device, 0, chip->sound_enable); + state_save_register_device_item_pointer(device, 0, chip->waveform[0], MAX_VOLUME * 32 * 8 * (1+chip->wave_size)); /* reset all the voices */ @@ -417,15 +416,15 @@ static SND_START( namco ) voice->noise_hold = 0; /* register with the save state system */ - state_save_register_item("namco", tag, voicenum, voice->frequency); - state_save_register_item("namco", tag, voicenum, voice->counter); - state_save_register_item_array("namco", tag, voicenum, voice->volume); - state_save_register_item("namco", tag, voicenum, voice->noise_sw); - state_save_register_item("namco", tag, voicenum, voice->noise_state); - state_save_register_item("namco", tag, voicenum, voice->noise_seed); - state_save_register_item("namco", tag, voicenum, voice->noise_hold); - state_save_register_item("namco", tag, voicenum, voice->noise_counter); - state_save_register_item("namco", tag, voicenum, voice->waveform_select); + state_save_register_device_item(device, voicenum, voice->frequency); + state_save_register_device_item(device, voicenum, voice->counter); + state_save_register_device_item_array(device, voicenum, voice->volume); + state_save_register_device_item(device, voicenum, voice->noise_sw); + state_save_register_device_item(device, voicenum, voice->noise_state); + state_save_register_device_item(device, voicenum, voice->noise_seed); + state_save_register_device_item(device, voicenum, voice->noise_hold); + state_save_register_device_item(device, voicenum, voice->noise_counter); + state_save_register_device_item(device, voicenum, voice->waveform_select); } return chip; diff --git a/src/emu/sound/namco52.c b/src/emu/sound/namco52.c index ec0b089f78b..e5fcddc9b5c 100644 --- a/src/emu/sound/namco52.c +++ b/src/emu/sound/namco52.c @@ -141,8 +141,8 @@ static SND_START( namco_52xx ) memset(chip, 0, sizeof(*chip)); chip->intf = config; - chip->rom = memory_region(device->machine, tag); - chip->rom_len = memory_region_length(device->machine, tag); + chip->rom = device->region; + chip->rom_len = device->regionbytes; if (chip->intf->play_rate == 0) { @@ -161,12 +161,12 @@ static SND_START( namco_52xx ) namco_52xx_reset(chip); - state_save_register_item("namco52xx", tag, 0, chip->n52_pb_cycle); - state_save_register_item("namco52xx", tag, 0, chip->n52_step); - state_save_register_item("namco52xx", tag, 0, chip->n52_start); - state_save_register_item("namco52xx", tag, 0, chip->n52_end); - state_save_register_item("namco52xx", tag, 0, chip->n52_length); - state_save_register_item("namco52xx", tag, 0, chip->n52_pos); + state_save_register_device_item(device, 0, chip->n52_pb_cycle); + state_save_register_device_item(device, 0, chip->n52_step); + state_save_register_device_item(device, 0, chip->n52_start); + state_save_register_device_item(device, 0, chip->n52_end); + state_save_register_device_item(device, 0, chip->n52_length); + state_save_register_device_item(device, 0, chip->n52_pos); return chip; } diff --git a/src/emu/sound/nes_apu.c b/src/emu/sound/nes_apu.c index 1f46add2994..1353134cdc6 100644 --- a/src/emu/sound/nes_apu.c +++ b/src/emu/sound/nes_apu.c @@ -701,56 +701,56 @@ static SND_START( nesapu ) /* register for save */ for (i = 0; i < 2; i++) { - state_save_register_item_array("apu", tag, i, info->APU.squ[i].regs); - state_save_register_item("apu", tag, i, info->APU.squ[i].vbl_length); - state_save_register_item("apu", tag, i, info->APU.squ[i].freq); - state_save_register_item("apu", tag, i, info->APU.squ[i].phaseacc); - state_save_register_item("apu", tag, i, info->APU.squ[i].output_vol); - state_save_register_item("apu", tag, i, info->APU.squ[i].env_phase); - state_save_register_item("apu", tag, i, info->APU.squ[i].sweep_phase); - state_save_register_item("apu", tag, i, info->APU.squ[i].adder); - state_save_register_item("apu", tag, i, info->APU.squ[i].env_vol); - state_save_register_item("apu", tag, i, info->APU.squ[i].enabled); + state_save_register_device_item_array(device, i, info->APU.squ[i].regs); + state_save_register_device_item(device, i, info->APU.squ[i].vbl_length); + state_save_register_device_item(device, i, info->APU.squ[i].freq); + state_save_register_device_item(device, i, info->APU.squ[i].phaseacc); + state_save_register_device_item(device, i, info->APU.squ[i].output_vol); + state_save_register_device_item(device, i, info->APU.squ[i].env_phase); + state_save_register_device_item(device, i, info->APU.squ[i].sweep_phase); + state_save_register_device_item(device, i, info->APU.squ[i].adder); + state_save_register_device_item(device, i, info->APU.squ[i].env_vol); + state_save_register_device_item(device, i, info->APU.squ[i].enabled); } - state_save_register_item_array("apu", tag, 0, info->APU.tri.regs); - state_save_register_item("apu", tag, 0, info->APU.tri.linear_length); - state_save_register_item("apu", tag, 0, info->APU.tri.vbl_length); - state_save_register_item("apu", tag, 0, info->APU.tri.write_latency); - state_save_register_item("apu", tag, 0, info->APU.tri.phaseacc); - state_save_register_item("apu", tag, 0, info->APU.tri.output_vol); - state_save_register_item("apu", tag, 0, info->APU.tri.adder); - state_save_register_item("apu", tag, 0, info->APU.tri.counter_started); - state_save_register_item("apu", tag, 0, info->APU.tri.enabled); + state_save_register_device_item_array(device, 0, info->APU.tri.regs); + state_save_register_device_item(device, 0, info->APU.tri.linear_length); + state_save_register_device_item(device, 0, info->APU.tri.vbl_length); + state_save_register_device_item(device, 0, info->APU.tri.write_latency); + state_save_register_device_item(device, 0, info->APU.tri.phaseacc); + state_save_register_device_item(device, 0, info->APU.tri.output_vol); + state_save_register_device_item(device, 0, info->APU.tri.adder); + state_save_register_device_item(device, 0, info->APU.tri.counter_started); + state_save_register_device_item(device, 0, info->APU.tri.enabled); - state_save_register_item_array("apu", tag, 0, info->APU.noi.regs); - state_save_register_item("apu", tag, 0, info->APU.noi.cur_pos); - state_save_register_item("apu", tag, 0, info->APU.noi.vbl_length); - state_save_register_item("apu", tag, 0, info->APU.noi.phaseacc); - state_save_register_item("apu", tag, 0, info->APU.noi.output_vol); - state_save_register_item("apu", tag, 0, info->APU.noi.env_phase); - state_save_register_item("apu", tag, 0, info->APU.noi.env_vol); - state_save_register_item("apu", tag, 0, info->APU.noi.enabled); + state_save_register_device_item_array(device, 0, info->APU.noi.regs); + state_save_register_device_item(device, 0, info->APU.noi.cur_pos); + state_save_register_device_item(device, 0, info->APU.noi.vbl_length); + state_save_register_device_item(device, 0, info->APU.noi.phaseacc); + state_save_register_device_item(device, 0, info->APU.noi.output_vol); + state_save_register_device_item(device, 0, info->APU.noi.env_phase); + state_save_register_device_item(device, 0, info->APU.noi.env_vol); + state_save_register_device_item(device, 0, info->APU.noi.enabled); - state_save_register_item_array("apu", tag, 0, info->APU.dpcm.regs); - state_save_register_item("apu", tag, 0, info->APU.dpcm.address); - state_save_register_item("apu", tag, 0, info->APU.dpcm.length); - state_save_register_item("apu", tag, 0, info->APU.dpcm.bits_left); - state_save_register_item("apu", tag, 0, info->APU.dpcm.phaseacc); - state_save_register_item("apu", tag, 0, info->APU.dpcm.output_vol); - state_save_register_item("apu", tag, 0, info->APU.dpcm.cur_byte); - state_save_register_item("apu", tag, 0, info->APU.dpcm.enabled); - state_save_register_item("apu", tag, 0, info->APU.dpcm.irq_occurred); - state_save_register_item("apu", tag, 0, info->APU.dpcm.vol); + state_save_register_device_item_array(device, 0, info->APU.dpcm.regs); + state_save_register_device_item(device, 0, info->APU.dpcm.address); + state_save_register_device_item(device, 0, info->APU.dpcm.length); + state_save_register_device_item(device, 0, info->APU.dpcm.bits_left); + state_save_register_device_item(device, 0, info->APU.dpcm.phaseacc); + state_save_register_device_item(device, 0, info->APU.dpcm.output_vol); + state_save_register_device_item(device, 0, info->APU.dpcm.cur_byte); + state_save_register_device_item(device, 0, info->APU.dpcm.enabled); + state_save_register_device_item(device, 0, info->APU.dpcm.irq_occurred); + state_save_register_device_item(device, 0, info->APU.dpcm.vol); - state_save_register_item_array("apu", tag, 0, info->APU.regs); + state_save_register_device_item_array(device, 0, info->APU.regs); #ifdef USE_QUEUE - state_save_register_item_array("apu", tag, 0, info->APU.queue); - state_save_register_item("apu", tag, 0, info->APU.head); - state_save_register_item("apu", tag, 0, info->APU.tail); + state_save_register_device_item_array(device, 0, info->APU.queue); + state_save_register_device_item(device, 0, info->APU.head); + state_save_register_device_item(device, 0, info->APU.tail); #else - state_save_register_item("apu", tag, 0, info->APU.buf_pos); + state_save_register_device_item(device, 0, info->APU.buf_pos); #endif return info; diff --git a/src/emu/sound/nile.c b/src/emu/sound/nile.c index 53f25972232..1672f8e3f9c 100644 --- a/src/emu/sound/nile.c +++ b/src/emu/sound/nile.c @@ -223,7 +223,7 @@ static SND_START( nile ) info = auto_malloc(sizeof(*info)); memset(info, 0, sizeof(*info)); - info->sound_ram = (UINT8 *)memory_region(device->machine, tag); + info->sound_ram = device->region; info->stream = stream_create(0, 2, 44100, info, nile_update); diff --git a/src/emu/sound/okim6258.c b/src/emu/sound/okim6258.c index 9b6fbb1abb3..262d072cfa0 100644 --- a/src/emu/sound/okim6258.c +++ b/src/emu/sound/okim6258.c @@ -164,15 +164,15 @@ static void okim6258_update(void *param, stream_sample_t **inputs, stream_sample ***********************************************************************************************/ -static void okim6258_state_save_register(struct okim6258 *info, const char *tag) +static void okim6258_state_save_register(struct okim6258 *info, const device_config *device) { - state_save_register_item("OKIM6258", tag, 0, info->status); - state_save_register_item("OKIM6258", tag, 0, info->master_clock); - state_save_register_item("OKIM6258", tag, 0, info->divider); - state_save_register_item("OKIM6258", tag, 0, info->data_in); - state_save_register_item("OKIM6258", tag, 0, info->nibble_shift); - state_save_register_item("OKIM6258", tag, 0, info->signal); - state_save_register_item("OKIM6258", tag, 0, info->step); + state_save_register_device_item(device, 0, info->status); + state_save_register_device_item(device, 0, info->master_clock); + state_save_register_device_item(device, 0, info->divider); + state_save_register_device_item(device, 0, info->data_in); + state_save_register_device_item(device, 0, info->nibble_shift); + state_save_register_device_item(device, 0, info->signal); + state_save_register_device_item(device, 0, info->step); } @@ -204,7 +204,7 @@ static SND_START( okim6258 ) info->signal = -2; info->step = 0; - okim6258_state_save_register(info, tag); + okim6258_state_save_register(info, device); return info; } diff --git a/src/emu/sound/okim6295.c b/src/emu/sound/okim6295.c index 37e92381adf..17537781e34 100644 --- a/src/emu/sound/okim6295.c +++ b/src/emu/sound/okim6295.c @@ -288,25 +288,25 @@ static void okim6295_update(void *param, stream_sample_t **inputs, stream_sample ***********************************************************************************************/ -static void adpcm_state_save_register(struct ADPCMVoice *voice, const char *tag, int index) +static void adpcm_state_save_register(struct ADPCMVoice *voice, const device_config *device, int index) { - state_save_register_item("okim6295", tag, index, voice->playing); - state_save_register_item("okim6295", tag, index, voice->sample); - state_save_register_item("okim6295", tag, index, voice->count); - state_save_register_item("okim6295", tag, index, voice->adpcm.signal); - state_save_register_item("okim6295", tag, index, voice->adpcm.step); - state_save_register_item("okim6295", tag, index, voice->volume); - state_save_register_item("okim6295", tag, index, voice->base_offset); + state_save_register_device_item(device, index, voice->playing); + state_save_register_device_item(device, index, voice->sample); + state_save_register_device_item(device, index, voice->count); + state_save_register_device_item(device, index, voice->adpcm.signal); + state_save_register_device_item(device, index, voice->adpcm.step); + state_save_register_device_item(device, index, voice->volume); + state_save_register_device_item(device, index, voice->base_offset); } -static void okim6295_state_save_register(struct okim6295 *info, const char *tag) +static void okim6295_state_save_register(struct okim6295 *info, const device_config *device) { int j; - state_save_register_item("okim6295", tag, 0, info->command); - state_save_register_item("okim6295", tag, 0, info->bank_offset); + state_save_register_device_item(device, 0, info->command); + state_save_register_device_item(device, 0, info->bank_offset); for (j = 0; j < OKIM6295_VOICES; j++) - adpcm_state_save_register(&info->voice[j], tag, j); + adpcm_state_save_register(&info->voice[j], device, j); } @@ -331,7 +331,9 @@ static SND_START( okim6295 ) info->command = -1; info->bank_offset = 0; - info->region_base = memory_region(device->machine, (intf->rgnoverride != NULL) ? intf->rgnoverride : tag); + info->region_base = device->region; + if (intf->rgnoverride != NULL) + info->region_base = memory_region(device->machine, intf->rgnoverride); info->master_clock = clock; @@ -346,7 +348,7 @@ static SND_START( okim6295 ) reset_adpcm(&info->voice[voice].adpcm); } - okim6295_state_save_register(info, tag); + okim6295_state_save_register(info, device); /* success */ return info; diff --git a/src/emu/sound/pokey.c b/src/emu/sound/pokey.c index 4693d882f21..395f5f8a75c 100644 --- a/src/emu/sound/pokey.c +++ b/src/emu/sound/pokey.c @@ -566,43 +566,43 @@ static void rand_init(UINT8 *rng, int size, int left, int right, int add) } -static void register_for_save(struct POKEYregisters *chip, const char *tag) +static void register_for_save(struct POKEYregisters *chip, const device_config *device) { - state_save_register_item_array("pokey", tag, 0, chip->counter); - state_save_register_item_array("pokey", tag, 0, chip->divisor); - state_save_register_item_array("pokey", tag, 0, chip->volume); - state_save_register_item_array("pokey", tag, 0, chip->output); - state_save_register_item_array("pokey", tag, 0, chip->audible); - state_save_register_item("pokey", tag, 0, chip->samplepos_fract); - state_save_register_item("pokey", tag, 0, chip->samplepos_whole); - state_save_register_item("pokey", tag, 0, chip->polyadjust); - state_save_register_item("pokey", tag, 0, chip->p4); - state_save_register_item("pokey", tag, 0, chip->p5); - state_save_register_item("pokey", tag, 0, chip->p9); - state_save_register_item("pokey", tag, 0, chip->p17); - state_save_register_item("pokey", tag, 0, chip->r9); - state_save_register_item("pokey", tag, 0, chip->r17); - state_save_register_item("pokey", tag, 0, chip->clockmult); - state_save_register_item("pokey", tag, 0, chip->timer_period[0].seconds); - state_save_register_item("pokey", tag, 0, chip->timer_period[0].attoseconds); - state_save_register_item("pokey", tag, 0, chip->timer_period[1].seconds); - state_save_register_item("pokey", tag, 0, chip->timer_period[1].attoseconds); - state_save_register_item("pokey", tag, 0, chip->timer_period[2].seconds); - state_save_register_item("pokey", tag, 0, chip->timer_period[2].attoseconds); - state_save_register_item_array("pokey", tag, 0, chip->timer_param); - state_save_register_item_array("pokey", tag, 0, chip->AUDF); - state_save_register_item_array("pokey", tag, 0, chip->AUDC); - state_save_register_item_array("pokey", tag, 0, chip->POTx); - state_save_register_item("pokey", tag, 0, chip->AUDCTL); - state_save_register_item("pokey", tag, 0, chip->ALLPOT); - state_save_register_item("pokey", tag, 0, chip->KBCODE); - state_save_register_item("pokey", tag, 0, chip->RANDOM); - state_save_register_item("pokey", tag, 0, chip->SERIN); - state_save_register_item("pokey", tag, 0, chip->SEROUT); - state_save_register_item("pokey", tag, 0, chip->IRQST); - state_save_register_item("pokey", tag, 0, chip->IRQEN); - state_save_register_item("pokey", tag, 0, chip->SKSTAT); - state_save_register_item("pokey", tag, 0, chip->SKCTL); + state_save_register_device_item_array(device, 0, chip->counter); + state_save_register_device_item_array(device, 0, chip->divisor); + state_save_register_device_item_array(device, 0, chip->volume); + state_save_register_device_item_array(device, 0, chip->output); + state_save_register_device_item_array(device, 0, chip->audible); + state_save_register_device_item(device, 0, chip->samplepos_fract); + state_save_register_device_item(device, 0, chip->samplepos_whole); + state_save_register_device_item(device, 0, chip->polyadjust); + state_save_register_device_item(device, 0, chip->p4); + state_save_register_device_item(device, 0, chip->p5); + state_save_register_device_item(device, 0, chip->p9); + state_save_register_device_item(device, 0, chip->p17); + state_save_register_device_item(device, 0, chip->r9); + state_save_register_device_item(device, 0, chip->r17); + state_save_register_device_item(device, 0, chip->clockmult); + state_save_register_device_item(device, 0, chip->timer_period[0].seconds); + state_save_register_device_item(device, 0, chip->timer_period[0].attoseconds); + state_save_register_device_item(device, 0, chip->timer_period[1].seconds); + state_save_register_device_item(device, 0, chip->timer_period[1].attoseconds); + state_save_register_device_item(device, 0, chip->timer_period[2].seconds); + state_save_register_device_item(device, 0, chip->timer_period[2].attoseconds); + state_save_register_device_item_array(device, 0, chip->timer_param); + state_save_register_device_item_array(device, 0, chip->AUDF); + state_save_register_device_item_array(device, 0, chip->AUDC); + state_save_register_device_item_array(device, 0, chip->POTx); + state_save_register_device_item(device, 0, chip->AUDCTL); + state_save_register_device_item(device, 0, chip->ALLPOT); + state_save_register_device_item(device, 0, chip->KBCODE); + state_save_register_device_item(device, 0, chip->RANDOM); + state_save_register_device_item(device, 0, chip->SERIN); + state_save_register_device_item(device, 0, chip->SEROUT); + state_save_register_device_item(device, 0, chip->IRQST); + state_save_register_device_item(device, 0, chip->IRQEN); + state_save_register_device_item(device, 0, chip->SKSTAT); + state_save_register_device_item(device, 0, chip->SKCTL); } @@ -666,7 +666,7 @@ static SND_START( pokey ) chip->channel = stream_create(0, 1, sample_rate, chip, pokey_update); - register_for_save(chip, tag); + register_for_save(chip, device); return chip; } diff --git a/src/emu/sound/psx.c b/src/emu/sound/psx.c index 94a68ad2573..23d9cd26d50 100644 --- a/src/emu/sound/psx.c +++ b/src/emu/sound/psx.c @@ -308,43 +308,43 @@ static SND_START( psxspu ) chip->m_p_n_spuram = auto_malloc( SPU_RAM_SIZE ); - state_save_register_item( "psx", tag, 0, chip->m_n_mainvolumeleft ); - state_save_register_item( "psx", tag, 0, chip->m_n_mainvolumeright ); - state_save_register_item( "psx", tag, 0, chip->m_n_reverberationdepthleft ); - state_save_register_item( "psx", tag, 0, chip->m_n_reverberationdepthright ); - state_save_register_item( "psx", tag, 0, chip->m_n_voiceon ); - state_save_register_item( "psx", tag, 0, chip->m_n_voiceoff ); - state_save_register_item( "psx", tag, 0, chip->m_n_modulationmode ); - state_save_register_item( "psx", tag, 0, chip->m_n_noisemode ); - state_save_register_item( "psx", tag, 0, chip->m_n_reverbmode ); - state_save_register_item( "psx", tag, 0, chip->m_n_channelonoff ); - state_save_register_item( "psx", tag, 0, chip->m_n_reverbworkareastart ); - state_save_register_item( "psx", tag, 0, chip->m_n_irqaddress ); - state_save_register_item( "psx", tag, 0, chip->m_n_spuoffset ); - state_save_register_item( "psx", tag, 0, chip->m_n_spudata ); - state_save_register_item( "psx", tag, 0, chip->m_n_spucontrol ); - state_save_register_item( "psx", tag, 0, chip->m_n_spustatus ); - state_save_register_item( "psx", tag, 0, chip->m_n_cdvolumeleft ); - state_save_register_item( "psx", tag, 0, chip->m_n_cdvolumeright ); - state_save_register_item( "psx", tag, 0, chip->m_n_externalvolumeleft ); - state_save_register_item( "psx", tag, 0, chip->m_n_externalvolumeright ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_volumeleft ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_volumeright ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_pitch ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_address ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_attackdecaysustain ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_sustainrelease ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_adsrvolume ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_repeataddress ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_effect ); - state_save_register_item_pointer( "psx", tag, 0, chip->m_p_n_spuram, SPU_RAM_SIZE/2 ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_blockaddress ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_blockoffset ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_blockstatus ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_blockbuffer ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_s1 ); - state_save_register_item_array( "psx", tag, 0, chip->m_p_n_s2 ); - state_save_register_item_array( "psx", tag, 0, chip->m_n_loop ); + state_save_register_device_item( device, 0, chip->m_n_mainvolumeleft ); + state_save_register_device_item( device, 0, chip->m_n_mainvolumeright ); + state_save_register_device_item( device, 0, chip->m_n_reverberationdepthleft ); + state_save_register_device_item( device, 0, chip->m_n_reverberationdepthright ); + state_save_register_device_item( device, 0, chip->m_n_voiceon ); + state_save_register_device_item( device, 0, chip->m_n_voiceoff ); + state_save_register_device_item( device, 0, chip->m_n_modulationmode ); + state_save_register_device_item( device, 0, chip->m_n_noisemode ); + state_save_register_device_item( device, 0, chip->m_n_reverbmode ); + state_save_register_device_item( device, 0, chip->m_n_channelonoff ); + state_save_register_device_item( device, 0, chip->m_n_reverbworkareastart ); + state_save_register_device_item( device, 0, chip->m_n_irqaddress ); + state_save_register_device_item( device, 0, chip->m_n_spuoffset ); + state_save_register_device_item( device, 0, chip->m_n_spudata ); + state_save_register_device_item( device, 0, chip->m_n_spucontrol ); + state_save_register_device_item( device, 0, chip->m_n_spustatus ); + state_save_register_device_item( device, 0, chip->m_n_cdvolumeleft ); + state_save_register_device_item( device, 0, chip->m_n_cdvolumeright ); + state_save_register_device_item( device, 0, chip->m_n_externalvolumeleft ); + state_save_register_device_item( device, 0, chip->m_n_externalvolumeright ); + state_save_register_device_item_array( device, 0, chip->m_p_n_volumeleft ); + state_save_register_device_item_array( device, 0, chip->m_p_n_volumeright ); + state_save_register_device_item_array( device, 0, chip->m_p_n_pitch ); + state_save_register_device_item_array( device, 0, chip->m_p_n_address ); + state_save_register_device_item_array( device, 0, chip->m_p_n_attackdecaysustain ); + state_save_register_device_item_array( device, 0, chip->m_p_n_sustainrelease ); + state_save_register_device_item_array( device, 0, chip->m_p_n_adsrvolume ); + state_save_register_device_item_array( device, 0, chip->m_p_n_repeataddress ); + state_save_register_device_item_array( device, 0, chip->m_p_n_effect ); + state_save_register_device_item_pointer( device, 0, chip->m_p_n_spuram, SPU_RAM_SIZE/2 ); + state_save_register_device_item_array( device, 0, chip->m_p_n_blockaddress ); + state_save_register_device_item_array( device, 0, chip->m_p_n_blockoffset ); + state_save_register_device_item_array( device, 0, chip->m_p_n_blockstatus ); + state_save_register_device_item_array( device, 0, chip->m_p_n_blockbuffer ); + state_save_register_device_item_array( device, 0, chip->m_p_n_s1 ); + state_save_register_device_item_array( device, 0, chip->m_p_n_s2 ); + state_save_register_device_item_array( device, 0, chip->m_n_loop ); chip->intf->spu_install_read_handler( 4, spu_read ); chip->intf->spu_install_write_handler( 4, spu_write ); diff --git a/src/emu/sound/qsound.c b/src/emu/sound/qsound.c index a5cc85c2ce8..5375869d85c 100644 --- a/src/emu/sound/qsound.c +++ b/src/emu/sound/qsound.c @@ -100,8 +100,8 @@ static SND_START( qsound ) chip = auto_malloc(sizeof(*chip)); memset(chip, 0, sizeof(*chip)); - chip->sample_rom = (QSOUND_SRC_SAMPLE *)memory_region(device->machine, tag); - chip->sample_rom_length = memory_region_length(device->machine, tag); + chip->sample_rom = (QSOUND_SRC_SAMPLE *)device->region; + chip->sample_rom_length = device->regionbytes; memset(chip->channel, 0, sizeof(chip->channel)); @@ -135,18 +135,18 @@ static SND_START( qsound ) /* state save */ for (i=0; ichannel[i].bank); - state_save_register_item("QSound", tag, i, chip->channel[i].address); - state_save_register_item("QSound", tag, i, chip->channel[i].pitch); - state_save_register_item("QSound", tag, i, chip->channel[i].loop); - state_save_register_item("QSound", tag, i, chip->channel[i].end); - state_save_register_item("QSound", tag, i, chip->channel[i].vol); - state_save_register_item("QSound", tag, i, chip->channel[i].pan); - state_save_register_item("QSound", tag, i, chip->channel[i].key); - state_save_register_item("QSound", tag, i, chip->channel[i].lvol); - state_save_register_item("QSound", tag, i, chip->channel[i].rvol); - state_save_register_item("QSound", tag, i, chip->channel[i].lastdt); - state_save_register_item("QSound", tag, i, chip->channel[i].offset); + state_save_register_device_item(device, i, chip->channel[i].bank); + state_save_register_device_item(device, i, chip->channel[i].address); + state_save_register_device_item(device, i, chip->channel[i].pitch); + state_save_register_device_item(device, i, chip->channel[i].loop); + state_save_register_device_item(device, i, chip->channel[i].end); + state_save_register_device_item(device, i, chip->channel[i].vol); + state_save_register_device_item(device, i, chip->channel[i].pan); + state_save_register_device_item(device, i, chip->channel[i].key); + state_save_register_device_item(device, i, chip->channel[i].lvol); + state_save_register_device_item(device, i, chip->channel[i].rvol); + state_save_register_device_item(device, i, chip->channel[i].lastdt); + state_save_register_device_item(device, i, chip->channel[i].offset); } return chip; diff --git a/src/emu/sound/rf5c400.c b/src/emu/sound/rf5c400.c index 515c98a831b..99d4a6d30db 100644 --- a/src/emu/sound/rf5c400.c +++ b/src/emu/sound/rf5c400.c @@ -227,12 +227,12 @@ static void rf5c400_update(void *param, stream_sample_t **inputs, stream_sample_ } } -static void rf5c400_init_chip(const char *tag, struct rf5c400_info *info, int sndindex, int clock) +static void rf5c400_init_chip(const device_config *device, struct rf5c400_info *info, int clock) { int i; - info->rom = (INT16*)memory_region(Machine, tag); - info->rom_length = memory_region_length(Machine, tag) / 2; + info->rom = (INT16*)device->region; + info->rom_length = device->regionbytes / 2; // init volume table { @@ -313,26 +313,26 @@ static void rf5c400_init_chip(const char *tag, struct rf5c400_info *info, int sn for (i = 0; i < ARRAY_LENGTH(info->channels); i++) { - state_save_register_item("rf5c400", tag, i, info->channels[i].startH); - state_save_register_item("rf5c400", tag, i, info->channels[i].startL); - state_save_register_item("rf5c400", tag, i, info->channels[i].freq); - state_save_register_item("rf5c400", tag, i, info->channels[i].endL); - state_save_register_item("rf5c400", tag, i, info->channels[i].endHloopH); - state_save_register_item("rf5c400", tag, i, info->channels[i].loopL); - state_save_register_item("rf5c400", tag, i, info->channels[i].pan); - state_save_register_item("rf5c400", tag, i, info->channels[i].effect); - state_save_register_item("rf5c400", tag, i, info->channels[i].volume); - state_save_register_item("rf5c400", tag, i, info->channels[i].attack); - state_save_register_item("rf5c400", tag, i, info->channels[i].decay); - state_save_register_item("rf5c400", tag, i, info->channels[i].release); - state_save_register_item("rf5c400", tag, i, info->channels[i].cutoff); - state_save_register_item("rf5c400", tag, i, info->channels[i].pos); - state_save_register_item("rf5c400", tag, i, info->channels[i].step); - state_save_register_item("rf5c400", tag, i, info->channels[i].keyon); - state_save_register_item("rf5c400", tag, i, info->channels[i].env_phase); - state_save_register_item("rf5c400", tag, i, info->channels[i].env_level); - state_save_register_item("rf5c400", tag, i, info->channels[i].env_step); - state_save_register_item("rf5c400", tag, i, info->channels[i].env_scale); + state_save_register_device_item(device, i, info->channels[i].startH); + state_save_register_device_item(device, i, info->channels[i].startL); + state_save_register_device_item(device, i, info->channels[i].freq); + state_save_register_device_item(device, i, info->channels[i].endL); + state_save_register_device_item(device, i, info->channels[i].endHloopH); + state_save_register_device_item(device, i, info->channels[i].loopL); + state_save_register_device_item(device, i, info->channels[i].pan); + state_save_register_device_item(device, i, info->channels[i].effect); + state_save_register_device_item(device, i, info->channels[i].volume); + state_save_register_device_item(device, i, info->channels[i].attack); + state_save_register_device_item(device, i, info->channels[i].decay); + state_save_register_device_item(device, i, info->channels[i].release); + state_save_register_device_item(device, i, info->channels[i].cutoff); + state_save_register_device_item(device, i, info->channels[i].pos); + state_save_register_device_item(device, i, info->channels[i].step); + state_save_register_device_item(device, i, info->channels[i].keyon); + state_save_register_device_item(device, i, info->channels[i].env_phase); + state_save_register_device_item(device, i, info->channels[i].env_level); + state_save_register_device_item(device, i, info->channels[i].env_step); + state_save_register_device_item(device, i, info->channels[i].env_scale); } info->stream = stream_create(0, 2, clock/384, info, rf5c400_update); @@ -346,7 +346,7 @@ static SND_START( rf5c400 ) info = auto_malloc(sizeof(*info)); memset(info, 0, sizeof(*info)); - rf5c400_init_chip(tag, info, sndindex, clock); + rf5c400_init_chip(device, info, clock); return info; } diff --git a/src/emu/sound/s14001a.c b/src/emu/sound/s14001a.c index 8bb1b2d4303..d30d0adc212 100644 --- a/src/emu/sound/s14001a.c +++ b/src/emu/sound/s14001a.c @@ -576,7 +576,7 @@ static SND_START( s14001a ) chip->filtervals[i] = SILENCE; } - chip->SpeechRom = memory_region(device->machine, tag); + chip->SpeechRom = device->region; chip->stream = stream_create(0, 1, clock ? clock : device->machine->sample_rate, chip, s14001a_pcm_update); diff --git a/src/emu/sound/samples.c b/src/emu/sound/samples.c index 82510b176b7..ea23e0ff3eb 100644 --- a/src/emu/sound/samples.c +++ b/src/emu/sound/samples.c @@ -558,13 +558,13 @@ static SND_START( samples ) info->channel[i].paused = 0; /* register with the save state system */ - state_save_register_item("samples", tag, i, info->channel[i].source_length); - state_save_register_item("samples", tag, i, info->channel[i].source_num); - state_save_register_item("samples", tag, i, info->channel[i].pos); - state_save_register_item("samples", tag, i, info->channel[i].frac); - state_save_register_item("samples", tag, i, info->channel[i].step); - state_save_register_item("samples", tag, i, info->channel[i].loop); - state_save_register_item("samples", tag, i, info->channel[i].paused); + state_save_register_device_item(device, i, info->channel[i].source_length); + state_save_register_device_item(device, i, info->channel[i].source_num); + state_save_register_device_item(device, i, info->channel[i].pos); + state_save_register_device_item(device, i, info->channel[i].frac); + state_save_register_device_item(device, i, info->channel[i].step); + state_save_register_device_item(device, i, info->channel[i].loop); + state_save_register_device_item(device, i, info->channel[i].paused); } state_save_register_postload(device->machine, samples_postload, info); diff --git a/src/emu/sound/scsp.c b/src/emu/sound/scsp.c index c55e195f999..55cf9b55406 100644 --- a/src/emu/sound/scsp.c +++ b/src/emu/sound/scsp.c @@ -508,7 +508,7 @@ static void SCSP_StopSlot(struct _SLOT *slot,int keyoff) #define log_base_2(n) (log((double)(n))/log(2.0)) -static void SCSP_Init(const char *tag, struct _SCSP *SCSP, const scsp_interface *intf, int sndindex) +static void SCSP_Init(const device_config *device, struct _SCSP *SCSP, const scsp_interface *intf, int sndindex) { int i; @@ -529,10 +529,10 @@ static void SCSP_Init(const char *tag, struct _SCSP *SCSP, const scsp_interface SCSP->Master=0; } - SCSP->SCSPRAM = memory_region(Machine, tag); + SCSP->SCSPRAM = device->region; if (SCSP->SCSPRAM) { - SCSP->SCSPRAM_LENGTH = memory_region_length(Machine, tag); + SCSP->SCSPRAM_LENGTH = device->regionbytes; SCSP->DSP.SCSPRAM = (UINT16 *)SCSP->SCSPRAM; SCSP->DSP.SCSPRAM_LENGTH = SCSP->SCSPRAM_LENGTH/2; SCSP->SCSPRAM += intf->roffset; @@ -1233,7 +1233,7 @@ static SND_START( scsp ) intf = config; // init the emulation - SCSP_Init(tag, SCSP, intf, sndindex); + SCSP_Init(device, SCSP, intf, sndindex); // set up the IRQ callbacks { diff --git a/src/emu/sound/segapcm.c b/src/emu/sound/segapcm.c index 06d91e8f21e..19e4060ceaf 100644 --- a/src/emu/sound/segapcm.c +++ b/src/emu/sound/segapcm.c @@ -85,7 +85,7 @@ static SND_START( segapcm ) spcm = auto_malloc(sizeof(*spcm)); memset(spcm, 0, sizeof(*spcm)); - spcm->rom = (const UINT8 *)memory_region(device->machine, tag); + spcm->rom = (const UINT8 *)device->region; spcm->ram = auto_malloc(0x800); memset(spcm->ram, 0xff, 0x800); @@ -95,7 +95,7 @@ static SND_START( segapcm ) if(!mask) mask = BANK_MASK7>>16; - len = memory_region_length(device->machine, tag); + len = device->regionbytes; for(rom_mask = 1; rom_mask < len; rom_mask *= 2); rom_mask--; @@ -103,8 +103,8 @@ static SND_START( segapcm ) spcm->stream = stream_create(0, 2, clock / 128, spcm, SEGAPCM_update); - state_save_register_item_array("segapcm", tag, 0, spcm->low); - state_save_register_item_pointer("segapcm", tag, 0, spcm->ram, 0x800); + state_save_register_device_item_array(device, 0, spcm->low); + state_save_register_device_item_pointer(device, 0, spcm->ram, 0x800); return spcm; } diff --git a/src/emu/sound/sid6581.c b/src/emu/sound/sid6581.c index 59f6aa8ec74..b72c41b7920 100644 --- a/src/emu/sound/sid6581.c +++ b/src/emu/sound/sid6581.c @@ -30,10 +30,10 @@ static void sid_update(void *token,stream_sample_t **inputs, stream_sample_t **_ -static void *sid_start(const char *tag, int sndindex, int clock, const void *config, SIDTYPE sidtype) +static void *sid_start(const device_config *device, int clock, SIDTYPE sidtype) { SID6581 *sid; - const sid6581_interface *iface = (const sid6581_interface*) config; + const sid6581_interface *iface = (const sid6581_interface*) device->static_config; sid = (SID6581 *) auto_malloc(sizeof(*sid)); memset(sid, 0, sizeof(*sid)); @@ -61,14 +61,14 @@ static SND_RESET( sid ) static SND_START( sid6581 ) { - return sid_start(tag, sndindex, clock, config, MOS6581); + return sid_start(device, clock, MOS6581); } static SND_START( sid8580 ) { - return sid_start(tag, sndindex, clock, config, MOS8580); + return sid_start(device, clock, MOS8580); } diff --git a/src/emu/sound/sn76477.c b/src/emu/sound/sn76477.c index f67dfea8ef5..0f85990a503 100644 --- a/src/emu/sound/sn76477.c +++ b/src/emu/sound/sn76477.c @@ -255,8 +255,8 @@ struct SN76477 /* others */ sound_stream *channel; /* returned by stream_create() */ - const char *tag; int sample_rate; /* from machine->sample_rate */ + const device_config *device; wav_file *file; /* handle of the wave file to produce */ }; @@ -642,7 +642,7 @@ static void log_enable_line(struct SN76477 *sn) "Enabled", "Inhibited" }; - LOG(1, ("SN76477 '%s': Enable line (9): %d [%s]\n", sn->tag, sn->enable, desc[sn->enable])); + LOG(1, ("SN76477 '%s': Enable line (9): %d [%s]\n", sn->device->tag, sn->enable, desc[sn->enable])); } @@ -654,7 +654,7 @@ static void log_mixer_mode(struct SN76477 *sn) "SLF/Noise", "SLF/VCO/Noise", "SLF/VCO", "Inhibit" }; - LOG(1, ("SN76477 '%s': Mixer mode (25-27): %d [%s]\n", sn->tag, sn->mixer_mode, desc[sn->mixer_mode])); + LOG(1, ("SN76477 '%s': Mixer mode (25-27): %d [%s]\n", sn->device->tag, sn->mixer_mode, desc[sn->mixer_mode])); } @@ -665,7 +665,7 @@ static void log_envelope_mode(struct SN76477 *sn) "VCO", "One-Shot", "Mixer Only", "VCO with Alternating Polarity" }; - LOG(1, ("SN76477 '%s': Envelope mode (1,28): %d [%s]\n", sn->tag, sn->envelope_mode, desc[sn->envelope_mode])); + LOG(1, ("SN76477 '%s': Envelope mode (1,28): %d [%s]\n", sn->device->tag, sn->envelope_mode, desc[sn->envelope_mode])); } @@ -676,7 +676,7 @@ static void log_vco_mode(struct SN76477 *sn) "External (Pin 16)", "Internal (SLF)" }; - LOG(1, ("SN76477 '%s': VCO mode (22): %d [%s]\n", sn->tag, sn->vco_mode, desc[sn->vco_mode])); + LOG(1, ("SN76477 '%s': VCO mode (22): %d [%s]\n", sn->device->tag, sn->vco_mode, desc[sn->vco_mode])); } @@ -686,16 +686,16 @@ static void log_one_shot_time(struct SN76477 *sn) { if (compute_one_shot_cap_charging_rate(sn) > 0) { - LOG(1, ("SN76477 '%s': One-shot time (23,24): %.4f sec\n", sn->tag, ONE_SHOT_CAP_VOLTAGE_RANGE * (1 / compute_one_shot_cap_charging_rate(sn)))); + LOG(1, ("SN76477 '%s': One-shot time (23,24): %.4f sec\n", sn->device->tag, ONE_SHOT_CAP_VOLTAGE_RANGE * (1 / compute_one_shot_cap_charging_rate(sn)))); } else { - LOG(1, ("SN76477 '%s': One-shot time (23,24): N/A\n", sn->tag)); + LOG(1, ("SN76477 '%s': One-shot time (23,24): N/A\n", sn->device->tag)); } } else { - LOG(1, ("SN76477 '%s': One-shot time (23,24): External (cap = %.2fV)\n", sn->tag, sn->one_shot_cap_voltage)); + LOG(1, ("SN76477 '%s': One-shot time (23,24): External (cap = %.2fV)\n", sn->device->tag, sn->one_shot_cap_voltage)); } } @@ -709,29 +709,29 @@ static void log_slf_freq(struct SN76477 *sn) double charging_time = (1 / compute_slf_cap_charging_rate(sn)) * SLF_CAP_VOLTAGE_RANGE; double discharging_time = (1 / compute_slf_cap_discharging_rate(sn)) * SLF_CAP_VOLTAGE_RANGE; - LOG(1, ("SN76477 '%s': SLF frequency (20,21): %.2f Hz\n", sn->tag, 1 / (charging_time + discharging_time))); + LOG(1, ("SN76477 '%s': SLF frequency (20,21): %.2f Hz\n", sn->device->tag, 1 / (charging_time + discharging_time))); } else { - LOG(1, ("SN76477 '%s': SLF frequency (20,21): N/A\n", sn->tag)); + LOG(1, ("SN76477 '%s': SLF frequency (20,21): N/A\n", sn->device->tag)); } } else { - LOG(1, ("SN76477 '%s': SLF frequency (20,21): External (cap = %.2fV)\n", sn->tag, sn->slf_cap_voltage)); + LOG(1, ("SN76477 '%s': SLF frequency (20,21): External (cap = %.2fV)\n", sn->device->tag, sn->slf_cap_voltage)); } } static void log_vco_pitch_voltage(struct SN76477 *sn) { - LOG(1, ("SN76477 '%s': VCO pitch voltage (19): %.2fV\n", sn->tag, sn->pitch_voltage)); + LOG(1, ("SN76477 '%s': VCO pitch voltage (19): %.2fV\n", sn->device->tag, sn->pitch_voltage)); } static void log_vco_duty_cycle(struct SN76477 *sn) { - LOG(1, ("SN76477 '%s': VCO duty cycle (16,19): %.0f%%\n", sn->tag, compute_vco_duty_cycle(sn) * 100.0)); + LOG(1, ("SN76477 '%s': VCO duty cycle (16,19): %.0f%%\n", sn->device->tag, compute_vco_duty_cycle(sn) * 100.0)); } @@ -744,16 +744,16 @@ static void log_vco_freq(struct SN76477 *sn) double min_freq = compute_vco_cap_charging_discharging_rate(sn) / (2 * VCO_CAP_VOLTAGE_RANGE); double max_freq = compute_vco_cap_charging_discharging_rate(sn) / (2 * VCO_TO_SLF_VOLTAGE_DIFF); - LOG(1, ("SN76477 '%s': VCO frequency (17,18): %.2f Hz - %.1f Hz\n", sn->tag, min_freq, max_freq)); + LOG(1, ("SN76477 '%s': VCO frequency (17,18): %.2f Hz - %.1f Hz\n", sn->device->tag, min_freq, max_freq)); } else { - LOG(1, ("SN76477 '%s': VCO frequency (17,18): N/A\n", sn->tag)); + LOG(1, ("SN76477 '%s': VCO frequency (17,18): N/A\n", sn->device->tag)); } } else { - LOG(1, ("SN76477 '%s': VCO frequency (17,18): External (cap = %.2fV)\n", sn->tag, sn->vco_cap_voltage)); + LOG(1, ("SN76477 '%s': VCO frequency (17,18): External (cap = %.2fV)\n", sn->device->tag, sn->vco_cap_voltage)); } } @@ -765,13 +765,13 @@ static void log_vco_ext_voltage(struct SN76477 *sn) double min_freq = compute_vco_cap_charging_discharging_rate(sn) / (2 * VCO_CAP_VOLTAGE_RANGE); double max_freq = compute_vco_cap_charging_discharging_rate(sn) / (2 * VCO_TO_SLF_VOLTAGE_DIFF); - LOG(1, ("SN76477 '%s': VCO ext. voltage (16): %.2fV (%.2f Hz)\n", sn->tag, + LOG(1, ("SN76477 '%s': VCO ext. voltage (16): %.2fV (%.2f Hz)\n", sn->device->tag, sn->vco_voltage, min_freq + ((max_freq - min_freq) * sn->vco_voltage / VCO_MAX_EXT_VOLTAGE))); } else { - LOG(1, ("SN76477 '%s': VCO ext. voltage (16): %.2fV (saturated, no output)\n", sn->tag, sn->vco_voltage)); + LOG(1, ("SN76477 '%s': VCO ext. voltage (16): %.2fV (saturated, no output)\n", sn->device->tag, sn->vco_voltage)); } } @@ -780,17 +780,17 @@ static void log_noise_gen_freq(struct SN76477 *sn) { if (sn->noise_clock_ext) { - LOG(1, ("SN76477 '%s': Noise gen frequency (4): External\n", sn->tag)); + LOG(1, ("SN76477 '%s': Noise gen frequency (4): External\n", sn->device->tag)); } else { if (compute_noise_gen_freq(sn) > 0) { - LOG(1, ("SN76477 '%s': Noise gen frequency (4): %d Hz\n", sn->tag, compute_noise_gen_freq(sn))); + LOG(1, ("SN76477 '%s': Noise gen frequency (4): %d Hz\n", sn->device->tag, compute_noise_gen_freq(sn))); } else { - LOG(1, ("SN76477 '%s': Noise gen frequency (4): N/A\n", sn->tag)); + LOG(1, ("SN76477 '%s': Noise gen frequency (4): N/A\n", sn->device->tag)); } } } @@ -809,21 +809,21 @@ static void log_noise_filter_freq(struct SN76477 *sn) double charging_time = (1 / charging_rate) * NOISE_CAP_VOLTAGE_RANGE; double discharging_time = (1 / charging_rate) * NOISE_CAP_VOLTAGE_RANGE; - LOG(1, ("SN76477 '%s': Noise filter frequency (5,6): %.0f Hz\n", sn->tag, 1 / (charging_time + discharging_time))); + LOG(1, ("SN76477 '%s': Noise filter frequency (5,6): %.0f Hz\n", sn->device->tag, 1 / (charging_time + discharging_time))); } else { - LOG(1, ("SN76477 '%s': Noise filter frequency (5,6): Very Large (Filtering Disabled)\n", sn->tag)); + LOG(1, ("SN76477 '%s': Noise filter frequency (5,6): Very Large (Filtering Disabled)\n", sn->device->tag)); } } else { - LOG(1, ("SN76477 '%s': Noise filter frequency (5,6): N/A\n", sn->tag)); + LOG(1, ("SN76477 '%s': Noise filter frequency (5,6): N/A\n", sn->device->tag)); } } else { - LOG(1, ("SN76477 '%s': Noise filter frequency (5,6): External (cap = %.2fV)\n", sn->tag, sn->noise_filter_cap)); + LOG(1, ("SN76477 '%s': Noise filter frequency (5,6): External (cap = %.2fV)\n", sn->device->tag, sn->noise_filter_cap)); } } @@ -834,16 +834,16 @@ static void log_attack_time(struct SN76477 *sn) { if (compute_attack_decay_cap_charging_rate(sn) > 0) { - LOG(1, ("SN76477 '%s': Attack time (8,10): %.4f sec\n", sn->tag, AD_CAP_VOLTAGE_RANGE * (1 / compute_attack_decay_cap_charging_rate(sn)))); + LOG(1, ("SN76477 '%s': Attack time (8,10): %.4f sec\n", sn->device->tag, AD_CAP_VOLTAGE_RANGE * (1 / compute_attack_decay_cap_charging_rate(sn)))); } else { - LOG(1, ("SN76477 '%s': Attack time (8,10): N/A\n", sn->tag)); + LOG(1, ("SN76477 '%s': Attack time (8,10): N/A\n", sn->device->tag)); } } else { - LOG(1, ("SN76477 '%s': Attack time (8,10): External (cap = %.2fV)\n", sn->tag, sn->attack_decay_cap_voltage)); + LOG(1, ("SN76477 '%s': Attack time (8,10): External (cap = %.2fV)\n", sn->device->tag, sn->attack_decay_cap_voltage)); } } @@ -854,16 +854,16 @@ static void log_decay_time(struct SN76477 *sn) { if (compute_attack_decay_cap_discharging_rate(sn) > 0) { - LOG(1, ("SN76477 '%s': Decay time (7,8): %.4f sec\n", sn->tag, AD_CAP_VOLTAGE_RANGE * (1 / compute_attack_decay_cap_discharging_rate(sn)))); + LOG(1, ("SN76477 '%s': Decay time (7,8): %.4f sec\n", sn->device->tag, AD_CAP_VOLTAGE_RANGE * (1 / compute_attack_decay_cap_discharging_rate(sn)))); } else { - LOG(1, ("SN76477 '%s': Decay time (8,10): N/A\n", sn->tag)); + LOG(1, ("SN76477 '%s': Decay time (8,10): N/A\n", sn->device->tag)); } } else { - LOG(1, ("SN76477 '%s': Decay time (7, 8): External (cap = %.2fV)\n", sn->tag, sn->attack_decay_cap_voltage)); + LOG(1, ("SN76477 '%s': Decay time (7, 8): External (cap = %.2fV)\n", sn->device->tag, sn->attack_decay_cap_voltage)); } } @@ -871,7 +871,7 @@ static void log_decay_time(struct SN76477 *sn) static void log_voltage_out(struct SN76477 *sn) { LOG(1, ("SN76477 '%s': Voltage OUT range (11,12): %.2fV - %.2fV (clips above %.2fV)\n", - sn->tag, + sn->device->tag, OUT_CENTER_LEVEL_VOLTAGE + compute_center_to_peak_voltage_out(sn) * out_neg_gain[(int)(AD_CAP_VOLTAGE_MAX * 10)], OUT_CENTER_LEVEL_VOLTAGE + compute_center_to_peak_voltage_out(sn) * out_pos_gain[(int)(AD_CAP_VOLTAGE_MAX * 10)], OUT_HIGH_CLIP_THRESHOLD)); @@ -910,10 +910,10 @@ static void open_wav_file(struct SN76477 *sn) { char wav_file_name[30]; - sprintf(wav_file_name, LOG_WAV_FILE_NAME, sn->tag); + sprintf(wav_file_name, LOG_WAV_FILE_NAME, sn->device->tag); sn->file = wav_open(wav_file_name, sn->sample_rate, 2); - LOG(1, ("SN76477 '%s': Logging output: %s\n", sn->tag, wav_file_name)); + LOG(1, ("SN76477 '%s': Logging output: %s\n", sn->device->tag, wav_file_name)); } @@ -2322,60 +2322,60 @@ static void SN76477_update(void *param, stream_sample_t **inputs, stream_sample_ * *****************************************************************************/ -static void state_save_register(struct SN76477 *sn) +static void state_save_register(const device_config *device, struct SN76477 *sn) { - state_save_register_item("sn76744", sn->tag, 0, sn->enable); - state_save_register_item("sn76744", sn->tag, 0, sn->envelope_mode); - state_save_register_item("sn76744", sn->tag, 0, sn->vco_mode); - state_save_register_item("sn76744", sn->tag, 0, sn->mixer_mode); + state_save_register_device_item(device, 0, sn->enable); + state_save_register_device_item(device, 0, sn->envelope_mode); + state_save_register_device_item(device, 0, sn->vco_mode); + state_save_register_device_item(device, 0, sn->mixer_mode); - state_save_register_item("sn76744", sn->tag, 0, sn->one_shot_res); - state_save_register_item("sn76744", sn->tag, 0, sn->one_shot_cap); - state_save_register_item("sn76744", sn->tag, 0, sn->one_shot_cap_voltage_ext); + state_save_register_device_item(device, 0, sn->one_shot_res); + state_save_register_device_item(device, 0, sn->one_shot_cap); + state_save_register_device_item(device, 0, sn->one_shot_cap_voltage_ext); - state_save_register_item("sn76744", sn->tag, 0, sn->slf_res); - state_save_register_item("sn76744", sn->tag, 0, sn->slf_cap); - state_save_register_item("sn76744", sn->tag, 0, sn->slf_cap_voltage_ext); + state_save_register_device_item(device, 0, sn->slf_res); + state_save_register_device_item(device, 0, sn->slf_cap); + state_save_register_device_item(device, 0, sn->slf_cap_voltage_ext); - state_save_register_item("sn76744", sn->tag, 0, sn->vco_voltage); - state_save_register_item("sn76744", sn->tag, 0, sn->vco_res); - state_save_register_item("sn76744", sn->tag, 0, sn->vco_cap); - state_save_register_item("sn76744", sn->tag, 0, sn->vco_cap_voltage_ext); + state_save_register_device_item(device, 0, sn->vco_voltage); + state_save_register_device_item(device, 0, sn->vco_res); + state_save_register_device_item(device, 0, sn->vco_cap); + state_save_register_device_item(device, 0, sn->vco_cap_voltage_ext); - state_save_register_item("sn76744", sn->tag, 0, sn->noise_clock_res); - state_save_register_item("sn76744", sn->tag, 0, sn->noise_clock_ext); - state_save_register_item("sn76744", sn->tag, 0, sn->noise_clock); - state_save_register_item("sn76744", sn->tag, 0, sn->noise_filter_res); - state_save_register_item("sn76744", sn->tag, 0, sn->noise_filter_cap); - state_save_register_item("sn76744", sn->tag, 0, sn->noise_filter_cap_voltage_ext); + state_save_register_device_item(device, 0, sn->noise_clock_res); + state_save_register_device_item(device, 0, sn->noise_clock_ext); + state_save_register_device_item(device, 0, sn->noise_clock); + state_save_register_device_item(device, 0, sn->noise_filter_res); + state_save_register_device_item(device, 0, sn->noise_filter_cap); + state_save_register_device_item(device, 0, sn->noise_filter_cap_voltage_ext); - state_save_register_item("sn76744", sn->tag, 0, sn->attack_res); - state_save_register_item("sn76744", sn->tag, 0, sn->decay_res); - state_save_register_item("sn76744", sn->tag, 0, sn->attack_decay_cap); - state_save_register_item("sn76744", sn->tag, 0, sn->attack_decay_cap_voltage_ext); + state_save_register_device_item(device, 0, sn->attack_res); + state_save_register_device_item(device, 0, sn->decay_res); + state_save_register_device_item(device, 0, sn->attack_decay_cap); + state_save_register_device_item(device, 0, sn->attack_decay_cap_voltage_ext); - state_save_register_item("sn76744", sn->tag, 0, sn->amplitude_res); - state_save_register_item("sn76744", sn->tag, 0, sn->feedback_res); - state_save_register_item("sn76744", sn->tag, 0, sn->pitch_voltage); + state_save_register_device_item(device, 0, sn->amplitude_res); + state_save_register_device_item(device, 0, sn->feedback_res); + state_save_register_device_item(device, 0, sn->pitch_voltage); - state_save_register_item("sn76744", sn->tag, 0, sn->one_shot_cap_voltage); - state_save_register_item("sn76744", sn->tag, 0, sn->one_shot_running_ff); + state_save_register_device_item(device, 0, sn->one_shot_cap_voltage); + state_save_register_device_item(device, 0, sn->one_shot_running_ff); - state_save_register_item("sn76744", sn->tag, 0, sn->slf_cap_voltage); - state_save_register_item("sn76744", sn->tag, 0, sn->slf_out_ff); + state_save_register_device_item(device, 0, sn->slf_cap_voltage); + state_save_register_device_item(device, 0, sn->slf_out_ff); - state_save_register_item("sn76744", sn->tag, 0, sn->vco_cap_voltage); - state_save_register_item("sn76744", sn->tag, 0, sn->vco_out_ff); - state_save_register_item("sn76744", sn->tag, 0, sn->vco_alt_pos_edge_ff); + state_save_register_device_item(device, 0, sn->vco_cap_voltage); + state_save_register_device_item(device, 0, sn->vco_out_ff); + state_save_register_device_item(device, 0, sn->vco_alt_pos_edge_ff); - state_save_register_item("sn76744", sn->tag, 0, sn->noise_filter_cap_voltage); - state_save_register_item("sn76744", sn->tag, 0, sn->real_noise_bit_ff); - state_save_register_item("sn76744", sn->tag, 0, sn->filtered_noise_bit_ff); - state_save_register_item("sn76744", sn->tag, 0, sn->noise_gen_count); + state_save_register_device_item(device, 0, sn->noise_filter_cap_voltage); + state_save_register_device_item(device, 0, sn->real_noise_bit_ff); + state_save_register_device_item(device, 0, sn->filtered_noise_bit_ff); + state_save_register_device_item(device, 0, sn->noise_gen_count); - state_save_register_item("sn76744", sn->tag, 0, sn->attack_decay_cap_voltage); + state_save_register_device_item(device, 0, sn->attack_decay_cap_voltage); - state_save_register_item("sn76744", sn->tag, 0, sn->rng); + state_save_register_device_item(device, 0, sn->rng); } @@ -2402,7 +2402,7 @@ static SND_START( sn76477 ) sn = auto_malloc(sizeof(*sn)); memset(sn, 0, sizeof(*sn)); - sn->tag = tag; + sn->device = device; sn->channel = stream_create(0, 1, device->machine->sample_rate, sn, SN76477_update); @@ -2450,7 +2450,7 @@ static SND_START( sn76477 ) sn->noise_filter_cap_voltage = NOISE_CAP_VOLTAGE_MIN; sn->attack_decay_cap_voltage = AD_CAP_VOLTAGE_MIN; - state_save_register(sn); + state_save_register(device, sn); log_complete_state(sn); diff --git a/src/emu/sound/sn76496.c b/src/emu/sound/sn76496.c index ef072426f32..3d40278d7c6 100644 --- a/src/emu/sound/sn76496.c +++ b/src/emu/sound/sn76496.c @@ -314,7 +314,7 @@ static int SN76496_init(struct SN76496 *R,int clock) } -static void *generic_start(const char *tag, int clock, int feedbackmask, int noisetaps, int noiseinvert) +static void *generic_start(const device_config *device, int clock, int feedbackmask, int noisetaps, int noiseinvert) { struct SN76496 *chip; @@ -329,14 +329,14 @@ static void *generic_start(const char *tag, int clock, int feedbackmask, int noi chip->WhitenoiseTaps = noisetaps; chip->WhitenoiseInvert = noiseinvert; - state_save_register_item_array("sn76496", tag, 0, chip->Register); - state_save_register_item("sn76496", tag, 0, chip->LastRegister); - state_save_register_item_array("sn76496", tag, 0, chip->Volume); - state_save_register_item("sn76496", tag, 0, chip->RNG); - state_save_register_item("sn76496", tag, 0, chip->NoiseMode); - state_save_register_item_array("sn76496", tag, 0, chip->Period); - state_save_register_item_array("sn76496", tag, 0, chip->Count); - state_save_register_item_array("sn76496", tag, 0, chip->Output); + state_save_register_device_item_array(device, 0, chip->Register); + state_save_register_device_item(device, 0, chip->LastRegister); + state_save_register_device_item_array(device, 0, chip->Volume); + state_save_register_device_item(device, 0, chip->RNG); + state_save_register_device_item(device, 0, chip->NoiseMode); + state_save_register_device_item_array(device, 0, chip->Period); + state_save_register_device_item_array(device, 0, chip->Count); + state_save_register_device_item_array(device, 0, chip->Output); return chip; @@ -345,32 +345,32 @@ static void *generic_start(const char *tag, int clock, int feedbackmask, int noi static SND_START( sn76489 ) { - return generic_start(tag, clock, 0x4000, 0x03, TRUE); + return generic_start(device, clock, 0x4000, 0x03, TRUE); } static SND_START( sn76489a ) { - return generic_start(tag, clock, 0x8000, 0x06, FALSE); + return generic_start(device, clock, 0x8000, 0x06, FALSE); } static SND_START( sn76494 ) { - return generic_start(tag, clock, 0x8000, 0x06, FALSE); + return generic_start(device, clock, 0x8000, 0x06, FALSE); } static SND_START( sn76496 ) { - return generic_start(tag, clock, 0x8000, 0x06, FALSE); + return generic_start(device, clock, 0x8000, 0x06, FALSE); } static SND_START( gamegear ) { - return generic_start(tag, clock, 0x8000, 0x09, FALSE); + return generic_start(device, clock, 0x8000, 0x09, FALSE); } static SND_START( smsiii ) { - return generic_start(tag, clock, 0x8000, 0x09, FALSE); + return generic_start(device, clock, 0x8000, 0x09, FALSE); } diff --git a/src/emu/sound/snkwave.c b/src/emu/sound/snkwave.c index 3aa0ba33e06..46187fa2688 100644 --- a/src/emu/sound/snkwave.c +++ b/src/emu/sound/snkwave.c @@ -123,10 +123,10 @@ static SND_START( snkwave ) chip->waveform_position = 0; /* register with the save state system */ - state_save_register_item("snkwave", tag, 0, chip->frequency); - state_save_register_item("snkwave", tag, 0, chip->counter); - state_save_register_item("snkwave", tag, 0, chip->waveform_position); - state_save_register_item_pointer("snkwave", tag, 0, chip->waveform, WAVEFORM_LENGTH); + state_save_register_device_item(device, 0, chip->frequency); + state_save_register_device_item(device, 0, chip->counter); + state_save_register_device_item(device, 0, chip->waveform_position); + state_save_register_device_item_pointer(device, 0, chip->waveform, WAVEFORM_LENGTH); return chip; } diff --git a/src/emu/sound/sp0256.c b/src/emu/sound/sp0256.c index e9a0cc95252..b8df5a7ad88 100644 --- a/src/emu/sound/sp0256.c +++ b/src/emu/sound/sp0256.c @@ -1205,7 +1205,7 @@ static SND_START( sp0256 ) /* -------------------------------------------------------------------- */ /* Setup the ROM. */ /* -------------------------------------------------------------------- */ - sp->rom = memory_region(device->machine, tag); + sp->rom = device->region; sp0256_bitrevbuff(sp->rom, 0, 0xffff); return sp; diff --git a/src/emu/sound/tms5110.c b/src/emu/sound/tms5110.c index d2cc7633fde..af198b010dc 100644 --- a/src/emu/sound/tms5110.c +++ b/src/emu/sound/tms5110.c @@ -176,7 +176,7 @@ void tms5110_set_variant(void *chip, int variant) tms->variant = variant; } -void *tms5110_create(const char *tag, int variant) +void *tms5110_create(const device_config *device, int variant) { struct tms5110 *tms; @@ -185,45 +185,45 @@ void *tms5110_create(const char *tag, int variant) tms5110_set_variant(tms, variant); - state_save_register_item_array("tms5110", tag, 0, tms->fifo); - state_save_register_item("tms5110", tag, 0, tms->fifo_head); - state_save_register_item("tms5110", tag, 0, tms->fifo_tail); - state_save_register_item("tms5110", tag, 0, tms->fifo_count); + state_save_register_device_item_array(device, 0, tms->fifo); + state_save_register_device_item(device, 0, tms->fifo_head); + state_save_register_device_item(device, 0, tms->fifo_tail); + state_save_register_device_item(device, 0, tms->fifo_count); - state_save_register_item("tms5110", tag, 0, tms->PDC); - state_save_register_item("tms5110", tag, 0, tms->CTL_pins); - state_save_register_item("tms5110", tag, 0, tms->speaking_now); - state_save_register_item("tms5110", tag, 0, tms->speak_delay_frames); - state_save_register_item("tms5110", tag, 0, tms->talk_status); + state_save_register_device_item(device, 0, tms->PDC); + state_save_register_device_item(device, 0, tms->CTL_pins); + state_save_register_device_item(device, 0, tms->speaking_now); + state_save_register_device_item(device, 0, tms->speak_delay_frames); + state_save_register_device_item(device, 0, tms->talk_status); - state_save_register_item("tms5110", tag, 0, tms->old_energy); - state_save_register_item("tms5110", tag, 0, tms->old_pitch); - state_save_register_item_array("tms5110", tag, 0, tms->old_k); + state_save_register_device_item(device, 0, tms->old_energy); + state_save_register_device_item(device, 0, tms->old_pitch); + state_save_register_device_item_array(device, 0, tms->old_k); - state_save_register_item("tms5110", tag, 0, tms->new_energy); - state_save_register_item("tms5110", tag, 0, tms->new_pitch); - state_save_register_item_array("tms5110", tag, 0, tms->new_k); + state_save_register_device_item(device, 0, tms->new_energy); + state_save_register_device_item(device, 0, tms->new_pitch); + state_save_register_device_item_array(device, 0, tms->new_k); - state_save_register_item("tms5110", tag, 0, tms->current_energy); - state_save_register_item("tms5110", tag, 0, tms->current_pitch); - state_save_register_item_array("tms5110", tag, 0, tms->current_k); + state_save_register_device_item(device, 0, tms->current_energy); + state_save_register_device_item(device, 0, tms->current_pitch); + state_save_register_device_item_array(device, 0, tms->current_k); - state_save_register_item("tms5110", tag, 0, tms->target_energy); - state_save_register_item("tms5110", tag, 0, tms->target_pitch); - state_save_register_item_array("tms5110", tag, 0, tms->target_k); + state_save_register_device_item(device, 0, tms->target_energy); + state_save_register_device_item(device, 0, tms->target_pitch); + state_save_register_device_item_array(device, 0, tms->target_k); - state_save_register_item("tms5110", tag, 0, tms->interp_count); - state_save_register_item("tms5110", tag, 0, tms->sample_count); - state_save_register_item("tms5110", tag, 0, tms->pitch_count); + state_save_register_device_item(device, 0, tms->interp_count); + state_save_register_device_item(device, 0, tms->sample_count); + state_save_register_device_item(device, 0, tms->pitch_count); - state_save_register_item("tms5110", tag, 0, tms->next_is_address); - state_save_register_item("tms5110", tag, 0, tms->address); - state_save_register_item("tms5110", tag, 0, tms->schedule_dummy_read); - state_save_register_item("tms5110", tag, 0, tms->addr_bit); + state_save_register_device_item(device, 0, tms->next_is_address); + state_save_register_device_item(device, 0, tms->address); + state_save_register_device_item(device, 0, tms->schedule_dummy_read); + state_save_register_device_item(device, 0, tms->addr_bit); - state_save_register_item_array("tms5110", tag, 0, tms->x); + state_save_register_device_item_array(device, 0, tms->x); - state_save_register_item("tms5110", tag, 0, tms->RNG); + state_save_register_device_item(device, 0, tms->RNG); return tms; } diff --git a/src/emu/sound/tms5110.h b/src/emu/sound/tms5110.h index 808be3b2c3b..b9c157ee61a 100644 --- a/src/emu/sound/tms5110.h +++ b/src/emu/sound/tms5110.h @@ -27,7 +27,7 @@ #define TMS5110_IS_CD2802 TMS5110_IS_5110 #define TMS5110_IS_M58817 TMS5110_IS_5110 -void *tms5110_create(const char *tag, int variant); +void *tms5110_create(const device_config *device, int variant); void tms5110_destroy(void *chip); void tms5110_set_variant(void *chip, int variant); diff --git a/src/emu/sound/tms5220.c b/src/emu/sound/tms5220.c index dd9b261f746..cd56d513138 100644 --- a/src/emu/sound/tms5220.c +++ b/src/emu/sound/tms5220.c @@ -175,60 +175,60 @@ static INT16 clip_and_wrap(INT16 cliptemp); #define DEBUG_5220 0 -void *tms5220_create(const char *tag) +void *tms5220_create(const device_config *device) { struct tms5220 *tms; tms = malloc_or_die(sizeof(*tms)); memset(tms, 0, sizeof(*tms)); - state_save_register_item_array("tms5220", tag, 0, tms->fifo); - state_save_register_item("tms5220", tag, 0, tms->fifo_head); - state_save_register_item("tms5220", tag, 0, tms->fifo_tail); - state_save_register_item("tms5220", tag, 0, tms->fifo_count); - state_save_register_item("tms5220", tag, 0, tms->fifo_bits_taken); + state_save_register_device_item_array(device, 0, tms->fifo); + state_save_register_device_item(device, 0, tms->fifo_head); + state_save_register_device_item(device, 0, tms->fifo_tail); + state_save_register_device_item(device, 0, tms->fifo_count); + state_save_register_device_item(device, 0, tms->fifo_bits_taken); - state_save_register_item("tms5220", tag, 0, tms->tms5220_speaking); - state_save_register_item("tms5220", tag, 0, tms->speak_external); - state_save_register_item("tms5220", tag, 0, tms->talk_status); - state_save_register_item("tms5220", tag, 0, tms->first_frame); - state_save_register_item("tms5220", tag, 0, tms->last_frame); - state_save_register_item("tms5220", tag, 0, tms->buffer_low); - state_save_register_item("tms5220", tag, 0, tms->buffer_empty); - state_save_register_item("tms5220", tag, 0, tms->irq_pin); + state_save_register_device_item(device, 0, tms->tms5220_speaking); + state_save_register_device_item(device, 0, tms->speak_external); + state_save_register_device_item(device, 0, tms->talk_status); + state_save_register_device_item(device, 0, tms->first_frame); + state_save_register_device_item(device, 0, tms->last_frame); + state_save_register_device_item(device, 0, tms->buffer_low); + state_save_register_device_item(device, 0, tms->buffer_empty); + state_save_register_device_item(device, 0, tms->irq_pin); - state_save_register_item("tms5220", tag, 0, tms->old_energy); - state_save_register_item("tms5220", tag, 0, tms->old_pitch); - state_save_register_item_array("tms5220", tag, 0, tms->old_k); + state_save_register_device_item(device, 0, tms->old_energy); + state_save_register_device_item(device, 0, tms->old_pitch); + state_save_register_device_item_array(device, 0, tms->old_k); - state_save_register_item("tms5220", tag, 0, tms->new_energy); - state_save_register_item("tms5220", tag, 0, tms->new_pitch); - state_save_register_item_array("tms5220", tag, 0, tms->new_k); + state_save_register_device_item(device, 0, tms->new_energy); + state_save_register_device_item(device, 0, tms->new_pitch); + state_save_register_device_item_array(device, 0, tms->new_k); - state_save_register_item("tms5220", tag, 0, tms->current_energy); - state_save_register_item("tms5220", tag, 0, tms->current_pitch); - state_save_register_item_array("tms5220", tag, 0, tms->current_k); + state_save_register_device_item(device, 0, tms->current_energy); + state_save_register_device_item(device, 0, tms->current_pitch); + state_save_register_device_item_array(device, 0, tms->current_k); - state_save_register_item("tms5220", tag, 0, tms->target_energy); - state_save_register_item("tms5220", tag, 0, tms->target_pitch); - state_save_register_item_array("tms5220", tag, 0, tms->target_k); + state_save_register_device_item(device, 0, tms->target_energy); + state_save_register_device_item(device, 0, tms->target_pitch); + state_save_register_device_item_array(device, 0, tms->target_k); - state_save_register_item("tms5220", tag, 0, tms->previous_energy); + state_save_register_device_item(device, 0, tms->previous_energy); - state_save_register_item("tms5220", tag, 0, tms->interp_count); - state_save_register_item("tms5220", tag, 0, tms->sample_count); - state_save_register_item("tms5220", tag, 0, tms->pitch_count); + state_save_register_device_item(device, 0, tms->interp_count); + state_save_register_device_item(device, 0, tms->sample_count); + state_save_register_device_item(device, 0, tms->pitch_count); - state_save_register_item_array("tms5220", tag, 0, tms->u); - state_save_register_item_array("tms5220", tag, 0, tms->x); + state_save_register_device_item_array(device, 0, tms->u); + state_save_register_device_item_array(device, 0, tms->x); - state_save_register_item("tms5220", tag, 0, tms->RNG); - state_save_register_item("tms5220", tag, 0, tms->excitation_data); + state_save_register_device_item(device, 0, tms->RNG); + state_save_register_device_item(device, 0, tms->excitation_data); - state_save_register_item("tms5220", tag, 0, tms->schedule_dummy_read); - state_save_register_item("tms5220", tag, 0, tms->data_register); - state_save_register_item("tms5220", tag, 0, tms->RDB_flag); - state_save_register_item("tms5220", tag, 0, tms->digital_select); + state_save_register_device_item(device, 0, tms->schedule_dummy_read); + state_save_register_device_item(device, 0, tms->data_register); + state_save_register_device_item(device, 0, tms->RDB_flag); + state_save_register_device_item(device, 0, tms->digital_select); return tms; } diff --git a/src/emu/sound/tms5220.h b/src/emu/sound/tms5220.h index c42891ceccb..922e4681a45 100644 --- a/src/emu/sound/tms5220.h +++ b/src/emu/sound/tms5220.h @@ -3,7 +3,7 @@ #ifndef __TMS5220_H__ #define __TMS5220_H__ -void *tms5220_create(const char *tag); +void *tms5220_create(const device_config *device); void tms5220_destroy(void *chip); void tms5220_reset_chip(void *chip); diff --git a/src/emu/sound/upd7759.c b/src/emu/sound/upd7759.c index 140835fc510..70de9f3142a 100644 --- a/src/emu/sound/upd7759.c +++ b/src/emu/sound/upd7759.c @@ -593,36 +593,36 @@ static STATE_POSTLOAD( upd7759_postload ) } -static void register_for_save(struct upd7759_chip *chip, const char *tag) +static void register_for_save(struct upd7759_chip *chip, const device_config *device) { - state_save_register_item("upd7759", tag, 0, chip->pos); - state_save_register_item("upd7759", tag, 0, chip->step); + state_save_register_device_item(device, 0, chip->pos); + state_save_register_device_item(device, 0, chip->step); - state_save_register_item("upd7759", tag, 0, chip->fifo_in); - state_save_register_item("upd7759", tag, 0, chip->reset); - state_save_register_item("upd7759", tag, 0, chip->start); - state_save_register_item("upd7759", tag, 0, chip->drq); + state_save_register_device_item(device, 0, chip->fifo_in); + state_save_register_device_item(device, 0, chip->reset); + state_save_register_device_item(device, 0, chip->start); + state_save_register_device_item(device, 0, chip->drq); - state_save_register_item("upd7759", tag, 0, chip->state); - state_save_register_item("upd7759", tag, 0, chip->clocks_left); - state_save_register_item("upd7759", tag, 0, chip->nibbles_left); - state_save_register_item("upd7759", tag, 0, chip->repeat_count); - state_save_register_item("upd7759", tag, 0, chip->post_drq_state); - state_save_register_item("upd7759", tag, 0, chip->post_drq_clocks); - state_save_register_item("upd7759", tag, 0, chip->req_sample); - state_save_register_item("upd7759", tag, 0, chip->last_sample); - state_save_register_item("upd7759", tag, 0, chip->block_header); - state_save_register_item("upd7759", tag, 0, chip->sample_rate); - state_save_register_item("upd7759", tag, 0, chip->first_valid_header); - state_save_register_item("upd7759", tag, 0, chip->offset); - state_save_register_item("upd7759", tag, 0, chip->repeat_offset); + state_save_register_device_item(device, 0, chip->state); + state_save_register_device_item(device, 0, chip->clocks_left); + state_save_register_device_item(device, 0, chip->nibbles_left); + state_save_register_device_item(device, 0, chip->repeat_count); + state_save_register_device_item(device, 0, chip->post_drq_state); + state_save_register_device_item(device, 0, chip->post_drq_clocks); + state_save_register_device_item(device, 0, chip->req_sample); + state_save_register_device_item(device, 0, chip->last_sample); + state_save_register_device_item(device, 0, chip->block_header); + state_save_register_device_item(device, 0, chip->sample_rate); + state_save_register_device_item(device, 0, chip->first_valid_header); + state_save_register_device_item(device, 0, chip->offset); + state_save_register_device_item(device, 0, chip->repeat_offset); - state_save_register_item("upd7759", tag, 0, chip->adpcm_state); - state_save_register_item("upd7759", tag, 0, chip->adpcm_data); - state_save_register_item("upd7759", tag, 0, chip->sample); + state_save_register_device_item(device, 0, chip->adpcm_state); + state_save_register_device_item(device, 0, chip->adpcm_data); + state_save_register_device_item(device, 0, chip->sample); - state_save_register_item("upd7759", tag, 0, chip->romoffset); - state_save_register_postload(Machine, upd7759_postload, chip); + state_save_register_device_item(device, 0, chip->romoffset); + state_save_register_postload(device->machine, upd7759_postload, chip); } @@ -648,9 +648,9 @@ static SND_START( upd7759 ) chip->state = STATE_IDLE; /* compute the ROM base or allocate a timer */ - chip->rom = chip->rombase = memory_region(device->machine, tag); + chip->rom = chip->rombase = device->region; if (chip->rom == NULL) - chip->timer = timer_alloc(Machine, upd7759_slave_update, chip); + chip->timer = timer_alloc(device->machine, upd7759_slave_update, chip); /* set the DRQ callback */ chip->drqcallback = intf->drqcallback; @@ -662,7 +662,7 @@ static SND_START( upd7759 ) /* toggle the reset line to finish the reset */ upd7759_reset(chip); - register_for_save(chip, tag); + register_for_save(chip, device); return chip; } diff --git a/src/emu/sound/vlm5030.c b/src/emu/sound/vlm5030.c index d1129a548d5..c8221239aa7 100644 --- a/src/emu/sound/vlm5030.c +++ b/src/emu/sound/vlm5030.c @@ -657,10 +657,10 @@ static SND_START( vlm5030 ) vlm5030_reset(chip); chip->phase = PH_IDLE; - chip->rom = memory_region(device->machine, tag); + chip->rom = device->region; /* memory size */ if( chip->intf->memory_size == 0) - chip->address_mask = memory_region_length(device->machine, tag)-1; + chip->address_mask = device->regionbytes-1; else chip->address_mask = chip->intf->memory_size-1; @@ -668,25 +668,25 @@ static SND_START( vlm5030 ) /* don't restore "UINT8 *chip->rom" when use vlm5030_set_rom() */ - state_save_register_item(VLM_NAME,tag,0,chip->address); - state_save_register_item(VLM_NAME,tag,0,chip->pin_BSY); - state_save_register_item(VLM_NAME,tag,0,chip->pin_ST); - state_save_register_item(VLM_NAME,tag,0,chip->pin_VCU); - state_save_register_item(VLM_NAME,tag,0,chip->pin_RST); - state_save_register_item(VLM_NAME,tag,0,chip->latch_data); - state_save_register_item(VLM_NAME,tag,0,chip->vcu_addr_h); - state_save_register_item(VLM_NAME,tag,0,chip->parameter); - state_save_register_item(VLM_NAME,tag,0,chip->phase); - state_save_register_item(VLM_NAME,tag,0,chip->interp_count); - state_save_register_item(VLM_NAME,tag,0,chip->sample_count); - state_save_register_item(VLM_NAME,tag,0,chip->pitch_count); - state_save_register_item(VLM_NAME,tag,0,chip->old_energy); - state_save_register_item(VLM_NAME,tag,0,chip->old_pitch); - state_save_register_item_array(VLM_NAME,tag,0,chip->old_k); - state_save_register_item(VLM_NAME,tag,0,chip->target_energy); - state_save_register_item(VLM_NAME,tag,0,chip->target_pitch); - state_save_register_item_array(VLM_NAME,tag,0,chip->target_k); - state_save_register_item_array(VLM_NAME,tag,0,chip->x); + state_save_register_device_item(device,0,chip->address); + state_save_register_device_item(device,0,chip->pin_BSY); + state_save_register_device_item(device,0,chip->pin_ST); + state_save_register_device_item(device,0,chip->pin_VCU); + state_save_register_device_item(device,0,chip->pin_RST); + state_save_register_device_item(device,0,chip->latch_data); + state_save_register_device_item(device,0,chip->vcu_addr_h); + state_save_register_device_item(device,0,chip->parameter); + state_save_register_device_item(device,0,chip->phase); + state_save_register_device_item(device,0,chip->interp_count); + state_save_register_device_item(device,0,chip->sample_count); + state_save_register_device_item(device,0,chip->pitch_count); + state_save_register_device_item(device,0,chip->old_energy); + state_save_register_device_item(device,0,chip->old_pitch); + state_save_register_device_item_array(device,0,chip->old_k); + state_save_register_device_item(device,0,chip->target_energy); + state_save_register_device_item(device,0,chip->target_pitch); + state_save_register_device_item_array(device,0,chip->target_k); + state_save_register_device_item_array(device,0,chip->x); state_save_register_postload(device->machine, vlm5030_restore_state, chip); return chip; diff --git a/src/emu/sound/wave.c b/src/emu/sound/wave.c index c9fc9d7cc81..6f34df58a09 100644 --- a/src/emu/sound/wave.c +++ b/src/emu/sound/wave.c @@ -62,7 +62,7 @@ static SND_START( wave ) const device_config *image = NULL; #ifdef MESS - image = device_list_find_by_tag( device->machine->config->devicelist, CASSETTE, tag ); + image = device_list_find_by_tag( device->machine->config->devicelist, CASSETTE, device->tag ); #endif stream_create(0, 1, device->machine->sample_rate, (void *)image, wave_sound_update); return (void *) (FPTR)(sndindex | WAVE_TOKEN_MASK); diff --git a/src/emu/sound/x1_010.c b/src/emu/sound/x1_010.c index 2fa2b069fd9..616235d0cf6 100644 --- a/src/emu/sound/x1_010.c +++ b/src/emu/sound/x1_010.c @@ -86,7 +86,7 @@ struct x1_010_info int rate; // Output sampling rate (Hz) sound_stream * stream; // Stream handle int address; // address eor data - const char *region; // region name + const UINT8 *region; // region name int sound_enable; // sound output enable/disable UINT8 reg[0x2000]; // X1-010 Register & wave form area UINT8 HI_WORD_BUF[0x2000]; // X1-010 16bit access ram check avoidance work @@ -111,7 +111,7 @@ static void seta_update( void *param, stream_sample_t **inputs, stream_sample_t register INT8 *start, *end, data; register UINT8 *env; register UINT32 smp_offs, smp_step, env_offs, env_step, delta; - UINT8 *snd1 = memory_region(Machine, info->region); + const UINT8 *snd1 = info->region; // mixer buffer zero clear memset( buffer[0], 0, length*sizeof(*buffer[0]) ); @@ -201,7 +201,7 @@ static SND_START( x1_010 ) info = auto_malloc(sizeof(*info)); memset(info, 0, sizeof(*info)); - info->region = tag; + info->region = device->region; info->base_clock = clock; info->rate = clock / 1024; info->address = intf->adr; diff --git a/src/emu/sound/ym2151.c b/src/emu/sound/ym2151.c index d03f1473f23..8a34bae3259 100644 --- a/src/emu/sound/ym2151.c +++ b/src/emu/sound/ym2151.c @@ -1390,7 +1390,7 @@ STATE_POSTLOAD( ym2151_postload ) set_connect(&YM2151_chip->oper[j*4], j, YM2151_chip->connect[j]); } -static void ym2151_state_save_register( YM2151 *chip, const char *tag ) +static void ym2151_state_save_register( YM2151 *chip, const device_config *device ) { int j; @@ -1401,98 +1401,98 @@ static void ym2151_state_save_register( YM2151 *chip, const char *tag ) op = &chip->oper[(j&7)*4+(j>>3)]; - state_save_register_item("ym2151", tag, j, op->phase); - state_save_register_item("ym2151", tag, j, op->freq); - state_save_register_item("ym2151", tag, j, op->dt1); - state_save_register_item("ym2151", tag, j, op->mul); - state_save_register_item("ym2151", tag, j, op->dt1_i); - state_save_register_item("ym2151", tag, j, op->dt2); + state_save_register_device_item(device, j, op->phase); + state_save_register_device_item(device, j, op->freq); + state_save_register_device_item(device, j, op->dt1); + state_save_register_device_item(device, j, op->mul); + state_save_register_device_item(device, j, op->dt1_i); + state_save_register_device_item(device, j, op->dt2); /* operators connection is saved in chip data block */ - state_save_register_item("ym2151", tag, j, op->mem_value); + state_save_register_device_item(device, j, op->mem_value); - state_save_register_item("ym2151", tag, j, op->fb_shift); - state_save_register_item("ym2151", tag, j, op->fb_out_curr); - state_save_register_item("ym2151", tag, j, op->fb_out_prev); - state_save_register_item("ym2151", tag, j, op->kc); - state_save_register_item("ym2151", tag, j, op->kc_i); - state_save_register_item("ym2151", tag, j, op->pms); - state_save_register_item("ym2151", tag, j, op->ams); - state_save_register_item("ym2151", tag, j, op->AMmask); + state_save_register_device_item(device, j, op->fb_shift); + state_save_register_device_item(device, j, op->fb_out_curr); + state_save_register_device_item(device, j, op->fb_out_prev); + state_save_register_device_item(device, j, op->kc); + state_save_register_device_item(device, j, op->kc_i); + state_save_register_device_item(device, j, op->pms); + state_save_register_device_item(device, j, op->ams); + state_save_register_device_item(device, j, op->AMmask); - state_save_register_item("ym2151", tag, j, op->state); - state_save_register_item("ym2151", tag, j, op->eg_sh_ar); - state_save_register_item("ym2151", tag, j, op->eg_sel_ar); - state_save_register_item("ym2151", tag, j, op->tl); - state_save_register_item("ym2151", tag, j, op->volume); - state_save_register_item("ym2151", tag, j, op->eg_sh_d1r); - state_save_register_item("ym2151", tag, j, op->eg_sel_d1r); - state_save_register_item("ym2151", tag, j, op->d1l); - state_save_register_item("ym2151", tag, j, op->eg_sh_d2r); - state_save_register_item("ym2151", tag, j, op->eg_sel_d2r); - state_save_register_item("ym2151", tag, j, op->eg_sh_rr); - state_save_register_item("ym2151", tag, j, op->eg_sel_rr); + state_save_register_device_item(device, j, op->state); + state_save_register_device_item(device, j, op->eg_sh_ar); + state_save_register_device_item(device, j, op->eg_sel_ar); + state_save_register_device_item(device, j, op->tl); + state_save_register_device_item(device, j, op->volume); + state_save_register_device_item(device, j, op->eg_sh_d1r); + state_save_register_device_item(device, j, op->eg_sel_d1r); + state_save_register_device_item(device, j, op->d1l); + state_save_register_device_item(device, j, op->eg_sh_d2r); + state_save_register_device_item(device, j, op->eg_sel_d2r); + state_save_register_device_item(device, j, op->eg_sh_rr); + state_save_register_device_item(device, j, op->eg_sel_rr); - state_save_register_item("ym2151", tag, j, op->key); - state_save_register_item("ym2151", tag, j, op->ks); - state_save_register_item("ym2151", tag, j, op->ar); - state_save_register_item("ym2151", tag, j, op->d1r); - state_save_register_item("ym2151", tag, j, op->d2r); - state_save_register_item("ym2151", tag, j, op->rr); + state_save_register_device_item(device, j, op->key); + state_save_register_device_item(device, j, op->ks); + state_save_register_device_item(device, j, op->ar); + state_save_register_device_item(device, j, op->d1r); + state_save_register_device_item(device, j, op->d2r); + state_save_register_device_item(device, j, op->rr); - state_save_register_item("ym2151", tag, j, op->reserved0); - state_save_register_item("ym2151", tag, j, op->reserved1); + state_save_register_device_item(device, j, op->reserved0); + state_save_register_device_item(device, j, op->reserved1); } - state_save_register_item_array("ym2151", tag, 0, chip->pan); + state_save_register_device_item_array(device, 0, chip->pan); - state_save_register_item("ym2151", tag, 0, chip->eg_cnt); - state_save_register_item("ym2151", tag, 0, chip->eg_timer); - state_save_register_item("ym2151", tag, 0, chip->eg_timer_add); - state_save_register_item("ym2151", tag, 0, chip->eg_timer_overflow); + state_save_register_device_item(device, 0, chip->eg_cnt); + state_save_register_device_item(device, 0, chip->eg_timer); + state_save_register_device_item(device, 0, chip->eg_timer_add); + state_save_register_device_item(device, 0, chip->eg_timer_overflow); - state_save_register_item("ym2151", tag, 0, chip->lfo_phase); - state_save_register_item("ym2151", tag, 0, chip->lfo_timer); - state_save_register_item("ym2151", tag, 0, chip->lfo_timer_add); - state_save_register_item("ym2151", tag, 0, chip->lfo_overflow); - state_save_register_item("ym2151", tag, 0, chip->lfo_counter); - state_save_register_item("ym2151", tag, 0, chip->lfo_counter_add); - state_save_register_item("ym2151", tag, 0, chip->lfo_wsel); - state_save_register_item("ym2151", tag, 0, chip->amd); - state_save_register_item("ym2151", tag, 0, chip->pmd); - state_save_register_item("ym2151", tag, 0, chip->lfa); - state_save_register_item("ym2151", tag, 0, chip->lfp); + state_save_register_device_item(device, 0, chip->lfo_phase); + state_save_register_device_item(device, 0, chip->lfo_timer); + state_save_register_device_item(device, 0, chip->lfo_timer_add); + state_save_register_device_item(device, 0, chip->lfo_overflow); + state_save_register_device_item(device, 0, chip->lfo_counter); + state_save_register_device_item(device, 0, chip->lfo_counter_add); + state_save_register_device_item(device, 0, chip->lfo_wsel); + state_save_register_device_item(device, 0, chip->amd); + state_save_register_device_item(device, 0, chip->pmd); + state_save_register_device_item(device, 0, chip->lfa); + state_save_register_device_item(device, 0, chip->lfp); - state_save_register_item("ym2151", tag, 0, chip->test); - state_save_register_item("ym2151", tag, 0, chip->ct); + state_save_register_device_item(device, 0, chip->test); + state_save_register_device_item(device, 0, chip->ct); - state_save_register_item("ym2151", tag, 0, chip->noise); - state_save_register_item("ym2151", tag, 0, chip->noise_rng); - state_save_register_item("ym2151", tag, 0, chip->noise_p); - state_save_register_item("ym2151", tag, 0, chip->noise_f); + state_save_register_device_item(device, 0, chip->noise); + state_save_register_device_item(device, 0, chip->noise_rng); + state_save_register_device_item(device, 0, chip->noise_p); + state_save_register_device_item(device, 0, chip->noise_f); - state_save_register_item("ym2151", tag, 0, chip->csm_req); - state_save_register_item("ym2151", tag, 0, chip->irq_enable); - state_save_register_item("ym2151", tag, 0, chip->status); + state_save_register_device_item(device, 0, chip->csm_req); + state_save_register_device_item(device, 0, chip->irq_enable); + state_save_register_device_item(device, 0, chip->status); - state_save_register_item("ym2151", tag, 0, chip->timer_A_index); - state_save_register_item("ym2151", tag, 0, chip->timer_B_index); - state_save_register_item("ym2151", tag, 0, chip->timer_A_index_old); - state_save_register_item("ym2151", tag, 0, chip->timer_B_index_old); + state_save_register_device_item(device, 0, chip->timer_A_index); + state_save_register_device_item(device, 0, chip->timer_B_index); + state_save_register_device_item(device, 0, chip->timer_A_index_old); + state_save_register_device_item(device, 0, chip->timer_B_index_old); #ifdef USE_MAME_TIMERS - state_save_register_item("ym2151", tag, 0, chip->irqlinestate); + state_save_register_device_item(device, 0, chip->irqlinestate); #endif - state_save_register_item_array("ym2151", tag, 0, chip->connect); + state_save_register_device_item_array(device, 0, chip->connect); - state_save_register_postload(Machine, ym2151_postload, chip); + state_save_register_postload(device->machine, ym2151_postload, chip); } #else STATE_POSTLOAD( ym2151_postload ) { } -static void ym2151_state_save_register( YM2151 *chip, const char *tag ) +static void ym2151_state_save_register( YM2151 *chip, const device_config *device ) { } #endif @@ -1505,7 +1505,7 @@ static void ym2151_state_save_register( YM2151 *chip, const char *tag ) * 'clock' is the chip clock in Hz * 'rate' is sampling rate */ -void * ym2151_init(const char *tag, int clock, int rate) +void * ym2151_init(const device_config *device, int clock, int rate) { YM2151 *PSG; @@ -1515,7 +1515,7 @@ void * ym2151_init(const char *tag, int clock, int rate) memset(PSG, 0, sizeof(YM2151)); - ym2151_state_save_register( PSG, tag ); + ym2151_state_save_register( PSG, device ); init_tables(); diff --git a/src/emu/sound/ym2151.h b/src/emu/sound/ym2151.h index 40ef1ec5f1b..6d34df700c2 100644 --- a/src/emu/sound/ym2151.h +++ b/src/emu/sound/ym2151.h @@ -54,7 +54,7 @@ typedef stream_sample_t SAMP; ** 'clock' is the chip clock in Hz ** 'rate' is sampling rate */ -void *ym2151_init(const char *tag, int clock, int rate); +void *ym2151_init(const device_config *device, int clock, int rate); /* shutdown the YM2151 emulators*/ void ym2151_shutdown(void *chip); diff --git a/src/emu/sound/ym2413.c b/src/emu/sound/ym2413.c index a075b5c69b0..ba2c662cb98 100644 --- a/src/emu/sound/ym2413.c +++ b/src/emu/sound/ym2413.c @@ -262,7 +262,6 @@ typedef struct { UINT8 address; /* address register */ UINT8 status; /* status flag */ - const char *tag; /* tag */ int clock; /* master clock (Hz) */ int rate; /* sampling rate (Hz) */ double freqbase; /* frequency base */ @@ -1251,83 +1250,83 @@ static void OPLCloseTable( void ) } -static void OPLL_init_save(YM2413 *chip) +static void OPLL_init_save(YM2413 *chip, const device_config *device) { int chnum; - state_save_register_item_array("ym2413", chip->tag, 0, chip->instvol_r); - state_save_register_item("ym2413", chip->tag, 0, chip->eg_cnt); - state_save_register_item("ym2413", chip->tag, 0, chip->eg_timer); - state_save_register_item("ym2413", chip->tag, 0, chip->eg_timer_add); - state_save_register_item("ym2413", chip->tag, 0, chip->eg_timer_overflow); - state_save_register_item("ym2413", chip->tag, 0, chip->rhythm); - state_save_register_item("ym2413", chip->tag, 0, chip->lfo_am_cnt); - state_save_register_item("ym2413", chip->tag, 0, chip->lfo_am_inc); - state_save_register_item("ym2413", chip->tag, 0, chip->lfo_pm_cnt); - state_save_register_item("ym2413", chip->tag, 0, chip->lfo_pm_inc); - state_save_register_item("ym2413", chip->tag, 0, chip->noise_rng); - state_save_register_item("ym2413", chip->tag, 0, chip->noise_p); - state_save_register_item("ym2413", chip->tag, 0, chip->noise_f); - state_save_register_item_2d_array("ym2413", chip->tag, 0, chip->inst_tab); - state_save_register_item("ym2413", chip->tag, 0, chip->address); - state_save_register_item("ym2413", chip->tag, 0, chip->status); + state_save_register_device_item_array(device, 0, chip->instvol_r); + state_save_register_device_item(device, 0, chip->eg_cnt); + state_save_register_device_item(device, 0, chip->eg_timer); + state_save_register_device_item(device, 0, chip->eg_timer_add); + state_save_register_device_item(device, 0, chip->eg_timer_overflow); + state_save_register_device_item(device, 0, chip->rhythm); + state_save_register_device_item(device, 0, chip->lfo_am_cnt); + state_save_register_device_item(device, 0, chip->lfo_am_inc); + state_save_register_device_item(device, 0, chip->lfo_pm_cnt); + state_save_register_device_item(device, 0, chip->lfo_pm_inc); + state_save_register_device_item(device, 0, chip->noise_rng); + state_save_register_device_item(device, 0, chip->noise_p); + state_save_register_device_item(device, 0, chip->noise_f); + state_save_register_device_item_2d_array(device, 0, chip->inst_tab); + state_save_register_device_item(device, 0, chip->address); + state_save_register_device_item(device, 0, chip->status); for (chnum = 0; chnum < ARRAY_LENGTH(chip->P_CH); chnum++) { OPLL_CH *ch = &chip->P_CH[chnum]; int slotnum; - state_save_register_item("ym2413", chip->tag, chnum, ch->block_fnum); - state_save_register_item("ym2413", chip->tag, chnum, ch->fc); - state_save_register_item("ym2413", chip->tag, chnum, ch->ksl_base); - state_save_register_item("ym2413", chip->tag, chnum, ch->kcode); - state_save_register_item("ym2413", chip->tag, chnum, ch->sus); + state_save_register_device_item(device, chnum, ch->block_fnum); + state_save_register_device_item(device, chnum, ch->fc); + state_save_register_device_item(device, chnum, ch->ksl_base); + state_save_register_device_item(device, chnum, ch->kcode); + state_save_register_device_item(device, chnum, ch->sus); for (slotnum = 0; slotnum < ARRAY_LENGTH(ch->SLOT); slotnum++) { OPLL_SLOT *sl = &ch->SLOT[slotnum]; - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->ar); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->dr); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->rr); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->KSR); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->ksl); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->ksr); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->mul); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->phase); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->freq); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->fb_shift); - state_save_register_item_array("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->op1_out); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_type); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->state); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->TL); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->TLL); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->volume); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->sl); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sh_dp); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sel_dp); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sh_ar); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sel_ar); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sh_dr); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sel_dr); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sh_rr); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sel_rr); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sh_rs); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sel_rs); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->key); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->AMmask); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->vib); - state_save_register_item("ym2413", chip->tag, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->wavetable); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->ar); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->dr); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->rr); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->KSR); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->ksl); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->ksr); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->mul); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->phase); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->freq); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->fb_shift); + state_save_register_device_item_array(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->op1_out); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_type); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->state); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->TL); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->TLL); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->volume); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->sl); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sh_dp); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sel_dp); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sh_ar); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sel_ar); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sh_dr); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sel_dr); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sh_rr); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sel_rr); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sh_rs); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->eg_sel_rs); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->key); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->AMmask); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->vib); + state_save_register_device_item(device, chnum * ARRAY_LENGTH(ch->SLOT) + slotnum, sl->wavetable); } } } -static void OPLL_initalize(YM2413 *chip) +static void OPLL_initalize(YM2413 *chip, const device_config *device) { int i; - OPLL_init_save(chip); + OPLL_init_save(chip, device); /* frequency base */ chip->freqbase = (chip->rate) ? ((double)chip->clock / 72.0) / chip->rate : 0; @@ -2003,7 +2002,7 @@ static void OPLLResetChip(YM2413 *chip) /* Create one of virtual YM2413 */ /* 'clock' is chip clock in Hz */ /* 'rate' is sampling rate */ -static YM2413 *OPLLCreate(int clock, int rate, const char *tag) +static YM2413 *OPLLCreate(int clock, int rate, const device_config *device) { char *ptr; YM2413 *chip; @@ -2025,12 +2024,11 @@ static YM2413 *OPLLCreate(int clock, int rate, const char *tag) chip = (YM2413 *)ptr; - chip->tag = tag; chip->clock = clock; chip->rate = rate; /* init global tables */ - OPLL_initalize(chip); + OPLL_initalize(chip, device); /* reset chip */ OPLLResetChip(chip); @@ -2080,10 +2078,10 @@ static unsigned char OPLLRead(YM2413 *chip,int a) -void * ym2413_init(int clock, int rate, const char *tag) +void * ym2413_init(int clock, int rate, const device_config *device) { /* emulator create */ - return OPLLCreate(clock, rate, tag); + return OPLLCreate(clock, rate, device); } void ym2413_shutdown(void *chip) diff --git a/src/emu/sound/ym2413.h b/src/emu/sound/ym2413.h index 6f0c4c87420..c983994f585 100644 --- a/src/emu/sound/ym2413.h +++ b/src/emu/sound/ym2413.h @@ -29,7 +29,7 @@ typedef INT8 SAMP; -void *ym2413_init(int clock, int rate, const char *tag); +void *ym2413_init(int clock, int rate, const device_config *device); void ym2413_shutdown(void *chip); void ym2413_reset_chip(void *chip); void ym2413_write(void *chip, int a, int v); diff --git a/src/emu/sound/ymdeltat.c b/src/emu/sound/ymdeltat.c index 3710868eee2..25c6e9a9582 100644 --- a/src/emu/sound/ymdeltat.c +++ b/src/emu/sound/ymdeltat.c @@ -453,16 +453,16 @@ void YM_DELTAT_postload(YM_DELTAT *DELTAT,UINT8 *regs) DELTAT->now_data = *(DELTAT->memory + (DELTAT->now_addr>>1) ); } -void YM_DELTAT_savestate(const char *statename,const char *tag,YM_DELTAT *DELTAT) +void YM_DELTAT_savestate(const device_config *device,YM_DELTAT *DELTAT) { #ifdef __STATE_H__ - state_save_register_item(statename, tag, 0, DELTAT->portstate); - state_save_register_item(statename, tag, 0, DELTAT->now_addr); - state_save_register_item(statename, tag, 0, DELTAT->now_step); - state_save_register_item(statename, tag, 0, DELTAT->acc); - state_save_register_item(statename, tag, 0, DELTAT->prev_acc); - state_save_register_item(statename, tag, 0, DELTAT->adpcmd); - state_save_register_item(statename, tag, 0, DELTAT->adpcml); + state_save_register_device_item(device, 0, DELTAT->portstate); + state_save_register_device_item(device, 0, DELTAT->now_addr); + state_save_register_device_item(device, 0, DELTAT->now_step); + state_save_register_device_item(device, 0, DELTAT->acc); + state_save_register_device_item(device, 0, DELTAT->prev_acc); + state_save_register_device_item(device, 0, DELTAT->adpcmd); + state_save_register_device_item(device, 0, DELTAT->adpcml); #endif } diff --git a/src/emu/sound/ymdeltat.h b/src/emu/sound/ymdeltat.h index c12c4f15c1f..4b4d70c3c64 100644 --- a/src/emu/sound/ymdeltat.h +++ b/src/emu/sound/ymdeltat.h @@ -79,6 +79,6 @@ void YM_DELTAT_ADPCM_Reset(YM_DELTAT *DELTAT,int pan,int emulation_mode); void YM_DELTAT_ADPCM_CALC(YM_DELTAT *DELTAT); void YM_DELTAT_postload(YM_DELTAT *DELTAT,UINT8 *regs); -void YM_DELTAT_savestate(const char *statename,const char *tag,YM_DELTAT *DELTAT); +void YM_DELTAT_savestate(const device_config *device,YM_DELTAT *DELTAT); #endif /* __YMDELTAT_H__ */ diff --git a/src/emu/sound/ymf271.c b/src/emu/sound/ymf271.c index b187ba50d46..3ff9c0221da 100644 --- a/src/emu/sound/ymf271.c +++ b/src/emu/sound/ymf271.c @@ -112,7 +112,6 @@ typedef struct write8_space_func ext_mem_write; void (*irq_callback)(running_machine *, int); - const char *tag; UINT32 clock; sound_stream * stream; } YMF271Chip; @@ -1653,82 +1652,82 @@ static void init_tables(void) mix = auto_malloc(48000*2*sizeof(*mix)); } -static void init_state(YMF271Chip *chip) +static void init_state(YMF271Chip *chip, const device_config *device) { int i; for (i = 0; i < ARRAY_LENGTH(chip->slots); i++) { - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].extout); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].lfoFreq); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].pms); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].ams); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].detune); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].multiple); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].tl); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].keyscale); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].ar); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].decay1rate); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].decay2rate); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].decay1lvl); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].relrate); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].fns); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].block); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].feedback); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].waveform); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].accon); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].algorithm); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].ch0_level); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].ch1_level); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].ch2_level); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].ch3_level); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].startaddr); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].loopaddr); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].endaddr); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].fs); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].srcnote); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].srcb); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].step); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].stepptr); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].active); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].bits); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].volume); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].env_state); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].env_attack_step); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].env_decay1_step); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].env_decay2_step); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].env_release_step); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].feedback_modulation0); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].feedback_modulation1); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].lfo_phase); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].lfo_step); - state_save_register_item("ymf271", chip->tag, i, chip->slots[i].lfo_amplitude); + state_save_register_device_item(device, i, chip->slots[i].extout); + state_save_register_device_item(device, i, chip->slots[i].lfoFreq); + state_save_register_device_item(device, i, chip->slots[i].pms); + state_save_register_device_item(device, i, chip->slots[i].ams); + state_save_register_device_item(device, i, chip->slots[i].detune); + state_save_register_device_item(device, i, chip->slots[i].multiple); + state_save_register_device_item(device, i, chip->slots[i].tl); + state_save_register_device_item(device, i, chip->slots[i].keyscale); + state_save_register_device_item(device, i, chip->slots[i].ar); + state_save_register_device_item(device, i, chip->slots[i].decay1rate); + state_save_register_device_item(device, i, chip->slots[i].decay2rate); + state_save_register_device_item(device, i, chip->slots[i].decay1lvl); + state_save_register_device_item(device, i, chip->slots[i].relrate); + state_save_register_device_item(device, i, chip->slots[i].fns); + state_save_register_device_item(device, i, chip->slots[i].block); + state_save_register_device_item(device, i, chip->slots[i].feedback); + state_save_register_device_item(device, i, chip->slots[i].waveform); + state_save_register_device_item(device, i, chip->slots[i].accon); + state_save_register_device_item(device, i, chip->slots[i].algorithm); + state_save_register_device_item(device, i, chip->slots[i].ch0_level); + state_save_register_device_item(device, i, chip->slots[i].ch1_level); + state_save_register_device_item(device, i, chip->slots[i].ch2_level); + state_save_register_device_item(device, i, chip->slots[i].ch3_level); + state_save_register_device_item(device, i, chip->slots[i].startaddr); + state_save_register_device_item(device, i, chip->slots[i].loopaddr); + state_save_register_device_item(device, i, chip->slots[i].endaddr); + state_save_register_device_item(device, i, chip->slots[i].fs); + state_save_register_device_item(device, i, chip->slots[i].srcnote); + state_save_register_device_item(device, i, chip->slots[i].srcb); + state_save_register_device_item(device, i, chip->slots[i].step); + state_save_register_device_item(device, i, chip->slots[i].stepptr); + state_save_register_device_item(device, i, chip->slots[i].active); + state_save_register_device_item(device, i, chip->slots[i].bits); + state_save_register_device_item(device, i, chip->slots[i].volume); + state_save_register_device_item(device, i, chip->slots[i].env_state); + state_save_register_device_item(device, i, chip->slots[i].env_attack_step); + state_save_register_device_item(device, i, chip->slots[i].env_decay1_step); + state_save_register_device_item(device, i, chip->slots[i].env_decay2_step); + state_save_register_device_item(device, i, chip->slots[i].env_release_step); + state_save_register_device_item(device, i, chip->slots[i].feedback_modulation0); + state_save_register_device_item(device, i, chip->slots[i].feedback_modulation1); + state_save_register_device_item(device, i, chip->slots[i].lfo_phase); + state_save_register_device_item(device, i, chip->slots[i].lfo_step); + state_save_register_device_item(device, i, chip->slots[i].lfo_amplitude); } for (i = 0; i < sizeof(chip->groups) / sizeof(chip->groups[0]); i++) { - state_save_register_item("ymf271", chip->tag, i, chip->groups[i].sync); - state_save_register_item("ymf271", chip->tag, i, chip->groups[i].pfm); + state_save_register_device_item(device, i, chip->groups[i].sync); + state_save_register_device_item(device, i, chip->groups[i].pfm); } - state_save_register_item("ymf271", chip->tag, 0, chip->timerA); - state_save_register_item("ymf271", chip->tag, 0, chip->timerB); - state_save_register_item("ymf271", chip->tag, 0, chip->timerAVal); - state_save_register_item("ymf271", chip->tag, 0, chip->timerBVal); - state_save_register_item("ymf271", chip->tag, 0, chip->irqstate); - state_save_register_item("ymf271", chip->tag, 0, chip->status); - state_save_register_item("ymf271", chip->tag, 0, chip->enable); - state_save_register_item("ymf271", chip->tag, 0, chip->reg0); - state_save_register_item("ymf271", chip->tag, 0, chip->reg1); - state_save_register_item("ymf271", chip->tag, 0, chip->reg2); - state_save_register_item("ymf271", chip->tag, 0, chip->reg3); - state_save_register_item("ymf271", chip->tag, 0, chip->pcmreg); - state_save_register_item("ymf271", chip->tag, 0, chip->timerreg); - state_save_register_item("ymf271", chip->tag, 0, chip->ext_address); - state_save_register_item("ymf271", chip->tag, 0, chip->ext_read); + state_save_register_device_item(device, 0, chip->timerA); + state_save_register_device_item(device, 0, chip->timerB); + state_save_register_device_item(device, 0, chip->timerAVal); + state_save_register_device_item(device, 0, chip->timerBVal); + state_save_register_device_item(device, 0, chip->irqstate); + state_save_register_device_item(device, 0, chip->status); + state_save_register_device_item(device, 0, chip->enable); + state_save_register_device_item(device, 0, chip->reg0); + state_save_register_device_item(device, 0, chip->reg1); + state_save_register_device_item(device, 0, chip->reg2); + state_save_register_device_item(device, 0, chip->reg3); + state_save_register_device_item(device, 0, chip->pcmreg); + state_save_register_device_item(device, 0, chip->timerreg); + state_save_register_device_item(device, 0, chip->ext_address); + state_save_register_device_item(device, 0, chip->ext_read); } -static void ymf271_init(YMF271Chip *chip, UINT8 *rom, void (*cb)(running_machine *,int), read8_space_func ext_read, write8_space_func ext_write) +static void ymf271_init(const device_config *device, YMF271Chip *chip, UINT8 *rom, void (*cb)(running_machine *,int), read8_space_func ext_read, write8_space_func ext_write) { chip->timA = timer_alloc(Machine, ymf271_timer_a_tick, chip); chip->timB = timer_alloc(Machine, ymf271_timer_b_tick, chip); @@ -1740,7 +1739,7 @@ static void ymf271_init(YMF271Chip *chip, UINT8 *rom, void (*cb)(running_machine chip->ext_mem_write = ext_write; init_tables(); - init_state(chip); + init_state(chip, device); } static SND_START( ymf271 ) @@ -1752,12 +1751,11 @@ static SND_START( ymf271 ) chip = auto_malloc(sizeof(*chip)); memset(chip, 0, sizeof(*chip)); - chip->tag = tag; chip->clock = clock; intf = (config != NULL) ? config : &defintrf; - ymf271_init(chip, memory_region(device->machine, tag), intf->irq_callback, intf->ext_read, intf->ext_write); + ymf271_init(device, chip, device->region, intf->irq_callback, intf->ext_read, intf->ext_write); chip->stream = stream_create(0, 2, clock/384, chip, ymf271_update); for (i = 0; i < 256; i++) diff --git a/src/emu/sound/ymf278b.c b/src/emu/sound/ymf278b.c index 543c1478d19..64285e5f14a 100644 --- a/src/emu/sound/ymf278b.c +++ b/src/emu/sound/ymf278b.c @@ -679,7 +679,7 @@ static SND_START( ymf278b ) intf = (config != NULL) ? config : &defintrf; - ymf278b_init(device->machine, chip, memory_region(device->machine, tag), intf->irq_callback, clock); + ymf278b_init(device->machine, chip, device->region, intf->irq_callback, clock); chip->stream = stream_create(0, 2, clock/768, chip, ymf278b_pcm_update); // Volume table, 1 = -0.375dB, 8 = -3dB, 256 = -96dB diff --git a/src/emu/sound/ymz280b.c b/src/emu/sound/ymz280b.c index be5d3889f50..180b07dea19 100644 --- a/src/emu/sound/ymz280b.c +++ b/src/emu/sound/ymz280b.c @@ -644,7 +644,7 @@ static SND_START( ymz280b ) /* initialize the rest of the structure */ chip->master_clock = (double)clock / 384.0; - chip->region_base = memory_region(device->machine, tag); + chip->region_base = device->region; chip->irq_callback = intf->irq_callback; /* create the stream */ @@ -656,38 +656,38 @@ static SND_START( ymz280b ) /* state save */ { int j; - state_save_register_item("ymz280b", tag, 0, chip->current_register); - state_save_register_item("ymz280b", tag, 0, chip->status_register); - state_save_register_item("ymz280b", tag, 0, chip->irq_state); - state_save_register_item("ymz280b", tag, 0, chip->irq_mask); - state_save_register_item("ymz280b", tag, 0, chip->irq_enable); - state_save_register_item("ymz280b", tag, 0, chip->keyon_enable); - state_save_register_item("ymz280b", tag, 0, chip->rom_readback_addr); + state_save_register_device_item(device, 0, chip->current_register); + state_save_register_device_item(device, 0, chip->status_register); + state_save_register_device_item(device, 0, chip->irq_state); + state_save_register_device_item(device, 0, chip->irq_mask); + state_save_register_device_item(device, 0, chip->irq_enable); + state_save_register_device_item(device, 0, chip->keyon_enable); + state_save_register_device_item(device, 0, chip->rom_readback_addr); for (j = 0; j < 8; j++) { - state_save_register_item("ymz280b", tag, j, chip->voice[j].playing); - state_save_register_item("ymz280b", tag, j, chip->voice[j].keyon); - state_save_register_item("ymz280b", tag, j, chip->voice[j].looping); - state_save_register_item("ymz280b", tag, j, chip->voice[j].mode); - state_save_register_item("ymz280b", tag, j, chip->voice[j].fnum); - state_save_register_item("ymz280b", tag, j, chip->voice[j].level); - state_save_register_item("ymz280b", tag, j, chip->voice[j].pan); - state_save_register_item("ymz280b", tag, j, chip->voice[j].start); - state_save_register_item("ymz280b", tag, j, chip->voice[j].stop); - state_save_register_item("ymz280b", tag, j, chip->voice[j].loop_start); - state_save_register_item("ymz280b", tag, j, chip->voice[j].loop_end); - state_save_register_item("ymz280b", tag, j, chip->voice[j].position); - state_save_register_item("ymz280b", tag, j, chip->voice[j].signal); - state_save_register_item("ymz280b", tag, j, chip->voice[j].step); - state_save_register_item("ymz280b", tag, j, chip->voice[j].loop_signal); - state_save_register_item("ymz280b", tag, j, chip->voice[j].loop_step); - state_save_register_item("ymz280b", tag, j, chip->voice[j].loop_count); - state_save_register_item("ymz280b", tag, j, chip->voice[j].output_left); - state_save_register_item("ymz280b", tag, j, chip->voice[j].output_right); - state_save_register_item("ymz280b", tag, j, chip->voice[j].output_pos); - state_save_register_item("ymz280b", tag, j, chip->voice[j].last_sample); - state_save_register_item("ymz280b", tag, j, chip->voice[j].curr_sample); - state_save_register_item("ymz280b", tag, j, chip->voice[j].irq_schedule); + state_save_register_device_item(device, j, chip->voice[j].playing); + state_save_register_device_item(device, j, chip->voice[j].keyon); + state_save_register_device_item(device, j, chip->voice[j].looping); + state_save_register_device_item(device, j, chip->voice[j].mode); + state_save_register_device_item(device, j, chip->voice[j].fnum); + state_save_register_device_item(device, j, chip->voice[j].level); + state_save_register_device_item(device, j, chip->voice[j].pan); + state_save_register_device_item(device, j, chip->voice[j].start); + state_save_register_device_item(device, j, chip->voice[j].stop); + state_save_register_device_item(device, j, chip->voice[j].loop_start); + state_save_register_device_item(device, j, chip->voice[j].loop_end); + state_save_register_device_item(device, j, chip->voice[j].position); + state_save_register_device_item(device, j, chip->voice[j].signal); + state_save_register_device_item(device, j, chip->voice[j].step); + state_save_register_device_item(device, j, chip->voice[j].loop_signal); + state_save_register_device_item(device, j, chip->voice[j].loop_step); + state_save_register_device_item(device, j, chip->voice[j].loop_count); + state_save_register_device_item(device, j, chip->voice[j].output_left); + state_save_register_device_item(device, j, chip->voice[j].output_right); + state_save_register_device_item(device, j, chip->voice[j].output_pos); + state_save_register_device_item(device, j, chip->voice[j].last_sample); + state_save_register_device_item(device, j, chip->voice[j].curr_sample); + state_save_register_device_item(device, j, chip->voice[j].irq_schedule); } } diff --git a/src/emu/state.c b/src/emu/state.c index aa351912046..fb6030c338a 100644 --- a/src/emu/state.c +++ b/src/emu/state.c @@ -57,30 +57,48 @@ enum TYPE DEFINITIONS ***************************************************************************/ -typedef struct _ss_entry ss_entry; -struct _ss_entry +typedef struct _state_entry state_entry; +struct _state_entry { - ss_entry * next; /* pointer to next entry */ - void * data; /* pointer to the memory to save/restore */ - astring * name; /* full name */ - UINT8 typesize; /* size of the raw data type */ - UINT32 typecount; /* number of items */ - int tag; /* saving tag */ - UINT32 offset; /* offset within the final structure */ + state_entry * next; /* pointer to next entry */ + running_machine * machine; /* pointer back to the owning machine */ + void * data; /* pointer to the memory to save/restore */ + astring * name; /* full name */ + UINT8 typesize; /* size of the raw data type */ + UINT32 typecount; /* number of items */ + int tag; /* saving tag */ + UINT32 offset; /* offset within the final structure */ }; -typedef struct _ss_func ss_func; -struct _ss_func +typedef struct _state_callback state_callback; +struct _state_callback { - ss_func * next; /* pointer to next entry */ + state_callback * next; /* pointer to next entry */ + running_machine * machine; /* pointer back to the owning machine */ + void * param; /* function parameter */ + int tag; /* saving tag */ union { - state_presave_func presave; /* presave callback */ - state_postload_func postload; /* postload callback */ - } func; /* function pointers */ - void * param; /* function parameter */ - int tag; /* saving tag */ + state_presave_func presave; /* presave callback */ + state_postload_func postload; /* postload callback */ + } func; /* function pointers */ +}; + + +/* In mame.h: typedef struct _state_private state_private; */ +struct _state_private +{ + UINT8 reg_allowed; /* are registrations allowed? */ + int illegal_regs; /* number of illegal registrations */ + + state_entry * entrylist; /* list of live entries */ + state_callback * prefunclist; /* presave function list */ + state_callback * postfunclist; /* postsave function list */ + + UINT8 * ioarray; /* array where we accumulate all the data */ + UINT32 ioarraysize; /* size of the array */ + mame_file * iofile; /* file currently in use */ }; @@ -89,19 +107,10 @@ struct _ss_func GLOBAL VARIABLES ***************************************************************************/ -static int ss_illegal_regs; -static ss_entry *ss_registry; -static ss_func *ss_prefunc_reg; -static ss_func *ss_postfunc_reg; - +/* this stuff goes away when CPU cores are fully pointer-ized */ static int ss_tag_stack[TAG_STACK_SIZE]; static int ss_tag_stack_index; static int ss_current_tag; -static UINT8 ss_registration_allowed; - -static UINT8 *ss_dump_array; -static mame_file *ss_dump_file; -static UINT32 ss_dump_size; #ifdef MESS static const char ss_magic_num[8] = { 'M', 'E', 'S', 'S', 'S', 'A', 'V', 'E' }; @@ -134,10 +143,27 @@ static void (*const ss_conv[])(UINT8 *, UINT32) = { 0, 0, ss_c2, 0, ss_c4, 0, 0, void state_init(running_machine *machine) { - ss_illegal_regs = 0; - ss_current_tag = 0; - ss_tag_stack_index = 0; - ss_registration_allowed = FALSE; + machine->state_data = auto_malloc(sizeof(*machine->state_data)); + memset(machine->state_data, 0, sizeof(*machine->state_data)); +} + + +/*------------------------------------------------- + state_save_get_reg_count - return the number + of total registrations so far +-------------------------------------------------*/ + +int state_save_get_reg_count(running_machine *machine) +{ + state_private *global = machine->state_data; + state_entry *entry; + int count = 0; + + /* iterate over entries with matching tags */ + for (entry = global->entrylist; entry != NULL; entry = entry->next) + count++; + + return count; } @@ -173,25 +199,6 @@ void state_save_pop_tag(void) } -/*------------------------------------------------- - state_save_get_reg_count - count the number of - registered entries on the current tag --------------------------------------------------*/ - -int state_save_get_reg_count(void) -{ - ss_entry *entry; - int count = 0; - - /* iterate over entries with matching tags */ - for (entry = ss_registry; entry; entry = entry->next) - if (entry->tag == ss_current_tag) - count++; - - return count; -} - - /*************************************************************************** REGISTRATION HANDLING @@ -202,10 +209,12 @@ int state_save_get_reg_count(void) registrations to happen -------------------------------------------------*/ -void state_save_allow_registration(int allowed) +void state_save_allow_registration(running_machine *machine, int allowed) { /* allow/deny registration */ - ss_registration_allowed = allowed; + machine->state_data->reg_allowed = allowed; + if (!allowed) + state_save_dump_registry(machine); } @@ -214,9 +223,9 @@ void state_save_allow_registration(int allowed) whether or not registrations are allowed -------------------------------------------------*/ -int state_save_registration_allowed(void) +int state_save_registration_allowed(running_machine *machine) { - return ss_registration_allowed; + return machine->state_data->reg_allowed; } @@ -225,20 +234,21 @@ int state_save_registration_allowed(void) array of data in memory -------------------------------------------------*/ -void state_save_register_memory(const char *module, const char *tag, UINT32 index, const char *name, void *val, UINT32 valsize, UINT32 valcount) +void state_save_register_memory(running_machine *machine, const char *module, const char *tag, UINT32 index, const char *name, void *val, UINT32 valsize, UINT32 valcount) { - ss_entry **entry, *next; + state_private *global = machine->state_data; + state_entry **entryptr, *next; astring *totalname; assert(valsize == 1 || valsize == 2 || valsize == 4 || valsize == 8); /* check for invalid timing */ - if (!ss_registration_allowed) + if (!global->reg_allowed) { logerror("Attempt to register save state entry after state registration is closed! module %s tag %s name %s\n",module, tag, name); if (Machine->gamedrv->flags & GAME_SUPPORTS_SAVE) fatalerror("Attempt to register save state entry after state registration is closed! module %s tag %s name %s\n", module, tag, name); - ss_illegal_regs++; + global->illegal_regs++; return; } @@ -250,31 +260,32 @@ void state_save_register_memory(const char *module, const char *tag, UINT32 inde astring_printf(totalname, "%X/%s/%X/%s", ss_current_tag, module, index, name); /* look for duplicates and an entry to insert in front of */ - for (entry = &ss_registry; *entry; entry = &(*entry)->next) + for (entryptr = &global->entrylist; *entryptr != NULL; entryptr = &(*entryptr)->next) { /* stop if the next guy's string is greater than ours */ - int cmpval = astring_cmp((*entry)->name, totalname); + int cmpval = astring_cmp((*entryptr)->name, totalname); if (cmpval > 0) break; /* error if we are equal */ - if ((*entry)->tag == ss_current_tag && cmpval == 0) + if ((*entryptr)->tag == ss_current_tag && cmpval == 0) fatalerror("Duplicate save state registration entry (%d, %s)", ss_current_tag, astring_c(totalname)); } /* didn't find one; allocate a new one */ - next = *entry; - *entry = malloc_or_die(sizeof(**entry)); - memset(*entry, 0, sizeof(**entry)); + next = *entryptr; + *entryptr = malloc_or_die(sizeof(**entryptr)); + memset(*entryptr, 0, sizeof(**entryptr)); /* fill in the rest */ - (*entry)->next = next; - (*entry)->data = val; - (*entry)->name = totalname; - (*entry)->typesize = valsize; - (*entry)->typecount = valcount; - (*entry)->tag = ss_current_tag; - restrack_register_object(OBJTYPE_STATEREG, *entry, 0, __FILE__, __LINE__); + (*entryptr)->next = next; + (*entryptr)->machine = machine; + (*entryptr)->data = val; + (*entryptr)->name = totalname; + (*entryptr)->typesize = valsize; + (*entryptr)->typecount = valcount; + (*entryptr)->tag = ss_current_tag; + restrack_register_object(OBJTYPE_STATEREG, *entryptr, 0, __FILE__, __LINE__); } @@ -283,9 +294,9 @@ void state_save_register_memory(const char *module, const char *tag, UINT32 inde bitmap to be saved -------------------------------------------------*/ -void state_save_register_bitmap(const char *module, const char *tag, UINT32 index, const char *name, bitmap_t *val) +void state_save_register_bitmap(running_machine *machine, const char *module, const char *tag, UINT32 index, const char *name, bitmap_t *val) { - state_save_register_memory(module, tag, index, name, val->base, val->bpp / 8, val->rowpixels * val->height); + state_save_register_memory(machine, module, tag, index, name, val->base, val->bpp / 8, val->rowpixels * val->height); } @@ -301,26 +312,28 @@ void state_save_register_bitmap(const char *module, const char *tag, UINT32 inde void state_save_register_presave(running_machine *machine, state_presave_func func, void *param) { - ss_func **cur; + state_private *global = machine->state_data; + state_callback **cbptr; /* check for invalid timing */ - if (!ss_registration_allowed) + if (!global->reg_allowed) fatalerror("Attempt to register callback function after state registration is closed!"); /* scan for duplicates and push through to the end */ - for (cur = &ss_prefunc_reg; *cur; cur = &(*cur)->next) - if ((*cur)->func.presave == func && (*cur)->param == param && (*cur)->tag == ss_current_tag) + for (cbptr = &global->prefunclist; *cbptr != NULL; cbptr = &(*cbptr)->next) + if ((*cbptr)->func.presave == func && (*cbptr)->param == param && (*cbptr)->tag == ss_current_tag) fatalerror("Duplicate save state function (%d, %p, %p)", ss_current_tag, param, func); /* allocate a new entry */ - *cur = malloc_or_die(sizeof(ss_func)); + *cbptr = malloc_or_die(sizeof(state_callback)); /* fill it in */ - (*cur)->next = NULL; - (*cur)->func.presave = func; - (*cur)->param = param; - (*cur)->tag = ss_current_tag; - restrack_register_object(OBJTYPE_STATEREG, *cur, 1, __FILE__, __LINE__); + (*cbptr)->next = NULL; + (*cbptr)->machine = machine; + (*cbptr)->func.presave = func; + (*cbptr)->param = param; + (*cbptr)->tag = ss_current_tag; + restrack_register_object(OBJTYPE_STATEREG, *cbptr, 1, __FILE__, __LINE__); } @@ -331,26 +344,28 @@ void state_save_register_presave(running_machine *machine, state_presave_func fu void state_save_register_postload(running_machine *machine, state_postload_func func, void *param) { - ss_func **cur; + state_private *global = machine->state_data; + state_callback **cbptr; /* check for invalid timing */ - if (!ss_registration_allowed) + if (!global->reg_allowed) fatalerror("Attempt to register callback function after state registration is closed!"); /* scan for duplicates and push through to the end */ - for (cur = &ss_postfunc_reg; *cur; cur = &(*cur)->next) - if ((*cur)->func.postload == func && (*cur)->param == param && (*cur)->tag == ss_current_tag) + for (cbptr = &global->postfunclist; *cbptr != NULL; cbptr = &(*cbptr)->next) + if ((*cbptr)->func.postload == func && (*cbptr)->param == param && (*cbptr)->tag == ss_current_tag) fatalerror("Duplicate save state function (%d, %p, %p)", ss_current_tag, param, func); /* allocate a new entry */ - *cur = malloc_or_die(sizeof(ss_func)); + *cbptr = malloc_or_die(sizeof(state_callback)); /* fill it in */ - (*cur)->next = NULL; - (*cur)->func.postload = func; - (*cur)->param = param; - (*cur)->tag = ss_current_tag; - restrack_register_object(OBJTYPE_STATEREG, *cur, 2, __FILE__, __LINE__); + (*cbptr)->next = NULL; + (*cbptr)->machine = machine; + (*cbptr)->func.postload = func; + (*cbptr)->param = param; + (*cbptr)->tag = ss_current_tag; + restrack_register_object(OBJTYPE_STATEREG, *cbptr, 2, __FILE__, __LINE__); } @@ -364,28 +379,21 @@ void state_save_register_postload(running_machine *machine, state_postload_func to the current resource tag -------------------------------------------------*/ -static void func_free(ss_func **root, void *ptr) +static void func_free(state_callback **rootptr, void *ptr) { - ss_func **func; + state_callback **cbptr; /* iterate over the function list */ - for (func = root; *func; ) - { - /* if this entry matches, free it */ - if (*func == ptr) + for (cbptr = rootptr; *cbptr != NULL; cbptr = &(*cbptr)->next) + if (*cbptr == ptr) { - ss_func *func_to_free = *func; + state_callback *cb = *cbptr; /* de-link us from the list and free our memory */ - *func = (*func)->next; - free(func_to_free); + *cbptr = (*cbptr)->next; + free(cb); break; } - - /* otherwise, advance */ - else - func = &(*func)->next; - } } @@ -397,43 +405,45 @@ static void func_free(ss_func **root, void *ptr) void state_destructor(void *ptr, size_t size) { + state_private *global = NULL; + /* size of 0 means an entry */ if (size == 0) { - ss_entry **entry; + state_entry **entryptr; /* iterate over entries */ - for (entry = &ss_registry; *entry; ) - { - /* if this entry matches, free it */ - if (*entry == ptr) + global = ((state_entry *)ptr)->machine->state_data; + for (entryptr = &global->entrylist; *entryptr != NULL; entryptr = &(*entryptr)->next) + if (*entryptr == ptr) { - ss_entry *entry_to_free = *entry; + state_entry *entry = *entryptr; /* de-link us from the list and free our memory */ - *entry = (*entry)->next; - astring_free(entry_to_free->name); - free(entry_to_free); + *entryptr = (*entryptr)->next; + astring_free(entry->name); + free(entry); break; } - - /* if not a match, move on */ - else - entry = &(*entry)->next; - } } /* size of 1 means a pre function */ else if (size == 1) - func_free(&ss_prefunc_reg, ptr); + { + global = ((state_callback *)ptr)->machine->state_data; + func_free(&global->prefunclist, ptr); + } /* size of 2 means a post function */ else if (size == 2) - func_free(&ss_postfunc_reg, ptr); + { + global = ((state_callback *)ptr)->machine->state_data; + func_free(&global->postfunclist, ptr); + } /* if we're clear of all registrations, reset the invalid counter */ - if (ss_registry == NULL && ss_prefunc_reg == NULL && ss_postfunc_reg == NULL) - ss_illegal_regs = 0; + if (global != NULL && global->entrylist == NULL && global->prefunclist == NULL && global->postfunclist == NULL) + global->illegal_regs = 0; } @@ -494,16 +504,16 @@ static void ss_c8(UINT8 *data, UINT32 size) size and offsets of each individual item -------------------------------------------------*/ -static int compute_size_and_offsets(void) +static int compute_size_and_offsets(state_private *global) { - ss_entry *entry; + state_entry *entry; int total_size; /* start with the header size */ total_size = 0x18; /* iterate over entries */ - for (entry = ss_registry; entry; entry = entry->next) + for (entry = global->entrylist; entry; entry = entry->next) { /* note the offset and accumulate a total size */ entry->offset = total_size; @@ -520,13 +530,14 @@ static int compute_size_and_offsets(void) is a CRC over the structure of the data -------------------------------------------------*/ -static UINT32 get_signature(void) +static UINT32 get_signature(running_machine *machine) { - ss_entry *entry; + state_private *global = machine->state_data; + state_entry *entry; UINT32 crc = 0; /* iterate over entries */ - for (entry = ss_registry; entry; entry = entry->next) + for (entry = global->entrylist; entry; entry = entry->next) { UINT32 temp[2]; @@ -601,14 +612,14 @@ static int validate_header(const UINT8 *header, const char *gamename, UINT32 sig a valid save state -------------------------------------------------*/ -int state_save_check_file(mame_file *file, const char *gamename, int validate_signature, void (CLIB_DECL *errormsg)(const char *fmt, ...)) +int state_save_check_file(running_machine *machine, mame_file *file, const char *gamename, void (CLIB_DECL *errormsg)(const char *fmt, ...)) { UINT32 signature = 0; UINT8 header[0x18]; /* if we want to validate the signature, compute it */ - if (validate_signature) - signature = get_signature(); + if (machine != NULL) + signature = get_signature(machine); /* seek to the beginning and read the header */ mame_fseek(file, 0, SEEK_SET); @@ -634,21 +645,23 @@ int state_save_check_file(mame_file *file, const char *gamename, int validate_si saving -------------------------------------------------*/ -int state_save_save_begin(mame_file *file) +int state_save_save_begin(running_machine *machine, mame_file *file) { + state_private *global = machine->state_data; + /* if we have illegal registrations, return an error */ - if (ss_illegal_regs > 0) + if (global->illegal_regs > 0) return 1; LOG(("Beginning save\n")); - ss_dump_file = file; + global->iofile = file; /* compute the total dump size and the offsets of each element */ - ss_dump_size = compute_size_and_offsets(); - LOG((" total size %u\n", ss_dump_size)); + global->ioarraysize = compute_size_and_offsets(global); + LOG((" total size %u\n", global->ioarraysize)); /* allocate memory for the array */ - ss_dump_array = malloc_or_die(ss_dump_size); + global->ioarray = malloc_or_die(global->ioarraysize); return 0; } @@ -660,8 +673,9 @@ int state_save_save_begin(mame_file *file) void state_save_save_continue(running_machine *machine) { - ss_entry *entry; - ss_func *func; + state_private *global = machine->state_data; + state_entry *entry; + state_callback *func; int count = 0; LOG(("Saving tag %d\n", ss_current_tag)); @@ -670,7 +684,7 @@ void state_save_save_continue(running_machine *machine) LOG((" calling pre-save functions\n")); /* iterate over the list of functions */ - for (func = ss_prefunc_reg; func; func = func->next) + for (func = global->prefunclist; func != NULL; func = func->next) if (func->tag == ss_current_tag) { count++; @@ -682,10 +696,10 @@ void state_save_save_continue(running_machine *machine) LOG((" copying data\n")); /* iterate over entries with matching tags */ - for (entry = ss_registry; entry; entry = entry->next) + for (entry = global->entrylist; entry != NULL; entry = entry->next) if (entry->tag == ss_current_tag) { - memcpy(ss_dump_array + entry->offset, entry->data, entry->typesize * entry->typecount); + memcpy(global->ioarray + entry->offset, entry->data, entry->typesize * entry->typecount); LOG((" %s: %x..%x\n", astring_c(entry->name), entry->offset, entry->offset + entry->typesize * entry->typecount - 1)); } } @@ -698,6 +712,7 @@ void state_save_save_continue(running_machine *machine) void state_save_save_finish(running_machine *machine) { + state_private *global = machine->state_data; UINT32 signature; UINT8 flags = 0; @@ -709,24 +724,24 @@ void state_save_save_finish(running_machine *machine) #endif /* build up the header */ - memcpy(ss_dump_array, ss_magic_num, 8); - ss_dump_array[8] = SAVE_VERSION; - ss_dump_array[9] = flags; - memset(ss_dump_array+0xa, 0, 10); - strcpy((char *)ss_dump_array+0xa, machine->gamedrv->name); + memcpy(global->ioarray, ss_magic_num, 8); + global->ioarray[8] = SAVE_VERSION; + global->ioarray[9] = flags; + memset(global->ioarray+0xa, 0, 10); + strcpy((char *)global->ioarray+0xa, machine->gamedrv->name); /* copy in the signature */ - signature = get_signature(); - *(UINT32 *)&ss_dump_array[0x14] = LITTLE_ENDIANIZE_INT32(signature); + signature = get_signature(machine); + *(UINT32 *)&global->ioarray[0x14] = LITTLE_ENDIANIZE_INT32(signature); /* write the file */ - mame_fwrite(ss_dump_file, ss_dump_array, ss_dump_size); + mame_fwrite(global->iofile, global->ioarray, global->ioarraysize); /* free memory and reset the global states */ - free(ss_dump_array); - ss_dump_array = NULL; - ss_dump_size = 0; - ss_dump_file = NULL; + free(global->ioarray); + global->ioarray = NULL; + global->ioarraysize = 0; + global->iofile = NULL; } @@ -740,28 +755,30 @@ void state_save_save_finish(running_machine *machine) of loading the state -------------------------------------------------*/ -int state_save_load_begin(mame_file *file) +int state_save_load_begin(running_machine *machine, mame_file *file) { + state_private *global = machine->state_data; + LOG(("Beginning load\n")); /* read the file into memory */ - ss_dump_size = mame_fsize(file); - ss_dump_array = malloc_or_die(ss_dump_size); - ss_dump_file = file; - mame_fread(ss_dump_file, ss_dump_array, ss_dump_size); + global->ioarraysize = mame_fsize(file); + global->ioarray = malloc_or_die(global->ioarraysize); + global->iofile = file; + mame_fread(global->iofile, global->ioarray, global->ioarraysize); /* verify the header and report an error if it doesn't match */ - if (validate_header(ss_dump_array, NULL, get_signature(), popmessage, "Error: ")) + if (validate_header(global->ioarray, NULL, get_signature(machine), popmessage, "Error: ")) { - free(ss_dump_array); - ss_dump_array = NULL; - ss_dump_size = 0; - ss_dump_file = NULL; + free(global->ioarray); + global->ioarray = NULL; + global->ioarraysize = 0; + global->iofile = NULL; return 1; } /* compute the total size and offset of all the entries */ - compute_size_and_offsets(); + compute_size_and_offsets(global); return 0; } @@ -773,26 +790,27 @@ int state_save_load_begin(mame_file *file) void state_save_load_continue(running_machine *machine) { - ss_entry *entry; - ss_func *func; + state_private *global = machine->state_data; + state_entry *entry; + state_callback *func; int need_convert; int count = 0; /* first determine whether or not we need to convert the endianness of the data */ #ifdef LSB_FIRST - need_convert = (ss_dump_array[9] & SS_MSB_FIRST) != 0; + need_convert = (global->ioarray[9] & SS_MSB_FIRST) != 0; #else - need_convert = (ss_dump_array[9] & SS_MSB_FIRST) == 0; + need_convert = (global->ioarray[9] & SS_MSB_FIRST) == 0; #endif LOG(("Loading tag %d\n", ss_current_tag)); LOG((" copying data\n")); /* iterate over entries with matching tags */ - for (entry = ss_registry; entry; entry = entry->next) + for (entry = global->entrylist; entry != NULL; entry = entry->next) if (entry->tag == ss_current_tag) { - memcpy(entry->data, ss_dump_array + entry->offset, entry->typesize * entry->typecount); + memcpy(entry->data, global->ioarray + entry->offset, entry->typesize * entry->typecount); if (need_convert && ss_conv[entry->typesize]) (*ss_conv[entry->typesize])(entry->data, entry->typecount); LOG((" %s: %x..%x\n", astring_c(entry->name), entry->offset, entry->offset + entry->typesize * entry->typecount - 1)); @@ -800,7 +818,7 @@ void state_save_load_continue(running_machine *machine) /* call the post-load functions */ LOG((" calling post-load functions\n")); - for (func = ss_postfunc_reg; func; func = func->next) + for (func = global->postfunclist; func != NULL; func = func->next) if (func->tag == ss_current_tag) { count++; @@ -815,15 +833,17 @@ void state_save_load_continue(running_machine *machine) of loading the state -------------------------------------------------*/ -void state_save_load_finish(void) +void state_save_load_finish(running_machine *machine) { + state_private *global = machine->state_data; + LOG(("Finishing load\n")); /* free memory and reset the global states */ - free(ss_dump_array); - ss_dump_array = NULL; - ss_dump_size = 0; - ss_dump_file = NULL; + free(global->ioarray); + global->ioarray = NULL; + global->ioarraysize = 0; + global->iofile = NULL; } @@ -837,11 +857,12 @@ void state_save_load_finish(void) with the given index -------------------------------------------------*/ -const char *state_save_get_indexed_item(int index, void **base, UINT32 *valsize, UINT32 *valcount) +const char *state_save_get_indexed_item(running_machine *machine, int index, void **base, UINT32 *valsize, UINT32 *valcount) { - ss_entry *ss; + state_private *global = machine->state_data; + state_entry *ss; - for (ss = ss_registry; ss != NULL; ss = ss->next) + for (ss = global->entrylist; ss != NULL; ss = ss->next) if (index-- == 0) { if (base != NULL) @@ -862,11 +883,12 @@ const char *state_save_get_indexed_item(int index, void **base, UINT32 *valsize, to the logfile -------------------------------------------------*/ -void state_save_dump_registry(void) +void state_save_dump_registry(running_machine *machine) { - ss_entry *entry; + state_private *global = machine->state_data; + state_entry *entry; - for (entry = ss_registry; entry; entry=entry->next) + for (entry = global->entrylist; entry; entry=entry->next) LOG(("%s: %d x %d\n", astring_c(entry->name), entry->typesize, entry->typecount)); } diff --git a/src/emu/state.h b/src/emu/state.h index ddfb2312fdc..0fe0bf169a4 100644 --- a/src/emu/state.h +++ b/src/emu/state.h @@ -46,41 +46,66 @@ typedef void (*state_postload_func)(running_machine *machine, void *param); IS_COMPATIBLE_TYPE(_valtype, INT8) || IS_COMPATIBLE_TYPE(_valtype, UINT8) || \ IS_COMPATIBLE_TYPE(_valtype, PAIR) || IS_COMPATIBLE_TYPE(_valtype, PAIR64)) -#define state_save_register_generic(_mod, _tag, _index, _name, _val, _valsize, _count) \ -do { \ - assert_always(IS_VALID_SAVE_TYPE(_valsize), "Invalid data type supplied for state saving.");\ - state_save_register_memory(_mod, _tag, _index, _name, _val, sizeof(_valsize), _count); \ + +/* generic registration; all further registrations are based on this */ +#define state_save_register_generic(_mach, _mod, _tag, _index, _name, _val, _valsize, _count) \ +do { \ + assert_always(IS_VALID_SAVE_TYPE(_valsize), "Invalid data type supplied for state saving."); \ + state_save_register_memory(_mach, _mod, _tag, _index, _name, _val, sizeof(_valsize), _count); \ } while (0) -#define state_save_register_item(_mod, _tag, _index, _val) \ - state_save_register_generic(_mod, _tag, _index, #_val, &_val, _val, 1) -#define state_save_register_item_pointer(_mod, _tag, _index, _val, _count) \ - state_save_register_generic(_mod, _tag, _index, #_val, &_val[0], _val[0], _count) +/* register items with explicit tags */ +#define state_save_register_item(_mach, _mod, _tag, _index, _val) \ + state_save_register_generic(_mach, _mod, _tag, _index, #_val, &_val, _val, 1) -#define state_save_register_item_array(_mod, _tag, _index, _val) \ - state_save_register_item_pointer(_mod, _tag, _index, _val, sizeof(_val)/sizeof(_val[0])) +#define state_save_register_item_pointer(_mach, _mod, _tag, _index, _val, _count) \ + state_save_register_generic(_mach, _mod, _tag, _index, #_val, &_val[0], _val[0], _count) -#define state_save_register_item_2d_array(_mod, _tag, _index, _val) \ - state_save_register_item_pointer(_mod, _tag, _index, _val[0], sizeof(_val)/sizeof(_val[0][0])) +#define state_save_register_item_array(_mach, _mod, _tag, _index, _val) \ + state_save_register_item_pointer(_mach, _mod, _tag, _index, _val, sizeof(_val)/sizeof(_val[0])) -#define state_save_register_item_bitmap(_mod, _tag, _index, _val) \ - state_save_register_bitmap(_mod, _tag, _index, #_val, _val) +#define state_save_register_item_2d_array(_mach, _mod, _tag, _index, _val) \ + state_save_register_item_pointer(_mach, _mod, _tag, _index, _val[0], sizeof(_val)/sizeof(_val[0][0])) -#define state_save_register_global(_val) \ - state_save_register_item("globals", NULL, 0, _val) +#define state_save_register_item_bitmap(_mach, _mod, _tag, _index, _val) \ + state_save_register_bitmap(_mach, _mod, _tag, _index, #_val, _val) -#define state_save_register_global_pointer(_val, _count) \ - state_save_register_item_pointer("globals", NULL, 0, _val, _count) -#define state_save_register_global_array(_val) \ - state_save_register_item_array("globals", NULL, 0, _val) -#define state_save_register_global_2d_array(_val) \ - state_save_register_item_2d_array("globals", NULL, 0, _val) +/* register device items */ +#define state_save_register_device_item(_dev, _index, _val) \ + state_save_register_generic((_dev)->machine, device_get_name(_dev), (_dev)->tag, _index, #_val, &_val, _val, 1) -#define state_save_register_global_bitmap(_val) \ - state_save_register_bitmap("globals", NULL, 0, #_val, _val) +#define state_save_register_device_item_pointer(_dev, _index, _val, _count) \ + state_save_register_generic((_dev)->machine, device_get_name(_dev), (_dev)->tag, _index, #_val, &_val[0], _val[0], _count) + +#define state_save_register_device_item_array(_dev, _index, _val) \ + state_save_register_item_pointer((_dev)->machine, device_get_name(_dev), (_dev)->tag, _index, _val, sizeof(_val)/sizeof(_val[0])) + +#define state_save_register_device_item_2d_array(_dev, _index, _val) \ + state_save_register_item_pointer((_dev)->machine, device_get_name(_dev), (_dev)->tag, _index, _val[0], sizeof(_val)/sizeof(_val[0][0])) + +#define state_save_register_device_item_bitmap(_dev, _index, _val) \ + state_save_register_bitmap((_dev)->machine, device_get_name(_dev), (_dev)->tag, _index, #_val, _val) + + + +/* register global items */ +#define state_save_register_global(_mach, _val) \ + state_save_register_item(_mach, "globals", NULL, 0, _val) + +#define state_save_register_global_pointer(_mach, _val, _count) \ + state_save_register_item_pointer(_mach, "globals", NULL, 0, _val, _count) + +#define state_save_register_global_array(_mach, _val) \ + state_save_register_item_array(_mach, "globals", NULL, 0, _val) + +#define state_save_register_global_2d_array(_mach, _val) \ + state_save_register_item_2d_array(_mach, "globals", NULL, 0, _val) + +#define state_save_register_global_bitmap(_mach, _val) \ + state_save_register_bitmap(_mach, "globals", NULL, 0, #_val, _val) @@ -88,42 +113,100 @@ do { \ FUNCTION PROTOTYPES ***************************************************************************/ + +/* ----- core system operations ----- */ + +/* initialize the system and reset all registrations */ void state_init(running_machine *machine); -/* Initializes the save state registrations */ -void state_destructor(void *ptr, size_t size); -void state_save_allow_registration(int allowed); -int state_save_registration_allowed(void); +/* return the number of total registrations so far */ +int state_save_get_reg_count(running_machine *machine); -/* Registering functions */ -int state_save_get_reg_count(void); -void state_save_register_memory(const char *module, const char *tag, UINT32 index, const char *name, void *val, UINT32 valsize, UINT32 valcount); -void state_save_register_bitmap(const char *module, const char *tag, UINT32 index, const char *name, bitmap_t *val); -void state_save_register_presave(running_machine *machine, state_presave_func func, void *param); -void state_save_register_postload(running_machine *machine, state_postload_func func, void *param); - -/* Save and load functions */ -/* The tags are a hack around the current cpu structures */ -int state_save_save_begin(mame_file *file); -int state_save_load_begin(mame_file *file); +/* ----- tagging ----- */ +/* push the current tag onto the stack and set a new tag */ void state_save_push_tag(int tag); + +/* pop the tag from the top of the stack */ void state_save_pop_tag(void); + + +/* ----- registration handling ----- */ + +/* allow/disallow registrations to happen (called by the core) */ +void state_save_allow_registration(running_machine *machine, int allowed); + +/* query whether or not registrations are allowed */ +int state_save_registration_allowed(running_machine *machine); + +/* register an array of data in memory */ +void state_save_register_memory(running_machine *machine, const char *module, const char *tag, UINT32 index, const char *name, void *val, UINT32 valsize, UINT32 valcount); + +/* register a bitmap to be saved */ +void state_save_register_bitmap(running_machine *machine, const char *module, const char *tag, UINT32 index, const char *name, bitmap_t *val); + + + +/* ----- callback function registraton ----- */ + +/* register a pre-save function callback */ +void state_save_register_presave(running_machine *machine, state_presave_func func, void *param); + +/* register a post-load function callback */ +void state_save_register_postload(running_machine *machine, state_postload_func func, void *param); + + + +/* ----- registration freeing ----- */ + +/* free all registrations that have been tagged with the current resource tag */ +void state_destructor(void *ptr, size_t size); + + + +/* ----- state file validation ----- */ + +/* check if a file is a valid save state */ +int state_save_check_file(running_machine *machine, mame_file *file, const char *gamename, void (CLIB_DECL *errormsg)(const char *fmt, ...)); + + + +/* ----- save state processing ----- */ + +/* begin the process of saving */ +int state_save_save_begin(running_machine *machine, mame_file *file); + +/* save within the current tag */ void state_save_save_continue(running_machine *machine); + +/* finish saving the file by writing the header and closing */ +void state_save_save_finish(running_machine *machine); + + + +/* ----- load state processing ----- */ + +/* begin the process of loading the state */ +int state_save_load_begin(running_machine *machine, mame_file *file); + +/* load all state in the current tag */ void state_save_load_continue(running_machine *machine); -void state_save_save_finish(running_machine *machine); -void state_save_load_finish(void); +/* complete the process of loading the state */ +void state_save_load_finish(running_machine *machine); -/* Display function */ -void state_save_dump_registry(void); -const char *state_save_get_indexed_item(int index, void **base, UINT32 *valsize, UINT32 *valcount); -/* Verification function; can be called from front ends */ -int state_save_check_file(mame_file *file, const char *gamename, int validate_signature, void (CLIB_DECL *errormsg)(const char *fmt, ...)); +/* ----- debugging ----- */ + +/* return an item with the given index */ +const char *state_save_get_indexed_item(running_machine *machine, int index, void **base, UINT32 *valsize, UINT32 *valcount); + +/* dump the registry to the logfile */ +void state_save_dump_registry(running_machine *machine); + #endif /* __STATE_H__ */ diff --git a/src/emu/streams.c b/src/emu/streams.c index b851d529ad1..6f05b37f43a 100644 --- a/src/emu/streams.c +++ b/src/emu/streams.c @@ -231,8 +231,8 @@ void streams_init(running_machine *machine, attoseconds_t update_attoseconds) machine->streams_data = strdata; /* register global states */ - state_save_register_global(strdata->last_update.seconds); - state_save_register_global(strdata->last_update.attoseconds); + state_save_register_global(machine, strdata->last_update.seconds); + state_save_register_global(machine, strdata->last_update.attoseconds); } @@ -373,7 +373,7 @@ sound_stream *stream_create(int inputs, int outputs, int sample_rate, void *para /* create a unique tag for saving */ sprintf(statetag, "%d", stream->index); - state_save_register_item("stream", statetag, 0, stream->sample_rate); + state_save_register_item(Machine, "stream", statetag, 0, stream->sample_rate); state_save_register_postload(Machine, stream_postload, stream); /* allocate space for the inputs */ @@ -390,7 +390,7 @@ sound_stream *stream_create(int inputs, int outputs, int sample_rate, void *para { stream->input[inputnum].owner = stream; stream->input[inputnum].gain = 0x100; - state_save_register_item("stream", statetag, inputnum, stream->input[inputnum].gain); + state_save_register_item(Machine, "stream", statetag, inputnum, stream->input[inputnum].gain); } /* allocate space for the outputs */ @@ -407,7 +407,7 @@ sound_stream *stream_create(int inputs, int outputs, int sample_rate, void *para { stream->output[outputnum].owner = stream; stream->output[outputnum].gain = 0x100; - state_save_register_item("stream", statetag, outputnum, stream->output[outputnum].gain); + state_save_register_item(Machine, "stream", statetag, outputnum, stream->output[outputnum].gain); } /* hook us into the master stream list */ diff --git a/src/emu/tilemap.c b/src/emu/tilemap.c index c3e2b33a5bd..3f7e0723b9b 100644 --- a/src/emu/tilemap.c +++ b/src/emu/tilemap.c @@ -345,18 +345,18 @@ tilemap *tilemap_create(tile_get_info_func tile_get_info, tilemap_mapper_func ma tilemap_tailptr = &tmap->next; /* save relevant state */ - state_save_register_item("tilemap", NULL, tilemap_instance, tmap->enable); - state_save_register_item("tilemap", NULL, tilemap_instance, tmap->attributes); - state_save_register_item("tilemap", NULL, tilemap_instance, tmap->palette_offset); - state_save_register_item("tilemap", NULL, tilemap_instance, tmap->pen_data_offset); - state_save_register_item("tilemap", NULL, tilemap_instance, tmap->scrollrows); - state_save_register_item("tilemap", NULL, tilemap_instance, tmap->scrollcols); - state_save_register_item_pointer("tilemap", NULL, tilemap_instance, tmap->rowscroll, rows * tileheight); - state_save_register_item_pointer("tilemap", NULL, tilemap_instance, tmap->colscroll, cols * tilewidth); - state_save_register_item("tilemap", NULL, tilemap_instance, tmap->dx); - state_save_register_item("tilemap", NULL, tilemap_instance, tmap->dx_flipped); - state_save_register_item("tilemap", NULL, tilemap_instance, tmap->dy); - state_save_register_item("tilemap", NULL, tilemap_instance, tmap->dy_flipped); + state_save_register_item(Machine, "tilemap", NULL, tilemap_instance, tmap->enable); + state_save_register_item(Machine, "tilemap", NULL, tilemap_instance, tmap->attributes); + state_save_register_item(Machine, "tilemap", NULL, tilemap_instance, tmap->palette_offset); + state_save_register_item(Machine, "tilemap", NULL, tilemap_instance, tmap->pen_data_offset); + state_save_register_item(Machine, "tilemap", NULL, tilemap_instance, tmap->scrollrows); + state_save_register_item(Machine, "tilemap", NULL, tilemap_instance, tmap->scrollcols); + state_save_register_item_pointer(Machine, "tilemap", NULL, tilemap_instance, tmap->rowscroll, rows * tileheight); + state_save_register_item_pointer(Machine, "tilemap", NULL, tilemap_instance, tmap->colscroll, cols * tilewidth); + state_save_register_item(Machine, "tilemap", NULL, tilemap_instance, tmap->dx); + state_save_register_item(Machine, "tilemap", NULL, tilemap_instance, tmap->dx_flipped); + state_save_register_item(Machine, "tilemap", NULL, tilemap_instance, tmap->dy); + state_save_register_item(Machine, "tilemap", NULL, tilemap_instance, tmap->dy_flipped); tilemap_instance++; /* reset everything after a load */ diff --git a/src/emu/timer.c b/src/emu/timer.c index 7672ad46e8e..be4bba78f9a 100644 --- a/src/emu/timer.c +++ b/src/emu/timer.c @@ -300,8 +300,8 @@ void timer_init(running_machine *machine) /* register with the save state system */ state_save_push_tag(0); - state_save_register_item("timer", NULL, 0, global->basetime.seconds); - state_save_register_item("timer", NULL, 0, global->basetime.attoseconds); + state_save_register_item(machine, "timer", NULL, 0, global->basetime.seconds); + state_save_register_item(machine, "timer", NULL, 0, global->basetime.attoseconds); state_save_register_postload(machine, timer_postload, NULL); state_save_pop_tag(); @@ -527,14 +527,14 @@ static void timer_register_save(emu_timer *timer) /* use different instances to differentiate the bits */ state_save_push_tag(0); - state_save_register_item("timer", timer->func, count, timer->param); - state_save_register_item("timer", timer->func, count, timer->enabled); - state_save_register_item("timer", timer->func, count, timer->period.seconds); - state_save_register_item("timer", timer->func, count, timer->period.attoseconds); - state_save_register_item("timer", timer->func, count, timer->start.seconds); - state_save_register_item("timer", timer->func, count, timer->start.attoseconds); - state_save_register_item("timer", timer->func, count, timer->expire.seconds); - state_save_register_item("timer", timer->func, count, timer->expire.attoseconds); + state_save_register_item(timer->machine, "timer", timer->func, count, timer->param); + state_save_register_item(timer->machine, "timer", timer->func, count, timer->enabled); + state_save_register_item(timer->machine, "timer", timer->func, count, timer->period.seconds); + state_save_register_item(timer->machine, "timer", timer->func, count, timer->period.attoseconds); + state_save_register_item(timer->machine, "timer", timer->func, count, timer->start.seconds); + state_save_register_item(timer->machine, "timer", timer->func, count, timer->start.attoseconds); + state_save_register_item(timer->machine, "timer", timer->func, count, timer->expire.seconds); + state_save_register_item(timer->machine, "timer", timer->func, count, timer->expire.attoseconds); state_save_pop_tag(); } @@ -1189,7 +1189,7 @@ static DEVICE_START( timer ) state->start_delay = attotime_zero; /* register for state saves */ - state_save_register_item("timer_device", device->tag, 0, state->param); + state_save_register_device_item(device, 0, state->param); /* allocate the backing timer */ param = (void *)device; @@ -1217,11 +1217,11 @@ static DEVICE_START( timer ) state->start_delay = attotime_zero; /* register for state saves */ - state_save_register_item("timer_device", device->tag, 0, state->start_delay.seconds); - state_save_register_item("timer_device", device->tag, 0, state->start_delay.attoseconds); - state_save_register_item("timer_device", device->tag, 0, state->period.seconds); - state_save_register_item("timer_device", device->tag, 0, state->period.attoseconds); - state_save_register_item("timer_device", device->tag, 0, state->param); + state_save_register_device_item(device, 0, state->start_delay.seconds); + state_save_register_device_item(device, 0, state->start_delay.attoseconds); + state_save_register_device_item(device, 0, state->period.seconds); + state_save_register_device_item(device, 0, state->period.attoseconds); + state_save_register_device_item(device, 0, state->param); /* allocate the backing timer */ param = (void *)device; @@ -1248,7 +1248,7 @@ static DEVICE_START( timer ) state->first_time = TRUE; /* register for state saves */ - state_save_register_item("timer_device", device->tag, 0, state->first_time); + state_save_register_device_item(device, 0, state->first_time); /* fire it as soon as the emulation starts */ timer_adjust_oneshot(state->timer, attotime_zero, 0); diff --git a/src/emu/validity.c b/src/emu/validity.c index 1cb48db7ef4..42bc39fcfe9 100644 --- a/src/emu/validity.c +++ b/src/emu/validity.c @@ -875,12 +875,12 @@ static int validate_cpu(int drivnum, const machine_config *config, const input_p /* make sure all devices exist */ if (entry->read_devtype != NULL && device_list_find_by_tag(config->devicelist, entry->read_devtype, entry->read_devtag) == NULL) { - mame_printf_error("%s: %s CPU %d space %d memory map entry references nonexistant device type %s, tag %s\n", driver->source_file, driver->name, cpunum, spacenum, devtype_name(entry->read_devtype), entry->read_devtag); + mame_printf_error("%s: %s CPU %d space %d memory map entry references nonexistant device type %s, tag %s\n", driver->source_file, driver->name, cpunum, spacenum, devtype_get_name(entry->read_devtype), entry->read_devtag); error = TRUE; } if (entry->write_devtype != NULL && device_list_find_by_tag(config->devicelist, entry->write_devtype, entry->write_devtag) == NULL) { - mame_printf_error("%s: %s CPU %d space %d memory map entry references nonexistant device type %s, tag %s\n", driver->source_file, driver->name, cpunum, spacenum, devtype_name(entry->write_devtype), entry->write_devtag); + mame_printf_error("%s: %s CPU %d space %d memory map entry references nonexistant device type %s, tag %s\n", driver->source_file, driver->name, cpunum, spacenum, devtype_get_name(entry->write_devtype), entry->write_devtag); error = TRUE; } diff --git a/src/emu/video.c b/src/emu/video.c index ce56010e126..f47e9e10996 100644 --- a/src/emu/video.c +++ b/src/emu/video.c @@ -171,7 +171,7 @@ static const UINT8 skiptable[FRAMESKIP_LEVELS][FRAMESKIP_LEVELS] = /* core implementation */ static void video_exit(running_machine *machine); -static void init_buffered_spriteram(void); +static void init_buffered_spriteram(running_machine *machine); /* graphics decoding */ static void allocate_graphics(running_machine *machine, const gfx_decode_entry *gfxdecodeinfo); @@ -331,7 +331,7 @@ void video_init(running_machine *machine) /* create spriteram buffers if necessary */ if (machine->config->video_attributes & VIDEO_BUFFERS_SPRITERAM) - init_buffered_spriteram(); + init_buffered_spriteram(machine); /* convert the gfx ROMs into character sets. This is done BEFORE calling the driver's */ /* palette_init() routine because it might need to check the machine->gfx[] data */ @@ -434,7 +434,7 @@ static void video_exit(running_machine *machine) double-buffered spriteram -------------------------------------------------*/ -static void init_buffered_spriteram(void) +static void init_buffered_spriteram(running_machine *machine) { assert_always(spriteram_size != 0, "Video buffers spriteram but spriteram_size is 0"); @@ -442,7 +442,7 @@ static void init_buffered_spriteram(void) buffered_spriteram = auto_malloc(spriteram_size); /* register for saving it */ - state_save_register_global_pointer(buffered_spriteram, spriteram_size); + state_save_register_global_pointer(machine, buffered_spriteram, spriteram_size); /* do the same for the secon back buffer, if present */ if (spriteram_2_size) @@ -451,7 +451,7 @@ static void init_buffered_spriteram(void) buffered_spriteram_2 = auto_malloc(spriteram_2_size); /* register for saving it */ - state_save_register_global_pointer(buffered_spriteram_2, spriteram_2_size); + state_save_register_global_pointer(machine, buffered_spriteram_2, spriteram_2_size); } /* make 16-bit and 32-bit pointer variants */ @@ -1247,22 +1247,22 @@ static DEVICE_START( video_screen ) if (screen->machine->config->video_attributes & VIDEO_UPDATE_SCANLINE) timer_adjust_oneshot(state->scanline_timer, video_screen_get_time_until_pos(screen, 0, 0), 0); - state_save_register_item("video_screen", screen->tag, 0, state->width); - state_save_register_item("video_screen", screen->tag, 0, state->height); - state_save_register_item("video_screen", screen->tag, 0, state->visarea.min_x); - state_save_register_item("video_screen", screen->tag, 0, state->visarea.min_y); - state_save_register_item("video_screen", screen->tag, 0, state->visarea.max_x); - state_save_register_item("video_screen", screen->tag, 0, state->visarea.max_y); - state_save_register_item("video_screen", screen->tag, 0, state->last_partial_scan); - state_save_register_item("video_screen", screen->tag, 0, state->frame_period); - state_save_register_item("video_screen", screen->tag, 0, state->scantime); - state_save_register_item("video_screen", screen->tag, 0, state->pixeltime); - state_save_register_item("video_screen", screen->tag, 0, state->vblank_period); - state_save_register_item("video_screen", screen->tag, 0, state->vblank_start_time.seconds); - state_save_register_item("video_screen", screen->tag, 0, state->vblank_start_time.attoseconds); - state_save_register_item("video_screen", screen->tag, 0, state->vblank_end_time.seconds); - state_save_register_item("video_screen", screen->tag, 0, state->vblank_end_time.attoseconds); - state_save_register_item("video_screen", screen->tag, 0, state->frame_number); + state_save_register_device_item(screen, 0, state->width); + state_save_register_device_item(screen, 0, state->height); + state_save_register_device_item(screen, 0, state->visarea.min_x); + state_save_register_device_item(screen, 0, state->visarea.min_y); + state_save_register_device_item(screen, 0, state->visarea.max_x); + state_save_register_device_item(screen, 0, state->visarea.max_y); + state_save_register_device_item(screen, 0, state->last_partial_scan); + state_save_register_device_item(screen, 0, state->frame_period); + state_save_register_device_item(screen, 0, state->scantime); + state_save_register_device_item(screen, 0, state->pixeltime); + state_save_register_device_item(screen, 0, state->vblank_period); + state_save_register_device_item(screen, 0, state->vblank_start_time.seconds); + state_save_register_device_item(screen, 0, state->vblank_start_time.attoseconds); + state_save_register_device_item(screen, 0, state->vblank_end_time.seconds); + state_save_register_device_item(screen, 0, state->vblank_end_time.attoseconds); + state_save_register_device_item(screen, 0, state->frame_number); state_save_register_postload(device->machine, video_screen_postload, (void *)device); return DEVICE_START_OK; diff --git a/src/emu/video/cdp1869.c b/src/emu/video/cdp1869.c index dae58c9f396..2188a5520a1 100644 --- a/src/emu/video/cdp1869.c +++ b/src/emu/video/cdp1869.c @@ -813,28 +813,28 @@ static DEVICE_START( cdp1869 ) // register for state saving state_save_register_postload(device->machine, cdp1869_state_save_postload, cdp1869); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->dispoff); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->fresvert); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->freshorz); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->cmem); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->dblpage); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->line16); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->line9); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->cfc); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->col); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->bkg); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->pma); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->hma); + state_save_register_device_item(device, 0, cdp1869->dispoff); + state_save_register_device_item(device, 0, cdp1869->fresvert); + state_save_register_device_item(device, 0, cdp1869->freshorz); + state_save_register_device_item(device, 0, cdp1869->cmem); + state_save_register_device_item(device, 0, cdp1869->dblpage); + state_save_register_device_item(device, 0, cdp1869->line16); + state_save_register_device_item(device, 0, cdp1869->line9); + state_save_register_device_item(device, 0, cdp1869->cfc); + state_save_register_device_item(device, 0, cdp1869->col); + state_save_register_device_item(device, 0, cdp1869->bkg); + state_save_register_device_item(device, 0, cdp1869->pma); + state_save_register_device_item(device, 0, cdp1869->hma); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->signal); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->incr); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->toneoff); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->wnoff); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->tonediv); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->tonefreq); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->toneamp); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->wnfreq); - state_save_register_item("CDP1869", device->tag, 0, cdp1869->wnamp); + state_save_register_device_item(device, 0, cdp1869->signal); + state_save_register_device_item(device, 0, cdp1869->incr); + state_save_register_device_item(device, 0, cdp1869->toneoff); + state_save_register_device_item(device, 0, cdp1869->wnoff); + state_save_register_device_item(device, 0, cdp1869->tonediv); + state_save_register_device_item(device, 0, cdp1869->tonefreq); + state_save_register_device_item(device, 0, cdp1869->toneamp); + state_save_register_device_item(device, 0, cdp1869->wnfreq); + state_save_register_device_item(device, 0, cdp1869->wnamp); return DEVICE_START_OK; } diff --git a/src/emu/video/generic.c b/src/emu/video/generic.c index 5ba34f6fcdc..61edee55e3c 100644 --- a/src/emu/video/generic.c +++ b/src/emu/video/generic.c @@ -295,8 +295,8 @@ void generic_video_init(running_machine *machine) spriteram_3_size = 0; tmpbitmap = NULL; flip_screen_x = flip_screen_y = 0; - state_save_register_item("video", NULL, 0, flip_screen_x); - state_save_register_item("video", NULL, 0, flip_screen_y); + state_save_register_item(machine, "video", NULL, 0, flip_screen_x); + state_save_register_item(machine, "video", NULL, 0, flip_screen_y); } @@ -316,7 +316,7 @@ VIDEO_START( generic_bitmapped ) tmpbitmap = video_screen_auto_bitmap_alloc(machine->primary_screen); /* ensure the contents of the bitmap are saved */ - state_save_register_bitmap("video", NULL, 0, "tmpbitmap", tmpbitmap); + state_save_register_bitmap(machine, "video", NULL, 0, "tmpbitmap", tmpbitmap); } diff --git a/src/emu/video/mc6845.c b/src/emu/video/mc6845.c index 53c14ac19d0..96f54a279d8 100644 --- a/src/emu/video/mc6845.c +++ b/src/emu/video/mc6845.c @@ -781,28 +781,28 @@ static device_start_err common_start(const device_config *device, int device_typ /* register for state saving */ state_save_register_postload(device->machine, mc6845_state_save_postload, mc6845); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->clock); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->hpixels_per_column); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->register_address_latch); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->horiz_char_total); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->horiz_disp); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->horiz_sync_pos); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->sync_width); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->vert_char_total); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->vert_total_adj); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->vert_disp); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->vert_sync_pos); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->mode_control); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->max_ras_addr); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->cursor_start_ras); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->cursor_end_ras); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->disp_start_addr); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->cursor_addr); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->light_pen_addr); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->light_pen_latched); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->cursor_state); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->cursor_blink_count); - state_save_register_item(device_tags[device_type], device->tag, 0, mc6845->update_addr); + state_save_register_device_item(device, 0, mc6845->clock); + state_save_register_device_item(device, 0, mc6845->hpixels_per_column); + state_save_register_device_item(device, 0, mc6845->register_address_latch); + state_save_register_device_item(device, 0, mc6845->horiz_char_total); + state_save_register_device_item(device, 0, mc6845->horiz_disp); + state_save_register_device_item(device, 0, mc6845->horiz_sync_pos); + state_save_register_device_item(device, 0, mc6845->sync_width); + state_save_register_device_item(device, 0, mc6845->vert_char_total); + state_save_register_device_item(device, 0, mc6845->vert_total_adj); + state_save_register_device_item(device, 0, mc6845->vert_disp); + state_save_register_device_item(device, 0, mc6845->vert_sync_pos); + state_save_register_device_item(device, 0, mc6845->mode_control); + state_save_register_device_item(device, 0, mc6845->max_ras_addr); + state_save_register_device_item(device, 0, mc6845->cursor_start_ras); + state_save_register_device_item(device, 0, mc6845->cursor_end_ras); + state_save_register_device_item(device, 0, mc6845->disp_start_addr); + state_save_register_device_item(device, 0, mc6845->cursor_addr); + state_save_register_device_item(device, 0, mc6845->light_pen_addr); + state_save_register_device_item(device, 0, mc6845->light_pen_latched); + state_save_register_device_item(device, 0, mc6845->cursor_state); + state_save_register_device_item(device, 0, mc6845->cursor_blink_count); + state_save_register_device_item(device, 0, mc6845->update_addr); return DEVICE_START_OK; } diff --git a/src/emu/video/tms34061.c b/src/emu/video/tms34061.c index 11d3162ad5a..7693c0477c6 100644 --- a/src/emu/video/tms34061.c +++ b/src/emu/video/tms34061.c @@ -88,7 +88,7 @@ void tms34061_start(running_machine *machine, const struct tms34061_interface *i tms34061.vram = auto_malloc(tms34061.intf.vramsize + 256 * 2); memset(tms34061.vram, 0, tms34061.intf.vramsize + 256 * 2); /* not really a save state, just there for debugging purposes */ - state_save_register_global_pointer(tms34061.vram, tms34061.intf.vramsize); + state_save_register_global_pointer(machine, tms34061.vram, tms34061.intf.vramsize); /* allocate memory for latch RAM */ tms34061.latchram = auto_malloc(tms34061.intf.vramsize + 256 * 2); diff --git a/src/emu/video/tms9928a.c b/src/emu/video/tms9928a.c index d46091908a5..35f57ad5ef4 100644 --- a/src/emu/video/tms9928a.c +++ b/src/emu/video/tms9928a.c @@ -212,21 +212,21 @@ static void TMS9928A_start (running_machine *machine, const TMS9928a_interface * TMS9928A_reset (); tms.LimitSprites = 1; - state_save_register_item("tms9928a", NULL, 0, tms.Regs[0]); - state_save_register_item("tms9928a", NULL, 0, tms.Regs[1]); - state_save_register_item("tms9928a", NULL, 0, tms.Regs[2]); - state_save_register_item("tms9928a", NULL, 0, tms.Regs[3]); - state_save_register_item("tms9928a", NULL, 0, tms.Regs[4]); - state_save_register_item("tms9928a", NULL, 0, tms.Regs[5]); - state_save_register_item("tms9928a", NULL, 0, tms.Regs[6]); - state_save_register_item("tms9928a", NULL, 0, tms.Regs[7]); - state_save_register_item("tms9928a", NULL, 0, tms.StatusReg); - state_save_register_item("tms9928a", NULL, 0, tms.ReadAhead); - state_save_register_item("tms9928a", NULL, 0, tms.FirstByte); - state_save_register_item("tms9928a", NULL, 0, tms.latch); - state_save_register_item("tms9928a", NULL, 0, tms.Addr); - state_save_register_item("tms9928a", NULL, 0, tms.INT); - state_save_register_item_pointer("tms9928a", NULL, 0, tms.vMem, intf->vram); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.Regs[0]); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.Regs[1]); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.Regs[2]); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.Regs[3]); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.Regs[4]); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.Regs[5]); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.Regs[6]); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.Regs[7]); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.StatusReg); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.ReadAhead); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.FirstByte); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.latch); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.Addr); + state_save_register_item(machine, "tms9928a", NULL, 0, tms.INT); + state_save_register_item_pointer(machine, "tms9928a", NULL, 0, tms.vMem, intf->vram); } const rectangle *TMS9928A_get_visarea (void) diff --git a/src/emu/video/v9938.c b/src/emu/video/v9938.c index 7b049fb333a..5d7c6a0a0d4 100644 --- a/src/emu/video/v9938.c +++ b/src/emu/video/v9938.c @@ -512,52 +512,52 @@ void v9938_init (running_machine *machine, int which, const device_config *scree else vdp->vram_exp = NULL; - state_save_register_item("v9938", NULL, which, vdp->offset_x); - state_save_register_item("v9938", NULL, which, vdp->offset_y); - state_save_register_item("v9938", NULL, which, vdp->visible_y); - state_save_register_item("v9938", NULL, which, vdp->mode); - state_save_register_item("v9938", NULL, which, vdp->pal_write_first); - state_save_register_item("v9938", NULL, which, vdp->cmd_write_first); - state_save_register_item("v9938", NULL, which, vdp->pal_write); - state_save_register_item("v9938", NULL, which, vdp->cmd_write); - state_save_register_item_array("v9938", NULL, which, vdp->palReg); - state_save_register_item_array("v9938", NULL, which, vdp->statReg); - state_save_register_item_array("v9938", NULL, which, vdp->contReg); - state_save_register_item("v9938", NULL, which, vdp->read_ahead); - state_save_register_item_pointer("v9938", NULL, which, vdp->vram, 0x20000); + state_save_register_item(machine, "v9938", NULL, which, vdp->offset_x); + state_save_register_item(machine, "v9938", NULL, which, vdp->offset_y); + state_save_register_item(machine, "v9938", NULL, which, vdp->visible_y); + state_save_register_item(machine, "v9938", NULL, which, vdp->mode); + state_save_register_item(machine, "v9938", NULL, which, vdp->pal_write_first); + state_save_register_item(machine, "v9938", NULL, which, vdp->cmd_write_first); + state_save_register_item(machine, "v9938", NULL, which, vdp->pal_write); + state_save_register_item(machine, "v9938", NULL, which, vdp->cmd_write); + state_save_register_item_array(machine, "v9938", NULL, which, vdp->palReg); + state_save_register_item_array(machine, "v9938", NULL, which, vdp->statReg); + state_save_register_item_array(machine, "v9938", NULL, which, vdp->contReg); + state_save_register_item(machine, "v9938", NULL, which, vdp->read_ahead); + state_save_register_item_pointer(machine, "v9938", NULL, which, vdp->vram, 0x20000); if ( vdp->vram_exp != NULL ) - state_save_register_item_pointer("v9938", NULL, which, vdp->vram_exp, 0x10000); - state_save_register_item("v9938", NULL, which, vdp->INT); - state_save_register_item("v9938", NULL, which, vdp->scanline); - state_save_register_item("v9938", NULL, which, vdp->blink); - state_save_register_item("v9938", NULL, which, vdp->blink_count); - state_save_register_item("v9938", NULL, which, vdp->size); - state_save_register_item("v9938", NULL, which, vdp->size_old); - state_save_register_item("v9938", NULL, which, vdp->size_auto); - state_save_register_item("v9938", NULL, which, vdp->size_now); - state_save_register_item("v9938", NULL, which, vdp->mx_delta); - state_save_register_item("v9938", NULL, which, vdp->my_delta); - state_save_register_item("v9938", NULL, which, vdp->button_state); - state_save_register_item_array("v9938", NULL, which, vdp->pal_ind16); - state_save_register_item_array("v9938", NULL, which, vdp->pal_ind256); - state_save_register_item("v9938", NULL, which, vdp->MMC.SX); - state_save_register_item("v9938", NULL, which, vdp->MMC.SY); - state_save_register_item("v9938", NULL, which, vdp->MMC.DX); - state_save_register_item("v9938", NULL, which, vdp->MMC.DY); - state_save_register_item("v9938", NULL, which, vdp->MMC.TX); - state_save_register_item("v9938", NULL, which, vdp->MMC.TY); - state_save_register_item("v9938", NULL, which, vdp->MMC.NX); - state_save_register_item("v9938", NULL, which, vdp->MMC.NY); - state_save_register_item("v9938", NULL, which, vdp->MMC.MX); - state_save_register_item("v9938", NULL, which, vdp->MMC.ASX); - state_save_register_item("v9938", NULL, which, vdp->MMC.ADX); - state_save_register_item("v9938", NULL, which, vdp->MMC.ANX); - state_save_register_item("v9938", NULL, which, vdp->MMC.CL); - state_save_register_item("v9938", NULL, which, vdp->MMC.LO); - state_save_register_item("v9938", NULL, which, vdp->MMC.CM); - state_save_register_item("v9938", NULL, which, vdp->MMC.MXS); - state_save_register_item("v9938", NULL, which, vdp->MMC.MXD); - state_save_register_item("v9938", NULL, which, vdp->VdpOpsCnt); + state_save_register_item_pointer(machine, "v9938", NULL, which, vdp->vram_exp, 0x10000); + state_save_register_item(machine, "v9938", NULL, which, vdp->INT); + state_save_register_item(machine, "v9938", NULL, which, vdp->scanline); + state_save_register_item(machine, "v9938", NULL, which, vdp->blink); + state_save_register_item(machine, "v9938", NULL, which, vdp->blink_count); + state_save_register_item(machine, "v9938", NULL, which, vdp->size); + state_save_register_item(machine, "v9938", NULL, which, vdp->size_old); + state_save_register_item(machine, "v9938", NULL, which, vdp->size_auto); + state_save_register_item(machine, "v9938", NULL, which, vdp->size_now); + state_save_register_item(machine, "v9938", NULL, which, vdp->mx_delta); + state_save_register_item(machine, "v9938", NULL, which, vdp->my_delta); + state_save_register_item(machine, "v9938", NULL, which, vdp->button_state); + state_save_register_item_array(machine, "v9938", NULL, which, vdp->pal_ind16); + state_save_register_item_array(machine, "v9938", NULL, which, vdp->pal_ind256); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.SX); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.SY); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.DX); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.DY); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.TX); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.TY); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.NX); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.NY); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.MX); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.ASX); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.ADX); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.ANX); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.CL); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.LO); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.CM); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.MXS); + state_save_register_item(machine, "v9938", NULL, which, vdp->MMC.MXD); + state_save_register_item(machine, "v9938", NULL, which, vdp->VdpOpsCnt); } void v9938_reset (int which) diff --git a/src/emu/video/voodoo.c b/src/emu/video/voodoo.c index 36d1697a2d0..df3cba4a8ef 100644 --- a/src/emu/video/voodoo.c +++ b/src/emu/video/voodoo.c @@ -622,115 +622,115 @@ static void init_save_state(const device_config *device) state_save_register_postload(device->machine, voodoo_postload, v); /* register states: core */ - state_save_register_item("voodoo", device->tag, 0, v->extra_cycles); - state_save_register_item_pointer("voodoo", device->tag, 0, (&v->reg[0].u), ARRAY_LENGTH(v->reg)); - state_save_register_item("voodoo", device->tag, 0, v->alt_regmap); + state_save_register_device_item(device, 0, v->extra_cycles); + state_save_register_device_item_pointer(device, 0, (&v->reg[0].u), ARRAY_LENGTH(v->reg)); + state_save_register_device_item(device, 0, v->alt_regmap); /* register states: pci */ - state_save_register_item("voodoo", device->tag, 0, v->pci.fifo.in); - state_save_register_item("voodoo", device->tag, 0, v->pci.fifo.out); - state_save_register_item("voodoo", device->tag, 0, v->pci.init_enable); - state_save_register_item("voodoo", device->tag, 0, v->pci.stall_state); - state_save_register_item("voodoo", device->tag, 0, v->pci.op_pending); - state_save_register_item("voodoo", device->tag, 0, v->pci.op_end_time.seconds); - state_save_register_item("voodoo", device->tag, 0, v->pci.op_end_time.attoseconds); - state_save_register_item_array("voodoo", device->tag, 0, v->pci.fifo_mem); + state_save_register_device_item(device, 0, v->pci.fifo.in); + state_save_register_device_item(device, 0, v->pci.fifo.out); + state_save_register_device_item(device, 0, v->pci.init_enable); + state_save_register_device_item(device, 0, v->pci.stall_state); + state_save_register_device_item(device, 0, v->pci.op_pending); + state_save_register_device_item(device, 0, v->pci.op_end_time.seconds); + state_save_register_device_item(device, 0, v->pci.op_end_time.attoseconds); + state_save_register_device_item_array(device, 0, v->pci.fifo_mem); /* register states: dac */ - state_save_register_item_array("voodoo", device->tag, 0, v->dac.reg); - state_save_register_item("voodoo", device->tag, 0, v->dac.read_result); + state_save_register_device_item_array(device, 0, v->dac.reg); + state_save_register_device_item(device, 0, v->dac.read_result); /* register states: fbi */ - state_save_register_item_pointer("voodoo", device->tag, 0, v->fbi.ram, v->fbi.mask + 1); - state_save_register_item_array("voodoo", device->tag, 0, v->fbi.rgboffs); - state_save_register_item("voodoo", device->tag, 0, v->fbi.auxoffs); - state_save_register_item("voodoo", device->tag, 0, v->fbi.frontbuf); - state_save_register_item("voodoo", device->tag, 0, v->fbi.backbuf); - state_save_register_item("voodoo", device->tag, 0, v->fbi.swaps_pending); - state_save_register_item("voodoo", device->tag, 0, v->fbi.video_changed); - state_save_register_item("voodoo", device->tag, 0, v->fbi.yorigin); - state_save_register_item("voodoo", device->tag, 0, v->fbi.lfb_base); - state_save_register_item("voodoo", device->tag, 0, v->fbi.lfb_stride); - state_save_register_item("voodoo", device->tag, 0, v->fbi.width); - state_save_register_item("voodoo", device->tag, 0, v->fbi.height); - state_save_register_item("voodoo", device->tag, 0, v->fbi.xoffs); - state_save_register_item("voodoo", device->tag, 0, v->fbi.yoffs); - state_save_register_item("voodoo", device->tag, 0, v->fbi.vsyncscan); - state_save_register_item("voodoo", device->tag, 0, v->fbi.rowpixels); - state_save_register_item("voodoo", device->tag, 0, v->fbi.vblank); - state_save_register_item("voodoo", device->tag, 0, v->fbi.vblank_count); - state_save_register_item("voodoo", device->tag, 0, v->fbi.vblank_swap_pending); - state_save_register_item("voodoo", device->tag, 0, v->fbi.vblank_swap); - state_save_register_item("voodoo", device->tag, 0, v->fbi.vblank_dont_swap); - state_save_register_item("voodoo", device->tag, 0, v->fbi.cheating_allowed); - state_save_register_item("voodoo", device->tag, 0, v->fbi.sign); - state_save_register_item("voodoo", device->tag, 0, v->fbi.ax); - state_save_register_item("voodoo", device->tag, 0, v->fbi.ay); - state_save_register_item("voodoo", device->tag, 0, v->fbi.bx); - state_save_register_item("voodoo", device->tag, 0, v->fbi.by); - state_save_register_item("voodoo", device->tag, 0, v->fbi.cx); - state_save_register_item("voodoo", device->tag, 0, v->fbi.cy); - state_save_register_item("voodoo", device->tag, 0, v->fbi.startr); - state_save_register_item("voodoo", device->tag, 0, v->fbi.startg); - state_save_register_item("voodoo", device->tag, 0, v->fbi.startb); - state_save_register_item("voodoo", device->tag, 0, v->fbi.starta); - state_save_register_item("voodoo", device->tag, 0, v->fbi.startz); - state_save_register_item("voodoo", device->tag, 0, v->fbi.startw); - state_save_register_item("voodoo", device->tag, 0, v->fbi.drdx); - state_save_register_item("voodoo", device->tag, 0, v->fbi.dgdx); - state_save_register_item("voodoo", device->tag, 0, v->fbi.dbdx); - state_save_register_item("voodoo", device->tag, 0, v->fbi.dadx); - state_save_register_item("voodoo", device->tag, 0, v->fbi.dzdx); - state_save_register_item("voodoo", device->tag, 0, v->fbi.dwdx); - state_save_register_item("voodoo", device->tag, 0, v->fbi.drdy); - state_save_register_item("voodoo", device->tag, 0, v->fbi.dgdy); - state_save_register_item("voodoo", device->tag, 0, v->fbi.dbdy); - state_save_register_item("voodoo", device->tag, 0, v->fbi.dady); - state_save_register_item("voodoo", device->tag, 0, v->fbi.dzdy); - state_save_register_item("voodoo", device->tag, 0, v->fbi.dwdy); - state_save_register_item("voodoo", device->tag, 0, v->fbi.lfb_stats.pixels_in); - state_save_register_item("voodoo", device->tag, 0, v->fbi.lfb_stats.pixels_out); - state_save_register_item("voodoo", device->tag, 0, v->fbi.lfb_stats.chroma_fail); - state_save_register_item("voodoo", device->tag, 0, v->fbi.lfb_stats.zfunc_fail); - state_save_register_item("voodoo", device->tag, 0, v->fbi.lfb_stats.afunc_fail); - state_save_register_item("voodoo", device->tag, 0, v->fbi.lfb_stats.clip_fail); - state_save_register_item("voodoo", device->tag, 0, v->fbi.lfb_stats.stipple_count); - state_save_register_item("voodoo", device->tag, 0, v->fbi.sverts); + state_save_register_device_item_pointer(device, 0, v->fbi.ram, v->fbi.mask + 1); + state_save_register_device_item_array(device, 0, v->fbi.rgboffs); + state_save_register_device_item(device, 0, v->fbi.auxoffs); + state_save_register_device_item(device, 0, v->fbi.frontbuf); + state_save_register_device_item(device, 0, v->fbi.backbuf); + state_save_register_device_item(device, 0, v->fbi.swaps_pending); + state_save_register_device_item(device, 0, v->fbi.video_changed); + state_save_register_device_item(device, 0, v->fbi.yorigin); + state_save_register_device_item(device, 0, v->fbi.lfb_base); + state_save_register_device_item(device, 0, v->fbi.lfb_stride); + state_save_register_device_item(device, 0, v->fbi.width); + state_save_register_device_item(device, 0, v->fbi.height); + state_save_register_device_item(device, 0, v->fbi.xoffs); + state_save_register_device_item(device, 0, v->fbi.yoffs); + state_save_register_device_item(device, 0, v->fbi.vsyncscan); + state_save_register_device_item(device, 0, v->fbi.rowpixels); + state_save_register_device_item(device, 0, v->fbi.vblank); + state_save_register_device_item(device, 0, v->fbi.vblank_count); + state_save_register_device_item(device, 0, v->fbi.vblank_swap_pending); + state_save_register_device_item(device, 0, v->fbi.vblank_swap); + state_save_register_device_item(device, 0, v->fbi.vblank_dont_swap); + state_save_register_device_item(device, 0, v->fbi.cheating_allowed); + state_save_register_device_item(device, 0, v->fbi.sign); + state_save_register_device_item(device, 0, v->fbi.ax); + state_save_register_device_item(device, 0, v->fbi.ay); + state_save_register_device_item(device, 0, v->fbi.bx); + state_save_register_device_item(device, 0, v->fbi.by); + state_save_register_device_item(device, 0, v->fbi.cx); + state_save_register_device_item(device, 0, v->fbi.cy); + state_save_register_device_item(device, 0, v->fbi.startr); + state_save_register_device_item(device, 0, v->fbi.startg); + state_save_register_device_item(device, 0, v->fbi.startb); + state_save_register_device_item(device, 0, v->fbi.starta); + state_save_register_device_item(device, 0, v->fbi.startz); + state_save_register_device_item(device, 0, v->fbi.startw); + state_save_register_device_item(device, 0, v->fbi.drdx); + state_save_register_device_item(device, 0, v->fbi.dgdx); + state_save_register_device_item(device, 0, v->fbi.dbdx); + state_save_register_device_item(device, 0, v->fbi.dadx); + state_save_register_device_item(device, 0, v->fbi.dzdx); + state_save_register_device_item(device, 0, v->fbi.dwdx); + state_save_register_device_item(device, 0, v->fbi.drdy); + state_save_register_device_item(device, 0, v->fbi.dgdy); + state_save_register_device_item(device, 0, v->fbi.dbdy); + state_save_register_device_item(device, 0, v->fbi.dady); + state_save_register_device_item(device, 0, v->fbi.dzdy); + state_save_register_device_item(device, 0, v->fbi.dwdy); + state_save_register_device_item(device, 0, v->fbi.lfb_stats.pixels_in); + state_save_register_device_item(device, 0, v->fbi.lfb_stats.pixels_out); + state_save_register_device_item(device, 0, v->fbi.lfb_stats.chroma_fail); + state_save_register_device_item(device, 0, v->fbi.lfb_stats.zfunc_fail); + state_save_register_device_item(device, 0, v->fbi.lfb_stats.afunc_fail); + state_save_register_device_item(device, 0, v->fbi.lfb_stats.clip_fail); + state_save_register_device_item(device, 0, v->fbi.lfb_stats.stipple_count); + state_save_register_device_item(device, 0, v->fbi.sverts); for (index = 0; index < ARRAY_LENGTH(v->fbi.svert); index++) { - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].x); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].y); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].a); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].r); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].g); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].b); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].z); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].wb); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].w0); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].s0); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].t0); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].w1); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].s1); - state_save_register_item("voodoo", device->tag, index, v->fbi.svert[index].t1); + state_save_register_device_item(device, index, v->fbi.svert[index].x); + state_save_register_device_item(device, index, v->fbi.svert[index].y); + state_save_register_device_item(device, index, v->fbi.svert[index].a); + state_save_register_device_item(device, index, v->fbi.svert[index].r); + state_save_register_device_item(device, index, v->fbi.svert[index].g); + state_save_register_device_item(device, index, v->fbi.svert[index].b); + state_save_register_device_item(device, index, v->fbi.svert[index].z); + state_save_register_device_item(device, index, v->fbi.svert[index].wb); + state_save_register_device_item(device, index, v->fbi.svert[index].w0); + state_save_register_device_item(device, index, v->fbi.svert[index].s0); + state_save_register_device_item(device, index, v->fbi.svert[index].t0); + state_save_register_device_item(device, index, v->fbi.svert[index].w1); + state_save_register_device_item(device, index, v->fbi.svert[index].s1); + state_save_register_device_item(device, index, v->fbi.svert[index].t1); } - state_save_register_item("voodoo", device->tag, 0, v->fbi.fifo.size); - state_save_register_item("voodoo", device->tag, 0, v->fbi.fifo.in); - state_save_register_item("voodoo", device->tag, 0, v->fbi.fifo.out); + state_save_register_device_item(device, 0, v->fbi.fifo.size); + state_save_register_device_item(device, 0, v->fbi.fifo.in); + state_save_register_device_item(device, 0, v->fbi.fifo.out); for (index = 0; index < ARRAY_LENGTH(v->fbi.cmdfifo); index++) { - state_save_register_item("voodoo", device->tag, index, v->fbi.cmdfifo[index].enable); - state_save_register_item("voodoo", device->tag, index, v->fbi.cmdfifo[index].count_holes); - state_save_register_item("voodoo", device->tag, index, v->fbi.cmdfifo[index].base); - state_save_register_item("voodoo", device->tag, index, v->fbi.cmdfifo[index].end); - state_save_register_item("voodoo", device->tag, index, v->fbi.cmdfifo[index].rdptr); - state_save_register_item("voodoo", device->tag, index, v->fbi.cmdfifo[index].amin); - state_save_register_item("voodoo", device->tag, index, v->fbi.cmdfifo[index].amax); - state_save_register_item("voodoo", device->tag, index, v->fbi.cmdfifo[index].depth); - state_save_register_item("voodoo", device->tag, index, v->fbi.cmdfifo[index].holes); + state_save_register_device_item(device, index, v->fbi.cmdfifo[index].enable); + state_save_register_device_item(device, index, v->fbi.cmdfifo[index].count_holes); + state_save_register_device_item(device, index, v->fbi.cmdfifo[index].base); + state_save_register_device_item(device, index, v->fbi.cmdfifo[index].end); + state_save_register_device_item(device, index, v->fbi.cmdfifo[index].rdptr); + state_save_register_device_item(device, index, v->fbi.cmdfifo[index].amin); + state_save_register_device_item(device, index, v->fbi.cmdfifo[index].amax); + state_save_register_device_item(device, index, v->fbi.cmdfifo[index].depth); + state_save_register_device_item(device, index, v->fbi.cmdfifo[index].holes); } - state_save_register_item_array("voodoo", device->tag, 0, v->fbi.fogblend); - state_save_register_item_array("voodoo", device->tag, 0, v->fbi.fogdelta); - state_save_register_item_array("voodoo", device->tag, 0, v->fbi.clut); + state_save_register_device_item_array(device, 0, v->fbi.fogblend); + state_save_register_device_item_array(device, 0, v->fbi.fogdelta); + state_save_register_device_item_array(device, 0, v->fbi.clut); /* register states: tmu */ for (index = 0; index < ARRAY_LENGTH(v->tmu); index++) @@ -739,39 +739,39 @@ static void init_save_state(const device_config *device) if (tmu->ram == NULL) continue; if (tmu->ram != v->fbi.ram) - state_save_register_item_pointer("voodoo", device->tag, index, tmu->ram, tmu->mask + 1); - state_save_register_item("voodoo", device->tag, index, tmu->starts); - state_save_register_item("voodoo", device->tag, index, tmu->startt); - state_save_register_item("voodoo", device->tag, index, tmu->startw); - state_save_register_item("voodoo", device->tag, index, tmu->dsdx); - state_save_register_item("voodoo", device->tag, index, tmu->dtdx); - state_save_register_item("voodoo", device->tag, index, tmu->dwdx); - state_save_register_item("voodoo", device->tag, index, tmu->dsdy); - state_save_register_item("voodoo", device->tag, index, tmu->dtdy); - state_save_register_item("voodoo", device->tag, index, tmu->dwdy); + state_save_register_device_item_pointer(device, index, tmu->ram, tmu->mask + 1); + state_save_register_device_item(device, index, tmu->starts); + state_save_register_device_item(device, index, tmu->startt); + state_save_register_device_item(device, index, tmu->startw); + state_save_register_device_item(device, index, tmu->dsdx); + state_save_register_device_item(device, index, tmu->dtdx); + state_save_register_device_item(device, index, tmu->dwdx); + state_save_register_device_item(device, index, tmu->dsdy); + state_save_register_device_item(device, index, tmu->dtdy); + state_save_register_device_item(device, index, tmu->dwdy); for (subindex = 0; subindex < ARRAY_LENGTH(tmu->ncc); subindex++) { - state_save_register_item_array("voodoo", device->tag, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].ir); - state_save_register_item_array("voodoo", device->tag, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].ig); - state_save_register_item_array("voodoo", device->tag, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].ib); - state_save_register_item_array("voodoo", device->tag, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].qr); - state_save_register_item_array("voodoo", device->tag, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].qg); - state_save_register_item_array("voodoo", device->tag, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].qb); - state_save_register_item_array("voodoo", device->tag, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].y); + state_save_register_device_item_array(device, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].ir); + state_save_register_device_item_array(device, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].ig); + state_save_register_device_item_array(device, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].ib); + state_save_register_device_item_array(device, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].qr); + state_save_register_device_item_array(device, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].qg); + state_save_register_device_item_array(device, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].qb); + state_save_register_device_item_array(device, index * ARRAY_LENGTH(tmu->ncc) + subindex, tmu->ncc[subindex].y); } } /* register states: banshee */ if (v->type >= VOODOO_BANSHEE) { - state_save_register_item_array("voodoo", device->tag, 0, v->banshee.io); - state_save_register_item_array("voodoo", device->tag, 0, v->banshee.agp); - state_save_register_item_array("voodoo", device->tag, 0, v->banshee.vga); - state_save_register_item_array("voodoo", device->tag, 0, v->banshee.crtc); - state_save_register_item_array("voodoo", device->tag, 0, v->banshee.seq); - state_save_register_item_array("voodoo", device->tag, 0, v->banshee.gc); - state_save_register_item_array("voodoo", device->tag, 0, v->banshee.att); - state_save_register_item("voodoo", device->tag, 0, v->banshee.attff); + state_save_register_device_item_array(device, 0, v->banshee.io); + state_save_register_device_item_array(device, 0, v->banshee.agp); + state_save_register_device_item_array(device, 0, v->banshee.vga); + state_save_register_device_item_array(device, 0, v->banshee.crtc); + state_save_register_device_item_array(device, 0, v->banshee.seq); + state_save_register_device_item_array(device, 0, v->banshee.gc); + state_save_register_device_item_array(device, 0, v->banshee.att); + state_save_register_device_item(device, 0, v->banshee.attff); } } diff --git a/src/emu/watchdog.c b/src/emu/watchdog.c index 5a29e553dfc..6a935b75f9d 100644 --- a/src/emu/watchdog.c +++ b/src/emu/watchdog.c @@ -46,8 +46,8 @@ void watchdog_init(running_machine *machine) /* save some stuff in the default tag */ state_save_push_tag(0); - state_save_register_item("watchdog", NULL, 0, watchdog_enabled); - state_save_register_item("watchdog", NULL, 0, watchdog_counter); + state_save_register_item(machine, "watchdog", NULL, 0, watchdog_enabled); + state_save_register_item(machine, "watchdog", NULL, 0, watchdog_counter); state_save_pop_tag(); } diff --git a/src/mame/audio/astrof.c b/src/mame/audio/astrof.c index 8285710b54c..3861a81afc6 100644 --- a/src/mame/audio/astrof.c +++ b/src/mame/audio/astrof.c @@ -35,11 +35,11 @@ static UINT8 astrof_bosskill_playing; MACHINE_START( astrof_audio ) { /* setup for save states */ - state_save_register_global(port_1_last); - state_save_register_global(port_2_last); - state_save_register_global(astrof_start_explosion); - state_save_register_global(astrof_death_playing); - state_save_register_global(astrof_bosskill_playing); + state_save_register_global(machine, port_1_last); + state_save_register_global(machine, port_2_last); + state_save_register_global(machine, astrof_start_explosion); + state_save_register_global(machine, astrof_death_playing); + state_save_register_global(machine, astrof_bosskill_playing); } diff --git a/src/mame/audio/atarijsa.c b/src/mame/audio/atarijsa.c index 51a1b707123..945c6263f8f 100644 --- a/src/mame/audio/atarijsa.c +++ b/src/mame/audio/atarijsa.c @@ -82,18 +82,18 @@ static WRITE8_HANDLER( jsa3_io_w ); * *************************************/ -static void init_save_state(void) +static void init_save_state(running_machine *machine) { - state_save_register_global(speech_data); - state_save_register_global(last_ctl); + state_save_register_global(machine, speech_data); + state_save_register_global(machine, last_ctl); - state_save_register_global(oki6295_bank_base); + state_save_register_global(machine, oki6295_bank_base); - state_save_register_global(overall_volume); - state_save_register_global(pokey_volume); - state_save_register_global(ym2151_volume); - state_save_register_global(tms5220_volume); - state_save_register_global(oki6295_volume); + state_save_register_global(machine, overall_volume); + state_save_register_global(machine, pokey_volume); + state_save_register_global(machine, ym2151_volume); + state_save_register_global(machine, tms5220_volume); + state_save_register_global(machine, oki6295_volume); } @@ -147,7 +147,7 @@ void atarijsa_init(running_machine *machine, const char *testport, int testmask) if (has_pokey) memory_install_readwrite8_handler(cpu_get_address_space(machine->cpu[cpu_num], ADDRESS_SPACE_PROGRAM), 0x2c00, 0x2c0f, 0, 0, pokey1_r, pokey1_w); - init_save_state(); + init_save_state(machine); atarijsa_reset(); /* initialize JSA III ADPCM */ diff --git a/src/mame/audio/cage.c b/src/mame/audio/cage.c index 07235d3d36f..21b977d2239 100644 --- a/src/mame/audio/cage.c +++ b/src/mame/audio/cage.c @@ -172,15 +172,15 @@ void cage_init(running_machine *machine, offs_t speedup) if (speedup) speedup_ram = memory_install_write32_handler(cpu_get_address_space(machine->cpu[cage_cpu], ADDRESS_SPACE_PROGRAM), speedup, speedup, 0, 0, speedup_w); - state_save_register_global(cpu_to_cage_ready); - state_save_register_global(cage_to_cpu_ready); - state_save_register_global(serial_period_per_word.seconds); - state_save_register_global(serial_period_per_word.attoseconds); - state_save_register_global(dma_enabled); - state_save_register_global(dma_timer_enabled); - state_save_register_global_array(cage_timer_enabled); - state_save_register_global(cage_from_main); - state_save_register_global(cage_control); + state_save_register_global(machine, cpu_to_cage_ready); + state_save_register_global(machine, cage_to_cpu_ready); + state_save_register_global(machine, serial_period_per_word.seconds); + state_save_register_global(machine, serial_period_per_word.attoseconds); + state_save_register_global(machine, dma_enabled); + state_save_register_global(machine, dma_timer_enabled); + state_save_register_global_array(machine, cage_timer_enabled); + state_save_register_global(machine, cage_from_main); + state_save_register_global(machine, cage_control); } diff --git a/src/mame/audio/cinemat.c b/src/mame/audio/cinemat.c index 53eb1372a0c..07bdcd044bc 100644 --- a/src/mame/audio/cinemat.c +++ b/src/mame/audio/cinemat.c @@ -119,16 +119,16 @@ static void generic_init(running_machine *machine, void (*callback)(UINT8, UINT8 current_pitch = 0x10000; /* register for save states */ - state_save_register_global(sound_control); - state_save_register_global(current_shift); - state_save_register_global(last_shift); - state_save_register_global(last_shift2); - state_save_register_global(current_pitch); - state_save_register_global(last_frame); - state_save_register_global_array(sound_fifo); - state_save_register_global(sound_fifo_in); - state_save_register_global(sound_fifo_out); - state_save_register_global(last_portb_write); + state_save_register_global(machine, sound_control); + state_save_register_global(machine, current_shift); + state_save_register_global(machine, last_shift); + state_save_register_global(machine, last_shift2); + state_save_register_global(machine, current_pitch); + state_save_register_global(machine, last_frame); + state_save_register_global_array(machine, sound_fifo); + state_save_register_global(machine, sound_fifo_in); + state_save_register_global(machine, sound_fifo_out); + state_save_register_global(machine, last_portb_write); } diff --git a/src/mame/audio/dcs.c b/src/mame/audio/dcs.c index f7313e3b49b..df3aeaf30cc 100644 --- a/src/mame/audio/dcs.c +++ b/src/mame/audio/dcs.c @@ -852,54 +852,54 @@ static TIMER_CALLBACK( dcs_reset ) * *************************************/ -static void dcs_register_state(void) +static void dcs_register_state(running_machine *machine) { - state_save_register_global_array(sdrc.reg); - state_save_register_global(sdrc.seed); + state_save_register_global_array(machine, sdrc.reg); + state_save_register_global(machine, sdrc.seed); - state_save_register_global_array(dsio.reg); - state_save_register_global(dsio.start_on_next_write); - state_save_register_global(dsio.channelbits); + state_save_register_global_array(machine, dsio.reg); + state_save_register_global(machine, dsio.start_on_next_write); + state_save_register_global(machine, dsio.channelbits); - state_save_register_global(dcs.channels); - state_save_register_global(dcs.size); - state_save_register_global(dcs.incs); - state_save_register_global(dcs.ireg); - state_save_register_global(dcs.ireg_base); - state_save_register_global_array(dcs.control_regs); + state_save_register_global(machine, dcs.channels); + state_save_register_global(machine, dcs.size); + state_save_register_global(machine, dcs.incs); + state_save_register_global(machine, dcs.ireg); + state_save_register_global(machine, dcs.ireg_base); + state_save_register_global_array(machine, dcs.control_regs); - state_save_register_global(dcs.sounddata_bank); + state_save_register_global(machine, dcs.sounddata_bank); - state_save_register_global(dcs.auto_ack); - state_save_register_global(dcs.latch_control); - state_save_register_global(dcs.input_data); - state_save_register_global(dcs.output_data); - state_save_register_global(dcs.output_control); - state_save_register_global(dcs.output_control_cycles); - state_save_register_global(dcs.last_output_full); - state_save_register_global(dcs.last_input_empty); - state_save_register_global(dcs.progflags); + state_save_register_global(machine, dcs.auto_ack); + state_save_register_global(machine, dcs.latch_control); + state_save_register_global(machine, dcs.input_data); + state_save_register_global(machine, dcs.output_data); + state_save_register_global(machine, dcs.output_control); + state_save_register_global(machine, dcs.output_control_cycles); + state_save_register_global(machine, dcs.last_output_full); + state_save_register_global(machine, dcs.last_input_empty); + state_save_register_global(machine, dcs.progflags); - state_save_register_global(dcs.timer_enable); - state_save_register_global(dcs.timer_ignore); - state_save_register_global(dcs.timer_start_cycles); - state_save_register_global(dcs.timer_start_count); - state_save_register_global(dcs.timer_scale); - state_save_register_global(dcs.timer_period); - state_save_register_global(dcs.timers_fired); + state_save_register_global(machine, dcs.timer_enable); + state_save_register_global(machine, dcs.timer_ignore); + state_save_register_global(machine, dcs.timer_start_cycles); + state_save_register_global(machine, dcs.timer_start_count); + state_save_register_global(machine, dcs.timer_scale); + state_save_register_global(machine, dcs.timer_period); + state_save_register_global(machine, dcs.timers_fired); - state_save_register_global(transfer.dcs_state); - state_save_register_global(transfer.state); - state_save_register_global(transfer.start); - state_save_register_global(transfer.stop); - state_save_register_global(transfer.type); - state_save_register_global(transfer.temp); - state_save_register_global(transfer.writes_left); - state_save_register_global(transfer.sum); - state_save_register_global(transfer.fifo_entries); + state_save_register_global(machine, transfer.dcs_state); + state_save_register_global(machine, transfer.state); + state_save_register_global(machine, transfer.start); + state_save_register_global(machine, transfer.stop); + state_save_register_global(machine, transfer.type); + state_save_register_global(machine, transfer.temp); + state_save_register_global(machine, transfer.writes_left); + state_save_register_global(machine, transfer.sum); + state_save_register_global(machine, transfer.fifo_entries); if (dcs_sram != NULL) - state_save_register_global_pointer(dcs_sram, 0x8000*4 / sizeof(dcs_sram[0])); + state_save_register_global_pointer(machine, dcs_sram, 0x8000*4 / sizeof(dcs_sram[0])); if (dcs.rev == 2) state_save_register_postload(Machine, sdrc_postload, NULL); @@ -938,7 +938,7 @@ void dcs_init(running_machine *machine) dcs.auto_ack = TRUE; /* register for save states */ - dcs_register_state(); + dcs_register_state(Machine); /* reset the system */ dcs_reset(Machine, NULL, 0); @@ -1015,7 +1015,7 @@ void dcs2_init(running_machine *machine, int dram_in_mb, offs_t polling_offset) transfer.watchdog = timer_alloc(machine, transfer_watchdog_callback, NULL); /* register for save states */ - dcs_register_state(); + dcs_register_state(machine); /* reset the system */ dcs_reset(machine, NULL, 0); diff --git a/src/mame/audio/exidy.c b/src/mame/audio/exidy.c index 6e1f77a2b2a..70f4893894f 100644 --- a/src/mame/audio/exidy.c +++ b/src/mame/audio/exidy.c @@ -852,7 +852,7 @@ static void *victory_sh_start(int clock, const custom_sound_interface *config) { pia_config(1, &victory_pia_e5_intf); - state_save_register_global(victory_sound_response_ack_clk); + state_save_register_global(Machine, victory_sound_response_ack_clk); return venture_common_sh_start(clock, config, TRUE); } diff --git a/src/mame/audio/exidy440.c b/src/mame/audio/exidy440.c index 7f85e2f219d..c1afee3d5b7 100644 --- a/src/mame/audio/exidy440.c +++ b/src/mame/audio/exidy440.c @@ -138,8 +138,8 @@ static void *exidy440_sh_start(int clock, const custom_sound_interface *config) /* reset the system */ exidy440_sound_command = 0; exidy440_sound_command_ack = 1; - state_save_register_global(exidy440_sound_command); - state_save_register_global(exidy440_sound_command_ack); + state_save_register_global(Machine, exidy440_sound_command); + state_save_register_global(Machine, exidy440_sound_command_ack); /* reset the 6844 */ for (i = 0; i < 4; i++) @@ -151,9 +151,9 @@ static void *exidy440_sh_start(int clock, const custom_sound_interface *config) m6844_interrupt = 0x00; m6844_chain = 0x00; - state_save_register_global(m6844_priority); - state_save_register_global(m6844_interrupt); - state_save_register_global(m6844_chain); + state_save_register_global(Machine, m6844_priority); + state_save_register_global(Machine, m6844_interrupt); + state_save_register_global(Machine, m6844_chain); channel_frequency[0] = clock; /* channels 0 and 1 are run by FCLK */ channel_frequency[1] = clock; diff --git a/src/mame/audio/flower.c b/src/mame/audio/flower.c index 89d7fc5d22b..9cca10b4357 100644 --- a/src/mame/audio/flower.c +++ b/src/mame/audio/flower.c @@ -182,8 +182,8 @@ void * flower_sh_start(int clock, const custom_sound_interface *config) sound_enable = 1; /* save globals */ - state_save_register_item("flower_custom", NULL, 0, num_voices); - state_save_register_item("flower_custom", NULL, 0, sound_enable); + state_save_register_item(Machine, "flower_custom", NULL, 0, num_voices); + state_save_register_item(Machine, "flower_custom", NULL, 0, sound_enable); /* reset all the voices */ for (i = 0; i < num_voices; i++) @@ -195,12 +195,12 @@ void * flower_sh_start(int clock, const custom_sound_interface *config) voice->counter = 0; voice->rom_offset = 0; - state_save_register_item("flower_custom", NULL, i+1, voice->frequency); - state_save_register_item("flower_custom", NULL, i+1, voice->counter); - state_save_register_item("flower_custom", NULL, i+1, voice->volume); - state_save_register_item("flower_custom", NULL, i+1, voice->oneshot); - state_save_register_item("flower_custom", NULL, i+1, voice->oneshotplaying); - state_save_register_item("flower_custom", NULL, i+1, voice->rom_offset); + state_save_register_item(Machine, "flower_custom", NULL, i+1, voice->frequency); + state_save_register_item(Machine, "flower_custom", NULL, i+1, voice->counter); + state_save_register_item(Machine, "flower_custom", NULL, i+1, voice->volume); + state_save_register_item(Machine, "flower_custom", NULL, i+1, voice->oneshot); + state_save_register_item(Machine, "flower_custom", NULL, i+1, voice->oneshotplaying); + state_save_register_item(Machine, "flower_custom", NULL, i+1, voice->rom_offset); } return auto_malloc(1); diff --git a/src/mame/audio/galaxian.c b/src/mame/audio/galaxian.c index ead645b0acd..0a0b373dba2 100644 --- a/src/mame/audio/galaxian.c +++ b/src/mame/audio/galaxian.c @@ -399,15 +399,15 @@ static void galaxian_sh_start(void) timer_pulse(Machine, video_screen_get_frame_period(Machine->primary_screen), NULL, 0, galaxian_sh_update); - state_save_register_global(freq); - state_save_register_global(noise_enable); - state_save_register_global(noisevolume); - state_save_register_global(last_port2); - state_save_register_global(pitch); - state_save_register_global(vol); - state_save_register_global(counter); - state_save_register_global(countdown); - state_save_register_global_array(lfobit); + state_save_register_global(Machine, freq); + state_save_register_global(Machine, noise_enable); + state_save_register_global(Machine, noisevolume); + state_save_register_global(Machine, last_port2); + state_save_register_global(Machine, pitch); + state_save_register_global(Machine, vol); + state_save_register_global(Machine, counter); + state_save_register_global(Machine, countdown); + state_save_register_global_array(Machine, lfobit); } diff --git a/src/mame/audio/gottlieb.c b/src/mame/audio/gottlieb.c index 0ce73ee1f2d..88c0d86b2d2 100644 --- a/src/mame/audio/gottlieb.c +++ b/src/mame/audio/gottlieb.c @@ -299,8 +299,8 @@ static SOUND_START( gottlieb1 ) score_sample = 7; random_offset = 0; - state_save_register_global_array(votrax_queue); - state_save_register_global(votrax_queuepos); + state_save_register_global_array(machine, votrax_queue); + state_save_register_global(machine, votrax_queuepos); } @@ -552,11 +552,11 @@ static SOUND_START( gottlieb2 ) nmi_timer_adjust(); /* register for save states */ - state_save_register_global(nmi_rate); - state_save_register_global(nmi_state); - state_save_register_global(speech_control); - state_save_register_global(sp0250_drq); - state_save_register_global(last_command); + state_save_register_global(machine, nmi_rate); + state_save_register_global(machine, nmi_state); + state_save_register_global(machine, speech_control); + state_save_register_global(machine, sp0250_drq); + state_save_register_global(machine, last_command); } diff --git a/src/mame/audio/irem.c b/src/mame/audio/irem.c index 68673d0757e..5f6ee85574f 100644 --- a/src/mame/audio/irem.c +++ b/src/mame/audio/irem.c @@ -22,8 +22,8 @@ static UINT8 port1, port2; static SOUND_START( irem_audio ) { - state_save_register_global(port1); - state_save_register_global(port2); + state_save_register_global(machine, port1); + state_save_register_global(machine, port2); } @@ -173,9 +173,9 @@ static WRITE8_HANDLER( m62_adpcm_w ) * *************************************/ -static void adpcm_int(running_machine *machine, int data) +static void adpcm_int(const device_config *device) { - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); /* the first MSM5205 clocks the second */ if (sndti_exists(SOUND_MSM5205, 1)) diff --git a/src/mame/audio/jedi.c b/src/mame/audio/jedi.c index a3b00afafdd..59968462753 100644 --- a/src/mame/audio/jedi.c +++ b/src/mame/audio/jedi.c @@ -25,9 +25,9 @@ static SOUND_START( jedi ) jedi_state *state = machine->driver_data; /* set up save state */ - state_save_register_global(state->audio_latch); - state_save_register_global(state->audio_ack_latch); - state_save_register_global(state->speech_strobe_state); + state_save_register_global(machine, state->audio_latch); + state_save_register_global(machine, state->audio_ack_latch); + state_save_register_global(machine, state->speech_strobe_state); } diff --git a/src/mame/audio/m72.c b/src/mame/audio/m72.c index 2dd8f1b96fa..2f09a852422 100644 --- a/src/mame/audio/m72.c +++ b/src/mame/audio/m72.c @@ -108,8 +108,8 @@ MACHINE_RESET( m72_sound ) { setvector_callback(machine, NULL, VECTOR_INIT); - state_save_register_global(irqvector); - state_save_register_global(sample_addr); + state_save_register_global(machine, irqvector); + state_save_register_global(machine, sample_addr); } void m72_ym2151_irq_handler(running_machine *machine, int irq) diff --git a/src/mame/audio/mario.c b/src/mame/audio/mario.c index cd9c7b2a30f..612349ff186 100644 --- a/src/mame/audio/mario.c +++ b/src/mame/audio/mario.c @@ -272,8 +272,8 @@ static SOUND_START( mario ) memory_configure_bank(machine, 1, 1, 1, memory_region(machine, "audio") + 0x1000, 0x800); } - state_save_register_global(state->last); - state_save_register_global(state->portT); + state_save_register_global(machine, state->last); + state_save_register_global(machine, state->portT); } static SOUND_RESET( mario ) diff --git a/src/mame/audio/mcr.c b/src/mame/audio/mcr.c index d18ee260082..6a0bce467a4 100644 --- a/src/mame/audio/mcr.c +++ b/src/mame/audio/mcr.c @@ -121,12 +121,12 @@ void mcr_sound_init(running_machine *machine, UINT8 config) { ssio_sound_cpu = sound_cpu++; ssio_compute_ay8910_modulation(); - state_save_register_global_array(ssio_data); - state_save_register_global(ssio_status); - state_save_register_global(ssio_14024_count); - state_save_register_global(ssio_mute); - state_save_register_global_array(ssio_overall); - state_save_register_global_2d_array(ssio_duty_cycle); + state_save_register_global_array(machine, ssio_data); + state_save_register_global(machine, ssio_status); + state_save_register_global(machine, ssio_14024_count); + state_save_register_global(machine, ssio_mute); + state_save_register_global_array(machine, ssio_overall); + state_save_register_global_2d_array(machine, ssio_duty_cycle); } /* Turbo Chip Squeak */ @@ -135,7 +135,7 @@ void mcr_sound_init(running_machine *machine, UINT8 config) pia_config(0, &turbocs_pia_intf); turbocs_dac_index = dac_index++; turbocs_sound_cpu = sound_cpu++; - state_save_register_global(turbocs_status); + state_save_register_global(machine, turbocs_status); } /* Chip Squeak Deluxe */ @@ -144,7 +144,7 @@ void mcr_sound_init(running_machine *machine, UINT8 config) pia_config(0, &csdeluxe_pia_intf); csdeluxe_dac_index = dac_index++; csdeluxe_sound_cpu = sound_cpu++; - state_save_register_global(csdeluxe_status); + state_save_register_global(machine, csdeluxe_status); } /* Sounds Good */ @@ -154,7 +154,7 @@ void mcr_sound_init(running_machine *machine, UINT8 config) pia_config(1, &soundsgood_pia_intf); soundsgood_dac_index = dac_index++; soundsgood_sound_cpu = sound_cpu++; - state_save_register_global(soundsgood_status); + state_save_register_global(machine, soundsgood_status); } /* Squawk n Talk */ @@ -163,8 +163,8 @@ void mcr_sound_init(running_machine *machine, UINT8 config) pia_config(0, &squawkntalk_pia0_intf); pia_config(1, &squawkntalk_pia1_intf); squawkntalk_sound_cpu = sound_cpu++; - state_save_register_global(squawkntalk_tms_command); - state_save_register_global(squawkntalk_tms_strobes); + state_save_register_global(machine, squawkntalk_tms_command); + state_save_register_global(machine, squawkntalk_tms_strobes); } /* Advanced Audio */ diff --git a/src/mame/audio/mw8080bw.c b/src/mame/audio/mw8080bw.c index 7ce4a766b1e..cff9e30ec2c 100644 --- a/src/mame/audio/mw8080bw.c +++ b/src/mame/audio/mw8080bw.c @@ -32,8 +32,8 @@ static UINT8 port_2_last; static SOUND_START( samples ) { /* setup for save states */ - state_save_register_global(port_1_last); - state_save_register_global(port_2_last); + state_save_register_global(machine, port_1_last); + state_save_register_global(machine, port_2_last); } diff --git a/src/mame/audio/phoenix.c b/src/mame/audio/phoenix.c index e5a6f819c35..3fd8c6e8954 100644 --- a/src/mame/audio/phoenix.c +++ b/src/mame/audio/phoenix.c @@ -497,16 +497,16 @@ SOUND_START( phoenix) memset(&c25_state, 0, sizeof(c25_state)); memset(&noise_state, 0, sizeof(noise_state)); - state_save_register_global(sound_latch_a); - state_save_register_global(c24_state.counter); - state_save_register_global(c24_state.level); - state_save_register_global(c25_state.counter); - state_save_register_global(c25_state.level); - state_save_register_global(noise_state.counter); - state_save_register_global(noise_state.polybit); - state_save_register_global(noise_state.polyoffs); - state_save_register_global(noise_state.lowpass_counter); - state_save_register_global(noise_state.lowpass_polybit); + state_save_register_global(machine, sound_latch_a); + state_save_register_global(machine, c24_state.counter); + state_save_register_global(machine, c24_state.level); + state_save_register_global(machine, c25_state.counter); + state_save_register_global(machine, c25_state.level); + state_save_register_global(machine, noise_state.counter); + state_save_register_global(machine, noise_state.polybit); + state_save_register_global(machine, noise_state.polyoffs); + state_save_register_global(machine, noise_state.lowpass_counter); + state_save_register_global(machine, noise_state.lowpass_polybit); } @@ -544,7 +544,7 @@ void *phoenix_sh_start(int clock, const custom_sound_interface *config) channel = stream_create(0, 1, Machine->sample_rate, 0, phoenix_sound_update); - state_save_register_global_pointer(poly18, (1ul << (18-5)) ); + state_save_register_global_pointer(Machine, poly18, (1ul << (18-5)) ); /* a dummy token */ return auto_malloc(1); diff --git a/src/mame/audio/redalert.c b/src/mame/audio/redalert.c index def9175c1d1..878475e8fdb 100644 --- a/src/mame/audio/redalert.c +++ b/src/mame/audio/redalert.c @@ -151,8 +151,8 @@ ADDRESS_MAP_END static SOUND_START( redalert_audio ) { - state_save_register_global(ay8910_latch_1); - state_save_register_global(ay8910_latch_2); + state_save_register_global(machine, ay8910_latch_1); + state_save_register_global(machine, ay8910_latch_2); } @@ -380,8 +380,8 @@ static SOUND_START( demoneye ) { pia_config(0, &demoneye_pia_intf); - state_save_register_global(ay8910_latch_1); - state_save_register_global(ay8910_latch_2); + state_save_register_global(machine, ay8910_latch_1); + state_save_register_global(machine, ay8910_latch_2); } diff --git a/src/mame/audio/scramble.c b/src/mame/audio/scramble.c index b4bf0777526..77a7ec919c9 100644 --- a/src/mame/audio/scramble.c +++ b/src/mame/audio/scramble.c @@ -421,10 +421,10 @@ static SOUND_START( ad2083 ) speech_rom_bit = 0; speech_cnt = 0x10; - state_save_register_global(speech_rom_address); - state_save_register_global(speech_rom_address_hi); - state_save_register_global(speech_rom_bit); - state_save_register_global(speech_cnt); + state_save_register_global(machine, speech_rom_address); + state_save_register_global(machine, speech_rom_address_hi); + state_save_register_global(machine, speech_rom_bit); + state_save_register_global(machine, speech_cnt); } MACHINE_DRIVER_START( ad2083_audio ) diff --git a/src/mame/audio/segag80r.c b/src/mame/audio/segag80r.c index e2e72261e96..077ec130188 100644 --- a/src/mame/audio/segag80r.c +++ b/src/mame/audio/segag80r.c @@ -224,8 +224,8 @@ MACHINE_DRIVER_END static SOUND_START( astrob ) { - state_save_register_global_array(sound_state); - state_save_register_global(sound_rate); + state_save_register_global_array(machine, sound_state); + state_save_register_global(machine, sound_rate); } @@ -464,11 +464,11 @@ MACHINE_DRIVER_END static SOUND_START( 005 ) { - state_save_register_global_array(sound_state); - state_save_register_global(sound_addr); - state_save_register_global(sound_data); - state_save_register_global(square_state); - state_save_register_global(square_count); + state_save_register_global_array(machine, sound_state); + state_save_register_global(machine, sound_addr); + state_save_register_global(machine, sound_data); + state_save_register_global(machine, square_state); + state_save_register_global(machine, square_count); } @@ -681,7 +681,7 @@ MACHINE_DRIVER_END static SOUND_START( spaceod ) { - state_save_register_global_array(sound_state); + state_save_register_global_array(machine, sound_state); } @@ -862,10 +862,10 @@ MACHINE_DRIVER_END static SOUND_START( monsterb ) { - state_save_register_global_array(sound_state); - state_save_register_global(sound_addr); - state_save_register_global(n7751_command); - state_save_register_global(n7751_busy); + state_save_register_global_array(machine, sound_state); + state_save_register_global(machine, sound_addr); + state_save_register_global(machine, n7751_command); + state_save_register_global(machine, n7751_busy); } diff --git a/src/mame/audio/segasnd.c b/src/mame/audio/segasnd.c index cf3fe933c37..8c4f767d1c6 100644 --- a/src/mame/audio/segasnd.c +++ b/src/mame/audio/segasnd.c @@ -685,11 +685,11 @@ static void *usb_start(int clock, const custom_sound_interface *config) configure_filter(&usb.final_filter, 100e3, 4.7e-6); /* register for save states */ - state_save_register_item("usb", NULL, 0, usb.in_latch); - state_save_register_item("usb", NULL, 0, usb.out_latch); - state_save_register_item("usb", NULL, 0, usb.last_p2_value); - state_save_register_item("usb", NULL, 0, usb.work_ram_bank); - state_save_register_item("usb", NULL, 0, usb.t1_clock); + state_save_register_item(Machine, "usb", NULL, 0, usb.in_latch); + state_save_register_item(Machine, "usb", NULL, 0, usb.out_latch); + state_save_register_item(Machine, "usb", NULL, 0, usb.last_p2_value); + state_save_register_item(Machine, "usb", NULL, 0, usb.work_ram_bank); + state_save_register_item(Machine, "usb", NULL, 0, usb.t1_clock); for (tgroup = 0; tgroup < 3; tgroup++) { @@ -697,36 +697,36 @@ static void *usb_start(int clock, const custom_sound_interface *config) for (tchan = 0; tchan < 3; tchan++) { timer8253_channel *channel = &group->chan[tchan]; - state_save_register_item("usb", NULL, tgroup * 3 + tchan, channel->holding); - state_save_register_item("usb", NULL, tgroup * 3 + tchan, channel->latchmode); - state_save_register_item("usb", NULL, tgroup * 3 + tchan, channel->latchtoggle); - state_save_register_item("usb", NULL, tgroup * 3 + tchan, channel->clockmode); - state_save_register_item("usb", NULL, tgroup * 3 + tchan, channel->bcdmode); - state_save_register_item("usb", NULL, tgroup * 3 + tchan, channel->output); - state_save_register_item("usb", NULL, tgroup * 3 + tchan, channel->lastgate); - state_save_register_item("usb", NULL, tgroup * 3 + tchan, channel->gate); - state_save_register_item("usb", NULL, tgroup * 3 + tchan, channel->subcount); - state_save_register_item("usb", NULL, tgroup * 3 + tchan, channel->count); - state_save_register_item("usb", NULL, tgroup * 3 + tchan, channel->remain); + state_save_register_item(Machine, "usb", NULL, tgroup * 3 + tchan, channel->holding); + state_save_register_item(Machine, "usb", NULL, tgroup * 3 + tchan, channel->latchmode); + state_save_register_item(Machine, "usb", NULL, tgroup * 3 + tchan, channel->latchtoggle); + state_save_register_item(Machine, "usb", NULL, tgroup * 3 + tchan, channel->clockmode); + state_save_register_item(Machine, "usb", NULL, tgroup * 3 + tchan, channel->bcdmode); + state_save_register_item(Machine, "usb", NULL, tgroup * 3 + tchan, channel->output); + state_save_register_item(Machine, "usb", NULL, tgroup * 3 + tchan, channel->lastgate); + state_save_register_item(Machine, "usb", NULL, tgroup * 3 + tchan, channel->gate); + state_save_register_item(Machine, "usb", NULL, tgroup * 3 + tchan, channel->subcount); + state_save_register_item(Machine, "usb", NULL, tgroup * 3 + tchan, channel->count); + state_save_register_item(Machine, "usb", NULL, tgroup * 3 + tchan, channel->remain); } - state_save_register_item_array("usb", NULL, tgroup, group->env); - state_save_register_item("usb", NULL, tgroup, group->chan_filter[0].capval); - state_save_register_item("usb", NULL, tgroup, group->chan_filter[1].capval); - state_save_register_item("usb", NULL, tgroup, group->gate1.capval); - state_save_register_item("usb", NULL, tgroup, group->gate2.capval); - state_save_register_item("usb", NULL, tgroup, group->config); + state_save_register_item_array(Machine, "usb", NULL, tgroup, group->env); + state_save_register_item(Machine, "usb", NULL, tgroup, group->chan_filter[0].capval); + state_save_register_item(Machine, "usb", NULL, tgroup, group->chan_filter[1].capval); + state_save_register_item(Machine, "usb", NULL, tgroup, group->gate1.capval); + state_save_register_item(Machine, "usb", NULL, tgroup, group->gate2.capval); + state_save_register_item(Machine, "usb", NULL, tgroup, group->config); } - state_save_register_item_array("usb", NULL, 0, usb.timer_mode); - state_save_register_item("usb", NULL, 0, usb.noise_shift); - state_save_register_item("usb", NULL, 0, usb.noise_state); - state_save_register_item("usb", NULL, 0, usb.noise_subcount); - state_save_register_item("usb", NULL, 0, usb.final_filter.capval); - state_save_register_item("usb", NULL, 0, usb.noise_filters[0].capval); - state_save_register_item("usb", NULL, 0, usb.noise_filters[1].capval); - state_save_register_item("usb", NULL, 0, usb.noise_filters[2].capval); - state_save_register_item("usb", NULL, 0, usb.noise_filters[3].capval); - state_save_register_item("usb", NULL, 0, usb.noise_filters[4].capval); + state_save_register_item_array(Machine, "usb", NULL, 0, usb.timer_mode); + state_save_register_item(Machine, "usb", NULL, 0, usb.noise_shift); + state_save_register_item(Machine, "usb", NULL, 0, usb.noise_state); + state_save_register_item(Machine, "usb", NULL, 0, usb.noise_subcount); + state_save_register_item(Machine, "usb", NULL, 0, usb.final_filter.capval); + state_save_register_item(Machine, "usb", NULL, 0, usb.noise_filters[0].capval); + state_save_register_item(Machine, "usb", NULL, 0, usb.noise_filters[1].capval); + state_save_register_item(Machine, "usb", NULL, 0, usb.noise_filters[2].capval); + state_save_register_item(Machine, "usb", NULL, 0, usb.noise_filters[3].capval); + state_save_register_item(Machine, "usb", NULL, 0, usb.noise_filters[4].capval); return usb.stream; } diff --git a/src/mame/audio/targ.c b/src/mame/audio/targ.c index ac4378cbff0..66c00b28cb8 100644 --- a/src/mame/audio/targ.c +++ b/src/mame/audio/targ.c @@ -12,6 +12,7 @@ */ #include "driver.h" +#include "deprecat.h" #include "sound/samples.h" #include "sound/dac.h" #include "targ.h" @@ -151,10 +152,10 @@ static void common_audio_start(int freq) sample_set_volume(3, 0); sample_start_raw(3, sine_wave, 32, 1000, 1); - state_save_register_global(port_1_last); - state_save_register_global(port_2_last); - state_save_register_global(tone_freq); - state_save_register_global(tone_active); + state_save_register_global(Machine, port_1_last); + state_save_register_global(Machine, port_2_last); + state_save_register_global(Machine, tone_freq); + state_save_register_global(Machine, tone_active); } @@ -170,7 +171,7 @@ static void targ_audio_start(void) tone_pointer = 0; - state_save_register_global(tone_pointer); + state_save_register_global(Machine, tone_pointer); } diff --git a/src/mame/audio/tiamc1.c b/src/mame/audio/tiamc1.c index bec5110a971..57df2507bcd 100644 --- a/src/mame/audio/tiamc1.c +++ b/src/mame/audio/tiamc1.c @@ -32,6 +32,7 @@ ***************************************************************************/ #include "driver.h" +#include "deprecat.h" #include "streams.h" #include "includes/tiamc1.h" @@ -295,19 +296,19 @@ void *tiamc1_sh_start(int clock, const custom_sound_interface *config) struct timer8253struct *t = (i ? &timer1 : &timer0); for (j = 0; j < 3; j++) { - state_save_register_item("channel", NULL, i * 3 + j, t->channel[j].count); - state_save_register_item("channel", NULL, i * 3 + j, t->channel[j].cnval); - state_save_register_item("channel", NULL, i * 3 + j, t->channel[j].bcdMode); - state_save_register_item("channel", NULL, i * 3 + j, t->channel[j].cntMode); - state_save_register_item("channel", NULL, i * 3 + j, t->channel[j].valMode); - state_save_register_item("channel", NULL, i * 3 + j, t->channel[j].gate); - state_save_register_item("channel", NULL, i * 3 + j, t->channel[j].output); - state_save_register_item("channel", NULL, i * 3 + j, t->channel[j].loadCnt); - state_save_register_item("channel", NULL, i * 3 + j, t->channel[j].enable); + state_save_register_item(Machine, "channel", NULL, i * 3 + j, t->channel[j].count); + state_save_register_item(Machine, "channel", NULL, i * 3 + j, t->channel[j].cnval); + state_save_register_item(Machine, "channel", NULL, i * 3 + j, t->channel[j].bcdMode); + state_save_register_item(Machine, "channel", NULL, i * 3 + j, t->channel[j].cntMode); + state_save_register_item(Machine, "channel", NULL, i * 3 + j, t->channel[j].valMode); + state_save_register_item(Machine, "channel", NULL, i * 3 + j, t->channel[j].gate); + state_save_register_item(Machine, "channel", NULL, i * 3 + j, t->channel[j].output); + state_save_register_item(Machine, "channel", NULL, i * 3 + j, t->channel[j].loadCnt); + state_save_register_item(Machine, "channel", NULL, i * 3 + j, t->channel[j].enable); } } - state_save_register_global(timer1_divider); + state_save_register_global(Machine, timer1_divider); return channel; } diff --git a/src/mame/audio/timeplt.c b/src/mame/audio/timeplt.c index d497e1c1860..7d66bdf06a7 100644 --- a/src/mame/audio/timeplt.c +++ b/src/mame/audio/timeplt.c @@ -31,7 +31,7 @@ static UINT8 timeplt_last_irq_state; static SOUND_START( timeplt ) { timeplt_last_irq_state = 0; - state_save_register_global(timeplt_last_irq_state); + state_save_register_global(machine, timeplt_last_irq_state); } diff --git a/src/mame/audio/williams.c b/src/mame/audio/williams.c index 48ec71d935a..93aaea945a9 100644 --- a/src/mame/audio/williams.c +++ b/src/mame/audio/williams.c @@ -290,8 +290,8 @@ void williams_cvsd_init(int pianum) pia_set_input_ca1(williams_pianum, 1); /* register for save states */ - state_save_register_global(williams_sound_int_state); - state_save_register_global(audio_talkback); + state_save_register_global(sound_cpu->machine, williams_sound_int_state); + state_save_register_global(sound_cpu->machine, audio_talkback); } @@ -333,9 +333,9 @@ void williams_narc_init(void) memory_set_bankptr(sound_cpu->machine, 8, &ROM[0x10000 + 0x4000 + 0x8000 + 0x10000 + 0x20000 * 3]); /* register for save states */ - state_save_register_global(williams_sound_int_state); - state_save_register_global(audio_talkback); - state_save_register_global(audio_sync); + state_save_register_global(sound_cpu->machine, williams_sound_int_state); + state_save_register_global(sound_cpu->machine, audio_talkback); + state_save_register_global(sound_cpu->machine, audio_sync); } @@ -372,8 +372,8 @@ void williams_adpcm_init(void) memcpy(ROM + 0x020000, ROM + 0x060000, 0x20000); /* register for save states */ - state_save_register_global(williams_sound_int_state); - state_save_register_global(audio_talkback); + state_save_register_global(sound_cpu->machine, williams_sound_int_state); + state_save_register_global(sound_cpu->machine, audio_talkback); } diff --git a/src/mame/drivers/aliens.c b/src/mame/drivers/aliens.c index a6bc0b677dd..62612d33300 100644 --- a/src/mame/drivers/aliens.c +++ b/src/mame/drivers/aliens.c @@ -510,7 +510,7 @@ static DRIVER_INIT( aliens ) konami_rom_deinterleave_2("gfx1"); konami_rom_deinterleave_2("gfx2"); - state_save_register_global(palette_selected); + state_save_register_global(machine, palette_selected); } diff --git a/src/mame/drivers/appoooh.c b/src/mame/drivers/appoooh.c index 11a74d8baf6..b74768fc984 100644 --- a/src/mame/drivers/appoooh.c +++ b/src/mame/drivers/appoooh.c @@ -56,7 +56,7 @@ Credits: static UINT8 *adpcmptr = 0; static int appoooh_adpcm_data; -static void appoooh_adpcm_int(running_machine *machine, int num) +static void appoooh_adpcm_int(const device_config *device) { if( adpcmptr ) { diff --git a/src/mame/drivers/ashnojoe.c b/src/mame/drivers/ashnojoe.c index e49dfb9f728..5e5796a03eb 100644 --- a/src/mame/drivers/ashnojoe.c +++ b/src/mame/drivers/ashnojoe.c @@ -322,7 +322,7 @@ static const ym2203_interface ym2203_config = ym2203_irq_handler }; -static void ashnojoe_vclk_cb(running_machine *machine, int data) +static void ashnojoe_vclk_cb(const device_config *device) { if (msm5205_vclk_toggle == 0) { @@ -331,7 +331,7 @@ static void ashnojoe_vclk_cb(running_machine *machine, int data) else { msm5205_data_w(0, adpcm_byte & 0xf); - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); } msm5205_vclk_toggle ^= 1; diff --git a/src/mame/drivers/astrocde.c b/src/mame/drivers/astrocde.c index 9fae091cf50..6cbc7997eea 100644 --- a/src/mame/drivers/astrocde.c +++ b/src/mame/drivers/astrocde.c @@ -138,11 +138,11 @@ static UINT8 profpac_bank; static MACHINE_START( astrocde ) { - state_save_register_global(port_1_last); - state_save_register_global(port_2_last); - state_save_register_global(ram_write_enable); - state_save_register_global(input_select); - state_save_register_global(profpac_bank); + state_save_register_global(machine, port_1_last); + state_save_register_global(machine, port_2_last); + state_save_register_global(machine, ram_write_enable); + state_save_register_global(machine, input_select); + state_save_register_global(machine, profpac_bank); port_1_last = port_2_last = 0xff; } diff --git a/src/mame/drivers/astrof.c b/src/mame/drivers/astrof.c index 8f271ac3c3a..067efc54eab 100644 --- a/src/mame/drivers/astrof.c +++ b/src/mame/drivers/astrof.c @@ -173,7 +173,7 @@ static VIDEO_START( astrof ) { /* allocate the color RAM -- half the size of the video RAM as A0 is not connected */ astrof_colorram = auto_malloc(astrof_videoram_size / 2); - state_save_register_global_pointer(astrof_colorram, astrof_videoram_size / 2); + state_save_register_global_pointer(machine, astrof_colorram, astrof_videoram_size / 2); } @@ -426,10 +426,10 @@ static MACHINE_START( astrof ) astrof_set_video_control_2(0xff); /* register for state saving */ - state_save_register_global(red_on); - state_save_register_global(flipscreen); - state_save_register_global(screen_off); - state_save_register_global(astrof_palette_bank); + state_save_register_global(machine, red_on); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, screen_off); + state_save_register_global(machine, astrof_palette_bank); MACHINE_START_CALL(astrof_audio); } @@ -438,7 +438,7 @@ static MACHINE_START( astrof ) static MACHINE_START( abattle ) { /* register for state saving */ - state_save_register_global(abattle_count); + state_save_register_global(machine, abattle_count); MACHINE_START_CALL(astrof); } @@ -453,9 +453,9 @@ static MACHINE_START( spfghmk2 ) red_on = FALSE; /* register for state saving */ - state_save_register_global(flipscreen); - state_save_register_global(screen_off); - state_save_register_global(astrof_palette_bank); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, screen_off); + state_save_register_global(machine, astrof_palette_bank); } @@ -465,9 +465,9 @@ static MACHINE_START( tomahawk ) tomahawk_set_video_control_2(0xff); /* register for state saving */ - state_save_register_global(red_on); - state_save_register_global(flipscreen); - state_save_register_global(screen_off); + state_save_register_global(machine, red_on); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, screen_off); } diff --git a/src/mame/drivers/asuka.c b/src/mame/drivers/asuka.c index c650dfeca4c..fcfef9f5787 100644 --- a/src/mame/drivers/asuka.c +++ b/src/mame/drivers/asuka.c @@ -262,7 +262,7 @@ static WRITE8_HANDLER( sound_bankswitch_w ) -static void asuka_msm5205_vck(running_machine *machine, int chip) +static void asuka_msm5205_vck(const device_config *device) { if (adpcm_data != -1) { @@ -271,7 +271,7 @@ static void asuka_msm5205_vck(running_machine *machine, int chip) } else { - adpcm_data = memory_region(machine, "ym")[adpcm_pos]; + adpcm_data = memory_region(device->machine, "ym")[adpcm_pos]; adpcm_pos = (adpcm_pos + 1) & 0xffff; msm5205_data_w(0, adpcm_data >> 4); } @@ -301,7 +301,7 @@ static MACHINE_START( asuka ) memory_configure_bank(machine, 1, 0, 1, memory_region(machine, "audio"), 0); memory_configure_bank(machine, 1, 1, 3, memory_region(machine, "audio") + 0x10000, 0x04000); - state_save_register_global(adpcm_pos); + state_save_register_global(machine, adpcm_pos); } static MACHINE_RESET( asuka ) diff --git a/src/mame/drivers/atarig1.c b/src/mame/drivers/atarig1.c index 726a59c3ebc..aa9754123b0 100644 --- a/src/mame/drivers/atarig1.c +++ b/src/mame/drivers/atarig1.c @@ -57,7 +57,7 @@ static void update_interrupts(running_machine *machine) static MACHINE_START( atarig1 ) { - state_save_register_global(which_input); + state_save_register_global(machine, which_input); } @@ -950,8 +950,8 @@ static void init_g1_common(running_machine *machine, offs_t slapstic_base, int s if (slapstic == -1) { pitfighb_cheap_slapstic_init(machine); - state_save_register_global(bslapstic_bank); - state_save_register_global(bslapstic_primed); + state_save_register_global(machine, bslapstic_bank); + state_save_register_global(machine, bslapstic_primed); state_save_register_postload(machine, pitfighb_state_postload, NULL); } else if (slapstic != 0) diff --git a/src/mame/drivers/atarisy2.c b/src/mame/drivers/atarisy2.c index ed0c74ad31a..aee4ff0a75b 100644 --- a/src/mame/drivers/atarisy2.c +++ b/src/mame/drivers/atarisy2.c @@ -245,14 +245,14 @@ static DIRECT_UPDATE_HANDLER( atarisy2_direct_handler ) static MACHINE_START( atarisy2 ) { - state_save_register_global(interrupt_enable); - state_save_register_global(tms5220_data); - state_save_register_global(tms5220_data_strobe); - state_save_register_global(which_adc); - state_save_register_global(p2portwr_state); - state_save_register_global(p2portrd_state); + state_save_register_global(machine, interrupt_enable); + state_save_register_global(machine, tms5220_data); + state_save_register_global(machine, tms5220_data_strobe); + state_save_register_global(machine, which_adc); + state_save_register_global(machine, p2portwr_state); + state_save_register_global(machine, p2portrd_state); state_save_register_postload(machine, bankselect_postload, NULL); - state_save_register_global(sound_reset_state); + state_save_register_global(machine, sound_reset_state); } diff --git a/src/mame/drivers/atetris.c b/src/mame/drivers/atetris.c index 9880a031a91..914aa82b0e4 100644 --- a/src/mame/drivers/atetris.c +++ b/src/mame/drivers/atetris.c @@ -121,8 +121,8 @@ static MACHINE_START( atetris ) interrupt_timer = timer_alloc(machine, interrupt_gen, NULL); /* Set up save state */ - state_save_register_global(current_bank); - state_save_register_global(nvram_write_enable); + state_save_register_global(machine, current_bank); + state_save_register_global(machine, nvram_write_enable); state_save_register_postload(machine, atetris_postload, NULL); } diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c index 34c74215c55..cc7f84e051b 100644 --- a/src/mame/drivers/backfire.c +++ b/src/mame/drivers/backfire.c @@ -60,16 +60,16 @@ static VIDEO_START(backfire) deco16_pf34_control = auto_malloc(0x10); /* and register the allocated ram so that save states still work */ - state_save_register_global_pointer(deco16_pf1_data, 0x2000/2); - state_save_register_global_pointer(deco16_pf2_data, 0x2000/2); - state_save_register_global_pointer(deco16_pf3_data, 0x2000/2); - state_save_register_global_pointer(deco16_pf4_data, 0x2000/2); - state_save_register_global_pointer(deco16_pf1_rowscroll, 0x800/2); - state_save_register_global_pointer(deco16_pf2_rowscroll, 0x800/2); - state_save_register_global_pointer(deco16_pf3_rowscroll, 0x800/2); - state_save_register_global_pointer(deco16_pf4_rowscroll, 0x800/2); - state_save_register_global_pointer(deco16_pf12_control, 0x10/2); - state_save_register_global_pointer(deco16_pf34_control, 0x10/2); + state_save_register_global_pointer(machine, deco16_pf1_data, 0x2000/2); + state_save_register_global_pointer(machine, deco16_pf2_data, 0x2000/2); + state_save_register_global_pointer(machine, deco16_pf3_data, 0x2000/2); + state_save_register_global_pointer(machine, deco16_pf4_data, 0x2000/2); + state_save_register_global_pointer(machine, deco16_pf1_rowscroll, 0x800/2); + state_save_register_global_pointer(machine, deco16_pf2_rowscroll, 0x800/2); + state_save_register_global_pointer(machine, deco16_pf3_rowscroll, 0x800/2); + state_save_register_global_pointer(machine, deco16_pf4_rowscroll, 0x800/2); + state_save_register_global_pointer(machine, deco16_pf12_control, 0x10/2); + state_save_register_global_pointer(machine, deco16_pf34_control, 0x10/2); deco16_2_video_init(machine, 0); diff --git a/src/mame/drivers/batman.c b/src/mame/drivers/batman.c index a9f8a90fda2..366d2791c9d 100644 --- a/src/mame/drivers/batman.c +++ b/src/mame/drivers/batman.c @@ -55,7 +55,7 @@ static MACHINE_RESET( batman ) atarigen_scanline_timer_reset(machine->primary_screen, batman_scanline_update, 8); atarijsa_reset(); atarigen_init_save_state(machine); - state_save_register_global(latch_data); + state_save_register_global(machine, latch_data); } diff --git a/src/mame/drivers/battlera.c b/src/mame/drivers/battlera.c index d2582590eba..7c62e101a18 100644 --- a/src/mame/drivers/battlera.c +++ b/src/mame/drivers/battlera.c @@ -103,7 +103,7 @@ static WRITE8_HANDLER( YM2203_w ) static int msm5205next; -static void battlera_adpcm_int(running_machine *machine, int data) +static void battlera_adpcm_int(const device_config *device) { static int toggle; @@ -112,7 +112,7 @@ static void battlera_adpcm_int(running_machine *machine, int data) toggle = 1 - toggle; if (toggle) - cpu_set_input_line(machine->cpu[1], 1, HOLD_LINE); + cpu_set_input_line(device->machine->cpu[1], 1, HOLD_LINE); } static WRITE8_HANDLER( battlera_adpcm_data_w ) diff --git a/src/mame/drivers/beaminv.c b/src/mame/drivers/beaminv.c index 6980bee790f..317335dbf03 100644 --- a/src/mame/drivers/beaminv.c +++ b/src/mame/drivers/beaminv.c @@ -116,7 +116,7 @@ static MACHINE_START( beaminv ) create_interrupt_timer(machine); /* setup for save states */ - state_save_register_global(controller_select); + state_save_register_global(machine, controller_select); } diff --git a/src/mame/drivers/berzerk.c b/src/mame/drivers/berzerk.c index f554bb7da78..b91558b54a0 100644 --- a/src/mame/drivers/berzerk.c +++ b/src/mame/drivers/berzerk.c @@ -274,11 +274,11 @@ static MACHINE_START( berzerk ) create_nmi_timer(machine); /* register for state saving */ - state_save_register_global(magicram_control); - state_save_register_global(last_shift_data); - state_save_register_global(intercept); - state_save_register_global(irq_enabled); - state_save_register_global(nmi_enabled); + state_save_register_global(machine, magicram_control); + state_save_register_global(machine, last_shift_data); + state_save_register_global(machine, intercept); + state_save_register_global(machine, irq_enabled); + state_save_register_global(machine, nmi_enabled); } diff --git a/src/mame/drivers/bfcobra.c b/src/mame/drivers/bfcobra.c index 4115180352e..3b173fb6138 100644 --- a/src/mame/drivers/bfcobra.c +++ b/src/mame/drivers/bfcobra.c @@ -1677,19 +1677,19 @@ static DRIVER_INIT( bfcobra ) data_r = 1; /* Finish this */ - state_save_register_global(z80_m6809_line); - state_save_register_global(m6809_z80_line); - state_save_register_global(data_r); - state_save_register_global(data_t); - state_save_register_global(h_scroll); - state_save_register_global(v_scroll); - state_save_register_global(flip_8); - state_save_register_global(flip_22); - state_save_register_global(z80_int); - state_save_register_global(z80_inten); - state_save_register_global_array(bank); - state_save_register_global_pointer(work_ram, 0xc0000); - state_save_register_global_pointer(video_ram, 0x20000); + state_save_register_global(machine, z80_m6809_line); + state_save_register_global(machine, m6809_z80_line); + state_save_register_global(machine, data_r); + state_save_register_global(machine, data_t); + state_save_register_global(machine, h_scroll); + state_save_register_global(machine, v_scroll); + state_save_register_global(machine, flip_8); + state_save_register_global(machine, flip_22); + state_save_register_global(machine, z80_int); + state_save_register_global(machine, z80_inten); + state_save_register_global_array(machine, bank); + state_save_register_global_pointer(machine, work_ram, 0xc0000); + state_save_register_global_pointer(machine, video_ram, 0x20000); } /* TODO */ diff --git a/src/mame/drivers/bishi.c b/src/mame/drivers/bishi.c index af382a656c4..926cea642ef 100644 --- a/src/mame/drivers/bishi.c +++ b/src/mame/drivers/bishi.c @@ -99,8 +99,8 @@ static UINT16 cur_control, cur_control2; static MACHINE_START( bishi ) { - state_save_register_global(cur_control); - state_save_register_global(cur_control2); + state_save_register_global(machine, cur_control); + state_save_register_global(machine, cur_control2); } diff --git a/src/mame/drivers/bombjack.c b/src/mame/drivers/bombjack.c index 54ddcba0c8e..fd59edbeb1c 100644 --- a/src/mame/drivers/bombjack.c +++ b/src/mame/drivers/bombjack.c @@ -112,7 +112,7 @@ static UINT8 latch; static MACHINE_START( bombjack ) { - state_save_register_global(latch); + state_save_register_global(machine, latch); } diff --git a/src/mame/drivers/btoads.c b/src/mame/drivers/btoads.c index 4ba263c9d86..6055be4190a 100644 --- a/src/mame/drivers/btoads.c +++ b/src/mame/drivers/btoads.c @@ -42,11 +42,11 @@ static UINT8 sound_int_state; static MACHINE_START( btoads ) { - state_save_register_global(main_to_sound_data); - state_save_register_global(main_to_sound_ready); - state_save_register_global(sound_to_main_data); - state_save_register_global(sound_to_main_ready); - state_save_register_global(sound_int_state); + state_save_register_global(machine, main_to_sound_data); + state_save_register_global(machine, main_to_sound_ready); + state_save_register_global(machine, sound_to_main_data); + state_save_register_global(machine, sound_to_main_ready); + state_save_register_global(machine, sound_int_state); } diff --git a/src/mame/drivers/bzone.c b/src/mame/drivers/bzone.c index 803742b7bb7..3405bd51adf 100644 --- a/src/mame/drivers/bzone.c +++ b/src/mame/drivers/bzone.c @@ -230,18 +230,18 @@ UINT8 rb_input_select; static MACHINE_START( bzone ) { - state_save_register_global(analog_data); - mb_register_states(); - atari_vg_register_states(); + state_save_register_global(machine, analog_data); + mb_register_states(machine); + atari_vg_register_states(machine); } static MACHINE_START( redbaron ) { - state_save_register_global(analog_data); - state_save_register_global(rb_input_select); - mb_register_states(); - atari_vg_register_states(); + state_save_register_global(machine, analog_data); + state_save_register_global(machine, rb_input_select); + mb_register_states(machine); + atari_vg_register_states(machine); } diff --git a/src/mame/drivers/ccastles.c b/src/mame/drivers/ccastles.c index 307278e759d..68f4f89d6e5 100644 --- a/src/mame/drivers/ccastles.c +++ b/src/mame/drivers/ccastles.c @@ -240,9 +240,9 @@ static MACHINE_START( ccastles ) generic_nvram = auto_malloc(generic_nvram_size); /* setup for save states */ - state_save_register_global(irq_state); - state_save_register_global_array(nvram_store); - state_save_register_global_pointer(generic_nvram, generic_nvram_size); + state_save_register_global(machine, irq_state); + state_save_register_global_array(machine, nvram_store); + state_save_register_global_pointer(machine, generic_nvram, generic_nvram_size); } diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c index 3741af26a2b..b8efe76e880 100644 --- a/src/mame/drivers/centiped.c +++ b/src/mame/drivers/centiped.c @@ -452,9 +452,9 @@ static TIMER_DEVICE_CALLBACK( generate_interrupt ) static MACHINE_START( centiped ) { - state_save_register_global_array(oldpos); - state_save_register_global_array(sign); - state_save_register_global(dsw_select); + state_save_register_global_array(machine, oldpos); + state_save_register_global_array(machine, sign); + state_save_register_global(machine, dsw_select); } diff --git a/src/mame/drivers/changela.c b/src/mame/drivers/changela.c index ea6d3b36d25..c071ffa3518 100644 --- a/src/mame/drivers/changela.c +++ b/src/mame/drivers/changela.c @@ -556,27 +556,27 @@ ROM_END static DRIVER_INIT(changela) { - state_save_register_global(portA_in); - state_save_register_global(portA_out); - state_save_register_global(ddrA); - state_save_register_global(portB_out); - state_save_register_global(ddrB); - state_save_register_global(portC_in); - state_save_register_global(portC_out); - state_save_register_global(ddrC); + state_save_register_global(machine, portA_in); + state_save_register_global(machine, portA_out); + state_save_register_global(machine, ddrA); + state_save_register_global(machine, portB_out); + state_save_register_global(machine, ddrB); + state_save_register_global(machine, portC_in); + state_save_register_global(machine, portC_out); + state_save_register_global(machine, ddrC); - state_save_register_global(mcu_out); - state_save_register_global(mcu_in); - state_save_register_global(mcu_PC1); - state_save_register_global(mcu_PC0); + state_save_register_global(machine, mcu_out); + state_save_register_global(machine, mcu_in); + state_save_register_global(machine, mcu_PC1); + state_save_register_global(machine, mcu_PC0); - state_save_register_global(changela_tree0_col); - state_save_register_global(changela_tree1_col); - state_save_register_global(changela_left_bank_col); - state_save_register_global(changela_right_bank_col); - state_save_register_global(changela_boat_shore_col); - state_save_register_global(changela_collision_reset); - state_save_register_global(changela_tree_collision_reset); + state_save_register_global(machine, changela_tree0_col); + state_save_register_global(machine, changela_tree1_col); + state_save_register_global(machine, changela_left_bank_col); + state_save_register_global(machine, changela_right_bank_col); + state_save_register_global(machine, changela_boat_shore_col); + state_save_register_global(machine, changela_collision_reset); + state_save_register_global(machine, changela_tree_collision_reset); } GAME( 1983, changela, 0, changela, changela, changela, ROT180, "Taito Corporation", "Change Lanes", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c index 68113b6bc2a..e24dc7d67f9 100644 --- a/src/mame/drivers/chinagat.c +++ b/src/mame/drivers/chinagat.c @@ -257,7 +257,7 @@ static READ8_HANDLER( saiyugb1_m5205_irq_r ) } return 0; } -static void saiyugb1_m5205_irq_w(running_machine *machine, int num) +static void saiyugb1_m5205_irq_w(const device_config *device) { adpcm_sound_irq = 1; } diff --git a/src/mame/drivers/cidelsa.c b/src/mame/drivers/cidelsa.c index f2b71512bbd..fa72cb4b178 100644 --- a/src/mame/drivers/cidelsa.c +++ b/src/mame/drivers/cidelsa.c @@ -555,7 +555,7 @@ static MACHINE_START( cidelsa ) /* register for state saving */ - state_save_register_global(state->cdp1802_mode); + state_save_register_global(machine, state->cdp1802_mode); } static MACHINE_START( draco ) @@ -571,8 +571,8 @@ static MACHINE_START( draco ) /* register for state saving */ - state_save_register_global(state->draco_sound); - state_save_register_global(state->draco_ay_latch); + state_save_register_global(machine, state->draco_sound); + state_save_register_global(machine, state->draco_ay_latch); } /* Machine Reset */ diff --git a/src/mame/drivers/cinemat.c b/src/mame/drivers/cinemat.c index 13c5c07020a..5bdadd09074 100644 --- a/src/mame/drivers/cinemat.c +++ b/src/mame/drivers/cinemat.c @@ -61,9 +61,9 @@ static UINT8 mux_select; static MACHINE_START( cinemat ) { - state_save_register_global(coin_detected); - state_save_register_global(coin_last_reset); - state_save_register_global(mux_select); + state_save_register_global(machine, coin_detected); + state_save_register_global(machine, coin_last_reset); + state_save_register_global(machine, mux_select); } diff --git a/src/mame/drivers/circusc.c b/src/mame/drivers/circusc.c index ef9b2c0f5bd..a86847bb6c6 100644 --- a/src/mame/drivers/circusc.c +++ b/src/mame/drivers/circusc.c @@ -73,7 +73,7 @@ VIDEO_UPDATE( circusc ); static MACHINE_START( circusc ) { - state_save_register_global(sn_latch); + state_save_register_global(machine, sn_latch); } static MACHINE_RESET( circusc ) diff --git a/src/mame/drivers/clayshoo.c b/src/mame/drivers/clayshoo.c index 7cd0aeec776..2fb585e2f24 100644 --- a/src/mame/drivers/clayshoo.c +++ b/src/mame/drivers/clayshoo.c @@ -158,8 +158,8 @@ static MACHINE_START( clayshoo ) create_analog_timers(machine); /* register for state saving */ - state_save_register_global(input_port_select); - state_save_register_global(analog_port_val); + state_save_register_global(machine, input_port_select); + state_save_register_global(machine, analog_port_val); } diff --git a/src/mame/drivers/cloud9.c b/src/mame/drivers/cloud9.c index 1f174aa6f8e..2a6d5eea64d 100644 --- a/src/mame/drivers/cloud9.c +++ b/src/mame/drivers/cloud9.c @@ -204,8 +204,8 @@ static MACHINE_START( cloud9 ) generic_nvram = auto_malloc(generic_nvram_size); /* setup for save states */ - state_save_register_global(irq_state); - state_save_register_global_pointer(generic_nvram, generic_nvram_size); + state_save_register_global(machine, irq_state); + state_save_register_global_pointer(machine, generic_nvram, generic_nvram_size); } diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c index be5931dc732..08197332adc 100644 --- a/src/mame/drivers/cps1.c +++ b/src/mame/drivers/cps1.c @@ -2886,7 +2886,7 @@ static ADDRESS_MAP_START( sf2mdt_z80map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0xd000, 0xd7ff) AM_RAM ADDRESS_MAP_END -static void m5205_int1(running_machine *machine, int data) +static void m5205_int1(const device_config *device) { // msm5205_data_w(0, sample_buffer1 & 0x0F); // sample_buffer1 >>= 4; @@ -2895,7 +2895,7 @@ static void m5205_int1(running_machine *machine, int data) // cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); } -static void m5205_int2(running_machine *machine, int data) +static void m5205_int2(const device_config *device) { // msm5205_data_w(1, sample_buffer2 & 0x0F); // sample_buffer2 >>= 4; diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c index 4fc4e689c6c..76432fb0abb 100644 --- a/src/mame/drivers/cps3.c +++ b/src/mame/drivers/cps3.c @@ -849,14 +849,14 @@ static VIDEO_START(cps3) cps3_ss_ram_is_dirty = 1; memset(cps3_ss_ram, 0x00, 0x10000); memset(cps3_ss_ram_dirty, 1, 0x400); - state_save_register_global_pointer(cps3_ss_ram, 0x10000/4); + state_save_register_global_pointer(machine, cps3_ss_ram, 0x10000/4); cps3_char_ram = auto_malloc(0x800000); cps3_char_ram_dirty = auto_malloc(0x800000/256); cps3_char_ram_is_dirty = 1; memset(cps3_char_ram, 0x00, 0x800000); memset(cps3_char_ram_dirty, 1, 0x8000); - state_save_register_global_pointer(cps3_char_ram, 0x800000 /4); + state_save_register_global_pointer(machine, cps3_char_ram, 0x800000 /4); /* create the char set (gfx will then be updated dynamically from RAM) */ machine->gfx[0] = allocgfx(&cps3_tiles8x8_layout); diff --git a/src/mame/drivers/crgolf.c b/src/mame/drivers/crgolf.c index c07db0412e6..2e90b0a284c 100644 --- a/src/mame/drivers/crgolf.c +++ b/src/mame/drivers/crgolf.c @@ -66,11 +66,11 @@ static MACHINE_START( crgolf ) memory_set_bank(machine, 1, 0); /* register for save states */ - state_save_register_global(port_select); - state_save_register_global(main_to_sound_data); - state_save_register_global(sound_to_main_data); - state_save_register_global(sample_offset); - state_save_register_global(sample_count); + state_save_register_global(machine, port_select); + state_save_register_global(machine, main_to_sound_data); + state_save_register_global(machine, sound_to_main_data); + state_save_register_global(machine, sample_offset); + state_save_register_global(machine, sample_count); } @@ -174,12 +174,12 @@ static READ8_HANDLER( sound_to_main_r ) * *************************************/ -static void vck_callback(running_machine *machine, int data) +static void vck_callback(const device_config *device) { /* only play back if we have data remaining */ if (sample_count != 0xff) { - UINT8 data = memory_region(machine, "adpcm")[sample_offset >> 1]; + UINT8 data = memory_region(device->machine, "adpcm")[sample_offset >> 1]; /* write the next nibble and advance */ msm5205_data_w(0, (data >> (4 * (~sample_offset & 1))) & 0x0f); diff --git a/src/mame/drivers/cvs.c b/src/mame/drivers/cvs.c index ba3ecbc1662..ebf07a052c7 100644 --- a/src/mame/drivers/cvs.c +++ b/src/mame/drivers/cvs.c @@ -500,13 +500,13 @@ MACHINE_START( cvs ) start_393hz_timer(machine); /* register state save */ - state_save_register_global_pointer(cvs_color_ram, 0x400); - state_save_register_global_pointer(cvs_palette_ram, 0x10); - state_save_register_global_pointer(cvs_character_ram, 3 * 0x800); - state_save_register_global(character_banking_mode); - state_save_register_global(character_ram_page_start); - state_save_register_global(speech_rom_bit_address); - state_save_register_global(cvs_393hz_clock); + state_save_register_global_pointer(machine, cvs_color_ram, 0x400); + state_save_register_global_pointer(machine, cvs_palette_ram, 0x10); + state_save_register_global_pointer(machine, cvs_character_ram, 3 * 0x800); + state_save_register_global(machine, character_banking_mode); + state_save_register_global(machine, character_ram_page_start); + state_save_register_global(machine, speech_rom_bit_address); + state_save_register_global(machine, cvs_393hz_clock); } diff --git a/src/mame/drivers/dacholer.c b/src/mame/drivers/dacholer.c index 7cf885f462b..4b6c6f1b2c7 100644 --- a/src/mame/drivers/dacholer.c +++ b/src/mame/drivers/dacholer.c @@ -379,7 +379,7 @@ static INTERRUPT_GEN( sound_irq ) } } -static void adpcm_int(running_machine *machine, int cpunum) +static void adpcm_int(const device_config *device) { if(snd_interrupt_enable == 1 || (snd_interrupt_enable ==0 && msm_toggle==1)) { @@ -388,7 +388,7 @@ static void adpcm_int(running_machine *machine, int cpunum) msm_toggle^=1; if (msm_toggle==0) { - cpu_set_input_line_and_vector(machine->cpu[1], 0, HOLD_LINE, 0x38); + cpu_set_input_line_and_vector(device->machine->cpu[1], 0, HOLD_LINE, 0x38); } } } diff --git a/src/mame/drivers/darius.c b/src/mame/drivers/darius.c index fed9acd0884..98e9e500a89 100644 --- a/src/mame/drivers/darius.c +++ b/src/mame/drivers/darius.c @@ -514,10 +514,10 @@ static ADDRESS_MAP_START( darius_sound2_writemem, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_END -static void darius_adpcm_int (running_machine *machine, int data) +static void darius_adpcm_int (const device_config *device) { if (nmi_enable) - cpu_set_input_line(machine->cpu[3], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[3], INPUT_LINE_NMI, PULSE_LINE); } static const msm5205_interface msm5205_config = @@ -1199,12 +1199,12 @@ static MACHINE_START( darius ) adpcm_command = 0; nmi_enable = 0; - state_save_register_global(cpua_ctrl); + state_save_register_global(machine, cpua_ctrl); // (there are other sound vars that may need saving too) // - state_save_register_global(banknum); - state_save_register_global(adpcm_command); - state_save_register_global(nmi_enable); + state_save_register_global(machine, banknum); + state_save_register_global(machine, adpcm_command); + state_save_register_global(machine, nmi_enable); state_save_register_postload(machine, darius_postload, NULL); } diff --git a/src/mame/drivers/dcheese.c b/src/mame/drivers/dcheese.c index 6bb2107047c..3cac3829ca6 100644 --- a/src/mame/drivers/dcheese.c +++ b/src/mame/drivers/dcheese.c @@ -103,10 +103,10 @@ static MACHINE_START( dcheese ) { cpu_set_irq_callback(machine->cpu[0], irq_callback); - state_save_register_global_array(irq_state); - state_save_register_global(soundlatch_full); - state_save_register_global(sound_control); - state_save_register_global(sound_msb_latch); + state_save_register_global_array(machine, irq_state); + state_save_register_global(machine, soundlatch_full); + state_save_register_global(machine, sound_control); + state_save_register_global(machine, sound_msb_latch); } diff --git a/src/mame/drivers/ddragon.c b/src/mame/drivers/ddragon.c index dced2bcf6fd..f8acbd3523a 100644 --- a/src/mame/drivers/ddragon.c +++ b/src/mame/drivers/ddragon.c @@ -185,10 +185,10 @@ static MACHINE_START( ddragon ) snd_cpu = mame_find_cpu_index(machine, "sound"); /* register for save states */ - state_save_register_global(dd_sub_cpu_busy); - state_save_register_global_array(adpcm_pos); - state_save_register_global_array(adpcm_end); - state_save_register_global_array(adpcm_idle); + state_save_register_global(machine, dd_sub_cpu_busy); + state_save_register_global_array(machine, adpcm_pos); + state_save_register_global_array(machine, adpcm_end); + state_save_register_global_array(machine, adpcm_idle); } @@ -463,8 +463,9 @@ static WRITE8_HANDLER( dd_adpcm_w ) } -static void dd_adpcm_int(running_machine *machine, int chip) +static void dd_adpcm_int(const device_config *device) { + int chip = (strcmp(device->tag, "adpcm1") == 0) ? 0 : 1; if (adpcm_pos[chip] >= adpcm_end[chip] || adpcm_pos[chip] >= 0x10000) { adpcm_idle[chip] = 1; @@ -477,7 +478,7 @@ static void dd_adpcm_int(running_machine *machine, int chip) } else { - UINT8 *ROM = memory_region(machine, "adpcm") + 0x10000 * chip; + UINT8 *ROM = memory_region(device->machine, "adpcm") + 0x10000 * chip; adpcm_data[chip] = ROM[adpcm_pos[chip]++]; msm5205_data_w(chip,adpcm_data[chip] >> 4); diff --git a/src/mame/drivers/dec8.c b/src/mame/drivers/dec8.c index a340224f4d8..00cc6050c2b 100644 --- a/src/mame/drivers/dec8.c +++ b/src/mame/drivers/dec8.c @@ -396,13 +396,13 @@ static WRITE8_HANDLER( oscar_sound_w ) cpu_set_input_line(space->machine->cpu[2],INPUT_LINE_NMI,PULSE_LINE); } -static void csilver_adpcm_int(running_machine *machine, int data) +static void csilver_adpcm_int(const device_config *device) { static int toggle =0; toggle ^= 1; if (toggle) - cpu_set_input_line(machine->cpu[2],M6502_IRQ_LINE,HOLD_LINE); + cpu_set_input_line(device->machine->cpu[2],M6502_IRQ_LINE,HOLD_LINE); msm5205_data_w (0,msm5205next>>4); msm5205next<<=4; diff --git a/src/mame/drivers/deco156.c b/src/mame/drivers/deco156.c index 22801749e5c..227870d78e4 100644 --- a/src/mame/drivers/deco156.c +++ b/src/mame/drivers/deco156.c @@ -42,12 +42,12 @@ static VIDEO_START( wcvol95 ) paletteram16 = auto_malloc(0x1000); /* and register the allocated ram so that save states still work */ - state_save_register_global_pointer(deco16_pf1_data, 0x2000/2); - state_save_register_global_pointer(deco16_pf2_data, 0x2000/2); - state_save_register_global_pointer(deco16_pf1_rowscroll, 0x800/2); - state_save_register_global_pointer(deco16_pf2_rowscroll, 0x800/2); - state_save_register_global_pointer(deco16_pf12_control, 0x10/2); - state_save_register_global_pointer(paletteram16, 0x1000/2); + state_save_register_global_pointer(machine, deco16_pf1_data, 0x2000/2); + state_save_register_global_pointer(machine, deco16_pf2_data, 0x2000/2); + state_save_register_global_pointer(machine, deco16_pf1_rowscroll, 0x800/2); + state_save_register_global_pointer(machine, deco16_pf2_rowscroll, 0x800/2); + state_save_register_global_pointer(machine, deco16_pf12_control, 0x10/2); + state_save_register_global_pointer(machine, paletteram16, 0x1000/2); deco16_1_video_init(machine); diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c index 8cc9268751b..805e9f2b8fa 100644 --- a/src/mame/drivers/deco32.c +++ b/src/mame/drivers/deco32.c @@ -3207,7 +3207,7 @@ static DRIVER_INIT( fghthist ) deco56_decrypt_gfx(machine, "gfx1"); deco74_decrypt_gfx(machine, "gfx2"); - decoprot_reset(); + decoprot_reset(machine); } static DRIVER_INIT( lockload ) diff --git a/src/mame/drivers/decocass.c b/src/mame/drivers/decocass.c index 6520f6ccdec..66549556cb4 100644 --- a/src/mame/drivers/decocass.c +++ b/src/mame/drivers/decocass.c @@ -1116,7 +1116,7 @@ static DRIVER_INIT( decocass ) /* Call the state save setup code in machine/decocass.c */ decocass_machine_state_save_init(machine); /* and in video/decocass.c, too */ - decocass_video_state_save_init(); + decocass_video_state_save_init(machine); } static DRIVER_INIT( decocrom ) diff --git a/src/mame/drivers/discoboy.c b/src/mame/drivers/discoboy.c index 4acf5b9683a..e669fc926be 100644 --- a/src/mame/drivers/discoboy.c +++ b/src/mame/drivers/discoboy.c @@ -326,7 +326,7 @@ ADDRESS_MAP_END // adpcm_data = data; //} -static void splash_msm5205_int(running_machine *machine, int data) +static void splash_msm5205_int(const device_config *device) { msm5205_data_w(0,adpcm_data >> 4); // adpcm_data = (adpcm_data << 4) & 0xf0; @@ -517,11 +517,11 @@ static DRIVER_INIT( discoboy ) memset(discoboy_ram_part4,0,0x1000); - state_save_register_global_pointer(discoboy_ram_part1, 0x800); - state_save_register_global_pointer(discoboy_ram_part2, 0x800); - state_save_register_global_pointer(discoboy_ram_att, 0x800); - state_save_register_global_pointer(discoboy_ram_part3, 0x1000); - state_save_register_global_pointer(discoboy_ram_part4, 0x1000); + state_save_register_global_pointer(machine, discoboy_ram_part1, 0x800); + state_save_register_global_pointer(machine, discoboy_ram_part2, 0x800); + state_save_register_global_pointer(machine, discoboy_ram_att, 0x800); + state_save_register_global_pointer(machine, discoboy_ram_part3, 0x1000); + state_save_register_global_pointer(machine, discoboy_ram_part4, 0x1000); discoboy_ram_bank = 0; diff --git a/src/mame/drivers/djmain.c b/src/mame/drivers/djmain.c index 22d6f65d39d..149bfee6668 100644 --- a/src/mame/drivers/djmain.c +++ b/src/mame/drivers/djmain.c @@ -1019,11 +1019,11 @@ static MACHINE_START( djmain ) if (ide != NULL && ide_user_password != NULL) ide_set_user_password(ide, ide_user_password); - state_save_register_global(sndram_bank); - state_save_register_global_pointer(region, 0x80000 * 32); - state_save_register_global(pending_vb_int); - state_save_register_global(v_ctrl); - state_save_register_global_array(obj_regs); + state_save_register_global(machine, sndram_bank); + state_save_register_global_pointer(machine, region, 0x80000 * 32); + state_save_register_global(machine, pending_vb_int); + state_save_register_global(machine, v_ctrl); + state_save_register_global_array(machine, obj_regs); state_save_register_postload(machine, djmain_postload, NULL); } diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c index ece0859c6de..5ca0a74ea33 100644 --- a/src/mame/drivers/dkong.c +++ b/src/mame/drivers/dkong.c @@ -396,8 +396,8 @@ static MACHINE_START( dkong2b ) state->hardware_type = HARDWARE_TKG04; - state_save_register_global(state->decrypt_counter); - state_save_register_global(state->dma_latch); + state_save_register_global(machine, state->decrypt_counter); + state_save_register_global(machine, state->dma_latch); } @@ -417,7 +417,7 @@ static MACHINE_START( s2650 ) state->hunchloopback = 0; - state_save_register_global(state->hunchloopback); + state_save_register_global(machine, state->hunchloopback); if (strcmp(game_name,"herbiedk") == 0) state->protect_type = DK2650_HERBIEDK; else if (strcmp(game_name,"hunchbkd") == 0) state->protect_type = DK2650_HUNCHBKD; diff --git a/src/mame/drivers/docastle.c b/src/mame/drivers/docastle.c index 361aa34eb3f..0dbd3f75843 100644 --- a/src/mame/drivers/docastle.c +++ b/src/mame/drivers/docastle.c @@ -167,9 +167,9 @@ static int adpcm_status; /* Read/Write Handlers */ -static void idsoccer_adpcm_int(running_machine *machine, int chip) +static void idsoccer_adpcm_int(const device_config *device) { - if (adpcm_pos >= memory_region_length(machine, "adpcm")) + if (adpcm_pos >= memory_region_length(device->machine, "adpcm")) { adpcm_idle = 1; msm5205_reset_w(0, 1); @@ -181,7 +181,7 @@ static void idsoccer_adpcm_int(running_machine *machine, int chip) } else { - adpcm_data = memory_region(machine, "adpcm")[adpcm_pos++]; + adpcm_data = memory_region(device->machine, "adpcm")[adpcm_pos++]; msm5205_data_w(0, adpcm_data >> 4); } } diff --git a/src/mame/drivers/drmicro.c b/src/mame/drivers/drmicro.c index 346ff6ebdf9..69ae21a50ca 100644 --- a/src/mame/drivers/drmicro.c +++ b/src/mame/drivers/drmicro.c @@ -45,9 +45,9 @@ static WRITE8_HANDLER( nmi_enable_w ) static int pcm_adr; -static void pcm_w(running_machine *machine, int irq) +static void pcm_w(const device_config *device) { - UINT8 *PCM = memory_region(machine, "adpcm"); + UINT8 *PCM = memory_region(device->machine, "adpcm"); int data = PCM[pcm_adr / 2]; @@ -68,7 +68,7 @@ static void pcm_w(running_machine *machine, int irq) static WRITE8_HANDLER( pcm_set_w ) { pcm_adr = ((data & 0x3f) << 9); - pcm_w(space->machine, 0); + pcm_w(space->cpu /* wrong -- should be msm device */); } /****************************************************************************/ diff --git a/src/mame/drivers/dynax.c b/src/mame/drivers/dynax.c index 75d1ed00de9..a007a840128 100644 --- a/src/mame/drivers/dynax.c +++ b/src/mame/drivers/dynax.c @@ -396,7 +396,7 @@ static WRITE8_HANDLER( nanajign_palette_w ) static int msm5205next; static int resetkludge; -static void adpcm_int(running_machine *machine, int data) +static void adpcm_int(const device_config *device) { static int toggle; @@ -407,10 +407,10 @@ static void adpcm_int(running_machine *machine, int data) if (toggle) { if (resetkludge) // don't know what's wrong, but NMIs when the 5205 is reset make the game crash - cpu_set_input_line(machine->cpu[0], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[0], INPUT_LINE_NMI, PULSE_LINE); } } -static void adpcm_int_cpu1(running_machine *machine, int data) +static void adpcm_int_cpu1(const device_config *device) { static int toggle; @@ -421,7 +421,7 @@ static void adpcm_int_cpu1(running_machine *machine, int data) if (toggle) { if (resetkludge) // don't know what's wrong, but NMIs when the 5205 is reset make the game crash - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); // cpu1 + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); // cpu1 } } diff --git a/src/mame/drivers/embargo.c b/src/mame/drivers/embargo.c index 5594a2e5255..1f9c23c22f9 100644 --- a/src/mame/drivers/embargo.c +++ b/src/mame/drivers/embargo.c @@ -140,9 +140,9 @@ static WRITE8_HANDLER( input_select_w ) static MACHINE_START( embargo ) { /* register for state saving */ - state_save_register_global(dial_enable_1); - state_save_register_global(dial_enable_2); - state_save_register_global(input_select); + state_save_register_global(machine, dial_enable_1); + state_save_register_global(machine, dial_enable_2); + state_save_register_global(machine, input_select); } diff --git a/src/mame/drivers/eprom.c b/src/mame/drivers/eprom.c index 83526460234..072f6e349d0 100644 --- a/src/mame/drivers/eprom.c +++ b/src/mame/drivers/eprom.c @@ -63,7 +63,7 @@ static MACHINE_RESET( klaxp ) static MACHINE_RESET( eprom ) { MACHINE_RESET_CALL(klaxp); - state_save_register_global_pointer(sync_data, 2); + state_save_register_global_pointer(machine, sync_data, 2); } diff --git a/src/mame/drivers/fantland.c b/src/mame/drivers/fantland.c index 760b90eea74..dbdadaaaa59 100644 --- a/src/mame/drivers/fantland.c +++ b/src/mame/drivers/fantland.c @@ -334,7 +334,7 @@ static WRITE8_HANDLER( borntofi_msm5205_w ) } } -static void borntofi_adpcm_int(running_machine *machine, int voice) +static void borntofi_adpcm_int(const device_config *device, int voice) { UINT8 *rom; size_t len; @@ -343,8 +343,8 @@ static void borntofi_adpcm_int(running_machine *machine, int voice) if (!borntofi_adpcm[voice].playing) return; - rom = memory_region( machine, "adpcm" ); - len = memory_region_length( machine, "adpcm" ) * 2; + rom = memory_region( device->machine, "adpcm" ); + len = memory_region_length( device->machine, "adpcm" ) * 2; start = borntofi_adpcm[voice].addr[0] + borntofi_adpcm[voice].nibble; stop = borntofi_adpcm[voice].addr[1]; @@ -367,6 +367,12 @@ static void borntofi_adpcm_int(running_machine *machine, int voice) } } +static void borntofi_adpcm_int_0(const device_config *device) { borntofi_adpcm_int(device, 0); } +static void borntofi_adpcm_int_1(const device_config *device) { borntofi_adpcm_int(device, 1); } +static void borntofi_adpcm_int_2(const device_config *device) { borntofi_adpcm_int(device, 2); } +static void borntofi_adpcm_int_3(const device_config *device) { borntofi_adpcm_int(device, 3); } + + static ADDRESS_MAP_START( borntofi_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x00000, 0x003ff ) AM_RAM AM_RANGE( 0x04000, 0x04000 ) AM_READ( soundlatch_r ) @@ -894,9 +900,24 @@ MACHINE_DRIVER_END // OKI M5205 running at 384kHz [18.432/48]. Sample rate = 384000 / 48 -static const msm5205_interface msm5205_config = +static const msm5205_interface msm5205_config_0 = { - borntofi_adpcm_int, /* IRQ handler */ + borntofi_adpcm_int_0, /* IRQ handler */ + MSM5205_S48_4B /* 8 kHz, 4 Bits */ +}; +static const msm5205_interface msm5205_config_1 = +{ + borntofi_adpcm_int_1, /* IRQ handler */ + MSM5205_S48_4B /* 8 kHz, 4 Bits */ +}; +static const msm5205_interface msm5205_config_2 = +{ + borntofi_adpcm_int_2, /* IRQ handler */ + MSM5205_S48_4B /* 8 kHz, 4 Bits */ +}; +static const msm5205_interface msm5205_config_3 = +{ + borntofi_adpcm_int_3, /* IRQ handler */ MSM5205_S48_4B /* 8 kHz, 4 Bits */ }; @@ -937,10 +958,10 @@ static MACHINE_DRIVER_START( borntofi ) /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") - MDRV_SOUND_ADD("msm1", MSM5205, 384000) MDRV_SOUND_CONFIG(msm5205_config) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MDRV_SOUND_ADD("msm2", MSM5205, 384000) MDRV_SOUND_CONFIG(msm5205_config) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MDRV_SOUND_ADD("msm3", MSM5205, 384000) MDRV_SOUND_CONFIG(msm5205_config) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - MDRV_SOUND_ADD("msm4", MSM5205, 384000) MDRV_SOUND_CONFIG(msm5205_config) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MDRV_SOUND_ADD("msm1", MSM5205, 384000) MDRV_SOUND_CONFIG(msm5205_config_0) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MDRV_SOUND_ADD("msm2", MSM5205, 384000) MDRV_SOUND_CONFIG(msm5205_config_1) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MDRV_SOUND_ADD("msm3", MSM5205, 384000) MDRV_SOUND_CONFIG(msm5205_config_2) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MDRV_SOUND_ADD("msm4", MSM5205, 384000) MDRV_SOUND_CONFIG(msm5205_config_3) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_DRIVER_END diff --git a/src/mame/drivers/fcrash.c b/src/mame/drivers/fcrash.c index a0413b0cb45..543e738a123 100644 --- a/src/mame/drivers/fcrash.c +++ b/src/mame/drivers/fcrash.c @@ -63,16 +63,16 @@ static WRITE8_HANDLER( fcrash_snd_bankswitch_w ) memory_set_bankptr(space->machine, 1,&RAM[0x10000 + bankaddr]); } -static void m5205_int1(running_machine *machine, int data) +static void m5205_int1(const device_config *device) { msm5205_data_w(0, sample_buffer1 & 0x0F); sample_buffer1 >>= 4; sample_select1 ^= 1; if (sample_select1 == 0) - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); } -static void m5205_int2(running_machine *machine, int data) +static void m5205_int2(const device_config *device) { msm5205_data_w(1, sample_buffer2 & 0x0F); sample_buffer2 >>= 4; diff --git a/src/mame/drivers/firetrap.c b/src/mame/drivers/firetrap.c index 13c86473a8e..260d61b3e34 100644 --- a/src/mame/drivers/firetrap.c +++ b/src/mame/drivers/firetrap.c @@ -220,7 +220,7 @@ static WRITE8_HANDLER( firetrap_sound_bankselect_w ) static int msm5205next; -static void firetrap_adpcm_int (running_machine *machine, int data) +static void firetrap_adpcm_int (const device_config *device) { static int toggle=0; @@ -229,7 +229,7 @@ static void firetrap_adpcm_int (running_machine *machine, int data) toggle ^= 1; if (firetrap_irq_enable && toggle) - cpu_set_input_line (machine->cpu[1], M6502_IRQ_LINE, HOLD_LINE); + cpu_set_input_line (device->machine->cpu[1], M6502_IRQ_LINE, HOLD_LINE); } static WRITE8_HANDLER( firetrap_adpcm_data_w ) diff --git a/src/mame/drivers/foodf.c b/src/mame/drivers/foodf.c index 8661a6e053c..b4d6f953f7d 100644 --- a/src/mame/drivers/foodf.c +++ b/src/mame/drivers/foodf.c @@ -144,7 +144,7 @@ static TIMER_CALLBACK( scanline_update ) static MACHINE_START( foodf ) { - state_save_register_global(whichport); + state_save_register_global(machine, whichport); scanline_timer = timer_alloc(machine, scanline_update, NULL); } diff --git a/src/mame/drivers/fromance.c b/src/mame/drivers/fromance.c index 61e1c4c94d7..8d84db7a3e2 100644 --- a/src/mame/drivers/fromance.c +++ b/src/mame/drivers/fromance.c @@ -164,7 +164,7 @@ static WRITE8_HANDLER( fromance_adpcm_w ) } -static void fromance_adpcm_int(running_machine *machine, int irq) +static void fromance_adpcm_int(const device_config *device) { /* skip if we're reset */ if (!fromance_adpcm_reset) @@ -180,7 +180,7 @@ static void fromance_adpcm_int(running_machine *machine, int irq) /* generate an NMI if we're out of data */ if (!fromance_vclk_left) - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); } diff --git a/src/mame/drivers/gaelco3d.c b/src/mame/drivers/gaelco3d.c index c5f482689f5..16a7b5ddfec 100644 --- a/src/mame/drivers/gaelco3d.c +++ b/src/mame/drivers/gaelco3d.c @@ -207,14 +207,14 @@ static MACHINE_RESET( common ) cpu_set_input_line(machine->cpu[1], INPUT_LINE_RESET, ASSERT_LINE); /* Save state support */ - state_save_register_global(sound_data); - state_save_register_global(sound_status); - state_save_register_global_array(analog_ports); - state_save_register_global(framenum); - state_save_register_global(adsp_ireg); - state_save_register_global(adsp_ireg_base); - state_save_register_global(adsp_incs); - state_save_register_global(adsp_size); + state_save_register_global(machine, sound_data); + state_save_register_global(machine, sound_status); + state_save_register_global_array(machine, analog_ports); + state_save_register_global(machine, framenum); + state_save_register_global(machine, adsp_ireg); + state_save_register_global(machine, adsp_ireg_base); + state_save_register_global(machine, adsp_incs); + state_save_register_global(machine, adsp_size); } @@ -222,7 +222,7 @@ static MACHINE_RESET( gaelco3d ) { MACHINE_RESET_CALL( common ); tms_offset_xor = 0; - state_save_register_global(tms_offset_xor); + state_save_register_global(machine, tms_offset_xor); } @@ -230,7 +230,7 @@ static MACHINE_RESET( gaelco3d2 ) { MACHINE_RESET_CALL( common ); tms_offset_xor = BYTE_XOR_BE(0); - state_save_register_global(tms_offset_xor); + state_save_register_global(machine, tms_offset_xor); } diff --git a/src/mame/drivers/galaxian.c b/src/mame/drivers/galaxian.c index fa2bb926a71..98228772b73 100644 --- a/src/mame/drivers/galaxian.c +++ b/src/mame/drivers/galaxian.c @@ -2355,7 +2355,7 @@ static DRIVER_INIT( gmgalax ) /* callback when the game select is toggled */ gmgalax_game_changed(machine->portconfig->fieldlist, NULL, 0, 0); - state_save_register_global(gmgalax_selected_game); + state_save_register_global(machine, gmgalax_selected_game); } @@ -2613,8 +2613,8 @@ static DRIVER_INIT( kingball ) memory_install_write8_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0xb002, 0xb002, 0, 0x7f8, kingball_sound2_w); memory_install_write8_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0xb003, 0xb003, 0, 0x7f8, kingball_speech_dip_w); - state_save_register_global(kingball_speech_dip); - state_save_register_global(kingball_sound); + state_save_register_global(machine, kingball_speech_dip); + state_save_register_global(machine, kingball_sound); } @@ -2849,7 +2849,7 @@ static DRIVER_INIT( moonwar ) /* video extensions */ common_init(machine, scramble_draw_bullet, scramble_draw_background, NULL, NULL); - state_save_register_global(moonwar_port_select); + state_save_register_global(machine, moonwar_port_select); } diff --git a/src/mame/drivers/gameplan.c b/src/mame/drivers/gameplan.c index 0c37e3b8c80..10b5b71a35b 100644 --- a/src/mame/drivers/gameplan.c +++ b/src/mame/drivers/gameplan.c @@ -211,7 +211,7 @@ static MACHINE_START( gameplan ) via_config(2, &via_2_interface); /* register for save states */ - state_save_register_global(state->current_port); + state_save_register_global(machine, state->current_port); } diff --git a/src/mame/drivers/genesis.c b/src/mame/drivers/genesis.c index 43e6bd858a1..bcb0d2b49cc 100644 --- a/src/mame/drivers/genesis.c +++ b/src/mame/drivers/genesis.c @@ -139,9 +139,9 @@ void genesis_irq2_interrupt(running_machine *machine, int state) MACHINE_START( genesis ) { - state_save_register_global(irq2_int); - state_save_register_global(scanline_int); - state_save_register_global(vblank_int); + state_save_register_global(machine, irq2_int); + state_save_register_global(machine, scanline_int); + state_save_register_global(machine, vblank_int); } diff --git a/src/mame/drivers/gijoe.c b/src/mame/drivers/gijoe.c index 97fe00add6f..2f4835def87 100644 --- a/src/mame/drivers/gijoe.c +++ b/src/mame/drivers/gijoe.c @@ -205,7 +205,7 @@ static void sound_nmi(running_machine *machine) static MACHINE_START( gijoe ) { - state_save_register_global(cur_control2); + state_save_register_global(machine, cur_control2); dmadelay_timer = timer_alloc(machine, dmaend_callback, NULL); } diff --git a/src/mame/drivers/goal92.c b/src/mame/drivers/goal92.c index 1b4c29b0d02..8cfe0073ddb 100644 --- a/src/mame/drivers/goal92.c +++ b/src/mame/drivers/goal92.c @@ -247,7 +247,7 @@ static const ym2203_interface ym2203_config = irqhandler }; -static void goal92_adpcm_int(running_machine *machine, int data) +static void goal92_adpcm_int(const device_config *device) { static int toggle = 0; @@ -256,7 +256,7 @@ static void goal92_adpcm_int(running_machine *machine, int data) toggle ^= 1; if(toggle) - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); } static const msm5205_interface msm5205_config = diff --git a/src/mame/drivers/gottlieb.c b/src/mame/drivers/gottlieb.c index d21d0479db1..d6a98c63e76 100644 --- a/src/mame/drivers/gottlieb.c +++ b/src/mame/drivers/gottlieb.c @@ -249,8 +249,8 @@ static WRITE8_HANDLER( laserdisc_command_w ); static MACHINE_START( gottlieb ) { /* register for save states */ - state_save_register_global(joystick_select); - state_save_register_global_array(track); + state_save_register_global(machine, joystick_select); + state_save_register_global_array(machine, track); /* see if we have a laserdisc */ laserdisc = device_list_first(machine->config->devicelist, LASERDISC); @@ -270,20 +270,20 @@ static MACHINE_START( gottlieb ) laserdisc_status = 0x38; /* more save state registration */ - state_save_register_global(laserdisc_select); - state_save_register_global(laserdisc_status); - state_save_register_global(laserdisc_philips_code); + state_save_register_global(machine, laserdisc_select); + state_save_register_global(machine, laserdisc_status); + state_save_register_global(machine, laserdisc_philips_code); - state_save_register_global_pointer(laserdisc_audio_buffer, AUDIORAM_SIZE); - state_save_register_global(laserdisc_audio_address); - state_save_register_global_array(laserdisc_last_samples); - state_save_register_global(laserdisc_last_time.seconds); - state_save_register_global(laserdisc_last_time.attoseconds); - state_save_register_global(laserdisc_last_clock.seconds); - state_save_register_global(laserdisc_last_clock.attoseconds); - state_save_register_global(laserdisc_zero_seen); - state_save_register_global(laserdisc_audio_bits); - state_save_register_global(laserdisc_audio_bit_count); + state_save_register_global_pointer(machine, laserdisc_audio_buffer, AUDIORAM_SIZE); + state_save_register_global(machine, laserdisc_audio_address); + state_save_register_global_array(machine, laserdisc_last_samples); + state_save_register_global(machine, laserdisc_last_time.seconds); + state_save_register_global(machine, laserdisc_last_time.attoseconds); + state_save_register_global(machine, laserdisc_last_clock.seconds); + state_save_register_global(machine, laserdisc_last_clock.attoseconds); + state_save_register_global(machine, laserdisc_zero_seen); + state_save_register_global(machine, laserdisc_audio_bits); + state_save_register_global(machine, laserdisc_audio_bit_count); } } diff --git a/src/mame/drivers/hornet.c b/src/mame/drivers/hornet.c index a0f145aa23c..e62510528d2 100644 --- a/src/mame/drivers/hornet.c +++ b/src/mame/drivers/hornet.c @@ -457,9 +457,9 @@ static int K037122_vh_start(running_machine *machine, int chip) machine->gfx[K037122_gfx_index[chip]]->total_colors = machine->config->total_colors / 16; - state_save_register_item_pointer("K037122", NULL, chip, K037122_reg[chip], 0x400/sizeof(K037122_reg[chip][0])); - state_save_register_item_pointer("K037122", NULL, chip, K037122_char_ram[chip], 0x200000/sizeof(K037122_char_ram[chip][0])); - state_save_register_item_pointer("K037122", NULL, chip, K037122_tile_ram[chip], 0x20000/sizeof(K037122_tile_ram[chip][0])); + state_save_register_item_pointer(machine, "K037122", NULL, chip, K037122_reg[chip], 0x400/sizeof(K037122_reg[chip][0])); + state_save_register_item_pointer(machine, "K037122", NULL, chip, K037122_char_ram[chip], 0x200000/sizeof(K037122_char_ram[chip][0])); + state_save_register_item_pointer(machine, "K037122", NULL, chip, K037122_tile_ram[chip], 0x20000/sizeof(K037122_tile_ram[chip][0])); state_save_register_postload(machine, K037122_postload, (void *)(FPTR)chip); return 0; @@ -1016,10 +1016,10 @@ static MACHINE_START( hornet ) cpu_set_info_ptr(machine->cpu[0], CPUINFO_PTR_PPC_FASTRAM_BASE, workram); cpu_set_info_int(machine->cpu[0], CPUINFO_INT_PPC_FASTRAM_READONLY, 0); - state_save_register_global(led_reg0); - state_save_register_global(led_reg1); - state_save_register_global_pointer(jvs_sdata, 1024); - state_save_register_global(jvs_sdata_ptr); + state_save_register_global(machine, led_reg0); + state_save_register_global(machine, led_reg1); + state_save_register_global_pointer(machine, jvs_sdata, 1024); + state_save_register_global(machine, jvs_sdata_ptr); } static MACHINE_RESET( hornet ) diff --git a/src/mame/drivers/jailbrek.c b/src/mame/drivers/jailbrek.c index 3ce768b3920..63ec5d740b6 100644 --- a/src/mame/drivers/jailbrek.c +++ b/src/mame/drivers/jailbrek.c @@ -244,8 +244,8 @@ GFXDECODE_END static MACHINE_START( jailbrek ) { - state_save_register_global(irq_enable); - state_save_register_global(nmi_enable); + state_save_register_global(machine, irq_enable); + state_save_register_global(machine, nmi_enable); } static MACHINE_DRIVER_START( jailbrek ) diff --git a/src/mame/drivers/jedi.c b/src/mame/drivers/jedi.c index 472a58c0f1b..b2b875796fb 100644 --- a/src/mame/drivers/jedi.c +++ b/src/mame/drivers/jedi.c @@ -164,7 +164,7 @@ static MACHINE_START( jedi ) memory_configure_bank(machine, 1, 0, 3, memory_region(machine, "main") + 0x10000, 0x4000); /* set up save state */ - state_save_register_global(state->nvram_enabled); + state_save_register_global(machine, state->nvram_enabled); } diff --git a/src/mame/drivers/jongkyo.c b/src/mame/drivers/jongkyo.c index 436707943ff..82eccaf8d53 100644 --- a/src/mame/drivers/jongkyo.c +++ b/src/mame/drivers/jongkyo.c @@ -651,7 +651,7 @@ static DRIVER_INIT( jongkyo ) jongkyo_decode(machine, "main"); videoram2 = auto_malloc(0x4000); - state_save_register_global_pointer(videoram2, 0x4000); + state_save_register_global_pointer(machine, videoram2, 0x4000); } diff --git a/src/mame/drivers/jpmimpct.c b/src/mame/drivers/jpmimpct.c index 45f8eda0c9a..6322853ab1f 100644 --- a/src/mame/drivers/jpmimpct.c +++ b/src/mame/drivers/jpmimpct.c @@ -177,15 +177,15 @@ static MACHINE_RESET( jpmimpct ) touch_cnt = 0; // duart_1.IVR=0x0f; - state_save_register_global(tms_irq); - state_save_register_global(duart_1_irq); - state_save_register_global(touch_cnt); - state_save_register_global_array(touch_data); + state_save_register_global(machine, tms_irq); + state_save_register_global(machine, duart_1_irq); + state_save_register_global(machine, touch_cnt); + state_save_register_global_array(machine, touch_data); /* TODO! */ - state_save_register_global(duart_1.ISR); - state_save_register_global(duart_1.IMR); - state_save_register_global(duart_1.CT); + state_save_register_global(machine, duart_1.ISR); + state_save_register_global(machine, duart_1.IMR); + state_save_register_global(machine, duart_1.CT); } diff --git a/src/mame/drivers/kangaroo.c b/src/mame/drivers/kangaroo.c index a39a6ecdfa1..b0d394fdec6 100644 --- a/src/mame/drivers/kangaroo.c +++ b/src/mame/drivers/kangaroo.c @@ -179,7 +179,7 @@ static UINT8 kangaroo_clock; static MACHINE_START( kangaroo ) { memory_configure_bank(machine, 1, 0, 2, memory_region(machine, "gfx1"), 0x2000); - state_save_register_global(kangaroo_clock); + state_save_register_global(machine, kangaroo_clock); } diff --git a/src/mame/drivers/kchamp.c b/src/mame/drivers/kchamp.c index 1e726ca9864..e96ee1ff0ba 100644 --- a/src/mame/drivers/kchamp.c +++ b/src/mame/drivers/kchamp.c @@ -380,7 +380,7 @@ static INTERRUPT_GEN( kc_interrupt ) { cpu_set_input_line(device, INPUT_LINE_NMI, PULSE_LINE); } -static void msmint( running_machine *machine, int data ) { +static void msmint(const device_config *device) { static int counter = 0; @@ -393,7 +393,7 @@ static void msmint( running_machine *machine, int data ) { if ( !( counter ^= 1 ) ) { if ( sound_nmi_enable ) { - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE ); + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE ); } } } diff --git a/src/mame/drivers/konamigq.c b/src/mame/drivers/konamigq.c index 5b83eba0236..5c45a4f4f54 100644 --- a/src/mame/drivers/konamigq.c +++ b/src/mame/drivers/konamigq.c @@ -354,10 +354,10 @@ static MACHINE_START( konamigq ) psx_dma_install_read_handler(5, scsi_dma_read); psx_dma_install_write_handler(5, scsi_dma_write); - state_save_register_global_pointer(m_p_n_pcmram, 0x380000); - state_save_register_global_array(sndto000); - state_save_register_global_array(sndtor3k); - state_save_register_global_array(sector_buffer); + state_save_register_global_pointer(machine, m_p_n_pcmram, 0x380000); + state_save_register_global_array(machine, sndto000); + state_save_register_global_array(machine, sndtor3k); + state_save_register_global_array(machine, sector_buffer); } static MACHINE_RESET( konamigq ) diff --git a/src/mame/drivers/konamigv.c b/src/mame/drivers/konamigv.c index eebca6b650e..72f773aeb84 100644 --- a/src/mame/drivers/konamigv.c +++ b/src/mame/drivers/konamigv.c @@ -324,12 +324,12 @@ static MACHINE_RESET( konamigv ) /* also hook up CDDA audio to the CD-ROM drive */ cdda_set_cdrom(0, am53cf96_get_device(SCSI_ID_4)); - state_save_register_global_array(sector_buffer); - state_save_register_global(flash_address); - state_save_register_global_array(trackball_prev); - state_save_register_global_array(trackball_data); - state_save_register_global_array(btc_trackball_prev); - state_save_register_global_array(btc_trackball_data); + state_save_register_global_array(machine, sector_buffer); + state_save_register_global(machine, flash_address); + state_save_register_global_array(machine, trackball_prev); + state_save_register_global_array(machine, trackball_data); + state_save_register_global_array(machine, btc_trackball_prev); + state_save_register_global_array(machine, btc_trackball_data); } static const psx_spu_interface konamigv_psxspu_interface = diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c index 41385dd6867..956f0c2704f 100644 --- a/src/mame/drivers/konamigx.c +++ b/src/mame/drivers/konamigx.c @@ -3232,9 +3232,9 @@ ROM_END static MACHINE_START( konamigx ) { - state_save_register_global(konamigx_wrport1_1); - state_save_register_global_array(sndto020); - state_save_register_global_array(sndto000); + state_save_register_global(machine, konamigx_wrport1_1); + state_save_register_global_array(machine, sndto020); + state_save_register_global_array(machine, sndto000); } static MACHINE_RESET(konamigx) diff --git a/src/mame/drivers/ksys573.c b/src/mame/drivers/ksys573.c index 050d46bb9ef..eb1d53ee7ef 100644 --- a/src/mame/drivers/ksys573.c +++ b/src/mame/drivers/ksys573.c @@ -924,14 +924,14 @@ static void atapi_init(running_machine *machine) atapi_data = auto_malloc( ATAPI_DATA_SIZE ); - state_save_register_global_pointer( atapi_regs, ATAPI_REG_MAX ); - state_save_register_global_pointer( atapi_data, ATAPI_DATA_SIZE / 2 ); - state_save_register_global( atapi_data_ptr ); - state_save_register_global( atapi_data_len ); - state_save_register_global( atapi_xferlen ); - state_save_register_global( atapi_xferbase ); - state_save_register_global( atapi_cdata_wait ); - state_save_register_global( atapi_xfermod ); + state_save_register_global_pointer(machine, atapi_regs, ATAPI_REG_MAX ); + state_save_register_global_pointer(machine, atapi_data, ATAPI_DATA_SIZE / 2 ); + state_save_register_global(machine, atapi_data_ptr ); + state_save_register_global(machine, atapi_data_len ); + state_save_register_global(machine, atapi_xferlen ); + state_save_register_global(machine, atapi_xferbase ); + state_save_register_global(machine, atapi_cdata_wait ); + state_save_register_global(machine, atapi_xfermod ); } static WRITE32_HANDLER( atapi_reset_w ) @@ -1377,8 +1377,8 @@ static void flash_init( running_machine *machine ) i++; } - state_save_register_global( flash_bank ); - state_save_register_global( control ); + state_save_register_global(machine, flash_bank ); + state_save_register_global(machine, control ); } static double analogue_inputs_callback( int input ) @@ -1501,15 +1501,15 @@ static DRIVER_INIT( konami573 ) m_p_timer_root[i] = timer_alloc(machine, root_finished, NULL); } - state_save_register_global( m_n_security_control ); + state_save_register_global(machine, m_n_security_control ); security_cart_init( machine, 0, "user2", "user9" ); security_cart_init( machine, 1, "user8", "user10" ); - state_save_register_item_array( "KSYS573", NULL, 0, m_p_n_root_count ); - state_save_register_item_array( "KSYS573", NULL, 0, m_p_n_root_mode ); - state_save_register_item_array( "KSYS573", NULL, 0, m_p_n_root_target ); - state_save_register_item_array( "KSYS573", NULL, 0, m_p_n_root_start ); + state_save_register_item_array( machine, "KSYS573", NULL, 0, m_p_n_root_count ); + state_save_register_item_array( machine, "KSYS573", NULL, 0, m_p_n_root_mode ); + state_save_register_item_array( machine, "KSYS573", NULL, 0, m_p_n_root_target ); + state_save_register_item_array( machine, "KSYS573", NULL, 0, m_p_n_root_start ); adc083x_init( 0, ADC0834, analogue_inputs_callback ); flash_init(machine); @@ -1789,7 +1789,7 @@ static void gx700pwfbf_init( running_machine *machine, void (*output_callback_fu memory_install_readwrite32_handler( cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0x1f640000, 0x1f6400ff, 0, 0, gx700pwbf_io_r, gx700pwbf_io_w ); - state_save_register_global_array( gx700pwbf_output_data ); + state_save_register_global_array(machine, gx700pwbf_output_data ); } /* @@ -1974,7 +1974,7 @@ static DRIVER_INIT( ddr ) gx700pwfbf_init( machine, gn845pwbb_output_callback ); - state_save_register_global( stage_mask ); + state_save_register_global(machine, stage_mask ); } /* @@ -2328,8 +2328,8 @@ static void gx894pwbba_init( running_machine *machine, void (*output_callback_fu ds2401_init( 2, ds2401_xid ); /* todo: load this from roms */ - state_save_register_global_array( gx894pwbba_output_data ); - state_save_register_global_pointer( gx894_ram, gx894_ram_size / 4 ); + state_save_register_global_array(machine, gx894pwbba_output_data ); + state_save_register_global_pointer(machine, gx894_ram, gx894_ram_size / 4 ); } /* ddr digital */ @@ -2712,10 +2712,10 @@ static DRIVER_INIT( salarymc ) security_bit6_write = salarymc_lamp_rst_write; security_bit5_write = salarymc_lamp_clk_write; - state_save_register_global( salarymc_lamp_bits ); - state_save_register_global( salarymc_lamp_shift ); - state_save_register_global( salarymc_lamp_data ); - state_save_register_global( salarymc_lamp_clk ); + state_save_register_global(machine, salarymc_lamp_bits ); + state_save_register_global(machine, salarymc_lamp_shift ); + state_save_register_global(machine, salarymc_lamp_data ); + state_save_register_global(machine, salarymc_lamp_clk ); } static const timekeeper_config timekeeper_intf = diff --git a/src/mame/drivers/lethal.c b/src/mame/drivers/lethal.c index 8774ac31a28..20b5ad13792 100644 --- a/src/mame/drivers/lethal.c +++ b/src/mame/drivers/lethal.c @@ -583,7 +583,7 @@ static const k054539_interface k054539_config = static MACHINE_START( lethalen ) { - state_save_register_global(cur_control2); + state_save_register_global(machine, cur_control2); } static MACHINE_RESET( lethalen ) diff --git a/src/mame/drivers/looping.c b/src/mame/drivers/looping.c index 44af14d8525..d0846faa31e 100644 --- a/src/mame/drivers/looping.c +++ b/src/mame/drivers/looping.c @@ -293,7 +293,7 @@ static VIDEO_UPDATE( looping ) static MACHINE_START( looping ) { looping_state *state = machine->driver_data; - state_save_register_global_array(state->sound); + state_save_register_global_array(machine, state->sound); } diff --git a/src/mame/drivers/lucky74.c b/src/mame/drivers/lucky74.c index f8e829b0b13..37967475d2e 100644 --- a/src/mame/drivers/lucky74.c +++ b/src/mame/drivers/lucky74.c @@ -1121,7 +1121,7 @@ static SOUND_START( lucky74 ) lucky74_adpcm_busy_line = 0x01; /* free and ready */ } -static void lucky74_adpcm_int(running_machine *machine, int num) +static void lucky74_adpcm_int(const device_config *device) { if (lucky74_adpcm_reg[05] == 0x01) /* register 0x05 (bit 0 activated), trigger the sample */ { @@ -1143,7 +1143,7 @@ static void lucky74_adpcm_int(running_machine *machine, int num) if (lucky74_adpcm_data == -1) { /* transferring 1st nibble */ - lucky74_adpcm_data = memory_region(machine, "adpcm")[lucky74_adpcm_pos]; + lucky74_adpcm_data = memory_region(device->machine, "adpcm")[lucky74_adpcm_pos]; lucky74_adpcm_pos = (lucky74_adpcm_pos + 1) & 0xffff; msm5205_data_w(0, lucky74_adpcm_data >> 4); diff --git a/src/mame/drivers/lvcards.c b/src/mame/drivers/lvcards.c index 11300c2f116..5e70aeb2ea2 100644 --- a/src/mame/drivers/lvcards.c +++ b/src/mame/drivers/lvcards.c @@ -90,9 +90,9 @@ static UINT8 result; static MACHINE_START( lvpoker ) { - state_save_register_global(payout); - state_save_register_global(pulse); - state_save_register_global(result); + state_save_register_global(machine, payout); + state_save_register_global(machine, pulse); + state_save_register_global(machine, result); } static MACHINE_RESET( lvpoker ) diff --git a/src/mame/drivers/m10.c b/src/mame/drivers/m10.c index 7b3e5c62ff8..ed59889e196 100644 --- a/src/mame/drivers/m10.c +++ b/src/mame/drivers/m10.c @@ -190,8 +190,8 @@ static MACHINE_RESET( irem ) { m10_state *state = machine->driver_data; - state_save_register_global(state->bottomline); - state_save_register_global(state->flip); + state_save_register_global(machine, state->bottomline); + state_save_register_global(machine, state->flip); } /************************************* diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c index 1bf4f45ef00..6b720dc1000 100644 --- a/src/mame/drivers/m72.c +++ b/src/mame/drivers/m72.c @@ -125,8 +125,8 @@ static MACHINE_RESET( m72 ) MACHINE_RESET_CALL(m72_sound); - state_save_register_global(mcu_sample_addr); - state_save_register_global(mcu_snd_cmd_latch); + state_save_register_global(machine, mcu_sample_addr); + state_save_register_global(machine, mcu_snd_cmd_latch); timer_adjust_oneshot(scanline_timer, video_screen_get_time_until_pos(machine->primary_screen, 0, 0), 0); timer_call_after_resynch(machine, NULL, 0, synch_callback); diff --git a/src/mame/drivers/m90.c b/src/mame/drivers/m90.c index 79f621ebe57..8688ad394b8 100644 --- a/src/mame/drivers/m90.c +++ b/src/mame/drivers/m90.c @@ -1270,7 +1270,7 @@ static DRIVER_INIT( quizf1 ) bankaddress = 0; set_m90_bank(machine); - state_save_register_global(bankaddress); + state_save_register_global(machine, bankaddress); state_save_register_postload(machine, quizf1_postload, NULL); } diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c index eaf9eb51fdd..c1b5635bbcf 100644 --- a/src/mame/drivers/m92.c +++ b/src/mame/drivers/m92.c @@ -231,9 +231,9 @@ static STATE_POSTLOAD( m92_postload ) static MACHINE_START( m92 ) { - state_save_register_global(irqvector); - state_save_register_global(sound_status); - state_save_register_global(bankaddress); + state_save_register_global(machine, irqvector); + state_save_register_global(machine, sound_status); + state_save_register_global(machine, bankaddress); state_save_register_postload(machine, m92_postload, NULL); scanline_timer = timer_alloc(machine, m92_scanline_interrupt, NULL); diff --git a/src/mame/drivers/magmax.c b/src/mame/drivers/magmax.c index 34ca313b89b..8d3b401a792 100644 --- a/src/mame/drivers/magmax.c +++ b/src/mame/drivers/magmax.c @@ -92,10 +92,10 @@ static MACHINE_START( magmax ) interrupt_timer = timer_alloc(machine, scanline_callback, NULL); /* Set up save state */ - state_save_register_global(sound_latch); - state_save_register_global(LS74_clr); - state_save_register_global(LS74_q); - state_save_register_global(gain_control); + state_save_register_global(machine, sound_latch); + state_save_register_global(machine, LS74_clr); + state_save_register_global(machine, LS74_q); + state_save_register_global(machine, gain_control); } static MACHINE_RESET( magmax ) diff --git a/src/mame/drivers/mastboy.c b/src/mame/drivers/mastboy.c index 51669ba7cf4..970c5eb3be5 100644 --- a/src/mame/drivers/mastboy.c +++ b/src/mame/drivers/mastboy.c @@ -633,14 +633,14 @@ static WRITE8_HANDLER( mastboy_msm5205_data_w ) mastboy_m5205_next = data; } -static void mastboy_adpcm_int(running_machine *machine, int data) +static void mastboy_adpcm_int(const device_config *device) { msm5205_data_w (0,mastboy_m5205_next); mastboy_m5205_next>>=4; mastboy_m5205_part ^= 1; if(!mastboy_m5205_part) - cpu_set_input_line(machine->cpu[0], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[0], INPUT_LINE_NMI, PULSE_LINE); } diff --git a/src/mame/drivers/mcr.c b/src/mame/drivers/mcr.c index 2da4ef2b76f..f6b37187b1d 100644 --- a/src/mame/drivers/mcr.c +++ b/src/mame/drivers/mcr.c @@ -2420,7 +2420,7 @@ ROM_END * *************************************/ -static void mcr_init(int cpuboard, int vidboard, int ssioboard) +static void mcr_init(running_machine *machine, int cpuboard, int vidboard, int ssioboard) { mcr_cpu_board = cpuboard; mcr_sprite_board = vidboard; @@ -2428,14 +2428,14 @@ static void mcr_init(int cpuboard, int vidboard, int ssioboard) mcr12_sprite_xoffs = 0; mcr12_sprite_xoffs_flip = 0; - state_save_register_global(input_mux); - state_save_register_global(last_op4); + state_save_register_global(machine, input_mux); + state_save_register_global(machine, last_op4); } static DRIVER_INIT( solarfox ) { - mcr_init(90009, 91399, 90908); + mcr_init(machine, 90009, 91399, 90908); mcr_sound_init(machine, MCR_SSIO); ssio_set_custom_input(0, 0x1c, solarfox_ip0_r); @@ -2447,7 +2447,7 @@ static DRIVER_INIT( solarfox ) static DRIVER_INIT( kick ) { - mcr_init(90009, 91399, 90908); + mcr_init(machine, 90009, 91399, 90908); mcr_sound_init(machine, MCR_SSIO); ssio_set_custom_input(1, 0xf0, kick_ip1_r); @@ -2458,14 +2458,14 @@ static DRIVER_INIT( kick ) static DRIVER_INIT( mcr_90010 ) { - mcr_init(90010, 91399, 90913); + mcr_init(machine, 90010, 91399, 90913); mcr_sound_init(machine, MCR_SSIO); } static DRIVER_INIT( wacko ) { - mcr_init(90010, 91399, 90913); + mcr_init(machine, 90010, 91399, 90913); mcr_sound_init(machine, MCR_SSIO); ssio_set_custom_input(1, 0xff, wacko_ip1_r); @@ -2476,7 +2476,7 @@ static DRIVER_INIT( wacko ) static DRIVER_INIT( twotiger ) { - mcr_init(90010, 91399, 90913); + mcr_init(machine, 90010, 91399, 90913); mcr_sound_init(machine, MCR_SSIO); memory_install_readwrite8_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0xe800, 0xefff, 0, 0x1000, twotiger_videoram_r, twotiger_videoram_w); @@ -2485,7 +2485,7 @@ static DRIVER_INIT( twotiger ) static DRIVER_INIT( kroozr ) { - mcr_init(90010, 91399, 91483); + mcr_init(machine, 90010, 91399, 91483); mcr_sound_init(machine, MCR_SSIO); ssio_set_custom_input(1, 0x47, kroozr_ip1_r); @@ -2495,7 +2495,7 @@ static DRIVER_INIT( kroozr ) static DRIVER_INIT( journey ) { - mcr_init(91475, 91464, 90913); + mcr_init(machine, 91475, 91464, 90913); mcr_sound_init(machine, MCR_SSIO); ssio_set_custom_output(4, 0x01, journey_op4_w); @@ -2504,14 +2504,14 @@ static DRIVER_INIT( journey ) static DRIVER_INIT( mcr_91490 ) { - mcr_init(91490, 91464, 90913); + mcr_init(machine, 91490, 91464, 90913); mcr_sound_init(machine, MCR_SSIO); } static DRIVER_INIT( dotrone ) { - mcr_init(91490, 91464, 91657); + mcr_init(machine, 91490, 91464, 91657); mcr_sound_init(machine, MCR_SSIO | MCR_SQUAWK_N_TALK); ssio_set_custom_output(4, 0xff, dotron_op4_w); @@ -2520,7 +2520,7 @@ static DRIVER_INIT( dotrone ) static DRIVER_INIT( nflfoot ) { - mcr_init(91490, 91464, 91657); + mcr_init(machine, 91490, 91464, 91657); mcr_sound_init(machine, MCR_SSIO | MCR_SQUAWK_N_TALK); ssio_set_custom_input(2, 0x80, nflfoot_ip2_r); @@ -2529,18 +2529,18 @@ static DRIVER_INIT( nflfoot ) nflfoot_serial_out_active = FALSE; nflfoot_serial_in_active = FALSE; - state_save_register_global(nflfoot_serial_out_active); - state_save_register_global(nflfoot_serial_out_bits); - state_save_register_global(nflfoot_serial_out_numbits); - state_save_register_global(nflfoot_serial_in_active); - state_save_register_global(nflfoot_serial_in_bits); - state_save_register_global(nflfoot_serial_in_numbits); + state_save_register_global(machine, nflfoot_serial_out_active); + state_save_register_global(machine, nflfoot_serial_out_bits); + state_save_register_global(machine, nflfoot_serial_out_numbits); + state_save_register_global(machine, nflfoot_serial_in_active); + state_save_register_global(machine, nflfoot_serial_in_bits); + state_save_register_global(machine, nflfoot_serial_in_numbits); } static DRIVER_INIT( demoderb ) { - mcr_init(91490, 91464, 90913); + mcr_init(machine, 91490, 91464, 90913); mcr_sound_init(machine, MCR_SSIO | MCR_TURBO_CHIP_SQUEAK); ssio_set_custom_input(1, 0xfc, demoderb_ip1_r); diff --git a/src/mame/drivers/mcr3.c b/src/mame/drivers/mcr3.c index f6514f09823..6b63795c08f 100644 --- a/src/mame/drivers/mcr3.c +++ b/src/mame/drivers/mcr3.c @@ -1501,9 +1501,9 @@ static void mcr_common_init(running_machine *machine, int sound_board) { mcr_sound_init(machine, sound_board); - state_save_register_global(input_mux); - state_save_register_global(latched_input); - state_save_register_global(last_op4); + state_save_register_global(machine, input_mux); + state_save_register_global(machine, latched_input); + state_save_register_global(machine, last_op4); } @@ -1531,11 +1531,11 @@ static DRIVER_INIT( maxrpm ) memory_install_write8_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_IO), 0x05, 0x05, 0, 0, maxrpm_op5_w); memory_install_write8_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_IO), 0x06, 0x06, 0, 0, maxrpm_op6_w); - state_save_register_global(maxrpm_adc_control); - state_save_register_global(maxrpm_adc_select); - state_save_register_global(maxrpm_last_shift); - state_save_register_global(maxrpm_p1_shift); - state_save_register_global(maxrpm_p2_shift); + state_save_register_global(machine, maxrpm_adc_control); + state_save_register_global(machine, maxrpm_adc_select); + state_save_register_global(machine, maxrpm_last_shift); + state_save_register_global(machine, maxrpm_p1_shift); + state_save_register_global(machine, maxrpm_p2_shift); } diff --git a/src/mame/drivers/mcr68.c b/src/mame/drivers/mcr68.c index 2e834da5ed5..31667940c76 100644 --- a/src/mame/drivers/mcr68.c +++ b/src/mame/drivers/mcr68.c @@ -1375,7 +1375,7 @@ static void mcr68_common_init(running_machine *machine, int sound_board, int cli mcr68_sprite_clip = clip; mcr68_sprite_xoffset = xoffset; - state_save_register_global(control_word); + state_save_register_global(machine, control_word); } @@ -1456,7 +1456,7 @@ static DRIVER_INIT( pigskin ) /* Pigskin doesn't care too much about this value; currently taken from Tri-Sports */ mcr68_timing_factor = attotime_make(0, HZ_TO_ATTOSECONDS(cpu_get_clock(machine->cpu[0]) / 10) * 115); - state_save_register_global_array(protection_data); + state_save_register_global_array(machine, protection_data); } diff --git a/src/mame/drivers/merit.c b/src/mame/drivers/merit.c index 0e4fbe48785..a7b74e371b0 100644 --- a/src/mame/drivers/merit.c +++ b/src/mame/drivers/merit.c @@ -64,11 +64,11 @@ static MACHINE_START(merit) question_address = 0; ram_palette = auto_malloc(RAM_PALETTE_SIZE); - state_save_register_global_pointer(ram_palette, RAM_PALETTE_SIZE); - state_save_register_global(lscnblk); - state_save_register_global(extra_video_bank_bit); - state_save_register_global(question_address); - state_save_register_global(decryption_key); + state_save_register_global_pointer(machine, ram_palette, RAM_PALETTE_SIZE); + state_save_register_global(machine, lscnblk); + state_save_register_global(machine, extra_video_bank_bit); + state_save_register_global(machine, question_address); + state_save_register_global(machine, decryption_key); } diff --git a/src/mame/drivers/meritm.c b/src/mame/drivers/meritm.c index bc297668b8c..8597f3422fb 100644 --- a/src/mame/drivers/meritm.c +++ b/src/mame/drivers/meritm.c @@ -213,11 +213,11 @@ static void ds1204_init(const UINT8* key, const UINT8* nvram) if (nvram) memcpy(ds1204.nvram, nvram, sizeof(ds1204.nvram)); - state_save_register_item("ds1204", NULL, 0, ds1204.state); - state_save_register_item("ds1204", NULL, 0, ds1204.read_ptr); - state_save_register_item("ds1204", NULL, 0, ds1204.last_clk); - state_save_register_item("ds1204", NULL, 0, ds1204.out_bit); - state_save_register_item_array("ds1204", NULL, 0, ds1204.command); + state_save_register_item(Machine, "ds1204", NULL, 0, ds1204.state); + state_save_register_item(Machine, "ds1204", NULL, 0, ds1204.read_ptr); + state_save_register_item(Machine, "ds1204", NULL, 0, ds1204.last_clk); + state_save_register_item(Machine, "ds1204", NULL, 0, ds1204.out_bit); + state_save_register_item_array(Machine, "ds1204", NULL, 0, ds1204.command); }; /************************************* @@ -332,11 +332,11 @@ static VIDEO_START( meritm ) v9938_init (machine, 1, machine->primary_screen, vdp1_bitmap, MODEL_V9938, 0x20000, meritm_vdp1_interrupt); v9938_reset(1); - state_save_register_global(meritm_vint); - state_save_register_global(meritm_interrupt_vdp0_state); - state_save_register_global(meritm_interrupt_vdp1_state); - state_save_register_global_bitmap(vdp0_bitmap); - state_save_register_global_bitmap(vdp1_bitmap); + state_save_register_global(machine, meritm_vint); + state_save_register_global(machine, meritm_interrupt_vdp0_state); + state_save_register_global(machine, meritm_interrupt_vdp1_state); + state_save_register_global_bitmap(machine, vdp0_bitmap); + state_save_register_global_bitmap(machine, vdp1_bitmap); } @@ -851,14 +851,14 @@ static MACHINE_START(meritm_crt250) meritm_bank = 0xff; meritm_crt250_switch_banks(); MACHINE_START_CALL(merit_common); - state_save_register_global(meritm_bank); + state_save_register_global(machine, meritm_bank); }; static MACHINE_START(meritm_crt250_questions) { MACHINE_START_CALL(meritm_crt250); - state_save_register_global(questions_loword_address); + state_save_register_global(machine, questions_loword_address); }; static MACHINE_START(meritm_crt260) @@ -874,9 +874,9 @@ static MACHINE_START(meritm_crt260) MACHINE_START_CALL(merit_common); pc16552d_init(0, UART_CLK, NULL, pc16650d_tx_callback); microtouch_init(meritm_microtouch_tx_callback, meritm_touch_coord_transform); - state_save_register_global(meritm_bank); - state_save_register_global(meritm_psd_a15); - state_save_register_global_pointer(meritm_ram, 0x8000); + state_save_register_global(machine, meritm_bank); + state_save_register_global(machine, meritm_psd_a15); + state_save_register_global_pointer(machine, meritm_ram, 0x8000); }; static NVRAM_HANDLER(meritm_crt260) diff --git a/src/mame/drivers/midvunit.c b/src/mame/drivers/midvunit.c index be00a42db42..19023da8b27 100644 --- a/src/mame/drivers/midvunit.c +++ b/src/mame/drivers/midvunit.c @@ -58,13 +58,13 @@ static UINT32 *midvplus_misc; static MACHINE_START( midvunit ) { - state_save_register_global(cmos_protected); - state_save_register_global(control_data); - state_save_register_global(adc_data); - state_save_register_global(adc_shift); - state_save_register_global(last_port0); - state_save_register_global(shifter_state); - state_save_register_global(timer_rate); + state_save_register_global(machine, cmos_protected); + state_save_register_global(machine, control_data); + state_save_register_global(machine, adc_data); + state_save_register_global(machine, adc_shift); + state_save_register_global(machine, last_port0); + state_save_register_global(machine, shifter_state); + state_save_register_global(machine, timer_rate); } diff --git a/src/mame/drivers/midzeus.c b/src/mame/drivers/midzeus.c index 82cde1ee7fe..4c0f92c5a51 100644 --- a/src/mame/drivers/midzeus.c +++ b/src/mame/drivers/midzeus.c @@ -80,12 +80,12 @@ static MACHINE_START( midzeus ) gun_timer[0] = timer_alloc(machine, invasn_gun_callback, NULL); gun_timer[1] = timer_alloc(machine, invasn_gun_callback, NULL); - state_save_register_global(gun_control); - state_save_register_global(gun_irq_state); - state_save_register_global_array(gun_x); - state_save_register_global_array(gun_y); - state_save_register_global(crusnexo_leds_select); - state_save_register_global(keypad_select); + state_save_register_global(machine, gun_control); + state_save_register_global(machine, gun_irq_state); + state_save_register_global_array(machine, gun_x); + state_save_register_global_array(machine, gun_y); + state_save_register_global(machine, crusnexo_leds_select); + state_save_register_global(machine, keypad_select); } diff --git a/src/mame/drivers/missile.c b/src/mame/drivers/missile.c index 26dc59760b3..e3d6dc16e00 100644 --- a/src/mame/drivers/missile.c +++ b/src/mame/drivers/missile.c @@ -488,11 +488,11 @@ static MACHINE_START( missile ) schedule_next_irq(machine, -32); /* setup for save states */ - state_save_register_global(irq_state); - state_save_register_global(ctrld); - state_save_register_global(flipscreen); - state_save_register_global(madsel_delay); - state_save_register_global(madsel_lastpc); + state_save_register_global(machine, irq_state); + state_save_register_global(machine, ctrld); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, madsel_delay); + state_save_register_global(machine, madsel_lastpc); } diff --git a/src/mame/drivers/mitchell.c b/src/mame/drivers/mitchell.c index b12bb501188..9643bf6544b 100644 --- a/src/mame/drivers/mitchell.c +++ b/src/mame/drivers/mitchell.c @@ -1201,13 +1201,13 @@ GFXDECODE_END -static void spangbl_adpcm_int(running_machine *machine, int data) +static void spangbl_adpcm_int(const device_config *device) { msm5205_data_w(0, sample_buffer & 0x0F); sample_buffer >>= 4; sample_select ^= 1; if(sample_select == 0) - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); } diff --git a/src/mame/drivers/mlanding.c b/src/mame/drivers/mlanding.c index faffe37cc80..1cf6c136651 100644 --- a/src/mame/drivers/mlanding.c +++ b/src/mame/drivers/mlanding.c @@ -90,7 +90,7 @@ static WRITE8_HANDLER( sound_bankswitch_w ) memory_set_bankptr(space->machine, 1, memory_region(space->machine, "z80") + ((data) & 0x03) * 0x4000 + 0x10000 ); } -static void ml_msm5205_vck(running_machine *machine, int chip) +static void ml_msm5205_vck(const device_config *device) { if (adpcm_data != -1) { @@ -99,7 +99,7 @@ static void ml_msm5205_vck(running_machine *machine, int chip) } else { - adpcm_data = memory_region(machine, "adpcm")[adpcm_pos]; + adpcm_data = memory_region(device->machine, "adpcm")[adpcm_pos]; adpcm_pos = (adpcm_pos + 1) & 0xffff; msm5205_data_w(0, adpcm_data >> 4); } diff --git a/src/mame/drivers/model1.c b/src/mame/drivers/model1.c index b7a23009cd8..2cd3aead35f 100644 --- a/src/mame/drivers/model1.c +++ b/src/mame/drivers/model1.c @@ -738,7 +738,7 @@ static MACHINE_RESET(model1) { memory_set_bankptr(machine, 1, memory_region(machine, "main") + 0x1000000); irq_init(machine); - model1_tgp_reset(!strcmp(machine->gamedrv->name, "swa") || !strcmp(machine->gamedrv->name, "wingwar") || !strcmp(machine->gamedrv->name, "wingwara")); + model1_tgp_reset(machine, !strcmp(machine->gamedrv->name, "swa") || !strcmp(machine->gamedrv->name, "wingwar") || !strcmp(machine->gamedrv->name, "wingwara")); if (!strcmp(machine->gamedrv->name, "swa")) { model1_sound_irq = 0; diff --git a/src/mame/drivers/moo.c b/src/mame/drivers/moo.c index 2c1cea18834..8ae0b826212 100644 --- a/src/mame/drivers/moo.c +++ b/src/mame/drivers/moo.c @@ -556,8 +556,8 @@ INPUT_PORTS_END static MACHINE_START( moo ) { - state_save_register_global(cur_control2); - state_save_register_global_array(protram); + state_save_register_global(machine, cur_control2); + state_save_register_global_array(machine, protram); } static MACHINE_RESET( moo ) diff --git a/src/mame/drivers/ms32.c b/src/mame/drivers/ms32.c index faf16511740..586bd66ecf5 100644 --- a/src/mame/drivers/ms32.c +++ b/src/mame/drivers/ms32.c @@ -2103,7 +2103,7 @@ void decrypt_ms32_bg(running_machine *machine, int addr_xor,int data_xor, const static void configure_banks(running_machine *machine) { - state_save_register_global(to_main); + state_save_register_global(machine, to_main); memory_configure_bank(machine, 4, 0, 16, memory_region(machine, "audio") + 0x14000, 0x4000); memory_configure_bank(machine, 5, 0, 16, memory_region(machine, "audio") + 0x14000, 0x4000); } diff --git a/src/mame/drivers/mw8080bw.c b/src/mame/drivers/mw8080bw.c index 6808a0f9ad6..63b8014b2ec 100644 --- a/src/mame/drivers/mw8080bw.c +++ b/src/mame/drivers/mw8080bw.c @@ -878,7 +878,7 @@ static MACHINE_START( maze ) maze_tone_timing_state = 0; /* setup for save states */ - state_save_register_global(maze_tone_timing_state); + state_save_register_global(machine, maze_tone_timing_state); state_save_register_postload(machine, maze_update_discrete, NULL); MACHINE_START_CALL(mw8080bw); @@ -964,7 +964,7 @@ MACHINE_DRIVER_END static MACHINE_START( boothill ) { /* setup for save states */ - state_save_register_global(rev_shift_res); + state_save_register_global(machine, rev_shift_res); MACHINE_START_CALL(mw8080bw); } @@ -1164,7 +1164,7 @@ static UINT8 desertgu_controller_select; static MACHINE_START( desertgu ) { /* setup for save states */ - state_save_register_global(desertgu_controller_select); + state_save_register_global(machine, desertgu_controller_select); MACHINE_START_CALL(mw8080bw); } @@ -1490,7 +1490,7 @@ MACHINE_DRIVER_END static MACHINE_START( gmissile ) { /* setup for save states */ - state_save_register_global(rev_shift_res); + state_save_register_global(machine, rev_shift_res); MACHINE_START_CALL(mw8080bw); } @@ -1582,7 +1582,7 @@ MACHINE_DRIVER_END static MACHINE_START( m4 ) { /* setup for save states */ - state_save_register_global(rev_shift_res); + state_save_register_global(machine, rev_shift_res); MACHINE_START_CALL(mw8080bw); } @@ -1679,7 +1679,7 @@ static UINT8 clowns_controller_select; static MACHINE_START( clowns ) { /* setup for save states */ - state_save_register_global(clowns_controller_select); + state_save_register_global(machine, clowns_controller_select); MACHINE_START_CALL(mw8080bw); } @@ -2025,10 +2025,10 @@ static TIMER_DEVICE_CALLBACK( spcenctr_strobe_timer_callback ) static MACHINE_START( spcenctr ) { /* setup for save states */ - state_save_register_global(spcenctr_strobe_state); - state_save_register_global(spcenctr_trench_width); - state_save_register_global(spcenctr_trench_center); - state_save_register_global_array(spcenctr_trench_slope); + state_save_register_global(machine, spcenctr_strobe_state); + state_save_register_global(machine, spcenctr_trench_width); + state_save_register_global(machine, spcenctr_trench_center); + state_save_register_global_array(machine, spcenctr_trench_slope); MACHINE_START_CALL(mw8080bw); } @@ -2189,7 +2189,7 @@ static UINT16 phantom2_cloud_counter = 0; static MACHINE_START( phantom2 ) { /* setup for save states */ - state_save_register_global(phantom2_cloud_counter); + state_save_register_global(machine, phantom2_cloud_counter); MACHINE_START_CALL(mw8080bw); } @@ -2426,7 +2426,7 @@ static UINT8 invaders_flip_screen = 0; static MACHINE_START( invaders ) { /* setup for save states */ - state_save_register_global(invaders_flip_screen); + state_save_register_global(machine, invaders_flip_screen); MACHINE_START_CALL(mw8080bw); } diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c index 90cc015186e..c53073dd2b9 100644 --- a/src/mame/drivers/mystwarr.c +++ b/src/mame/drivers/mystwarr.c @@ -863,8 +863,8 @@ static MACHINE_START( mystwarr ) mw_irq_control = 0; - state_save_register_global(mw_irq_control); - state_save_register_global(cur_sound_region); + state_save_register_global(machine, mw_irq_control); + state_save_register_global(machine, cur_sound_region); state_save_register_postload(machine, mystwarr_postload, NULL); } diff --git a/src/mame/drivers/namcoic.c b/src/mame/drivers/namcoic.c index cb74de2e814..8c1239d4cf0 100644 --- a/src/mame/drivers/namcoic.c +++ b/src/mame/drivers/namcoic.c @@ -1629,8 +1629,8 @@ namco_road_init(running_machine *machine, int gfxbank ) ROAD_TILE_SIZE,ROAD_TILE_SIZE, ROAD_COLS,ROAD_ROWS); - state_save_register_global_pointer(mpRoadDirty, ROAD_TILE_COUNT_MAX); - state_save_register_global_pointer(mpRoadRAM, 0x20000 / 2); + state_save_register_global_pointer(machine, mpRoadDirty, ROAD_TILE_COUNT_MAX); + state_save_register_global_pointer(machine, mpRoadRAM, 0x20000 / 2); state_save_register_postload(machine, RoadMarkAllDirty, NULL); } diff --git a/src/mame/drivers/namcos11.c b/src/mame/drivers/namcos11.c index d4a085cc8a7..94c9dfe8788 100644 --- a/src/mame/drivers/namcos11.c +++ b/src/mame/drivers/namcos11.c @@ -842,7 +842,7 @@ static DRIVER_INIT( namcos11 ) m_n_bankoffset = 0; memory_install_write32_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0x1f080000, 0x1f080003, 0, 0, bankswitch_rom64_upper_w ); memory_install_readwrite32_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0x1fa10020, 0x1fa1002f, 0, 0, SMH_NOP, bankswitch_rom64_w ); - state_save_register_global( m_n_bankoffset ); + state_save_register_global(machine, m_n_bankoffset ); } } else @@ -860,7 +860,7 @@ static DRIVER_INIT( namcos11 ) memory_install_read32_handler (cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0x1f780000, 0x1f78000f, 0, 0, lightgun_r ); } - state_save_register_global( m_n_oldcoin ); + state_save_register_global(machine, m_n_oldcoin ); } static MACHINE_RESET( namcos11 ) diff --git a/src/mame/drivers/namcos12.c b/src/mame/drivers/namcos12.c index f2582c3a887..c78d3b3d08f 100644 --- a/src/mame/drivers/namcos12.c +++ b/src/mame/drivers/namcos12.c @@ -1453,9 +1453,9 @@ static DRIVER_INIT( namcos12 ) m_n_bankoffset = 0; memory_set_bank(machine, 1, 0 ); - state_save_register_global( m_n_dmaoffset ); - state_save_register_global( m_n_dmabias ); - state_save_register_global( m_n_bankoffset ); + state_save_register_global(machine, m_n_dmaoffset ); + state_save_register_global(machine, m_n_dmabias ); + state_save_register_global(machine, m_n_bankoffset ); } static DRIVER_INIT( ptblank2 ) diff --git a/src/mame/drivers/neodrvr.c b/src/mame/drivers/neodrvr.c index 45a7b889b76..30d919a6227 100644 --- a/src/mame/drivers/neodrvr.c +++ b/src/mame/drivers/neodrvr.c @@ -7546,7 +7546,7 @@ static DRIVER_INIT( jockeygp ) /* install some extra RAM */ extra_ram = auto_malloc(0x2000); - state_save_register_global_pointer(extra_ram, 0x2000 / 2); + state_save_register_global_pointer(machine, extra_ram, 0x2000 / 2); memory_install_readwrite16_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0x200000, 0x201fff, 0, 0, SMH_BANK8, SMH_BANK8); memory_set_bankptr(machine, NEOGEO_BANK_EXTRA_RAM, extra_ram); @@ -7563,7 +7563,7 @@ static DRIVER_INIT( vliner ) /* install some extra RAM */ extra_ram = auto_malloc(0x2000); - state_save_register_global_pointer(extra_ram, 0x2000 / 2); + state_save_register_global_pointer(machine, extra_ram, 0x2000 / 2); memory_install_readwrite16_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0x200000, 0x201fff, 0, 0, SMH_BANK8, SMH_BANK8); memory_set_bankptr(machine, NEOGEO_BANK_EXTRA_RAM, extra_ram); diff --git a/src/mame/drivers/neogeo.c b/src/mame/drivers/neogeo.c index a46f84b69db..5af171c98c3 100644 --- a/src/mame/drivers/neogeo.c +++ b/src/mame/drivers/neogeo.c @@ -970,25 +970,25 @@ static MACHINE_START( neogeo ) irq3_pending = 1; /* register state save */ - state_save_register_global(display_position_interrupt_control); - state_save_register_global(display_counter); - state_save_register_global(vblank_interrupt_pending); - state_save_register_global(display_position_interrupt_pending); - state_save_register_global(irq3_pending); - state_save_register_global(audio_result); - state_save_register_global(controller_select); - state_save_register_global(main_cpu_bank_address); - state_save_register_global(main_cpu_vector_table_source); - state_save_register_global_array(audio_cpu_banks); - state_save_register_global(audio_cpu_rom_source); - state_save_register_global(audio_cpu_rom_source_last); - state_save_register_global(save_ram_unlocked); - state_save_register_global_pointer(memcard_data, 0x800); - state_save_register_global(output_data); - state_save_register_global(output_latch); - state_save_register_global(el_value); - state_save_register_global(led1_value); - state_save_register_global(led2_value); + state_save_register_global(machine, display_position_interrupt_control); + state_save_register_global(machine, display_counter); + state_save_register_global(machine, vblank_interrupt_pending); + state_save_register_global(machine, display_position_interrupt_pending); + state_save_register_global(machine, irq3_pending); + state_save_register_global(machine, audio_result); + state_save_register_global(machine, controller_select); + state_save_register_global(machine, main_cpu_bank_address); + state_save_register_global(machine, main_cpu_vector_table_source); + state_save_register_global_array(machine, audio_cpu_banks); + state_save_register_global(machine, audio_cpu_rom_source); + state_save_register_global(machine, audio_cpu_rom_source_last); + state_save_register_global(machine, save_ram_unlocked); + state_save_register_global_pointer(machine, memcard_data, 0x800); + state_save_register_global(machine, output_data); + state_save_register_global(machine, output_latch); + state_save_register_global(machine, el_value); + state_save_register_global(machine, led1_value); + state_save_register_global(machine, led2_value); state_save_register_postload(machine, neogeo_postload, NULL); } diff --git a/src/mame/drivers/ninjaw.c b/src/mame/drivers/ninjaw.c index 7c3edb83394..7ddbc510573 100644 --- a/src/mame/drivers/ninjaw.c +++ b/src/mame/drivers/ninjaw.c @@ -934,8 +934,8 @@ static MACHINE_START( ninjaw ) banknum = -1; memset(ninjaw_pandata, 0, sizeof(ninjaw_pandata)); - state_save_register_global(cpua_ctrl); - state_save_register_global(banknum); + state_save_register_global(machine, cpua_ctrl); + state_save_register_global(machine, banknum); state_save_register_postload(machine, ninjaw_postload, NULL); } diff --git a/src/mame/drivers/nmg5.c b/src/mame/drivers/nmg5.c index 44750b79e72..2de356e74dd 100644 --- a/src/mame/drivers/nmg5.c +++ b/src/mame/drivers/nmg5.c @@ -968,9 +968,9 @@ static const ym3812_interface ym3812_intf = static MACHINE_START( nmg5 ) { - state_save_register_global(gfx_bank); - state_save_register_global(priority_reg); - state_save_register_global(input_data); + state_save_register_global(machine, gfx_bank); + state_save_register_global(machine, priority_reg); + state_save_register_global(machine, input_data); } static MACHINE_RESET( nmg5 ) diff --git a/src/mame/drivers/nova2001.c b/src/mame/drivers/nova2001.c index aed87c7bcb3..aaacfe5dab1 100644 --- a/src/mame/drivers/nova2001.c +++ b/src/mame/drivers/nova2001.c @@ -161,7 +161,7 @@ static WRITE8_HANDLER( ninjakun_cpu2_io_A002_w ) static MACHINE_START( ninjakun ) { /* Save State Stuff */ - state_save_register_global(ninjakun_io_a002_ctrl); + state_save_register_global(machine, ninjakun_io_a002_ctrl); } diff --git a/src/mame/drivers/nyny.c b/src/mame/drivers/nyny.c index a8273953f66..d8d5aac3123 100644 --- a/src/mame/drivers/nyny.c +++ b/src/mame/drivers/nyny.c @@ -237,10 +237,10 @@ static MACHINE_START( nyny ) pia_config(2, &pia_2_intf); /* setup for save states */ - state_save_register_global(flipscreen); - state_save_register_global(star_enable); - state_save_register_global(star_delay_counter); - state_save_register_global(star_shift_reg); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, star_enable); + state_save_register_global(machine, star_delay_counter); + state_save_register_global(machine, star_shift_reg); } diff --git a/src/mame/drivers/ojankohs.c b/src/mame/drivers/ojankohs.c index ef6433efa1f..c8f64dcaea4 100644 --- a/src/mame/drivers/ojankohs.c +++ b/src/mame/drivers/ojankohs.c @@ -105,7 +105,7 @@ static WRITE8_HANDLER( ojankohs_msm5205_w ) ojankohs_vclk_left = 2; } -static void ojankohs_adpcm_int(running_machine *machine, int irq) +static void ojankohs_adpcm_int(const device_config *device) { /* skip if we're reset */ if (!ojankohs_adpcm_reset) @@ -120,7 +120,7 @@ static void ojankohs_adpcm_int(running_machine *machine, int irq) /* generate an NMI if we're out of data */ if (!ojankohs_vclk_left) - cpu_set_input_line(machine->cpu[0], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[0], INPUT_LINE_NMI, PULSE_LINE); } static WRITE8_HANDLER( ojankoc_ctrl_w ) diff --git a/src/mame/drivers/opwolf.c b/src/mame/drivers/opwolf.c index 8abf5af90ab..0bc02800350 100644 --- a/src/mame/drivers/opwolf.c +++ b/src/mame/drivers/opwolf.c @@ -306,10 +306,10 @@ ADDRESS_MAP_END static MACHINE_START( opwolf ) { - state_save_register_global_array(adpcm_b); - state_save_register_global_array(adpcm_c); - state_save_register_global_array(adpcm_pos); - state_save_register_global_array(adpcm_end); + state_save_register_global_array(machine, adpcm_b); + state_save_register_global_array(machine, adpcm_c); + state_save_register_global_array(machine, adpcm_pos); + state_save_register_global_array(machine, adpcm_end); } static MACHINE_RESET( opwolf ) @@ -324,8 +324,9 @@ static MACHINE_RESET( opwolf ) msm5205_reset_w(1, 1); } -static void opwolf_msm5205_vck(running_machine *machine, int chip) +static void opwolf_msm5205_vck(const device_config *device) { + int chip = (strcmp(device->tag, "msm1") == 0) ? 0 : 1; if (adpcm_data[chip] != -1) { msm5205_data_w(chip, adpcm_data[chip] & 0x0f); @@ -335,7 +336,7 @@ static void opwolf_msm5205_vck(running_machine *machine, int chip) } else { - adpcm_data[chip] = memory_region(machine, "adpcm")[adpcm_pos[chip]]; + adpcm_data[chip] = memory_region(device->machine, "adpcm")[adpcm_pos[chip]]; adpcm_pos[chip] = (adpcm_pos[chip] + 1) & 0x7ffff; msm5205_data_w(chip, adpcm_data[chip] >> 4); } diff --git a/src/mame/drivers/othunder.c b/src/mame/drivers/othunder.c index 062a4e7714f..32d66d5ab2e 100644 --- a/src/mame/drivers/othunder.c +++ b/src/mame/drivers/othunder.c @@ -435,7 +435,7 @@ static STATE_POSTLOAD( othunder_postload ) static MACHINE_START( othunder ) { banknum = -1; - state_save_register_global(banknum); + state_save_register_global(machine, banknum); state_save_register_postload(machine, othunder_postload, NULL); } diff --git a/src/mame/drivers/pcktgal.c b/src/mame/drivers/pcktgal.c index 7d709527596..b4cf256e902 100644 --- a/src/mame/drivers/pcktgal.c +++ b/src/mame/drivers/pcktgal.c @@ -51,7 +51,7 @@ static WRITE8_HANDLER( pcktgal_sound_w ) static int msm5205next; -static void pcktgal_adpcm_int(running_machine *machine, int data) +static void pcktgal_adpcm_int(const device_config *device) { static int toggle; @@ -60,7 +60,7 @@ static void pcktgal_adpcm_int(running_machine *machine, int data) toggle = 1 - toggle; if (toggle) - cpu_set_input_line(machine->cpu[1],M6502_IRQ_LINE,HOLD_LINE); + cpu_set_input_line(device->machine->cpu[1],M6502_IRQ_LINE,HOLD_LINE); } static WRITE8_HANDLER( pcktgal_adpcm_data_w ) diff --git a/src/mame/drivers/pipedrm.c b/src/mame/drivers/pipedrm.c index db0781ed8e0..02cd9d9aed9 100644 --- a/src/mame/drivers/pipedrm.c +++ b/src/mame/drivers/pipedrm.c @@ -131,8 +131,8 @@ static MACHINE_RESET( pipedrm ) memory_configure_bank(machine, 2, 0, 2, memory_region(machine, "audio") + 0x10000, 0x8000); memory_set_bank(machine, 2, 0); /* state save */ - state_save_register_global(pending_command); - state_save_register_global(sound_command); + state_save_register_global(machine, pending_command); + state_save_register_global(machine, sound_command); } diff --git a/src/mame/drivers/pkscram.c b/src/mame/drivers/pkscram.c index 6587d21aeb4..3ea513c354e 100644 --- a/src/mame/drivers/pkscram.c +++ b/src/mame/drivers/pkscram.c @@ -280,8 +280,8 @@ static MACHINE_RESET( pkscramble) scanline_timer = timer_alloc(machine, scanline_callback, NULL); timer_adjust_oneshot(scanline_timer, video_screen_get_time_until_pos(machine->primary_screen, interrupt_scanline, 0), interrupt_scanline); - state_save_register_global(out); - state_save_register_global(interrupt_line_active); + state_save_register_global(machine, out); + state_save_register_global(machine, interrupt_line_active); } static MACHINE_DRIVER_START( pkscramble ) diff --git a/src/mame/drivers/pooyan.c b/src/mame/drivers/pooyan.c index 2516bcb08b1..9c32f77cfcf 100644 --- a/src/mame/drivers/pooyan.c +++ b/src/mame/drivers/pooyan.c @@ -28,7 +28,7 @@ static UINT8 irq_enable; static MACHINE_START( pooyan ) { - state_save_register_global(irq_enable); + state_save_register_global(machine, irq_enable); } diff --git a/src/mame/drivers/qdrmfgp.c b/src/mame/drivers/qdrmfgp.c index a487b3afd7a..ce0d40ffd4c 100644 --- a/src/mame/drivers/qdrmfgp.c +++ b/src/mame/drivers/qdrmfgp.c @@ -620,9 +620,9 @@ static const k054539_interface k054539_config = static MACHINE_START( qdrmfgp ) { - state_save_register_global(control); - state_save_register_global(qdrmfgp_pal); - state_save_register_global(gp2_irq_control); + state_save_register_global(machine, control); + state_save_register_global(machine, qdrmfgp_pal); + state_save_register_global(machine, gp2_irq_control); } static MACHINE_RESET( qdrmfgp ) diff --git a/src/mame/drivers/r2dtank.c b/src/mame/drivers/r2dtank.c index 01630be84a3..a4e34c401f7 100644 --- a/src/mame/drivers/r2dtank.c +++ b/src/mame/drivers/r2dtank.c @@ -279,9 +279,9 @@ static MACHINE_START( r2dtank ) pia_config(1, &pia_audio_intf); /* setup for save states */ - state_save_register_global(flipscreen); - state_save_register_global(ttl74123_output); - state_save_register_global(AY8910_selected); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, ttl74123_output); + state_save_register_global(machine, AY8910_selected); } diff --git a/src/mame/drivers/rainbow.c b/src/mame/drivers/rainbow.c index 1f0bfae3aec..eceb77e14ff 100644 --- a/src/mame/drivers/rainbow.c +++ b/src/mame/drivers/rainbow.c @@ -811,7 +811,7 @@ static DRIVER_INIT( jumping ) for (i = 0;i < len;i++) rom[i] ^= 0xff; - state_save_register_global(jumping_latch); + state_save_register_global(machine, jumping_latch); } diff --git a/src/mame/drivers/rastan.c b/src/mame/drivers/rastan.c index 98d678ed6f5..8be15cfbcfd 100644 --- a/src/mame/drivers/rastan.c +++ b/src/mame/drivers/rastan.c @@ -186,7 +186,7 @@ static WRITE8_HANDLER( rastan_bankswitch_w ) } -static void rastan_msm5205_vck(running_machine *machine, int chip) +static void rastan_msm5205_vck(const device_config *device) { if (adpcm_data != -1) { @@ -195,7 +195,7 @@ static void rastan_msm5205_vck(running_machine *machine, int chip) } else { - adpcm_data = memory_region(machine, "adpcm")[adpcm_pos]; + adpcm_data = memory_region(device->machine, "adpcm")[adpcm_pos]; adpcm_pos = (adpcm_pos + 1) & 0xffff; msm5205_data_w(0, adpcm_data >> 4); } diff --git a/src/mame/drivers/renegade.c b/src/mame/drivers/renegade.c index fa79925b1fe..50e36c20f27 100644 --- a/src/mame/drivers/renegade.c +++ b/src/mame/drivers/renegade.c @@ -250,12 +250,12 @@ static STATE_POSTLOAD( renegade_postload ) static MACHINE_START( renegade ) { - state_save_register_global_array(mcu_buffer); - state_save_register_global(mcu_input_size); - state_save_register_global(mcu_output_byte); - state_save_register_global(mcu_key); + state_save_register_global_array(machine, mcu_buffer); + state_save_register_global(machine, mcu_input_size); + state_save_register_global(machine, mcu_output_byte); + state_save_register_global(machine, mcu_key); - state_save_register_global(bank); + state_save_register_global(machine, bank); state_save_register_postload(machine, renegade_postload, NULL); } diff --git a/src/mame/drivers/rohga.c b/src/mame/drivers/rohga.c index 837f54dabfa..aa82079ec1e 100644 --- a/src/mame/drivers/rohga.c +++ b/src/mame/drivers/rohga.c @@ -1435,7 +1435,7 @@ static DRIVER_INIT( rohga ) deco56_decrypt_gfx(machine, "gfx1"); deco56_decrypt_gfx(machine, "gfx2"); - decoprot_reset(); + decoprot_reset(machine); } static DRIVER_INIT( wizdfire ) @@ -1451,7 +1451,7 @@ static DRIVER_INIT( nitrobal ) deco56_decrypt_gfx(machine, "gfx2"); deco74_decrypt_gfx(machine, "gfx3"); - decoprot_reset(); + decoprot_reset(machine); } static DRIVER_INIT( schmeisr ) @@ -1465,7 +1465,7 @@ static DRIVER_INIT( schmeisr ) deco74_decrypt_gfx(machine, "gfx1"); deco74_decrypt_gfx(machine, "gfx2"); - decoprot_reset(); + decoprot_reset(machine); } GAME( 1991, rohga, 0, rohga, rohga, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (Asia/Europe v5.0)" , 0 ) diff --git a/src/mame/drivers/safarir.c b/src/mame/drivers/safarir.c index d812157a498..f156beaf18f 100644 --- a/src/mame/drivers/safarir.c +++ b/src/mame/drivers/safarir.c @@ -189,9 +189,9 @@ static MACHINE_START( safarir ) ram_2 = auto_malloc(ram_size); /* setup for save states */ - state_save_register_global_pointer(ram_1, ram_size); - state_save_register_global_pointer(ram_2, ram_size); - state_save_register_global(ram_bank); + state_save_register_global_pointer(machine, ram_1, ram_size); + state_save_register_global_pointer(machine, ram_2, ram_size); + state_save_register_global(machine, ram_bank); } diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c index a8ef794627a..3692450cf62 100644 --- a/src/mame/drivers/sbrkout.c +++ b/src/mame/drivers/sbrkout.c @@ -88,9 +88,9 @@ static MACHINE_START( sbrkout ) scanline_timer = timer_alloc(machine, scanline_callback, NULL); pot_timer = timer_alloc(machine, pot_trigger_callback, NULL); - state_save_register_global(sync2_value); - state_save_register_global_array(pot_mask); - state_save_register_global_array(pot_trigger); + state_save_register_global(machine, sync2_value); + state_save_register_global_array(machine, pot_mask); + state_save_register_global_array(machine, pot_trigger); } diff --git a/src/mame/drivers/seattle.c b/src/mame/drivers/seattle.c index 0c7fdc633a4..3ae6dc201b1 100644 --- a/src/mame/drivers/seattle.c +++ b/src/mame/drivers/seattle.c @@ -527,34 +527,34 @@ static MACHINE_START( seattle ) cpu_set_info_int(machine->cpu[0], CPUINFO_INT_MIPS3_FASTRAM_READONLY, 1); /* register for save states */ - state_save_register_global_array(galileo.reg); - state_save_register_global(galileo.dma_active); - state_save_register_global_array(galileo.dma_stalled_on_voodoo); - state_save_register_global_array(galileo.pci_bridge_regs); - state_save_register_global_array(galileo.pci_3dfx_regs); - state_save_register_global_array(galileo.pci_ide_regs); + state_save_register_global_array(machine, galileo.reg); + state_save_register_global(machine, galileo.dma_active); + state_save_register_global_array(machine, galileo.dma_stalled_on_voodoo); + state_save_register_global_array(machine, galileo.pci_bridge_regs); + state_save_register_global_array(machine, galileo.pci_3dfx_regs); + state_save_register_global_array(machine, galileo.pci_ide_regs); for (index = 0; index < ARRAY_LENGTH(galileo.timer); index++) { - state_save_register_item("galileo", NULL, index, galileo.timer[index].count); - state_save_register_item("galileo", NULL, index, galileo.timer[index].active); + state_save_register_item(machine, "galileo", NULL, index, galileo.timer[index].count); + state_save_register_item(machine, "galileo", NULL, index, galileo.timer[index].active); } - state_save_register_global(widget.ethernet_addr); - state_save_register_global(widget.irq_num); - state_save_register_global(widget.irq_mask); - state_save_register_global(voodoo_stalled); - state_save_register_global(cpu_stalled_on_voodoo); - state_save_register_global(cpu_stalled_offset); - state_save_register_global(cpu_stalled_data); - state_save_register_global(cpu_stalled_mem_mask); - state_save_register_global(board_config); - state_save_register_global(ethernet_irq_num); - state_save_register_global(ethernet_irq_state); - state_save_register_global(vblank_irq_num); - state_save_register_global(vblank_latch); - state_save_register_global(vblank_state); - state_save_register_global(pending_analog_read); - state_save_register_global(status_leds); - state_save_register_global(cmos_write_enabled); + state_save_register_global(machine, widget.ethernet_addr); + state_save_register_global(machine, widget.irq_num); + state_save_register_global(machine, widget.irq_mask); + state_save_register_global(machine, voodoo_stalled); + state_save_register_global(machine, cpu_stalled_on_voodoo); + state_save_register_global(machine, cpu_stalled_offset); + state_save_register_global(machine, cpu_stalled_data); + state_save_register_global(machine, cpu_stalled_mem_mask); + state_save_register_global(machine, board_config); + state_save_register_global(machine, ethernet_irq_num); + state_save_register_global(machine, ethernet_irq_state); + state_save_register_global(machine, vblank_irq_num); + state_save_register_global(machine, vblank_latch); + state_save_register_global(machine, vblank_state); + state_save_register_global(machine, pending_analog_read); + state_save_register_global(machine, status_leds); + state_save_register_global(machine, cmos_write_enabled); } diff --git a/src/mame/drivers/segac2.c b/src/mame/drivers/segac2.c index 27db95038d9..92bc4d357c1 100644 --- a/src/mame/drivers/segac2.c +++ b/src/mame/drivers/segac2.c @@ -121,9 +121,9 @@ static UINT8 sound_banks; /* number of sound banks */ static MACHINE_START( segac2 ) { - state_save_register_global_array(misc_io_data); - state_save_register_global(prot_write_buf); - state_save_register_global(prot_read_buf); + state_save_register_global_array(machine, misc_io_data); + state_save_register_global(machine, prot_write_buf); + state_save_register_global(machine, prot_read_buf); // MACHINE_START_CALL(genesis); } diff --git a/src/mame/drivers/segag80v.c b/src/mame/drivers/segag80v.c index cfa0ea22e2d..180ce0f50e6 100644 --- a/src/mame/drivers/segag80v.c +++ b/src/mame/drivers/segag80v.c @@ -189,11 +189,11 @@ static INPUT_CHANGED( service_switch ) static MACHINE_START( g80v ) { /* register for save states */ - state_save_register_global_array(mult_data); - state_save_register_global(mult_result); - state_save_register_global(spinner_select); - state_save_register_global(spinner_sign); - state_save_register_global(spinner_count); + state_save_register_global_array(machine, mult_data); + state_save_register_global(machine, mult_result); + state_save_register_global(machine, spinner_select); + state_save_register_global(machine, spinner_sign); + state_save_register_global(machine, spinner_count); } diff --git a/src/mame/drivers/segaybd.c b/src/mame/drivers/segaybd.c index c9986249788..a2936730648 100644 --- a/src/mame/drivers/segaybd.c +++ b/src/mame/drivers/segaybd.c @@ -177,10 +177,10 @@ static MACHINE_RESET( yboard ) interrupt_timer = timer_alloc(machine, scanline_callback, NULL); timer_adjust_oneshot(interrupt_timer, video_screen_get_time_until_pos(machine->primary_screen, 223, 0), 223); - state_save_register_global_array(misc_io_data); - state_save_register_global_array(analog_data); - state_save_register_global(vblank_irq_state); - state_save_register_global(timer_irq_state); + state_save_register_global_array(machine, misc_io_data); + state_save_register_global_array(machine, analog_data); + state_save_register_global(machine, vblank_irq_state); + state_save_register_global(machine, timer_irq_state); } diff --git a/src/mame/drivers/skykid.c b/src/mame/drivers/skykid.c index 0efbe9e08e3..66393035113 100644 --- a/src/mame/drivers/skykid.c +++ b/src/mame/drivers/skykid.c @@ -108,7 +108,7 @@ static MACHINE_START( skykid ) /* configure the banks */ memory_configure_bank(machine, 1, 0, 2, memory_region(machine, "main") + 0x10000, 0x2000); - state_save_register_global(inputport_selected); + state_save_register_global(machine, inputport_selected); } diff --git a/src/mame/drivers/slapshot.c b/src/mame/drivers/slapshot.c index af05edda903..e0160116d85 100644 --- a/src/mame/drivers/slapshot.c +++ b/src/mame/drivers/slapshot.c @@ -241,7 +241,7 @@ static STATE_POSTLOAD( slapshot_postload ) static MACHINE_START( slapshot ) { banknum = -1; - state_save_register_global(banknum); + state_save_register_global(machine, banknum); state_save_register_postload(machine, slapshot_postload, NULL); } diff --git a/src/mame/drivers/spdodgeb.c b/src/mame/drivers/spdodgeb.c index 3a5f689ee8c..148988439bd 100644 --- a/src/mame/drivers/spdodgeb.c +++ b/src/mame/drivers/spdodgeb.c @@ -83,8 +83,9 @@ static WRITE8_HANDLER( spd_adpcm_w ) } } -static void spd_adpcm_int(running_machine *machine, int chip) +static void spd_adpcm_int(const device_config *device) { + int chip = (strcmp(device->tag, "msm1") == 0) ? 0 : 1; if (adpcm_pos[chip] >= adpcm_end[chip] || adpcm_pos[chip] >= 0x10000) { adpcm_idle[chip] = 1; @@ -97,7 +98,7 @@ static void spd_adpcm_int(running_machine *machine, int chip) } else { - UINT8 *ROM = memory_region(machine, "adpcm") + 0x10000 * chip; + UINT8 *ROM = memory_region(device->machine, "adpcm") + 0x10000 * chip; adpcm_data[chip] = ROM[adpcm_pos[chip]++]; msm5205_data_w(chip,adpcm_data[chip] >> 4); diff --git a/src/mame/drivers/spiders.c b/src/mame/drivers/spiders.c index 7357aa6f7e9..bd492328830 100644 --- a/src/mame/drivers/spiders.c +++ b/src/mame/drivers/spiders.c @@ -376,11 +376,11 @@ static MACHINE_START( spiders ) pia_config(4, &pia_4_intf); /* setup for save states */ - state_save_register_global(flipscreen); - state_save_register_global(gfx_rom_address); - state_save_register_global(gfx_rom_ctrl_mode); - state_save_register_global(gfx_rom_ctrl_latch); - state_save_register_global(gfx_rom_ctrl_data); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, gfx_rom_address); + state_save_register_global(machine, gfx_rom_ctrl_mode); + state_save_register_global(machine, gfx_rom_ctrl_latch); + state_save_register_global(machine, gfx_rom_ctrl_data); } diff --git a/src/mame/drivers/splash.c b/src/mame/drivers/splash.c index 9870ffb75fc..37229123a90 100644 --- a/src/mame/drivers/splash.c +++ b/src/mame/drivers/splash.c @@ -143,7 +143,7 @@ static WRITE8_HANDLER( splash_adpcm_data_w ){ adpcm_data = data; } -static void splash_msm5205_int(running_machine *machine, int data) +static void splash_msm5205_int(const device_config *device) { msm5205_data_w(0,adpcm_data >> 4); adpcm_data = (adpcm_data << 4) & 0xf0; diff --git a/src/mame/drivers/sprcros2.c b/src/mame/drivers/sprcros2.c index 5a006d106c3..f4dbdeac4a7 100644 --- a/src/mame/drivers/sprcros2.c +++ b/src/mame/drivers/sprcros2.c @@ -287,8 +287,8 @@ static INTERRUPT_GEN( sprcros2_s_interrupt ) static MACHINE_START( sprcros2 ) { - state_save_register_global(sprcros2_m_port7); - state_save_register_global(sprcros2_s_port3); + state_save_register_global(machine, sprcros2_m_port7); + state_save_register_global(machine, sprcros2_s_port3); } static MACHINE_DRIVER_START( sprcros2 ) diff --git a/src/mame/drivers/srmp2.c b/src/mame/drivers/srmp2.c index 13dba961544..0e481475637 100644 --- a/src/mame/drivers/srmp2.c +++ b/src/mame/drivers/srmp2.c @@ -235,9 +235,9 @@ static WRITE8_HANDLER( srmp3_adpcm_code_w ) } -static void srmp2_adpcm_int(running_machine *machine, int num) +static void srmp2_adpcm_int(const device_config *device) { - UINT8 *ROM = memory_region(machine, "adpcm"); + UINT8 *ROM = memory_region(device->machine, "adpcm"); if (srmp2_adpcm_sptr) { diff --git a/src/mame/drivers/ssingles.c b/src/mame/drivers/ssingles.c index 859dfbf3481..3debe9cafc2 100644 --- a/src/mame/drivers/ssingles.c +++ b/src/mame/drivers/ssingles.c @@ -312,8 +312,8 @@ static DRIVER_INIT(ssingles) ssingles_colorram=auto_malloc(VMEM_SIZE); memset(ssingles_videoram,0,VMEM_SIZE); memset(ssingles_colorram,0,VMEM_SIZE); - state_save_register_global_pointer(ssingles_videoram, VMEM_SIZE); - state_save_register_global_pointer(ssingles_colorram, VMEM_SIZE); + state_save_register_global_pointer(machine, ssingles_videoram, VMEM_SIZE); + state_save_register_global_pointer(machine, ssingles_colorram, VMEM_SIZE); } GAME ( 1983, ssingles, 0, ssingles, ssingles, ssingles, ROT90, "Ent. Ent. Ltd", "Swinging Singles", GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) diff --git a/src/mame/drivers/sslam.c b/src/mame/drivers/sslam.c index 24c38848822..6b6e730a72f 100644 --- a/src/mame/drivers/sslam.c +++ b/src/mame/drivers/sslam.c @@ -945,19 +945,19 @@ static DRIVER_INIT( sslam ) sslam_melody = 0; sslam_bar = 0; - state_save_register_global(sslam_track); - state_save_register_global(sslam_melody); - state_save_register_global(sslam_bar); - state_save_register_global(sslam_snd_bank); + state_save_register_global(machine, sslam_track); + state_save_register_global(machine, sslam_melody); + state_save_register_global(machine, sslam_bar); + state_save_register_global(machine, sslam_snd_bank); music_timer = timer_alloc(machine, music_playback, NULL); } static DRIVER_INIT( powerbls ) { - state_save_register_global(playmark_oki_control); - state_save_register_global(playmark_oki_command); - state_save_register_global(playmark_oki_bank); + state_save_register_global(machine, playmark_oki_control); + state_save_register_global(machine, playmark_oki_command); + state_save_register_global(machine, playmark_oki_bank); } diff --git a/src/mame/drivers/starfire.c b/src/mame/drivers/starfire.c index 9d97cd4aaf3..5806ab42f67 100644 --- a/src/mame/drivers/starfire.c +++ b/src/mame/drivers/starfire.c @@ -367,7 +367,7 @@ static DRIVER_INIT( fireone ) input_read = fireone_input_r; /* register for state saving */ - state_save_register_global(fireone_select); + state_save_register_global(machine, fireone_select); } diff --git a/src/mame/drivers/starwars.c b/src/mame/drivers/starwars.c index 8ff2e0b9fe5..f33c29efaf8 100644 --- a/src/mame/drivers/starwars.c +++ b/src/mame/drivers/starwars.c @@ -540,9 +540,9 @@ static DRIVER_INIT( esb ) memory_set_bank(machine, 2, 0); /* additional globals for state saving */ - state_save_register_global(slapstic_current_bank); - state_save_register_global(slapstic_last_pc); - state_save_register_global(slapstic_last_address); + state_save_register_global(machine, slapstic_current_bank); + state_save_register_global(machine, slapstic_last_pc); + state_save_register_global(machine, slapstic_last_address); } diff --git a/src/mame/drivers/stv.c b/src/mame/drivers/stv.c index 88f5cf4aab9..fd4a75a8d1e 100644 --- a/src/mame/drivers/stv.c +++ b/src/mame/drivers/stv.c @@ -2505,28 +2505,28 @@ static MACHINE_START( stv ) SCSP_set_ram_base(0, sound_ram); // save states - state_save_register_global_pointer(smpc_ram, 0x80); - state_save_register_global_pointer(stv_scu, 0x100/4); - state_save_register_global_pointer(scsp_regs, 0x1000/2); -// state_save_register_global(stv_vblank); -// state_save_register_global(stv_hblank); - state_save_register_global(stv_enable_slave_sh2); - state_save_register_global(NMI_reset); - state_save_register_global(en_68k); - state_save_register_global(timer_0); - state_save_register_global(timer_1); -// state_save_register_global(scanline); - state_save_register_global(IOSEL1); - state_save_register_global(IOSEL2); - state_save_register_global(EXLE1); - state_save_register_global(EXLE2); - state_save_register_global(PDR1); - state_save_register_global(PDR2); - state_save_register_global(port_sel); - state_save_register_global(mux_data); - state_save_register_global(scsp_last_line); + state_save_register_global_pointer(machine, smpc_ram, 0x80); + state_save_register_global_pointer(machine, stv_scu, 0x100/4); + state_save_register_global_pointer(machine, scsp_regs, 0x1000/2); +// state_save_register_global(machine, stv_vblank); +// state_save_register_global(machine, stv_hblank); + state_save_register_global(machine, stv_enable_slave_sh2); + state_save_register_global(machine, NMI_reset); + state_save_register_global(machine, en_68k); + state_save_register_global(machine, timer_0); + state_save_register_global(machine, timer_1); +// state_save_register_global(machine, scanline); + state_save_register_global(machine, IOSEL1); + state_save_register_global(machine, IOSEL2); + state_save_register_global(machine, EXLE1); + state_save_register_global(machine, EXLE2); + state_save_register_global(machine, PDR1); + state_save_register_global(machine, PDR2); + state_save_register_global(machine, port_sel); + state_save_register_global(machine, mux_data); + state_save_register_global(machine, scsp_last_line); - stv_register_protection_savestates(); // machine/stvprot.c + stv_register_protection_savestates(machine); // machine/stvprot.c add_exit_callback(machine, stvcd_exit); } diff --git a/src/mame/drivers/superqix.c b/src/mame/drivers/superqix.c index 3a0c804c297..20558ceaffb 100644 --- a/src/mame/drivers/superqix.c +++ b/src/mame/drivers/superqix.c @@ -490,22 +490,22 @@ static READ8_HANDLER(pbillian_ay_port_a_r) } -static void machine_init_common(void) +static void machine_init_common(running_machine *machine) { - state_save_register_global(invert_coin_lockout); - state_save_register_global(from_mcu_pending); - state_save_register_global(from_z80_pending); - state_save_register_global(port1); - state_save_register_global(port3); - state_save_register_global(port3_latch); - state_save_register_global(from_mcu); - state_save_register_global(from_z80); - state_save_register_global(portb); + state_save_register_global(machine, invert_coin_lockout); + state_save_register_global(machine, from_mcu_pending); + state_save_register_global(machine, from_z80_pending); + state_save_register_global(machine, port1); + state_save_register_global(machine, port3); + state_save_register_global(machine, port3_latch); + state_save_register_global(machine, from_mcu); + state_save_register_global(machine, from_z80); + state_save_register_global(machine, portb); // hotsmash ??? - state_save_register_global(portA_in); - state_save_register_global(portB_out); - state_save_register_global(portC); + state_save_register_global(machine, portA_in); + state_save_register_global(machine, portB_out); + state_save_register_global(machine, portC); } static MACHINE_START( superqix ) @@ -513,7 +513,7 @@ static MACHINE_START( superqix ) /* configure the banks */ memory_configure_bank(machine, 1, 0, 4, memory_region(machine, "main") + 0x10000, 0x4000); - machine_init_common(); + machine_init_common(machine); } static MACHINE_START( pbillian ) @@ -521,7 +521,7 @@ static MACHINE_START( pbillian ) /* configure the banks */ memory_configure_bank(machine, 1, 0, 2, memory_region(machine, "main") + 0x10000, 0x4000); - machine_init_common(); + machine_init_common(machine); } diff --git a/src/mame/drivers/system16.c b/src/mame/drivers/system16.c index f8a037c7c98..1c86153ca22 100644 --- a/src/mame/drivers/system16.c +++ b/src/mame/drivers/system16.c @@ -249,13 +249,13 @@ static WRITE8_HANDLER( tturfbl_msm5205_data_w ) sample_buffer = data; } -static void tturfbl_msm5205_callback(running_machine *machine, int data) +static void tturfbl_msm5205_callback(const device_config *device) { msm5205_data_w(0, (sample_buffer >> 4) & 0x0F); sample_buffer <<= 4; sample_select ^= 1; if(sample_select == 0) - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); } static const msm5205_interface tturfbl_msm5205_interface = diff --git a/src/mame/drivers/system18.c b/src/mame/drivers/system18.c index 274a73f01e7..0552120f8aa 100644 --- a/src/mame/drivers/system18.c +++ b/src/mame/drivers/system18.c @@ -168,13 +168,13 @@ static WRITE8_HANDLER( shdancbl_msm5205_data_w ) sample_buffer = data; } -static void shdancbl_msm5205_callback(running_machine *machine, int data) +static void shdancbl_msm5205_callback(const device_config *device) { msm5205_data_w(0, sample_buffer & 0x0F); sample_buffer >>= 4; sample_select ^= 1; if(sample_select == 0) - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); } static const msm5205_interface shdancbl_msm5205_interface = diff --git a/src/mame/drivers/taito_f2.c b/src/mame/drivers/taito_f2.c index 04915245ef4..8b9a9bdd8e9 100644 --- a/src/mame/drivers/taito_f2.c +++ b/src/mame/drivers/taito_f2.c @@ -3699,7 +3699,7 @@ static STATE_POSTLOAD( f2_postload ) static MACHINE_START( f2 ) { - state_save_register_global(banknum); + state_save_register_global(machine, banknum); state_save_register_postload(machine, f2_postload, NULL); } @@ -5811,8 +5811,8 @@ static STATE_POSTLOAD( driveout_postload ) static DRIVER_INIT( driveout ) { - state_save_register_global(driveout_sound_latch); - state_save_register_global(oki_bank); + state_save_register_global(machine, driveout_sound_latch); + state_save_register_global(machine, oki_bank); state_save_register_postload(machine, driveout_postload, NULL); } diff --git a/src/mame/drivers/taito_f3.c b/src/mame/drivers/taito_f3.c index 4b4f0f2283b..e282c39fc78 100644 --- a/src/mame/drivers/taito_f3.c +++ b/src/mame/drivers/taito_f3.c @@ -401,7 +401,7 @@ static NVRAM_HANDLER( taito_f3 ) static MACHINE_START(f3) { - state_save_register_global_array(coin_word); + state_save_register_global_array(machine, coin_word); } static MACHINE_DRIVER_START( f3 ) diff --git a/src/mame/drivers/taito_h.c b/src/mame/drivers/taito_h.c index 266d002d547..5b89345ff10 100644 --- a/src/mame/drivers/taito_h.c +++ b/src/mame/drivers/taito_h.c @@ -571,7 +571,7 @@ static MACHINE_RESET( taitoh ) static MACHINE_START( taitoh ) { - state_save_register_global(banknum); + state_save_register_global(machine, banknum); state_save_register_postload(machine, taitoh_postload, NULL); } diff --git a/src/mame/drivers/taito_l.c b/src/mame/drivers/taito_l.c index c9b317e1982..dba79f6e3b8 100644 --- a/src/mame/drivers/taito_l.c +++ b/src/mame/drivers/taito_l.c @@ -589,7 +589,7 @@ static WRITE8_HANDLER( mux_ctrl_w ) -static void champwr_msm5205_vck(running_machine *machine, int chip) +static void champwr_msm5205_vck(const device_config *device) { if (adpcm_data != -1) { @@ -598,7 +598,7 @@ static void champwr_msm5205_vck(running_machine *machine, int chip) } else { - adpcm_data = memory_region(machine, "adpcm")[adpcm_pos]; + adpcm_data = memory_region(device->machine, "adpcm")[adpcm_pos]; adpcm_pos = (adpcm_pos + 1) & 0x1ffff; msm5205_data_w(0, adpcm_data >> 4); } diff --git a/src/mame/drivers/taito_x.c b/src/mame/drivers/taito_x.c index 9b176e3c9a5..632b776049c 100644 --- a/src/mame/drivers/taito_x.c +++ b/src/mame/drivers/taito_x.c @@ -987,7 +987,7 @@ static STATE_POSTLOAD( taitox_postload ) static MACHINE_START( taitox ) { banknum = -1; - state_save_register_global(banknum); + state_save_register_global(machine, banknum); state_save_register_postload(machine, taitox_postload, NULL); } diff --git a/src/mame/drivers/taito_z.c b/src/mame/drivers/taito_z.c index 034f8ddef87..7b2af54406e 100644 --- a/src/mame/drivers/taito_z.c +++ b/src/mame/drivers/taito_z.c @@ -1516,14 +1516,14 @@ static MACHINE_START( taitoz ) dblaxle_int6 = 0; ioc220_port = 0; - state_save_register_global(cpua_ctrl); + state_save_register_global(machine, cpua_ctrl); /* these are specific to various games: we ought to split the inits */ - state_save_register_global(sci_int6); - state_save_register_global(dblaxle_int6); - state_save_register_global(ioc220_port); + state_save_register_global(machine, sci_int6); + state_save_register_global(machine, dblaxle_int6); + state_save_register_global(machine, ioc220_port); - state_save_register_global(banknum); + state_save_register_global(machine, banknum); state_save_register_postload(machine, taitoz_postload, NULL); } @@ -4781,7 +4781,7 @@ static DRIVER_INIT( bshark ) eep_latch = 0; state_save_register_postload(machine, bshark_postload, NULL); - state_save_register_global(eep_latch); + state_save_register_global(machine, eep_latch); } diff --git a/src/mame/drivers/taitoair.c b/src/mame/drivers/taitoair.c index 01704da68ab..d97a7b19f07 100644 --- a/src/mame/drivers/taitoair.c +++ b/src/mame/drivers/taitoair.c @@ -364,7 +364,7 @@ static MACHINE_START( taitoair ) dsp_HOLD_signal = ASSERT_LINE; banknum = -1; - state_save_register_global(banknum); + state_save_register_global(machine, banknum); state_save_register_postload(machine, taitoair_postload, NULL); } diff --git a/src/mame/drivers/taitosj.c b/src/mame/drivers/taitosj.c index 34d228362ea..6b2ed9c059e 100644 --- a/src/mame/drivers/taitosj.c +++ b/src/mame/drivers/taitosj.c @@ -2712,11 +2712,11 @@ static void reset_common(running_machine *machine) static void init_common(running_machine *machine) { - state_save_register_global(sndnmi_disable); - state_save_register_global(input_port_4_f0); - state_save_register_global_array(kikstart_gears); - state_save_register_global(dac_out); - state_save_register_global(dac_vol); + state_save_register_global(machine, sndnmi_disable); + state_save_register_global(machine, input_port_4_f0); + state_save_register_global_array(machine, kikstart_gears); + state_save_register_global(machine, dac_out); + state_save_register_global(machine, dac_vol); add_reset_callback(machine, reset_common); } diff --git a/src/mame/drivers/tatsumi.c b/src/mame/drivers/tatsumi.c index 9f7698f311b..d7d2861fefd 100644 --- a/src/mame/drivers/tatsumi.c +++ b/src/mame/drivers/tatsumi.c @@ -1219,7 +1219,7 @@ static DRIVER_INIT( apache3 ) tatsumi_rom_clut0 = memory_region(machine, "gfx2")+ 0x100000 - 0x800; tatsumi_rom_clut1 = memory_region(machine, "gfx3")+ 0x100000 - 0x800; - tatsumi_reset(); + tatsumi_reset(machine); } static DRIVER_INIT( roundup5 ) @@ -1244,7 +1244,7 @@ static DRIVER_INIT( roundup5 ) tatsumi_rom_clut0 = memory_region(machine, "gfx2")+ 0xc0000 - 0x800; tatsumi_rom_clut1 = memory_region(machine, "gfx3")+ 0xc0000 - 0x800; - tatsumi_reset(); + tatsumi_reset(machine); } static DRIVER_INIT( cyclwarr ) @@ -1278,7 +1278,7 @@ static DRIVER_INIT( cyclwarr ) tatsumi_rom_clut0 = memory_region(machine, "gfx2") + len1 - 0x1000; tatsumi_rom_clut1 = memory_region(machine, "gfx3") + len2 - 0x1000; - tatsumi_reset(); + tatsumi_reset(machine); } /***************************************************************************/ diff --git a/src/mame/drivers/tbowl.c b/src/mame/drivers/tbowl.c index 0401131d583..031a22c3976 100644 --- a/src/mame/drivers/tbowl.c +++ b/src/mame/drivers/tbowl.c @@ -177,10 +177,11 @@ static WRITE8_HANDLER( tbowl_adpcm_vol_w ) msm5205_set_volume(offset & 1, (data & 0x7f) * 100 / 0x7f); } -static void tbowl_adpcm_int(running_machine *machine, int num) +static void tbowl_adpcm_int(const device_config *device) { + int num = (strcmp(device->tag, "msm1") == 0) ? 0 : 1; if (adpcm_pos[num] >= adpcm_end[num] || - adpcm_pos[num] >= memory_region_length(machine, "adpcm")/2) + adpcm_pos[num] >= memory_region_length(device->machine, "adpcm")/2) msm5205_reset_w(num,1); else if (adpcm_data[num] != -1) { @@ -189,7 +190,7 @@ static void tbowl_adpcm_int(running_machine *machine, int num) } else { - UINT8 *ROM = memory_region(machine, "adpcm") + 0x10000 * num; + UINT8 *ROM = memory_region(device->machine, "adpcm") + 0x10000 * num; adpcm_data[num] = ROM[adpcm_pos[num]++]; msm5205_data_w(num,adpcm_data[num] >> 4); diff --git a/src/mame/drivers/tceptor.c b/src/mame/drivers/tceptor.c index ab4d277c483..2966f7d7558 100644 --- a/src/mame/drivers/tceptor.c +++ b/src/mame/drivers/tceptor.c @@ -361,9 +361,9 @@ static const namco_interface namco_config = static MACHINE_START( tceptor ) { - state_save_register_global(m6809_irq_enable); - state_save_register_global(m68k_irq_enable); - state_save_register_global(mcu_irq_enable); + state_save_register_global(machine, m6809_irq_enable); + state_save_register_global(machine, m68k_irq_enable); + state_save_register_global(machine, mcu_irq_enable); } diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c index 6bbfda683b1..448957d0135 100644 --- a/src/mame/drivers/tecmo.c +++ b/src/mame/drivers/tecmo.c @@ -97,10 +97,10 @@ static WRITE8_HANDLER( tecmo_adpcm_vol_w ) { msm5205_set_volume(0,(data & 0x0f) * 100 / 15); } -static void tecmo_adpcm_int(running_machine *machine, int num) +static void tecmo_adpcm_int(const device_config *device) { if (adpcm_pos >= adpcm_end || - adpcm_pos >= memory_region_length(machine, "adpcm")) + adpcm_pos >= memory_region_length(device->machine, "adpcm")) msm5205_reset_w(0,1); else if (adpcm_data != -1) { @@ -109,7 +109,7 @@ static void tecmo_adpcm_int(running_machine *machine, int num) } else { - UINT8 *ROM = memory_region(machine, "adpcm"); + UINT8 *ROM = memory_region(device->machine, "adpcm"); adpcm_data = ROM[adpcm_pos++]; msm5205_data_w(0,adpcm_data >> 4); diff --git a/src/mame/drivers/tehkanwc.c b/src/mame/drivers/tehkanwc.c index 3b5edcd30cd..6e0ed1ca2dd 100644 --- a/src/mame/drivers/tehkanwc.c +++ b/src/mame/drivers/tehkanwc.c @@ -212,11 +212,11 @@ static WRITE8_HANDLER( msm_reset_w ) msm5205_reset_w(0,data ? 0 : 1); } -static void tehkanwc_adpcm_int(running_machine *machine, int data) +static void tehkanwc_adpcm_int(const device_config *device) { static int toggle; - UINT8 *SAMPLES = memory_region(machine, "adpcm"); + UINT8 *SAMPLES = memory_region(device->machine, "adpcm"); int msm_data = SAMPLES[msm_data_offs & 0x7fff]; if (toggle == 0) diff --git a/src/mame/drivers/terracre.c b/src/mame/drivers/terracre.c index ac05d84b970..26027edf587 100644 --- a/src/mame/drivers/terracre.c +++ b/src/mame/drivers/terracre.c @@ -202,8 +202,8 @@ static WRITE16_HANDLER( amazon_protection_w ) static MACHINE_START( amazon ) { /* set up for save */ - state_save_register_global(mAmazonProtCmd); - state_save_register_global_array(mAmazonProtReg); + state_save_register_global(machine, mAmazonProtCmd); + state_save_register_global_array(machine, mAmazonProtReg); } static ADDRESS_MAP_START( terracre_readmem, ADDRESS_SPACE_PROGRAM, 16 ) diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c index 65533acb5a4..6e8a81a66ee 100644 --- a/src/mame/drivers/tetrisp2.c +++ b/src/mame/drivers/tetrisp2.c @@ -1154,11 +1154,11 @@ static void init_rockn_timer(running_machine *machine) timer_pulse(machine, ATTOTIME_IN_MSEC(32), NULL, 0, rockn_timer_level1_callback); rockn_timer_l4 = timer_alloc(machine, rockn_timer_level4_callback, NULL); - state_save_register_global_array(tetrisp2_systemregs); - state_save_register_global_array(rocknms_sub_systemregs); - state_save_register_global(rockn_protectdata); - state_save_register_global(rockn_adpcmbank); - state_save_register_global(rockn_soundvolume); + state_save_register_global_array(machine, tetrisp2_systemregs); + state_save_register_global_array(machine, rocknms_sub_systemregs); + state_save_register_global(machine, rockn_protectdata); + state_save_register_global(machine, rockn_adpcmbank); + state_save_register_global(machine, rockn_soundvolume); } static DRIVER_INIT( rockn ) diff --git a/src/mame/drivers/tiamc1.c b/src/mame/drivers/tiamc1.c index 00a62dc905a..083cea69ced 100644 --- a/src/mame/drivers/tiamc1.c +++ b/src/mame/drivers/tiamc1.c @@ -140,7 +140,7 @@ static MACHINE_RESET( tiamc1 ) tiamc1_bankswitch_w(space, 0, 0); - state_save_register_global_pointer(video_ram, 0x3040); + state_save_register_global_pointer(machine, video_ram, 0x3040); } static WRITE8_HANDLER( tiamc1_control_w ) diff --git a/src/mame/drivers/timeplt.c b/src/mame/drivers/timeplt.c index 53547ff2088..d2d772244ee 100644 --- a/src/mame/drivers/timeplt.c +++ b/src/mame/drivers/timeplt.c @@ -64,7 +64,7 @@ static UINT8 nmi_enable; static MACHINE_START( timeplt ) { - state_save_register_global(nmi_enable); + state_save_register_global(machine, nmi_enable); } diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c index 0268435bed1..11159640dd4 100644 --- a/src/mame/drivers/toaplan2.c +++ b/src/mame/drivers/toaplan2.c @@ -347,38 +347,38 @@ static MACHINE_RESET( bgaregga ) MACHINE_RESET_CALL(toaplan2); } -static void register_state_save(void) +static void register_state_save(running_machine *machine) { - state_save_register_global(mcu_data); - state_save_register_global(video_status); - state_save_register_global(old_p1_paddle_h); - state_save_register_global(old_p2_paddle_h); - state_save_register_global(current_bank); - state_save_register_global(raizing_Z80_busreq); + state_save_register_global(machine, mcu_data); + state_save_register_global(machine, video_status); + state_save_register_global(machine, old_p1_paddle_h); + state_save_register_global(machine, old_p2_paddle_h); + state_save_register_global(machine, current_bank); + state_save_register_global(machine, raizing_Z80_busreq); } static DRIVER_INIT( T2_Z80 ) /* init_t2_Z80(); */ { toaplan2_sub_cpu = CPU_2_Z80; - register_state_save(); + register_state_save(machine); } static DRIVER_INIT( T2_Z180 ) { toaplan2_sub_cpu = CPU_2_HD647180; - register_state_save(); + register_state_save(machine); } static DRIVER_INIT( T2_V25 ) { toaplan2_sub_cpu = CPU_2_V25; - register_state_save(); + register_state_save(machine); } static DRIVER_INIT( T2_noZ80 ) { toaplan2_sub_cpu = CPU_2_NONE; - register_state_save(); + register_state_save(machine); } static DRIVER_INIT( fixeight ) @@ -391,7 +391,7 @@ static DRIVER_INIT( fixeight ) #endif toaplan2_sub_cpu = CPU_2_V25; - register_state_save(); + register_state_save(machine); } static DRIVER_INIT( fixeighb ) @@ -400,7 +400,7 @@ static DRIVER_INIT( fixeighb ) memory_set_bankptr(machine, 1, &bgdata[0x40000]); /* $80000 - $fffff */ toaplan2_sub_cpu = CPU_2_NONE; - register_state_save(); + register_state_save(machine); } static DRIVER_INIT( pipibibi ) @@ -482,14 +482,14 @@ static DRIVER_INIT( pipibibi ) } toaplan2_sub_cpu = CPU_2_Z80; - register_state_save(); + register_state_save(machine); } static DRIVER_INIT( batrider ) { raizing_sndirq_line = 4; toaplan2_sub_cpu = CPU_2_Z80; - register_state_save(); + register_state_save(machine); } static DRIVER_INIT( bbakraid ) @@ -497,7 +497,7 @@ static DRIVER_INIT( bbakraid ) bbakraid_unlimited_ver = 0; raizing_sndirq_line = 2; toaplan2_sub_cpu = CPU_2_Z80; - register_state_save(); + register_state_save(machine); } static DRIVER_INIT( bbakradu ) @@ -505,7 +505,7 @@ static DRIVER_INIT( bbakradu ) bbakraid_unlimited_ver = 1; raizing_sndirq_line = 2; toaplan2_sub_cpu = CPU_2_Z80; - register_state_save(); + register_state_save(machine); } diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c index 35de7bda4d7..ffeb02fdbf4 100644 --- a/src/mame/drivers/toki.c +++ b/src/mame/drivers/toki.c @@ -72,7 +72,7 @@ static READ16_HANDLER( pip16_r ) static int msm5205next; -static void toki_adpcm_int (running_machine *machine, int data) +static void toki_adpcm_int (const device_config *device) { static int toggle=0; @@ -81,7 +81,7 @@ static void toki_adpcm_int (running_machine *machine, int data) toggle ^= 1; if (toggle) - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); } static WRITE8_HANDLER( toki_adpcm_control_w ) diff --git a/src/mame/drivers/topspeed.c b/src/mame/drivers/topspeed.c index 2f369beb92d..ec488eb338e 100644 --- a/src/mame/drivers/topspeed.c +++ b/src/mame/drivers/topspeed.c @@ -414,7 +414,7 @@ static WRITE8_HANDLER( sound_bankswitch_w ) /* assumes Z80 sandwiched between 68 reset_sound_region(space->machine); } -static void topspeed_msm5205_vck(running_machine *machine, int chip) +static void topspeed_msm5205_vck(const device_config *device) { if (adpcm_data != -1) { @@ -423,7 +423,7 @@ static void topspeed_msm5205_vck(running_machine *machine, int chip) } else { - adpcm_data = memory_region(machine, "adpcm")[adpcm_pos]; + adpcm_data = memory_region(device->machine, "adpcm")[adpcm_pos]; adpcm_pos = (adpcm_pos + 1) & 0x1ffff; msm5205_data_w(0, adpcm_data >> 4); } @@ -683,9 +683,9 @@ static STATE_POSTLOAD( topspeed_postload ) static MACHINE_START( topspeed ) { - state_save_register_global(cpua_ctrl); - state_save_register_global(ioc220_port); - state_save_register_global(banknum); + state_save_register_global(machine, cpua_ctrl); + state_save_register_global(machine, ioc220_port); + state_save_register_global(machine, banknum); state_save_register_postload(machine, topspeed_postload, NULL); } diff --git a/src/mame/drivers/tubep.c b/src/mame/drivers/tubep.c index 11bb3204c63..0d372c4bad3 100644 --- a/src/mame/drivers/tubep.c +++ b/src/mame/drivers/tubep.c @@ -339,12 +339,12 @@ logerror("scanline=%3i scrgetvpos(0)=%3i\n",scanline,video_screen_get_vpos(machi * *************************************/ -static void tubep_setup_save_state(void) +static void tubep_setup_save_state(running_machine *machine) { /* Set up save state */ - state_save_register_global(sound_latch); - state_save_register_global(ls74); - state_save_register_global(ls377); + state_save_register_global(machine, sound_latch); + state_save_register_global(machine, ls74); + state_save_register_global(machine, ls377); } @@ -354,7 +354,7 @@ static MACHINE_START( tubep ) /* Create interrupt timer */ interrupt_timer = timer_alloc(machine, tubep_scanline_callback, NULL); - tubep_setup_save_state(); + tubep_setup_save_state(machine); } @@ -518,7 +518,7 @@ static MACHINE_START( rjammer ) /* Create interrupt timer */ interrupt_timer = timer_alloc(machine, rjammer_scanline_callback, NULL); - tubep_setup_save_state(); + tubep_setup_save_state(machine); } static MACHINE_RESET( rjammer ) @@ -564,14 +564,14 @@ static WRITE8_HANDLER( rjammer_voice_frequency_select_w ) } -static void rjammer_adpcm_vck (running_machine *machine, int data) +static void rjammer_adpcm_vck (const device_config *device) { ls74 = (ls74+1) & 1; if (ls74==1) { msm5205_data_w(0, (ls377>>0) & 15 ); - cpu_set_input_line(machine->cpu[2], 0, ASSERT_LINE ); + cpu_set_input_line(device->machine->cpu[2], 0, ASSERT_LINE ); } else { diff --git a/src/mame/drivers/tutankhm.c b/src/mame/drivers/tutankhm.c index 76b7e858275..a3038b63b87 100644 --- a/src/mame/drivers/tutankhm.c +++ b/src/mame/drivers/tutankhm.c @@ -57,8 +57,8 @@ static WRITE8_HANDLER( irq_enable_w ) static MACHINE_START( tutankhm ) { memory_configure_bank(machine, 1, 0, 16, memory_region(machine, "main") + 0x10000, 0x1000); - state_save_register_global(irq_toggle); - state_save_register_global(irq_enable); + state_save_register_global(machine, irq_toggle); + state_save_register_global(machine, irq_enable); } diff --git a/src/mame/drivers/vegas.c b/src/mame/drivers/vegas.c index 81257af779b..cbda91d1125 100644 --- a/src/mame/drivers/vegas.c +++ b/src/mame/drivers/vegas.c @@ -561,19 +561,19 @@ static MACHINE_START( vegas ) cpu_set_info_int(machine->cpu[0], CPUINFO_INT_MIPS3_FASTRAM_READONLY, 1); /* register for save states */ - state_save_register_global(nile_irq_state); - state_save_register_global(ide_irq_state); - state_save_register_global_array(pci_bridge_regs); - state_save_register_global_array(pci_ide_regs); - state_save_register_global_array(pci_3dfx_regs); - state_save_register_global(vblank_state); - state_save_register_global_array(sio_data); - state_save_register_global(sio_irq_clear); - state_save_register_global(sio_irq_enable); - state_save_register_global(sio_irq_state); - state_save_register_global(sio_led_state); - state_save_register_global(pending_analog_read); - state_save_register_global(cmos_unlocked); + state_save_register_global(machine, nile_irq_state); + state_save_register_global(machine, ide_irq_state); + state_save_register_global_array(machine, pci_bridge_regs); + state_save_register_global_array(machine, pci_ide_regs); + state_save_register_global_array(machine, pci_3dfx_regs); + state_save_register_global(machine, vblank_state); + state_save_register_global_array(machine, sio_data); + state_save_register_global(machine, sio_irq_clear); + state_save_register_global(machine, sio_irq_enable); + state_save_register_global(machine, sio_irq_state); + state_save_register_global(machine, sio_led_state); + state_save_register_global(machine, pending_analog_read); + state_save_register_global(machine, cmos_unlocked); state_save_register_postload(machine, vegas_postload, NULL); } diff --git a/src/mame/drivers/volfied.c b/src/mame/drivers/volfied.c index e0e5352dec5..ed751618bed 100644 --- a/src/mame/drivers/volfied.c +++ b/src/mame/drivers/volfied.c @@ -233,7 +233,7 @@ static const ym2203_interface ym2203_config = static DRIVER_INIT( volfied ) { - volfied_cchip_init(); + volfied_cchip_init(machine); } static MACHINE_DRIVER_START( volfied ) diff --git a/src/mame/drivers/warriorb.c b/src/mame/drivers/warriorb.c index efaf24221c6..48aa9af8564 100644 --- a/src/mame/drivers/warriorb.c +++ b/src/mame/drivers/warriorb.c @@ -697,7 +697,7 @@ static STATE_POSTLOAD( warriorb_postload ) static MACHINE_START( warriorb ) { - state_save_register_global(banknum); + state_save_register_global(machine, banknum); state_save_register_postload(machine, warriorb_postload, NULL); } diff --git a/src/mame/drivers/wc90b.c b/src/mame/drivers/wc90b.c index 98a715a2781..a5adde1de2a 100644 --- a/src/mame/drivers/wc90b.c +++ b/src/mame/drivers/wc90b.c @@ -362,7 +362,7 @@ static const ym2203_interface ym2203_config = irqhandler }; -static void adpcm_int(running_machine *machine, int data) +static void adpcm_int(const device_config *device) { static int toggle = 0; @@ -371,7 +371,7 @@ static void adpcm_int(running_machine *machine, int data) toggle ^= 1; if(toggle) - cpu_set_input_line(machine->cpu[2], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[2], INPUT_LINE_NMI, PULSE_LINE); } diff --git a/src/mame/drivers/wgp.c b/src/mame/drivers/wgp.c index a2f46aa1b29..8d614ca469c 100644 --- a/src/mame/drivers/wgp.c +++ b/src/mame/drivers/wgp.c @@ -947,8 +947,8 @@ static MACHINE_RESET( wgp ) static MACHINE_START( wgp ) { - state_save_register_global(cpua_ctrl); - state_save_register_global(banknum); + state_save_register_global(machine, cpua_ctrl); + state_save_register_global(machine, banknum); state_save_register_postload(machine, wgp_postload, NULL); } diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c index 8a57bfbf674..b087781a892 100644 --- a/src/mame/drivers/xexex.c +++ b/src/mame/drivers/xexex.c @@ -617,8 +617,8 @@ static STATE_POSTLOAD( xexex_postload ) static MACHINE_START( xexex ) { - state_save_register_global(cur_control2); - state_save_register_global(cur_sound_region); + state_save_register_global(machine, cur_control2); + state_save_register_global(machine, cur_sound_region); state_save_register_postload(machine, xexex_postload, NULL); resume_trigger = 1000; diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c index ca1f802d38f..ae157339207 100644 --- a/src/mame/drivers/xmen.c +++ b/src/mame/drivers/xmen.c @@ -425,7 +425,7 @@ static STATE_POSTLOAD( xmen_postload ) static MACHINE_START( xmen ) { - state_save_register_global(sound_curbank); + state_save_register_global(machine, sound_curbank); state_save_register_postload(machine, xmen_postload, NULL); } diff --git a/src/mame/drivers/yunsung8.c b/src/mame/drivers/yunsung8.c index da42c6ffa86..4142607d84b 100644 --- a/src/mame/drivers/yunsung8.c +++ b/src/mame/drivers/yunsung8.c @@ -479,7 +479,7 @@ GFXDECODE_END ***************************************************************************/ -static void yunsung8_adpcm_int(running_machine *machine, int irq) +static void yunsung8_adpcm_int(const device_config *device) { static int toggle=0; @@ -488,7 +488,7 @@ static void yunsung8_adpcm_int(running_machine *machine, int irq) toggle ^= 1; if (toggle) - cpu_set_input_line(machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); + cpu_set_input_line(device->machine->cpu[1], INPUT_LINE_NMI, PULSE_LINE); } static const msm5205_interface yunsung8_msm5205_interface = diff --git a/src/mame/drivers/zaxxon.c b/src/mame/drivers/zaxxon.c index f07858528e2..81c4d5831b9 100644 --- a/src/mame/drivers/zaxxon.c +++ b/src/mame/drivers/zaxxon.c @@ -389,9 +389,9 @@ static WRITE8_HANDLER( int_enable_w ) static MACHINE_START( zaxxon ) { /* register for save states */ - state_save_register_global(int_enabled); - state_save_register_global_array(coin_status); - state_save_register_global_array(coin_enable); + state_save_register_global(machine, int_enabled); + state_save_register_global_array(machine, coin_status); + state_save_register_global_array(machine, coin_enable); } @@ -1513,8 +1513,8 @@ static DRIVER_INIT( razmataz ) memory_install_readwrite8_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0xe03c, 0xe03c, 0, 0x1f00, sega_usb_status_r, sega_usb_data_w); /* additional state saving */ - state_save_register_global_array(razmataz_dial_pos); - state_save_register_global(razmataz_counter); + state_save_register_global_array(machine, razmataz_dial_pos); + state_save_register_global(machine, razmataz_counter); } diff --git a/src/mame/includes/cchip.h b/src/mame/includes/cchip.h index 7d23bc1c268..993801fdbfb 100644 --- a/src/mame/includes/cchip.h +++ b/src/mame/includes/cchip.h @@ -43,7 +43,7 @@ WRITE16_HANDLER( rainbow_cchip_ram_w ); /*----------- defined in machine/volfied.c -----------*/ -void volfied_cchip_init(void); +void volfied_cchip_init(running_machine *machine); READ16_HANDLER( volfied_cchip_ctrl_r ); READ16_HANDLER( volfied_cchip_ram_r ); WRITE16_HANDLER( volfied_cchip_ctrl_w ); diff --git a/src/mame/includes/decoprot.h b/src/mame/includes/decoprot.h index 0ada698f7eb..f486457d581 100644 --- a/src/mame/includes/decoprot.h +++ b/src/mame/includes/decoprot.h @@ -20,7 +20,7 @@ WRITE16_HANDLER( deco16_146_nitroball_prot_w ); WRITE16_HANDLER( deco16_104_pktgaldx_prot_w ); WRITE32_HANDLER( deco16_146_fghthist_prot_w ); -void decoprot_reset(void); +void decoprot_reset(running_machine *machine); extern UINT16 *deco16_prot_ram; extern UINT32 *deco32_prot_ram; diff --git a/src/mame/includes/model1.h b/src/mame/includes/model1.h index 32f360a3fcc..0ad0a8e40c5 100644 --- a/src/mame/includes/model1.h +++ b/src/mame/includes/model1.h @@ -20,7 +20,7 @@ WRITE16_HANDLER( model1_vr_tgp_ram_w ); ADDRESS_MAP_EXTERN( model1_vr_tgp_map, 32 ); void model1_vr_tgp_reset( void ); -void model1_tgp_reset(int swa); +void model1_tgp_reset(running_machine *machine, int swa); /*----------- defined in video/model1.c -----------*/ diff --git a/src/mame/includes/stfight.h b/src/mame/includes/stfight.h index 2164f65b492..3eb32fd8262 100644 --- a/src/mame/includes/stfight.h +++ b/src/mame/includes/stfight.h @@ -10,7 +10,7 @@ READ8_HANDLER( stfight_coin_r ); WRITE8_HANDLER( stfight_coin_w ); WRITE8_HANDLER( stfight_e800_w ); READ8_HANDLER( stfight_fm_r ); -void stfight_adpcm_int( running_machine *machine, int data ); +void stfight_adpcm_int(const device_config *device); WRITE8_HANDLER( stfight_adpcm_control_w ); diff --git a/src/mame/includes/tatsumi.h b/src/mame/includes/tatsumi.h index 128a23fbf6a..8b34719c0e0 100644 --- a/src/mame/includes/tatsumi.h +++ b/src/mame/includes/tatsumi.h @@ -40,7 +40,7 @@ extern UINT8 *apache3_z80_ram; extern UINT16 tatsumi_control_word; extern UINT16 apache3_a0000[16]; -void tatsumi_reset(void); +void tatsumi_reset(running_machine *machine); /*----------- defined in video/tatsumi.c -----------*/ diff --git a/src/mame/machine/acitya.c b/src/mame/machine/acitya.c index 6e34c91a02a..54c04ababd3 100644 --- a/src/mame/machine/acitya.c +++ b/src/mame/machine/acitya.c @@ -201,5 +201,5 @@ MACHINE_RESET( acitya ) memory_configure_bank(machine, 1, 0, 4, &RAM[0x10000], 0x4000); memory_set_bank(machine, 1, 3); - state_save_register_global(counter); + state_save_register_global(machine, counter); } diff --git a/src/mame/machine/arkanoid.c b/src/mame/machine/arkanoid.c index cf5030f7756..a67011a3da2 100644 --- a/src/mame/machine/arkanoid.c +++ b/src/mame/machine/arkanoid.c @@ -26,18 +26,18 @@ static UINT8 portC_out,ddrC; MACHINE_START( arkanoid ) { - state_save_register_global(arkanoid_paddle_select); - state_save_register_global(z80write); - state_save_register_global(fromz80); - state_save_register_global(m68705write); - state_save_register_global(toz80); + state_save_register_global(machine, arkanoid_paddle_select); + state_save_register_global(machine, z80write); + state_save_register_global(machine, fromz80); + state_save_register_global(machine, m68705write); + state_save_register_global(machine, toz80); - state_save_register_global(portA_in); - state_save_register_global(portA_out); - state_save_register_global(ddrA); + state_save_register_global(machine, portA_in); + state_save_register_global(machine, portA_out); + state_save_register_global(machine, ddrA); - state_save_register_global(portC_out); - state_save_register_global(ddrC); + state_save_register_global(machine, portC_out); + state_save_register_global(machine, ddrC); } MACHINE_RESET( arkanoid ) diff --git a/src/mame/machine/atari.c b/src/mame/machine/atari.c index d33b3be632e..d8998a3d670 100644 --- a/src/mame/machine/atari.c +++ b/src/mame/machine/atari.c @@ -795,8 +795,8 @@ static void atari_machine_start(running_machine *machine, int type, const pia682 #endif /* MESS */ /* save states */ - state_save_register_global_pointer(((UINT8 *) &antic.r), sizeof(antic.r)); - state_save_register_global_pointer(((UINT8 *) &antic.w), sizeof(antic.w)); + state_save_register_global_pointer(machine, ((UINT8 *) &antic.r), sizeof(antic.r)); + state_save_register_global_pointer(machine, ((UINT8 *) &antic.w), sizeof(antic.w)); } diff --git a/src/mame/machine/atari_vg.c b/src/mame/machine/atari_vg.c index 382db18c0b2..c1278702633 100644 --- a/src/mame/machine/atari_vg.c +++ b/src/mame/machine/atari_vg.c @@ -61,8 +61,8 @@ NVRAM_HANDLER( atari_vg ) memset(earom,0,EAROM_SIZE); } -void atari_vg_register_states(void) +void atari_vg_register_states(running_machine *machine) { - state_save_register_global(earom_offset); - state_save_register_global(earom_data); + state_save_register_global(machine, earom_offset); + state_save_register_global(machine, earom_data); } diff --git a/src/mame/machine/atari_vg.h b/src/mame/machine/atari_vg.h index 3f2a127c363..1887787cd73 100644 --- a/src/mame/machine/atari_vg.h +++ b/src/mame/machine/atari_vg.h @@ -10,4 +10,4 @@ WRITE8_HANDLER( atari_vg_earom_ctrl_w ); NVRAM_HANDLER( atari_vg ); -void atari_vg_register_states(void); +void atari_vg_register_states(running_machine *machine); diff --git a/src/mame/machine/atarigen.c b/src/mame/machine/atarigen.c index af3d85cb74d..7db87720d39 100644 --- a/src/mame/machine/atarigen.c +++ b/src/mame/machine/atarigen.c @@ -1643,46 +1643,46 @@ void atarigen_blend_gfx(running_machine *machine, int gfx0, int gfx1, int mask0, void atarigen_init_save_state(running_machine *machine) { - state_save_register_global(atarigen_scanline_int_state); - state_save_register_global(atarigen_sound_int_state); - state_save_register_global(atarigen_video_int_state); + state_save_register_global(machine, atarigen_scanline_int_state); + state_save_register_global(machine, atarigen_sound_int_state); + state_save_register_global(machine, atarigen_video_int_state); - state_save_register_global(atarigen_cpu_to_sound_ready); - state_save_register_global(atarigen_sound_to_cpu_ready); + state_save_register_global(machine, atarigen_cpu_to_sound_ready); + state_save_register_global(machine, atarigen_sound_to_cpu_ready); - state_save_register_global(atarivc_state.latch1); /* latch #1 value (-1 means disabled) */ - state_save_register_global(atarivc_state.latch2); /* latch #2 value (-1 means disabled) */ - state_save_register_global(atarivc_state.rowscroll_enable); /* true if row-scrolling is enabled */ - state_save_register_global(atarivc_state.palette_bank); /* which palette bank is enabled */ - state_save_register_global(atarivc_state.pf0_xscroll); /* playfield 1 xscroll */ - state_save_register_global(atarivc_state.pf0_xscroll_raw); /* playfield 1 xscroll raw value */ - state_save_register_global(atarivc_state.pf0_yscroll); /* playfield 1 yscroll */ - state_save_register_global(atarivc_state.pf1_xscroll); /* playfield 2 xscroll */ - state_save_register_global(atarivc_state.pf1_xscroll_raw); /* playfield 2 xscroll raw value */ - state_save_register_global(atarivc_state.pf1_yscroll); /* playfield 2 yscroll */ - state_save_register_global(atarivc_state.mo_xscroll); /* sprite xscroll */ - state_save_register_global(atarivc_state.mo_yscroll); /* sprite xscroll */ + state_save_register_global(machine, atarivc_state.latch1); /* latch #1 value (-1 means disabled) */ + state_save_register_global(machine, atarivc_state.latch2); /* latch #2 value (-1 means disabled) */ + state_save_register_global(machine, atarivc_state.rowscroll_enable); /* true if row-scrolling is enabled */ + state_save_register_global(machine, atarivc_state.palette_bank); /* which palette bank is enabled */ + state_save_register_global(machine, atarivc_state.pf0_xscroll); /* playfield 1 xscroll */ + state_save_register_global(machine, atarivc_state.pf0_xscroll_raw); /* playfield 1 xscroll raw value */ + state_save_register_global(machine, atarivc_state.pf0_yscroll); /* playfield 1 yscroll */ + state_save_register_global(machine, atarivc_state.pf1_xscroll); /* playfield 2 xscroll */ + state_save_register_global(machine, atarivc_state.pf1_xscroll_raw); /* playfield 2 xscroll raw value */ + state_save_register_global(machine, atarivc_state.pf1_yscroll); /* playfield 2 yscroll */ + state_save_register_global(machine, atarivc_state.mo_xscroll); /* sprite xscroll */ + state_save_register_global(machine, atarivc_state.mo_yscroll); /* sprite xscroll */ - state_save_register_global(eeprom_unlocked); + state_save_register_global(machine, eeprom_unlocked); - state_save_register_global(atarigen_slapstic_num); - state_save_register_global(atarigen_slapstic_bank); - state_save_register_global(atarigen_slapstic_last_pc); - state_save_register_global(atarigen_slapstic_last_address); + state_save_register_global(machine, atarigen_slapstic_num); + state_save_register_global(machine, atarigen_slapstic_bank); + state_save_register_global(machine, atarigen_slapstic_last_pc); + state_save_register_global(machine, atarigen_slapstic_last_address); - state_save_register_global(sound_cpu_num); - state_save_register_global(atarigen_cpu_to_sound); - state_save_register_global(atarigen_sound_to_cpu); - state_save_register_global(timed_int); - state_save_register_global(ym2151_int); + state_save_register_global(machine, sound_cpu_num); + state_save_register_global(machine, atarigen_cpu_to_sound); + state_save_register_global(machine, atarigen_sound_to_cpu); + state_save_register_global(machine, timed_int); + state_save_register_global(machine, ym2151_int); - state_save_register_global(scanlines_per_callback); + state_save_register_global(machine, scanlines_per_callback); - state_save_register_global(actual_vc_latch0); - state_save_register_global(actual_vc_latch1); + state_save_register_global(machine, actual_vc_latch0); + state_save_register_global(machine, actual_vc_latch1); - state_save_register_global(playfield_latch); - state_save_register_global(playfield2_latch); + state_save_register_global(machine, playfield_latch); + state_save_register_global(machine, playfield2_latch); /* need a postload to reset the state */ state_save_register_postload(machine, slapstic_postload, NULL); diff --git a/src/mame/machine/balsente.c b/src/mame/machine/balsente.c index 0b43ddd5e6c..4a3951f1ad2 100644 --- a/src/mame/machine/balsente.c +++ b/src/mame/machine/balsente.c @@ -197,46 +197,46 @@ MACHINE_RESET( balsente ) /* register for saving */ for (i = 0; i < 3; i++) { - state_save_register_item("8253counter", NULL, i, counter[i].timer_active); - state_save_register_item("8253counter", NULL, i, counter[i].initial); - state_save_register_item("8253counter", NULL, i, counter[i].count); - state_save_register_item("8253counter", NULL, i, counter[i].gate); - state_save_register_item("8253counter", NULL, i, counter[i].out); - state_save_register_item("8253counter", NULL, i, counter[i].mode); - state_save_register_item("8253counter", NULL, i, counter[i].readbyte); - state_save_register_item("8253counter", NULL, i, counter[i].writebyte); + state_save_register_item(machine, "8253counter", NULL, i, counter[i].timer_active); + state_save_register_item(machine, "8253counter", NULL, i, counter[i].initial); + state_save_register_item(machine, "8253counter", NULL, i, counter[i].count); + state_save_register_item(machine, "8253counter", NULL, i, counter[i].gate); + state_save_register_item(machine, "8253counter", NULL, i, counter[i].out); + state_save_register_item(machine, "8253counter", NULL, i, counter[i].mode); + state_save_register_item(machine, "8253counter", NULL, i, counter[i].readbyte); + state_save_register_item(machine, "8253counter", NULL, i, counter[i].writebyte); } - state_save_register_global(counter_control); - state_save_register_global(counter_0_ff); - state_save_register_global(counter_0_timer_active); + state_save_register_global(machine, counter_control); + state_save_register_global(machine, counter_0_ff); + state_save_register_global(machine, counter_0_timer_active); - state_save_register_global_array(analog_input_data); - state_save_register_global(adc_value); + state_save_register_global_array(machine, analog_input_data); + state_save_register_global(machine, adc_value); - state_save_register_global(dac_value); - state_save_register_global(dac_register); - state_save_register_global(chip_select); + state_save_register_global(machine, dac_value); + state_save_register_global(machine, dac_register); + state_save_register_global(machine, chip_select); - state_save_register_global(m6850_status); - state_save_register_global(m6850_control); - state_save_register_global(m6850_input); - state_save_register_global(m6850_output); - state_save_register_global(m6850_data_ready); + state_save_register_global(machine, m6850_status); + state_save_register_global(machine, m6850_control); + state_save_register_global(machine, m6850_input); + state_save_register_global(machine, m6850_output); + state_save_register_global(machine, m6850_data_ready); - state_save_register_global(m6850_sound_status); - state_save_register_global(m6850_sound_control); - state_save_register_global(m6850_sound_input); - state_save_register_global(m6850_sound_output); + state_save_register_global(machine, m6850_sound_status); + state_save_register_global(machine, m6850_sound_control); + state_save_register_global(machine, m6850_sound_input); + state_save_register_global(machine, m6850_sound_output); - state_save_register_global_array(noise_position); + state_save_register_global_array(machine, noise_position); - state_save_register_global(nstocker_bits); - state_save_register_global(spiker_expand_color); - state_save_register_global(spiker_expand_bgcolor); - state_save_register_global(spiker_expand_bits); - state_save_register_global(grudge_steering_result); - state_save_register_global_array(grudge_last_steering); + state_save_register_global(machine, nstocker_bits); + state_save_register_global(machine, spiker_expand_color); + state_save_register_global(machine, spiker_expand_bgcolor); + state_save_register_global(machine, spiker_expand_bits); + state_save_register_global(machine, grudge_steering_result); + state_save_register_global_array(machine, grudge_last_steering); } diff --git a/src/mame/machine/cchip.c b/src/mame/machine/cchip.c index b2bba0de606..14fbcf5fa7c 100644 --- a/src/mame/machine/cchip.c +++ b/src/mame/machine/cchip.c @@ -65,8 +65,8 @@ static const UINT8 superman_code[40] = MACHINE_RESET( cchip1 ) { - state_save_register_global(current_bank); - state_save_register_global(cc_port); + state_save_register_global(machine, current_bank); + state_save_register_global(machine, cc_port); } /************************************* diff --git a/src/mame/machine/chaknpop.c b/src/mame/machine/chaknpop.c index eaef1c0eafa..5cdd83f081a 100644 --- a/src/mame/machine/chaknpop.c +++ b/src/mame/machine/chaknpop.c @@ -156,9 +156,9 @@ WRITE8_HANDLER( chaknpop_mcu_portC_w ) DRIVER_INIT( chaknpop ) { - state_save_register_global(mcu_seed); - state_save_register_global(mcu_result); - state_save_register_global(mcu_select); + state_save_register_global(machine, mcu_seed); + state_save_register_global(machine, mcu_result); + state_save_register_global(machine, mcu_select); } MACHINE_RESET( chaknpop ) diff --git a/src/mame/machine/decocass.c b/src/mame/machine/decocass.c index 3de5bb993c0..f524503accb 100644 --- a/src/mame/machine/decocass.c +++ b/src/mame/machine/decocass.c @@ -1608,36 +1608,36 @@ static STATE_POSTLOAD( decocass_state_save_postload ) void decocass_machine_state_save_init(running_machine *machine) { state_save_register_postload(machine, decocass_state_save_postload, NULL); - state_save_register_global(tape_dir); - state_save_register_global(tape_speed); - state_save_register_global(tape_time0.seconds); - state_save_register_global(tape_time0.attoseconds); - state_save_register_global(firsttime); - state_save_register_global(tape_present); - state_save_register_global(tape_blocks); - state_save_register_global(tape_length); - state_save_register_global(tape_bot_eot); - state_save_register_global(crc16_lsb); - state_save_register_global(crc16_msb); - state_save_register_global_array(tape_crc16_lsb); - state_save_register_global_array(tape_crc16_msb); - state_save_register_global(decocass_reset); - state_save_register_global(i8041_p1); - state_save_register_global(i8041_p2); - state_save_register_global(de0091_enable); - state_save_register_global(type1_inmap); - state_save_register_global(type1_outmap); - state_save_register_global(type2_d2_latch); - state_save_register_global(type2_xx_latch); - state_save_register_global(type2_promaddr); - state_save_register_global(type3_ctrs); - state_save_register_global(type3_d0_latch); - state_save_register_global(type3_pal_19); - state_save_register_global(type3_swap); - state_save_register_global(type4_ctrs); - state_save_register_global(type4_latch); - state_save_register_global(type5_latch); - state_save_register_global(decocass_sound_ack); + state_save_register_global(machine, tape_dir); + state_save_register_global(machine, tape_speed); + state_save_register_global(machine, tape_time0.seconds); + state_save_register_global(machine, tape_time0.attoseconds); + state_save_register_global(machine, firsttime); + state_save_register_global(machine, tape_present); + state_save_register_global(machine, tape_blocks); + state_save_register_global(machine, tape_length); + state_save_register_global(machine, tape_bot_eot); + state_save_register_global(machine, crc16_lsb); + state_save_register_global(machine, crc16_msb); + state_save_register_global_array(machine, tape_crc16_lsb); + state_save_register_global_array(machine, tape_crc16_msb); + state_save_register_global(machine, decocass_reset); + state_save_register_global(machine, i8041_p1); + state_save_register_global(machine, i8041_p2); + state_save_register_global(machine, de0091_enable); + state_save_register_global(machine, type1_inmap); + state_save_register_global(machine, type1_outmap); + state_save_register_global(machine, type2_d2_latch); + state_save_register_global(machine, type2_xx_latch); + state_save_register_global(machine, type2_promaddr); + state_save_register_global(machine, type3_ctrs); + state_save_register_global(machine, type3_d0_latch); + state_save_register_global(machine, type3_pal_19); + state_save_register_global(machine, type3_swap); + state_save_register_global(machine, type4_ctrs); + state_save_register_global(machine, type4_latch); + state_save_register_global(machine, type5_latch); + state_save_register_global(machine, decocass_sound_ack); } /*************************************************************************** diff --git a/src/mame/machine/decocass.h b/src/mame/machine/decocass.h index 407a9a677b0..5bd56d877c1 100644 --- a/src/mame/machine/decocass.h +++ b/src/mame/machine/decocass.h @@ -110,4 +110,4 @@ extern size_t decocass_bgvideoram_size; extern size_t decocass_tileram_size; extern size_t decocass_objectram_size; -void decocass_video_state_save_init(void); +void decocass_video_state_save_init(running_machine *machine); diff --git a/src/mame/machine/decoprot.c b/src/mame/machine/decoprot.c index 26b7a241be8..dfd05ae22ec 100644 --- a/src/mame/machine/decoprot.c +++ b/src/mame/machine/decoprot.c @@ -88,20 +88,20 @@ UINT32 *deco32_prot_ram; /***************************************************************************/ -void decoprot_reset(void) +void decoprot_reset(running_machine *machine) { deco16_xor=0; deco16_mask=0xffff; decoprot_last_write=decoprot_last_write_val=0; decoprot_buffer_ram_selected=0; - state_save_register_global(deco16_xor); - state_save_register_global(deco16_mask); - state_save_register_global(decoprot_last_write); - state_save_register_global(decoprot_last_write_val); - state_save_register_global(decoprot_buffer_ram_selected); - state_save_register_global_array(decoprot_buffer_ram); - state_save_register_global_array(decoprot_buffer_ram2); + state_save_register_global(machine, deco16_xor); + state_save_register_global(machine, deco16_mask); + state_save_register_global(machine, decoprot_last_write); + state_save_register_global(machine, decoprot_last_write_val); + state_save_register_global(machine, decoprot_buffer_ram_selected); + state_save_register_global_array(machine, decoprot_buffer_ram); + state_save_register_global_array(machine, decoprot_buffer_ram2); } /***************************************************************************/ diff --git a/src/mame/machine/galaxold.c b/src/mame/machine/galaxold.c index 214cd81b7b6..8dd4680d9d9 100644 --- a/src/mame/machine/galaxold.c +++ b/src/mame/machine/galaxold.c @@ -400,7 +400,7 @@ DRIVER_INIT( 4in1 ) _4in1_bank_w(space, 0, 0); /* set the initial CPU bank */ - state_save_register_global(_4in1_bank); + state_save_register_global(machine, _4in1_bank); } INTERRUPT_GEN( hunchbks_vh_interrupt ) diff --git a/src/mame/machine/konamiic.c b/src/mame/machine/konamiic.c index 3ae2f27c8df..f0d61eeb356 100644 --- a/src/mame/machine/konamiic.c +++ b/src/mame/machine/konamiic.c @@ -66,9 +66,9 @@ void K056800_init(running_machine *machine, void (* irq_callback)(running_machin K056800_sound_cpu_timer = timer_alloc(machine, K056800_sound_cpu_timer_tick, NULL); timer_adjust_periodic(K056800_sound_cpu_timer, timer_period, 0, timer_period); - state_save_register_item_array("K056800", NULL, 0, K056800_host_reg); - state_save_register_item_array("K056800", NULL, 0, K056800_sound_reg); - state_save_register_item("K056800", NULL, 0, K056800_sound_cpu_irq1_enable); + state_save_register_item_array(machine, "K056800", NULL, 0, K056800_host_reg); + state_save_register_item_array(machine, "K056800", NULL, 0, K056800_sound_reg); + state_save_register_item(machine, "K056800", NULL, 0, K056800_sound_cpu_irq1_enable); } READ32_HANDLER(K056800_host_r) diff --git a/src/mame/machine/konppc.c b/src/mame/machine/konppc.c index 3056d4c4051..5934e5aa9ff 100644 --- a/src/mame/machine/konppc.c +++ b/src/mame/machine/konppc.c @@ -62,20 +62,20 @@ void init_konami_cgboard(int num_boards, int type) nwk_fifo[i] = auto_malloc(sizeof(UINT32) * 0x800); nwk_ram[i] = auto_malloc(sizeof(UINT32) * 0x2000); - state_save_register_item_array("konppc", NULL, i, dsp_comm_ppc[i]); - state_save_register_item_array("konppc", NULL, i, dsp_comm_sharc[i]); - state_save_register_item("konppc", NULL, i, dsp_shared_ram_bank[i]); - state_save_register_item_pointer("konppc", NULL, i, dsp_shared_ram[i], DSP_BANK_SIZE * 2 / sizeof(dsp_shared_ram[i][0])); - state_save_register_item("konppc", NULL, i, dsp_state[i]); - state_save_register_item("konppc", NULL, i, texture_bank[i]); - state_save_register_item("konppc", NULL, i, pci_bridge_enable[i]); - state_save_register_item("konppc", NULL, i, nwk_device_sel[i]); - state_save_register_item("konppc", NULL, i, nwk_fifo_read_ptr[i]); - state_save_register_item("konppc", NULL, i, nwk_fifo_write_ptr[i]); - state_save_register_item_pointer("konppc", NULL, i, nwk_fifo[i], 0x800); - state_save_register_item_pointer("konppc", NULL, i, nwk_ram[i], 0x2000); + state_save_register_item_array(Machine, "konppc", NULL, i, dsp_comm_ppc[i]); + state_save_register_item_array(Machine, "konppc", NULL, i, dsp_comm_sharc[i]); + state_save_register_item(Machine, "konppc", NULL, i, dsp_shared_ram_bank[i]); + state_save_register_item_pointer(Machine, "konppc", NULL, i, dsp_shared_ram[i], DSP_BANK_SIZE * 2 / sizeof(dsp_shared_ram[i][0])); + state_save_register_item(Machine, "konppc", NULL, i, dsp_state[i]); + state_save_register_item(Machine, "konppc", NULL, i, texture_bank[i]); + state_save_register_item(Machine, "konppc", NULL, i, pci_bridge_enable[i]); + state_save_register_item(Machine, "konppc", NULL, i, nwk_device_sel[i]); + state_save_register_item(Machine, "konppc", NULL, i, nwk_fifo_read_ptr[i]); + state_save_register_item(Machine, "konppc", NULL, i, nwk_fifo_write_ptr[i]); + state_save_register_item_pointer(Machine, "konppc", NULL, i, nwk_fifo[i], 0x800); + state_save_register_item_pointer(Machine, "konppc", NULL, i, nwk_ram[i], 0x2000); } - state_save_register_item("konppc", NULL, 0, cgboard_id); + state_save_register_item(Machine, "konppc", NULL, 0, cgboard_id); cgboard_type = type; if (type == CGBOARD_TYPE_NWKTR) @@ -432,8 +432,8 @@ void K033906_init(void) { K033906_reg[i] = auto_malloc(sizeof(UINT32) * 256); K033906_ram[i] = auto_malloc(sizeof(UINT32) * 32768); - state_save_register_item_pointer("K033906", NULL, i, K033906_reg[i], 256); - state_save_register_item_pointer("K033906", NULL, i, K033906_ram[i], 32768); + state_save_register_item_pointer(Machine, "K033906", NULL, i, K033906_reg[i], 256); + state_save_register_item_pointer(Machine, "K033906", NULL, i, K033906_ram[i], 32768); } } diff --git a/src/mame/machine/mathbox.c b/src/mame/machine/mathbox.c index aa98580a48c..4e83889b065 100644 --- a/src/mame/machine/mathbox.c +++ b/src/mame/machine/mathbox.c @@ -274,8 +274,8 @@ READ8_HANDLER( mb_hi_r ) return (mb_result >> 8) & 0xff; } -void mb_register_states(void) +void mb_register_states(running_machine *machine) { - state_save_register_global(mb_result); - state_save_register_global_array(mb_reg); + state_save_register_global(machine, mb_result); + state_save_register_global_array(machine, mb_reg); } diff --git a/src/mame/machine/mathbox.h b/src/mame/machine/mathbox.h index 3dc3615b3b6..68943ac0475 100644 --- a/src/mame/machine/mathbox.h +++ b/src/mame/machine/mathbox.h @@ -9,4 +9,4 @@ WRITE8_HANDLER( mb_go_w ); READ8_HANDLER( mb_status_r ); READ8_HANDLER( mb_lo_r ); READ8_HANDLER( mb_hi_r ); -void mb_register_states(void); +void mb_register_states(running_machine *machine); diff --git a/src/mame/machine/mb14241.c b/src/mame/machine/mb14241.c index bf1f56741db..f620a6db7b3 100644 --- a/src/mame/machine/mb14241.c +++ b/src/mame/machine/mb14241.c @@ -43,8 +43,8 @@ static UINT8 mb14241_shift_result_r(int num) READ8_HANDLER( mb14241_0_shift_result_r ) { return mb14241_shift_result_r(0); } -void mb14241_init(int num) +void mb14241_init(running_machine *machine,int num) { - state_save_register_item("mb14241", NULL, num, chips[num].shift_data); - state_save_register_item("mb14241", NULL, num, chips[num].shift_count); + state_save_register_item(machine, "mb14241", NULL, num, chips[num].shift_data); + state_save_register_item(machine, "mb14241", NULL, num, chips[num].shift_count); } diff --git a/src/mame/machine/mb14241.h b/src/mame/machine/mb14241.h index ad0de615dbe..9b523443005 100644 --- a/src/mame/machine/mb14241.h +++ b/src/mame/machine/mb14241.h @@ -7,7 +7,7 @@ #ifndef __MB14241_H__ #define __MB14241_H__ -void mb14241_init(int num); +void mb14241_init(running_machine *machine,int num); WRITE8_HANDLER( mb14241_0_shift_count_w ); WRITE8_HANDLER( mb14241_0_shift_data_w ); diff --git a/src/mame/machine/mcr.c b/src/mame/machine/mcr.c index b4bed450406..dc96378121a 100644 --- a/src/mame/machine/mcr.c +++ b/src/mame/machine/mcr.c @@ -273,7 +273,7 @@ const z80sio_interface nflfoot_sio_intf = MACHINE_START( mcr ) { - state_save_register_global(mcr_cocktail_flip); + state_save_register_global(machine, mcr_cocktail_flip); } @@ -311,21 +311,21 @@ MACHINE_START( mcr68 ) m6840->timer = timer_alloc(machine, counter_fired_callback, NULL); - state_save_register_item("m6840", NULL, i, m6840->control); - state_save_register_item("m6840", NULL, i, m6840->latch); - state_save_register_item("m6840", NULL, i, m6840->count); - state_save_register_item("m6840", NULL, i, m6840->timer_active); + state_save_register_item(machine, "m6840", NULL, i, m6840->control); + state_save_register_item(machine, "m6840", NULL, i, m6840->latch); + state_save_register_item(machine, "m6840", NULL, i, m6840->count); + state_save_register_item(machine, "m6840", NULL, i, m6840->timer_active); } - state_save_register_global(m6840_status); - state_save_register_global(m6840_status_read_since_int); - state_save_register_global(m6840_msb_buffer); - state_save_register_global(m6840_lsb_buffer); - state_save_register_global(m6840_irq_state); - state_save_register_global(v493_irq_state); - state_save_register_global(zwackery_sound_data); + state_save_register_global(machine, m6840_status); + state_save_register_global(machine, m6840_status_read_since_int); + state_save_register_global(machine, m6840_msb_buffer); + state_save_register_global(machine, m6840_lsb_buffer); + state_save_register_global(machine, m6840_irq_state); + state_save_register_global(machine, v493_irq_state); + state_save_register_global(machine, zwackery_sound_data); - state_save_register_global(mcr_cocktail_flip); + state_save_register_global(machine, mcr_cocktail_flip); } diff --git a/src/mame/machine/mhavoc.c b/src/mame/machine/mhavoc.c index 089edbab3ef..d113ff831c8 100644 --- a/src/mame/machine/mhavoc.c +++ b/src/mame/machine/mhavoc.c @@ -116,16 +116,16 @@ MACHINE_RESET( mhavoc ) /* set a timer going for the CPU interrupt generators */ timer_pulse(machine, ATTOTIME_IN_HZ(MHAVOC_CLOCK_5K), NULL, 0, cpu_irq_clock); - state_save_register_item("misc", NULL, 0, alpha_data); - state_save_register_item("misc", NULL, 0, alpha_rcvd); - state_save_register_item("misc", NULL, 0, alpha_xmtd); - state_save_register_item("misc", NULL, 0, gamma_data); - state_save_register_item("misc", NULL, 0, gamma_rcvd); - state_save_register_item("misc", NULL, 0, gamma_xmtd); - state_save_register_item("misc", NULL, 0, player_1); - state_save_register_item("misc", NULL, 0, alpha_irq_clock); - state_save_register_item("misc", NULL, 0, alpha_irq_clock_enable); - state_save_register_item("misc", NULL, 0, gamma_irq_clock); + state_save_register_item(machine, "misc", NULL, 0, alpha_data); + state_save_register_item(machine, "misc", NULL, 0, alpha_rcvd); + state_save_register_item(machine, "misc", NULL, 0, alpha_xmtd); + state_save_register_item(machine, "misc", NULL, 0, gamma_data); + state_save_register_item(machine, "misc", NULL, 0, gamma_rcvd); + state_save_register_item(machine, "misc", NULL, 0, gamma_xmtd); + state_save_register_item(machine, "misc", NULL, 0, player_1); + state_save_register_item(machine, "misc", NULL, 0, alpha_irq_clock); + state_save_register_item(machine, "misc", NULL, 0, alpha_irq_clock_enable); + state_save_register_item(machine, "misc", NULL, 0, gamma_irq_clock); } diff --git a/src/mame/machine/midtunit.c b/src/mame/machine/midtunit.c index ea3334398a2..1cd5fe5f31e 100644 --- a/src/mame/machine/midtunit.c +++ b/src/mame/machine/midtunit.c @@ -49,16 +49,16 @@ static UINT8 jdredd_prot_max; * *************************************/ -static void register_state_saving(void) +static void register_state_saving(running_machine *machine) { - state_save_register_global(cmos_write_enable); - state_save_register_global(fake_sound_state); - state_save_register_global(mk_prot_index); - state_save_register_global(mk2_prot_data); - state_save_register_global_array(nbajam_prot_queue); - state_save_register_global(nbajam_prot_index); - state_save_register_global(jdredd_prot_index); - state_save_register_global(jdredd_prot_max); + state_save_register_global(machine, cmos_write_enable); + state_save_register_global(machine, fake_sound_state); + state_save_register_global(machine, mk_prot_index); + state_save_register_global(machine, mk2_prot_data); + state_save_register_global_array(machine, nbajam_prot_queue); + state_save_register_global(machine, nbajam_prot_index); + state_save_register_global(machine, jdredd_prot_index); + state_save_register_global(machine, jdredd_prot_max); } @@ -401,7 +401,7 @@ static void init_tunit_generic(running_machine *machine, int sound) int i; /* register for state saving */ - register_state_saving(); + register_state_saving(machine); /* load the graphics ROMs -- quadruples */ base = memory_region(machine, "gfx1"); diff --git a/src/mame/machine/midwayic.c b/src/mame/machine/midwayic.c index 4650d4d55e9..b6edf826728 100644 --- a/src/mame/machine/midwayic.c +++ b/src/mame/machine/midwayic.c @@ -171,20 +171,20 @@ static void generate_serial_data(running_machine *machine, int upper) * *************************************/ -static void serial_register_state(void) +static void serial_register_state(running_machine *machine) { - state_save_register_global_array(serial.data); - state_save_register_global(serial.buffer); - state_save_register_global(serial.index); - state_save_register_global(serial.status); - state_save_register_global(serial.bits); - state_save_register_global(serial.ormask); + state_save_register_global_array(machine, serial.data); + state_save_register_global(machine, serial.buffer); + state_save_register_global(machine, serial.index); + state_save_register_global(machine, serial.status); + state_save_register_global(machine, serial.bits); + state_save_register_global(machine, serial.ormask); } void midway_serial_pic_init(running_machine *machine, int upper) { - serial_register_state(); + serial_register_state(machine); generate_serial_data(machine, upper); } @@ -256,29 +256,29 @@ static TIMER_CALLBACK( reset_timer ) } -static void pic_register_state(void) +static void pic_register_state(running_machine *machine) { - state_save_register_global(pic.latch); - state_save_register_global(pic.latch_expire_time.seconds); - state_save_register_global(pic.latch_expire_time.attoseconds); - state_save_register_global(pic.state); - state_save_register_global(pic.index); - state_save_register_global(pic.total); - state_save_register_global(pic.nvram_addr); - state_save_register_global_array(pic.buffer); - state_save_register_global_array(pic.nvram); - state_save_register_global_array(pic.default_nvram); - state_save_register_global_array(pic.time_buf); - state_save_register_global(pic.time_index); - state_save_register_global(pic.time_just_written); - state_save_register_global(pic.yearoffs); + state_save_register_global(machine, pic.latch); + state_save_register_global(machine, pic.latch_expire_time.seconds); + state_save_register_global(machine, pic.latch_expire_time.attoseconds); + state_save_register_global(machine, pic.state); + state_save_register_global(machine, pic.index); + state_save_register_global(machine, pic.total); + state_save_register_global(machine, pic.nvram_addr); + state_save_register_global_array(machine, pic.buffer); + state_save_register_global_array(machine, pic.nvram); + state_save_register_global_array(machine, pic.default_nvram); + state_save_register_global_array(machine, pic.time_buf); + state_save_register_global(machine, pic.time_index); + state_save_register_global(machine, pic.time_just_written); + state_save_register_global(machine, pic.yearoffs); } void midway_serial_pic2_init(running_machine *machine, int upper, int yearoffs) { - serial_register_state(); - pic_register_state(); + serial_register_state(machine); + pic_register_state(machine); pic.yearoffs = yearoffs; pic.time_just_written = 0; @@ -566,19 +566,19 @@ static void update_ioasic_irq(running_machine *machine); static void cage_irq_handler(running_machine *machine, int state); -static void ioasic_register_state(void) +static void ioasic_register_state(running_machine *machine) { - state_save_register_global_array(ioasic.reg); - state_save_register_global(ioasic.shuffle_active); - state_save_register_global(ioasic.irq_state); - state_save_register_global(ioasic.sound_irq_state); - state_save_register_global(ioasic.auto_ack); - state_save_register_global(ioasic.force_fifo_full); - state_save_register_global_array(ioasic.fifo); - state_save_register_global(ioasic.fifo_in); - state_save_register_global(ioasic.fifo_out); - state_save_register_global(ioasic.fifo_bytes); - state_save_register_global(ioasic.fifo_force_buffer_empty_pc); + state_save_register_global_array(machine, ioasic.reg); + state_save_register_global(machine, ioasic.shuffle_active); + state_save_register_global(machine, ioasic.irq_state); + state_save_register_global(machine, ioasic.sound_irq_state); + state_save_register_global(machine, ioasic.auto_ack); + state_save_register_global(machine, ioasic.force_fifo_full); + state_save_register_global_array(machine, ioasic.fifo); + state_save_register_global(machine, ioasic.fifo_in); + state_save_register_global(machine, ioasic.fifo_out); + state_save_register_global(machine, ioasic.fifo_bytes); + state_save_register_global(machine, ioasic.fifo_force_buffer_empty_pc); } @@ -597,7 +597,7 @@ void midway_ioasic_init(running_machine *machine, int shuffle, int upper, int ye { 0x1,0x2,0x3,0x0,0x4,0x5,0x6,0x7,0xa,0xb,0x8,0x9,0xc,0xd,0xe,0xf }, /* Hyperdrive */ }; - ioasic_register_state(); + ioasic_register_state(machine); /* do we have a DCS2 sound chip connected? (most likely) */ ioasic.has_dcs = (mame_find_cpu_index(machine, "dcs2") != -1 || mame_find_cpu_index(machine, "dsio") != -1 || mame_find_cpu_index(machine, "denver") != -1); diff --git a/src/mame/machine/midwunit.c b/src/mame/machine/midwunit.c index f0e5fec4fb4..33efbeb7603 100644 --- a/src/mame/machine/midwunit.c +++ b/src/mame/machine/midwunit.c @@ -40,14 +40,14 @@ static void midxunit_dcs_output_full(int state); * *************************************/ -static void register_state_saving(void) +static void register_state_saving(running_machine *machine) { - state_save_register_global(cmos_write_enable); - state_save_register_global_array(iodata); - state_save_register_global_array(ioshuffle); - state_save_register_global(midxunit_analog_port); - state_save_register_global_array(uart); - state_save_register_global(security_bits); + state_save_register_global(machine, cmos_write_enable); + state_save_register_global_array(machine, iodata); + state_save_register_global_array(machine, ioshuffle); + state_save_register_global(machine, midxunit_analog_port); + state_save_register_global_array(machine, uart); + state_save_register_global(machine, security_bits); } @@ -379,7 +379,7 @@ static void init_wunit_generic(running_machine *machine) int i, j, len; /* register for state saving */ - register_state_saving(); + register_state_saving(machine); /* load the graphics ROMs -- quadruples */ midyunit_gfx_rom = base = memory_region(Machine, "gfx1"); @@ -585,7 +585,7 @@ DRIVER_INIT( revx ) int i, j, len; /* register for state saving */ - register_state_saving(); + register_state_saving(machine); /* load the graphics ROMs -- quadruples */ midyunit_gfx_rom = base = memory_region(machine, "gfx1"); diff --git a/src/mame/machine/model1.c b/src/mame/machine/model1.c index 0e646f5842b..58246c91e35 100644 --- a/src/mame/machine/model1.c +++ b/src/mame/machine/model1.c @@ -1913,7 +1913,7 @@ WRITE16_HANDLER( model1_tgp_copro_ram_w ) } } -void model1_tgp_reset(int swa) +void model1_tgp_reset(running_machine *machine, int swa) { ram_adr = 0; ram_data = auto_malloc(0x10000*4); @@ -1935,22 +1935,22 @@ void model1_tgp_reset(int swa) model1_swa = swa; next_fn(); - state_save_register_global_pointer(ram_data, 0x10000); - state_save_register_global(ram_adr); - state_save_register_global(ram_scanadr); - state_save_register_global_array(ram_latch); - state_save_register_global(fifoout_rpos); - state_save_register_global(fifoout_wpos); - state_save_register_global_array(fifoout_data); - state_save_register_global(fifoin_rpos); - state_save_register_global(fifoin_wpos); - state_save_register_global_array(fifoin_data); - state_save_register_global_array(cmat); - state_save_register_global_2d_array(mat_stack); - state_save_register_global_2d_array(mat_vector); - state_save_register_global(mat_stack_pos); - state_save_register_global(acc); - state_save_register_global(list_length); + state_save_register_global_pointer(machine, ram_data, 0x10000); + state_save_register_global(machine, ram_adr); + state_save_register_global(machine, ram_scanadr); + state_save_register_global_array(machine, ram_latch); + state_save_register_global(machine, fifoout_rpos); + state_save_register_global(machine, fifoout_wpos); + state_save_register_global_array(machine, fifoout_data); + state_save_register_global(machine, fifoin_rpos); + state_save_register_global(machine, fifoin_wpos); + state_save_register_global_array(machine, fifoin_data); + state_save_register_global_array(machine, cmat); + state_save_register_global_2d_array(machine, mat_stack); + state_save_register_global_2d_array(machine, mat_vector); + state_save_register_global(machine, mat_stack_pos); + state_save_register_global(machine, acc); + state_save_register_global(machine, list_length); } /*********************************** Virtua Racing ***********************************/ diff --git a/src/mame/machine/mw8080bw.c b/src/mame/machine/mw8080bw.c index 8a74c1608ae..ca6aa32a903 100644 --- a/src/mame/machine/mw8080bw.c +++ b/src/mame/machine/mw8080bw.c @@ -108,7 +108,7 @@ static void mw8080bw_start_interrupt_timer(running_machine *machine) MACHINE_START( mw8080bw ) { mw8080bw_create_interrupt_timer(machine); - mb14241_init(0); + mb14241_init(machine,0); } diff --git a/src/mame/machine/namcoio.c b/src/mame/machine/namcoio.c index e6c41fd218b..ab775b1a128 100644 --- a/src/mame/machine/namcoio.c +++ b/src/mame/machine/namcoio.c @@ -133,6 +133,7 @@ TODO: ***************************************************************************/ #include "driver.h" +#include "deprecat.h" #include "machine/namcoio.h" #include "machine/namco50.h" #include "sound/namco52.h" @@ -797,18 +798,18 @@ void namcoio_set_irq_line(running_machine *machine, int chipnum, int state) static void namcoio_state_save(int chipnum) { - state_save_register_item_pointer("namcoio", NULL, chipnum, ((UINT8 *) (&namcoio_ram[chipnum * 16])), 16); - state_save_register_item("namcoio", NULL, chipnum, io[chipnum].reset); - state_save_register_item("namcoio", NULL, chipnum, io[chipnum].lastcoins); - state_save_register_item("namcoio", NULL, chipnum, io[chipnum].lastbuttons); - state_save_register_item("namcoio", NULL, chipnum, io[chipnum].credits); - state_save_register_item_array("namcoio", NULL, chipnum, io[chipnum].coins); - state_save_register_item_array("namcoio", NULL, chipnum, io[chipnum].coins_per_cred); - state_save_register_item_array("namcoio", NULL, chipnum, io[chipnum].creds_per_coin); - state_save_register_item("namcoio", NULL, chipnum, io[chipnum].in_count); - state_save_register_item("namcoio", NULL, chipnum, io[chipnum].mode); - state_save_register_item("namcoio", NULL, chipnum, io[chipnum].coincred_mode); - state_save_register_item("namcoio", NULL, chipnum, io[chipnum].remap_joy); + state_save_register_item_pointer(Machine, "namcoio", NULL, chipnum, ((UINT8 *) (&namcoio_ram[chipnum * 16])), 16); + state_save_register_item(Machine, "namcoio", NULL, chipnum, io[chipnum].reset); + state_save_register_item(Machine, "namcoio", NULL, chipnum, io[chipnum].lastcoins); + state_save_register_item(Machine, "namcoio", NULL, chipnum, io[chipnum].lastbuttons); + state_save_register_item(Machine, "namcoio", NULL, chipnum, io[chipnum].credits); + state_save_register_item_array(Machine, "namcoio", NULL, chipnum, io[chipnum].coins); + state_save_register_item_array(Machine, "namcoio", NULL, chipnum, io[chipnum].coins_per_cred); + state_save_register_item_array(Machine, "namcoio", NULL, chipnum, io[chipnum].creds_per_coin); + state_save_register_item(Machine, "namcoio", NULL, chipnum, io[chipnum].in_count); + state_save_register_item(Machine, "namcoio", NULL, chipnum, io[chipnum].mode); + state_save_register_item(Machine, "namcoio", NULL, chipnum, io[chipnum].coincred_mode); + state_save_register_item(Machine, "namcoio", NULL, chipnum, io[chipnum].remap_joy); } void namcoio_init(int chipnum, int type, const struct namcoio_interface *intf) @@ -850,8 +851,8 @@ static UINT8 customio_command[MAX_06XX]; static void namco_06xx_state_save(int chipnum) { - //state_save_register_item("namcoio06xx", NULL, chipnum, nmi_cpu[chipnum]); - state_save_register_item("namcoio06xx", NULL, chipnum, customio_command[chipnum]); + //state_save_register_item(Machine, "namcoio06xx", NULL, chipnum, nmi_cpu[chipnum]); + state_save_register_item(Machine, "namcoio06xx", NULL, chipnum, customio_command[chipnum]); } diff --git a/src/mame/machine/namcond1.c b/src/mame/machine/namcond1.c index cf8bd0cd4d8..a6da121c335 100644 --- a/src/mame/machine/namcond1.c +++ b/src/mame/machine/namcond1.c @@ -20,8 +20,8 @@ UINT8 namcond1_gfxbank; MACHINE_START( namcond1 ) { - state_save_register_global(namcond1_h8_irq5_enabled); - state_save_register_global(namcond1_gfxbank); + state_save_register_global(machine, namcond1_h8_irq5_enabled); + state_save_register_global(machine, namcond1_gfxbank); } MACHINE_RESET( namcond1 ) diff --git a/src/mame/machine/namcos1.c b/src/mame/machine/namcos1.c index 701ab67f7ab..49f77808e10 100644 --- a/src/mame/machine/namcos1.c +++ b/src/mame/machine/namcos1.c @@ -993,9 +993,9 @@ static void namcos1_driver_init( running_machine *machine, const struct namcos1_ namcos1_paletteram = auto_malloc(0x8000); /* Register volatile user memory for save state */ - state_save_register_global_pointer(s1ram, 0x8000); - state_save_register_global_pointer(namcos1_triram, 0x800); - state_save_register_global_pointer(namcos1_paletteram, 0x8000); + state_save_register_global_pointer(machine, s1ram, 0x8000); + state_save_register_global_pointer(machine, namcos1_triram, 0x800); + state_save_register_global_pointer(machine, namcos1_paletteram, 0x8000); /* Point mcu & sound shared RAM to destination */ memory_set_bankptr(machine, 18, namcos1_triram ); diff --git a/src/mame/machine/naomibd.c b/src/mame/machine/naomibd.c index f07478ce7fe..99b5cd887db 100644 --- a/src/mame/machine/naomibd.c +++ b/src/mame/machine/naomibd.c @@ -148,10 +148,10 @@ static void init_save_state(const device_config *device) state_save_register_postload(device->machine, naomibd_postload, v); /* register states */ - state_save_register_item("naomibd", device->tag, 0, v->rom_offset); - state_save_register_item("naomibd", device->tag, 0, v->rom_offset_flags); - state_save_register_item("naomibd", device->tag, 0, v->dma_count); - state_save_register_item("naomibd", device->tag, 0, v->dma_offset); + state_save_register_device_item(device, 0, v->rom_offset); + state_save_register_device_item(device, 0, v->rom_offset_flags); + state_save_register_device_item(device, 0, v->dma_count); + state_save_register_device_item(device, 0, v->dma_offset); } diff --git a/src/mame/machine/neoprot.c b/src/mame/machine/neoprot.c index d158bcf8fec..b2462076f49 100644 --- a/src/mame/machine/neoprot.c +++ b/src/mame/machine/neoprot.c @@ -106,7 +106,7 @@ void fatfury2_install_protection(running_machine *machine) /* 0x2xxxxx range. There are several checks all around the code. */ memory_install_readwrite16_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0x200000, 0x2fffff, 0, 0, fatfury2_protection_16_r, fatfury2_protection_16_w); - state_save_register_global(fatfury2_prot_data); + state_save_register_global(machine, fatfury2_prot_data); } @@ -400,7 +400,7 @@ void neogeo_reset_rng(void) static void sma_install_random_read_handler(running_machine *machine, int addr1, int addr2) { - state_save_register_global(neogeo_rng); + state_save_register_global(machine, neogeo_rng); memory_install_read16_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), addr1, addr1 + 1, 0, 0, sma_random_r); memory_install_read16_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), addr2, addr2 + 1, 0, 0, sma_random_r); @@ -522,7 +522,7 @@ static WRITE16_HANDLER( pvc_prot_w ) void install_pvc_protection( running_machine *machine ) { pvc_cartridge_ram = auto_malloc(0x2000); - state_save_register_global_pointer(pvc_cartridge_ram, 0x2000 / 2); + state_save_register_global_pointer(machine, pvc_cartridge_ram, 0x2000 / 2); memory_install_readwrite16_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0x2fe000, 0x2fffff, 0, 0, pvc_prot_r, pvc_prot_w); } diff --git a/src/mame/machine/nitedrvr.c b/src/mame/machine/nitedrvr.c index f9005df1593..cd9e9ad6cd5 100644 --- a/src/mame/machine/nitedrvr.c +++ b/src/mame/machine/nitedrvr.c @@ -273,15 +273,15 @@ static TIMER_CALLBACK( nitedrvr_crash_toggle_callback ) MACHINE_START( nitedrvr ) { - state_save_register_global(nitedrvr_gear); - state_save_register_global(nitedrvr_track); - state_save_register_global(nitedrvr_steering_buf); - state_save_register_global(nitedrvr_steering_val); - state_save_register_global(nitedrvr_crash_en); - state_save_register_global(nitedrvr_crash_data); - state_save_register_global(nitedrvr_crash_data_en); - state_save_register_global(ac_line); - state_save_register_global(last_steering_val); + state_save_register_global(machine, nitedrvr_gear); + state_save_register_global(machine, nitedrvr_track); + state_save_register_global(machine, nitedrvr_steering_buf); + state_save_register_global(machine, nitedrvr_steering_val); + state_save_register_global(machine, nitedrvr_crash_en); + state_save_register_global(machine, nitedrvr_crash_data); + state_save_register_global(machine, nitedrvr_crash_data_en); + state_save_register_global(machine, ac_line); + state_save_register_global(machine, last_steering_val); } MACHINE_RESET( nitedrvr ) diff --git a/src/mame/machine/opwolf.c b/src/mame/machine/opwolf.c index 47e24ffdce8..38eea6acdfd 100644 --- a/src/mame/machine/opwolf.c +++ b/src/mame/machine/opwolf.c @@ -722,21 +722,21 @@ void opwolf_cchip_init(running_machine *machine) { cchip_ram=auto_malloc(0x400 * 8); - state_save_register_global(current_bank); - state_save_register_global(current_cmd); - state_save_register_global(cchip_last_7a); - state_save_register_global(cchip_last_04); - state_save_register_global(cchip_last_05); - state_save_register_global(c588); - state_save_register_global(c589); - state_save_register_global(c58a); - state_save_register_global(cchip_coins[0]); - state_save_register_global(cchip_coins[1]); - state_save_register_global(cchip_coins_for_credit[0]); - state_save_register_global(cchip_credits_for_coin[0]); - state_save_register_global(cchip_coins_for_credit[1]); - state_save_register_global(cchip_credits_for_coin[1]); - state_save_register_global_pointer(cchip_ram, 0x400 * 8); + state_save_register_global(machine, current_bank); + state_save_register_global(machine, current_cmd); + state_save_register_global(machine, cchip_last_7a); + state_save_register_global(machine, cchip_last_04); + state_save_register_global(machine, cchip_last_05); + state_save_register_global(machine, c588); + state_save_register_global(machine, c589); + state_save_register_global(machine, c58a); + state_save_register_global(machine, cchip_coins[0]); + state_save_register_global(machine, cchip_coins[1]); + state_save_register_global(machine, cchip_coins_for_credit[0]); + state_save_register_global(machine, cchip_credits_for_coin[0]); + state_save_register_global(machine, cchip_coins_for_credit[1]); + state_save_register_global(machine, cchip_credits_for_coin[1]); + state_save_register_global_pointer(machine, cchip_ram, 0x400 * 8); current_bank=0; current_cmd=0; diff --git a/src/mame/machine/psx.c b/src/mame/machine/psx.c index f7c2dd28444..e0b8cd83113 100644 --- a/src/mame/machine/psx.c +++ b/src/mame/machine/psx.c @@ -1610,43 +1610,43 @@ void psx_driver_init( running_machine *machine ) psx_dma_install_write_handler( 0, mdec0_write ); psx_dma_install_write_handler( 2, gpu_write ); - state_save_register_global( m_n_irqdata ); - state_save_register_global( m_n_irqmask ); - state_save_register_global_array( m_p_n_dmabase ); - state_save_register_global_array( m_p_n_dmablockcontrol ); - state_save_register_global_array( m_p_n_dmachannelcontrol ); - state_save_register_global_array( m_p_n_dma_ticks ); - state_save_register_global_array( m_p_b_dma_running ); - state_save_register_global( m_n_dpcp ); - state_save_register_global( m_n_dicr ); - state_save_register_global_array( m_p_n_root_count ); - state_save_register_global_array( m_p_n_root_mode ); - state_save_register_global_array( m_p_n_root_target ); - state_save_register_global_array( m_p_n_root_start ); + state_save_register_global(machine, m_n_irqdata ); + state_save_register_global(machine, m_n_irqmask ); + state_save_register_global_array(machine, m_p_n_dmabase ); + state_save_register_global_array(machine, m_p_n_dmablockcontrol ); + state_save_register_global_array(machine, m_p_n_dmachannelcontrol ); + state_save_register_global_array(machine, m_p_n_dma_ticks ); + state_save_register_global_array(machine, m_p_b_dma_running ); + state_save_register_global(machine, m_n_dpcp ); + state_save_register_global(machine, m_n_dicr ); + state_save_register_global_array(machine, m_p_n_root_count ); + state_save_register_global_array(machine, m_p_n_root_mode ); + state_save_register_global_array(machine, m_p_n_root_target ); + state_save_register_global_array(machine, m_p_n_root_start ); - state_save_register_global_array( m_p_n_sio_status ); - state_save_register_global_array( m_p_n_sio_mode ); - state_save_register_global_array( m_p_n_sio_control ); - state_save_register_global_array( m_p_n_sio_baud ); - state_save_register_global_array( m_p_n_sio_tx ); - state_save_register_global_array( m_p_n_sio_rx ); - state_save_register_global_array( m_p_n_sio_tx_prev ); - state_save_register_global_array( m_p_n_sio_rx_prev ); - state_save_register_global_array( m_p_n_sio_rx_data ); - state_save_register_global_array( m_p_n_sio_tx_data ); - state_save_register_global_array( m_p_n_sio_rx_shift ); - state_save_register_global_array( m_p_n_sio_tx_shift ); - state_save_register_global_array( m_p_n_sio_rx_bits ); - state_save_register_global_array( m_p_n_sio_tx_bits ); + state_save_register_global_array(machine, m_p_n_sio_status ); + state_save_register_global_array(machine, m_p_n_sio_mode ); + state_save_register_global_array(machine, m_p_n_sio_control ); + state_save_register_global_array(machine, m_p_n_sio_baud ); + state_save_register_global_array(machine, m_p_n_sio_tx ); + state_save_register_global_array(machine, m_p_n_sio_rx ); + state_save_register_global_array(machine, m_p_n_sio_tx_prev ); + state_save_register_global_array(machine, m_p_n_sio_rx_prev ); + state_save_register_global_array(machine, m_p_n_sio_rx_data ); + state_save_register_global_array(machine, m_p_n_sio_tx_data ); + state_save_register_global_array(machine, m_p_n_sio_rx_shift ); + state_save_register_global_array(machine, m_p_n_sio_tx_shift ); + state_save_register_global_array(machine, m_p_n_sio_rx_bits ); + state_save_register_global_array(machine, m_p_n_sio_tx_bits ); - state_save_register_global( m_n_mdec0_command ); - state_save_register_global( m_n_mdec0_address ); - state_save_register_global( m_n_mdec0_size ); - state_save_register_global( m_n_mdec1_command ); - state_save_register_global( m_n_mdec1_status ); - state_save_register_global_array( m_p_n_mdec_quantize_y ); - state_save_register_global_array( m_p_n_mdec_quantize_uv ); - state_save_register_global_array( m_p_n_mdec_cos ); + state_save_register_global(machine, m_n_mdec0_command ); + state_save_register_global(machine, m_n_mdec0_address ); + state_save_register_global(machine, m_n_mdec0_size ); + state_save_register_global(machine, m_n_mdec1_command ); + state_save_register_global(machine, m_n_mdec1_status ); + state_save_register_global_array(machine, m_p_n_mdec_quantize_y ); + state_save_register_global_array(machine, m_p_n_mdec_quantize_uv ); + state_save_register_global_array(machine, m_p_n_mdec_cos ); state_save_register_postload( machine, psx_postload, NULL ); } diff --git a/src/mame/machine/qix.c b/src/mame/machine/qix.c index 3ae6723fb89..63cbafc772f 100644 --- a/src/mame/machine/qix.c +++ b/src/mame/machine/qix.c @@ -239,8 +239,8 @@ MACHINE_START( qixmcu ) pia_config(5, &qix_pia_5_intf); /* set up save states */ - state_save_register_global_array(state->_68705_port_in); - state_save_register_global(state->coinctrl); + state_save_register_global_array(machine, state->_68705_port_in); + state_save_register_global(machine, state->coinctrl); } MACHINE_START( slither ) diff --git a/src/mame/machine/rainbow.c b/src/mame/machine/rainbow.c index 2cfbe1ae4bf..695b5c7a39c 100644 --- a/src/mame/machine/rainbow.c +++ b/src/mame/machine/rainbow.c @@ -823,10 +823,10 @@ void rainbow_cchip_init(running_machine *machine, int version) { CRAM[i] = auto_malloc(0x400); - state_save_register_item_pointer("cchip", NULL, i, CRAM[i], 0x400); + state_save_register_item_pointer(machine, "cchip", NULL, i, CRAM[i], 0x400); } - state_save_register_item("cchip", NULL, 0, current_bank); + state_save_register_item(machine, "cchip", NULL, 0, current_bank); timer_pulse(machine, ATTOTIME_IN_HZ(60), NULL, 0, cchip_timer); } diff --git a/src/mame/machine/s16fd.c b/src/mame/machine/s16fd.c index 6bfb6acf8e9..63c5ae3a46d 100644 --- a/src/mame/machine/s16fd.c +++ b/src/mame/machine/s16fd.c @@ -223,7 +223,7 @@ void fd1094_driver_init(running_machine *machine, void (*set_decrypted)(running_ fd1094_init_debugging(machine, "main", "user1", "user2", key_changed); } - state_save_register_global(fd1094_selected_state); - state_save_register_global(fd1094_state); + state_save_register_global(machine, fd1094_selected_state); + state_save_register_global(machine, fd1094_state); state_save_register_postload(machine, fd1094_postload, NULL); } diff --git a/src/mame/machine/s24fd.c b/src/mame/machine/s24fd.c index b4088fecd42..091a17c4b16 100644 --- a/src/mame/machine/s24fd.c +++ b/src/mame/machine/s24fd.c @@ -179,7 +179,7 @@ void s24_fd1094_driver_init(running_machine *machine) fd1094_state = -1; - state_save_register_global(fd1094_selected_state); - state_save_register_global(fd1094_state); + state_save_register_global(machine, fd1094_selected_state); + state_save_register_global(machine, fd1094_state); state_save_register_postload(machine, s24_fd1094_postload, NULL); } diff --git a/src/mame/machine/scramble.c b/src/mame/machine/scramble.c index 5faa2ef55c6..cf5aa438fc8 100644 --- a/src/mame/machine/scramble.c +++ b/src/mame/machine/scramble.c @@ -365,7 +365,7 @@ DRIVER_INIT( cavelon ) memory_install_write8_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0x2000, 0x2000, 0, 0, SMH_NOP); /* ??? */ memory_install_write8_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0x3800, 0x3801, 0, 0, SMH_NOP); /* looks suspicously like an AY8910, but not sure */ - state_save_register_global(cavelon_bank); + state_save_register_global(machine, cavelon_bank); } diff --git a/src/mame/machine/slapstic.c b/src/mame/machine/slapstic.c index dbd9fcc7ba2..2abd651704e 100644 --- a/src/mame/machine/slapstic.c +++ b/src/mame/machine/slapstic.c @@ -823,12 +823,12 @@ void slapstic_init(running_machine *machine, int chip) machine->config->cpu[0].type == CPU_M68010); /* save state */ - state_save_register_item("slapstic", NULL, 0, state); - state_save_register_item("slapstic", NULL, 0, current_bank); - state_save_register_item("slapstic", NULL, 0, alt_bank); - state_save_register_item("slapstic", NULL, 0, bit_bank); - state_save_register_item("slapstic", NULL, 0, add_bank); - state_save_register_item("slapstic", NULL, 0, bit_xor); + state_save_register_item(machine, "slapstic", NULL, 0, state); + state_save_register_item(machine, "slapstic", NULL, 0, current_bank); + state_save_register_item(machine, "slapstic", NULL, 0, alt_bank); + state_save_register_item(machine, "slapstic", NULL, 0, bit_bank); + state_save_register_item(machine, "slapstic", NULL, 0, add_bank); + state_save_register_item(machine, "slapstic", NULL, 0, bit_xor); } diff --git a/src/mame/machine/steppers.c b/src/mame/machine/steppers.c index d52095eb1df..96c097e5e01 100644 --- a/src/mame/machine/steppers.c +++ b/src/mame/machine/steppers.c @@ -630,14 +630,14 @@ void stepper_config(int which, const stepper_interface *intf) break; } - state_save_register_item("stepper", NULL, which, step[which].index_start); - state_save_register_item("stepper", NULL, which, step[which].index_end); - state_save_register_item("stepper", NULL, which, step[which].index_patt); - state_save_register_item("stepper", NULL, which, step[which].pattern); - state_save_register_item("stepper", NULL, which, step[which].old_pattern); - state_save_register_item("stepper", NULL, which, step[which].step_pos); - state_save_register_item("stepper", NULL, which, step[which].max_steps); - state_save_register_item("stepper", NULL, which, step[which].type); + state_save_register_item(Machine, "stepper", NULL, which, step[which].index_start); + state_save_register_item(Machine, "stepper", NULL, which, step[which].index_end); + state_save_register_item(Machine, "stepper", NULL, which, step[which].index_patt); + state_save_register_item(Machine, "stepper", NULL, which, step[which].pattern); + state_save_register_item(Machine, "stepper", NULL, which, step[which].old_pattern); + state_save_register_item(Machine, "stepper", NULL, which, step[which].step_pos); + state_save_register_item(Machine, "stepper", NULL, which, step[which].max_steps); + state_save_register_item(Machine, "stepper", NULL, which, step[which].type); } /////////////////////////////////////////////////////////////////////////// diff --git a/src/mame/machine/stfight.c b/src/mame/machine/stfight.c index 548fcdb60cd..cc8fa45c7e1 100644 --- a/src/mame/machine/stfight.c +++ b/src/mame/machine/stfight.c @@ -197,9 +197,9 @@ static const int sampleLimits[] = 0x7200 // (end of samples) }; -void stfight_adpcm_int( running_machine *machine, int data ) +void stfight_adpcm_int(const device_config *device) { - UINT8 *SAMPLES = memory_region(machine, "adpcm"); + UINT8 *SAMPLES = memory_region(device->machine, "adpcm"); int adpcm_data = SAMPLES[adpcm_data_offs & 0x7fff]; // finished playing sample? diff --git a/src/mame/machine/stvprot.c b/src/mame/machine/stvprot.c index 669ad8abb30..afec42e1e21 100644 --- a/src/mame/machine/stvprot.c +++ b/src/mame/machine/stvprot.c @@ -510,10 +510,10 @@ void install_decathlt_protection(running_machine *machine) // memory_install_readwrite32_handler(cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM), 0x27FFFF0, 0x27FFFFF, 0, 0, decathlt_prot_r, decathlt_prot_w); } -void stv_register_protection_savestates(void) +void stv_register_protection_savestates(running_machine *machine) { - state_save_register_global_array(a_bus); - state_save_register_global(ctrl_index); - state_save_register_global(internal_counter); - state_save_register_global(char_offset); + state_save_register_global_array(machine, a_bus); + state_save_register_global(machine, ctrl_index); + state_save_register_global(machine, internal_counter); + state_save_register_global(machine, char_offset); } diff --git a/src/mame/machine/stvprot.h b/src/mame/machine/stvprot.h index d1004e3bdcb..c0a0bf0753b 100644 --- a/src/mame/machine/stvprot.h +++ b/src/mame/machine/stvprot.h @@ -4,5 +4,5 @@ void install_standard_protection(running_machine *machine); void install_decathlt_protection(running_machine *machine); void install_astrass_protection(running_machine *machine); -void stv_register_protection_savestates(void); +void stv_register_protection_savestates(running_machine *machine); diff --git a/src/mame/machine/taitosj.c b/src/mame/machine/taitosj.c index d602e0cd53f..b2a111347ec 100644 --- a/src/mame/machine/taitosj.c +++ b/src/mame/machine/taitosj.c @@ -29,17 +29,17 @@ MACHINE_START( taitosj ) memory_configure_bank(machine, 1, 0, 1, memory_region(machine, "main") + 0x6000, 0); memory_configure_bank(machine, 1, 1, 1, memory_region(machine, "main") + 0x10000, 0); - state_save_register_global(fromz80); - state_save_register_global(toz80); - state_save_register_global(zaccept); - state_save_register_global(zready); - state_save_register_global(busreq); + state_save_register_global(machine, fromz80); + state_save_register_global(machine, toz80); + state_save_register_global(machine, zaccept); + state_save_register_global(machine, zready); + state_save_register_global(machine, busreq); - state_save_register_global(portA_in); - state_save_register_global(portA_out); - state_save_register_global(address); - state_save_register_global(spacecr_prot_value); - state_save_register_global(protection_value); + state_save_register_global(machine, portA_in); + state_save_register_global(machine, portA_out); + state_save_register_global(machine, address); + state_save_register_global(machine, spacecr_prot_value); + state_save_register_global(machine, protection_value); } MACHINE_RESET( taitosj ) diff --git a/src/mame/machine/tatsumi.c b/src/mame/machine/tatsumi.c index b09b6c10a86..e0255ae73b1 100644 --- a/src/mame/machine/tatsumi.c +++ b/src/mame/machine/tatsumi.c @@ -13,17 +13,17 @@ UINT8 *apache3_z80_ram; /******************************************************************************/ -void tatsumi_reset(void) +void tatsumi_reset(running_machine *machine) { tatsumi_last_irq=0; tatsumi_last_control=0; tatsumi_control_word=0; apache3_adc=0; - state_save_register_global(tatsumi_last_irq); - state_save_register_global(tatsumi_last_control); - state_save_register_global(tatsumi_control_word); - state_save_register_global(apache3_adc); + state_save_register_global(machine, tatsumi_last_irq); + state_save_register_global(machine, tatsumi_last_control); + state_save_register_global(machine, tatsumi_control_word); + state_save_register_global(machine, apache3_adc); } /******************************************************************************/ diff --git a/src/mame/machine/theglobp.c b/src/mame/machine/theglobp.c index 78ef00c5471..e98ecb2ad5d 100644 --- a/src/mame/machine/theglobp.c +++ b/src/mame/machine/theglobp.c @@ -255,5 +255,5 @@ MACHINE_RESET( theglobp ) memory_configure_bank(machine, 1, 0, 4, &RAM[0x10000], 0x4000); memory_set_bank(machine, 1, 2); - state_save_register_global(counter); + state_save_register_global(machine, counter); } diff --git a/src/mame/machine/ticket.c b/src/mame/machine/ticket.c index aed514f0871..7c87afa5e04 100644 --- a/src/mame/machine/ticket.c +++ b/src/mame/machine/ticket.c @@ -56,8 +56,8 @@ void ticket_dispenser_init(running_machine *machine, int msec, int motoronhigh, dispenser[i].power = 0x00; dispenser[i].timer = timer_alloc(machine, ticket_dispenser_toggle, &dispenser[i]); - state_save_register_item("ticket", NULL, i, dispenser[i].status); - state_save_register_item("ticket", NULL, i, dispenser[i].power); + state_save_register_item(machine, "ticket", NULL, i, dispenser[i].status); + state_save_register_item(machine, "ticket", NULL, i, dispenser[i].power); } } diff --git a/src/mame/machine/toaplan1.c b/src/mame/machine/toaplan1.c index 6028a7ccd11..24d5e272899 100644 --- a/src/mame/machine/toaplan1.c +++ b/src/mame/machine/toaplan1.c @@ -308,9 +308,9 @@ MACHINE_RESET( toaplan1 ) } void toaplan1_driver_savestate(running_machine *machine) { - state_save_register_global(toaplan1_intenable); - state_save_register_global(toaplan1_coin_count); - state_save_register_global(toaplan1_unk_reset_port); + state_save_register_global(machine, toaplan1_intenable); + state_save_register_global(machine, toaplan1_coin_count); + state_save_register_global(machine, toaplan1_unk_reset_port); } MACHINE_RESET( zerozone ) /* Hack for ZeroWing and OutZone. See the video driver */ @@ -328,11 +328,11 @@ MACHINE_RESET( demonwld ) } void demonwld_driver_savestate(running_machine *machine) { - state_save_register_global(demonwld_dsp_on); - state_save_register_global(dsp_addr_w); - state_save_register_global(main_ram_seg); - state_save_register_global(demonwld_dsp_BIO); - state_save_register_global(dsp_execute); + state_save_register_global(machine, demonwld_dsp_on); + state_save_register_global(machine, dsp_addr_w); + state_save_register_global(machine, main_ram_seg); + state_save_register_global(machine, demonwld_dsp_BIO); + state_save_register_global(machine, dsp_execute); state_save_register_postload(machine, demonwld_restore_dsp, NULL); } @@ -344,6 +344,6 @@ MACHINE_RESET( vimana ) } void vimana_driver_savestate(running_machine *machine) { - state_save_register_global(vimana_credits); - state_save_register_global(vimana_latch); + state_save_register_global(machine, vimana_credits); + state_save_register_global(machine, vimana_latch); } diff --git a/src/mame/machine/twincobr.c b/src/mame/machine/twincobr.c index c37dbc7e967..dea804716ae 100644 --- a/src/mame/machine/twincobr.c +++ b/src/mame/machine/twincobr.c @@ -336,14 +336,14 @@ MACHINE_RESET( twincobr ) } void twincobr_driver_savestate(running_machine *machine) { - state_save_register_global(toaplan_main_cpu); - state_save_register_global(twincobr_intenable); - state_save_register_global(twincobr_dsp_on); - state_save_register_global(dsp_addr_w); - state_save_register_global(main_ram_seg); - state_save_register_global(twincobr_dsp_BIO); - state_save_register_global(dsp_execute); - state_save_register_global(fsharkbt_8741); + state_save_register_global(machine, toaplan_main_cpu); + state_save_register_global(machine, twincobr_intenable); + state_save_register_global(machine, twincobr_dsp_on); + state_save_register_global(machine, dsp_addr_w); + state_save_register_global(machine, main_ram_seg); + state_save_register_global(machine, twincobr_dsp_BIO); + state_save_register_global(machine, dsp_execute); + state_save_register_global(machine, fsharkbt_8741); state_save_register_postload(machine, twincobr_restore_dsp, NULL); } @@ -360,14 +360,14 @@ MACHINE_RESET( wardner ) } void wardner_driver_savestate(running_machine *machine) { - state_save_register_global(toaplan_main_cpu); - state_save_register_global(twincobr_intenable); - state_save_register_global(twincobr_dsp_on); - state_save_register_global(dsp_addr_w); - state_save_register_global(main_ram_seg); - state_save_register_global(twincobr_dsp_BIO); - state_save_register_global(dsp_execute); - state_save_register_global(wardner_membank); + state_save_register_global(machine, toaplan_main_cpu); + state_save_register_global(machine, twincobr_intenable); + state_save_register_global(machine, twincobr_dsp_on); + state_save_register_global(machine, dsp_addr_w); + state_save_register_global(machine, main_ram_seg); + state_save_register_global(machine, twincobr_dsp_BIO); + state_save_register_global(machine, dsp_execute); + state_save_register_global(machine, wardner_membank); state_save_register_postload(machine, wardner_restore_bank, NULL); /* Restore the Main CPU bank */ state_save_register_postload(machine, twincobr_restore_dsp, NULL); } diff --git a/src/mame/machine/vertigo.c b/src/mame/machine/vertigo.c index 80246825b80..7429e185aef 100644 --- a/src/mame/machine/vertigo.c +++ b/src/mame/machine/vertigo.c @@ -224,10 +224,10 @@ MACHINE_RESET( vertigo ) irq4_time = timer_get_time(machine); irq_state = 7; - state_save_register_global(irq_state); - state_save_register_global(adc_result); - state_save_register_global(irq4_time.seconds); - state_save_register_global(irq4_time.attoseconds); + state_save_register_global(machine, irq_state); + state_save_register_global(machine, adc_result); + state_save_register_global(machine, irq4_time.seconds); + state_save_register_global(machine, irq4_time.attoseconds); } diff --git a/src/mame/machine/volfied.c b/src/mame/machine/volfied.c index 081ea89be19..c95e8dc003e 100644 --- a/src/mame/machine/volfied.c +++ b/src/mame/machine/volfied.c @@ -484,13 +484,13 @@ READ16_HANDLER( volfied_cchip_ram_r ) * *************************************/ -void volfied_cchip_init(void) +void volfied_cchip_init(running_machine *machine) { cchip_ram=auto_malloc(0x400 * 8); - state_save_register_global(current_bank); - state_save_register_global(current_cmd); - state_save_register_global(current_flag); - state_save_register_global(cc_port); - state_save_register_global_pointer(cchip_ram, 0x400 * 8); + state_save_register_global(machine, current_bank); + state_save_register_global(machine, current_cmd); + state_save_register_global(machine, current_flag); + state_save_register_global(machine, cc_port); + state_save_register_global_pointer(machine, cchip_ram, 0x400 * 8); } diff --git a/src/mame/machine/williams.c b/src/mame/machine/williams.c index f467474592b..2160e0f4df9 100644 --- a/src/mame/machine/williams.c +++ b/src/mame/machine/williams.c @@ -366,7 +366,7 @@ static MACHINE_RESET( williams_common ) scan240_timer = timer_alloc(machine, williams_count240_callback, NULL); timer_adjust_oneshot(scan240_timer, video_screen_get_time_until_pos(machine->primary_screen, 240, 0), 0); - state_save_register_global(vram_bank); + state_save_register_global(machine, vram_bank); } @@ -463,7 +463,7 @@ MACHINE_RESET( williams2 ) scan254_timer = timer_alloc(machine, williams2_endscreen_callback, NULL); timer_adjust_oneshot(scan254_timer, video_screen_get_time_until_pos(machine->primary_screen, 254, 0), 0); - state_save_register_global(vram_bank); + state_save_register_global(machine, vram_bank); state_save_register_postload(machine, williams2_postload, NULL); } @@ -827,7 +827,7 @@ MACHINE_RESET( blaster ) memory_configure_bank(machine, 2, 0, 1, williams_videoram + 0x4000, 0); memory_configure_bank(machine, 2, 1, 16, memory_region(machine, "main") + 0x10000, 0x0000); - state_save_register_global(blaster_bank); + state_save_register_global(machine, blaster_bank); } @@ -942,7 +942,7 @@ MACHINE_RESET( joust2 ) /* standard init */ MACHINE_RESET_CALL(williams2); pia_set_input_ca1(3, 1); - state_save_register_global(joust2_current_sound_data); + state_save_register_global(machine, joust2_current_sound_data); } diff --git a/src/mame/machine/zs01.c b/src/mame/machine/zs01.c index d60cff51810..386baa01b9b 100644 --- a/src/mame/machine/zs01.c +++ b/src/mame/machine/zs01.c @@ -123,21 +123,21 @@ void zs01_init( int chip, UINT8 *data, zs01_write_handler write, zs01_read_handl c->write = write; c->read = read; - state_save_register_item( "zs01", NULL, chip, c->cs ); - state_save_register_item( "zs01", NULL, chip, c->rst ); - state_save_register_item( "zs01", NULL, chip, c->scl ); - state_save_register_item( "zs01", NULL, chip, c->sdaw ); - state_save_register_item( "zs01", NULL, chip, c->sdar ); - state_save_register_item( "zs01", NULL, chip, c->state ); - state_save_register_item( "zs01", NULL, chip, c->shift ); - state_save_register_item( "zs01", NULL, chip, c->bit ); - state_save_register_item( "zs01", NULL, chip, c->byte ); - state_save_register_item_array( "zs01", NULL, chip, c->write_buffer ); - state_save_register_item_array( "zs01", NULL, chip, c->read_buffer ); - state_save_register_item_array( "zs01", NULL, chip, c->response_key ); - state_save_register_item_pointer( "zs01", NULL, chip, c->response_to_reset, SIZE_RESPONSE_TO_RESET ); - state_save_register_item_pointer( "zs01", NULL, chip, c->command_key, SIZE_KEY ); - state_save_register_item_pointer( "zs01", NULL, chip, c->data_key, SIZE_DATA ); + state_save_register_item( Machine, "zs01", NULL, chip, c->cs ); + state_save_register_item( Machine, "zs01", NULL, chip, c->rst ); + state_save_register_item( Machine, "zs01", NULL, chip, c->scl ); + state_save_register_item( Machine, "zs01", NULL, chip, c->sdaw ); + state_save_register_item( Machine, "zs01", NULL, chip, c->sdar ); + state_save_register_item( Machine, "zs01", NULL, chip, c->state ); + state_save_register_item( Machine, "zs01", NULL, chip, c->shift ); + state_save_register_item( Machine, "zs01", NULL, chip, c->bit ); + state_save_register_item( Machine, "zs01", NULL, chip, c->byte ); + state_save_register_item_array( Machine, "zs01", NULL, chip, c->write_buffer ); + state_save_register_item_array( Machine, "zs01", NULL, chip, c->read_buffer ); + state_save_register_item_array( Machine, "zs01", NULL, chip, c->response_key ); + state_save_register_item_pointer( Machine, "zs01", NULL, chip, c->response_to_reset, SIZE_RESPONSE_TO_RESET ); + state_save_register_item_pointer( Machine, "zs01", NULL, chip, c->command_key, SIZE_KEY ); + state_save_register_item_pointer( Machine, "zs01", NULL, chip, c->data_key, SIZE_DATA ); } void zs01_rst_write( int chip, int rst ) diff --git a/src/mame/video/1942.c b/src/mame/video/1942.c index e20841f22f3..0fa78b8fa89 100644 --- a/src/mame/video/1942.c +++ b/src/mame/video/1942.c @@ -136,7 +136,7 @@ VIDEO_START( 1942 ) tilemap_set_transparent_pen(fg_tilemap,0); - state_save_register_global(c1942_palette_bank); + state_save_register_global(machine, c1942_palette_bank); } diff --git a/src/mame/video/actfancr.c b/src/mame/video/actfancr.c index 2f922b3d936..ac1303afe46 100644 --- a/src/mame/video/actfancr.c +++ b/src/mame/video/actfancr.c @@ -78,10 +78,10 @@ static TILE_GET_INFO( get_pf2_tile_info ) /******************************************************************************/ -static void register_savestate(void) +static void register_savestate(running_machine *machine) { - state_save_register_global_array(actfancr_control_1); - state_save_register_global_array(actfancr_control_2); + state_save_register_global_array(machine, actfancr_control_1); + state_save_register_global_array(machine, actfancr_control_2); } VIDEO_START( actfancr ) @@ -92,7 +92,7 @@ VIDEO_START( actfancr ) tilemap_set_transparent_pen(pf2_tilemap,0); - register_savestate(); + register_savestate(machine); } VIDEO_START( triothep ) @@ -104,7 +104,7 @@ VIDEO_START( triothep ) pf1_alt_tilemap=NULL; - register_savestate(); + register_savestate(machine); } /******************************************************************************/ diff --git a/src/mame/video/arkanoid.c b/src/mame/video/arkanoid.c index 473ee08fc70..07cf58b44ae 100644 --- a/src/mame/video/arkanoid.c +++ b/src/mame/video/arkanoid.c @@ -83,8 +83,8 @@ VIDEO_START( arkanoid ) bg_tilemap = tilemap_create(get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32); - state_save_register_global(gfxbank); - state_save_register_global(palettebank); + state_save_register_global(machine, gfxbank); + state_save_register_global(machine, palettebank); } static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) diff --git a/src/mame/video/astrocde.c b/src/mame/video/astrocde.c index 1785d49cae4..7985aad57ce 100644 --- a/src/mame/video/astrocde.c +++ b/src/mame/video/astrocde.c @@ -90,7 +90,7 @@ static UINT8 profpac_vw; * *************************************/ -static void init_savestate(void); +static void init_savestate(running_machine *machine); static TIMER_CALLBACK( scanline_callback ); static void init_sparklestar(void); @@ -226,7 +226,7 @@ VIDEO_START( astrocde ) timer_adjust_oneshot(scanline_timer, video_screen_get_time_until_pos(machine->primary_screen, 1, 0), 1); /* register for save states */ - init_savestate(); + init_savestate(machine); /* initialize the sparkle and stars */ if (astrocade_video_config & AC_STARS) @@ -244,53 +244,53 @@ VIDEO_START( profpac ) profpac_videoram = auto_malloc(0x4000 * 4 * sizeof(*profpac_videoram)); /* register for save states */ - init_savestate(); + init_savestate(machine); /* register our specific save state data */ - state_save_register_global_pointer(profpac_videoram, 0x4000 * 4); - state_save_register_global_array(profpac_palette); - state_save_register_global_array(profpac_colormap); - state_save_register_global(profpac_intercept); - state_save_register_global(profpac_vispage); - state_save_register_global(profpac_readpage); - state_save_register_global(profpac_readshift); - state_save_register_global(profpac_writepage); - state_save_register_global(profpac_writemode); - state_save_register_global(profpac_writemask); - state_save_register_global(profpac_vw); + state_save_register_global_pointer(machine, profpac_videoram, 0x4000 * 4); + state_save_register_global_array(machine, profpac_palette); + state_save_register_global_array(machine, profpac_colormap); + state_save_register_global(machine, profpac_intercept); + state_save_register_global(machine, profpac_vispage); + state_save_register_global(machine, profpac_readpage); + state_save_register_global(machine, profpac_readshift); + state_save_register_global(machine, profpac_writepage); + state_save_register_global(machine, profpac_writemode); + state_save_register_global(machine, profpac_writemask); + state_save_register_global(machine, profpac_vw); } -static void init_savestate(void) +static void init_savestate(running_machine *machine) { - state_save_register_global_array(astrocade_sparkle); + state_save_register_global_array(machine, astrocade_sparkle); - state_save_register_global(interrupt_enable); - state_save_register_global(interrupt_vector); - state_save_register_global(interrupt_scanline); - state_save_register_global(vertical_feedback); - state_save_register_global(horizontal_feedback); + state_save_register_global(machine, interrupt_enable); + state_save_register_global(machine, interrupt_vector); + state_save_register_global(machine, interrupt_scanline); + state_save_register_global(machine, vertical_feedback); + state_save_register_global(machine, horizontal_feedback); - state_save_register_global_array(colors); - state_save_register_global(colorsplit); - state_save_register_global(bgdata); - state_save_register_global(vblank); - state_save_register_global(video_mode); + state_save_register_global_array(machine, colors); + state_save_register_global(machine, colorsplit); + state_save_register_global(machine, bgdata); + state_save_register_global(machine, vblank); + state_save_register_global(machine, video_mode); - state_save_register_global_array(funcgen_expand_color); - state_save_register_global(funcgen_control); - state_save_register_global(funcgen_expand_count); - state_save_register_global(funcgen_rotate_count); - state_save_register_global_array(funcgen_rotate_data); - state_save_register_global(funcgen_shift_prev_data); - state_save_register_global(funcgen_intercept); + state_save_register_global_array(machine, funcgen_expand_color); + state_save_register_global(machine, funcgen_control); + state_save_register_global(machine, funcgen_expand_count); + state_save_register_global(machine, funcgen_rotate_count); + state_save_register_global_array(machine, funcgen_rotate_data); + state_save_register_global(machine, funcgen_shift_prev_data); + state_save_register_global(machine, funcgen_intercept); - state_save_register_global(pattern_source); - state_save_register_global(pattern_mode); - state_save_register_global(pattern_dest); - state_save_register_global(pattern_skip); - state_save_register_global(pattern_width); - state_save_register_global(pattern_height); + state_save_register_global(machine, pattern_source); + state_save_register_global(machine, pattern_mode); + state_save_register_global(machine, pattern_dest); + state_save_register_global(machine, pattern_skip); + state_save_register_global(machine, pattern_width); + state_save_register_global(machine, pattern_height); } diff --git a/src/mame/video/asuka.c b/src/mame/video/asuka.c index b9852adb06c..54a2d2c496a 100644 --- a/src/mame/video/asuka.c +++ b/src/mame/video/asuka.c @@ -8,7 +8,7 @@ static void asuka_core_video_start(running_machine *machine, int x_offs,int buffering) { - PC090OJ_vh_start(0,0,8,buffering); /* gfxset, x offset, y offset, buffering */ + PC090OJ_vh_start(machine,0,0,8,buffering); /* gfxset, x offset, y offset, buffering */ TC0100SCN_vh_start(machine,1,TC0100SCN_GFX_NUM,x_offs,0,0,0,0,0,0); TC0110PCR_vh_start(machine); } diff --git a/src/mame/video/atarig1.c b/src/mame/video/atarig1.c index 9c54936cb57..5384f8ead80 100644 --- a/src/mame/video/atarig1.c +++ b/src/mame/video/atarig1.c @@ -131,10 +131,10 @@ VIDEO_START( atarig1 ) playfield_yscroll = 0; /* state saving */ - state_save_register_global(current_control); - state_save_register_global(playfield_tile_bank); - state_save_register_global(playfield_xscroll); - state_save_register_global(playfield_yscroll); + state_save_register_global(machine, current_control); + state_save_register_global(machine, playfield_tile_bank); + state_save_register_global(machine, playfield_xscroll); + state_save_register_global(machine, playfield_yscroll); } diff --git a/src/mame/video/atarimo.c b/src/mame/video/atarimo.c index 55c375337ac..209d9cde16b 100644 --- a/src/mame/video/atarimo.c +++ b/src/mame/video/atarimo.c @@ -253,61 +253,61 @@ static emu_timer *force_update_timer; init_savestate: Initialize save states ---------------------------------------------------------------*/ -static void init_savestate(int index, atarimo_data *mo) +static void init_savestate(running_machine *machine, int index, atarimo_data *mo) { - state_save_register_item("atarimo", NULL, index, mo->gfxchanged); - state_save_register_item("atarimo", NULL, index, mo->palettebase); - state_save_register_item("atarimo", NULL, index, mo->bank); - state_save_register_item("atarimo", NULL, index, mo->xscroll); - state_save_register_item("atarimo", NULL, index, mo->yscroll); - state_save_register_item("atarimo", NULL, index, mo->last_xpos); - state_save_register_item("atarimo", NULL, index, mo->next_xpos); + state_save_register_item(machine, "atarimo", NULL, index, mo->gfxchanged); + state_save_register_item(machine, "atarimo", NULL, index, mo->palettebase); + state_save_register_item(machine, "atarimo", NULL, index, mo->bank); + state_save_register_item(machine, "atarimo", NULL, index, mo->xscroll); + state_save_register_item(machine, "atarimo", NULL, index, mo->yscroll); + state_save_register_item(machine, "atarimo", NULL, index, mo->last_xpos); + state_save_register_item(machine, "atarimo", NULL, index, mo->next_xpos); #if 0 // These are not modified in code // Left in for completeness - state_save_register_item("atarimo", NULL, index, mo->reverse); - state_save_register_item("atarimo", NULL, index, mo->split); - state_save_register_item("atarimo", NULL, index, mo->linked); - state_save_register_item("atarimo", NULL, index, mo->swapxy); - state_save_register_item("atarimo", NULL, index, mo->nextneighbor); - state_save_register_item("atarimo", NULL, index, mo->slipshift); - state_save_register_item("atarimo", NULL, index, mo->slipoffset); - state_save_register_item("atarimo", NULL, index, mo->slipramsize); - state_save_register_item("atarimo", NULL, index, mo->sliprammask); - state_save_register_item("atarimo", NULL, index, mo->entrycount); - state_save_register_item("atarimo", NULL, index, mo->entrybits); - state_save_register_item("atarimo", NULL, index, mo->bankcount); - state_save_register_item("atarimo", NULL, index, mo->tilewidth); - state_save_register_item("atarimo", NULL, index, mo->tileheight); - state_save_register_item("atarimo", NULL, index, mo->tilexshift); - state_save_register_item("atarimo", NULL, index, mo->tileyshift); - state_save_register_item("atarimo", NULL, index, mo->bitmapwidth); - state_save_register_item("atarimo", NULL, index, mo->bitmapheight); - state_save_register_item("atarimo", NULL, index, mo->bitmapxmask); - state_save_register_item("atarimo", NULL, index, mo->bitmapymask); - state_save_register_item("atarimo", NULL, index, mo->spriteramsize); - state_save_register_item("atarimo", NULL, index, mo->spriterammask); - state_save_register_item("atarimo", NULL, index, mo->maxcolors); - state_save_register_item("atarimo", NULL, index, mo->transpen); - state_save_register_item("atarimo", NULL, index, mo->maxperline); - state_save_register_item("atarimo", NULL, index, mo->specialvalue); - state_save_register_item("atarimo", NULL, index, mo->codehighshift); - state_save_register_item("atarimo", NULL, index, mo->dirtywidth); - state_save_register_item("atarimo", NULL, index, mo->dirtyheight); + state_save_register_item(machine, "atarimo", NULL, index, mo->reverse); + state_save_register_item(machine, "atarimo", NULL, index, mo->split); + state_save_register_item(machine, "atarimo", NULL, index, mo->linked); + state_save_register_item(machine, "atarimo", NULL, index, mo->swapxy); + state_save_register_item(machine, "atarimo", NULL, index, mo->nextneighbor); + state_save_register_item(machine, "atarimo", NULL, index, mo->slipshift); + state_save_register_item(machine, "atarimo", NULL, index, mo->slipoffset); + state_save_register_item(machine, "atarimo", NULL, index, mo->slipramsize); + state_save_register_item(machine, "atarimo", NULL, index, mo->sliprammask); + state_save_register_item(machine, "atarimo", NULL, index, mo->entrycount); + state_save_register_item(machine, "atarimo", NULL, index, mo->entrybits); + state_save_register_item(machine, "atarimo", NULL, index, mo->bankcount); + state_save_register_item(machine, "atarimo", NULL, index, mo->tilewidth); + state_save_register_item(machine, "atarimo", NULL, index, mo->tileheight); + state_save_register_item(machine, "atarimo", NULL, index, mo->tilexshift); + state_save_register_item(machine, "atarimo", NULL, index, mo->tileyshift); + state_save_register_item(machine, "atarimo", NULL, index, mo->bitmapwidth); + state_save_register_item(machine, "atarimo", NULL, index, mo->bitmapheight); + state_save_register_item(machine, "atarimo", NULL, index, mo->bitmapxmask); + state_save_register_item(machine, "atarimo", NULL, index, mo->bitmapymask); + state_save_register_item(machine, "atarimo", NULL, index, mo->spriteramsize); + state_save_register_item(machine, "atarimo", NULL, index, mo->spriterammask); + state_save_register_item(machine, "atarimo", NULL, index, mo->maxcolors); + state_save_register_item(machine, "atarimo", NULL, index, mo->transpen); + state_save_register_item(machine, "atarimo", NULL, index, mo->maxperline); + state_save_register_item(machine, "atarimo", NULL, index, mo->specialvalue); + state_save_register_item(machine, "atarimo", NULL, index, mo->codehighshift); + state_save_register_item(machine, "atarimo", NULL, index, mo->dirtywidth); + state_save_register_item(machine, "atarimo", NULL, index, mo->dirtyheight); #endif - state_save_register_bitmap("atarimo", NULL, index, "bitmap", mo->bitmap); + state_save_register_bitmap(machine, "atarimo", NULL, index, "bitmap", mo->bitmap); - state_save_register_memory("atarimo", NULL, index, "spriteram", mo->spriteram, sizeof(atarimo_entry), mo->spriteramsize); + state_save_register_memory(machine, "atarimo", NULL, index, "spriteram", mo->spriteram, sizeof(atarimo_entry), mo->spriteramsize); - state_save_register_item_pointer("atarimo", NULL, index, mo->codelookup, round_to_powerof2(mo->codemask.mask)); + state_save_register_item_pointer(machine, "atarimo", NULL, index, mo->codelookup, round_to_powerof2(mo->codemask.mask)); - state_save_register_item_pointer("atarimo", NULL, index, mo->colorlookup, round_to_powerof2(mo->colormask.mask)); + state_save_register_item_pointer(machine, "atarimo", NULL, index, mo->colorlookup, round_to_powerof2(mo->colormask.mask)); - state_save_register_item_pointer("atarimo", NULL, index, mo->dirtygrid, mo->dirtywidth * mo->dirtyheight); + state_save_register_item_pointer(machine, "atarimo", NULL, index, mo->dirtygrid, mo->dirtywidth * mo->dirtyheight); - state_save_register_item_pointer("atarimo", NULL, index, mo->gfxlookup, round_to_powerof2(mo->gfxmask.mask)); + state_save_register_item_pointer(machine, "atarimo", NULL, index, mo->gfxlookup, round_to_powerof2(mo->gfxmask.mask)); } @@ -448,7 +448,7 @@ void atarimo_init(running_machine *machine, int map, const atarimo_desc *desc) force_update_timer = timer_alloc(machine, force_update, NULL); timer_adjust_oneshot(force_update_timer,video_screen_get_time_until_pos(machine->primary_screen, 0, 0), 0); - init_savestate(map, mo); + init_savestate(machine, map, mo); logerror("atarimo_init:\n"); logerror(" width=%d (shift=%d), height=%d (shift=%d)\n", mo->tilewidth, mo->tilexshift, mo->tileheight, mo->tileyshift); diff --git a/src/mame/video/atarirle.c b/src/mame/video/atarirle.c index a896f6fcb3f..dc678595a91 100644 --- a/src/mame/video/atarirle.c +++ b/src/mame/video/atarirle.c @@ -361,19 +361,19 @@ void atarirle_init(running_machine *machine, int map, const atarirle_desc *desc) mo->partial_scanline = -1; /* register for save states */ - state_save_register_item_pointer("atarirle", NULL, map, mo->spriteram[0].data, ARRAY_LENGTH(mo->spriteram[0].data) * mo->spriteramsize); - state_save_register_item_bitmap("atarirle", NULL, map, mo->vram[0][0]); - state_save_register_item_bitmap("atarirle", NULL, map, mo->vram[0][1]); + state_save_register_item_pointer(machine, "atarirle", NULL, map, mo->spriteram[0].data, ARRAY_LENGTH(mo->spriteram[0].data) * mo->spriteramsize); + state_save_register_item_bitmap(machine, "atarirle", NULL, map, mo->vram[0][0]); + state_save_register_item_bitmap(machine, "atarirle", NULL, map, mo->vram[0][1]); if (mo->vrammask.mask != 0) { - state_save_register_item_bitmap("atarirle", NULL, map, mo->vram[1][0]); - state_save_register_item_bitmap("atarirle", NULL, map, mo->vram[1][1]); + state_save_register_item_bitmap(machine, "atarirle", NULL, map, mo->vram[1][0]); + state_save_register_item_bitmap(machine, "atarirle", NULL, map, mo->vram[1][1]); } - state_save_register_item("atarirle", NULL, map, mo->partial_scanline); - state_save_register_item("atarirle", NULL, map, mo->control_bits); - state_save_register_item("atarirle", NULL, map, mo->command); - state_save_register_item("atarirle", NULL, map, mo->is32bit); - state_save_register_item_array("atarirle", NULL, map, mo->checksums); + state_save_register_item(machine, "atarirle", NULL, map, mo->partial_scanline); + state_save_register_item(machine, "atarirle", NULL, map, mo->control_bits); + state_save_register_item(machine, "atarirle", NULL, map, mo->command); + state_save_register_item(machine, "atarirle", NULL, map, mo->is32bit); + state_save_register_item_array(machine, "atarirle", NULL, map, mo->checksums); } diff --git a/src/mame/video/atarisy2.c b/src/mame/video/atarisy2.c index d8f3339c14c..7615a4ab956 100644 --- a/src/mame/video/atarisy2.c +++ b/src/mame/video/atarisy2.c @@ -137,9 +137,9 @@ VIDEO_START( atarisy2 ) videobank = 0; /* save states */ - state_save_register_global_array(playfield_tile_bank); - state_save_register_global(videobank); - state_save_register_global_pointer(vram, 0x8000/2); + state_save_register_global_array(machine, playfield_tile_bank); + state_save_register_global(machine, videobank); + state_save_register_global_pointer(machine, vram, 0x8000/2); } diff --git a/src/mame/video/avgdvg.c b/src/mame/video/avgdvg.c index 311d68fdf7a..32c1c63255e 100644 --- a/src/mame/video/avgdvg.c +++ b/src/mame/video/avgdvg.c @@ -1415,39 +1415,39 @@ static const vgconf avg_quantum = * ************************************/ -static void register_state (void) +static void register_state (running_machine *machine) { - state_save_register_item("AVG", NULL, 0, vg->pc); - state_save_register_item("AVG", NULL, 0, vg->sp); - state_save_register_item("AVG", NULL, 0, vg->dvx); - state_save_register_item("AVG", NULL, 0, vg->dvy); - state_save_register_item("AVG", NULL, 0, vg->dvy12); - state_save_register_item("AVG", NULL, 0, vg->timer); - state_save_register_item_array("AVG", NULL, 0, vg->stack); - state_save_register_item("AVG", NULL, 0, vg->data); - state_save_register_item("AVG", NULL, 0, vg->state_latch); - state_save_register_item("AVG", NULL, 0, vg->int_latch); - state_save_register_item("AVG", NULL, 0, vg->scale); - state_save_register_item("AVG", NULL, 0, vg->bin_scale); - state_save_register_item("AVG", NULL, 0, vg->intensity); - state_save_register_item("AVG", NULL, 0, vg->color); - state_save_register_item("AVG", NULL, 0, vg->enspkl); - state_save_register_item("AVG", NULL, 0, vg->spkl_shift); - state_save_register_item("AVG", NULL, 0, vg->map); - state_save_register_item("AVG", NULL, 0, vg->hst); - state_save_register_item("AVG", NULL, 0, vg->lst); - state_save_register_item("AVG", NULL, 0, vg->izblank); - state_save_register_item("AVG", NULL, 0, vg->op); - state_save_register_item("AVG", NULL, 0, vg->halt); - state_save_register_item("AVG", NULL, 0, vg->sync_halt); - state_save_register_item("AVG", NULL, 0, vg->xdac_xor); - state_save_register_item("AVG", NULL, 0, vg->ydac_xor); - state_save_register_item("AVG", NULL, 0, vg->xpos); - state_save_register_item("AVG", NULL, 0, vg->ypos); - state_save_register_item("AVG", NULL, 0, vg->clipx_min); - state_save_register_item("AVG", NULL, 0, vg->clipy_min); - state_save_register_item("AVG", NULL, 0, vg->clipx_max); - state_save_register_item("AVG", NULL, 0, vg->clipy_max); + state_save_register_item(machine, "AVG", NULL, 0, vg->pc); + state_save_register_item(machine, "AVG", NULL, 0, vg->sp); + state_save_register_item(machine, "AVG", NULL, 0, vg->dvx); + state_save_register_item(machine, "AVG", NULL, 0, vg->dvy); + state_save_register_item(machine, "AVG", NULL, 0, vg->dvy12); + state_save_register_item(machine, "AVG", NULL, 0, vg->timer); + state_save_register_item_array(machine, "AVG", NULL, 0, vg->stack); + state_save_register_item(machine, "AVG", NULL, 0, vg->data); + state_save_register_item(machine, "AVG", NULL, 0, vg->state_latch); + state_save_register_item(machine, "AVG", NULL, 0, vg->int_latch); + state_save_register_item(machine, "AVG", NULL, 0, vg->scale); + state_save_register_item(machine, "AVG", NULL, 0, vg->bin_scale); + state_save_register_item(machine, "AVG", NULL, 0, vg->intensity); + state_save_register_item(machine, "AVG", NULL, 0, vg->color); + state_save_register_item(machine, "AVG", NULL, 0, vg->enspkl); + state_save_register_item(machine, "AVG", NULL, 0, vg->spkl_shift); + state_save_register_item(machine, "AVG", NULL, 0, vg->map); + state_save_register_item(machine, "AVG", NULL, 0, vg->hst); + state_save_register_item(machine, "AVG", NULL, 0, vg->lst); + state_save_register_item(machine, "AVG", NULL, 0, vg->izblank); + state_save_register_item(machine, "AVG", NULL, 0, vg->op); + state_save_register_item(machine, "AVG", NULL, 0, vg->halt); + state_save_register_item(machine, "AVG", NULL, 0, vg->sync_halt); + state_save_register_item(machine, "AVG", NULL, 0, vg->xdac_xor); + state_save_register_item(machine, "AVG", NULL, 0, vg->ydac_xor); + state_save_register_item(machine, "AVG", NULL, 0, vg->xpos); + state_save_register_item(machine, "AVG", NULL, 0, vg->ypos); + state_save_register_item(machine, "AVG", NULL, 0, vg->clipx_min); + state_save_register_item(machine, "AVG", NULL, 0, vg->clipy_min); + state_save_register_item(machine, "AVG", NULL, 0, vg->clipx_max); + state_save_register_item(machine, "AVG", NULL, 0, vg->clipy_max); } static VIDEO_START( avg_common ) @@ -1475,7 +1475,7 @@ static VIDEO_START( avg_common ) vg->xdac_xor = 0x200; vg->ydac_xor = 0x200; - register_state (); + register_state (machine); VIDEO_START_CALL(vector); } @@ -1492,7 +1492,7 @@ VIDEO_START( dvg ) vg_halt_timer = timer_alloc(machine, vg_set_halt_callback, NULL); vg_run_timer = timer_alloc(machine, run_state_machine, NULL); - register_state (); + register_state (machine); VIDEO_START_CALL(vector); } diff --git a/src/mame/video/balsente.c b/src/mame/video/balsente.c index 7e5e3af6cd5..6ea15e33254 100644 --- a/src/mame/video/balsente.c +++ b/src/mame/video/balsente.c @@ -46,8 +46,8 @@ VIDEO_START( balsente ) sprite_mask = memory_region_length(machine, "gfx1") - 1; /* register for saving */ - state_save_register_global_pointer(local_videoram, 256 * 256); - state_save_register_global(palettebank_vis); + state_save_register_global_pointer(machine, local_videoram, 256 * 256); + state_save_register_global(machine, palettebank_vis); } diff --git a/src/mame/video/battlnts.c b/src/mame/video/battlnts.c index 9d291b1b439..5a34de41969 100644 --- a/src/mame/video/battlnts.c +++ b/src/mame/video/battlnts.c @@ -46,7 +46,7 @@ VIDEO_START( battlnts ) layer_colorbase[0] = 0; layer_colorbase[1] = 0; - K007342_vh_start(0,tile_callback); + K007342_vh_start(machine,0,tile_callback); K007420_vh_start(machine,1,sprite_callback); } diff --git a/src/mame/video/bfm_adr2.c b/src/mame/video/bfm_adr2.c index 43ad80116ad..55a8c13f3ab 100644 --- a/src/mame/video/bfm_adr2.c +++ b/src/mame/video/bfm_adr2.c @@ -196,17 +196,17 @@ VIDEO_RESET( adder2 ) VIDEO_START( adder2 ) { - state_save_register_global(adder2_screen_page_reg); - state_save_register_global(adder2_c101); - state_save_register_global(adder2_rx); - state_save_register_global(adder_vbl_triggered); - state_save_register_global(adder2_acia_triggered); + state_save_register_global(machine, adder2_screen_page_reg); + state_save_register_global(machine, adder2_c101); + state_save_register_global(machine, adder2_rx); + state_save_register_global(machine, adder_vbl_triggered); + state_save_register_global(machine, adder2_acia_triggered); - state_save_register_global(adder2_data_from_sc2); - state_save_register_global(adder2_data_to_sc2); + state_save_register_global(machine, adder2_data_from_sc2); + state_save_register_global(machine, adder2_data_to_sc2); - state_save_register_item_array("Adder", NULL, 0, adder_ram); - state_save_register_item_2d_array("Adder", NULL, 0, adder_screen_ram); + state_save_register_item_array(machine, "Adder", NULL, 0, adder_ram); + state_save_register_item_2d_array(machine, "Adder", NULL, 0, adder_screen_ram); tilemap0 = tilemap_create(get_tile0_info, tilemap_scan_rows, 8, 8, 50, 35); diff --git a/src/mame/video/bishi.c b/src/mame/video/bishi.c index 13503ff5647..dd42f912aad 100644 --- a/src/mame/video/bishi.c +++ b/src/mame/video/bishi.c @@ -27,8 +27,8 @@ VIDEO_START(bishi) { assert(video_screen_get_format(machine->primary_screen) == BITMAP_FORMAT_RGB32); - K055555_vh_start(); - K054338_vh_start(); + K055555_vh_start(machine); + K054338_vh_start(machine); K056832_vh_start(machine, "gfx1", K056832_BPP_8, 1, NULL, bishi_tile_callback, 0); diff --git a/src/mame/video/bladestl.c b/src/mame/video/bladestl.c index c68fe23fe74..6ac0763db1f 100644 --- a/src/mame/video/bladestl.c +++ b/src/mame/video/bladestl.c @@ -78,7 +78,7 @@ VIDEO_START( bladestl ) layer_colorbase[0] = 0; layer_colorbase[1] = 1; - K007342_vh_start(0,tile_callback); + K007342_vh_start(machine,0,tile_callback); K007420_vh_start(machine,1,sprite_callback); } diff --git a/src/mame/video/blktiger.c b/src/mame/video/blktiger.c index 7435ca96164..23226198568 100644 --- a/src/mame/video/blktiger.c +++ b/src/mame/video/blktiger.c @@ -88,12 +88,12 @@ VIDEO_START( blktiger ) tilemap_set_transmask(bg_tilemap4x8,2,0xff00,0x80ff); tilemap_set_transmask(bg_tilemap4x8,3,0xf000,0x8fff); - state_save_register_global(blktiger_scroll_bank); - state_save_register_global(screen_layout); - state_save_register_global(chon); - state_save_register_global(objon); - state_save_register_global(bgon); - state_save_register_global_pointer(scroll_ram, BGRAM_BANK_SIZE * BGRAM_BANKS); + state_save_register_global(machine, blktiger_scroll_bank); + state_save_register_global(machine, screen_layout); + state_save_register_global(machine, chon); + state_save_register_global(machine, objon); + state_save_register_global(machine, bgon); + state_save_register_global_pointer(machine, scroll_ram, BGRAM_BANK_SIZE * BGRAM_BANKS); } diff --git a/src/mame/video/bombjack.c b/src/mame/video/bombjack.c index 18910661691..eaa869d39ef 100644 --- a/src/mame/video/bombjack.c +++ b/src/mame/video/bombjack.c @@ -73,7 +73,7 @@ VIDEO_START( bombjack ) tilemap_set_transparent_pen(fg_tilemap, 0); - state_save_register_global(background_image); + state_save_register_global(machine, background_image); } static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) diff --git a/src/mame/video/bosco.c b/src/mame/video/bosco.c index 947c1bf49e9..0a6a4f97763 100644 --- a/src/mame/video/bosco.c +++ b/src/mame/video/bosco.c @@ -151,10 +151,10 @@ VIDEO_START( bosco ) bosco_radary = bosco_radarx + 0x0800; - state_save_register_global(stars_scrollx); - state_save_register_global(stars_scrolly); - state_save_register_global(bosco_starcontrol); - state_save_register_global_array(bosco_starblink); + state_save_register_global(machine, stars_scrollx); + state_save_register_global(machine, stars_scrolly); + state_save_register_global(machine, bosco_starcontrol); + state_save_register_global_array(machine, bosco_starblink); } diff --git a/src/mame/video/btoads.c b/src/mame/video/btoads.c index 6e1cbeea72a..577af00a67a 100644 --- a/src/mame/video/btoads.c +++ b/src/mame/video/btoads.c @@ -54,15 +54,15 @@ VIDEO_START( btoads ) vram_fg_draw = (UINT8 *)btoads_vram_fg0; vram_fg_display = (UINT8 *)btoads_vram_fg1; - state_save_register_global(xscroll0); - state_save_register_global(xscroll1); - state_save_register_global(yscroll0); - state_save_register_global(yscroll1); - state_save_register_global(screen_control); + state_save_register_global(machine, xscroll0); + state_save_register_global(machine, xscroll1); + state_save_register_global(machine, yscroll0); + state_save_register_global(machine, yscroll1); + state_save_register_global(machine, screen_control); - state_save_register_global(sprite_source_offs); - state_save_register_global(sprite_dest_offs); - state_save_register_global(misc_control); + state_save_register_global(machine, sprite_source_offs); + state_save_register_global(machine, sprite_dest_offs); + state_save_register_global(machine, misc_control); } diff --git a/src/mame/video/carjmbre.c b/src/mame/video/carjmbre.c index 0039a3e79ef..f9e06d82048 100644 --- a/src/mame/video/carjmbre.c +++ b/src/mame/video/carjmbre.c @@ -82,8 +82,8 @@ VIDEO_START( carjmbre ) carjmbre_tilemap = tilemap_create( get_carjmbre_tile_info,tilemap_scan_rows,8,8,32,32 ); - state_save_register_global(carjmbre_flipscreen); - state_save_register_global(carjmbre_bgcolor); + state_save_register_global(machine, carjmbre_flipscreen); + state_save_register_global(machine, carjmbre_bgcolor); } VIDEO_UPDATE( carjmbre ) diff --git a/src/mame/video/ccastles.c b/src/mame/video/ccastles.c index 297ea3e98fd..2f63694526c 100644 --- a/src/mame/video/ccastles.c +++ b/src/mame/video/ccastles.c @@ -55,10 +55,10 @@ VIDEO_START( ccastles ) spritebitmap = video_screen_auto_bitmap_alloc(machine->primary_screen); /* register for savestates */ - state_save_register_global_array(video_control); - state_save_register_global_array(bitmode_addr); - state_save_register_global(hscroll); - state_save_register_global(vscroll); + state_save_register_global_array(machine, video_control); + state_save_register_global_array(machine, bitmode_addr); + state_save_register_global(machine, hscroll); + state_save_register_global(machine, vscroll); } diff --git a/src/mame/video/centiped.c b/src/mame/video/centiped.c index 8f6dd898d16..eb73cf04216 100644 --- a/src/mame/video/centiped.c +++ b/src/mame/video/centiped.c @@ -92,8 +92,8 @@ VIDEO_START( centiped ) centiped_flipscreen = 0; - state_save_register_global(centiped_flipscreen); - state_save_register_global(bullsdrt_sprites_bank); + state_save_register_global(machine, centiped_flipscreen); + state_save_register_global(machine, bullsdrt_sprites_bank); } @@ -113,7 +113,7 @@ VIDEO_START( milliped ) centiped_flipscreen = 0; - state_save_register_global(centiped_flipscreen); + state_save_register_global(machine, centiped_flipscreen); } diff --git a/src/mame/video/chaknpop.c b/src/mame/video/chaknpop.c index 2205fdcd785..9ce9df6509d 100644 --- a/src/mame/video/chaknpop.c +++ b/src/mame/video/chaknpop.c @@ -194,13 +194,13 @@ VIDEO_START( chaknpop ) set_vram_bank(machine); tx_tilemap_mark_all_dirty(); - state_save_register_global(gfxmode); - state_save_register_global_pointer(vram1, 0x2000); - state_save_register_global_pointer(vram2, 0x2000); - state_save_register_global_pointer(vram3, 0x2000); - state_save_register_global_pointer(vram4, 0x2000); - state_save_register_global(flip_x); - state_save_register_global(flip_y); + state_save_register_global(machine, gfxmode); + state_save_register_global_pointer(machine, vram1, 0x2000); + state_save_register_global_pointer(machine, vram2, 0x2000); + state_save_register_global_pointer(machine, vram3, 0x2000); + state_save_register_global_pointer(machine, vram4, 0x2000); + state_save_register_global(machine, flip_x); + state_save_register_global(machine, flip_y); state_save_register_postload(machine, chaknpop_postload, NULL); } diff --git a/src/mame/video/changela.c b/src/mame/video/changela.c index 95186ebe3fb..8a09bb9d420 100644 --- a/src/mame/video/changela.c +++ b/src/mame/video/changela.c @@ -41,13 +41,13 @@ VIDEO_START( changela ) changela_scanline_timer = timer_alloc(machine, changela_scanline_callback, NULL); timer_adjust_oneshot(changela_scanline_timer, video_screen_get_time_until_pos(machine->primary_screen, 30, 0), 30); - state_save_register_global(slopeROM_bank); - state_save_register_global(tree_en); - state_save_register_global(horizon); - state_save_register_global(mem_dev_selected); + state_save_register_global(machine, slopeROM_bank); + state_save_register_global(machine, tree_en); + state_save_register_global(machine, horizon); + state_save_register_global(machine, mem_dev_selected); - state_save_register_global_pointer(memory_devices, 4*0x800); - state_save_register_global_pointer(tree_ram, 2*0x20); + state_save_register_global_pointer(machine, memory_devices, 4*0x800); + state_save_register_global_pointer(machine, tree_ram, 2*0x20); } /************************************************************************** diff --git a/src/mame/video/cidelsa.c b/src/mame/video/cidelsa.c index a2f1c722947..899fdea8af1 100644 --- a/src/mame/video/cidelsa.c +++ b/src/mame/video/cidelsa.c @@ -214,11 +214,11 @@ static VIDEO_START(cidelsa) /* register for state saving */ - state_save_register_global(state->cdp1869_prd); - state_save_register_global(state->cdp1869_pcb); - state_save_register_global_pointer(state->pageram, CIDELSA_PAGERAM_SIZE); - state_save_register_global_pointer(state->pcbram, CIDELSA_CHARRAM_SIZE); - state_save_register_global_pointer(state->charram, CIDELSA_CHARRAM_SIZE); + state_save_register_global(machine, state->cdp1869_prd); + state_save_register_global(machine, state->cdp1869_pcb); + state_save_register_global_pointer(machine, state->pageram, CIDELSA_PAGERAM_SIZE); + state_save_register_global_pointer(machine, state->pcbram, CIDELSA_CHARRAM_SIZE); + state_save_register_global_pointer(machine, state->charram, CIDELSA_CHARRAM_SIZE); } static VIDEO_START(draco) @@ -237,11 +237,11 @@ static VIDEO_START(draco) /* register for state saving */ - state_save_register_global(state->cdp1869_prd); - state_save_register_global(state->cdp1869_pcb); - state_save_register_global_pointer(state->pageram, DRACO_PAGERAM_SIZE); - state_save_register_global_pointer(state->pcbram, CIDELSA_CHARRAM_SIZE); - state_save_register_global_pointer(state->charram, CIDELSA_CHARRAM_SIZE); + state_save_register_global(machine, state->cdp1869_prd); + state_save_register_global(machine, state->cdp1869_pcb); + state_save_register_global_pointer(machine, state->pageram, DRACO_PAGERAM_SIZE); + state_save_register_global_pointer(machine, state->pcbram, CIDELSA_CHARRAM_SIZE); + state_save_register_global_pointer(machine, state->charram, CIDELSA_CHARRAM_SIZE); } /* Video Update */ diff --git a/src/mame/video/cloak.c b/src/mame/video/cloak.c index 2483e8a40ff..ecf8374a976 100644 --- a/src/mame/video/cloak.c +++ b/src/mame/video/cloak.c @@ -180,12 +180,12 @@ VIDEO_START( cloak ) set_current_bitmap_videoram_pointer(); - state_save_register_global(bitmap_videoram_address_x); - state_save_register_global(bitmap_videoram_address_y); - state_save_register_global(bitmap_videoram_selected); - state_save_register_global_pointer(bitmap_videoram1, 256*256); - state_save_register_global_pointer(bitmap_videoram2, 256*256); - state_save_register_global_pointer(palette_ram, NUM_PENS); + state_save_register_global(machine, bitmap_videoram_address_x); + state_save_register_global(machine, bitmap_videoram_address_y); + state_save_register_global(machine, bitmap_videoram_selected); + state_save_register_global_pointer(machine, bitmap_videoram1, 256*256); + state_save_register_global_pointer(machine, bitmap_videoram2, 256*256); + state_save_register_global_pointer(machine, palette_ram, NUM_PENS); state_save_register_postload(machine, cloak_postload, NULL); } diff --git a/src/mame/video/cloud9.c b/src/mame/video/cloud9.c index 60be223f36d..5ab1690f438 100644 --- a/src/mame/video/cloud9.c +++ b/src/mame/video/cloud9.c @@ -56,9 +56,9 @@ VIDEO_START( cloud9 ) spritebitmap = video_screen_auto_bitmap_alloc(machine->primary_screen); /* register for savestates */ - state_save_register_global_pointer(videoram, 0x8000); - state_save_register_global_array(video_control); - state_save_register_global_array(bitmode_addr); + state_save_register_global_pointer(machine, videoram, 0x8000); + state_save_register_global_array(machine, video_control); + state_save_register_global_array(machine, bitmode_addr); } diff --git a/src/mame/video/crbaloon.c b/src/mame/video/crbaloon.c index 861ebc3f8e1..2eac869d0d8 100644 --- a/src/mame/video/crbaloon.c +++ b/src/mame/video/crbaloon.c @@ -80,8 +80,8 @@ VIDEO_START( crbaloon ) { bg_tilemap = tilemap_create(get_bg_tile_info, tilemap_scan_rows_flip_xy, 8, 8, 32, 32); - state_save_register_global(crbaloon_collision_address); - state_save_register_global(crbaloon_collision_address_clear); + state_save_register_global(machine, crbaloon_collision_address); + state_save_register_global(machine, crbaloon_collision_address_clear); } diff --git a/src/mame/video/crgolf.c b/src/mame/video/crgolf.c index 5ef99234ec7..313da99382d 100644 --- a/src/mame/video/crgolf.c +++ b/src/mame/video/crgolf.c @@ -108,8 +108,8 @@ static VIDEO_START( crgolf ) crgolf_videoram_b = auto_malloc(VIDEORAM_SIZE); /* register for save states */ - state_save_register_global_pointer(crgolf_videoram_a, VIDEORAM_SIZE); - state_save_register_global_pointer(crgolf_videoram_b, VIDEORAM_SIZE); + state_save_register_global_pointer(machine, crgolf_videoram_a, VIDEORAM_SIZE); + state_save_register_global_pointer(machine, crgolf_videoram_b, VIDEORAM_SIZE); } diff --git a/src/mame/video/dcheese.c b/src/mame/video/dcheese.c index 6804e337a20..c6e8c6e4b80 100644 --- a/src/mame/video/dcheese.c +++ b/src/mame/video/dcheese.c @@ -114,11 +114,11 @@ VIDEO_START( dcheese ) blitter_timer = timer_alloc(machine, blitter_scanline_callback, NULL); /* register for saving */ - state_save_register_global_array(blitter_color); - state_save_register_global_array(blitter_xparam); - state_save_register_global_array(blitter_yparam); - state_save_register_global_array(blitter_vidparam); - state_save_register_global_bitmap(dstbitmap); + state_save_register_global_array(machine, blitter_color); + state_save_register_global_array(machine, blitter_xparam); + state_save_register_global_array(machine, blitter_yparam); + state_save_register_global_array(machine, blitter_vidparam); + state_save_register_global_bitmap(machine, dstbitmap); } diff --git a/src/mame/video/ddragon.c b/src/mame/video/ddragon.c index f24153e8466..1c858ab05f8 100644 --- a/src/mame/video/ddragon.c +++ b/src/mame/video/ddragon.c @@ -114,8 +114,8 @@ VIDEO_START( ddragon ) tilemap_set_scrolldy(fg_tilemap, -8, -8); tilemap_set_scrolldy(bg_tilemap, -8, -8); - state_save_register_global(ddragon_scrollx_hi); - state_save_register_global(ddragon_scrolly_hi); + state_save_register_global(machine, ddragon_scrollx_hi); + state_save_register_global(machine, ddragon_scrolly_hi); } VIDEO_START( chinagat ) @@ -127,8 +127,8 @@ VIDEO_START( chinagat ) tilemap_set_scrolldy(fg_tilemap, -8, -8); tilemap_set_scrolldy(bg_tilemap, -8, -8); - state_save_register_global(ddragon_scrollx_hi); - state_save_register_global(ddragon_scrolly_hi); + state_save_register_global(machine, ddragon_scrollx_hi); + state_save_register_global(machine, ddragon_scrolly_hi); } diff --git a/src/mame/video/ddragon3.c b/src/mame/video/ddragon3.c index f6a5a25ec1e..8fedee52dc0 100644 --- a/src/mame/video/ddragon3.c +++ b/src/mame/video/ddragon3.c @@ -86,12 +86,12 @@ static TILE_GET_INFO( get_fg_tile_info ) VIDEO_START( ddragon3 ) { - state_save_register_global(ddragon3_vreg); - state_save_register_global(ddragon3_bg_scrollx); - state_save_register_global(ddragon3_bg_scrolly); - state_save_register_global(ddragon3_fg_scrollx); - state_save_register_global(ddragon3_fg_scrolly); - state_save_register_global(ddragon3_bg_tilebase); + state_save_register_global(machine, ddragon3_vreg); + state_save_register_global(machine, ddragon3_bg_scrollx); + state_save_register_global(machine, ddragon3_bg_scrolly); + state_save_register_global(machine, ddragon3_fg_scrollx); + state_save_register_global(machine, ddragon3_fg_scrolly); + state_save_register_global(machine, ddragon3_bg_tilebase); bg_tilemap = tilemap_create(get_bg_tile_info, tilemap_scan_rows, 16, 16, 32, 32); diff --git a/src/mame/video/deco32.c b/src/mame/video/deco32.c index acc3adb64e8..df1377bf0b8 100644 --- a/src/mame/video/deco32.c +++ b/src/mame/video/deco32.c @@ -1007,7 +1007,7 @@ VIDEO_START( dragngun ) deco32_pf2_colourbank=deco32_pf4_colourbank=0; alpha_set_level(0x80); - state_save_register_global(dragngun_sprite_ctrl); + state_save_register_global(machine, dragngun_sprite_ctrl); has_ace_ram=0; } @@ -1031,7 +1031,7 @@ VIDEO_START( lockload ) deco32_pf2_colourbank=deco32_pf4_colourbank=0; alpha_set_level(0x80); - state_save_register_global(dragngun_sprite_ctrl); + state_save_register_global(machine, dragngun_sprite_ctrl); has_ace_ram=0; } @@ -1060,7 +1060,7 @@ VIDEO_START( nslasher ) deco32_raster_display_list=0; deco32_pf2_colourbank=16; deco32_pf4_colourbank=16; - state_save_register_global(deco32_pri); + state_save_register_global(machine, deco32_pri); alpha_set_level(0x80); has_ace_ram=1; } diff --git a/src/mame/video/decocass.c b/src/mame/video/decocass.c index 8b2e41fae70..e172eb00833 100644 --- a/src/mame/video/decocass.c +++ b/src/mame/video/decocass.c @@ -81,20 +81,20 @@ static const UINT32 tile_offset[32*32] = { /******************************************** state saving setup ********************************************/ -void decocass_video_state_save_init(void) +void decocass_video_state_save_init(running_machine *machine) { - state_save_register_global(watchdog_count); - state_save_register_global(watchdog_flip); - state_save_register_global(color_missiles); - state_save_register_global(color_center_bot); - state_save_register_global(mode_set); - state_save_register_global(back_h_shift); - state_save_register_global(back_vl_shift); - state_save_register_global(back_vr_shift); - state_save_register_global(part_h_shift); - state_save_register_global(part_v_shift); - state_save_register_global(center_h_shift_space); - state_save_register_global(center_v_shift); + state_save_register_global(machine, watchdog_count); + state_save_register_global(machine, watchdog_flip); + state_save_register_global(machine, color_missiles); + state_save_register_global(machine, color_center_bot); + state_save_register_global(machine, mode_set); + state_save_register_global(machine, back_h_shift); + state_save_register_global(machine, back_vl_shift); + state_save_register_global(machine, back_vr_shift); + state_save_register_global(machine, part_h_shift); + state_save_register_global(machine, part_v_shift); + state_save_register_global(machine, center_h_shift_space); + state_save_register_global(machine, center_v_shift); } /******************************************** diff --git a/src/mame/video/digdug.c b/src/mame/video/digdug.c index 54aaa25d60e..ef05f6c4544 100644 --- a/src/mame/video/digdug.c +++ b/src/mame/video/digdug.c @@ -158,10 +158,10 @@ VIDEO_START( digdug ) spriteram_2 = digdug_posram + 0x380; spriteram_3 = digdug_flpram + 0x380; - state_save_register_global(bg_select); - state_save_register_global(tx_color_mode); - state_save_register_global(bg_disable); - state_save_register_global(bg_color_bank); + state_save_register_global(machine, bg_select); + state_save_register_global(machine, tx_color_mode); + state_save_register_global(machine, bg_disable); + state_save_register_global(machine, bg_color_bank); } diff --git a/src/mame/video/djmain.c b/src/mame/video/djmain.c index 7b995bfeab9..006f67a8362 100644 --- a/src/mame/video/djmain.c +++ b/src/mame/video/djmain.c @@ -142,7 +142,7 @@ VIDEO_START( djmain ) }; K056832_vh_start(machine, "gfx2", K056832_BPP_4dj, 1, scrolld, game_tile_callback, 1); - K055555_vh_start(); + K055555_vh_start(machine); K056832_set_LayerOffset(0, -92, -27); // K056832_set_LayerOffset(1, -87, -27); diff --git a/src/mame/video/dkong.c b/src/mame/video/dkong.c index 187f256480f..2acb9d179c7 100644 --- a/src/mame/video/dkong.c +++ b/src/mame/video/dkong.c @@ -931,13 +931,13 @@ static VIDEO_START( dkong_base ) state->sprite_bank = 0; state->vidhw = -1; - state_save_register_global(state->gfx_bank); - state_save_register_global(state->palette_bank); - state_save_register_global(state->sprite_bank); - state_save_register_global(state->grid_on); + state_save_register_global(machine, state->gfx_bank); + state_save_register_global(machine, state->palette_bank); + state_save_register_global(machine, state->sprite_bank); + state_save_register_global(machine, state->grid_on); - state_save_register_global(state->grid_col); - state_save_register_global(state->flip); + state_save_register_global(machine, state->grid_col); + state_save_register_global(machine, state->flip); } VIDEO_START( dkong ) diff --git a/src/mame/video/dooyong.c b/src/mame/video/dooyong.c index f235dfa4e2d..5f07f98c973 100644 --- a/src/mame/video/dooyong.c +++ b/src/mame/video/dooyong.c @@ -650,9 +650,9 @@ VIDEO_START( lastday ) memset(fg2scroll8, 0, 0x10); /* Register for save/restore */ - state_save_register_global_array(bgscroll8); - state_save_register_global_array(fgscroll8); - state_save_register_global(sprites_disabled); + state_save_register_global_array(machine, bgscroll8); + state_save_register_global_array(machine, fgscroll8); + state_save_register_global(machine, sprites_disabled); } VIDEO_START( gulfstrm ) @@ -687,8 +687,8 @@ VIDEO_START( gulfstrm ) memset(fg2scroll8, 0, 0x10); /* Register for save/restore */ - state_save_register_global_array(bgscroll8); - state_save_register_global_array(fgscroll8); + state_save_register_global_array(machine, bgscroll8); + state_save_register_global_array(machine, fgscroll8); } VIDEO_START( pollux ) @@ -720,8 +720,8 @@ VIDEO_START( pollux ) memset(fg2scroll8, 0, 0x10); /* Register for save/restore */ - state_save_register_global_array(bgscroll8); - state_save_register_global_array(fgscroll8); + state_save_register_global_array(machine, bgscroll8); + state_save_register_global_array(machine, fgscroll8); } VIDEO_START( bluehawk ) @@ -759,9 +759,9 @@ VIDEO_START( bluehawk ) memset(fg2scroll8, 0, 0x10); /* Register for save/restore */ - state_save_register_global_array(bgscroll8); - state_save_register_global_array(fgscroll8); - state_save_register_global_array(fg2scroll8); + state_save_register_global_array(machine, bgscroll8); + state_save_register_global_array(machine, fgscroll8); + state_save_register_global_array(machine, fg2scroll8); } VIDEO_START( flytiger ) @@ -794,9 +794,9 @@ VIDEO_START( flytiger ) memset(fg2scroll8, 0, 0x10); /* Register for save/restore */ - state_save_register_global_array(bgscroll8); - state_save_register_global_array(fgscroll8); - state_save_register_global(flytiger_pri); + state_save_register_global_array(machine, bgscroll8); + state_save_register_global_array(machine, fgscroll8); + state_save_register_global(machine, flytiger_pri); } VIDEO_START( primella ) @@ -828,9 +828,9 @@ VIDEO_START( primella ) memset(fg2scroll8, 0, 0x10); /* Register for save/restore */ - state_save_register_global_array(bgscroll8); - state_save_register_global_array(fgscroll8); - state_save_register_global(tx_pri); + state_save_register_global_array(machine, bgscroll8); + state_save_register_global_array(machine, fgscroll8); + state_save_register_global(machine, tx_pri); } VIDEO_START( rshark ) @@ -870,11 +870,11 @@ VIDEO_START( rshark ) memset(fg2scroll8, 0, 0x10); /* Register for save/restore */ - state_save_register_global_array(bgscroll8); - state_save_register_global_array(bg2scroll8); - state_save_register_global_array(fgscroll8); - state_save_register_global_array(fg2scroll8); - state_save_register_global(rshark_pri); + state_save_register_global_array(machine, bgscroll8); + state_save_register_global_array(machine, bg2scroll8); + state_save_register_global_array(machine, fgscroll8); + state_save_register_global_array(machine, fg2scroll8); + state_save_register_global(machine, rshark_pri); } VIDEO_START( popbingo ) @@ -894,11 +894,11 @@ VIDEO_START( popbingo ) memset(fg2scroll8, 0, 0x10); /* Register for save/restore */ - state_save_register_global_array(bgscroll8); - state_save_register_global_array(bg2scroll8); // Not used atm - state_save_register_global_array(fgscroll8); // Not used atm - state_save_register_global_array(fg2scroll8); // Not used atm - state_save_register_global(rshark_pri); + state_save_register_global_array(machine, bgscroll8); + state_save_register_global_array(machine, bg2scroll8); // Not used atm + state_save_register_global_array(machine, fgscroll8); // Not used atm + state_save_register_global_array(machine, fg2scroll8); // Not used atm + state_save_register_global(machine, rshark_pri); } diff --git a/src/mame/video/foodf.c b/src/mame/video/foodf.c index a2222d7932c..29a30cbe009 100644 --- a/src/mame/video/foodf.c +++ b/src/mame/video/foodf.c @@ -48,7 +48,7 @@ VIDEO_START( foodf ) /* adjust the playfield for the 8 pixel offset */ tilemap_set_scrollx(atarigen_playfield_tilemap, 0, -8); playfield_flip = 0; - state_save_register_global(playfield_flip); + state_save_register_global(machine, playfield_flip); /* compute the color output resistor weights */ compute_resistor_weights(0, 255, -1.0, diff --git a/src/mame/video/fromance.c b/src/mame/video/fromance.c index 839f0d85f76..1bd7d4f1c89 100644 --- a/src/mame/video/fromance.c +++ b/src/mame/video/fromance.c @@ -94,20 +94,20 @@ static void init_common(running_machine *machine) scrolly_ofs = 0x10; /* state save */ - state_save_register_global(selected_videoram); - state_save_register_global_pointer(local_videoram[0], 0x1000 * 3); - state_save_register_global_pointer(local_videoram[1], 0x1000 * 3); - state_save_register_global(selected_paletteram); - state_save_register_global_array(scrollx); - state_save_register_global_array(scrolly); - state_save_register_global(gfxreg); - state_save_register_global(flipscreen); - state_save_register_global(flipscreen_old); - state_save_register_global(scrollx_ofs); - state_save_register_global(scrolly_ofs); - state_save_register_global(crtc_register); - state_save_register_global_array(crtc_data); - state_save_register_global_pointer(local_paletteram, 0x800 * 2); + state_save_register_global(machine, selected_videoram); + state_save_register_global_pointer(machine, local_videoram[0], 0x1000 * 3); + state_save_register_global_pointer(machine, local_videoram[1], 0x1000 * 3); + state_save_register_global(machine, selected_paletteram); + state_save_register_global_array(machine, scrollx); + state_save_register_global_array(machine, scrolly); + state_save_register_global(machine, gfxreg); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, flipscreen_old); + state_save_register_global(machine, scrollx_ofs); + state_save_register_global(machine, scrolly_ofs); + state_save_register_global(machine, crtc_register); + state_save_register_global_array(machine, crtc_data); + state_save_register_global_pointer(machine, local_paletteram, 0x800 * 2); } VIDEO_START( fromance ) diff --git a/src/mame/video/gaelco3d.c b/src/mame/video/gaelco3d.c index 96ec50c6c83..aba85426151 100644 --- a/src/mame/video/gaelco3d.c +++ b/src/mame/video/gaelco3d.c @@ -91,15 +91,15 @@ VIDEO_START( gaelco3d ) /* save states */ - state_save_register_global_pointer(palette, 32768); - state_save_register_global_pointer(polydata_buffer, MAX_POLYDATA); - state_save_register_global(polydata_count); + state_save_register_global_pointer(machine, palette, 32768); + state_save_register_global_pointer(machine, polydata_buffer, MAX_POLYDATA); + state_save_register_global(machine, polydata_count); - state_save_register_global(polygons); - state_save_register_global(lastscan); + state_save_register_global(machine, polygons); + state_save_register_global(machine, lastscan); - state_save_register_bitmap("video", NULL, 0, "screenbits", screenbits); - state_save_register_bitmap("video", NULL, 0, "zbuffer", zbuffer); + state_save_register_global_bitmap(machine, screenbits); + state_save_register_global_bitmap(machine, zbuffer); } diff --git a/src/mame/video/galaga.c b/src/mame/video/galaga.c index f619b03cfa8..b1a4aab4425 100644 --- a/src/mame/video/galaga.c +++ b/src/mame/video/galaga.c @@ -450,10 +450,10 @@ VIDEO_START( galaga ) spriteram_3 = galaga_ram3 + 0x380; - state_save_register_global_array(galaga_starcontrol); - state_save_register_global(stars_scrollx); - state_save_register_global(stars_scrolly); - state_save_register_global(galaga_gfxbank); + state_save_register_global_array(machine, galaga_starcontrol); + state_save_register_global(machine, stars_scrollx); + state_save_register_global(machine, stars_scrolly); + state_save_register_global(machine, galaga_gfxbank); } diff --git a/src/mame/video/galaxian.c b/src/mame/video/galaxian.c index f222c78fb47..6cd72f10cfe 100644 --- a/src/mame/video/galaxian.c +++ b/src/mame/video/galaxian.c @@ -285,7 +285,7 @@ static UINT8 gfxbank[5]; * *************************************/ -static void state_save_register(void); +static void state_save_register(running_machine *machine); static TILE_GET_INFO( bg_get_tile_info ); static void sprites_draw(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, const UINT8 *spritebase); @@ -471,25 +471,25 @@ VIDEO_START( galaxian ) stars_init(); /* register for save states */ - state_save_register(); + state_save_register(machine); } -static void state_save_register(void) +static void state_save_register(running_machine *machine) { - state_save_register_global(flipscreen_x); - state_save_register_global(flipscreen_y); - state_save_register_global(background_enable); - state_save_register_global(background_red); - state_save_register_global(background_green); - state_save_register_global(background_blue); + state_save_register_global(machine, flipscreen_x); + state_save_register_global(machine, flipscreen_y); + state_save_register_global(machine, background_enable); + state_save_register_global(machine, background_red); + state_save_register_global(machine, background_green); + state_save_register_global(machine, background_blue); - state_save_register_global_array(gfxbank); + state_save_register_global_array(machine, gfxbank); - state_save_register_global(stars_enabled); - state_save_register_global(star_rng_origin); - state_save_register_global(star_rng_origin_frame); - state_save_register_global(stars_blink_state); + state_save_register_global(machine, stars_enabled); + state_save_register_global(machine, star_rng_origin); + state_save_register_global(machine, star_rng_origin_frame); + state_save_register_global(machine, stars_blink_state); } diff --git a/src/mame/video/galaxold.c b/src/mame/video/galaxold.c index cecc89929ef..ab4da1f10ca 100644 --- a/src/mame/video/galaxold.c +++ b/src/mame/video/galaxold.c @@ -458,22 +458,22 @@ PALETTE_INIT( turtles ) ***************************************************************************/ -static void state_save_register(void) +static void state_save_register(running_machine *machine) { - state_save_register_global_array(gfxbank); - state_save_register_global(flipscreen_x); - state_save_register_global(flipscreen_y); + state_save_register_global_array(machine, gfxbank); + state_save_register_global(machine, flipscreen_x); + state_save_register_global(machine, flipscreen_y); - state_save_register_global(galaxold_stars_on); - state_save_register_global(stars_scrollpos); - state_save_register_global(stars_blink_state); + state_save_register_global(machine, galaxold_stars_on); + state_save_register_global(machine, stars_scrollpos); + state_save_register_global(machine, stars_blink_state); - state_save_register_global(darkplnt_bullet_color); + state_save_register_global(machine, darkplnt_bullet_color); - state_save_register_global(background_enable); - state_save_register_global(background_red); - state_save_register_global(background_green); - state_save_register_global(background_blue); + state_save_register_global(machine, background_enable); + state_save_register_global(machine, background_red); + state_save_register_global(machine, background_green); + state_save_register_global(machine, background_blue); } static void video_start_common(running_machine *machine, tilemap_mapper_func get_memory_offset) @@ -510,7 +510,7 @@ static void video_start_common(running_machine *machine, tilemap_mapper_func get color_mask = (machine->gfx[0]->color_granularity == 4) ? 7 : 3; - state_save_register(); + state_save_register(machine); } VIDEO_START( galaxold_plain ) @@ -720,8 +720,8 @@ VIDEO_START( rockclim ) modify_charcode = mooncrst_modify_charcode; modify_spritecode = rockclim_modify_spritecode; rockclim_v = rockclim_h = 0; - state_save_register_global(rockclim_v); - state_save_register_global(rockclim_h); + state_save_register_global(machine, rockclim_v); + state_save_register_global(machine, rockclim_h); } static TILE_GET_INFO( drivfrcg_get_tile_info ) @@ -772,7 +772,7 @@ VIDEO_START( drivfrcg ) color_mask = 0xff; - state_save_register(); + state_save_register(machine); } VIDEO_START( ad2083 ) @@ -810,7 +810,7 @@ VIDEO_START( ad2083 ) color_mask = 7; - state_save_register(); + state_save_register(machine); } UINT8 *racknrol_tiles_bank; @@ -868,7 +868,7 @@ VIDEO_START( racknrol ) color_mask = 0xff; - state_save_register(); + state_save_register(machine); } VIDEO_START( bongo ) diff --git a/src/mame/video/galivan.c b/src/mame/video/galivan.c index 31eada34f41..c0bf518cec6 100644 --- a/src/mame/video/galivan.c +++ b/src/mame/video/galivan.c @@ -192,11 +192,11 @@ VIDEO_START( galivan ) tilemap_set_transparent_pen(tx_tilemap,15); /* register for saving */ - state_save_register_global_array(scrollx); - state_save_register_global_array(scrolly); - state_save_register_global(flipscreen); - state_save_register_global(write_layers); - state_save_register_global(layers); + state_save_register_global_array(machine, scrollx); + state_save_register_global_array(machine, scrolly); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, write_layers); + state_save_register_global(machine, layers); } VIDEO_START( ninjemak ) @@ -211,10 +211,10 @@ VIDEO_START( ninjemak ) tilemap_set_transparent_pen(tx_tilemap,15); /* register for saving */ - state_save_register_global_array(scrollx); - state_save_register_global_array(scrolly); - state_save_register_global(flipscreen); - state_save_register_global(ninjemak_dispdisable); + state_save_register_global_array(machine, scrollx); + state_save_register_global_array(machine, scrolly); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, ninjemak_dispdisable); } diff --git a/src/mame/video/gameplan.c b/src/mame/video/gameplan.c index 7c2e5af8e7d..abdc54a116d 100644 --- a/src/mame/video/gameplan.c +++ b/src/mame/video/gameplan.c @@ -305,11 +305,11 @@ static VIDEO_START( common ) create_via_0_timer(machine, state); /* register for save states */ - state_save_register_global_pointer(state->videoram, state->videoram_size); - state_save_register_global(state->video_x); - state_save_register_global(state->video_y); - state_save_register_global(state->video_command); - state_save_register_global(state->video_data); + state_save_register_global_pointer(machine, state->videoram, state->videoram_size); + state_save_register_global(machine, state->video_x); + state_save_register_global(machine, state->video_y); + state_save_register_global(machine, state->video_command); + state_save_register_global(machine, state->video_data); } diff --git a/src/mame/video/genesis.c b/src/mame/video/genesis.c index f2d7ebdade3..19fe79d61d8 100644 --- a/src/mame/video/genesis.c +++ b/src/mame/video/genesis.c @@ -175,29 +175,29 @@ static void start_genesis_vdp(const device_config *screen) vdp_address = 0; /* Save State Stuff */ - state_save_register_global_array(genesis_vdp_regs); - state_save_register_global_pointer(vdp_vram, 0x10000); - state_save_register_global_pointer(vdp_vsram, 0x80); - state_save_register_global_array(genesis_bg_pal_lookup); - state_save_register_global_array(genesis_sp_pal_lookup); - state_save_register_global(display_enable); - state_save_register_global(vdp_scrollabase); - state_save_register_global(vdp_scrollbbase); - state_save_register_global(vdp_windowbase); - state_save_register_global(vdp_spritebase); - state_save_register_global(vdp_hscrollbase); - state_save_register_global(vdp_hscrollmask); - state_save_register_global(vdp_hscrollsize); - state_save_register_global(vdp_vscrollmode); - state_save_register_global(vdp_cmdpart); - state_save_register_global(vdp_code); - state_save_register_global(vdp_address); - state_save_register_global(vdp_dmafill); - state_save_register_global(scrollheight); - state_save_register_global(scrollwidth); - state_save_register_global(bgcol); - state_save_register_global(window_down); - state_save_register_global(window_vpos); + state_save_register_global_array(screen->machine, genesis_vdp_regs); + state_save_register_global_pointer(screen->machine, vdp_vram, 0x10000); + state_save_register_global_pointer(screen->machine, vdp_vsram, 0x80); + state_save_register_global_array(screen->machine, genesis_bg_pal_lookup); + state_save_register_global_array(screen->machine, genesis_sp_pal_lookup); + state_save_register_global(screen->machine, display_enable); + state_save_register_global(screen->machine, vdp_scrollabase); + state_save_register_global(screen->machine, vdp_scrollbbase); + state_save_register_global(screen->machine, vdp_windowbase); + state_save_register_global(screen->machine, vdp_spritebase); + state_save_register_global(screen->machine, vdp_hscrollbase); + state_save_register_global(screen->machine, vdp_hscrollmask); + state_save_register_global(screen->machine, vdp_hscrollsize); + state_save_register_global(screen->machine, vdp_vscrollmode); + state_save_register_global(screen->machine, vdp_cmdpart); + state_save_register_global(screen->machine, vdp_code); + state_save_register_global(screen->machine, vdp_address); + state_save_register_global(screen->machine, vdp_dmafill); + state_save_register_global(screen->machine, scrollheight); + state_save_register_global(screen->machine, scrollwidth); + state_save_register_global(screen->machine, bgcol); + state_save_register_global(screen->machine, window_down); + state_save_register_global(screen->machine, window_vpos); } VIDEO_START(genesis) diff --git a/src/mame/video/gng.c b/src/mame/video/gng.c index 061555c0f38..1ab9450386a 100644 --- a/src/mame/video/gng.c +++ b/src/mame/video/gng.c @@ -64,8 +64,8 @@ VIDEO_START( gng ) tilemap_set_transmask(bg_tilemap,1,0x41,0xbe); /* split type 1 has pens 0 and 6 transparent in front half */ /* register to save state */ - state_save_register_global_array(scrollx); - state_save_register_global_array(scrolly); + state_save_register_global_array(machine, scrollx); + state_save_register_global_array(machine, scrolly); } diff --git a/src/mame/video/gottlieb.c b/src/mame/video/gottlieb.c index a52de8ff9c5..34673bd86d4 100644 --- a/src/mame/video/gottlieb.c +++ b/src/mame/video/gottlieb.c @@ -164,9 +164,9 @@ VIDEO_START( gottlieb ) tilemap_set_scrolldx(bg_tilemap, 0, 318 - 256); /* save some state */ - state_save_register_global(background_priority); - state_save_register_global(spritebank); - state_save_register_global(transparent0); + state_save_register_global(machine, background_priority); + state_save_register_global(machine, spritebank); + state_save_register_global(machine, transparent0); } diff --git a/src/mame/video/gtia.c b/src/mame/video/gtia.c index 889496bc2ff..997eeb53736 100644 --- a/src/mame/video/gtia.c +++ b/src/mame/video/gtia.c @@ -79,67 +79,67 @@ void gtia_init(running_machine *machine, const gtia_interface *intf) static void gtia_state(running_machine *machine) { - state_save_register_global(gtia.r.m0pf); - state_save_register_global(gtia.r.m1pf); - state_save_register_global(gtia.r.m2pf); - state_save_register_global(gtia.r.m3pf); - state_save_register_global(gtia.r.p0pf); - state_save_register_global(gtia.r.p1pf); - state_save_register_global(gtia.r.p2pf); - state_save_register_global(gtia.r.p3pf); - state_save_register_global(gtia.r.m0pl); - state_save_register_global(gtia.r.m1pl); - state_save_register_global(gtia.r.m2pl); - state_save_register_global(gtia.r.m3pl); - state_save_register_global(gtia.r.p0pl); - state_save_register_global(gtia.r.p1pl); - state_save_register_global(gtia.r.p2pl); - state_save_register_global(gtia.r.p3pl); - state_save_register_global_array(gtia.r.but); - state_save_register_global(gtia.r.pal); - state_save_register_global(gtia.r.gtia15); - state_save_register_global(gtia.r.gtia16); - state_save_register_global(gtia.r.gtia17); - state_save_register_global(gtia.r.gtia18); - state_save_register_global(gtia.r.gtia19); - state_save_register_global(gtia.r.gtia1a); - state_save_register_global(gtia.r.gtia1b); - state_save_register_global(gtia.r.gtia1c); - state_save_register_global(gtia.r.gtia1d); - state_save_register_global(gtia.r.gtia1e); - state_save_register_global(gtia.r.cons); - state_save_register_global(gtia.w.hposp0); - state_save_register_global(gtia.w.hposp1); - state_save_register_global(gtia.w.hposp2); - state_save_register_global(gtia.w.hposp3); - state_save_register_global(gtia.w.hposm0); - state_save_register_global(gtia.w.hposm1); - state_save_register_global(gtia.w.hposm2); - state_save_register_global(gtia.w.hposm3); - state_save_register_global(gtia.w.sizep0); - state_save_register_global(gtia.w.sizep1); - state_save_register_global(gtia.w.sizep2); - state_save_register_global(gtia.w.sizep3); - state_save_register_global(gtia.w.sizem); - state_save_register_global_array(gtia.w.grafp0); - state_save_register_global_array(gtia.w.grafp1); - state_save_register_global_array(gtia.w.grafp2); - state_save_register_global_array(gtia.w.grafp3); - state_save_register_global_array(gtia.w.grafm); - state_save_register_global(gtia.w.colpm0); - state_save_register_global(gtia.w.colpm1); - state_save_register_global(gtia.w.colpm2); - state_save_register_global(gtia.w.colpm3); - state_save_register_global(gtia.w.colpf0); - state_save_register_global(gtia.w.colpf1); - state_save_register_global(gtia.w.colpf2); - state_save_register_global(gtia.w.colpf3); - state_save_register_global(gtia.w.colbk); - state_save_register_global(gtia.w.prior); - state_save_register_global(gtia.w.vdelay); - state_save_register_global(gtia.w.gractl); - state_save_register_global(gtia.w.hitclr); - state_save_register_global(gtia.w.cons); + state_save_register_global(machine, gtia.r.m0pf); + state_save_register_global(machine, gtia.r.m1pf); + state_save_register_global(machine, gtia.r.m2pf); + state_save_register_global(machine, gtia.r.m3pf); + state_save_register_global(machine, gtia.r.p0pf); + state_save_register_global(machine, gtia.r.p1pf); + state_save_register_global(machine, gtia.r.p2pf); + state_save_register_global(machine, gtia.r.p3pf); + state_save_register_global(machine, gtia.r.m0pl); + state_save_register_global(machine, gtia.r.m1pl); + state_save_register_global(machine, gtia.r.m2pl); + state_save_register_global(machine, gtia.r.m3pl); + state_save_register_global(machine, gtia.r.p0pl); + state_save_register_global(machine, gtia.r.p1pl); + state_save_register_global(machine, gtia.r.p2pl); + state_save_register_global(machine, gtia.r.p3pl); + state_save_register_global_array(machine, gtia.r.but); + state_save_register_global(machine, gtia.r.pal); + state_save_register_global(machine, gtia.r.gtia15); + state_save_register_global(machine, gtia.r.gtia16); + state_save_register_global(machine, gtia.r.gtia17); + state_save_register_global(machine, gtia.r.gtia18); + state_save_register_global(machine, gtia.r.gtia19); + state_save_register_global(machine, gtia.r.gtia1a); + state_save_register_global(machine, gtia.r.gtia1b); + state_save_register_global(machine, gtia.r.gtia1c); + state_save_register_global(machine, gtia.r.gtia1d); + state_save_register_global(machine, gtia.r.gtia1e); + state_save_register_global(machine, gtia.r.cons); + state_save_register_global(machine, gtia.w.hposp0); + state_save_register_global(machine, gtia.w.hposp1); + state_save_register_global(machine, gtia.w.hposp2); + state_save_register_global(machine, gtia.w.hposp3); + state_save_register_global(machine, gtia.w.hposm0); + state_save_register_global(machine, gtia.w.hposm1); + state_save_register_global(machine, gtia.w.hposm2); + state_save_register_global(machine, gtia.w.hposm3); + state_save_register_global(machine, gtia.w.sizep0); + state_save_register_global(machine, gtia.w.sizep1); + state_save_register_global(machine, gtia.w.sizep2); + state_save_register_global(machine, gtia.w.sizep3); + state_save_register_global(machine, gtia.w.sizem); + state_save_register_global_array(machine, gtia.w.grafp0); + state_save_register_global_array(machine, gtia.w.grafp1); + state_save_register_global_array(machine, gtia.w.grafp2); + state_save_register_global_array(machine, gtia.w.grafp3); + state_save_register_global_array(machine, gtia.w.grafm); + state_save_register_global(machine, gtia.w.colpm0); + state_save_register_global(machine, gtia.w.colpm1); + state_save_register_global(machine, gtia.w.colpm2); + state_save_register_global(machine, gtia.w.colpm3); + state_save_register_global(machine, gtia.w.colpf0); + state_save_register_global(machine, gtia.w.colpf1); + state_save_register_global(machine, gtia.w.colpf2); + state_save_register_global(machine, gtia.w.colpf3); + state_save_register_global(machine, gtia.w.colbk); + state_save_register_global(machine, gtia.w.prior); + state_save_register_global(machine, gtia.w.vdelay); + state_save_register_global(machine, gtia.w.gractl); + state_save_register_global(machine, gtia.w.hitclr); + state_save_register_global(machine, gtia.w.cons); state_save_register_postload(machine, gtia_state_postload, NULL); } diff --git a/src/mame/video/gunsmoke.c b/src/mame/video/gunsmoke.c index b5b65e0cdaf..d6ee4b6843d 100644 --- a/src/mame/video/gunsmoke.c +++ b/src/mame/video/gunsmoke.c @@ -143,10 +143,10 @@ VIDEO_START( gunsmoke ) colortable_configure_tilemap_groups(machine->colortable, fg_tilemap, machine->gfx[0], 0x4f); /* register for saving */ - state_save_register_global(chon); - state_save_register_global(objon); - state_save_register_global(bgon); - state_save_register_global(sprite3bank); + state_save_register_global(machine, chon); + state_save_register_global(machine, objon); + state_save_register_global(machine, bgon); + state_save_register_global(machine, sprite3bank); } static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) diff --git a/src/mame/video/jaguar.c b/src/mame/video/jaguar.c index dcceec52aea..74e5437f4fb 100644 --- a/src/mame/video/jaguar.c +++ b/src/mame/video/jaguar.c @@ -818,10 +818,10 @@ VIDEO_START( cojag ) pen_table = auto_malloc(65536 * sizeof(pen_t)); - state_save_register_global_pointer(pen_table, 65536); - state_save_register_global_array(blitter_regs); - state_save_register_global_array(gpu_regs); - state_save_register_global(cpu_irq_state); + state_save_register_global_pointer(machine, pen_table, 65536); + state_save_register_global_array(machine, blitter_regs); + state_save_register_global_array(machine, gpu_regs); + state_save_register_global(machine, cpu_irq_state); state_save_register_postload(machine, cojag_postload, NULL); } diff --git a/src/mame/video/jedi.c b/src/mame/video/jedi.c index 3307aeaa0d2..bd2a1b342c6 100644 --- a/src/mame/video/jedi.c +++ b/src/mame/video/jedi.c @@ -33,8 +33,8 @@ static VIDEO_START( jedi ) jedi_state *state = machine->driver_data; /* register for saving */ - state_save_register_global(state->vscroll); - state_save_register_global(state->hscroll); + state_save_register_global(machine, state->vscroll); + state_save_register_global(machine, state->hscroll); } diff --git a/src/mame/video/jpmimpct.c b/src/mame/video/jpmimpct.c index 2bd89cebcd6..f1d892ff723 100644 --- a/src/mame/video/jpmimpct.c +++ b/src/mame/video/jpmimpct.c @@ -141,9 +141,9 @@ VIDEO_START( jpmimpct ) { memset(&bt477, 0, sizeof(bt477)); - state_save_register_global(bt477.address); - state_save_register_global(bt477.addr_cnt); - state_save_register_global(bt477.pixmask); - state_save_register_global(bt477.command); - state_save_register_global(bt477.color); + state_save_register_global(machine, bt477.address); + state_save_register_global(machine, bt477.addr_cnt); + state_save_register_global(machine, bt477.pixmask); + state_save_register_global(machine, bt477.command); + state_save_register_global(machine, bt477.color); } diff --git a/src/mame/video/kangaroo.c b/src/mame/video/kangaroo.c index 20c5774e9a6..228657b6fc2 100644 --- a/src/mame/video/kangaroo.c +++ b/src/mame/video/kangaroo.c @@ -25,7 +25,7 @@ VIDEO_START( kangaroo ) { /* video RAM is accessed 32 bits at a time (two planes, 4bpp each, 4 pixels) */ videoram32 = auto_malloc(256 * 64 * 4); - state_save_register_global_pointer(videoram32, 256 * 64); + state_save_register_global_pointer(machine, videoram32, 256 * 64); } diff --git a/src/mame/video/konamigx.c b/src/mame/video/konamigx.c index f2856754854..664f759b764 100644 --- a/src/mame/video/konamigx.c +++ b/src/mame/video/konamigx.c @@ -144,8 +144,8 @@ static void _gxcommoninitnosprites(running_machine *machine) { int i; - K054338_vh_start(); - K055555_vh_start(); + K054338_vh_start(machine); + K055555_vh_start(machine); konamigx_mixer_init(machine, 0); @@ -154,7 +154,7 @@ static void _gxcommoninitnosprites(running_machine *machine) gx_tilebanks[i] = gx_oldbanks[i] = 0; } - state_save_register_global_array(gx_tilebanks); + state_save_register_global_array(machine, gx_tilebanks); gx_tilemode = 0; diff --git a/src/mame/video/konamiic.c b/src/mame/video/konamiic.c index e7917aa1879..7dc22b126ea 100644 --- a/src/mame/video/konamiic.c +++ b/src/mame/video/konamiic.c @@ -1519,7 +1519,7 @@ static TILE_GET_INFO( K007342_get_tile_info1 ) { K007342_get_tile_info(machine,t -void K007342_vh_start(int gfx_index, void (*callback)(int tmap, int bank, int *code, int *color, int *flags)) +void K007342_vh_start(running_machine *machine, int gfx_index, void (*callback)(int tmap, int bank, int *code, int *color, int *flags)) { K007342_gfxnum = gfx_index; K007342_callback = callback; @@ -1540,13 +1540,13 @@ void K007342_vh_start(int gfx_index, void (*callback)(int tmap, int bank, int *c tilemap_set_transparent_pen(K007342_tilemap[0],0); tilemap_set_transparent_pen(K007342_tilemap[1],0); - state_save_register_global_pointer(K007342_ram, 0x2000); - state_save_register_global_pointer(K007342_scroll_ram, 0x0200); - state_save_register_global(K007342_int_enabled); - state_save_register_global(K007342_flipscreen); - state_save_register_global_array(K007342_scrollx); - state_save_register_global_array(K007342_scrolly); - state_save_register_global_array(K007342_regs); + state_save_register_global_pointer(machine, K007342_ram, 0x2000); + state_save_register_global_pointer(machine, K007342_scroll_ram, 0x0200); + state_save_register_global(machine, K007342_int_enabled); + state_save_register_global(machine, K007342_flipscreen); + state_save_register_global_array(machine, K007342_scrollx); + state_save_register_global_array(machine, K007342_scrolly); + state_save_register_global_array(machine, K007342_regs); } READ8_HANDLER( K007342_r ) @@ -1708,8 +1708,8 @@ void K007420_vh_start(running_machine *machine, int gfxnum, void (*callback)(int K007420_banklimit = -1; - state_save_register_global_pointer(K007420_ram, 0x0200); - state_save_register_global(K007420_banklimit); + state_save_register_global_pointer(machine, K007420_ram, 0x0200); + state_save_register_global(machine, K007420_banklimit); } READ8_HANDLER( K007420_r ) @@ -2069,16 +2069,16 @@ void K052109_vh_start(running_machine *machine,const char *gfx_memory_region,int K052109_dx[i] = K052109_dy[i] = 0; } - state_save_register_global_pointer(K052109_ram, 0x6000); - state_save_register_global(K052109_RMRD_line); - state_save_register_global(K052109_romsubbank); - state_save_register_global(K052109_scrollctrl); - state_save_register_global(K052109_irq_enabled); - state_save_register_global_array(K052109_charrombank); - state_save_register_global_array(K052109_charrombank_2); - state_save_register_global_array(K052109_dx); - state_save_register_global_array(K052109_dy); - state_save_register_global(has_extra_video_ram); + state_save_register_global_pointer(machine, K052109_ram, 0x6000); + state_save_register_global(machine, K052109_RMRD_line); + state_save_register_global(machine, K052109_romsubbank); + state_save_register_global(machine, K052109_scrollctrl); + state_save_register_global(machine, K052109_irq_enabled); + state_save_register_global_array(machine, K052109_charrombank); + state_save_register_global_array(machine, K052109_charrombank_2); + state_save_register_global_array(machine, K052109_dx); + state_save_register_global_array(machine, K052109_dy); + state_save_register_global(machine, has_extra_video_ram); state_save_register_postload(machine, K052109_tileflip_reset, NULL); } @@ -2563,13 +2563,13 @@ void K051960_vh_start(running_machine *machine,const char *gfx_memory_region,int K051960_ram = auto_malloc(0x400); memset(K051960_ram,0,0x400); - state_save_register_global(K051960_romoffset); - state_save_register_global(K051960_spriteflip); - state_save_register_global(K051960_readroms); - state_save_register_global_array(K051960_spriterombank); - state_save_register_global_pointer(K051960_ram, 0x400); - state_save_register_global(K051960_irq_enabled); - state_save_register_global(K051960_nmi_enabled); + state_save_register_global(machine, K051960_romoffset); + state_save_register_global(machine, K051960_spriteflip); + state_save_register_global(machine, K051960_readroms); + state_save_register_global_array(machine, K051960_spriterombank); + state_save_register_global_pointer(machine, K051960_ram, 0x400); + state_save_register_global(machine, K051960_irq_enabled); + state_save_register_global(machine, K051960_nmi_enabled); } @@ -3062,12 +3062,12 @@ void K053245_vh_start(running_machine *machine,int chip, const char *gfx_memory_ memset(K053245_ram[chip],0,K053245_ramsize[chip]); memset(K053245_buffer[chip],0,K053245_ramsize[chip]); - state_save_register_item_pointer("K053245", NULL, chip, K053245_ram[chip], K053245_ramsize[chip] / 2); - state_save_register_item_pointer("K053245", NULL, chip, K053245_buffer[chip], K053245_ramsize[chip] / 2); - state_save_register_item("K053245", NULL, chip, K053244_rombank[chip]); - state_save_register_item("K053245", NULL, chip, K053245_dx[chip]); - state_save_register_item("K053245", NULL, chip, K053245_dy[chip]); - state_save_register_item_array("K053245", NULL, chip, K053244_regs[chip]); + state_save_register_item_pointer(machine, "K053245", NULL, chip, K053245_ram[chip], K053245_ramsize[chip] / 2); + state_save_register_item_pointer(machine, "K053245", NULL, chip, K053245_buffer[chip], K053245_ramsize[chip] / 2); + state_save_register_item(machine, "K053245", NULL, chip, K053244_rombank[chip]); + state_save_register_item(machine, "K053245", NULL, chip, K053245_dx[chip]); + state_save_register_item(machine, "K053245", NULL, chip, K053245_dy[chip]); + state_save_register_item_array(machine, "K053245", NULL, chip, K053244_regs[chip]); } void K053245_set_SpriteOffset(int chip,int offsx, int offsy) @@ -3816,10 +3816,10 @@ void K053247_vh_start(running_machine *machine, const char *gfx_memory_region, i memset(K053246_regs, 0, 8); memset(K053247_regs, 0, 32); - state_save_register_global_pointer(K053247_ram, 0x800); - state_save_register_global_array(K053246_regs); - state_save_register_global_array(K053247_regs); - state_save_register_global(K053246_OBJCHA_line); + state_save_register_global_pointer(machine, K053247_ram, 0x800); + state_save_register_global_array(machine, K053246_regs); + state_save_register_global_array(machine, K053247_regs); + state_save_register_global(machine, K053246_OBJCHA_line); } /* K055673 used with the 54246 in PreGX/Run and Gun/System GX games */ @@ -3952,10 +3952,10 @@ void K055673_vh_start(running_machine *machine, const char *gfx_memory_region, i memset(K053246_regs, 0, 8); memset(K053247_regs, 0, 32); - state_save_register_global_pointer(K053247_ram, 0x800); - state_save_register_global_array(K053246_regs); - state_save_register_global_array(K053247_regs); - state_save_register_global(K053246_OBJCHA_line); + state_save_register_global_pointer(machine, K053247_ram, 0x800); + state_save_register_global_array(machine, K053246_regs); + state_save_register_global_array(machine, K053247_regs); + state_save_register_global(machine, K053246_OBJCHA_line); } WRITE16_HANDLER( K053247_reg_word_w ) // write-only OBJSET2 registers (see p.43 table 6.1) @@ -4717,11 +4717,11 @@ static void K051316_vh_start(running_machine *machine,int chip, const char *gfx_ K051316_wraparound[chip] = 0; /* default = no wraparound */ K051316_offset[chip][0] = K051316_offset[chip][1] = 0; - state_save_register_item_pointer("K051316", NULL, chip, K051316_ram[chip], 0x800); - state_save_register_item_array("K051316", NULL, chip, K051316_ctrlram[chip]); - state_save_register_item("K051316", NULL, chip, K051316_wraparound[chip]); - state_save_register_item("K051316", NULL, chip, K051316_offset[chip][0]); - state_save_register_item("K051316", NULL, chip, K051316_offset[chip][1]); + state_save_register_item_pointer(machine, "K051316", NULL, chip, K051316_ram[chip], 0x800); + state_save_register_item_array(machine, "K051316", NULL, chip, K051316_ctrlram[chip]); + state_save_register_item(machine, "K051316", NULL, chip, K051316_wraparound[chip]); + state_save_register_item(machine, "K051316", NULL, chip, K051316_offset[chip][0]); + state_save_register_item(machine, "K051316", NULL, chip, K051316_offset[chip][1]); } void K051316_vh_start_0(running_machine *machine,const char *gfx_memory_region,int bpp, @@ -5092,7 +5092,7 @@ void K053251_vh_start(running_machine *machine) { K053251_set_tilemaps(NULL,NULL,NULL,NULL,NULL); - state_save_register_global_array(K053251_ram); + state_save_register_global_array(machine, K053251_ram); state_save_register_postload(machine, K053251_reset_indexes, NULL); } @@ -5826,16 +5826,16 @@ void K056832_vh_start(running_machine *machine, const char *gfx_memory_region, i K056832_change_rambank(); K056832_change_rombank(); - state_save_register_global_pointer(K056832_videoram, 0x10000); - state_save_register_global_array(K056832_regs); - state_save_register_global_array(K056832_regsb); - state_save_register_global_array(K056832_X); - state_save_register_global_array(K056832_Y); - state_save_register_global_array(K056832_W); - state_save_register_global_array(K056832_H); - state_save_register_global_array(K056832_dx); - state_save_register_global_array(K056832_dy); - state_save_register_global_array(K056832_LayerTileMode); + state_save_register_global_pointer(machine, K056832_videoram, 0x10000); + state_save_register_global_array(machine, K056832_regs); + state_save_register_global_array(machine, K056832_regsb); + state_save_register_global_array(machine, K056832_X); + state_save_register_global_array(machine, K056832_Y); + state_save_register_global_array(machine, K056832_W); + state_save_register_global_array(machine, K056832_H); + state_save_register_global_array(machine, K056832_dx); + state_save_register_global_array(machine, K056832_dy); + state_save_register_global_array(machine, K056832_LayerTileMode); state_save_register_postload(machine, K056832_postload, NULL); } @@ -7165,9 +7165,9 @@ int K056832_read_register(int regnum) static UINT8 k55555_regs[128]; -void K055555_vh_start(void) +void K055555_vh_start(running_machine *machine) { - state_save_register_global_array(k55555_regs); + state_save_register_global_array(machine, k55555_regs); memset(k55555_regs, 0, 64*sizeof(UINT8)); } @@ -7256,13 +7256,13 @@ static int K054338_alphainverted; // K054338 alpha blend / final mixer (normally used with the 55555) // because the implementation is video dependant, this is just a // register-handling shell. -void K054338_vh_start(void) +void K054338_vh_start(running_machine *machine) { memset(k54338_regs, 0, sizeof(UINT16)*32); memset(K054338_shdRGB, 0, sizeof(int)*9); K054338_alphainverted = 1; - state_save_register_global_array(k54338_regs); + state_save_register_global_array(machine, k54338_regs); } WRITE16_HANDLER( K054338_word_w ) @@ -7528,7 +7528,7 @@ void K053250_unpack_pixels(const char *region) while ((--offset) >= 0); } -void K053250_vh_start(int chips, const char **region) +void K053250_vh_start(running_machine *machine, int chips, const char **region) { UINT16 *ram; int chip; @@ -7549,8 +7549,8 @@ void K053250_vh_start(int chips, const char **region) K053250_info.chip[chip].offsy = K053250_info.chip[chip].offsx = 0; K053250_info.chip[chip].frame = -1; - state_save_register_item_pointer("K053250", NULL, chip, K053250_info.chip[chip].ram, 0x800); - state_save_register_item_array("K053250", NULL, chip, K053250_info.chip[chip].regs); + state_save_register_item_pointer(machine, "K053250", NULL, chip, K053250_info.chip[chip].ram, 0x800); + state_save_register_item_array(machine, "K053250", NULL, chip, K053250_info.chip[chip].regs); } } diff --git a/src/mame/video/konamiic.h b/src/mame/video/konamiic.h index 069c24dad51..92e45909bac 100644 --- a/src/mame/video/konamiic.h +++ b/src/mame/video/konamiic.h @@ -16,7 +16,7 @@ void K007121_sprites_draw(int chip,bitmap_t *bitmap,gfx_element **gfxs, colortab int global_x_offset,int bank_base, UINT32 pri_mask); -void K007342_vh_start(int gfx_index, void (*callback)(int layer,int bank,int *code,int *color,int *flags)); +void K007342_vh_start(running_machine *machine, int gfx_index, void (*callback)(int layer,int bank,int *code,int *color,int *flags)); READ8_HANDLER( K007342_r ); WRITE8_HANDLER( K007342_w ); READ8_HANDLER( K007342_scroll_r ); @@ -313,7 +313,7 @@ WRITE32_HANDLER( K056832_b_long_w ); #define K056832_BPP_4dj 4 #define K056832_BPP_8LE 5 -void K055555_vh_start(void); // "PCU2" +void K055555_vh_start(running_machine *machine); // "PCU2" void K055555_write_reg(UINT8 regnum, UINT8 regdat); WRITE16_HANDLER( K055555_word_w ); WRITE32_HANDLER( K055555_long_w ); @@ -386,7 +386,7 @@ int K055555_get_palette_index(int idx); #define K55_INP_SUB3 0x80 /* K054338 mixer/alpha blender */ -void K054338_vh_start(void); +void K054338_vh_start(running_machine *machine); WRITE16_HANDLER( K054338_word_w ); // "CLCT" registers WRITE32_HANDLER( K054338_long_w ); int K054338_read_register(int reg); @@ -411,7 +411,7 @@ void K054338_export_config(int **shdRGB); #define K338_CTL_WAILSL 0x10 #define K338_CTL_CLIPSL 0x20 -void K053250_vh_start(int chips, const char **region); +void K053250_vh_start(running_machine *machine, int chips, const char **region); WRITE16_HANDLER( K053250_0_w ); READ16_HANDLER( K053250_0_r ); WRITE16_HANDLER( K053250_0_ram_w ); diff --git a/src/mame/video/lasso.c b/src/mame/video/lasso.c index 5be0ebb6ea9..2d5b916b790 100644 --- a/src/mame/video/lasso.c +++ b/src/mame/video/lasso.c @@ -183,7 +183,7 @@ VIDEO_START( lasso ) tilemap_set_transparent_pen(bg_tilemap, 0); /* register for saving */ - state_save_register_global(gfxbank); + state_save_register_global(machine, gfxbank); } VIDEO_START( wwjgtin ) @@ -195,8 +195,8 @@ VIDEO_START( wwjgtin ) tilemap_set_transparent_pen(bg_tilemap, 0); /* register for saving */ - state_save_register_global(gfxbank); - state_save_register_global(wwjgtin_track_enable); + state_save_register_global(machine, gfxbank); + state_save_register_global(machine, wwjgtin_track_enable); } VIDEO_START( pinbo ) @@ -205,7 +205,7 @@ VIDEO_START( pinbo ) bg_tilemap = tilemap_create(pinbo_get_bg_tile_info, tilemap_scan_rows, 8, 8,32,32); /* register for saving */ - state_save_register_global(gfxbank); + state_save_register_global(machine, gfxbank); } diff --git a/src/mame/video/m52.c b/src/mame/video/m52.c index 0d75f1d67d8..0b5fa3a1d41 100644 --- a/src/mame/video/m52.c +++ b/src/mame/video/m52.c @@ -162,11 +162,11 @@ VIDEO_START( m52 ) tilemap_set_scrolldy(bg_tilemap, 16, 16); tilemap_set_scroll_rows(bg_tilemap, 4); /* only lines 192-256 scroll */ - state_save_register_global(bg1xpos); - state_save_register_global(bg1ypos); - state_save_register_global(bg2xpos); - state_save_register_global(bg2ypos); - state_save_register_global(bgcontrol); + state_save_register_global(machine, bg1xpos); + state_save_register_global(machine, bg1ypos); + state_save_register_global(machine, bg2xpos); + state_save_register_global(machine, bg2ypos); + state_save_register_global(machine, bgcontrol); } diff --git a/src/mame/video/m62.c b/src/mame/video/m62.c index 4d77c956e81..b9e047d9bab 100644 --- a/src/mame/video/m62.c +++ b/src/mame/video/m62.c @@ -283,15 +283,15 @@ PALETTE_INIT( spelunk2 ) -static void register_savestate(void) +static void register_savestate(running_machine *machine) { - state_save_register_global(flipscreen); - state_save_register_global(kidniki_background_bank); - state_save_register_global(m62_background_hscroll); - state_save_register_global(m62_background_vscroll); - state_save_register_global(kidniki_text_vscroll); - state_save_register_global(spelunkr_palbank); - state_save_register_global_pointer(irem_textram, irem_textram_size); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, kidniki_background_bank); + state_save_register_global(machine, m62_background_hscroll); + state_save_register_global(machine, m62_background_vscroll); + state_save_register_global(machine, kidniki_text_vscroll); + state_save_register_global(machine, spelunkr_palbank); + state_save_register_global_pointer(machine, irem_textram, irem_textram_size); } WRITE8_HANDLER( m62_flipscreen_w ) @@ -401,14 +401,14 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta } } -static void m62_start( tile_get_info_func tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 ) +static void m62_start( running_machine *machine, tile_get_info_func tile_get_info, int rows, int cols, int x1, int y1, int x2, int y2 ) { m62_background = tilemap_create( tile_get_info, tilemap_scan_rows, x1, y1, x2, y2 ); m62_background_hscroll = 0; m62_background_vscroll = 0; - register_savestate(); + register_savestate(machine); if( rows != 0 ) { @@ -467,7 +467,7 @@ static TILE_GET_INFO( get_kungfum_bg_tile_info ) VIDEO_START( kungfum ) { - m62_start( get_kungfum_bg_tile_info, 32, 0, 8, 8, 64, 32 ); + m62_start( machine, get_kungfum_bg_tile_info, 32, 0, 8, 8, 64, 32 ); } VIDEO_UPDATE( kungfum ) @@ -514,7 +514,7 @@ static TILE_GET_INFO( get_ldrun_bg_tile_info ) VIDEO_START( ldrun ) { - m62_start( get_ldrun_bg_tile_info, 1, 1, 8, 8, 64, 32 ); + m62_start( machine, get_ldrun_bg_tile_info, 1, 1, 8, 8, 64, 32 ); tilemap_set_transmask(m62_background,0,0xffff,0x0000); /* split type 0 is totally transparent in front half */ tilemap_set_transmask(m62_background,1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */ } @@ -556,7 +556,7 @@ static TILE_GET_INFO( get_ldrun2_bg_tile_info ) VIDEO_START( ldrun2 ) { - m62_start( get_ldrun2_bg_tile_info, 1, 1, 8, 8, 64, 32 ); + m62_start( machine, get_ldrun2_bg_tile_info, 1, 1, 8, 8, 64, 32 ); tilemap_set_transmask(m62_background,0,0xffff,0x0000); /* split type 0 is totally transparent in front half */ tilemap_set_transmask(m62_background,1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */ } @@ -623,7 +623,7 @@ static TILE_GET_INFO( get_battroad_fg_tile_info ) VIDEO_START( battroad ) { - m62_start( get_battroad_bg_tile_info, 1, 1, 8, 8, 64, 32 ); + m62_start( machine, get_battroad_bg_tile_info, 1, 1, 8, 8, 64, 32 ); m62_textlayer( get_battroad_fg_tile_info, 1, 1, 8, 8, 32, 32 ); tilemap_set_transmask(m62_background,0,0xffff,0x0000); /* split type 0 is totally transparent in front half */ tilemap_set_transmask(m62_background,1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */ @@ -659,7 +659,7 @@ static TILE_GET_INFO( get_ldrun4_bg_tile_info ) VIDEO_START( ldrun4 ) { - m62_start( get_ldrun4_bg_tile_info, 1, 0, 8, 8, 64, 32 ); + m62_start( machine, get_ldrun4_bg_tile_info, 1, 0, 8, 8, 64, 32 ); } VIDEO_UPDATE( ldrun4 ) @@ -698,7 +698,7 @@ static TILE_GET_INFO( get_lotlot_fg_tile_info ) VIDEO_START( lotlot ) { - m62_start( get_lotlot_bg_tile_info, 1, 1, 12, 10, 32, 64 ); + m62_start( machine, get_lotlot_bg_tile_info, 1, 1, 12, 10, 32, 64 ); m62_textlayer( get_lotlot_fg_tile_info, 1, 1, 12, 10, 32, 64 ); } @@ -765,7 +765,7 @@ VIDEO_START( kidniki ) tilemap_set_transmask(m62_background,0,0xffff,0x0000); /* split type 0 is totally transparent in front half */ tilemap_set_transmask(m62_background,1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */ - register_savestate(); + register_savestate(machine); m62_textlayer( get_kidniki_fg_tile_info, 1, 1, 12, 8, 32, 64 ); } @@ -816,7 +816,7 @@ if (color&0xe0) popmessage("fg tilemap %x %x",tile_index,color&0xe0); VIDEO_START( spelunkr ) { - m62_start( get_spelunkr_bg_tile_info, 1, 1, 8, 8, 64, 64 ); + m62_start( machine, get_spelunkr_bg_tile_info, 1, 1, 8, 8, 64, 64 ); m62_textlayer( get_spelunkr_fg_tile_info, 1, 1, 12, 8, 32, 32 ); } @@ -858,7 +858,7 @@ static TILE_GET_INFO( get_spelunk2_bg_tile_info ) VIDEO_START( spelunk2 ) { - m62_start( get_spelunk2_bg_tile_info, 1, 1, 8, 8, 64, 64 ); + m62_start( machine, get_spelunk2_bg_tile_info, 1, 1, 8, 8, 64, 64 ); m62_textlayer( get_spelunkr_fg_tile_info, 1, 1, 12, 8, 32, 32 ); } @@ -905,7 +905,7 @@ static TILE_GET_INFO( get_youjyudn_fg_tile_info ) VIDEO_START( youjyudn ) { - m62_start( get_youjyudn_bg_tile_info, 1, 0, 8, 16, 64, 16 ); + m62_start( machine, get_youjyudn_bg_tile_info, 1, 0, 8, 16, 64, 16 ); m62_textlayer( get_youjyudn_fg_tile_info, 1, 1, 12, 8, 32, 32 ); tilemap_set_transmask(m62_background,0,0xffff,0x0000); /* split type 0 is totally transparent in front half */ tilemap_set_transmask(m62_background,1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */ @@ -950,7 +950,7 @@ static TILE_GET_INFO( get_horizon_bg_tile_info ) VIDEO_START( horizon ) { - m62_start( get_horizon_bg_tile_info, 32, 0, 8, 8, 64, 32 ); + m62_start( machine, get_horizon_bg_tile_info, 32, 0, 8, 8, 64, 32 ); tilemap_set_transmask(m62_background,0,0xffff,0x0000); /* split type 0 is totally transparent in front half */ tilemap_set_transmask(m62_background,1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */ } diff --git a/src/mame/video/m72.c b/src/mame/video/m72.c index 0e5215197fa..08a6c3ad6d7 100644 --- a/src/mame/video/m72.c +++ b/src/mame/video/m72.c @@ -107,15 +107,15 @@ static TILEMAP_MAPPER( majtitle_scan_rows ) ***************************************************************************/ -static void register_savestate(void) +static void register_savestate(running_machine *machine) { - state_save_register_global(m72_raster_irq_position); - state_save_register_global(video_off); - state_save_register_global(scrollx1); - state_save_register_global(scrolly1); - state_save_register_global(scrollx2); - state_save_register_global(scrolly2); - state_save_register_global_pointer(m72_spriteram, spriteram_size); + state_save_register_global(machine, m72_raster_irq_position); + state_save_register_global(machine, video_off); + state_save_register_global(machine, scrollx1); + state_save_register_global(machine, scrolly1); + state_save_register_global(machine, scrollx2); + state_save_register_global(machine, scrolly2); + state_save_register_global_pointer(machine, m72_spriteram, spriteram_size); } @@ -143,7 +143,7 @@ VIDEO_START( m72 ) tilemap_set_scrolldx(bg_tilemap,0,0); tilemap_set_scrolldy(bg_tilemap,-128,16); - register_savestate(); + register_savestate(machine); } VIDEO_START( rtype2 ) @@ -169,7 +169,7 @@ VIDEO_START( rtype2 ) tilemap_set_scrolldx(bg_tilemap,4,0); tilemap_set_scrolldy(bg_tilemap,-128,16); - register_savestate(); + register_savestate(machine); } VIDEO_START( poundfor ) @@ -208,7 +208,7 @@ VIDEO_START( majtitle ) tilemap_set_scrolldx(bg_tilemap,4,0); tilemap_set_scrolldy(bg_tilemap,-128,16); - register_savestate(); + register_savestate(machine); } VIDEO_START( hharry ) @@ -234,7 +234,7 @@ VIDEO_START( hharry ) tilemap_set_scrolldx(bg_tilemap,6,0); tilemap_set_scrolldy(bg_tilemap,-128,16); - register_savestate(); + register_savestate(machine); } diff --git a/src/mame/video/m90.c b/src/mame/video/m90.c index 32c62327664..6dd06525954 100644 --- a/src/mame/video/m90.c +++ b/src/mame/video/m90.c @@ -103,7 +103,7 @@ VIDEO_START( m90 ) tilemap_set_transparent_pen(pf1_layer,0); tilemap_set_transparent_pen(pf1_wide_layer,0); - state_save_register_global_array(m90_video_control_data); + state_save_register_global_array(machine, m90_video_control_data); } VIDEO_START( bomblord ) @@ -118,7 +118,7 @@ VIDEO_START( bomblord ) tilemap_set_transparent_pen(pf1_layer,0); tilemap_set_transparent_pen(pf1_wide_layer,0); - state_save_register_global_array(m90_video_control_data); + state_save_register_global_array(machine, m90_video_control_data); } VIDEO_START( dynablsb ) @@ -131,7 +131,7 @@ VIDEO_START( dynablsb ) tilemap_set_transparent_pen(pf2_layer,0); tilemap_set_transparent_pen(pf2_wide_layer,0); - state_save_register_global_array(m90_video_control_data); + state_save_register_global_array(machine, m90_video_control_data); } static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect) diff --git a/src/mame/video/m92.c b/src/mame/video/m92.c index 517c9a30430..8f0dd608b3b 100644 --- a/src/mame/video/m92.c +++ b/src/mame/video/m92.c @@ -275,8 +275,8 @@ VIDEO_START( m92 ) tilemap_set_transmask(layer->tmap, 2, 0x0001, (laynum == 2) ? 0xfffe : 0xffff); tilemap_set_transmask(layer->wide_tmap, 2, 0x0001, (laynum == 2) ? 0xfffe : 0xffff); - state_save_register_item("layer", NULL, laynum, layer->vram_base); - state_save_register_item_array("layer", NULL, laynum, layer->control); + state_save_register_item(machine, "layer", NULL, laynum, layer->vram_base); + state_save_register_item_array(machine, "layer", NULL, laynum, layer->control); } paletteram16 = auto_malloc(0x1000); @@ -284,14 +284,14 @@ VIDEO_START( m92 ) memset(spriteram16,0,0x800); memset(buffered_spriteram16,0,0x800); - state_save_register_global_array(pf_master_control); + state_save_register_global_array(machine, pf_master_control); - state_save_register_global(m92_sprite_list); - state_save_register_global(m92_raster_irq_position); - state_save_register_global(m92_sprite_buffer_busy); - state_save_register_global(m92_palette_bank); + state_save_register_global(machine, m92_sprite_list); + state_save_register_global(machine, m92_raster_irq_position); + state_save_register_global(machine, m92_sprite_buffer_busy); + state_save_register_global(machine, m92_palette_bank); - state_save_register_global_pointer(paletteram16, 0x1000); + state_save_register_global_pointer(machine, paletteram16, 0x1000); } /*****************************************************************************/ diff --git a/src/mame/video/magmax.c b/src/mame/video/magmax.c index 8fdc237abc7..cae90d683a3 100644 --- a/src/mame/video/magmax.c +++ b/src/mame/video/magmax.c @@ -73,7 +73,7 @@ VIDEO_START( magmax ) UINT8 * prom14D = memory_region(machine, "user2"); /* Set up save state */ - state_save_register_global(flipscreen); + state_save_register_global(machine, flipscreen); prom_tab = auto_malloc(256 * sizeof(UINT32)); diff --git a/src/mame/video/mario.c b/src/mame/video/mario.c index cb1f1da1a2d..1442141d2af 100644 --- a/src/mame/video/mario.c +++ b/src/mame/video/mario.c @@ -150,10 +150,10 @@ VIDEO_START( mario ) state->gfx_bank = 0; state->palette_bank = 0; state->gfx_scroll = 0; - state_save_register_global(state->gfx_bank); - state_save_register_global(state->palette_bank); - state_save_register_global(state->gfx_scroll); - state_save_register_global(state->flip); + state_save_register_global(machine, state->gfx_bank); + state_save_register_global(machine, state->palette_bank); + state_save_register_global(machine, state->gfx_scroll); + state_save_register_global(machine, state->flip); } /* diff --git a/src/mame/video/mcr3.c b/src/mame/video/mcr3.c index d0e428b4664..05217f1453b 100644 --- a/src/mame/video/mcr3.c +++ b/src/mame/video/mcr3.c @@ -129,10 +129,10 @@ VIDEO_START( spyhunt ) tilemap_set_transparent_pen(alpha_tilemap, 0); tilemap_set_scrollx(alpha_tilemap, 0, 16); - state_save_register_global(spyhunt_sprite_color_mask); - state_save_register_global(spyhunt_scrollx); - state_save_register_global(spyhunt_scrolly); - state_save_register_global(spyhunt_scroll_offset); + state_save_register_global(machine, spyhunt_sprite_color_mask); + state_save_register_global(machine, spyhunt_scrollx); + state_save_register_global(machine, spyhunt_scrolly); + state_save_register_global(machine, spyhunt_scroll_offset); } diff --git a/src/mame/video/midtunit.c b/src/mame/video/midtunit.c index 4dcd684ed45..3f55b1fe3dd 100644 --- a/src/mame/video/midtunit.c +++ b/src/mame/video/midtunit.c @@ -96,11 +96,11 @@ VIDEO_START( midtunit ) memset(&dma_state, 0, sizeof(dma_state)); /* register for state saving */ - state_save_register_global(midtunit_control); - state_save_register_global_array(gfxbank_offset); - state_save_register_global_pointer(local_videoram, 0x100000/sizeof(local_videoram[0])); - state_save_register_global(videobank_select); - state_save_register_global_array(dma_register); + state_save_register_global(machine, midtunit_control); + state_save_register_global_array(machine, gfxbank_offset); + state_save_register_global_pointer(machine, local_videoram, 0x100000/sizeof(local_videoram[0])); + state_save_register_global(machine, videobank_select); + state_save_register_global_array(machine, dma_register); } diff --git a/src/mame/video/midvunit.c b/src/mame/video/midvunit.c index 9ee31689149..4f7340a6cd6 100644 --- a/src/mame/video/midvunit.c +++ b/src/mame/video/midvunit.c @@ -80,11 +80,11 @@ VIDEO_START( midvunit ) poly = poly_alloc(4000, sizeof(poly_extra_data), POLYFLAG_ALLOW_QUADS); add_exit_callback(machine, midvunit_exit); - state_save_register_global_array(video_regs); - state_save_register_global_array(dma_data); - state_save_register_global(dma_data_index); - state_save_register_global(page_control); - state_save_register_global(video_changed); + state_save_register_global_array(machine, video_regs); + state_save_register_global_array(machine, dma_data); + state_save_register_global(machine, dma_data_index); + state_save_register_global(machine, page_control); + state_save_register_global(machine, video_changed); } diff --git a/src/mame/video/midyunit.c b/src/mame/video/midyunit.c index f6af360fbe6..87ae8d00cb9 100644 --- a/src/mame/video/midyunit.c +++ b/src/mame/video/midyunit.c @@ -87,11 +87,11 @@ static VIDEO_START( common ) memset(&dma_state, 0, sizeof(dma_state)); /* register for state saving */ - state_save_register_global(autoerase_enable); - state_save_register_global_pointer(local_videoram, 0x80000/sizeof(local_videoram[0])); - state_save_register_global_pointer(midyunit_cmos_ram, (0x2000 * 4)/sizeof(midyunit_cmos_ram[0])); - state_save_register_global(videobank_select); - state_save_register_global_array(dma_register); + state_save_register_global(machine, autoerase_enable); + state_save_register_global_pointer(machine, local_videoram, 0x80000/sizeof(local_videoram[0])); + state_save_register_global_pointer(machine, midyunit_cmos_ram, (0x2000 * 4)/sizeof(midyunit_cmos_ram[0])); + state_save_register_global(machine, videobank_select); + state_save_register_global_array(machine, dma_register); } diff --git a/src/mame/video/midzeus.c b/src/mame/video/midzeus.c index 65fc02cc9f2..06425cd21ec 100644 --- a/src/mame/video/midzeus.c +++ b/src/mame/video/midzeus.c @@ -263,19 +263,19 @@ VIDEO_START( midzeus ) zeus_renderbase = waveram[1]; /* state saving */ - state_save_register_global_array(zeus_fifo); - state_save_register_global(zeus_fifo_words); - state_save_register_global_2d_array(zeus_matrix); - state_save_register_global_array(zeus_point); - state_save_register_global_array(zeus_light); - state_save_register_global(zeus_palbase); - state_save_register_global(zeus_objdata); - state_save_register_global(zeus_cliprect.min_x); - state_save_register_global(zeus_cliprect.max_x); - state_save_register_global(zeus_cliprect.min_y); - state_save_register_global(zeus_cliprect.max_y); - state_save_register_global_pointer(waveram[0], WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8 / sizeof(waveram[0][0])); - state_save_register_global_pointer(waveram[1], WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 8 / sizeof(waveram[1][0])); + state_save_register_global_array(machine, zeus_fifo); + state_save_register_global(machine, zeus_fifo_words); + state_save_register_global_2d_array(machine, zeus_matrix); + state_save_register_global_array(machine, zeus_point); + state_save_register_global_array(machine, zeus_light); + state_save_register_global(machine, zeus_palbase); + state_save_register_global(machine, zeus_objdata); + state_save_register_global(machine, zeus_cliprect.min_x); + state_save_register_global(machine, zeus_cliprect.max_x); + state_save_register_global(machine, zeus_cliprect.min_y); + state_save_register_global(machine, zeus_cliprect.max_y); + state_save_register_global_pointer(machine, waveram[0], WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8 / sizeof(waveram[0][0])); + state_save_register_global_pointer(machine, waveram[1], WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 8 / sizeof(waveram[1][0])); } diff --git a/src/mame/video/midzeus2.c b/src/mame/video/midzeus2.c index 6e22c4fa0cb..8ff84311e5e 100644 --- a/src/mame/video/midzeus2.c +++ b/src/mame/video/midzeus2.c @@ -278,17 +278,17 @@ VIDEO_START( midzeus2 ) int_timer = timer_alloc(machine, int_timer_callback, NULL); /* save states */ - state_save_register_global_pointer(waveram[0], WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8 / sizeof(waveram[0][0])); - state_save_register_global_pointer(waveram[1], WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 12 / sizeof(waveram[1][0])); - state_save_register_global_array(zeus_fifo); - state_save_register_global(zeus_fifo_words); - state_save_register_global(zeus_cliprect.min_x); - state_save_register_global(zeus_cliprect.max_x); - state_save_register_global(zeus_cliprect.min_y); - state_save_register_global(zeus_cliprect.max_y); - state_save_register_global_2d_array(zeus_matrix); - state_save_register_global_array(zeus_point); - state_save_register_global(zeus_texbase); + state_save_register_global_pointer(machine, waveram[0], WAVERAM0_WIDTH * WAVERAM0_HEIGHT * 8 / sizeof(waveram[0][0])); + state_save_register_global_pointer(machine, waveram[1], WAVERAM1_WIDTH * WAVERAM1_HEIGHT * 12 / sizeof(waveram[1][0])); + state_save_register_global_array(machine, zeus_fifo); + state_save_register_global(machine, zeus_fifo_words); + state_save_register_global(machine, zeus_cliprect.min_x); + state_save_register_global(machine, zeus_cliprect.max_x); + state_save_register_global(machine, zeus_cliprect.min_y); + state_save_register_global(machine, zeus_cliprect.max_y); + state_save_register_global_2d_array(machine, zeus_matrix); + state_save_register_global_array(machine, zeus_point); + state_save_register_global(machine, zeus_texbase); } diff --git a/src/mame/video/model1.c b/src/mame/video/model1.c index 71b542b42d7..440d4eb328b 100644 --- a/src/mame/video/model1.c +++ b/src/mame/video/model1.c @@ -1453,9 +1453,9 @@ VIDEO_START(model1) quadpt = quaddb; listctl[0] = listctl[1] = 0; - state_save_register_global_pointer(tgp_ram, 0x100000-0x40000); - state_save_register_global_pointer(poly_ram, 0x40000); - state_save_register_global_array(listctl); + state_save_register_global_pointer(machine, tgp_ram, 0x100000-0x40000); + state_save_register_global_pointer(machine, poly_ram, 0x40000); + state_save_register_global_array(machine, listctl); } VIDEO_UPDATE(model1) diff --git a/src/mame/video/moo.c b/src/mame/video/moo.c index d27ff4c8773..fc163c66f95 100644 --- a/src/mame/video/moo.c +++ b/src/mame/video/moo.c @@ -48,7 +48,7 @@ VIDEO_START(moo) alpha_enabled = 0; K053251_vh_start(machine); - K054338_vh_start(); + K054338_vh_start(machine); K056832_vh_start(machine, "gfx1", K056832_BPP_4, 1, NULL, moo_tile_callback, 0); diff --git a/src/mame/video/mystwarr.c b/src/mame/video/mystwarr.c index 1be02bf3938..c3b6a5e05f3 100644 --- a/src/mame/video/mystwarr.c +++ b/src/mame/video/mystwarr.c @@ -159,8 +159,8 @@ static TILE_GET_INFO( get_gai_936_tile_info ) VIDEO_START(gaiapols) { - K055555_vh_start(); - K054338_vh_start(); + K055555_vh_start(machine); + K054338_vh_start(machine); gametype = 0; @@ -201,8 +201,8 @@ static TILE_GET_INFO( get_ult_936_tile_info ) VIDEO_START(dadandrn) { - K055555_vh_start(); - K054338_vh_start(); + K055555_vh_start(machine); + K054338_vh_start(machine); gametype = 1; @@ -232,8 +232,8 @@ VIDEO_START(dadandrn) VIDEO_START(mystwarr) { - K055555_vh_start(); - K054338_vh_start(); + K055555_vh_start(machine); + K054338_vh_start(machine); gametype = 0; @@ -261,9 +261,9 @@ VIDEO_START(metamrph) gametype = 0; - K055555_vh_start(); - K054338_vh_start(); - K053250_vh_start(1, &rgn_250); + K055555_vh_start(machine); + K054338_vh_start(machine); + K053250_vh_start(machine, 1, &rgn_250); mystwarr_save_orig_tiles(machine); @@ -288,8 +288,8 @@ VIDEO_START(viostorm) { gametype = 0; - K055555_vh_start(); - K054338_vh_start(); + K055555_vh_start(machine); + K054338_vh_start(machine); mystwarr_save_orig_tiles(machine); @@ -311,8 +311,8 @@ VIDEO_START(martchmp) { gametype = 0; - K055555_vh_start(); - K054338_vh_start(); + K055555_vh_start(machine); + K054338_vh_start(machine); mystwarr_save_orig_tiles(machine); diff --git a/src/mame/video/namcos1.c b/src/mame/video/namcos1.c index d4c91acdc5b..d84807c201d 100644 --- a/src/mame/video/namcos1.c +++ b/src/mame/video/namcos1.c @@ -120,10 +120,10 @@ VIDEO_START( namcos1 ) tilemap_set_scrolldy(bg_tilemap[5],0x10,0x110); /* register videoram to the save state system (post-allocation) */ - state_save_register_global_pointer(namcos1_videoram, 0x8000); - state_save_register_global_array(namcos1_cus116); - state_save_register_global_pointer(namcos1_spriteram, 0x1000); - state_save_register_global_array(namcos1_playfield_control); + state_save_register_global_pointer(machine, namcos1_videoram, 0x8000); + state_save_register_global_array(machine, namcos1_cus116); + state_save_register_global_pointer(machine, namcos1_spriteram, 0x1000); + state_save_register_global_array(machine, namcos1_playfield_control); /* set table for sprite color == 0x7f */ for (i = 0;i <= 15;i++) diff --git a/src/mame/video/neogeo.c b/src/mame/video/neogeo.c index e6eebee55b7..a7aafa6d7dc 100644 --- a/src/mame/video/neogeo.c +++ b/src/mame/video/neogeo.c @@ -884,19 +884,19 @@ VIDEO_START( neogeo ) auto_animation_frame_counter = 0; /* register for state saving */ - state_save_register_global_pointer(palettes[0], NUM_PENS); - state_save_register_global_pointer(palettes[1], NUM_PENS); - state_save_register_global_pointer(neogeo_videoram, 0x20000/2); - state_save_register_global(videoram_read_buffer); - state_save_register_global(videoram_modulo); - state_save_register_global(videoram_offset); - state_save_register_global(fixed_layer_source); - state_save_register_global(screen_dark); - state_save_register_global(palette_bank); - state_save_register_global(auto_animation_speed); - state_save_register_global(auto_animation_disabled); - state_save_register_global(auto_animation_counter); - state_save_register_global(auto_animation_frame_counter); + state_save_register_global_pointer(machine, palettes[0], NUM_PENS); + state_save_register_global_pointer(machine, palettes[1], NUM_PENS); + state_save_register_global_pointer(machine, neogeo_videoram, 0x20000/2); + state_save_register_global(machine, videoram_read_buffer); + state_save_register_global(machine, videoram_modulo); + state_save_register_global(machine, videoram_offset); + state_save_register_global(machine, fixed_layer_source); + state_save_register_global(machine, screen_dark); + state_save_register_global(machine, palette_bank); + state_save_register_global(machine, auto_animation_speed); + state_save_register_global(machine, auto_animation_disabled); + state_save_register_global(machine, auto_animation_counter); + state_save_register_global(machine, auto_animation_frame_counter); state_save_register_postload(machine, regenerate_pens, NULL); diff --git a/src/mame/video/pacland.c b/src/mame/video/pacland.c index 7875e5d572a..69c7187865e 100644 --- a/src/mame/video/pacland.c +++ b/src/mame/video/pacland.c @@ -224,9 +224,9 @@ VIDEO_START( pacland ) spriteram_2 = spriteram + 0x800; spriteram_3 = spriteram_2 + 0x800; - state_save_register_global(palette_bank); - state_save_register_global(scroll0); - state_save_register_global(scroll1); + state_save_register_global(machine, palette_bank); + state_save_register_global(machine, scroll0); + state_save_register_global(machine, scroll1); } diff --git a/src/mame/video/pacman.c b/src/mame/video/pacman.c index 6b9b62afcbb..ee5da1c3b13 100644 --- a/src/mame/video/pacman.c +++ b/src/mame/video/pacman.c @@ -164,20 +164,20 @@ static TILE_GET_INFO( pacman_get_tile_info ) ***************************************************************************/ -static void init_save_state(void) +static void init_save_state(running_machine *machine) { - state_save_register_global(charbank); - state_save_register_global(spritebank); - state_save_register_global(palettebank); - state_save_register_global(colortablebank); - state_save_register_global(flipscreen); - state_save_register_global(bgpriority); + state_save_register_global(machine, charbank); + state_save_register_global(machine, spritebank); + state_save_register_global(machine, palettebank); + state_save_register_global(machine, colortablebank); + state_save_register_global(machine, flipscreen); + state_save_register_global(machine, bgpriority); } VIDEO_START( pacman ) { - init_save_state(); + init_save_state(machine); charbank = 0; spritebank = 0; @@ -301,7 +301,7 @@ VIDEO_UPDATE( pacman ) VIDEO_START( pengo ) { - init_save_state(); + init_save_state(machine); charbank = 0; spritebank = 0; @@ -377,7 +377,7 @@ static TILE_GET_INFO( s2650_get_tile_info ) VIDEO_START( s2650games ) { - init_save_state(); + init_save_state(machine); charbank = 0; spritebank = 0; @@ -550,7 +550,7 @@ static void jrpacman_mark_tile_dirty( int offset ) ***************************************************************************/ VIDEO_START( jrpacman ) { - init_save_state(); + init_save_state(machine); charbank = 0; spritebank = 0; diff --git a/src/mame/video/phoenix.c b/src/mame/video/phoenix.c index 093e18ff9e7..1c8d8fd2745 100644 --- a/src/mame/video/phoenix.c +++ b/src/mame/video/phoenix.c @@ -199,11 +199,11 @@ VIDEO_START( phoenix ) tilemap_set_scrolldy(fg_tilemap, 0, (VTOTAL - VBSTART)); tilemap_set_scrolldy(bg_tilemap, 0, (VTOTAL - VBSTART)); - state_save_register_global_pointer(videoram_pg[0], 0x1000); - state_save_register_global_pointer(videoram_pg[1], 0x1000); - state_save_register_global(videoram_pg_index); - state_save_register_global(palette_bank); - state_save_register_global(cocktail_mode); + state_save_register_global_pointer(machine, videoram_pg[0], 0x1000); + state_save_register_global_pointer(machine, videoram_pg[1], 0x1000); + state_save_register_global(machine, videoram_pg_index); + state_save_register_global(machine, palette_bank); + state_save_register_global(machine, cocktail_mode); /* some more candidates */ pleiads_protection_question = 0; @@ -213,11 +213,11 @@ VIDEO_START( phoenix ) survival_input_latches[0] = 0; survival_input_latches[1] = 0; - state_save_register_global(pleiads_protection_question); - state_save_register_global(survival_protection_value); - state_save_register_global(survival_sid_value); - state_save_register_global(survival_input_readc); - state_save_register_global_array(survival_input_latches); + state_save_register_global(machine, pleiads_protection_question); + state_save_register_global(machine, survival_protection_value); + state_save_register_global(machine, survival_sid_value); + state_save_register_global(machine, survival_input_readc); + state_save_register_global_array(machine, survival_input_latches); } diff --git a/src/mame/video/plygonet.c b/src/mame/video/plygonet.c index fedc1c9202d..43c6abdfd09 100644 --- a/src/mame/video/plygonet.c +++ b/src/mame/video/plygonet.c @@ -82,7 +82,7 @@ VIDEO_START( polygonet ) tilemap_set_transparent_pen(ttl_tilemap, 0); - state_save_register_global_array(ttl_vram); + state_save_register_global_array(machine, ttl_vram); } VIDEO_UPDATE( polygonet ) diff --git a/src/mame/video/popper.c b/src/mame/video/popper.c index 5fa4ccc6489..5481754dffa 100644 --- a/src/mame/video/popper.c +++ b/src/mame/video/popper.c @@ -189,9 +189,9 @@ VIDEO_START( popper ) tilemap_clip = *video_screen_get_visible_area(machine->primary_screen); - state_save_register_global(popper_flipscreen); -// state_save_register_global(popper_e002); - state_save_register_global(popper_gfx_bank); + state_save_register_global(machine, popper_flipscreen); +// state_save_register_global(machine, popper_e002); + state_save_register_global(machine, popper_gfx_bank); } static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect) diff --git a/src/mame/video/prehisle.c b/src/mame/video/prehisle.c index 834d1c3784d..1360f5a0ada 100644 --- a/src/mame/video/prehisle.c +++ b/src/mame/video/prehisle.c @@ -107,7 +107,7 @@ VIDEO_START( prehisle ) tilemap_set_transparent_pen(fg_tilemap, 15); /* register for saving */ - state_save_register_global(invert_controls); + state_save_register_global(machine, invert_controls); } static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect, int foreground ) diff --git a/src/mame/video/psx.c b/src/mame/video/psx.c index 754520d1ba4..7277973aa3f 100644 --- a/src/mame/video/psx.c +++ b/src/mame/video/psx.c @@ -738,39 +738,39 @@ static void psx_gpu_init( running_machine *machine ) } // icky!!! - state_save_register_memory( "globals", NULL, 0, "m_packet", (UINT8 *)&m_packet, 1, sizeof( m_packet ) ); + state_save_register_memory( machine, "globals", NULL, 0, "m_packet", (UINT8 *)&m_packet, 1, sizeof( m_packet ) ); - state_save_register_global_pointer( m_p_vram, m_n_vram_size ); - state_save_register_global( m_n_gpu_buffer_offset ); - state_save_register_global( m_n_vramx ); - state_save_register_global( m_n_vramy ); - state_save_register_global( m_n_twy ); - state_save_register_global( m_n_twx ); - state_save_register_global( m_n_tww ); - state_save_register_global( m_n_drawarea_x1 ); - state_save_register_global( m_n_drawarea_y1 ); - state_save_register_global( m_n_drawarea_x2 ); - state_save_register_global( m_n_drawarea_y2 ); - state_save_register_global( m_n_horiz_disstart ); - state_save_register_global( m_n_horiz_disend ); - state_save_register_global( m_n_vert_disstart ); - state_save_register_global( m_n_vert_disend ); - state_save_register_global( m_b_reverseflag ); - state_save_register_global( m_n_drawoffset_x ); - state_save_register_global( m_n_drawoffset_y ); - state_save_register_global( m_n_displaystartx ); - state_save_register_global( m_n_displaystarty ); - state_save_register_global( m_n_gpustatus ); - state_save_register_global( m_n_gpuinfo ); - state_save_register_global( m_n_lightgun_x ); - state_save_register_global( m_n_lightgun_y ); - state_save_register_global( psxgpu.n_tx ); - state_save_register_global( psxgpu.n_ty ); - state_save_register_global( psxgpu.n_abr ); - state_save_register_global( psxgpu.n_tp ); - state_save_register_global( psxgpu.n_ix ); - state_save_register_global( psxgpu.n_iy ); - state_save_register_global( psxgpu.n_ti ); + state_save_register_global_pointer(machine, m_p_vram, m_n_vram_size ); + state_save_register_global(machine, m_n_gpu_buffer_offset ); + state_save_register_global(machine, m_n_vramx ); + state_save_register_global(machine, m_n_vramy ); + state_save_register_global(machine, m_n_twy ); + state_save_register_global(machine, m_n_twx ); + state_save_register_global(machine, m_n_tww ); + state_save_register_global(machine, m_n_drawarea_x1 ); + state_save_register_global(machine, m_n_drawarea_y1 ); + state_save_register_global(machine, m_n_drawarea_x2 ); + state_save_register_global(machine, m_n_drawarea_y2 ); + state_save_register_global(machine, m_n_horiz_disstart ); + state_save_register_global(machine, m_n_horiz_disend ); + state_save_register_global(machine, m_n_vert_disstart ); + state_save_register_global(machine, m_n_vert_disend ); + state_save_register_global(machine, m_b_reverseflag ); + state_save_register_global(machine, m_n_drawoffset_x ); + state_save_register_global(machine, m_n_drawoffset_y ); + state_save_register_global(machine, m_n_displaystartx ); + state_save_register_global(machine, m_n_displaystarty ); + state_save_register_global(machine, m_n_gpustatus ); + state_save_register_global(machine, m_n_gpuinfo ); + state_save_register_global(machine, m_n_lightgun_x ); + state_save_register_global(machine, m_n_lightgun_y ); + state_save_register_global(machine, psxgpu.n_tx ); + state_save_register_global(machine, psxgpu.n_ty ); + state_save_register_global(machine, psxgpu.n_abr ); + state_save_register_global(machine, psxgpu.n_tp ); + state_save_register_global(machine, psxgpu.n_ix ); + state_save_register_global(machine, psxgpu.n_iy ); + state_save_register_global(machine, psxgpu.n_ti ); state_save_register_postload( machine, updatevisiblearea, NULL ); } diff --git a/src/mame/video/qix.c b/src/mame/video/qix.c index 7148ef49598..54fb2e9e1f0 100644 --- a/src/mame/video/qix.c +++ b/src/mame/video/qix.c @@ -49,10 +49,10 @@ static VIDEO_START( qix ) state->videoram = auto_malloc(256 * 256); /* set up save states */ - state_save_register_global_pointer(state->videoram, 256 * 256); - state_save_register_global(state->flip); - state_save_register_global(state->palette_bank); - state_save_register_global(state->leds); + state_save_register_global_pointer(machine, state->videoram, 256 * 256); + state_save_register_global(machine, state->flip); + state_save_register_global(machine, state->palette_bank); + state_save_register_global(machine, state->leds); } diff --git a/src/mame/video/rastan.c b/src/mame/video/rastan.c index 6ab882ecd47..a637663cb58 100644 --- a/src/mame/video/rastan.c +++ b/src/mame/video/rastan.c @@ -21,20 +21,20 @@ VIDEO_START( rastan ) { /* (chips, gfxnum, x_offs, y_offs, y_invert, opaque, dblwidth) */ PC080SN_vh_start(machine,1,0,0,0,0,0,0); - PC090OJ_vh_start(1,0,0,0); + PC090OJ_vh_start(machine,1,0,0,0); } VIDEO_START( opwolf ) { PC080SN_vh_start(machine,1,1,0,0,0,0,0); - PC090OJ_vh_start(0,0,0,0); + PC090OJ_vh_start(machine,0,0,0,0); } VIDEO_START( rainbow ) { /* (chips, gfxnum, x_offs, y_offs, y_invert, opaque, dblwidth) */ PC080SN_vh_start(machine,1,1,0,0,0,0,0); - PC090OJ_vh_start(0,0,0,0); + PC090OJ_vh_start(machine,0,0,0,0); } VIDEO_START( jumping ) @@ -44,8 +44,8 @@ VIDEO_START( jumping ) PC080SN_set_trans_pen(0,1,15); /* not 100% sure Jumping needs to save both... */ - state_save_register_global(sprite_ctrl); - state_save_register_global(sprites_flipscreen); + state_save_register_global(machine, sprite_ctrl); + state_save_register_global(machine, sprites_flipscreen); } diff --git a/src/mame/video/redalert.c b/src/mame/video/redalert.c index 456f209cfab..a809cd5ea9c 100644 --- a/src/mame/video/redalert.c +++ b/src/mame/video/redalert.c @@ -140,7 +140,7 @@ static VIDEO_START( redalert ) { redalert_bitmap_colorram = auto_malloc(0x0400); - state_save_register_global_pointer(redalert_bitmap_colorram, 0x0400); + state_save_register_global_pointer(machine, redalert_bitmap_colorram, 0x0400); redalert_control_xor = 0x00; } diff --git a/src/mame/video/renegade.c b/src/mame/video/renegade.c index 7ad7c98363d..66454fed254 100644 --- a/src/mame/video/renegade.c +++ b/src/mame/video/renegade.c @@ -70,7 +70,7 @@ VIDEO_START( renegade ) tilemap_set_transparent_pen(fg_tilemap, 0); tilemap_set_scrolldx(bg_tilemap, 256, 0); - state_save_register_global(renegade_scrollx); + state_save_register_global(machine, renegade_scrollx); } static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) diff --git a/src/mame/video/rockrage.c b/src/mame/video/rockrage.c index e2be46a4899..91d3a068bbc 100644 --- a/src/mame/video/rockrage.c +++ b/src/mame/video/rockrage.c @@ -97,7 +97,7 @@ VIDEO_START( rockrage ) layer_colorbase[0] = 0x00; layer_colorbase[1] = 0x10; - K007342_vh_start(0,tile_callback); + K007342_vh_start(machine,0,tile_callback); K007420_vh_start(machine,1,sprite_callback); K007420_set_banklimit(0x3ff); // bladestl and battlnts may also need this diff --git a/src/mame/video/rungun.c b/src/mame/video/rungun.c index bb3395853c4..6cdbb77d60f 100644 --- a/src/mame/video/rungun.c +++ b/src/mame/video/rungun.c @@ -107,7 +107,7 @@ VIDEO_START(rng) tilemap_set_transparent_pen(ttl_tilemap, 0); - state_save_register_global_array(ttl_vram); + state_save_register_global_array(machine, ttl_vram); sprite_colorbase = 0x20; } diff --git a/src/mame/video/segag80r.c b/src/mame/video/segag80r.c index 75da2d97e5b..860aca5fada 100644 --- a/src/mame/video/segag80r.c +++ b/src/mame/video/segag80r.c @@ -244,24 +244,24 @@ VIDEO_START( segag80r ) } /* register for save states */ - state_save_register_global_pointer(paletteram, 0x80); + state_save_register_global_pointer(machine, paletteram, 0x80); - state_save_register_global(video_control); - state_save_register_global(video_flip); - state_save_register_global(vblank_latch); + state_save_register_global(machine, video_control); + state_save_register_global(machine, video_flip); + state_save_register_global(machine, vblank_latch); - state_save_register_global(spaceod_hcounter); - state_save_register_global(spaceod_vcounter); - state_save_register_global(spaceod_fixed_color); - state_save_register_global(spaceod_bg_control); - state_save_register_global(spaceod_bg_detect); + state_save_register_global(machine, spaceod_hcounter); + state_save_register_global(machine, spaceod_vcounter); + state_save_register_global(machine, spaceod_fixed_color); + state_save_register_global(machine, spaceod_bg_control); + state_save_register_global(machine, spaceod_bg_detect); - state_save_register_global(bg_enable); - state_save_register_global(bg_char_bank); - state_save_register_global(bg_scrollx); - state_save_register_global(bg_scrolly); + state_save_register_global(machine, bg_enable); + state_save_register_global(machine, bg_char_bank); + state_save_register_global(machine, bg_scrollx); + state_save_register_global(machine, bg_scrolly); - state_save_register_global(pignewt_bg_color_offset); + state_save_register_global(machine, pignewt_bg_color_offset); } diff --git a/src/mame/video/segaic16.c b/src/mame/video/segaic16.c index 11093d2b8e1..a1f77d6c979 100644 --- a/src/mame/video/segaic16.c +++ b/src/mame/video/segaic16.c @@ -2727,13 +2727,13 @@ void segaic16_sprites_init(int which, int type, int colorbase, int xoffs) if (buffer) info->buffer = auto_malloc(info->ramsize); - state_save_register_item("segaic16_sp", NULL, which, info->flip); - state_save_register_item("segaic16_sp", NULL, which, info->shadow); - state_save_register_item_array("segaic16_sp", NULL, which, info->bank); - state_save_register_item("segaic16_sp", NULL, which, info->colorbase); - state_save_register_item("segaic16_sp", NULL, which, info->xoffs); + state_save_register_item(Machine, "segaic16_sp", NULL, which, info->flip); + state_save_register_item(Machine, "segaic16_sp", NULL, which, info->shadow); + state_save_register_item_array(Machine, "segaic16_sp", NULL, which, info->bank); + state_save_register_item(Machine, "segaic16_sp", NULL, which, info->colorbase); + state_save_register_item(Machine, "segaic16_sp", NULL, which, info->xoffs); if (buffer) - state_save_register_item_pointer("segaic16_sp", NULL, which, ((UINT8 *) info->buffer), info->ramsize); + state_save_register_item_pointer(Machine, "segaic16_sp", NULL, which, ((UINT8 *) info->buffer), info->ramsize); } @@ -3498,8 +3498,8 @@ void segaic16_rotate_init(int which, int type, int colorbase) /* allocate a buffer for swapping */ info->buffer = auto_malloc(info->ramsize); - state_save_register_item("segaic16_rot", NULL, which, info->colorbase); - state_save_register_item_pointer("segaic16_rot", NULL, which, ((UINT8 *) info->buffer), info->ramsize); + state_save_register_item(Machine, "segaic16_rot", NULL, which, info->colorbase); + state_save_register_item_pointer(Machine, "segaic16_rot", NULL, which, ((UINT8 *) info->buffer), info->ramsize); } diff --git a/src/mame/video/segaic24.c b/src/mame/video/segaic24.c index 4c83b6b6d3b..189d71d4125 100644 --- a/src/mame/video/segaic24.c +++ b/src/mame/video/segaic24.c @@ -175,8 +175,8 @@ void sys24_tile_vh_start(running_machine *machine, UINT16 tile_mask) machine->gfx[sys24_char_gfx_index]->total_colors = machine->config->total_colors / 16; - state_save_register_global_pointer(sys24_tile_ram, 0x10000/2); - state_save_register_global_pointer(sys24_char_ram, 0x80000/2); + state_save_register_global_pointer(machine, sys24_tile_ram, 0x10000/2); + state_save_register_global_pointer(machine, sys24_char_ram, 0x80000/2); state_save_register_postload(machine, sys24_tile_dirtyall, NULL); } @@ -635,11 +635,11 @@ WRITE32_HANDLER(sys24_char32_w) static UINT16 *sys24_sprite_ram; -void sys24_sprite_vh_start(void) +void sys24_sprite_vh_start(running_machine *machine) { sys24_sprite_ram = auto_malloc(0x40000); - state_save_register_global_pointer(sys24_sprite_ram, 0x40000/2); + state_save_register_global_pointer(machine, sys24_sprite_ram, 0x40000/2); // kc = 0; } @@ -877,10 +877,10 @@ READ16_HANDLER(sys24_sprite_r) static UINT16 sys24_mixer_reg[0x10]; -void sys24_mixer_vh_start(void) +void sys24_mixer_vh_start(running_machine *machine) { memset(sys24_mixer_reg, 0, sizeof(sys24_mixer_reg)); - state_save_register_global_array(sys24_mixer_reg); + state_save_register_global_array(machine, sys24_mixer_reg); } WRITE16_HANDLER (sys24_mixer_w) diff --git a/src/mame/video/segaic24.h b/src/mame/video/segaic24.h index 9d26fdda42d..e3993687494 100644 --- a/src/mame/video/segaic24.h +++ b/src/mame/video/segaic24.h @@ -27,7 +27,7 @@ WRITE32_HANDLER(sys24_char32_w); // Sprites // System24 -void sys24_sprite_vh_start(void); +void sys24_sprite_vh_start(running_machine *machine); void sys24_sprite_draw(bitmap_t *bitmap, const rectangle *cliprect, const int *spri); WRITE16_HANDLER (sys24_sprite_w); @@ -35,7 +35,7 @@ READ16_HANDLER (sys24_sprite_r); // Programmable mixers // System24 -void sys24_mixer_vh_start(void); +void sys24_mixer_vh_start(running_machine *machine); int sys24_mixer_get_reg(int reg); WRITE16_HANDLER (sys24_mixer_w); diff --git a/src/mame/video/segas24.c b/src/mame/video/segas24.c index a9cf1bc1858..c838bd0ee85 100644 --- a/src/mame/video/segas24.c +++ b/src/mame/video/segas24.c @@ -5,8 +5,8 @@ VIDEO_START(system24) { sys24_tile_vh_start(machine, 0xfff); - sys24_sprite_vh_start(); - sys24_mixer_vh_start(); + sys24_sprite_vh_start(machine); + sys24_mixer_vh_start(machine); } static int layer_cmp(const void *pl1, const void *pl2) diff --git a/src/mame/video/segasyse.c b/src/mame/video/segasyse.c index ca54c607f65..da0891f610d 100644 --- a/src/mame/video/segasyse.c +++ b/src/mame/video/segasyse.c @@ -123,14 +123,14 @@ static void vdp_start(running_machine *machine, UINT8 chip) /* Save State Stuff (based on video/taitoic.c) */ - state_save_register_item_pointer("VDP", NULL, chip, segae_vdp_vram[chip], 0x8000); - state_save_register_item_pointer("VDP", NULL, chip, vdp_cram[chip], 0x20); - state_save_register_item_pointer("VDP", NULL, chip, segae_vdp_regs[chip], 0x20); - state_save_register_item("VDP", NULL, chip, vdp_cmdpart[chip]); - state_save_register_item("VDP", NULL, chip, vdp_command[chip]); - state_save_register_item("VDP", NULL, chip, vdp_accessmode[chip]); - state_save_register_item("VDP", NULL, chip, vdp_accessaddr[chip]); - state_save_register_item("VDP", NULL, chip, segae_vdp_vrambank[chip]); + state_save_register_item_pointer(machine, "VDP", NULL, chip, segae_vdp_vram[chip], 0x8000); + state_save_register_item_pointer(machine, "VDP", NULL, chip, vdp_cram[chip], 0x20); + state_save_register_item_pointer(machine, "VDP", NULL, chip, segae_vdp_regs[chip], 0x20); + state_save_register_item(machine, "VDP", NULL, chip, vdp_cmdpart[chip]); + state_save_register_item(machine, "VDP", NULL, chip, vdp_command[chip]); + state_save_register_item(machine, "VDP", NULL, chip, vdp_accessmode[chip]); + state_save_register_item(machine, "VDP", NULL, chip, vdp_accessaddr[chip]); + state_save_register_item(machine, "VDP", NULL, chip, segae_vdp_vrambank[chip]); } /******************************************************************************* diff --git a/src/mame/video/simpl156.c b/src/mame/video/simpl156.c index da319199443..7dc567e3995 100644 --- a/src/mame/video/simpl156.c +++ b/src/mame/video/simpl156.c @@ -143,12 +143,12 @@ VIDEO_START( simpl156 ) paletteram16 = auto_malloc(0x1000); /* and register the allocated ram so that save states still work */ - state_save_register_global_pointer(deco16_pf1_data, 0x2000/2); - state_save_register_global_pointer(deco16_pf2_data, 0x2000/2); - state_save_register_global_pointer(deco16_pf1_rowscroll, 0x800/2); - state_save_register_global_pointer(deco16_pf2_rowscroll, 0x800/2); - state_save_register_global_pointer(deco16_pf12_control, 0x10/2); - state_save_register_global_pointer(paletteram16, 0x1000/2); + state_save_register_global_pointer(machine, deco16_pf1_data, 0x2000/2); + state_save_register_global_pointer(machine, deco16_pf2_data, 0x2000/2); + state_save_register_global_pointer(machine, deco16_pf1_rowscroll, 0x800/2); + state_save_register_global_pointer(machine, deco16_pf2_rowscroll, 0x800/2); + state_save_register_global_pointer(machine, deco16_pf12_control, 0x10/2); + state_save_register_global_pointer(machine, paletteram16, 0x1000/2); deco16_1_video_init(machine); diff --git a/src/mame/video/skykid.c b/src/mame/video/skykid.c index c834905d40d..7d0f6e92088 100644 --- a/src/mame/video/skykid.c +++ b/src/mame/video/skykid.c @@ -120,11 +120,11 @@ VIDEO_START( skykid ) spriteram_2 = spriteram + 0x0800; spriteram_3 = spriteram_2 + 0x0800; - state_save_register_global(priority); - state_save_register_global(scroll_x); - state_save_register_global(scroll_y); + state_save_register_global(machine, priority); + state_save_register_global(machine, scroll_x); + state_save_register_global(machine, scroll_y); //FIXME: flip_screen - //state_save_register_global(flip_screen_x_get()); + //state_save_register_global(machine, flip_screen_x_get()); } diff --git a/src/mame/video/slapshot.c b/src/mame/video/slapshot.c index 316401da787..d0d71bed05c 100644 --- a/src/mame/video/slapshot.c +++ b/src/mame/video/slapshot.c @@ -43,7 +43,7 @@ static VIDEO_START( slapshot_core ) else /* it's a tc0100scn game */ TC0100SCN_vh_start(machine,1,TC0100SCN_GFX_NUM,taito_hide_pixels,0,0,0,0,0,0); - TC0360PRI_vh_start(); /* Purely for save-state purposes */ + TC0360PRI_vh_start(machine); /* Purely for save-state purposes */ for (i = 0; i < 8; i ++) spritebank[i] = 0x400 * i; @@ -51,13 +51,13 @@ static VIDEO_START( slapshot_core ) sprites_disabled = 1; sprites_active_area = 0; - state_save_register_global(taito_hide_pixels); - state_save_register_global(taito_sprite_type); - state_save_register_global_array(spritebank); - state_save_register_global(sprites_disabled); - state_save_register_global(sprites_active_area); - state_save_register_global_pointer(spriteram_delayed, spriteram_size/2); - state_save_register_global_pointer(spriteram_buffered, spriteram_size/2); + state_save_register_global(machine, taito_hide_pixels); + state_save_register_global(machine, taito_sprite_type); + state_save_register_global_array(machine, spritebank); + state_save_register_global(machine, sprites_disabled); + state_save_register_global(machine, sprites_active_area); + state_save_register_global_pointer(machine, spriteram_delayed, spriteram_size/2); + state_save_register_global_pointer(machine, spriteram_buffered, spriteram_size/2); } VIDEO_START( slapshot ) diff --git a/src/mame/video/sslam.c b/src/mame/video/sslam.c index 89c13fc7510..d31e7ad0a32 100644 --- a/src/mame/video/sslam.c +++ b/src/mame/video/sslam.c @@ -150,7 +150,7 @@ VIDEO_START(sslam) tilemap_set_transparent_pen(sslam_tx_tilemap,0); sprites_x_offset = 0; - state_save_register_global(sprites_x_offset); + state_save_register_global(machine, sprites_x_offset); } VIDEO_START(powerbls) @@ -158,7 +158,7 @@ VIDEO_START(powerbls) sslam_bg_tilemap = tilemap_create(get_powerbls_bg_tile_info,tilemap_scan_rows,8,8,64,64); sprites_x_offset = -21; - state_save_register_global(sprites_x_offset); + state_save_register_global(machine, sprites_x_offset); } VIDEO_UPDATE(sslam) diff --git a/src/mame/video/st0016.c b/src/mame/video/st0016.c index 17f743dd0a3..2ef020facfd 100644 --- a/src/mame/video/st0016.c +++ b/src/mame/video/st0016.c @@ -435,15 +435,15 @@ static STATE_POSTLOAD( st0016_postload ) void st0016_save_init(running_machine *machine) { - state_save_register_global(st0016_spr_bank); - state_save_register_global(st0016_spr2_bank); - state_save_register_global(st0016_pal_bank); - state_save_register_global(st0016_char_bank); - state_save_register_global(st0016_rom_bank); - state_save_register_global_array(st0016_vregs); - state_save_register_global_pointer(st0016_charram, ST0016_MAX_CHAR_BANK*ST0016_CHAR_BANK_SIZE); - state_save_register_global_pointer(st0016_paletteram, ST0016_MAX_PAL_BANK*ST0016_PAL_BANK_SIZE); - state_save_register_global_pointer(st0016_spriteram, ST0016_MAX_SPR_BANK*ST0016_SPR_BANK_SIZE); + state_save_register_global(machine, st0016_spr_bank); + state_save_register_global(machine, st0016_spr2_bank); + state_save_register_global(machine, st0016_pal_bank); + state_save_register_global(machine, st0016_char_bank); + state_save_register_global(machine, st0016_rom_bank); + state_save_register_global_array(machine, st0016_vregs); + state_save_register_global_pointer(machine, st0016_charram, ST0016_MAX_CHAR_BANK*ST0016_CHAR_BANK_SIZE); + state_save_register_global_pointer(machine, st0016_paletteram, ST0016_MAX_PAL_BANK*ST0016_PAL_BANK_SIZE); + state_save_register_global_pointer(machine, st0016_spriteram, ST0016_MAX_SPR_BANK*ST0016_SPR_BANK_SIZE); state_save_register_postload(machine, st0016_postload, NULL); } diff --git a/src/mame/video/starfire.c b/src/mame/video/starfire.c index fffa34a3acd..2ba4ee08fce 100644 --- a/src/mame/video/starfire.c +++ b/src/mame/video/starfire.c @@ -31,10 +31,10 @@ static UINT16 starfire_colors[NUM_PENS]; VIDEO_START( starfire ) { /* register for state saving */ - state_save_register_global(starfire_vidctrl); - state_save_register_global(starfire_vidctrl1); - state_save_register_global(starfire_color); - state_save_register_global_array(starfire_colors); + state_save_register_global(machine, starfire_vidctrl); + state_save_register_global(machine, starfire_vidctrl1); + state_save_register_global(machine, starfire_color); + state_save_register_global_array(machine, starfire_colors); } diff --git a/src/mame/video/stvvdp1.c b/src/mame/video/stvvdp1.c index 61be20afe68..424fa74cf55 100644 --- a/src/mame/video/stvvdp1.c +++ b/src/mame/video/stvvdp1.c @@ -2127,14 +2127,14 @@ int stv_vdp1_start ( running_machine *machine ) stv_vdp1_user_cliprect.min_y = stv_vdp1_user_cliprect.max_y = 0; // save state - state_save_register_global_pointer(stv_vdp1_regs, 0x040000/4); - state_save_register_global_pointer(stv_vdp1_vram, 0x100000/4); - state_save_register_global(stv_vdp1_fbcr_accessed); - state_save_register_global(stv_vdp1_current_display_framebuffer); - state_save_register_global(stv_vdp1_current_draw_framebuffer); - state_save_register_global(stv_vdp1_clear_framebuffer_on_next_frame); - state_save_register_global(stvvdp1_local_x); - state_save_register_global(stvvdp1_local_y); + state_save_register_global_pointer(machine, stv_vdp1_regs, 0x040000/4); + state_save_register_global_pointer(machine, stv_vdp1_vram, 0x100000/4); + state_save_register_global(machine, stv_vdp1_fbcr_accessed); + state_save_register_global(machine, stv_vdp1_current_display_framebuffer); + state_save_register_global(machine, stv_vdp1_current_draw_framebuffer); + state_save_register_global(machine, stv_vdp1_clear_framebuffer_on_next_frame); + state_save_register_global(machine, stvvdp1_local_x); + state_save_register_global(machine, stvvdp1_local_y); state_save_register_postload(machine, stv_vdp1_state_save_postload, NULL); return 0; } diff --git a/src/mame/video/stvvdp2.c b/src/mame/video/stvvdp2.c index 0cf7dbbd498..9ef15170bbc 100644 --- a/src/mame/video/stvvdp2.c +++ b/src/mame/video/stvvdp2.c @@ -5412,9 +5412,9 @@ static int stv_vdp2_start (running_machine *machine) stv_rbg_cache_data.is_cache_dirty = 3; memset( &stv_vdp2_layer_data_placement, 0, sizeof(stv_vdp2_layer_data_placement)); - state_save_register_global_pointer(stv_vdp2_regs, 0x040000/4); - state_save_register_global_pointer(stv_vdp2_vram, 0x100000/4); - state_save_register_global_pointer(stv_vdp2_cram, 0x080000/4); + state_save_register_global_pointer(machine, stv_vdp2_regs, 0x040000/4); + state_save_register_global_pointer(machine, stv_vdp2_vram, 0x100000/4); + state_save_register_global_pointer(machine, stv_vdp2_cram, 0x080000/4); state_save_register_postload(machine, stv_vdp2_state_save_postload, NULL); return 0; diff --git a/src/mame/video/superqix.c b/src/mame/video/superqix.c index 4eb5393a5c6..11f5fdd6154 100644 --- a/src/mame/video/superqix.c +++ b/src/mame/video/superqix.c @@ -59,9 +59,9 @@ VIDEO_START( pbillian ) bg_tilemap = tilemap_create(pb_get_bg_tile_info, tilemap_scan_rows, 8, 8,32,32); /* Need to do save state here */ - state_save_register_global(last_power[0]); - state_save_register_global(last_power[1]); - state_save_register_global(pbillian_show_power); + state_save_register_global(machine, last_power[0]); + state_save_register_global(machine, last_power[1]); + state_save_register_global(machine, pbillian_show_power); } VIDEO_START( superqix ) @@ -73,10 +73,10 @@ VIDEO_START( superqix ) tilemap_set_transmask(bg_tilemap,0,0xffff,0x0000); /* split type 0 is totally transparent in front half */ tilemap_set_transmask(bg_tilemap,1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */ - state_save_register_global(gfxbank); - state_save_register_global(show_bitmap); - state_save_register_global_bitmap(fg_bitmap[0]); - state_save_register_global_bitmap(fg_bitmap[1]); + state_save_register_global(machine, gfxbank); + state_save_register_global(machine, show_bitmap); + state_save_register_global_bitmap(machine, fg_bitmap[0]); + state_save_register_global_bitmap(machine, fg_bitmap[1]); } diff --git a/src/mame/video/system1.c b/src/mame/video/system1.c index 196602e7fd5..33bb856bc8d 100644 --- a/src/mame/video/system1.c +++ b/src/mame/video/system1.c @@ -124,8 +124,8 @@ VIDEO_START( system1 ) tmp_bitmap = video_screen_auto_bitmap_alloc(machine->primary_screen); state_save_register_postload(machine, system1_postload, NULL); - state_save_register_global(system1_background_memory); - state_save_register_global(system1_video_mode); + state_save_register_global(machine, system1_background_memory); + state_save_register_global(machine, system1_video_mode); system1_sprite_xoffset = 1; } @@ -145,12 +145,12 @@ VIDEO_START( wbml ) system1_sprite_xoffset = 1+7*2; state_save_register_postload(machine, system1_postload, NULL); - state_save_register_global(system1_background_memory); - state_save_register_global(system1_video_mode); + state_save_register_global(machine, system1_background_memory); + state_save_register_global(machine, system1_video_mode); - state_save_register_global_pointer(wbml_paged_videoram, 0x4000); - state_save_register_global(wbml_videoram_bank); - state_save_register_global(wbml_videoram_bank_latch); + state_save_register_global_pointer(machine, wbml_paged_videoram, 0x4000); + state_save_register_global(machine, wbml_videoram_bank); + state_save_register_global(machine, wbml_videoram_bank_latch); } WRITE8_HANDLER( system1_videomode_w ) diff --git a/src/mame/video/taito_b.c b/src/mame/video/taito_b.c index ec2d2506c9b..d3a0979a45d 100644 --- a/src/mame/video/taito_b.c +++ b/src/mame/video/taito_b.c @@ -221,18 +221,18 @@ static VIDEO_START( taitob_core ) tilemap_set_scrolldx(tx_tilemap,0,24*8); - state_save_register_global_array(bg_rambank); - state_save_register_global_array(fg_rambank); - state_save_register_global(tx_rambank); + state_save_register_global_array(machine, bg_rambank); + state_save_register_global_array(machine, fg_rambank); + state_save_register_global(machine, tx_rambank); - state_save_register_global_array(pixel_scroll); - state_save_register_global(framebuffer_page); + state_save_register_global_array(machine, pixel_scroll); + state_save_register_global(machine, framebuffer_page); - state_save_register_global(video_control); - state_save_register_global_array(TC0180VCU_ctrl); + state_save_register_global(machine, video_control); + state_save_register_global_array(machine, TC0180VCU_ctrl); - state_save_register_global_bitmap(framebuffer[0]); - state_save_register_global_bitmap(framebuffer[1]); + state_save_register_global_bitmap(machine, framebuffer[0]); + state_save_register_global_bitmap(machine, framebuffer[1]); } VIDEO_START( taitob_color_order0 ) @@ -281,7 +281,7 @@ VIDEO_START( hitice ) pixel_bitmap = auto_bitmap_alloc(1024,512,video_screen_get_format(machine->primary_screen)); - state_save_register_global_bitmap(pixel_bitmap); + state_save_register_global_bitmap(machine, pixel_bitmap); } VIDEO_RESET( hitice ) diff --git a/src/mame/video/taito_f2.c b/src/mame/video/taito_f2.c index 095903761c0..0aeeb13714c 100644 --- a/src/mame/video/taito_f2.c +++ b/src/mame/video/taito_f2.c @@ -112,13 +112,13 @@ static void taitof2_core_vh_start (running_machine *machine, int sprite_type,int TC0110PCR_vh_start(machine); if (has_TC0280GRD()) - TC0280GRD_vh_start(TC0280GRD_GFX_NUM); + TC0280GRD_vh_start(machine, TC0280GRD_GFX_NUM); if (has_TC0430GRW()) - TC0430GRW_vh_start(TC0430GRW_GFX_NUM); + TC0430GRW_vh_start(machine, TC0430GRW_GFX_NUM); if (has_TC0360PRI()) - TC0360PRI_vh_start(); /* Purely for save-state purposes */ + TC0360PRI_vh_start(machine); /* Purely for save-state purposes */ for (i = 0; i < 8; i ++) { @@ -131,14 +131,14 @@ static void taitof2_core_vh_start (running_machine *machine, int sprite_type,int f2_game = 0; /* means NOT footchmp */ - state_save_register_global(f2_hide_pixels); - state_save_register_global(f2_sprite_type); - state_save_register_global_array(spritebank); - state_save_register_global(koshien_spritebank); - state_save_register_global(sprites_disabled); - state_save_register_global(sprites_active_area); - state_save_register_global_pointer(spriteram_delayed, spriteram_size/2); - state_save_register_global_pointer(spriteram_buffered, spriteram_size/2); + state_save_register_global(machine, f2_hide_pixels); + state_save_register_global(machine, f2_sprite_type); + state_save_register_global_array(machine, spritebank); + state_save_register_global(machine, koshien_spritebank); + state_save_register_global(machine, sprites_disabled); + state_save_register_global(machine, sprites_active_area); + state_save_register_global_pointer(machine, spriteram_delayed, spriteram_size/2); + state_save_register_global_pointer(machine, spriteram_buffered, spriteram_size/2); } diff --git a/src/mame/video/taito_f3.c b/src/mame/video/taito_f3.c index c382d7ffc4b..8a9e534b66c 100644 --- a/src/mame/video/taito_f3.c +++ b/src/mame/video/taito_f3.c @@ -700,8 +700,8 @@ VIDEO_START( f3 ) memset(spriteram32_buffered,0,spriteram_size); memset(spriteram32,0,spriteram_size); - state_save_register_global_array(f3_control_0); - state_save_register_global_array(f3_control_1); + state_save_register_global_array(machine, f3_control_0); + state_save_register_global_array(machine, f3_control_1); for (tile = 0;tile < 256;tile++) vram_dirty[tile]=1; diff --git a/src/mame/video/taito_z.c b/src/mame/video/taito_z.c index 97571720519..857f834b81b 100644 --- a/src/mame/video/taito_z.c +++ b/src/mame/video/taito_z.c @@ -20,7 +20,7 @@ static void taitoz_core_vh_start(running_machine *machine, int x_offs) TC0100SCN_vh_start(machine,1,TC0100SCN_GFX_NUM,x_offs,0,0,0,0,0,0); if (has_TC0150ROD()) - TC0150ROD_vh_start(); + TC0150ROD_vh_start(machine); if (has_TC0110PCR()) TC0110PCR_vh_start(machine); diff --git a/src/mame/video/taitoic.c b/src/mame/video/taitoic.c index 2dbd466b454..5c91090faee 100644 --- a/src/mame/video/taitoic.c +++ b/src/mame/video/taitoic.c @@ -821,8 +821,8 @@ void PC080SN_vh_start(running_machine *machine,int chips,int gfxnum,int x_offset PC080SN_bgscroll_ram[i][1] = PC080SN_ram[i] + 0xc000 /2; memset(PC080SN_ram[i],0,PC080SN_RAM_SIZE); - state_save_register_item_pointer("PC080SN", NULL, i, PC080SN_ram[i], PC080SN_RAM_SIZE/2); - state_save_register_item_array("PC080SN", NULL, i, PC080SN_ctrl[i]); + state_save_register_item_pointer(machine, "PC080SN", NULL, i, PC080SN_ram[i], PC080SN_RAM_SIZE/2); + state_save_register_item_array(machine, "PC080SN", NULL, i, PC080SN_ctrl[i]); state_save_register_postload(machine, PC080SN_restore_scroll, (void *)(FPTR)i); /* use the given gfx set for bg tiles */ @@ -1220,7 +1220,7 @@ static int PC090OJ_xoffs,PC090OJ_yoffs; -void PC090OJ_vh_start(int gfxnum,int x_offset,int y_offset,int use_buffer) +void PC090OJ_vh_start(running_machine *machine,int gfxnum,int x_offset,int y_offset,int use_buffer) { /* use the given gfx set */ PC090OJ_gfxnum = gfxnum; @@ -1236,9 +1236,9 @@ void PC090OJ_vh_start(int gfxnum,int x_offset,int y_offset,int use_buffer) memset(PC090OJ_ram,0,PC090OJ_RAM_SIZE); memset(PC090OJ_ram_buffered,0,PC090OJ_RAM_SIZE); - state_save_register_global_pointer(PC090OJ_ram, PC090OJ_RAM_SIZE/2); - state_save_register_global_pointer(PC090OJ_ram_buffered, PC090OJ_RAM_SIZE/2); - state_save_register_global(PC090OJ_ctrl); + state_save_register_global_pointer(machine, PC090OJ_ram, PC090OJ_RAM_SIZE/2); + state_save_register_global_pointer(machine, PC090OJ_ram_buffered, PC090OJ_RAM_SIZE/2); + state_save_register_global(machine, PC090OJ_ctrl); } READ16_HANDLER( PC090OJ_word_0_r ) // in case we find a game using 2... @@ -1557,8 +1557,8 @@ void TC0080VCO_vh_start(running_machine *machine, int gfxnum,int has_fg0,int bg_ tilemap_set_scrolldy(TC0080VCO_tilemap[0],TC0080VCO_bg_yoffs,TC0080VCO_bg_flip_yoffs); tilemap_set_scrolldy(TC0080VCO_tilemap[1],TC0080VCO_bg_yoffs,TC0080VCO_bg_flip_yoffs); - state_save_register_global_pointer(TC0080VCO_ram, TC0080VCO_RAM_SIZE/2); - state_save_register_global(TC0080VCO_has_tx); + state_save_register_global_pointer(machine, TC0080VCO_ram, TC0080VCO_RAM_SIZE/2); + state_save_register_global(machine, TC0080VCO_has_tx); /* Perform extra initialisations for text layer */ { @@ -2334,9 +2334,9 @@ void TC0100SCN_vh_start(running_machine *machine, int chips,int gfxnum,int x_off memset(TC0100SCN_ram[i],0,TC0100SCN_RAM_SIZE); { - state_save_register_item_pointer("TC0100SCN", NULL, i, TC0100SCN_ram[i], TC0100SCN_RAM_SIZE/2); - state_save_register_item_array("TC0100SCN", NULL, i, TC0100SCN_ctrl[i]); - state_save_register_item("TC0100SCN", NULL, i, TC0100SCN_dblwidth[i]); + state_save_register_item_pointer(machine, "TC0100SCN", NULL, i, TC0100SCN_ram[i], TC0100SCN_RAM_SIZE/2); + state_save_register_item_array(machine, "TC0100SCN", NULL, i, TC0100SCN_ctrl[i]); + state_save_register_item(machine, "TC0100SCN", NULL, i, TC0100SCN_dblwidth[i]); } state_save_register_postload(machine, TC0100SCN_postload, (void *)(FPTR)i); @@ -2419,7 +2419,7 @@ void TC0100SCN_vh_start(running_machine *machine, int chips,int gfxnum,int x_off } TC0100SCN_gfxbank= 0; /* Mjnquest uniquely banks tiles */ - state_save_register_global(TC0100SCN_gfxbank); + state_save_register_global(machine, TC0100SCN_gfxbank); TC0100SCN_bg_tilemask = 0xffff; /* Mjnquest has 0x7fff tilemask */ @@ -2797,22 +2797,22 @@ static TILE_GET_INFO( TC0280GRD_get_tile_info ) } -void TC0280GRD_vh_start(int gfxnum) +void TC0280GRD_vh_start(running_machine *machine, int gfxnum) { TC0280GRD_ram = auto_malloc(TC0280GRD_RAM_SIZE); TC0280GRD_tilemap = tilemap_create(TC0280GRD_get_tile_info,tilemap_scan_rows,8,8,64,64); - state_save_register_global_pointer(TC0280GRD_ram, TC0280GRD_RAM_SIZE/2); - state_save_register_global_array(TC0280GRD_ctrl); + state_save_register_global_pointer(machine, TC0280GRD_ram, TC0280GRD_RAM_SIZE/2); + state_save_register_global_array(machine, TC0280GRD_ctrl); tilemap_set_transparent_pen(TC0280GRD_tilemap,0); TC0280GRD_gfxnum = gfxnum; } -void TC0430GRW_vh_start(int gfxnum) +void TC0430GRW_vh_start(running_machine *machine, int gfxnum) { - TC0280GRD_vh_start(gfxnum); + TC0280GRD_vh_start(machine, gfxnum); } READ16_HANDLER( TC0280GRD_word_r ) @@ -2902,9 +2902,9 @@ void TC0430GRW_zoom_draw(bitmap_t *bitmap,const rectangle *cliprect,int xoffset, UINT8 TC0360PRI_regs[16]; -void TC0360PRI_vh_start(void) +void TC0360PRI_vh_start(running_machine *machine) { - state_save_register_global_array(TC0360PRI_regs); + state_save_register_global_array(machine, TC0360PRI_regs); } WRITE8_HANDLER( TC0360PRI_w ) @@ -3205,9 +3205,9 @@ void TC0480SCP_vh_start(running_machine *machine, int gfxnum,int pixels,int x_of TC0480SCP_dirty_chars(); memset(TC0480SCP_ram,0,TC0480SCP_RAM_SIZE); - state_save_register_global_pointer(TC0480SCP_ram, TC0480SCP_RAM_SIZE/2); - state_save_register_global_array(TC0480SCP_ctrl); - state_save_register_global(TC0480SCP_dblwidth); + state_save_register_global_pointer(machine, TC0480SCP_ram, TC0480SCP_RAM_SIZE/2); + state_save_register_global_array(machine, TC0480SCP_ctrl); + state_save_register_global(machine, TC0480SCP_dblwidth); state_save_register_postload(machine, TC0480SCP_postload, NULL); /* find first empty slot to decode gfx */ @@ -3945,11 +3945,11 @@ WRITE16_HANDLER( TC0150ROD_word_w ) COMBINE_DATA(&TC0150ROD_ram[offset]); } -void TC0150ROD_vh_start(void) +void TC0150ROD_vh_start(running_machine *machine) { TC0150ROD_ram = auto_malloc(TC0150ROD_RAM_SIZE); - state_save_register_global_pointer(TC0150ROD_ram, TC0150ROD_RAM_SIZE/2); + state_save_register_global_pointer(machine, TC0150ROD_ram, TC0150ROD_RAM_SIZE/2); } @@ -4746,7 +4746,7 @@ void TC0110PCR_vh_start(running_machine *machine) { TC0110PCR_ram[0] = auto_malloc(TC0110PCR_RAM_SIZE * sizeof(*TC0110PCR_ram[0])); - state_save_register_global_pointer(TC0110PCR_ram[0], TC0110PCR_RAM_SIZE); + state_save_register_global_pointer(machine, TC0110PCR_ram[0], TC0110PCR_RAM_SIZE); state_save_register_postload(machine, TC0110PCR_restore_colors, (void *)0); TC0110PCR_type = 0; /* default, xBBBBBGGGGGRRRRR */ @@ -4756,7 +4756,7 @@ void TC0110PCR_1_vh_start(running_machine *machine) { TC0110PCR_ram[1] = auto_malloc(TC0110PCR_RAM_SIZE * sizeof(*TC0110PCR_ram[1])); - state_save_register_global_pointer(TC0110PCR_ram[1], TC0110PCR_RAM_SIZE); + state_save_register_global_pointer(machine, TC0110PCR_ram[1], TC0110PCR_RAM_SIZE); state_save_register_postload(machine, TC0110PCR_restore_colors, (void *)1); } @@ -4764,7 +4764,7 @@ void TC0110PCR_2_vh_start(running_machine *machine) { TC0110PCR_ram[2] = auto_malloc(TC0110PCR_RAM_SIZE * sizeof(*TC0110PCR_ram[2])); - state_save_register_global_pointer(TC0110PCR_ram[2], TC0110PCR_RAM_SIZE); + state_save_register_global_pointer(machine, TC0110PCR_ram[2], TC0110PCR_RAM_SIZE); state_save_register_postload(machine, TC0110PCR_restore_colors, (void *)2); } diff --git a/src/mame/video/taitoic.h b/src/mame/video/taitoic.h index 14484c859a8..1e1c9911e91 100644 --- a/src/mame/video/taitoic.h +++ b/src/mame/video/taitoic.h @@ -48,7 +48,7 @@ void PC080SN_tilemap_draw_special(bitmap_t *bitmap,const rectangle *cliprect,int /***************************************************************************/ -void PC090OJ_vh_start(int gfxnum,int x_offset,int y_offset,int use_buffer); +void PC090OJ_vh_start(running_machine *machine,int gfxnum,int x_offset,int y_offset,int use_buffer); READ16_HANDLER( PC090OJ_word_0_r ); WRITE16_HANDLER( PC090OJ_word_0_w ); @@ -125,14 +125,14 @@ int TC0100SCN_bottomlayer(int chip); /***************************************************************************/ -void TC0280GRD_vh_start(int gfxnum); +void TC0280GRD_vh_start(running_machine *machine, int gfxnum); READ16_HANDLER ( TC0280GRD_word_r ); WRITE16_HANDLER( TC0280GRD_word_w ); WRITE16_HANDLER( TC0280GRD_ctrl_word_w ); void TC0280GRD_tilemap_update(int base_color); void TC0280GRD_zoom_draw(bitmap_t *bitmap,const rectangle *cliprect,int xoffset,int yoffset,UINT32 priority); -void TC0430GRW_vh_start(int gfxnum); +void TC0430GRW_vh_start(running_machine *machine, int gfxnum); READ16_HANDLER ( TC0430GRW_word_r ); WRITE16_HANDLER( TC0430GRW_word_w ); WRITE16_HANDLER( TC0430GRW_ctrl_word_w ); @@ -174,7 +174,7 @@ extern int TC0480SCP_pri_reg; READ16_HANDLER( TC0150ROD_word_r ); WRITE16_HANDLER( TC0150ROD_word_w ); -void TC0150ROD_vh_start(void); +void TC0150ROD_vh_start(running_machine *machine); void TC0150ROD_draw(running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect,int y_offs,int palette_offs,int type,int road_trans,UINT32 low_priority,UINT32 high_priority); @@ -193,7 +193,7 @@ WRITE16_HANDLER( TC0110PCR_step1_word_2_w ); /* 3rd chip */ WRITE16_HANDLER( TC0110PCR_step1_rbswap_word_w ); /* swaps red and blue components */ WRITE16_HANDLER( TC0110PCR_step1_4bpg_word_w ); /* only 4 bits per color gun */ -void TC0360PRI_vh_start(void); /* must be called to ensure regs saved in state.c */ +void TC0360PRI_vh_start(running_machine *machine); /* must be called to ensure regs saved in state.c */ WRITE8_HANDLER( TC0360PRI_w ); WRITE16_HANDLER( TC0360PRI_halfword_w ); WRITE16_HANDLER( TC0360PRI_halfword_swap_w ); diff --git a/src/mame/video/tceptor.c b/src/mame/video/tceptor.c index ea9bf117b74..ac018fd98f4 100644 --- a/src/mame/video/tceptor.c +++ b/src/mame/video/tceptor.c @@ -433,11 +433,11 @@ VIDEO_START( tceptor ) bg1_tilemap = tilemap_create(get_bg1_tile_info, tilemap_scan_rows, 8, 8, 64, 32); bg2_tilemap = tilemap_create(get_bg2_tile_info, tilemap_scan_rows, 8, 8, 64, 32); - state_save_register_global_pointer(tceptor_sprite_ram_buffered, 0x200 / 2); - state_save_register_global(bg1_scroll_x); - state_save_register_global(bg1_scroll_y); - state_save_register_global(bg2_scroll_x); - state_save_register_global(bg2_scroll_y); + state_save_register_global_pointer(machine, tceptor_sprite_ram_buffered, 0x200 / 2); + state_save_register_global(machine, bg1_scroll_x); + state_save_register_global(machine, bg1_scroll_y); + state_save_register_global(machine, bg2_scroll_x); + state_save_register_global(machine, bg2_scroll_y); } diff --git a/src/mame/video/terracre.c b/src/mame/video/terracre.c index cebb000dc76..5bb29149cf6 100644 --- a/src/mame/video/terracre.c +++ b/src/mame/video/terracre.c @@ -192,8 +192,8 @@ VIDEO_START( amazon ) tilemap_set_transparent_pen(foreground,0xf); /* register for saving */ - state_save_register_global(xscroll); - state_save_register_global(yscroll); + state_save_register_global(machine, xscroll); + state_save_register_global(machine, yscroll); } VIDEO_UPDATE( amazon ) diff --git a/src/mame/video/tiamc1.c b/src/mame/video/tiamc1.c index 7d086387950..9f4fa0cc8c6 100644 --- a/src/mame/video/tiamc1.c +++ b/src/mame/video/tiamc1.c @@ -149,9 +149,9 @@ VIDEO_START( tiamc1 ) tiamc1_bg_vshift = 0; tiamc1_bg_hshift = 0; - state_save_register_global(tiamc1_layers_ctrl); - state_save_register_global(tiamc1_bg_vshift); - state_save_register_global(tiamc1_bg_hshift); + state_save_register_global(machine, tiamc1_layers_ctrl); + state_save_register_global(machine, tiamc1_bg_vshift); + state_save_register_global(machine, tiamc1_bg_hshift); } static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect) diff --git a/src/mame/video/tmnt.c b/src/mame/video/tmnt.c index 931bac0be6c..7367fbee4e5 100644 --- a/src/mame/video/tmnt.c +++ b/src/mame/video/tmnt.c @@ -254,10 +254,10 @@ VIDEO_START( lgtnfght ) /* also tmnt2, ssriders */ dim_c = dim_v = lastdim = lasten = 0; - state_save_register_global(dim_c); - state_save_register_global(dim_v); - state_save_register_global(lastdim); - state_save_register_global(lasten); + state_save_register_global(machine, dim_c); + state_save_register_global(machine, dim_v); + state_save_register_global(machine, lastdim); + state_save_register_global(machine, lasten); } VIDEO_START( sunsetbl ) diff --git a/src/mame/video/toaplan1.c b/src/mame/video/toaplan1.c index 5257b69e631..1563d4584cf 100644 --- a/src/mame/video/toaplan1.c +++ b/src/mame/video/toaplan1.c @@ -344,30 +344,30 @@ VIDEO_START( rallybik ) bcu_flipscreen = -1; toaplan1_reset = 0; - state_save_register_global_pointer(paletteram16, (toaplan1_colorram1_size + toaplan1_colorram2_size)/2); - state_save_register_global_pointer(pf1_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); - state_save_register_global_pointer(pf2_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); - state_save_register_global_pointer(pf3_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); - state_save_register_global_pointer(pf4_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); + state_save_register_global_pointer(machine, paletteram16, (toaplan1_colorram1_size + toaplan1_colorram2_size)/2); + state_save_register_global_pointer(machine, pf1_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); + state_save_register_global_pointer(machine, pf2_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); + state_save_register_global_pointer(machine, pf3_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); + state_save_register_global_pointer(machine, pf4_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); - state_save_register_global(scrollx_offs1); - state_save_register_global(scrollx_offs2); - state_save_register_global(scrollx_offs3); - state_save_register_global(scrollx_offs4); - state_save_register_global(scrolly_offs); - state_save_register_global(bcu_flipscreen); - state_save_register_global(pf1_scrollx); - state_save_register_global(pf1_scrolly); - state_save_register_global(pf2_scrollx); - state_save_register_global(pf2_scrolly); - state_save_register_global(pf3_scrollx); - state_save_register_global(pf3_scrolly); - state_save_register_global(pf4_scrollx); - state_save_register_global(pf4_scrolly); - state_save_register_global(tiles_offsetx); - state_save_register_global(tiles_offsety); - state_save_register_global(pf_voffs); - state_save_register_global(spriteram_offs); + state_save_register_global(machine, scrollx_offs1); + state_save_register_global(machine, scrollx_offs2); + state_save_register_global(machine, scrollx_offs3); + state_save_register_global(machine, scrollx_offs4); + state_save_register_global(machine, scrolly_offs); + state_save_register_global(machine, bcu_flipscreen); + state_save_register_global(machine, pf1_scrollx); + state_save_register_global(machine, pf1_scrolly); + state_save_register_global(machine, pf2_scrollx); + state_save_register_global(machine, pf2_scrolly); + state_save_register_global(machine, pf3_scrollx); + state_save_register_global(machine, pf3_scrolly); + state_save_register_global(machine, pf4_scrollx); + state_save_register_global(machine, pf4_scrolly); + state_save_register_global(machine, tiles_offsetx); + state_save_register_global(machine, tiles_offsety); + state_save_register_global(machine, pf_voffs); + state_save_register_global(machine, spriteram_offs); state_save_register_postload(machine, rallybik_flipscreen, NULL); } @@ -389,35 +389,35 @@ VIDEO_START( toaplan1 ) fcu_flipscreen = 0; toaplan1_reset = 1; - state_save_register_global_pointer(paletteram16, (toaplan1_colorram1_size + toaplan1_colorram2_size)/2); - state_save_register_global_pointer(pf1_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); - state_save_register_global_pointer(pf2_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); - state_save_register_global_pointer(pf3_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); - state_save_register_global_pointer(pf4_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); - state_save_register_global_pointer(spriteram16, TOAPLAN1_SPRITERAM_SIZE/2); - state_save_register_global_pointer(buffered_spriteram16, TOAPLAN1_SPRITERAM_SIZE/2); - state_save_register_global_pointer(toaplan1_spritesizeram16, TOAPLAN1_SPRITESIZERAM_SIZE/2); - state_save_register_global_pointer(toaplan1_buffered_spritesizeram16, TOAPLAN1_SPRITESIZERAM_SIZE/2); + state_save_register_global_pointer(machine, paletteram16, (toaplan1_colorram1_size + toaplan1_colorram2_size)/2); + state_save_register_global_pointer(machine, pf1_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); + state_save_register_global_pointer(machine, pf2_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); + state_save_register_global_pointer(machine, pf3_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); + state_save_register_global_pointer(machine, pf4_tilevram16, TOAPLAN1_TILEVRAM_SIZE/2); + state_save_register_global_pointer(machine, spriteram16, TOAPLAN1_SPRITERAM_SIZE/2); + state_save_register_global_pointer(machine, buffered_spriteram16, TOAPLAN1_SPRITERAM_SIZE/2); + state_save_register_global_pointer(machine, toaplan1_spritesizeram16, TOAPLAN1_SPRITESIZERAM_SIZE/2); + state_save_register_global_pointer(machine, toaplan1_buffered_spritesizeram16, TOAPLAN1_SPRITESIZERAM_SIZE/2); - state_save_register_global(scrollx_offs1); - state_save_register_global(scrollx_offs2); - state_save_register_global(scrollx_offs3); - state_save_register_global(scrollx_offs4); - state_save_register_global(scrolly_offs); - state_save_register_global(bcu_flipscreen); - state_save_register_global(fcu_flipscreen); - state_save_register_global(pf1_scrollx); - state_save_register_global(pf1_scrolly); - state_save_register_global(pf2_scrolly); - state_save_register_global(pf2_scrollx); - state_save_register_global(pf3_scrollx); - state_save_register_global(pf3_scrolly); - state_save_register_global(pf4_scrollx); - state_save_register_global(pf4_scrolly); - state_save_register_global(tiles_offsetx); - state_save_register_global(tiles_offsety); - state_save_register_global(pf_voffs); - state_save_register_global(spriteram_offs); + state_save_register_global(machine, scrollx_offs1); + state_save_register_global(machine, scrollx_offs2); + state_save_register_global(machine, scrollx_offs3); + state_save_register_global(machine, scrollx_offs4); + state_save_register_global(machine, scrolly_offs); + state_save_register_global(machine, bcu_flipscreen); + state_save_register_global(machine, fcu_flipscreen); + state_save_register_global(machine, pf1_scrollx); + state_save_register_global(machine, pf1_scrolly); + state_save_register_global(machine, pf2_scrolly); + state_save_register_global(machine, pf2_scrollx); + state_save_register_global(machine, pf3_scrollx); + state_save_register_global(machine, pf3_scrolly); + state_save_register_global(machine, pf4_scrollx); + state_save_register_global(machine, pf4_scrolly); + state_save_register_global(machine, tiles_offsetx); + state_save_register_global(machine, tiles_offsety); + state_save_register_global(machine, pf_voffs); + state_save_register_global(machine, spriteram_offs); state_save_register_postload(machine, toaplan1_flipscreen, NULL); } diff --git a/src/mame/video/toaplan2.c b/src/mame/video/toaplan2.c index 3557562cc4b..73c950a86cf 100644 --- a/src/mame/video/toaplan2.c +++ b/src/mame/video/toaplan2.c @@ -491,46 +491,46 @@ static void toaplan2_vh_start(int controller) } } -static void register_state_save(int vrams) +static void register_state_save(running_machine *machine, int vrams) { - state_save_register_global_array(toaplan2_scroll_reg); - state_save_register_global_array(toaplan2_voffs); - state_save_register_global_array(bg_scrollx); - state_save_register_global_array(bg_scrolly); - state_save_register_global_array(fg_scrollx); - state_save_register_global_array(fg_scrolly); - state_save_register_global_array(top_scrollx); - state_save_register_global_array(top_scrolly); - state_save_register_global_array(sprite_scrollx); - state_save_register_global_array(sprite_scrolly); - state_save_register_global_array(batrider_object_bank); + state_save_register_global_array(machine, toaplan2_scroll_reg); + state_save_register_global_array(machine, toaplan2_voffs); + state_save_register_global_array(machine, bg_scrollx); + state_save_register_global_array(machine, bg_scrolly); + state_save_register_global_array(machine, fg_scrollx); + state_save_register_global_array(machine, fg_scrolly); + state_save_register_global_array(machine, top_scrollx); + state_save_register_global_array(machine, top_scrolly); + state_save_register_global_array(machine, sprite_scrollx); + state_save_register_global_array(machine, sprite_scrolly); + state_save_register_global_array(machine, batrider_object_bank); - state_save_register_global_array(bg_flip); - state_save_register_global_array(fg_flip); - state_save_register_global_array(top_flip); - state_save_register_global_array(sprite_flip); - state_save_register_global(tx_flip); + state_save_register_global_array(machine, bg_flip); + state_save_register_global_array(machine, fg_flip); + state_save_register_global_array(machine, top_flip); + state_save_register_global_array(machine, sprite_flip); + state_save_register_global(machine, tx_flip); - state_save_register_global_2d_array(sprite_priority); - state_save_register_global_2d_array(top_tile_priority); - state_save_register_global_2d_array(fg_tile_priority); - state_save_register_global_2d_array(bg_tile_priority); + state_save_register_global_2d_array(machine, sprite_priority); + state_save_register_global_2d_array(machine, top_tile_priority); + state_save_register_global_2d_array(machine, fg_tile_priority); + state_save_register_global_2d_array(machine, bg_tile_priority); switch (vrams) { case 2: - state_save_register_global_pointer(spriteram16_new[1], TOAPLAN2_SPRITERAM_SIZE/2); - state_save_register_global_pointer(spriteram16_now[1], TOAPLAN2_SPRITERAM_SIZE/2); - state_save_register_global_pointer(topvideoram16[1], TOAPLAN2_TOP_VRAM_SIZE/2); - state_save_register_global_pointer(fgvideoram16[1], TOAPLAN2_FG_VRAM_SIZE/2); - state_save_register_global_pointer(bgvideoram16[1], TOAPLAN2_BG_VRAM_SIZE/2); + state_save_register_global_pointer(machine, spriteram16_new[1], TOAPLAN2_SPRITERAM_SIZE/2); + state_save_register_global_pointer(machine, spriteram16_now[1], TOAPLAN2_SPRITERAM_SIZE/2); + state_save_register_global_pointer(machine, topvideoram16[1], TOAPLAN2_TOP_VRAM_SIZE/2); + state_save_register_global_pointer(machine, fgvideoram16[1], TOAPLAN2_FG_VRAM_SIZE/2); + state_save_register_global_pointer(machine, bgvideoram16[1], TOAPLAN2_BG_VRAM_SIZE/2); /* fall through */ case 1: - state_save_register_global_pointer(spriteram16_new[0], TOAPLAN2_SPRITERAM_SIZE/2); - state_save_register_global_pointer(spriteram16_now[0], TOAPLAN2_SPRITERAM_SIZE/2); - state_save_register_global_pointer(topvideoram16[0], TOAPLAN2_TOP_VRAM_SIZE/2); - state_save_register_global_pointer(fgvideoram16[0], TOAPLAN2_FG_VRAM_SIZE/2); - state_save_register_global_pointer(bgvideoram16[0], TOAPLAN2_BG_VRAM_SIZE/2); + state_save_register_global_pointer(machine, spriteram16_new[0], TOAPLAN2_SPRITERAM_SIZE/2); + state_save_register_global_pointer(machine, spriteram16_now[0], TOAPLAN2_SPRITERAM_SIZE/2); + state_save_register_global_pointer(machine, topvideoram16[0], TOAPLAN2_TOP_VRAM_SIZE/2); + state_save_register_global_pointer(machine, fgvideoram16[0], TOAPLAN2_FG_VRAM_SIZE/2); + state_save_register_global_pointer(machine, bgvideoram16[0], TOAPLAN2_BG_VRAM_SIZE/2); /* fall through */ default: break; @@ -542,7 +542,7 @@ VIDEO_START( toaplan2_0 ) { defaultOffsets(); toaplan2_vh_start(0); - register_state_save(1); + register_state_save(machine,1); } VIDEO_START( toaplan2_1 ) @@ -550,7 +550,7 @@ VIDEO_START( toaplan2_1 ) toaplan2_vh_start(0); toaplan2_vh_start(1); defaultOffsets(); - register_state_save(2); + register_state_save(machine,2); } VIDEO_START( truxton2_0 ) @@ -577,7 +577,7 @@ VIDEO_START( truxton2_0 ) tilemap_set_scrolldx(tx_tilemap, 0x1d4 +1, 0x2a); } - register_state_save(1); + register_state_save(machine,1); } VIDEO_START( bgaregga_0 ) @@ -586,14 +586,14 @@ VIDEO_START( bgaregga_0 ) truxton2_create_tilemaps_0(); tilemap_set_scrolldx(tx_tilemap, 0x1d4, 0x2a); defaultOffsets(); - register_state_save(1); + register_state_save(machine,1); } VIDEO_START( batrider_0 ) { raizing_tx_gfxram16 = auto_malloc(RAIZING_TX_GFXRAM_SIZE); memset(raizing_tx_gfxram16,0,RAIZING_TX_GFXRAM_SIZE); - state_save_register_global_pointer(raizing_tx_gfxram16, RAIZING_TX_GFXRAM_SIZE/2); + state_save_register_global_pointer(machine, raizing_tx_gfxram16, RAIZING_TX_GFXRAM_SIZE/2); toaplan2_vram_alloc(0); spriteram16_n[0] = spriteram16_new[0]; @@ -602,7 +602,7 @@ VIDEO_START( batrider_0 ) tilemap_set_scrolldx(tx_tilemap, 0x1d4, 0x2a); defaultOffsets(); - register_state_save(1); + register_state_save(machine,1); } diff --git a/src/mame/video/tubep.c b/src/mame/video/tubep.c index 54b24b6571b..c08bb903168 100644 --- a/src/mame/video/tubep.c +++ b/src/mame/video/tubep.c @@ -370,27 +370,27 @@ VIDEO_START( tubep ) spritemap = auto_malloc(256*256*2); /* Set up save state */ - state_save_register_global(romD_addr); - state_save_register_global(romEF_addr); - state_save_register_global(E16_add_b); - state_save_register_global(HINV); - state_save_register_global(VINV); - state_save_register_global(XSize); - state_save_register_global(YSize); - state_save_register_global(mark_1); - state_save_register_global(mark_2); - state_save_register_global(colorram_addr_hi); - state_save_register_global(ls273_g6); - state_save_register_global(ls273_j6); - state_save_register_global(romHI_addr_mid); - state_save_register_global(romHI_addr_msb); - state_save_register_global(DISP); - state_save_register_global(background_romsel); - state_save_register_global(color_A4); - state_save_register_global(ls175_b7); - state_save_register_global(ls175_e8); - state_save_register_global(ls377_data); - state_save_register_global(page); + state_save_register_global(machine, romD_addr); + state_save_register_global(machine, romEF_addr); + state_save_register_global(machine, E16_add_b); + state_save_register_global(machine, HINV); + state_save_register_global(machine, VINV); + state_save_register_global(machine, XSize); + state_save_register_global(machine, YSize); + state_save_register_global(machine, mark_1); + state_save_register_global(machine, mark_2); + state_save_register_global(machine, colorram_addr_hi); + state_save_register_global(machine, ls273_g6); + state_save_register_global(machine, ls273_j6); + state_save_register_global(machine, romHI_addr_mid); + state_save_register_global(machine, romHI_addr_msb); + state_save_register_global(machine, DISP); + state_save_register_global(machine, background_romsel); + state_save_register_global(machine, color_A4); + state_save_register_global(machine, ls175_b7); + state_save_register_global(machine, ls175_e8); + state_save_register_global(machine, ls377_data); + state_save_register_global(machine, page); } diff --git a/src/mame/video/turbo.c b/src/mame/video/turbo.c index 8132686e504..e40300eedc8 100644 --- a/src/mame/video/turbo.c +++ b/src/mame/video/turbo.c @@ -191,7 +191,7 @@ VIDEO_START( buckrog ) /* allocate the bitmap RAM */ state->buckrog_bitmap_ram = auto_malloc(0xe000); - state_save_register_global_pointer(state->buckrog_bitmap_ram, 0xe000); + state_save_register_global_pointer(machine, state->buckrog_bitmap_ram, 0xe000); } diff --git a/src/mame/video/tutankhm.c b/src/mame/video/tutankhm.c index 0cc155ea208..653a3599895 100644 --- a/src/mame/video/tutankhm.c +++ b/src/mame/video/tutankhm.c @@ -69,9 +69,9 @@ static void get_pens(pen_t *pens) VIDEO_START( tutankhm ) { - state_save_register_global_array(junofrst_blitterdata); - state_save_register_global(tutankhm_flip_screen_x); - state_save_register_global(tutankhm_flip_screen_y); + state_save_register_global_array(machine, junofrst_blitterdata); + state_save_register_global(machine, tutankhm_flip_screen_x); + state_save_register_global(machine, tutankhm_flip_screen_y); } diff --git a/src/mame/video/twincobr.c b/src/mame/video/twincobr.c index b8b4e2204e5..ebf4f3907ca 100644 --- a/src/mame/video/twincobr.c +++ b/src/mame/video/twincobr.c @@ -132,25 +132,25 @@ VIDEO_START( toaplan0 ) twincobr_display_on = 0; twincobr_display(twincobr_display_on); - state_save_register_global_pointer(twincobr_txvideoram16, twincobr_txvideoram_size); - state_save_register_global_pointer(twincobr_fgvideoram16, twincobr_fgvideoram_size); - state_save_register_global_pointer(twincobr_bgvideoram16, twincobr_bgvideoram_size); - state_save_register_global(txoffs); - state_save_register_global(fgoffs); - state_save_register_global(bgoffs); - state_save_register_global(scroll_x); - state_save_register_global(scroll_y); - state_save_register_global(txscrollx); - state_save_register_global(fgscrollx); - state_save_register_global(bgscrollx); - state_save_register_global(txscrolly); - state_save_register_global(fgscrolly); - state_save_register_global(bgscrolly); - state_save_register_global(twincobr_display_on); - state_save_register_global(twincobr_fg_rom_bank); - state_save_register_global(twincobr_bg_ram_bank); - state_save_register_global(twincobr_flip_screen); - state_save_register_global(wardner_sprite_hack); + state_save_register_global_pointer(machine, twincobr_txvideoram16, twincobr_txvideoram_size); + state_save_register_global_pointer(machine, twincobr_fgvideoram16, twincobr_fgvideoram_size); + state_save_register_global_pointer(machine, twincobr_bgvideoram16, twincobr_bgvideoram_size); + state_save_register_global(machine, txoffs); + state_save_register_global(machine, fgoffs); + state_save_register_global(machine, bgoffs); + state_save_register_global(machine, scroll_x); + state_save_register_global(machine, scroll_y); + state_save_register_global(machine, txscrollx); + state_save_register_global(machine, fgscrollx); + state_save_register_global(machine, bgscrollx); + state_save_register_global(machine, txscrolly); + state_save_register_global(machine, fgscrolly); + state_save_register_global(machine, bgscrolly); + state_save_register_global(machine, twincobr_display_on); + state_save_register_global(machine, twincobr_fg_rom_bank); + state_save_register_global(machine, twincobr_bg_ram_bank); + state_save_register_global(machine, twincobr_flip_screen); + state_save_register_global(machine, wardner_sprite_hack); state_save_register_postload(machine, twincobr_restore_screen, NULL); } diff --git a/src/mame/video/vertigo.c b/src/mame/video/vertigo.c index a24b5c0765d..48a82349f05 100644 --- a/src/mame/video/vertigo.c +++ b/src/mame/video/vertigo.c @@ -243,36 +243,36 @@ void vertigo_vproc_init(running_machine *machine) memset(&bsp, 0, sizeof(bsp)); memset(&vgen, 0, sizeof(vgen)); - state_save_register_item_array("vector_proc", NULL, 0, vs.sram); - state_save_register_item("vector_proc", NULL, 0, vs.ramlatch); - state_save_register_item("vector_proc", NULL, 0, vs.rom_adr); - state_save_register_item("vector_proc", NULL, 0, vs.pc); - state_save_register_item("vector_proc", NULL, 0, vs.ret); + state_save_register_item_array(machine, "vector_proc", NULL, 0, vs.sram); + state_save_register_item(machine, "vector_proc", NULL, 0, vs.ramlatch); + state_save_register_item(machine, "vector_proc", NULL, 0, vs.rom_adr); + state_save_register_item(machine, "vector_proc", NULL, 0, vs.pc); + state_save_register_item(machine, "vector_proc", NULL, 0, vs.ret); - state_save_register_item_array("vector_proc", NULL, 0, bsp.ram); - state_save_register_item("vector_proc", NULL, 0, bsp.d); - state_save_register_item("vector_proc", NULL, 0, bsp.q); - state_save_register_item("vector_proc", NULL, 0, bsp.f); - state_save_register_item("vector_proc", NULL, 0, bsp.y); + state_save_register_item_array(machine, "vector_proc", NULL, 0, bsp.ram); + state_save_register_item(machine, "vector_proc", NULL, 0, bsp.d); + state_save_register_item(machine, "vector_proc", NULL, 0, bsp.q); + state_save_register_item(machine, "vector_proc", NULL, 0, bsp.f); + state_save_register_item(machine, "vector_proc", NULL, 0, bsp.y); - state_save_register_item("vector_proc", NULL, 0, vgen.sreg); - state_save_register_item("vector_proc", NULL, 0, vgen.l1); - state_save_register_item("vector_proc", NULL, 0, vgen.l2); - state_save_register_item("vector_proc", NULL, 0, vgen.c_v); - state_save_register_item("vector_proc", NULL, 0, vgen.c_h); - state_save_register_item("vector_proc", NULL, 0, vgen.c_l); - state_save_register_item("vector_proc", NULL, 0, vgen.adder_s); - state_save_register_item("vector_proc", NULL, 0, vgen.adder_a); - state_save_register_item("vector_proc", NULL, 0, vgen.color); - state_save_register_item("vector_proc", NULL, 0, vgen.intensity); - state_save_register_item("vector_proc", NULL, 0, vgen.brez); - state_save_register_item("vector_proc", NULL, 0, vgen.vfin); - state_save_register_item("vector_proc", NULL, 0, vgen.hud1); - state_save_register_item("vector_proc", NULL, 0, vgen.hud2); - state_save_register_item("vector_proc", NULL, 0, vgen.vud1); - state_save_register_item("vector_proc", NULL, 0, vgen.vud2); - state_save_register_item("vector_proc", NULL, 0, vgen.hc1); - state_save_register_item("vector_proc", NULL, 0, vgen.ven); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.sreg); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.l1); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.l2); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.c_v); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.c_h); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.c_l); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.adder_s); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.adder_a); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.color); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.intensity); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.brez); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.vfin); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.hud1); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.hud2); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.vud1); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.vud2); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.hc1); + state_save_register_item(machine, "vector_proc", NULL, 0, vgen.ven); } diff --git a/src/mame/video/victory.c b/src/mame/video/victory.c index b697cfe6823..57db8026caa 100644 --- a/src/mame/video/victory.c +++ b/src/mame/video/victory.c @@ -89,7 +89,7 @@ VIDEO_START( victory ) micro.timer = timer_alloc(machine, NULL, NULL); /* register for state saving */ - state_save_register_global_array(victory_paletteram); + state_save_register_global_array(machine, victory_paletteram); } diff --git a/src/mame/video/volfied.c b/src/mame/video/volfied.c index 0f450111952..2df9f8cb911 100644 --- a/src/mame/video/volfied.c +++ b/src/mame/video/volfied.c @@ -15,11 +15,11 @@ VIDEO_START( volfied ) { video_ram = auto_malloc(0x40000 * sizeof (UINT16)); - state_save_register_global_pointer(video_ram, 0x40000); - state_save_register_global(video_ctrl); - state_save_register_global(video_mask); + state_save_register_global_pointer(machine, video_ram, 0x40000); + state_save_register_global(machine, video_ctrl); + state_save_register_global(machine, video_mask); - PC090OJ_vh_start(0, 0, 0, 0); + PC090OJ_vh_start(machine, 0, 0, 0, 0); } diff --git a/src/mame/video/williams.c b/src/mame/video/williams.c index 5c010867f12..eab09b4aa72 100644 --- a/src/mame/video/williams.c +++ b/src/mame/video/williams.c @@ -168,16 +168,16 @@ static int blitter_core(const address_space *space, int sstart, int dstart, int * *************************************/ -static void state_save_register(void) +static void state_save_register(running_machine *machine) { - state_save_register_global(williams_blitter_window_enable); - state_save_register_global(williams_cocktail); - state_save_register_global_array(blitterram); - state_save_register_global(blitter_remap_index); - state_save_register_global(blaster_color0); - state_save_register_global(blaster_video_control); - state_save_register_global(tilemap_xscroll); - state_save_register_global(williams2_fg_color); + state_save_register_global(machine, williams_blitter_window_enable); + state_save_register_global(machine, williams_cocktail); + state_save_register_global_array(machine, blitterram); + state_save_register_global(machine, blitter_remap_index); + state_save_register_global(machine, blaster_color0); + state_save_register_global(machine, blaster_video_control); + state_save_register_global(machine, tilemap_xscroll); + state_save_register_global(machine, williams2_fg_color); } @@ -185,7 +185,7 @@ VIDEO_START( williams ) { blitter_init(williams_blitter_config, NULL); create_palette_lookup(); - state_save_register(); + state_save_register(machine); } @@ -193,7 +193,7 @@ VIDEO_START( blaster ) { blitter_init(williams_blitter_config, memory_region(machine, "proms")); create_palette_lookup(); - state_save_register(); + state_save_register(machine); } @@ -203,13 +203,13 @@ VIDEO_START( williams2 ) /* allocate paletteram */ paletteram = auto_malloc(0x400 * 2); - state_save_register_global_pointer(paletteram, 0x400 * 2); + state_save_register_global_pointer(machine, paletteram, 0x400 * 2); /* create the tilemap */ bg_tilemap = tilemap_create(get_tile_info, tilemap_scan_cols, 24,16, 128,16); tilemap_set_scrolldx(bg_tilemap, 2, 0); - state_save_register(); + state_save_register(machine); } diff --git a/src/mame/video/wiz.c b/src/mame/video/wiz.c index 53a2561037d..c82ae264cb2 100644 --- a/src/mame/video/wiz.c +++ b/src/mame/video/wiz.c @@ -37,11 +37,11 @@ static int palette_bank; VIDEO_START( wiz ) { - state_save_register_global_array(char_bank); - state_save_register_global_array(palbank); - state_save_register_global(flipx); - state_save_register_global(flipy); - state_save_register_global(bgpen); + state_save_register_global_array(machine, char_bank); + state_save_register_global_array(machine, palbank); + state_save_register_global(machine, flipx); + state_save_register_global(machine, flipy); + state_save_register_global(machine, bgpen); } /*************************************************************************** diff --git a/src/mame/video/wwfwfest.c b/src/mame/video/wwfwfest.c index a2d79a41929..fa79245cf5a 100644 --- a/src/mame/video/wwfwfest.c +++ b/src/mame/video/wwfwfest.c @@ -224,11 +224,11 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta VIDEO_START( wwfwfest ) { - state_save_register_global(wwfwfest_pri); - state_save_register_global(wwfwfest_bg0_scrollx); - state_save_register_global(wwfwfest_bg0_scrolly); - state_save_register_global(wwfwfest_bg1_scrollx); - state_save_register_global(wwfwfest_bg1_scrolly); + state_save_register_global(machine, wwfwfest_pri); + state_save_register_global(machine, wwfwfest_bg0_scrollx); + state_save_register_global(machine, wwfwfest_bg0_scrolly); + state_save_register_global(machine, wwfwfest_bg1_scrollx); + state_save_register_global(machine, wwfwfest_bg1_scrolly); fg0_tilemap = tilemap_create(get_fg0_tile_info,tilemap_scan_rows, 8, 8,64,32); bg1_tilemap = tilemap_create(get_bg1_tile_info,tilemap_scan_rows, 16, 16,32,32); diff --git a/src/mame/video/xevious.c b/src/mame/video/xevious.c index 8aeb94fbb2a..ee7a2485cf0 100644 --- a/src/mame/video/xevious.c +++ b/src/mame/video/xevious.c @@ -234,7 +234,7 @@ VIDEO_START( xevious ) spriteram_3 = xevious_sr2 + 0x780; spriteram = xevious_sr3 + 0x780; - state_save_register_global_array(xevious_bs); + state_save_register_global_array(machine, xevious_bs); } diff --git a/src/mame/video/xexex.c b/src/mame/video/xexex.c index a75ef019d86..9cd38d96f02 100644 --- a/src/mame/video/xexex.c +++ b/src/mame/video/xexex.c @@ -41,8 +41,8 @@ VIDEO_START( xexex ) cur_alpha = 0; K053251_vh_start(machine); - K054338_vh_start(); - K053250_vh_start(1, ®ion); + K054338_vh_start(machine); + K053250_vh_start(machine, 1, ®ion); K056832_vh_start(machine, "gfx1", K056832_BPP_4, 1, NULL, xexex_tile_callback, 0); K053247_vh_start(machine, "gfx2", -48, 32, NORMAL_PLANE_ORDER, xexex_sprite_callback); diff --git a/src/mame/video/ygv608.c b/src/mame/video/ygv608.c index 4ae0264d12c..e49dac33149 100644 --- a/src/mame/video/ygv608.c +++ b/src/mame/video/ygv608.c @@ -487,12 +487,12 @@ static STATE_POSTLOAD( ygv608_postload ) static void ygv608_register_state_save(running_machine *machine) { - state_save_register_item_array("ygv608", NULL, 0, ygv608.ports.b); - state_save_register_item_array("ygv608", NULL, 0, ygv608.regs.b); - state_save_register_item_array("ygv608", NULL, 0, ygv608.pattern_name_table); - state_save_register_item_array("ygv608", NULL, 0, ygv608.sprite_attribute_table.b); - state_save_register_item_2d_array("ygv608", NULL, 0, ygv608.scroll_data_table); - state_save_register_item_2d_array("ygv608", NULL, 0, ygv608.colour_palette); + state_save_register_item_array(machine, "ygv608", NULL, 0, ygv608.ports.b); + state_save_register_item_array(machine, "ygv608", NULL, 0, ygv608.regs.b); + state_save_register_item_array(machine, "ygv608", NULL, 0, ygv608.pattern_name_table); + state_save_register_item_array(machine, "ygv608", NULL, 0, ygv608.sprite_attribute_table.b); + state_save_register_item_2d_array(machine, "ygv608", NULL, 0, ygv608.scroll_data_table); + state_save_register_item_2d_array(machine, "ygv608", NULL, 0, ygv608.colour_palette); state_save_register_postload(machine, ygv608_postload, NULL); } diff --git a/src/mame/video/zaxxon.c b/src/mame/video/zaxxon.c index ccceda5d6d9..89db9284cb2 100644 --- a/src/mame/video/zaxxon.c +++ b/src/mame/video/zaxxon.c @@ -145,10 +145,10 @@ static void video_start_common(running_machine *machine, tile_get_info_func fg_t tilemap_set_scrolldy(fg_tilemap, 0, video_screen_get_height(machine->primary_screen) - 256); /* register for save states */ - state_save_register_global(bg_enable); - state_save_register_global(bg_color); - state_save_register_global(bg_position); - state_save_register_global(fg_color); + state_save_register_global(machine, bg_enable); + state_save_register_global(machine, bg_color); + state_save_register_global(machine, bg_position); + state_save_register_global(machine, fg_color); } @@ -170,10 +170,10 @@ VIDEO_START( congo ) spriteram = auto_malloc(0x100); /* register for save states */ - state_save_register_global(congo_fg_bank); - state_save_register_global(congo_color_bank); - state_save_register_global_array(congo_custom); - state_save_register_global_pointer(spriteram, 0x100); + state_save_register_global(machine, congo_fg_bank); + state_save_register_global(machine, congo_color_bank); + state_save_register_global_array(machine, congo_custom); + state_save_register_global_pointer(machine, spriteram, 0x100); video_start_common(machine, congo_get_fg_tile_info); }