Previous 199869 Revisions Next

r18155 Wednesday 26th September, 2012 at 10:55:03 UTC by hap
added some diplocations + fixed carnivalh/carnivalha too fast game speed + did minor cleanups to input ports
[src/mame/drivers]vicdual.c

trunk/src/mame/drivers/vicdual.c
r18154r18155
4343          The timing is implemented according to the schematics, but
4444          who knows...
4545        * DIP switches need verifying in most of the games
46        * DIP switch locations need to be added to most of the games
46        * DIP switch locations need to be added to some
4747
4848****************************************************************************/
4949
r18154r18155
102102}
103103
104104
105#define PORT_COIN                           \
106   PORT_START(COIN_PORT_TAG)               \
105#define PORT_COIN                              \
106   PORT_START(COIN_PORT_TAG)                     \
107107   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vicdual_state,coin_changed, NULL) \
108108   PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED )
109109
r18154r18155
174174
175175
176176#define PORT_CABINET_COLOR_OR_BW                  \
177   PORT_START(COLOR_BW_PORT_TAG)               \
177   PORT_START(COLOR_BW_PORT_TAG)                  \
178178   PORT_CONFNAME( 0x01, 0x00, DEF_STR( Cabinet ) )      \
179179   PORT_CONFSETTING(    0x00, "Color" )            \
180180   PORT_CONFSETTING(    0x01, "Black and White" )      \
r18154r18155
267267   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
268268   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 )
269269   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
270   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
270   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
271271   PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) )
272272   PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) )
273273   PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
r18154r18155
347347
348348static INPUT_PORTS_START( safari )
349349   PORT_START("IN0")
350   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
351   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
350   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_8WAY
351   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_8WAY
352352   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
353   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
353   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
354354   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Aim Up") PORT_CODE(KEYCODE_A)
355355   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Aim Down") PORT_CODE(KEYCODE_Z)
356356   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
r18154r18155
429429static INPUT_PORTS_START( frogs )
430430   PORT_START("IN0")
431431   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY   /* The original joystick was a 3-way */
432   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY   /* stick, of which Mame's 4-way does */
433   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY   /* a fine simulation */
434   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
432   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_4WAY   /* stick, of which Mame's 4-way does */
433   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_4WAY   /* a fine simulation */
434   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )   PORT_DIPLOCATION("DOOR:1") // 1 switch located on the inside of the coin door
435435   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
436436   PORT_DIPSETTING(    0x08, DEF_STR( On ) )
437   PORT_DIPNAME( 0x10, 0x10, "Allow Free Game" )
437   
438   // There is no dipswitch: on a physical level, these settings are applied by grounding
439   // otherwise floating pins (ground wires are provided on pin 1/30)
440   PORT_DIPNAME( 0x10, 0x10, "Allow Free Game" )      PORT_DIPLOCATION("PIN:5") // 26
438441   PORT_DIPSETTING(    0x00, DEF_STR( No ) )
439442   PORT_DIPSETTING(    0x10, DEF_STR( Yes ) )
440   PORT_DIPNAME( 0x20, 0x20, "Time" )
443   PORT_DIPNAME( 0x20, 0x20, "Time" )               PORT_DIPLOCATION("PIN:4") // 27
441444   PORT_DIPSETTING(    0x00, "60" )
442445   PORT_DIPSETTING(    0x20, "90" )
443   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) )
446   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Coinage ) )      PORT_DIPLOCATION("PIN:3") // 28
444447   PORT_DIPSETTING(    0x00, DEF_STR( 2C_1C ) )
445448   PORT_DIPSETTING(    0x40, DEF_STR( 1C_1C ) )
446449   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 )
r18154r18155
568571   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
569572   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
570573   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
571   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
572   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
573   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
574   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_4WAY
575   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_4WAY
576   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_4WAY
574577
575578   PORT_START("IN1")
576579   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL)
r18154r18155
583586INPUT_PORTS_END
584587
585588
586
587
588589static INPUT_PORTS_START( supcrash )
589590   PORT_START("IN0")
590591   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
591   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP) PORT_4WAY
592   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
592   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_4WAY
593   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_4WAY
593594   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
594    PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
595    PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
596    PORT_DIPSETTING(    0x00, DEF_STR( On ) )
597    PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
598    PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
599    PORT_DIPSETTING(    0x00, DEF_STR( On ) )
600    PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
601    PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
602    PORT_DIPSETTING(    0x00, DEF_STR( On ) )
603   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
595   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
596   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
597   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
598   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
599   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
600   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
601   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
602   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
603   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
604   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_4WAY
604605
605606   PORT_START("IN1")
606607   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
r18154r18155
616617INPUT_PORTS_END
617618
618619
620static INPUT_PORTS_START( carnivalh )
621   PORT_START("IN0")
622   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 )
623   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // IPT_START2, but not implemented in game? - it goes game-over after player 1's turn
624   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
625   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
626   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
627   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
628   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_2WAY
629   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
630
631   PORT_START("IN1")
632   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
633   PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
634   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
635
636   PORT_CABINET_COLOR_OR_BW
637
638   PORT_COIN
639INPUT_PORTS_END
640
641
619642static INPUT_PORTS_START( sspaceat )
620643   PORT_START("IN0")
621644   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
r18154r18155
624647   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
625648   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
626649   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
627   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
628   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
650   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_2WAY PORT_COCKTAIL
651   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_2WAY
629652
630653   PORT_START("IN1")
631654   PORT_DIPNAME( 0x01, 0x00, "Bonus Life For Final UFO" )
r18154r18155
780803   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
781804   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
782805   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
783   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
784   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
785   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
806   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_4WAY
807   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_4WAY
808   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_4WAY
786809
787810   PORT_START("IN1")
788811   PORT_BIT( 0x07, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
r18154r18155
813836   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */
814837   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 )
815838   PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY
816   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY
817   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY
818   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY
839   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN  ) PORT_4WAY
840   PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT  ) PORT_4WAY
841   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP    ) PORT_4WAY
819842
820843   PORT_START("IN1")
821844   PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNKNOWN )   /* probably unused */
r18154r18155
844867   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
845868   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 )
846869   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
847   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
848   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
849   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
870   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_4WAY
871   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_4WAY
872   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_4WAY
850873
851874   PORT_START("IN1")
852875   PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
r18154r18155
11911214   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
11921215   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
11931216   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001)
1194   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )
1217   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )   PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
11951218   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
11961219   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
11971220   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
1198   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
1221   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   ) PORT_4WAY
11991222   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
12001223
12011224   PORT_START("IN1")
r18154r18155
12031226   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
12041227   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002)
12051228   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
1206   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1229   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
12071230   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
12081231   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
12091232
r18154r18155
12271250
12281251   PORT_COIN
12291252
1230   // SW1 @ C1, 6-pos (where are 5 & 6?)
12311253   PORT_START("FAKE_LIVES1")
12321254   PORT_DIPNAME( 0x03, 0x01, "Head On 2 Lives" )   PORT_DIPLOCATION("SW1:1,2")
12331255   PORT_DIPSETTING(    0x00, "2" )
r18154r18155
12551277   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
12561278   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
12571279   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001)
1258   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )
1280   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )   PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
12591281   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
12601282   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
12611283   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
r18154r18155
12671289   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
12681290   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002)
12691291   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
1270   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
1292   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
12711293   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
12721294   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
12731295
r18154r18155
13131335   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
13141336   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
13151337   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001)
1316   PORT_DIPNAME( 0x08, 0x00, "Head On Lives" )
1338   PORT_DIPNAME( 0x08, 0x00, "Head On Lives" )         PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
13171339   PORT_DIPSETTING(    0x00, "3" )
13181340   PORT_DIPSETTING(    0x08, "4" )
13191341   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
1320   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
1342   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   ) PORT_4WAY
13211343   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
13221344
13231345   PORT_START("IN1")
r18154r18155
13251347   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
13261348   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002)
13271349   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
1328   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1350   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
13291351   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
13301352   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
13311353
13321354   PORT_START("IN2")
13331355   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
13341356   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
1335   PORT_DIPNAME( 0x04, 0x00, "Space Attack Bonus Life" )
1357   PORT_DIPNAME( 0x04, 0x00, "Space Attack Bonus Life" )      PORT_DIPLOCATION("SW1:3")
13361358   PORT_DIPSETTING(    0x00, "10000" )
13371359   PORT_DIPSETTING(    0x04, "15000" )
13381360   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
r18154r18155
13431365   PORT_START("IN3")
13441366   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
13451367   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
1346   PORT_DIPNAME( 0x04, 0x00, "Space Attack Final UFO Bonus" )
1368   PORT_DIPNAME( 0x04, 0x00, "Space Attack Final UFO Bonus" )   PORT_DIPLOCATION("SW1:4")
13471369   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
13481370   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
13491371   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
r18154r18155
13541376   PORT_COIN
13551377
13561378   PORT_START("FAKE_LIVES1")
1357   PORT_DIPNAME( 0x03, 0x03, "Space Attack Lives" )
1379   PORT_DIPNAME( 0x03, 0x03, "Space Attack Lives" )   PORT_DIPLOCATION("SW1:1,2")
13581380   PORT_DIPSETTING(    0x03, "3" )
13591381   PORT_DIPSETTING(    0x02, "4" )
13601382   PORT_DIPSETTING(    0x01, "5" )
r18154r18155
13661388   PORT_START("IN0")
13671389   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
13681390   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
1369   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
1391   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW1:1")
13701392   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
13711393   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1372   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
1394   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
13731395   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
13741396   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
13751397   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
1376   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
1398   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   ) PORT_4WAY
13771399   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
13781400
13791401   PORT_START("IN1")
13801402   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
13811403   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
1382   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
1404   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW1:2")
13831405   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
13841406   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
13851407   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_vblank_comp, NULL)
1386   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1408   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
13871409   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
13881410   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
13891411
13901412   PORT_START("IN2")
13911413   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
13921414   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
1393   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
1415   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW1:3")
13941416   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
13951417   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
13961418   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
r18154r18155
14011423   PORT_START("IN3")
14021424   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
14031425   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
1404   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
1426   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW1:4")
14051427   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
14061428   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
14071429   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
r18154r18155
14171439   PORT_START("IN0")
14181440   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
14191441   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1420   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
1442   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )      PORT_DIPLOCATION("SW1:1")
14211443   PORT_DIPSETTING(    0x04, "3" )
14221444   PORT_DIPSETTING(    0x00, "4" )
1423   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )
1445   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )      PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
14241446   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
14251447   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
14261448   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
1427   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
1449   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
14281450   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
14291451
14301452   PORT_START("IN1")
14311453   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
14321454   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1433   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )   /* unknown, but used */
1455   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW1:2") // unknown, but used
14341456   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
14351457   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
14361458   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
14371459   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
1438   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
1460   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   ) PORT_8WAY
14391461   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
14401462
14411463   PORT_START("IN2")
14421464   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
14431465   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )   /* must be high for bonus life to work */
1444   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) )
1466   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) )   PORT_DIPLOCATION("SW1:3")
14451467   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
14461468   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
14471469   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
r18154r18155
14521474   PORT_START("IN3")
14531475   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
14541476   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )   /* must be high for bonus life to work */
1455   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1477   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )      PORT_DIPLOCATION("SW1:4")
14561478   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
14571479   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
14581480   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
r18154r18155
14641486INPUT_PORTS_END
14651487
14661488
1467static INPUT_PORTS_START( sptrekct )
1468   PORT_START("IN0")
1469   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL
1489static INPUT_PORTS_START( spacetrkc )
1490   PORT_INCLUDE( spacetrk )
1491
1492   PORT_MODIFY("IN0")
1493   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_8WAY PORT_COCKTAIL
14701494   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
1471   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
1472   PORT_DIPSETTING(    0x04, "3" )
1473   PORT_DIPSETTING(    0x00, "4" )
1474   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )
1475   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1476   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1477   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
1478   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
1479   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
14801495
1481   PORT_START("IN1")
1482   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL
1496   PORT_MODIFY("IN1")
1497   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_8WAY PORT_COCKTAIL
14831498   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
1484   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) /* unknown, but used */
1485   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1486   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1487   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
1488   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
1489   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
1490   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
14911499
1492   PORT_START("IN2")
1500   PORT_MODIFY("IN2")
14931501   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL
1494   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )   /* must be high for bonus life to work */
1495   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) )
1496   PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
1497   PORT_DIPSETTING(    0x04, DEF_STR( On ) )
1498   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
1499   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
1500   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
1501   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
15021502
1503   PORT_START("IN3")
1504   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL
1505   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )   /* must be high for bonus life to work */
1506   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1507   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1508   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1509   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
1510   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
1511   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
1512   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
1513
1514   PORT_COIN
1503   PORT_MODIFY("IN3")
1504   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_8WAY PORT_COCKTAIL
15151505INPUT_PORTS_END
15161506
15171507
r18154r18155
15191509   PORT_START("IN0")
15201510   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
15211511   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
1522   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1512   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )      PORT_DIPLOCATION("SW1:1")
15231513   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
15241514   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1525   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )
1515   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )      PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
15261516   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
15271517   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1528   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) )
1518   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) )   PORT_DIPLOCATION("DOOR:1") // 1 switch located on the inside of the coin door
15291519   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
15301520   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
15311521   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
r18154r18155
15341524   PORT_START("IN1")
15351525   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
15361526   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
1537   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1527   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )      PORT_DIPLOCATION("SW1:2")
15381528   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
15391529   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
15401530   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
1541   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
1531   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
15421532   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
15431533   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
15441534
15451535   PORT_START("IN2")
15461536   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
15471537   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1548   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1538   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )      PORT_DIPLOCATION("SW1:3")
15491539   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
15501540   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
15511541   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
r18154r18155
15561546   PORT_START("IN3")
15571547   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
15581548   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1559   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1549   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )      PORT_DIPLOCATION("SW1:4")
15601550   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
15611551   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
15621552   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
r18154r18155
15671557   PORT_COIN
15681558INPUT_PORTS_END
15691559
1570/* not verified */
1571static INPUT_PORTS_START( carnivalh )
1572   PORT_START("IN0")
1573   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1574   PORT_DIPSETTING(    0x00, "3" )
1575   PORT_DIPSETTING(    0x01, "4" )
1576   PORT_DIPSETTING(    0x02, "5" )
1577   PORT_DIPSETTING(    0x03, "6" )
1578   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Demo_Sounds ) )
1579   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1580   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1581   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
1582   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
1583   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
1584   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1585   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
15861560
1587   PORT_START("IN1")
1588   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL)
1589   PORT_BIT( 0x7e, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
1590   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
1561static INPUT_PORTS_START( carnivalc )
1562   PORT_INCLUDE( carnival )
15911563
1592   PORT_CABINET_COLOR_OR_BW
1593
1594   PORT_COIN
1595INPUT_PORTS_END
1596
1597
1598static INPUT_PORTS_START( carnvckt )
1599   PORT_START("IN0")
1600   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1564   PORT_MODIFY("IN0")
16011565   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
1602   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1603   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1604   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1605   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )
1606   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1607   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1608   PORT_DIPNAME( 0x10, 0x00, DEF_STR( Demo_Sounds ) )
1609   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
1610   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1611   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1612   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
16131566
1614   PORT_START("IN1")
1567   PORT_MODIFY("IN1")
16151568   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL
1616   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1617   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1618   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1619   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1620   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
1621   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
1622   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
1623   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
16241569
1625   PORT_START("IN2")
1626   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1627   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1628   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1629   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1630   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1631   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
1632   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
1633   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
1634   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
1635
1636   PORT_START("IN3")
1637   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL
1638   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1639   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1640   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1641   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1642   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
1643   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1644   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
1645   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
1646
1647   PORT_COIN
1570   PORT_MODIFY("IN3")
1571   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_2WAY PORT_COCKTAIL
16481572INPUT_PORTS_END
16491573
16501574
r18154r18155
16521576   PORT_START("IN0")
16531577   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
16541578   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
1655   PORT_DIPNAME( 0x04, 0x04, "Infinite Lives" )
1579   PORT_DIPNAME( 0x04, 0x04, "Infinite Lives (Cheat)" )   PORT_DIPLOCATION("SW1:1")
16561580   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
16571581   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1658   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1582   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )      PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
16591583   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
16601584   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
16611585   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
16621586   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_4WAY
1663   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
1664   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1665   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1666   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1667   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1668   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1587   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
16691588
16701589   PORT_START("IN1")
16711590   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
16721591   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
16731592   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001)
16741593   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_vblank_comp, NULL)
1675   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1594   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
16761595   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
16771596   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
16781597
r18154r18155
16881607   PORT_START("IN3")
16891608   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
16901609   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1691   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1610   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )      PORT_DIPLOCATION("SW1:4")
16921611   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
16931612   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
16941613   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
r18154r18155
16991618   PORT_COIN
17001619
17011620   PORT_START("FAKE_LIVES1")
1702   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1621   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )      PORT_DIPLOCATION("SW1:2,3")
17031622   PORT_DIPSETTING(    0x00, "3" )
17041623   PORT_DIPSETTING(    0x01, "4" )
17051624   PORT_DIPSETTING(    0x02, "5" )
r18154r18155
17111630   PORT_START("IN0")
17121631   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
17131632   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
1714   PORT_DIPNAME( 0x04, 0x04, "Infinite Lives" )
1633   PORT_DIPNAME( 0x04, 0x04, "Infinite Lives (Cheat)" )   PORT_DIPLOCATION("SW1:1")
17151634   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
17161635   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1717   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )
1636   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) )      PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
17181637   PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
17191638   PORT_DIPSETTING(    0x08, DEF_STR( Cocktail ) )
17201639   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
1721   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1722   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
1723   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
1724   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1725   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
1726   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
1727   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1640   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_4WAY
1641   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
17281642
17291643   PORT_START("IN1")
17301644   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
r18154r18155
17321646   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001)
17331647   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_vblank_comp, NULL)
17341648   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
1735   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
1649   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   ) PORT_4WAY
17361650   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
17371651
17381652   PORT_START("IN2")
r18154r18155
17471661   PORT_START("IN3")
17481662   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
17491663   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1750   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1664   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )      PORT_DIPLOCATION("SW1:4")
17511665   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
17521666   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
17531667   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
r18154r18155
17581672   PORT_COIN
17591673
17601674   PORT_START("FAKE_LIVES1")
1761   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
1675   PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )      PORT_DIPLOCATION("SW1:2,3")
17621676   PORT_DIPSETTING(    0x00, "3" )
17631677   PORT_DIPSETTING(    0x01, "4" )
17641678   PORT_DIPSETTING(    0x02, "5" )
r18154r18155
17711685   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
17721686   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
17731687   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001)
1774   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )
1688   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )   PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
17751689   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
17761690   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
17771691   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
1778   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
1692   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   ) PORT_4WAY
17791693   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
17801694
17811695   PORT_START("IN1")
r18154r18155
17831697   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
17841698   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002)
17851699   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
1786   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1700   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
17871701   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
17881702   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
17891703
17901704   PORT_START("IN2")
17911705   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
17921706   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
1793   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1707   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )   PORT_DIPLOCATION("SW1:3")
17941708   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
17951709   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
17961710   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
r18154r18155
18011715   PORT_START("IN3")
18021716   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
18031717   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
1804   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
1718   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )   PORT_DIPLOCATION("SW1:4")
18051719   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
18061720   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
18071721   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
r18154r18155
18121726   PORT_COIN
18131727
18141728   PORT_START("FAKE_LIVES1")
1815   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )
1729   PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) )   PORT_DIPLOCATION("SW1:1,2")
18161730   PORT_DIPSETTING(    0x00, "2" )
18171731   PORT_DIPSETTING(    0x02, "3" )
18181732   PORT_DIPSETTING(    0x01, "4" )
r18154r18155
18241738   PORT_START("IN0")
18251739   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
18261740   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
1827   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) /* bonus life? */
1741   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )   PORT_DIPLOCATION("SW1:1") // bonus life?
18281742   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
18291743   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1830   PORT_DIPNAME( 0x08, 0x00, "2 Players Mode" )
1744   PORT_DIPNAME( 0x08, 0x00, "2 Players Mode" )   PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
18311745   PORT_DIPSETTING(    0x08, "Alternating" )
18321746   PORT_DIPSETTING(    0x00, "Simultaneous" )
18331747   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
r18154r18155
18371751   PORT_START("IN1")
18381752   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
18391753   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_COCKTAIL
1840   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) /* bonus life? */
1754   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )   PORT_DIPLOCATION("SW1:2") // bonus life?
18411755   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
18421756   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
18431757   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
r18154r18155
18481762   PORT_START("IN2")
18491763   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
18501764   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )   /* has to be 0, protection? */
1851   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) /* bonus life? */
1765   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )   PORT_DIPLOCATION("SW1:3") // bonus life?
18521766   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
18531767   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
18541768   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
18551769   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
18561770   PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )   /* has to be 0, protection? */
1857   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )   /* probably unused */
1771   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
18581772
18591773   PORT_START("IN3")
18601774   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
18611775   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START2 )
1862   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )
1776   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) )   PORT_DIPLOCATION("SW1:4")
18631777   PORT_DIPSETTING(    0x00, "3" )
18641778   PORT_DIPSETTING(    0x04, "5" )
18651779   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
r18154r18155
18761790   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
18771791   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
18781792   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001)
1879   PORT_DIPNAME( 0x08, 0x00, "Head On Lives" )
1793   PORT_DIPNAME( 0x08, 0x00, "Head On Lives" )         PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
18801794   PORT_DIPSETTING(    0x00, "3" )
18811795   PORT_DIPSETTING(    0x08, "4" )
18821796   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
1883   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
1884   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1797   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   ) PORT_4WAY
1798   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
18851799
18861800   PORT_START("IN1")
18871801   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
18881802   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
18891803   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002)
18901804   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
1891   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
1805   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
18921806   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
1893   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1807   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
18941808
18951809   PORT_START("IN2")
18961810   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
18971811   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1898   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1812   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW1:3")
1813   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
1814   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
18991815   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
19001816   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
19011817   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
1902   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1818   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
19031819
19041820   PORT_START("IN3")
19051821   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
19061822   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1907   PORT_DIPNAME( 0x04, 0x00, "Alpha Fighter Unknown" )   // related to soccer frequency (code at 0x4950)
1823   PORT_DIPNAME( 0x04, 0x00, "Alpha Fighter Unknown" )   PORT_DIPLOCATION("SW1:4") // related to soccer frequency (code at 0x4950)
19081824   PORT_DIPSETTING(    0x00, DEF_STR ( Off ) )
19091825   PORT_DIPSETTING(    0x04, DEF_STR ( On ) )
19101826   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
19111827   PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Game Select") PORT_TOGGLE
19121828   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
1913   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNKNOWN )   /* probably unused */
1829   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
19141830
19151831   PORT_COIN
19161832
19171833   PORT_START("FAKE_LIVES1")
1918   PORT_DIPNAME( 0x03, 0x03, "Alpha Fighter Lives" )
1834   PORT_DIPNAME( 0x03, 0x03, "Alpha Fighter Lives" )   PORT_DIPLOCATION("SW1:1,2")
19191835   PORT_DIPSETTING(    0x03, "3" )
19201836   PORT_DIPSETTING(    0x02, "4" )
19211837   PORT_DIPSETTING(    0x01, "5" )
r18154r18155
21112027   PORT_START("IN0")
21122028   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
21132029   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
2114   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )
2030   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Lives ) )         PORT_DIPLOCATION("SW1:1")
21152031   PORT_DIPSETTING(    0x04, "3" )
21162032   PORT_DIPSETTING(    0x00, "4" )
2117   PORT_DIPNAME( 0x08, 0x08, "Infinite Lives" )
2033   PORT_DIPNAME( 0x08, 0x08, "Infinite Lives (Cheat)" )   PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
21182034   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
21192035   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
21202036   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
2121   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY
2037   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP   ) PORT_4WAY
21222038   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
21232039
21242040   PORT_START("IN1")
21252041   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
21262042   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,samurai_protection_r, (void *)1)
2127   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) /* unknown, but used */
2043   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )          PORT_DIPLOCATION("SW1:2") // unknown, but used
21282044   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
21292045   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
21302046   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
2131   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
2047   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY
21322048   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
21332049   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
21342050
21352051   PORT_START("IN2")
21362052   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
21372053   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,samurai_protection_r, (void *)2)
2138   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
2054   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )         PORT_DIPLOCATION("SW1:3")
21392055   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
21402056   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
21412057   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
r18154r18155
21462062   PORT_START("IN3")
21472063   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
21482064   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,samurai_protection_r, (void *)3)
2149   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )
2065   PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) )         PORT_DIPLOCATION("SW1:4")
21502066   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
21512067   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
21522068   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
r18154r18155
22222138   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
22232139   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 )
22242140   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
2225   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
2226   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
2227   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
2141   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN  ) PORT_8WAY
2142   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_8WAY
2143   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP    ) PORT_8WAY
22282144
22292145   // according to the manual, there's also an 8-pos dipswitch for coinage settings (MT 4717), where is it read?
22302146   PORT_START("IN1")
r18154r18155
23192235   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 )
23202236   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY
23212237   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
2322   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
2238   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_2WAY
23232239   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */
23242240
23252241   PORT_START("IN1")
r18154r18155
34583374 *
34593375 *************************************/
34603376
3461GAMEL(1977, depthch,  0,        depthch,  depthch, driver_device,  0, ROT0,   "Gremlin", "Depthcharge", GAME_IMPERFECT_SOUND, layout_depthch )
3462GAMEL(1977, depthcho, depthch,  depthch,  depthch, driver_device,  0, ROT0,   "Gremlin", "Depthcharge (older)", GAME_IMPERFECT_SOUND, layout_depthch )
3463GAMEL(1977, subhunt,  depthch,  depthch,  depthch, driver_device,  0, ROT0,   "Gremlin (Taito license)", "Sub Hunter", GAME_IMPERFECT_SOUND, layout_depthch )
3464GAME( 1977, safari,   0,        safari,   safari, driver_device,   0, ROT0,   "Gremlin", "Safari (set 1)", GAME_NO_SOUND )
3465GAME( 1977, safaria,  safari,   safari,   safari, driver_device,   0, ROT0,   "Gremlin", "Safari (set 2, bootleg?)", GAME_NO_SOUND ) // on a bootleg board, but seems a different code revision too
3466GAME( 1978, frogs,    0,        frogs,    frogs, driver_device,    0, ROT0,   "Gremlin", "Frogs", GAME_IMPERFECT_SOUND )
3467GAME( 1979, sspaceat, 0,        sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 1)", GAME_NO_SOUND )
3468GAME( 1979, sspaceat2,sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 2)", GAME_NO_SOUND )
3469GAME( 1979, sspaceat3,sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 3)", GAME_NO_SOUND )
3470GAME( 1979, sspaceatc,sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (cocktail)", GAME_NO_SOUND )
3471GAME( 1979, sspacaho, 0,        sspacaho, sspacaho, driver_device, 0, ROT270, "Sega", "Space Attack / Head On", GAME_NO_SOUND )
3472GAME( 1979, headon,   0,        headon,   headon, driver_device,   0, ROT0,   "Gremlin", "Head On (2 players)",  GAME_IMPERFECT_SOUND )
3473GAME( 1979, headonb,  headon,   headon,   headon, driver_device,   0, ROT0,   "Gremlin", "Head On (1 player)",  GAME_IMPERFECT_SOUND )
3474GAME( 1979, headons,  headon,   headons,  headon, driver_device,   0, ROT0,   "bootleg (Sidam)", "Head On (Sidam bootleg, set 1)",  GAME_IMPERFECT_SOUND )
3475GAME( 1979, headonsa, headon,   headons,  headon, driver_device,   0, ROT0,   "bootleg (Sidam)", "Head On (Sidam bootleg, set 2)",  GAME_NOT_WORKING ) // won't coin up?
3476GAME( 1979, supcrash, headon,   headons,  supcrash, driver_device, 0, ROT0,   "bootleg", "Super Crash (bootleg of Head On)", GAME_NO_SOUND )
3477GAME( 1979, hocrash,  headon,   headons,  headon, driver_device,   0, ROT0,   "bootleg (Fraber)", "Crash (bootleg of Head On)", GAME_IMPERFECT_SOUND )
3478GAME( 1979, headon2,  0,        headon2,  headon2, driver_device,  0, ROT0,   "Sega", "Head On 2",  GAME_IMPERFECT_SOUND )
3479GAME( 1979, headon2s, headon2,  headon2bw,car2, driver_device,     0, ROT0,   "bootleg (Sidam)", "Head On 2 (Sidam bootleg)",  GAME_NOT_WORKING ) // won't coin up?
3480GAME( 1979, car2,     headon2,  headon2bw,car2, driver_device,     0, ROT0,   "bootleg (RZ Bologna)", "Car 2 (bootleg of Head On 2)",  GAME_IMPERFECT_SOUND ) // title still says 'HeadOn 2'
3481GAME( 1979, invho2,   0,        invho2,   invho2, driver_device,   0, ROT270, "Sega", "Invinco / Head On 2", GAME_IMPERFECT_SOUND )
3482GAME( 1980, nsub,     0,        nsub,     nsub, driver_device,     0, ROT270, "Sega", "N-Sub (upright)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND ) // this is the upright set. cocktail set still needs to be dumped
3483GAME( 1980, samurai,  0,        samurai,  samurai, driver_device,  0, ROT270, "Sega", "Samurai", GAME_NO_SOUND )
3484GAME( 1979, invinco,  0,        invinco,  invinco, driver_device,  0, ROT270, "Sega", "Invinco", GAME_IMPERFECT_SOUND )
3485GAME( 1979, invds,    0,        invds,    invds, driver_device,    0, ROT270, "Sega", "Invinco / Deep Scan", GAME_IMPERFECT_SOUND )
3486GAME( 1980, tranqgun, 0,        tranqgun, tranqgun, driver_device, 0, ROT270, "Sega", "Tranquillizer Gun", GAME_NO_SOUND )
3487GAME( 1980, spacetrk, 0,        spacetrk, spacetrk, driver_device, 0, ROT270, "Sega", "Space Trek (upright)", GAME_NO_SOUND )
3488GAME( 1980, spacetrkc,spacetrk, spacetrk, sptrekct, driver_device, 0, ROT270, "Sega", "Space Trek (cocktail)", GAME_NO_SOUND )
3489GAME( 1980, carnival, 0,        carnival, carnival, driver_device, 0, ROT270, "Sega", "Carnival (upright)", GAME_IMPERFECT_SOUND )
3490GAME( 1980, carnivalc,carnival, carnival, carnvckt, driver_device, 0, ROT270, "Sega", "Carnival (cocktail)",  GAME_IMPERFECT_SOUND )
3491GAME( 1980, carnivalh,carnival, carnivalh,carnivalh, driver_device,0, ROT270, "Sega", "Carnival (Head On hardware, set 1)",  GAME_IMPERFECT_SOUND )
3492GAME( 1980, carnivalha,carnival,carnivalh,carnivalh, driver_device,0, ROT270, "Sega", "Carnival (Head On hardware, set 2)",  GAME_IMPERFECT_SOUND )
3493GAME( 1981, brdrline, 0,        brdrline, brdrline, driver_device, 0, ROT270, "Sega", "Borderline", GAME_NO_SOUND )
3494GAME( 1981, starrkr,  brdrline, brdrline, starrkr, driver_device,  0, ROT270, "Sega", "Star Raker", GAME_NO_SOUND )
3495GAME( 1981, brdrlins, brdrline, brdrline, brdrline, driver_device, 0, ROT270, "bootleg (Sidam)", "Borderline (Sidam bootleg)", GAME_NO_SOUND )
3496GAME( 1981, brdrlinb, brdrline, brdrline, brdrline, driver_device, 0, ROT270, "bootleg (Karateco)", "Borderline (Karateco bootleg)", GAME_NO_SOUND )
3497GAME( 1980, digger,   0,        digger,   digger, driver_device,   0, ROT270, "Sega", "Digger", GAME_NO_SOUND )
3498GAME( 1981, pulsar,   0,        pulsar,   pulsar, driver_device,   0, ROT270, "Sega", "Pulsar", GAME_IMPERFECT_SOUND )
3499GAME( 1979, heiankyo, 0,        heiankyo, heiankyo, driver_device, 0, ROT270, "Denki Onkyo", "Heiankyo Alien", GAME_NO_SOUND )
3500GAME( 19??, alphaho,  0,        alphaho,  alphaho, driver_device,  0, ROT270, "Data East Corporation", "Alpha Fighter / Head On", GAME_WRONG_COLORS | GAME_NO_SOUND )
3377GAMEL(1977, depthch,    0,        depthch,   depthch,   driver_device, 0, ROT0,   "Gremlin", "Depthcharge", GAME_IMPERFECT_SOUND, layout_depthch )
3378GAMEL(1977, depthcho,   depthch,  depthch,   depthch,   driver_device, 0, ROT0,   "Gremlin", "Depthcharge (older)", GAME_IMPERFECT_SOUND, layout_depthch )
3379GAMEL(1977, subhunt,    depthch,  depthch,   depthch,   driver_device, 0, ROT0,   "Gremlin (Taito license)", "Sub Hunter", GAME_IMPERFECT_SOUND, layout_depthch )
3380GAME( 1977, safari,     0,        safari,    safari,    driver_device, 0, ROT0,   "Gremlin", "Safari (set 1)", GAME_NO_SOUND )
3381GAME( 1977, safaria,    safari,   safari,    safari,    driver_device, 0, ROT0,   "Gremlin", "Safari (set 2, bootleg?)", GAME_NO_SOUND ) // on a bootleg board, but seems a different code revision too
3382GAME( 1978, frogs,      0,        frogs,     frogs,     driver_device, 0, ROT0,   "Gremlin", "Frogs", GAME_IMPERFECT_SOUND )
3383GAME( 1979, sspaceat,   0,        sspaceat,  sspaceat,  driver_device, 0, ROT270, "Sega", "Space Attack (upright set 1)", GAME_NO_SOUND )
3384GAME( 1979, sspaceat2,  sspaceat, sspaceat,  sspaceat,  driver_device, 0, ROT270, "Sega", "Space Attack (upright set 2)", GAME_NO_SOUND )
3385GAME( 1979, sspaceat3,  sspaceat, sspaceat,  sspaceat,  driver_device, 0, ROT270, "Sega", "Space Attack (upright set 3)", GAME_NO_SOUND )
3386GAME( 1979, sspaceatc,  sspaceat, sspaceat,  sspaceat,  driver_device, 0, ROT270, "Sega", "Space Attack (cocktail)", GAME_NO_SOUND )
3387GAME( 1979, sspacaho,   0,        sspacaho,  sspacaho,  driver_device, 0, ROT270, "Sega", "Space Attack / Head On", GAME_NO_SOUND )
3388GAME( 1979, headon,     0,        headon,    headon,    driver_device, 0, ROT0,   "Gremlin", "Head On (2 players)",  GAME_IMPERFECT_SOUND )
3389GAME( 1979, headonb,    headon,   headon,    headon,    driver_device, 0, ROT0,   "Gremlin", "Head On (1 player)",  GAME_IMPERFECT_SOUND )
3390GAME( 1979, headons,    headon,   headons,   headon,    driver_device, 0, ROT0,   "bootleg (Sidam)", "Head On (Sidam bootleg, set 1)",  GAME_IMPERFECT_SOUND )
3391GAME( 1979, headonsa,   headon,   headons,   headon,    driver_device, 0, ROT0,   "bootleg (Sidam)", "Head On (Sidam bootleg, set 2)",  GAME_NOT_WORKING ) // won't coin up?
3392GAME( 1979, supcrash,   headon,   headons,   supcrash,  driver_device, 0, ROT0,   "bootleg", "Super Crash (bootleg of Head On)", GAME_NO_SOUND )
3393GAME( 1979, hocrash,    headon,   headons,   headon,    driver_device, 0, ROT0,   "bootleg (Fraber)", "Crash (bootleg of Head On)", GAME_IMPERFECT_SOUND )
3394GAME( 1979, headon2,    0,        headon2,   headon2,   driver_device, 0, ROT0,   "Sega", "Head On 2",  GAME_IMPERFECT_SOUND )
3395GAME( 1979, headon2s,   headon2,  headon2bw, car2,      driver_device, 0, ROT0,   "bootleg (Sidam)", "Head On 2 (Sidam bootleg)",  GAME_NOT_WORKING ) // won't coin up?
3396GAME( 1979, car2,       headon2,  headon2bw, car2,      driver_device, 0, ROT0,   "bootleg (RZ Bologna)", "Car 2 (bootleg of Head On 2)",  GAME_IMPERFECT_SOUND ) // title still says 'HeadOn 2'
3397GAME( 1979, invho2,     0,        invho2,    invho2,    driver_device, 0, ROT270, "Sega", "Invinco / Head On 2", GAME_IMPERFECT_SOUND )
3398GAME( 1980, nsub,       0,        nsub,      nsub,      driver_device, 0, ROT270, "Sega", "N-Sub (upright)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND ) // this is the upright set. cocktail set still needs to be dumped
3399GAME( 1980, samurai,    0,        samurai,   samurai,   driver_device, 0, ROT270, "Sega", "Samurai", GAME_NO_SOUND )
3400GAME( 1979, invinco,    0,        invinco,   invinco,   driver_device, 0, ROT270, "Sega", "Invinco", GAME_IMPERFECT_SOUND )
3401GAME( 1979, invds,      0,        invds,     invds,     driver_device, 0, ROT270, "Sega", "Invinco / Deep Scan", GAME_IMPERFECT_SOUND )
3402GAME( 1980, tranqgun,   0,        tranqgun,  tranqgun,  driver_device, 0, ROT270, "Sega", "Tranquillizer Gun", GAME_NO_SOUND )
3403GAME( 1980, spacetrk,   0,        spacetrk,  spacetrk,  driver_device, 0, ROT270, "Sega", "Space Trek (upright)", GAME_NO_SOUND )
3404GAME( 1980, spacetrkc,  spacetrk, spacetrk,  spacetrkc, driver_device, 0, ROT270, "Sega", "Space Trek (cocktail)", GAME_NO_SOUND )
3405GAME( 1980, carnival,   0,        carnival,  carnival,  driver_device, 0, ROT270, "Sega", "Carnival (upright)", GAME_IMPERFECT_SOUND )
3406GAME( 1980, carnivalc,  carnival, carnival,  carnivalc, driver_device, 0, ROT270, "Sega", "Carnival (cocktail)",  GAME_IMPERFECT_SOUND )
3407GAME( 1980, carnivalh,  carnival, carnivalh, carnivalh, driver_device, 0, ROT270, "Sega", "Carnival (Head On hardware, set 1)",  GAME_IMPERFECT_SOUND )
3408GAME( 1980, carnivalha, carnival, carnivalh, carnivalh, driver_device, 0, ROT270, "Sega", "Carnival (Head On hardware, set 2)",  GAME_IMPERFECT_SOUND )
3409GAME( 1981, brdrline,   0,        brdrline,  brdrline,  driver_device, 0, ROT270, "Sega", "Borderline", GAME_NO_SOUND )
3410GAME( 1981, starrkr,    brdrline, brdrline,  starrkr,   driver_device, 0, ROT270, "Sega", "Star Raker", GAME_NO_SOUND )
3411GAME( 1981, brdrlins,   brdrline, brdrline,  brdrline,  driver_device, 0, ROT270, "bootleg (Sidam)", "Borderline (Sidam bootleg)", GAME_NO_SOUND )
3412GAME( 1981, brdrlinb,   brdrline, brdrline,  brdrline,  driver_device, 0, ROT270, "bootleg (Karateco)", "Borderline (Karateco bootleg)", GAME_NO_SOUND )
3413GAME( 1980, digger,     0,        digger,    digger,    driver_device, 0, ROT270, "Sega", "Digger", GAME_NO_SOUND )
3414GAME( 1981, pulsar,     0,        pulsar,    pulsar,    driver_device, 0, ROT270, "Sega", "Pulsar", GAME_IMPERFECT_SOUND )
3415GAME( 1979, heiankyo,   0,        heiankyo,  heiankyo,  driver_device, 0, ROT270, "Denki Onkyo", "Heiankyo Alien", GAME_NO_SOUND )
3416GAME( 19??, alphaho,    0,        alphaho,   alphaho,   driver_device, 0, ROT270, "Data East Corporation", "Alpha Fighter / Head On", GAME_WRONG_COLORS | GAME_NO_SOUND )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team