summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/emu/cpu/dsp56k/dsp56mem.h8
-rw-r--r--src/emu/cpu/g65816/g65816op.h2
-rw-r--r--src/emu/cpu/h6280/h6280.h8
-rw-r--r--src/emu/cpu/m6800/m6800.h4
-rw-r--r--src/emu/cpu/m68000/68307bus.h4
-rw-r--r--src/emu/cpu/m68000/68307ser.h4
-rw-r--r--src/emu/cpu/m68000/68307sim.h4
-rw-r--r--src/emu/cpu/m68000/68307tmu.h4
-rw-r--r--src/emu/cpu/m68000/68340dma.h4
-rw-r--r--src/emu/cpu/m68000/68340ser.h4
-rw-r--r--src/emu/cpu/m68000/68340sim.h12
-rw-r--r--src/emu/cpu/m68000/68340tmu.h4
-rw-r--r--src/emu/cpu/psx/sio.h4
-rw-r--r--src/emu/cpu/sh2/sh2.h4
-rw-r--r--src/emu/cpu/sh4/sh4.h12
-rw-r--r--src/emu/cpu/sh4/sh4comn.h4
-rw-r--r--src/emu/cpu/tms34010/tms34010.h8
-rw-r--r--src/emu/cpu/tms7000/tms7000.c8
-rw-r--r--src/emu/cpu/tms9900/tms9900l.h18
-rw-r--r--src/emu/devcb.c58
-rw-r--r--src/emu/devcb.h36
-rw-r--r--src/emu/machine/8042kbdc.h8
-rw-r--r--src/emu/machine/latch8.c2
-rw-r--r--src/emu/machine/pc16552d.h8
-rw-r--r--src/emu/machine/s3c2400.c2
-rw-r--r--src/emu/machine/s3c2410.c2
-rw-r--r--src/emu/machine/tmp68301.h4
-rw-r--r--src/emu/memconv.h16
-rw-r--r--src/emu/memory.c16
-rw-r--r--src/emu/memory.h17
-rw-r--r--src/emu/sound/pokey.h4
-rw-r--r--src/emu/sound/spu.h4
-rw-r--r--src/emu/video/pc_cga.c4
-rw-r--r--src/emu/video/pc_cga.h6
-rw-r--r--src/emu/video/pc_vga.c16
-rw-r--r--src/emu/video/pc_vga.h194
-rw-r--r--src/emu/video/tms34061.h4
-rw-r--r--src/mame/audio/atarijsa.c12
-rw-r--r--src/mame/audio/cage.c2
-rw-r--r--src/mame/audio/cclimber.h6
-rw-r--r--src/mame/audio/dcs.c40
-rw-r--r--src/mame/audio/dcs.h11
-rw-r--r--src/mame/audio/irem.h2
-rw-r--r--src/mame/audio/seibu.h30
-rw-r--r--src/mame/audio/t5182.h12
-rw-r--r--src/mame/audio/timeplt.h2
-rw-r--r--src/mame/audio/trackfld.h8
-rw-r--r--src/mame/drivers/bfm_sc4h.c4
-rw-r--r--src/mame/drivers/decocass.c4
-rw-r--r--src/mame/drivers/dkong.c4
-rw-r--r--src/mame/drivers/mario.c4
-rw-r--r--src/mame/drivers/mpu4vid.c8
-rw-r--r--src/mame/includes/actfancr.h12
-rw-r--r--src/mame/includes/amiga.h12
-rw-r--r--src/mame/includes/archimds.h20
-rw-r--r--src/mame/includes/astrocde.h4
-rw-r--r--src/mame/includes/asuka.h10
-rw-r--r--src/mame/includes/atari.h4
-rw-r--r--src/mame/includes/atarig42.h2
-rw-r--r--src/mame/includes/atarigx2.h2
-rw-r--r--src/mame/includes/atarisy1.h12
-rw-r--r--src/mame/includes/atarisy2.h16
-rw-r--r--src/mame/includes/avalnche.h2
-rw-r--r--src/mame/includes/badlands.h2
-rw-r--r--src/mame/includes/cchip.h10
-rw-r--r--src/mame/includes/copsnrob.h2
-rw-r--r--src/mame/includes/cyberbal.h8
-rw-r--r--src/mame/includes/dc.h50
-rw-r--r--src/mame/includes/dec0.h2
-rw-r--r--src/mame/includes/dec8.h8
-rw-r--r--src/mame/includes/deco32.h8
-rw-r--r--src/mame/includes/decoprot.h40
-rw-r--r--src/mame/includes/fastfred.h20
-rw-r--r--src/mame/includes/galaga.h48
-rw-r--r--src/mame/includes/galivan.h4
-rw-r--r--src/mame/includes/galpani2.h10
-rw-r--r--src/mame/includes/galpanic.h4
-rw-r--r--src/mame/includes/gauntlet.h4
-rw-r--r--src/mame/includes/harddriv.h174
-rw-r--r--src/mame/includes/itech8.h10
-rw-r--r--src/mame/includes/klax.h2
-rw-r--r--src/mame/includes/ladybug.h16
-rw-r--r--src/mame/includes/matmania.h24
-rw-r--r--src/mame/includes/megadriv.h8
-rw-r--r--src/mame/includes/midzeus.h4
-rw-r--r--src/mame/includes/namcoic.h28
-rw-r--r--src/mame/includes/namcos1.h10
-rw-r--r--src/mame/includes/namcos2.h44
-rw-r--r--src/mame/includes/nb1413m3.h38
-rw-r--r--src/mame/includes/pacman.h4
-rw-r--r--src/mame/includes/pk8000.h24
-rw-r--r--src/mame/includes/psx.h8
-rw-r--r--src/mame/includes/scramble.h8
-rw-r--r--src/mame/includes/segamsys.h38
-rw-r--r--src/mame/includes/sei_crtc.h10
-rw-r--r--src/mame/includes/skullxbo.h8
-rw-r--r--src/mame/includes/snes.h54
-rw-r--r--src/mame/includes/snk6502.h12
-rw-r--r--src/mame/includes/stv.h24
-rw-r--r--src/mame/includes/targ.h6
-rw-r--r--src/mame/includes/toobin.h10
-rw-r--r--src/mame/includes/vicdual.h18
-rw-r--r--src/mame/includes/vindictr.h2
-rw-r--r--src/mame/machine/asic65.h6
-rw-r--r--src/mame/machine/atarigen.h82
-rw-r--r--src/mame/machine/cdi070.h6
-rw-r--r--src/mame/machine/decocass.c4
-rw-r--r--src/mame/machine/decocass.h86
-rw-r--r--src/mame/machine/konppc.h36
-rw-r--r--src/mame/machine/m68kfmly.h20
-rw-r--r--src/mame/machine/megacd.c12
-rw-r--r--src/mame/machine/megadriv.c10
-rw-r--r--src/mame/machine/midwayic.h8
-rw-r--r--src/mame/machine/namcos1.c6
-rw-r--r--src/mame/machine/nmk004.h4
-rw-r--r--src/mame/machine/pcecommn.h4
-rw-r--r--src/mame/machine/seicop.h36
-rw-r--r--src/mame/machine/smpc.h8
-rw-r--r--src/mame/machine/snes.c22
-rw-r--r--src/mame/machine/stvcd.h4
-rw-r--r--src/mame/machine/tait8741.c8
-rw-r--r--src/mame/machine/tait8741.h26
-rw-r--r--src/mame/video/atarimo.h18
-rw-r--r--src/mame/video/avgdvg.h8
-rw-r--r--src/mame/video/gtia.h4
-rw-r--r--src/mame/video/gticlub.h12
-rw-r--r--src/mame/video/konamiic.c8
-rw-r--r--src/mame/video/konamiic.h62
-rw-r--r--src/mame/video/konicdev.h4
-rw-r--r--src/mame/video/mcd212.h4
-rw-r--r--src/mame/video/segaic16.h10
-rw-r--r--src/mame/video/vdc.h20
-rw-r--r--src/mame/video/ygv608.h6
-rw-r--r--src/mess/drivers/b16.c4
-rw-r--r--src/mess/drivers/bigbord2.c4
-rw-r--r--src/mess/drivers/bullet.c4
-rw-r--r--src/mess/drivers/dc.c8
-rw-r--r--src/mess/drivers/dmv.c4
-rw-r--r--src/mess/drivers/mikromik.c4
-rw-r--r--src/mess/drivers/p8k.c4
-rw-r--r--src/mess/drivers/qx10.c4
-rw-r--r--src/mess/drivers/super6.c4
-rw-r--r--src/mess/drivers/trs80m2.c4
-rw-r--r--src/mess/drivers/vidbrain.c2
-rw-r--r--src/mess/drivers/x1.c4
-rw-r--r--src/mess/includes/amstr_pc.h28
-rw-r--r--src/mess/includes/apple2.h8
-rw-r--r--src/mess/includes/bebox.h40
-rw-r--r--src/mess/includes/c16.h20
-rw-r--r--src/mess/includes/c64_legacy.h14
-rw-r--r--src/mess/includes/cgenie.h52
-rw-r--r--src/mess/includes/corvushd.h6
-rw-r--r--src/mess/includes/dgn_beta.h10
-rw-r--r--src/mess/includes/enterp.h2
-rw-r--r--src/mess/includes/europc.h14
-rw-r--r--src/mess/includes/fmtowns.h42
-rw-r--r--src/mess/includes/hec2hrp.h32
-rw-r--r--src/mess/includes/mbc55x.h8
-rw-r--r--src/mess/includes/pc1251.h4
-rw-r--r--src/mess/includes/pc1350.h4
-rw-r--r--src/mess/includes/pc1401.h4
-rw-r--r--src/mess/includes/pc1403.h8
-rw-r--r--src/mess/includes/pet.h6
-rw-r--r--src/mess/includes/ps2.h4
-rw-r--r--src/mess/includes/tandy1t.h12
-rw-r--r--src/mess/includes/thomson.h98
-rw-r--r--src/mess/includes/x68k.h28
-rw-r--r--src/mess/machine/990_dk.h4
-rw-r--r--src/mess/machine/990_hd.h4
-rw-r--r--src/mess/machine/apple2gs.c12
-rw-r--r--src/mess/machine/c65.c6
-rw-r--r--src/mess/machine/concept.c20
-rw-r--r--src/mess/machine/dgn_beta.c34
-rw-r--r--src/mess/machine/lux21046.c4
-rw-r--r--src/mess/machine/lynx.c2
-rw-r--r--src/mess/machine/mboard.h18
-rw-r--r--src/mess/machine/nes_mmc.c12
-rw-r--r--src/mess/machine/nes_mmc.h24
-rw-r--r--src/mess/machine/nes_pcb.c144
-rw-r--r--src/mess/machine/partner.c4
-rw-r--r--src/mess/machine/pc_fdc.c4
-rw-r--r--src/mess/machine/pc_fdc.h6
-rw-r--r--src/mess/machine/pc_joy.h4
-rw-r--r--src/mess/machine/radio86.c4
-rw-r--r--src/mess/machine/sgi.h4
-rw-r--r--src/mess/machine/sst39vfx.h4
-rw-r--r--src/mess/machine/thomflop.c20
-rw-r--r--src/mess/machine/thomflop.h12
-rw-r--r--src/mess/machine/ti990.h4
-rw-r--r--src/mess/video/gf4500.h4
-rw-r--r--src/mess/video/newport.c18
-rw-r--r--src/mess/video/newport.h4
-rw-r--r--src/mess/video/pc_aga.c4
-rw-r--r--src/mess/video/pc_aga.h24
194 files changed, 1533 insertions, 1479 deletions
diff --git a/src/emu/cpu/dsp56k/dsp56mem.h b/src/emu/cpu/dsp56k/dsp56mem.h
index 67509e6e2c5..642ae059c5e 100644
--- a/src/emu/cpu/dsp56k/dsp56mem.h
+++ b/src/emu/cpu/dsp56k/dsp56mem.h
@@ -235,10 +235,10 @@ void PCDDR_set(dsp56k_core* cpustate, UINT16 value);
/* Port C Dtaa Register (PCD) */
void PCD_set(dsp56k_core* cpustate, UINT16 value);
-READ16_HANDLER( peripheral_register_r );
-WRITE16_HANDLER( peripheral_register_w );
-READ16_HANDLER( program_r );
-WRITE16_HANDLER( program_w );
+DECLARE_READ16_HANDLER( peripheral_register_r );
+DECLARE_WRITE16_HANDLER( peripheral_register_w );
+DECLARE_READ16_HANDLER( program_r );
+DECLARE_WRITE16_HANDLER( program_w );
} // namespace DSP56K
diff --git a/src/emu/cpu/g65816/g65816op.h b/src/emu/cpu/g65816/g65816op.h
index 55532a10fbc..3236ffde4e1 100644
--- a/src/emu/cpu/g65816/g65816op.h
+++ b/src/emu/cpu/g65816/g65816op.h
@@ -85,7 +85,7 @@ INLINE uint g65816i_read_8_direct(g65816i_cpu_struct *cpustate, uint address)
INLINE uint g65816i_read_8_vector(g65816i_cpu_struct *cpustate, uint address)
{
if (READ_VECTOR)
- return READ_VECTOR(*cpustate->program, address);
+ return READ_VECTOR(*cpustate->program, address, 0xff);
else
return g65816i_read_8_normal(cpustate, address);
}
diff --git a/src/emu/cpu/h6280/h6280.h b/src/emu/cpu/h6280/h6280.h
index d37253f3d8f..336273e65ca 100644
--- a/src/emu/cpu/h6280/h6280.h
+++ b/src/emu/cpu/h6280/h6280.h
@@ -75,11 +75,11 @@ struct h6280_Regs
DECLARE_LEGACY_CPU_DEVICE(H6280, h6280);
-READ8_HANDLER( h6280_irq_status_r );
-WRITE8_HANDLER( h6280_irq_status_w );
+DECLARE_READ8_HANDLER( h6280_irq_status_r );
+DECLARE_WRITE8_HANDLER( h6280_irq_status_w );
-READ8_HANDLER( h6280_timer_r );
-WRITE8_HANDLER( h6280_timer_w );
+DECLARE_READ8_HANDLER( h6280_timer_r );
+DECLARE_WRITE8_HANDLER( h6280_timer_w );
/* functions for use by the PSG and joypad port only! */
UINT8 h6280io_get_buffer(device_t*);
diff --git a/src/emu/cpu/m6800/m6800.h b/src/emu/cpu/m6800/m6800.h
index 129087f286f..eb8deb8840f 100644
--- a/src/emu/cpu/m6800/m6800.h
+++ b/src/emu/cpu/m6800/m6800.h
@@ -63,8 +63,8 @@ DECLARE_LEGACY_CPU_DEVICE(HD6303R, hd6303r);
DECLARE_LEGACY_CPU_DEVICE(HD6303Y, hd6303y);
-READ8_HANDLER( m6801_io_r );
-WRITE8_HANDLER( m6801_io_w );
+DECLARE_READ8_HANDLER( m6801_io_r );
+DECLARE_WRITE8_HANDLER( m6801_io_w );
CPU_DISASSEMBLE( m6800 );
CPU_DISASSEMBLE( m6801 );
diff --git a/src/emu/cpu/m68000/68307bus.h b/src/emu/cpu/m68000/68307bus.h
index 54000965068..7a0bdb43e0f 100644
--- a/src/emu/cpu/m68000/68307bus.h
+++ b/src/emu/cpu/m68000/68307bus.h
@@ -4,8 +4,8 @@
#define m68307BUS_MBSR (0x07)
#define m68307BUS_MBDR (0x09)
-READ8_HANDLER( m68307_internal_mbus_r );
-WRITE8_HANDLER( m68307_internal_mbus_w );
+DECLARE_READ8_HANDLER( m68307_internal_mbus_r );
+DECLARE_WRITE8_HANDLER( m68307_internal_mbus_w );
class m68307_mbus
{
diff --git a/src/emu/cpu/m68000/68307ser.h b/src/emu/cpu/m68000/68307ser.h
index 36599f6c36d..9467676a5a7 100644
--- a/src/emu/cpu/m68000/68307ser.h
+++ b/src/emu/cpu/m68000/68307ser.h
@@ -18,8 +18,8 @@
#define m68307SER_UOP0 (0x1f)
-READ8_HANDLER( m68307_internal_serial_r );
-WRITE8_HANDLER( m68307_internal_serial_w );
+DECLARE_READ8_HANDLER( m68307_internal_serial_r );
+DECLARE_WRITE8_HANDLER( m68307_internal_serial_w );
class m68307_serial
{
diff --git a/src/emu/cpu/m68000/68307sim.h b/src/emu/cpu/m68000/68307sim.h
index b5aff2b21a8..b88af32d937 100644
--- a/src/emu/cpu/m68000/68307sim.h
+++ b/src/emu/cpu/m68000/68307sim.h
@@ -1,7 +1,7 @@
/* 68307 SIM module */
-READ16_HANDLER( m68307_internal_sim_r );
-WRITE16_HANDLER( m68307_internal_sim_w );
+DECLARE_READ16_HANDLER( m68307_internal_sim_r );
+DECLARE_WRITE16_HANDLER( m68307_internal_sim_w );
/* ports */
#define m68307SIM_PACNT (0x10)
diff --git a/src/emu/cpu/m68000/68307tmu.h b/src/emu/cpu/m68000/68307tmu.h
index 351a63f2825..5515965d1b5 100644
--- a/src/emu/cpu/m68000/68307tmu.h
+++ b/src/emu/cpu/m68000/68307tmu.h
@@ -1,6 +1,6 @@
-READ16_HANDLER( m68307_internal_timer_r );
-WRITE16_HANDLER( m68307_internal_timer_w );
+DECLARE_READ16_HANDLER( m68307_internal_timer_r );
+DECLARE_WRITE16_HANDLER( m68307_internal_timer_w );
#define m68307TIMER_TMR (0x0)
#define m68307TIMER_TRR (0x1)
diff --git a/src/emu/cpu/m68000/68340dma.h b/src/emu/cpu/m68000/68340dma.h
index 293c241424f..d9e5033cb06 100644
--- a/src/emu/cpu/m68000/68340dma.h
+++ b/src/emu/cpu/m68000/68340dma.h
@@ -1,6 +1,6 @@
-READ32_HANDLER( m68340_internal_dma_r );
-WRITE32_HANDLER( m68340_internal_dma_w );
+DECLARE_READ32_HANDLER( m68340_internal_dma_r );
+DECLARE_WRITE32_HANDLER( m68340_internal_dma_w );
class m68340_dma
{
diff --git a/src/emu/cpu/m68000/68340ser.h b/src/emu/cpu/m68000/68340ser.h
index 821c24a3d8b..3d21cee9679 100644
--- a/src/emu/cpu/m68000/68340ser.h
+++ b/src/emu/cpu/m68000/68340ser.h
@@ -1,6 +1,6 @@
-READ32_HANDLER( m68340_internal_serial_r );
-WRITE32_HANDLER( m68340_internal_serial_w );
+DECLARE_READ32_HANDLER( m68340_internal_serial_r );
+DECLARE_WRITE32_HANDLER( m68340_internal_serial_w );
class m68340_serial
{
diff --git a/src/emu/cpu/m68000/68340sim.h b/src/emu/cpu/m68000/68340sim.h
index 9d3005e58a0..76fc7b95a67 100644
--- a/src/emu/cpu/m68000/68340sim.h
+++ b/src/emu/cpu/m68000/68340sim.h
@@ -41,12 +41,12 @@
-READ16_HANDLER( m68340_internal_sim_r );
-WRITE16_HANDLER( m68340_internal_sim_w );
-READ32_HANDLER( m68340_internal_sim_cs_r );
-WRITE32_HANDLER( m68340_internal_sim_cs_w );
-READ8_HANDLER( m68340_internal_sim_ports_r );
-WRITE8_HANDLER( m68340_internal_sim_ports_w );
+DECLARE_READ16_HANDLER( m68340_internal_sim_r );
+DECLARE_WRITE16_HANDLER( m68340_internal_sim_w );
+DECLARE_READ32_HANDLER( m68340_internal_sim_cs_r );
+DECLARE_WRITE32_HANDLER( m68340_internal_sim_cs_w );
+DECLARE_READ8_HANDLER( m68340_internal_sim_ports_r );
+DECLARE_WRITE8_HANDLER( m68340_internal_sim_ports_w );
diff --git a/src/emu/cpu/m68000/68340tmu.h b/src/emu/cpu/m68000/68340tmu.h
index b88ada7646c..2a8e9fb9759 100644
--- a/src/emu/cpu/m68000/68340tmu.h
+++ b/src/emu/cpu/m68000/68340tmu.h
@@ -1,6 +1,6 @@
-READ32_HANDLER( m68340_internal_timer_r );
-WRITE32_HANDLER( m68340_internal_timer_w );
+DECLARE_READ32_HANDLER( m68340_internal_timer_r );
+DECLARE_WRITE32_HANDLER( m68340_internal_timer_w );
class m68340_timer
{
diff --git a/src/emu/cpu/psx/sio.h b/src/emu/cpu/psx/sio.h
index 412fa14f7a0..535f9c61f81 100644
--- a/src/emu/cpu/psx/sio.h
+++ b/src/emu/cpu/psx/sio.h
@@ -87,7 +87,7 @@ private:
psx_sio port[2];
};
-WRITE32_HANDLER( psx_sio_w );
-READ32_HANDLER( psx_sio_r );
+DECLARE_WRITE32_HANDLER( psx_sio_w );
+DECLARE_READ32_HANDLER( psx_sio_r );
#endif
diff --git a/src/emu/cpu/sh2/sh2.h b/src/emu/cpu/sh2/sh2.h
index 151a917d614..bea7a7aa7fd 100644
--- a/src/emu/cpu/sh2/sh2.h
+++ b/src/emu/cpu/sh2/sh2.h
@@ -67,8 +67,8 @@ struct sh2_cpu_core
DECLARE_LEGACY_CPU_DEVICE(SH1, sh1);
DECLARE_LEGACY_CPU_DEVICE(SH2, sh2);
-WRITE32_HANDLER( sh2_internal_w );
-READ32_HANDLER( sh2_internal_r );
+DECLARE_WRITE32_HANDLER( sh2_internal_w );
+DECLARE_READ32_HANDLER( sh2_internal_r );
void sh2_set_ftcsr_read_callback(device_t *device, void (*callback)(UINT32));
void sh2_set_frt_input(device_t *device, int state);
diff --git a/src/emu/cpu/sh4/sh4.h b/src/emu/cpu/sh4/sh4.h
index 25e856f059b..f7bfac57124 100644
--- a/src/emu/cpu/sh4/sh4.h
+++ b/src/emu/cpu/sh4/sh4.h
@@ -152,14 +152,14 @@ DECLARE_LEGACY_CPU_DEVICE(SH3BE, sh3be);
DECLARE_LEGACY_CPU_DEVICE(SH4LE, sh4);
DECLARE_LEGACY_CPU_DEVICE(SH4BE, sh4be);
-WRITE32_HANDLER( sh4_internal_w );
-READ32_HANDLER( sh4_internal_r );
+DECLARE_WRITE32_HANDLER( sh4_internal_w );
+DECLARE_READ32_HANDLER( sh4_internal_r );
-WRITE32_HANDLER( sh3_internal_w );
-READ32_HANDLER( sh3_internal_r );
+DECLARE_WRITE32_HANDLER( sh3_internal_w );
+DECLARE_READ32_HANDLER( sh3_internal_r );
-WRITE32_HANDLER( sh3_internal_high_w );
-READ32_HANDLER( sh3_internal_high_r );
+DECLARE_WRITE32_HANDLER( sh3_internal_high_w );
+DECLARE_READ32_HANDLER( sh3_internal_high_r );
void sh4_set_frt_input(device_t *device, int state);
diff --git a/src/emu/cpu/sh4/sh4comn.h b/src/emu/cpu/sh4/sh4comn.h
index 33fff77c0eb..f5d1a56688d 100644
--- a/src/emu/cpu/sh4/sh4comn.h
+++ b/src/emu/cpu/sh4/sh4comn.h
@@ -320,8 +320,8 @@ void sh4_common_init(device_t *device);
UINT32 sh4_getsqremap(sh4_state *sh4, UINT32 address);
void sh4_handler_ipra_w(sh4_state *sh4, UINT32 data, UINT32 mem_mask);
-READ64_HANDLER( sh4_tlb_r );
-WRITE64_HANDLER( sh4_tlb_w );
+DECLARE_READ64_HANDLER( sh4_tlb_r );
+DECLARE_WRITE64_HANDLER( sh4_tlb_w );
INLINE void sh4_check_pending_irq(sh4_state *sh4, const char *message) // look for highest priority active exception and handle it
diff --git a/src/emu/cpu/tms34010/tms34010.h b/src/emu/cpu/tms34010/tms34010.h
index ebc21b953f1..79147b9fe01 100644
--- a/src/emu/cpu/tms34010/tms34010.h
+++ b/src/emu/cpu/tms34010/tms34010.h
@@ -222,12 +222,12 @@ int tms34010_host_r(device_t *cpu, int reg);
/* Reads & writes to the 34010 I/O registers; place at 0xc0000000 */
-WRITE16_HANDLER( tms34010_io_register_w );
-READ16_HANDLER( tms34010_io_register_r );
+DECLARE_WRITE16_HANDLER( tms34010_io_register_w );
+DECLARE_READ16_HANDLER( tms34010_io_register_r );
/* Reads & writes to the 34020 I/O registers; place at 0xc0000000 */
-WRITE16_HANDLER( tms34020_io_register_w );
-READ16_HANDLER( tms34020_io_register_r );
+DECLARE_WRITE16_HANDLER( tms34020_io_register_w );
+DECLARE_READ16_HANDLER( tms34020_io_register_r );
/* Use this macro in the memory definitions to specify bit-based addresses */
diff --git a/src/emu/cpu/tms7000/tms7000.c b/src/emu/cpu/tms7000/tms7000.c
index 7142ff4afd8..2ab1e66531a 100644
--- a/src/emu/cpu/tms7000/tms7000.c
+++ b/src/emu/cpu/tms7000/tms7000.c
@@ -126,10 +126,10 @@ INLINE tms7000_state *get_safe_token(device_t *device)
#define SETZ pSR |= SR_Z
#define SETN pSR |= SR_N
-static READ8_HANDLER( tms7000_internal_r );
-static WRITE8_HANDLER( tms7000_internal_w );
-static READ8_HANDLER( tms70x0_pf_r );
-static WRITE8_HANDLER( tms70x0_pf_w );
+static DECLARE_READ8_HANDLER( tms7000_internal_r );
+static DECLARE_WRITE8_HANDLER( tms7000_internal_w );
+static DECLARE_READ8_HANDLER( tms70x0_pf_r );
+static DECLARE_WRITE8_HANDLER( tms70x0_pf_w );
static ADDRESS_MAP_START(tms7000_mem, AS_PROGRAM, 8, legacy_cpu_device )
AM_RANGE(0x0000, 0x007f) AM_READWRITE_LEGACY(tms7000_internal_r, tms7000_internal_w) /* tms7000 internal RAM */
diff --git a/src/emu/cpu/tms9900/tms9900l.h b/src/emu/cpu/tms9900/tms9900l.h
index 324d9ab02bc..af8690f78d3 100644
--- a/src/emu/cpu/tms9900/tms9900l.h
+++ b/src/emu/cpu/tms9900/tms9900l.h
@@ -71,14 +71,14 @@ struct ti990_10reset_param
};
/* accessor for the internal ROM */
-extern READ16_HANDLER(ti990_10_internal_r);
+extern DECLARE_READ16_HANDLER(ti990_10_internal_r);
/* CRU accessor for the mapper registers (R12 base 0x1fa0) */
-extern READ8_HANDLER(ti990_10_mapper_cru_r);
-extern WRITE8_HANDLER(ti990_10_mapper_cru_w);
+extern DECLARE_READ8_HANDLER(ti990_10_mapper_cru_r);
+extern DECLARE_WRITE8_HANDLER(ti990_10_mapper_cru_w);
/* CRU accessor for the error interrupt register (R12 base 0x1fc0) */
-extern READ8_HANDLER(ti990_10_eir_cru_r);
-extern WRITE8_HANDLER(ti990_10_eir_cru_w);
+extern DECLARE_READ8_HANDLER(ti990_10_eir_cru_r);
+extern DECLARE_WRITE8_HANDLER(ti990_10_eir_cru_w);
@@ -162,11 +162,11 @@ struct tms9995reset_param
};
/* accessor for the first 252 bytes of internal RAM */
-extern READ8_HANDLER(tms9995_internal1_r);
-extern WRITE8_HANDLER(tms9995_internal1_w);
+extern DECLARE_READ8_HANDLER(tms9995_internal1_r);
+extern DECLARE_WRITE8_HANDLER(tms9995_internal1_w);
/* accessors for the last 4 bytes of internal RAM */
-extern READ8_HANDLER(tms9995_internal2_r);
-extern WRITE8_HANDLER(tms9995_internal2_w);
+extern DECLARE_READ8_HANDLER(tms9995_internal2_r);
+extern DECLARE_WRITE8_HANDLER(tms9995_internal2_w);
diff --git a/src/emu/devcb.c b/src/emu/devcb.c
index 43157465c10..2683f94b9dc 100644
--- a/src/emu/devcb.c
+++ b/src/emu/devcb.c
@@ -393,7 +393,7 @@ void devcb_resolved_read8::resolve(const devcb_read8 &desc, device_t &device)
if (desc.readdevice != NULL)
{
m_helper.read8_device = desc.readdevice;
- *static_cast<devcb_read8_delegate *>(this) = devcb_read8_delegate(&devcb_resolved_read8::from_read8, desc.name, this);
+ *static_cast<devcb_read8_delegate *>(this) = devcb_read8_delegate(&devcb_resolved_read8::from_read8device, desc.name, this);
}
else
{
@@ -404,7 +404,8 @@ void devcb_resolved_read8::resolve(const devcb_read8 &desc, device_t &device)
case DEVCB_TYPE_LEGACY_SPACE:
m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
- *static_cast<devcb_read8_delegate *>(this) = devcb_read8_delegate(desc.readspace, desc.name, m_object.space);
+ m_helper.read8_space = desc.readspace;
+ *static_cast<devcb_read8_delegate *>(this) = devcb_read8_delegate(&devcb_resolved_read8::from_read8space, desc.name, this);
break;
case DEVCB_TYPE_CONSTANT:
@@ -420,29 +421,40 @@ void devcb_resolved_read8::resolve(const devcb_read8 &desc, device_t &device)
// value to an 8-bit value
//-------------------------------------------------
-UINT8 devcb_resolved_read8::from_port(offs_t offset)
+UINT8 devcb_resolved_read8::from_port(offs_t offset, UINT8 mem_mask)
{
return m_object.port->read();
}
//-------------------------------------------------
-// from_read8 - helper to convert from a device
+// from_read8space - helper to convert from a device
// line read value to an 8-bit value
//-------------------------------------------------
-UINT8 devcb_resolved_read8::from_read8(offs_t offset)
+UINT8 devcb_resolved_read8::from_read8space(offs_t offset, UINT8 mem_mask)
{
return (*m_helper.read8_device)(m_object.device, m_object.device->machine().driver_data()->generic_space(), offset, 0xff);
}
//-------------------------------------------------
+// from_read8device - helper to convert from a device
+// line read value to an 8-bit value
+//-------------------------------------------------
+
+UINT8 devcb_resolved_read8::from_read8device(offs_t offset, UINT8 mem_mask)
+{
+ return (*m_helper.read8_device)(m_object.device, m_object.device->machine().driver_data()->generic_space(), offset, mem_mask);
+}
+
+
+//-------------------------------------------------
// from_readline - helper to convert from a device
// line read value to an 8-bit value
//-------------------------------------------------
-UINT8 devcb_resolved_read8::from_readline(offs_t offset)
+UINT8 devcb_resolved_read8::from_readline(offs_t offset, UINT8 mem_mask)
{
return (*m_helper.read_line)(m_object.device);
}
@@ -453,7 +465,7 @@ UINT8 devcb_resolved_read8::from_readline(offs_t offset)
// constant value to an 8-bit value
//-------------------------------------------------
-UINT8 devcb_resolved_read8::from_constant(offs_t offset)
+UINT8 devcb_resolved_read8::from_constant(offs_t offset, UINT8 mem_mask)
{
return m_object.constant;
}
@@ -500,7 +512,7 @@ void devcb_resolved_write8::resolve(const devcb_write8 &desc, device_t &device)
if (desc.writedevice != NULL)
{
m_helper.write8_device = desc.writedevice;
- *static_cast<devcb_write8_delegate *>(this) = devcb_write8_delegate(&devcb_resolved_write8::to_write8, desc.name, this);
+ *static_cast<devcb_write8_delegate *>(this) = devcb_write8_delegate(&devcb_resolved_write8::to_write8device, desc.name, this);
}
else
{
@@ -511,7 +523,8 @@ void devcb_resolved_write8::resolve(const devcb_write8 &desc, device_t &device)
case DEVCB_TYPE_LEGACY_SPACE:
m_object.space = &devcb_resolver::resolve_space(desc.index, desc.tag, device);
- *static_cast<devcb_write8_delegate *>(this) = devcb_write8_delegate(desc.writespace, desc.name, m_object.space);
+ m_helper.write8_space = desc.writespace;
+ *static_cast<devcb_write8_delegate *>(this) = devcb_write8_delegate(&devcb_resolved_write8::to_write8space, desc.name, this);
break;
case DEVCB_TYPE_INPUT_LINE:
@@ -527,7 +540,7 @@ void devcb_resolved_write8::resolve(const devcb_write8 &desc, device_t &device)
// to_null - helper to handle a NULL write
//-------------------------------------------------
-void devcb_resolved_write8::to_null(offs_t offset, UINT8 data)
+void devcb_resolved_write8::to_null(offs_t offset, UINT8 data, UINT8 mem_mask)
{
}
@@ -537,20 +550,31 @@ void devcb_resolved_write8::to_null(offs_t offset, UINT8 data)
// value from a line value
//-------------------------------------------------
-void devcb_resolved_write8::to_port(offs_t offset, UINT8 data)
+void devcb_resolved_write8::to_port(offs_t offset, UINT8 data, UINT8 mem_mask)
{
- m_object.port->write(data, 0xff);
+ m_object.port->write(data, mem_mask);
}
//-------------------------------------------------
-// to_write8 - helper to convert to an 8-bit
+// to_write8space - helper to convert to an 8-bit
+// memory read value from a line value
+//-------------------------------------------------
+
+void devcb_resolved_write8::to_write8space(offs_t offset, UINT8 data, UINT8 mem_mask)
+{
+ (*m_helper.write8_space)(*m_object.space, offset, data, mem_mask);
+}
+
+
+//-------------------------------------------------
+// to_write8device - helper to convert to an 8-bit
// memory read value from a line value
//-------------------------------------------------
-void devcb_resolved_write8::to_write8(offs_t offset, UINT8 data)
+void devcb_resolved_write8::to_write8device(offs_t offset, UINT8 data, UINT8 mem_mask)
{
- (*m_helper.write8_device)(m_object.device, m_object.device->machine().driver_data()->generic_space(), offset, data, 0xff);
+ (*m_helper.write8_device)(m_object.device, m_object.device->machine().driver_data()->generic_space(), offset, data, mem_mask);
}
@@ -559,7 +583,7 @@ void devcb_resolved_write8::to_write8(offs_t offset, UINT8 data)
// memory read value from a line value
//-------------------------------------------------
-void devcb_resolved_write8::to_writeline(offs_t offset, UINT8 data)
+void devcb_resolved_write8::to_writeline(offs_t offset, UINT8 data, UINT8 mem_mask)
{
(*m_helper.write_line)(m_object.device, (data & 1) ? ASSERT_LINE : CLEAR_LINE);
}
@@ -570,7 +594,7 @@ void devcb_resolved_write8::to_writeline(offs_t offset, UINT8 data)
// value from a line value
//-------------------------------------------------
-void devcb_resolved_write8::to_input(offs_t offset, UINT8 data)
+void devcb_resolved_write8::to_input(offs_t offset, UINT8 data, UINT8 mem_mask)
{
m_object.execute->set_input_line(m_helper.input_line, (data & 1) ? ASSERT_LINE : CLEAR_LINE);
}
diff --git a/src/emu/devcb.h b/src/emu/devcb.h
index 011ecc5b937..3a3fc63cf46 100644
--- a/src/emu/devcb.h
+++ b/src/emu/devcb.h
@@ -353,7 +353,7 @@ struct devcb_read8
// ======================> devcb_resolved_read8
// base delegate type for a read8
-typedef delegate<UINT8 (offs_t)> devcb_read8_delegate;
+typedef delegate<UINT8 (offs_t, UINT8)> devcb_read8_delegate;
// class which wraps resolving a devcb_read8 into a delegate
class devcb_resolved_read8 : public devcb_read8_delegate
@@ -371,12 +371,16 @@ public:
// override parent class' notion of NULL
bool isnull() const { return m_helper.null_indicator == &s_null; }
+ // provide default for mem_mask
+ UINT8 operator()(offs_t offset, UINT8 mem_mask = 0xff) const { return devcb_read8_delegate::operator()(offset, mem_mask); }
+
private:
// internal helpers
- UINT8 from_port(offs_t offset);
- UINT8 from_read8(offs_t offset);
- UINT8 from_readline(offs_t offset);
- UINT8 from_constant(offs_t offset);
+ UINT8 from_port(offs_t offset, UINT8 mem_mask);
+ UINT8 from_read8space(offs_t offset, UINT8 mem_mask);
+ UINT8 from_read8device(offs_t offset, UINT8 mem_mask);
+ UINT8 from_readline(offs_t offset, UINT8 mem_mask);
+ UINT8 from_constant(offs_t offset, UINT8 mem_mask);
// internal state
devcb_resolved_objects m_object;
@@ -403,7 +407,7 @@ struct devcb_write8
// ======================> devcb_resolved_write8
// base delegate type for a write8
-typedef delegate<void (offs_t, UINT8)> devcb_write8_delegate;
+typedef delegate<void (offs_t, UINT8, UINT8)> devcb_write8_delegate;
// class which wraps resolving a devcb_write8 into a delegate
class devcb_resolved_write8 : public devcb_write8_delegate
@@ -421,13 +425,17 @@ public:
// override parent class' notion of NULL
bool isnull() const { return m_helper.null_indicator == &s_null; }
+ // provide default for mem_mask
+ void operator()(offs_t offset, UINT8 data, UINT8 mem_mask = 0xff) const { devcb_write8_delegate::operator()(offset, data, mem_mask); }
+
private:
// internal helpers
- void to_null(offs_t offset, UINT8 data);
- void to_port(offs_t offset, UINT8 data);
- void to_write8(offs_t offset, UINT8 data);
- void to_writeline(offs_t offset, UINT8 data);
- void to_input(offs_t offset, UINT8 data);
+ void to_null(offs_t offset, UINT8 data, UINT8 mem_mask);
+ void to_port(offs_t offset, UINT8 data, UINT8 mem_mask);
+ void to_write8space(offs_t offset, UINT8 data, UINT8 mem_mask);
+ void to_write8device(offs_t offset, UINT8 data, UINT8 mem_mask);
+ void to_writeline(offs_t offset, UINT8 data, UINT8 mem_mask);
+ void to_input(offs_t offset, UINT8 data, UINT8 mem_mask);
// internal state
devcb_resolved_objects m_object;
@@ -472,6 +480,9 @@ public:
// override parent class' notion of NULL
bool isnull() const { return m_helper.null_indicator == &s_null; }
+ // provide default for mem_mask
+ UINT16 operator()(offs_t offset, UINT16 mem_mask = 0xffff) const { return devcb_read16_delegate::operator()(offset, mem_mask); }
+
private:
// internal helpers
UINT16 from_port(offs_t offset, UINT16 mask);
@@ -522,6 +533,9 @@ public:
// override parent class' notion of NULL
bool isnull() const { return m_helper.null_indicator == &s_null; }
+ // provide default for mem_mask
+ void operator()(offs_t offset, UINT16 data, UINT16 mem_mask = 0xffff) const { devcb_write16_delegate::operator()(offset, data, mem_mask); }
+
private:
// internal helpers
void to_null(offs_t offset, UINT16 data, UINT16 mask);
diff --git a/src/emu/machine/8042kbdc.h b/src/emu/machine/8042kbdc.h
index a54c59f885b..90ef3c7d4a6 100644
--- a/src/emu/machine/8042kbdc.h
+++ b/src/emu/machine/8042kbdc.h
@@ -34,10 +34,10 @@ struct kbdc8042_interface
void kbdc8042_init(running_machine &machine, const struct kbdc8042_interface *intf);
-READ8_HANDLER(kbdc8042_8_r);
-WRITE8_HANDLER(kbdc8042_8_w);
-READ64_HANDLER(kbdc8042_64be_r);
-WRITE64_HANDLER(kbdc8042_64be_w);
+DECLARE_READ8_HANDLER(kbdc8042_8_r);
+DECLARE_WRITE8_HANDLER(kbdc8042_8_w);
+DECLARE_READ64_HANDLER(kbdc8042_64be_r);
+DECLARE_WRITE64_HANDLER(kbdc8042_64be_w);
#endif /* KBDC8042_H */
diff --git a/src/emu/machine/latch8.c b/src/emu/machine/latch8.c
index 6b24a68fe1e..c3c34652d76 100644
--- a/src/emu/machine/latch8.c
+++ b/src/emu/machine/latch8.c
@@ -88,7 +88,7 @@ READ8_DEVICE_HANDLER( latch8_r )
if (latch8->intf->devread[i].read_handler != NULL)
{
res &= ~( 1 << i);
- res |= ((latch8->intf->devread[i].read_handler(space, 0) >> latch8->intf->devread[i].from_bit) & 0x01) << i;
+ res |= ((latch8->intf->devread[i].read_handler(space, 0, 0xff) >> latch8->intf->devread[i].from_bit) & 0x01) << i;
}
}
}
diff --git a/src/emu/machine/pc16552d.h b/src/emu/machine/pc16552d.h
index 98d117040cf..c5f9018d94c 100644
--- a/src/emu/machine/pc16552d.h
+++ b/src/emu/machine/pc16552d.h
@@ -4,9 +4,9 @@
void pc16552d_init(running_machine &machine, int chip, int frequency, void (* irq_handler)(running_machine &machine, int channel, int value), void (* tx_callback)(running_machine &machine, int channel, int count, UINT8* data));
void pc16552d_rx_data(running_machine &machine, int chip, int channel, UINT8 data);
-READ8_HANDLER(pc16552d_0_r);
-WRITE8_HANDLER(pc16552d_0_w);
-READ8_HANDLER(pc16552d_1_r);
-WRITE8_HANDLER(pc16552d_1_w);
+DECLARE_READ8_HANDLER(pc16552d_0_r);
+DECLARE_WRITE8_HANDLER(pc16552d_0_w);
+DECLARE_READ8_HANDLER(pc16552d_1_r);
+DECLARE_WRITE8_HANDLER(pc16552d_1_w);
#endif
diff --git a/src/emu/machine/s3c2400.c b/src/emu/machine/s3c2400.c
index 69a8a737c68..7c190a973bf 100644
--- a/src/emu/machine/s3c2400.c
+++ b/src/emu/machine/s3c2400.c
@@ -62,7 +62,7 @@ DEVICE_START( s3c2400 )
space.install_legacy_readwrite_handler( *device, 0x15800000, 0x15800007, FUNC(s3c24xx_adc_r), FUNC(s3c24xx_adc_w));
space.install_legacy_readwrite_handler( *device, 0x15900000, 0x15900017, FUNC(s3c24xx_spi_0_r), FUNC(s3c24xx_spi_0_w));
space.install_legacy_readwrite_handler( *device, 0x15a00000, 0x15a0003f, FUNC(s3c24xx_mmc_r), FUNC(s3c24xx_mmc_w));
-
+
s3c24xx_video_start( device, device->machine());
}
diff --git a/src/emu/machine/s3c2410.c b/src/emu/machine/s3c2410.c
index ec5258449b4..28dc0e2ad84 100644
--- a/src/emu/machine/s3c2410.c
+++ b/src/emu/machine/s3c2410.c
@@ -65,7 +65,7 @@ DEVICE_START( s3c2410 )
space.install_legacy_readwrite_handler( *device, 0x59000000, 0x59000017, FUNC(s3c24xx_spi_0_r), FUNC(s3c24xx_spi_0_w));
space.install_legacy_readwrite_handler( *device, 0x59000020, 0x59000037, FUNC(s3c24xx_spi_1_r), FUNC(s3c24xx_spi_1_w));
space.install_legacy_readwrite_handler( *device, 0x5a000000, 0x5a000043, FUNC(s3c24xx_sdi_r), FUNC(s3c24xx_sdi_w));
-
+
s3c24xx_video_start( device, device->machine());
}
diff --git a/src/emu/machine/tmp68301.h b/src/emu/machine/tmp68301.h
index c83c249c839..354114c77b2 100644
--- a/src/emu/machine/tmp68301.h
+++ b/src/emu/machine/tmp68301.h
@@ -6,8 +6,8 @@ MACHINE_START( tmp68301 );
MACHINE_RESET( tmp68301 );
// Hardware Registers
-READ16_HANDLER( tmp68301_regs_r );
-WRITE16_HANDLER( tmp68301_regs_w );
+DECLARE_READ16_HANDLER( tmp68301_regs_r );
+DECLARE_WRITE16_HANDLER( tmp68301_regs_w );
// Interrupts
void tmp68301_external_interrupt_0(running_machine &machine);
diff --git a/src/emu/memconv.h b/src/emu/memconv.h
index 5abdf6c792c..65deea7cd94 100644
--- a/src/emu/memconv.h
+++ b/src/emu/memconv.h
@@ -89,9 +89,9 @@ INLINE UINT16 read16be_with_read8_handler(read8_space_func handler, address_spac
{
UINT16 result = 0;
if (ACCESSING_BITS_8_15)
- result |= ((UINT16)(*handler)(space, offset * 2 + 0)) << 8;
+ result |= ((UINT16)(*handler)(space, offset * 2 + 0, mem_mask >> 8)) << 8;
if (ACCESSING_BITS_0_7)
- result |= ((UINT16)(*handler)(space, offset * 2 + 1)) << 0;
+ result |= ((UINT16)(*handler)(space, offset * 2 + 1, mem_mask >> 0)) << 0;
return result;
}
@@ -99,9 +99,9 @@ INLINE UINT16 read16be_with_read8_handler(read8_space_func handler, address_spac
INLINE void write16be_with_write8_handler(write8_space_func handler, address_space &space, offs_t offset, UINT16 data, UINT16 mem_mask)
{
if (ACCESSING_BITS_8_15)
- (*handler)(space, offset * 2 + 0, data >> 8);
+ (*handler)(space, offset * 2 + 0, data >> 8, mem_mask >> 8);
if (ACCESSING_BITS_0_7)
- (*handler)(space, offset * 2 + 1, data >> 0);
+ (*handler)(space, offset * 2 + 1, data >> 0, mem_mask >> 0);
}
@@ -115,9 +115,9 @@ INLINE UINT16 read16le_with_read8_handler(read8_space_func handler, address_spac
{
UINT16 result = 0;
if (ACCESSING_BITS_0_7)
- result |= ((UINT16) (*handler)(space, offset * 2 + 0)) << 0;
+ result |= ((UINT16) (*handler)(space, offset * 2 + 0, mem_mask >> 0)) << 0;
if (ACCESSING_BITS_8_15)
- result |= ((UINT16) (*handler)(space, offset * 2 + 1)) << 8;
+ result |= ((UINT16) (*handler)(space, offset * 2 + 1, mem_mask >> 8)) << 8;
return result;
}
@@ -125,9 +125,9 @@ INLINE UINT16 read16le_with_read8_handler(read8_space_func handler, address_spac
INLINE void write16le_with_write8_handler(write8_space_func handler, address_space &space, offs_t offset, UINT16 data, UINT16 mem_mask)
{
if (ACCESSING_BITS_0_7)
- (*handler)(space, offset * 2 + 0, data >> 0);
+ (*handler)(space, offset * 2 + 0, data >> 0, mem_mask >> 0);
if (ACCESSING_BITS_8_15)
- (*handler)(space, offset * 2 + 1, data >> 8);
+ (*handler)(space, offset * 2 + 1, data >> 8, mem_mask >> 8);
}
diff --git a/src/emu/memory.c b/src/emu/memory.c
index 23e7f64c800..ea7b375410a 100644
--- a/src/emu/memory.c
+++ b/src/emu/memory.c
@@ -4984,7 +4984,7 @@ UINT16 handler_entry_read::read_stub_16(address_space &space, offs_t offset, UIN
offs_t aoffset = offset * si.m_multiplier + si.m_offset;
UINT8 val;
if (m_sub_is_legacy[index])
- val = m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset);
+ val = m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset, submask);
else
val = m_subread[index].r8(space, aoffset, submask);
result |= val << si.m_shift;
@@ -5015,7 +5015,7 @@ UINT32 handler_entry_read::read_stub_32(address_space &space, offs_t offset, UIN
switch (si.m_size)
{
case 8:
- val = m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset);
+ val = m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset, submask);
break;
case 16:
val = m_sublegacy_info[index].handler.space16(*m_sublegacy_info[index].object.space, aoffset, submask);
@@ -5062,7 +5062,7 @@ UINT64 handler_entry_read::read_stub_64(address_space &space, offs_t offset, UIN
switch (si.m_size)
{
case 8:
- val = m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset);
+ val = m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset, submask);
break;
case 16:
val = m_sublegacy_info[index].handler.space16(*m_sublegacy_info[index].object.space, aoffset, submask);
@@ -5101,7 +5101,7 @@ UINT64 handler_entry_read::read_stub_64(address_space &space, offs_t offset, UIN
UINT8 handler_entry_read::read_stub_legacy(address_space &space, offs_t offset, UINT8 mask)
{
- return m_legacy_info.handler.space8(*m_legacy_info.object.space, offset);
+ return m_legacy_info.handler.space8(*m_legacy_info.object.space, offset, mask);
}
UINT16 handler_entry_read::read_stub_legacy(address_space &space, offs_t offset, UINT16 mask)
@@ -5438,7 +5438,7 @@ void handler_entry_write::write_stub_16(address_space &space, offs_t offset, UIN
offs_t aoffset = offset * si.m_multiplier + si.m_offset;
UINT8 adata = data >> si.m_shift;
if (m_sub_is_legacy[index])
- m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset, adata);
+ m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset, adata, submask);
else
m_subwrite[index].w8(space, aoffset, adata, submask);
}
@@ -5466,7 +5466,7 @@ void handler_entry_write::write_stub_32(address_space &space, offs_t offset, UIN
switch (si.m_size)
{
case 8:
- m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset, adata);
+ m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset, adata, submask);
break;
case 16:
m_sublegacy_info[index].handler.space16(*m_sublegacy_info[index].object.space, aoffset, adata, submask);
@@ -5510,7 +5510,7 @@ void handler_entry_write::write_stub_64(address_space &space, offs_t offset, UIN
switch (si.m_size)
{
case 8:
- m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset, adata);
+ m_sublegacy_info[index].handler.space8(*m_sublegacy_info[index].object.space, aoffset, adata, submask);
break;
case 16:
m_sublegacy_info[index].handler.space16(*m_sublegacy_info[index].object.space, aoffset, adata, submask);
@@ -5547,7 +5547,7 @@ void handler_entry_write::write_stub_64(address_space &space, offs_t offset, UIN
void handler_entry_write::write_stub_legacy(address_space &space, offs_t offset, UINT8 data, UINT8 mask)
{
- m_legacy_info.handler.space8(*m_legacy_info.object.space, offset, data);
+ m_legacy_info.handler.space8(*m_legacy_info.object.space, offset, data, mask);
}
void handler_entry_write::write_stub_legacy(address_space &space, offs_t offset, UINT16 data, UINT16 mask)
diff --git a/src/emu/memory.h b/src/emu/memory.h
index d9f6d7d7525..d948c845f51 100644
--- a/src/emu/memory.h
+++ b/src/emu/memory.h
@@ -112,8 +112,8 @@ typedef delegate<void (address_map &, const device_t &)> address_map_delegate;
// legacy space read/write handlers
-typedef UINT8 (*read8_space_func) (ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset);
-typedef void (*write8_space_func) (ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 data);
+typedef UINT8 (*read8_space_func) (ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 mem_mask);
+typedef void (*write8_space_func) (ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 data, ATTR_UNUSED UINT8 mem_mask);
typedef UINT16 (*read16_space_func) (ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 mem_mask);
typedef void (*write16_space_func)(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 data, ATTR_UNUSED UINT16 mem_mask);
typedef UINT32 (*read32_space_func) (ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT32 mem_mask);
@@ -876,8 +876,8 @@ private:
// space read/write handler function macros
-#define READ8_HANDLER(name) UINT8 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset)
-#define WRITE8_HANDLER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 data)
+#define READ8_HANDLER(name) UINT8 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 mem_mask)
+#define WRITE8_HANDLER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 data, ATTR_UNUSED UINT8 mem_mask)
#define READ16_HANDLER(name) UINT16 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 mem_mask)
#define WRITE16_HANDLER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 data, ATTR_UNUSED UINT16 mem_mask)
#define READ32_HANDLER(name) UINT32 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT32 mem_mask)
@@ -885,6 +885,15 @@ private:
#define READ64_HANDLER(name) UINT64 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT64 mem_mask)
#define WRITE64_HANDLER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT64 data, ATTR_UNUSED UINT64 mem_mask)
+#define DECLARE_READ8_HANDLER(name) UINT8 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 mem_mask = 0xff)
+#define DECLARE_WRITE8_HANDLER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 data, ATTR_UNUSED UINT8 mem_mask = 0xff)
+#define DECLARE_READ16_HANDLER(name) UINT16 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 mem_mask = 0xffff)
+#define DECLARE_WRITE16_HANDLER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT16 data, ATTR_UNUSED UINT16 mem_mask = 0xffff)
+#define DECLARE_READ32_HANDLER(name) UINT32 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT32 mem_mask = 0xffffffff)
+#define DECLARE_WRITE32_HANDLER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT32 data, ATTR_UNUSED UINT32 mem_mask = 0xffffffff)
+#define DECLARE_READ64_HANDLER(name) UINT64 name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT64 mem_mask = U64(0xffffffffffffffff))
+#define DECLARE_WRITE64_HANDLER(name) void name(ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT64 data, ATTR_UNUSED UINT64 mem_mask = U64(0xffffffffffffffff))
+
// device read/write handler function macros
#define READ8_DEVICE_HANDLER(name) UINT8 name(ATTR_UNUSED device_t *device, ATTR_UNUSED address_space &space, ATTR_UNUSED offs_t offset, ATTR_UNUSED UINT8 mem_mask)
diff --git a/src/emu/sound/pokey.h b/src/emu/sound/pokey.h
index 4a10392d7b5..57eb394e5d9 100644
--- a/src/emu/sound/pokey.h
+++ b/src/emu/sound/pokey.h
@@ -347,8 +347,8 @@ extern const device_type POKEY;
/* fix me: eventually this should be a single device with pokey subdevices */
-READ8_HANDLER( quad_pokeyn_r );
-WRITE8_HANDLER( quad_pokeyn_w );
+DECLARE_READ8_HANDLER( quad_pokeyn_r );
+DECLARE_WRITE8_HANDLER( quad_pokeyn_w );
#endif /* __POKEY_H__ */
diff --git a/src/emu/sound/spu.h b/src/emu/sound/spu.h
index 5f9c8a1797c..35457214fea 100644
--- a/src/emu/sound/spu.h
+++ b/src/emu/sound/spu.h
@@ -248,7 +248,7 @@ extern reverb_params *spu_reverb_cfg;
extern const device_type SPU;
// MAME old-style interface
-READ16_HANDLER( spu_r );
-WRITE16_HANDLER( spu_w );
+DECLARE_READ16_HANDLER( spu_r );
+DECLARE_WRITE16_HANDLER( spu_w );
#endif
diff --git a/src/emu/video/pc_cga.c b/src/emu/video/pc_cga.c
index e6c1dc791b1..3373c1f38eb 100644
--- a/src/emu/video/pc_cga.c
+++ b/src/emu/video/pc_cga.c
@@ -168,8 +168,8 @@ INPUT_PORTS_END
#define CGA_CHIPSET_PARADISE 0x80 /* Paradise (used in PC1640) */
-static READ8_HANDLER( pc_cga8_r );
-static WRITE8_HANDLER( pc_cga8_w );
+static DECLARE_READ8_HANDLER( pc_cga8_r );
+static DECLARE_WRITE8_HANDLER( pc_cga8_w );
static MC6845_UPDATE_ROW( cga_update_row );
static WRITE_LINE_DEVICE_HANDLER( cga_hsync_changed );
static WRITE_LINE_DEVICE_HANDLER( cga_vsync_changed );
diff --git a/src/emu/video/pc_cga.h b/src/emu/video/pc_cga.h
index dcc70d444af..a465d42ff7a 100644
--- a/src/emu/video/pc_cga.h
+++ b/src/emu/video/pc_cga.h
@@ -20,9 +20,9 @@ INPUT_PORTS_EXTERN( pcvideo_pc1512 );
/* Used in machine/pc.c */
-READ16_HANDLER( pc1512_16le_r );
-WRITE16_HANDLER( pc1512_16le_w );
-WRITE16_HANDLER( pc1512_videoram16le_w );
+DECLARE_READ16_HANDLER( pc1512_16le_r );
+DECLARE_WRITE16_HANDLER( pc1512_16le_w );
+DECLARE_WRITE16_HANDLER( pc1512_videoram16le_w );
MACHINE_CONFIG_EXTERN( pcvideo_poisk2 );
diff --git a/src/emu/video/pc_vga.c b/src/emu/video/pc_vga.c
index cea4b1c6eb8..b4502bc49f5 100644
--- a/src/emu/video/pc_vga.c
+++ b/src/emu/video/pc_vga.c
@@ -1533,7 +1533,7 @@ READ8_HANDLER( vga_port_03b0_r )
{
UINT8 data = 0xff;
if (CRTC_PORT_ADDR==0x3b0)
- data=vga_crtc_r(space, offset);
+ data=vga_crtc_r(space, offset, mem_mask);
return data;
}
@@ -1607,19 +1607,19 @@ READ8_HANDLER( vga_port_03c0_r )
switch ((vga.miscellaneous_output>>2)&3)
{
case 3:
- if (vga.read_dipswitch && vga.read_dipswitch(space, 0) & 0x01)
+ if (vga.read_dipswitch && vga.read_dipswitch(space, 0, mem_mask) & 0x01)
data |= 0x10;
break;
case 2:
- if (vga.read_dipswitch && vga.read_dipswitch(space, 0) & 0x02)
+ if (vga.read_dipswitch && vga.read_dipswitch(space, 0, mem_mask) & 0x02)
data |= 0x10;
break;
case 1:
- if (vga.read_dipswitch && vga.read_dipswitch(space, 0) & 0x04)
+ if (vga.read_dipswitch && vga.read_dipswitch(space, 0, mem_mask) & 0x04)
data |= 0x10;
break;
case 0:
- if (vga.read_dipswitch && vga.read_dipswitch(space, 0) & 0x08)
+ if (vga.read_dipswitch && vga.read_dipswitch(space, 0, mem_mask) & 0x08)
data |= 0x10;
break;
}
@@ -1697,7 +1697,7 @@ READ8_HANDLER(vga_port_03d0_r)
{
UINT8 data = 0xff;
if (CRTC_PORT_ADDR == 0x3d0)
- data = vga_crtc_r(space, offset);
+ data = vga_crtc_r(space, offset, mem_mask);
if(offset == 8)
{
logerror("VGA: 0x3d8 read at %08x\n",space.device().safe_pc());
@@ -1713,7 +1713,7 @@ WRITE8_HANDLER( vga_port_03b0_w )
logerror("vga_port_03b0_w(): port=0x%04x data=0x%02x\n", offset + 0x3b0, data);
if (CRTC_PORT_ADDR == 0x3b0)
- vga_crtc_w(space, offset, data);
+ vga_crtc_w(space, offset, data, mem_mask);
}
static void attribute_reg_write(UINT8 index, UINT8 data)
@@ -1876,7 +1876,7 @@ WRITE8_HANDLER(vga_port_03d0_w)
logerror("vga_port_03d0_w(): port=0x%04x data=0x%02x\n", offset + 0x3d0, data);
if (CRTC_PORT_ADDR == 0x3d0)
- vga_crtc_w(space, offset, data);
+ vga_crtc_w(space, offset, data, mem_mask);
}
void pc_vga_reset(running_machine &machine)
diff --git a/src/emu/video/pc_vga.h b/src/emu/video/pc_vga.h
index c944a6d654a..a7c30d99727 100644
--- a/src/emu/video/pc_vga.h
+++ b/src/emu/video/pc_vga.h
@@ -35,107 +35,107 @@ size_t pc_vga_memory_size(void);
void pc_video_start(running_machine &machine);
void s3_video_start(running_machine &machine);
-READ8_HANDLER(vga_port_03b0_r);
-READ8_HANDLER(vga_port_03c0_r);
-READ8_HANDLER(vga_port_03d0_r);
-READ8_HANDLER(vga_mem_r);
-WRITE8_HANDLER(vga_port_03b0_w);
-WRITE8_HANDLER(vga_port_03c0_w);
-WRITE8_HANDLER(vga_port_03d0_w);
-WRITE8_HANDLER(vga_mem_w);
+DECLARE_READ8_HANDLER(vga_port_03b0_r);
+DECLARE_READ8_HANDLER(vga_port_03c0_r);
+DECLARE_READ8_HANDLER(vga_port_03d0_r);
+DECLARE_READ8_HANDLER(vga_mem_r);
+DECLARE_WRITE8_HANDLER(vga_port_03b0_w);
+DECLARE_WRITE8_HANDLER(vga_port_03c0_w);
+DECLARE_WRITE8_HANDLER(vga_port_03d0_w);
+DECLARE_WRITE8_HANDLER(vga_mem_w);
/* per-device implementations */
-READ8_HANDLER(tseng_et4k_03b0_r);
-WRITE8_HANDLER(tseng_et4k_03b0_w);
-READ8_HANDLER(tseng_et4k_03c0_r);
-WRITE8_HANDLER(tseng_et4k_03c0_w);
-READ8_HANDLER(tseng_et4k_03d0_r);
-WRITE8_HANDLER(tseng_et4k_03d0_w);
-READ8_HANDLER(tseng_mem_r);
-WRITE8_HANDLER(tseng_mem_w);
-
-READ8_HANDLER(trident_03c0_r);
-WRITE8_HANDLER(trident_03c0_w);
-READ8_HANDLER(trident_03d0_r);
-WRITE8_HANDLER(trident_03d0_w);
-READ8_HANDLER(trident_mem_r);
-WRITE8_HANDLER(trident_mem_w);
-
-READ8_HANDLER(s3_port_03b0_r);
-WRITE8_HANDLER(s3_port_03b0_w);
-READ8_HANDLER(s3_port_03c0_r);
-WRITE8_HANDLER(s3_port_03c0_w);
-READ8_HANDLER(s3_port_03d0_r);
-WRITE8_HANDLER(s3_port_03d0_w);
-READ16_HANDLER(s3_gpstatus_r);
-WRITE16_HANDLER(s3_cmd_w);
-READ16_HANDLER(ibm8514_ssv_r);
-WRITE16_HANDLER(ibm8514_ssv_w);
-READ16_HANDLER(s3_8ae8_r);
-WRITE16_HANDLER(s3_8ae8_w);
-READ16_HANDLER(s3_8ee8_r);
-WRITE16_HANDLER(s3_8ee8_w);
-READ16_HANDLER(s3_currentx_r);
-WRITE16_HANDLER(s3_currentx_w);
-READ16_HANDLER(s3_currenty_r);
-WRITE16_HANDLER(s3_currenty_w);
-READ16_HANDLER(s3_line_error_r);
-WRITE16_HANDLER(s3_line_error_w);
-READ16_HANDLER(s3_width_r);
-WRITE16_HANDLER(s3_width_w);
-READ16_HANDLER(s3_multifunc_r);
-WRITE16_HANDLER(s3_multifunc_w);
-READ16_HANDLER(s3_fgcolour_r);
-WRITE16_HANDLER(s3_fgcolour_w);
-READ16_HANDLER(s3_bgcolour_r);
-WRITE16_HANDLER(s3_bgcolour_w);
-READ16_HANDLER(s3_backmix_r);
-WRITE16_HANDLER(s3_backmix_w);
-READ16_HANDLER(s3_foremix_r);
-WRITE16_HANDLER(s3_foremix_w);
-READ16_HANDLER(s3_pixel_xfer_r);
-WRITE16_HANDLER(s3_pixel_xfer_w);
-READ8_HANDLER(s3_mem_r);
-WRITE8_HANDLER(s3_mem_w);
-
-READ8_HANDLER( ati_port_03c0_r );
+DECLARE_READ8_HANDLER(tseng_et4k_03b0_r);
+DECLARE_WRITE8_HANDLER(tseng_et4k_03b0_w);
+DECLARE_READ8_HANDLER(tseng_et4k_03c0_r);
+DECLARE_WRITE8_HANDLER(tseng_et4k_03c0_w);
+DECLARE_READ8_HANDLER(tseng_et4k_03d0_r);
+DECLARE_WRITE8_HANDLER(tseng_et4k_03d0_w);
+DECLARE_READ8_HANDLER(tseng_mem_r);
+DECLARE_WRITE8_HANDLER(tseng_mem_w);
+
+DECLARE_READ8_HANDLER(trident_03c0_r);
+DECLARE_WRITE8_HANDLER(trident_03c0_w);
+DECLARE_READ8_HANDLER(trident_03d0_r);
+DECLARE_WRITE8_HANDLER(trident_03d0_w);
+DECLARE_READ8_HANDLER(trident_mem_r);
+DECLARE_WRITE8_HANDLER(trident_mem_w);
+
+DECLARE_READ8_HANDLER(s3_port_03b0_r);
+DECLARE_WRITE8_HANDLER(s3_port_03b0_w);
+DECLARE_READ8_HANDLER(s3_port_03c0_r);
+DECLARE_WRITE8_HANDLER(s3_port_03c0_w);
+DECLARE_READ8_HANDLER(s3_port_03d0_r);
+DECLARE_WRITE8_HANDLER(s3_port_03d0_w);
+DECLARE_READ16_HANDLER(s3_gpstatus_r);
+DECLARE_WRITE16_HANDLER(s3_cmd_w);
+DECLARE_READ16_HANDLER(ibm8514_ssv_r);
+DECLARE_WRITE16_HANDLER(ibm8514_ssv_w);
+DECLARE_READ16_HANDLER(s3_8ae8_r);
+DECLARE_WRITE16_HANDLER(s3_8ae8_w);
+DECLARE_READ16_HANDLER(s3_8ee8_r);
+DECLARE_WRITE16_HANDLER(s3_8ee8_w);
+DECLARE_READ16_HANDLER(s3_currentx_r);
+DECLARE_WRITE16_HANDLER(s3_currentx_w);
+DECLARE_READ16_HANDLER(s3_currenty_r);
+DECLARE_WRITE16_HANDLER(s3_currenty_w);
+DECLARE_READ16_HANDLER(s3_line_error_r);
+DECLARE_WRITE16_HANDLER(s3_line_error_w);
+DECLARE_READ16_HANDLER(s3_width_r);
+DECLARE_WRITE16_HANDLER(s3_width_w);
+DECLARE_READ16_HANDLER(s3_multifunc_r);
+DECLARE_WRITE16_HANDLER(s3_multifunc_w);
+DECLARE_READ16_HANDLER(s3_fgcolour_r);
+DECLARE_WRITE16_HANDLER(s3_fgcolour_w);
+DECLARE_READ16_HANDLER(s3_bgcolour_r);
+DECLARE_WRITE16_HANDLER(s3_bgcolour_w);
+DECLARE_READ16_HANDLER(s3_backmix_r);
+DECLARE_WRITE16_HANDLER(s3_backmix_w);
+DECLARE_READ16_HANDLER(s3_foremix_r);
+DECLARE_WRITE16_HANDLER(s3_foremix_w);
+DECLARE_READ16_HANDLER(s3_pixel_xfer_r);
+DECLARE_WRITE16_HANDLER(s3_pixel_xfer_w);
+DECLARE_READ8_HANDLER(s3_mem_r);
+DECLARE_WRITE8_HANDLER(s3_mem_w);
+
+DECLARE_READ8_HANDLER( ati_port_03c0_r );
DECLARE_READ8_DEVICE_HANDLER(ati_port_ext_r);
DECLARE_WRITE8_DEVICE_HANDLER(ati_port_ext_w);
-READ16_HANDLER(ibm8514_gpstatus_r);
-WRITE16_HANDLER(ibm8514_cmd_w);
-READ16_HANDLER(mach8_ext_fifo_r);
-WRITE16_HANDLER(mach8_linedraw_index_w);
-READ16_HANDLER(mach8_bresenham_count_r);
-WRITE16_HANDLER(mach8_bresenham_count_w);
-READ16_HANDLER(mach8_scratch0_r);
-WRITE16_HANDLER(mach8_scratch0_w);
-READ16_HANDLER(mach8_scratch1_r);
-WRITE16_HANDLER(mach8_scratch1_w);
-READ16_HANDLER(mach8_config1_r);
-READ16_HANDLER(mach8_config2_r);
-READ16_HANDLER(mach8_status_r);
-READ16_HANDLER(mach8_substatus_r);
-WRITE16_HANDLER(mach8_subcontrol_w);
-READ16_HANDLER(mach8_subcontrol_r);
-READ16_HANDLER(mach8_htotal_r);
-WRITE16_HANDLER(mach8_htotal_w);
-READ16_HANDLER(mach8_vtotal_r);
-WRITE16_HANDLER(mach8_vtotal_w);
-READ16_HANDLER(mach8_vdisp_r);
-WRITE16_HANDLER(mach8_vdisp_w);
-READ16_HANDLER(mach8_vsync_r);
-WRITE16_HANDLER(mach8_vsync_w);
-WRITE16_HANDLER(mach8_linedraw_w);
-READ16_HANDLER(mach8_ec0_r);
-WRITE16_HANDLER(mach8_ec0_w);
-READ16_HANDLER(mach8_ec1_r);
-WRITE16_HANDLER(mach8_ec1_w);
-READ16_HANDLER(mach8_ec2_r);
-WRITE16_HANDLER(mach8_ec2_w);
-READ16_HANDLER(mach8_ec3_r);
-WRITE16_HANDLER(mach8_ec3_w);
-READ8_HANDLER(ati_mem_r);
-WRITE8_HANDLER(ati_mem_w);
+DECLARE_READ16_HANDLER(ibm8514_gpstatus_r);
+DECLARE_WRITE16_HANDLER(ibm8514_cmd_w);
+DECLARE_READ16_HANDLER(mach8_ext_fifo_r);
+DECLARE_WRITE16_HANDLER(mach8_linedraw_index_w);
+DECLARE_READ16_HANDLER(mach8_bresenham_count_r);
+DECLARE_WRITE16_HANDLER(mach8_bresenham_count_w);
+DECLARE_READ16_HANDLER(mach8_scratch0_r);
+DECLARE_WRITE16_HANDLER(mach8_scratch0_w);
+DECLARE_READ16_HANDLER(mach8_scratch1_r);
+DECLARE_WRITE16_HANDLER(mach8_scratch1_w);
+DECLARE_READ16_HANDLER(mach8_config1_r);
+DECLARE_READ16_HANDLER(mach8_config2_r);
+DECLARE_READ16_HANDLER(mach8_status_r);
+DECLARE_READ16_HANDLER(mach8_substatus_r);
+DECLARE_WRITE16_HANDLER(mach8_subcontrol_w);
+DECLARE_READ16_HANDLER(mach8_subcontrol_r);
+DECLARE_READ16_HANDLER(mach8_htotal_r);
+DECLARE_WRITE16_HANDLER(mach8_htotal_w);
+DECLARE_READ16_HANDLER(mach8_vtotal_r);
+DECLARE_WRITE16_HANDLER(mach8_vtotal_w);
+DECLARE_READ16_HANDLER(mach8_vdisp_r);
+DECLARE_WRITE16_HANDLER(mach8_vdisp_w);
+DECLARE_READ16_HANDLER(mach8_vsync_r);
+DECLARE_WRITE16_HANDLER(mach8_vsync_w);
+DECLARE_WRITE16_HANDLER(mach8_linedraw_w);
+DECLARE_READ16_HANDLER(mach8_ec0_r);
+DECLARE_WRITE16_HANDLER(mach8_ec0_w);
+DECLARE_READ16_HANDLER(mach8_ec1_r);
+DECLARE_WRITE16_HANDLER(mach8_ec1_w);
+DECLARE_READ16_HANDLER(mach8_ec2_r);
+DECLARE_WRITE16_HANDLER(mach8_ec2_w);
+DECLARE_READ16_HANDLER(mach8_ec3_r);
+DECLARE_WRITE16_HANDLER(mach8_ec3_w);
+DECLARE_READ8_HANDLER(ati_mem_r);
+DECLARE_WRITE8_HANDLER(ati_mem_w);
/*
diff --git a/src/emu/video/tms34061.h b/src/emu/video/tms34061.h
index 97ab6ba0b9d..aa751b82ef2 100644
--- a/src/emu/video/tms34061.h
+++ b/src/emu/video/tms34061.h
@@ -66,8 +66,8 @@ UINT8 tms34061_r(address_space &space, int col, int row, int func);
void tms34061_w(address_space &space, int col, int row, int func, UINT8 data);
/* latch settings */
-READ8_HANDLER( tms34061_latch_r );
-WRITE8_HANDLER( tms34061_latch_w );
+DECLARE_READ8_HANDLER( tms34061_latch_r );
+DECLARE_WRITE8_HANDLER( tms34061_latch_w );
/* video update handling */
void tms34061_get_display_state(struct tms34061_display *state);
diff --git a/src/mame/audio/atarijsa.c b/src/mame/audio/atarijsa.c
index 4cb02e7601c..ae0420b7708 100644
--- a/src/mame/audio/atarijsa.c
+++ b/src/mame/audio/atarijsa.c
@@ -73,12 +73,12 @@ static UINT8 ym2151_ct2;
static void update_all_volumes(running_machine &machine);
-static READ8_HANDLER( jsa1_io_r );
-static WRITE8_HANDLER( jsa1_io_w );
-static READ8_HANDLER( jsa2_io_r );
-static WRITE8_HANDLER( jsa2_io_w );
-static READ8_HANDLER( jsa3_io_r );
-static WRITE8_HANDLER( jsa3_io_w );
+static DECLARE_READ8_HANDLER( jsa1_io_r );
+static DECLARE_WRITE8_HANDLER( jsa1_io_w );
+static DECLARE_READ8_HANDLER( jsa2_io_r );
+static DECLARE_WRITE8_HANDLER( jsa2_io_w );
+static DECLARE_READ8_HANDLER( jsa3_io_r );
+static DECLARE_WRITE8_HANDLER( jsa3_io_w );
/*************************************
diff --git a/src/mame/audio/cage.c b/src/mame/audio/cage.c
index 5c13f66d421..a7a5e954d14 100644
--- a/src/mame/audio/cage.c
+++ b/src/mame/audio/cage.c
@@ -147,7 +147,7 @@ static const char *const register_names[] =
static TIMER_DEVICE_CALLBACK( dma_timer_callback );
static TIMER_DEVICE_CALLBACK( cage_timer_callback );
static void update_timer(int which);
-static WRITE32_HANDLER( speedup_w );
+static DECLARE_WRITE32_HANDLER( speedup_w );
diff --git a/src/mame/audio/cclimber.h b/src/mame/audio/cclimber.h
index b08ce234577..c7e3abbb2a9 100644
--- a/src/mame/audio/cclimber.h
+++ b/src/mame/audio/cclimber.h
@@ -3,6 +3,6 @@
extern const ay8910_interface cclimber_ay8910_interface;
extern const samples_interface cclimber_samples_interface;
-WRITE8_HANDLER( cclimber_sample_trigger_w );
-WRITE8_HANDLER( cclimber_sample_rate_w );
-WRITE8_HANDLER( cclimber_sample_volume_w );
+DECLARE_WRITE8_HANDLER( cclimber_sample_trigger_w );
+DECLARE_WRITE8_HANDLER( cclimber_sample_rate_w );
+DECLARE_WRITE8_HANDLER( cclimber_sample_volume_w );
diff --git a/src/mame/audio/dcs.c b/src/mame/audio/dcs.c
index c52ed546a77..753f0b7e3d9 100644
--- a/src/mame/audio/dcs.c
+++ b/src/mame/audio/dcs.c
@@ -376,32 +376,32 @@ static dcs_state dcs;
*
*************************************/
-static READ16_HANDLER( dcs_dataram_r );
-static WRITE16_HANDLER( dcs_dataram_w );
-static WRITE16_HANDLER( dcs_data_bank_select_w );
+static DECLARE_READ16_HANDLER( dcs_dataram_r );
+static DECLARE_WRITE16_HANDLER( dcs_dataram_w );
+static DECLARE_WRITE16_HANDLER( dcs_data_bank_select_w );
static void sdrc_reset(running_machine &machine);
-static READ16_HANDLER( sdrc_r );
-static WRITE16_HANDLER( sdrc_w );
+static DECLARE_READ16_HANDLER( sdrc_r );
+static DECLARE_WRITE16_HANDLER( sdrc_w );
static void dsio_reset(running_machine &machine);
-static READ16_HANDLER( dsio_r );
-static WRITE16_HANDLER( dsio_w );
+static DECLARE_READ16_HANDLER( dsio_r );
+static DECLARE_WRITE16_HANDLER( dsio_w );
static void denver_reset(running_machine &machine);
-static READ16_HANDLER( denver_r );
-static WRITE16_HANDLER( denver_w );
+static DECLARE_READ16_HANDLER( denver_r );
+static DECLARE_WRITE16_HANDLER( denver_w );
-static READ16_HANDLER( adsp_control_r );
-static WRITE16_HANDLER( adsp_control_w );
+static DECLARE_READ16_HANDLER( adsp_control_r );
+static DECLARE_WRITE16_HANDLER( adsp_control_w );
-static READ16_HANDLER( latch_status_r );
-static READ16_HANDLER( fifo_input_r );
-static READ16_HANDLER( input_latch_r );
-static WRITE16_HANDLER( input_latch_ack_w );
-static WRITE16_HANDLER( output_latch_w );
-static READ16_HANDLER( output_control_r );
-static WRITE16_HANDLER( output_control_w );
+static DECLARE_READ16_HANDLER( latch_status_r );
+static DECLARE_READ16_HANDLER( fifo_input_r );
+static DECLARE_READ16_HANDLER( input_latch_r );
+static DECLARE_WRITE16_HANDLER( input_latch_ack_w );
+static DECLARE_WRITE16_HANDLER( output_latch_w );
+static DECLARE_READ16_HANDLER( output_control_r );
+static DECLARE_WRITE16_HANDLER( output_control_w );
static void timer_enable_callback(adsp21xx_device &device, int enable);
static TIMER_DEVICE_CALLBACK( internal_timer_callback );
@@ -410,8 +410,8 @@ static TIMER_DEVICE_CALLBACK( sport0_irq );
static void recompute_sample_rate(running_machine &machine);
static void sound_tx_callback(adsp21xx_device &device, int port, INT32 data);
-static READ16_HANDLER( dcs_polling_r );
-static WRITE16_HANDLER( dcs_polling_w );
+static DECLARE_READ16_HANDLER( dcs_polling_r );
+static DECLARE_WRITE16_HANDLER( dcs_polling_w );
static TIMER_DEVICE_CALLBACK( transfer_watchdog_callback );
static int preprocess_write(running_machine &machine, UINT16 data);
diff --git a/src/mame/audio/dcs.h b/src/mame/audio/dcs.h
index 99edc8601b0..c86832b0f12 100644
--- a/src/mame/audio/dcs.h
+++ b/src/mame/audio/dcs.h
@@ -4,6 +4,9 @@
****************************************************************************/
+#ifndef __DCS_H__
+#define __DCS_H__
+
MACHINE_CONFIG_EXTERN( dcs_audio_2k );
MACHINE_CONFIG_EXTERN( dcs_audio_2k_uart );
MACHINE_CONFIG_EXTERN( dcs_audio_8k );
@@ -29,6 +32,8 @@ void dcs_reset_w(running_machine &machine, int state);
void dcs_fifo_notify(running_machine &machine, int count, int max);
-WRITE32_HANDLER( dsio_idma_addr_w );
-WRITE32_HANDLER( dsio_idma_data_w );
-READ32_HANDLER( dsio_idma_data_r );
+DECLARE_WRITE32_HANDLER( dsio_idma_addr_w );
+DECLARE_WRITE32_HANDLER( dsio_idma_data_w );
+DECLARE_READ32_HANDLER( dsio_idma_data_r );
+
+#endif
diff --git a/src/mame/audio/irem.h b/src/mame/audio/irem.h
index eeb69df8f00..ad51aad5761 100644
--- a/src/mame/audio/irem.h
+++ b/src/mame/audio/irem.h
@@ -1,4 +1,4 @@
-WRITE8_HANDLER( irem_sound_cmd_w );
+DECLARE_WRITE8_HANDLER( irem_sound_cmd_w );
MACHINE_CONFIG_EXTERN( m52_sound_c_audio );
MACHINE_CONFIG_EXTERN( m52_large_audio );
diff --git a/src/mame/audio/seibu.h b/src/mame/audio/seibu.h
index cfe05eb4915..daa466d0982 100644
--- a/src/mame/audio/seibu.h
+++ b/src/mame/audio/seibu.h
@@ -38,24 +38,24 @@ ADDRESS_MAP_EXTERN(seibu_newzeroteam_sound_map, 8);
ADDRESS_MAP_EXTERN(seibu3_sound_map, 8);
ADDRESS_MAP_EXTERN(seibu3_adpcm_sound_map, 8);
-READ16_HANDLER( seibu_main_word_r );
-READ8_HANDLER( seibu_main_v30_r );
-WRITE16_HANDLER( seibu_main_word_w );
-WRITE8_HANDLER( seibu_main_v30_w );
-
-WRITE16_HANDLER( seibu_main_mustb_w );
-
-WRITE8_HANDLER( seibu_irq_clear_w );
-WRITE8_HANDLER( seibu_rst10_ack_w );
-WRITE8_HANDLER( seibu_rst18_ack_w );
-WRITE8_HANDLER( seibu_bank_w );
-WRITE8_HANDLER( seibu_coin_w );
+DECLARE_READ16_HANDLER( seibu_main_word_r );
+DECLARE_READ8_HANDLER( seibu_main_v30_r );
+DECLARE_WRITE16_HANDLER( seibu_main_word_w );
+DECLARE_WRITE8_HANDLER( seibu_main_v30_w );
+
+DECLARE_WRITE16_HANDLER( seibu_main_mustb_w );
+
+DECLARE_WRITE8_HANDLER( seibu_irq_clear_w );
+DECLARE_WRITE8_HANDLER( seibu_rst10_ack_w );
+DECLARE_WRITE8_HANDLER( seibu_rst18_ack_w );
+DECLARE_WRITE8_HANDLER( seibu_bank_w );
+DECLARE_WRITE8_HANDLER( seibu_coin_w );
void seibu_ym3812_irqhandler(device_t *device, int linestate);
void seibu_ym2151_irqhandler(device_t *device, int linestate);
void seibu_ym2203_irqhandler(device_t *device, int linestate);
-READ8_HANDLER( seibu_soundlatch_r );
-READ8_HANDLER( seibu_main_data_pending_r );
-WRITE8_HANDLER( seibu_main_data_w );
+DECLARE_READ8_HANDLER( seibu_soundlatch_r );
+DECLARE_READ8_HANDLER( seibu_main_data_pending_r );
+DECLARE_WRITE8_HANDLER( seibu_main_data_w );
MACHINE_RESET( seibu_sound );
void seibu_sound_decrypt(running_machine &machine,const char *cpu,int length);
diff --git a/src/mame/audio/t5182.h b/src/mame/audio/t5182.h
index 20a30e5c78c..4dcc82e7b94 100644
--- a/src/mame/audio/t5182.h
+++ b/src/mame/audio/t5182.h
@@ -10,12 +10,12 @@ void t5182_init(running_machine &machine);
ADDRESS_MAP_EXTERN( t5182_map, 8 );
ADDRESS_MAP_EXTERN( t5182_io, 8 );
-WRITE8_HANDLER( t5182_sound_irq_w );
-READ8_HANDLER(t5182_sharedram_semaphore_snd_r);
-WRITE8_HANDLER(t5182_sharedram_semaphore_main_acquire_w);
-WRITE8_HANDLER(t5182_sharedram_semaphore_main_release_w);
+DECLARE_WRITE8_HANDLER( t5182_sound_irq_w );
+DECLARE_READ8_HANDLER(t5182_sharedram_semaphore_snd_r);
+DECLARE_WRITE8_HANDLER(t5182_sharedram_semaphore_main_acquire_w);
+DECLARE_WRITE8_HANDLER(t5182_sharedram_semaphore_main_release_w);
-READ8_HANDLER( t5182_sharedram_r );
-WRITE8_HANDLER( t5182_sharedram_w );
+DECLARE_READ8_HANDLER( t5182_sharedram_r );
+DECLARE_WRITE8_HANDLER( t5182_sharedram_w );
extern const ym2151_interface t5182_ym2151_interface;
diff --git a/src/mame/audio/timeplt.h b/src/mame/audio/timeplt.h
index 32b60f581f4..2c6385bbe7e 100644
--- a/src/mame/audio/timeplt.h
+++ b/src/mame/audio/timeplt.h
@@ -1,4 +1,4 @@
-WRITE8_HANDLER( timeplt_sh_irqtrigger_w );
+DECLARE_WRITE8_HANDLER( timeplt_sh_irqtrigger_w );
MACHINE_CONFIG_EXTERN( timeplt_sound );
MACHINE_CONFIG_EXTERN( locomotn_sound );
diff --git a/src/mame/audio/trackfld.h b/src/mame/audio/trackfld.h
index f4137ae6b6d..f950ec4cb2e 100644
--- a/src/mame/audio/trackfld.h
+++ b/src/mame/audio/trackfld.h
@@ -1,10 +1,10 @@
-WRITE8_HANDLER( konami_sh_irqtrigger_w );
-READ8_HANDLER( trackfld_sh_timer_r );
+DECLARE_WRITE8_HANDLER( konami_sh_irqtrigger_w );
+DECLARE_READ8_HANDLER( trackfld_sh_timer_r );
DECLARE_READ8_DEVICE_HANDLER( trackfld_speech_r );
DECLARE_WRITE8_DEVICE_HANDLER( trackfld_sound_w );
-READ8_HANDLER( hyperspt_sh_timer_r );
+DECLARE_READ8_HANDLER( hyperspt_sh_timer_r );
DECLARE_WRITE8_DEVICE_HANDLER( hyperspt_sound_w );
-WRITE8_HANDLER( konami_SN76496_latch_w );
+DECLARE_WRITE8_HANDLER( konami_SN76496_latch_w );
DECLARE_WRITE8_DEVICE_HANDLER( konami_SN76496_w );
class trackfld_audio_device : public device_t,
diff --git a/src/mame/drivers/bfm_sc4h.c b/src/mame/drivers/bfm_sc4h.c
index a8e580067b2..0a316b2bee3 100644
--- a/src/mame/drivers/bfm_sc4h.c
+++ b/src/mame/drivers/bfm_sc4h.c
@@ -235,7 +235,7 @@ READ16_MEMBER(sc4_state::sc4_mem_r)
return 0x0000;
}
-static WRITE8_HANDLER( bfm_sc4_reel4_w );
+static DECLARE_WRITE8_HANDLER( bfm_sc4_reel4_w );
WRITE8_MEMBER(sc4_state::mux_output_w)
{
@@ -561,7 +561,7 @@ void bfm_sc4_68307_portb_w(address_space &space, bool dedicated, UINT16 data, UI
bfm_sc4_write_serial_vfd(space.machine(), (data & 0x4000)?1:0, (data & 0x1000)?1:0, !(data & 0x2000)?1:0);
- bfm_sc4_reel3_w(space, 0, (data&0x0f00)>>8);
+ bfm_sc4_reel3_w(space, 0, (data&0x0f00)>>8, 0xff);
}
}
diff --git a/src/mame/drivers/decocass.c b/src/mame/drivers/decocass.c
index 0441c562ff7..f3f62a6d9ec 100644
--- a/src/mame/drivers/decocass.c
+++ b/src/mame/drivers/decocass.c
@@ -97,8 +97,8 @@ static WRITE8_HANDLER( objectram_w )
decocass_objectram_w(space, offset, data);
}
-static WRITE8_HANDLER( mirrorvideoram_w ) { offset = ((offset >> 5) & 0x1f) | ((offset & 0x1f) << 5); fgvideoram_w(space, offset, data); }
-static WRITE8_HANDLER( mirrorcolorram_w ) { offset = ((offset >> 5) & 0x1f) | ((offset & 0x1f) << 5); fgcolorram_w(space, offset, data); }
+static WRITE8_HANDLER( mirrorvideoram_w ) { offset = ((offset >> 5) & 0x1f) | ((offset & 0x1f) << 5); fgvideoram_w(space, offset, data, mem_mask); }
+static WRITE8_HANDLER( mirrorcolorram_w ) { offset = ((offset >> 5) & 0x1f) | ((offset & 0x1f) << 5); fgcolorram_w(space, offset, data, mem_mask); }
static READ8_HANDLER( mirrorvideoram_r )
{
diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c
index 2c7ea4a5c98..d713f70ac70 100644
--- a/src/mame/drivers/dkong.c
+++ b/src/mame/drivers/dkong.c
@@ -347,8 +347,8 @@ Donkey Kong Junior Notes
*
*************************************/
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static Z80DMA_INTERFACE( dk3_dma )
{
diff --git a/src/mame/drivers/mario.c b/src/mame/drivers/mario.c
index 0100bb8260c..27eaf43af47 100644
--- a/src/mame/drivers/mario.c
+++ b/src/mame/drivers/mario.c
@@ -101,8 +101,8 @@ write:
*
*************************************/
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static Z80DMA_INTERFACE( mario_dma )
{
diff --git a/src/mame/drivers/mpu4vid.c b/src/mame/drivers/mpu4vid.c
index e8e368bfe99..a9592f670e1 100644
--- a/src/mame/drivers/mpu4vid.c
+++ b/src/mame/drivers/mpu4vid.c
@@ -273,11 +273,11 @@ public:
-static READ16_HANDLER( characteriser16_r );
-static WRITE16_HANDLER( characteriser16_w );
+static DECLARE_READ16_HANDLER( characteriser16_r );
+static DECLARE_WRITE16_HANDLER( characteriser16_w );
-static READ16_HANDLER( bwb_characteriser16_r );
-static WRITE16_HANDLER( bwb_characteriser16_w );
+static DECLARE_READ16_HANDLER( bwb_characteriser16_r );
+static DECLARE_WRITE16_HANDLER( bwb_characteriser16_w );
/*************************************
*
diff --git a/src/mame/includes/actfancr.h b/src/mame/includes/actfancr.h
index 823979bb320..6d361082eea 100644
--- a/src/mame/includes/actfancr.h
+++ b/src/mame/includes/actfancr.h
@@ -38,12 +38,12 @@ public:
/*----------- defined in video/actfancr.c -----------*/
-WRITE8_HANDLER( actfancr_pf1_data_w );
-READ8_HANDLER( actfancr_pf1_data_r );
-WRITE8_HANDLER( actfancr_pf1_control_w );
-WRITE8_HANDLER( actfancr_pf2_data_w );
-READ8_HANDLER( actfancr_pf2_data_r );
-WRITE8_HANDLER( actfancr_pf2_control_w );
+DECLARE_WRITE8_HANDLER( actfancr_pf1_data_w );
+DECLARE_READ8_HANDLER( actfancr_pf1_data_r );
+DECLARE_WRITE8_HANDLER( actfancr_pf1_control_w );
+DECLARE_WRITE8_HANDLER( actfancr_pf2_data_w );
+DECLARE_READ8_HANDLER( actfancr_pf2_data_r );
+DECLARE_WRITE8_HANDLER( actfancr_pf2_control_w );
SCREEN_UPDATE_IND16( actfancr );
diff --git a/src/mame/includes/amiga.h b/src/mame/includes/amiga.h
index 21ac2d73a40..9e2c0f2cefc 100644
--- a/src/mame/includes/amiga.h
+++ b/src/mame/includes/amiga.h
@@ -447,18 +447,18 @@ void amiga_machine_config(running_machine &machine, const amiga_machine_interfac
-READ16_HANDLER( amiga_cia_r );
-WRITE16_HANDLER( amiga_cia_w );
+DECLARE_READ16_HANDLER( amiga_cia_r );
+DECLARE_WRITE16_HANDLER( amiga_cia_w );
-READ16_HANDLER( amiga_custom_r );
-WRITE16_HANDLER( amiga_custom_w );
+DECLARE_READ16_HANDLER( amiga_custom_r );
+DECLARE_WRITE16_HANDLER( amiga_custom_w );
void amiga_serial_in_w(running_machine &machine, UINT16 data);
attotime amiga_get_serial_char_period(running_machine &machine);
void amiga_add_autoconfig(running_machine &machine, const amiga_autoconfig_device *device);
-READ16_HANDLER( amiga_autoconfig_r );
-WRITE16_HANDLER( amiga_autoconfig_w );
+DECLARE_READ16_HANDLER( amiga_autoconfig_r );
+DECLARE_WRITE16_HANDLER( amiga_autoconfig_w );
void amiga_cia_0_irq(device_t *device, int state);
void amiga_cia_1_irq(device_t *device, int state);
diff --git a/src/mame/includes/archimds.h b/src/mame/includes/archimds.h
index 1e662722f59..77f0b93085b 100644
--- a/src/mame/includes/archimds.h
+++ b/src/mame/includes/archimds.h
@@ -47,16 +47,16 @@ void archimedes_clear_irq_a(running_machine &machine, int mask);
void archimedes_clear_irq_b(running_machine &machine, int mask);
void archimedes_clear_fiq(running_machine &machine, int mask);
-extern READ32_HANDLER(aristmk5_drame_memc_logical_r);
-extern READ32_HANDLER(archimedes_memc_logical_r);
-extern WRITE32_HANDLER(archimedes_memc_logical_w);
-extern READ32_HANDLER(archimedes_memc_r);
-extern WRITE32_HANDLER(archimedes_memc_w);
-extern WRITE32_HANDLER(archimedes_memc_page_w);
-extern READ32_HANDLER(archimedes_ioc_r);
-extern WRITE32_HANDLER(archimedes_ioc_w);
-extern READ32_HANDLER(archimedes_vidc_r);
-extern WRITE32_HANDLER(archimedes_vidc_w);
+extern DECLARE_READ32_HANDLER(aristmk5_drame_memc_logical_r);
+extern DECLARE_READ32_HANDLER(archimedes_memc_logical_r);
+extern DECLARE_WRITE32_HANDLER(archimedes_memc_logical_w);
+extern DECLARE_READ32_HANDLER(archimedes_memc_r);
+extern DECLARE_WRITE32_HANDLER(archimedes_memc_w);
+extern DECLARE_WRITE32_HANDLER(archimedes_memc_page_w);
+extern DECLARE_READ32_HANDLER(archimedes_ioc_r);
+extern DECLARE_WRITE32_HANDLER(archimedes_ioc_w);
+extern DECLARE_READ32_HANDLER(archimedes_vidc_r);
+extern DECLARE_WRITE32_HANDLER(archimedes_vidc_w);
extern UINT8 i2c_clk;
extern INT16 memc_pages[0x2000]; // the logical RAM area is 32 megs, and the smallest page size is 4k
diff --git a/src/mame/includes/astrocde.h b/src/mame/includes/astrocde.h
index 320a1f709fe..df8269a84ee 100644
--- a/src/mame/includes/astrocde.h
+++ b/src/mame/includes/astrocde.h
@@ -141,7 +141,7 @@ SCREEN_UPDATE_IND16( profpac );
extern const char *const wow_sample_names[];
-READ8_HANDLER( wow_speech_r );
+DECLARE_READ8_HANDLER( wow_speech_r );
CUSTOM_INPUT( wow_speech_status_r );
@@ -149,5 +149,5 @@ CUSTOM_INPUT( wow_speech_status_r );
extern const char *const gorf_sample_names[];
-READ8_HANDLER( gorf_speech_r );
+DECLARE_READ8_HANDLER( gorf_speech_r );
CUSTOM_INPUT( gorf_speech_status_r );
diff --git a/src/mame/includes/asuka.h b/src/mame/includes/asuka.h
index 67a0c7765af..1fc5c834290 100644
--- a/src/mame/includes/asuka.h
+++ b/src/mame/includes/asuka.h
@@ -53,11 +53,11 @@ public:
/*----------- defined in machine/bonzeadv.c -----------*/
-READ16_HANDLER( bonzeadv_cchip_ctrl_r );
-READ16_HANDLER( bonzeadv_cchip_ram_r );
-WRITE16_HANDLER( bonzeadv_cchip_ctrl_w );
-WRITE16_HANDLER( bonzeadv_cchip_bank_w );
-WRITE16_HANDLER( bonzeadv_cchip_ram_w );
+DECLARE_READ16_HANDLER( bonzeadv_cchip_ctrl_r );
+DECLARE_READ16_HANDLER( bonzeadv_cchip_ram_r );
+DECLARE_WRITE16_HANDLER( bonzeadv_cchip_ctrl_w );
+DECLARE_WRITE16_HANDLER( bonzeadv_cchip_bank_w );
+DECLARE_WRITE16_HANDLER( bonzeadv_cchip_ram_w );
/*----------- defined in video/asuka.c -----------*/
diff --git a/src/mame/includes/atari.h b/src/mame/includes/atari.h
index 5aaba7e9be3..c5f2adba983 100644
--- a/src/mame/includes/atari.h
+++ b/src/mame/includes/atari.h
@@ -535,8 +535,8 @@ extern ANTIC antic;
void antic_reset(void);
- READ8_HANDLER ( atari_antic_r );
-WRITE8_HANDLER ( atari_antic_w );
+ DECLARE_READ8_HANDLER ( atari_antic_r );
+DECLARE_WRITE8_HANDLER ( atari_antic_w );
#define ANTIC_RENDERER(name) void name(address_space &space, VIDEO *video)
diff --git a/src/mame/includes/atarig42.h b/src/mame/includes/atarig42.h
index 5a186e6ced3..86064464201 100644
--- a/src/mame/includes/atarig42.h
+++ b/src/mame/includes/atarig42.h
@@ -61,7 +61,7 @@ public:
SCREEN_VBLANK( atarig42 );
SCREEN_UPDATE_IND16( atarig42 );
-WRITE16_HANDLER( atarig42_mo_control_w );
+DECLARE_WRITE16_HANDLER( atarig42_mo_control_w );
void atarig42_scanline_update(screen_device &screen, int scanline);
diff --git a/src/mame/includes/atarigx2.h b/src/mame/includes/atarigx2.h
index 8346db4a94b..f473fbb7d1f 100644
--- a/src/mame/includes/atarigx2.h
+++ b/src/mame/includes/atarigx2.h
@@ -55,6 +55,6 @@ public:
SCREEN_VBLANK( atarigx2 );
SCREEN_UPDATE_IND16( atarigx2 );
-WRITE16_HANDLER( atarigx2_mo_control_w );
+DECLARE_WRITE16_HANDLER( atarigx2_mo_control_w );
void atarigx2_scanline_update(screen_device &screen, int scanline);
diff --git a/src/mame/includes/atarisy1.h b/src/mame/includes/atarisy1.h
index cba6b99d6b9..fa644ce7711 100644
--- a/src/mame/includes/atarisy1.h
+++ b/src/mame/includes/atarisy1.h
@@ -73,13 +73,13 @@ TIMER_DEVICE_CALLBACK( atarisy1_int3_callback );
TIMER_DEVICE_CALLBACK( atarisy1_int3off_callback );
TIMER_DEVICE_CALLBACK( atarisy1_reset_yscroll_callback );
-READ16_HANDLER( atarisy1_int3state_r );
+DECLARE_READ16_HANDLER( atarisy1_int3state_r );
-WRITE16_HANDLER( atarisy1_spriteram_w );
-WRITE16_HANDLER( atarisy1_bankselect_w );
-WRITE16_HANDLER( atarisy1_xscroll_w );
-WRITE16_HANDLER( atarisy1_yscroll_w );
-WRITE16_HANDLER( atarisy1_priority_w );
+DECLARE_WRITE16_HANDLER( atarisy1_spriteram_w );
+DECLARE_WRITE16_HANDLER( atarisy1_bankselect_w );
+DECLARE_WRITE16_HANDLER( atarisy1_xscroll_w );
+DECLARE_WRITE16_HANDLER( atarisy1_yscroll_w );
+DECLARE_WRITE16_HANDLER( atarisy1_priority_w );
SCREEN_UPDATE_IND16( atarisy1 );
diff --git a/src/mame/includes/atarisy2.h b/src/mame/includes/atarisy2.h
index fdd4ba0f4d4..10777b7c715 100644
--- a/src/mame/includes/atarisy2.h
+++ b/src/mame/includes/atarisy2.h
@@ -83,14 +83,14 @@ public:
/*----------- defined in video/atarisy2.c -----------*/
-READ16_HANDLER( atarisy2_slapstic_r );
-READ16_HANDLER( atarisy2_videoram_r );
-
-WRITE16_HANDLER( atarisy2_slapstic_w );
-WRITE16_HANDLER( atarisy2_yscroll_w );
-WRITE16_HANDLER( atarisy2_xscroll_w );
-WRITE16_HANDLER( atarisy2_videoram_w );
-WRITE16_HANDLER( atarisy2_paletteram_w );
+DECLARE_READ16_HANDLER( atarisy2_slapstic_r );
+DECLARE_READ16_HANDLER( atarisy2_videoram_r );
+
+DECLARE_WRITE16_HANDLER( atarisy2_slapstic_w );
+DECLARE_WRITE16_HANDLER( atarisy2_yscroll_w );
+DECLARE_WRITE16_HANDLER( atarisy2_xscroll_w );
+DECLARE_WRITE16_HANDLER( atarisy2_videoram_w );
+DECLARE_WRITE16_HANDLER( atarisy2_paletteram_w );
SCREEN_UPDATE_IND16( atarisy2 );
diff --git a/src/mame/includes/avalnche.h b/src/mame/includes/avalnche.h
index 06e699e4175..74aaa2c3feb 100644
--- a/src/mame/includes/avalnche.h
+++ b/src/mame/includes/avalnche.h
@@ -34,4 +34,4 @@ DECLARE_WRITE8_DEVICE_HANDLER( avalnche_noise_amplitude_w );
DECLARE_WRITE8_DEVICE_HANDLER( avalnche_attract_enable_w );
DECLARE_WRITE8_DEVICE_HANDLER( avalnche_audio_w );
-WRITE8_HANDLER( catch_audio_w );
+DECLARE_WRITE8_HANDLER( catch_audio_w );
diff --git a/src/mame/includes/badlands.h b/src/mame/includes/badlands.h
index 9a6a478f4d8..956baa663f8 100644
--- a/src/mame/includes/badlands.h
+++ b/src/mame/includes/badlands.h
@@ -35,7 +35,7 @@ public:
/*----------- defined in video/badlands.c -----------*/
-WRITE16_HANDLER( badlands_pf_bank_w );
+DECLARE_WRITE16_HANDLER( badlands_pf_bank_w );
SCREEN_UPDATE_IND16( badlands );
diff --git a/src/mame/includes/cchip.h b/src/mame/includes/cchip.h
index d2d6510a790..4082c4507a2 100644
--- a/src/mame/includes/cchip.h
+++ b/src/mame/includes/cchip.h
@@ -1,9 +1,9 @@
/*----------- defined in machine/cchip.c -----------*/
MACHINE_RESET( cchip1 );
-READ16_HANDLER( cchip1_ctrl_r );
-READ16_HANDLER( cchip1_ram_r );
-WRITE16_HANDLER( cchip1_ctrl_w );
-WRITE16_HANDLER( cchip1_bank_w );
-WRITE16_HANDLER( cchip1_ram_w );
+DECLARE_READ16_HANDLER( cchip1_ctrl_r );
+DECLARE_READ16_HANDLER( cchip1_ram_r );
+DECLARE_WRITE16_HANDLER( cchip1_ctrl_w );
+DECLARE_WRITE16_HANDLER( cchip1_bank_w );
+DECLARE_WRITE16_HANDLER( cchip1_ram_w );
diff --git a/src/mame/includes/copsnrob.h b/src/mame/includes/copsnrob.h
index bc6a94e330f..69b4d526d50 100644
--- a/src/mame/includes/copsnrob.h
+++ b/src/mame/includes/copsnrob.h
@@ -41,7 +41,7 @@ public:
/*----------- defined in machine/copsnrob.c -----------*/
-READ8_HANDLER( copsnrob_gun_position_r );
+DECLARE_READ8_HANDLER( copsnrob_gun_position_r );
/*----------- defined in video/copsnrob.c -----------*/
diff --git a/src/mame/includes/cyberbal.h b/src/mame/includes/cyberbal.h
index bc6abce608e..ec453b16029 100644
--- a/src/mame/includes/cyberbal.h
+++ b/src/mame/includes/cyberbal.h
@@ -68,10 +68,10 @@ INTERRUPT_GEN( cyberbal_sound_68k_irq_gen );
/*----------- defined in video/cyberbal.c -----------*/
-READ16_HANDLER( cyberbal_paletteram_0_r );
-READ16_HANDLER( cyberbal_paletteram_1_r );
-WRITE16_HANDLER( cyberbal_paletteram_0_w );
-WRITE16_HANDLER( cyberbal_paletteram_1_w );
+DECLARE_READ16_HANDLER( cyberbal_paletteram_0_r );
+DECLARE_READ16_HANDLER( cyberbal_paletteram_1_r );
+DECLARE_WRITE16_HANDLER( cyberbal_paletteram_0_w );
+DECLARE_WRITE16_HANDLER( cyberbal_paletteram_1_w );
diff --git a/src/mame/includes/dc.h b/src/mame/includes/dc.h
index 7ce72e616cc..52a5f3b633c 100644
--- a/src/mame/includes/dc.h
+++ b/src/mame/includes/dc.h
@@ -100,21 +100,21 @@ class dc_state : public driver_device
/*----------- defined in machine/dc.c -----------*/
-READ64_HANDLER( pvr_ctrl_r );
-WRITE64_HANDLER( pvr_ctrl_w );
-
-READ64_HANDLER( dc_sysctrl_r );
-WRITE64_HANDLER( dc_sysctrl_w );
-READ64_HANDLER( dc_gdrom_r );
-WRITE64_HANDLER( dc_gdrom_w );
-READ64_HANDLER( dc_g1_ctrl_r );
-WRITE64_HANDLER( dc_g1_ctrl_w );
-READ64_HANDLER( dc_g2_ctrl_r );
-WRITE64_HANDLER( dc_g2_ctrl_w );
-READ64_HANDLER( dc_modem_r );
-WRITE64_HANDLER( dc_modem_w );
-READ64_HANDLER( dc_rtc_r );
-WRITE64_HANDLER( dc_rtc_w );
+DECLARE_READ64_HANDLER( pvr_ctrl_r );
+DECLARE_WRITE64_HANDLER( pvr_ctrl_w );
+
+DECLARE_READ64_HANDLER( dc_sysctrl_r );
+DECLARE_WRITE64_HANDLER( dc_sysctrl_w );
+DECLARE_READ64_HANDLER( dc_gdrom_r );
+DECLARE_WRITE64_HANDLER( dc_gdrom_w );
+DECLARE_READ64_HANDLER( dc_g1_ctrl_r );
+DECLARE_WRITE64_HANDLER( dc_g1_ctrl_w );
+DECLARE_READ64_HANDLER( dc_g2_ctrl_r );
+DECLARE_WRITE64_HANDLER( dc_g2_ctrl_w );
+DECLARE_READ64_HANDLER( dc_modem_r );
+DECLARE_WRITE64_HANDLER( dc_modem_w );
+DECLARE_READ64_HANDLER( dc_rtc_r );
+DECLARE_WRITE64_HANDLER( dc_rtc_w );
DECLARE_READ64_DEVICE_HANDLER( dc_aica_reg_r );
DECLARE_WRITE64_DEVICE_HANDLER( dc_aica_reg_w );
@@ -296,16 +296,16 @@ extern UINT64 *pvr2_texture_ram;
extern UINT64 *pvr2_framebuffer_ram;
extern UINT64 *elan_ram;
-READ64_HANDLER( pvr_ta_r );
-WRITE64_HANDLER( pvr_ta_w );
-READ64_HANDLER( pvr2_ta_r );
-WRITE64_HANDLER( pvr2_ta_w );
-READ64_HANDLER( pvrs_ta_r );
-WRITE64_HANDLER( pvrs_ta_w );
-READ32_HANDLER( elan_regs_r );
-WRITE32_HANDLER( elan_regs_w );
-WRITE64_HANDLER( ta_fifo_poly_w );
-WRITE64_HANDLER( ta_fifo_yuv_w );
+DECLARE_READ64_HANDLER( pvr_ta_r );
+DECLARE_WRITE64_HANDLER( pvr_ta_w );
+DECLARE_READ64_HANDLER( pvr2_ta_r );
+DECLARE_WRITE64_HANDLER( pvr2_ta_w );
+DECLARE_READ64_HANDLER( pvrs_ta_r );
+DECLARE_WRITE64_HANDLER( pvrs_ta_w );
+DECLARE_READ32_HANDLER( elan_regs_r );
+DECLARE_WRITE32_HANDLER( elan_regs_w );
+DECLARE_WRITE64_HANDLER( ta_fifo_poly_w );
+DECLARE_WRITE64_HANDLER( ta_fifo_yuv_w );
SCREEN_UPDATE_RGB32(dc);
diff --git a/src/mame/includes/dec0.h b/src/mame/includes/dec0.h
index 8c7046cbfdd..ec3c2b9d58d 100644
--- a/src/mame/includes/dec0.h
+++ b/src/mame/includes/dec0.h
@@ -119,7 +119,7 @@ SCREEN_UPDATE_IND16( secretab );
/*----------- defined in machine/dec0.c -----------*/
-READ16_HANDLER( slyspy_controls_r );
+DECLARE_READ16_HANDLER( slyspy_controls_r );
extern void dec0_i8751_write(running_machine &machine, int data);
diff --git a/src/mame/includes/dec8.h b/src/mame/includes/dec8.h
index 020e77f916f..1dd5a475b87 100644
--- a/src/mame/includes/dec8.h
+++ b/src/mame/includes/dec8.h
@@ -144,7 +144,7 @@ SCREEN_UPDATE_IND16( oscar );
-WRITE8_HANDLER( dec8_bac06_0_w );
-WRITE8_HANDLER( dec8_bac06_1_w );
-WRITE8_HANDLER( dec8_pf1_data_w );
-READ8_HANDLER( dec8_pf1_data_r );
+DECLARE_WRITE8_HANDLER( dec8_bac06_0_w );
+DECLARE_WRITE8_HANDLER( dec8_bac06_1_w );
+DECLARE_WRITE8_HANDLER( dec8_pf1_data_w );
+DECLARE_READ8_HANDLER( dec8_pf1_data_r );
diff --git a/src/mame/includes/deco32.h b/src/mame/includes/deco32.h
index 66f6db682c2..230a4f1a3c7 100644
--- a/src/mame/includes/deco32.h
+++ b/src/mame/includes/deco32.h
@@ -152,9 +152,9 @@ SCREEN_UPDATE_RGB32( dragngun );
SCREEN_UPDATE_RGB32( nslasher );
-WRITE32_HANDLER( deco32_pf1_data_w );
-WRITE32_HANDLER( deco32_pf2_data_w );
-WRITE32_HANDLER( deco32_pf3_data_w );
-WRITE32_HANDLER( deco32_pf4_data_w );
+DECLARE_WRITE32_HANDLER( deco32_pf1_data_w );
+DECLARE_WRITE32_HANDLER( deco32_pf2_data_w );
+DECLARE_WRITE32_HANDLER( deco32_pf3_data_w );
+DECLARE_WRITE32_HANDLER( deco32_pf4_data_w );
diff --git a/src/mame/includes/decoprot.h b/src/mame/includes/decoprot.h
index b2fc88d56a6..41ed086a442 100644
--- a/src/mame/includes/decoprot.h
+++ b/src/mame/includes/decoprot.h
@@ -1,26 +1,26 @@
/*----------- defined in machine/decoprot.c -----------*/
-READ16_HANDLER( deco16_60_prot_r );
-READ16_HANDLER( deco16_66_prot_r );
-READ16_HANDLER( deco16_104_prot_r );
-READ16_HANDLER( deco16_104_cninja_prot_r );
-READ16_HANDLER( deco16_104_rohga_prot_r );
-READ16_HANDLER( deco16_146_funkyjet_prot_r );
-READ16_HANDLER( deco16_146_nitroball_prot_r );
-READ16_HANDLER( deco16_104_pktgaldx_prot_r );
-READ32_HANDLER( deco16_146_fghthist_prot_r );
+DECLARE_READ16_HANDLER( deco16_60_prot_r );
+DECLARE_READ16_HANDLER( deco16_66_prot_r );
+DECLARE_READ16_HANDLER( deco16_104_prot_r );
+DECLARE_READ16_HANDLER( deco16_104_cninja_prot_r );
+DECLARE_READ16_HANDLER( deco16_104_rohga_prot_r );
+DECLARE_READ16_HANDLER( deco16_146_funkyjet_prot_r );
+DECLARE_READ16_HANDLER( deco16_146_nitroball_prot_r );
+DECLARE_READ16_HANDLER( deco16_104_pktgaldx_prot_r );
+DECLARE_READ32_HANDLER( deco16_146_fghthist_prot_r );
-WRITE16_HANDLER( deco16_60_prot_w );
-WRITE16_HANDLER( deco16_66_prot_w );
-WRITE16_HANDLER( deco16_104_prot_w );
-WRITE16_HANDLER( deco16_104_cninja_prot_w );
-WRITE16_HANDLER( deco16_104_rohga_prot_w );
-WRITE16_HANDLER( deco16_146_funkyjet_prot_w );
-WRITE16_HANDLER( deco16_146_nitroball_prot_w );
-WRITE16_HANDLER( deco16_104_pktgaldx_prot_w );
-WRITE32_HANDLER( deco16_146_fghthist_prot_w );
+DECLARE_WRITE16_HANDLER( deco16_60_prot_w );
+DECLARE_WRITE16_HANDLER( deco16_66_prot_w );
+DECLARE_WRITE16_HANDLER( deco16_104_prot_w );
+DECLARE_WRITE16_HANDLER( deco16_104_cninja_prot_w );
+DECLARE_WRITE16_HANDLER( deco16_104_rohga_prot_w );
+DECLARE_WRITE16_HANDLER( deco16_146_funkyjet_prot_w );
+DECLARE_WRITE16_HANDLER( deco16_146_nitroball_prot_w );
+DECLARE_WRITE16_HANDLER( deco16_104_pktgaldx_prot_w );
+DECLARE_WRITE32_HANDLER( deco16_146_fghthist_prot_w );
void decoprot_reset(running_machine &machine);
-READ16_HANDLER( dietgo_104_prot_r );
-WRITE16_HANDLER( dietgo_104_prot_w );
+DECLARE_READ16_HANDLER( dietgo_104_prot_r );
+DECLARE_WRITE16_HANDLER( dietgo_104_prot_w );
diff --git a/src/mame/includes/fastfred.h b/src/mame/includes/fastfred.h
index efaef2a7255..3a2cb0e0a89 100644
--- a/src/mame/includes/fastfred.h
+++ b/src/mame/includes/fastfred.h
@@ -68,17 +68,17 @@ public:
-WRITE8_HANDLER( fastfred_videoram_w );
-WRITE8_HANDLER( fastfred_attributes_w );
-WRITE8_HANDLER( fastfred_charbank1_w );
-WRITE8_HANDLER( fastfred_charbank2_w );
-WRITE8_HANDLER( fastfred_colorbank1_w );
-WRITE8_HANDLER( fastfred_colorbank2_w );
-WRITE8_HANDLER( fastfred_flip_screen_x_w );
-WRITE8_HANDLER( fastfred_flip_screen_y_w );
+DECLARE_WRITE8_HANDLER( fastfred_videoram_w );
+DECLARE_WRITE8_HANDLER( fastfred_attributes_w );
+DECLARE_WRITE8_HANDLER( fastfred_charbank1_w );
+DECLARE_WRITE8_HANDLER( fastfred_charbank2_w );
+DECLARE_WRITE8_HANDLER( fastfred_colorbank1_w );
+DECLARE_WRITE8_HANDLER( fastfred_colorbank2_w );
+DECLARE_WRITE8_HANDLER( fastfred_flip_screen_x_w );
+DECLARE_WRITE8_HANDLER( fastfred_flip_screen_y_w );
SCREEN_UPDATE_IND16( fastfred );
SCREEN_UPDATE_IND16( imago );
-WRITE8_HANDLER( imago_fg_videoram_w );
-WRITE8_HANDLER( imago_charbank_w );
+DECLARE_WRITE8_HANDLER( imago_fg_videoram_w );
+DECLARE_WRITE8_HANDLER( imago_charbank_w );
diff --git a/src/mame/includes/galaga.h b/src/mame/includes/galaga.h
index 582afef5cb4..4bd5bf72610 100644
--- a/src/mame/includes/galaga.h
+++ b/src/mame/includes/galaga.h
@@ -150,10 +150,10 @@ public:
/*----------- defined in video/bosco.c -----------*/
-WRITE8_HANDLER( bosco_videoram_w );
-WRITE8_HANDLER( bosco_scrollx_w );
-WRITE8_HANDLER( bosco_scrolly_w );
-WRITE8_HANDLER( bosco_starclr_w );
+DECLARE_WRITE8_HANDLER( bosco_videoram_w );
+DECLARE_WRITE8_HANDLER( bosco_scrollx_w );
+DECLARE_WRITE8_HANDLER( bosco_scrolly_w );
+DECLARE_WRITE8_HANDLER( bosco_starclr_w );
SCREEN_UPDATE_IND16( bosco );
@@ -182,13 +182,13 @@ SCREEN_VBLANK( galaga ); /* update starfield */
/*----------- defined in video/xevious.c -----------*/
-WRITE8_HANDLER( xevious_fg_videoram_w );
-WRITE8_HANDLER( xevious_fg_colorram_w );
-WRITE8_HANDLER( xevious_bg_videoram_w );
-WRITE8_HANDLER( xevious_bg_colorram_w );
-WRITE8_HANDLER( xevious_vh_latch_w );
-WRITE8_HANDLER( xevious_bs_w );
-READ8_HANDLER( xevious_bb_r );
+DECLARE_WRITE8_HANDLER( xevious_fg_videoram_w );
+DECLARE_WRITE8_HANDLER( xevious_fg_colorram_w );
+DECLARE_WRITE8_HANDLER( xevious_bg_videoram_w );
+DECLARE_WRITE8_HANDLER( xevious_bg_colorram_w );
+DECLARE_WRITE8_HANDLER( xevious_vh_latch_w );
+DECLARE_WRITE8_HANDLER( xevious_bs_w );
+DECLARE_READ8_HANDLER( xevious_bb_r );
SCREEN_UPDATE_IND16( xevious );
@@ -200,25 +200,25 @@ SCREEN_UPDATE_IND16( xevious );
void battles_customio_init(running_machine &machine);
TIMER_DEVICE_CALLBACK( battles_nmi_generate );
-READ8_HANDLER( battles_customio0_r );
-READ8_HANDLER( battles_customio_data0_r );
-READ8_HANDLER( battles_customio3_r );
-READ8_HANDLER( battles_customio_data3_r );
-READ8_HANDLER( battles_input_port_r );
+DECLARE_READ8_HANDLER( battles_customio0_r );
+DECLARE_READ8_HANDLER( battles_customio_data0_r );
+DECLARE_READ8_HANDLER( battles_customio3_r );
+DECLARE_READ8_HANDLER( battles_customio_data3_r );
+DECLARE_READ8_HANDLER( battles_input_port_r );
-WRITE8_HANDLER( battles_customio0_w );
-WRITE8_HANDLER( battles_customio_data0_w );
-WRITE8_HANDLER( battles_customio3_w );
-WRITE8_HANDLER( battles_customio_data3_w );
-WRITE8_HANDLER( battles_CPU4_coin_w );
-WRITE8_HANDLER( battles_noise_sound_w );
+DECLARE_WRITE8_HANDLER( battles_customio0_w );
+DECLARE_WRITE8_HANDLER( battles_customio_data0_w );
+DECLARE_WRITE8_HANDLER( battles_customio3_w );
+DECLARE_WRITE8_HANDLER( battles_customio_data3_w );
+DECLARE_WRITE8_HANDLER( battles_CPU4_coin_w );
+DECLARE_WRITE8_HANDLER( battles_noise_sound_w );
INTERRUPT_GEN( battles_interrupt_4 );
/*----------- defined in video/digdug.c -----------*/
-WRITE8_HANDLER( digdug_videoram_w );
-WRITE8_HANDLER( digdug_PORT_w );
+DECLARE_WRITE8_HANDLER( digdug_videoram_w );
+DECLARE_WRITE8_HANDLER( digdug_PORT_w );
SCREEN_UPDATE_IND16( digdug );
diff --git a/src/mame/includes/galivan.h b/src/mame/includes/galivan.h
index fa9fc2dbe3e..7c9bb038bd5 100644
--- a/src/mame/includes/galivan.h
+++ b/src/mame/includes/galivan.h
@@ -62,8 +62,8 @@ public:
/*----------- defined in video/galivan.c -----------*/
-WRITE8_HANDLER( ninjemak_scrollx_w );
-WRITE8_HANDLER( ninjemak_scrolly_w );
+DECLARE_WRITE8_HANDLER( ninjemak_scrollx_w );
+DECLARE_WRITE8_HANDLER( ninjemak_scrolly_w );
diff --git a/src/mame/includes/galpani2.h b/src/mame/includes/galpani2.h
index b5bdd96cccc..b23c49079a7 100644
--- a/src/mame/includes/galpani2.h
+++ b/src/mame/includes/galpani2.h
@@ -59,10 +59,10 @@ public:
SCREEN_UPDATE_IND16( galpani2 );
-WRITE16_HANDLER( galpani2_palette_0_w );
-WRITE16_HANDLER( galpani2_palette_1_w );
+DECLARE_WRITE16_HANDLER( galpani2_palette_0_w );
+DECLARE_WRITE16_HANDLER( galpani2_palette_1_w );
-WRITE16_HANDLER( galpani2_bg8_0_w );
-WRITE16_HANDLER( galpani2_bg8_1_w );
+DECLARE_WRITE16_HANDLER( galpani2_bg8_0_w );
+DECLARE_WRITE16_HANDLER( galpani2_bg8_1_w );
-WRITE16_HANDLER( galpani2_bg15_w );
+DECLARE_WRITE16_HANDLER( galpani2_bg15_w );
diff --git a/src/mame/includes/galpanic.h b/src/mame/includes/galpanic.h
index 5b0419793d0..1ba86bee9a9 100644
--- a/src/mame/includes/galpanic.h
+++ b/src/mame/includes/galpanic.h
@@ -30,8 +30,8 @@ public:
/*----------- defined in video/galpanic.c -----------*/
-WRITE16_HANDLER( galpanic_bgvideoram_w );
-WRITE16_HANDLER( galpanic_paletteram_w );
+DECLARE_WRITE16_HANDLER( galpanic_bgvideoram_w );
+DECLARE_WRITE16_HANDLER( galpanic_paletteram_w );
SCREEN_UPDATE_IND16( galpanic );
SCREEN_UPDATE_IND16( comad );
diff --git a/src/mame/includes/gauntlet.h b/src/mame/includes/gauntlet.h
index 75ea02b7ba6..ce70eb66876 100644
--- a/src/mame/includes/gauntlet.h
+++ b/src/mame/includes/gauntlet.h
@@ -35,8 +35,8 @@ public:
/*----------- defined in video/gauntlet.c -----------*/
-WRITE16_HANDLER( gauntlet_xscroll_w );
-WRITE16_HANDLER( gauntlet_yscroll_w );
+DECLARE_WRITE16_HANDLER( gauntlet_xscroll_w );
+DECLARE_WRITE16_HANDLER( gauntlet_yscroll_w );
SCREEN_UPDATE_IND16( gauntlet );
diff --git a/src/mame/includes/harddriv.h b/src/mame/includes/harddriv.h
index c12941d8595..477ce213908 100644
--- a/src/mame/includes/harddriv.h
+++ b/src/mame/includes/harddriv.h
@@ -227,116 +227,116 @@ public:
INTERRUPT_GEN( hd68k_irq_gen );
-WRITE16_HANDLER( hd68k_irq_ack_w );
+DECLARE_WRITE16_HANDLER( hd68k_irq_ack_w );
void hdgsp_irq_gen(device_t *device, int state);
void hdmsp_irq_gen(device_t *device, int state);
-READ16_HANDLER( hd68k_gsp_io_r );
-WRITE16_HANDLER( hd68k_gsp_io_w );
+DECLARE_READ16_HANDLER( hd68k_gsp_io_r );
+DECLARE_WRITE16_HANDLER( hd68k_gsp_io_w );
-READ16_HANDLER( hd68k_msp_io_r );
-WRITE16_HANDLER( hd68k_msp_io_w );
+DECLARE_READ16_HANDLER( hd68k_msp_io_r );
+DECLARE_WRITE16_HANDLER( hd68k_msp_io_w );
-READ16_HANDLER( hd68k_port0_r );
-READ16_HANDLER( hd68k_adc8_r );
-READ16_HANDLER( hd68k_adc12_r );
-READ16_HANDLER( hdc68k_port1_r );
-READ16_HANDLER( hda68k_port1_r );
-READ16_HANDLER( hdc68k_wheel_r );
-READ16_HANDLER( hd68k_sound_reset_r );
+DECLARE_READ16_HANDLER( hd68k_port0_r );
+DECLARE_READ16_HANDLER( hd68k_adc8_r );
+DECLARE_READ16_HANDLER( hd68k_adc12_r );
+DECLARE_READ16_HANDLER( hdc68k_port1_r );
+DECLARE_READ16_HANDLER( hda68k_port1_r );
+DECLARE_READ16_HANDLER( hdc68k_wheel_r );
+DECLARE_READ16_HANDLER( hd68k_sound_reset_r );
-WRITE16_HANDLER( hd68k_adc_control_w );
-WRITE16_HANDLER( hd68k_wr0_write );
-WRITE16_HANDLER( hd68k_wr1_write );
-WRITE16_HANDLER( hd68k_wr2_write );
-WRITE16_HANDLER( hd68k_nwr_w );
-WRITE16_HANDLER( hdc68k_wheel_edge_reset_w );
+DECLARE_WRITE16_HANDLER( hd68k_adc_control_w );
+DECLARE_WRITE16_HANDLER( hd68k_wr0_write );
+DECLARE_WRITE16_HANDLER( hd68k_wr1_write );
+DECLARE_WRITE16_HANDLER( hd68k_wr2_write );
+DECLARE_WRITE16_HANDLER( hd68k_nwr_w );
+DECLARE_WRITE16_HANDLER( hdc68k_wheel_edge_reset_w );
-READ16_HANDLER( hd68k_zram_r );
-WRITE16_HANDLER( hd68k_zram_w );
+DECLARE_READ16_HANDLER( hd68k_zram_r );
+DECLARE_WRITE16_HANDLER( hd68k_zram_w );
void harddriv_duart_irq_handler(device_t *device, int state, UINT8 vector);
-WRITE16_HANDLER( hdgsp_io_w );
+DECLARE_WRITE16_HANDLER( hdgsp_io_w );
-WRITE16_HANDLER( hdgsp_protection_w );
+DECLARE_WRITE16_HANDLER( hdgsp_protection_w );
/* ADSP board */
-READ16_HANDLER( hd68k_adsp_program_r );
-WRITE16_HANDLER( hd68k_adsp_program_w );
+DECLARE_READ16_HANDLER( hd68k_adsp_program_r );
+DECLARE_WRITE16_HANDLER( hd68k_adsp_program_w );
-READ16_HANDLER( hd68k_adsp_data_r );
-WRITE16_HANDLER( hd68k_adsp_data_w );
+DECLARE_READ16_HANDLER( hd68k_adsp_data_r );
+DECLARE_WRITE16_HANDLER( hd68k_adsp_data_w );
-READ16_HANDLER( hd68k_adsp_buffer_r );
-WRITE16_HANDLER( hd68k_adsp_buffer_w );
+DECLARE_READ16_HANDLER( hd68k_adsp_buffer_r );
+DECLARE_WRITE16_HANDLER( hd68k_adsp_buffer_w );
-WRITE16_HANDLER( hd68k_adsp_control_w );
-WRITE16_HANDLER( hd68k_adsp_irq_clear_w );
-READ16_HANDLER( hd68k_adsp_irq_state_r );
+DECLARE_WRITE16_HANDLER( hd68k_adsp_control_w );
+DECLARE_WRITE16_HANDLER( hd68k_adsp_irq_clear_w );
+DECLARE_READ16_HANDLER( hd68k_adsp_irq_state_r );
-READ16_HANDLER( hdadsp_special_r );
-WRITE16_HANDLER( hdadsp_special_w );
+DECLARE_READ16_HANDLER( hdadsp_special_r );
+DECLARE_WRITE16_HANDLER( hdadsp_special_w );
/* DS III board */
-WRITE16_HANDLER( hd68k_ds3_control_w );
-READ16_HANDLER( hd68k_ds3_girq_state_r );
-READ16_HANDLER( hd68k_ds3_sirq_state_r );
-READ16_HANDLER( hd68k_ds3_gdata_r );
-WRITE16_HANDLER( hd68k_ds3_gdata_w );
-READ16_HANDLER( hd68k_ds3_sdata_r );
-WRITE16_HANDLER( hd68k_ds3_sdata_w );
-
-READ16_HANDLER( hdds3_special_r );
-WRITE16_HANDLER( hdds3_special_w );
-READ16_HANDLER( hdds3_control_r );
-WRITE16_HANDLER( hdds3_control_w );
-
-READ16_HANDLER( hd68k_ds3_program_r );
-WRITE16_HANDLER( hd68k_ds3_program_w );
+DECLARE_WRITE16_HANDLER( hd68k_ds3_control_w );
+DECLARE_READ16_HANDLER( hd68k_ds3_girq_state_r );
+DECLARE_READ16_HANDLER( hd68k_ds3_sirq_state_r );
+DECLARE_READ16_HANDLER( hd68k_ds3_gdata_r );
+DECLARE_WRITE16_HANDLER( hd68k_ds3_gdata_w );
+DECLARE_READ16_HANDLER( hd68k_ds3_sdata_r );
+DECLARE_WRITE16_HANDLER( hd68k_ds3_sdata_w );
+
+DECLARE_READ16_HANDLER( hdds3_special_r );
+DECLARE_WRITE16_HANDLER( hdds3_special_w );
+DECLARE_READ16_HANDLER( hdds3_control_r );
+DECLARE_WRITE16_HANDLER( hdds3_control_w );
+
+DECLARE_READ16_HANDLER( hd68k_ds3_program_r );
+DECLARE_WRITE16_HANDLER( hd68k_ds3_program_w );
/* DSK board */
void hddsk_update_pif(dsp32c_device &device, UINT32 pins);
-WRITE16_HANDLER( hd68k_dsk_control_w );
-READ16_HANDLER( hd68k_dsk_ram_r );
-WRITE16_HANDLER( hd68k_dsk_ram_w );
-READ16_HANDLER( hd68k_dsk_zram_r );
-WRITE16_HANDLER( hd68k_dsk_zram_w );
-READ16_HANDLER( hd68k_dsk_small_rom_r );
-READ16_HANDLER( hd68k_dsk_rom_r );
-WRITE16_HANDLER( hd68k_dsk_dsp32_w );
-READ16_HANDLER( hd68k_dsk_dsp32_r );
-WRITE32_HANDLER( rddsp32_sync0_w );
-WRITE32_HANDLER( rddsp32_sync1_w );
+DECLARE_WRITE16_HANDLER( hd68k_dsk_control_w );
+DECLARE_READ16_HANDLER( hd68k_dsk_ram_r );
+DECLARE_WRITE16_HANDLER( hd68k_dsk_ram_w );
+DECLARE_READ16_HANDLER( hd68k_dsk_zram_r );
+DECLARE_WRITE16_HANDLER( hd68k_dsk_zram_w );
+DECLARE_READ16_HANDLER( hd68k_dsk_small_rom_r );
+DECLARE_READ16_HANDLER( hd68k_dsk_rom_r );
+DECLARE_WRITE16_HANDLER( hd68k_dsk_dsp32_w );
+DECLARE_READ16_HANDLER( hd68k_dsk_dsp32_r );
+DECLARE_WRITE32_HANDLER( rddsp32_sync0_w );
+DECLARE_WRITE32_HANDLER( rddsp32_sync1_w );
/* DSPCOM board */
-WRITE16_HANDLER( hddspcom_control_w );
+DECLARE_WRITE16_HANDLER( hddspcom_control_w );
-WRITE16_HANDLER( rd68k_slapstic_w );
-READ16_HANDLER( rd68k_slapstic_r );
+DECLARE_WRITE16_HANDLER( rd68k_slapstic_w );
+DECLARE_READ16_HANDLER( rd68k_slapstic_r );
/* Game-specific protection */
-WRITE16_HANDLER( st68k_sloop_w );
-READ16_HANDLER( st68k_sloop_r );
-READ16_HANDLER( st68k_sloop_alt_r );
-WRITE16_HANDLER( st68k_protosloop_w );
-READ16_HANDLER( st68k_protosloop_r );
+DECLARE_WRITE16_HANDLER( st68k_sloop_w );
+DECLARE_READ16_HANDLER( st68k_sloop_r );
+DECLARE_READ16_HANDLER( st68k_sloop_alt_r );
+DECLARE_WRITE16_HANDLER( st68k_protosloop_w );
+DECLARE_READ16_HANDLER( st68k_protosloop_r );
/* GSP optimizations */
-READ16_HANDLER( hdgsp_speedup_r );
-WRITE16_HANDLER( hdgsp_speedup1_w );
-WRITE16_HANDLER( hdgsp_speedup2_w );
-READ16_HANDLER( rdgsp_speedup1_r );
-WRITE16_HANDLER( rdgsp_speedup1_w );
+DECLARE_READ16_HANDLER( hdgsp_speedup_r );
+DECLARE_WRITE16_HANDLER( hdgsp_speedup1_w );
+DECLARE_WRITE16_HANDLER( hdgsp_speedup2_w );
+DECLARE_READ16_HANDLER( rdgsp_speedup1_r );
+DECLARE_WRITE16_HANDLER( rdgsp_speedup1_w );
/* MSP optimizations */
-READ16_HANDLER( hdmsp_speedup_r );
-WRITE16_HANDLER( hdmsp_speedup_w );
+DECLARE_READ16_HANDLER( hdmsp_speedup_r );
+DECLARE_WRITE16_HANDLER( hdmsp_speedup_w );
/* ADSP optimizations */
-READ16_HANDLER( hdadsp_speedup_r );
-READ16_HANDLER( hdds3_speedup_r );
+DECLARE_READ16_HANDLER( hdadsp_speedup_r );
+DECLARE_READ16_HANDLER( hdds3_speedup_r );
/*----------- defined in audio/harddriv.c -----------*/
@@ -359,19 +359,19 @@ DECLARE_WRITE16_DEVICE_HANDLER( hdsnddsp_dac_w );
void hdgsp_write_to_shiftreg(address_space &space, UINT32 address, UINT16 *shiftreg);
void hdgsp_read_from_shiftreg(address_space &space, UINT32 address, UINT16 *shiftreg);
-READ16_HANDLER( hdgsp_control_lo_r );
-WRITE16_HANDLER( hdgsp_control_lo_w );
-READ16_HANDLER( hdgsp_control_hi_r );
-WRITE16_HANDLER( hdgsp_control_hi_w );
+DECLARE_READ16_HANDLER( hdgsp_control_lo_r );
+DECLARE_WRITE16_HANDLER( hdgsp_control_lo_w );
+DECLARE_READ16_HANDLER( hdgsp_control_hi_r );
+DECLARE_WRITE16_HANDLER( hdgsp_control_hi_w );
-READ16_HANDLER( hdgsp_vram_2bpp_r );
-WRITE16_HANDLER( hdgsp_vram_1bpp_w );
-WRITE16_HANDLER( hdgsp_vram_2bpp_w );
+DECLARE_READ16_HANDLER( hdgsp_vram_2bpp_r );
+DECLARE_WRITE16_HANDLER( hdgsp_vram_1bpp_w );
+DECLARE_WRITE16_HANDLER( hdgsp_vram_2bpp_w );
-READ16_HANDLER( hdgsp_paletteram_lo_r );
-WRITE16_HANDLER( hdgsp_paletteram_lo_w );
-READ16_HANDLER( hdgsp_paletteram_hi_r );
-WRITE16_HANDLER( hdgsp_paletteram_hi_w );
+DECLARE_READ16_HANDLER( hdgsp_paletteram_lo_r );
+DECLARE_WRITE16_HANDLER( hdgsp_paletteram_lo_w );
+DECLARE_READ16_HANDLER( hdgsp_paletteram_hi_r );
+DECLARE_WRITE16_HANDLER( hdgsp_paletteram_hi_w );
void harddriv_scanline_driver(screen_device &screen, bitmap_ind16 &bitmap, int scanline, const tms34010_display_params *params);
void harddriv_scanline_multisync(screen_device &screen, bitmap_ind16 &bitmap, int scanline, const tms34010_display_params *params);
diff --git a/src/mame/includes/itech8.h b/src/mame/includes/itech8.h
index 82087689489..02916d6b48e 100644
--- a/src/mame/includes/itech8.h
+++ b/src/mame/includes/itech8.h
@@ -99,12 +99,12 @@ void itech8_update_interrupts(running_machine &machine, int periodic, int tms340
/*----------- defined in machine/slikshot.c -----------*/
-READ8_HANDLER( slikz80_port_r );
-WRITE8_HANDLER( slikz80_port_w );
+DECLARE_READ8_HANDLER( slikz80_port_r );
+DECLARE_WRITE8_HANDLER( slikz80_port_w );
-READ8_HANDLER( slikshot_z80_r );
-READ8_HANDLER( slikshot_z80_control_r );
-WRITE8_HANDLER( slikshot_z80_control_w );
+DECLARE_READ8_HANDLER( slikshot_z80_r );
+DECLARE_READ8_HANDLER( slikshot_z80_control_r );
+DECLARE_WRITE8_HANDLER( slikshot_z80_control_w );
SCREEN_UPDATE_RGB32( slikshot );
diff --git a/src/mame/includes/klax.h b/src/mame/includes/klax.h
index 1788fb9f293..f10215138ce 100644
--- a/src/mame/includes/klax.h
+++ b/src/mame/includes/klax.h
@@ -21,7 +21,7 @@ public:
/*----------- defined in video/klax.c -----------*/
-WRITE16_HANDLER( klax_latch_w );
+DECLARE_WRITE16_HANDLER( klax_latch_w );
SCREEN_UPDATE_IND16( klax );
diff --git a/src/mame/includes/ladybug.h b/src/mame/includes/ladybug.h
index 95f5cefe82e..d85157f00f4 100644
--- a/src/mame/includes/ladybug.h
+++ b/src/mame/includes/ladybug.h
@@ -93,14 +93,14 @@ SCREEN_VBLANK( sraider );
/*----------- defined in video/redclash.c -----------*/
-WRITE8_HANDLER( redclash_videoram_w );
-WRITE8_HANDLER( redclash_gfxbank_w );
-WRITE8_HANDLER( redclash_flipscreen_w );
-
-WRITE8_HANDLER( redclash_star0_w );
-WRITE8_HANDLER( redclash_star1_w );
-WRITE8_HANDLER( redclash_star2_w );
-WRITE8_HANDLER( redclash_star_reset_w );
+DECLARE_WRITE8_HANDLER( redclash_videoram_w );
+DECLARE_WRITE8_HANDLER( redclash_gfxbank_w );
+DECLARE_WRITE8_HANDLER( redclash_flipscreen_w );
+
+DECLARE_WRITE8_HANDLER( redclash_star0_w );
+DECLARE_WRITE8_HANDLER( redclash_star1_w );
+DECLARE_WRITE8_HANDLER( redclash_star2_w );
+DECLARE_WRITE8_HANDLER( redclash_star_reset_w );
diff --git a/src/mame/includes/matmania.h b/src/mame/includes/matmania.h
index 59f2f7d3d4b..d5ed9e48255 100644
--- a/src/mame/includes/matmania.h
+++ b/src/mame/includes/matmania.h
@@ -63,18 +63,18 @@ public:
/*----------- defined in machine/maniach.c -----------*/
-READ8_HANDLER( maniach_68705_port_a_r );
-WRITE8_HANDLER( maniach_68705_port_a_w );
-READ8_HANDLER( maniach_68705_port_b_r );
-WRITE8_HANDLER( maniach_68705_port_b_w );
-READ8_HANDLER( maniach_68705_port_c_r );
-WRITE8_HANDLER( maniach_68705_port_c_w );
-WRITE8_HANDLER( maniach_68705_ddr_a_w );
-WRITE8_HANDLER( maniach_68705_ddr_b_w );
-WRITE8_HANDLER( maniach_68705_ddr_c_w );
-WRITE8_HANDLER( maniach_mcu_w );
-READ8_HANDLER( maniach_mcu_r );
-READ8_HANDLER( maniach_mcu_status_r );
+DECLARE_READ8_HANDLER( maniach_68705_port_a_r );
+DECLARE_WRITE8_HANDLER( maniach_68705_port_a_w );
+DECLARE_READ8_HANDLER( maniach_68705_port_b_r );
+DECLARE_WRITE8_HANDLER( maniach_68705_port_b_w );
+DECLARE_READ8_HANDLER( maniach_68705_port_c_r );
+DECLARE_WRITE8_HANDLER( maniach_68705_port_c_w );
+DECLARE_WRITE8_HANDLER( maniach_68705_ddr_a_w );
+DECLARE_WRITE8_HANDLER( maniach_68705_ddr_b_w );
+DECLARE_WRITE8_HANDLER( maniach_68705_ddr_c_w );
+DECLARE_WRITE8_HANDLER( maniach_mcu_w );
+DECLARE_READ8_HANDLER( maniach_mcu_r );
+DECLARE_READ8_HANDLER( maniach_mcu_status_r );
/*----------- defined in video/matmania.c -----------*/
diff --git a/src/mame/includes/megadriv.h b/src/mame/includes/megadriv.h
index fd1f45e660c..c7f1d51f658 100644
--- a/src/mame/includes/megadriv.h
+++ b/src/mame/includes/megadriv.h
@@ -69,8 +69,8 @@ void megatech_set_megadrive_z80_as_megadrive_z80(running_machine &machine, const
/* These handlers are needed by megaplay.c */
-extern READ16_HANDLER( megadriv_68k_io_read );
-extern WRITE16_HANDLER( megadriv_68k_io_write );
+extern DECLARE_READ16_HANDLER( megadriv_68k_io_read );
+extern DECLARE_WRITE16_HANDLER( megadriv_68k_io_write );
/* These handlers are needed by puckpkmn.c for his memory map */
extern DECLARE_READ8_DEVICE_HANDLER( megadriv_68k_YM2612_read);
@@ -472,8 +472,8 @@ MACHINE_START( md_sram );
/*----------- defined in drivers/megadriv.c -----------*/
/* These are needed to handle J-Cart inputs */
-extern WRITE16_HANDLER( jcart_ctrl_w );
-extern READ16_HANDLER( jcart_ctrl_r );
+extern DECLARE_WRITE16_HANDLER( jcart_ctrl_w );
+extern DECLARE_READ16_HANDLER( jcart_ctrl_r );
/* machine/megavdp.c */
extern UINT16 (*vdp_get_word_from_68k_mem)(running_machine &machine, UINT32 source, address_space* space);
diff --git a/src/mame/includes/midzeus.h b/src/mame/includes/midzeus.h
index 06329351d33..ae80c733f0a 100644
--- a/src/mame/includes/midzeus.h
+++ b/src/mame/includes/midzeus.h
@@ -70,6 +70,6 @@ SCREEN_UPDATE_IND16( midzeus );
SCREEN_UPDATE_RGB32( midzeus2 );
-READ32_HANDLER( zeus2_r );
-WRITE32_HANDLER( zeus2_w );
+DECLARE_READ32_HANDLER( zeus2_r );
+DECLARE_WRITE32_HANDLER( zeus2_w );
diff --git a/src/mame/includes/namcoic.h b/src/mame/includes/namcoic.h
index e35b578be62..80c3f6095de 100644
--- a/src/mame/includes/namcoic.h
+++ b/src/mame/includes/namcoic.h
@@ -160,20 +160,20 @@ extern const device_type NAMCO_C45_ROAD;
void namco_tilemap_draw( bitmap_ind16 &bitmap, const rectangle &cliprect, int pri );
void namco_tilemap_invalidate( void );
-WRITE16_HANDLER( namco_tilemapvideoram16_w );
-READ16_HANDLER( namco_tilemapvideoram16_r );
-WRITE16_HANDLER( namco_tilemapcontrol16_w );
-READ16_HANDLER( namco_tilemapcontrol16_r );
-
-READ32_HANDLER( namco_tilemapvideoram32_r );
-WRITE32_HANDLER( namco_tilemapvideoram32_w );
-READ32_HANDLER( namco_tilemapcontrol32_r );
-WRITE32_HANDLER( namco_tilemapcontrol32_w );
-
-READ32_HANDLER( namco_tilemapvideoram32_le_r );
-WRITE32_HANDLER( namco_tilemapvideoram32_le_w );
-READ32_HANDLER( namco_tilemapcontrol32_le_r );
-WRITE32_HANDLER( namco_tilemapcontrol32_le_w );
+DECLARE_WRITE16_HANDLER( namco_tilemapvideoram16_w );
+DECLARE_READ16_HANDLER( namco_tilemapvideoram16_r );
+DECLARE_WRITE16_HANDLER( namco_tilemapcontrol16_w );
+DECLARE_READ16_HANDLER( namco_tilemapcontrol16_r );
+
+DECLARE_READ32_HANDLER( namco_tilemapvideoram32_r );
+DECLARE_WRITE32_HANDLER( namco_tilemapvideoram32_w );
+DECLARE_READ32_HANDLER( namco_tilemapcontrol32_r );
+DECLARE_WRITE32_HANDLER( namco_tilemapcontrol32_w );
+
+DECLARE_READ32_HANDLER( namco_tilemapvideoram32_le_r );
+DECLARE_WRITE32_HANDLER( namco_tilemapvideoram32_le_w );
+DECLARE_READ32_HANDLER( namco_tilemapcontrol32_le_r );
+DECLARE_WRITE32_HANDLER( namco_tilemapcontrol32_le_w );
/***********************************************************************************/
diff --git a/src/mame/includes/namcos1.h b/src/mame/includes/namcos1.h
index 5d2170e7a46..63b14669bc8 100644
--- a/src/mame/includes/namcos1.h
+++ b/src/mame/includes/namcos1.h
@@ -111,11 +111,11 @@ void namcos1_init_DACs(running_machine &machine);
/*----------- defined in video/namcos1.c -----------*/
-READ8_HANDLER( namcos1_videoram_r );
-WRITE8_HANDLER( namcos1_videoram_w );
-WRITE8_HANDLER( namcos1_paletteram_w );
-READ8_HANDLER( namcos1_spriteram_r );
-WRITE8_HANDLER( namcos1_spriteram_w );
+DECLARE_READ8_HANDLER( namcos1_videoram_r );
+DECLARE_WRITE8_HANDLER( namcos1_videoram_w );
+DECLARE_WRITE8_HANDLER( namcos1_paletteram_w );
+DECLARE_READ8_HANDLER( namcos1_spriteram_r );
+DECLARE_WRITE8_HANDLER( namcos1_spriteram_w );
SCREEN_UPDATE_IND16( namcos1 );
diff --git a/src/mame/includes/namcos2.h b/src/mame/includes/namcos2.h
index f58fdd1e6ac..d1403942d37 100644
--- a/src/mame/includes/namcos2.h
+++ b/src/mame/includes/namcos2.h
@@ -297,26 +297,26 @@ public:
extern void (*namcos2_kickstart)(running_machine &machine, int internal);
-READ16_HANDLER( namcos2_flap_prot_r );
+DECLARE_READ16_HANDLER( namcos2_flap_prot_r );
/**************************************************************/
/* EEPROM memory function handlers */
/**************************************************************/
#define NAMCOS2_68K_eeprom_W namcos2_68k_eeprom_w
#define NAMCOS2_68K_eeprom_R namcos2_68k_eeprom_r
-WRITE16_HANDLER( namcos2_68k_eeprom_w );
-READ16_HANDLER( namcos2_68k_eeprom_r );
+DECLARE_WRITE16_HANDLER( namcos2_68k_eeprom_w );
+DECLARE_READ16_HANDLER( namcos2_68k_eeprom_r );
/**************************************************************/
/* Shared data ROM memory handlerhandlers */
/**************************************************************/
-READ16_HANDLER( namcos2_68k_data_rom_r );
+DECLARE_READ16_HANDLER( namcos2_68k_data_rom_r );
/**************************************************************/
/* Shared protection/random number generator */
/**************************************************************/
-READ16_HANDLER( namcos2_68k_key_r );
-WRITE16_HANDLER( namcos2_68k_key_w );
+DECLARE_READ16_HANDLER( namcos2_68k_key_r );
+DECLARE_WRITE16_HANDLER( namcos2_68k_key_w );
/**************************************************************/
/* Non-shared memory custom IO device - IRQ/Inputs/Outputs */
@@ -331,16 +331,16 @@ WRITE16_HANDLER( namcos2_68k_key_w );
#define NAMCOS2_C148_SERIRQ 6 /* 0x1cc000 */
#define NAMCOS2_C148_VBLANKIRQ 7 /* 0x1ce000 */
-WRITE16_HANDLER( namcos2_68k_master_C148_w );
-READ16_HANDLER( namcos2_68k_master_C148_r );
+DECLARE_WRITE16_HANDLER( namcos2_68k_master_C148_w );
+DECLARE_READ16_HANDLER( namcos2_68k_master_C148_r );
INTERRUPT_GEN( namcos2_68k_master_vblank );
-WRITE16_HANDLER( namcos2_68k_slave_C148_w );
-READ16_HANDLER( namcos2_68k_slave_C148_r );
+DECLARE_WRITE16_HANDLER( namcos2_68k_slave_C148_w );
+DECLARE_READ16_HANDLER( namcos2_68k_slave_C148_r );
INTERRUPT_GEN( namcos2_68k_slave_vblank );
-WRITE16_HANDLER( namcos2_68k_gpu_C148_w );
-READ16_HANDLER( namcos2_68k_gpu_C148_r );
+DECLARE_WRITE16_HANDLER( namcos2_68k_gpu_C148_w );
+DECLARE_READ16_HANDLER( namcos2_68k_gpu_C148_r );
INTERRUPT_GEN( namcos2_68k_gpu_vblank );
void namcos2_adjust_posirq_timer( running_machine &machine, int scanline );
@@ -366,22 +366,22 @@ void namcos2_adjust_posirq_timer( running_machine &machine, int scanline );
/* Sound CPU support handlers - 6809 */
/**************************************************************/
-WRITE8_HANDLER( namcos2_sound_bankselect_w );
+DECLARE_WRITE8_HANDLER( namcos2_sound_bankselect_w );
/**************************************************************/
/* MCU Specific support handlers - HD63705 */
/**************************************************************/
-WRITE8_HANDLER( namcos2_mcu_analog_ctrl_w );
-READ8_HANDLER( namcos2_mcu_analog_ctrl_r );
+DECLARE_WRITE8_HANDLER( namcos2_mcu_analog_ctrl_w );
+DECLARE_READ8_HANDLER( namcos2_mcu_analog_ctrl_r );
-WRITE8_HANDLER( namcos2_mcu_analog_port_w );
-READ8_HANDLER( namcos2_mcu_analog_port_r );
+DECLARE_WRITE8_HANDLER( namcos2_mcu_analog_port_w );
+DECLARE_READ8_HANDLER( namcos2_mcu_analog_port_r );
-WRITE8_HANDLER( namcos2_mcu_port_d_w );
-READ8_HANDLER( namcos2_mcu_port_d_r );
+DECLARE_WRITE8_HANDLER( namcos2_mcu_port_d_w );
+DECLARE_READ8_HANDLER( namcos2_mcu_port_d_r );
-READ8_HANDLER( namcos2_input_port_0_r );
-READ8_HANDLER( namcos2_input_port_10_r );
-READ8_HANDLER( namcos2_input_port_12_r );
+DECLARE_READ8_HANDLER( namcos2_input_port_0_r );
+DECLARE_READ8_HANDLER( namcos2_input_port_10_r );
+DECLARE_READ8_HANDLER( namcos2_input_port_12_r );
diff --git a/src/mame/includes/nb1413m3.h b/src/mame/includes/nb1413m3.h
index a21499522b1..018fa1e1054 100644
--- a/src/mame/includes/nb1413m3.h
+++ b/src/mame/includes/nb1413m3.h
@@ -122,26 +122,26 @@ enum {
/*----------- defined in machine/nb1413m3.c -----------*/
MACHINE_RESET( nb1413m3 );
-WRITE8_HANDLER( nb1413m3_nmi_clock_w );
+DECLARE_WRITE8_HANDLER( nb1413m3_nmi_clock_w );
INTERRUPT_GEN( nb1413m3_interrupt );
-READ8_HANDLER( nb1413m3_sndrom_r );
-WRITE8_HANDLER( nb1413m3_sndrombank1_w );
-WRITE8_HANDLER( nb1413m3_sndrombank2_w );
-READ8_HANDLER( nb1413m3_gfxrom_r );
-WRITE8_HANDLER( nb1413m3_gfxrombank_w );
-WRITE8_HANDLER( nb1413m3_gfxradr_l_w );
-WRITE8_HANDLER( nb1413m3_gfxradr_h_w );
-WRITE8_HANDLER( nb1413m3_inputportsel_w );
-READ8_HANDLER( nb1413m3_inputport0_r );
-READ8_HANDLER( nb1413m3_inputport1_r );
-READ8_HANDLER( nb1413m3_inputport2_r );
-READ8_HANDLER( nb1413m3_inputport3_r );
-READ8_HANDLER( nb1413m3_dipsw1_r );
-READ8_HANDLER( nb1413m3_dipsw2_r );
-READ8_HANDLER( nb1413m3_dipsw3_l_r );
-READ8_HANDLER( nb1413m3_dipsw3_h_r );
-WRITE8_HANDLER( nb1413m3_outcoin_w );
-WRITE8_HANDLER( nb1413m3_vcrctrl_w );
+DECLARE_READ8_HANDLER( nb1413m3_sndrom_r );
+DECLARE_WRITE8_HANDLER( nb1413m3_sndrombank1_w );
+DECLARE_WRITE8_HANDLER( nb1413m3_sndrombank2_w );
+DECLARE_READ8_HANDLER( nb1413m3_gfxrom_r );
+DECLARE_WRITE8_HANDLER( nb1413m3_gfxrombank_w );
+DECLARE_WRITE8_HANDLER( nb1413m3_gfxradr_l_w );
+DECLARE_WRITE8_HANDLER( nb1413m3_gfxradr_h_w );
+DECLARE_WRITE8_HANDLER( nb1413m3_inputportsel_w );
+DECLARE_READ8_HANDLER( nb1413m3_inputport0_r );
+DECLARE_READ8_HANDLER( nb1413m3_inputport1_r );
+DECLARE_READ8_HANDLER( nb1413m3_inputport2_r );
+DECLARE_READ8_HANDLER( nb1413m3_inputport3_r );
+DECLARE_READ8_HANDLER( nb1413m3_dipsw1_r );
+DECLARE_READ8_HANDLER( nb1413m3_dipsw2_r );
+DECLARE_READ8_HANDLER( nb1413m3_dipsw3_l_r );
+DECLARE_READ8_HANDLER( nb1413m3_dipsw3_h_r );
+DECLARE_WRITE8_HANDLER( nb1413m3_outcoin_w );
+DECLARE_WRITE8_HANDLER( nb1413m3_vcrctrl_w );
CUSTOM_INPUT( nb1413m3_busyflag_r );
CUSTOM_INPUT( nb1413m3_outcoin_flag_r );
diff --git a/src/mame/includes/pacman.h b/src/mame/includes/pacman.h
index a84a5560d26..c3ed83749f2 100644
--- a/src/mame/includes/pacman.h
+++ b/src/mame/includes/pacman.h
@@ -167,11 +167,11 @@ void jumpshot_decode(running_machine &machine);
-READ8_HANDLER( theglobp_decrypt_rom );
+DECLARE_READ8_HANDLER( theglobp_decrypt_rom );
/*----------- defined in machine/acitya.c -------------*/
-READ8_HANDLER( acitya_decrypt_rom );
+DECLARE_READ8_HANDLER( acitya_decrypt_rom );
diff --git a/src/mame/includes/pk8000.h b/src/mame/includes/pk8000.h
index 68b8c44982e..10c8056d566 100644
--- a/src/mame/includes/pk8000.h
+++ b/src/mame/includes/pk8000.h
@@ -1,17 +1,17 @@
/*----------- defined in video/pk8000.c -----------*/
-READ8_HANDLER(pk8000_video_color_r);
-WRITE8_HANDLER(pk8000_video_color_w);
-READ8_HANDLER(pk8000_text_start_r);
-WRITE8_HANDLER(pk8000_text_start_w);
-READ8_HANDLER(pk8000_chargen_start_r);
-WRITE8_HANDLER(pk8000_chargen_start_w);
-READ8_HANDLER(pk8000_video_start_r);
-WRITE8_HANDLER(pk8000_video_start_w);
-READ8_HANDLER(pk8000_color_start_r);
-WRITE8_HANDLER(pk8000_color_start_w);
-READ8_HANDLER(pk8000_color_r);
-WRITE8_HANDLER(pk8000_color_w);
+DECLARE_READ8_HANDLER(pk8000_video_color_r);
+DECLARE_WRITE8_HANDLER(pk8000_video_color_w);
+DECLARE_READ8_HANDLER(pk8000_text_start_r);
+DECLARE_WRITE8_HANDLER(pk8000_text_start_w);
+DECLARE_READ8_HANDLER(pk8000_chargen_start_r);
+DECLARE_WRITE8_HANDLER(pk8000_chargen_start_w);
+DECLARE_READ8_HANDLER(pk8000_video_start_r);
+DECLARE_WRITE8_HANDLER(pk8000_video_start_w);
+DECLARE_READ8_HANDLER(pk8000_color_start_r);
+DECLARE_WRITE8_HANDLER(pk8000_color_start_w);
+DECLARE_READ8_HANDLER(pk8000_color_r);
+DECLARE_WRITE8_HANDLER(pk8000_color_w);
extern UINT8 pk8000_video_mode;
extern UINT8 pk8000_video_enable;
diff --git a/src/mame/includes/psx.h b/src/mame/includes/psx.h
index 6512bab0b57..f59fe12678b 100644
--- a/src/mame/includes/psx.h
+++ b/src/mame/includes/psx.h
@@ -25,14 +25,14 @@ public:
// mame/machine/psx.c
extern void psx_driver_init( running_machine &machine );
-WRITE32_HANDLER( psx_com_delay_w );
-READ32_HANDLER( psx_com_delay_r );
+DECLARE_WRITE32_HANDLER( psx_com_delay_w );
+DECLARE_READ32_HANDLER( psx_com_delay_r );
extern void psx_irq_set( running_machine &, UINT32 );
extern void psx_sio_install_handler( running_machine &, int, psx_sio_handler );
extern void psx_sio_input( running_machine &, int, int, int );
-READ32_HANDLER( psx_gpu_r );
-WRITE32_HANDLER( psx_gpu_w );
+DECLARE_READ32_HANDLER( psx_gpu_r );
+DECLARE_WRITE32_HANDLER( psx_gpu_w );
extern void psx_lightgun_set( running_machine &, int, int );
// emu/video/psx.c
diff --git a/src/mame/includes/scramble.h b/src/mame/includes/scramble.h
index 237c7d94537..7afbacb3a84 100644
--- a/src/mame/includes/scramble.h
+++ b/src/mame/includes/scramble.h
@@ -66,11 +66,11 @@ extern const i8255_interface(stratgyx_ppi_1_intf);
-READ8_HANDLER( triplep_pip_r );
-READ8_HANDLER( triplep_pap_r );
+DECLARE_READ8_HANDLER( triplep_pip_r );
+DECLARE_READ8_HANDLER( triplep_pap_r );
-READ8_HANDLER( hunchbks_mirror_r );
-WRITE8_HANDLER( hunchbks_mirror_w );
+DECLARE_READ8_HANDLER( hunchbks_mirror_r );
+DECLARE_WRITE8_HANDLER( hunchbks_mirror_w );
DECLARE_READ8_DEVICE_HANDLER( scramble_protection_r );
DECLARE_WRITE8_DEVICE_HANDLER( scramble_protection_w );
diff --git a/src/mame/includes/segamsys.h b/src/mame/includes/segamsys.h
index edb4500d339..a75802fcf40 100644
--- a/src/mame/includes/segamsys.h
+++ b/src/mame/includes/segamsys.h
@@ -18,28 +18,28 @@ extern MACHINE_RESET(megatech_md_sms);
extern SCREEN_VBLANK(megatech_bios);
extern SCREEN_VBLANK(megatech_md_sms);
-extern READ8_HANDLER( sms_vcounter_r );
-extern READ8_HANDLER( sms_vdp_data_r );
-extern WRITE8_HANDLER( sms_vdp_data_w );
-extern READ8_HANDLER( sms_vdp_ctrl_r );
-extern WRITE8_HANDLER( sms_vdp_ctrl_w );
+extern DECLARE_READ8_HANDLER( sms_vcounter_r );
+extern DECLARE_READ8_HANDLER( sms_vdp_data_r );
+extern DECLARE_WRITE8_HANDLER( sms_vdp_data_w );
+extern DECLARE_READ8_HANDLER( sms_vdp_ctrl_r );
+extern DECLARE_WRITE8_HANDLER( sms_vdp_ctrl_w );
extern void init_for_megadrive(running_machine &machine);
extern void segae_md_sms_stop_scanline_timer(void);
-extern READ8_HANDLER( md_sms_vdp_vcounter_r );
-extern READ8_HANDLER( md_sms_vdp_data_r );
-extern WRITE8_HANDLER( md_sms_vdp_data_w );
-extern READ8_HANDLER( md_sms_vdp_ctrl_r );
-extern WRITE8_HANDLER( md_sms_vdp_ctrl_w );
+extern DECLARE_READ8_HANDLER( md_sms_vdp_vcounter_r );
+extern DECLARE_READ8_HANDLER( md_sms_vdp_data_r );
+extern DECLARE_WRITE8_HANDLER( md_sms_vdp_data_w );
+extern DECLARE_READ8_HANDLER( md_sms_vdp_ctrl_r );
+extern DECLARE_WRITE8_HANDLER( md_sms_vdp_ctrl_w );
extern VIDEO_START(sms);
extern SCREEN_VBLANK(sms);
-extern READ8_HANDLER( sms_vdp_2_data_r );
-extern WRITE8_HANDLER( sms_vdp_2_data_w );
-extern READ8_HANDLER( sms_vdp_2_ctrl_r );
-extern WRITE8_HANDLER( sms_vdp_2_ctrl_w );
+extern DECLARE_READ8_HANDLER( sms_vdp_2_data_r );
+extern DECLARE_WRITE8_HANDLER( sms_vdp_2_data_w );
+extern DECLARE_READ8_HANDLER( sms_vdp_2_ctrl_r );
+extern DECLARE_WRITE8_HANDLER( sms_vdp_2_ctrl_w );
extern SCREEN_VBLANK(systeme);
extern SCREEN_UPDATE_RGB32(systeme);
extern MACHINE_RESET(systeme);
@@ -49,12 +49,12 @@ extern UINT8* vdp2_vram_bank1;
extern UINT8* vdp1_vram_bank0;
extern UINT8* vdp1_vram_bank1;
extern void segae_set_vram_banks(UINT8 data);
-READ8_HANDLER( sms_ioport_gg00_r );
+DECLARE_READ8_HANDLER( sms_ioport_gg00_r );
void init_extra_gg_ports(running_machine* machine, const char* tag);
-READ8_HANDLER (megatech_sms_ioport_dc_r);
-READ8_HANDLER (megatech_sms_ioport_dd_r);
-READ8_HANDLER( smsgg_backupram_r );
-WRITE8_HANDLER( smsgg_backupram_w );
+DECLARE_READ8_HANDLER (megatech_sms_ioport_dc_r);
+DECLARE_READ8_HANDLER (megatech_sms_ioport_dd_r);
+DECLARE_READ8_HANDLER( smsgg_backupram_r );
+DECLARE_WRITE8_HANDLER( smsgg_backupram_w );
extern void megatech_set_genz80_as_sms_standard_map(running_machine &machine, const char* tag, int mapper);
MACHINE_CONFIG_EXTERN(sms);
extern void init_sms(running_machine &machine);
diff --git a/src/mame/includes/sei_crtc.h b/src/mame/includes/sei_crtc.h
index 4d22801020e..712b5dd27d5 100644
--- a/src/mame/includes/sei_crtc.h
+++ b/src/mame/includes/sei_crtc.h
@@ -2,11 +2,11 @@
extern UINT16 seibucrtc_sc0bank;
-WRITE16_HANDLER( seibucrtc_sc0vram_w );
-WRITE16_HANDLER( seibucrtc_sc1vram_w );
-WRITE16_HANDLER( seibucrtc_sc2vram_w );
-WRITE16_HANDLER( seibucrtc_sc3vram_w );
-WRITE16_HANDLER( seibucrtc_vregs_w );
+DECLARE_WRITE16_HANDLER( seibucrtc_sc0vram_w );
+DECLARE_WRITE16_HANDLER( seibucrtc_sc1vram_w );
+DECLARE_WRITE16_HANDLER( seibucrtc_sc2vram_w );
+DECLARE_WRITE16_HANDLER( seibucrtc_sc3vram_w );
+DECLARE_WRITE16_HANDLER( seibucrtc_vregs_w );
void seibucrtc_sc0bank_w(UINT16 data);
VIDEO_START( seibu_crtc );
SCREEN_UPDATE_IND16( seibu_crtc );
diff --git a/src/mame/includes/skullxbo.h b/src/mame/includes/skullxbo.h
index 1b61d505191..46e6451d23f 100644
--- a/src/mame/includes/skullxbo.h
+++ b/src/mame/includes/skullxbo.h
@@ -25,10 +25,10 @@ public:
/*----------- defined in video/skullxbo.c -----------*/
-WRITE16_HANDLER( skullxbo_playfieldlatch_w );
-WRITE16_HANDLER( skullxbo_xscroll_w );
-WRITE16_HANDLER( skullxbo_yscroll_w );
-WRITE16_HANDLER( skullxbo_mobmsb_w );
+DECLARE_WRITE16_HANDLER( skullxbo_playfieldlatch_w );
+DECLARE_WRITE16_HANDLER( skullxbo_xscroll_w );
+DECLARE_WRITE16_HANDLER( skullxbo_yscroll_w );
+DECLARE_WRITE16_HANDLER( skullxbo_mobmsb_w );
SCREEN_UPDATE_IND16( skullxbo );
diff --git a/src/mame/includes/snes.h b/src/mame/includes/snes.h
index df77df9bade..4c5d15b46bd 100644
--- a/src/mame/includes/snes.h
+++ b/src/mame/includes/snes.h
@@ -595,31 +595,31 @@ enum
extern MACHINE_START( snes );
extern MACHINE_RESET( snes );
-READ8_HANDLER( snes_open_bus_r );
-
-extern READ8_HANDLER( snes_r_io );
-extern WRITE8_HANDLER( snes_w_io );
-
-extern READ8_HANDLER( snes_r_bank1 );
-extern READ8_HANDLER( snes_r_bank2 );
-extern READ8_HANDLER( snes_r_bank3 );
-extern READ8_HANDLER( snes_r_bank4 );
-extern READ8_HANDLER( snes_r_bank5 );
-extern READ8_HANDLER( snes_r_bank6 );
-extern READ8_HANDLER( snes_r_bank7 );
-extern WRITE8_HANDLER( snes_w_bank1 );
-extern WRITE8_HANDLER( snes_w_bank2 );
-extern WRITE8_HANDLER( snes_w_bank4 );
-extern WRITE8_HANDLER( snes_w_bank5 );
-extern WRITE8_HANDLER( snes_w_bank6 );
-extern WRITE8_HANDLER( snes_w_bank7 );
-
-extern READ8_HANDLER( superfx_r_bank1 );
-extern READ8_HANDLER( superfx_r_bank2 );
-extern READ8_HANDLER( superfx_r_bank3 );
-extern WRITE8_HANDLER( superfx_w_bank1 );
-extern WRITE8_HANDLER( superfx_w_bank2 );
-extern WRITE8_HANDLER( superfx_w_bank3 );
+DECLARE_READ8_HANDLER( snes_open_bus_r );
+
+extern DECLARE_READ8_HANDLER( snes_r_io );
+extern DECLARE_WRITE8_HANDLER( snes_w_io );
+
+extern DECLARE_READ8_HANDLER( snes_r_bank1 );
+extern DECLARE_READ8_HANDLER( snes_r_bank2 );
+extern DECLARE_READ8_HANDLER( snes_r_bank3 );
+extern DECLARE_READ8_HANDLER( snes_r_bank4 );
+extern DECLARE_READ8_HANDLER( snes_r_bank5 );
+extern DECLARE_READ8_HANDLER( snes_r_bank6 );
+extern DECLARE_READ8_HANDLER( snes_r_bank7 );
+extern DECLARE_WRITE8_HANDLER( snes_w_bank1 );
+extern DECLARE_WRITE8_HANDLER( snes_w_bank2 );
+extern DECLARE_WRITE8_HANDLER( snes_w_bank4 );
+extern DECLARE_WRITE8_HANDLER( snes_w_bank5 );
+extern DECLARE_WRITE8_HANDLER( snes_w_bank6 );
+extern DECLARE_WRITE8_HANDLER( snes_w_bank7 );
+
+extern DECLARE_READ8_HANDLER( superfx_r_bank1 );
+extern DECLARE_READ8_HANDLER( superfx_r_bank2 );
+extern DECLARE_READ8_HANDLER( superfx_r_bank3 );
+extern DECLARE_WRITE8_HANDLER( superfx_w_bank1 );
+extern DECLARE_WRITE8_HANDLER( superfx_w_bank2 );
+extern DECLARE_WRITE8_HANDLER( superfx_w_bank3 );
WRITE_LINE_DEVICE_HANDLER( snes_extern_irq_w );
@@ -745,7 +745,7 @@ extern void snes_latch_counters(running_machine &machine);
extern VIDEO_START( snes );
extern SCREEN_UPDATE_RGB32( snes );
-extern READ8_HANDLER( snes_ppu_read );
-extern WRITE8_HANDLER( snes_ppu_write );
+extern DECLARE_READ8_HANDLER( snes_ppu_read );
+extern DECLARE_WRITE8_HANDLER( snes_ppu_write );
#endif /* _SNES_H_ */
diff --git a/src/mame/includes/snk6502.h b/src/mame/includes/snk6502.h
index 82d187f74d2..1177c64f1e8 100644
--- a/src/mame/includes/snk6502.h
+++ b/src/mame/includes/snk6502.h
@@ -76,12 +76,12 @@ extern const sn76477_interface vanguard_sn76477_intf_1;
extern const sn76477_interface vanguard_sn76477_intf_2;
extern const sn76477_interface fantasy_sn76477_intf;
-extern WRITE8_HANDLER( sasuke_sound_w );
-extern WRITE8_HANDLER( satansat_sound_w );
-extern WRITE8_HANDLER( vanguard_sound_w );
-extern WRITE8_HANDLER( vanguard_speech_w );
-extern WRITE8_HANDLER( fantasy_sound_w );
-extern WRITE8_HANDLER( fantasy_speech_w );
+extern DECLARE_WRITE8_HANDLER( sasuke_sound_w );
+extern DECLARE_WRITE8_HANDLER( satansat_sound_w );
+extern DECLARE_WRITE8_HANDLER( vanguard_sound_w );
+extern DECLARE_WRITE8_HANDLER( vanguard_speech_w );
+extern DECLARE_WRITE8_HANDLER( fantasy_sound_w );
+extern DECLARE_WRITE8_HANDLER( fantasy_speech_w );
class snk6502_sound_device : public device_t,
public device_sound_interface
diff --git a/src/mame/includes/stv.h b/src/mame/includes/stv.h
index e95bdb01c8d..37bec569c49 100644
--- a/src/mame/includes/stv.h
+++ b/src/mame/includes/stv.h
@@ -243,23 +243,23 @@ int stv_vdp1_start ( running_machine &machine );
void video_update_vdp1(running_machine &machine);
void stv_vdp2_dynamic_res_change(running_machine &machine);
-READ16_HANDLER ( saturn_vdp1_regs_r );
-READ32_HANDLER ( saturn_vdp1_vram_r );
-READ32_HANDLER ( saturn_vdp1_framebuffer0_r );
+DECLARE_READ16_HANDLER ( saturn_vdp1_regs_r );
+DECLARE_READ32_HANDLER ( saturn_vdp1_vram_r );
+DECLARE_READ32_HANDLER ( saturn_vdp1_framebuffer0_r );
-WRITE16_HANDLER ( saturn_vdp1_regs_w );
-WRITE32_HANDLER ( saturn_vdp1_vram_w );
-WRITE32_HANDLER ( saturn_vdp1_framebuffer0_w );
+DECLARE_WRITE16_HANDLER ( saturn_vdp1_regs_w );
+DECLARE_WRITE32_HANDLER ( saturn_vdp1_vram_w );
+DECLARE_WRITE32_HANDLER ( saturn_vdp1_framebuffer0_w );
/*----------- defined in video/stvvdp2.c -----------*/
-READ32_HANDLER ( saturn_vdp2_vram_r );
-READ32_HANDLER ( saturn_vdp2_cram_r );
-READ16_HANDLER ( saturn_vdp2_regs_r );
+DECLARE_READ32_HANDLER ( saturn_vdp2_vram_r );
+DECLARE_READ32_HANDLER ( saturn_vdp2_cram_r );
+DECLARE_READ16_HANDLER ( saturn_vdp2_regs_r );
-WRITE32_HANDLER ( saturn_vdp2_vram_w );
-WRITE32_HANDLER ( saturn_vdp2_cram_w );
-WRITE16_HANDLER ( saturn_vdp2_regs_w );
+DECLARE_WRITE32_HANDLER ( saturn_vdp2_vram_w );
+DECLARE_WRITE32_HANDLER ( saturn_vdp2_cram_w );
+DECLARE_WRITE16_HANDLER ( saturn_vdp2_regs_w );
SCREEN_UPDATE_RGB32( stv_vdp2 );
diff --git a/src/mame/includes/targ.h b/src/mame/includes/targ.h
index f38c176454f..10246f22204 100644
--- a/src/mame/includes/targ.h
+++ b/src/mame/includes/targ.h
@@ -7,9 +7,9 @@
/*----------- defined in audio/targ.c -----------*/
-WRITE8_HANDLER( targ_audio_1_w );
-WRITE8_HANDLER( targ_audio_2_w );
-WRITE8_HANDLER( spectar_audio_2_w );
+DECLARE_WRITE8_HANDLER( targ_audio_1_w );
+DECLARE_WRITE8_HANDLER( targ_audio_2_w );
+DECLARE_WRITE8_HANDLER( spectar_audio_2_w );
MACHINE_CONFIG_EXTERN( spectar_audio );
MACHINE_CONFIG_EXTERN( targ_audio );
diff --git a/src/mame/includes/toobin.h b/src/mame/includes/toobin.h
index 127f1000e7a..b9cdcb45322 100644
--- a/src/mame/includes/toobin.h
+++ b/src/mame/includes/toobin.h
@@ -30,11 +30,11 @@ public:
/*----------- defined in video/toobin.c -----------*/
-WRITE16_HANDLER( toobin_paletteram_w );
-WRITE16_HANDLER( toobin_intensity_w );
-WRITE16_HANDLER( toobin_xscroll_w );
-WRITE16_HANDLER( toobin_yscroll_w );
-WRITE16_HANDLER( toobin_slip_w );
+DECLARE_WRITE16_HANDLER( toobin_paletteram_w );
+DECLARE_WRITE16_HANDLER( toobin_intensity_w );
+DECLARE_WRITE16_HANDLER( toobin_xscroll_w );
+DECLARE_WRITE16_HANDLER( toobin_yscroll_w );
+DECLARE_WRITE16_HANDLER( toobin_slip_w );
SCREEN_UPDATE_RGB32( toobin );
diff --git a/src/mame/includes/vicdual.h b/src/mame/includes/vicdual.h
index f4f51b49937..58fa770f641 100644
--- a/src/mame/includes/vicdual.h
+++ b/src/mame/includes/vicdual.h
@@ -96,32 +96,32 @@ SCREEN_UPDATE_RGB32( vicdual_bw_or_color );
MACHINE_CONFIG_EXTERN( frogs_audio );
MACHINE_CONFIG_EXTERN( headon_audio );
-WRITE8_HANDLER( frogs_audio_w );
-WRITE8_HANDLER( headon_audio_w );
-WRITE8_HANDLER( invho2_audio_w );
+DECLARE_WRITE8_HANDLER( frogs_audio_w );
+DECLARE_WRITE8_HANDLER( headon_audio_w );
+DECLARE_WRITE8_HANDLER( invho2_audio_w );
/*----------- defined in audio/depthch.c -----------*/
MACHINE_CONFIG_EXTERN( depthch_audio );
-WRITE8_HANDLER( depthch_audio_w );
+DECLARE_WRITE8_HANDLER( depthch_audio_w );
/*----------- defined in audio/carnival.c -----------*/
MACHINE_CONFIG_EXTERN( carnival_audio );
-WRITE8_HANDLER( carnival_audio_1_w );
-WRITE8_HANDLER( carnival_audio_2_w );
+DECLARE_WRITE8_HANDLER( carnival_audio_1_w );
+DECLARE_WRITE8_HANDLER( carnival_audio_2_w );
/*----------- defined in audio/invinco.c -----------*/
MACHINE_CONFIG_EXTERN( invinco_audio );
-WRITE8_HANDLER( invinco_audio_w );
+DECLARE_WRITE8_HANDLER( invinco_audio_w );
/*----------- defined in audio/pulsar.c -----------*/
MACHINE_CONFIG_EXTERN( pulsar_audio );
-WRITE8_HANDLER( pulsar_audio_1_w );
-WRITE8_HANDLER( pulsar_audio_2_w );
+DECLARE_WRITE8_HANDLER( pulsar_audio_1_w );
+DECLARE_WRITE8_HANDLER( pulsar_audio_2_w );
diff --git a/src/mame/includes/vindictr.h b/src/mame/includes/vindictr.h
index 5c6824fe562..f41d9de3986 100644
--- a/src/mame/includes/vindictr.h
+++ b/src/mame/includes/vindictr.h
@@ -27,7 +27,7 @@ public:
/*----------- defined in video/vindictr.c -----------*/
-WRITE16_HANDLER( vindictr_paletteram_w );
+DECLARE_WRITE16_HANDLER( vindictr_paletteram_w );
SCREEN_UPDATE_IND16( vindictr );
diff --git a/src/mame/machine/asic65.h b/src/mame/machine/asic65.h
index eb5944411ad..8397799154a 100644
--- a/src/mame/machine/asic65.h
+++ b/src/mame/machine/asic65.h
@@ -11,8 +11,8 @@
void asic65_config(running_machine &machine, int asictype);
void asic65_reset(running_machine &machine, int state);
-WRITE16_HANDLER( asic65_data_w );
-READ16_HANDLER( asic65_r );
-READ16_HANDLER( asic65_io_r );
+DECLARE_WRITE16_HANDLER( asic65_data_w );
+DECLARE_READ16_HANDLER( asic65_r );
+DECLARE_READ16_HANDLER( asic65_io_r );
MACHINE_CONFIG_EXTERN( asic65 );
diff --git a/src/mame/machine/atarigen.h b/src/mame/machine/atarigen.h
index dd10111af1d..6caad572798 100644
--- a/src/mame/machine/atarigen.h
+++ b/src/mame/machine/atarigen.h
@@ -213,16 +213,16 @@ void atarigen_update_interrupts(running_machine &machine);
void atarigen_scanline_int_set(screen_device &screen, int scanline);
INTERRUPT_GEN( atarigen_scanline_int_gen );
-WRITE16_HANDLER( atarigen_scanline_int_ack_w );
-WRITE32_HANDLER( atarigen_scanline_int_ack32_w );
+DECLARE_WRITE16_HANDLER( atarigen_scanline_int_ack_w );
+DECLARE_WRITE32_HANDLER( atarigen_scanline_int_ack32_w );
INTERRUPT_GEN( atarigen_sound_int_gen );
-WRITE16_HANDLER( atarigen_sound_int_ack_w );
-WRITE32_HANDLER( atarigen_sound_int_ack32_w );
+DECLARE_WRITE16_HANDLER( atarigen_sound_int_ack_w );
+DECLARE_WRITE32_HANDLER( atarigen_sound_int_ack32_w );
INTERRUPT_GEN( atarigen_video_int_gen );
-WRITE16_HANDLER( atarigen_video_int_ack_w );
-WRITE32_HANDLER( atarigen_video_int_ack32_w );
+DECLARE_WRITE16_HANDLER( atarigen_video_int_ack_w );
+DECLARE_WRITE32_HANDLER( atarigen_video_int_ack32_w );
/*---------------------------------------------------------------
@@ -231,14 +231,14 @@ WRITE32_HANDLER( atarigen_video_int_ack32_w );
void atarigen_eeprom_reset(atarigen_state *state);
-WRITE16_HANDLER( atarigen_eeprom_enable_w );
-WRITE16_HANDLER( atarigen_eeprom_w );
-READ16_HANDLER( atarigen_eeprom_r );
-READ16_HANDLER( atarigen_eeprom_upper_r );
+DECLARE_WRITE16_HANDLER( atarigen_eeprom_enable_w );
+DECLARE_WRITE16_HANDLER( atarigen_eeprom_w );
+DECLARE_READ16_HANDLER( atarigen_eeprom_r );
+DECLARE_READ16_HANDLER( atarigen_eeprom_upper_r );
-WRITE32_HANDLER( atarigen_eeprom_enable32_w );
-WRITE32_HANDLER( atarigen_eeprom32_w );
-READ32_HANDLER( atarigen_eeprom_upper32_r );
+DECLARE_WRITE32_HANDLER( atarigen_eeprom_enable32_w );
+DECLARE_WRITE32_HANDLER( atarigen_eeprom32_w );
+DECLARE_READ32_HANDLER( atarigen_eeprom_upper32_r );
/*---------------------------------------------------------------
@@ -248,8 +248,8 @@ READ32_HANDLER( atarigen_eeprom_upper32_r );
void atarigen_slapstic_init(device_t *device, offs_t base, offs_t mirror, int chipnum);
void atarigen_slapstic_reset(atarigen_state *state);
-WRITE16_HANDLER( atarigen_slapstic_w );
-READ16_HANDLER( atarigen_slapstic_r );
+DECLARE_WRITE16_HANDLER( atarigen_slapstic_w );
+DECLARE_READ16_HANDLER( atarigen_slapstic_r );
/*---------------------------------------------------------------
@@ -259,23 +259,23 @@ READ16_HANDLER( atarigen_slapstic_r );
void atarigen_sound_io_reset(device_t *device);
INTERRUPT_GEN( atarigen_6502_irq_gen );
-READ8_HANDLER( atarigen_6502_irq_ack_r );
-WRITE8_HANDLER( atarigen_6502_irq_ack_w );
+DECLARE_READ8_HANDLER( atarigen_6502_irq_ack_r );
+DECLARE_WRITE8_HANDLER( atarigen_6502_irq_ack_w );
void atarigen_ym2151_irq_gen(device_t *device, int irq);
-WRITE16_HANDLER( atarigen_sound_w );
-READ16_HANDLER( atarigen_sound_r );
-WRITE16_HANDLER( atarigen_sound_upper_w );
-READ16_HANDLER( atarigen_sound_upper_r );
+DECLARE_WRITE16_HANDLER( atarigen_sound_w );
+DECLARE_READ16_HANDLER( atarigen_sound_r );
+DECLARE_WRITE16_HANDLER( atarigen_sound_upper_w );
+DECLARE_READ16_HANDLER( atarigen_sound_upper_r );
-WRITE32_HANDLER( atarigen_sound_upper32_w );
-READ32_HANDLER( atarigen_sound_upper32_r );
+DECLARE_WRITE32_HANDLER( atarigen_sound_upper32_w );
+DECLARE_READ32_HANDLER( atarigen_sound_upper32_r );
void atarigen_sound_reset(running_machine &machine);
-WRITE16_HANDLER( atarigen_sound_reset_w );
-WRITE8_HANDLER( atarigen_6502_sound_w );
-READ8_HANDLER( atarigen_6502_sound_r );
+DECLARE_WRITE16_HANDLER( atarigen_sound_reset_w );
+DECLARE_WRITE8_HANDLER( atarigen_6502_sound_w );
+DECLARE_READ8_HANDLER( atarigen_6502_sound_r );
/*---------------------------------------------------------------
@@ -309,20 +309,20 @@ INLINE void atarivc_update_pf_xscrolls(atarigen_state *state)
PLAYFIELD/ALPHA MAP HELPERS
---------------------------------------------------------------*/
-WRITE16_HANDLER( atarigen_alpha_w );
-WRITE32_HANDLER( atarigen_alpha32_w );
-WRITE16_HANDLER( atarigen_alpha2_w );
+DECLARE_WRITE16_HANDLER( atarigen_alpha_w );
+DECLARE_WRITE32_HANDLER( atarigen_alpha32_w );
+DECLARE_WRITE16_HANDLER( atarigen_alpha2_w );
void atarigen_set_playfield_latch(atarigen_state *state, int data);
void atarigen_set_playfield2_latch(atarigen_state *state, int data);
-WRITE16_HANDLER( atarigen_playfield_w );
-WRITE32_HANDLER( atarigen_playfield32_w );
-WRITE16_HANDLER( atarigen_playfield_large_w );
-WRITE16_HANDLER( atarigen_playfield_upper_w );
-WRITE16_HANDLER( atarigen_playfield_dual_upper_w );
-WRITE16_HANDLER( atarigen_playfield_latched_lsb_w );
-WRITE16_HANDLER( atarigen_playfield_latched_msb_w );
-WRITE16_HANDLER( atarigen_playfield2_w );
-WRITE16_HANDLER( atarigen_playfield2_latched_msb_w );
+DECLARE_WRITE16_HANDLER( atarigen_playfield_w );
+DECLARE_WRITE32_HANDLER( atarigen_playfield32_w );
+DECLARE_WRITE16_HANDLER( atarigen_playfield_large_w );
+DECLARE_WRITE16_HANDLER( atarigen_playfield_upper_w );
+DECLARE_WRITE16_HANDLER( atarigen_playfield_dual_upper_w );
+DECLARE_WRITE16_HANDLER( atarigen_playfield_latched_lsb_w );
+DECLARE_WRITE16_HANDLER( atarigen_playfield_latched_msb_w );
+DECLARE_WRITE16_HANDLER( atarigen_playfield2_w );
+DECLARE_WRITE16_HANDLER( atarigen_playfield2_latched_msb_w );
/*---------------------------------------------------------------
@@ -332,9 +332,9 @@ WRITE16_HANDLER( atarigen_playfield2_latched_msb_w );
void atarigen_scanline_timer_reset(screen_device &screen, atarigen_scanline_func update_graphics, int frequency);
int atarigen_get_hblank(screen_device &screen);
void atarigen_halt_until_hblank_0(screen_device &screen);
-WRITE16_HANDLER( atarigen_666_paletteram_w );
-WRITE16_HANDLER( atarigen_expanded_666_paletteram_w );
-WRITE32_HANDLER( atarigen_666_paletteram32_w );
+DECLARE_WRITE16_HANDLER( atarigen_666_paletteram_w );
+DECLARE_WRITE16_HANDLER( atarigen_expanded_666_paletteram_w );
+DECLARE_WRITE32_HANDLER( atarigen_666_paletteram32_w );
/*---------------------------------------------------------------
diff --git a/src/mame/machine/cdi070.h b/src/mame/machine/cdi070.h
index 53691e21f90..71c158205bd 100644
--- a/src/mame/machine/cdi070.h
+++ b/src/mame/machine/cdi070.h
@@ -234,9 +234,9 @@ struct scc68070_regs_t
TIMER_CALLBACK( scc68070_timer0_callback );
TIMER_CALLBACK( scc68070_rx_callback );
TIMER_CALLBACK( scc68070_tx_callback );
-READ16_HANDLER( scc68070_periphs_r );
-WRITE16_HANDLER( scc68070_periphs_w );
-//READ16_HANDLER( uart_loopback_enable );
+DECLARE_READ16_HANDLER( scc68070_periphs_r );
+DECLARE_WRITE16_HANDLER( scc68070_periphs_w );
+//DECLARE_READ16_HANDLER( uart_loopback_enable );
void scc68070_init(running_machine &machine, scc68070_regs_t *scc68070);
void scc68070_uart_rx(running_machine &machine, scc68070_regs_t *scc68070, UINT8 data);
diff --git a/src/mame/machine/decocass.c b/src/mame/machine/decocass.c
index 785c3b9c5f6..d6e08f74838 100644
--- a/src/mame/machine/decocass.c
+++ b/src/mame/machine/decocass.c
@@ -1242,7 +1242,7 @@ READ8_HANDLER( decocass_e5xx_r )
else
{
if (state->m_dongle_r)
- data = (*state->m_dongle_r)(space, offset);
+ data = (*state->m_dongle_r)(space, offset, mem_mask);
else
data = 0xff;
}
@@ -1254,7 +1254,7 @@ WRITE8_HANDLER( decocass_e5xx_w )
decocass_state *state = space.machine().driver_data<decocass_state>();
if (state->m_dongle_w)
{
- (*state->m_dongle_w)(space, offset, data);
+ (*state->m_dongle_w)(space, offset, data, mem_mask);
return;
}
diff --git a/src/mame/machine/decocass.h b/src/mame/machine/decocass.h
index 719d40f4b50..a75bc3ac8af 100644
--- a/src/mame/machine/decocass.h
+++ b/src/mame/machine/decocass.h
@@ -184,28 +184,28 @@ public:
-WRITE8_HANDLER( decocass_coin_counter_w );
-WRITE8_HANDLER( decocass_sound_command_w );
-READ8_HANDLER( decocass_sound_data_r );
-READ8_HANDLER( decocass_sound_ack_r );
-WRITE8_HANDLER( decocass_sound_data_w );
-READ8_HANDLER( decocass_sound_command_r );
+DECLARE_WRITE8_HANDLER( decocass_coin_counter_w );
+DECLARE_WRITE8_HANDLER( decocass_sound_command_w );
+DECLARE_READ8_HANDLER( decocass_sound_data_r );
+DECLARE_READ8_HANDLER( decocass_sound_ack_r );
+DECLARE_WRITE8_HANDLER( decocass_sound_data_w );
+DECLARE_READ8_HANDLER( decocass_sound_command_r );
TIMER_DEVICE_CALLBACK( decocass_audio_nmi_gen );
-WRITE8_HANDLER( decocass_sound_nmi_enable_w );
-READ8_HANDLER( decocass_sound_nmi_enable_r );
-READ8_HANDLER( decocass_sound_data_ack_reset_r );
-WRITE8_HANDLER( decocass_sound_data_ack_reset_w );
-WRITE8_HANDLER( decocass_nmi_reset_w );
-WRITE8_HANDLER( decocass_quadrature_decoder_reset_w );
-WRITE8_HANDLER( decocass_adc_w );
-READ8_HANDLER( decocass_input_r );
+DECLARE_WRITE8_HANDLER( decocass_sound_nmi_enable_w );
+DECLARE_READ8_HANDLER( decocass_sound_nmi_enable_r );
+DECLARE_READ8_HANDLER( decocass_sound_data_ack_reset_r );
+DECLARE_WRITE8_HANDLER( decocass_sound_data_ack_reset_w );
+DECLARE_WRITE8_HANDLER( decocass_nmi_reset_w );
+DECLARE_WRITE8_HANDLER( decocass_quadrature_decoder_reset_w );
+DECLARE_WRITE8_HANDLER( decocass_adc_w );
+DECLARE_READ8_HANDLER( decocass_input_r );
-WRITE8_HANDLER( decocass_reset_w );
+DECLARE_WRITE8_HANDLER( decocass_reset_w );
-READ8_HANDLER( decocass_e5xx_r );
-WRITE8_HANDLER( decocass_e5xx_w );
-WRITE8_HANDLER( decocass_de0091_w );
-WRITE8_HANDLER( decocass_e900_w );
+DECLARE_READ8_HANDLER( decocass_e5xx_r );
+DECLARE_WRITE8_HANDLER( decocass_e5xx_w );
+DECLARE_WRITE8_HANDLER( decocass_de0091_w );
+DECLARE_WRITE8_HANDLER( decocass_e900_w );
@@ -243,36 +243,36 @@ WRITE8_HANDLER( decocass_e900_w );
-WRITE8_HANDLER( i8041_p1_w );
-READ8_HANDLER( i8041_p1_r );
-WRITE8_HANDLER( i8041_p2_w );
-READ8_HANDLER( i8041_p2_r );
+DECLARE_WRITE8_HANDLER( i8041_p1_w );
+DECLARE_READ8_HANDLER( i8041_p1_r );
+DECLARE_WRITE8_HANDLER( i8041_p2_w );
+DECLARE_READ8_HANDLER( i8041_p2_r );
void decocass_machine_state_save_init(running_machine &machine);
/*----------- defined in video/decocass.c -----------*/
-WRITE8_HANDLER( decocass_paletteram_w );
-WRITE8_HANDLER( decocass_charram_w );
-WRITE8_HANDLER( decocass_fgvideoram_w );
-WRITE8_HANDLER( decocass_colorram_w );
-WRITE8_HANDLER( decocass_bgvideoram_w );
-WRITE8_HANDLER( decocass_tileram_w );
-WRITE8_HANDLER( decocass_objectram_w );
-
-WRITE8_HANDLER( decocass_watchdog_count_w );
-WRITE8_HANDLER( decocass_watchdog_flip_w );
-WRITE8_HANDLER( decocass_color_missiles_w );
-WRITE8_HANDLER( decocass_mode_set_w );
-WRITE8_HANDLER( decocass_color_center_bot_w );
-WRITE8_HANDLER( decocass_back_h_shift_w );
-WRITE8_HANDLER( decocass_back_vl_shift_w );
-WRITE8_HANDLER( decocass_back_vr_shift_w );
-WRITE8_HANDLER( decocass_part_h_shift_w );
-WRITE8_HANDLER( decocass_part_v_shift_w );
-WRITE8_HANDLER( decocass_center_h_shift_space_w );
-WRITE8_HANDLER( decocass_center_v_shift_w );
+DECLARE_WRITE8_HANDLER( decocass_paletteram_w );
+DECLARE_WRITE8_HANDLER( decocass_charram_w );
+DECLARE_WRITE8_HANDLER( decocass_fgvideoram_w );
+DECLARE_WRITE8_HANDLER( decocass_colorram_w );
+DECLARE_WRITE8_HANDLER( decocass_bgvideoram_w );
+DECLARE_WRITE8_HANDLER( decocass_tileram_w );
+DECLARE_WRITE8_HANDLER( decocass_objectram_w );
+
+DECLARE_WRITE8_HANDLER( decocass_watchdog_count_w );
+DECLARE_WRITE8_HANDLER( decocass_watchdog_flip_w );
+DECLARE_WRITE8_HANDLER( decocass_color_missiles_w );
+DECLARE_WRITE8_HANDLER( decocass_mode_set_w );
+DECLARE_WRITE8_HANDLER( decocass_color_center_bot_w );
+DECLARE_WRITE8_HANDLER( decocass_back_h_shift_w );
+DECLARE_WRITE8_HANDLER( decocass_back_vl_shift_w );
+DECLARE_WRITE8_HANDLER( decocass_back_vr_shift_w );
+DECLARE_WRITE8_HANDLER( decocass_part_h_shift_w );
+DECLARE_WRITE8_HANDLER( decocass_part_v_shift_w );
+DECLARE_WRITE8_HANDLER( decocass_center_h_shift_space_w );
+DECLARE_WRITE8_HANDLER( decocass_center_v_shift_w );
SCREEN_UPDATE_IND16( decocass );
diff --git a/src/mame/machine/konppc.h b/src/mame/machine/konppc.h
index 20972ffd08f..a53432c4b1f 100644
--- a/src/mame/machine/konppc.h
+++ b/src/mame/machine/konppc.h
@@ -12,24 +12,24 @@ void set_cgboard_id(int board_id);
int get_cgboard_id(void);
void set_cgboard_texture_bank(running_machine &machine, int board, const char *bank, UINT8 *rom);
-READ32_HANDLER( cgboard_dsp_comm_r_ppc );
-WRITE32_HANDLER( cgboard_dsp_comm_w_ppc );
-READ32_HANDLER( cgboard_dsp_shared_r_ppc );
-WRITE32_HANDLER( cgboard_dsp_shared_w_ppc );
-
-READ32_HANDLER( cgboard_0_comm_sharc_r );
-WRITE32_HANDLER( cgboard_0_comm_sharc_w );
-READ32_HANDLER( cgboard_0_shared_sharc_r );
-WRITE32_HANDLER( cgboard_0_shared_sharc_w );
-READ32_HANDLER( cgboard_1_comm_sharc_r );
-WRITE32_HANDLER( cgboard_1_comm_sharc_w );
-READ32_HANDLER( cgboard_1_shared_sharc_r );
-WRITE32_HANDLER( cgboard_1_shared_sharc_w );
-
-READ32_HANDLER(K033906_0_r);
-WRITE32_HANDLER(K033906_0_w);
-READ32_HANDLER(K033906_1_r);
-WRITE32_HANDLER(K033906_1_w);
+DECLARE_READ32_HANDLER( cgboard_dsp_comm_r_ppc );
+DECLARE_WRITE32_HANDLER( cgboard_dsp_comm_w_ppc );
+DECLARE_READ32_HANDLER( cgboard_dsp_shared_r_ppc );
+DECLARE_WRITE32_HANDLER( cgboard_dsp_shared_w_ppc );
+
+DECLARE_READ32_HANDLER( cgboard_0_comm_sharc_r );
+DECLARE_WRITE32_HANDLER( cgboard_0_comm_sharc_w );
+DECLARE_READ32_HANDLER( cgboard_0_shared_sharc_r );
+DECLARE_WRITE32_HANDLER( cgboard_0_shared_sharc_w );
+DECLARE_READ32_HANDLER( cgboard_1_comm_sharc_r );
+DECLARE_WRITE32_HANDLER( cgboard_1_comm_sharc_w );
+DECLARE_READ32_HANDLER( cgboard_1_shared_sharc_r );
+DECLARE_WRITE32_HANDLER( cgboard_1_shared_sharc_w );
+
+DECLARE_READ32_HANDLER(K033906_0_r);
+DECLARE_WRITE32_HANDLER(K033906_0_w);
+DECLARE_READ32_HANDLER(K033906_1_r);
+DECLARE_WRITE32_HANDLER(K033906_1_w);
DECLARE_WRITE32_DEVICE_HANDLER(nwk_fifo_0_w);
DECLARE_WRITE32_DEVICE_HANDLER(nwk_fifo_1_w);
diff --git a/src/mame/machine/m68kfmly.h b/src/mame/machine/m68kfmly.h
index 2326dcec37a..eb34a0007d7 100644
--- a/src/mame/machine/m68kfmly.h
+++ b/src/mame/machine/m68kfmly.h
@@ -6,13 +6,13 @@
******************************************************************************/
-READ16_HANDLER( tmp68301_address_decoder_r );
-WRITE16_HANDLER( tmp68301_address_decoder_w );
-READ16_HANDLER( tmp68301_interrupt_controller_r );
-WRITE16_HANDLER( tmp68301_interrupt_controller_w );
-READ16_HANDLER( tmp68301_parallel_interface_r );
-WRITE16_HANDLER( tmp68301_parallel_interface_w );
-READ16_HANDLER( tmp68301_serial_interface_r );
-WRITE16_HANDLER( tmp68301_serial_interface_w );
-READ16_HANDLER( tmp68301_timer_r );
-WRITE16_HANDLER( tmp68301_timer_w );
+DECLARE_READ16_HANDLER( tmp68301_address_decoder_r );
+DECLARE_WRITE16_HANDLER( tmp68301_address_decoder_w );
+DECLARE_READ16_HANDLER( tmp68301_interrupt_controller_r );
+DECLARE_WRITE16_HANDLER( tmp68301_interrupt_controller_w );
+DECLARE_READ16_HANDLER( tmp68301_parallel_interface_r );
+DECLARE_WRITE16_HANDLER( tmp68301_parallel_interface_w );
+DECLARE_READ16_HANDLER( tmp68301_serial_interface_r );
+DECLARE_WRITE16_HANDLER( tmp68301_serial_interface_w );
+DECLARE_READ16_HANDLER( tmp68301_timer_r );
+DECLARE_WRITE16_HANDLER( tmp68301_timer_w );
diff --git a/src/mame/machine/megacd.c b/src/mame/machine/megacd.c
index 4c99600e437..4a274fc140c 100644
--- a/src/mame/machine/megacd.c
+++ b/src/mame/machine/megacd.c
@@ -1372,10 +1372,10 @@ static WRITE16_HANDLER( scd_a12002_memory_mode_w )
if (SEGACD_FORCE_SYNCS) space.machine().scheduler().synchronize();
if (ACCESSING_BITS_8_15)
- scd_a12002_memory_mode_w_8_15(space, 0, data>>8);
+ scd_a12002_memory_mode_w_8_15(space, 0, data>>8, mem_mask>>8);
if (ACCESSING_BITS_0_7)
- scd_a12002_memory_mode_w_0_7(space, 0, data&0xff);
+ scd_a12002_memory_mode_w_0_7(space, 0, data&0xff, mem_mask&0xff);
}
@@ -1468,10 +1468,10 @@ static WRITE16_HANDLER( segacd_sub_memory_mode_w )
if (SEGACD_FORCE_SYNCS) space.machine().scheduler().synchronize();
if (ACCESSING_BITS_8_15)
- segacd_sub_memory_mode_w_8_15(space, 0, data>>8);
+ segacd_sub_memory_mode_w_8_15(space, 0, data>>8, mem_mask>>8);
if (ACCESSING_BITS_0_7)
- segacd_sub_memory_mode_w_0_7(space, 0, data&0xff);
+ segacd_sub_memory_mode_w_0_7(space, 0, data&0xff, mem_mask&0xff);
}
@@ -2305,13 +2305,13 @@ READ16_HANDLER( segacd_stopwatch_timer_r )
void segacd_init_main_cpu( running_machine& machine )
{
address_space& space = *machine.device("maincpu")->memory().space(AS_PROGRAM);
-
+
segacd_font_bits = reinterpret_cast<UINT16 *>(machine.root_device().memshare(":segacd:segacd_font")->ptr());
segacd_backupram = reinterpret_cast<UINT16 *>(machine.root_device().memshare(":segacd:backupram")->ptr());
segacd_dataram = reinterpret_cast<UINT16 *>(machine.root_device().memshare(":segacd:dataram")->ptr());
segacd_dataram2 = reinterpret_cast<UINT16 *>(machine.root_device().memshare(":segacd:dataram2")->ptr());
segacd_4meg_prgram = reinterpret_cast<UINT16 *>(machine.root_device().memshare(":segacd:segacd_program")->ptr());
-
+
segacd_4meg_prgbank = 0;
diff --git a/src/mame/machine/megadriv.c b/src/mame/machine/megadriv.c
index 473cc8c4e43..cde3f7ac814 100644
--- a/src/mame/machine/megadriv.c
+++ b/src/mame/machine/megadriv.c
@@ -95,13 +95,13 @@ static WRITE8_HANDLER(megadriv_z80_z80_bank_w)
}
-static READ16_HANDLER( megadriv_68k_check_z80_bus );
-static WRITE16_HANDLER(megadriv_68k_req_z80_bus);
+static DECLARE_READ16_HANDLER( megadriv_68k_check_z80_bus );
+static DECLARE_WRITE16_HANDLER(megadriv_68k_req_z80_bus);
-static READ16_HANDLER( megadriv_68k_read_z80_ram );
-static WRITE16_HANDLER( megadriv_68k_write_z80_ram );
+static DECLARE_READ16_HANDLER( megadriv_68k_read_z80_ram );
+static DECLARE_WRITE16_HANDLER( megadriv_68k_write_z80_ram );
-static WRITE16_HANDLER( megadriv_68k_req_z80_reset );
+static DECLARE_WRITE16_HANDLER( megadriv_68k_req_z80_reset );
diff --git a/src/mame/machine/midwayic.h b/src/mame/machine/midwayic.h
index 50571c71bd5..a004d21c639 100644
--- a/src/mame/machine/midwayic.h
+++ b/src/mame/machine/midwayic.h
@@ -30,10 +30,10 @@ void midway_ioasic_reset(running_machine &machine);
void midway_ioasic_fifo_w(running_machine &machine, UINT16 data);
void midway_ioasic_fifo_reset_w(running_machine &machine, int state);
void midway_ioasic_fifo_full_w(running_machine &machine, UINT16 data);
-READ32_HANDLER( midway_ioasic_r );
-WRITE32_HANDLER( midway_ioasic_w );
-READ32_HANDLER( midway_ioasic_packed_r );
-WRITE32_HANDLER( midway_ioasic_packed_w );
+DECLARE_READ32_HANDLER( midway_ioasic_r );
+DECLARE_WRITE32_HANDLER( midway_ioasic_w );
+DECLARE_READ32_HANDLER( midway_ioasic_packed_r );
+DECLARE_WRITE32_HANDLER( midway_ioasic_packed_w );
enum
{
diff --git a/src/mame/machine/namcos1.c b/src/mame/machine/namcos1.c
index 8c9defb86b9..8bb40bd7854 100644
--- a/src/mame/machine/namcos1.c
+++ b/src/mame/machine/namcos1.c
@@ -15,7 +15,7 @@
INLINE UINT8 bank_r(address_space &space, offs_t offset, int bank)
{
namcos1_state *state = space.machine().driver_data<namcos1_state>();
- return (*state->m_active_bank[bank].bank_handler_r )(space, offset + state->m_active_bank[bank].bank_offset);
+ return (*state->m_active_bank[bank].bank_handler_r )(space, offset + state->m_active_bank[bank].bank_offset, 0xff);
}
static READ8_HANDLER( bank1_r ) { return bank_r(space, offset, 0); }
@@ -38,7 +38,7 @@ static READ8_HANDLER( bank16_r ) { return bank_r(space, offset, 15); }
INLINE void bank_w(address_space &space, offs_t offset, UINT8 data, int bank)
{
namcos1_state *state = space.machine().driver_data<namcos1_state>();
- (*state->m_active_bank[bank].bank_handler_w )(space, offset + state->m_active_bank[bank].bank_offset, data);
+ (*state->m_active_bank[bank].bank_handler_w )(space, offset + state->m_active_bank[bank].bank_offset, data, 0xff);
}
static WRITE8_HANDLER( bank1_w ) { bank_w(space, offset, data, 0); }
@@ -84,7 +84,7 @@ static WRITE8_HANDLER( namcos1_3dcs_w )
// used by faceoff and tankforce 4 player (input multiplex)
-static READ8_HANDLER( faceoff_inputs_r );
+static DECLARE_READ8_HANDLER( faceoff_inputs_r );
static READ8_HANDLER( no_key_r )
{
diff --git a/src/mame/machine/nmk004.h b/src/mame/machine/nmk004.h
index 9f29f5df366..a55b6beef99 100644
--- a/src/mame/machine/nmk004.h
+++ b/src/mame/machine/nmk004.h
@@ -1,4 +1,4 @@
void NMK004_init(running_machine &machine);
void NMK004_irq(device_t *device, int irq);
-READ16_HANDLER( NMK004_r );
-WRITE16_HANDLER( NMK004_w );
+DECLARE_READ16_HANDLER( NMK004_r );
+DECLARE_WRITE16_HANDLER( NMK004_w );
diff --git a/src/mame/machine/pcecommn.h b/src/mame/machine/pcecommn.h
index bc874811a4c..bec9ca39e97 100644
--- a/src/mame/machine/pcecommn.h
+++ b/src/mame/machine/pcecommn.h
@@ -11,8 +11,8 @@
#define PCE_MAIN_CLOCK 21477270
-WRITE8_HANDLER ( pce_joystick_w );
- READ8_HANDLER ( pce_joystick_r );
+DECLARE_WRITE8_HANDLER ( pce_joystick_w );
+ DECLARE_READ8_HANDLER ( pce_joystick_r );
#define TG_16_JOY_SIG 0x00
#define PCE_JOY_SIG 0x40
diff --git a/src/mame/machine/seicop.h b/src/mame/machine/seicop.h
index 941eba9cb9b..7032c1c2c74 100644
--- a/src/mame/machine/seicop.h
+++ b/src/mame/machine/seicop.h
@@ -1,20 +1,20 @@
-READ16_HANDLER( copdxbl_0_r );
-WRITE16_HANDLER( copdxbl_0_w );
+DECLARE_READ16_HANDLER( copdxbl_0_r );
+DECLARE_WRITE16_HANDLER( copdxbl_0_w );
-READ16_HANDLER( heatbrl_mcu_r );
-WRITE16_HANDLER( heatbrl_mcu_w );
-READ16_HANDLER( cupsoc_mcu_r );
-WRITE16_HANDLER( cupsoc_mcu_w );
-READ16_HANDLER( cupsocs_mcu_r );
-WRITE16_HANDLER( cupsocs_mcu_w );
-READ16_HANDLER( godzilla_mcu_r );
-WRITE16_HANDLER( godzilla_mcu_w );
-READ16_HANDLER( denjinmk_mcu_r );
-WRITE16_HANDLER( denjinmk_mcu_w );
-READ16_HANDLER( grainbow_mcu_r );
-WRITE16_HANDLER( grainbow_mcu_w );
-READ16_HANDLER( legionna_mcu_r );
-WRITE16_HANDLER( legionna_mcu_w );
+DECLARE_READ16_HANDLER( heatbrl_mcu_r );
+DECLARE_WRITE16_HANDLER( heatbrl_mcu_w );
+DECLARE_READ16_HANDLER( cupsoc_mcu_r );
+DECLARE_WRITE16_HANDLER( cupsoc_mcu_w );
+DECLARE_READ16_HANDLER( cupsocs_mcu_r );
+DECLARE_WRITE16_HANDLER( cupsocs_mcu_w );
+DECLARE_READ16_HANDLER( godzilla_mcu_r );
+DECLARE_WRITE16_HANDLER( godzilla_mcu_w );
+DECLARE_READ16_HANDLER( denjinmk_mcu_r );
+DECLARE_WRITE16_HANDLER( denjinmk_mcu_w );
+DECLARE_READ16_HANDLER( grainbow_mcu_r );
+DECLARE_WRITE16_HANDLER( grainbow_mcu_w );
+DECLARE_READ16_HANDLER( legionna_mcu_r );
+DECLARE_WRITE16_HANDLER( legionna_mcu_w );
-READ16_HANDLER( raiden2_mcu_r );
-WRITE16_HANDLER( raiden2_mcu_w );
+DECLARE_READ16_HANDLER( raiden2_mcu_r );
+DECLARE_WRITE16_HANDLER( raiden2_mcu_w );
diff --git a/src/mame/machine/smpc.h b/src/mame/machine/smpc.h
index 2462f6a53c4..baa7108830f 100644
--- a/src/mame/machine/smpc.h
+++ b/src/mame/machine/smpc.h
@@ -1,4 +1,4 @@
-WRITE8_HANDLER( stv_SMPC_w );
-READ8_HANDLER( stv_SMPC_r );
-WRITE8_HANDLER( saturn_SMPC_w );
-READ8_HANDLER( saturn_SMPC_r );
+DECLARE_WRITE8_HANDLER( stv_SMPC_w );
+DECLARE_READ8_HANDLER( stv_SMPC_r );
+DECLARE_WRITE8_HANDLER( saturn_SMPC_w );
+DECLARE_READ8_HANDLER( saturn_SMPC_r );
diff --git a/src/mame/machine/snes.c b/src/mame/machine/snes.c
index 5b713845c0a..33ec4cbfdb3 100644
--- a/src/mame/machine/snes.c
+++ b/src/mame/machine/snes.c
@@ -35,8 +35,8 @@ static void snes_dma(address_space &space, UINT8 channels);
static void snes_hdma_init(address_space &space);
static void snes_hdma(address_space &space);
-static READ8_HANDLER(snes_io_dma_r);
-static WRITE8_HANDLER(snes_io_dma_w);
+static DECLARE_READ8_HANDLER(snes_io_dma_r);
+static DECLARE_WRITE8_HANDLER(snes_io_dma_w);
struct snes_cart_info snes_cart;
@@ -604,7 +604,7 @@ WRITE8_HANDLER( snes_w_io )
// APU is mirrored from 2140 to 217f
if (offset >= APU00 && offset < WMDATA)
{
-// printf("816: %02x to APU @ %d (PC=%06x)\n", data, offset & 3,space->device().safe_pc());
+// printf("816: %02x to APU @ %d (PC=%06x)\n", data, offset & 3,space.device().safe_pc());
spc_port_in(state->m_spc700, space, offset & 0x3, data);
space.machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(20));
return;
@@ -849,7 +849,7 @@ READ8_HANDLER( snes_r_bank1 )
else if (address < 0x6000) /* I/O */
{
if (state->m_cart[0].mode == SNES_MODE_BSX && address >= 0x5000)
- value = bsx_read(space, offset);
+ value = bsx_read(space, offset, mem_mask);
else
value = snes_r_io(space, address);
}
@@ -863,7 +863,7 @@ READ8_HANDLER( snes_r_bank1 )
value = snes_open_bus_r(space, 0);
}
else if (state->m_has_addon_chip == HAS_OBC1)
- value = obc1_read(space, offset);
+ value = obc1_read(space, offset, mem_mask);
else if ((state->m_cart[0].mode == SNES_MODE_21) && (state->m_has_addon_chip == HAS_DSP1) && (offset < 0x100000))
value = (address < 0x7000) ? dsp_get_dr() : dsp_get_sr();
else if (state->m_has_addon_chip == HAS_CX4)
@@ -903,7 +903,7 @@ READ8_HANDLER( snes_r_bank2 )
else if (address < 0x6000) /* I/O */
{
if (state->m_cart[0].mode == SNES_MODE_BSX && address >= 0x5000)
- value = bsx_read(space, 0x300000 + offset);
+ value = bsx_read(space, 0x300000 + offset, mem_mask);
else
value = snes_r_io(space, address);
}
@@ -917,7 +917,7 @@ READ8_HANDLER( snes_r_bank2 )
value = snes_open_bus_r(space, 0);
}
else if (state->m_has_addon_chip == HAS_OBC1)
- value = obc1_read (space, offset);
+ value = obc1_read (space, offset, mem_mask);
else if (state->m_has_addon_chip == HAS_CX4)
value = CX4_read(address - 0x6000);
else if (state->m_has_addon_chip == HAS_SPC7110 || state->m_has_addon_chip == HAS_SPC7110_RTC)
@@ -1184,7 +1184,7 @@ WRITE8_HANDLER( snes_w_bank1 )
else if (address < 0x6000) /* I/O */
{
if (state->m_cart[0].mode == SNES_MODE_BSX && address >= 0x5000)
- bsx_write(space, offset, data);
+ bsx_write(space, offset, data, mem_mask);
else
snes_w_io(space, address, data);
}
@@ -1193,7 +1193,7 @@ WRITE8_HANDLER( snes_w_bank1 )
if (state->m_has_addon_chip == HAS_SUPERFX)
snes_ram[0xf00000 + (offset & 0x1fff)] = data; // here it should be 0xe00000 but there are mirroring issues
else if (state->m_has_addon_chip == HAS_OBC1)
- obc1_write(space, offset, data);
+ obc1_write(space, offset, data, mem_mask);
else if ((state->m_cart[0].mode == SNES_MODE_21) && (state->m_has_addon_chip == HAS_DSP1) && (offset < 0x100000))
dsp_set_dr(data);
else if (state->m_has_addon_chip == HAS_CX4)
@@ -1235,7 +1235,7 @@ WRITE8_HANDLER( snes_w_bank2 )
else if (address < 0x6000) /* I/O */
{
if (state->m_cart[0].mode == SNES_MODE_BSX && address >= 0x5000)
- bsx_write(space, 0x300000 + offset, data);
+ bsx_write(space, 0x300000 + offset, data, mem_mask);
else
snes_w_io(space, address, data);
}
@@ -1244,7 +1244,7 @@ WRITE8_HANDLER( snes_w_bank2 )
if (state->m_has_addon_chip == HAS_SUPERFX)
snes_ram[0xf00000 + (offset & 0x1fff)] = data; // here it should be 0xe00000 but there are mirroring issues
else if (state->m_has_addon_chip == HAS_OBC1)
- obc1_write(space, offset, data);
+ obc1_write(space, offset, data, mem_mask);
else if (state->m_has_addon_chip == HAS_CX4)
CX4_write(space.machine(), address - 0x6000, data);
else if (state->m_has_addon_chip == HAS_SPC7110 || state->m_has_addon_chip == HAS_SPC7110_RTC)
diff --git a/src/mame/machine/stvcd.h b/src/mame/machine/stvcd.h
index 5a043f8dddb..34f9a7859c6 100644
--- a/src/mame/machine/stvcd.h
+++ b/src/mame/machine/stvcd.h
@@ -15,8 +15,8 @@ void stvcd_exit(running_machine& machine);
TIMER_DEVICE_CALLBACK( stv_sector_cb );
TIMER_DEVICE_CALLBACK( stv_sh1_sim );
-READ32_HANDLER( stvcd_r );
-WRITE32_HANDLER( stvcd_w );
+DECLARE_READ32_HANDLER( stvcd_r );
+DECLARE_WRITE32_HANDLER( stvcd_w );
void stvcd_set_tray_open(running_machine &machine);
void stvcd_set_tray_close(running_machine &machine);
diff --git a/src/mame/machine/tait8741.c b/src/mame/machine/tait8741.c
index e8527c4faee..746e24b9316 100644
--- a/src/mame/machine/tait8741.c
+++ b/src/mame/machine/tait8741.c
@@ -177,7 +177,7 @@ static void taito8741_update(address_space &space, int num)
else
{ /* port select */
st->parallelselect = data & 0x07;
- taito8741_hostdata_w(st,st->portHandler ? st->portHandler(space,st->parallelselect) : st->portName ? space.machine().root_device().ioport(st->portName)->read() : 0);
+ taito8741_hostdata_w(st,st->portHandler ? st->portHandler(space,st->parallelselect,0xff) : st->portName ? space.machine().root_device().ioport(st->portName)->read() : 0);
}
}
}
@@ -188,7 +188,7 @@ static void taito8741_update(address_space &space, int num)
case -1: /* no command data */
break;
case 0x00: /* read from parallel port */
- taito8741_hostdata_w(st,st->portHandler ? st->portHandler(space,0) : st->portName ? space.machine().root_device().ioport(st->portName)->read() : 0 );
+ taito8741_hostdata_w(st,st->portHandler ? st->portHandler(space,0,0xff) : st->portName ? space.machine().root_device().ioport(st->portName)->read() : 0 );
break;
case 0x01: /* read receive buffer 0 */
case 0x02: /* read receive buffer 1 */
@@ -201,7 +201,7 @@ static void taito8741_update(address_space &space, int num)
taito8741_hostdata_w(st,st->rxd[data-1]);
break;
case 0x08: /* latch received serial data */
- st->txd[0] = st->portHandler ? st->portHandler(space,0) : st->portName ? space.machine().root_device().ioport(st->portName)->read() : 0;
+ st->txd[0] = st->portHandler ? st->portHandler(space,0,0xff) : st->portName ? space.machine().root_device().ioport(st->portName)->read() : 0;
if( sst )
{
space.machine().scheduler().synchronize(FUNC(taito8741_serial_tx), num);
@@ -295,7 +295,7 @@ static int I8741_data_r(address_space &space, int num)
switch( st->mode )
{
case TAITO8741_PORT: /* parallel data */
- taito8741_hostdata_w(st,st->portHandler ? st->portHandler(space, st->parallelselect) : st->portName ? space.machine().root_device().ioport(st->portName)->read() : 0);
+ taito8741_hostdata_w(st,st->portHandler ? st->portHandler(space, st->parallelselect, 0xff) : st->portName ? space.machine().root_device().ioport(st->portName)->read() : 0);
break;
}
return ret;
diff --git a/src/mame/machine/tait8741.h b/src/mame/machine/tait8741.h
index ee730dfdd7f..1ed0ce2d0eb 100644
--- a/src/mame/machine/tait8741.h
+++ b/src/mame/machine/tait8741.h
@@ -28,26 +28,26 @@ int TAITO8741_start(const struct TAITO8741interface *taito8741intf);
void TAITO8741_reset(int num);
/* write handler */
-WRITE8_HANDLER( TAITO8741_0_w );
-WRITE8_HANDLER( TAITO8741_1_w );
-WRITE8_HANDLER( TAITO8741_2_w );
-WRITE8_HANDLER( TAITO8741_3_w );
+DECLARE_WRITE8_HANDLER( TAITO8741_0_w );
+DECLARE_WRITE8_HANDLER( TAITO8741_1_w );
+DECLARE_WRITE8_HANDLER( TAITO8741_2_w );
+DECLARE_WRITE8_HANDLER( TAITO8741_3_w );
/* read handler */
-READ8_HANDLER( TAITO8741_0_r );
-READ8_HANDLER( TAITO8741_1_r );
-READ8_HANDLER( TAITO8741_2_r );
-READ8_HANDLER( TAITO8741_3_r );
+DECLARE_READ8_HANDLER( TAITO8741_0_r );
+DECLARE_READ8_HANDLER( TAITO8741_1_r );
+DECLARE_READ8_HANDLER( TAITO8741_2_r );
+DECLARE_READ8_HANDLER( TAITO8741_3_r );
/****************************************************************************
joshi Volleyball set.
****************************************************************************/
void josvolly_8741_reset(void);
-WRITE8_HANDLER( josvolly_8741_0_w );
-WRITE8_HANDLER( josvolly_8741_1_w );
-READ8_HANDLER( josvolly_8741_0_r );
-READ8_HANDLER( josvolly_8741_1_r );
-WRITE8_HANDLER( josvolly_nmi_enable_w );
+DECLARE_WRITE8_HANDLER( josvolly_8741_0_w );
+DECLARE_WRITE8_HANDLER( josvolly_8741_1_w );
+DECLARE_READ8_HANDLER( josvolly_8741_0_r );
+DECLARE_READ8_HANDLER( josvolly_8741_1_r );
+DECLARE_WRITE8_HANDLER( josvolly_nmi_enable_w );
#endif
diff --git a/src/mame/video/atarimo.h b/src/mame/video/atarimo.h
index c3b1cb4ff51..216e128336c 100644
--- a/src/mame/video/atarimo.h
+++ b/src/mame/video/atarimo.h
@@ -111,18 +111,18 @@ int atarimo_get_xscroll(int map);
int atarimo_get_yscroll(int map);
/* read/write handlers */
-READ16_HANDLER( atarimo_0_spriteram_r );
-READ16_HANDLER( atarimo_0_slipram_r );
+DECLARE_READ16_HANDLER( atarimo_0_spriteram_r );
+DECLARE_READ16_HANDLER( atarimo_0_slipram_r );
-READ16_HANDLER( atarimo_1_spriteram_r );
-READ16_HANDLER( atarimo_1_slipram_r );
+DECLARE_READ16_HANDLER( atarimo_1_spriteram_r );
+DECLARE_READ16_HANDLER( atarimo_1_slipram_r );
-WRITE16_HANDLER( atarimo_0_spriteram_w );
-WRITE16_HANDLER( atarimo_0_spriteram_expanded_w );
-WRITE16_HANDLER( atarimo_0_slipram_w );
+DECLARE_WRITE16_HANDLER( atarimo_0_spriteram_w );
+DECLARE_WRITE16_HANDLER( atarimo_0_spriteram_expanded_w );
+DECLARE_WRITE16_HANDLER( atarimo_0_slipram_w );
-WRITE16_HANDLER( atarimo_1_spriteram_w );
-WRITE16_HANDLER( atarimo_1_slipram_w );
+DECLARE_WRITE16_HANDLER( atarimo_1_spriteram_w );
+DECLARE_WRITE16_HANDLER( atarimo_1_slipram_w );
void atarimo_mark_high_palette(bitmap_ind16 &bitmap, UINT16 *pf, UINT16 *mo, int x, int y);
diff --git a/src/mame/video/avgdvg.h b/src/mame/video/avgdvg.h
index 93bd786cbe0..be5c80d303e 100644
--- a/src/mame/video/avgdvg.h
+++ b/src/mame/video/avgdvg.h
@@ -2,10 +2,10 @@
#define __AVGDVG__
CUSTOM_INPUT( avgdvg_done_r );
-WRITE8_HANDLER( avgdvg_go_w );
-WRITE8_HANDLER( avgdvg_reset_w );
-WRITE16_HANDLER( avgdvg_go_word_w );
-WRITE16_HANDLER( avgdvg_reset_word_w );
+DECLARE_WRITE8_HANDLER( avgdvg_go_w );
+DECLARE_WRITE8_HANDLER( avgdvg_reset_w );
+DECLARE_WRITE16_HANDLER( avgdvg_go_word_w );
+DECLARE_WRITE16_HANDLER( avgdvg_reset_word_w );
/* Tempest and Quantum use this capability */
void avg_set_flip_x(int flip);
diff --git a/src/mame/video/gtia.h b/src/mame/video/gtia.h
index 6e3a879df61..eaf71b35a34 100644
--- a/src/mame/video/gtia.h
+++ b/src/mame/video/gtia.h
@@ -134,8 +134,8 @@ struct gtia_struct
extern gtia_struct gtia;
void gtia_init(running_machine &machine, const gtia_interface *intf);
-READ8_HANDLER( atari_gtia_r );
-WRITE8_HANDLER( atari_gtia_w );
+DECLARE_READ8_HANDLER( atari_gtia_r );
+DECLARE_WRITE8_HANDLER( atari_gtia_w );
ANTIC_RENDERER( gtia_mode_1_32 );
ANTIC_RENDERER( gtia_mode_1_40 );
diff --git a/src/mame/video/gticlub.h b/src/mame/video/gticlub.h
index 37707d8c206..0bfeca61adc 100644
--- a/src/mame/video/gticlub.h
+++ b/src/mame/video/gticlub.h
@@ -5,14 +5,14 @@ void K001005_swap_buffers(running_machine &machine);
void K001005_init(running_machine &machine);
void K001005_preprocess_texture_data(UINT8 *rom, int length, int gticlub);
-READ32_HANDLER(K001005_r);
-WRITE32_HANDLER(K001005_w);
+DECLARE_READ32_HANDLER(K001005_r);
+DECLARE_WRITE32_HANDLER(K001005_w);
void K001006_init(running_machine &machine);
-READ32_HANDLER(K001006_0_r);
-WRITE32_HANDLER(K001006_0_w);
-READ32_HANDLER(K001006_1_r);
-WRITE32_HANDLER(K001006_1_w);
+DECLARE_READ32_HANDLER(K001006_0_r);
+DECLARE_WRITE32_HANDLER(K001006_0_w);
+DECLARE_READ32_HANDLER(K001006_1_r);
+DECLARE_WRITE32_HANDLER(K001006_1_w);
VIDEO_START( gticlub );
SCREEN_UPDATE_RGB32( gticlub );
diff --git a/src/mame/video/konamiic.c b/src/mame/video/konamiic.c
index 4e6e27628f0..708fe8f336a 100644
--- a/src/mame/video/konamiic.c
+++ b/src/mame/video/konamiic.c
@@ -1479,9 +1479,9 @@ static WRITE8_HANDLER( K053246_w )
WRITE16_HANDLER( K053246_word_w )
{
if (ACCESSING_BITS_8_15)
- K053246_w(space, offset<<1,(data >> 8) & 0xff);
+ K053246_w(space, offset<<1,(data >> 8) & 0xff, (mem_mask >> 8) & 0xff);
if (ACCESSING_BITS_0_7)
- K053246_w(space, (offset<<1) + 1,data & 0xff);
+ K053246_w(space, (offset<<1) + 1,data & 0xff, mem_mask & 0xff);
}
WRITE32_HANDLER( K053246_long_w )
@@ -1710,13 +1710,13 @@ if (K054000_ram[0x0c] == 0xff) Acy+=3;
READ16_HANDLER( K054000_lsb_r )
{
- return K054000_r(space, offset);
+ return K054000_r(space, offset, mem_mask & 0xff);
}
WRITE16_HANDLER( K054000_lsb_w )
{
if (ACCESSING_BITS_0_7)
- K054000_w(space, offset, data & 0xff);
+ K054000_w(space, offset, data & 0xff, mem_mask & 0xff);
}
diff --git a/src/mame/video/konamiic.h b/src/mame/video/konamiic.h
index 2566cc6dd31..cdd5b15b1d3 100644
--- a/src/mame/video/konamiic.h
+++ b/src/mame/video/konamiic.h
@@ -5,8 +5,8 @@
void K055673_vh_start(running_machine &machine, const char *gfx_memory_region, int alt_layout, int dx, int dy,
void (*callback)(running_machine &machine, int *code,int *color,int *priority));
-READ16_HANDLER( K055673_rom_word_r );
-READ16_HANDLER( K055673_GX6bpp_rom_word_r );
+DECLARE_READ16_HANDLER( K055673_rom_word_r );
+DECLARE_READ16_HANDLER( K055673_GX6bpp_rom_word_r );
/*
Callback procedures for non-standard shadows:
@@ -18,19 +18,19 @@ Callback procedures for non-standard shadows:
#define K053247_CUSTOMSHADOW 0x20000000
#define K053247_SHDSHIFT 20
-READ16_HANDLER( K053247_word_r );
-WRITE16_HANDLER( K053247_word_w );
-READ32_HANDLER( K053247_long_r );
-WRITE32_HANDLER( K053247_long_w );
-WRITE16_HANDLER( K053247_reg_word_w ); // "OBJSET2" registers
-WRITE32_HANDLER( K053247_reg_long_w );
+DECLARE_READ16_HANDLER( K053247_word_r );
+DECLARE_WRITE16_HANDLER( K053247_word_w );
+DECLARE_READ32_HANDLER( K053247_long_r );
+DECLARE_WRITE32_HANDLER( K053247_long_w );
+DECLARE_WRITE16_HANDLER( K053247_reg_word_w ); // "OBJSET2" registers
+DECLARE_WRITE32_HANDLER( K053247_reg_long_w );
int K053247_read_register(int regnum);
void K053247_set_SpriteOffset(int offsx, int offsy);
void K053247_export_config(UINT16 **ram, gfx_element **gfx, void (**callback)(running_machine &, int *, int *, int *), int *dx, int *dy);
-WRITE16_HANDLER( K053246_word_w );
-WRITE32_HANDLER( K053246_long_w );
+DECLARE_WRITE16_HANDLER( K053246_word_w );
+DECLARE_WRITE32_HANDLER( K053246_long_w );
void K053246_set_OBJCHA_line(int state);
int K053246_is_IRQ_enabled(void);
int K053246_read_register(int regnum);
@@ -47,9 +47,9 @@ void K053936_set_offset(int chip, int xoffs, int yoffs);
when some palette index changes. If ALL_TILEMAPS is too expensive, use
K053251_set_tilemaps() to indicate which tilemap is associated with each index.
*/
-WRITE8_HANDLER( K053251_w );
-WRITE16_HANDLER( K053251_lsb_w );
-WRITE16_HANDLER( K053251_msb_w );
+DECLARE_WRITE8_HANDLER( K053251_w );
+DECLARE_WRITE16_HANDLER( K053251_lsb_w );
+DECLARE_WRITE16_HANDLER( K053251_msb_w );
enum { K053251_CI0=0,K053251_CI1,K053251_CI2,K053251_CI3,K053251_CI4 };
int K053251_get_priority(int ci);
int K053251_get_palette_index(int ci);
@@ -57,8 +57,8 @@ void K053251_set_tilemaps(tilemap_t *ci0,tilemap_t *ci1,tilemap_t *ci2,tilemap_t
void K053251_vh_start(running_machine &machine);
-WRITE16_HANDLER( K054000_lsb_w );
-READ16_HANDLER( K054000_lsb_r );
+DECLARE_WRITE16_HANDLER( K054000_lsb_w );
+DECLARE_READ16_HANDLER( K054000_lsb_r );
#define K056382_DRAW_FLAG_FORCE_XYSCROLL 0x00800000
@@ -67,13 +67,13 @@ void K056832_vh_start(running_machine &machine, const char *gfx_memory_region, i
int (*scrolld)[4][2],
void (*callback)(running_machine &machine, int layer, int *code, int *color, int *flags),
int djmain_hack);
-READ16_HANDLER( K056832_ram_word_r );
-WRITE16_HANDLER( K056832_ram_word_w );
-READ32_HANDLER( K056832_5bpp_rom_long_r );
-READ32_HANDLER( K056832_6bpp_rom_long_r );
-READ16_HANDLER( K056832_mw_rom_word_r );
-WRITE16_HANDLER( K056832_word_w ); // "VRAM" registers
-WRITE16_HANDLER( K056832_b_word_w );
+DECLARE_READ16_HANDLER( K056832_ram_word_r );
+DECLARE_WRITE16_HANDLER( K056832_ram_word_w );
+DECLARE_READ32_HANDLER( K056832_5bpp_rom_long_r );
+DECLARE_READ32_HANDLER( K056832_6bpp_rom_long_r );
+DECLARE_READ16_HANDLER( K056832_mw_rom_word_r );
+DECLARE_WRITE16_HANDLER( K056832_word_w ); // "VRAM" registers
+DECLARE_WRITE16_HANDLER( K056832_b_word_w );
void K056832_mark_plane_dirty(int num);
void K056832_MarkAllTilemapsDirty(void);
void K056832_tilemap_draw(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, int num, UINT32 flags, UINT32 priority);
@@ -81,10 +81,10 @@ int K056832_get_LayerAssociation(void);
void K056832_set_LayerOffset(int layer, int offsx, int offsy);
void K056832_set_UpdateMode(int mode);
-READ32_HANDLER( K056832_ram_long_r );
-WRITE32_HANDLER( K056832_ram_long_w );
-WRITE32_HANDLER( K056832_long_w );
-WRITE32_HANDLER( K056832_b_long_w );
+DECLARE_READ32_HANDLER( K056832_ram_long_r );
+DECLARE_WRITE32_HANDLER( K056832_ram_long_w );
+DECLARE_WRITE32_HANDLER( K056832_long_w );
+DECLARE_WRITE32_HANDLER( K056832_b_long_w );
/* bit depths for the 56832 */
#define K056832_BPP_4 0
@@ -97,8 +97,8 @@ WRITE32_HANDLER( K056832_b_long_w );
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 );
+DECLARE_WRITE16_HANDLER( K055555_word_w );
+DECLARE_WRITE32_HANDLER( K055555_long_w );
int K055555_read_register(int regnum);
int K055555_get_palette_index(int idx);
@@ -169,8 +169,8 @@ int K055555_get_palette_index(int idx);
/* K054338 mixer/alpha blender */
void K054338_vh_start(running_machine &machine);
-WRITE16_HANDLER( K054338_word_w ); // "CLCT" registers
-WRITE32_HANDLER( K054338_long_w );
+DECLARE_WRITE16_HANDLER( K054338_word_w ); // "CLCT" registers
+DECLARE_WRITE32_HANDLER( K054338_long_w );
int K054338_read_register(int reg);
void K054338_update_all_shadows(running_machine &machine, int rushingheroes_hack); // called at the beginning of SCREEN_UPDATE()
void K054338_fill_solid_bg(bitmap_ind16 &bitmap); // solid backcolor fill
@@ -194,5 +194,5 @@ void K054338_export_config(int **shdRGB);
#define K338_CTL_CLIPSL 0x20
// K053252 CRT and interrupt control unit
-WRITE16_HANDLER( K053252_word_w );
+DECLARE_WRITE16_HANDLER( K053252_word_w );
diff --git a/src/mame/video/konicdev.h b/src/mame/video/konicdev.h
index c7a11f6bdd2..1cc33ae59e7 100644
--- a/src/mame/video/konicdev.h
+++ b/src/mame/video/konicdev.h
@@ -820,8 +820,8 @@ void k051960_set_sprite_offsets(device_t *device, int dx, int dy);
#if 0 // to be moved in the specific drivers!
/* special handling for the chips sharing address space */
-READ8_HANDLER( k052109_051960_r );
-WRITE8_HANDLER( k052109_051960_w );
+DECLARE_READ8_HANDLER( k052109_051960_r );
+DECLARE_WRITE8_HANDLER( k052109_051960_w );
#endif
diff --git a/src/mame/video/mcd212.h b/src/mame/video/mcd212.h
index 55b0303138b..00deb5a64fd 100644
--- a/src/mame/video/mcd212.h
+++ b/src/mame/video/mcd212.h
@@ -185,8 +185,8 @@ struct mcd212_ab_t
};
// Member functions
-READ16_HANDLER( mcd212_r );
-WRITE16_HANDLER( mcd212_w );
+DECLARE_READ16_HANDLER( mcd212_r );
+DECLARE_WRITE16_HANDLER( mcd212_w );
TIMER_CALLBACK( mcd212_perform_scan );
VIDEO_START( cdimono1 );
SCREEN_UPDATE_RGB32( cdimono1 );
diff --git a/src/mame/video/segaic16.h b/src/mame/video/segaic16.h
index dd3afbe3312..8ca1655f15a 100644
--- a/src/mame/video/segaic16.h
+++ b/src/mame/video/segaic16.h
@@ -36,8 +36,8 @@ void segaic16_tilemap_set_flip(running_machine &machine, int which, int flip);
void segaic16_tilemap_set_rowscroll(running_machine &machine, int which, int enable);
void segaic16_tilemap_set_colscroll(running_machine &machine, int which, int enable);
-WRITE16_HANDLER( segaic16_tileram_0_w );
-WRITE16_HANDLER( segaic16_textram_0_w );
+DECLARE_WRITE16_HANDLER( segaic16_tileram_0_w );
+DECLARE_WRITE16_HANDLER( segaic16_textram_0_w );
/* road systems */
#define SEGAIC16_MAX_ROADS 1
@@ -52,8 +52,8 @@ WRITE16_HANDLER( segaic16_textram_0_w );
void segaic16_road_init(running_machine &machine, int which, int type, int colorbase1, int colorbase2, int colorbase3, int xoffs);
void segaic16_road_draw(int which, bitmap_ind16 &bitmap, const rectangle &cliprect, int priority);
-READ16_HANDLER( segaic16_road_control_0_r );
-WRITE16_HANDLER( segaic16_road_control_0_w );
+DECLARE_READ16_HANDLER( segaic16_road_control_0_r );
+DECLARE_WRITE16_HANDLER( segaic16_road_control_0_w );
/* rotation systems */
#define SEGAIC16_MAX_ROTATE 1
@@ -62,7 +62,7 @@ WRITE16_HANDLER( segaic16_road_control_0_w );
void segaic16_rotate_init(running_machine &machine, int which, int type, int colorbase);
void segaic16_rotate_draw(running_machine &machine, int which, bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind16 &srcbitmap);
-READ16_HANDLER( segaic16_rotate_control_0_r );
+DECLARE_READ16_HANDLER( segaic16_rotate_control_0_r );
/*************************************
*
diff --git a/src/mame/video/vdc.h b/src/mame/video/vdc.h
index 635bf49fe0a..034a34244b3 100644
--- a/src/mame/video/vdc.h
+++ b/src/mame/video/vdc.h
@@ -3,17 +3,17 @@
VIDEO_START( pce );
SCREEN_UPDATE_IND16( pce );
-WRITE8_HANDLER ( vdc_0_w );
-WRITE8_HANDLER ( vdc_1_w );
- READ8_HANDLER ( vdc_0_r );
- READ8_HANDLER ( vdc_1_r );
+DECLARE_WRITE8_HANDLER ( vdc_0_w );
+DECLARE_WRITE8_HANDLER ( vdc_1_w );
+ DECLARE_READ8_HANDLER ( vdc_0_r );
+ DECLARE_READ8_HANDLER ( vdc_1_r );
PALETTE_INIT( vce );
- READ8_HANDLER ( vce_r );
-WRITE8_HANDLER ( vce_w );
-WRITE8_HANDLER( vpc_w );
- READ8_HANDLER( vpc_r );
-WRITE8_HANDLER( sgx_vdc_w );
- READ8_HANDLER( sgx_vdc_r );
+ DECLARE_READ8_HANDLER ( vce_r );
+DECLARE_WRITE8_HANDLER ( vce_w );
+DECLARE_WRITE8_HANDLER( vpc_w );
+ DECLARE_READ8_HANDLER( vpc_r );
+DECLARE_WRITE8_HANDLER( sgx_vdc_w );
+ DECLARE_READ8_HANDLER( sgx_vdc_r );
TIMER_DEVICE_CALLBACK( pce_interrupt );
TIMER_DEVICE_CALLBACK( sgx_interrupt );
diff --git a/src/mame/video/ygv608.h b/src/mame/video/ygv608.h
index 476c377a354..4b282ed15de 100644
--- a/src/mame/video/ygv608.h
+++ b/src/mame/video/ygv608.h
@@ -335,10 +335,10 @@ INTERRUPT_GEN( ygv608_timed_interrupt );
VIDEO_START( ygv608 );
SCREEN_UPDATE_IND16( ygv608 );
-READ16_HANDLER( ygv608_r );
-WRITE16_HANDLER( ygv608_w );
+DECLARE_READ16_HANDLER( ygv608_r );
+DECLARE_WRITE16_HANDLER( ygv608_w );
// to be removed
-READ16_HANDLER( ygv608_debug_trigger );
+DECLARE_READ16_HANDLER( ygv608_debug_trigger );
#endif
diff --git a/src/mess/drivers/b16.c b/src/mess/drivers/b16.c
index 057d2e0b50e..ee8ffa6c0e9 100644
--- a/src/mess/drivers/b16.c
+++ b/src/mess/drivers/b16.c
@@ -262,8 +262,8 @@ static const mc6845_interface mc6845_intf =
NULL /* update address callback */
};
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static I8237_INTERFACE( b16_dma8237_interface )
{
diff --git a/src/mess/drivers/bigbord2.c b/src/mess/drivers/bigbord2.c
index 378d1c0f55b..2869bbc34ca 100644
--- a/src/mess/drivers/bigbord2.c
+++ b/src/mess/drivers/bigbord2.c
@@ -207,8 +207,8 @@ static ASCII_KEYBOARD_INTERFACE( keyboard_intf )
/* Z80 DMA */
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static Z80DMA_INTERFACE( dma_intf )
{
diff --git a/src/mess/drivers/bullet.c b/src/mess/drivers/bullet.c
index 951ab4ce1d2..5cc349cfc7c 100644
--- a/src/mess/drivers/bullet.c
+++ b/src/mess/drivers/bullet.c
@@ -798,8 +798,8 @@ WRITE8_MEMBER( bullet_state::dma_mreq_w )
}
}
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static Z80DMA_INTERFACE( dma_intf )
{
diff --git a/src/mess/drivers/dc.c b/src/mess/drivers/dc.c
index f8e4b6a34ad..3211402a94c 100644
--- a/src/mess/drivers/dc.c
+++ b/src/mess/drivers/dc.c
@@ -35,10 +35,10 @@
// things from mess/machine/dc.c
void dreamcast_atapi_init(running_machine &machine);
void dreamcast_atapi_reset(running_machine &machine);
-extern READ64_HANDLER( dc_mess_gdrom_r );
-extern WRITE64_HANDLER( dc_mess_gdrom_w );
-extern READ64_HANDLER( dc_mess_g1_ctrl_r );
-extern WRITE64_HANDLER( dc_mess_g1_ctrl_w );
+extern DECLARE_READ64_HANDLER( dc_mess_gdrom_r );
+extern DECLARE_WRITE64_HANDLER( dc_mess_gdrom_w );
+extern DECLARE_READ64_HANDLER( dc_mess_g1_ctrl_r );
+extern DECLARE_WRITE64_HANDLER( dc_mess_g1_ctrl_w );
static READ64_HANDLER( dcus_idle_skip_r )
{
diff --git a/src/mess/drivers/dmv.c b/src/mess/drivers/dmv.c
index 8909acec968..330cb2a722c 100644
--- a/src/mess/drivers/dmv.c
+++ b/src/mess/drivers/dmv.c
@@ -277,8 +277,8 @@ WRITE_LINE_MEMBER( dmv_state::dma_hrq_changed )
i8237_hlda_w(m_dmac, state);
}
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static I8237_INTERFACE( dmv_dma8237_config )
{
diff --git a/src/mess/drivers/mikromik.c b/src/mess/drivers/mikromik.c
index bd2b548530b..1dbe3280ee9 100644
--- a/src/mess/drivers/mikromik.c
+++ b/src/mess/drivers/mikromik.c
@@ -537,8 +537,8 @@ WRITE_LINE_MEMBER( mm1_state::dack3_w )
}
}
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static I8237_INTERFACE( dmac_intf )
{
diff --git a/src/mess/drivers/p8k.c b/src/mess/drivers/p8k.c
index 334979209d5..b4b7a728277 100644
--- a/src/mess/drivers/p8k.c
+++ b/src/mess/drivers/p8k.c
@@ -219,8 +219,8 @@ static WRITE_LINE_DEVICE_HANDLER( p8k_dma_irq_w )
p8k_daisy_interrupt(device, state);
}
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static Z80DMA_INTERFACE( p8k_dma_intf )
{
diff --git a/src/mess/drivers/qx10.c b/src/mess/drivers/qx10.c
index 388cd8e819a..aae5ad2bd65 100644
--- a/src/mess/drivers/qx10.c
+++ b/src/mess/drivers/qx10.c
@@ -377,8 +377,8 @@ WRITE_LINE_MEMBER( qx10_state::tc_w )
Channel 2: GDC
Channel 3: Option slots
*/
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static I8237_INTERFACE( qx10_dma8237_1_interface )
{
diff --git a/src/mess/drivers/super6.c b/src/mess/drivers/super6.c
index d9758ba0eb4..e6b131ff7fb 100644
--- a/src/mess/drivers/super6.c
+++ b/src/mess/drivers/super6.c
@@ -396,8 +396,8 @@ static Z80DART_INTERFACE( dart_intf )
// Z80DMA_INTERFACE( dma_intf )
//-------------------------------------------------
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static Z80DMA_INTERFACE( dma_intf )
{
diff --git a/src/mess/drivers/trs80m2.c b/src/mess/drivers/trs80m2.c
index 8906665c52c..390d1470554 100644
--- a/src/mess/drivers/trs80m2.c
+++ b/src/mess/drivers/trs80m2.c
@@ -694,8 +694,8 @@ static TRS80M2_KEYBOARD_INTERFACE( kb_intf )
// Z80DMA_INTERFACE( dma_intf )
//-------------------------------------------------
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static Z80DMA_INTERFACE( dma_intf )
{
diff --git a/src/mess/drivers/vidbrain.c b/src/mess/drivers/vidbrain.c
index 7f9d4a7c5c3..ab1ab4955fc 100644
--- a/src/mess/drivers/vidbrain.c
+++ b/src/mess/drivers/vidbrain.c
@@ -449,7 +449,7 @@ WRITE_LINE_MEMBER( vidbrain_state::hblank_w )
}
}
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
static UV201_INTERFACE( uv_intf )
{
diff --git a/src/mess/drivers/x1.c b/src/mess/drivers/x1.c
index 29f2adc8340..504d8eb8d69 100644
--- a/src/mess/drivers/x1.c
+++ b/src/mess/drivers/x1.c
@@ -1916,8 +1916,8 @@ static const mc6845_interface mc6845_intf =
NULL /* update address callback */
};
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static Z80DMA_INTERFACE( x1_dma )
{
diff --git a/src/mess/includes/amstr_pc.h b/src/mess/includes/amstr_pc.h
index 8a14769596b..8db27e53aca 100644
--- a/src/mess/includes/amstr_pc.h
+++ b/src/mess/includes/amstr_pc.h
@@ -14,20 +14,20 @@
/*----------- defined in machine/amstr_pc.c -----------*/
-READ8_HANDLER( pc1640_port60_r );
-WRITE8_HANDLER( pc1640_port60_w );
-
-READ8_HANDLER( pc1640_mouse_x_r );
-READ8_HANDLER( pc1640_mouse_y_r );
-WRITE8_HANDLER( pc1640_mouse_x_w );
-WRITE8_HANDLER( pc1640_mouse_y_w );
-
-READ8_HANDLER( pc200_port378_r );
-READ8_HANDLER( pc200_port278_r );
-READ8_HANDLER( pc1640_port378_r );
-READ8_HANDLER( pc1640_port3d0_r );
-READ8_HANDLER( pc1640_port4278_r );
-READ8_HANDLER( pc1640_port278_r );
+DECLARE_READ8_HANDLER( pc1640_port60_r );
+DECLARE_WRITE8_HANDLER( pc1640_port60_w );
+
+DECLARE_READ8_HANDLER( pc1640_mouse_x_r );
+DECLARE_READ8_HANDLER( pc1640_mouse_y_r );
+DECLARE_WRITE8_HANDLER( pc1640_mouse_x_w );
+DECLARE_WRITE8_HANDLER( pc1640_mouse_y_w );
+
+DECLARE_READ8_HANDLER( pc200_port378_r );
+DECLARE_READ8_HANDLER( pc200_port278_r );
+DECLARE_READ8_HANDLER( pc1640_port378_r );
+DECLARE_READ8_HANDLER( pc1640_port3d0_r );
+DECLARE_READ8_HANDLER( pc1640_port4278_r );
+DECLARE_READ8_HANDLER( pc1640_port278_r );
INPUT_PORTS_EXTERN( amstrad_keyboard );
diff --git a/src/mess/includes/apple2.h b/src/mess/includes/apple2.h
index f2d46921146..24e4b06e711 100644
--- a/src/mess/includes/apple2.h
+++ b/src/mess/includes/apple2.h
@@ -264,10 +264,10 @@ void apple2_init_common(running_machine &machine);
UINT8 apple2_getfloatingbusvalue(running_machine &machine);
-READ8_HANDLER( apple2_c0xx_r );
-WRITE8_HANDLER( apple2_c0xx_w );
-READ8_HANDLER( apple2_c080_r );
-WRITE8_HANDLER( apple2_c080_w );
+DECLARE_READ8_HANDLER( apple2_c0xx_r );
+DECLARE_WRITE8_HANDLER( apple2_c0xx_w );
+DECLARE_READ8_HANDLER( apple2_c080_r );
+DECLARE_WRITE8_HANDLER( apple2_c080_w );
TIMER_DEVICE_CALLBACK( apple2_interrupt );
diff --git a/src/mess/includes/bebox.h b/src/mess/includes/bebox.h
index a3b942c07e1..caac592cbd0 100644
--- a/src/mess/includes/bebox.h
+++ b/src/mess/includes/bebox.h
@@ -59,26 +59,26 @@ extern const ins8250_interface bebox_uart_inteface_3;
-READ64_HANDLER( bebox_cpu0_imask_r );
-READ64_HANDLER( bebox_cpu1_imask_r );
-READ64_HANDLER( bebox_interrupt_sources_r );
-READ64_HANDLER( bebox_crossproc_interrupts_r );
-READ8_HANDLER( bebox_800001F0_r );
-READ64_HANDLER( bebox_800003F0_r );
-READ64_HANDLER( bebox_interrupt_ack_r );
-READ8_HANDLER( bebox_page_r );
-READ8_HANDLER( bebox_80000480_r );
-READ8_HANDLER( bebox_flash_r );
-
-WRITE64_HANDLER( bebox_cpu0_imask_w );
-WRITE64_HANDLER( bebox_cpu1_imask_w );
-WRITE64_HANDLER( bebox_crossproc_interrupts_w );
-WRITE64_HANDLER( bebox_processor_resets_w );
-WRITE8_HANDLER( bebox_800001F0_w );
-WRITE64_HANDLER( bebox_800003F0_w );
-WRITE8_HANDLER( bebox_page_w );
-WRITE8_HANDLER( bebox_80000480_w );
-WRITE8_HANDLER( bebox_flash_w );
+DECLARE_READ64_HANDLER( bebox_cpu0_imask_r );
+DECLARE_READ64_HANDLER( bebox_cpu1_imask_r );
+DECLARE_READ64_HANDLER( bebox_interrupt_sources_r );
+DECLARE_READ64_HANDLER( bebox_crossproc_interrupts_r );
+DECLARE_READ8_HANDLER( bebox_800001F0_r );
+DECLARE_READ64_HANDLER( bebox_800003F0_r );
+DECLARE_READ64_HANDLER( bebox_interrupt_ack_r );
+DECLARE_READ8_HANDLER( bebox_page_r );
+DECLARE_READ8_HANDLER( bebox_80000480_r );
+DECLARE_READ8_HANDLER( bebox_flash_r );
+
+DECLARE_WRITE64_HANDLER( bebox_cpu0_imask_w );
+DECLARE_WRITE64_HANDLER( bebox_cpu1_imask_w );
+DECLARE_WRITE64_HANDLER( bebox_crossproc_interrupts_w );
+DECLARE_WRITE64_HANDLER( bebox_processor_resets_w );
+DECLARE_WRITE8_HANDLER( bebox_800001F0_w );
+DECLARE_WRITE64_HANDLER( bebox_800003F0_w );
+DECLARE_WRITE8_HANDLER( bebox_page_w );
+DECLARE_WRITE8_HANDLER( bebox_80000480_w );
+DECLARE_WRITE8_HANDLER( bebox_flash_w );
void bebox_ide_interrupt(device_t *device, int state);
void bebox_set_irq_bit(running_machine &machine, unsigned int interrupt_bit, int val);
diff --git a/src/mess/includes/c16.h b/src/mess/includes/c16.h
index 64def9248b0..f2c72fd5377 100644
--- a/src/mess/includes/c16.h
+++ b/src/mess/includes/c16.h
@@ -55,19 +55,19 @@ public:
extern DECLARE_READ8_DEVICE_HANDLER(c16_m7501_port_read);
extern DECLARE_WRITE8_DEVICE_HANDLER(c16_m7501_port_write);
-extern WRITE8_HANDLER(c16_6551_port_w);
-extern READ8_HANDLER(c16_6551_port_r);
+extern DECLARE_WRITE8_HANDLER(c16_6551_port_w);
+extern DECLARE_READ8_HANDLER(c16_6551_port_r);
-extern READ8_HANDLER(c16_fd1x_r);
-extern WRITE8_HANDLER(plus4_6529_port_w);
-extern READ8_HANDLER(plus4_6529_port_r);
+extern DECLARE_READ8_HANDLER(c16_fd1x_r);
+extern DECLARE_WRITE8_HANDLER(plus4_6529_port_w);
+extern DECLARE_READ8_HANDLER(plus4_6529_port_r);
-extern WRITE8_HANDLER(c16_6529_port_w);
-extern READ8_HANDLER(c16_6529_port_r);
+extern DECLARE_WRITE8_HANDLER(c16_6529_port_w);
+extern DECLARE_READ8_HANDLER(c16_6529_port_r);
-extern WRITE8_HANDLER(c16_select_roms);
-extern WRITE8_HANDLER(c16_switch_to_rom);
-extern WRITE8_HANDLER(c16_switch_to_ram);
+extern DECLARE_WRITE8_HANDLER(c16_select_roms);
+extern DECLARE_WRITE8_HANDLER(c16_switch_to_rom);
+extern DECLARE_WRITE8_HANDLER(c16_switch_to_ram);
/* ted reads (passed to the device interface) */
extern UINT8 c16_read_keyboard(running_machine &machine, int databus);
diff --git a/src/mess/includes/c64_legacy.h b/src/mess/includes/c64_legacy.h
index 9646bfa1e13..516e32c0ce1 100644
--- a/src/mess/includes/c64_legacy.h
+++ b/src/mess/includes/c64_legacy.h
@@ -100,8 +100,8 @@ public:
extern DECLARE_READ8_DEVICE_HANDLER(c64_m6510_port_read);
extern DECLARE_WRITE8_DEVICE_HANDLER(c64_m6510_port_write);
-READ8_HANDLER ( c64_colorram_read );
-WRITE8_HANDLER ( c64_colorram_write );
+DECLARE_READ8_HANDLER ( c64_colorram_read );
+DECLARE_WRITE8_HANDLER ( c64_colorram_write );
MACHINE_START( c64 );
MACHINE_RESET( c64 );
@@ -109,13 +109,13 @@ INTERRUPT_GEN( c64_frame_interrupt );
TIMER_CALLBACK( c64_tape_timer );
/* private area */
-WRITE8_HANDLER(c64_roml_w);
+DECLARE_WRITE8_HANDLER(c64_roml_w);
-READ8_HANDLER(c64_ioarea_r);
-WRITE8_HANDLER(c64_ioarea_w);
+DECLARE_READ8_HANDLER(c64_ioarea_r);
+DECLARE_WRITE8_HANDLER(c64_ioarea_w);
-WRITE8_HANDLER ( c64_write_io );
-READ8_HANDLER ( c64_read_io );
+DECLARE_WRITE8_HANDLER ( c64_write_io );
+DECLARE_READ8_HANDLER ( c64_read_io );
int c64_paddle_read (device_t *device, address_space &space, int which);
extern const mos6526_interface c64_ntsc_cia0, c64_pal_cia0;
diff --git a/src/mess/includes/cgenie.h b/src/mess/includes/cgenie.h
index bc14556398e..cfeb603e63f 100644
--- a/src/mess/includes/cgenie.h
+++ b/src/mess/includes/cgenie.h
@@ -81,44 +81,44 @@ DECLARE_WRITE8_DEVICE_HANDLER( cgenie_sh_control_port_w );
extern const wd17xx_interface cgenie_wd17xx_interface;
-READ8_HANDLER ( cgenie_psg_port_a_r );
-READ8_HANDLER ( cgenie_psg_port_b_r );
-WRITE8_HANDLER ( cgenie_psg_port_a_w );
-WRITE8_HANDLER ( cgenie_psg_port_b_w );
+DECLARE_READ8_HANDLER ( cgenie_psg_port_a_r );
+DECLARE_READ8_HANDLER ( cgenie_psg_port_b_r );
+DECLARE_WRITE8_HANDLER ( cgenie_psg_port_a_w );
+DECLARE_WRITE8_HANDLER ( cgenie_psg_port_b_w );
-READ8_HANDLER ( cgenie_colorram_r );
-READ8_HANDLER ( cgenie_fontram_r );
+DECLARE_READ8_HANDLER ( cgenie_colorram_r );
+DECLARE_READ8_HANDLER ( cgenie_fontram_r );
-WRITE8_HANDLER ( cgenie_colorram_w );
-WRITE8_HANDLER ( cgenie_fontram_w );
+DECLARE_WRITE8_HANDLER ( cgenie_colorram_w );
+DECLARE_WRITE8_HANDLER ( cgenie_fontram_w );
-WRITE8_HANDLER ( cgenie_port_ff_w );
- READ8_HANDLER ( cgenie_port_ff_r );
+DECLARE_WRITE8_HANDLER ( cgenie_port_ff_w );
+ DECLARE_READ8_HANDLER ( cgenie_port_ff_r );
int cgenie_port_xx_r(int offset);
INTERRUPT_GEN( cgenie_timer_interrupt );
INTERRUPT_GEN( cgenie_frame_interrupt );
- READ8_HANDLER ( cgenie_status_r );
- READ8_HANDLER ( cgenie_track_r );
- READ8_HANDLER ( cgenie_sector_r );
- READ8_HANDLER ( cgenie_data_r );
+ DECLARE_READ8_HANDLER ( cgenie_status_r );
+ DECLARE_READ8_HANDLER ( cgenie_track_r );
+ DECLARE_READ8_HANDLER ( cgenie_sector_r );
+ DECLARE_READ8_HANDLER ( cgenie_data_r );
-WRITE8_HANDLER ( cgenie_command_w );
-WRITE8_HANDLER ( cgenie_track_w );
-WRITE8_HANDLER ( cgenie_sector_w );
-WRITE8_HANDLER ( cgenie_data_w );
+DECLARE_WRITE8_HANDLER ( cgenie_command_w );
+DECLARE_WRITE8_HANDLER ( cgenie_track_w );
+DECLARE_WRITE8_HANDLER ( cgenie_sector_w );
+DECLARE_WRITE8_HANDLER ( cgenie_data_w );
- READ8_HANDLER ( cgenie_irq_status_r );
+ DECLARE_READ8_HANDLER ( cgenie_irq_status_r );
-WRITE8_HANDLER ( cgenie_motor_w );
+DECLARE_WRITE8_HANDLER ( cgenie_motor_w );
- READ8_HANDLER ( cgenie_keyboard_r );
+ DECLARE_READ8_HANDLER ( cgenie_keyboard_r );
int cgenie_videoram_r(running_machine &machine,int offset);
-WRITE8_HANDLER ( cgenie_videoram_w );
+DECLARE_WRITE8_HANDLER ( cgenie_videoram_w );
/*----------- defined in video/cgenie.c -----------*/
@@ -126,11 +126,11 @@ WRITE8_HANDLER ( cgenie_videoram_w );
SCREEN_UPDATE_IND16( cgenie );
-READ8_HANDLER ( cgenie_index_r );
-READ8_HANDLER ( cgenie_register_r );
+DECLARE_READ8_HANDLER ( cgenie_index_r );
+DECLARE_READ8_HANDLER ( cgenie_register_r );
-WRITE8_HANDLER ( cgenie_index_w );
-WRITE8_HANDLER ( cgenie_register_w );
+DECLARE_WRITE8_HANDLER ( cgenie_index_w );
+DECLARE_WRITE8_HANDLER ( cgenie_register_w );
int cgenie_get_register(running_machine &machine, int indx);
void cgenie_mode_select(running_machine &machine, int graphics);
diff --git a/src/mess/includes/corvushd.h b/src/mess/includes/corvushd.h
index c8fe5081629..22eab1bcd1f 100644
--- a/src/mess/includes/corvushd.h
+++ b/src/mess/includes/corvushd.h
@@ -174,9 +174,9 @@
// Prototypes
//
UINT8 corvus_hdc_init( running_machine &machine );
-READ8_HANDLER ( corvus_hdc_status_r );
-READ8_HANDLER ( corvus_hdc_data_r );
-WRITE8_HANDLER ( corvus_hdc_data_w );
+DECLARE_READ8_HANDLER ( corvus_hdc_status_r );
+DECLARE_READ8_HANDLER ( corvus_hdc_data_r );
+DECLARE_WRITE8_HANDLER ( corvus_hdc_data_w );
#endif /* CORVUSHD_H_ */
diff --git a/src/mess/includes/dgn_beta.h b/src/mess/includes/dgn_beta.h
index f3bbe4bc70d..cf4600bb089 100644
--- a/src/mess/includes/dgn_beta.h
+++ b/src/mess/includes/dgn_beta.h
@@ -156,12 +156,12 @@ extern const pia6821_interface dgnbeta_pia_intf[];
// Page IO at FE00
-READ8_HANDLER( dgn_beta_page_r );
-WRITE8_HANDLER( dgn_beta_page_w );
+DECLARE_READ8_HANDLER( dgn_beta_page_r );
+DECLARE_WRITE8_HANDLER( dgn_beta_page_w );
/* WD2797 FDC */
-READ8_HANDLER(dgnbeta_wd2797_r);
-WRITE8_HANDLER(dgnbeta_wd2797_w);
+DECLARE_READ8_HANDLER(dgnbeta_wd2797_r);
+DECLARE_WRITE8_HANDLER(dgnbeta_wd2797_w);
void dgn_beta_frame_interrupt (running_machine &machine, int data);
@@ -172,7 +172,7 @@ void dgn_beta_frame_interrupt (running_machine &machine, int data);
void dgnbeta_vid_set_gctrl(running_machine &machine, int data);
/* 74HC670 4x4bit colour ram */
-WRITE8_HANDLER(dgnbeta_colour_ram_w);
+DECLARE_WRITE8_HANDLER(dgnbeta_colour_ram_w);
extern const mc6845_interface dgnbeta_crtc6845_interface;
diff --git a/src/mess/includes/enterp.h b/src/mess/includes/enterp.h
index 50f84645a42..0e64eee4b6e 100644
--- a/src/mess/includes/enterp.h
+++ b/src/mess/includes/enterp.h
@@ -40,7 +40,7 @@ public:
SCREEN_UPDATE_IND16( epnick );
-WRITE8_HANDLER( epnick_reg_w );
+DECLARE_WRITE8_HANDLER( epnick_reg_w );
#endif /* __ENTERP_H__ */
diff --git a/src/mess/includes/europc.h b/src/mess/includes/europc.h
index 2faebe56dae..b2732a9688b 100644
--- a/src/mess/includes/europc.h
+++ b/src/mess/includes/europc.h
@@ -134,15 +134,15 @@ i am not sure if keypad enter delivers the mf2 keycode
/*----------- defined in machine/europc.c -----------*/
-WRITE8_HANDLER( europc_pio_w );
- READ8_HANDLER( europc_pio_r );
+DECLARE_WRITE8_HANDLER( europc_pio_w );
+ DECLARE_READ8_HANDLER( europc_pio_r );
-extern WRITE8_HANDLER ( europc_jim_w );
-extern READ8_HANDLER ( europc_jim_r );
-extern READ8_HANDLER ( europc_jim2_r );
+extern DECLARE_WRITE8_HANDLER ( europc_jim_w );
+extern DECLARE_READ8_HANDLER ( europc_jim_r );
+extern DECLARE_READ8_HANDLER ( europc_jim2_r );
-extern READ8_HANDLER( europc_rtc_r );
-extern WRITE8_HANDLER( europc_rtc_w );
+extern DECLARE_READ8_HANDLER( europc_rtc_r );
+extern DECLARE_WRITE8_HANDLER( europc_rtc_w );
extern NVRAM_HANDLER( europc_rtc );
void europc_rtc_set_time(running_machine &machine);
diff --git a/src/mess/includes/fmtowns.h b/src/mess/includes/fmtowns.h
index 9cd9d90f170..508697eb031 100644
--- a/src/mess/includes/fmtowns.h
+++ b/src/mess/includes/fmtowns.h
@@ -21,27 +21,27 @@
#define IRQ_LOG 0 // set to 1 to log IRQ line activity
-READ8_HANDLER( towns_gfx_high_r );
-WRITE8_HANDLER( towns_gfx_high_w );
-READ8_HANDLER( towns_gfx_r );
-WRITE8_HANDLER( towns_gfx_w );
-READ8_HANDLER( towns_video_cff80_r );
-WRITE8_HANDLER( towns_video_cff80_w );
-READ8_HANDLER( towns_video_cff80_mem_r );
-WRITE8_HANDLER( towns_video_cff80_mem_w );
-READ8_HANDLER(towns_video_440_r);
-WRITE8_HANDLER(towns_video_440_w);
-READ8_HANDLER(towns_video_5c8_r);
-WRITE8_HANDLER(towns_video_5c8_w);
-READ8_HANDLER(towns_video_fd90_r);
-WRITE8_HANDLER(towns_video_fd90_w);
-READ8_HANDLER(towns_video_ff81_r);
-WRITE8_HANDLER(towns_video_ff81_w);
-READ32_HANDLER(towns_video_unknown_r);
-READ8_HANDLER(towns_spriteram_low_r);
-WRITE8_HANDLER(towns_spriteram_low_w);
-READ8_HANDLER(towns_spriteram_r);
-WRITE8_HANDLER(towns_spriteram_w);
+DECLARE_READ8_HANDLER( towns_gfx_high_r );
+DECLARE_WRITE8_HANDLER( towns_gfx_high_w );
+DECLARE_READ8_HANDLER( towns_gfx_r );
+DECLARE_WRITE8_HANDLER( towns_gfx_w );
+DECLARE_READ8_HANDLER( towns_video_cff80_r );
+DECLARE_WRITE8_HANDLER( towns_video_cff80_w );
+DECLARE_READ8_HANDLER( towns_video_cff80_mem_r );
+DECLARE_WRITE8_HANDLER( towns_video_cff80_mem_w );
+DECLARE_READ8_HANDLER(towns_video_440_r);
+DECLARE_WRITE8_HANDLER(towns_video_440_w);
+DECLARE_READ8_HANDLER(towns_video_5c8_r);
+DECLARE_WRITE8_HANDLER(towns_video_5c8_w);
+DECLARE_READ8_HANDLER(towns_video_fd90_r);
+DECLARE_WRITE8_HANDLER(towns_video_fd90_w);
+DECLARE_READ8_HANDLER(towns_video_ff81_r);
+DECLARE_WRITE8_HANDLER(towns_video_ff81_w);
+DECLARE_READ32_HANDLER(towns_video_unknown_r);
+DECLARE_READ8_HANDLER(towns_spriteram_low_r);
+DECLARE_WRITE8_HANDLER(towns_spriteram_low_w);
+DECLARE_READ8_HANDLER(towns_spriteram_r);
+DECLARE_WRITE8_HANDLER(towns_spriteram_w);
struct towns_cdrom_controller
{
diff --git a/src/mess/includes/hec2hrp.h b/src/mess/includes/hec2hrp.h
index a1a77777d15..0dd08ae2064 100644
--- a/src/mess/includes/hec2hrp.h
+++ b/src/mess/includes/hec2hrp.h
@@ -141,14 +141,14 @@ public:
/*----------- defined in machine/hec2hrp.c -----------*/
/* Protoype of memory Handler*/
-WRITE8_HANDLER( hector_switch_bank_rom_w );
+DECLARE_WRITE8_HANDLER( hector_switch_bank_rom_w );
void hector_init( running_machine &machine);
void hector_reset(running_machine &machine, int hr, int with_D2);
void hector_disc2_reset( running_machine &machine);
/* Prototype of I/O Handler*/
-READ8_HANDLER( hector_mx_io_port_r );
+DECLARE_READ8_HANDLER( hector_mx_io_port_r );
/*----------- defined in video/hec2video.c -----------*/
void hector_80c(running_machine &machine, bitmap_ind16 &bitmap, UINT8 *page, int ymax, int yram) ;
@@ -163,20 +163,20 @@ extern const sn76477_interface hector_sn76477_interface;
// disc2 handling
WRITE_LINE_DEVICE_HANDLER( hector_disk2_fdc_interrupt );
-READ8_HANDLER( hector_disc2_io00_port_r);
-WRITE8_HANDLER( hector_disc2_io00_port_w);
-READ8_HANDLER( hector_disc2_io20_port_r);
-WRITE8_HANDLER( hector_disc2_io20_port_w);
-READ8_HANDLER( hector_disc2_io30_port_r);
-WRITE8_HANDLER( hector_disc2_io30_port_w);
-READ8_HANDLER( hector_disc2_io40_port_r);
-WRITE8_HANDLER( hector_disc2_io40_port_w);
-READ8_HANDLER( hector_disc2_io50_port_r);
-WRITE8_HANDLER( hector_disc2_io50_port_w);
-READ8_HANDLER( hector_disc2_io61_port_r);
-WRITE8_HANDLER( hector_disc2_io61_port_w);
-READ8_HANDLER( hector_disc2_io70_port_r);
-WRITE8_HANDLER( hector_disc2_io70_port_w);
+DECLARE_READ8_HANDLER( hector_disc2_io00_port_r);
+DECLARE_WRITE8_HANDLER( hector_disc2_io00_port_w);
+DECLARE_READ8_HANDLER( hector_disc2_io20_port_r);
+DECLARE_WRITE8_HANDLER( hector_disc2_io20_port_w);
+DECLARE_READ8_HANDLER( hector_disc2_io30_port_r);
+DECLARE_WRITE8_HANDLER( hector_disc2_io30_port_w);
+DECLARE_READ8_HANDLER( hector_disc2_io40_port_r);
+DECLARE_WRITE8_HANDLER( hector_disc2_io40_port_w);
+DECLARE_READ8_HANDLER( hector_disc2_io50_port_r);
+DECLARE_WRITE8_HANDLER( hector_disc2_io50_port_w);
+DECLARE_READ8_HANDLER( hector_disc2_io61_port_r);
+DECLARE_WRITE8_HANDLER( hector_disc2_io61_port_w);
+DECLARE_READ8_HANDLER( hector_disc2_io70_port_r);
+DECLARE_WRITE8_HANDLER( hector_disc2_io70_port_w);
void hector_disc2_init( running_machine &machine);
void hector_minidisc_init( running_machine &machine);
diff --git a/src/mess/includes/mbc55x.h b/src/mess/includes/mbc55x.h
index 3f4a5b74c89..d07a4f38a48 100644
--- a/src/mess/includes/mbc55x.h
+++ b/src/mess/includes/mbc55x.h
@@ -203,8 +203,8 @@ extern const i8251_interface mbc55x_i8251b_interface;
#define RAM_BANK_COUNT 15
-READ8_HANDLER(ppi8255_r);
-WRITE8_HANDLER(ppi8255_w);
+DECLARE_READ8_HANDLER(ppi8255_r);
+DECLARE_WRITE8_HANDLER(ppi8255_w);
/* Floppy drive interface */
@@ -217,8 +217,8 @@ extern const wd17xx_interface mbc55x_wd17xx_interface;
extern const mc6845_interface mb55x_mc6845_intf;
-READ16_HANDLER (mbc55x_video_io_r);
-WRITE16_HANDLER (mbc55x_video_io_w);
+DECLARE_READ16_HANDLER (mbc55x_video_io_r);
+DECLARE_WRITE16_HANDLER (mbc55x_video_io_w);
SCREEN_VBLANK( mbc55x );
diff --git a/src/mess/includes/pc1251.h b/src/mess/includes/pc1251.h
index e52ae2c5578..ff69f24eb97 100644
--- a/src/mess/includes/pc1251.h
+++ b/src/mess/includes/pc1251.h
@@ -45,8 +45,8 @@ MACHINE_START( pc1251 );
/*----------- defined in video/pc1251.c -----------*/
-READ8_HANDLER(pc1251_lcd_read);
-WRITE8_HANDLER(pc1251_lcd_write);
+DECLARE_READ8_HANDLER(pc1251_lcd_read);
+DECLARE_WRITE8_HANDLER(pc1251_lcd_write);
SCREEN_UPDATE_IND16( pc1251 );
diff --git a/src/mess/includes/pc1350.h b/src/mess/includes/pc1350.h
index 8824f197a74..e7caf96f4cd 100644
--- a/src/mess/includes/pc1350.h
+++ b/src/mess/includes/pc1350.h
@@ -42,8 +42,8 @@ MACHINE_START( pc1350 );
/*----------- defined in video/pc1350.c -----------*/
-READ8_HANDLER(pc1350_lcd_read);
-WRITE8_HANDLER(pc1350_lcd_write);
+DECLARE_READ8_HANDLER(pc1350_lcd_read);
+DECLARE_WRITE8_HANDLER(pc1350_lcd_write);
SCREEN_UPDATE_IND16( pc1350 );
int pc1350_keyboard_line_r(running_machine &machine);
diff --git a/src/mess/includes/pc1401.h b/src/mess/includes/pc1401.h
index 2343ca2ae5b..ad11249aa1a 100644
--- a/src/mess/includes/pc1401.h
+++ b/src/mess/includes/pc1401.h
@@ -44,8 +44,8 @@ MACHINE_START( pc1401 );
/*----------- defined in video/pc1401.c -----------*/
-READ8_HANDLER(pc1401_lcd_read);
-WRITE8_HANDLER(pc1401_lcd_write);
+DECLARE_READ8_HANDLER(pc1401_lcd_read);
+DECLARE_WRITE8_HANDLER(pc1401_lcd_write);
SCREEN_UPDATE_IND16( pc1401 );
diff --git a/src/mess/includes/pc1403.h b/src/mess/includes/pc1403.h
index 051737c1af6..7fb18a7fe1e 100644
--- a/src/mess/includes/pc1403.h
+++ b/src/mess/includes/pc1403.h
@@ -44,8 +44,8 @@ int pc1403_ina(device_t *device);
MACHINE_START( pc1403 );
-READ8_HANDLER(pc1403_asic_read);
-WRITE8_HANDLER(pc1403_asic_write);
+DECLARE_READ8_HANDLER(pc1403_asic_read);
+DECLARE_WRITE8_HANDLER(pc1403_asic_write);
/*----------- defined in video/pc1403.c -----------*/
@@ -53,8 +53,8 @@ WRITE8_HANDLER(pc1403_asic_write);
VIDEO_START( pc1403 );
SCREEN_UPDATE_IND16( pc1403 );
-READ8_HANDLER(pc1403_lcd_read);
-WRITE8_HANDLER(pc1403_lcd_write);
+DECLARE_READ8_HANDLER(pc1403_lcd_read);
+DECLARE_WRITE8_HANDLER(pc1403_lcd_write);
#endif /* PC1403_H_ */
diff --git a/src/mess/includes/pet.h b/src/mess/includes/pet.h
index ed3f92a4895..42e6b5b4a99 100644
--- a/src/mess/includes/pet.h
+++ b/src/mess/includes/pet.h
@@ -77,9 +77,9 @@ extern const pia6821_interface petb_pia0;
extern const pia6821_interface pet_pia1;
-WRITE8_HANDLER(cbm8096_w);
-extern READ8_HANDLER(superpet_r);
-extern WRITE8_HANDLER(superpet_w);
+DECLARE_WRITE8_HANDLER(cbm8096_w);
+extern DECLARE_READ8_HANDLER(superpet_r);
+extern DECLARE_WRITE8_HANDLER(superpet_w);
INTERRUPT_GEN( pet_frame_interrupt );
diff --git a/src/mess/includes/ps2.h b/src/mess/includes/ps2.h
index 275817d58f3..27d3efe380b 100644
--- a/src/mess/includes/ps2.h
+++ b/src/mess/includes/ps2.h
@@ -10,8 +10,8 @@
/*----------- defined in machine/ps2.c -----------*/
- READ8_HANDLER(ps2_pos_r);
-WRITE8_HANDLER(ps2_pos_w);
+ DECLARE_READ8_HANDLER(ps2_pos_r);
+DECLARE_WRITE8_HANDLER(ps2_pos_w);
#endif /* PS2_H_ */
diff --git a/src/mess/includes/tandy1t.h b/src/mess/includes/tandy1t.h
index 96ff12fbefc..5a7a687639e 100644
--- a/src/mess/includes/tandy1t.h
+++ b/src/mess/includes/tandy1t.h
@@ -10,16 +10,16 @@
/*----------- defined in machine/tandy1t.c -----------*/
-extern WRITE8_HANDLER ( pc_t1t_p37x_w );
-extern READ8_HANDLER ( pc_t1t_p37x_r );
+extern DECLARE_WRITE8_HANDLER ( pc_t1t_p37x_w );
+extern DECLARE_READ8_HANDLER ( pc_t1t_p37x_r );
-extern WRITE8_HANDLER ( tandy1000_pio_w );
-extern READ8_HANDLER(tandy1000_pio_r);
+extern DECLARE_WRITE8_HANDLER ( tandy1000_pio_w );
+extern DECLARE_READ8_HANDLER(tandy1000_pio_r);
extern NVRAM_HANDLER( tandy1000 );
-READ8_HANDLER( tandy1000_bank_r );
-WRITE8_HANDLER( tandy1000_bank_w );
+DECLARE_READ8_HANDLER( tandy1000_bank_r );
+DECLARE_WRITE8_HANDLER( tandy1000_bank_w );
INPUT_PORTS_EXTERN( t1000_keyboard );
diff --git a/src/mess/includes/thomson.h b/src/mess/includes/thomson.h
index 59e8dbdf3d4..63759aad956 100644
--- a/src/mess/includes/thomson.h
+++ b/src/mess/includes/thomson.h
@@ -67,16 +67,16 @@ extern const pia6821_interface mo5nr_pia6821_game;
/* cartridge bank-switching */
extern DEVICE_IMAGE_LOAD( to7_cartridge );
-extern WRITE8_HANDLER ( to7_cartridge_w );
-extern READ8_HANDLER ( to7_cartridge_r );
+extern DECLARE_WRITE8_HANDLER ( to7_cartridge_w );
+extern DECLARE_READ8_HANDLER ( to7_cartridge_r );
/* dispatch MODEM or speech synthesis extension */
-extern READ8_HANDLER ( to7_modem_mea8000_r );
-extern WRITE8_HANDLER ( to7_modem_mea8000_w );
+extern DECLARE_READ8_HANDLER ( to7_modem_mea8000_r );
+extern DECLARE_WRITE8_HANDLER ( to7_modem_mea8000_w );
/* MIDI extension (actually an 6850 ACIA) */
-extern READ8_HANDLER ( to7_midi_r );
-extern WRITE8_HANDLER ( to7_midi_w );
+extern DECLARE_READ8_HANDLER ( to7_midi_r );
+extern DECLARE_WRITE8_HANDLER ( to7_midi_w );
extern MACHINE_START ( to7 );
extern MACHINE_RESET ( to7 );
@@ -98,8 +98,8 @@ extern const acia6850_interface to7_modem;
/***************************** TO7/70 ******************************/
/* gate-array */
-extern READ8_HANDLER ( to770_gatearray_r );
-extern WRITE8_HANDLER ( to770_gatearray_w );
+extern DECLARE_READ8_HANDLER ( to770_gatearray_r );
+extern DECLARE_WRITE8_HANDLER ( to770_gatearray_w );
extern MACHINE_START ( to770 );
extern MACHINE_RESET ( to770 );
@@ -109,14 +109,14 @@ extern const mc6846_interface to770_timer;
/***************************** MO5 ******************************/
/* gate-array */
-extern READ8_HANDLER ( mo5_gatearray_r );
-extern WRITE8_HANDLER ( mo5_gatearray_w );
+extern DECLARE_READ8_HANDLER ( mo5_gatearray_r );
+extern DECLARE_WRITE8_HANDLER ( mo5_gatearray_w );
/* cartridge / extended RAM bank-switching */
extern DEVICE_IMAGE_LOAD( mo5_cartridge );
-extern WRITE8_HANDLER ( mo5_ext_w );
-extern WRITE8_HANDLER ( mo5_cartridge_w );
-extern READ8_HANDLER ( mo5_cartridge_r );
+extern DECLARE_WRITE8_HANDLER ( mo5_ext_w );
+extern DECLARE_WRITE8_HANDLER ( mo5_cartridge_w );
+extern DECLARE_READ8_HANDLER ( mo5_cartridge_r );
extern MACHINE_START ( mo5 );
extern MACHINE_RESET ( mo5 );
@@ -125,24 +125,24 @@ extern MACHINE_RESET ( mo5 );
/***************************** TO9 ******************************/
/* IEEE extension */
-extern WRITE8_HANDLER ( to9_ieee_w );
-extern READ8_HANDLER ( to9_ieee_r );
+extern DECLARE_WRITE8_HANDLER ( to9_ieee_w );
+extern DECLARE_READ8_HANDLER ( to9_ieee_r );
/* ROM bank-switching */
-extern WRITE8_HANDLER ( to9_cartridge_w );
-extern READ8_HANDLER ( to9_cartridge_r );
+extern DECLARE_WRITE8_HANDLER ( to9_cartridge_w );
+extern DECLARE_READ8_HANDLER ( to9_cartridge_r );
/* system gate-array */
-extern READ8_HANDLER ( to9_gatearray_r );
-extern WRITE8_HANDLER ( to9_gatearray_w );
+extern DECLARE_READ8_HANDLER ( to9_gatearray_r );
+extern DECLARE_WRITE8_HANDLER ( to9_gatearray_w );
/* video gate-array */
-extern READ8_HANDLER ( to9_vreg_r );
-extern WRITE8_HANDLER ( to9_vreg_w );
+extern DECLARE_READ8_HANDLER ( to9_vreg_r );
+extern DECLARE_WRITE8_HANDLER ( to9_vreg_w );
/* keyboard */
-extern READ8_HANDLER ( to9_kbd_r );
-extern WRITE8_HANDLER ( to9_kbd_w );
+extern DECLARE_READ8_HANDLER ( to9_kbd_r );
+extern DECLARE_WRITE8_HANDLER ( to9_kbd_w );
extern MACHINE_START ( to9 );
extern MACHINE_RESET ( to9 );
@@ -162,20 +162,20 @@ extern const mc6846_interface to9_timer;
extern UINT8 to8_data_vpage;
extern UINT8 to8_cart_vpage;
-extern WRITE8_HANDLER ( to8_cartridge_w );
-extern READ8_HANDLER ( to8_cartridge_r );
+extern DECLARE_WRITE8_HANDLER ( to8_cartridge_w );
+extern DECLARE_READ8_HANDLER ( to8_cartridge_r );
/* system gate-array */
-extern READ8_HANDLER ( to8_gatearray_r );
-extern WRITE8_HANDLER ( to8_gatearray_w );
+extern DECLARE_READ8_HANDLER ( to8_gatearray_r );
+extern DECLARE_WRITE8_HANDLER ( to8_gatearray_w );
/* video gate-array */
-extern READ8_HANDLER ( to8_vreg_r );
-extern WRITE8_HANDLER ( to8_vreg_w );
+extern DECLARE_READ8_HANDLER ( to8_vreg_r );
+extern DECLARE_WRITE8_HANDLER ( to8_vreg_w );
/* floppy */
-extern READ8_HANDLER ( to8_floppy_r );
-extern WRITE8_HANDLER ( to8_floppy_w );
+extern DECLARE_READ8_HANDLER ( to8_floppy_r );
+extern DECLARE_WRITE8_HANDLER ( to8_floppy_w );
extern MACHINE_START ( to8 );
extern MACHINE_RESET ( to8 );
@@ -193,17 +193,17 @@ extern const mc6846_interface to9p_timer;
/***************************** MO6 ******************************/
-extern READ8_HANDLER ( mo6_cartridge_r );
-extern WRITE8_HANDLER ( mo6_cartridge_w );
-extern WRITE8_HANDLER ( mo6_ext_w );
+extern DECLARE_READ8_HANDLER ( mo6_cartridge_r );
+extern DECLARE_WRITE8_HANDLER ( mo6_cartridge_w );
+extern DECLARE_WRITE8_HANDLER ( mo6_ext_w );
/* system gate-array */
-extern READ8_HANDLER ( mo6_gatearray_r );
-extern WRITE8_HANDLER ( mo6_gatearray_w );
+extern DECLARE_READ8_HANDLER ( mo6_gatearray_r );
+extern DECLARE_WRITE8_HANDLER ( mo6_gatearray_w );
/* video gate-array */
-extern READ8_HANDLER ( mo6_vreg_r );
-extern WRITE8_HANDLER ( mo6_vreg_w );
+extern DECLARE_READ8_HANDLER ( mo6_vreg_r );
+extern DECLARE_WRITE8_HANDLER ( mo6_vreg_w );
extern MACHINE_START ( mo6 );
extern MACHINE_RESET ( mo6 );
@@ -212,12 +212,12 @@ extern MACHINE_RESET ( mo6 );
/***************************** MO5 NR ******************************/
/* network */
-extern READ8_HANDLER ( mo5nr_net_r );
-extern WRITE8_HANDLER ( mo5nr_net_w );
+extern DECLARE_READ8_HANDLER ( mo5nr_net_r );
+extern DECLARE_WRITE8_HANDLER ( mo5nr_net_w );
/* printer */
-extern READ8_HANDLER ( mo5nr_prn_r );
-extern WRITE8_HANDLER ( mo5nr_prn_w );
+extern DECLARE_READ8_HANDLER ( mo5nr_prn_r );
+extern DECLARE_WRITE8_HANDLER ( mo5nr_prn_w );
extern MACHINE_START ( mo5nr );
extern MACHINE_RESET ( mo5nr );
@@ -343,26 +343,26 @@ extern void thom_floppy_active ( running_machine &machine, int write );
/***************************** TO7 / T9000 *************************/
-extern WRITE8_HANDLER ( to7_vram_w );
+extern DECLARE_WRITE8_HANDLER ( to7_vram_w );
/***************************** TO7/70 ******************************/
-extern WRITE8_HANDLER ( to770_vram_w );
+extern DECLARE_WRITE8_HANDLER ( to770_vram_w );
/***************************** TO8 ******************************/
/* write to video memory through system space (always page 1) */
-WRITE8_HANDLER ( to8_sys_lo_w );
-WRITE8_HANDLER ( to8_sys_hi_w );
+DECLARE_WRITE8_HANDLER ( to8_sys_lo_w );
+DECLARE_WRITE8_HANDLER ( to8_sys_hi_w );
/* write to video memory through data space */
-WRITE8_HANDLER ( to8_data_lo_w );
-WRITE8_HANDLER ( to8_data_hi_w );
+DECLARE_WRITE8_HANDLER ( to8_data_lo_w );
+DECLARE_WRITE8_HANDLER ( to8_data_hi_w );
/* write to video memory page through cartridge addresses space */
-WRITE8_HANDLER ( to8_vcart_w );
+DECLARE_WRITE8_HANDLER ( to8_vcart_w );
diff --git a/src/mess/includes/x68k.h b/src/mess/includes/x68k.h
index 03cfbab88a4..8a764766e72 100644
--- a/src/mess/includes/x68k.h
+++ b/src/mess/includes/x68k.h
@@ -286,20 +286,20 @@ TIMER_CALLBACK(x68k_crtc_vblank_irq);
TIMER_CALLBACK(x68k_hsync);
-READ16_HANDLER( x68k_spritereg_r );
-WRITE16_HANDLER( x68k_spritereg_w );
-READ16_HANDLER( x68k_spriteram_r );
-WRITE16_HANDLER( x68k_spriteram_w );
-WRITE16_HANDLER( x68k_crtc_w );
-READ16_HANDLER( x68k_crtc_r );
-WRITE16_HANDLER( x68k_gvram_w );
-READ16_HANDLER( x68k_gvram_r );
-WRITE16_HANDLER( x68k_tvram_w );
-READ16_HANDLER( x68k_tvram_r );
-WRITE32_HANDLER( x68k_gvram32_w );
-READ32_HANDLER( x68k_gvram32_r );
-WRITE32_HANDLER( x68k_tvram32_w );
-READ32_HANDLER( x68k_tvram32_r );
+DECLARE_READ16_HANDLER( x68k_spritereg_r );
+DECLARE_WRITE16_HANDLER( x68k_spritereg_w );
+DECLARE_READ16_HANDLER( x68k_spriteram_r );
+DECLARE_WRITE16_HANDLER( x68k_spriteram_w );
+DECLARE_WRITE16_HANDLER( x68k_crtc_w );
+DECLARE_READ16_HANDLER( x68k_crtc_r );
+DECLARE_WRITE16_HANDLER( x68k_gvram_w );
+DECLARE_READ16_HANDLER( x68k_gvram_r );
+DECLARE_WRITE16_HANDLER( x68k_tvram_w );
+DECLARE_READ16_HANDLER( x68k_tvram_r );
+DECLARE_WRITE32_HANDLER( x68k_gvram32_w );
+DECLARE_READ32_HANDLER( x68k_gvram32_r );
+DECLARE_WRITE32_HANDLER( x68k_tvram32_w );
+DECLARE_READ32_HANDLER( x68k_tvram32_r );
SCREEN_UPDATE_IND16( x68000 );
diff --git a/src/mess/machine/990_dk.h b/src/mess/machine/990_dk.h
index 7607f586788..9df1b7fe483 100644
--- a/src/mess/machine/990_dk.h
+++ b/src/mess/machine/990_dk.h
@@ -5,6 +5,6 @@ LEGACY_FLOPPY_OPTIONS_EXTERN(fd800);
void fd800_machine_init(running_machine &machine, void (*interrupt_callback)(running_machine &machine, int state));
-extern READ8_HANDLER(fd800_cru_r);
-extern WRITE8_HANDLER(fd800_cru_w);
+extern DECLARE_READ8_HANDLER(fd800_cru_r);
+extern DECLARE_WRITE8_HANDLER(fd800_cru_w);
diff --git a/src/mess/machine/990_hd.h b/src/mess/machine/990_hd.h
index 740b4c9bd64..892e90cc0f7 100644
--- a/src/mess/machine/990_hd.h
+++ b/src/mess/machine/990_hd.h
@@ -10,8 +10,8 @@ MACHINE_START( ti990_hdc );
void ti990_hdc_init(running_machine &machine, void (*interrupt_callback)(running_machine &machine, int state));
-READ16_HANDLER(ti990_hdc_r);
-WRITE16_HANDLER(ti990_hdc_w);
+DECLARE_READ16_HANDLER(ti990_hdc_r);
+DECLARE_WRITE16_HANDLER(ti990_hdc_w);
MACHINE_CONFIG_EXTERN( ti990_hdc );
diff --git a/src/mess/machine/apple2gs.c b/src/mess/machine/apple2gs.c
index 3fc4c0dd472..9b4b9c78ea9 100644
--- a/src/mess/machine/apple2gs.c
+++ b/src/mess/machine/apple2gs.c
@@ -1013,7 +1013,7 @@ READ8_MEMBER( apple2gs_state::apple2gs_c0xx_r )
case 0x3D: /* C03D - SOUNDDATA */
case 0x3E: /* C03E - SOUNDADRL */
case 0x3F: /* C03F - SOUNDADRH */
- result = gssnd_r(space, offset & 0x03);
+ result = gssnd_r(space, offset & 0x03, mem_mask);
break;
case 0x41: /* C041 - INTEN */
@@ -1174,7 +1174,7 @@ WRITE8_MEMBER( apple2gs_state::apple2gs_c0xx_w )
case 0x3D: /* C03D - SOUNDDATA */
case 0x3E: /* C03E - SOUNDADRL */
case 0x3F: /* C03F - SOUNDADRH */
- gssnd_w(space, offset & 0x03, data);
+ gssnd_w(space, offset & 0x03, data, mem_mask);
break;
case 0x41: /* C041 - INTEN */
@@ -1763,10 +1763,10 @@ static WRITE8_HANDLER( apple2gs_Exxxxx_w )
state->m_slowmem[offset] = data;
}
-static WRITE8_HANDLER( apple2gs_E004xx_w ) { apple2gs_Exxxxx_w(space, offset + 0x00400, data); }
-static WRITE8_HANDLER( apple2gs_E02xxx_w ) { apple2gs_Exxxxx_w(space, offset + 0x02000, data); }
-static WRITE8_HANDLER( apple2gs_E104xx_w ) { apple2gs_Exxxxx_w(space, offset + 0x10400, data); }
-static WRITE8_HANDLER( apple2gs_E12xxx_w ) { apple2gs_Exxxxx_w(space, offset + 0x12000, data); }
+static WRITE8_HANDLER( apple2gs_E004xx_w ) { apple2gs_Exxxxx_w(space, offset + 0x00400, data, mem_mask); }
+static WRITE8_HANDLER( apple2gs_E02xxx_w ) { apple2gs_Exxxxx_w(space, offset + 0x02000, data, mem_mask); }
+static WRITE8_HANDLER( apple2gs_E104xx_w ) { apple2gs_Exxxxx_w(space, offset + 0x10400, data, mem_mask); }
+static WRITE8_HANDLER( apple2gs_E12xxx_w ) { apple2gs_Exxxxx_w(space, offset + 0x12000, data, mem_mask); }
static WRITE8_HANDLER( apple2gs_slowmem_w )
{
diff --git a/src/mess/machine/c65.c b/src/mess/machine/c65.c
index c2aab1fd340..34f72242e02 100644
--- a/src/mess/machine/c65.c
+++ b/src/mess/machine/c65.c
@@ -217,6 +217,7 @@ const mos6526_interface c65_cia1 =
/* processor has only 1 mega address space !? */
/* and system 8 megabyte */
/* dma controller and bankswitch hardware ?*/
+static DECLARE_READ8_HANDLER( c65_read_mem );
static READ8_HANDLER( c65_read_mem )
{
c65_state *state = space.machine().driver_data<c65_state>();
@@ -228,6 +229,7 @@ static READ8_HANDLER( c65_read_mem )
return result;
}
+static DECLARE_WRITE8_HANDLER( c65_write_mem );
static WRITE8_HANDLER( c65_write_mem )
{
c65_state *state = space.machine().driver_data<c65_state>();
@@ -659,7 +661,7 @@ static WRITE8_HANDLER( c65_write_io )
c65_fdc_w(space.machine(), offset&0x1f,data);
else
{
- c65_ram_expansion_w(space, offset&0x1f, data);
+ c65_ram_expansion_w(space, offset&0x1f, data, mem_mask);
/*ram expansion crtl optional */
}
break;
@@ -723,7 +725,7 @@ static READ8_HANDLER( c65_read_io )
return c65_fdc_r(space.machine(), offset&0x1f);
else
{
- return c65_ram_expansion_r(space, offset&0x1f);
+ return c65_ram_expansion_r(space, offset&0x1f, mem_mask);
/*return; ram expansion crtl optional */
}
break;
diff --git a/src/mess/machine/concept.c b/src/mess/machine/concept.c
index 49634356280..ff5c244b2ce 100644
--- a/src/mess/machine/concept.c
+++ b/src/mess/machine/concept.c
@@ -276,7 +276,7 @@ READ16_MEMBER(concept_state::concept_io_r)
{
int slot = ((offset >> 4) & 7) - 1;
if (m_expansion_slots[slot].reg_read)
- return m_expansion_slots[slot].reg_read(space, offset & 0xf);
+ return m_expansion_slots[slot].reg_read(space, offset & 0xf, mem_mask);
}
break;
@@ -299,7 +299,7 @@ READ16_MEMBER(concept_state::concept_io_r)
int slot = ((offset >> 8) & 7) - 1;
LOG(("concept_io_r: Slot ROM memory accessed for slot %d at address 0x03%4.4x\n", slot, offset << 1));
if (m_expansion_slots[slot].rom_read)
- return m_expansion_slots[slot].rom_read(space, offset & 0xff);
+ return m_expansion_slots[slot].rom_read(space, offset & 0xff, mem_mask);
}
break;
@@ -418,7 +418,7 @@ WRITE16_MEMBER(concept_state::concept_io_w)
LOG(("concept_io_w: Slot I/O register written for slot %d at address 0x03%4.4x, data: 0x%4.4x\n",
slot, offset << 1, data));
if (m_expansion_slots[slot].reg_write)
- m_expansion_slots[slot].reg_write(space, offset & 0xf, data);
+ m_expansion_slots[slot].reg_write(space, offset & 0xf, data, mem_mask);
}
break;
@@ -441,7 +441,7 @@ WRITE16_MEMBER(concept_state::concept_io_w)
int slot = ((offset >> 8) & 7) - 1;
LOG(("concept_io_w: Slot ROM memory written to for slot %d at address 0x03%4.4x, data: 0x%4.4x\n", slot, offset << 1, data));
if (m_expansion_slots[slot].rom_write)
- m_expansion_slots[slot].rom_write(space, offset & 0xff, data);
+ m_expansion_slots[slot].rom_write(space, offset & 0xff, data, mem_mask);
}
break;
@@ -548,9 +548,9 @@ enum
};
-static READ8_HANDLER(concept_fdc_reg_r);
-static WRITE8_HANDLER(concept_fdc_reg_w);
-static READ8_HANDLER(concept_fdc_rom_r);
+static DECLARE_READ8_HANDLER(concept_fdc_reg_r);
+static DECLARE_WRITE8_HANDLER(concept_fdc_reg_w);
+static DECLARE_READ8_HANDLER(concept_fdc_rom_r);
static void concept_fdc_init(running_machine &machine, int slot)
{
@@ -670,9 +670,9 @@ static READ8_HANDLER(concept_fdc_rom_r)
* Concept Hard Disk Controller (hdc)
*/
-static READ8_HANDLER(concept_hdc_reg_r);
-static WRITE8_HANDLER(concept_hdc_reg_w);
-static READ8_HANDLER(concept_hdc_rom_r);
+static DECLARE_READ8_HANDLER(concept_hdc_reg_r);
+static DECLARE_WRITE8_HANDLER(concept_hdc_reg_w);
+static DECLARE_READ8_HANDLER(concept_hdc_rom_r);
/*
* Hook up the Register and ROM R/W routines into the Slot I/O Space
diff --git a/src/mess/machine/dgn_beta.c b/src/mess/machine/dgn_beta.c
index 983c9b999bd..3493a2ee035 100644
--- a/src/mess/machine/dgn_beta.c
+++ b/src/mess/machine/dgn_beta.c
@@ -73,23 +73,23 @@
// Ram banking handlers.
-static WRITE8_HANDLER( dgnbeta_ram_b0_w );
-static WRITE8_HANDLER( dgnbeta_ram_b1_w );
-static WRITE8_HANDLER( dgnbeta_ram_b2_w );
-static WRITE8_HANDLER( dgnbeta_ram_b3_w );
-static WRITE8_HANDLER( dgnbeta_ram_b4_w );
-static WRITE8_HANDLER( dgnbeta_ram_b5_w );
-static WRITE8_HANDLER( dgnbeta_ram_b6_w );
-static WRITE8_HANDLER( dgnbeta_ram_b7_w );
-static WRITE8_HANDLER( dgnbeta_ram_b8_w );
-static WRITE8_HANDLER( dgnbeta_ram_b9_w );
-static WRITE8_HANDLER( dgnbeta_ram_bA_w );
-static WRITE8_HANDLER( dgnbeta_ram_bB_w );
-static WRITE8_HANDLER( dgnbeta_ram_bC_w );
-static WRITE8_HANDLER( dgnbeta_ram_bD_w );
-static WRITE8_HANDLER( dgnbeta_ram_bE_w );
-static WRITE8_HANDLER( dgnbeta_ram_bF_w );
-static WRITE8_HANDLER( dgnbeta_ram_bG_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_b0_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_b1_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_b2_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_b3_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_b4_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_b5_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_b6_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_b7_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_b8_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_b9_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_bA_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_bB_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_bC_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_bD_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_bE_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_bF_w );
+static DECLARE_WRITE8_HANDLER( dgnbeta_ram_bG_w );
#define VERBOSE 0
diff --git a/src/mess/machine/lux21046.c b/src/mess/machine/lux21046.c
index 081b3331d8c..bca09be2913 100644
--- a/src/mess/machine/lux21046.c
+++ b/src/mess/machine/lux21046.c
@@ -223,8 +223,8 @@ WRITE_LINE_MEMBER( luxor_55_21046_device::dma_int_w )
m_maincpu->set_input_line(INPUT_LINE_IRQ0, m_fdc_irq | m_dma_irq);
}
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
static Z80DMA_INTERFACE( dma_intf )
{
diff --git a/src/mess/machine/lynx.c b/src/mess/machine/lynx.c
index 9e5b26590b7..3d34e596549 100644
--- a/src/mess/machine/lynx.c
+++ b/src/mess/machine/lynx.c
@@ -1769,7 +1769,7 @@ READ8_MEMBER(lynx_state::mikey_read)
case 0x8c:
case 0x8d:
- value = lynx_uart_r(space, offset);
+ value = lynx_uart_r(space, offset, mem_mask);
break;
default:
diff --git a/src/mess/machine/mboard.h b/src/mess/machine/mboard.h
index f3d4dd4b5f5..3fd35568041 100644
--- a/src/mess/machine/mboard.h
+++ b/src/mess/machine/mboard.h
@@ -52,17 +52,17 @@ struct MOUSE_HOLD {
FUNCTION PROTOTYPES
***************************************************************************/
-READ8_HANDLER( mboard_read_board_8 );
-WRITE8_HANDLER( mboard_write_board_8 );
-WRITE8_HANDLER( mboard_write_LED_8 );
+DECLARE_READ8_HANDLER( mboard_read_board_8 );
+DECLARE_WRITE8_HANDLER( mboard_write_board_8 );
+DECLARE_WRITE8_HANDLER( mboard_write_LED_8 );
-READ16_HANDLER( mboard_read_board_16 );
-WRITE16_HANDLER( mboard_write_board_16 );
-WRITE16_HANDLER( mboard_write_LED_16 );
+DECLARE_READ16_HANDLER( mboard_read_board_16 );
+DECLARE_WRITE16_HANDLER( mboard_write_board_16 );
+DECLARE_WRITE16_HANDLER( mboard_write_LED_16 );
-READ32_HANDLER( mboard_read_board_32 );
-WRITE32_HANDLER( mboard_write_board_32 );
-WRITE32_HANDLER( mboard_write_LED_32 );
+DECLARE_READ32_HANDLER( mboard_read_board_32 );
+DECLARE_WRITE32_HANDLER( mboard_write_board_32 );
+DECLARE_WRITE32_HANDLER( mboard_write_LED_32 );
TIMER_DEVICE_CALLBACK( mboard_update_artwork );
diff --git a/src/mess/machine/nes_mmc.c b/src/mess/machine/nes_mmc.c
index 8a068ecfef4..5e4bc2f436e 100644
--- a/src/mess/machine/nes_mmc.c
+++ b/src/mess/machine/nes_mmc.c
@@ -137,10 +137,10 @@
#define LOG_FDS(x) do { if (VERBOSE) logerror x; } while (0)
static void ffe_irq( device_t *device, int scanline, int vblank, int blanked );
-static WRITE8_HANDLER( mapper6_l_w );
-static WRITE8_HANDLER( mapper6_w );
-static WRITE8_HANDLER( mapper8_w );
-static WRITE8_HANDLER( mapper17_l_w );
+static DECLARE_WRITE8_HANDLER( mapper6_l_w );
+static DECLARE_WRITE8_HANDLER( mapper6_w );
+static DECLARE_WRITE8_HANDLER( mapper8_w );
+static DECLARE_WRITE8_HANDLER( mapper17_l_w );
/*************************************************************
@@ -222,7 +222,7 @@ WRITE8_HANDLER( nes_low_mapper_w )
nes_state *state = space.machine().driver_data<nes_state>();
if (state->m_mmc_write_low)
- (*state->m_mmc_write_low)(space, offset, data);
+ (*state->m_mmc_write_low)(space, offset, data, mem_mask);
else
logerror("Unimplemented LOW mapper write, offset: %04x, data: %02x\n", offset + 0x4100, data);
}
@@ -232,7 +232,7 @@ READ8_HANDLER( nes_low_mapper_r )
nes_state *state = space.machine().driver_data<nes_state>();
if (state->m_mmc_read_low)
- return (*state->m_mmc_read_low)(space, offset);
+ return (*state->m_mmc_read_low)(space, offset, mem_mask);
else
logerror("Unimplemented LOW mapper read, offset: %04x\n", offset + 0x4100);
diff --git a/src/mess/machine/nes_mmc.h b/src/mess/machine/nes_mmc.h
index 6a75c019336..680693594c1 100644
--- a/src/mess/machine/nes_mmc.h
+++ b/src/mess/machine/nes_mmc.h
@@ -117,19 +117,19 @@ void pcb_handlers_setup(running_machine &machine);
int nes_pcb_reset(running_machine &machine);
-WRITE8_HANDLER( nes_low_mapper_w );
-READ8_HANDLER( nes_low_mapper_r );
-WRITE8_HANDLER( nes_chr_w );
-READ8_HANDLER( nes_chr_r );
-WRITE8_HANDLER( nes_nt_w );
-READ8_HANDLER( nes_nt_r );
+DECLARE_WRITE8_HANDLER( nes_low_mapper_w );
+DECLARE_READ8_HANDLER( nes_low_mapper_r );
+DECLARE_WRITE8_HANDLER( nes_chr_w );
+DECLARE_READ8_HANDLER( nes_chr_r );
+DECLARE_WRITE8_HANDLER( nes_nt_w );
+DECLARE_READ8_HANDLER( nes_nt_r );
-WRITE8_HANDLER( smb2jb_extra_w );
-WRITE8_HANDLER( ks7017_extra_w );
-READ8_HANDLER( ks7017_extra_r );
-WRITE8_HANDLER( unl_6035052_extra_w );
-READ8_HANDLER( unl_6035052_extra_r );
-READ8_HANDLER( waixing_sh2_chr_r );
+DECLARE_WRITE8_HANDLER( smb2jb_extra_w );
+DECLARE_WRITE8_HANDLER( ks7017_extra_w );
+DECLARE_READ8_HANDLER( ks7017_extra_r );
+DECLARE_WRITE8_HANDLER( unl_6035052_extra_w );
+DECLARE_READ8_HANDLER( unl_6035052_extra_r );
+DECLARE_READ8_HANDLER( waixing_sh2_chr_r );
//TEMPORARY PPU STUFF
diff --git a/src/mess/machine/nes_pcb.c b/src/mess/machine/nes_pcb.c
index 7b8a66c65b0..bb2ee8136be 100644
--- a/src/mess/machine/nes_pcb.c
+++ b/src/mess/machine/nes_pcb.c
@@ -1209,7 +1209,7 @@ static WRITE8_HANDLER( fxrom_w )
prg16_89ab(space.machine(), data);
break;
default:
- pxrom_w(space, offset, data);
+ pxrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -1451,7 +1451,7 @@ static WRITE8_HANDLER( hkrom_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -1504,7 +1504,7 @@ static WRITE8_HANDLER( txsrom_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -1582,7 +1582,7 @@ static WRITE8_HANDLER( tqrom_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -2618,7 +2618,7 @@ static WRITE8_HANDLER( namcot3453_w )
if (!(offset & 1))
set_nt_mirroring(space.machine(), BIT(data, 6) ? PPU_MIRROR_HIGH : PPU_MIRROR_LOW);
- dxrom_w(space, offset, data);
+ dxrom_w(space, offset, data, mem_mask);
}
/*************************************************************
@@ -2884,7 +2884,7 @@ static WRITE8_HANDLER( lz93d50_m_w )
LOG_MMC(("lz93d50_m_w, offset: %04x, data: %02x\n", offset, data));
if (!state->m_battery && !state->m_wram)
- lz93d50_w(space, offset & 0x0f, data);
+ lz93d50_w(space, offset & 0x0f, data, mem_mask);
else if (state->m_battery)
state->m_battery_ram[offset] = data;
else
@@ -2921,7 +2921,7 @@ static WRITE8_HANDLER( fjump2_w )
fjump2_set_prg(space.machine());
break;
default:
- lz93d50_m_w(space, offset & 0x0f, data);
+ lz93d50_m_w(space, offset & 0x0f, data, mem_mask);
break;
}
}
@@ -4167,7 +4167,7 @@ static WRITE8_HANDLER( tc0190fmc_p16_w )
case 0x2001:
case 0x2002:
case 0x2003:
- tc0190fmc_w(space, offset, data);
+ tc0190fmc_w(space, offset, data, mem_mask);
break;
case 0x4000:
state->m_IRQ_count_latch = (0x100 - data) & 0xff;
@@ -4290,7 +4290,7 @@ static WRITE8_HANDLER( x1005a_m_w )
break;
}
- x1005_m_w(space, offset, data);
+ x1005_m_w(space, offset, data, mem_mask);
}
/*************************************************************
@@ -5769,7 +5769,7 @@ static WRITE8_HANDLER( kay_pp_w )
switch (offset & 0x6003)
{
case 0x0000:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
mmc3_set_prg(space.machine(), state->m_mmc_prg_base, state->m_mmc_prg_mask);
break;
@@ -5778,19 +5778,19 @@ static WRITE8_HANDLER( kay_pp_w )
| (BIT(data, 3) << 2) | (BIT(data, 4) << 1) | BIT(data, 5);
if (!state->m_mmc_reg[7])
kay_pp_update_regs(space.machine());
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
mmc3_set_prg(space.machine(), state->m_mmc_prg_base, state->m_mmc_prg_mask);
break;
case 0x0003:
state->m_mmc_reg[5] = data;
kay_pp_update_regs(space.machine());
- txrom_w(space, 0x0000, data);
+ txrom_w(space, 0x0000, data, mem_mask);
mmc3_set_prg(space.machine(), state->m_mmc_prg_base, state->m_mmc_prg_mask);
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -5985,7 +5985,7 @@ static WRITE8_HANDLER( nitra_w )
{
LOG_MMC(("nitra_w, offset: %04x, data: %02x\n", offset, data));
- txrom_w(space, (offset & 0x6000) | ((offset & 0x400) >> 10), offset & 0xff);
+ txrom_w(space, (offset & 0x6000) | ((offset & 0x400) >> 10), offset & 0xff, mem_mask);
}
/*************************************************************
@@ -6387,7 +6387,7 @@ static WRITE8_HANDLER( rex_sl1632_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -6811,14 +6811,14 @@ static WRITE8_HANDLER( tcu01_m_w )
{
LOG_MMC(("tcu01_m_w, offset: %04x, data: %02x\n", offset, data));
- tcu01_l_w(space, (offset + 0x100) & 0xfff, data);
+ tcu01_l_w(space, (offset + 0x100) & 0xfff, data, mem_mask);
}
static WRITE8_HANDLER( tcu01_w )
{
LOG_MMC(("tcu01_w, offset: %04x, data: %02x\n", offset, data));
- tcu01_l_w(space, (offset + 0x100) & 0xfff, data);
+ tcu01_l_w(space, (offset + 0x100) & 0xfff, data, mem_mask);
}
/*************************************************************
@@ -7047,57 +7047,57 @@ static WRITE8_HANDLER( sgame_boog_w )
{
case 0x0000:
if (!state->m_mmc_reg[2])
- txrom_w(space, 0x0000, data);
+ txrom_w(space, 0x0000, data, mem_mask);
break;
case 0x0001:
if (!state->m_mmc_reg[2])
- txrom_w(space, 0x0001, data);
+ txrom_w(space, 0x0001, data, mem_mask);
else if (state->m_mmc_reg[3] && ((state->m_mmc_reg[0] & 0x80) == 0 || (state->m_mmc_latch1 & 0x07) < 6)) // if we use the prg16 banks and cmd=6,7 DON'T enter!
{
state->m_mmc_reg[3] = 0;
- txrom_w(space, 0x0001, data);
+ txrom_w(space, 0x0001, data, mem_mask);
}
break;
case 0x2000:
if (!state->m_mmc_reg[2])
- txrom_w(space, 0x2000, data);
+ txrom_w(space, 0x2000, data, mem_mask);
else
{
data = (data & 0xc0) | conv_table[data & 0x07];
state->m_mmc_reg[3] = 1;
- txrom_w(space, 0x0000, data);
+ txrom_w(space, 0x0000, data, mem_mask);
break;
}
break;
case 0x4000:
if (!state->m_mmc_reg[2])
- txrom_w(space, 0x4000, data);
+ txrom_w(space, 0x4000, data, mem_mask);
else
set_nt_mirroring(space.machine(), ((data >> 7) | data) & 0x01 ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
break;
case 0x4001:
if (!state->m_mmc_reg[2])
- txrom_w(space, 0x4001, data);
+ txrom_w(space, 0x4001, data, mem_mask);
else
- txrom_w(space, 0x6001, data);
+ txrom_w(space, 0x6001, data, mem_mask);
break;
case 0x6001:
if (!state->m_mmc_reg[2])
- txrom_w(space, 0x6001, data);
+ txrom_w(space, 0x6001, data, mem_mask);
else
{
- txrom_w(space, 0x4000, data);
- txrom_w(space, 0x4001, data);
+ txrom_w(space, 0x4000, data, mem_mask);
+ txrom_w(space, 0x4001, data, mem_mask);
}
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -7149,13 +7149,13 @@ static WRITE8_HANDLER( sgame_lion_w )
case 0x2000:
state->m_map114_reg_enabled = 1;
data = (data & 0xc0) | conv_table[data & 0x07];
- txrom_w(space, 0x0000, data);
+ txrom_w(space, 0x0000, data, mem_mask);
break;
case 0x4000:
if (state->m_map114_reg_enabled && (state->m_map114_reg & 0x80) == 0)
{
state->m_map114_reg_enabled = 0;
- txrom_w(space, 0x0001, data);
+ txrom_w(space, 0x0001, data, mem_mask);
}
break;
}
@@ -7165,12 +7165,12 @@ static WRITE8_HANDLER( sgame_lion_w )
switch (offset & 0x03)
{
case 0x02:
- txrom_w(space, 0x6000, data);
+ txrom_w(space, 0x6000, data, mem_mask);
break;
case 0x03:
- txrom_w(space, 0x6001, data);
- txrom_w(space, 0x4000, data);
- txrom_w(space, 0x4001, data);
+ txrom_w(space, 0x6001, data, mem_mask);
+ txrom_w(space, 0x4000, data, mem_mask);
+ txrom_w(space, 0x4001, data, mem_mask);
break;
}
}
@@ -7452,7 +7452,7 @@ static WRITE8_HANDLER( tengen_800037_w )
break;
default:
- tengen_800032_w(space, offset, data);
+ tengen_800032_w(space, offset, data, mem_mask);
break;
}
}
@@ -7577,7 +7577,7 @@ static WRITE8_HANDLER( txc_tw_m_w )
{
LOG_MMC(("txctw_m_w, offset: %04x, data: %04x\n", offset, data));
- txc_tw_l_w(space, offset & 0xff, data); // offset does not really count for this mapper
+ txc_tw_l_w(space, offset & 0xff, data, mem_mask); // offset does not really count for this mapper
}
/* writes to 0x8000-0xffff are like MMC3 but no PRG bankswitch (beacuse it is handled by low writes) */
@@ -7705,7 +7705,7 @@ static WRITE8_HANDLER( waixing_a_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -7829,11 +7829,11 @@ static WRITE8_HANDLER( waixing_f_w )
mmc3_set_prg(space.machine(), state->m_mmc_prg_base, state->m_mmc_prg_mask);
}
else
- waixing_a_w(space, offset, data);
+ waixing_a_w(space, offset, data, mem_mask);
break;
default:
- waixing_a_w(space, offset, data);
+ waixing_a_w(space, offset, data, mem_mask);
break;
}
}
@@ -7919,7 +7919,7 @@ static WRITE8_HANDLER( waixing_g_w )
break;
default:
- waixing_a_w(space, offset, data);
+ waixing_a_w(space, offset, data, mem_mask);
break;
}
}
@@ -7961,9 +7961,9 @@ static WRITE8_HANDLER( waixing_h_w )
state->m_mmc_prg_base = (data << 5) & 0x40;
state->m_mmc_prg_mask = 0x3f;
mmc3_set_prg(space.machine(), state->m_mmc_prg_base, state->m_mmc_prg_mask);
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
break;
@@ -7972,7 +7972,7 @@ static WRITE8_HANDLER( waixing_h_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -8399,7 +8399,7 @@ static WRITE8_HANDLER( unl_8237_w )
case 0x3000:
state->m_mmc_reg[2] = 1;
data = (data & 0xc0) | conv_table[data & 0x07];
- txrom_w(space, 0x0000, data);
+ txrom_w(space, 0x0000, data, mem_mask);
break;
case 0x4000:
@@ -8407,7 +8407,7 @@ static WRITE8_HANDLER( unl_8237_w )
if (state->m_mmc_reg[2])
{
state->m_mmc_reg[2] = 0;
- txrom_w(space, 0x0001, data);
+ txrom_w(space, 0x0001, data, mem_mask);
}
break;
@@ -8415,9 +8415,9 @@ static WRITE8_HANDLER( unl_8237_w )
break;
case 0x7000:
- txrom_w(space, 0x6001, data);
- txrom_w(space, 0x4000, data);
- txrom_w(space, 0x4001, data);
+ txrom_w(space, 0x6001, data, mem_mask);
+ txrom_w(space, 0x4000, data, mem_mask);
+ txrom_w(space, 0x4001, data, mem_mask);
break;
}
}
@@ -8538,22 +8538,22 @@ static WRITE8_HANDLER( unl_kof97_w )
if (offset == 0x1000)
{
data = unl_kof97_unscramble(data);
- txrom_w(space, 0x0001, data);
+ txrom_w(space, 0x0001, data, mem_mask);
}
else if (offset == 0x2000)
{
data = unl_kof97_unscramble(data);
- txrom_w(space, 0x0000, data);
+ txrom_w(space, 0x0000, data, mem_mask);
}
else if (offset == 0x5000)
{
data = unl_kof97_unscramble(data);
- txrom_w(space, 0x4001, data);
+ txrom_w(space, 0x4001, data, mem_mask);
}
else if (offset == 0x7000)
{
data = unl_kof97_unscramble(data);
- txrom_w(space, 0x6001, data);
+ txrom_w(space, 0x6001, data, mem_mask);
}
else /* Other addresses behaves like MMC3, up to unscrambling data */
{
@@ -8568,7 +8568,7 @@ static WRITE8_HANDLER( unl_kof97_w )
case 0x2000: /* are these ever called?!? */
case 0x2001:
data = unl_kof97_unscramble(data);
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -8590,7 +8590,7 @@ static WRITE8_HANDLER( ks7057_w )
{
LOG_MMC(("ks7057_w, offset: %04x, data: %02x\n", offset, data));
offset = (BIT(offset, 0) << 1) | BIT(offset, 1) | (offset & ~0x03);
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
}
/*************************************************************
@@ -8785,12 +8785,12 @@ static WRITE8_HANDLER( kof96_w )
{
case 0x0000:
state->m_mmc_reg[2] = 1;
- txrom_w(space, 0x0000, data);
+ txrom_w(space, 0x0000, data, mem_mask);
break;
case 0x0001:
if (state->m_mmc_reg[2])
- txrom_w(space, 0x0001, data);
+ txrom_w(space, 0x0001, data, mem_mask);
break;
case 0x0002:
@@ -8806,7 +8806,7 @@ static WRITE8_HANDLER( kof96_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -9172,7 +9172,7 @@ static WRITE8_HANDLER( unl_sf3_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -9290,7 +9290,7 @@ static WRITE8_HANDLER( btl_smb11_w )
{
LOG_MMC(("btl_smb11_w, offset: %04x, data: %02x\n", offset, data));
- txrom_w(space, (offset & 0x6000) | ((offset & 0x04) >> 2), data);
+ txrom_w(space, (offset & 0x6000) | ((offset & 0x04) >> 2), data, mem_mask);
}
/*************************************************************
@@ -9589,7 +9589,7 @@ static WRITE8_HANDLER( btl_pika_y2k_w )
case 0x2000:
state->m_mmc_reg[0] = 0;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -9759,7 +9759,7 @@ static WRITE8_HANDLER( fk23c_w )
fk23c_set_chr(space.machine());
}
else
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
case 0x2000:
@@ -9767,7 +9767,7 @@ static WRITE8_HANDLER( fk23c_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -10684,7 +10684,7 @@ static WRITE8_HANDLER( bmc_sbig7_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -11033,7 +11033,7 @@ static WRITE8_HANDLER( bmc_gc6in1_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -11042,7 +11042,7 @@ static WRITE8_HANDLER( bmc_gc6in1_w )
switch (offset & 0x6001)
{
case 0x0000:
- txrom_w(space, 0x4000, data);
+ txrom_w(space, 0x4000, data, mem_mask);
break;
case 0x0001:
@@ -11088,7 +11088,7 @@ static WRITE8_HANDLER( bmc_gc6in1_w )
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -11382,11 +11382,11 @@ static WRITE8_HANDLER( h2288_w )
switch (offset & 0x6001)
{
case 0x0000:
- txrom_w(space, 0x0000, (data & 0xc0) | conv_table[data & 0x07]);
+ txrom_w(space, 0x0000, (data & 0xc0) | conv_table[data & 0x07], mem_mask);
break;
default:
- txrom_w(space, offset, data);
+ txrom_w(space, offset, data, mem_mask);
break;
}
}
@@ -11802,9 +11802,9 @@ static WRITE8_HANDLER( someri_w )
switch (state->m_mmc_cmd1)
{
- case 0x00: someri_vrc2_w(space, offset, data); break;
- case 0x01: someri_mmc3_w(space, offset, data); break;
- case 0x02: someri_mmc1_w(space, offset, data); break;
+ case 0x00: someri_vrc2_w(space, offset, data, mem_mask); break;
+ case 0x01: someri_mmc3_w(space, offset, data, mem_mask); break;
+ case 0x02: someri_mmc1_w(space, offset, data, mem_mask); break;
}
}
diff --git a/src/mess/machine/partner.c b/src/mess/machine/partner.c
index 19c5b09aca6..a2cfd608be1 100644
--- a/src/mess/machine/partner.c
+++ b/src/mess/machine/partner.c
@@ -366,8 +366,8 @@ static WRITE_LINE_DEVICE_HANDLER( hrq_w )
i8257_hlda_w(device, state);
}
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
I8257_INTERFACE( partner_dma )
{
diff --git a/src/mess/machine/pc_fdc.c b/src/mess/machine/pc_fdc.c
index 80feb880aec..9a6a33cbbde 100644
--- a/src/mess/machine/pc_fdc.c
+++ b/src/mess/machine/pc_fdc.c
@@ -531,7 +531,7 @@ WRITE8_HANDLER ( pc_fdc_w )
case 1: /* n/a */
break;
case 2:
- pc_fdc_dor_w(space, 0, data);
+ pc_fdc_dor_w(space, 0, data, mem_mask);
break;
case 3:
/* tape drive select? */
@@ -568,7 +568,7 @@ WRITE8_HANDLER ( pcjr_fdc_w )
switch(offset)
{
case 2:
- pcjr_fdc_dor_w( space, 0, data );
+ pcjr_fdc_dor_w( space, 0, data, mem_mask );
break;
case 4:
case 7:
diff --git a/src/mess/machine/pc_fdc.h b/src/mess/machine/pc_fdc.h
index 9317fea12a2..a5b32975a9a 100644
--- a/src/mess/machine/pc_fdc.h
+++ b/src/mess/machine/pc_fdc.h
@@ -43,9 +43,9 @@ void pc_fdc_set_tc_state(running_machine &machine, int state);
int pc_fdc_dack_r(running_machine &machine, address_space &space);
void pc_fdc_dack_w(running_machine &machine, address_space &space, int data);
-READ8_HANDLER(pc_fdc_r);
-WRITE8_HANDLER(pc_fdc_w);
-WRITE8_HANDLER ( pcjr_fdc_w );
+DECLARE_READ8_HANDLER(pc_fdc_r);
+DECLARE_WRITE8_HANDLER(pc_fdc_w);
+DECLARE_WRITE8_HANDLER ( pcjr_fdc_w );
#endif /* PC_FDC_H */
diff --git a/src/mess/machine/pc_joy.h b/src/mess/machine/pc_joy.h
index 28f9bf88d29..381f1821347 100644
--- a/src/mess/machine/pc_joy.h
+++ b/src/mess/machine/pc_joy.h
@@ -11,8 +11,8 @@
#include "emu.h"
-READ8_HANDLER ( pc_JOY_r );
-WRITE8_HANDLER ( pc_JOY_w );
+DECLARE_READ8_HANDLER ( pc_JOY_r );
+DECLARE_WRITE8_HANDLER ( pc_JOY_w );
INPUT_PORTS_EXTERN( pc_joystick_none );
INPUT_PORTS_EXTERN( pc_joystick );
diff --git a/src/mess/machine/radio86.c b/src/mess/machine/radio86.c
index 01b7e70d555..b03e7a67996 100644
--- a/src/mess/machine/radio86.c
+++ b/src/mess/machine/radio86.c
@@ -140,8 +140,8 @@ static WRITE_LINE_DEVICE_HANDLER( hrq_w )
i8257_hlda_w(device, state);
}
-static UINT8 memory_read_byte(address_space &space, offs_t address) { return space.read_byte(address); }
-static void memory_write_byte(address_space &space, offs_t address, UINT8 data) { space.write_byte(address, data); }
+static UINT8 memory_read_byte(address_space &space, offs_t address, UINT8 mem_mask) { return space.read_byte(address); }
+static void memory_write_byte(address_space &space, offs_t address, UINT8 data, UINT8 mem_mask) { space.write_byte(address, data); }
I8257_INTERFACE( radio86_dma )
{
diff --git a/src/mess/machine/sgi.h b/src/mess/machine/sgi.h
index 0b8591fac2a..71ef1369e66 100644
--- a/src/mess/machine/sgi.h
+++ b/src/mess/machine/sgi.h
@@ -11,8 +11,8 @@
void sgi_mc_init(running_machine &machine);
-READ32_HANDLER(sgi_mc_r);
-WRITE32_HANDLER(sgi_mc_w);
+DECLARE_READ32_HANDLER(sgi_mc_r);
+DECLARE_WRITE32_HANDLER(sgi_mc_w);
#endif /* _SGIMC_H */
diff --git a/src/mess/machine/sst39vfx.h b/src/mess/machine/sst39vfx.h
index 3fbdb852e6b..2b18df7b0eb 100644
--- a/src/mess/machine/sst39vfx.h
+++ b/src/mess/machine/sst39vfx.h
@@ -84,8 +84,8 @@ UINT32 sst39vfx_get_size( device_t *device );
// read/write handler
#if 0
-READ8_HANDLER( sst39vfx_r );
-WRITE8_HANDLER( sst39vfx_w );
+DECLARE_READ8_HANDLER( sst39vfx_r );
+DECLARE_WRITE8_HANDLER( sst39vfx_w );
#endif
// load/save
diff --git a/src/mess/machine/thomflop.c b/src/mess/machine/thomflop.c
index 1d7dd4fe31f..7c66e5f5b0e 100644
--- a/src/mess/machine/thomflop.c
+++ b/src/mess/machine/thomflop.c
@@ -1824,19 +1824,19 @@ READ8_HANDLER ( to7_floppy_r )
{
case 1:
- return to7_5p14sd_r( space, offset );
+ return to7_5p14sd_r( space, offset, mem_mask );
case 2:
- return to7_5p14_r( space, offset );
+ return to7_5p14_r( space, offset, mem_mask );
case 3:
return thmfc_floppy_r( space, offset );
case 4:
- return to7_qdd_r( space, offset );
+ return to7_qdd_r( space, offset, mem_mask );
case 5:
- return to7_network_r( space, offset );
+ return to7_network_r( space, offset, mem_mask );
}
return 0;
@@ -1850,11 +1850,11 @@ WRITE8_HANDLER ( to7_floppy_w )
{
case 1:
- to7_5p14sd_w( space, offset, data );
+ to7_5p14sd_w( space, offset, data, mem_mask );
return;
case 2:
- to7_5p14_w( space, offset, data );
+ to7_5p14_w( space, offset, data, mem_mask );
break;
case 3:
@@ -1869,11 +1869,11 @@ WRITE8_HANDLER ( to7_floppy_w )
break;
case 4:
- to7_qdd_w( space, offset, data );
+ to7_qdd_w( space, offset, data, mem_mask );
break;
case 5:
- to7_network_w( space, offset, data );
+ to7_network_w( space, offset, data, mem_mask );
break;
}
}
@@ -1918,7 +1918,7 @@ READ8_HANDLER ( to9_floppy_r )
if ( THOM_FLOPPY_EXT )
return to7_floppy_r( space, offset );
else
- return to7_5p14_r( space, offset );
+ return to7_5p14_r( space, offset, mem_mask );
}
WRITE8_HANDLER ( to9_floppy_w )
@@ -1926,7 +1926,7 @@ WRITE8_HANDLER ( to9_floppy_w )
if ( THOM_FLOPPY_EXT )
to7_floppy_w( space, offset, data );
else
- to7_5p14_w( space, offset, data );
+ to7_5p14_w( space, offset, data, mem_mask );
}
WRITE_LINE_DEVICE_HANDLER(thomson_index_callback)
diff --git a/src/mess/machine/thomflop.h b/src/mess/machine/thomflop.h
index b1f21b87453..0a49e54cb9e 100644
--- a/src/mess/machine/thomflop.h
+++ b/src/mess/machine/thomflop.h
@@ -33,20 +33,20 @@ extern UINT8 to7_floppy_bank;
/* external controllers */
extern void to7_floppy_init ( running_machine &machine, void* base );
extern void to7_floppy_reset ( running_machine &machine );
-extern READ8_HANDLER ( to7_floppy_r );
-extern WRITE8_HANDLER ( to7_floppy_w );
+extern DECLARE_READ8_HANDLER ( to7_floppy_r );
+extern DECLARE_WRITE8_HANDLER ( to7_floppy_w );
/* TO9 internal (WD2793) & external controllers */
extern void to9_floppy_init ( running_machine &machine, void* int_base, void* ext_base );
extern void to9_floppy_reset ( running_machine &machine );
-extern READ8_HANDLER ( to9_floppy_r );
-extern WRITE8_HANDLER ( to9_floppy_w );
+extern DECLARE_READ8_HANDLER ( to9_floppy_r );
+extern DECLARE_WRITE8_HANDLER ( to9_floppy_w );
/* TO8 internal (THMFC1) controller */
extern void thmfc_floppy_init ( running_machine &machine );
extern void thmfc_floppy_reset ( running_machine &machine );
-extern READ8_HANDLER ( thmfc_floppy_r );
-extern WRITE8_HANDLER ( thmfc_floppy_w );
+extern DECLARE_READ8_HANDLER ( thmfc_floppy_r );
+extern DECLARE_WRITE8_HANDLER ( thmfc_floppy_w );
extern WRITE_LINE_DEVICE_HANDLER(thomson_index_callback);
diff --git a/src/mess/machine/ti990.h b/src/mess/machine/ti990.h
index b26ccb47de7..ee683321e2c 100644
--- a/src/mess/machine/ti990.h
+++ b/src/mess/machine/ti990.h
@@ -14,8 +14,8 @@ void ti990_set_int13(running_machine &machine, int state);
void ti990_hold_load(running_machine &machine);
- READ8_HANDLER ( ti990_panel_read );
-WRITE8_HANDLER ( ti990_panel_write );
+ DECLARE_READ8_HANDLER ( ti990_panel_read );
+DECLARE_WRITE8_HANDLER ( ti990_panel_write );
void ti990_line_interrupt(running_machine &machine);
void ti990_ckon_ckof_callback(device_t *device, int state);
diff --git a/src/mess/video/gf4500.h b/src/mess/video/gf4500.h
index 126161696f0..440730529a8 100644
--- a/src/mess/video/gf4500.h
+++ b/src/mess/video/gf4500.h
@@ -9,8 +9,8 @@
#ifndef __GF4500_H__
#define __GF4500_H__
-READ32_HANDLER( gf4500_r );
-WRITE32_HANDLER( gf4500_w );
+DECLARE_READ32_HANDLER( gf4500_r );
+DECLARE_WRITE32_HANDLER( gf4500_w );
VIDEO_START( gf4500 );
SCREEN_UPDATE_RGB32( gf4500 );
diff --git a/src/mess/video/newport.c b/src/mess/video/newport.c
index f37adb1832c..8b4e98f35c3 100644
--- a/src/mess/video/newport.c
+++ b/src/mess/video/newport.c
@@ -42,15 +42,15 @@ INLINE void ATTR_PRINTF(3,4) verboselog(running_machine &machine, int n_level, c
}
}
-static READ32_HANDLER( newport_cmap0_r );
-static WRITE32_HANDLER( newport_cmap0_w );
-static READ32_HANDLER( newport_cmap1_r );
-static READ32_HANDLER( newport_xmap0_r );
-static WRITE32_HANDLER( newport_xmap0_w );
-static READ32_HANDLER( newport_xmap1_r );
-static WRITE32_HANDLER( newport_xmap1_w );
-static READ32_HANDLER( newport_vc2_r );
-static WRITE32_HANDLER( newport_vc2_w );
+static DECLARE_READ32_HANDLER( newport_cmap0_r );
+static DECLARE_WRITE32_HANDLER( newport_cmap0_w );
+static DECLARE_READ32_HANDLER( newport_cmap1_r );
+static DECLARE_READ32_HANDLER( newport_xmap0_r );
+static DECLARE_WRITE32_HANDLER( newport_xmap0_w );
+static DECLARE_READ32_HANDLER( newport_xmap1_r );
+static DECLARE_WRITE32_HANDLER( newport_xmap1_w );
+static DECLARE_READ32_HANDLER( newport_vc2_r );
+static DECLARE_WRITE32_HANDLER( newport_vc2_w );
struct VC2_t
{
diff --git a/src/mess/video/newport.h b/src/mess/video/newport.h
index 4dea6944f92..a21b93cf8b1 100644
--- a/src/mess/video/newport.h
+++ b/src/mess/video/newport.h
@@ -9,7 +9,7 @@
extern VIDEO_START( newport );
extern SCREEN_UPDATE_RGB32( newport );
-READ32_HANDLER( newport_rex3_r );
-WRITE32_HANDLER( newport_rex3_w );
+DECLARE_READ32_HANDLER( newport_rex3_r );
+DECLARE_WRITE32_HANDLER( newport_rex3_w );
#endif
diff --git a/src/mess/video/pc_aga.c b/src/mess/video/pc_aga.c
index 5f8bda52964..06cb047fa0d 100644
--- a/src/mess/video/pc_aga.c
+++ b/src/mess/video/pc_aga.c
@@ -814,7 +814,7 @@ static struct {
// but now cga and mda are splitted in mess
WRITE8_HANDLER( pc200_cga_w )
{
- pc_aga_cga_w(space, offset,data);
+ pc_aga_cga_w(space, offset,data,mem_mask);
switch(offset) {
case 4:
pc200.portd |= 0x20;
@@ -872,7 +872,7 @@ READ8_HANDLER ( pc200_cga_r )
break;
default:
- result = pc_aga_cga_r(space, offset);
+ result = pc_aga_cga_r(space, offset, mem_mask);
break;
}
return result;
diff --git a/src/mess/video/pc_aga.h b/src/mess/video/pc_aga.h
index 039b90b5007..9749a49d8fe 100644
--- a/src/mess/video/pc_aga.h
+++ b/src/mess/video/pc_aga.h
@@ -28,16 +28,16 @@ MACHINE_CONFIG_EXTERN( pcvideo_pc200 );
enum AGA_MODE { AGA_OFF, AGA_COLOR, AGA_MONO };
void pc_aga_set_mode(running_machine &machine, AGA_MODE mode);
-READ8_HANDLER( pc_aga_videoram_r );
-WRITE8_HANDLER( pc_aga_videoram_w );
-
-READ8_HANDLER( pc200_videoram_r );
-WRITE8_HANDLER( pc200_videoram_w );
-READ16_HANDLER( pc200_videoram16le_r );
-WRITE16_HANDLER( pc200_videoram16le_w );
-
-READ8_HANDLER( pc200_cga_r );
-WRITE8_HANDLER( pc200_cga_w );
-READ16_HANDLER( pc200_cga16le_r );
-WRITE16_HANDLER( pc200_cga16le_w );
+DECLARE_READ8_HANDLER( pc_aga_videoram_r );
+DECLARE_WRITE8_HANDLER( pc_aga_videoram_w );
+
+DECLARE_READ8_HANDLER( pc200_videoram_r );
+DECLARE_WRITE8_HANDLER( pc200_videoram_w );
+DECLARE_READ16_HANDLER( pc200_videoram16le_r );
+DECLARE_WRITE16_HANDLER( pc200_videoram16le_w );
+
+DECLARE_READ8_HANDLER( pc200_cga_r );
+DECLARE_WRITE8_HANDLER( pc200_cga_w );
+DECLARE_READ16_HANDLER( pc200_cga16le_r );
+DECLARE_WRITE16_HANDLER( pc200_cga16le_w );