1. Game
  2. MAME History, "W" ROM sets

This page is a chapter in 'Game Exploring MAME history for TG rules'

wacko

ROM set changed: no
0.106-0.175: wacko - "Wacko"

Resolution, 0.106-0.175: 512x480 @ 30.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....gamename=Wacko

wacko on MAME 0.106

# MAME 0.106 source snippet.
Code:
INPUT_PORTS_START( wacko )
PORT_START_TAG("SSIO.IP0") /* J4 1-8 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )

PORT_START_TAG("SSIO.IP1") /* J4 10-13,15-18 */
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)

PORT_START_TAG("SSIO.IP2") /* J5 1-8 */
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE

PORT_START_TAG("SSIO.IP3") /* DIPSW @ B3 */
PORT_BIT( 0x3f, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x80, 0x00, "Coin Meters" )
PORT_DIPSETTING( 0x80, "1" )
PORT_DIPSETTING( 0x00, "2" )

PORT_START_TAG("SSIO.IP4") /* J6 1-8 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_4WAY
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_4WAY
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_4WAY
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP ) PORT_4WAY PORT_COCKTAIL

PORT_START_TAG("SSIO.DIP")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START_TAG("SSIO.IP1.ALT")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_COCKTAIL

PORT_START_TAG("SSIO.IP2.ALT")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_COCKTAIL
INPUT_PORTS_END


Resolution: 512x480 @ 30Hz

Rules: https://www.twingalaxies.com/scores.php?scores=7893
ROMSet: Wacko
Service Mode: Off
Cabinet: Upright
Internal Defaults
-----------------
1 Credit for 3 Men
1st Extra Man at 10000 Points
Additional Man Every 15000 Points
3 Difficulty Level

Note: as accessing the internal defaults requires a reset, it is not possible for the player to alter them because MAME 0.106 does not record the reset in the INP. As for the other settings, the Service Mode being enabled is obviously (and requires a reset after is altered to take effect) and the cabinet rule is not enforcable. Therefore no requirement to check the INP.

wakuwak7

ROM set changed: no
0.106-0.175: wakuwak7 - "Waku Waku 7"

Resolution, 0.106-0.113: 320x224 @ 59.185608Hz
Resolution, 0.114-0.175: 320x224 @ 59.185606Hz

TG Game Entry: https://www.twingalaxies.com/scores....&gamename=Waku Waku 7

wallc

ROM set changed: no
0.106-0.175: wallc - "Wall Crash (set 1)"

Resolution, 0.106-0.175: 256x256 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....&gamename=Wall Crash [Set 1]

wallst

ROM set changed: no
0.106-0.197: wallst - "Wall Street"

Resolution, 0.106-0.197: 240x248 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wall-street/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=120625

NOTE: source/DIPs were changed at 0.124. For WolfMAME versions 0.125 or later, set Bonus Life to "80k only".

wallst on MAME 0.106

# MAME 0.106 source snippet
Code:
GAME( 1982, wallst,      cvs,      cvs,      cvs,    0,          ROT90, "Century Electronics", "Wall Street", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )

Used across all the CVS games
INPUT_PORTS_START( cvs )

PORT_START /* Matrix 0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) /* Confirmed */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 ) /* Confirmed */
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) /* Confirmed */
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) /* Confirmed */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) /* Confirmed */
PORT_BIT( 0xC0, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START /* Dunno */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) /* Confirmed */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) /* Confirmed */
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) /* Confirmed */
PORT_BIT( 0xcc, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START /* Dunno */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN2 ) /* Duplicate? */
PORT_BIT( 0xfe, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START /* Dunno */
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) /* Confirmed */
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) /* Confirmed */
PORT_BIT( 0xcf, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START /* SW BANK 3 */
PORT_DIPNAME( 0x01, 0x00, "Colour" )
PORT_DIPSETTING( 0x00, "option 1" )
PORT_DIPSETTING( 0x01, "option 2" )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Cabinet ))
PORT_DIPSETTING( 0x02, DEF_STR( Upright ))
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ))
PORT_DIPNAME( 0x0C, 0x00, "Bonus" )
PORT_DIPSETTING( 0x00, "10k only" )
PORT_DIPSETTING( 0x04, "20k only" )
PORT_DIPSETTING( 0x08, "30k and every 40k" )
PORT_DIPSETTING( 0x0C, "40k and every 80k" )
PORT_DIPNAME( 0x10, 0x00, "Registration Length" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x10, "10" )
PORT_DIPNAME( 0x20, 0x00, "Registration" )
PORT_DIPSETTING( 0x20, DEF_STR( Off ))
PORT_DIPSETTING( 0x00, DEF_STR( On ))

PORT_START /* SW BANK 2 */
PORT_DIPNAME( 0x03, 0x00, "Coins for 1 Play" ) /* Confirmed */
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x01, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x03, "4" )
PORT_DIPNAME( 0x0C, 0x0C, "Plays for 1 Coin" ) /* Confirmed */
PORT_DIPSETTING( 0x0C, "2" )
PORT_DIPSETTING( 0x08, "3" )
PORT_DIPSETTING( 0x04, "4" )
PORT_DIPSETTING( 0x00, "5" )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Lives )) /* Confirmed */
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPSETTING( 0x10, "5" )
PORT_DIPNAME( 0x20, 0x00, "Meter Pulses" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x20, "5" )

PORT_START /* SENSE */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )

INPUT_PORTS_END


Resolution: 240x248 @ 60.000000Hz

Rules, Points: https://www.twingalaxies.com/scores.php?scores=120625
ROMSet: WallSt
Colour: option 1
Cabinet: Upright
Bonus: 10k Only
Registration Length: 3
Registration: On
Lives: 3
Meter Pulses: 2
Special Rules: None

Sample correct TG:
SWB3: offset 0x33, repeat every 0x7C, exact value 0x02
- SWB3: 0x01 (Colour): 0x00 (option 1)
- SWB3: 0x02 (Cabinet): 0x02 (Upright)
- SWB3: 0x0c (Bonus): 0x00 (10k only)
- SWB3: 0x10 (Registration Length): 0x00 (3)
- SWB3: 0x20 (Registration): 0x00 (On)
SWB2: offset 0x37, repeat every 0x7C, typical value 0x0c
- SWB2: 0x03 (Coins for 1 Play): [not relevant]
- SWB2: 0x0c (Plays for 1 Coin): [not relevant]
- SWB2: 0x10 (Lives): 0x00 (3)
- SWB2: 0x20 (Meter Pulses): 0x00 (2)

Code:
    30: 00 00 00 02 00 00 00 0C  00 00 00 00 00 00 00 00
A0: 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 02
B0: 00 00 00 0C 00 00 00 00 00 00 00 00 00 00 00 00
120: 00 00 00 FF 00 00 00 FF 00 00 00 02 00 00 00 0C

wanted

ROM set changed: no
0.106-0.175: wanted - "Wanted"

Resolution, 0.106-0.175: 256x224 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....amename=Wanted

wardner

ROM set changed: no
0.106-0.260: wardner - "Wardner (World)"

MAME History:
- 0.136u4: Stephane Humbert fixed dipswitches and inputs in Wardner and clones (after verification of the Z80 code).
- 0.137u1: Updates to Wardner driver [Quench]: Added 6845 CRTC interface. Correct some clock speeds. Changed Z80 CPU1 and YM3812 clock speeds to 3.5MHz and VSync to 54Hz.
- 0.141u2: Alex Jackson added MCFG_SCREEN_RAW_PARAMS to Wardner, correcting their refresh rates. Changed VSync to 54.877858 Hz.
- 0.144: Alex Jackson and Kanikani added DIP locations and missing inputs to Wardner. Added 'Test Switch' dipswitch.

Resolution, 0.106-0.137: 320x240 @ 56.000000Hz
Resolution, 0.138-0.141: 320x240 @ 54.000000Hz
Resolution, 0.142-0.260: 320x240 @ 54.877858Hz

TG Game Entry: https://www.twingalaxies.com/game/wardner-world/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=29921
Rules, TGES [One Life Only]: https://www.twingalaxies.com/scores.php?scores=131798

MAME Note:
TEST MODE:
- To enter the "test mode", press START1 when the grid is displayed.
- Press F1 (initially P1 button 3) on startup to skip some video RAM tests.

Service Mode:
Typical Toaplan Wardner hardware.
I haven't been able to get into service/test mode yet. - Barthax, Feb 2023.

Default Settings:
Note: the change at 0.136u4 adjusted the Difficulty labels and Bonus Life labels and the 0.144 adjusted the Difficulty labels (not Bonus Life).

Difficulty pre - 0.136u4: Easy/Normal/Hard/Hardest
Difficulty 0.136u4-0.143: Easy/Medium/Hard/Hardest
Difficulty post - 0.144 : Easy/Normal/Hard/Very Hard

Bonus Life pre -0.136u4: 30000 & 80000/50000 & 100000/50000/100000
Bonus Life post-0.136u4: 30k 80k 50k+/50k 100k 50k+/30k Only/50k Only

MAME 0.106:
MAME 0.137:
MAME 0.144:
MAME 0.250:

wardner on MAME 0.106

# MAME 0.106 source snippet [wardner.c]
Code:
GAME( 1987, wardner,  0,       wardner, wardner,  wardner, ROT0, "[Toaplan] Taito Corporation Japan", "Wardner (World)", 0 )

#define WARDNER_PLAYER_INPUT( player ) \
PORT_START /* Player 1 button 3 skips video RAM tests */ \
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(player) PORT_8WAY \
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(player) PORT_8WAY \
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(player) PORT_8WAY \
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(player) PORT_8WAY \
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(player) /* Fire */ \
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(player) /* Jump */ \
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_PLAYER(player) /* Shot C */ \
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_PLAYER(player) /* Shot D */

#define WARDNER_SYSTEM_INPUTS \
PORT_START /* test button doesnt seem to do anything ? */ \
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN3 ) /* Service button */ \
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_TILT ) \
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* Test button */ \
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN1 ) \
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_COIN2 ) \
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 ) \
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 ) \
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK ) /* V-Blank */

#define WARDNER_DSW_B \
PORT_START /* DSW B */ \
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Difficulty ) ) \
PORT_DIPSETTING( 0x01, DEF_STR( Easy ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) \
PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) \
PORT_DIPSETTING( 0x03, DEF_STR( Hardest ) ) \
PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) \
PORT_DIPSETTING( 0x00, "30000 & 80000" ) \
PORT_DIPSETTING( 0x04, "50000 & 100000" ) \
PORT_DIPSETTING( 0x08, "30000" ) \
PORT_DIPSETTING( 0x0c, "50000" ) \
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Lives ) ) \
PORT_DIPSETTING( 0x30, "1" ) \
PORT_DIPSETTING( 0x00, "3" ) \
PORT_DIPSETTING( 0x10, "4" ) \
PORT_DIPSETTING( 0x20, "5" ) \
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x40, DEF_STR( On ) ) \
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( On ) )

INPUT_PORTS_START( wardner )
WARDNER_SYSTEM_INPUTS
WARDNER_PLAYER_INPUT( 1 )
WARDNER_PLAYER_INPUT( 2 )

PORT_START /* DSW A */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x01, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x00, "Cross Hatch Pattern" )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x30, 0x00, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x20, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_6C ) )

WARDNER_DSW_B
INPUT_PORTS_END


Resolution: 320x240 @ 56.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wardner-world/mame
Rules, Points: https://www.twingalaxies.com/scores.php?scores=29921
Rules, TGES [One Life Only]: https://www.twingalaxies.com/scores.php?scores=131798

TG Game Entry: https://www.twingalaxies.com/game/wardner/mame
Rules, TGES [One Life Only]: https://www.twingalaxies.com/scores.php?scores=131797 appears that the above TGES track is preferable.

ROMSet: Wardner
Cabinet: Upright
Flip Screen: Off
Cross Hatch Pattern: Off
Difficulty: Normal
Bonus Life: 30000 & 80000
Lives: 3
Unknown: Off [Both]

Sample correct TG:
DSWA: offset 0x2F, repeat every 0x7C, typical value 0x01
- DSWA: 0x01 (Cabinet): 0x01 (Upright)
- DSWA: 0x02 (Flip_Screen): 0x00 (Off)
- DSWA: 0x04 (Cross Hatch Pattern): 0x00 (Off)
- DSWA: 0x08 (Demo_Sounds): [not relevant]
- DSWA: 0x30 (Coin_A): [not relevant]
- DSWA: 0xc0 (Coin_B): [not relevant]
DSWB: offset 0x33, repeat every 0x7C, exact value 0x00
- DSWB: 0x03 (Difficulty): 0x00 (Normal)
- DSWB: 0x0c (Bonus_Life): 0x00 (30000 & 80000)
- DSWB: 0x30 (Lives): 0x00 (3)
- DSWB: 0x40 (Unknown): 0x00 (Off)
- DSWB: 0x80 (Unknown): 0x00 (Off)

Code:
    20: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00>01<
30: 00 00 00>00<00 00 00 00 00 00 00 00 00 00 00 00
A0: 00 00 00 00 00 00 00 00 00 00 00>01<00 00 00>00<
120: 00 00 00 00 00 00 00>01< 00 00 00>00<00 00 00 00

warlords

ROM set changed: no
0.106-0.260: warlords - "Warlords"

MAME History: (warlords only?)
- 0.140u3: Added 3x 'Unknown' dipswitches.

Resolution, 0.106-0.260: 256x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/warlords/mame/
Rules, Points [Single Player Only]: https://www.twingalaxies.com/scores.php?scores=7894
Rules, Points [Two Player Team]: https://www.twingalaxies.com/scores.php?scores=10458
Rules, Points[Three Player Team]: https://www.twingalaxies.com/scores.php?scores=258296
Rules, Points[Four Player Team]: https://www.twingalaxies.com/scores.php?scores=258295

