summaryrefslogtreecommitdiffstats
path: root/docs/release/src/hbmame/drivers/fcrash.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'docs/release/src/hbmame/drivers/fcrash.cpp')
-rw-r--r--docs/release/src/hbmame/drivers/fcrash.cpp341
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 )