diff --git a/src/mame/drivers/namcofl.c b/src/mame/drivers/namcofl.c index f39a13c83e0..82f9b867af9 100644 --- a/src/mame/drivers/namcofl.c +++ b/src/mame/drivers/namcofl.c @@ -226,15 +226,15 @@ WRITE32_MEMBER(namcofl_state::namcofl_share_w) static ADDRESS_MAP_START( namcofl_mem, AS_PROGRAM, 32, namcofl_state ) AM_RANGE(0x00000000, 0x000fffff) AM_RAMBANK("bank1") AM_RANGE(0x10000000, 0x100fffff) AM_RAMBANK("bank2") - AM_RANGE(0x20000000, 0x201fffff) AM_ROM AM_REGION("user1", 0) /* data */ + AM_RANGE(0x20000000, 0x201fffff) AM_ROM AM_REGION("data", 0) AM_RANGE(0x30000000, 0x30001fff) AM_RAM AM_SHARE("nvram") /* nvram */ AM_RANGE(0x30100000, 0x30100003) AM_WRITE(namcofl_spritebank_w) AM_RANGE(0x30284000, 0x3028bfff) AM_READWRITE(namcofl_share_r, namcofl_share_w) AM_RANGE(0x30300000, 0x30303fff) AM_RAM /* COMRAM */ AM_RANGE(0x30380000, 0x303800ff) AM_READ(fl_network_r ) /* network registers */ AM_RANGE(0x30400000, 0x3040ffff) AM_RAM_WRITE(namcofl_paletteram_w) AM_SHARE("paletteram") - AM_RANGE(0x30800000, 0x3080ffff) AM_READWRITE_LEGACY(namco_tilemapvideoram32_le_r, namco_tilemapvideoram32_le_w ) - AM_RANGE(0x30a00000, 0x30a0003f) AM_READWRITE_LEGACY(namco_tilemapcontrol32_le_r, namco_tilemapcontrol32_le_w ) + AM_RANGE(0x30800000, 0x3080ffff) AM_READWRITE16(c123_tilemap_videoram_r,c123_tilemap_videoram_w,0xffffffff) + AM_RANGE(0x30a00000, 0x30a0003f) AM_READWRITE16(c123_tilemap_control_r,c123_tilemap_control_w,0xffffffff) AM_RANGE(0x30c00000, 0x30c1ffff) AM_READWRITE16(c169_roz_videoram_r,c169_roz_videoram_w,0xffffffff) AM_SHARE("rozvideoram") AM_RANGE(0x30d00000, 0x30d0001f) AM_READWRITE16(c169_roz_control_r,c169_roz_control_w,0xffffffff) AM_RANGE(0x30e00000, 0x30e1ffff) AM_READWRITE16(c355_obj_ram_r,c355_obj_ram_w,0xffffffff) AM_SHARE("objram") @@ -619,7 +619,7 @@ ROM_START( speedrcr ) ROM_LOAD32_WORD("se2mpea4.19a", 0x000000, 0x080000, CRC(95ab3fd7) SHA1(273a536f8512f3c55260ac1b78533bc35b8390ed) ) ROM_LOAD32_WORD("se2mpoa4.18a", 0x000002, 0x080000, CRC(5b5ef1eb) SHA1(3e9e4abb1a32269baef772079de825dfe1ea230c) ) - ROM_REGION( 0x200000, "user1", 0 ) // Data + ROM_REGION32_LE( 0x200000, "data", 0 ) // Data ROM_LOAD32_BYTE("se1_dat0.13a", 0x000000, 0x080000, CRC(cc5d6ff5) SHA1(6fad40a1fac75bc64d3b7a7562cf7ce2a3abd36a) ) ROM_LOAD32_BYTE("se1_dat1.14a", 0x000001, 0x080000, CRC(ddc8b306) SHA1(f169d521b800c108deffdef9fc6b0058621ee909) ) ROM_LOAD32_BYTE("se1_dat2.15a", 0x000002, 0x080000, CRC(2a29abbb) SHA1(945419ed61e9a656a340214a63a01818396fbe98) ) @@ -675,7 +675,7 @@ ROM_START( finalapr ) ROM_LOAD32_WORD("flr2mpeb.19a", 0x000000, 0x080000, CRC(8bfe615f) SHA1(7b867eb261268a83177f1f873689f77d1b6c47ca) ) ROM_LOAD32_WORD("flr2mpob.18a", 0x000002, 0x080000, CRC(91c14e4f) SHA1(934a86daaef0e3e2c2b3066f4677ccb3aaab6eaf) ) - ROM_REGION( 0x200000, "user1", ROMREGION_ERASEFF ) // Data + ROM_REGION32_LE( 0x200000, "data", ROMREGION_ERASEFF ) // Data ROM_REGION16_LE( 0x4000, "c75", 0 ) // C75 program ROM_LOAD( "c75.bin", 0, 0x4000, CRC(42f539a5) SHA1(3103e5a0a2867620309fd4fe478a2be0effbeff8) ) @@ -717,7 +717,7 @@ ROM_START( finalapro ) ROM_LOAD32_WORD("flr2mpe.19a", 0x000000, 0x080000, CRC(cc8961ae) SHA1(08ce4d27a723101370d1c536b26256ce0d8a1b6c) ) ROM_LOAD32_WORD("flr2mpo.18a", 0x000002, 0x080000, CRC(8118f465) SHA1(c4b79878a82fd36b5707e92aa893f69c2b942d57) ) - ROM_REGION( 0x200000, "user1", ROMREGION_ERASEFF ) // Data + ROM_REGION32_LE( 0x200000, "data", ROMREGION_ERASEFF ) // Data ROM_REGION16_LE( 0x4000, "c75", 0 ) // C75 program ROM_LOAD( "c75.bin", 0, 0x4000, CRC(42f539a5) SHA1(3103e5a0a2867620309fd4fe478a2be0effbeff8) ) @@ -760,7 +760,7 @@ ROM_START( finalaprj ) ROM_LOAD32_WORD("flr1_mpec.19a", 0x000000, 0x080000, CRC(52735494) SHA1(db9873cb39bcfdd3dbe2e5079249fecac2c46df9) ) ROM_LOAD32_WORD("flr1_mpoc.18a", 0x000002, 0x080000, CRC(b11fe577) SHA1(70b51a1e66a3bb92f027aad7ba0f358c0e139b3c) ) - ROM_REGION( 0x200000, "user1", ROMREGION_ERASEFF ) // Data + ROM_REGION32_LE( 0x200000, "data", ROMREGION_ERASEFF ) // Data ROM_REGION16_LE( 0x4000, "c75", 0 ) // C75 program ROM_LOAD( "c75.bin", 0, 0x4000, CRC(42f539a5) SHA1(3103e5a0a2867620309fd4fe478a2be0effbeff8) ) diff --git a/src/mame/drivers/namcoic.c b/src/mame/drivers/namcoic.c index bf249b4b62b..a8ee76dd045 100644 --- a/src/mame/drivers/namcoic.c +++ b/src/mame/drivers/namcoic.c @@ -115,14 +115,14 @@ SetTilemapVideoram( int offset, UINT16 newword ) } } /* SetTilemapVideoram */ -WRITE16_MEMBER( namcos2_state::namco_tilemapvideoram16_w ) +WRITE16_MEMBER( namcos2_shared_state::c123_tilemap_videoram_w ) { UINT16 newword = mTilemapInfo.videoram[offset]; COMBINE_DATA( &newword ); SetTilemapVideoram( offset, newword ); } -READ16_MEMBER( namcos2_state::namco_tilemapvideoram16_r ) +READ16_MEMBER( namcos2_shared_state::c123_tilemap_videoram_r ) { return mTilemapInfo.videoram[offset]; } @@ -178,81 +178,18 @@ SetTilemapControl( int offset, UINT16 newword ) } } /* SetTilemapControl */ -WRITE16_MEMBER( namcos2_state::namco_tilemapcontrol16_w ) +WRITE16_MEMBER( namcos2_shared_state::c123_tilemap_control_w ) { UINT16 newword = mTilemapInfo.control[offset]; COMBINE_DATA( &newword ); SetTilemapControl( offset, newword ); } -READ16_MEMBER( namcos2_state::namco_tilemapcontrol16_r ) +READ16_MEMBER( namcos2_shared_state::c123_tilemap_control_r ) { return mTilemapInfo.control[offset]; } -READ32_HANDLER( namco_tilemapvideoram32_r ) -{ - offset *= 2; - return (mTilemapInfo.videoram[offset]<<16)|mTilemapInfo.videoram[offset+1]; -} - -WRITE32_HANDLER( namco_tilemapvideoram32_w ) -{ - UINT32 v; - offset *=2; - v = (mTilemapInfo.videoram[offset]<<16)|mTilemapInfo.videoram[offset+1]; - COMBINE_DATA(&v); - SetTilemapVideoram( offset, v>>16 ); - SetTilemapVideoram( offset+1, v&0xffff ); -} - -READ32_HANDLER( namco_tilemapcontrol32_r ) -{ - offset *= 2; - return (mTilemapInfo.control[offset]<<16)|mTilemapInfo.control[offset+1]; -} - -WRITE32_HANDLER( namco_tilemapcontrol32_w ) -{ - UINT32 v; - offset *=2; - v = (mTilemapInfo.control[offset]<<16)|mTilemapInfo.control[offset+1]; - COMBINE_DATA(&v); - SetTilemapControl( offset, v>>16 ); - SetTilemapControl( offset+1, v&0xffff ); -} - -READ32_HANDLER( namco_tilemapcontrol32_le_r ) -{ - offset *= 2; - return (mTilemapInfo.control[offset+1]<<16)|mTilemapInfo.control[offset]; -} - -WRITE32_HANDLER( namco_tilemapcontrol32_le_w ) -{ - UINT32 v; - offset *=2; - v = (mTilemapInfo.control[offset+1]<<16)|mTilemapInfo.control[offset]; - COMBINE_DATA(&v); - SetTilemapControl( offset+1, v>>16 ); - SetTilemapControl( offset, v&0xffff ); -} - -READ32_HANDLER( namco_tilemapvideoram32_le_r ) -{ - offset *= 2; - return (mTilemapInfo.videoram[offset+1]<<16)|mTilemapInfo.videoram[offset]; -} - -WRITE32_HANDLER( namco_tilemapvideoram32_le_w ) -{ - UINT32 v; - offset *=2; - v = (mTilemapInfo.videoram[offset+1]<<16)|mTilemapInfo.videoram[offset]; - COMBINE_DATA(&v); - SetTilemapVideoram( offset+1, v>>16 ); - SetTilemapVideoram( offset, v&0xffff ); -} /**************************************************************************************/ diff --git a/src/mame/drivers/namconb1.c b/src/mame/drivers/namconb1.c index 4902e13fa2c..242369a6b96 100644 --- a/src/mame/drivers/namconb1.c +++ b/src/mame/drivers/namconb1.c @@ -708,8 +708,8 @@ static ADDRESS_MAP_START( namconb1_am, AS_PROGRAM, 32, namconb1_state ) AM_RANGE(0x580000, 0x5807ff) AM_DEVREADWRITE8("eeprom", eeprom_parallel_28xx_device, read, write, 0xffffffff) AM_RANGE(0x600000, 0x61ffff) AM_READWRITE16(c355_obj_ram_r,c355_obj_ram_w,0xffffffff) AM_SHARE("objram") AM_RANGE(0x620000, 0x620007) AM_READWRITE16(c355_obj_position_r,c355_obj_position_w,0xffffffff) - AM_RANGE(0x640000, 0x64ffff) AM_READWRITE_LEGACY(namco_tilemapvideoram32_r,namco_tilemapvideoram32_w ) - AM_RANGE(0x660000, 0x66003f) AM_READWRITE_LEGACY(namco_tilemapcontrol32_r,namco_tilemapcontrol32_w) + AM_RANGE(0x640000, 0x64ffff) AM_READWRITE16(c123_tilemap_videoram_r,c123_tilemap_videoram_w,0xffffffff) + AM_RANGE(0x660000, 0x66003f) AM_READWRITE16(c123_tilemap_control_r,c123_tilemap_control_w,0xffffffff) AM_RANGE(0x680000, 0x68000f) AM_RAM AM_SHARE("spritebank32") AM_RANGE(0x6e0000, 0x6e001f) AM_READ(custom_key_r) AM_WRITENOP AM_RANGE(0x700000, 0x707fff) AM_RAM AM_SHARE("paletteram") @@ -725,8 +725,8 @@ static ADDRESS_MAP_START( namconb2_am, AS_PROGRAM, 32, namconb1_state ) AM_RANGE(0x600000, 0x61ffff) AM_READWRITE16(c355_obj_ram_r,c355_obj_ram_w,0xffffffff) AM_SHARE("objram") AM_RANGE(0x620000, 0x620007) AM_READWRITE16(c355_obj_position_r,c355_obj_position_w,0xffffffff) AM_RANGE(0x640000, 0x64000f) AM_RAM /* unknown xy offset */ - AM_RANGE(0x680000, 0x68ffff) AM_READWRITE_LEGACY(namco_tilemapvideoram32_r, namco_tilemapvideoram32_w ) - AM_RANGE(0x6c0000, 0x6c003f) AM_READWRITE_LEGACY(namco_tilemapcontrol32_r, namco_tilemapcontrol32_w ) + AM_RANGE(0x680000, 0x68ffff) AM_READWRITE16(c123_tilemap_videoram_r,c123_tilemap_videoram_w,0xffffffff) + AM_RANGE(0x6c0000, 0x6c003f) AM_READWRITE16(c123_tilemap_control_r,c123_tilemap_control_w,0xffffffff) AM_RANGE(0x700000, 0x71ffff) AM_READWRITE16(c169_roz_videoram_r,c169_roz_videoram_w,0xffffffff) AM_SHARE("rozvideoram") AM_RANGE(0x740000, 0x74001f) AM_READWRITE16(c169_roz_control_r,c169_roz_control_w,0xffffffff) AM_RANGE(0x800000, 0x807fff) AM_RAM AM_SHARE("paletteram") diff --git a/src/mame/drivers/namcos2.c b/src/mame/drivers/namcos2.c index 6680825680c..ad3408f2dfa 100644 --- a/src/mame/drivers/namcos2.c +++ b/src/mame/drivers/namcos2.c @@ -598,8 +598,8 @@ READ8_MEMBER(namcos2_state::ack_mcu_vbl_r) static ADDRESS_MAP_START( namcos2_68k_default_cpu_board_am, AS_PROGRAM, 16, namcos2_state ) AM_RANGE(0x200000, 0x3fffff) AM_ROM AM_REGION("data_rom", 0) - AM_RANGE(0x400000, 0x41ffff) AM_READWRITE(namco_tilemapvideoram16_r,namco_tilemapvideoram16_w) - AM_RANGE(0x420000, 0x42003f) AM_READWRITE(namco_tilemapcontrol16_r,namco_tilemapcontrol16_w) + AM_RANGE(0x400000, 0x41ffff) AM_READWRITE(c123_tilemap_videoram_r,c123_tilemap_videoram_w) + AM_RANGE(0x420000, 0x42003f) AM_READWRITE(c123_tilemap_control_r,c123_tilemap_control_w) AM_RANGE(0x440000, 0x44ffff) AM_READWRITE(paletteram_word_r,paletteram_word_w) AM_SHARE("paletteram") AM_RANGE(0x460000, 0x460fff) AM_READWRITE(dpram_word_r,dpram_word_w) AM_RANGE(0x468000, 0x468fff) AM_READWRITE(dpram_word_r,dpram_word_w) /* mirror */ diff --git a/src/mame/includes/namcoic.h b/src/mame/includes/namcoic.h index a8ad4c0b08a..1006cc9d3e3 100644 --- a/src/mame/includes/namcoic.h +++ b/src/mame/includes/namcoic.h @@ -100,16 +100,6 @@ C102 - Controls CPU access to ROZ Memory Area. void namco_tilemap_draw( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri ); void namco_tilemap_invalidate( void ); -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 ); - /***********************************************************************************/ #endif diff --git a/src/mame/includes/namcos2.h b/src/mame/includes/namcos2.h index b1ffcf65879..22402a250ac 100644 --- a/src/mame/includes/namcos2.h +++ b/src/mame/includes/namcos2.h @@ -121,6 +121,21 @@ public: bool is_system21(); int m_gametype; + // C123 Tilemap Emulation + // TODO: merge with namcos1.c implementation and convert to device +public: + DECLARE_WRITE16_MEMBER( c123_tilemap_videoram_w ); + DECLARE_READ16_MEMBER( c123_tilemap_videoram_r ); + DECLARE_WRITE16_MEMBER( c123_tilemap_control_w ); + DECLARE_READ16_MEMBER( c123_tilemap_control_r ); + TILE_GET_INFO_MEMBER( get_tile_info0 ); + TILE_GET_INFO_MEMBER( get_tile_info1 ); + TILE_GET_INFO_MEMBER( get_tile_info2 ); + TILE_GET_INFO_MEMBER( get_tile_info3 ); + TILE_GET_INFO_MEMBER( get_tile_info4 ); + TILE_GET_INFO_MEMBER( get_tile_info5 ); + void namco_tilemap_init(int gfxbank, void *pMaskROM, void (*cb)( running_machine &machine, UINT16 code, int *gfx, int *mask) ); + // C169 ROZ Layer Emulation public: void c169_roz_init(int gfxbank, const char *maskregion); @@ -131,13 +146,7 @@ public: DECLARE_WRITE16_MEMBER( c169_roz_bank_w ); DECLARE_READ16_MEMBER( c169_roz_videoram_r ); DECLARE_WRITE16_MEMBER( c169_roz_videoram_w ); - TILE_GET_INFO_MEMBER( get_tile_info0 ); - TILE_GET_INFO_MEMBER( get_tile_info1 ); - TILE_GET_INFO_MEMBER( get_tile_info2 ); - TILE_GET_INFO_MEMBER( get_tile_info3 ); - TILE_GET_INFO_MEMBER( get_tile_info4 ); - TILE_GET_INFO_MEMBER( get_tile_info5 ); - void namco_tilemap_init(int gfxbank, void *pMaskROM, void (*cb)( running_machine &machine, UINT16 code, int *gfx, int *mask) ); + protected: struct roz_parameters { @@ -334,10 +343,6 @@ public: DECLARE_READ16_MEMBER( namcos2_68k_key_r ); DECLARE_WRITE16_MEMBER( namcos2_68k_key_w ); - DECLARE_WRITE16_MEMBER( namco_tilemapvideoram16_w ); - DECLARE_READ16_MEMBER( namco_tilemapvideoram16_r ); - DECLARE_WRITE16_MEMBER( namco_tilemapcontrol16_w ); - DECLARE_READ16_MEMBER( namco_tilemapcontrol16_r ); DECLARE_READ16_MEMBER( namcos2_finallap_prot_r ); };