diff --git a/src/mame/neogeo/neogeo.cpp b/src/mame/neogeo/neogeo.cpp index f3f93ffe06a..624dd87e587 100644 --- a/src/mame/neogeo/neogeo.cpp +++ b/src/mame/neogeo/neogeo.cpp @@ -11980,37 +11980,37 @@ GAME( 1998, kof98h, kof98, neobase, neogeo, mvs_led_state, empty_ini GAME( 1998, lastbld2, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The Last Blade 2 / Bakumatsu Roman - Dai Ni Maku Gekka no Kenshi (NGM-2430 ~ NGH-2430)", MACHINE_SUPPORTS_SAVE ) GAME( 1998, neocup98, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Neo-Geo Cup '98 - The Road to the Victory", MACHINE_SUPPORTS_SAVE ) GAME( 1999, mslugx, neogeo, mslugx, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Metal Slug X - Super Vehicle-001 (NGM-2500 ~ NGH-2500)", MACHINE_SUPPORTS_SAVE ) -GAME( 1999, kof99, neogeo, kof99, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGM-2510)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ -GAME( 1999, kof99h, kof99, kof99, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGH-2510)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX, crashes going into attract demo */ -GAME( 1999, kof99e, kof99, kof99, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (earlier)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ -GAME( 1999, kof99k, kof99, kof99, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (Korean release)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ -GAME( 1999, kof99ka, kof99, kof99k, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (Korean release, non-encrypted program)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 1999, kof99, neogeo, kof99, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGM-2510)", MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ +GAME( 1999, kof99h, kof99, kof99, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGH-2510)", MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX, crashes going into attract demo */ +GAME( 1999, kof99e, kof99, kof99, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (earlier)", MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ +GAME( 1999, kof99k, kof99, kof99, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (Korean release)", MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ +GAME( 1999, kof99ka, kof99, kof99k, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (Korean release, non-encrypted program)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ GAME( 1999, kof99p, kof99, neobase, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (prototype)", MACHINE_SUPPORTS_SAVE ) -GAME( 1999, garou, neogeo, garou, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ -GAME( 1999, garouh, garou, garouh, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530 ~ NGH-2530)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ -GAME( 1999, garouha, garou, garou, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Garou - Mark of the Wolves (NGH-2530)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ +GAME( 1999, garou, neogeo, garou, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530)", MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ +GAME( 1999, garouh, garou, garouh, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530 ~ NGH-2530)", MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ +GAME( 1999, garouha, garou, garou, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Garou - Mark of the Wolves (NGH-2530)", MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ GAME( 1999, garoup, garou, neobase, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Garou - Mark of the Wolves (prototype)", MACHINE_SUPPORTS_SAVE ) GAME( 1999, garoubl, garou, garoubl, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "Garou - Mark of the Wolves (bootleg)", MACHINE_SUPPORTS_SAVE ) /* Bootleg of garoup */ -GAME( 2000, mslug3, neogeo, mslug3, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Metal Slug 3 (NGM-2560)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ -GAME( 2000, mslug3a, mslug3, mslug3a, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Metal Slug 3 (NGM-2560, earlier)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX - revision Mar/17/2000 1:36 (from SMA rom) */ -GAME( 2000, mslug3h, mslug3, mslug3h, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Metal Slug 3 (NGH-2560)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2000, mslug3, neogeo, mslug3, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Metal Slug 3 (NGM-2560)", MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ +GAME( 2000, mslug3a, mslug3, mslug3a, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Metal Slug 3 (NGM-2560, earlier)", MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX - revision Mar/17/2000 1:36 (from SMA rom) */ +GAME( 2000, mslug3h, mslug3, mslug3h, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Metal Slug 3 (NGH-2560)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ GAME( 2000, mslug3b6, mslug3, mslug3b6, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "Metal Slug 6 (bootleg of Metal Slug 3)", MACHINE_SUPPORTS_SAVE ) /* real Metal Slug 6 is an Atomiswave HW game, see naomi.cpp ;-) */ -GAME( 2000, kof2000, neogeo, kof2000, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters 2000 (NGM-2570 ~ NGH-2570)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ -GAME( 2000, kof2000n, kof2000, kof2000n, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters 2000 (not encrypted)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ -GAME( 2001, zupapa, neogeo, zupapa, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Zupapa!" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ -GAME( 2001, sengoku3, neogeo, sengoku3, neogeo, mvs_led_state, empty_init, ROT0, "Noise Factory / SNK", "Sengoku 3 / Sengoku Densho 2001 (set 1)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ -GAME( 2001, sengoku3a, sengoku3, sengoku3, neogeo, mvs_led_state, empty_init, ROT0, "Noise Factory / SNK", "Sengoku 3 / Sengoku Densho 2001 (set 2)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ -GAME( 2001, kof2001, neogeo, kof2001, neogeo, mvs_led_state, empty_init, ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGM-262?)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ -GAME( 2001, kof2001h, kof2001, kof2001, neogeo, mvs_led_state, empty_init, ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGH-2621)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2000, kof2000, neogeo, kof2000, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters 2000 (NGM-2570 ~ NGH-2570)", MACHINE_SUPPORTS_SAVE ) /* Encrypted Code & GFX */ +GAME( 2000, kof2000n, kof2000, kof2000n, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "The King of Fighters 2000 (not encrypted)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2001, zupapa, neogeo, zupapa, neogeo, mvs_led_state, empty_init, ROT0, "SNK", "Zupapa!", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2001, sengoku3, neogeo, sengoku3, neogeo, mvs_led_state, empty_init, ROT0, "Noise Factory / SNK", "Sengoku 3 / Sengoku Densho 2001 (set 1)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2001, sengoku3a, sengoku3, sengoku3, neogeo, mvs_led_state, empty_init, ROT0, "Noise Factory / SNK", "Sengoku 3 / Sengoku Densho 2001 (set 2)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2001, kof2001, neogeo, kof2001, neogeo, mvs_led_state, empty_init, ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGM-262?)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2001, kof2001h, kof2001, kof2001, neogeo, mvs_led_state, empty_init, ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGH-2621)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ GAME( 2003, cthd2003, kof2001, cthd2k3, neogeo, mvs_led_state, empty_init, ROT0, "bootleg (Phenixsoft)", "Crouching Tiger Hidden Dragon 2003 (hack of The King of Fighters 2001)", MACHINE_SUPPORTS_SAVE ) /* Protected Hack / Bootleg of kof2001 */ GAME( 2003, ct2k3sp, kof2001, ct2k3sp, neogeo, mvs_led_state, empty_init, ROT0, "bootleg (Phenixsoft)", "Crouching Tiger Hidden Dragon 2003 Super Plus (hack of The King of Fighters 2001)", MACHINE_SUPPORTS_SAVE ) /* Protected Hack / Bootleg of kof2001 */ GAME( 2003, ct2k3sa, kof2001, ct2k3sa, neogeo, mvs_led_state, empty_init, ROT0, "bootleg (Phenixsoft)", "Crouching Tiger Hidden Dragon 2003 Super Plus (hack of The King of Fighters 2001, alternate)", MACHINE_SUPPORTS_SAVE ) /* Hack / Bootleg of kof2001 */ -GAME( 2002, kof2002, neogeo, kof2002, neogeo, mvs_led_state, empty_init, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (NGM-2650 ~ NGH-2650)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2002, kof2002, neogeo, kof2002, neogeo, mvs_led_state, empty_init, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (NGM-2650 ~ NGH-2650)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ GAME( 2002, kof2002b, kof2002, kof2002b, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 2002 (bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 2002, kf2k2pls, kof2002, kf2k2pls, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 1)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ -GAME( 2002, kf2k2pla, kof2002, kf2k2pls, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 2)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ -GAME( 2002, kf2k2mp, kof2002, kf2k2mp, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 2002 Magic Plus (bootleg)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ -GAME( 2002, kf2k2mp2, kof2002, kf2k2mp2, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 2002 Magic Plus II (bootleg)" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2002, kf2k2pls, kof2002, kf2k2pls, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 1)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2002, kf2k2pla, kof2002, kf2k2pls, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 2)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2002, kf2k2mp, kof2002, kf2k2mp, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 2002 Magic Plus (bootleg)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2002, kf2k2mp2, kof2002, kf2k2mp2, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 2002 Magic Plus II (bootleg)", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ GAME( 2002, kof10th, kof2002, kof10th, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 10th Anniversary (bootleg of The King of Fighters 2002)", MACHINE_SUPPORTS_SAVE ) // fake SNK copyright GAME( 2005, kf10thep, kof2002, kf10thep, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 10th Anniversary Extra Plus (bootleg of The King of Fighters 2002)", MACHINE_SUPPORTS_SAVE ) // fake SNK copyright GAME( 2004, kf2k5uni, kof2002, kf2k5uni, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "The King of Fighters 10th Anniversary 2005 Unique (bootleg of The King of Fighters 2002)", MACHINE_SUPPORTS_SAVE ) // fake SNK copyright @@ -12070,7 +12070,7 @@ GAME( 1992, viewpoinp, viewpoin, neobase, neogeo, mvs_led_state, empty_ini GAME( 1994, janshin, neogeo, neogeo_mj, neogeo_mj, mvs_led_state, empty_init, ROT0, "Aicom", "Janshin Densetsu - Quest of Jongmaster", MACHINE_SUPPORTS_SAVE ) GAME( 1995, pulstar, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "Aicom", "Pulstar", MACHINE_SUPPORTS_SAVE ) GAME( 1998, blazstar, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "Yumekobo", "Blazing Star", MACHINE_SUPPORTS_SAVE ) -GAME( 1999, preisle2, neogeo, preisle2, neogeo, mvs_led_state, empty_init, ROT0, "Yumekobo / Saurus", "Prehistoric Isle 2" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 1999, preisle2, neogeo, preisle2, neogeo, mvs_led_state, empty_init, ROT0, "Yumekobo / Saurus", "Prehistoric Isle 2", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ // Data East Corporation GAME( 1993, spinmast, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "Data East Corporation", "Spin Master / Miracle Adventure", MACHINE_SUPPORTS_SAVE ) @@ -12082,8 +12082,8 @@ GAME( 1996, magdrop2, neogeo, neobase, neogeo, mvs_led_state, empty_ini GAME( 1997, magdrop3, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "Data East Corporation", "Magical Drop III", MACHINE_SUPPORTS_SAVE ) // Eleven -GAME( 2000, nitd, neogeo, nitd, neogeo, mvs_led_state, empty_init, ROT0, "Eleven / Gavaking", "Nightmare in the Dark" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ -GAME( 2001, nitdbl, nitd, neobase, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "Nightmare in the Dark (bootleg)" , MACHINE_SUPPORTS_SAVE ) +GAME( 2000, nitd, neogeo, nitd, neogeo, mvs_led_state, empty_init, ROT0, "Eleven / Gavaking", "Nightmare in the Dark", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 2001, nitdbl, nitd, neobase, neogeo, mvs_led_state, empty_init, ROT0, "bootleg", "Nightmare in the Dark (bootleg)", MACHINE_SUPPORTS_SAVE ) // Face GAME( 1994, gururin, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "Face", "Gururin", MACHINE_SUPPORTS_SAVE ) @@ -12108,7 +12108,7 @@ GAME( 1995?,mvstemp, neogeo, neobase, neogeo, mvs_led_state, empty_ini GAME( 1994, zedblade, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "NMK", "Zed Blade / Operation Ragnarok", MACHINE_SUPPORTS_SAVE ) // Psikyo -GAME( 1999, s1945p, neogeo, s1945p, neogeo, mvs_led_state, empty_init, ROT0, "Psikyo", "Strikers 1945 Plus" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 1999, s1945p, neogeo, s1945p, neogeo, mvs_led_state, empty_init, ROT0, "Psikyo", "Strikers 1945 Plus", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ // Saurus GAME( 1995, quizkof, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "Saurus (SNK license)", "Quiz King of Fighters (SAM-080 ~ SAH-080)", MACHINE_SUPPORTS_SAVE ) @@ -12169,9 +12169,9 @@ GAME( 1997, puzzldpr, neogeo, neobase, neogeo, mvs_led_state, empty_ini GAME( 1998, breakrev, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "Visco", "Breakers Revenge", MACHINE_SUPPORTS_SAVE ) GAME( 1998, flipshot, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "Visco", "Battle Flip Shot", MACHINE_SUPPORTS_SAVE ) GAME( 1999, ctomaday, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "Visco", "Captain Tomaday", MACHINE_SUPPORTS_SAVE ) -GAME( 1999, ganryu, neogeo, ganryu, neogeo, mvs_led_state, empty_init, ROT0, "Visco", "Ganryu / Musashi Ganryuki" , MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ +GAME( 1999, ganryu, neogeo, ganryu, neogeo, mvs_led_state, empty_init, ROT0, "Visco", "Ganryu / Musashi Ganryuki", MACHINE_SUPPORTS_SAVE ) /* Encrypted GFX */ GAME( 2000, bangbead, neogeo, bangbead, neogeo, mvs_led_state, empty_init, ROT0, "Visco", "Bang Bead", MACHINE_SUPPORTS_SAVE ) -GAME( 2000, b2b, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "Visco", "Bang Bang Busters (2010 NCI release)" , MACHINE_SUPPORTS_SAVE ) +GAME( 2000, b2b, neogeo, neobase, neogeo, mvs_led_state, empty_init, ROT0, "Visco", "Bang Bang Busters (2010 NCI release)", MACHINE_SUPPORTS_SAVE ) // Mega Enterprise GAME( 2002, mslug4, neogeo, mslug4, neogeo, mvs_led_state, empty_init, ROT0, "Mega / Noise Factory / Playmore", "Metal Slug 4 (NGM-2630)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/sega/segag80r.cpp b/src/mame/sega/segag80r.cpp index 0a851a6ab44..f8898ba8b4e 100644 --- a/src/mame/sega/segag80r.cpp +++ b/src/mame/sega/segag80r.cpp @@ -75,6 +75,10 @@ * Unknown boardset (background doesn't match consolidated) * System 1 Sound (Z80, 2xSN76496) + From the way this PCB recording sounds (notably the hole open/close sound + effect), there's also a Sindbad Mystery with different sound hardware, + possibly Sega USB: https://x.com/ZAVIGA84/status/1905972208390062179 + **************************************************************************** See also segag80v.cpp for the Sega G-80 Vector games. @@ -124,7 +128,6 @@ #define CPU_CLOCK 8_MHz_XTAL /* not used when video board is connected */ #define VIDEO_CLOCK 15.46848_MHz_XTAL -#define SINDBADM_SOUND_CLOCK 8_MHz_XTAL #define PIXEL_CLOCK (VIDEO_CLOCK/3) @@ -312,13 +315,10 @@ void segag80r_state::sindbadm_misc_w(uint8_t data) /* the data lines are flipped */ -void segag80r_state::sindbadm_sn1_SN76496_w(uint8_t data) +template +void segag80r_state::sindbadm_sn_w(uint8_t data) { - m_sn1->write(bitswap<8>(data, 0,1,2,3,4,5,6,7)); -} -void segag80r_state::sindbadm_sn2_SN76496_w(uint8_t data) -{ - m_sn2->write(bitswap<8>(data, 0,1,2,3,4,5,6,7)); + m_sn[N]->write(bitswap<8>(data, 0,1,2,3,4,5,6,7)); } @@ -395,8 +395,8 @@ void segag80r_state::sindbadm_sound_map(address_map &map) { map(0x0000, 0x1fff).rom(); map(0x8000, 0x87ff).mirror(0x1800).ram(); - map(0xa000, 0xa003).mirror(0x1ffc).w(FUNC(segag80r_state::sindbadm_sn1_SN76496_w)); - map(0xc000, 0xc003).mirror(0x1ffc).w(FUNC(segag80r_state::sindbadm_sn2_SN76496_w)); + map(0xa000, 0xa003).mirror(0x1ffc).w(FUNC(segag80r_state::sindbadm_sn_w<0>)); + map(0xc000, 0xc003).mirror(0x1ffc).w(FUNC(segag80r_state::sindbadm_sn_w<1>)); map(0xe000, 0xe000).mirror(0x1fff).r("ppi8255", FUNC(i8255_device::acka_r)); } @@ -973,14 +973,13 @@ void segag80r_state::sindbadm(machine_config &config) SPEAKER(config, "speaker").front_center(); /* sound boards */ - Z80(config, m_audiocpu, SINDBADM_SOUND_CLOCK/2); + Z80(config, m_audiocpu, 8_MHz_XTAL/2); m_audiocpu->set_addrmap(AS_PROGRAM, &segag80r_state::sindbadm_sound_map); m_audiocpu->set_periodic_int(FUNC(segag80r_state::irq0_line_hold), attotime::from_hz(4*60)); /* sound hardware */ - SN76496(config, m_sn1, SINDBADM_SOUND_CLOCK/2).add_route(ALL_OUTPUTS, "speaker", 1.0); /* matches PCB videos, correct? */ - - SN76496(config, m_sn2, SINDBADM_SOUND_CLOCK/4).add_route(ALL_OUTPUTS, "speaker", 1.0); /* matches PCB videos, correct? */ + SN76496(config, m_sn[0], 8_MHz_XTAL/2).add_route(ALL_OUTPUTS, "speaker", 1.0); // matches PCB videos, correct? + SN76496(config, m_sn[1], 8_MHz_XTAL/4).add_route(ALL_OUTPUTS, "speaker", 1.0); // " } diff --git a/src/mame/sega/segag80r.h b/src/mame/sega/segag80r.h index d8d16b1dfd8..a1257d9e55b 100644 --- a/src/mame/sega/segag80r.h +++ b/src/mame/sega/segag80r.h @@ -34,8 +34,7 @@ public: driver_device(mconfig, type, tag), m_mainram(*this, "mainram"), m_videoram(*this, "videoram"), - m_sn1(*this, "sn1"), - m_sn2(*this, "sn2"), + m_sn(*this, "sn%u", 1U), m_maincpu(*this, "maincpu"), m_audiocpu(*this, "audiocpu"), m_soundbrd(*this, "soundbrd"), @@ -85,8 +84,7 @@ private: required_shared_ptr m_mainram; required_shared_ptr m_videoram; - optional_device m_sn1; - optional_device m_sn2; + optional_device_array m_sn; required_device m_maincpu; optional_device m_audiocpu; optional_device m_soundbrd; @@ -152,8 +150,7 @@ private: void usb_ram_w(offs_t offset, uint8_t data); void sindbadm_misc_w(uint8_t data); - void sindbadm_sn1_SN76496_w(uint8_t data); - void sindbadm_sn2_SN76496_w(uint8_t data); + template void sindbadm_sn_w(uint8_t data); TILE_GET_INFO_MEMBER(spaceod_get_tile_info); TILEMAP_MAPPER_MEMBER(spaceod_scan_rows); @@ -191,8 +188,7 @@ private: }; -/*----------- defined in audio/segag80r.c -----------*/ - +/*----------- defined in segag80r_a.cpp -----------*/ class sega005_sound_device : public device_t, public device_sound_interface @@ -217,7 +213,8 @@ private: DECLARE_DEVICE_TYPE(SEGA005, sega005_sound_device) -/*----------- defined in video/segag80r.c -----------*/ + +/*----------- defined in segag80r_v.cpp -----------*/ #define G80_BACKGROUND_NONE 0 #define G80_BACKGROUND_SPACEOD 1