Service Mode:
Typical Atari Centipede hardware.
Service Mode reflects the local configuration after playback ends, not the recording. Service Mode is accessed by enabling the DIP Switch which can be toggled with the Service Mode Button (F2). A single test screen is shown with the DIP switches as binary representations.

Default Settings:
MAME 0.106:
MAME 0.141:
MAME 0.250:

From MAME 0.250 after entering service mode:
|

warofbug

ROM set changed: no
0.106-0.204: warofbug - "War of the Bugs or Monsterous Manouvers in a Mushroom Maze"

Resolution, 0.106-0.113: 256x224 @ 60.606060Hz
Resolution, 0.114-0.123: 256x224 @ 60.606061Hz
Resolution, 0.125-0.204: 768x224 @ 60.606061Hz

TG Game Entry: https://www.twingalaxies.com/game/wa...oom-maze/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=120627

warofbug on MAME 0.106

# MAME 0.106 source snippet

Code:
GAME( 1981, warofbug, 0,        galaxian, warofbug, pisces,   ROT90,  "Armenia", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze", GAME_SUPPORTS_SAVE )

INPUT_PORTS_START( warofbug )
PORT_START_TAG("IN0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY

PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) )
// PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) )

PORT_START_TAG("DSW0")
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x01, "2" )
PORT_DIPSETTING( 0x02, "3" )
PORT_DIPSETTING( 0x03, "4" )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x08, "500000" )
PORT_DIPSETTING( 0x00, "750000" )
PORT_BIT( 0xf0, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END


Resolution: 256x224 @ 60.606060Hz

Rules, Points: https://www.twingalaxies.com/scores.php?scores=120627
ROMSet: WarOfBug
Cabinet: Upright
Lives: 3
Unused: Off
Bonus Life: 500000

Sample correct TG:
IN0: offset 0x23, repeat every 0x7C, typical value 0x00
- IN0: 0x20 (Cabinet): 0x00 (Upright)
DSW0: offset 0x2B repeat every 0x7C, typical value 0x0A
- DSW0: 0x03 (Lives): 0x02 (3)
- DSW0: 0x04 (Unused): 0x00 (Off)
- DSW0: 0x08 (Bonus_Life): 0x08 (500000)

Code:
    20: 00 00 00 00 00 00 00 00  00 00 00 0A 00 00 00 00
90: 00 00 00 00 00 00 00 00 3E 82 43 E1 00 00 00 00
A0: 00 00 00 00 00 00 00 0A 00 00 00 00 00 00 00 00
110: 00 00 00 00 3E 82 43 E1 00 00 00 00 00 00 00 00
120: 00 00 00 0A 00 00 00 00 00 00 00 00 00 00 00 00

warpwarp

ROM set changed: no
0.106-0.198: warpwarp - "Warp & Warp"

MAME History:
- 0.127u6: Stephane Humbert reworked Warp Warp INPUT_PORTS definitions by using conditional dipswitches. Fixed 'Bonus Life' dipswitch.

Resolution, 0.106-0.128: 272x224 @ 60.000000Hz
Resolution, 0.129-0.198: 272x224 @ 60.606061Hz

TG Game Entry: https://www.twingalaxies.com/game/warp-warp/mame
Rules, Points: https://www.twingalaxies.com/scores.php?scores=10491

NOTE: Since 0.173, the conditional DIPs feature of this game affects WolfMAME's inpview. Verify settings with caution! ["Lives" affects "Bonus_Life"]

warriorb

ROM set changed: no
0.106-0.260: warriorb - "Warrior Blade - Rastan Saga Episode III (Japan)"

MAME History:
- 0.106u8: Aaron Giles added dualscreen support (2x 320x232) to Warrior Blade.
- 0.110u1: Aaron Giles fixed VISIBLE_AREA in Warrior Blade to (2x) 320x240.
- 0.118u3: Stephane Humbert cleaned up several Taito drivers to use common input port macros. Fixed the dipwitches for all games (a few still remain unknown though) and added many notes. Removed button 4. Added 'Magic Energy Loss' dipswitch.

Resolution, 0.106 : 640x240 @ 60.000000Hz
Resolution, 0.107-0.110: 2 screens, both 320x232 @ 60.000000Hz
Resolution, 0.111-0.260: 2 screens, both 320x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wa...ii-japan/mame/
Rules, Points [Single Player Only]: https://www.twingalaxies.com/scores.php?scores=120628
Rules, Points [Two Player Team]: https://www.twingalaxies.com/scores.php?scores=120629
Rules, Points [Single Player Only] [Rounds Long (14)]: https://www.twingalaxies.com/scores.php?scores=233300
Rules, Points [Two Player Team] [Rounds Long (14)]: https://www.twingalaxies.com/scores.php?scores=233299

Service Mode:
Typical Taito Dual Screen hardware.
Service Mode reflects the local configuration after playback ends, not the recording. Service Mode is accessed by enabling the DIP Switch which can be toggled with the Service Mode Button (F2) followed by a reset thus cannot be recorded in an INP. An initial test pattern appears and can be progressed using P1 Start button. It is followed by an input test screen with DIP switch details listed as H/L indications.

Default Settings:
MAME 0.106:
MAME 0.119:
MAME 0.250:

From MAME 0.250 after entering service mode:
|

waterski

ROM set changed: no
0.106-0.175: waterski - "Water Ski"

Resolution, 0.106-0.175: 256x224 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....gamename=Water Ski

watrball

ROM set changed: no
0.106-0.175: watrball - "Water Balls"

Resolution, 0.106-0.175: 384x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....gamename=Water Balls

wb3

ROM set changed: no
0.106-0.149: wb3 - "Wonder Boy III - Monster Lair (set 5, World, System 16B, 8751 317-0098)"
0.149u1-0.255: wb3 - "Wonder Boy III - Monster Lair (set 6, World, System 16B) (8751 317-0098)"

MAME History:
- 0.94u4: Chack'n added clone Wonder Boy III - Monster Lair (set 4, Japan, System 16B, FD1094 317-0087). Changed parent description to 'Wonder Boy III - Monster Lair (set 5, World, System 16B, 8751 317-0098)'.
- 0.113: Ruben added DIP locations to the Segas16b driver.
- 0.114u1: Updated video timing in the Sega System 16 games according to measurements from the boards [Aaron Giles]. Changed visible area to 321x242 and VSync to 60.054389 Hz.
- 0.116u2: Changed visible area to 320x224.
- 0.149u1: New decrypt key (software derived) for clone (set 5, Japan, System 16A, FD1089A 317-0086) which gets it working [Chris Hardy, Charles MacDonald]. Removed wb35a clone set and merged correct rom dumps for the wb35 set by using correct dumps for program roms, tiles and sprites [Brian Troha]. Changed parent description to 'Wonder Boy III - Monster Lair (set 6, World, System 16B, 8751 317-0098)' and clone (set 1, System 16A, FD1094 317-0084) to 'Wonder Boy III - Monster Lair (set 1, Japan, System 16A, FD1094 317-0084)'. Merged clones (set 5, System 16A, FD1089A 317-xxxx, bad dump?) and (set 6, System 16A, FD1089A 317-xxxx) to 'Wonder Boy III - Monster Lair (set 5, Japan, System 16A, FD1089A 317-0086)'.

Resolution, 0.106-0.114: 320x224 @ 60.000000Hz
Resolution, 0.115-0.116: 321x224 @ 60.054389Hz
Resolution, 0.117-0.255: 320x224 @ 60.054389Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...317-0098/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=120645
Rules, Points[Two Player Team]: https://www.twingalaxies.com/scores.php?scores=249013

Service Mode:
Typical Sega System 16B BIOS.
Service Mode will reflect the local configuration after playback ends, not the recording. Service Mode is accessed using Service button (F2). A pair of book keeping screens are available in service mode only and are transitioned between using the P1 Start button.

Default Settings:
MAME 0.106:
MAME 0.250:

wbeachvl

ROM set changed: no
0.106-0.228: wbeachvl - "World Beach Volley (set 1)"
0.229-0.255: wbeachvl - "World Beach Volley (set 1, PIC16C57 audio CPU)"

MAME History:
- 0.229: CAPS0ff, jordigahan and ClawGrip added clone World Beach Volley (set 1, S87C751 audio CPU). Note: Same as World Beach Volley (set 1) but with S87C751 audio CPU. Changed parent description to 'World Beach Volley (set 1, PIC16C57 audio CPU)'.

Resolution, 0.106-0.255: 320x240 @ 58.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...ey-set-1/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=120648
NOTE: There are no hardware DIP switches. Use Service Mode (F2) to access the internal settings after playback if not shown during playback.

wbmlb

ROM set changed: no
0.106-0.107: wbmlb - "Wonder Boy in Monster Land"
0.108-0.147: wbmlb - "Wonder Boy in Monster Land (English bootleg)"
0.148-0.213: wbmlb - "Wonder Boy in Monster Land (English bootleg set 1)"

Resolution, 0.106-0.130: 256x224 @ 60.000000Hz
Resolution, 0.131-0.144: 256x224 @ 60.096154Hz
Resolution, 0.145-0.213: 512x224 @ 60.096154Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...ster-land/mame
Rules, Points: https://www.twingalaxies.com/scores.php?scores=32346

wbml

ROM set changed: no
0.106-0.113: wbml - "Wonder Boy in Monster Land (Japan New Ver.)"
0.114-0.243: wbml - "Wonder Boy in Monster Land (Japan New Ver., MC-8123, 317-0043)"
0.244-0.251: wbml - "Wonder Boy - Monster Land (Japan New Ver., MC-8123, 317-0043)"

MAME History:
- 0.113u3: Nicola Salmoria added proper MC8123 decryption code. Hooked up chip to WBML. Added 317-0043.key. Changed description to 'Wonder Boy in Monster Land (Japan New Ver., MC-8123, 317-0043)' and clone (Japan Old Ver.) to 'Wonder Boy in Monster Land (Japan Old Ver., MC-8123, 317-0043)'.
- 0.130u4: Aaron Giles correct System 1 Z80 clocking: Each opcode fetch is 2 cycles with /M1 low, so each byte of opcode fetching causes slightly longer delays than the previous tables. Implemented approximate wait state timing for videoram access; further accuracy will rely on getting a dump of the PAL16R4 that controls the horizontal video timing. Small System 1 update [Aaron Giles]: Correct video timing. Removed "small" video drivers for games that properly mask the scrolling areas. Changed VSync to 60.096154 Hz.
- 0.154: Correct some wbml and clones dipswitches as per game manual [kamilz].
- 0.244: Fixed wrong game title [ambrose, J.J.Boy]. Changed description to 'Wonder Boy - Monster Land (Japan New Ver., MC-8123, 317-0043)' and clones (decrypted bootleg of English, Virtual Console release) to 'Wonder Boy - Monster Land (decrypted bootleg of English, Virtual Console release)', (decrypted bootleg of Japan New Ver., MC-8123, 317-0043) to 'Wonder Boy - Monster Land (decrypted bootleg of Japan New Ver., MC-8123, 317-0043)', (decrypted bootleg of Japan Old Ver., MC-8123, 317-0043) to 'Wonder Boy - Monster Land (decrypted bootleg of Japan Old Ver., MC-8123, 317-0043)', (English bootleg set 1) to 'Wonder Boy - Monster Land (English bootleg set 1)', (English bootleg set 2) to 'Wonder Boy - Monster Land (English bootleg set 2)', (English bootleg set 3) to 'Wonder Boy - Monster Land (English bootleg set 3)', (English, Virtual Console) to 'Wonder Boy - Monster Land (English, Virtual Console)', (Japan bootleg) to 'Wonder Boy - Monster Land (Japan bootleg)' and (Japan Old Ver., MC-8123, 317-0043) to 'Wonder Boy - Monster Land (Japan Old Ver., MC-8123, 317-0043)'.

Resolution, 0.106-0.130: 256x224 @ 60.000000Hz
Resolution, 0.131-0.144: 256x224 @ 60.096154Hz
Resolution, 0.145-0.251: 512x224 @ 60.096154Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...n-new-ver/mame
Rules, Points: https://www.twingalaxies.com/scores.php?scores=120646

Service Mode:
No service mode.

wboy

ROM set changed: no
0.106-0.113: wboy - "Wonder Boy (set 1, new encryption)"
0.114-0.255: wboy - "Wonder Boy (set 1, 315-5177)"

MAME History:
- 0.113u3: Changed description to 'Wonder Boy (set 1, 315-5177)' and clones (set 1, old encryption) to 'Wonder Boy (set 1, 315-5135)', (set 2) to 'Wonder Boy (set 2, 315-5178)', (set 2 not encrypted) to 'Wonder Boy (set 2, not encrypted)', (set 3) to 'Wonder Boy (set 3, 315-5135)' and (set 4) to 'Wonder Boy (set 4, 315-5162)'.

Resolution, 0.106-0.130: 256x224 @ 60.000000Hz
Resolution, 0.131-0.144: 256x224 @ 60.096154Hz
Resolution, 0.145-0.255: 512x224 @ 60.096154Hz

TG Game Entry: https://www.twingalaxies.com/wonder-...cryption/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=7899
Rules, ADeca 2004 - 1 Life Only: https://www.twingalaxies.com/scores.php?scores=9864
Rules, Points - Easy Setting: https://www.twingalaxies.com/scores.php?scores=213525

wboy on MAME 0.106

# MAME 0.106 source snippet [system1.c]

Code:
GAME( 1986, wboy,     0,        system1,  wboy,     wboy,     ROT0,   "Sega (Escape license)", "Wonder Boy (set 1, new encryption)", GAME_SUPPORTS_SAVE )

#define IN0_PORT \
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) \
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) \
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME( DEF_STR( Service_Mode )) PORT_CODE(KEYCODE_F2) \
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE1 ) \
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) \
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) \
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

