diff options
Diffstat (limited to 'src/mame/drivers/cninja.cpp')
-rw-r--r-- | src/mame/drivers/cninja.cpp | 82 |
1 files changed, 39 insertions, 43 deletions
diff --git a/src/mame/drivers/cninja.cpp b/src/mame/drivers/cninja.cpp index c4ea6502a9a..dc90dbd4e24 100644 --- a/src/mame/drivers/cninja.cpp +++ b/src/mame/drivers/cninja.cpp @@ -169,7 +169,7 @@ READ16_MEMBER( cninja_state::sshangha_protection_region_8_146_r ) int real_address = 0x1a0000 + (offset *2); int deco146_addr = bitswap<32>(real_address, /* NC */31,30,29,28,27,26,25,24,23,22,21,20,19,18, 13,12,11,/**/ 17,16,15,14, 10,9,8, 7,6,5,4, 3,2,1,0) & 0x7fff; uint8_t cs = 0; - uint16_t data = m_deco146->read_data( deco146_addr, mem_mask, cs ); + uint16_t data = m_ioprot->read_data( deco146_addr, mem_mask, cs ); return data; } @@ -178,7 +178,7 @@ WRITE16_MEMBER( cninja_state::sshangha_protection_region_8_146_w ) int real_address = 0x1a0000 + (offset *2); int deco146_addr = bitswap<32>(real_address, /* NC */31,30,29,28,27,26,25,24,23,22,21,20,19,18, 13,12,11,/**/ 17,16,15,14, 10,9,8, 7,6,5,4, 3,2,1,0) & 0x7fff; uint8_t cs = 0; - m_deco146->write_data( space, deco146_addr, data, mem_mask, cs ); + m_ioprot->write_data( space, deco146_addr, data, mem_mask, cs ); } READ16_MEMBER( cninja_state::sshangha_protection_region_6_146_r ) @@ -188,7 +188,7 @@ READ16_MEMBER( cninja_state::sshangha_protection_region_6_146_r ) int real_address = 0x198000 + (offset *2); int deco146_addr = bitswap<32>(real_address, /* NC */31,30,29,28,27,26,25,24,23,22,21,20,19,18, 13,12,11,/**/ 17,16,15,14, 10,9,8, 7,6,5,4, 3,2,1,0) & 0x7fff; uint8_t cs = 0; - uint16_t data = m_deco146->read_data( deco146_addr, mem_mask, cs ); + uint16_t data = m_ioprot->read_data( deco146_addr, mem_mask, cs ); // if ((realdat & mem_mask) != (data & mem_mask)) @@ -205,7 +205,7 @@ WRITE16_MEMBER( cninja_state::sshangha_protection_region_6_146_w ) int real_address = 0x198000 + (offset *2); int deco146_addr = bitswap<32>(real_address, /* NC */31,30,29,28,27,26,25,24,23,22,21,20,19,18, 13,12,11,/**/ 17,16,15,14, 10,9,8, 7,6,5,4, 3,2,1,0) & 0x7fff; uint8_t cs = 0; - m_deco146->write_data( space, deco146_addr, data, mem_mask, cs ); + m_ioprot->write_data( space, deco146_addr, data, mem_mask, cs ); } static ADDRESS_MAP_START( edrandy_map, AS_PROGRAM, 16, cninja_state ) @@ -279,7 +279,7 @@ READ16_MEMBER( cninja_state::mutantf_protection_region_0_146_r ) int real_address = 0 + (offset *2); int deco146_addr = bitswap<32>(real_address, /* NC */31,30,29,28,27,26,25,24,23,22,21,20,19,18, 13,12,11,/**/ 17,16,15,14, 10,9,8, 7,6,5,4, 3,2,1,0) & 0x7fff; uint8_t cs = 0; - uint16_t data = m_deco146->read_data( deco146_addr, mem_mask, cs ); + uint16_t data = m_ioprot->read_data( deco146_addr, mem_mask, cs ); return data; } @@ -288,7 +288,7 @@ WRITE16_MEMBER( cninja_state::mutantf_protection_region_0_146_w ) int real_address = 0 + (offset *2); int deco146_addr = bitswap<32>(real_address, /* NC */31,30,29,28,27,26,25,24,23,22,21,20,19,18, 13,12,11,/**/ 17,16,15,14, 10,9,8, 7,6,5,4, 3,2,1,0) & 0x7fff; uint8_t cs = 0; - m_deco146->write_data( space, deco146_addr, data, mem_mask, cs ); + m_ioprot->write_data( space, deco146_addr, data, mem_mask, cs ); } READ16_MEMBER( cninja_state::mutantf_71_r ) @@ -331,19 +331,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cninja_state ) AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_device, read, write) AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write) AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write) - AM_RANGE(0x140000, 0x140000) AM_DEVREAD("ioprot104", deco104_device, soundlatch_r) - AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8") - AM_RANGE(0x1fec00, 0x1fec01) AM_DEVWRITE("audiocpu", h6280_device, timer_w) - AM_RANGE(0x1ff400, 0x1ff403) AM_DEVWRITE("audiocpu", h6280_device, irq_status_w) -ADDRESS_MAP_END - -static ADDRESS_MAP_START( sound_map_146, AS_PROGRAM, 8, cninja_state ) - AM_RANGE(0x000000, 0x00ffff) AM_ROM - AM_RANGE(0x100000, 0x100001) AM_DEVREADWRITE("ym1", ym2203_device, read, write) - AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ym2", ym2151_device, read, write) - AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write) - AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write) - AM_RANGE(0x140000, 0x140000) AM_DEVREAD("ioprot", deco146_device, soundlatch_r) + AM_RANGE(0x140000, 0x140000) AM_DEVREAD("ioprot", deco_146_base_device, soundlatch_r) AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8") AM_RANGE(0x1fec00, 0x1fec01) AM_DEVWRITE("audiocpu", h6280_device, timer_w) AM_RANGE(0x1ff400, 0x1ff403) AM_DEVWRITE("audiocpu", h6280_device, irq_status_w) @@ -355,7 +343,7 @@ static ADDRESS_MAP_START( sound_map_mutantf, AS_PROGRAM, 8, cninja_state ) AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write) AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write) - AM_RANGE(0x140000, 0x140001) AM_DEVREAD("ioprot", deco146_device, soundlatch_r) + AM_RANGE(0x140000, 0x140001) AM_DEVREAD("ioprot", deco_146_base_device, soundlatch_r) AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8") AM_RANGE(0x1fec00, 0x1fec01) AM_DEVWRITE("audiocpu", h6280_device, timer_w) AM_RANGE(0x1ff400, 0x1ff403) AM_DEVWRITE("audiocpu", h6280_device, irq_status_w) @@ -366,7 +354,7 @@ static ADDRESS_MAP_START( stoneage_s_map, AS_PROGRAM, 8, cninja_state ) AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write) AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki1", okim6295_device, read, write) - AM_RANGE(0xa000, 0xa000) AM_DEVREAD("ioprot104", deco104_device, soundlatch_r) + AM_RANGE(0xa000, 0xa000) AM_DEVREAD("ioprot", deco_146_base_device, soundlatch_r) ADDRESS_MAP_END static ADDRESS_MAP_START( cninjabl_sound_map, AS_PROGRAM, 8, cninja_state ) @@ -382,7 +370,7 @@ static ADDRESS_MAP_START( cninjabl2_s_map, AS_PROGRAM, 8, cninja_state ) AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x9000, 0x9000) AM_WRITE(cninjabl2_oki_bank_w) AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki1", okim6295_device, read, write) - AM_RANGE(0xa000, 0xa000) AM_DEVREAD("ioprot104", deco104_device, soundlatch_r) + AM_RANGE(0xa000, 0xa000) AM_DEVREAD("ioprot", deco_146_base_device, soundlatch_r) ADDRESS_MAP_END static ADDRESS_MAP_START( cninjabl2_oki_map, 0, 8, cninja_state ) @@ -854,7 +842,8 @@ MACHINE_CONFIG_START(cninja_state::cninja) MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) MCFG_DECO16IC_SPLIT(1) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x00) @@ -867,7 +856,8 @@ MACHINE_CONFIG_START(cninja_state::cninja) MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) MCFG_DECO16IC_SPLIT(0) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x00) @@ -885,7 +875,7 @@ MACHINE_CONFIG_START(cninja_state::cninja) MCFG_DECO_SPRITE_PRIORITY_CB(cninja_state, pri_callback) MCFG_DECO_SPRITE_GFXDECODE("gfxdecode") - MCFG_DECO104_ADD("ioprot104") + MCFG_DECO104_ADD("ioprot") MCFG_DECO146_IN_PORTA_CB(IOPORT("INPUTS")) MCFG_DECO146_IN_PORTB_CB(IOPORT("SYSTEM")) MCFG_DECO146_IN_PORTC_CB(IOPORT("DSW")) @@ -942,7 +932,8 @@ MACHINE_CONFIG_START(cninja_state::stoneage) MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) MCFG_DECO16IC_SPLIT(1) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x00) @@ -955,7 +946,8 @@ MACHINE_CONFIG_START(cninja_state::stoneage) MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) MCFG_DECO16IC_SPLIT(0) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x00) @@ -973,7 +965,7 @@ MACHINE_CONFIG_START(cninja_state::stoneage) MCFG_DECO_SPRITE_PRIORITY_CB(cninja_state, pri_callback) MCFG_DECO_SPRITE_GFXDECODE("gfxdecode") - MCFG_DECO104_ADD("ioprot104") + MCFG_DECO104_ADD("ioprot") MCFG_DECO146_IN_PORTA_CB(IOPORT("INPUTS")) MCFG_DECO146_IN_PORTB_CB(IOPORT("SYSTEM")) MCFG_DECO146_IN_PORTC_CB(IOPORT("DSW")) @@ -999,7 +991,7 @@ MACHINE_CONFIG_DERIVED(cninja_state::cninjabl2, stoneage) MCFG_SCREEN_MODIFY("screen") MCFG_SCREEN_UPDATE_DRIVER(cninja_state, screen_update_cninjabl2) - MCFG_DEVICE_MODIFY("ioprot104") + MCFG_DEVICE_MODIFY("ioprot") MCFG_DECO146_SOUNDLATCH_IRQ_CB(INPUTLINE("audiocpu", INPUT_LINE_IRQ0)) MCFG_DEVICE_REMOVE("ymsnd") @@ -1037,7 +1029,8 @@ MACHINE_CONFIG_START(cninja_state::cninjabl) MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) MCFG_DECO16IC_SPLIT(1) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x00) @@ -1050,7 +1043,8 @@ MACHINE_CONFIG_START(cninja_state::cninjabl) MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) MCFG_DECO16IC_SPLIT(0) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x00) @@ -1086,7 +1080,7 @@ MACHINE_CONFIG_START(cninja_state::edrandy) MCFG_CPU_PROGRAM_MAP(edrandy_map) MCFG_CPU_ADD("audiocpu", H6280, XTAL(32'220'000) / 8) - MCFG_CPU_PROGRAM_MAP(sound_map_146) + MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_DECO_IRQ_ADD("irq", "screen") MCFG_DECO_IRQ_RASTER1_IRQ_CB(INPUTLINE("maincpu", 3)) @@ -1107,7 +1101,8 @@ MACHINE_CONFIG_START(cninja_state::edrandy) MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) MCFG_DECO16IC_SPLIT(0) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x00) @@ -1120,7 +1115,8 @@ MACHINE_CONFIG_START(cninja_state::edrandy) MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) MCFG_DECO16IC_SPLIT(0) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x00) @@ -1171,7 +1167,7 @@ MACHINE_CONFIG_START(cninja_state::robocop2) MCFG_CPU_PROGRAM_MAP(robocop2_map) MCFG_CPU_ADD("audiocpu", H6280, XTAL(32'220'000) / 8) - MCFG_CPU_PROGRAM_MAP(sound_map_146) + MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_DECO_IRQ_ADD("irq", "screen") MCFG_DECO_IRQ_RASTER1_IRQ_CB(INPUTLINE("maincpu", 3)) @@ -1195,7 +1191,8 @@ MACHINE_CONFIG_START(cninja_state::robocop2) MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) MCFG_DECO16IC_SPLIT(0) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x00) @@ -1209,7 +1206,8 @@ MACHINE_CONFIG_START(cninja_state::robocop2) MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) MCFG_DECO16IC_SPLIT(0) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x00) @@ -1238,8 +1236,6 @@ MACHINE_CONFIG_START(cninja_state::robocop2) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") - MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_SOUND_ADD("ym1", YM2203, XTAL(32'220'000) / 8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60) @@ -1288,7 +1284,8 @@ MACHINE_CONFIG_START(cninja_state::mutantf) MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) MCFG_DECO16IC_SPLIT(0) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x00) @@ -1303,7 +1300,8 @@ MACHINE_CONFIG_START(cninja_state::mutantf) MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) MCFG_DECO16IC_SPLIT(0) - MCFG_DECO16IC_WIDTH12(1) + MCFG_DECO16IC_PF1_SIZE(DECO_64x32) + MCFG_DECO16IC_PF2_SIZE(DECO_64x32) MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) MCFG_DECO16IC_PF1_COL_BANK(0x20) @@ -1333,8 +1331,6 @@ MACHINE_CONFIG_START(cninja_state::mutantf) /* sound hardware */ MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") - MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_YM2151_ADD("ymsnd", XTAL(32'220'000) / 9) MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 1)) // IRQ2 MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(cninja_state,sound_bankswitch_w)) |