diff options
Diffstat (limited to 'docs/release/src/hbmame/drivers/fcrash.cpp')
-rw-r--r-- | docs/release/src/hbmame/drivers/fcrash.cpp | 341 |
1 files changed, 170 insertions, 171 deletions
diff --git a/docs/release/src/hbmame/drivers/fcrash.cpp b/docs/release/src/hbmame/drivers/fcrash.cpp index 886f91c3d06..aba6fc61911 100644 --- a/docs/release/src/hbmame/drivers/fcrash.cpp +++ b/docs/release/src/hbmame/drivers/fcrash.cpp @@ -147,7 +147,7 @@ WRITE_LINE_MEMBER(cps_state::m5205_int1) m_sample_buffer1 >>= 4; m_sample_select1 ^= 1; if (m_sample_select1 == 0) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE_LINE_MEMBER(cps_state::m5205_int2) @@ -1562,13 +1562,13 @@ MACHINE_RESET_MEMBER(cps_state,fcrash) MACHINE_CONFIG_START( cps_state::fcrash ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 10000000) - MCFG_CPU_PROGRAM_MAP(fcrash_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) + MCFG_DEVICE_ADD("maincpu", M68000, 10000000) + MCFG_DEVICE_PROGRAM_MAP(fcrash_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) + MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) - MCFG_CPU_ADD("audiocpu", Z80, 24000000/6) /* ? */ - MCFG_CPU_PROGRAM_MAP(sound_map) + MCFG_DEVICE_ADD("audiocpu", Z80, 24000000/6) /* ? */ + MCFG_DEVICE_PROGRAM_MAP(sound_map) MCFG_MACHINE_START_OVERRIDE(cps_state,fcrash) MCFG_MACHINE_RESET_OVERRIDE(cps_state,fcrash) @@ -1580,38 +1580,38 @@ MACHINE_CONFIG_START( cps_state::fcrash ) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1)) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1) MCFG_PALETTE_ADD("palette", 4096) MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) // sound hardware - MCFG_SPEAKER_STANDARD_MONO("mono") + SPEAKER(config, "mono").front_center(); MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_SOUND_ADD("ym1", YM2203, 24000000/6) /* ? */ + MCFG_DEVICE_ADD("ym1", YM2203, 24000000/6) /* ? */ MCFG_SOUND_ROUTE(0, "mono", 0.10) MCFG_SOUND_ROUTE(1, "mono", 0.10) MCFG_SOUND_ROUTE(2, "mono", 0.10) MCFG_SOUND_ROUTE(3, "mono", 1.0) - MCFG_SOUND_ADD("ym2", YM2203, 24000000/6) /* ? */ + MCFG_DEVICE_ADD("ym2", YM2203, 24000000/6) /* ? */ MCFG_SOUND_ROUTE(0, "mono", 0.10) MCFG_SOUND_ROUTE(1, "mono", 0.10) MCFG_SOUND_ROUTE(2, "mono", 0.10) MCFG_SOUND_ROUTE(3, "mono", 1.0) - MCFG_SOUND_ADD("msm1", MSM5205, 24000000/64) /* ? */ - MCFG_MSM5205_VCLK_CB(WRITELINE(cps_state, m5205_int1)) /* interrupt function */ + MCFG_DEVICE_ADD("msm1", MSM5205, 24000000/64) /* ? */ + MCFG_MSM5205_VCLK_CB(WRITELINE(*this, cps_state, m5205_int1)) /* interrupt function */ MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) /* 4KHz 4-bit */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_SOUND_ADD("msm2", MSM5205, 24000000/64) /* ? */ - MCFG_MSM5205_VCLK_CB(WRITELINE(cps_state, m5205_int2)) /* interrupt function */ + MCFG_DEVICE_ADD("msm2", MSM5205, 24000000/64) /* ? */ + MCFG_MSM5205_VCLK_CB(WRITELINE(*this, cps_state, m5205_int2)) /* interrupt function */ MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) /* 4KHz 4-bit */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_CONFIG_END @@ -1620,13 +1620,13 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START( cps_state::cawingb ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 10'000'000 ) /* verified on pcb */ - MCFG_CPU_PROGRAM_MAP(fcrash_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, irq6_line_hold) /* needed to write to scroll values */ + MCFG_DEVICE_ADD("maincpu", M68000, 10'000'000 ) /* verified on pcb */ + MCFG_DEVICE_PROGRAM_MAP(fcrash_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, irq6_line_hold) /* needed to write to scroll values */ - MCFG_CPU_ADD("audiocpu", Z80, 3'579'545) /* verified on pcb */ - MCFG_CPU_PROGRAM_MAP(sub_map) + MCFG_DEVICE_ADD("audiocpu", Z80, 3'579'545) /* verified on pcb */ + MCFG_DEVICE_PROGRAM_MAP(sub_map) MCFG_MACHINE_START_OVERRIDE(cps_state, cawingbl) @@ -1634,32 +1634,32 @@ MACHINE_CONFIG_START( cps_state::cawingb ) MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_RAW_PARAMS(8'000'000, 518, 64, 448, 259, 16, 240) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1)) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1) MCFG_PALETTE_ADD("palette", 0xc00) MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") + SPEAKER(config, "mono").front_center(); MCFG_GENERIC_LATCH_8_ADD("soundlatch") MCFG_GENERIC_LATCH_8_ADD("soundlatch2") - MCFG_YM2151_ADD("2151", 3'579'545) /* verified on pcb */ + MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) MCFG_SOUND_ROUTE(0, "mono", 0.35) MCFG_SOUND_ROUTE(1, "mono", 0.35) - MCFG_OKIM6295_ADD("oki", 1'000'000, PIN7_HIGH) + MCFG_DEVICE_ADD("oki", OKIM6295, 1'000'000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) MACHINE_CONFIG_END // HBMAME end MACHINE_CONFIG_START( cps_state::cawingbl ) fcrash(config); /* basic machine hardware */ - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, irq6_line_hold) /* needed to write to scroll values */ + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, irq6_line_hold) /* needed to write to scroll values */ MCFG_MACHINE_START_OVERRIDE(cps_state, cawingbl) MACHINE_CONFIG_END @@ -1667,13 +1667,13 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START( cps_state::kodb ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 10000000) - MCFG_CPU_PROGRAM_MAP(fcrash_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) + MCFG_DEVICE_ADD("maincpu", M68000, 10000000) + MCFG_DEVICE_PROGRAM_MAP(fcrash_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) + MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) - MCFG_CPU_ADD("audiocpu", Z80, 3579545) - MCFG_CPU_PROGRAM_MAP(kodb_sound_map) + MCFG_DEVICE_ADD("audiocpu", Z80, 3579545) + MCFG_DEVICE_PROGRAM_MAP(kodb_sound_map) MCFG_MACHINE_START_OVERRIDE(cps_state,kodb) @@ -1684,37 +1684,37 @@ MACHINE_CONFIG_START( cps_state::kodb ) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1)) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1) MCFG_PALETTE_ADD("palette", 0xc00) MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") + SPEAKER(config, "mono").front_center(); MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_YM2151_ADD("2151", 3'579'545) /* verified on pcb */ + MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) MCFG_SOUND_ROUTE(0, "mono", 0.35) MCFG_SOUND_ROUTE(1, "mono", 0.35) /* CPS PPU is fed by a 16mhz clock,pin 117 outputs a 4mhz clock which is divided by 4 using 2 74ls74 */ - MCFG_OKIM6295_ADD("oki", 1'000'000, PIN7_HIGH) // pin 7 can be changed by the game code, see f006 on z80 + MCFG_DEVICE_ADD("oki", OKIM6295, 1'000'000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) MACHINE_CONFIG_END MACHINE_CONFIG_START( cps_state::sf2mdt ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 12000000) - MCFG_CPU_PROGRAM_MAP(sf2mdt_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, irq4_line_hold) /* triggers the sprite ram and scroll writes */ + MCFG_DEVICE_ADD("maincpu", M68000, 12000000) + MCFG_DEVICE_PROGRAM_MAP(sf2mdt_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, irq4_line_hold) /* triggers the sprite ram and scroll writes */ - MCFG_CPU_ADD("audiocpu", Z80, 3579545) - MCFG_CPU_PROGRAM_MAP(sf2mdt_z80map) + MCFG_DEVICE_ADD("audiocpu", Z80, 3579545) + MCFG_DEVICE_PROGRAM_MAP(sf2mdt_z80map) MCFG_MACHINE_START_OVERRIDE(cps_state, sf2mdt) MCFG_MACHINE_RESET_OVERRIDE(cps_state,fcrash) @@ -1726,48 +1726,48 @@ MACHINE_CONFIG_START( cps_state::sf2mdt ) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1)) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1) MCFG_PALETTE_ADD("palette", 4096) MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") + SPEAKER(config, "mono").front_center(); - MCFG_YM2151_ADD("2151", 3579545) + MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) MCFG_SOUND_ROUTE(0, "mono", 0.35) MCFG_SOUND_ROUTE(1, "mono", 0.35) /* has 2x MSM5205 instead of OKI6295 */ - MCFG_SOUND_ADD("msm1", MSM5205, 24000000/64) /* ? */ - MCFG_MSM5205_VCLK_CB(WRITELINE(cps_state, m5205_int1)) /* interrupt function */ + MCFG_DEVICE_ADD("msm1", MSM5205, 24000000/64) /* ? */ + MCFG_MSM5205_VCLK_CB(WRITELINE(*this, cps_state, m5205_int1)) /* interrupt function */ MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) /* 4KHz 4-bit */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_SOUND_ADD("msm2", MSM5205, 24000000/64) /* ? */ - MCFG_MSM5205_VCLK_CB(WRITELINE(cps_state, m5205_int2)) /* interrupt function */ + MCFG_DEVICE_ADD("msm2", MSM5205, 24000000/64) /* ? */ + MCFG_MSM5205_VCLK_CB(WRITELINE(*this, cps_state, m5205_int2)) /* interrupt function */ MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) /* 4KHz 4-bit */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_CONFIG_END MACHINE_CONFIG_START( cps_state::sf2b ) sf2mdt(config); - MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_PROGRAM_MAP(sf2b_map) + MCFG_DEVICE_MODIFY("maincpu") + MCFG_DEVICE_PROGRAM_MAP(sf2b_map) MACHINE_CONFIG_END MACHINE_CONFIG_START( cps_state::knightsb ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 24000000 / 2) - MCFG_CPU_PROGRAM_MAP(knightsb_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) + MCFG_DEVICE_ADD("maincpu", M68000, 24000000 / 2) + MCFG_DEVICE_PROGRAM_MAP(knightsb_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) - MCFG_CPU_ADD("audiocpu", Z80, 29821000 / 8) - MCFG_CPU_PROGRAM_MAP(knightsb_z80map) + MCFG_DEVICE_ADD("audiocpu", Z80, 29821000 / 8) + MCFG_DEVICE_PROGRAM_MAP(knightsb_z80map) MCFG_MACHINE_START_OVERRIDE(cps_state, knightsb) @@ -1778,30 +1778,30 @@ MACHINE_CONFIG_START( cps_state::knightsb ) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1)) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1) MCFG_PALETTE_ADD("palette", 0xc00) MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") + SPEAKER(config, "mono").front_center(); - MCFG_YM2151_ADD("2151", 29821000 / 8) + MCFG_DEVICE_ADD("2151", YM2151, 29821000 / 8) MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) MCFG_SOUND_ROUTE(0, "mono", 0.35) MCFG_SOUND_ROUTE(1, "mono", 0.35) /* has 2x MSM5205 instead of OKI6295 */ - MCFG_SOUND_ADD("msm1", MSM5205, 24000000/64) /* ? */ - MCFG_MSM5205_VCLK_CB(WRITELINE(cps_state, m5205_int1)) /* interrupt function */ + MCFG_DEVICE_ADD("msm1", MSM5205, 24000000/64) /* ? */ + MCFG_MSM5205_VCLK_CB(WRITELINE(*this, cps_state, m5205_int1)) /* interrupt function */ MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) /* 4KHz 4-bit */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_SOUND_ADD("msm2", MSM5205, 24000000/64) /* ? */ - MCFG_MSM5205_VCLK_CB(WRITELINE(cps_state, m5205_int2)) /* interrupt function */ + MCFG_DEVICE_ADD("msm2", MSM5205, 24000000/64) /* ? */ + MCFG_MSM5205_VCLK_CB(WRITELINE(*this, cps_state, m5205_int2)) /* interrupt function */ MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) /* 4KHz 4-bit */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_CONFIG_END @@ -1974,7 +1974,7 @@ ROM_START( kodb ) ROM_LOAD( "2.ic19", 0x00000, 0x40000, CRC(a2db1575) SHA1(1a4a29e4b045af50700adf1665697feab12cc234) ) ROM_END -DRIVER_INIT_MEMBER(cps_state, kodb) +void cps_state::init_kodb() { m_maincpu->space(AS_PROGRAM).install_read_port(0x800000, 0x800007, "IN1"); m_maincpu->space(AS_PROGRAM).install_read_handler(0x800018, 0x80001f, read16_delegate(FUNC(cps_state::cps1_dsw_r),this)); @@ -1987,7 +1987,7 @@ DRIVER_INIT_MEMBER(cps_state, kodb) m_maincpu->space(AS_PROGRAM).install_ram(0x900000, 0x903fff, m_bootleg_sprite_ram.get()); m_maincpu->space(AS_PROGRAM).install_ram(0x904000, 0x907fff, m_bootleg_sprite_ram.get()); /* both of these need to be mapped */ - DRIVER_INIT_CALL(cps1); + init_cps1(); } @@ -2112,13 +2112,13 @@ ROM_START( cawingb2 ) ROM_RELOAD( 0x10000, 0x20000 ) ROM_END -DRIVER_INIT_MEMBER(cps_state, cawingbl) +void cps_state::init_cawingbl() { m_maincpu->space(AS_PROGRAM).install_read_port(0x882000, 0x882001, "IN1"); m_maincpu->space(AS_PROGRAM).install_write_handler(0x882006, 0x882007, write16_delegate(FUNC(cps_state::cawingbl_soundlatch_w),this)); m_maincpu->space(AS_PROGRAM).install_read_handler(0x882008, 0x88200f, read16_delegate(FUNC(cps_state::cps1_dsw_r),this)); - DRIVER_INIT_CALL(cps1); + init_cps1(); } // HBMAME start @@ -2164,12 +2164,12 @@ MACHINE_START_MEMBER(cps_state, dinopic) MACHINE_CONFIG_START( cps_state::dinopic ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 12000000) - MCFG_CPU_PROGRAM_MAP(dinopic_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) + MCFG_DEVICE_ADD("maincpu", M68000, 12000000) + MCFG_DEVICE_PROGRAM_MAP(dinopic_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) + MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) - //MCFG_CPU_ADD("audiocpu", PIC16C57, 12000000) + //MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000) //MCFG_DEVICE_DISABLE() /* no valid dumps .. */ MCFG_MACHINE_START_OVERRIDE(cps_state, dinopic) @@ -2183,18 +2183,18 @@ MACHINE_CONFIG_START( cps_state::dinopic ) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1)) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1) MCFG_PALETTE_ADD("palette", 0xc00) MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") + SPEAKER(config, "mono").front_center(); - MCFG_OKIM6295_ADD("oki", 1000000, PIN7_HIGH) + MCFG_DEVICE_ADD("oki", OKIM6295, 1'000'000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) MACHINE_CONFIG_END @@ -2305,11 +2305,11 @@ ROM_START( dinopic2 ) ROM_LOAD( "palce16v8h-2.bin", 0xa00, 0x117, CRC(9ae375ba) SHA1(6f227c2a5b1170a41e6419f12d1e1f98edc6f8e5) ) ROM_END -DRIVER_INIT_MEMBER(cps_state, dinopic) +void cps_state::init_dinopic() { m_bootleg_sprite_ram = std::make_unique<uint16_t[]>(0x2000); m_maincpu->space(AS_PROGRAM).install_ram(0x990000, 0x993fff, m_bootleg_sprite_ram.get()); - DRIVER_INIT_CALL(cps1); + init_cps1(); } // see code around BB3A6. If protection fails then it jumps to 100000 which causes an exception. @@ -2364,12 +2364,12 @@ ROM_END MACHINE_CONFIG_START( cps_state::sgyxz ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 12000000) - MCFG_CPU_PROGRAM_MAP(sgyxz_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) + MCFG_DEVICE_ADD("maincpu", M68000, 12000000) + MCFG_DEVICE_PROGRAM_MAP(sgyxz_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) - MCFG_CPU_ADD("audiocpu", Z80, 3579545) - MCFG_CPU_PROGRAM_MAP(sgyxz_sound_map) + MCFG_DEVICE_ADD("audiocpu", Z80, 3579545) + MCFG_DEVICE_PROGRAM_MAP(sgyxz_sound_map) MCFG_MACHINE_START_OVERRIDE(cps_state,sgyxz) @@ -2380,24 +2380,24 @@ MACHINE_CONFIG_START( cps_state::sgyxz ) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1)) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1) MCFG_PALETTE_ADD("palette", 0xc00) MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("eeprom") /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") + SPEAKER(config, "mono").front_center(); - MCFG_YM2151_ADD("2151", 3'579'545) /* verified on pcb */ + MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) MCFG_SOUND_ROUTE(0, "mono", 0.35) MCFG_SOUND_ROUTE(1, "mono", 0.35) /* CPS PPU is fed by a 16mhz clock,pin 117 outputs a 4mhz clock which is divided by 4 using 2 74ls74 */ - MCFG_OKIM6295_ADD("oki", 1'000'000, PIN7_HIGH) // pin 7 can be changed by the game code, see f006 on z80 + MCFG_DEVICE_ADD("oki", OKIM6295, 1'000'000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) MACHINE_CONFIG_END @@ -2455,11 +2455,11 @@ MACHINE_START_MEMBER(cps_state, punipic) MACHINE_CONFIG_START( cps_state::punipic ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 12000000) - MCFG_CPU_PROGRAM_MAP(punipic_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) + MCFG_DEVICE_ADD("maincpu", M68000, 12000000) + MCFG_DEVICE_PROGRAM_MAP(punipic_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) - //MCFG_CPU_ADD("audiocpu", PIC16C57, 12000000) + //MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000) //MCFG_DEVICE_DISABLE() /* no valid dumps .. */ MCFG_MACHINE_START_OVERRIDE(cps_state, punipic) @@ -2473,18 +2473,18 @@ MACHINE_CONFIG_START( cps_state::punipic ) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1)) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1) MCFG_PALETTE_ADD("palette", 0xc00) MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") + SPEAKER(config, "mono").front_center(); - MCFG_OKIM6295_ADD("oki", 1000000, PIN7_HIGH) + MCFG_DEVICE_ADD("oki", OKIM6295, 1'000'000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) MACHINE_CONFIG_END @@ -2619,7 +2619,7 @@ ROM_START( punipic3 ) //ROM_LOAD( "sound.bin", 0x000000, 0x80000, CRC(aeec9dc6) SHA1(56fd62e8db8aa96cdd242d8c705849a413567780) ) ROM_END -DRIVER_INIT_MEMBER(cps_state, punipic) +void cps_state::init_punipic() { uint16_t *mem16 = (uint16_t *)memregion("maincpu")->base(); mem16[0x5A8/2] = 0x4E71; // set data pointers @@ -2629,16 +2629,16 @@ DRIVER_INIT_MEMBER(cps_state, punipic) mem16[0x4DF6/2] = 0x0152; mem16[0x4DF8/2] = 0x4E75; - DRIVER_INIT_CALL(dinopic); + init_dinopic(); } -DRIVER_INIT_MEMBER(cps_state, punipic3) +void cps_state::init_punipic3() { uint16_t *mem16 = (uint16_t *)memregion("maincpu")->base(); mem16[0x5A6/2] = 0x4E71; // set data pointers mem16[0x5A8/2] = 0x4E71; - DRIVER_INIT_CALL(dinopic); + init_dinopic(); } @@ -2648,12 +2648,12 @@ DRIVER_INIT_MEMBER(cps_state, punipic3) MACHINE_CONFIG_START( cps_state::sf2m1 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 12'000'000 ) - MCFG_CPU_PROGRAM_MAP(sf2m1_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) + MCFG_DEVICE_ADD("maincpu", M68000, 12'000'000 ) + MCFG_DEVICE_PROGRAM_MAP(sf2m1_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) - MCFG_CPU_ADD("audiocpu", Z80, 3'579'545) - MCFG_CPU_PROGRAM_MAP(sgyxz_sound_map) + MCFG_DEVICE_ADD("audiocpu", Z80, 3'579'545) + MCFG_DEVICE_PROGRAM_MAP(sgyxz_sound_map) MCFG_MACHINE_START_OVERRIDE(cps_state,sf2m1) @@ -2661,20 +2661,20 @@ MACHINE_CONFIG_START( cps_state::sf2m1 ) MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_RAW_PARAMS(CPS_PIXEL_CLOCK, CPS_HTOTAL, CPS_HBEND, CPS_HBSTART, CPS_VTOTAL, CPS_VBEND, CPS_VBSTART) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1)) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1) MCFG_PALETTE_ADD("palette", 0xc00) MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_YM2151_ADD("2151", 3'579'545) + SPEAKER(config, "mono").front_center(); + MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) MCFG_SOUND_ROUTE(0, "mono", 0.35) MCFG_SOUND_ROUTE(1, "mono", 0.35) - MCFG_OKIM6295_ADD("oki", 1'000'000, PIN7_HIGH) + MCFG_DEVICE_ADD("oki", OKIM6295, 1'000'000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) MACHINE_CONFIG_END @@ -2707,13 +2707,12 @@ ROM_START( sf2m1 ) ROM_LOAD( "s92_19.bin", 0x20000, 0x20000, CRC(beade53f) SHA1(277c397dc12752719ec6b47d2224750bd1c07f79) ) ROM_END -DRIVER_INIT_MEMBER(cps_state, sf2m1) +void cps_state::init_sf2m1() { uint16_t *mem16 = (uint16_t *)memregion("maincpu")->base(); mem16[0x64E/2] = 0x6046; // fix priorities - DRIVER_INIT_CALL(dinopic); - + init_dinopic(); } @@ -2887,7 +2886,7 @@ ROM_START( sf2m9 ) ROM_END -DRIVER_INIT_MEMBER(cps_state, sf2mdt) +void cps_state::init_sf2mdt() { int i; uint32_t gfx_size = memregion( "gfx" )->bytes(); @@ -2905,12 +2904,12 @@ DRIVER_INIT_MEMBER(cps_state, sf2mdt) } m_maincpu->space(AS_PROGRAM).install_write_handler(0x708100, 0x7081ff, write16_delegate(FUNC(cps_state::sf2mdt_layer_w),this)); - DRIVER_INIT_CALL(sf2mdta); + init_sf2mdta(); } -DRIVER_INIT_MEMBER(cps_state, sf2mdtb) +void cps_state::init_sf2mdtb() { int i; uint32_t gfx_size = memregion( "gfx" )->bytes(); @@ -2932,11 +2931,11 @@ DRIVER_INIT_MEMBER(cps_state, sf2mdtb) m_maincpu->space(AS_PROGRAM).install_ram(0x700000, 0x703fff, m_bootleg_sprite_ram.get()); m_maincpu->space(AS_PROGRAM).install_ram(0x704000, 0x707fff, m_bootleg_sprite_ram.get()); /* both of these need to be mapped */ - DRIVER_INIT_CALL(cps1); + init_cps1(); } -DRIVER_INIT_MEMBER(cps_state, sf2mdta) +void cps_state::init_sf2mdta() { /* bootleg sprite ram */ m_bootleg_sprite_ram = std::make_unique<uint16_t[]>(0x2000); @@ -2946,17 +2945,17 @@ DRIVER_INIT_MEMBER(cps_state, sf2mdta) m_bootleg_work_ram = std::make_unique<uint16_t[]>(0x8000); m_maincpu->space(AS_PROGRAM).install_ram(0xfc0000, 0xfcffff, m_bootleg_work_ram.get()); /* this has moved */ - DRIVER_INIT_CALL(cps1); + init_cps1(); } -DRIVER_INIT_MEMBER(cps_state, sf2b) +void cps_state::init_sf2b() { /* bootleg sprite ram */ m_bootleg_sprite_ram = std::make_unique<uint16_t[]>(0x2000); m_maincpu->space(AS_PROGRAM).install_ram(0x700000, 0x703fff, m_bootleg_sprite_ram.get()); m_maincpu->space(AS_PROGRAM).install_ram(0x704000, 0x707fff, m_bootleg_sprite_ram.get()); - DRIVER_INIT_CALL(cps1); + init_cps1(); } // ************************************************************************* SLAMPIC @@ -2979,11 +2978,11 @@ MACHINE_START_MEMBER(cps_state, slampic) MACHINE_CONFIG_START( cps_state::slampic ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 12000000) - MCFG_CPU_PROGRAM_MAP(slampic_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) + MCFG_DEVICE_ADD("maincpu", M68000, 12000000) + MCFG_DEVICE_PROGRAM_MAP(slampic_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) - //MCFG_CPU_ADD("audiocpu", PIC16C57, 12000000) + //MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000) //MCFG_DEVICE_DISABLE() /* no valid dumps .. */ MCFG_MACHINE_START_OVERRIDE(cps_state, slampic) @@ -2997,18 +2996,18 @@ MACHINE_CONFIG_START( cps_state::slampic ) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1)) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1) MCFG_PALETTE_ADD("palette", 0xc00) MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") + SPEAKER(config, "mono").front_center(); - MCFG_OKIM6295_ADD("oki", 1000000, PIN7_HIGH) + MCFG_DEVICE_ADD("oki", OKIM6295, 1'000'000, okim6295_device::PIN7_HIGH) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) MACHINE_CONFIG_END @@ -3058,41 +3057,41 @@ ROM_END // ************************************************************************* DRIVER MACROS -GAME( 1990, cawingbl, cawing, cawingbl, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 1)", MACHINE_SUPPORTS_SAVE ) // 901012 ETC -GAME( 1990, cawingb2, cawing, cawingbl, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 2)", MACHINE_SUPPORTS_SAVE ) // 901012 ETC +HACK( 1990, cawingbl, cawing, cawingbl, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 1)", MACHINE_SUPPORTS_SAVE ) // 901012 ETC +HACK( 1990, cawingb2, cawing, cawingbl, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 2)", MACHINE_SUPPORTS_SAVE ) // 901012 ETC -GAME( 1993, dinopic, dino, dinopic, dino, cps_state, dinopic, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 1)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930201 ETC -GAME( 1993, dinopic2, dino, dinopic, dino, cps_state, dinopic, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 2)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // 930201 ETC -GAME( 1993, dinopic3, dino, dinopic, dino, cps_state, dinopic, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg, set 3)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // 930201 ETC +HACK( 1993, dinopic, dino, dinopic, dino, cps_state, dinopic, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 1)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930201 ETC +HACK( 1993, dinopic2, dino, dinopic, dino, cps_state, dinopic, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 2)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // 930201 ETC +HACK( 1993, dinopic3, dino, dinopic, dino, cps_state, dinopic, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg, set 3)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // 930201 ETC -GAME( 1990, fcrash, ffight, fcrash, fcrash, cps_state, cps1, ROT0, "bootleg (Playmark)", "Final Crash (bootleg of Final Fight)", MACHINE_SUPPORTS_SAVE ) -GAME( 1990, ffightbl, ffight, fcrash, fcrash, cps_state, cps1, ROT0, "bootleg", "Final Fight (bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1990, ffightbla, ffight, fcrash, fcrash, cps_state, cps1, ROT0, "bootleg", "Final Fight (bootleg on Final Crash PCB)", MACHINE_SUPPORTS_SAVE ) // same as Final Crash without the modified gfx +HACK( 1990, fcrash, ffight, fcrash, fcrash, cps_state, cps1, ROT0, "bootleg (Playmark)", "Final Crash (bootleg of Final Fight)", MACHINE_SUPPORTS_SAVE ) +HACK( 1990, ffightbl, ffight, fcrash, fcrash, cps_state, cps1, ROT0, "bootleg", "Final Fight (bootleg)", MACHINE_SUPPORTS_SAVE ) +HACK( 1990, ffightbla, ffight, fcrash, fcrash, cps_state, cps1, ROT0, "bootleg", "Final Fight (bootleg on Final Crash PCB)", MACHINE_SUPPORTS_SAVE ) // same as Final Crash without the modified gfx -GAME( 1991, kodb, kod, kodb, kodb, cps_state, kodb, ROT0, "bootleg (Playmark)", "The King of Dragons (bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 910731 "ETC" -GAME( 1991, knightsb, knights, knightsb, knights, cps_state, dinopic, ROT0, "bootleg", "Knights of the Round (bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // 911127 - based on World version +HACK( 1991, kodb, kod, kodb, kodb, cps_state, kodb, ROT0, "bootleg (Playmark)", "The King of Dragons (bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 910731 "ETC" +HACK( 1991, knightsb, knights, knightsb, knights, cps_state, dinopic, ROT0, "bootleg", "Knights of the Round (bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // 911127 - based on World version -GAME( 1993, punipic, punisher, punipic, punisher, cps_state, punipic, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 1)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930422 ETC -GAME( 1993, punipic2, punisher, punipic, punisher, cps_state, punipic, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 2)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930422 ETC -GAME( 1993, punipic3, punisher, punipic, punisher, cps_state, punipic3, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 3)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930422 ETC +HACK( 1993, punipic, punisher, punipic, punisher, cps_state, punipic, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 1)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930422 ETC +HACK( 1993, punipic2, punisher, punipic, punisher, cps_state, punipic, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 2)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930422 ETC +HACK( 1993, punipic3, punisher, punipic, punisher, cps_state, punipic3, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 3)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930422 ETC -GAME( 1992, sf2m1, sf2ce, sf2m1, sf2, cps_state, sf2m1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M1, bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 920313 ETC -GAME( 1992, sf2mdt, sf2ce, sf2mdt, sf2mdt, cps_state, sf2mdt, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 920313 - based on (heavily modified) World version -GAME( 1992, sf2mdta, sf2ce, sf2mdt, sf2mdt, cps_state, sf2mdta, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 920313 - based on World version -GAME( 1992, sf2mdtb, sf2ce, sf2mdt, sf2mdtb, cps_state, sf2mdtb, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 3)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 920313 - based on World version +HACK( 1992, sf2m1, sf2ce, sf2m1, sf2, cps_state, sf2m1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M1, bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 920313 ETC +HACK( 1992, sf2mdt, sf2ce, sf2mdt, sf2mdt, cps_state, sf2mdt, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 920313 - based on (heavily modified) World version +HACK( 1992, sf2mdta, sf2ce, sf2mdt, sf2mdt, cps_state, sf2mdta, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 920313 - based on World version +HACK( 1992, sf2mdtb, sf2ce, sf2mdt, sf2mdtb, cps_state, sf2mdtb, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 3)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 920313 - based on World version -GAME( 1992, sf2b, sf2, sf2b, sf2mdt, cps_state, sf2b, ROT0, "bootleg", "Street Fighter II: The World Warrior (bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) //910204 - based on World version +HACK( 1992, sf2b, sf2, sf2b, sf2mdt, cps_state, sf2b, ROT0, "bootleg", "Street Fighter II: The World Warrior (bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) //910204 - based on World version -GAME( 1992, sf2m9, sf2ce, sf2m1, sf2, cps_state, dinopic, ROT0, "bootleg", "Street Fighter II': Champion Edition (M9, bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 920313 ETC +HACK( 1992, sf2m9, sf2ce, sf2m1, sf2, cps_state, dinopic, ROT0, "bootleg", "Street Fighter II': Champion Edition (M9, bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 920313 ETC -GAME( 1993, slampic, slammast, slampic, slammast, cps_state, dinopic, ROT0, "bootleg", "Saturday Night Slam Masters (bootleg with PIC16c57)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930713 ETC +HACK( 1993, slampic, slammast, slampic, slammast, cps_state, dinopic, ROT0, "bootleg", "Saturday Night Slam Masters (bootleg with PIC16c57)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // 930713 ETC -GAME( 1999, sgyxz, wof, sgyxz, sgyxz, cps_state, cps1, ROT0, "bootleg (All-In Electronic)", "Warriors of Fate ('sgyxz' bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 921005 - Sangokushi 2 +HACK( 1999, sgyxz, wof, sgyxz, sgyxz, cps_state, cps1, ROT0, "bootleg (All-In Electronic)", "Warriors of Fate ('sgyxz' bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) // 921005 - Sangokushi 2 // HBMAME **********************************************/ -GAME( 1990, cawingb, cawing, cawingb, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg)", MACHINE_SUPPORTS_SAVE ) +HACK( 1990, cawingb, cawing, cawingb, cawingbl, cps_state, cawingbl, ROT0, "bootleg", "Carrier Air Wing (bootleg)", MACHINE_SUPPORTS_SAVE ) void cps_state::captcommb2_map(address_map &map) { map(0x000000,0x1fffff).rom(); @@ -3122,13 +3121,13 @@ MACHINE_START_MEMBER(cps_state, captcommb2) MACHINE_CONFIG_START( cps_state::captcommb2 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M68000, 10000000) - MCFG_CPU_PROGRAM_MAP(captcommb2_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) - MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) + MCFG_DEVICE_ADD("maincpu", M68000, 10000000) + MCFG_DEVICE_PROGRAM_MAP(captcommb2_map) + MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) + MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) - MCFG_CPU_ADD("audiocpu", Z80, 3579545) - MCFG_CPU_PROGRAM_MAP(sf2mdt_z80map) + MCFG_DEVICE_ADD("audiocpu", Z80, 3579545) + MCFG_DEVICE_PROGRAM_MAP(sf2mdt_z80map) MCFG_MACHINE_START_OVERRIDE(cps_state,captcommb2) MCFG_MACHINE_RESET_OVERRIDE(cps_state,fcrash) @@ -3140,30 +3139,30 @@ MACHINE_CONFIG_START( cps_state::captcommb2 ) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1) - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(cps_state, screen_vblank_cps1)) + MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) MCFG_SCREEN_PALETTE("palette") - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cps1) + MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_cps1) MCFG_PALETTE_ADD("palette", 4096) MCFG_VIDEO_START_OVERRIDE(cps_state,cps1) /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") + SPEAKER(config, "mono").front_center(); MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_YM2151_ADD("2151", 3579545) + MCFG_DEVICE_ADD("2151", YM2151, XTAL(3'579'545)) MCFG_SOUND_ROUTE(0, "mono", 0.35) MCFG_SOUND_ROUTE(1, "mono", 0.35) /* has 2x MSM5205 instead of OKI6295 */ - MCFG_SOUND_ADD("msm1", MSM5205, 24000000/64) /* ? */ - MCFG_MSM5205_VCLK_CB(WRITELINE(cps_state, m5205_int1)) /* interrupt function */ + MCFG_DEVICE_ADD("msm1", MSM5205, 24000000/64) /* ? */ + MCFG_MSM5205_VCLK_CB(WRITELINE(*this, cps_state, m5205_int1)) /* interrupt function */ MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) /* 4KHz 4-bit */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) - MCFG_SOUND_ADD("msm2", MSM5205, 24000000/64) /* ? */ - MCFG_MSM5205_VCLK_CB(WRITELINE(cps_state, m5205_int2)) /* interrupt function */ + MCFG_DEVICE_ADD("msm2", MSM5205, 24000000/64) /* ? */ + MCFG_MSM5205_VCLK_CB(WRITELINE(*this, cps_state, m5205_int2)) /* interrupt function */ MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) /* 4KHz 4-bit */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_CONFIG_END @@ -3192,4 +3191,4 @@ ROM_START( captcommb2 ) ROM_END -GAME( 1991, captcommb2,captcomm, captcommb2,captcomm, cps_state, cps1, ROT0, "bootleg", "Captain Commando (bootleg with YM2151 + 2xMSM5205)", MACHINE_SUPPORTS_SAVE ) +HACK( 1991, captcommb2,captcomm, captcommb2,captcomm, cps_state, cps1, ROT0, "bootleg", "Captain Commando (bootleg with YM2151 + 2xMSM5205)", MACHINE_SUPPORTS_SAVE ) |