#define DSW1_PORT \
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) \
PORT_DIPSETTING( 0x07, DEF_STR( 4C_1C ) ) \
PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x09, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x05, "2 Coins/1 Credit 5/3 6/4" ) \
PORT_DIPSETTING( 0x04, "2 Coins/1 Credit 4/3" ) \
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x03, "1 Coin/1 Credit 5/6" ) \
PORT_DIPSETTING( 0x02, "1 Coin/1 Credit 4/5" ) \
PORT_DIPSETTING( 0x01, "1 Coin/1 Credit 2/3" ) \
PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) ) \
PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) ) \
PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) ) \
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) ) \
PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) ) \
PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) ) \
/* PORT_DIPSETTING( 0x00, "1/1" ) */ \
PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) \
PORT_DIPSETTING( 0x70, DEF_STR( 4C_1C ) ) \
PORT_DIPSETTING( 0x80, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x90, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x50, "2 Coins/1 Credit 5/3 6/4" ) \
PORT_DIPSETTING( 0x40, "2 Coins/1 Credit 4/3" ) \
PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x30, "1 Coin/1 Credit 5/6" ) \
PORT_DIPSETTING( 0x20, "1 Coin/1 Credit 4/5" ) \
PORT_DIPSETTING( 0x10, "1 Coin/1 Credit 2/3" ) \
PORT_DIPSETTING( 0x60, DEF_STR( 2C_3C ) ) \
PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) ) \
PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) ) \
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) ) \
PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) ) \
PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) )
/* PORT_DIPSETTING( 0x00, "1/1" ) */

INPUT_PORTS_START( wboy )
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* down - unused */
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* up - unused */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY

PORT_START /* IN2 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* down - unused */
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* up - unused */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL

PORT_START /* IN0 */
IN0_PORT

PORT_START /* DSW1 */
DSW1_PORT

PORT_START /* DSW0 */
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPSETTING( 0x00, DEF_STR( Infinite ) )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x10, "30k 100k 170k 240k" )
PORT_DIPSETTING( 0x00, "30k 120k 210k 300k" )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Allow_Continue ) )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x20, DEF_STR( Yes ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x40, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x00, DEF_STR( Hard ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
INPUT_PORTS_END


Resolution: 256x224 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/wonder-b...cryption/mame/
--------------------------------------------------------------------------------
Rules, Points: https://www.twingalaxies.com/scores.php?scores=7899
Rules, ADeca 2004 - 1 Life Only: https://www.twingalaxies.com/scores.php?scores=9864

ROM Set: WBoy
Cabinet: Upright
Lives: 3
Bonus Life: 30K, 120K, 210K, 300K
Allow continue: No
Difficulty: Hard
Unknown: Off

Sample correct TG:
DSW0: Offset 0x33, repeat every 0x7C, typical value 0x8C
-DSW0: 0x01 (Cabinet): 0x00 (Upright)
-DSW0: 0x02 (Demo_Sounds): [not relevant]
-DSW0: 0x0c (Lives): 0x0c (3)
-DSW0: 0x10 (Bonus_Life): 0x00 (30k 120k 210k 300k)
-DSW0: 0x20 (Allow_Continue): 0x00 (No)
-DSW0: 0x40 (Difficulty): 0x00 (Hard)
-DSW0: 0x80 (Unknown): 0x80 (Off)

Code:
    30: 00 00 00 8C 00 00 00 00  00 00 00 00 00 00 00 00
A0: 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 8C
120: 00 00 00 FF 00 00 00 FF 00 00 00 8C 00 00 00 00


--------------------------------------------------------------------------------
Rules, Points - Easy Setting: https://www.twingalaxies.com/scores.php?scores=213525

ROM Set: WBoy
Lives: 3
Bonus Life: 30K, 120K, 210K, 300K
Allow continue: Players choice
Difficulty: Easy

Sample correct TG:
DSW0: Offset 0x33, repeat every 0x7C, typical value 0xFC
-DSW0: 0x01 (Cabinet): [not relevant]
-DSW0: 0x02 (Demo_Sounds): [not relevant]
-DSW0: 0x0c (Lives): 0x0c (3)
-DSW0: 0x10 (Bonus_Life): 0x10 (30k 100k 170k 240k)
-DSW0: 0x20 (Allow_Continue): [not relevant]
-DSW0: 0x40 (Difficulty): 0x40 (Easy)
-DSW0: 0x80 (Unknown): [not relevant]

Code:
    30: 00 00 00 FC 00 00 00 00  00 00 00 00 00 00 00 00
A0: 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 FC
120: 00 00 00 FF 00 00 00 FF 00 00 00 FC 00 00 00 00

wc90

wc90 was deprecated in 0.190. See twcup90: https://www.twingalaxies.com/wiki_in...ory-T-ROM-sets

wcbowldx

ROM set changed: no
0.106-0.204: wcbowldx - "World Class Bowling Deluxe (v2.00)"

Resolution, 0.106-0.122: 200x200 @ 60.000000Hz
Resolution, 0.123-0.204: 384x240 @ 60.106990Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...uxe-v200/mame/
Rules, Points [Regulation Mode]: https://www.twingalaxies.com/scores.php?scores=120650
Rules, Points [Flash Mode]: https://www.twingalaxies.com/scores.php?scores=120649

wcbowldx on MAME 0.106

# MAME 0.106 source snippet

Code:
INPUT_PORTS_START( wcbowldx )
PORT_INCLUDE(wcbowln)

PORT_START /* 280000 */
PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Flip_Screen ) ) /* Verified */
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0020, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0040, DEF_STR( On ) )
INPUT_PORTS_END

INPUT_PORTS_START( wcbowln ) /* WCB version 1.66 supports cocktail mode */
PORT_INCLUDE(wcbowl)

PORT_MODIFY("P3")
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x00fb, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_MODIFY("DIPS")
PORT_DIPNAME( 0x0010, 0x0000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Cabinet ) ) // v1.66 Rom sets support Cocktail mode (verified)
PORT_DIPSETTING( 0x0000, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x0040, 0x0000, "Freeze Screen" )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0040, DEF_STR( On ) )

PORT_START_TAG("TRACKX2")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_MINMAX(0,255) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_REVERSE PORT_COCKTAIL PORT_PLAYER(2)

PORT_START_TAG("TRACKY2")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_MINMAX(0,255) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_COCKTAIL PORT_PLAYER(2)
INPUT_PORTS_END

INPUT_PORTS_START( wcbowl )
PORT_INCLUDE(itech32_base)

PORT_MODIFY("P1")
PORT_BIT( 0x00f0, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_MODIFY("P2")
PORT_BIT( 0x00f0, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_START_TAG("TRACKX1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_MINMAX(0,255) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_REVERSE PORT_PLAYER(1)

PORT_START_TAG("TRACKY1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_MINMAX(0,255) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_PLAYER(1)
INPUT_PORTS_END

INPUT_PORTS_START( itech32_base )
PORT_START_TAG("P1") /* 080000 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)

PORT_START_TAG("P2") /* 100000 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)

PORT_START_TAG("P3") /* 180000 */
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNUSED )

PORT_START_TAG("P4") /* 200000 */
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_START_TAG("DIPS") /* 280000 */
PORT_SERVICE_NO_TOGGLE( 0x0001, IP_ACTIVE_LOW )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_VBLANK )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SPECIAL )
PORT_DIPNAME( 0x0010, 0x0000, "Video Sync" )
PORT_DIPSETTING( 0x0000, "-" )
PORT_DIPSETTING( 0x0010, "+" )
PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Flip_Screen ))
PORT_DIPSETTING( 0x0000, DEF_STR( Off ))
PORT_DIPSETTING( 0x0020, DEF_STR( On ))
PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Unknown ))
PORT_DIPSETTING( 0x0040, DEF_STR( Off ))
PORT_DIPSETTING( 0x0000, DEF_STR( On ))
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Service_Mode ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ))
PORT_DIPSETTING( 0x0080, DEF_STR( On ))

PORT_START_TAG("EXTRA") /* 78000 */
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END



Use the Service Mode button (F2) to access the settings after the playback to check. Navigation is performed up/down with button 2 or 1 and 1-Player start to select.

Resolution: 384x255 @ 60Hz

Rules, Flash Mode: https://www.twingalaxies.com/scores.php?scores=120649
Rules, Regulation: https://www.twingalaxies.com/scores.php?scores=120650
ROMSet: WCBowlDx
Service Mode: Off
Unknown: Off [Both]
Cabinet: Upright
Freeze Screen: Off

Internal Defaults
-----------------
Time Out Settings For Each Ball: 120 Second Timeout
Skill Level Adjustment: Skill Level 5

Sample correct TG:
DIPS: offset 0x33, repeat every 0x7C, typical value 0x0F - only upper nibble relevant
- DIPS: 0x01 (unused): [not relevant]
- DIPS: 0x02 (Service Mode): [will be obvious during playback]
- DIPS: 0x04 (Vertical Blank): [not relevant]
- DIPS: 0x08 (Special): [not relevant]
- DIPS: 0x10 (Unknown): 0x0000 (Off)
- DIPS: 0x20 (Cabinet): 0x0000 (Upright)
- DIPS: 0x40 (Freeze Screen): 0x0000 (Off)
- DIPS: 0x80 (Service_Mode): 0x0000 (Off)
Code:
    30: 00 00 00 0F 00 00 00 FF  00 00 00 00 00 00 00 00 | ....... ........
A0: 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 0F | ... ... ... ....
120: 00 00 00 FF 00 00 00 FF 00 00 00 0B 00 00 00 FF | ... ... .......

wcbowl

ROM set changed: no
0.106-0.204: wcbowl - "World Class Bowling (v1.66)"

Resolution, 0.106-0.122: 200x200 @ 60.000000Hz
Resolution, 0.123-0.204: 384x240 @ 60.106990Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...ing-v166/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=55158

NOTE: This game has both DIPs & internal settings covered by the rules. If not shown during playback, press F2 to access & check internal settings afterwards.

wcbowl on MAME 0.106

# MAME 0.106 source snippet.

Code:
INPUT_PORTS_START( wcbowl )
PORT_INCLUDE(itech32_base)

PORT_MODIFY("P1")
PORT_BIT( 0x00f0, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_MODIFY("P2")
PORT_BIT( 0x00f0, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_START_TAG("TRACKX1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_X ) PORT_MINMAX(0,255) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_REVERSE PORT_PLAYER(1)

PORT_START_TAG("TRACKY1")
PORT_BIT( 0xff, 0x00, IPT_TRACKBALL_Y ) PORT_MINMAX(0,255) PORT_SENSITIVITY(25) PORT_KEYDELTA(32) PORT_PLAYER(1)
INPUT_PORTS_END

INPUT_PORTS_START( itech32_base )
PORT_START_TAG("P1") /* 080000 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)

PORT_START_TAG("P2") /* 100000 */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)

PORT_START_TAG("P3") /* 180000 */
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNUSED )

PORT_START_TAG("P4") /* 200000 */
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_START_TAG("DIPS") /* 280000 */
PORT_SERVICE_NO_TOGGLE( 0x0001, IP_ACTIVE_LOW )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_VBLANK )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SPECIAL )
PORT_DIPNAME( 0x0010, 0x0000, "Video Sync" )
PORT_DIPSETTING( 0x0000, "-" )
PORT_DIPSETTING( 0x0010, "+" )
PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Flip_Screen ))
PORT_DIPSETTING( 0x0000, DEF_STR( Off ))
PORT_DIPSETTING( 0x0020, DEF_STR( On ))
PORT_DIPNAME( 0x0040, 0x0000, DEF_STR( Unknown ))
PORT_DIPSETTING( 0x0040, DEF_STR( Off ))
PORT_DIPSETTING( 0x0000, DEF_STR( On ))
PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Service_Mode ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ))
PORT_DIPSETTING( 0x0080, DEF_STR( On ))

PORT_START_TAG("EXTRA") /* 78000 */
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END


Resolution: 384x255 @ 60Hz

Internal settings are accessible via service mode (F2) and navigation is via up/down+start button 1.
The rules indicate "Unknown: Off [Both]" but there is only one setting.
Rules: https://www.twingalaxies.com/scores.php?scores=55158
ROMSet: WCBowl
Service Mode: Off
Unknown: Off [Both]
Cabinet: Upright
Freeze Screen: Off

Internal Defaults
-----------------
Time Out Settings For Each Ball: 120 Second Timeout
Skill Level Adjustment: Skill Level 3

Sample correct TG:
DIPS: offset 0x33, repeat every 0x7C, typical value 0x0F but lower nibble will change.
- DIPS: 0x0001 (service): [not relevant]
- DIPS: 0x0002 (service): [not relevant]
- DIPS: 0x0004 (vertical blank): [not relevant]
- DIPS: 0x0008 (special): [not relevant]
- DIPS: 0x0010 (Video Sync): [not relevant]
- DIPS: 0x0020 (Flip_Screen): 0x0000 (Off) - this is the cabinet option.
- DIPS: 0x0040 (Unknown): 0x0040 (Off)
- DIPS: 0x0080 (Service_Mode): 0x0000 (Off)

Code:
    30: 00 00 00 0F 00 00 00 FF  00 00 00 00 00 00 00 00 | ....... ........
A0: 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 0F | ... ... ... ....
120: 00 00 00 FF 00 00 00 FF 00 00 00 0B 00 00 00 FF | ... ... .......

wcvol95j

ROM set changed: yes.
0.106-0.200: wcvol95 - "World Cup Volley '95 (Japan v1.0)"
0.201- : wcvol95j - "World Cup Volley '95 (Japan v1.0)"

From MAMEINFO.DAT:
- 0.201: Fabrice Arzeno and The Dumping Union added World Cup Volley '95 (Asia v1.0). Renamed (wcvol95) to (wcvol95j).

