trunk/src/mame/drivers/goldstar.c
| r244884 | r244885 | |
| 705 | 705 | popmessage("lamps: %02X", data); |
| 706 | 706 | } |
| 707 | 707 | |
| 708 | WRITE8_MEMBER(goldstar_state::pkrmast_coincount_w) |
| 709 | { |
| 710 | /* bits |
| 711 | 7654 3210 |
| 712 | ---- ---x Coin Out counter |
| 713 | ---- x--- Coin D counter |
| 714 | ---x ---- Coin C counter |
| 715 | --x- ---- Key In counter |
| 716 | -x-- ---- Coin A counter |
| 717 | x--- -xx- Unused in Crazy Bonus |
| 718 | */ |
| 719 | |
| 720 | coin_counter_w(machine(), 0, data & 0x40); /* Counter 1 Coin A */ |
| 721 | coin_counter_w(machine(), 1, data & 0x20); /* Counter 2 Key In */ |
| 722 | coin_counter_w(machine(), 2, data & 0x10); /* Counter 3 Coin C */ |
| 723 | coin_counter_w(machine(), 3, data & 0x08); /* Counter 4 Coin D */ |
| 724 | coin_counter_w(machine(), 4, data & 0x01); /* Counter 5 Payout */ |
| 725 | |
| 726 | if (data & 0x86) |
| 727 | popmessage("counters: %02X", data); |
| 728 | } |
| 729 | |
| 708 | 730 | static ADDRESS_MAP_START( pkrmast_portmap, AS_IO, 8, goldstar_state ) |
| 709 | 731 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 710 | 732 | |
| r244884 | r244885 | |
| 720 | 742 | AM_RANGE(0x21, 0x21) AM_READ_PORT("DSW3-1") |
| 721 | 743 | AM_RANGE(0x22, 0x22) AM_WRITE(pkrmast_lamps_w) |
| 722 | 744 | |
| 745 | AM_RANGE(0x24, 0x24) AM_WRITE(pkrmast_coincount_w) |
| 723 | 746 | AM_RANGE(0x25, 0x25) AM_READ_PORT("DSW1") |
| 724 | 747 | AM_RANGE(0x26, 0x26) AM_READ_PORT("DSW2") |
| 725 | 748 | ADDRESS_MAP_END |
| r244884 | r244885 | |
| 1248 | 1271 | INPUT_PORTS_END |
| 1249 | 1272 | |
| 1250 | 1273 | |
| 1274 | static INPUT_PORTS_START( cb3_dsw1 ) |
| 1275 | PORT_START("DSW1") |
| 1276 | PORT_DIPNAME( 0x01, 0x01, "Game Style" ) PORT_DIPLOCATION("DSW1:1") |
| 1277 | PORT_DIPSETTING( 0x01, "Tokens" ) |
| 1278 | PORT_DIPSETTING( 0x00, "Ticket" ) |
| 1279 | PORT_DIPNAME( 0x02, 0x02, "Hopper Out Switch" ) PORT_DIPLOCATION("DSW1:2") |
| 1280 | PORT_DIPSETTING( 0x02, "Active Low" ) |
| 1281 | PORT_DIPSETTING( 0x00, "Active High" ) |
| 1282 | PORT_DIPNAME( 0x04, 0x04, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") |
| 1283 | PORT_DIPSETTING( 0x04, "Payout Switch" ) |
| 1284 | PORT_DIPSETTING( 0x00, "Automatic" ) |
| 1285 | PORT_DIPNAME( 0x08, 0x08, "'7' In Double Up Game" ) PORT_DIPLOCATION("DSW1:4") |
| 1286 | PORT_DIPSETTING( 0x08, "Loss" ) |
| 1287 | PORT_DIPSETTING( 0x00, "Even" ) |
| 1288 | PORT_DIPNAME( 0x10, 0x10, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") |
| 1289 | PORT_DIPSETTING( 0x10, "80%" ) |
| 1290 | PORT_DIPSETTING( 0x00, "90%" ) |
| 1291 | PORT_DIPNAME( 0x20, 0x20, "Double Up Game" ) PORT_DIPLOCATION("DSW1:6") |
| 1292 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1293 | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) |
| 1294 | PORT_DIPNAME( 0xc0, 0xc0, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") |
| 1295 | PORT_DIPSETTING( 0xc0, "8" ) |
| 1296 | PORT_DIPSETTING( 0x80, "16" ) |
| 1297 | PORT_DIPSETTING( 0x40, "32" ) |
| 1298 | PORT_DIPSETTING( 0x00, "64" ) |
| 1299 | INPUT_PORTS_END |
| 1300 | |
| 1251 | 1301 | static INPUT_PORTS_START( cb3_dsw3 ) |
| 1252 | 1302 | PORT_INCLUDE( cmv4_dsw3 ) |
| 1253 | 1303 | PORT_MODIFY("DSW3") |
| r244884 | r244885 | |
| 1284 | 1334 | |
| 1285 | 1335 | static INPUT_PORTS_START( cb3_dsw5 ) |
| 1286 | 1336 | PORT_START("DSW5") |
| 1287 | | PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:1") /* not checked */ |
| 1337 | PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:1") |
| 1288 | 1338 | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 1289 | 1339 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1290 | | PORT_DIPNAME( 0x06, 0x06, "Coin In Limit" ) PORT_DIPLOCATION("DSW5:2,3") /* not working */ |
| 1340 | PORT_DIPNAME( 0x06, 0x06, "Coin In Limit" ) PORT_DIPLOCATION("DSW5:2,3") |
| 1291 | 1341 | PORT_DIPSETTING( 0x06, "1,000" ) |
| 1292 | 1342 | PORT_DIPSETTING( 0x04, "5,000" ) |
| 1293 | 1343 | PORT_DIPSETTING( 0x02, "10,000" ) |
| 1294 | 1344 | PORT_DIPSETTING( 0x00, "20,000" ) |
| 1295 | | PORT_DIPNAME( 0x18, 0x10, "Coin Out Rate" ) PORT_DIPLOCATION("DSW5:4,5") /* not checked */ |
| 1345 | PORT_DIPNAME( 0x18, 0x10, "Coin Out Rate" ) PORT_DIPLOCATION("DSW5:4,5") |
| 1296 | 1346 | PORT_DIPSETTING( 0x00, "100 Credits / 1 Pulse" ) |
| 1297 | 1347 | PORT_DIPSETTING( 0x08, "100 Credits / 5 Pulses" ) |
| 1298 | 1348 | PORT_DIPSETTING( 0x10, "100 Credits / 10 Pulses" ) |
| 1299 | 1349 | PORT_DIPSETTING( 0x18, "100 Credits / 100 Pulses" ) |
| 1300 | | PORT_DIPNAME( 0x20, 0x20, "W-Up Girl" ) PORT_DIPLOCATION("DSW5:6") /* not working */ |
| 1350 | PORT_DIPNAME( 0x20, 0x20, "Double Up Girl" ) PORT_DIPLOCATION("DSW5:6") |
| 1301 | 1351 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 1302 | 1352 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1303 | | PORT_DIPNAME( 0xc0, 0xc0, "Coin In Rate" ) PORT_DIPLOCATION("DSW5:7,8") /* not checked */ |
| 1353 | PORT_DIPNAME( 0xc0, 0xc0, "Coin In Rate" ) PORT_DIPLOCATION("DSW5:7,8") |
| 1304 | 1354 | PORT_DIPSETTING( 0xc0, "100 Credits / 1 Pulse" ) |
| 1305 | 1355 | PORT_DIPSETTING( 0x40, "100 Credits / 5 Pulses" ) |
| 1306 | 1356 | PORT_DIPSETTING( 0x80, "100 Credits / 10 Pulses" ) |
| r244884 | r244885 | |
| 1866 | 1916 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1867 | 1917 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1868 | 1918 | |
| 1869 | | PORT_START("DSW1") |
| 1870 | | PORT_DIPNAME( 0x01, 0x01, "Game Style" ) PORT_DIPLOCATION("DSW1:1") |
| 1871 | | PORT_DIPSETTING( 0x01, "Tokens" ) |
| 1872 | | PORT_DIPSETTING( 0x00, "Ticket" ) |
| 1873 | | PORT_DIPNAME( 0x02, 0x02, "Hopper Out Switch" ) PORT_DIPLOCATION("DSW1:2") |
| 1874 | | PORT_DIPSETTING( 0x02, "Active Low" ) |
| 1875 | | PORT_DIPSETTING( 0x00, "Active High" ) |
| 1876 | | PORT_DIPNAME( 0x04, 0x04, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") |
| 1877 | | PORT_DIPSETTING( 0x04, "Payout Switch" ) |
| 1878 | | PORT_DIPSETTING( 0x00, "Automatic" ) |
| 1879 | | PORT_DIPNAME( 0x08, 0x00, "W-UP '7'" ) PORT_DIPLOCATION("DSW1:4") |
| 1880 | | PORT_DIPSETTING( 0x08, "Loss" ) |
| 1881 | | PORT_DIPSETTING( 0x00, "Even" ) |
| 1882 | | PORT_DIPNAME( 0x10, 0x10, "W-UP Pay Rate" ) PORT_DIPLOCATION("DSW1:5") |
| 1883 | | PORT_DIPSETTING( 0x10, "80%" ) |
| 1884 | | PORT_DIPSETTING( 0x00, "90%" ) |
| 1885 | | PORT_DIPNAME( 0x20, 0x20, "W-UP Game" ) PORT_DIPLOCATION("DSW1:6") |
| 1886 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1887 | | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) |
| 1888 | | PORT_DIPNAME( 0xc0, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") |
| 1919 | PORT_INCLUDE( cb3_dsw1 ) |
| 1920 | PORT_MODIFY("DSW1") |
| 1921 | /* Game Style not checked */ |
| 1922 | /* Hopper Out Switch not checked */ |
| 1923 | /* Payout Mode not checked */ |
| 1924 | /* '7' In Double Up Game not checked */ |
| 1925 | /* Double Up Game Pay Rate OK */ |
| 1926 | /* Double Up Game OK */ |
| 1927 | PORT_DIPNAME( 0xc0, 0xc0, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") |
| 1889 | 1928 | PORT_DIPSETTING( 0xc0, "8" ) |
| 1890 | 1929 | PORT_DIPSETTING( 0x80, "16" ) |
| 1891 | 1930 | PORT_DIPSETTING( 0x40, "32" ) |
| r244884 | r244885 | |
| 2474 | 2513 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2475 | 2514 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 2476 | 2515 | |
| 2477 | | PORT_START("DSW1") |
| 2478 | | PORT_DIPNAME( 0x01, 0x00, "Game Style" ) PORT_DIPLOCATION("DSW1:1") /* OK */ |
| 2479 | | PORT_DIPSETTING( 0x01, "Tokens" ) |
| 2480 | | PORT_DIPSETTING( 0x00, "Ticket" ) |
| 2481 | | PORT_DIPNAME( 0x02, 0x02, "Hopper Out Switch" ) PORT_DIPLOCATION("DSW1:2") /* OK */ |
| 2482 | | PORT_DIPSETTING( 0x02, "Active Low" ) |
| 2483 | | PORT_DIPSETTING( 0x00, "Active High" ) |
| 2484 | | PORT_DIPNAME( 0x04, 0x04, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") /* OK */ |
| 2485 | | PORT_DIPSETTING( 0x04, "Payout Switch" ) |
| 2486 | | PORT_DIPSETTING( 0x00, "Automatic" ) |
| 2487 | | PORT_DIPNAME( 0x08, 0x00, "W-UP '7'" ) PORT_DIPLOCATION("DSW1:4") |
| 2488 | | PORT_DIPSETTING( 0x08, "Loss" ) |
| 2489 | | PORT_DIPSETTING( 0x00, "Even" ) |
| 2490 | | PORT_DIPNAME( 0x10, 0x10, "W-UP Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ |
| 2491 | | PORT_DIPSETTING( 0x10, "80%" ) |
| 2492 | | PORT_DIPSETTING( 0x00, "90%" ) |
| 2493 | | PORT_DIPNAME( 0x20, 0x20, "W-UP Game" ) PORT_DIPLOCATION("DSW1:6") /* OK */ |
| 2494 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 2495 | | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) |
| 2496 | | PORT_DIPNAME( 0xc0, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ |
| 2497 | | PORT_DIPSETTING( 0xc0, "8" ) |
| 2498 | | PORT_DIPSETTING( 0x80, "16" ) |
| 2499 | | PORT_DIPSETTING( 0x40, "32" ) |
| 2500 | | PORT_DIPSETTING( 0x00, "64" ) |
| 2516 | PORT_INCLUDE( cb3_dsw1 ) |
| 2517 | /* Game Style not checked */ |
| 2518 | /* Hopper Out Switch not checked */ |
| 2519 | /* Payout Mode not checked */ |
| 2520 | /* '7' In Double Up Game not checked */ |
| 2521 | /* Double Up Game Pay Rate OK */ |
| 2522 | /* Double Up Game OK */ |
| 2523 | /* Bet Max OK */ |
| 2501 | 2524 | |
| 2502 | 2525 | PORT_INCLUDE( cmv4_dsw2 ) |
| 2503 | 2526 | PORT_MODIFY("DSW2") |
| r244884 | r244885 | |
| 2551 | 2574 | /* DSW5-1 not checked */ |
| 2552 | 2575 | /* Coin In Limit not working */ |
| 2553 | 2576 | /* Coin Out Rate not checked */ |
| 2554 | | /* W-Up Girl not working */ |
| 2577 | /* Double Up Girl not working (always shows face in demo) */ |
| 2555 | 2578 | /* Coin In Rate not checked */ |
| 2556 | 2579 | INPUT_PORTS_END |
| 2557 | 2580 | |
| r244884 | r244885 | |
| 2580 | 2603 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_CODE(KEYCODE_D) PORT_NAME("P2 - Stop 3 / Small / Info / Card 1") |
| 2581 | 2604 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_CODE(KEYCODE_H) PORT_NAME("P2 - Start / Stop All / Card 4") |
| 2582 | 2605 | |
| 2583 | | /* to check DIP switches... */ |
| 2584 | | PORT_START("DSW1") |
| 2585 | | PORT_DIPNAME( 0x01, 0x01, "Game Style" ) PORT_DIPLOCATION("DSW1:1") |
| 2586 | | PORT_DIPSETTING( 0x01, "Tokens" ) |
| 2587 | | PORT_DIPSETTING( 0x00, "Ticket" ) |
| 2588 | | PORT_DIPNAME( 0x02, 0x02, "Hopper Out Switch" ) PORT_DIPLOCATION("DSW1:2") |
| 2589 | | PORT_DIPSETTING( 0x02, "Active Low" ) |
| 2590 | | PORT_DIPSETTING( 0x00, "Active High" ) |
| 2591 | | PORT_DIPNAME( 0x04, 0x04, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") |
| 2592 | | PORT_DIPSETTING( 0x04, "Payout Switch" ) |
| 2593 | | PORT_DIPSETTING( 0x00, "Automatic" ) |
| 2594 | | PORT_DIPNAME( 0x08, 0x00, "W-UP '7'" ) PORT_DIPLOCATION("DSW1:4") |
| 2595 | | PORT_DIPSETTING( 0x08, "Loss" ) |
| 2596 | | PORT_DIPSETTING( 0x00, "Even" ) |
| 2597 | | PORT_DIPNAME( 0x10, 0x10, "W-UP Pay Rate" ) PORT_DIPLOCATION("DSW1:5") |
| 2598 | | PORT_DIPSETTING( 0x10, "80%" ) |
| 2599 | | PORT_DIPSETTING( 0x00, "90%" ) |
| 2600 | | PORT_DIPNAME( 0x20, 0x20, "W-UP Game" ) PORT_DIPLOCATION("DSW1:6") |
| 2601 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 2602 | | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) |
| 2603 | | PORT_DIPNAME( 0xc0, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") |
| 2604 | | PORT_DIPSETTING( 0xc0, "8" ) |
| 2605 | | PORT_DIPSETTING( 0x80, "16" ) |
| 2606 | | PORT_DIPSETTING( 0x40, "32" ) |
| 2607 | | PORT_DIPSETTING( 0x00, "64" ) |
| 2606 | PORT_INCLUDE( cb3_dsw1 ) |
| 2607 | /* Game Style not checked */ |
| 2608 | /* Hopper Out Switch not checked */ |
| 2609 | /* Payout Mode not checked */ |
| 2610 | /* '7' In Double Up Game not checked */ |
| 2611 | /* Double Up Game Pay Rate OK */ |
| 2612 | /* Double Up Game OK */ |
| 2613 | /* Bet Max OK */ |
| 2608 | 2614 | |
| 2609 | 2615 | PORT_INCLUDE( cmv4_dsw2 ) |
| 2610 | 2616 | PORT_MODIFY("DSW2") |
| r244884 | r244885 | |
| 2630 | 2636 | /* DSW5-1 not checked */ |
| 2631 | 2637 | /* Coin In Limit not working */ |
| 2632 | 2638 | /* Coin Out Rate not checked */ |
| 2633 | | /* W-Up Girl not working */ |
| 2639 | /* Double Up Girl not working (always shows face in demo) */ |
| 2634 | 2640 | /* Coin In Rate not checked */ |
| 2635 | 2641 | INPUT_PORTS_END |
| 2636 | 2642 | |
| r244884 | r244885 | |
| 5915 | 5921 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small / Info") |
| 5916 | 5922 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") |
| 5917 | 5923 | |
| 5918 | | PORT_START("IN1") |
| 5919 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 5920 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 5921 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 5922 | | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 5923 | | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Coin B") |
| 5924 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin C") |
| 5925 | | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) |
| 5926 | | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin A") |
| 5924 | PORT_INCLUDE( cmv4_coins ) |
| 5925 | PORT_MODIFY("IN1") |
| 5926 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* Unused coin switch */ |
| 5927 | 5927 | |
| 5928 | 5928 | PORT_INCLUDE( cmv4_service ) |
| 5929 | 5929 | |
| r244884 | r244885 | |
| 5934 | 5934 | PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:2") |
| 5935 | 5935 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 5936 | 5936 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5937 | | PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:3") |
| 5938 | | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 5939 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 5937 | PORT_DIPNAME( 0x04, 0x00, "Coin Out Rate" ) PORT_DIPLOCATION("DSW1:3") /* OK */ |
| 5938 | PORT_DIPSETTING( 0x04, "1" ) |
| 5939 | PORT_DIPSETTING( 0x00, "10" ) |
| 5940 | 5940 | PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:4") |
| 5941 | 5941 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 5942 | 5942 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |