diff options
author | 2012-09-17 09:16:44 +0000 | |
---|---|---|
committer | 2012-09-17 09:16:44 +0000 | |
commit | 0dc663e2e920bad3c4c1247dfb83c66a7b06d354 (patch) | |
tree | 9364ca67c09e77b54cd7aec72c8040c441fc3a43 /src/mess/machine | |
parent | 3cce7e019e095296b5ce2bb45d19b1209bed961d (diff) |
Memory handler cleanup 3. Add mem_mask parameter
to 8-bit handlers to match the others. To ease
pain, added DECLARE_READ/WRITE_HANDLER macros that
set up a default parameter. Also updated devcb so
that the handlers can be called with or without the
mem_mask. [Aaron Giles]
Diffstat (limited to 'src/mess/machine')
-rw-r--r-- | src/mess/machine/990_dk.h | 4 | ||||
-rw-r--r-- | src/mess/machine/990_hd.h | 4 | ||||
-rw-r--r-- | src/mess/machine/apple2gs.c | 12 | ||||
-rw-r--r-- | src/mess/machine/c65.c | 6 | ||||
-rw-r--r-- | src/mess/machine/concept.c | 20 | ||||
-rw-r--r-- | src/mess/machine/dgn_beta.c | 34 | ||||
-rw-r--r-- | src/mess/machine/lux21046.c | 4 | ||||
-rw-r--r-- | src/mess/machine/lynx.c | 2 | ||||
-rw-r--r-- | src/mess/machine/mboard.h | 18 | ||||
-rw-r--r-- | src/mess/machine/nes_mmc.c | 12 | ||||
-rw-r--r-- | src/mess/machine/nes_mmc.h | 24 | ||||
-rw-r--r-- | src/mess/machine/nes_pcb.c | 144 | ||||
-rw-r--r-- | src/mess/machine/partner.c | 4 | ||||
-rw-r--r-- | src/mess/machine/pc_fdc.c | 4 | ||||
-rw-r--r-- | src/mess/machine/pc_fdc.h | 6 | ||||
-rw-r--r-- | src/mess/machine/pc_joy.h | 4 | ||||
-rw-r--r-- | src/mess/machine/radio86.c | 4 | ||||
-rw-r--r-- | src/mess/machine/sgi.h | 4 | ||||
-rw-r--r-- | src/mess/machine/sst39vfx.h | 4 | ||||
-rw-r--r-- | src/mess/machine/thomflop.c | 20 | ||||
-rw-r--r-- | src/mess/machine/thomflop.h | 12 | ||||
-rw-r--r-- | src/mess/machine/ti990.h | 4 |
22 files changed, 176 insertions, 174 deletions
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); |