Resolution, 0.106-0.201: 320x240 @ 58.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...japan-v10/mame
Rules, Points: https://www.twingalaxies.com/scores.php?scores=120651

wcvol95

Note: two ROM sets represented here with changeover at 0.201.

From MAMEINFO.DAT:
- 0.201: Fabrice Arzeno and The Dumping Union added World Cup Volley '95 (Asia v1.0). Renamed (wcvol95) to (wcvol95j).


World Cup Volley '95 (Japan v1.0)
---------------------------------
ROM set changed: yes.
0.106-0.200: wcvol95 - "World Cup Volley '95 (Japan v1.0)"
0.201- : wcvol95j - "World Cup Volley '95 (Japan v1.0)"

Resolution, 0.106-0.201: 320x240 @ 58.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...japan-v10/mame
Rules, Points: https://www.twingalaxies.com/scores.php?scores=120651


World Cup Volley '95 (Asia v1.0)
--------------------------------
ROM set changed: no. Added in 0.201.
0.201- : wcvol95 - "World Cup Volley '95 (Asia v1.0)"

Resolution, 0.201- : 320x240 @ 58.000000Hz

Rules: [no current tracks]

weclemana

ROM set changed: yes.
0.106-0.147: wecleman - "WEC Le Mans 24"
0.148-0.166: wecleman - "WEC Le Mans 24 (set 1)"
0.167-0.201: wecleman - "WEC Le Mans 24 (v2.00, set 1)"
0.202- : weclemana - "WEC Le Mans 24 (v2.00, set 1)"

MAME History:
- 0.147u2: Corrado Tomaselli added clone WEC Le Mans 24 (set 2). Changed parent description to 'WEC Le Mans 24 (set 1)'.
- 0.167: ANY and The Dumping Union added clone WEC Le Mans 24 (v1.26). Changed parent description to 'WEC Le Mans 24 (v2.00, set 1)' and clone (set 2) to 'WEC Le Mans 24 (v2.00, set 2)'. Renamed (wecleman2) to (weclemana).
- 0.202: ClawGrip added WEC Le Mans 24 (v2.01). Renamed (weclemanb) to (weclemanc), (weclemana) to (weclemanb) and (wecleman) to (weclemana).

Resolution, 0.106-0.202: 320x224 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wec-le-mans-24/mame
Rules, Points: https://www.twingalaxies.com/scores.php?scores=120635

wecleman

Note: two ROM sets represented here with changeover at 0.202.

MAME History:
- 0.147u2: Corrado Tomaselli added clone WEC Le Mans 24 (set 2). Changed parent description to 'WEC Le Mans 24 (set 1)'.
- 0.167: ANY and The Dumping Union added clone WEC Le Mans 24 (v1.26). Changed parent description to 'WEC Le Mans 24 (v2.00, set 1)' and clone (set 2) to 'WEC Le Mans 24 (v2.00, set 2)'. Renamed (wecleman2) to (weclemana).
- 0.202: ClawGrip added WEC Le Mans 24 (v2.01). Renamed (weclemanb) to (weclemanc), (weclemana) to (weclemanb) and (wecleman) to (weclemana).

WEC Le Mans 24 (v2.00, set 1)
-----------------------------
ROM set changed: yes.
0.106-0.147: wecleman - "WEC Le Mans 24"
0.148-0.166: wecleman - "WEC Le Mans 24 (set 1)"
0.167-0.201: wecleman - "WEC Le Mans 24 (v2.00, set 1)"
0.202- : weclemana - "WEC Le Mans 24 (v2.00, set 1)"

Resolution, 0.106-0.202: 320x224 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wec-le-mans-24/mame
Rules, Points: https://www.twingalaxies.com/scores.php?scores=120635


WEC Le Mans 24 (v2.01)
----------------------
Note: not currently represented at TG.
ROM set changed: no. Added in 0.202.
0.202- : wecleman - "WEC Le Mans 24 (v2.01)"

Resolution, 0.202- : 320x224 @ 60.000000Hz

Rules: [no current tracks]

welltris

ROM set changed: no
0.106-0.194: welltris - "Welltris (World?, 2 players)"

Resolution, 0.106-0.194: 352x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/welltri...-players/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=120636

welltris on MAME 0.106

# MAME 0.106 source snippet

Code:
INPUT_PORTS_START( welltris )
PORT_START
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE2 ) /* Test (used to go through tests in service mode) */
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT ) /* Tested at start of irq 1 */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* Service (adds a coin) */
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* pending sound command */

PORT_START
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

#if WELLTRIS_4P_HACK
/* These can actually be read in the test mode even if they're not used by the game without patching the code
might be useful if a real 4 player version ever turns up if it was ever produced */
PORT_START
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
#else
PORT_START
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_START
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
#endif

PORT_START
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN4 )
#if WELLTRIS_4P_HACK
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START3 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START4 )
#else
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
#endif
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START
PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0007, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0008, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0009, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0004, "2-1, 4-2, 5-3, 6-4" )
PORT_DIPSETTING( 0x0003, "2-1, 4-3" )
PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0001, "1-1, 2-2, 3-3, 4-5" )
PORT_DIPSETTING( 0x0002, "1-1, 2-2, 3-3, 4-4, 5-6" )
PORT_DIPSETTING( 0x0000, "1-1, 2-3" )
PORT_DIPSETTING( 0x0005, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x000b, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) )
PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x0060, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x0070, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0080, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0090, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0040, "2-1, 4-2, 5-3, 6-4" )
PORT_DIPSETTING( 0x0030, "2-1, 4-3" )
PORT_DIPSETTING( 0x00f0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0010, "1-1, 2-2, 3-3, 4-5" )
PORT_DIPSETTING( 0x0020, "1-1, 2-2, 3-3, 4-4, 5-6" )
PORT_DIPSETTING( 0x0000, "1-1, 2-3" )
PORT_DIPSETTING( 0x0050, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x00d0, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x00b0, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x00a0, DEF_STR( 1C_6C ) )

PORT_START
PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x0002, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x0003, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x0001, DEF_STR( Hard ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Hardest ) ) // "Super" in test mode
PORT_DIPNAME( 0x0004, 0x0000, "Coin Mode" )
PORT_DIPSETTING( 0x0004, "Mono Player" )
PORT_DIPSETTING( 0x0000, "Many Player" )
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0008, DEF_STR( On ) )
#if WELLTRIS_4P_HACK
/* again might be handy if a real 4 player version shows up */
PORT_DIPNAME( 0x0010, 0x0010, "DIPSW 2-5 (see notes)" )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, "4 Players Mode (see notes)" )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
#else
PORT_DIPNAME( 0x0010, 0x0010, "DIPSW 2-5 (unused)" )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, "DIPSW 2-6 (unused)" )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
#endif
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Flip_Screen ) ) /* Flip Screen Not Currently Supported */
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
INPUT_PORTS_END


Resolution: 352x240 @ 60Hz

Rules: https://www.twingalaxies.com/scores.php?scores=120636
ROMSet: Welltris
Difficulty: Normal
DIPSW 2-5 [Unused]: Off
DIPSW 2-6 [Unused]: Off
Flip Screen: Off
Service Mode: Off

Sample correct TG:
Dips: offset 0x3F, repeat every 0x7C, typical value 0xFB
- Dips: 0x0003 (Difficulty): 0x0003 (Normal)
- Dips: 0x0004 (Coin Mode): [not relevant]
- Dips: 0x0008 (Demo_Sounds): [not relevant]
- Dips: 0x0010 (DIPSW 2-5 (unused)): 0x0010 (Off)
- Dips: 0x0020 (DIPSW 2-6 (unused)): 0x0020 (Off)
- Dips: 0x0040 (Flip_Screen): 0x0040 (Off)
- Dips: 0x0080 (unused): [not relevant]

Code:
    30: 00 00 00 FF 00 00 00 FF  00 00 00 FF 00 00 00 FB | ... ... ... ...v
B0: 00 00 00 FF 00 00 00 FF 00 00 00 FB 00 00 00 00 | ... ... ...v....
130: 00 00 00 FF 00 00 00 FB 00 00 00 00 00 00 00 00 | ... ...v........

wg3dh

ROM set changed: no
0.106-0.175: wg3dh - "Wayne Gretzky's 3D Hockey"

Resolution, 0.106-0.175: 640x480 @ 57.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....gamename=Wayne Gretzky's 3D Hockey

wgpu, wgp

Note: two ROM sets represented here with changeover at 0.201.

MAME History:
- 0.201: Hammy and The Dumping Union added World Grand Prix (World). Renamed (wgp) to (wgpu).


World Grand Prix (US)
---------------------
ROM set changed: yes.
0.106-0.175: wgp - "World Grand Prix (US)"
0.201-0.255: wgpu - "World Grand Prix (US)"

Resolution, 0.106-0.255: 320x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...d-prix-us/mame
Rules, Grand Prix Points: https://www.twingalaxies.com/scores.php?scores=120652


World Grand Prix (World)
------------------------
ROM set changed: no. Added in 0.201.
0.106-0.200: NOT SUPPORTED
0.201-0.255: wgp - "World Grand Prix (World)"

Resolution, 0.201-0.255: 320x240 @ 60.000000Hz

Rules: [no current tracks]

wh1h, wh1

Note: two ROM sets represented here with changeover at 0.120.

MAME History:
- 0.120: Johnboy added World Heroes (set 1). Fully redumped (set 2), this is verified AES version. Changed (set 1) to clone 'World Heroes (set 2)' and clone (set 2) to 'World Heroes (set 3)'. Renamed (wh1h) to (wh1ha) and (wh1) to (wh1h).
- 0.143u4: Changed description to 'World Heroes (ALM-005)' and clone (set 2) to 'World Heroes (ALH-005)'.

World Heroes (ALH-005) / (set 1) / (set 2)
----------------------
ROM set changed: yes
0.106-0.119: wh1 - "World Heroes (set 1)"
0.120-0.143: wh1h - "World Heroes (set 2)"
0.144-0.250: wh1h - "World Heroes (ALH-005)"

Resolution, 0.106-0.113: 320x224 @ 59.185608Hz
Resolution, 0.114-0.250: 320x224 @ 59.185606Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...es-set-1/mame/
Rules, Points [Deathmatch Mode, Tournament Settings]: https://www.twingalaxies.com/scores.php?scores=15446
Rules, Points [Normal Mode, Tournament Settings]: https://www.twingalaxies.com/scores.php?scores=15447


World Heroes (ALM-005) / (set 1)
----------------------
Note: not currently represented at TG.
0.120-0.143: wh1 - "World Heroes (set 1)"
0.144-0.250: wh1 - "World Heroes (ALM-005)"

Resolution, 0.120-0.250w: 320x224 @ 59.185606Hz

Rules: [no current tracks]


Service Mode:
Standard SNK NeoGeo BIOS.
All relevant rules are covered by internal settings. If not shown during playback, use F2 to access after playback completed. Navigation is with P1 Up & Down. Select menu option with P1 Button 1 and sub-menus can be exited with P1 Button 3. P1 Button 1 and P1 Button 2 adjust individual configuration options.

wh2j, wh2j

Note: two ROM sets represented here with changeover at 0.120 and back again at 0.139u2.

MAME History:
- 0.113u2: Zsolt Vasvari updated NeoGeo driver to the new video timing code and screen raw parameters, this fixes also the messed up graphics. Changed VSync to 59.185606 Hz.
- 0.120: Johnboy added World Heroes 2 Jet (set 1). This is the MVS version (verified). Partially redumped World Heroes 2 Jet (set 2), is verified AES version. Changed 'World Heroes 2 Jet' to clone 'World Heroes 2 Jet (set 2)'. Renamed (wh2j) to (wh2jh).
- 0.139u2: Johnboy removed 'World Heroes 2 Jet (set 1)' (only diff. C-ROM arrangement; same data). Changed (set 2) to parent 'World Heroes 2 Jet'. Renamed (wh2jh) to (wh2j).
- 0.174: Changed description to 'World Heroes 2 Jet (ADM-007 ~ ADH-007)'.


World Heroes 2 Jet (ADM-007 ~ ADH-007)
--------------------------------------
ROM set changed: yes
0.106-0.119: wh2j - "World Heroes 2 Jet"
0.120-0.139: wh2jh - "World Heroes 2 Jet (set 2)"
0.139u2-0.143: wh2j - "World Heroes 2 Jet"
0.144-0.173: wh2j - "World Heroes 2 Jet (ADM-007)(ADH-007)"
0.174-0.213: wh2j - "World Heroes 2 Jet (ADM-007 ~ ADH-007)"

Resolution, 0.106-0.113: 320x224 @ 59.185608Hz
Resolution, 0.114-0.213: 320x224 @ 59.185606Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...s-2-jet/mame/1
Rules, Points [Tournament Settings]: https://www.twingalaxies.com/scores.php?scores=15450


World Heroes 2 Jet (set 1)
--------------------------
Note: not currently represented on TG.
ROM set changed: no. Only existed in 0.120-0.139u2.
0.120-0.139u2: wh2j - "World Heroes 2 Jet (set 1)"
0.140+: NOT SUPPORTED

Resolution, 0.120-0.139: 320x224 @ 59.185606Hz

Rules: [no current tracks]


Service Mode:
Standard SNK NeoGeo BIOS.
All relevant rules are covered by internal settings. If not shown during playback, use F2 to access after playback completed. Navigation is with P1 Up & Down. Select menu option with P1 Button 1 and sub-menus can be exited with P1 Button 3. P1 Button 1 and P1 Button 2 adjust individual configuration options.

wh2

ROM set changed: no
0.106-0.143: wh2 - "World Heroes 2"
0.144-0.173: wh2 - "World Heroes 2 (ALM-006)(ALH-006)"
0.174-0.250: wh2 - "World Heroes 2 (ALM-006 ~ ALH-006)"

