summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/cps3.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/cps3.c')
-rw-r--r--src/mame/drivers/cps3.c268
1 files changed, 124 insertions, 144 deletions
diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c
index 767c373471e..4d069418296 100644
--- a/src/mame/drivers/cps3.c
+++ b/src/mame/drivers/cps3.c
@@ -1248,35 +1248,32 @@ static SCREEN_UPDATE_RGB32(cps3)
return 0;
}
-static READ32_HANDLER( cps3_ssram_r )
+READ32_MEMBER(cps3_state::cps3_ssram_r)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
if (offset>0x8000/4)
- return LITTLE_ENDIANIZE_INT32(state->m_ss_ram[offset]);
+ return LITTLE_ENDIANIZE_INT32(m_ss_ram[offset]);
else
- return state->m_ss_ram[offset];
+ return m_ss_ram[offset];
}
-static WRITE32_HANDLER( cps3_ssram_w )
+WRITE32_MEMBER(cps3_state::cps3_ssram_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
if (offset>0x8000/4)
{
// we only want to endian-flip the character data, the tilemap info is fine
data = LITTLE_ENDIANIZE_INT32(data);
mem_mask = LITTLE_ENDIANIZE_INT32(mem_mask);
- gfx_element_mark_dirty(space->machine().gfx[0], offset/16);
+ gfx_element_mark_dirty(machine().gfx[0], offset/16);
}
- COMBINE_DATA(&state->m_ss_ram[offset]);
+ COMBINE_DATA(&m_ss_ram[offset]);
}
-static WRITE32_HANDLER( cps3_0xc0000000_ram_w )
+WRITE32_MEMBER(cps3_state::cps3_0xc0000000_ram_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
- COMBINE_DATA( &state->m_0xc0000000_ram[offset] );
+ COMBINE_DATA( &m_0xc0000000_ram[offset] );
// store a decrypted copy
- state->m_0xc0000000_ram_decrypted[offset] = state->m_0xc0000000_ram[offset]^cps3_mask(offset*4+0xc0000000, state->m_key1, state->m_key2);
+ m_0xc0000000_ram_decrypted[offset] = m_0xc0000000_ram[offset]^cps3_mask(offset*4+0xc0000000, m_key1, m_key2);
}
@@ -1317,15 +1314,14 @@ DIRECT_UPDATE_HANDLER( cps3_direct_handler )
}
-static WRITE32_HANDLER( cram_bank_w )
+WRITE32_MEMBER(cps3_state::cram_bank_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
if (ACCESSING_BITS_0_7)
{
// this seems to be related to accesses to the 0x04100000 region
- if (state->m_cram_bank != data)
+ if (m_cram_bank != data)
{
- state->m_cram_bank = data;
+ m_cram_bank = data;
//if(data&0xfffffff0)
//bank_w 00000000, ffff0000
//bank_w 00000001, ffff0000
@@ -1347,34 +1343,31 @@ static WRITE32_HANDLER( cram_bank_w )
}
}
-static READ32_HANDLER( cram_data_r )
+READ32_MEMBER(cps3_state::cram_data_r)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
- UINT32 fulloffset = (((state->m_cram_bank&0x7)*0x100000)/4) + offset;
+ UINT32 fulloffset = (((m_cram_bank&0x7)*0x100000)/4) + offset;
- return LITTLE_ENDIANIZE_INT32(state->m_char_ram[fulloffset]);
+ return LITTLE_ENDIANIZE_INT32(m_char_ram[fulloffset]);
}
-static WRITE32_HANDLER( cram_data_w )
+WRITE32_MEMBER(cps3_state::cram_data_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
- UINT32 fulloffset = (((state->m_cram_bank&0x7)*0x100000)/4) + offset;
+ UINT32 fulloffset = (((m_cram_bank&0x7)*0x100000)/4) + offset;
mem_mask = LITTLE_ENDIANIZE_INT32(mem_mask);
data = LITTLE_ENDIANIZE_INT32(data);
- COMBINE_DATA(&state->m_char_ram[fulloffset]);
- gfx_element_mark_dirty(space->machine().gfx[1], fulloffset/0x40);
+ COMBINE_DATA(&m_char_ram[fulloffset]);
+ gfx_element_mark_dirty(machine().gfx[1], fulloffset/0x40);
}
/* FLASH ROM ACCESS */
-static READ32_HANDLER( cps3_gfxflash_r )
+READ32_MEMBER(cps3_state::cps3_gfxflash_r)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
UINT32 result = 0;
- if (state->m_cram_gfxflash_bank&1) offset += 0x200000/4;
+ if (m_cram_gfxflash_bank&1) offset += 0x200000/4;
- fujitsu_29f016a_device *chip0 = state->m_simm[2 + state->m_cram_gfxflash_bank/8][(state->m_cram_gfxflash_bank % 8) & ~1];
- fujitsu_29f016a_device *chip1 = state->m_simm[2 + state->m_cram_gfxflash_bank/8][(state->m_cram_gfxflash_bank % 8) | 1];
+ fujitsu_29f016a_device *chip0 = m_simm[2 + m_cram_gfxflash_bank/8][(m_cram_gfxflash_bank % 8) & ~1];
+ fujitsu_29f016a_device *chip1 = m_simm[2 + m_cram_gfxflash_bank/8][(m_cram_gfxflash_bank % 8) | 1];
if (chip0 == NULL || chip1 == NULL)
return 0xffffffff;
@@ -1401,19 +1394,18 @@ static READ32_HANDLER( cps3_gfxflash_r )
result |= chip1->read( (offset<<1)+0x1 ) << 0;
}
- //printf("read GFX flash chips addr %02x returning %08x mem_mask %08x crambank %08x gfxbank %08x\n", offset*2, result,mem_mask, state->m_cram_bank, state->m_cram_gfxflash_bank );
+ //printf("read GFX flash chips addr %02x returning %08x mem_mask %08x crambank %08x gfxbank %08x\n", offset*2, result,mem_mask, m_cram_bank, m_cram_gfxflash_bank );
return result;
}
-static WRITE32_HANDLER( cps3_gfxflash_w )
+WRITE32_MEMBER(cps3_state::cps3_gfxflash_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
int command;
- if (state->m_cram_gfxflash_bank&1) offset += 0x200000/4;
+ if (m_cram_gfxflash_bank&1) offset += 0x200000/4;
- fujitsu_29f016a_device *chip0 = state->m_simm[2 + state->m_cram_gfxflash_bank/8][(state->m_cram_gfxflash_bank % 8) & ~1];
- fujitsu_29f016a_device *chip1 = state->m_simm[2 + state->m_cram_gfxflash_bank/8][(state->m_cram_gfxflash_bank % 8) | 1];
+ fujitsu_29f016a_device *chip0 = m_simm[2 + m_cram_gfxflash_bank/8][(m_cram_gfxflash_bank % 8) & ~1];
+ fujitsu_29f016a_device *chip1 = m_simm[2 + m_cram_gfxflash_bank/8][(m_cram_gfxflash_bank % 8) | 1];
if (chip0 == NULL || chip1 == NULL)
return;
@@ -1447,11 +1439,11 @@ static WRITE32_HANDLER( cps3_gfxflash_w )
/* make a copy in the linear memory region we actually use for drawing etc. having it stored in interleaved flash roms isnt' very useful */
{
- UINT32* romdata = (UINT32*)state->m_user5region;
+ UINT32* romdata = (UINT32*)m_user5region;
int real_offset = 0;
UINT32 newdata;
- real_offset = ((state->m_cram_gfxflash_bank&0x3e) * 0x200000) + offset*4;
+ real_offset = ((m_cram_gfxflash_bank&0x3e) * 0x200000) + offset*4;
newdata =((chip0->read_raw(((offset*2)&0xfffffffe)+0)<<8) |
(chip0->read_raw(((offset*2)&0xfffffffe)+1)<<24) |
@@ -1501,25 +1493,23 @@ static UINT32 cps3_flashmain_r(address_space *space, int which, UINT32 offset, U
-static READ32_HANDLER( cps3_flash1_r )
+READ32_MEMBER(cps3_state::cps3_flash1_r)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
- UINT32 retvalue = cps3_flashmain_r(space, 0, offset,mem_mask);
+ UINT32 retvalue = cps3_flashmain_r(&space, 0, offset,mem_mask);
- if (state->m_altEncryption) return retvalue;
+ if (m_altEncryption) return retvalue;
- retvalue = retvalue ^ cps3_mask(0x6000000+offset*4, state->m_key1, state->m_key2);
+ retvalue = retvalue ^ cps3_mask(0x6000000+offset*4, m_key1, m_key2);
return retvalue;
}
-static READ32_HANDLER( cps3_flash2_r )
+READ32_MEMBER(cps3_state::cps3_flash2_r)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
- UINT32 retvalue = cps3_flashmain_r(space, 1, offset,mem_mask);
+ UINT32 retvalue = cps3_flashmain_r(&space, 1, offset,mem_mask);
- if (state->m_altEncryption) return retvalue;
+ if (m_altEncryption) return retvalue;
- retvalue = retvalue ^ cps3_mask(0x6800000+offset*4, state->m_key1, state->m_key2);
+ retvalue = retvalue ^ cps3_mask(0x6800000+offset*4, m_key1, m_key2);
return retvalue;
}
@@ -1584,19 +1574,18 @@ static void cps3_flashmain_w(running_machine &machine, int which, UINT32 offset,
}
}
-static WRITE32_HANDLER( cps3_flash1_w )
+WRITE32_MEMBER(cps3_state::cps3_flash1_w)
{
- cps3_flashmain_w(space->machine(),0,offset,data,mem_mask);
+ cps3_flashmain_w(machine(),0,offset,data,mem_mask);
}
-static WRITE32_HANDLER( cps3_flash2_w )
+WRITE32_MEMBER(cps3_state::cps3_flash2_w)
{
- cps3_flashmain_w(space->machine(),1,offset,data,mem_mask);
+ cps3_flashmain_w(machine(),1,offset,data,mem_mask);
}
-static WRITE32_HANDLER( cram_gfxflash_bank_w )
+WRITE32_MEMBER(cps3_state::cram_gfxflash_bank_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
if (ACCESSING_BITS_24_31)
{
//printf("cram_gfxflash_bank_w MSB32 %08x\n",data);
@@ -1640,8 +1629,8 @@ static WRITE32_HANDLER( cram_gfxflash_bank_w )
SIMM 7 (Rom 70/71) ** NOT USED (would follow on in sequence tho)
*/
- state->m_cram_gfxflash_bank = (data & 0xffff0000) >> 16;
- state->m_cram_gfxflash_bank-= 0x0002;// as with sound access etc. first 4 meg is 'special' and skipped
+ m_cram_gfxflash_bank = (data & 0xffff0000) >> 16;
+ m_cram_gfxflash_bank-= 0x0002;// as with sound access etc. first 4 meg is 'special' and skipped
}
if (ACCESSING_BITS_0_7)
@@ -1652,23 +1641,23 @@ static WRITE32_HANDLER( cram_gfxflash_bank_w )
}
// this seems to be dma active flags, and maybe vblank... not if it is anything else
-static READ32_HANDLER( cps3_vbl_r )
+READ32_MEMBER(cps3_state::cps3_vbl_r)
{
return 0x00000000;
}
-static READ32_HANDLER( cps3_unk_io_r )
+READ32_MEMBER(cps3_state::cps3_unk_io_r)
{
// warzard will crash before booting if you return anything here
return 0xffffffff;
}
-static READ32_HANDLER( cps3_40C0000_r )
+READ32_MEMBER(cps3_state::cps3_40C0000_r)
{
return 0x00000000;
}
-static READ32_HANDLER( cps3_40C0004_r )
+READ32_MEMBER(cps3_state::cps3_40C0004_r)
{
return 0x00000000;
}
@@ -1676,15 +1665,14 @@ static READ32_HANDLER( cps3_40C0004_r )
/* EEPROM access is a little odd, I think it accesses eeprom through some kind of
additional interface, as these writes aren't normal for the type of eeprom we have */
-static READ32_HANDLER( cps3_eeprom_r )
+READ32_MEMBER(cps3_state::cps3_eeprom_r)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
int addr = offset*4;
if (addr>=0x100 && addr<=0x17f)
{
- if (ACCESSING_BITS_24_31) state->m_current_eeprom_read = (state->m_eeprom[offset-0x100/4] & 0xffff0000)>>16;
- else state->m_current_eeprom_read = (state->m_eeprom[offset-0x100/4] & 0x0000ffff)>>0;
+ if (ACCESSING_BITS_24_31) m_current_eeprom_read = (m_eeprom[offset-0x100/4] & 0xffff0000)>>16;
+ else m_current_eeprom_read = (m_eeprom[offset-0x100/4] & 0x0000ffff)>>0;
// read word to latch...
return 0x00000000;
}
@@ -1694,8 +1682,8 @@ static READ32_HANDLER( cps3_eeprom_r )
if (ACCESSING_BITS_24_31) return 0;
else
{
- //if(DEBUG_PRINTF) printf("reading %04x from eeprom\n", state->m_current_eeprom_read);
- return state->m_current_eeprom_read;
+ //if(DEBUG_PRINTF) printf("reading %04x from eeprom\n", m_current_eeprom_read);
+ return m_current_eeprom_read;
}
}
else
@@ -1706,15 +1694,14 @@ static READ32_HANDLER( cps3_eeprom_r )
return 0x00000000;
}
-static WRITE32_HANDLER( cps3_eeprom_w )
+WRITE32_MEMBER(cps3_state::cps3_eeprom_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
int addr = offset*4;
if (addr>=0x080 && addr<=0x0ff)
{
offset -= 0x80/4;
- COMBINE_DATA(&state->m_eeprom[offset]);
+ COMBINE_DATA(&m_eeprom[offset]);
// write word to storage
}
@@ -1729,54 +1716,52 @@ static WRITE32_HANDLER( cps3_eeprom_w )
}
-static READ32_HANDLER( cps3_cdrom_r )
+READ32_MEMBER(cps3_state::cps3_cdrom_r)
{
UINT32 retval = 0;
if (ACCESSING_BITS_24_31)
{
- retval |= ((UINT16)wd33c93_r(space,0))<<16;
+ retval |= ((UINT16)wd33c93_r(&space,0))<<16;
}
if (ACCESSING_BITS_0_7)
{
- retval |= (UINT16)wd33c93_r(space,1);
+ retval |= (UINT16)wd33c93_r(&space,1);
}
return retval;
}
-static WRITE32_HANDLER( cps3_cdrom_w )
+WRITE32_MEMBER(cps3_state::cps3_cdrom_w)
{
if (ACCESSING_BITS_24_31)
{
- wd33c93_w(space,0,(data & 0x00ff0000)>>16);
+ wd33c93_w(&space,0,(data & 0x00ff0000)>>16);
}
if (ACCESSING_BITS_0_7)
{
- wd33c93_w(space,1,(data & 0x000000ff)>>0);
+ wd33c93_w(&space,1,(data & 0x000000ff)>>0);
}
}
-static WRITE32_HANDLER( cps3_ss_bank_base_w )
+WRITE32_MEMBER(cps3_state::cps3_ss_bank_base_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
// might be scroll registers or something else..
// used to display bank with 'insert coin' on during sfiii2 attract intro
- COMBINE_DATA(&state->m_ss_bank_base);
+ COMBINE_DATA(&m_ss_bank_base);
// printf("cps3_ss_bank_base_w %08x %08x\n", data, mem_mask);
}
-static WRITE32_HANDLER( cps3_ss_pal_base_w )
+WRITE32_MEMBER(cps3_state::cps3_ss_pal_base_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
if(DEBUG_PRINTF) printf ("cps3_ss_pal_base_w %08x %08x\n", data, mem_mask);
if(ACCESSING_BITS_24_31)
{
- state->m_ss_pal_base = (data & 0x00ff0000)>>16;
+ m_ss_pal_base = (data & 0x00ff0000)>>16;
if (data & 0xff000000) printf("ss_pal_base MSB32 upper bits used %04x \n", data);
}
@@ -1790,49 +1775,48 @@ static WRITE32_HANDLER( cps3_ss_pal_base_w )
//<ElSemi> (a word each)
-static WRITE32_HANDLER( cps3_palettedma_w )
+WRITE32_MEMBER(cps3_state::cps3_palettedma_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
if (offset==0)
{
- COMBINE_DATA(&state->m_paldma_source);
- state->m_paldma_realsource = (state->m_paldma_source<<1)-0x400000;
+ COMBINE_DATA(&m_paldma_source);
+ m_paldma_realsource = (m_paldma_source<<1)-0x400000;
}
else if (offset==1)
{
- COMBINE_DATA(&state->m_paldma_dest);
+ COMBINE_DATA(&m_paldma_dest);
}
else if (offset==2)
{
- COMBINE_DATA(&state->m_paldma_fade);
+ COMBINE_DATA(&m_paldma_fade);
}
else if (offset==3)
{
- COMBINE_DATA(&state->m_paldma_other2);
+ COMBINE_DATA(&m_paldma_other2);
if (ACCESSING_BITS_24_31)
{
- state->m_paldma_length = (data & 0xffff0000)>>16;
+ m_paldma_length = (data & 0xffff0000)>>16;
}
if (ACCESSING_BITS_0_7)
{
if (data & 0x0002)
{
int i;
- UINT16* src = (UINT16*)state->m_user5region;
- // if(DEBUG_PRINTF) printf("CPS3 pal dma start %08x (real: %08x) dest %08x fade %08x other2 %08x (length %04x)\n", state->m_paldma_source, state->m_paldma_realsource, state->m_paldma_dest, state->m_paldma_fade, state->m_paldma_other2, state->m_paldma_length);
+ UINT16* src = (UINT16*)m_user5region;
+ // if(DEBUG_PRINTF) printf("CPS3 pal dma start %08x (real: %08x) dest %08x fade %08x other2 %08x (length %04x)\n", m_paldma_source, m_paldma_realsource, m_paldma_dest, m_paldma_fade, m_paldma_other2, m_paldma_length);
- for (i=0;i<state->m_paldma_length;i++)
+ for (i=0;i<m_paldma_length;i++)
{
- UINT16 coldata = src[BYTE_XOR_BE(((state->m_paldma_realsource>>1)+i))];
+ UINT16 coldata = src[BYTE_XOR_BE(((m_paldma_realsource>>1)+i))];
- //if (state->m_paldma_fade!=0) printf("%08x\n",state->m_paldma_fade);
+ //if (m_paldma_fade!=0) printf("%08x\n",m_paldma_fade);
- cps3_set_mame_colours(space->machine(), (state->m_paldma_dest+i)^1, coldata, state->m_paldma_fade);
+ cps3_set_mame_colours(machine(), (m_paldma_dest+i)^1, coldata, m_paldma_fade);
}
- cputag_set_input_line(space->machine(), "maincpu", 10, ASSERT_LINE);
+ cputag_set_input_line(machine(), "maincpu", 10, ASSERT_LINE);
}
@@ -2073,17 +2057,16 @@ static void cps3_process_character_dma(running_machine &machine, UINT32 address)
}
}
-static WRITE32_HANDLER( cps3_characterdma_w )
+WRITE32_MEMBER(cps3_state::cps3_characterdma_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
if(DEBUG_PRINTF) printf("chardma_w %08x %08x %08x\n", offset, data, mem_mask);
if (offset==0)
{
- //COMBINE_DATA(&state->m_chardma_source);
+ //COMBINE_DATA(&m_chardma_source);
if (ACCESSING_BITS_0_7)
{
- state->m_chardma_source = data & 0x0000ffff;
+ m_chardma_source = data & 0x0000ffff;
}
if (ACCESSING_BITS_24_31)
{
@@ -2092,70 +2075,67 @@ static WRITE32_HANDLER( cps3_characterdma_w )
}
else if (offset==1)
{
- COMBINE_DATA(&state->m_chardma_other);
+ COMBINE_DATA(&m_chardma_other);
if (ACCESSING_BITS_24_31)
{
if ((data>>16) & 0x0040)
{
UINT32 list_address;
- list_address = (state->m_chardma_source | ((state->m_chardma_other&0x003f0000)));
+ list_address = (m_chardma_source | ((m_chardma_other&0x003f0000)));
- //printf("chardma_w activated %08x %08x (address = cram %08x)\n", state->m_chardma_source, state->m_chardma_other, list_address*4 );
- cps3_process_character_dma(space->machine(), list_address);
+ //printf("chardma_w activated %08x %08x (address = cram %08x)\n", m_chardma_source, m_chardma_other, list_address*4 );
+ cps3_process_character_dma(machine(), list_address);
}
else
{
- if(DEBUG_PRINTF) printf("chardma_w NOT activated %08x %08x\n", state->m_chardma_source, state->m_chardma_other );
+ if(DEBUG_PRINTF) printf("chardma_w NOT activated %08x %08x\n", m_chardma_source, m_chardma_other );
}
if ((data>>16) & 0xff80)
- if(DEBUG_PRINTF) printf("chardma_w unknown bits in activate command %08x %08x\n", state->m_chardma_source, state->m_chardma_other );
+ if(DEBUG_PRINTF) printf("chardma_w unknown bits in activate command %08x %08x\n", m_chardma_source, m_chardma_other );
}
else
{
- if(DEBUG_PRINTF) printf("chardma_w LSB32 write to activate command %08x %08x\n", state->m_chardma_source, state->m_chardma_other );
+ if(DEBUG_PRINTF) printf("chardma_w LSB32 write to activate command %08x %08x\n", m_chardma_source, m_chardma_other );
}
}
}
-static WRITE32_HANDLER( cps3_irq10_ack_w )
+WRITE32_MEMBER(cps3_state::cps3_irq10_ack_w)
{
- cputag_set_input_line(space->machine(), "maincpu", 10, CLEAR_LINE); return;
+ cputag_set_input_line(machine(), "maincpu", 10, CLEAR_LINE); return;
}
-static WRITE32_HANDLER( cps3_irq12_ack_w )
+WRITE32_MEMBER(cps3_state::cps3_irq12_ack_w)
{
- cputag_set_input_line(space->machine(), "maincpu", 12, CLEAR_LINE); return;
+ cputag_set_input_line(machine(), "maincpu", 12, CLEAR_LINE); return;
}
-static WRITE32_HANDLER( cps3_unk_vidregs_w )
+WRITE32_MEMBER(cps3_state::cps3_unk_vidregs_w)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
- COMBINE_DATA(&state->m_unk_vidregs[offset]);
+ COMBINE_DATA(&m_unk_vidregs[offset]);
}
-static READ32_HANDLER( cps3_colourram_r )
+READ32_MEMBER(cps3_state::cps3_colourram_r)
{
- cps3_state *state = space->machine().driver_data<cps3_state>();
- UINT16* src = (UINT16*)state->m_colourram;
+ UINT16* src = (UINT16*)m_colourram;
return src[offset*2+1] | (src[offset*2+0]<<16);
}
-static WRITE32_HANDLER( cps3_colourram_w )
+WRITE32_MEMBER(cps3_state::cps3_colourram_w)
{
- //cps3_state *state = space->machine().driver_data<cps3_state>();
-// COMBINE_DATA(&state->m_colourram[offset]);
+// COMBINE_DATA(&m_colourram[offset]);
if (ACCESSING_BITS_24_31)
{
- cps3_set_mame_colours(space->machine(), offset*2, (data & 0xffff0000) >> 16, 0);
+ cps3_set_mame_colours(machine(), offset*2, (data & 0xffff0000) >> 16, 0);
}
if (ACCESSING_BITS_0_7)
{
- cps3_set_mame_colours(space->machine(), offset*2+1, (data & 0x0000ffff) >> 0, 0);
+ cps3_set_mame_colours(machine(), offset*2+1, (data & 0x0000ffff) >> 0, 0);
}
}
@@ -2170,15 +2150,15 @@ static ADDRESS_MAP_START( cps3_map, AS_PROGRAM, 32, cps3_state )
// AM_RANGE(0x04000000, 0x0407dfff) AM_RAM AM_BASE(m_spriteram)//AM_WRITEONLY // Sprite RAM (jojoba tests this size)
AM_RANGE(0x04000000, 0x0407ffff) AM_RAM AM_BASE(m_spriteram)//AM_WRITEONLY // Sprite RAM
- AM_RANGE(0x04080000, 0x040bffff) AM_READWRITE_LEGACY(cps3_colourram_r, cps3_colourram_w) AM_BASE(m_colourram) // Colour RAM (jojoba tests this size) 0x20000 colours?!
+ AM_RANGE(0x04080000, 0x040bffff) AM_READWRITE(cps3_colourram_r, cps3_colourram_w) AM_BASE(m_colourram) // Colour RAM (jojoba tests this size) 0x20000 colours?!
// video registers of some kind probably
- AM_RANGE(0x040C0000, 0x040C0003) AM_READ_LEGACY(cps3_40C0000_r)//?? every frame
- AM_RANGE(0x040C0004, 0x040C0007) AM_READ_LEGACY(cps3_40C0004_r)//AM_READ_LEGACY(cps3_40C0004_r) // warzard reads this!
+ AM_RANGE(0x040C0000, 0x040C0003) AM_READ(cps3_40C0000_r)//?? every frame
+ AM_RANGE(0x040C0004, 0x040C0007) AM_READ(cps3_40C0004_r)//AM_READ(cps3_40C0004_r) // warzard reads this!
// AM_RANGE(0x040C0008, 0x040C000b) AM_WRITENOP//??
- AM_RANGE(0x040C000c, 0x040C000f) AM_READ_LEGACY(cps3_vbl_r)// AM_WRITENOP/
+ AM_RANGE(0x040C000c, 0x040C000f) AM_READ(cps3_vbl_r)// AM_WRITENOP/
- AM_RANGE(0x040C0000, 0x040C001f) AM_WRITE_LEGACY(cps3_unk_vidregs_w)
+ AM_RANGE(0x040C0000, 0x040C001f) AM_WRITE(cps3_unk_vidregs_w)
AM_RANGE(0x040C0020, 0x040C002b) AM_WRITEONLY AM_BASE(m_tilemap20_regs_base)
AM_RANGE(0x040C0030, 0x040C003b) AM_WRITEONLY AM_BASE(m_tilemap30_regs_base)
AM_RANGE(0x040C0040, 0x040C004b) AM_WRITEONLY AM_BASE(m_tilemap40_regs_base)
@@ -2187,43 +2167,43 @@ static ADDRESS_MAP_START( cps3_map, AS_PROGRAM, 32, cps3_state )
AM_RANGE(0x040C0060, 0x040C007f) AM_RAM AM_BASE(m_fullscreenzoom)
- AM_RANGE(0x040C0094, 0x040C009b) AM_WRITE_LEGACY(cps3_characterdma_w)
+ AM_RANGE(0x040C0094, 0x040C009b) AM_WRITE(cps3_characterdma_w)
- AM_RANGE(0x040C00a0, 0x040C00af) AM_WRITE_LEGACY(cps3_palettedma_w)
+ AM_RANGE(0x040C00a0, 0x040C00af) AM_WRITE(cps3_palettedma_w)
- AM_RANGE(0x040C0084, 0x040C0087) AM_WRITE_LEGACY(cram_bank_w)
- AM_RANGE(0x040C0088, 0x040C008b) AM_WRITE_LEGACY(cram_gfxflash_bank_w)
+ AM_RANGE(0x040C0084, 0x040C0087) AM_WRITE(cram_bank_w)
+ AM_RANGE(0x040C0088, 0x040C008b) AM_WRITE(cram_gfxflash_bank_w)
AM_RANGE(0x040e0000, 0x040e02ff) AM_DEVREADWRITE_LEGACY("cps3", cps3_sound_r, cps3_sound_w)
- AM_RANGE(0x04100000, 0x041fffff) AM_READWRITE_LEGACY(cram_data_r, cram_data_w)
- AM_RANGE(0x04200000, 0x043fffff) AM_READWRITE_LEGACY(cps3_gfxflash_r, cps3_gfxflash_w) // GFX Flash ROMS
+ AM_RANGE(0x04100000, 0x041fffff) AM_READWRITE(cram_data_r, cram_data_w)
+ AM_RANGE(0x04200000, 0x043fffff) AM_READWRITE(cps3_gfxflash_r, cps3_gfxflash_w) // GFX Flash ROMS
AM_RANGE(0x05000000, 0x05000003) AM_READ_PORT("INPUTS")
AM_RANGE(0x05000004, 0x05000007) AM_READ_PORT("EXTRA")
AM_RANGE(0x05000008, 0x0500000b) AM_WRITENOP // ?? every frame
- AM_RANGE(0x05000a00, 0x05000a1f) AM_READ_LEGACY(cps3_unk_io_r ) // ?? every frame
+ AM_RANGE(0x05000a00, 0x05000a1f) AM_READ(cps3_unk_io_r ) // ?? every frame
- AM_RANGE(0x05001000, 0x05001203) AM_READWRITE_LEGACY(cps3_eeprom_r, cps3_eeprom_w )
+ AM_RANGE(0x05001000, 0x05001203) AM_READWRITE(cps3_eeprom_r, cps3_eeprom_w )
- AM_RANGE(0x05040000, 0x0504ffff) AM_READWRITE_LEGACY(cps3_ssram_r,cps3_ssram_w) // 'SS' RAM (Score Screen) (text tilemap + toles)
+ AM_RANGE(0x05040000, 0x0504ffff) AM_READWRITE(cps3_ssram_r,cps3_ssram_w) // 'SS' RAM (Score Screen) (text tilemap + toles)
//0x25050020
- AM_RANGE(0x05050020, 0x05050023) AM_WRITE_LEGACY(cps3_ss_bank_base_w )
- AM_RANGE(0x05050024, 0x05050027) AM_WRITE_LEGACY(cps3_ss_pal_base_w )
+ AM_RANGE(0x05050020, 0x05050023) AM_WRITE(cps3_ss_bank_base_w )
+ AM_RANGE(0x05050024, 0x05050027) AM_WRITE(cps3_ss_pal_base_w )
- AM_RANGE(0x05100000, 0x05100003) AM_WRITE_LEGACY(cps3_irq12_ack_w )
- AM_RANGE(0x05110000, 0x05110003) AM_WRITE_LEGACY(cps3_irq10_ack_w )
+ AM_RANGE(0x05100000, 0x05100003) AM_WRITE(cps3_irq12_ack_w )
+ AM_RANGE(0x05110000, 0x05110003) AM_WRITE(cps3_irq10_ack_w )
- AM_RANGE(0x05140000, 0x05140003) AM_READWRITE_LEGACY(cps3_cdrom_r, cps3_cdrom_w )
+ AM_RANGE(0x05140000, 0x05140003) AM_READWRITE(cps3_cdrom_r, cps3_cdrom_w )
- AM_RANGE(0x06000000, 0x067fffff) AM_READWRITE_LEGACY(cps3_flash1_r, cps3_flash1_w ) /* Flash ROMs simm 1 */
- AM_RANGE(0x06800000, 0x06ffffff) AM_READWRITE_LEGACY(cps3_flash2_r, cps3_flash2_w ) /* Flash ROMs simm 2 */
+ AM_RANGE(0x06000000, 0x067fffff) AM_READWRITE(cps3_flash1_r, cps3_flash1_w ) /* Flash ROMs simm 1 */
+ AM_RANGE(0x06800000, 0x06ffffff) AM_READWRITE(cps3_flash2_r, cps3_flash2_w ) /* Flash ROMs simm 2 */
- AM_RANGE(0xc0000000, 0xc00003ff) AM_RAM_WRITE_LEGACY(cps3_0xc0000000_ram_w ) AM_BASE(m_0xc0000000_ram) /* Executes code from here */
+ AM_RANGE(0xc0000000, 0xc00003ff) AM_RAM_WRITE(cps3_0xc0000000_ram_w ) AM_BASE(m_0xc0000000_ram) /* Executes code from here */
ADDRESS_MAP_END
static INPUT_PORTS_START( cps3 )