summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fastfred.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/fastfred.cpp')
-rw-r--r--src/mame/drivers/fastfred.cpp87
1 files changed, 32 insertions, 55 deletions
diff --git a/src/mame/drivers/fastfred.cpp b/src/mame/drivers/fastfred.cpp
index 025d9027b1a..5a0cd8f3aed 100644
--- a/src/mame/drivers/fastfred.cpp
+++ b/src/mame/drivers/fastfred.cpp
@@ -632,15 +632,15 @@ INTERRUPT_GEN_MEMBER(fastfred_state::sound_timer_irq)
device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero);
}
-void fastfred_state::fastfred(machine_config &config)
-{
+MACHINE_CONFIG_START(fastfred_state::fastfred)
+
/* basic machine hardware */
- Z80(config, m_maincpu, XTAL(12'432'000)/4); /* 3.108 MHz; xtal from pcb pics, divider not verified */
- m_maincpu->set_addrmap(AS_PROGRAM, &fastfred_state::fastfred_map);
+ MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'432'000)/4) /* 3.108 MHz; xtal from pcb pics, divider not verified */
+ MCFG_DEVICE_PROGRAM_MAP(fastfred_map)
- Z80(config, m_audiocpu, XTAL(12'432'000)/8); /* 1.554 MHz; xtal from pcb pics, divider not verified */
- m_audiocpu->set_addrmap(AS_PROGRAM, &fastfred_state::sound_map);
- m_audiocpu->set_periodic_int(FUNC(fastfred_state::sound_timer_irq), attotime::from_hz(4*60));
+ MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(12'432'000)/8) /* 1.554 MHz; xtal from pcb pics, divider not verified */
+ MCFG_DEVICE_PROGRAM_MAP(sound_map)
+ MCFG_DEVICE_PERIODIC_INT_DRIVER(fastfred_state, sound_timer_irq, 4*60)
LS259(config, m_outlatch); // "Control Signal Latch" at D10
m_outlatch->q_out_cb<1>().set(FUNC(fastfred_state::nmi_mask_w));
@@ -654,14 +654,14 @@ void fastfred_state::fastfred(machine_config &config)
WATCHDOG_TIMER(config, "watchdog");
/* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); //CLOCK/16/60
- m_screen->set_size(32*8, 32*8);
- m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
- m_screen->set_screen_update(FUNC(fastfred_state::screen_update_fastfred));
- m_screen->set_palette(m_palette);
- m_screen->screen_vblank().set(FUNC(fastfred_state::vblank_irq));
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) //CLOCK/16/60
+ MCFG_SCREEN_SIZE(32*8, 32*8)
+ MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
+ MCFG_SCREEN_UPDATE_DRIVER(fastfred_state, screen_update_fastfred)
+ MCFG_SCREEN_PALETTE(m_palette)
+ MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fastfred_state, vblank_irq))
GFXDECODE(config, "gfxdecode", m_palette, gfx_fastfred);
@@ -676,31 +676,31 @@ void fastfred_state::fastfred(machine_config &config)
AY8910(config, "ay8910.1", XTAL(12'432'000)/8).add_route(ALL_OUTPUTS, "mono", 0.25); /* 1.554 MHz; xtal from pcb pics, divider not verified */
AY8910(config, "ay8910.2", XTAL(12'432'000)/8).add_route(ALL_OUTPUTS, "mono", 0.25); /* 1.554 MHz; xtal from pcb pics, divider not verified */
-}
+MACHINE_CONFIG_END
-void fastfred_state::jumpcoas(machine_config &config)
-{
+MACHINE_CONFIG_START(fastfred_state::jumpcoas)
fastfred(config);
/* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &fastfred_state::jumpcoas_map);
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_PROGRAM_MAP(jumpcoas_map)
- config.device_remove("audiocpu");
+ MCFG_DEVICE_REMOVE("audiocpu")
/* video hardware */
- subdevice<gfxdecode_device>("gfxdecode")->set_info(gfx_jumpcoas);
+ MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_jumpcoas)
/* sound hardware */
- config.device_remove("soundlatch");
- config.device_remove("ay8910.2");
-}
+ MCFG_DEVICE_REMOVE("soundlatch")
+ MCFG_DEVICE_REMOVE("ay8910.2")
+MACHINE_CONFIG_END
-void fastfred_state::imago(machine_config &config)
-{
+MACHINE_CONFIG_START(fastfred_state::imago)
fastfred(config);
/* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &fastfred_state::imago_map);
+ MCFG_DEVICE_MODIFY("maincpu")
+ MCFG_DEVICE_PROGRAM_MAP(imago_map)
m_outlatch->q_out_cb<0>().set_nop(); // writes 1 when level starts, 0 when game over
m_outlatch->q_out_cb<4>().set(FUNC(fastfred_state::imago_dma_irq_w));
@@ -710,11 +710,12 @@ void fastfred_state::imago(machine_config &config)
/* video hardware */
m_palette->set_entries(256+64+2); // 256 for characters, 64 for the stars and 2 for the web
- subdevice<gfxdecode_device>("gfxdecode")->set_info(gfx_imago);
+ MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_imago)
MCFG_VIDEO_START_OVERRIDE(fastfred_state,imago)
- subdevice<screen_device>("screen")->set_screen_update(FUNC(fastfred_state::screen_update_imago));
-}
+ MCFG_SCREEN_MODIFY("screen")
+ MCFG_SCREEN_UPDATE_DRIVER(fastfred_state, screen_update_imago)
+MACHINE_CONFIG_END
#undef CLOCK
@@ -916,29 +917,6 @@ ROM_START( boggy84b )
ROM_LOAD( "b12e", 0x0200, 0x0100, CRC(52b7f445) SHA1(6395ac705a35e602a355cbf700025ff917e89b37) )
ROM_END
-// main PCB is marked: "MC9003" and "MADE IN ITALY" on component side
-// main PCB is marked: "MADE IN ITALY" on solder side
-// ROMs PCB is marked: "MG25157" on component side
-ROM_START( boggy84b2 )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "boggy84-1.bin", 0x0000, 0x1000, CRC(97235e3a) SHA1(f493efd03331416a392cab7d73e39029d7e8098c) )
- ROM_LOAD( "boggy84-2.bin", 0x1000, 0x1000, CRC(282f8830) SHA1(10c2c3d3b14fbe44ef4ad81607c61361fa2f25ae) )
- ROM_LOAD( "boggy84-3.bin", 0x2000, 0x1000, CRC(b49c835a) SHA1(c6782643ff44e6cf972f0d2fc47ecc0a220c0e26) )
- ROM_LOAD( "boggy84-4.bin", 0x3000, 0x1000, CRC(1f98ce07) SHA1(4145785ea55db3940ff4d3834ab736825e5c8712) )
- ROM_LOAD( "boggy84-5.bin", 0x4000, 0x1000, CRC(7b3fd5fb) SHA1(630e7553fc76e59448cedca5dcb34dae3b08d9ba) )
- ROM_LOAD( "boggy84-6.bin", 0x5000, 0x1000, CRC(a4083cc2) SHA1(a266ff0935288678d6e0286ac67ea17b9b42371a) )
- ROM_LOAD( "boggy84-7.bin", 0x6000, 0x1000, CRC(9da29eb9) SHA1(d8802b9b67f9993aa26b8fe7941fc662a6719172) )
- ROM_LOAD( "boggy84-8.bin", 0x7000, 0x1000, NO_DUMP ) // broken, unreadable
-
- ROM_REGION( 0x3000, "gfx1", 0 )
- ROM_LOAD( "boggy84-11.7a", 0x0000, 0x1000, CRC(f4238c68) SHA1(a14cedb126e49e40bab6f46870af64c04ccb01f4) )
- ROM_LOAD( "boggy84-10.9a", 0x1000, 0x1000, CRC(1979d9a6) SHA1(9da387179e6f09ba113219689d3aa039e87bd5e1) )
- ROM_LOAD( "boggy84-9.bin", 0x2000, 0x0800, CRC(de3d8f06) SHA1(0ccc261fe15f63d5bd000b3a7008e294b78837a2) )
-
- ROM_REGION( 0x20, "proms", 0 )
- ROM_LOAD( "6331.10f", 0x00, 0x20, CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d) )
-ROM_END
-
ROM_START( redrobin )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "redro01f.16d", 0x0000, 0x1000, CRC(0788ce10) SHA1(32084714fe005d0489ab1a7e6684a49bd103ce5e) )
@@ -1101,8 +1079,7 @@ GAME( 1983, jumpcoas, 0, jumpcoas, jumpcoas, fastfred_state, init_jumpco
GAME( 1983, jumpcoasa, jumpcoas, jumpcoas, jumpcoas, fastfred_state, init_jumpcoas, ROT90, "Kaneko", "Jump Coaster", MACHINE_SUPPORTS_SAVE )
GAME( 1983, jumpcoast, jumpcoas, jumpcoas, jumpcoas, fastfred_state, init_jumpcoas, ROT90, "Kaneko (Taito license)", "Jump Coaster (Taito)", MACHINE_SUPPORTS_SAVE )
GAME( 1983, boggy84, 0, jumpcoas, boggy84, fastfred_state, init_boggy84, ROT90, "Kaneko", "Boggy '84", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, boggy84b, boggy84, jumpcoas, boggy84, fastfred_state, init_boggy84b, ROT90, "bootleg (Eddie's Games)", "Boggy '84 (bootleg, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, boggy84b2, boggy84, jumpcoas, boggy84, fastfred_state, init_boggy84, ROT90, "bootleg", "Boggy '84 (bootleg, set 2)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // one program ROM isn't dumped
+GAME( 1983, boggy84b, boggy84, jumpcoas, boggy84, fastfred_state, init_boggy84b, ROT90, "bootleg (Eddie's Games)", "Boggy '84 (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, redrobin, 0, fastfred, redrobin, fastfred_state, init_flyboyb, ROT90, "Elettronolo", "Red Robin", MACHINE_SUPPORTS_SAVE )
GAME( 1984, imago, 0, imago, imago, fastfred_state, init_imago, ROT90, "Acom", "Imago (cocktail set)", 0 )
GAME( 1983, imagoa, imago, imago, imagoa, fastfred_state, init_imago, ROT90, "Acom", "Imago (no cocktail set)", 0 )