MAME History:
- 0.113u2: Zsolt Vasvari updated NeoGeo driver to the new video timing code and screen raw parameters, this fixes also the messed up graphics. Changed VSync to 59.185606 Hz.
- 0.143u4: Changed description to 'World Heroes 2 (ALM-006)(ALH-006)'.
- 0.174: Changed description to 'World Heroes 2 (ALM-006 ~ ALH-006)'.

Resolution, 0.106-0.113: 320x224 @ 59.185608Hz
Resolution, 0.114-0.250: 320x224 @ 59.185606Hz

TG Game Entry: https://www.twingalaxies.com/game/world-heroes-2/mame/
Rules, Points [Deathmatch Mode, Tournament Settings]: https://www.twingalaxies.com/scores.php?scores=15448
Rules, Points [Normal Mode, Tournament Settings]: https://www.twingalaxies.com/scores.php?scores=15449


Service Mode:
Standard SNK NeoGeo BIOS.
All relevant rules are covered by internal settings. If not shown during playback, use F2 to access after playback completed. Navigation is with P1 Up & Down. Select menu option with P1 Button 1 and sub-menus can be exited with P1 Button 3. P1 Button 1 and P1 Button 2 adjust individual configuration options.

whodunit8

ROM set changed: yes
0.106-0.151: whodunit - "Who Dunit (version 8.0)"
0.152-0.175: whodunit8 - "Who Dunit (version 8.0)"

MAME History:
- 0.152: Joe Magiera added Who Dunit (version 9.0). Added additional rom dump from Who Dunit (version 9.0) boardset which as of yet does not have a known use. Renamed (whodunit) to (whodunit8).

Resolution, 0.106-0.175: 320x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....Who%20Dunit%20[version%208.0]
Rules, Points: https://www.twingalaxies.com/scores.php?scores=18983

whodunit

Note: two ROM sets represented here with changeover at 0.152.

MAME History:
- 0.152: Joe Magiera added Who Dunit (version 9.0). Added additional rom dump from Who Dunit (version 9.0) boardset which as of yet does not have a known use. Renamed (whodunit) to (whodunit8).


Who Dunit (version 8.0)
-----------------------
ROM set changed: yes
0.106-0.151: whodunit - "Who Dunit (version 8.0)"
0.152-0.175: whodunit8 - "Who Dunit (version 8.0)"

Resolution, 0.106-0.175: 320x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....Who%20Dunit%20[version%208.0]
Rules, Points: https://www.twingalaxies.com/scores.php?scores=18983


Who Dunit (version 9.0)
-----------------------
Note: not currently represented on TG.
ROM set changed: no. Added in 0.152.
0.152-0.176: whodunit - "Who Dunit (version 9.0)"

Resolution, 0.152-0.176: 320x240 @ 60.000000Hz

Rules: [no current tracks]

whp

ROM set changed: no
0.106-0.250: whp - "World Heroes Perfect"

MAME History:
- 0.113u2: Zsolt Vasvari updated NeoGeo driver to the new video timing code and screen raw parameters, this fixes also the messed up graphics. Changed VSync to 59.185606 Hz.

Resolution, 0.106-0.113: 320x224 @ 59.185608Hz
Resolution, 0.114-0.250: 320x224 @ 59.185606Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...-perfect/mame/
Rules, Points [Tournament Settings]: https://www.twingalaxies.com/scores.php?scores=15451


Service Mode:
Standard SNK NeoGeo BIOS.
All relevant rules are covered by internal settings. If not shown during playback, use F2 to access after playback completed. Navigation is with P1 Up & Down. Select menu option with P1 Button 1 and sub-menus can be exited with P1 Button 3. P1 Button 1 and P1 Button 2 adjust individual configuration options.

wildfang

ROM set changed: no
0.106-0.255: wildfang - "Wild Fang / Tecmo Knight"

MAME History:
- 0.133u1: Corrado Tomaselli verified/changed VSync to 59.17 Hz in Shadow Warriors. Renamed (ryukenda) to (ryukendna).

Resolution, 0.106-0.133: 256x224 @ 60.000000Hz
Resolution, 0.134-0.255: 256x224 @ 59.170000Hz

TG Game Entry: https://www.twingalaxies.com/game/wi...o-knight/mame/
Rules, Points [Single Player Only]: https://www.twingalaxies.com/scores.php?scores=120637
Rules, Points [Single Player Only]: https://www.twingalaxies.com/scores.php?scores=120638

Service Mode:
Typical Tecmo "Ninja Gaiden" style hardware.
Service Mode reflects the local configuration after playback, not the recording. The DIP switches are shown read-only during the boot up sequence after the ROM and RAM test screen. This screen will be automatically progressed unless the P1 Start or P2 Start button is held.

Default Settings:
MAME 0.106:
MAME 0.250:
DIP Switches During Boot Up:

wildplt

ROM set changed: no
0.106-0.175: wildplt - "Wild Pilot"

Resolution, 0.106-0.175: 256x224 @ 30.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....&gamename=Wild Pilot

wildplt on MAME 0.106

# MAME 0.106 source snippet

Code:
INPUT_PORTS_START( wildplt )
PORT_START_TAG("IN0") // DSW 1 & 2
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0001, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x0002, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x0003, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0007, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x0006, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x0005, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x0004, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x1000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )

PORT_START_TAG("IN1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) //start 1 too
PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW) //start 2 too
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Emergency Button") //E Stop for motors?

PORT_START_TAG("IN2")
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_MINMAX(0,0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_REVERSE

PORT_START_TAG("IN3")
PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_MINMAX(0,0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(15)
INPUT_PORTS_END



Resolution: 256x224 @ 30Hz

Rules: https://www.twingalaxies.com/scores.php?scores=120639
ROMSet: WildPlt
Unknown: Off [All]

Sample correct TG:
IN0: offset 0x22, repeat varies due to analogue input, typical value 0xFFFF
- IN0: 0x0007 (Coinage): [not relevant]
- IN0: 0x0008 (Unknown): 0x0008 (Off)
- IN0: 0x0010 (Unknown): 0x0010 (Off)
- IN0: 0x0020 (Unknown): 0x0020 (Off)
- IN0: 0x0040 (Unknown): 0x0040 (Off)
- IN0: 0x0080 (Unknown): 0x0080 (Off)
- IN0: 0x0100 (Unknown): 0x0100 (Off)
- IN0: 0x0200 (Unknown): 0x0200 (Off)
- IN0: 0x0400 (Unknown): 0x0400 (Off)
- IN0: 0x0800 (Unknown): 0x0800 (Off)
- IN0: 0x1000 (Demo_Sounds): [not relevant]
- IN0: 0x2000 (Unknown): 0x2000 (Off)
- IN0: 0x4000 (Unknown): 0x4000 (Off)
- IN0: 0x8000 (Unknown): 0x8000 (Off)

Code:
    20: 00 00 FF FF 00 00 FF FF  00 00 00 80 00 00 00 80 | ..  ..  ........
90: 00 00 00 00 00 00 00 00 3E 82 43 E1 00 00 FF FF | ........>.Cß..
110: 00 00 00 00 3E 82 43 E1 00 00 FF FF 00 00 FF FF | ....>.Cß.. ..

willow, willowu

Note: two ROM sets represented here with changeover at 0.160.

MAME History:
- 0.63: Added 'Game Mode' dipswitch. Changed 'Unknown' dipswitches to 'Unused'. Removed 3rd button.
- 0.109: Input port cleanup and additional comments in the CPS1 driver [Stephane Humbert].
- 0.121: Vas Crabb updated the DIP locations for all games in the CPS-1 driver.
- 0.126u4: Corrado Tomaselli verified and correct CPS1 refresh rate. Changed VSync to 59.610000 Hz.
- 0.127u1: Added 3rd button.
- 0.139: Changed description to 'Willow (USA)'.
- 0.147u1: Changed CPS-1 video timings to SCREEN_RAW_PARAMS [Angelo Salese]. Changed VSync to 59.629403 Hz.
- 0.148u5: Andrew Gardner added QSound internal DSP ROM to the device. Added DSP16 (4MHz) CPU3. Sonikos fixed 'Difficulty' dipswitch which has in the tab menu values from 1 (easiest) to 8 (hardest) but in the game's menu it's from 0 to 7.
- 0.153: Cleanup (includes\cps1.h) [Osso]. Willow, Strider and Ghouls'n Ghosts have some changed factory setting defaults as stated from manual. Also noted differences in bonus live coverage where applicable [Tafoid]. Cleanup QSound. No practical changes here except that i removed support for LOG_WAVE raw sound filewriting. Updated soundstream before writing (tsk). Reg 3 is key on. Small fix to sample start and loop. Guru measured qsound music timing. Modified CPS1 video params [hap]. Eliminate pointless planar-to-chunky conversion of gfx ROMs, just decode them as-is [Alex Jackson]. Changed VSync to 59.637405 Hz.
- 0.160: Jets and Layer added Willow (World). Renamed (willow) to (willowu) and (willowo) to (willowuo).


Willow (USA)
------------
ROM set changed: yes
0.106-0.138: willow - "Willow (US)"
0.139-0.159: willow - "Willow (USA)"
0.160-0.205: willowu - "Willow (USA)"

Resolution, 0.106-0.126: 384x224 @ 60.000000Hz
Resolution, 0.127-0.147: 384x224 @ 59.610000Hz
Resolution, 0.148-0.152: 384x224 @ 59.629403Hz
Resolution, 0.153-0.205: 384x224 @ 59.637405Hz

TG Game Entry: https://www.twingalaxies.com/game/willow-us/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=14478


Willow (World)
--------------
Note: not currently represented on TG.
ROM set changed: no. Added in 0.160.
0.160-0.205: willow - "Willow (World)"

Resolution, 0.160-0.205: 384x224 @ 59.637405Hz

Rules: [no current tracks]

Service Mode:
Atypical Capcom CPS-1 BIOS.
Service Mode will reflect the local configuration after playback, not the recording. Service Mode is accessed using the Game Mode DIP switch or the Service button (F2) which toggles the DIP switch followed by a reset thus cannot be recorded in an INP. Navigation is with P1 Up and P1 Down, selection with P1 Button 1.

Default Settings:
The seemingly innocuous comment in the changes to 0.109 "Input port cleanup" belies a significant uncovering of DIP switches. When the "Game Mode" is set to "Test" the set of DIP switches in Switch bank C are changed to be different settings and the internal display of settings may not make sense. Changes in DIP switches can have immediate effect - most notably obvious with the cheat options when Game Mode is set to Test. Verify with caution.

MAME 0.106, willow:


MAME 0.109, willow:
Game Mode: | Test Mode:
MAME 0.121, willow:
Game Mode: | Test Mode:
MAME 0.149, willow:
Game Mode: | Test Mode:
MAME 0.153, willow:
Game Mode: | Test Mode:
MAME 0.250, willowu:
Game Mode: | Test Mode:

Internal display of the DIP switches from MAME 0.250, willowu:
Game Mode: | Test Mode:
Game Mode: | Test Mode:

Comparison of DIP switch options between 0.108 and 0.109:
|

willow on MAME 0.106

# MAME 0.106 source snippet [cps1.c]

Code:
INPUT_PORTS_START( willow )
PORT_START_TAG("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_LOW )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START_TAG("DSWA")
CPS1_COINAGE_3
/* According to the manual, ALL bits 0 to 5 must be ON to have
"2 Coins/1 Credit (1 to continue)" for both coin slots */
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0xc0, "Upright 1 Player" )
PORT_DIPSETTING( 0x80, "Upright 2 Players" )
// PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )

PORT_START_TAG("DSWB")
CPS1_DIFFICULTY_2
PORT_DIPNAME( 0x18, 0x18, "Nando Speed" )
PORT_DIPSETTING( 0x10, "Slow" )
PORT_DIPSETTING( 0x18, DEF_STR( Normal ) )
PORT_DIPSETTING( 0x08, "Fast" )
PORT_DIPSETTING( 0x00, "Very Fast" )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "Stage Magic Continue" ) // Check code at 0x002e1c
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
/* When the Dip Switch is set to "On" , your magic and sword power will be increased
at the end of the level if you haven't bought the magic/sword item. But you won't
notice this before you use the character again. For example, magic power will be
increased at the end of level 1 but you won't notice it before level 3, and sword
power will be increased at the end of level 2 but you won't notice it before level 4.
Useful addresses to know :
- 0xff8344.w ($344,A5) : level (00-05)
- 0xff8366.b ($366,A5) : magic power (00-06)
- 0xff8367.b ($367,A5) : sword power (00-04)
*/

PORT_START_TAG("DSWC")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x02, "1" )
PORT_DIPSETTING( 0x03, "2" )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x00, "4" )
PORT_DIPNAME( 0x0c, 0x0c, "Vitality" )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x0c, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x04, "5" )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Allow_Continue ) )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x40, DEF_STR( Yes ) )
PORT_DIPNAME( 0x80, 0x80, "Game Mode")
PORT_DIPSETTING( 0x80, "Game" )
PORT_DIPSETTING( 0x00, DEF_STR( Test ) ) // To enable the "debug" features

PORT_START_TAG("IN1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END

#define CPS1_DIFFICULTY_2 \
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Difficulty ) ) \
PORT_DIPSETTING( 0x04, "1 (Easiest)" ) \
PORT_DIPSETTING( 0x05, "2" ) \
PORT_DIPSETTING( 0x06, "3" ) \
PORT_DIPSETTING( 0x07, "4 (Normal)" ) \
PORT_DIPSETTING( 0x03, "5" ) \
PORT_DIPSETTING( 0x02, "6" ) \
PORT_DIPSETTING( 0x01, "7" ) \
PORT_DIPSETTING( 0x00, "8 (Hardest)" )

