trunk/src/mame/drivers/vicdual.c
| r18154 | r18155 | |
| 43 | 43 | The timing is implemented according to the schematics, but |
| 44 | 44 | who knows... |
| 45 | 45 | * 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 |
| 47 | 47 | |
| 48 | 48 | ****************************************************************************/ |
| 49 | 49 | |
| r18154 | r18155 | |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | 104 | |
| 105 | | #define PORT_COIN \ |
| 106 | | PORT_START(COIN_PORT_TAG) \ |
| 105 | #define PORT_COIN \ |
| 106 | PORT_START(COIN_PORT_TAG) \ |
| 107 | 107 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, vicdual_state,coin_changed, NULL) \ |
| 108 | 108 | PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 109 | 109 | |
| r18154 | r18155 | |
| 174 | 174 | |
| 175 | 175 | |
| 176 | 176 | #define PORT_CABINET_COLOR_OR_BW \ |
| 177 | | PORT_START(COLOR_BW_PORT_TAG) \ |
| 177 | PORT_START(COLOR_BW_PORT_TAG) \ |
| 178 | 178 | PORT_CONFNAME( 0x01, 0x00, DEF_STR( Cabinet ) ) \ |
| 179 | 179 | PORT_CONFSETTING( 0x00, "Color" ) \ |
| 180 | 180 | PORT_CONFSETTING( 0x01, "Black and White" ) \ |
| r18154 | r18155 | |
| 267 | 267 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) |
| 268 | 268 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 269 | 269 | 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 |
| 271 | 271 | PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coinage ) ) |
| 272 | 272 | PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) |
| 273 | 273 | PORT_DIPSETTING( 0x10, DEF_STR( 3C_1C ) ) |
| r18154 | r18155 | |
| 347 | 347 | |
| 348 | 348 | static INPUT_PORTS_START( safari ) |
| 349 | 349 | 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 |
| 352 | 352 | 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 |
| 354 | 354 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Aim Up") PORT_CODE(KEYCODE_A) |
| 355 | 355 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("Aim Down") PORT_CODE(KEYCODE_Z) |
| 356 | 356 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| r18154 | r18155 | |
| 429 | 429 | static INPUT_PORTS_START( frogs ) |
| 430 | 430 | PORT_START("IN0") |
| 431 | 431 | 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 |
| 435 | 435 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 436 | 436 | 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 |
| 438 | 441 | PORT_DIPSETTING( 0x00, DEF_STR( No ) ) |
| 439 | 442 | PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) |
| 440 | | PORT_DIPNAME( 0x20, 0x20, "Time" ) |
| 443 | PORT_DIPNAME( 0x20, 0x20, "Time" ) PORT_DIPLOCATION("PIN:4") // 27 |
| 441 | 444 | PORT_DIPSETTING( 0x00, "60" ) |
| 442 | 445 | 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 |
| 444 | 447 | PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) |
| 445 | 448 | PORT_DIPSETTING( 0x40, DEF_STR( 1C_1C ) ) |
| 446 | 449 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| r18154 | r18155 | |
| 568 | 571 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 569 | 572 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 570 | 573 | 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 |
| 574 | 577 | |
| 575 | 578 | PORT_START("IN1") |
| 576 | 579 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL) |
| r18154 | r18155 | |
| 583 | 586 | INPUT_PORTS_END |
| 584 | 587 | |
| 585 | 588 | |
| 586 | | |
| 587 | | |
| 588 | 589 | static INPUT_PORTS_START( supcrash ) |
| 589 | 590 | PORT_START("IN0") |
| 590 | 591 | 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 |
| 593 | 594 | 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 |
| 604 | 605 | |
| 605 | 606 | PORT_START("IN1") |
| 606 | 607 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL) |
| r18154 | r18155 | |
| 616 | 617 | INPUT_PORTS_END |
| 617 | 618 | |
| 618 | 619 | |
| 620 | static 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 |
| 639 | INPUT_PORTS_END |
| 640 | |
| 641 | |
| 619 | 642 | static INPUT_PORTS_START( sspaceat ) |
| 620 | 643 | PORT_START("IN0") |
| 621 | 644 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY |
| r18154 | r18155 | |
| 624 | 647 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 ) |
| 625 | 648 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL |
| 626 | 649 | 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 |
| 629 | 652 | |
| 630 | 653 | PORT_START("IN1") |
| 631 | 654 | PORT_DIPNAME( 0x01, 0x00, "Bonus Life For Final UFO" ) |
| r18154 | r18155 | |
| 780 | 803 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 781 | 804 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 782 | 805 | 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 |
| 786 | 809 | |
| 787 | 810 | PORT_START("IN1") |
| 788 | 811 | PORT_BIT( 0x07, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| r18154 | r18155 | |
| 813 | 836 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */ |
| 814 | 837 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 815 | 838 | 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 |
| 819 | 842 | |
| 820 | 843 | PORT_START("IN1") |
| 821 | 844 | PORT_BIT( 0x07, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* probably unused */ |
| r18154 | r18155 | |
| 844 | 867 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 845 | 868 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) |
| 846 | 869 | 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 |
| 850 | 873 | |
| 851 | 874 | PORT_START("IN1") |
| 852 | 875 | PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) |
| r18154 | r18155 | |
| 1191 | 1214 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1192 | 1215 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1193 | 1216 | 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?) |
| 1195 | 1218 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 1196 | 1219 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1197 | 1220 | 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 |
| 1199 | 1222 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1200 | 1223 | |
| 1201 | 1224 | PORT_START("IN1") |
| r18154 | r18155 | |
| 1203 | 1226 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1204 | 1227 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002) |
| 1205 | 1228 | 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 |
| 1207 | 1230 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY |
| 1208 | 1231 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1209 | 1232 | |
| r18154 | r18155 | |
| 1227 | 1250 | |
| 1228 | 1251 | PORT_COIN |
| 1229 | 1252 | |
| 1230 | | // SW1 @ C1, 6-pos (where are 5 & 6?) |
| 1231 | 1253 | PORT_START("FAKE_LIVES1") |
| 1232 | 1254 | PORT_DIPNAME( 0x03, 0x01, "Head On 2 Lives" ) PORT_DIPLOCATION("SW1:1,2") |
| 1233 | 1255 | PORT_DIPSETTING( 0x00, "2" ) |
| r18154 | r18155 | |
| 1255 | 1277 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1256 | 1278 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1257 | 1279 | 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?) |
| 1259 | 1281 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 1260 | 1282 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1261 | 1283 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| r18154 | r18155 | |
| 1267 | 1289 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1268 | 1290 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002) |
| 1269 | 1291 | 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 |
| 1271 | 1293 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY |
| 1272 | 1294 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1273 | 1295 | |
| r18154 | r18155 | |
| 1313 | 1335 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL |
| 1314 | 1336 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL |
| 1315 | 1337 | 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?) |
| 1317 | 1339 | PORT_DIPSETTING( 0x00, "3" ) |
| 1318 | 1340 | PORT_DIPSETTING( 0x08, "4" ) |
| 1319 | 1341 | 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 |
| 1321 | 1343 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1322 | 1344 | |
| 1323 | 1345 | PORT_START("IN1") |
| r18154 | r18155 | |
| 1325 | 1347 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1326 | 1348 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002) |
| 1327 | 1349 | 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 |
| 1329 | 1351 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY |
| 1330 | 1352 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1331 | 1353 | |
| 1332 | 1354 | PORT_START("IN2") |
| 1333 | 1355 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL |
| 1334 | 1356 | 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") |
| 1336 | 1358 | PORT_DIPSETTING( 0x00, "10000" ) |
| 1337 | 1359 | PORT_DIPSETTING( 0x04, "15000" ) |
| 1338 | 1360 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL) |
| r18154 | r18155 | |
| 1343 | 1365 | PORT_START("IN3") |
| 1344 | 1366 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL |
| 1345 | 1367 | 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") |
| 1347 | 1369 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1348 | 1370 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1349 | 1371 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| r18154 | r18155 | |
| 1354 | 1376 | PORT_COIN |
| 1355 | 1377 | |
| 1356 | 1378 | 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") |
| 1358 | 1380 | PORT_DIPSETTING( 0x03, "3" ) |
| 1359 | 1381 | PORT_DIPSETTING( 0x02, "4" ) |
| 1360 | 1382 | PORT_DIPSETTING( 0x01, "5" ) |
| r18154 | r18155 | |
| 1366 | 1388 | PORT_START("IN0") |
| 1367 | 1389 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL |
| 1368 | 1390 | 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") |
| 1370 | 1392 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1371 | 1393 | 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?) |
| 1373 | 1395 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 1374 | 1396 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1375 | 1397 | 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 |
| 1377 | 1399 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1378 | 1400 | |
| 1379 | 1401 | PORT_START("IN1") |
| 1380 | 1402 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL |
| 1381 | 1403 | 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") |
| 1383 | 1405 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1384 | 1406 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1385 | 1407 | 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 |
| 1387 | 1409 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY |
| 1388 | 1410 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1389 | 1411 | |
| 1390 | 1412 | PORT_START("IN2") |
| 1391 | 1413 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL |
| 1392 | 1414 | 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") |
| 1394 | 1416 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1395 | 1417 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1396 | 1418 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL) |
| r18154 | r18155 | |
| 1401 | 1423 | PORT_START("IN3") |
| 1402 | 1424 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL |
| 1403 | 1425 | 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") |
| 1405 | 1427 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1406 | 1428 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1407 | 1429 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| r18154 | r18155 | |
| 1417 | 1439 | PORT_START("IN0") |
| 1418 | 1440 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1419 | 1441 | 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") |
| 1421 | 1443 | PORT_DIPSETTING( 0x04, "3" ) |
| 1422 | 1444 | 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?) |
| 1424 | 1446 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 1425 | 1447 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1426 | 1448 | 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 |
| 1428 | 1450 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1429 | 1451 | |
| 1430 | 1452 | PORT_START("IN1") |
| 1431 | 1453 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1432 | 1454 | 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 |
| 1434 | 1456 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1435 | 1457 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1436 | 1458 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL) |
| 1437 | 1459 | 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 |
| 1439 | 1461 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1440 | 1462 | |
| 1441 | 1463 | PORT_START("IN2") |
| 1442 | 1464 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1443 | 1465 | 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") |
| 1445 | 1467 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1446 | 1468 | PORT_DIPSETTING( 0x04, DEF_STR( On ) ) |
| 1447 | 1469 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL) |
| r18154 | r18155 | |
| 1452 | 1474 | PORT_START("IN3") |
| 1453 | 1475 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1454 | 1476 | 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") |
| 1456 | 1478 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1457 | 1479 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1458 | 1480 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| r18154 | r18155 | |
| 1464 | 1486 | INPUT_PORTS_END |
| 1465 | 1487 | |
| 1466 | 1488 | |
| 1467 | | static INPUT_PORTS_START( sptrekct ) |
| 1468 | | PORT_START("IN0") |
| 1469 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL |
| 1489 | static 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 |
| 1470 | 1494 | 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 ) |
| 1480 | 1495 | |
| 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 |
| 1483 | 1498 | 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 ) |
| 1491 | 1499 | |
| 1492 | | PORT_START("IN2") |
| 1500 | PORT_MODIFY("IN2") |
| 1493 | 1501 | 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 ) |
| 1502 | 1502 | |
| 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 |
| 1515 | 1505 | INPUT_PORTS_END |
| 1516 | 1506 | |
| 1517 | 1507 | |
| r18154 | r18155 | |
| 1519 | 1509 | PORT_START("IN0") |
| 1520 | 1510 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1521 | 1511 | 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") |
| 1523 | 1513 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1524 | 1514 | 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?) |
| 1526 | 1516 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 1527 | 1517 | 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 |
| 1529 | 1519 | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 1530 | 1520 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1531 | 1521 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| r18154 | r18155 | |
| 1534 | 1524 | PORT_START("IN1") |
| 1535 | 1525 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1536 | 1526 | 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") |
| 1538 | 1528 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1539 | 1529 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1540 | 1530 | 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 |
| 1542 | 1532 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY |
| 1543 | 1533 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1544 | 1534 | |
| 1545 | 1535 | PORT_START("IN2") |
| 1546 | 1536 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1547 | 1537 | 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") |
| 1549 | 1539 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1550 | 1540 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1551 | 1541 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL) |
| r18154 | r18155 | |
| 1556 | 1546 | PORT_START("IN3") |
| 1557 | 1547 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1558 | 1548 | 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") |
| 1560 | 1550 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1561 | 1551 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1562 | 1552 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| r18154 | r18155 | |
| 1567 | 1557 | PORT_COIN |
| 1568 | 1558 | INPUT_PORTS_END |
| 1569 | 1559 | |
| 1570 | | /* not verified */ |
| 1571 | | static 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 |
| 1586 | 1560 | |
| 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) |
| 1561 | static INPUT_PORTS_START( carnivalc ) |
| 1562 | PORT_INCLUDE( carnival ) |
| 1591 | 1563 | |
| 1592 | | PORT_CABINET_COLOR_OR_BW |
| 1593 | | |
| 1594 | | PORT_COIN |
| 1595 | | INPUT_PORTS_END |
| 1596 | | |
| 1597 | | |
| 1598 | | static INPUT_PORTS_START( carnvckt ) |
| 1599 | | PORT_START("IN0") |
| 1600 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1564 | PORT_MODIFY("IN0") |
| 1601 | 1565 | 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 ) |
| 1613 | 1566 | |
| 1614 | | PORT_START("IN1") |
| 1567 | PORT_MODIFY("IN1") |
| 1615 | 1568 | 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 ) |
| 1624 | 1569 | |
| 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 |
| 1648 | 1572 | INPUT_PORTS_END |
| 1649 | 1573 | |
| 1650 | 1574 | |
| r18154 | r18155 | |
| 1652 | 1576 | PORT_START("IN0") |
| 1653 | 1577 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL |
| 1654 | 1578 | 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") |
| 1656 | 1580 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1657 | 1581 | 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?) |
| 1659 | 1583 | PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) |
| 1660 | 1584 | PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) |
| 1661 | 1585 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY |
| 1662 | 1586 | 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 ) |
| 1669 | 1588 | |
| 1670 | 1589 | PORT_START("IN1") |
| 1671 | 1590 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL |
| 1672 | 1591 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1673 | 1592 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001) |
| 1674 | 1593 | 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 |
| 1676 | 1595 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY |
| 1677 | 1596 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1678 | 1597 | |
| r18154 | r18155 | |
| 1688 | 1607 | PORT_START("IN3") |
| 1689 | 1608 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL |
| 1690 | 1609 | 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") |
| 1692 | 1611 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1693 | 1612 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1694 | 1613 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| r18154 | r18155 | |
| 1699 | 1618 | PORT_COIN |
| 1700 | 1619 | |
| 1701 | 1620 | 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") |
| 1703 | 1622 | PORT_DIPSETTING( 0x00, "3" ) |
| 1704 | 1623 | PORT_DIPSETTING( 0x01, "4" ) |
| 1705 | 1624 | PORT_DIPSETTING( 0x02, "5" ) |
| r18154 | r18155 | |
| 1711 | 1630 | PORT_START("IN0") |
| 1712 | 1631 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL |
| 1713 | 1632 | 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") |
| 1715 | 1634 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1716 | 1635 | 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?) |
| 1718 | 1637 | PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) |
| 1719 | 1638 | PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) |
| 1720 | 1639 | 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 ) |
| 1728 | 1642 | |
| 1729 | 1643 | PORT_START("IN1") |
| 1730 | 1644 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL |
| r18154 | r18155 | |
| 1732 | 1646 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001) |
| 1733 | 1647 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_vblank_comp, NULL) |
| 1734 | 1648 | 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 |
| 1736 | 1650 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1737 | 1651 | |
| 1738 | 1652 | PORT_START("IN2") |
| r18154 | r18155 | |
| 1747 | 1661 | PORT_START("IN3") |
| 1748 | 1662 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL |
| 1749 | 1663 | 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") |
| 1751 | 1665 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1752 | 1666 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1753 | 1667 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| r18154 | r18155 | |
| 1758 | 1672 | PORT_COIN |
| 1759 | 1673 | |
| 1760 | 1674 | 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") |
| 1762 | 1676 | PORT_DIPSETTING( 0x00, "3" ) |
| 1763 | 1677 | PORT_DIPSETTING( 0x01, "4" ) |
| 1764 | 1678 | PORT_DIPSETTING( 0x02, "5" ) |
| r18154 | r18155 | |
| 1771 | 1685 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1772 | 1686 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1773 | 1687 | 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?) |
| 1775 | 1689 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 1776 | 1690 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1777 | 1691 | 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 |
| 1779 | 1693 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1780 | 1694 | |
| 1781 | 1695 | PORT_START("IN1") |
| r18154 | r18155 | |
| 1783 | 1697 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1784 | 1698 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002) |
| 1785 | 1699 | 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 |
| 1787 | 1701 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY |
| 1788 | 1702 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1789 | 1703 | |
| 1790 | 1704 | PORT_START("IN2") |
| 1791 | 1705 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1792 | 1706 | 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") |
| 1794 | 1708 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1795 | 1709 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1796 | 1710 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL) |
| r18154 | r18155 | |
| 1801 | 1715 | PORT_START("IN3") |
| 1802 | 1716 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1803 | 1717 | 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") |
| 1805 | 1719 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1806 | 1720 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1807 | 1721 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| r18154 | r18155 | |
| 1812 | 1726 | PORT_COIN |
| 1813 | 1727 | |
| 1814 | 1728 | 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") |
| 1816 | 1730 | PORT_DIPSETTING( 0x00, "2" ) |
| 1817 | 1731 | PORT_DIPSETTING( 0x02, "3" ) |
| 1818 | 1732 | PORT_DIPSETTING( 0x01, "4" ) |
| r18154 | r18155 | |
| 1824 | 1738 | PORT_START("IN0") |
| 1825 | 1739 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL |
| 1826 | 1740 | 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? |
| 1828 | 1742 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1829 | 1743 | 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?) |
| 1831 | 1745 | PORT_DIPSETTING( 0x08, "Alternating" ) |
| 1832 | 1746 | PORT_DIPSETTING( 0x00, "Simultaneous" ) |
| 1833 | 1747 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY |
| r18154 | r18155 | |
| 1837 | 1751 | PORT_START("IN1") |
| 1838 | 1752 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL |
| 1839 | 1753 | 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? |
| 1841 | 1755 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1842 | 1756 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1843 | 1757 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL) |
| r18154 | r18155 | |
| 1848 | 1762 | PORT_START("IN2") |
| 1849 | 1763 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL |
| 1850 | 1764 | 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? |
| 1852 | 1766 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1853 | 1767 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1854 | 1768 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL) |
| 1855 | 1769 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY |
| 1856 | 1770 | 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 ) |
| 1858 | 1772 | |
| 1859 | 1773 | PORT_START("IN3") |
| 1860 | 1774 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL |
| 1861 | 1775 | 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") |
| 1863 | 1777 | PORT_DIPSETTING( 0x00, "3" ) |
| 1864 | 1778 | PORT_DIPSETTING( 0x04, "5" ) |
| 1865 | 1779 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| r18154 | r18155 | |
| 1876 | 1790 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL |
| 1877 | 1791 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL |
| 1878 | 1792 | 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?) |
| 1880 | 1794 | PORT_DIPSETTING( 0x00, "3" ) |
| 1881 | 1795 | PORT_DIPSETTING( 0x08, "4" ) |
| 1882 | 1796 | 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 ) |
| 1885 | 1799 | |
| 1886 | 1800 | PORT_START("IN1") |
| 1887 | 1801 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL |
| 1888 | 1802 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1889 | 1803 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002) |
| 1890 | 1804 | 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 |
| 1892 | 1806 | 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 ) |
| 1894 | 1808 | |
| 1895 | 1809 | PORT_START("IN2") |
| 1896 | 1810 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL |
| 1897 | 1811 | 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 ) ) |
| 1899 | 1815 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL) |
| 1900 | 1816 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) |
| 1901 | 1817 | 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 ) |
| 1903 | 1819 | |
| 1904 | 1820 | PORT_START("IN3") |
| 1905 | 1821 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL |
| 1906 | 1822 | 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) |
| 1908 | 1824 | PORT_DIPSETTING( 0x00, DEF_STR ( Off ) ) |
| 1909 | 1825 | PORT_DIPSETTING( 0x04, DEF_STR ( On ) ) |
| 1910 | 1826 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| 1911 | 1827 | PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Game Select") PORT_TOGGLE |
| 1912 | 1828 | 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 ) |
| 1914 | 1830 | |
| 1915 | 1831 | PORT_COIN |
| 1916 | 1832 | |
| 1917 | 1833 | 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") |
| 1919 | 1835 | PORT_DIPSETTING( 0x03, "3" ) |
| 1920 | 1836 | PORT_DIPSETTING( 0x02, "4" ) |
| 1921 | 1837 | PORT_DIPSETTING( 0x01, "5" ) |
| r18154 | r18155 | |
| 2111 | 2027 | PORT_START("IN0") |
| 2112 | 2028 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 2113 | 2029 | 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") |
| 2115 | 2031 | PORT_DIPSETTING( 0x04, "3" ) |
| 2116 | 2032 | 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?) |
| 2118 | 2034 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 2119 | 2035 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 2120 | 2036 | 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 |
| 2122 | 2038 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 2123 | 2039 | |
| 2124 | 2040 | PORT_START("IN1") |
| 2125 | 2041 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 2126 | 2042 | 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 |
| 2128 | 2044 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 2129 | 2045 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 2130 | 2046 | 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 |
| 2132 | 2048 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY |
| 2133 | 2049 | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 2134 | 2050 | |
| 2135 | 2051 | PORT_START("IN2") |
| 2136 | 2052 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 2137 | 2053 | 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") |
| 2139 | 2055 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 2140 | 2056 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 2141 | 2057 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL) |
| r18154 | r18155 | |
| 2146 | 2062 | PORT_START("IN3") |
| 2147 | 2063 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 2148 | 2064 | 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") |
| 2150 | 2066 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 2151 | 2067 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 2152 | 2068 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| r18154 | r18155 | |
| 2222 | 2138 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 2223 | 2139 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) |
| 2224 | 2140 | 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 |
| 2228 | 2144 | |
| 2229 | 2145 | // according to the manual, there's also an 8-pos dipswitch for coinage settings (MT 4717), where is it read? |
| 2230 | 2146 | PORT_START("IN1") |
| r18154 | r18155 | |
| 2319 | 2235 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 2320 | 2236 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_2WAY |
| 2321 | 2237 | 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 |
| 2323 | 2239 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 2324 | 2240 | |
| 2325 | 2241 | PORT_START("IN1") |
| r18154 | r18155 | |
| 3458 | 3374 | * |
| 3459 | 3375 | *************************************/ |
| 3460 | 3376 | |
| 3461 | | GAMEL(1977, depthch, 0, depthch, depthch, driver_device, 0, ROT0, "Gremlin", "Depthcharge", GAME_IMPERFECT_SOUND, layout_depthch ) |
| 3462 | | GAMEL(1977, depthcho, depthch, depthch, depthch, driver_device, 0, ROT0, "Gremlin", "Depthcharge (older)", GAME_IMPERFECT_SOUND, layout_depthch ) |
| 3463 | | GAMEL(1977, subhunt, depthch, depthch, depthch, driver_device, 0, ROT0, "Gremlin (Taito license)", "Sub Hunter", GAME_IMPERFECT_SOUND, layout_depthch ) |
| 3464 | | GAME( 1977, safari, 0, safari, safari, driver_device, 0, ROT0, "Gremlin", "Safari (set 1)", GAME_NO_SOUND ) |
| 3465 | | GAME( 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 |
| 3466 | | GAME( 1978, frogs, 0, frogs, frogs, driver_device, 0, ROT0, "Gremlin", "Frogs", GAME_IMPERFECT_SOUND ) |
| 3467 | | GAME( 1979, sspaceat, 0, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 1)", GAME_NO_SOUND ) |
| 3468 | | GAME( 1979, sspaceat2,sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 2)", GAME_NO_SOUND ) |
| 3469 | | GAME( 1979, sspaceat3,sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 3)", GAME_NO_SOUND ) |
| 3470 | | GAME( 1979, sspaceatc,sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (cocktail)", GAME_NO_SOUND ) |
| 3471 | | GAME( 1979, sspacaho, 0, sspacaho, sspacaho, driver_device, 0, ROT270, "Sega", "Space Attack / Head On", GAME_NO_SOUND ) |
| 3472 | | GAME( 1979, headon, 0, headon, headon, driver_device, 0, ROT0, "Gremlin", "Head On (2 players)", GAME_IMPERFECT_SOUND ) |
| 3473 | | GAME( 1979, headonb, headon, headon, headon, driver_device, 0, ROT0, "Gremlin", "Head On (1 player)", GAME_IMPERFECT_SOUND ) |
| 3474 | | GAME( 1979, headons, headon, headons, headon, driver_device, 0, ROT0, "bootleg (Sidam)", "Head On (Sidam bootleg, set 1)", GAME_IMPERFECT_SOUND ) |
| 3475 | | GAME( 1979, headonsa, headon, headons, headon, driver_device, 0, ROT0, "bootleg (Sidam)", "Head On (Sidam bootleg, set 2)", GAME_NOT_WORKING ) // won't coin up? |
| 3476 | | GAME( 1979, supcrash, headon, headons, supcrash, driver_device, 0, ROT0, "bootleg", "Super Crash (bootleg of Head On)", GAME_NO_SOUND ) |
| 3477 | | GAME( 1979, hocrash, headon, headons, headon, driver_device, 0, ROT0, "bootleg (Fraber)", "Crash (bootleg of Head On)", GAME_IMPERFECT_SOUND ) |
| 3478 | | GAME( 1979, headon2, 0, headon2, headon2, driver_device, 0, ROT0, "Sega", "Head On 2", GAME_IMPERFECT_SOUND ) |
| 3479 | | GAME( 1979, headon2s, headon2, headon2bw,car2, driver_device, 0, ROT0, "bootleg (Sidam)", "Head On 2 (Sidam bootleg)", GAME_NOT_WORKING ) // won't coin up? |
| 3480 | | GAME( 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' |
| 3481 | | GAME( 1979, invho2, 0, invho2, invho2, driver_device, 0, ROT270, "Sega", "Invinco / Head On 2", GAME_IMPERFECT_SOUND ) |
| 3482 | | GAME( 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 |
| 3483 | | GAME( 1980, samurai, 0, samurai, samurai, driver_device, 0, ROT270, "Sega", "Samurai", GAME_NO_SOUND ) |
| 3484 | | GAME( 1979, invinco, 0, invinco, invinco, driver_device, 0, ROT270, "Sega", "Invinco", GAME_IMPERFECT_SOUND ) |
| 3485 | | GAME( 1979, invds, 0, invds, invds, driver_device, 0, ROT270, "Sega", "Invinco / Deep Scan", GAME_IMPERFECT_SOUND ) |
| 3486 | | GAME( 1980, tranqgun, 0, tranqgun, tranqgun, driver_device, 0, ROT270, "Sega", "Tranquillizer Gun", GAME_NO_SOUND ) |
| 3487 | | GAME( 1980, spacetrk, 0, spacetrk, spacetrk, driver_device, 0, ROT270, "Sega", "Space Trek (upright)", GAME_NO_SOUND ) |
| 3488 | | GAME( 1980, spacetrkc,spacetrk, spacetrk, sptrekct, driver_device, 0, ROT270, "Sega", "Space Trek (cocktail)", GAME_NO_SOUND ) |
| 3489 | | GAME( 1980, carnival, 0, carnival, carnival, driver_device, 0, ROT270, "Sega", "Carnival (upright)", GAME_IMPERFECT_SOUND ) |
| 3490 | | GAME( 1980, carnivalc,carnival, carnival, carnvckt, driver_device, 0, ROT270, "Sega", "Carnival (cocktail)", GAME_IMPERFECT_SOUND ) |
| 3491 | | GAME( 1980, carnivalh,carnival, carnivalh,carnivalh, driver_device,0, ROT270, "Sega", "Carnival (Head On hardware, set 1)", GAME_IMPERFECT_SOUND ) |
| 3492 | | GAME( 1980, carnivalha,carnival,carnivalh,carnivalh, driver_device,0, ROT270, "Sega", "Carnival (Head On hardware, set 2)", GAME_IMPERFECT_SOUND ) |
| 3493 | | GAME( 1981, brdrline, 0, brdrline, brdrline, driver_device, 0, ROT270, "Sega", "Borderline", GAME_NO_SOUND ) |
| 3494 | | GAME( 1981, starrkr, brdrline, brdrline, starrkr, driver_device, 0, ROT270, "Sega", "Star Raker", GAME_NO_SOUND ) |
| 3495 | | GAME( 1981, brdrlins, brdrline, brdrline, brdrline, driver_device, 0, ROT270, "bootleg (Sidam)", "Borderline (Sidam bootleg)", GAME_NO_SOUND ) |
| 3496 | | GAME( 1981, brdrlinb, brdrline, brdrline, brdrline, driver_device, 0, ROT270, "bootleg (Karateco)", "Borderline (Karateco bootleg)", GAME_NO_SOUND ) |
| 3497 | | GAME( 1980, digger, 0, digger, digger, driver_device, 0, ROT270, "Sega", "Digger", GAME_NO_SOUND ) |
| 3498 | | GAME( 1981, pulsar, 0, pulsar, pulsar, driver_device, 0, ROT270, "Sega", "Pulsar", GAME_IMPERFECT_SOUND ) |
| 3499 | | GAME( 1979, heiankyo, 0, heiankyo, heiankyo, driver_device, 0, ROT270, "Denki Onkyo", "Heiankyo Alien", GAME_NO_SOUND ) |
| 3500 | | GAME( 19??, alphaho, 0, alphaho, alphaho, driver_device, 0, ROT270, "Data East Corporation", "Alpha Fighter / Head On", GAME_WRONG_COLORS | GAME_NO_SOUND ) |
| 3377 | GAMEL(1977, depthch, 0, depthch, depthch, driver_device, 0, ROT0, "Gremlin", "Depthcharge", GAME_IMPERFECT_SOUND, layout_depthch ) |
| 3378 | GAMEL(1977, depthcho, depthch, depthch, depthch, driver_device, 0, ROT0, "Gremlin", "Depthcharge (older)", GAME_IMPERFECT_SOUND, layout_depthch ) |
| 3379 | GAMEL(1977, subhunt, depthch, depthch, depthch, driver_device, 0, ROT0, "Gremlin (Taito license)", "Sub Hunter", GAME_IMPERFECT_SOUND, layout_depthch ) |
| 3380 | GAME( 1977, safari, 0, safari, safari, driver_device, 0, ROT0, "Gremlin", "Safari (set 1)", GAME_NO_SOUND ) |
| 3381 | GAME( 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 |
| 3382 | GAME( 1978, frogs, 0, frogs, frogs, driver_device, 0, ROT0, "Gremlin", "Frogs", GAME_IMPERFECT_SOUND ) |
| 3383 | GAME( 1979, sspaceat, 0, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 1)", GAME_NO_SOUND ) |
| 3384 | GAME( 1979, sspaceat2, sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 2)", GAME_NO_SOUND ) |
| 3385 | GAME( 1979, sspaceat3, sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (upright set 3)", GAME_NO_SOUND ) |
| 3386 | GAME( 1979, sspaceatc, sspaceat, sspaceat, sspaceat, driver_device, 0, ROT270, "Sega", "Space Attack (cocktail)", GAME_NO_SOUND ) |
| 3387 | GAME( 1979, sspacaho, 0, sspacaho, sspacaho, driver_device, 0, ROT270, "Sega", "Space Attack / Head On", GAME_NO_SOUND ) |
| 3388 | GAME( 1979, headon, 0, headon, headon, driver_device, 0, ROT0, "Gremlin", "Head On (2 players)", GAME_IMPERFECT_SOUND ) |
| 3389 | GAME( 1979, headonb, headon, headon, headon, driver_device, 0, ROT0, "Gremlin", "Head On (1 player)", GAME_IMPERFECT_SOUND ) |
| 3390 | GAME( 1979, headons, headon, headons, headon, driver_device, 0, ROT0, "bootleg (Sidam)", "Head On (Sidam bootleg, set 1)", GAME_IMPERFECT_SOUND ) |
| 3391 | GAME( 1979, headonsa, headon, headons, headon, driver_device, 0, ROT0, "bootleg (Sidam)", "Head On (Sidam bootleg, set 2)", GAME_NOT_WORKING ) // won't coin up? |
| 3392 | GAME( 1979, supcrash, headon, headons, supcrash, driver_device, 0, ROT0, "bootleg", "Super Crash (bootleg of Head On)", GAME_NO_SOUND ) |
| 3393 | GAME( 1979, hocrash, headon, headons, headon, driver_device, 0, ROT0, "bootleg (Fraber)", "Crash (bootleg of Head On)", GAME_IMPERFECT_SOUND ) |
| 3394 | GAME( 1979, headon2, 0, headon2, headon2, driver_device, 0, ROT0, "Sega", "Head On 2", GAME_IMPERFECT_SOUND ) |
| 3395 | GAME( 1979, headon2s, headon2, headon2bw, car2, driver_device, 0, ROT0, "bootleg (Sidam)", "Head On 2 (Sidam bootleg)", GAME_NOT_WORKING ) // won't coin up? |
| 3396 | GAME( 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' |
| 3397 | GAME( 1979, invho2, 0, invho2, invho2, driver_device, 0, ROT270, "Sega", "Invinco / Head On 2", GAME_IMPERFECT_SOUND ) |
| 3398 | GAME( 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 |
| 3399 | GAME( 1980, samurai, 0, samurai, samurai, driver_device, 0, ROT270, "Sega", "Samurai", GAME_NO_SOUND ) |
| 3400 | GAME( 1979, invinco, 0, invinco, invinco, driver_device, 0, ROT270, "Sega", "Invinco", GAME_IMPERFECT_SOUND ) |
| 3401 | GAME( 1979, invds, 0, invds, invds, driver_device, 0, ROT270, "Sega", "Invinco / Deep Scan", GAME_IMPERFECT_SOUND ) |
| 3402 | GAME( 1980, tranqgun, 0, tranqgun, tranqgun, driver_device, 0, ROT270, "Sega", "Tranquillizer Gun", GAME_NO_SOUND ) |
| 3403 | GAME( 1980, spacetrk, 0, spacetrk, spacetrk, driver_device, 0, ROT270, "Sega", "Space Trek (upright)", GAME_NO_SOUND ) |
| 3404 | GAME( 1980, spacetrkc, spacetrk, spacetrk, spacetrkc, driver_device, 0, ROT270, "Sega", "Space Trek (cocktail)", GAME_NO_SOUND ) |
| 3405 | GAME( 1980, carnival, 0, carnival, carnival, driver_device, 0, ROT270, "Sega", "Carnival (upright)", GAME_IMPERFECT_SOUND ) |
| 3406 | GAME( 1980, carnivalc, carnival, carnival, carnivalc, driver_device, 0, ROT270, "Sega", "Carnival (cocktail)", GAME_IMPERFECT_SOUND ) |
| 3407 | GAME( 1980, carnivalh, carnival, carnivalh, carnivalh, driver_device, 0, ROT270, "Sega", "Carnival (Head On hardware, set 1)", GAME_IMPERFECT_SOUND ) |
| 3408 | GAME( 1980, carnivalha, carnival, carnivalh, carnivalh, driver_device, 0, ROT270, "Sega", "Carnival (Head On hardware, set 2)", GAME_IMPERFECT_SOUND ) |
| 3409 | GAME( 1981, brdrline, 0, brdrline, brdrline, driver_device, 0, ROT270, "Sega", "Borderline", GAME_NO_SOUND ) |
| 3410 | GAME( 1981, starrkr, brdrline, brdrline, starrkr, driver_device, 0, ROT270, "Sega", "Star Raker", GAME_NO_SOUND ) |
| 3411 | GAME( 1981, brdrlins, brdrline, brdrline, brdrline, driver_device, 0, ROT270, "bootleg (Sidam)", "Borderline (Sidam bootleg)", GAME_NO_SOUND ) |
| 3412 | GAME( 1981, brdrlinb, brdrline, brdrline, brdrline, driver_device, 0, ROT270, "bootleg (Karateco)", "Borderline (Karateco bootleg)", GAME_NO_SOUND ) |
| 3413 | GAME( 1980, digger, 0, digger, digger, driver_device, 0, ROT270, "Sega", "Digger", GAME_NO_SOUND ) |
| 3414 | GAME( 1981, pulsar, 0, pulsar, pulsar, driver_device, 0, ROT270, "Sega", "Pulsar", GAME_IMPERFECT_SOUND ) |
| 3415 | GAME( 1979, heiankyo, 0, heiankyo, heiankyo, driver_device, 0, ROT270, "Denki Onkyo", "Heiankyo Alien", GAME_NO_SOUND ) |
| 3416 | GAME( 19??, alphaho, 0, alphaho, alphaho, driver_device, 0, ROT270, "Data East Corporation", "Alpha Fighter / Head On", GAME_WRONG_COLORS | GAME_NO_SOUND ) |