diff --git a/src/wpc/capcom.c b/src/wpc/capcom.c index 4b3cd1c1d..9b9d28745 100644 --- a/src/wpc/capcom.c +++ b/src/wpc/capcom.c @@ -736,30 +736,30 @@ static MACHINE_INIT(cc) { const char* const gn = rootDrv->name; // For flashers, Capcom uses #89 bulb wired through a STP20N10L Mosfet, 0.02 ohms resistor to a 20V DC source // which is very similar to what Williams uses on WPC hardware, so just uses CORE_MODOUT_BULB_89_20V_DC_WPC - if (strncasecmp(gn, "abv106", 6) == 0) { // Airborne + if (strncasecmp(gn, "abv", 3) == 0) { // Airborne coreGlobals.flipperCoils = 0xFFFFFFFFFFFF0908ull; core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "bbb109", 6) == 0) { // Big Bang Bar + else if (strncasecmp(gn, "bbb", 3) == 0) { // Big Bang Bar coreGlobals.flipperCoils = 0xFFFFFFFFFF0A0908ull; core_set_pwm_output_type(CORE_MODOUT_SOL0 + 21 - 1, 6, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "bsv103", 6) == 0) { // Breakshot + else if (strncasecmp(gn, "bsv", 3) == 0) { // Breakshot coreGlobals.flipperCoils = 0xFFFFFFFFFF0A0908ull; core_set_pwm_output_type(CORE_MODOUT_SOL0 + 28 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); // Center pocket Flasher // core_set_pwm_output_type(CORE_MODOUT_SOL0 + 27 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); // Plunger Flasher (appears in doc but was not kept in production) } - else if (strncasecmp(gn, "ffv104", 6) == 0) { // Flipper Football + else if (strncasecmp(gn, "ffv", 3) == 0) { // Flipper Football coreGlobals.flipperCoils = 0xFFFFFFFF0B0A0908ull; core_set_pwm_output_type(CORE_MODOUT_SOL0 + 28 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "kpb105", 6) == 0) { // KingPin + else if (strncasecmp(gn, "kpb", 3) == 0) { // KingPin // To be checked since this is from VPX table (did not find a manual for this one) coreGlobals.flipperCoils = 0xFFFFFFFFFFFF0908ull; core_set_pwm_output_type(CORE_MODOUT_SOL0 + 18 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 21 - 1, 11, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "pmv112", 6) == 0) { // Pinball Magic + else if (strncasecmp(gn, "pmv", 3) == 0) { // Pinball Magic coreGlobals.flipperCoils = 0xFFFFFFFFFFFF0908ull; core_set_pwm_output_type(CORE_MODOUT_SOL0 + 21 - 1, 11, CORE_MODOUT_BULB_89_20V_DC_WPC); } diff --git a/src/wpc/dedmd.c b/src/wpc/dedmd.c index 10058f4f8..33df26baa 100644 --- a/src/wpc/dedmd.c +++ b/src/wpc/dedmd.c @@ -121,12 +121,12 @@ static void dmd32_init(struct sndbrdData *brdData) { /* copy last 16K of ROM into last 16K of CPU region*/ memcpy(memory_region(DE_DMD32CPUREGION) + 0x8000, memory_region(DE_DMD32ROMREGION) + memory_region_length(DE_DMD32ROMREGION)-0x8000,0x8000); - + // Init 6845 crtc6845_init(0); //crtc6845_set_vsync(0, /* 8000000 from 6809 E clock output */, dmd32_vblank); // we can not use the default implementation as the clock divider is toggled after each HSYNC // The theory of operation given above would lead to a refresh rate of 80.1Hz (half of the frame with a CRTC6845 clocked at 1MHz, the other half at 500KHz) - // Measures on the real hardware shows that a few additional cycles are consumed while switching clock divider, this behavior having changed between initial revision (Data East) + // Measures on the real hardware show that a few additional cycles are consumed while switching clock divider, this behavior having changed between initial revision (Data East) // and later ones (Sega/Stern Whitestar). if ((core_gameData->gen & GEN_DEDMD32) != 0) // Board 520-5055-00 { @@ -135,11 +135,11 @@ static void dmd32_init(struct sndbrdData *brdData) { while (rootDrv->clone_of && (rootDrv->clone_of->flags & NOT_A_DRIVER) == 0) rootDrv = rootDrv->clone_of; const char* const gn = rootDrv->name; - if ((strncasecmp(gn, "stwr_104", 8) == 0) // Star Wars - || (strncasecmp(gn, "rab_320", 7) == 0) // Adventures of Rocky and Bullwinkle and Friends - || (strncasecmp(gn, "aar_101", 7) == 0) // Aaron Spelling - || (strncasecmp(gn, "lw3_208", 7) == 0) // Lethal Weapon 3 - || (strncasecmp(gn, "mj_130", 6) == 0)) // Michael Jordan + if ((strncasecmp(gn, "stwr_", 5) == 0) // Star Wars + || (strncasecmp(gn, "rab_", 4) == 0) // Adventures of Rocky and Bullwinkle and Friends + || (strncasecmp(gn, "aar_", 4) == 0) // Aaron Spelling + || (strncasecmp(gn, "lw3_", 4) == 0) // Lethal Weapon 3 + || (strncasecmp(gn, "mj_", 3) == 0)) // Michael Jordan timer_pulse(1. / 86.20689655172414, 0, dmd32_vblank); else // Measured at 78.07Hz for the 3 PWM frames (234.21Hz fps) @@ -360,7 +360,7 @@ static READ_HANDLER(dmd16_port_r); static WRITE_HANDLER(dmd16_port_w); static MEMORY_READ_START(dmd16_readmem) - { 0x0000, 0x3fff, MRA_ROM }, /* Z80 ROM CODE*/ + { 0x0000, 0x3fff, MRA_ROM }, /* Z80 ROM CODE*/ { 0x4000, 0x7fff, MRA_BANKNO(DMD16_BANK0) }, /* ROM BANK*/ { 0x8000, 0x9fff, MRA_RAM }, MEMORY_END diff --git a/src/wpc/gts3.c b/src/wpc/gts3.c index c9f80abe0..e274712a2 100644 --- a/src/wpc/gts3.c +++ b/src/wpc/gts3.c @@ -10,7 +10,7 @@ //Cueball: CPU0: RST = FEF0, IRQ=462F, NMI=477A GV 07/20/05: Finally found the typo that prevented the extra displays from working perfectly! - GV 07/27/05: Fixed the missing sound in Strikes And Spares + GV 07/27/05: Fixed the missing sound in Strikes N Spares SE 07/27/05: Finally got that DAMN 2nd DMD working *************************************************************************************************/ @@ -29,7 +29,7 @@ #define GTS3_IRQFREQ 1500 /* IRQ Frequency (Guessed) */ #define GTS3_ALPHANMIFREQ 1000 /* Alpha NMI Frequency (Guessed)*/ -#define GTS3_CPUNO 0 +#define GTS3_CPUNO 0 #define GTS3_DCPUNO 1 #define GTS3_SCPUNO 2 #define GTS3_DCPUNO2 2 @@ -672,16 +672,16 @@ static void gts3dmd_init(void) { for (int i = 0; i < 12; i++) // TODO check strobe timings for LED power core_set_pwm_output_type(CORE_MODOUT_SEG0 + i * 16, 7, CORE_MODOUT_VFD_STROBE_05_20MS); // Additional VFD display } - else if (strncasecmp(gn, "smb", 3) == 0) { // Super Mario Bros. - core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12, 12, CORE_MODOUT_BULB_89_20V_DC_GTS3); // Playfield flashers - core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 0 * 8 + 1, 7, CORE_MODOUT_LED_STROBE_1_10MS); // 7 Castle LEDs - core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 8 * 8 + 1, 7, CORE_MODOUT_LED_STROBE_1_10MS); // 7 Billboard LEDs - } else if (strncasecmp(gn, "smbmush", 7) == 0) { // Super Mario Bros. Mushroom World core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20, 3, CORE_MODOUT_BULB_89_20V_DC_GTS3); // Playfield flashers core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 12 * 8, 8, CORE_MODOUT_BULB_89_20V_DC_GTS3); // Flashers from aux board core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 0 * 8 + 1, 7, CORE_MODOUT_LED_STROBE_1_10MS); // 7 Wand LEDs } + else if (strncasecmp(gn, "smb", 3) == 0) { // Super Mario Bros. + core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12, 12, CORE_MODOUT_BULB_89_20V_DC_GTS3); // Playfield flashers + core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 0 * 8 + 1, 7, CORE_MODOUT_LED_STROBE_1_10MS); // 7 Castle LEDs + core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 8 * 8 + 1, 7, CORE_MODOUT_LED_STROBE_1_10MS); // 7 Billboard LEDs + } else if (strncasecmp(gn, "stargate", 8) == 0) { // Stargate core_set_pwm_output_type(CORE_MODOUT_SOL0 + 21, 1, CORE_MODOUT_LED); // 'Rope Lights', circle of leds around Ra in backbox core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 12 * 8, 8, CORE_MODOUT_BULB_89_20V_DC_GTS3); // Flashers from aux board diff --git a/src/wpc/s11.c b/src/wpc/s11.c index 44e0b0d6e..391ec3cc9 100644 --- a/src/wpc/s11.c +++ b/src/wpc/s11.c @@ -847,75 +847,75 @@ static MACHINE_INIT(s11) { // - Star Trax // Williams S9 - if (strncasecmp(gn, "comet_l5", 8) == 0) { // Comet + if (strncasecmp(gn, "comet_", 6) == 0) { // Comet core_set_pwm_output_type(CORE_MODOUT_SOL0 + 3 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 7 - 1, 3, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 13 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output } - else if (strncasecmp(gn, "sorcr_l2", 8) == 0) { // Sorcerer + else if (strncasecmp(gn, "sorcr_", 6) == 0) { // Sorcerer core_set_pwm_output_type(CORE_MODOUT_SOL0 + 5 - 1, 3, CORE_MODOUT_BULB_89_25V_DC_S11); // Wired to a relay in the schematics, Labeled as "Flash eyes (cabinet)" but also as "Flipper Enable Relay" in the manual => left as is for the time being //core_set_pwm_output_type(CORE_MODOUT_SOL0 + 8 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output } - else if (strncasecmp(gn, "sshtl_l7", 8) == 0) { // Space Shuttle + else if (strncasecmp(gn, "sshtl_", 6) == 0) { // Space Shuttle core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 14 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); } // Williams S11 - else if (strncasecmp(gn, "bbnny_l2", 8) == 0) { // Bugs Bunny's Birthday Ball + else if (strncasecmp(gn, "bbnny_", 6) == 0) { // Bugs Bunny's Birthday Ball core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "bcats_l5", 8) == 0) { // Bad Cats + else if (strncasecmp(gn, "bcats_", 6) == 0) { // Bad Cats core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 14 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "bguns_l8", 8) == 0) { // Big Guns + else if (strncasecmp(gn, "bguns_", 6) == 0) { // Big Guns core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Left Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Right Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "bk2k_l4", 7) == 0) { // Black Knight 2000 + else if (strncasecmp(gn, "bk2k_", 5) == 0) { // Black Knight 2000 core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Upper Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Lower Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "bnzai_l3", 8) == 0) { // Banzai Run + else if (strncasecmp(gn, "bnzai_", 6) == 0) { // Banzai Run core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Lower Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Upper Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 22 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Upper Lamp GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "cycln_l5", 8) == 0) { // Cyclone + else if (strncasecmp(gn, "cycln_", 6) == 0) { // Cyclone core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "dd_l2", 5) == 0) { // Dr. Dude + else if (strncasecmp(gn, "dd_", 3) == 0) { // Dr. Dude core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "diner_l4", 8) == 0) { // Diner + else if (strncasecmp(gn, "diner_", 6) == 0) { // Diner core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "esha_la3", 8) == 0) { // Earthshaker + else if (strncasecmp(gn, "esha_", 5) == 0) { // Earthshaker core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Upper Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 14 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); @@ -923,7 +923,7 @@ static MACHINE_INIT(s11) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 16 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "eatpm_l4", 8) == 0) { // Elvira and the Party Monsters + else if (strncasecmp(gn, "eatpm_", 6) == 0) { // Elvira and the Party Monsters core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output @@ -931,33 +931,33 @@ static MACHINE_INIT(s11) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "f14_l1", 6) == 0) { // F14 + else if (strncasecmp(gn, "f14_", 4) == 0) { // F14 core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "fire_l3", 7) == 0) { // Fire + else if (strncasecmp(gn, "fire_", 5) == 0) { // Fire core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 14 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 4, CORE_MODOUT_BULB_89_25V_DC_S11); // 4 muxed flasher outputs (Mux relay is solenoid #12) core_set_pwm_output_type(CORE_MODOUT_SOL0 + 30 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); // 2 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "grand_l4", 8) == 0) { // Grand Lizard + else if (strncasecmp(gn, "grand_", 6) == 0) { // Grand Lizard core_set_pwm_output_type(CORE_MODOUT_SOL0 + 6 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); } - else if (strncasecmp(gn, "gs_lu4", 6) == 0) { // Gameshow + else if (strncasecmp(gn, "gs_", 3) == 0) { // Gameshow core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 16 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "hs_l4", 5) == 0) { // High Speed + else if (strncasecmp(gn, "hs_", 3) == 0) { // High Speed core_set_pwm_output_type(CORE_MODOUT_SOL0 + 4 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); // In fact, this is a relay controlling police light which is a #1628 28V bulb core_set_pwm_output_type(CORE_MODOUT_SOL0 + 5 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); @@ -965,25 +965,25 @@ static MACHINE_INIT(s11) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 22 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); } - else if (strncasecmp(gn, "jokrz_l6", 8) == 0) { // Jokerz + else if (strncasecmp(gn, "jokrz_", 6) == 0) { // Jokerz core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield & Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 22 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "milln_l3", 8) == 0) { // Millionaire + else if (strncasecmp(gn, "milln_", 6) == 0) { // Millionaire core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); // 2 muxed flasher outputs (Mux relay is solenoid #12) core_set_pwm_output_type(CORE_MODOUT_SOL0 + 28 - 1, 5, CORE_MODOUT_BULB_89_25V_DC_S11); // 5 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "mousn_l4", 8) == 0) { // Mousin' Around! + else if (strncasecmp(gn, "mousn_", 6) == 0) { // Mousin' Around! core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "pb_l5", 5) == 0) { // Pinbot + else if (strncasecmp(gn, "pb_", 3) == 0) { // Pinbot core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output @@ -991,28 +991,28 @@ static MACHINE_INIT(s11) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 18 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); // Aux board core_set_pwm_output_type(CORE_MODOUT_SOL0 + 26 - 1, 7, CORE_MODOUT_BULB_89_25V_DC_S11); // 7 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "polic_l4", 8) == 0) { // Police Force + else if (strncasecmp(gn, "polic_", 6) == 0) { // Police Force core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 13 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "pool_l7", 7) == 0) { // Pool Shark + else if (strncasecmp(gn, "pool_", 5) == 0) { // Pool Shark core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "radcl_l1", 8) == 0) { // Radical! + else if (strncasecmp(gn, "radcl_", 6) == 0) { // Radical! core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 16 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "rollr_l2", 8) == 0) { // Rollergames + else if (strncasecmp(gn, "rollr_", 6) == 0) { // Rollergames core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output @@ -1020,46 +1020,46 @@ static MACHINE_INIT(s11) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 16 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "rvrbt_l3", 8) == 0) { // Riverboat Gambler + else if (strncasecmp(gn, "rvrbt_", 6) == 0) { // Riverboat Gambler core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 16 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "rdkng_l4", 8) == 0) { // Road King + else if (strncasecmp(gn, "rdkng_", 6) == 0) { // Road King core_set_pwm_output_type(CORE_MODOUT_SOL0 + 5 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 7 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 14 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); } - else if (strncasecmp(gn, "spstn_l5", 8) == 0) { // Space Station + else if (strncasecmp(gn, "spstn_", 6) == 0) { // Space Station core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 7, CORE_MODOUT_BULB_89_25V_DC_S11); // 7 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "swrds_l2", 8) == 0) { // Swords of Fury + else if (strncasecmp(gn, "swrds_", 6) == 0) { // Swords of Fury core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "taxi_l4", 7) == 0) { // Taxi + else if (strncasecmp(gn, "taxi_", 5) == 0) { // Taxi core_set_pwm_output_type(CORE_MODOUT_SOL0 + 10 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "tsptr_l3", 8) == 0) { // Transporter the Rescue + else if (strncasecmp(gn, "tsptr_", 6) == 0) { // Transporter the Rescue core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 2, CORE_MODOUT_BULB_89_25V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 22 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) } - else if (strncasecmp(gn, "whirl_l3", 8) == 0) { // Whirlwind + else if (strncasecmp(gn, "whirl_", 6) == 0) { // Whirlwind core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Upper Playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 16 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // Backbox and Lower playfield GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_25V_DC_S11); // 8 muxed flasher outputs (Mux relay is solenoid #12) @@ -1068,7 +1068,7 @@ static MACHINE_INIT(s11) { } // DataEast Protoype - else if (strncasecmp(gn, "kiko_a10", 8) == 0) { // King Kong prototype + else if (strncasecmp(gn, "kiko_", 5) == 0) { // King Kong prototype // Informations collected from direct discord exchanges but no schematics available core_set_pwm_output_type(CORE_MODOUT_SOL0 + 1 - 1, 9, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output @@ -1076,7 +1076,7 @@ static MACHINE_INIT(s11) { } // DataEast/Sega 1 - else if (strncasecmp(gn, "lwar_a83", 8) == 0) { // Laser War + else if (strncasecmp(gn, "lwar_", 5) == 0) { // Laser War core_set_pwm_output_type(CORE_MODOUT_SOL0 + 1 - 1, 3, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) @@ -1085,49 +1085,49 @@ static MACHINE_INIT(s11) { } // DataEast/Sega 2 - else if (strncasecmp(gn, "mnfb_c29", 8) == 0) { // Monday Night Football + else if (strncasecmp(gn, "mnfb_", 5) == 0) { // Monday Night Football core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 2, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "play_a24", 8) == 0) { // Playboy 35th Anniversary + else if (strncasecmp(gn, "play_", 5) == 0) { // Playboy 35th Anniversary core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 4, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "poto_a32", 8) == 0) { // Phantom of the Opera + else if (strncasecmp(gn, "poto_", 5) == 0) { // Phantom of the Opera core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 2, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "robo_a36", 8) == 0) { // Robocop + else if (strncasecmp(gn, "robo_", 5) == 0) { // Robocop core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 4, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "ssvc_a26", 8) == 0) { // Secret Service + else if (strncasecmp(gn, "ssvc_", 5) == 0) { // Secret Service core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "tmac_a24", 8) == 0) { // Time Machine + else if (strncasecmp(gn, "tmac_", 5) == 0) { // Time Machine core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 4, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 29 - 1, 4, CORE_MODOUT_BULB_89_32V_DC_S11); // 4 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "torp_e21", 8) == 0) { // Torpedo Alley + else if (strncasecmp(gn, "torp_", 5) == 0) { // Torpedo Alley core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 14 - 1, 2, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "tmnt_104", 8) == 0) { // Teenage Mutant Ninja Turtle + else if (strncasecmp(gn, "tmnt_", 5) == 0) { // Teenage Mutant Ninja Turtle core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 3, CORE_MODOUT_BULB_89_32V_DC_S11); @@ -1135,73 +1135,73 @@ static MACHINE_INIT(s11) { } // DataEast/Sega 3 - else if ((strncasecmp(gn, "gnr_300", 7) == 0) // Guns'n Roses - || (strncasecmp(gn, "tftc_303", 8) == 0) // Tales from The Crypt - || (strncasecmp(gn, "stwr_104", 8) == 0) // Star Wars - || (strncasecmp(gn, "jupk_513", 8) == 0) // Jurassic Park - || (strncasecmp(gn, "rab_320", 7) == 0) // Adventures of Rocky and Bullwinkle and Friends + else if ((strncasecmp(gn, "gnr_", 4) == 0) // Guns'n Roses + || (strncasecmp(gn, "tftc_", 5) == 0) // Tales from The Crypt + || (strncasecmp(gn, "stwr_", 5) == 0) // Star Wars + || (strncasecmp(gn, "jupk_", 5) == 0) // Jurassic Park + || (strncasecmp(gn, "rab_", 4) == 0) // Adventures of Rocky and Bullwinkle and Friends ) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "bttf_a28", 8) == 0) { // Back to the Future + else if (strncasecmp(gn, "bttf_", 5) == 0) { // Back to the Future core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 5, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if ((strncasecmp(gn, "btmn_103", 8) == 0) // Batman - || (strncasecmp(gn, "hook_408", 8) == 0)) { // Hook + else if ((strncasecmp(gn, "btmn_", 5) == 0) // Batman + || (strncasecmp(gn, "hook_", 5) == 0)) { // Hook core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 3, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "ckpt_a17", 8) == 0) { // Checkpoint + else if (strncasecmp(gn, "ckpt_", 5) == 0) { // Checkpoint core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 13 - 4, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "lah_112", 7) == 0) { // Last Action Hero + else if (strncasecmp(gn, "lah_", 4) == 0) { // Last Action Hero core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if ((strncasecmp(gn, "aar_101", 7) == 0) // Aaron Spelling - || (strncasecmp(gn, "lw3_208", 7) == 0) // Lethal Weapon 3 - || (strncasecmp(gn, "mj_130", 6) == 0) // Michael Jordan + else if ((strncasecmp(gn, "aar_", 4) == 0) // Aaron Spelling + || (strncasecmp(gn, "lw3_", 4) == 0) // Lethal Weapon 3 + || (strncasecmp(gn, "mj_", 3) == 0) // Michael Jordan ) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 16 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "simp_a27", 8) == 0) { // Simpson + else if (strncasecmp(gn, "simp_", 5) == 0) { // Simpson core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 4, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "trek_201", 8) == 0) { // Star Trek 25th + else if (strncasecmp(gn, "trek_", 5) == 0) { // Star Trek 25th core_set_pwm_output_type(CORE_MODOUT_SOL0 + 9 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 12 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } - else if (strncasecmp(gn, "tomy_400", 8) == 0) { // Tommy Pinball Wizard + else if (strncasecmp(gn, "tomy_", 5) == 0) { // Tommy Pinball Wizard core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 1, CORE_MODOUT_BULB_89_32V_DC_S11); } - else if (strncasecmp(gn, "wwfr_106", 8) == 0) { // WWF Royal Rumble + else if (strncasecmp(gn, "wwfr_", 5) == 0) { // WWF Royal Rumble core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } // DataEast/Sega 3b else if ((strncasecmp(gn, "batmanf", 7) == 0) // Batman Forever - || (strncasecmp(gn, "baywatch", 8) == 0) // Baywatch - || (strncasecmp(gn, "mav_402", 7) == 0)) { // Maverick + || (strncasecmp(gn, "baywatch", 8) == 0) // Baywatch + || (strncasecmp(gn, "mav_", 4) == 0)) { // Maverick core_set_pwm_output_type(CORE_MODOUT_SOL0 + 11 - 1, 1, CORE_MODOUT_BULB_44_6_3V_AC_REV); // GI output core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_32V_DC_S11); // 8 muxed flasher outputs (K1 relay is solenoid #10) } diff --git a/src/wpc/sam.c b/src/wpc/sam.c index be2bbfa6d..c2898e2e3 100644 --- a/src/wpc/sam.c +++ b/src/wpc/sam.c @@ -1271,30 +1271,30 @@ static MACHINE_INIT(sam) { const char* const gn = rootDrv->name; // Missing definitions: // - Simpsons Kooky Carnival - if (strncasecmp(gn, "acd_170h", 8) == 0) { // AC DC + if (strncasecmp(gn, "acd_", 4) == 0) { // AC DC core_set_pwm_output_type(CORE_MODOUT_LAMP0, 80, CORE_MODOUT_LED_STROBE_1_10MS); // All LED core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 1, CORE_MODOUT_LED_STROBE_1_10MS); // LED flasher core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 7, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "avs_170h", 8) == 0) { // Avengers + else if (strncasecmp(gn, "avs_", 4) == 0) { // Avengers core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 27 - 1, 1, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper 3 LEDs core_set_pwm_output_type(CORE_MODOUT_SOL0 + 18 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "avr_120h", 8) == 0) { // Avatar + else if (strncasecmp(gn, "avr_", 4) == 0) { // Avatar core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 27 - 1, 1, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper 3 LEDs core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 28 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "bbh_170", 7) == 0) { // Big Buck Hunter + else if (strncasecmp(gn, "bbh_", 4) == 0) { // Big Buck Hunter // Did not find a complete manual anywhere (even Stern's downloads do not have the schematics/solenoids) so this is from the VPX table, completed with the backglass flasher map core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "bdk_294", 7) == 0) { // Batman The Dark Knight + else if (strncasecmp(gn, "bdk_", 4) == 0) { // Batman The Dark Knight core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 21 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); @@ -1307,19 +1307,19 @@ static MACHINE_INIT(sam) { core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 60, 1, CORE_MODOUT_LED_STROBE_1_10MS); core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 80, 8, CORE_MODOUT_LED); // LEDs on opto board } - else if (strncasecmp(gn, "csi_240", 7) == 0) { // CSI + else if (strncasecmp(gn, "csi_", 4) == 0) { // CSI core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); // Note that #22 is 2 #89 under playfield and 1 #161 above playfield #161 is 12V core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 28 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 31 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 80, 8, CORE_MODOUT_LED); // LEDs on opto board } - else if (strncasecmp(gn, "fg_1200ag", 9) == 0) { // Family Guy [TODO crash in AT91 jit] + else if (strncasecmp(gn, "fg_", 3) == 0) { // Family Guy [TODO crash in AT91 jit] core_set_pwm_output_type(CORE_MODOUT_SOL0 + 18 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 80, 3 * 2 * 8, CORE_MODOUT_LED_STROBE_8_16MS); // Mini playfield LEDs } - else if (strncasecmp(gn, "ij4_210", 7) == 0) { // Indiana Jones + else if (strncasecmp(gn, "ij4_", 4) == 0) { // Indiana Jones core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 27 - 1, 1, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper 3 LEDs core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); @@ -1329,11 +1329,11 @@ static MACHINE_INIT(sam) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 55 - 1, 2, CORE_MODOUT_LED); // Swordman core_set_pwm_output_type(CORE_MODOUT_SOL0 + 56 - 1, 2, CORE_MODOUT_LED); // Skull } - else if (strncasecmp(gn, "im_186ve", 8) == 0) { // Iron Man + else if (strncasecmp(gn, "im_", 3) == 0) { // Iron Man core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 4, CORE_MODOUT_LED); // Led Flasher (Iron Man Vault Edition) core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_LED); // Led Flasher (Iron Man Vault Edition) } - else if (strncasecmp(gn, "mtl_180h", 8) == 0) { // Metallica LE + else if (strncasecmp(gn, "mtl_", 4) == 0) { // Metallica LE core_set_pwm_output_type(CORE_MODOUT_LAMP0, 80, CORE_MODOUT_LED_STROBE_1_10MS); // All LED core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 21 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); @@ -1341,19 +1341,19 @@ static MACHINE_INIT(sam) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + CORE_FIRSTCUSTSOL + 6 - 1, 1, CORE_MODOUT_PULSE); // Coffin board mode bit #0 core_set_pwm_output_type(CORE_MODOUT_SOL0 + CORE_FIRSTCUSTSOL + 7 - 1, 1, CORE_MODOUT_PULSE); // Coffin board mode bit #1 } - else if (strncasecmp(gn, "mt_145h", 7) == 0) { // Mustang LE + else if (strncasecmp(gn, "mt_", 3) == 0) { // Mustang LE core_set_pwm_output_type(CORE_MODOUT_LAMP0, 80, CORE_MODOUT_LED_STROBE_1_10MS); // All LED core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 23 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "nba_802", 7) == 0) { // NBA + else if (strncasecmp(gn, "nba_", 4) == 0) { // NBA core_set_pwm_output_type(CORE_MODOUT_SOL0 + 13 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 23 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "potc_600af", 10) == 0) { // Pirates of the Caribbean + else if (strncasecmp(gn, "potc_", 5) == 0) { // Pirates of the Caribbean core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 27 - 1, 1, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper 3 LEDs core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 24 - 1, 1, CORE_MODOUT_LED_STROBE_1_10MS); // Board 520-5258-00: 'H' LED core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 32 - 1, 1, CORE_MODOUT_LED_STROBE_1_10MS); // Board 520-5258-00: 'E' LED @@ -1366,70 +1366,70 @@ static MACHINE_INIT(sam) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 22 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 30 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "rsn_110h", 8) == 0) { // Rolling Stones + else if (strncasecmp(gn, "rsn_", 4) == 0) { // Rolling Stones core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 60 - 1, 3, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper LEDs core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 31 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "scarn200", 8) == 0) { // Simpsons Kooky Carnival + else if (strncasecmp(gn, "scarn", 5) == 0) { // Simpsons Kooky Carnival // TODO no manual found } - else if (strncasecmp(gn, "shr_141", 7) == 0) { // Shrek + else if (strncasecmp(gn, "shr_", 4) == 0) { // Shrek core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 61 - 1, 1, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper 2 LEDs core_set_pwm_output_type(CORE_MODOUT_SOL0 + 23 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 80, 3*2*8, CORE_MODOUT_LED_STROBE_8_16MS); // Mini playfield LEDs } - else if (strncasecmp(gn, "sman_261", 8) == 0) { // Spider-Man + else if (strncasecmp(gn, "sman_", 5) == 0) { // Spider-Man core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 60 - 1, 3, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper LEDs core_set_pwm_output_type(CORE_MODOUT_SOL0 + 21 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 23 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 7, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "smanve_101", 10) == 0) { // Spider-Man Vault Edition + else if (strncasecmp(gn, "smanve_", 7) == 0) { // Spider-Man Vault Edition core_set_pwm_output_type(CORE_MODOUT_LAMP0, 80, CORE_MODOUT_LED_STROBE_1_10MS); // All LED core_set_pwm_output_type(CORE_MODOUT_SOL0 + 21 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 23 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 7, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "st_162h", 7) == 0) { // Star Trek LE + else if (strncasecmp(gn, "st_", 3) == 0) { // Star Trek LE core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 23 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "tf_180h", 7) == 0) { // Transformers + else if (strncasecmp(gn, "tf_", 3) == 0) { // Transformers core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 58 - 1, 1, CORE_MODOUT_LED_STROBE_1_10MS); // Megatron core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 60 - 1, 3, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper LEDs core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 31 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "trn_174h", 8) == 0) { // Tron Legacy + else if (strncasecmp(gn, "trn_", 4) == 0) { // Tron Legacy core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 100, 6, CORE_MODOUT_LED); // Ramp RGB LEDs core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 60 - 1, 3, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper LEDs core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "twd_160h", 8) == 0) { // The Walking Dead LE + else if (strncasecmp(gn, "twd_", 4) == 0) { // The Walking Dead LE core_set_pwm_output_type(CORE_MODOUT_LAMP0, 80, CORE_MODOUT_LED_STROBE_1_10MS); // All LED core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 31 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "twenty4_150", 11) == 0) { // 24 + else if (strncasecmp(gn, "twenty4_", 8) == 0) { // 24 core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 26 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 31 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "wof_500", 7) == 0) { // Wheel of Fortune + else if (strncasecmp(gn, "wof_", 4) == 0) { // Wheel of Fortune core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 60 - 1, 3, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper LEDs core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 80, 48, CORE_MODOUT_LED); // Wheel LEDs core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 140, 175, CORE_MODOUT_LED_STROBE_1_5MS); // Mini DMD (175 LEDs) core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_LED); // 4 LED flasher at the back of the wheel } - else if (strncasecmp(gn, "wpt_140a", 8) == 0) { // World Poker Tour + else if (strncasecmp(gn, "wpt_", 4) == 0) { // World Poker Tour core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 80, 490, CORE_MODOUT_LED); // Mini DMD (490 LEDs, but are they really faded ?) core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 62 - 1, 1, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper LED core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 70 - 1, 1, CORE_MODOUT_LED_STROBE_1_10MS); // Bumper LED @@ -1438,7 +1438,7 @@ static MACHINE_INIT(sam) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 7, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 80 - 1, 49 * 10, CORE_MODOUT_LED_STROBE_1_10MS); // 14 Block LED (actually 2ms strobe every 20ms) } - else if (strncasecmp(gn, "xmn_151h", 8) == 0) { // X-Men + else if (strncasecmp(gn, "xmn_", 4) == 0) { // X-Men core_set_pwm_output_type(CORE_MODOUT_LAMP0, 80, CORE_MODOUT_LED_STROBE_1_10MS); // All LED (Looks nicer with bulbs, but it really has LEDs) core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 6, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); diff --git a/src/wpc/se.c b/src/wpc/se.c index b0f462733..cb51df3df 100644 --- a/src/wpc/se.c +++ b/src/wpc/se.c @@ -450,7 +450,7 @@ static MACHINE_INIT(se) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 23 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if ((strncasecmp(grn, "harl_a13", 8) == 0) || (strncasecmp(grn, "harl_a40", 8) == 0)) { // Harley Davidson + else if (strncasecmp(grn, "harl_", 5) == 0) { // Harley Davidson core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } @@ -497,7 +497,7 @@ static MACHINE_INIT(se) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 21 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 32 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(grn, "sprk_103", 8) == 0) { // South Park + else if (strncasecmp(grn, "sprk_", 5) == 0) { // South Park core_set_pwm_output_type(CORE_MODOUT_SOL0 + 7 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 18 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); @@ -519,7 +519,7 @@ static MACHINE_INIT(se) { core_set_pwm_output_bulb(CORE_MODOUT_SOL0 + 4 - 1, 1, BULB_44, 19.f - 0.7f, TRUE, 0.f, 1.f); // Backbox GI: 19V AC switched #44 Bulbs (Sol 1-16 uses Mosfets with low voltage drop) core_set_pwm_output_type(CORE_MODOUT_SOL0 + 26 - 1, 7, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(grn, "twst_405", 8) == 0) { // Twister + else if (strncasecmp(grn, "twst_", 5) == 0) { // Twister core_set_pwm_output_type(CORE_MODOUT_SOL0 + 22 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } diff --git a/src/wpc/wpc.c b/src/wpc/wpc.c index dd95297c3..7419b9147 100644 --- a/src/wpc/wpc.c +++ b/src/wpc/wpc.c @@ -1226,150 +1226,150 @@ static MACHINE_INIT(wpc) { // - Ticket Tac Toe // - Phantom Haus // - Rush - if (strncasecmp(gn, "afm_113", 7) == 0) { // Attack from Mars + if (strncasecmp(gn, "afm_", 4) == 0) { // Attack from Mars core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 7, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 8 * 8, 16, CORE_MODOUT_LED); // Auxiliary LEDs driven through solenoids 37/38 core_set_pwm_output_type(CORE_MODOUT_SOL0 + 39 - 1, 1, CORE_MODOUT_LED); // Xenon strobe light (crudely considered as a LED since it is meant to flicker) } - else if (strncasecmp(gn, "bop_l7", 6) == 0) { // The Machine: Bride of the Pinbot + else if (strncasecmp(gn, "bop_", 4) == 0) { // The Machine: Bride of the Pinbot core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); // FIXME this is likely incorrect: I don't have the wiring for the helmet bulbs so they are defined like underpower #44 but this is very unlikely to be true (these are #555 but the power maybe from GI line 2 core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 8 * 8, 16, CORE_MODOUT_BULB_44_5_7V_AC); // Helmet lights } - else if (strncasecmp(gn, "br_l4", 5) == 0) { // Black Rose + else if (strncasecmp(gn, "br_", 3) == 0) { // Black Rose static const int flashers[] = { 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "cc_13", 5) == 0) { // Cactus Canyon + else if (strncasecmp(gn, "cc_", 3) == 0) { // Cactus Canyon static const int flashers[] = { 18, 19, 20, 24, 25, 26, 27, 28 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "corv_21", 7) == 0) { // Corvette + else if (strncasecmp(gn, "corv_", 5) == 0) { // Corvette core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "cp_16", 5) == 0) { // The Champion Pub + else if (strncasecmp(gn, "cp_", 3) == 0) { // The Champion Pub core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); // Auxiliary LEDs driven through solenoids 37/38/39/40, only 24 (2x12 on each side) of the 32 outputs are used by the game (board A-21967) core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 8 * 8, 32, CORE_MODOUT_LED); } - else if (strncasecmp(gn, "cv_14", 5) == 0) { // Cirqus Voltaire + else if (strncasecmp(gn, "cv_", 3) == 0) { // Cirqus Voltaire static const int flashers[] = { 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "cftbl_l4", 8) == 0) { // Creature From The Black Lagoon + else if (strncasecmp(gn, "cftbl_", 6) == 0) { // Creature From The Black Lagoon static const int flashers[] = { 2, 8, 9, 10, 11, 16, 17, 18, 19, 22, 25, 28 }; // 28 is hologram lamp for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 64, 8, CORE_MODOUT_BULB_86_6_3V_AC); // chase lights (8 strings of #86 bulbs wired between GI and solenoids outputs through triacs and a 2 bit decoder) } - else if (strncasecmp(gn, "congo_21", 8) == 0) { // Congo + else if (strncasecmp(gn, "congo_", 6) == 0) { // Congo static const int flashers[] = { 17, 18, 19, 20, 21, 25, 26, 27, 28 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "dh_lx2", 6) == 0) { // Dirty Harry + else if (strncasecmp(gn, "dh_", 3) == 0) { // Dirty Harry core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 21 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "dm_lx4", 6) == 0) { // Demolition Man + else if (strncasecmp(gn, "dm_", 3) == 0) { // Demolition Man static const int flashers[] = { 17, 21, 22, 23, 24, 25, 26, 27, 28, 37 + 14, 38 + 14, 39 + 14, 40 + 14, 41 + 14, 42 + 14, 43 + 14, 44 + 14 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "drac_l1", 7) == 0) { // Bram Stoker's Dracula + else if (strncasecmp(gn, "drac_", 5) == 0) { // Bram Stoker's Dracula core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 8, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 24 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 26 - 1, 1, CORE_MODOUT_BULB_906_20V_DC_WPC); // Backbox } - else if (strncasecmp(gn, "dw_l2", 5) == 0) { // Doctor Who + else if (strncasecmp(gn, "dw_", 3) == 0) { // Doctor Who static const int flashers[] = { 17, 18, 19, 20, 21, 22, 23, 24 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "fh_l9", 5) == 0) { // Fun House + else if (strncasecmp(gn, "fh_", 3) == 0) { // Fun House static const int flashers[] = { 17, 18, 19, 20, 23, 24 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "fs_lx5", 6) == 0) { // The Flintstones + else if (strncasecmp(gn, "fs_", 3) == 0) { // The Flintstones core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 6, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 24 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "ft_l5", 5) == 0) { // Fish Tales + else if (strncasecmp(gn, "ft_", 3) == 0) { // Fish Tales core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 7, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "gi_l9", 5) == 0) { // Gilligan's Island + else if (strncasecmp(gn, "gi_", 3) == 0) { // Gilligan's Island static const int flashers[] = { 17, 18, 19, 20, 21, 22, 25, 26, 27, 28 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "gw_l5", 5) == 0) { // High Speed II: The Getaway + else if (strncasecmp(gn, "gw_", 3) == 0) { // High Speed II: The Getaway core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 18 - 1, 1, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 1, CORE_MODOUT_BULB_906_20V_DC_WPC); } - else if ((strncasecmp(gn, "hd_l3", 5) == 0) // Harley Davidson + else if ((strncasecmp(gn, "hd_", 3) == 0) // Harley Davidson || (strncasecmp(gn, "che_cho", 7) == 0)) { // Cheech & Chong: Road-Trip'pin static const int flashers[] = { 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "hshot_p8", 8) == 0) { // Hot Shot + else if (strncasecmp(gn, "hshot_", 6) == 0) { // Hot Shot core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 7, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "hurr_l2", 7) == 0) { // Hurricane + else if (strncasecmp(gn, "hurr_", 5) == 0) { // Hurricane core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 12, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "i500_11r", 8) == 0) { // Indy 500 + else if (strncasecmp(gn, "i500_", 5) == 0) { // Indy 500 core_set_pwm_output_type(CORE_MODOUT_SOL0 + 14 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 10, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "ij_l7", 5) == 0) { // Indiana Jones + else if (strncasecmp(gn, "ij_", 3) == 0) { // Indiana Jones core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 8, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 19 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 37 + 14 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 24 - 1, 1, CORE_MODOUT_LED); // Plane Guns LED } - else if (strncasecmp(gn, "jb_10r", 6) == 0) { // Jack Bot + else if (strncasecmp(gn, "jb_", 3) == 0) { // Jack Bot core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 10, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "jd_l7", 5) == 0) { // Judge Dredd + else if (strncasecmp(gn, "jd_", 3) == 0) { // Judge Dredd static const int flashers[] = { 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "jm_12r", 6) == 0) { // Johnny Mnemonic + else if (strncasecmp(gn, "jm_", 3) == 0) { // Johnny Mnemonic core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "jy_12", 5) == 0) { // Junk Yard + else if (strncasecmp(gn, "jy_", 3) == 0) { // Junk Yard static const int flashers[] = { 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "mb_10", 5) == 0) { // Monster Bash + else if (strncasecmp(gn, "mb_", 3) == 0) { // Monster Bash core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 10, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 18 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "mm_10", 5) == 0) { // Medieval Madness + else if (strncasecmp(gn, "mm_", 3) == 0) { // Medieval Madness static const int flashers[] = { 17, 18, 19, 20, 21, 22, 23, 24, 25 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "nbaf_31", 7) == 0) { // NBA Fast Break + else if (strncasecmp(gn, "nbaf_", 5) == 0) { // NBA Fast Break static const int flashers[] = { 17, 19, 20, 22, 23, 24 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "nf_23x", 6) == 0) { // No Fear + else if (strncasecmp(gn, "nf_", 3) == 0) { // No Fear core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 18 - 1, 2, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); @@ -1380,41 +1380,41 @@ static MACHINE_INIT(wpc) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 26 - 1, 2, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 28 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "ngg_13", 6) == 0) { // No Good Goofers + else if (strncasecmp(gn, "ngg_", 4) == 0) { // No Good Goofers static const int flashers[] = { 17, 18, 19, 20, 21, 25, 26, 42 + 14, 43 + 14, 44 + 14, 45 + 14, 46 + 14, 47 + 14, 48 + 14, 49 + 14 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "pop_lx5", 7) == 0) { // Popeye Save The Earth + else if (strncasecmp(gn, "pop_", 4) == 0) { // Popeye Save The Earth static const int flashers[] = { 18, 19, 20, 21, 22, 23, 24, 26, 27, 28 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "pz_f4", 5) == 0) { // Party Zone + else if (strncasecmp(gn, "pz_", 3) == 0) { // Party Zone static const int flashers[] = { 17, 18, 19, 20, 21, 22, 25, 26, 27, 28 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "rs_l6", 5) == 0) { // Road Show + else if (strncasecmp(gn, "rs_", 3) == 0) { // Road Show core_set_pwm_output_type(CORE_MODOUT_SOL0 + 37 + 14 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "sc_18s11", 8) == 0) { // Safe Cracker + else if (strncasecmp(gn, "sc_", 3) == 0) { // Safe Cracker core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 8, CORE_MODOUT_BULB_89_20V_DC_WPC); // A-20909: 48 bulbs switched through solenoids 37..40, powered from GI string 2/4/5 // FIXME not yet fully emulated (only the on/off switch is emulated, needing to be crossed with the GI string at the bulb level) core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 8 * 8, 48, CORE_MODOUT_BULB_44_6_3V_AC); } - else if (strncasecmp(gn, "sf_l1", 5) == 0) { // SlugFest + else if (strncasecmp(gn, "sf_", 3) == 0) { // SlugFest static const int flashers[] = { 17, 18, 19, 20, 25, 26 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "ss_15", 5) == 0) { // Scared Stiff + else if (strncasecmp(gn, "ss_", 3) == 0) { // Scared Stiff core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 12, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 35 + 14 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); // Lower left/lower right flasher (use free flipper sols) core_set_pwm_output_type(CORE_MODOUT_LAMP0 + 8 * 8, 16, CORE_MODOUT_LED); // Auxiliary LEDs driven through solenoids 37/38 (Crate eyes) } - else if (strncasecmp(gn, "sttng_l7", 8) == 0) { // Star Trek Next Generation + else if (strncasecmp(gn, "sttng_", 6) == 0) { // Star Trek Next Generation core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 23 - 1, 2, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); @@ -1422,13 +1422,13 @@ static MACHINE_INIT(wpc) { core_set_pwm_output_type(CORE_MODOUT_SOL0 + 41 + 14 - 1, 1, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 42 + 14 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "totan_14", 8) == 0) { // Tales Of The Arabian Nights + else if (strncasecmp(gn, "totan_", 6) == 0) { // Tales Of The Arabian Nights core_set_pwm_output_type(CORE_MODOUT_SOL0 + 16 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 18 - 1, 2, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 22 - 1, 7, CORE_MODOUT_BULB_906_20V_DC_WPC); } - else if (strncasecmp(gn, "taf_l5", 6) == 0) { // The Addams Family + else if (strncasecmp(gn, "taf_", 4) == 0) { // The Addams Family static const int flashers[] = { 17, 18, 19, 20, 21, 22 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); @@ -1436,39 +1436,39 @@ static MACHINE_INIT(wpc) { // core_set_pwm_output_type(CORE_MODOUT_SOL0 + 16 - 1, 1, CORE_MODOUT_MAGNET); // core_set_pwm_output_type(CORE_MODOUT_SOL0 + 23 - 1, 2, CORE_MODOUT_MAGNET); } - else if (strncasecmp(gn, "tafg_lx3", 8) == 0) { // The Addams Family Gold Edition + else if (strncasecmp(gn, "tafg_", 5) == 0) { // The Addams Family Gold Edition static const int flashers[] = { 17, 18, 19, 20, 21, 22 }; for (int i = 0; i < sizeof(flashers) / sizeof(int); i++) core_set_pwm_output_type(CORE_MODOUT_SOL0 + flashers[i] - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "tom_13", 6) == 0) { // Theatre of Magic + else if (strncasecmp(gn, "tom_", 4) == 0) { // Theatre of Magic core_set_pwm_output_type(CORE_MODOUT_SOL0 + 20 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 24 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "ts_lx5", 6) == 0) { // The Shadow + else if (strncasecmp(gn, "ts_", 3) == 0) { // The Shadow core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 2, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 21 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 26 - 1, 3, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "tz_92", 5) == 0) { // Twilight Zone + else if (strncasecmp(gn, "tz_", 3) == 0) { // Twilight Zone core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 4, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 28 - 1, 1, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 37 + 14 - 1, 5, CORE_MODOUT_BULB_906_20V_DC_WPC); } - else if (strncasecmp(gn, "t2_l8", 5) == 0) { // Terminator 2 + else if (strncasecmp(gn, "t2_", 3) == 0) { // Terminator 2 core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 1, CORE_MODOUT_BULB_906_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 18 - 1, 10, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "wcs_l2", 6) == 0) { // World Cup Soccer + else if (strncasecmp(gn, "wcs_", 4) == 0) { // World Cup Soccer core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 22 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 25 - 1, 4, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "wd_12", 5) == 0) { // Who Dunnit + else if (strncasecmp(gn, "wd_", 3) == 0) { // Who Dunnit core_set_pwm_output_type(CORE_MODOUT_SOL0 + 14 - 1, 1, CORE_MODOUT_BULB_89_20V_DC_WPC); core_set_pwm_output_type(CORE_MODOUT_SOL0 + 17 - 1, 5, CORE_MODOUT_BULB_89_20V_DC_WPC); } - else if (strncasecmp(gn, "ww_l5", 5) == 0) { // White Water + else if (strncasecmp(gn, "ww_", 3) == 0) { // White Water core_set_pwm_output_type(CORE_MODOUT_SOL0 + 15 - 1, 10, CORE_MODOUT_BULB_89_20V_DC_WPC); // FIXME The right bulb here would be #194 (12V x 0.27A = 4W, so more or less half of #89) wired directly through a 2N6427 between +12V DC and ground core_set_pwm_output_bulb(CORE_MODOUT_LAMP0 + 8 * 8, 16, BULB_89, 13.0, FALSE, 0.0, 1.0);