#define CPS1_COINAGE_3 \
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) \
PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) ) \
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x00, "2 Coins/1 Credit (1 to continue)" ) \
PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) ) \
PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) ) \
PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) ) \
PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) ) \
PORT_DIPSETTING( 0x08, DEF_STR( 4C_1C ) ) \
PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) \
PORT_DIPSETTING( 0x18, DEF_STR( 2C_1C ) ) \
PORT_DIPSETTING( 0x00, "2 Coins/1 Credit (1 to continue)" ) \
PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) ) \
PORT_DIPSETTING( 0x30, DEF_STR( 1C_2C ) ) \
PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) ) \
PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )


Rules: https://www.twingalaxies.com/scores.php?scores=120656
ROMSet: willow
Cabinet: Upright 1 Player
Difficulty: 4 [Normal]
Nando Speed: Normal
Unused: Off [Both]
Stage Magic Continue: Off
Lives: 2
Vitality: 3
Flip Screen: Off
Allow Continue: No
Game Mode: Game

Sample correct TG:
DSWA: offset 0x27, repeat every 0x7C, typical value 0xFF
- DSWA 0x07 (Coin_A): 0x07 (1 Coin 1 Credit)
- DSWA 0x38 (Coin_B): 0x38 (1 Coin 1 Credit)
- DSWA 0xc0 (Cabinet): 0xc0 (Upright 1 Player)

DSWB: offset 0x2B, repeat every 0x7C, typical value 0xFF
- DSWB 0x07, (Difficulty): 0x07 (4 (Normal))
- DSWB 0x18 ("Nando Speed"): 0x18 (Normal)
- DSWB 0x20 (Unused): 0x20 (Off)
- DSWB 0x40 (Unused): 0x40 (Off)
- DSWB 0x80 ("Stage Magic Continue"): 0x80 (Off)

DSWC: offset 0x2F, repeat every 0x7C, typical value 0xBF
- DSWC 0x03 (Lives): 0x03 (2)
- DSWC 0x0c ("Vitality"): 0x0c (3)
- DSWC 0x10 (Flip_Screen): 0x10 (Off)
- DSWC 0x20 (Demo_Sounds): 0x20 (On)
- DSWC 0x40 (Allow_Continue): 0x00 (No)
- DSWC 0x80 ("Game Mode"): 0x80 ("Game")

Code:
00000020  00 00 00 ff 00 00 00>ff< 00 00 00>ff<00 00 00>bf< |................|
000000a0 00 00 00>ff<00 00 00>ff< 00 00 00>bf<00 00 ff ff |................|
00000110 00 00 00 00 3e 82 43 e1 00 00 00 ff 00 00 00>ff< |....>.C.........|
00000120 00 00 00>ff<00 00 00>bf< 00 00 ff ff 00 00 00 00 |................|

wilytowr

ROM set changed: no
0.106-0.201: wilytowr - "Wily Tower"

From MAMEINFO.DAT:
- 0.123u6: Machone and RansAckeR added DIP locations for atomboy/wilytowr. Fixed coin modes. Added dipswitches 'Bonus Points Rate', 'Coin A/B' and 2x 'Unused'.

Resolution, 0.106-0.201: 256x224 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wily-tower/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=10044

NOTE: two "Unknown" DIPs were consolidated into "Bonus Points Rate" at 0.123u6, with the translated rule-compliant value of "Normal". Thankfully, this is default.

winspike

ROM set changed: no
0.106-0.255: winspike - "Winning Spike (ver EAA)"

MAME History:
- 0.125u6: KonamiGX frequency tweaks [Yasuhiro Ogawa]: Set screen refresh rate to 58Hz (parameters from developer manual are not 100% correct). Removed sound CPU clock hack. Changed 68000 CPU2 clock speed to 8MHz.
- 0.125u7: GX era hardware [Yasuhiro Ogawa]: Update video parameters to use actual values written to the CCU. Changed VSync to 59.185606.

Resolution, 0.106: 384x224 @ 58.000000Hz
Resolution, 0.107-0.125: 384x224 @ 60.000000Hz
Resolution, 0.126-0.255: 288x224 @ 59.185606Hz

TG Game Entry: https://www.twingalaxies.com/game/wi...-ver-eaa/mame/
Rules, Biggest Blowout: https://www.twingalaxies.com/scores.php?scores=120641

Service Mode:
Standard Konami GX BIOS.
Has both hardware DIP switches and internal software service mode. Hardware DIP switches will reflect the local configuration after playback ends, not the recording. All other relevant rules are covered by internal settings. Service Mode is access using the Service button (F2). Navigation is with P1 Up and Down, selection with P1 Button 1.

Default Settings:
MAME 0.106 DIP Switches: |
MAME 0.250 DIP Switches: |
Internal Configuration: |

wiping

ROM set changed: no
0.106-0.250: wiping - "Wiping"

MAME History:
- 0.235: Convert to Xtal and added tentative screen raw parameters. Make custom audio to actually not divide internally by 2 (audio\wiping.cpp) [Angelo Salese]. Changed 'Wiping Custom Sound' clock speed to 48000 Hz and VSync to 60.606061 Hz.

Resolution, 0.106-0.234: 288x224 @ 60.000000Hz
Resolution, 0.235-0.250: 288x224 @ 60.606061Hz

TG Game Entry: https://www.twingalaxies.com/game/wiping/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=11879

Service Mode:
Service Mode reflects the local configuration after playback ends, not the recording. Service Mode is accessed by enabling the DIP Switch which can be toggled with the Service Mode Button (F2).

Default Settings:


From MAME 0.250 after enabling the DIP switch:

wiping on MAME 0.106

# MAME 0.106 source snippet [wiping.c]

Code:
GAME( 1983, rugrats, wiping, wiping, rugrats, 0, ROT90, "Nichibutsu", "Rug Rats", 0 )

INPUT_PORTS_START( wiping )
PORT_START /* 0 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )

PORT_START /* 1 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0xe0, IP_ACTIVE_HIGH, IPT_UNUSED )

PORT_START /* 2 */

PORT_START /* 3 */

PORT_START /* 4 */

PORT_START /* 5 */

PORT_START /* 6 */
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x05, IP_ACTIVE_LOW, IPT_COIN2 ) /* note that this changes two bits */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x20, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
PORT_SERVICE( 0x40, IP_ACTIVE_HIGH )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x00, "30000 70000" )
PORT_DIPSETTING( 0x80, "50000 150000" )

PORT_START /* 7 */
PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
PORT_DIPSETTING( 0x05, DEF_STR( 1C_5C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 1C_6C ) )
PORT_DIPSETTING( 0x07, DEF_STR( 1C_7C ) )
// PORT_DIPSETTING( 0x00, "Disable" )
PORT_DIPNAME( 0x38, 0x08, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x38, DEF_STR( 7C_1C ) )
PORT_DIPSETTING( 0x30, DEF_STR( 6C_1C ) )
PORT_DIPSETTING( 0x28, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x18, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x40, "3" )
PORT_DIPSETTING( 0x80, "4" )
PORT_DIPSETTING( 0xc0, "5" )
INPUT_PORTS_END


Resolution: 288x224 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wiping/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=11879

ROMSet: Wiping
Cabinet: Upright
Bonus Life [Koomil]: 30000 70000
Lives: 3

Sample correct TG:
PORT6: offset 0x3B, repeat every 0x7C, typical value 0x27 (affected by coin drop & 1Pstart)
- PORT6: 0x20 (Cabinet): 0x20 (Upright)
- PORT6: 0x40 (SERVICE MODE): 0x00 (Off)
- PORT6: 0x80 (Bonus_Life): 0x00 (30000 70000)
PORT7: offset 0x3F, repeat every 0x7C, typical value 0x49
- PORT7: 0x07 (Coin_B): [not relevant]
- PORT7: 0x38 (Coin_A): [not relevant]
- PORT7: 0xc0 (Lives): 0x40 (3)

Code:
    30: 00 00 00 00 00 00 00 00  00 00 00 27 00 00 00 49
B0: 00 00 00 00 00 00 00 27 00 00 00 49 00 00 00 00
130: 00 00 00 27 00 00 00 49 00 00 00 00 00 00 00 00

wits

ROM set changed: no
0.106-0.175: wits - "Wit's (Japan)"

Resolution, 0.106-0.175: 384x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores.php?platformid=46&gamename=Wit's [Japan]

wizdfire, wizdfireu, wizdfiru

Note: two ROM sets represented here with changeover at 0.131u3.

MAME History:
- 0.131u3: Irongiant added Wizard Fire (Over Sea v2.1). Renamed (wizdfire) to (wizdfiru).
- 0.133u1: Renamed (wizdfiru) to (wizdfireu) and (darksel2) to (darkseal2).
- 0.163: Porchy and The Dumping Union redumped MAS10 sound sample rom for Wizard Fire and clones at the correct size (1MB). Fixes missing sounds in clone Dark Seal 2 (Japan v2.1). David Haywood added bankswitch hack (sample banks 0/1 are used for the Japanese version and 2/3 are used for the English version).
- 0.182: Added dipswitch locations to all sets [Brian Troha].


Wizard Fire (US v1.1)
---------------------
ROM set changed: yes
0.106-0.131: wizdfire - "Wizard Fire (US v1.1)"
0.131u3-0.133: wizdfiru - "Wizard Fire (US v1.1)"
0.133u1-0.255: wizdfireu - "Wizard Fire (US v1.1)"

Resolution, 0.106-0.255: 320x240 @ 58.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wi...rsion-11/mame/
Rules, Points [Single Player Only]: https://www.twingalaxies.com/scores.php?scores=18978
Rules, Points [Two Player Team]: https://www.twingalaxies.com/scores.php?scores=120644


Wizard Fire (Over Sea v2.1)
---------------------------
Note: not currently represented on TG.
ROM set changed: no. Added in 0.131u3.
0.131u3-0.255: wizdfire - "Wizard Fire (Over Sea v2.1)"

Resolution, 0.132-0.255: 320x240 @ 58.000000Hz

Rules: [no current tracks]

Service Mode:
No service mode. The version of the hardware can be displayed by holding P1 Start button and P2 Start button while restarting the machine.

Default Settings:


Version Examples:
|

wiz

ROM set changed: no
0.106-0.175: wiz - "Wiz"

Resolution, 0.106-0.175: 256x224 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....6&gamename=Wiz

wizwarz

ROM set changed: no
0.106-0.260: wizwarz - "Wiz Warz (prototype)"

MAME History:
- 0.125u3: Added dipswitches 'SW5', 'SW7' and 'SW8'.
- 0.126u2: Added includes\gottlieb.h. Began Gottlieb driver cleanup [Aaron Giles]: Converted palette calculations to resistor weights. Correct video timing. Reduced the number of separate machine drivers. Fixed incorrect spriteram sizes. Populated full memory maps for the main CPU and the rev 1 sound board. More to come. Changed the 6532 RIOT device into a proper device. Rewrote the logic to be simpler and leverage the new attotime functions. Changed the I/O port setters to specify a mask, and changed the I/O port callbacks to pass in the previous value. Converted audio\gottlieb.c to use the new RIOT implementation instead of rolling their own. Changed VSync to 61.419025 Hz. Added dipswitches 'Sound Test' and 6x 'Unknown'.
- 0.126u4: Fixed audio rom address to $d000. Added dipswitches 'Sound Test' and 2x 'Unknown'.
- 0.143u8: Various Gottlieb driver fixes [Tafoid]: Verified through playtesting, manuals and in-game service modes all DIPs in the driver. Consolidated and added DIP locations based on all available information.

Resolution, 0.106-0.126: 256x240 @ 61.000000Hz
Resolution, 0.127-0.260: 256x240 @ 61.419025Hz

TG Game Entry: https://www.twingalaxies.com/scores.p...6&gamename=Wiz Warz [prototype]

Service Mode:
Typical Gottlieb hardware.
Service Mode reflects the local configuration after playback ends, not the recording. Service Mode is accessed by enabling the DIP Switch. Navigation is with quick-release use of the Service Select (F1) button, selection is with long-hold of the Service Select button. The Service Select button is used to exit options and return to the next option highlighted on the main menu, thus the full set of Service Mode options can be visited with repeated use of long-hold Service Select only.

Default Settings:
MAME 0.106:
MAME 0.126:
MAME 0.127:
MAME 0.144:
MAME 0.250:

From MAME 0.250 after entering service mode:

wjammers

ROM set changed: no
0.106-0.260: wjammers - "Windjammers / Flying Power Disc"

MAME History:
- 0.113u2: Zsolt Vasvari updated NeoGeo driver to the new video timing code and screen raw parameters, this fixes also the messed up graphics. Changed VSync to 59.185606 Hz.
- 0.129u3: Fabio Priuli added missing HARDDIP settings in 'STANDARD_DIPS' for DIP's 4,5 and 6 ("COMM Setting"). Added dipswitches 'COMM Setting (Cabinet No.)' and 'COMM Setting (Link Enable)'.
- 0.150: Endian fix for kof2003 protection (machine\neocrypt.c and neoprot.c). Fixed NeoGeo memory leak, clean up inputs a bit [Alex Jackson]. Changed 'Test Switch' dipswitch to 'Service Mode'.
- 0.151: [- snip -] [Alex Jackson]. Added coin slots 3 and 4. Added dipswitches 'Setting Mode', 'Cabinet' and 'Controller'.

Resolution, 0.106-0.113: 320x224 @ 59.185608Hz
Resolution, 0.114-0.260: 320x224 @ 59.185606Hz

TG Game Entry: https://www.twingalaxies.com/game/wi...wer-disc/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=15445

Service Mode:
Standard SNK NeoGeo BIOS.
All relevant rules are covered by internal settings. If not shown during playback, use F2 to access after playback completed. Navigation is with P1 Up & Down. Select menu option with P1 Button 1 and sub-menus can be exited with P1 Button 3. P1 Button 1 and P1 Button 2 adjust individual configuration options.

Default Settings:
MAME 0.106 DIP Switches:
MAME 0.130 DIP Switches:
MAME 0.150 DIP Switches:
MAME 0.151 DIP Switches:
MAME 0.250 DIP Switches: |
MAME 0.250 BIOS:
Cartridge:

wmatch

ROM set changed: no
0.106-0.113: wmatch - "Water Match"
0.114-0.175: wmatch - "Water Match (315-5064)"

Resolution, 0.106-0.130: 240x224 @ 60.000000Hz
Resolution, 0.131-0.144: 240x224 @ 60.096154Hz
Resolution, 0.145-0.175: 479x224 @ 60.096154Hz

TG Game Entry: https://www.twingalaxies.com/scores....gamename=Water Match

wndrmomo

ROM set changed: no
0.106-0.175: wndrmomo - "Wonder Momo"

Resolution, 0.106-0.152: 288x224 @ 60.606060Hz
Resolution, 0.153-0.175: 288x224 @ 60.606061Hz

TG Game Entry: https://www.twingalaxies.com/scores....amename=Wonder Momo

wndrplnt

ROM set changed: no
0.106-0.175: wndrplnt - "Wonder Planet (Japan)"

Resolution, 0.106-0.175: 256x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....amename=Wonder Planet [Japan]

wofr1, wof

Note: two ROM sets represented here with changeover at 0.144u3.

MAME History:
- 0.121: Vas Crabb updated the DIP locations for all games in the CPS-1 driver.
- 0.144u3: boredstu added Warriors of Fate (World 921031). Team CPS-1 fixed wofch to use proper EPROM TK2(CH)_07.9A since the previous dump was found to be bad. Kold666 fixed wof, wofa, wofj and wofch ROMs labels and locations, added Q-Sound PALs and PCB infos. Renamed (wof) to (wofr1).
- 0.147u1: Changed CPS-1 video timings to SCREEN_RAW_PARAMS [Angelo Salese]. Changed VSync to 59.629403 Hz.
- 0.148u5: Andrew Gardner added QSound internal DSP ROM to the device. Added DSP16 (4MHz) CPU3. Sonikos fixed 'Difficulty' dipswitch which has in the tab menu values from 1 (easiest) to 8 (hardest) but in the game's menu it's from 0 to 7.
- 0.153: Cleanup (includes\cps1.h) [Osso]. Willow, Strider and Ghouls'n Ghosts have some changed factory setting defaults as stated from manual. Also noted differences in bonus live coverage where applicable [Tafoid]. Cleanup QSound. No practical changes here except that i removed support for LOG_WAVE raw sound filewriting. Updated soundstream before writing (tsk). Reg 3 is key on. Small fix to sample start and loop. Guru measured qsound music timing. Modified CPS1 video params [hap]. Eliminate pointless planar-to-chunky conversion of gfx ROMs, just decode them as-is [Alex Jackson]. Changed VSync to 59.637405 Hz.


Warriors of Fate (World 921002)
-------------------------------
ROM set changed: yes
0.106-0.144: wof - "Warriors of Fate (World 921002)"
0.145-0.260: wofr1 - "Warriors of Fate (World 921002)"

Resolution, 0.106-0.126: 384x224 @ 60.000000Hz
Resolution, 0.127-0.147: 384x224 @ 59.610000Hz
Resolution, 0.148-0.152: 384x224 @ 59.629403Hz
Resolution, 0.153-0.260: 384x224 @ 59.637405Hz

TG Game Entry: https://www.twingalaxies.com/game/wa...d-921002/mame/
Rules, Points [Single Player Only]: https://www.twingalaxies.com/scores.php?scores=14475
Rules, Points [Two Player Team]: https://www.twingalaxies.com/scores.php?scores=14476
Rules, Points [Three Player Team]: https://www.twingalaxies.com/scores.php?scores=14477


Warriors of Fate (World 921031)
-------------------------------
Note: not currently represented on TG.
ROM set changed: no. Added in 0.144u3.
0.145-0.260: wof - "Warriors of Fate (World 921031)"

Resolution, 0.145-0.147: 384x224 @ 59.610000Hz
Resolution, 0.148-0.152: 384x224 @ 59.629403Hz
Resolution, 0.153-0.260: 384x224 @ 59.637405Hz

Rules: [no current tracks]


Service Mode:
Atypical Capcom CPS-1 BIOS.
There are both hardware DIP switches & internal settings. Hardware DIP switches will reflect local configuration after playback, not the recording. Other relevant rules are covered by internal settings. If not shown during playback, use Service Mode to access after playback completed. Service Mode is accessed using the Game Mode DIP switch or the Service button (F2) which toggles the DIP switch. Navigation is with P1 Up and P1 Down, selection with P1 Button 1.

Default Settings:
MAME 0.106:
World 921002:
MAME 0.121:
World 921002:
MAME 0.149:
World 921002: | World 921031:
MAME 0.250:
World 921002: | World 921031:
Internal Settings:
World 921002: | World 921031:

wolfpack

ROM set changed: no
0.106-0.175: wolfpack - "Wolf Pack (prototype)"

Resolution, 0.106-0.175: 512x224 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....&gamename=Wolf Pack [prototype]

wolfpack on MAME 0.106

# MAME 0.106 source snippet

Code:
INPUT_PORTS_START( wolfpack )

PORT_START
PORT_BIT ( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) /* dial connects here */
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_SERVICE( 0x10, IP_ACTIVE_HIGH )
PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )

PORT_START
PORT_DIPNAME( 0x03, 0x01, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) )
PORT_DIPNAME( 0x04, 0x00, "Extended Play" )
PORT_DIPSETTING( 0x04, DEF_STR( No ) )
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
PORT_DIPNAME( 0x18, 0x08, "Play Time" )
PORT_DIPSETTING( 0x00, "65 seconds" )
PORT_DIPSETTING( 0x08, "97 seconds" )
PORT_DIPSETTING( 0x10, "130 seconds" )
PORT_DIPSETTING( 0x18, "160 seconds" )
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) /* demo sound? */
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0xc0, 0x80, "Score for Extended Play" )
PORT_DIPSETTING( 0x00, "8000" )
PORT_DIPSETTING( 0x40, "12000" )
PORT_DIPSETTING( 0x80, "16000" )
PORT_DIPSETTING( 0xc0, "20000" )

PORT_START
PORT_BIT( 0xff, 0x80, IPT_DIAL ) PORT_MINMAX(0,255) PORT_SENSITIVITY(30) PORT_KEYDELTA(5)
INPUT_PORTS_END


Resolution: 512x224 @ 60Hz

Rules: https://www.twingalaxies.com/scores.php?scores=18985
ROMSet: WolfPack
Service Mode: Off
Extended play: Yes
Play time: 97 Seconds
Unknown: On
Score For Extended Play: 16000

Sample correct TG:
Dips: offset 0x27, repeat every 0x7C, typical value 0x89
- Dips: 0x03 (Coinage): [not relevant]
- Dips: 0x04 (Extended Play): 0x00 (Yes)
- Dips: 0x18 (Play Time): 0x08 (97 seconds)
- Dips: 0x20 (Unknown): 0x00 (On)
- Dips: 0xc0 (Score for Extended Play): 0x80 (16000)
Code:
    20: 00 00 00 CC 00 00 00 89  00 00 00 80 00 00 00 00 | ...Š............
A0: 00 00 00 89 00 00 00 80 00 00 00 00 00 00 00 00 | ................
120: 00 00 00 80 00 00 00 80 00 00 00 CC 00 00 00 89 | ...........Š....

woodpeck

ROM set changed: yes
0.106-0.132: woodpek - "Woodpecker (set 1)"
0.132u4-0.175: woodpeck - "Woodpecker (set 1)"

MAME History:
- 0.132u4: Guru redumped clone Woodpecker (set 2). Added missing maincpu rom ($8000) - Game now playable. Renamed (woodpek) to (woodpeck) and (woodpeka) to (woodpeca).

Resolution, 0.106-0.113: 288x224 @ 60.606060Hz
Resolution, 0.114-0.175: 288x224 @ 60.606061Hz


TG Game Entry: https://www.twingalaxies.com/scores....ame=Woodpecker [set 1]

woodpek

ROM set changed: yes
0.106-0.132: woodpek - "Woodpecker (set 1)"
0.132u4-0.175: woodpeck - "Woodpecker (set 1)"

MAME History:
- 0.132u4: Guru redumped clone Woodpecker (set 2). Added missing maincpu rom ($8000) - Game now playable. Renamed (woodpek) to (woodpeck) and (woodpeka) to (woodpeca).

Resolution, 0.106-0.113: 288x224 @ 60.606060Hz
Resolution, 0.114-0.175: 288x224 @ 60.606061Hz


TG Game Entry: https://www.twingalaxies.com/scores....ame=Woodpecker [set 1]

wotw

ROM set changed: no
0.106-0.255: wotw - "War of the Worlds"

Resolution, 0.106-0.175: vector @ 38.000000Hz
Resolution, 0.194-0.255: vector @ 38.000107Hz

TG Game Entry: https://www.twingalaxies.com/scores.p...6&gamename=War of the Worlds

Service Mode:
Typical Cinematronics Vector hardware.
Service Mode is accessed using the Service Mode button (F2) and displays a static test screen only.

Default Settings:
MAME 0.106:
MAME 0.255:

wow

ROM set changed: no
0.106-0.260: wow - "Wizard of Wor"

MAME History:
- 0.115u1: Changed Z80 CPU and 2x Astrocade clock speeds to 1789772 Hz, palettesize to 512 colors and VSync to 60.054442 Hz.
- 0.115u2: Aaron Giles correct speaker locations and placement for Wizard of Wor. Added missing mux to Gorf's audio, which controls speech versus sound effects during the game. Added 3rd sound channel and changed visible area to 352x240.
- 0.123u3: RansAckeR added DIP locations and improved dipwitches in Wizard of Wor.

Resolution, 0.106-0.115: 320x204 @ 60.000000Hz
Resolution, 0.116-0.260: 352x240 @ 60.054442Hz

TG Game Entry: https://www.twingalaxies.com/game/wizard-of-wor/mame/
Rules, Points [Single Player Only, 3 Lives]: https://www.twingalaxies.com/scores.php?scores=7895
Rules, Points [Single Player Only, 7 Lives]: https://www.twingalaxies.com/scores.php?scores=7896
Rules, Points [Two Player Team, 3 Lives Each]: https://www.twingalaxies.com/scores.php?scores=7897
Rules, Points [Two Player Team, 7 Lives Each]: https://www.twingalaxies.com/scores.php?scores=7898

Service Mode:
Typical Bally Astrocade hardware.
DIP configuration reflects the local configuration after playback ends, not the recording. Service Mode appears to only act only as a freeze mechanism. - Barthax, Nov 2023.

Default Settings:
MAME 0.106:
MAME 0.123:
MAME 0.250:

wow on MAME 0.106

# MAME 0.106 source snippet

Code:
GAME( 1980, wow,      0,    wow,      wow,      wow,      ROT0,   "Midway", "Wizard of Wor", GAME_SUPPORTS_SAVE )

INPUT_PORTS_START( wow )
PORT_START_TAG("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_SERVICE( 0x08, IP_ACTIVE_LOW )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )

PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START_TAG("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* speech status */

PORT_START_TAG("DSW")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) )
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x06, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Language ) )
PORT_DIPSETTING( 0x08, DEF_STR( English ) )
PORT_DIPSETTING( 0x00, "Foreign (NEED ROM)" )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x10, "2 for 1 Credit / 5 for 2 Credits" )
PORT_DIPSETTING( 0x00, "3 for 1 Credit / 7 for 2 Credits" )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x20, "3rd Level" )
PORT_DIPSETTING( 0x00, "4th Level" )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Free_Play ) )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x00, "On only when controls are touched" )
PORT_DIPSETTING( 0x80, "Always On" )
INPUT_PORTS_END


Resolution: 320x204 @ 60.000000Hz

Rules, Points [Single Player Only, 3 Lives]: https://www.twingalaxies.com/scores.php?scores=7895
Rules, Points [Single Player Only, 7 Lives]: https://www.twingalaxies.com/scores.php?scores=7896
Rules, Points [Two Player Team, 3 Lives Each]: https://www.twingalaxies.com/scores.php?scores=7897
Rules, Points [Two Player Team, 7 Lives Each]: https://www.twingalaxies.com/scores.php?scores=7898

ROMSet: WOW
Service Mode: Off
Flip Screen: Off
Language: English
Lives: 3 for 1 Credit / 7 for 2 Credits
Bonus Life: 3rd Level
Free Play: Off
Demo Sounds: Always On

Sample correct TG:
IN0: offset 0x23, repeat every 0x7C, typical value 0xFF, will change at coin drop & 1P/2P start
- IN0: 0x80 (Flip_Screen): 0x80 (Off)
DSW: offset 0x2F, repeat every 0x7C, typical value 0xEF
- DSW: 0x01 (Coin_A): [not relevant]
- DSW: 0x06 (Coin_B): [not relevant]
- DSW: 0x08 (Language): 0x08 (English)
- DSW: 0x10 (Lives): 0x00 (3 for 1 Credit / 7 for 2 Credits)
- DSW: 0x20 (Bonus_Life): 0x20 (3rd Level)
- DSW: 0x40 (Free_Play): 0x40 (Off)
- DSW: 0x80 (Demo_Sounds): 0x80 (Always On)

Code:
    20: 00 00 00 FF 00 00 00 EF  00 00 00 6F 00 00 00 EF
90: 00 00 00 00 00 00 00 00 3E 82 43 E1 00 00 00 FF
A0: 00 00 00 EF 00 00 00 6F 00 00 00 EF 00 00 00 00
110: 00 00 00 00 3E 82 43 E1 00 00 00 FF 00 00 00 EF
120: 00 00 00 6F 00 00 00 EF 00 00 00 00 00 00 00 00

