trunk/src/mame/drivers/magicfly.c
| r20311 | r20312 | |
| 262 | 262 | |
| 263 | 263 | This is the only explanation I found to allow a normal boot, and seems to be |
| 264 | 264 | created as a protection method that don't allow owners to use a ROM-swap on |
| 265 | | his boards, converting one game to another. |
| 265 | their boards, converting from one game to another. |
| 266 | 266 | |
| 267 | 267 | |
| 268 | 268 | ******************************************************************************* |
| r20311 | r20312 | |
| 321 | 321 | your chance... |
| 322 | 322 | |
| 323 | 323 | |
| 324 | * Bonne Chance! |
| 324 | 325 | |
| 326 | This is a French/English poker game and maybe the hardware was meant for it. |
| 327 | Seems to be the prototype or prequel of the well known Bonanza's 'Golden Poker' |
| 328 | and 'Jack Potten Poker' (Good Luck!). Also some Cal Omega poker games are based |
| 329 | on this poker game. |
| 330 | |
| 331 | With the default DIP switches positions, the game is totally in French, and is |
| 332 | titled 'BONNE CHANCE!'. Turning the 4th DIP switch ON, the game switch to English, |
| 333 | and the title changes to 'GOOD LUCK!' (as the above mentioned games). |
| 334 | |
| 335 | |
| 325 | 336 | ******************************************************************************* |
| 326 | 337 | |
| 327 | 338 | |
| r20311 | r20312 | |
| 400 | 411 | [2013-01-17] |
| 401 | 412 | - Added Bonne Chance!. A French/English poker game prototype of |
| 402 | 413 | the well known 'Golden Poker' and 'Jack Potten Poker'. |
| 414 | - Worked complete inputs from the scratch. Promoted to working. |
| 415 | - Added some notes. |
| 403 | 416 | |
| 404 | 417 | |
| 405 | 418 | TODO: |
| 406 | 419 | |
| 407 | | - Inputs and palette for Bonne Chance!. |
| 420 | - Palette for Bonne Chance!. |
| 408 | 421 | - Simplify the gfx banks to avoid a custom palette. |
| 409 | 422 | - Document the correct pinout. |
| 410 | 423 | - Analyze the PLD. Try to reconstruct the original equations. |
| r20311 | r20312 | |
| 745 | 758 | INPUT_PORTS_END |
| 746 | 759 | |
| 747 | 760 | static INPUT_PORTS_START( bchance ) |
| 761 | /* Multiplexed 4 x 5 bits. |
| 762 | Code accept only bits 0, 1, 2, 3 and 5 as valid. |
| 763 | |
| 764 | Input Test grid... |
| 765 | |
| 766 | C1 C2 C3 C4 C5 |
| 767 | |
| 768 | R1 0 0 0 0 0 |
| 769 | R2 0 0 0 0 0 |
| 770 | R3 0 0 0 0 0 |
| 771 | R4 0 0 0 0 0 |
| 772 | */ |
| 773 | PORT_START("IN0-0") |
| 774 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) // input test R1C1 (coin 1) |
| 775 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) // input test R1C2 (coin 2) |
| 776 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("IN0-3") // input test R1C3 (unknown) |
| 777 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("IN0-4") // input test R1C4 (unknown) |
| 778 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 779 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("IN0-6") // input test R1C5 (unknown) |
| 780 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 781 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 782 | |
| 783 | PORT_START("IN0-1") |
| 784 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small") // input test R2C1 (small) |
| 785 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big") // input test R2C2 (big) |
| 786 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Payout") // input test R2C3 (payout) |
| 787 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) // input test R2C4 (take) |
| 788 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 789 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("IN1-6") // input test R2C5 (unknown) |
| 790 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 791 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 792 | |
| 793 | PORT_START("IN0-2") |
| 794 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) // input test R3C1 (hold 4) |
| 795 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) // input test R3C2 (hold 5) |
| 796 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) // input test R3C3 (hold 2) |
| 797 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) // input test R3C4 (hold 3) |
| 798 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 799 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) // input test R3C5 (hold 1) |
| 800 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 801 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 802 | |
| 803 | PORT_START("IN0-3") |
| 804 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) // input test R4C1 (start/deal) |
| 805 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) // input test R4C2 (cancel) |
| 806 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) // input test R4C3 (service/test) |
| 807 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) // input test R4C4 (d-up) |
| 808 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 809 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) // input test R4C5 (bet) |
| 810 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 811 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 812 | |
| 813 | PORT_START("DSW0") |
| 814 | /* Only 4 phisical DIP switches |
| 815 | (valid bits = 4, 6, 7) |
| 816 | */ |
| 817 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 818 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 819 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 820 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 821 | PORT_DIPNAME( 0x10, 0x10, "Bet Max" ) |
| 822 | PORT_DIPSETTING( 0x10, "20" ) |
| 823 | PORT_DIPSETTING( 0x00, "50" ) |
| 824 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 825 | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) |
| 826 | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) |
| 827 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 828 | PORT_DIPNAME( 0x80, 0x80, "Language" ) |
| 829 | PORT_DIPSETTING( 0x80, "French" ) |
| 830 | PORT_DIPSETTING( 0x00, "English" ) |
| 748 | 831 | INPUT_PORTS_END |
| 749 | 832 | |
| 750 | 833 | |
| r20311 | r20312 | |
| 889 | 972 | ROM_COPY( "gfx", 0x1800, 0x0000, 0x0800 ) /* chars */ |
| 890 | 973 | |
| 891 | 974 | ROM_REGION( 0x1800, "gfxbnk1", 0 ) |
| 892 | | ROM_COPY( "gfx", 0x1000, 0x0000, 0x0800 ) /* sprites, bitplane 1 */ |
| 893 | | ROM_COPY( "gfx", 0x3800, 0x0800, 0x0800 ) /* sprites, bitplane 2 */ |
| 894 | | ROM_COPY( "gfx", 0x5800, 0x1000, 0x0800 ) /* sprites, bitplane 3 */ |
| 975 | ROM_COPY( "gfx", 0x1000, 0x0000, 0x0800 ) /* 3bpp tiles, bitplane 1 */ |
| 976 | ROM_COPY( "gfx", 0x3800, 0x0800, 0x0800 ) /* 3bpp tiles, bitplane 2 */ |
| 977 | ROM_COPY( "gfx", 0x5800, 0x1000, 0x0800 ) /* 3bpp tiles, bitplane 3 */ |
| 895 | 978 | |
| 896 | 979 | ROM_REGION( 0x0200, "plds", 0 ) |
| 897 | 980 | ROM_LOAD( "pal16r4a-7mezzo.bin", 0x0000, 0x0104, BAD_DUMP CRC(61ac7372) SHA1(7560506468a7409075094787182ded24e2d0c0a3) ) |
| r20311 | r20312 | |
| 911 | 994 | ROM_COPY( "gfx", 0x1800, 0x0000, 0x0800 ) /* chars */ |
| 912 | 995 | |
| 913 | 996 | ROM_REGION( 0x1800, "gfxbnk1", 0 ) |
| 914 | | ROM_COPY( "gfx", 0x1000, 0x0000, 0x0800 ) /* sprites, bitplane 1 */ |
| 915 | | ROM_COPY( "gfx", 0x3800, 0x0800, 0x0800 ) /* sprites, bitplane 2 */ |
| 916 | | ROM_COPY( "gfx", 0x5800, 0x1000, 0x0800 ) /* sprites, bitplane 3 */ |
| 997 | ROM_COPY( "gfx", 0x1000, 0x0000, 0x0800 ) /* 3bpp tiles, bitplane 1 */ |
| 998 | ROM_COPY( "gfx", 0x3800, 0x0800, 0x0800 ) /* 3bpp tiles, bitplane 2 */ |
| 999 | ROM_COPY( "gfx", 0x5800, 0x1000, 0x0800 ) /* 3bpp tiles, bitplane 3 */ |
| 917 | 1000 | |
| 918 | 1001 | ROM_REGION( 0x0200, "plds", 0 ) |
| 919 | 1002 | ROM_LOAD( "gal16v8-bchance.bin", 0x0000, 0x0104, NO_DUMP ) // protected. |
| r20311 | r20312 | |
| 927 | 1010 | /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS... */ |
| 928 | 1011 | GAME( 198?, magicfly, 0, magicfly, magicfly, driver_device, 0, ROT0, "P&A Games", "Magic Fly", 0 ) |
| 929 | 1012 | GAME( 198?, 7mezzo, 0, 7mezzo, 7mezzo, driver_device, 0, ROT0, "<unknown>", "7 e Mezzo", 0 ) |
| 930 | | GAME( 198?, bchance, 0, magicfly, bchance, driver_device, 0, ROT0, "<unknown>", "Bonne Chance! (French/English)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) |
| 1013 | GAME( 198?, bchance, 0, magicfly, bchance, driver_device, 0, ROT0, "<unknown>", "Bonne Chance! (French/English)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_GRAPHICS ) |