wrecking

ROM set changed: no
0.106-0.175: wrecking - "Vs. Wrecking Crew"

Resolution, 0.106: 512x240 @ 60.000000Hz
Resolution, 0.107-0.175: 2 screens, each 256x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....46&gamename=Vs. Wrecking Crew

wrestwar

ROM set changed: no
0.106-0.165: wrestwar - "Wrestle War (set 3, World, 8751 317-0103)"
0.166-0.175: wrestwar - "Wrestle War (set 3, World) (8751 317-0103)"

Resolution, 0.106-0.114: 320x224 @ 60.000000Hz
Resolution, 0.115-0.116: 321x224 @ 60.054389Hz
Resolution, 0.117-0.175: 320x224 @ 60.054389Hz

TG Game Entry: https://www.twingalaxies.com/scores....mename=Wrestle War [set 3, World, 8751 317-0103]

wrofaero

ROM set changed: no
0.106-0.175: wrofaero - "War of Aero - Project MEIOU"

Resolution, 0.106-0.175: 384x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....6&gamename=War of Aero - Project MEIOU

wseries

ROM set changed: no
0.106-0.190: wseries - "World Series: The Season"
0.191-0.194: wseries - "World Series: The Season (rev 1)"

Resolution, 0.106-0.194: 320x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/world-s...he-season/mame
Rules, Biggest Blowout: https://www.twingalaxies.com/scores.php?scores=120653

wsf3, wsf

Note: two ROM sets represented here with changeover at 0.198.

MAME History:
- 0.195: Changed description to 'World Soccer Finals (rev 3)'.
- 0.198: Kevin Eshbach and The Dumping Union added World Soccer Finals (rev 4). Renamed (wsf) to (wsf3).


World Soccer Finals (rev 3)
---------------------------
ROM set changed: yes
0.106-0.194: wsf - "World Soccer Finals"
0.195-0.197: wsf - "World Soccer Finals (rev 3)"
0.198-0.255: wsf3 - "World Soccer Finals (rev 3)"

Resolution, 0.106-0.255: 320x240 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/game/wo...r-finals/mame/
Rules, Biggest Blowout: https://www.twingalaxies.com/scores.php?scores=120654
Rules, Highest Salary: https://www.twingalaxies.com/scores.php?scores=131663


World Soccer Finals (rev 4)
---------------------------
Note: not currently represented on TG.
ROM set changed: no. Added in 0.198.
0.198-0.255: wsf - "World Soccer Finals (rev 4)"

Resolution, 0.198-0.255: 320x240 @ 60.000000Hz

Rules: [no current tracks]

wsf on MAME 0.106

# MAME 0.106 source snippet

Code:
INPUT_PORTS_START( wsf )
PORT_START /* 0xF6 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4)

PORT_START /* 0xF7 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SLAVEHALT )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_VBLANK )
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_START /* 0x20 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_EEPROM_DATA )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW )
PORT_BIT( 0xf8, IP_ACTIVE_LOW, IPT_UNUSED )

PORT_START /* 0x0D */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1)

PORT_START /* 0x0E */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3)

PORT_START /* 0x0F */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START3 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START4 )
INPUT_PORTS_END


/* Helps document the input ports. */
#define IPT_SLAVEHALT IPT_SPECIAL
#define IPT_EEPROM_DATA IPT_SPECIAL

Resolution: 320x240 @ 60Hz

Rules, Biggest Blowout: https://www.twingalaxies.com/scores.php?scores=120654
Rules, Highest Salary: https://www.twingalaxies.com/scores.php?scores=131663
ROMSet: WSF

Internal Defaults
-----------------
No Extra Play
Difficulty Level:5
Playing Time Per Credit: 2:30
Bonus Time Per Goal: 10
Bonus Time in Min/Secs: 0:10
One Match For One Credit: Yes
Free Match For Winner: Yes

Sample correct TG:
All internal: use F2 after playback if the player doesn't show them.

ws

ROM set changed: no
0.106-0.175: ws - "World Stadium (Japan)"

Resolution, 0.106-0.152: 288x224 @ 60.606060Hz
Resolution, 0.153-0.175: 288x224 @ 60.606061Hz

TG Game Entry: https://www.twingalaxies.com/scores....gamename=World Stadium [Japan]

ws on MAME 0.106

# MAME 0.106 source snippet

Uses standard NS1 inputs:
Code:
GAME( 1988, ws,       0,        ns1,     ns1,      ws,       ROT180, "Namco", "World Stadium (Japan)", 0 )

/* Standard Namco System 1 input port definition */
INPUT_PORTS_START( ns1 )
PORT_START_TAG( "CONTROL0" )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 )

PORT_START_TAG( "CONTROL1" )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )

PORT_START_TAG( "DIPSW" )
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )

PORT_START_TAG( "COIN" )
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* OUT:coin lockout */
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* OUT:coin counter 1 */
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* OUT:coin counter 2 */
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Service Button") PORT_CODE(KEYCODE_F1) // service switch from the edge connector
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_END


Resolution: 288x224 @ 60.606060Hz

Rules: https://www.twingalaxies.com/scores.php?scores=120655
ROMSet: WS
Service Mode: Off
Unknown: Off [All]
Internal Defaults
-----------------Type: B
Flip: Off
Innings: A 1P:3, 2P:2 / 12MIN
Gameset: A

Internal defaults are accessed by a combination of Service Mode (F2) then Service button (9). Navigation is performed with joystick (left/right change values).

Sample correct TG:
DIPSW: offset 0x2B, repeat every 0x7C, typical value 0xFF
- DIPSW: 0x80 (unused): [not relevant]
- DIPSW: 0x40 (Unknown): 0x40 (Off)
- DIPSW: 0x20 (Unknown): 0x20 (Off)
- DIPSW: 0x10 (Unknown): 0x10 (Off)
- DIPSW: 0x08 (Unknown): 0x08 (Off)
- DIPSW: 0x04 (Unknown): 0x04 (Off)
- DIPSW: 0x02 (Unknown): 0x02 (Off)
- DIPSW: 0x01 (Unknown): 0x01 (Off)

Code:
    20: 00 00 00 FF 00 00 00 FF  00 00 00 FF 00 00 00 F8 | ... ... ... ...°
A0: 00 00 00 FF 00 00 00 FF 00 00 00 F8 00 00 00 00 | ... ... ...°....
120: 00 00 00 FF 00 00 00 F8 00 00 00 00 00 00 00 00 | ... ...°........

wtennis

ROM set changed: no
0.106-0.193: wtennis - "World Tennis"

Resolution, 0.106-0.128: 256x240 @ 57.000000Hz
Resolution, 0.129-0.193: 240x240 @ 57.444853Hz

TG Game Entry: https://www.twingalaxies.com/world-tennis/mame/
Rules, Points: https://www.twingalaxies.com/scores.php?scores=120656

wtennis on MAME 0.106

# MAME 0.106 source snippet

Code:
INPUT_PORTS_START( wtennis )
PORT_START_TAG("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START_TAG("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
PORT_BIT( 0xe0, IP_ACTIVE_LOW, IPT_UNKNOWN )

PORT_START_TAG("IN2")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )

PORT_START_TAG("DSW1")
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x03, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x40, DEF_STR( Cocktail ) )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )

PORT_START_TAG("DSW2")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x01, "2" )
PORT_DIPSETTING( 0x00, "3" )
PORT_DIPNAME( 0x06, 0x06, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x06, "10000" )
PORT_DIPSETTING( 0x04, "20000" )
PORT_DIPSETTING( 0x02, "30000" )
PORT_DIPSETTING( 0x00, DEF_STR( None ) )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) /* definitely used */
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) /* These 3 switches */
PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) /* have to do with */
PORT_DIPSETTING( 0x20, DEF_STR( On ) ) /* coinage. */
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END


Rules: https://www.twingalaxies.com/scores.php?scores=120656
ROMSet: WTennis
Unknown: Off [All]
Cabinet: Upright
Lives: 2
Bonus Life: 10000
Unused: Off

Sample correct TG:
DSW1: offset 0x2F, repeats every 0x7C, value 0x0F typical, upper nibble should be 0x0 or 0x8
- DSW1: 0x03 (Coin B): [not relevant]
- DSW1: 0x0c (Coin A): [not relevant]
- DSW1: 0x10 (Unknown): 0x00 (Off)
- DSW1: 0x20 (Unknown): 0x00 (Off)
- DSW1: 0x40 (Unknown): 0x00 (Upright)
- DSW1: 0x80 (unused): 0x00 to start can be 0x80
DSW2: offset 0x33, repeats every 0x7C, value 0x07 typical
- DSW2: 0x01 (Lives): 0x01 (2)
- DSW2: 0x06 (Bonus_Life): 0x06 (10000)
- DSW2: 0x08 (Unknown): 0x00 (Off)
- DSW2: 0x10 (Unused): 0x00 (Off)
- DSW2: 0x20 (Unknown): 0x00 (Off)
- DSW2: 0x40 (Unknown): 0x00 (Off)
- DSW2: 0x80 (Unknown): 0x00 (Off)

Code:
    20: 00 00 00 FF 00 00 00 FF  00 00 00 C3 00 00 00 0F | ... ... ...+....
30: 00 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 | ................
A0: 00 00 00 FF 00 00 00 C3 00 00 00 0F 00 00 00 07 | ... ...+........
120: 00 00 00 C3 00 00 00 8F 00 00 00 07 00 00 00 00 | ...+............

wwestern

ROM set changed: no
0.106-0.175: wwestern - "Wild Western (set 1)"

Resolution, 0.106-0.175: 256x224 @ 60.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....&gamename=Wild Western [set 1]

wwfmania

ROM set changed: no
0.106-0.175: wwfmania - "WWF: Wrestlemania (rev 1.30 08/10/95)"

Resolution, 0.106-0.113: 400x254 @ 53.204948Hz
Resolution, 0.114: 400x254 @ 53.204950Hz
Resolution, 0.115-0.154: 399x253 @ 54.815170Hz
Resolution, 0.155-0.175: 400x254 @ 54.706840Hz

TG Game Entry: https://www.twingalaxies.com/scores....&gamename=WWF: Wrestlemania [rev 1.30 08/10/95]

wwfsstar

ROM set changed: no
0.106-0.175: wwfsstar - "WWF Superstars (Europe)"

Resolution, 0.106-0.113: 256x240 @ 57.439999Hz
Resolution, 0.114-0.128: 256x240 @ 57.440000Hz
Resolution, 0.129-0.175: 256x240 @ 57.444853Hz

TG Game Entry: https://www.twingalaxies.com/scores....6&gamename=WWF Superstars [Europe]

wwfwfest

Note: two ROM sets represented here with changeover at 0.180

MAME History:
- 0.180: Correct rom labels as per recent redump. Reorder parent / clone for WWF Wrestlefest [Brian Troha]. Changed clone (US Tecmo) to parent 'WWF WrestleFest (World)' and (US set 1) to clone 'WWF WrestleFest (US)'. Renamed (wwfwfest) to (wwfwfestu) and (wwfwfesta) to (wwfwfest).

WWF WrestleFest (US)
--------------------
ROM set changed: YES
0.106-0.179: wwfwfest - "WWF WrestleFest (US set 1)"
0.180- : wwfwfestu - "WWF WrestleFest (US)"

Resolution, 0.106-0.128: 320x240 @ 60.000000Hz
Resolution, 0.129-0.180: 320x240 @ 57.444853Hz

TG Game Entry: https://www.twingalaxies.com/scores....%5BUS+Set+1%5D
Rules, Royal Rumble [Most Opponents Beaten]: https://www.twingalaxies.com/scores.php?scores=87361
Rules, Saturday Night's Main Event [Stage Reached]: https://www.twingalaxies.com/scores.php?scores=87359


WWF WrestleFest (World)
-----------------------
Note: not currently represented on TG.

ROM set changed: YES.
0.106-0.133: wwfwfsta - "WWF WrestleFest (US Tecmo)"
0.133u1-0.179: wwfwfesta - "WWF WrestleFest (US Tecmo)"
0.180- : wwfwfest - "WWF WrestleFest (World)"

Resolution, 0.106-0.128: 320x240 @ 60.000000Hz
Resolution, 0.129-0.180: 320x240 @ 57.444853Hz

Rules: [no current tracks]

wwfwfestu

ROM set changed: YES
0.106-0.179: wwfwfest - "WWF WrestleFest (US set 1)"
0.180- : wwfwfestu - "WWF WrestleFest (US)"

MAME History:
- 0.180: Correct rom labels as per recent redump. Reorder parent / clone for WWF Wrestlefest [Brian Troha]. Changed clone (US Tecmo) to parent 'WWF WrestleFest (World)' and (US set 1) to clone 'WWF WrestleFest (US)'. Renamed (wwfwfest) to (wwfwfestu) and (wwfwfesta) to (wwfwfest).

Resolution, 0.106-0.128: 320x240 @ 60.000000Hz
Resolution, 0.129-0.180: 320x240 @ 57.444853Hz

TG Game Entry: https://www.twingalaxies.com/scores....%5BUS+Set+1%5D
Rules, Royal Rumble [Most Opponents Beaten]: https://www.twingalaxies.com/scores.php?scores=87361
Rules, Saturday Night's Main Event [Stage Reached]: https://www.twingalaxies.com/scores.php?scores=87359

wwjgtin

ROM set changed: no
0.106-0.175: wwjgtin - "Wai Wai Jockey Gate-In!"

Resolution, 0.106-0.122: 240x224 @ 60.000000Hz
Resolution, 0.123-0.175: 240x224 @ 57.000000Hz

TG Game Entry: https://www.twingalaxies.com/scores....6&gamename=Wai Wai Jockey Gate-in!
Join us