trunk/src/mame/drivers/merit.c
| r19244 | r19245 | |
| 36 | 36 | service mode says "6221-51 U5-0 12/02/86" |
| 37 | 37 | |
| 38 | 38 | --------------------------------------------------------------------------- |
| 39 | |
| 40 | Merit Riviera Notes - There are several known versions: |
| 41 | Riviera Hi-Score |
| 42 | Riviera Americana (not dumped) |
| 43 | Riviera Super Star (not dumped) |
| 44 | Riviera Montana Version (with journal printer, not dumped) |
| 45 | Riviera Tennessee Draw (not dumped) |
| 46 | Michigan Superstar (not dumped) |
| 47 | |
| 48 | There are several law suites over the Riviera games. Riviera Distributors Inc. bought earlier versions |
| 49 | of the various video poker games from Merit. RDI then licensed the games to Michigan Coin Op-Vending |
| 50 | Inc. The legal battles over true ownership started in 2004 and carried on through at least 09/01/2011. |
| 51 | |
| 39 | 52 | */ |
| 40 | 53 | |
| 41 | 54 | #include "emu.h" |
| r19244 | r19245 | |
| 971 | 984 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 972 | 985 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 973 | 986 | |
| 974 | | |
| 975 | 987 | PORT_START("IN2") |
| 976 | 988 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 977 | 989 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| r19244 | r19245 | |
| 1007 | 1019 | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) |
| 1008 | 1020 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1009 | 1021 | PORT_DIPSETTING( 0x80, DEF_STR( On ) ) |
| 1010 | | |
| 1011 | 1022 | INPUT_PORTS_END |
| 1012 | 1023 | |
| 1013 | 1024 | static INPUT_PORTS_START( bigappg ) |
| r19244 | r19245 | |
| 1035 | 1046 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 1036 | 1047 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 1037 | 1048 | |
| 1038 | | |
| 1039 | 1049 | PORT_START("IN2") |
| 1040 | 1050 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 1041 | 1051 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| r19244 | r19245 | |
| 1071 | 1081 | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) |
| 1072 | 1082 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1073 | 1083 | PORT_DIPSETTING( 0x80, DEF_STR( On ) ) |
| 1084 | INPUT_PORTS_END |
| 1074 | 1085 | |
| 1086 | static INPUT_PORTS_START( dodge ) |
| 1087 | PORT_START("IN0") /* These are NOT verified */ |
| 1088 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME( "Hold 1 / Take / Lo" ) |
| 1089 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) |
| 1090 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) |
| 1091 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) |
| 1092 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME( "Hold 5 / Double Up / Hi" ) |
| 1093 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) |
| 1094 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) |
| 1095 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME( "Cash Out / Hi-Score" ) |
| 1096 | |
| 1097 | PORT_START("IN1") |
| 1098 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) |
| 1099 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) |
| 1100 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1101 | PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW ) |
| 1102 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_STAND ) |
| 1103 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1104 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1105 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1106 | |
| 1107 | PORT_START("IN2") |
| 1108 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 1109 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1110 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1111 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1112 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1113 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1114 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1115 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, merit_state,rndbit_r, NULL) |
| 1116 | |
| 1117 | PORT_START("DSW") |
| 1118 | PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1") |
| 1119 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1120 | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) |
| 1121 | PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:2") |
| 1122 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1123 | PORT_DIPSETTING( 0x02, DEF_STR( On ) ) |
| 1124 | PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") |
| 1125 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1126 | PORT_DIPSETTING( 0x04, DEF_STR( On ) ) |
| 1127 | PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:4") |
| 1128 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1129 | PORT_DIPSETTING( 0x08, DEF_STR( On ) ) |
| 1130 | PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:5") |
| 1131 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1132 | PORT_DIPSETTING( 0x10, DEF_STR( On ) ) |
| 1133 | PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:6") |
| 1134 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1135 | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) |
| 1136 | PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:7") |
| 1137 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1138 | PORT_DIPSETTING( 0x40, DEF_STR( On ) ) |
| 1139 | PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:8") |
| 1140 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1141 | PORT_DIPSETTING( 0x80, DEF_STR( On ) ) |
| 1075 | 1142 | INPUT_PORTS_END |
| 1076 | 1143 | |
| 1144 | static INPUT_PORTS_START( riviera ) |
| 1145 | PORT_START("IN0") |
| 1146 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME( "Hold 1 / Take / Lo" ) |
| 1147 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) |
| 1148 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) |
| 1149 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) |
| 1150 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME( "Hold 5 / Double Up / Hi" ) |
| 1151 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) |
| 1152 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) |
| 1153 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME( "Cash Out / Hi-Score" ) |
| 1154 | |
| 1155 | PORT_START("IN1") |
| 1156 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(1) |
| 1157 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(1) |
| 1158 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1159 | PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW ) |
| 1160 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_STAND ) |
| 1161 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1162 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1163 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1164 | |
| 1165 | PORT_START("IN2") |
| 1166 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 1167 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1168 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1169 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1170 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1171 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1172 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1173 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, merit_state,rndbit_r, NULL) |
| 1174 | |
| 1175 | PORT_START("DSW") |
| 1176 | PORT_DIPNAME( 0x01, 0x00, "Auto Hold" ) PORT_DIPLOCATION("SW1:1") |
| 1177 | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 1178 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1179 | PORT_DIPNAME( 0x02, 0x00, "Bonus Jackpot" ) PORT_DIPLOCATION("SW1:2") |
| 1180 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 1181 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1182 | PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:3") |
| 1183 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1184 | PORT_DIPSETTING( 0x04, DEF_STR( On ) ) |
| 1185 | PORT_DIPNAME( 0x08, 0x00, "Raise Option" ) PORT_DIPLOCATION("SW1:4") |
| 1186 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 1187 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1188 | PORT_DIPNAME( 0x10, 0x00, "Points Per Coin" ) PORT_DIPLOCATION("SW1:5") |
| 1189 | PORT_DIPSETTING( 0x00, "5" ) |
| 1190 | PORT_DIPSETTING( 0x10, "1" ) |
| 1191 | PORT_DIPNAME( 0x20, 0x00, "Double Up" ) PORT_DIPLOCATION("SW1:6") |
| 1192 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 1193 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1194 | PORT_DIPNAME( 0xc0, 0x00, "Maximum Bet" ) PORT_DIPLOCATION("SW1:7,8") |
| 1195 | PORT_DIPSETTING( 0x40, "10" ) |
| 1196 | PORT_DIPSETTING( 0xc0, "20" ) |
| 1197 | PORT_DIPSETTING( 0x00, "50" ) |
| 1198 | PORT_DIPSETTING( 0x80, "50" ) /* Duplicate setting */ |
| 1199 | INPUT_PORTS_END |
| 1200 | |
| 1077 | 1201 | static INPUT_PORTS_START( couple ) |
| 1078 | 1202 | PORT_START("IN0") |
| 1079 | 1203 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) |
| r19244 | r19245 | |
| 1276 | 1400 | |
| 1277 | 1401 | MCFG_CPU_MODIFY("maincpu") |
| 1278 | 1402 | MCFG_CPU_PROGRAM_MAP(dodge_map) |
| 1403 | MCFG_CPU_IO_MAP(tictac_io_map) |
| 1279 | 1404 | |
| 1280 | 1405 | MCFG_NVRAM_ADD_CUSTOM_DRIVER("nvram", merit_state, dodge_nvram_init) |
| 1281 | 1406 | MACHINE_CONFIG_END |
| r19244 | r19245 | |
| 1403 | 1528 | ROM_LOAD( "u40", 0x0000, 0x2000, CRC(b13a3fb1) SHA1(25760aa27c88b8be248a87df724bf8797d179e7a) ) |
| 1404 | 1529 | ROM_END |
| 1405 | 1530 | |
| 1531 | ROM_START( riviera ) /* PAL16L8ANC labeled DEC-003 at U13 */ |
| 1532 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 1533 | ROM_LOAD( "2131-08_u5-4a.u5", 0x0000, 0x8000, CRC(0bc8cf26) SHA1(da52010be2d44a240160bb1a13288b35e8feade2) ) /* 08 U5-4A 111287 2131-84A, label shows (c) 1988 */ |
| 1534 | |
| 1535 | ROM_REGION( 0x6000, "gfx1", 0 ) |
| 1536 | ROM_LOAD( "hisc_u39.u39", 0x00000, 0x2000, CRC(1814c2ea) SHA1(fecc5dc1c0a56cbc7b68ee6a52222de348d6cc79) ) |
| 1537 | ROM_LOAD( "hisc_u38.u38", 0x02000, 0x2000, CRC(ef1d7a80) SHA1(539662bee187a300a6f1bcded954758c87171219) ) |
| 1538 | ROM_LOAD( "hisc_u37.u37", 0x04000, 0x2000, CRC(f6e709f8) SHA1(02905be912d0aa794f82926462f854e8e67dc407) ) |
| 1539 | |
| 1540 | ROM_REGION( 0x2000, "gfx2", 0 ) |
| 1541 | ROM_LOAD( "hisc_u40.u40", 0x00000, 0x2000, CRC(6d2a1ca8) SHA1(96ef3e0914c2b213ed9c9082fa3e27d75d52a8ec) ) |
| 1542 | ROM_END |
| 1543 | |
| 1544 | ROM_START( rivieraa ) /* PAL16L8ANC labeled DEC-003 at U13 */ |
| 1545 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 1546 | ROM_LOAD( "2131-08_u5-4.u5", 0x0000, 0x8000, CRC(ce0b00f2) SHA1(c467c2c08d0bbadf80d67f41e17127e08ce3b3ff) ) /* 08 U5-4 111786 2131-84, label shows (c) 1987 */ |
| 1547 | |
| 1548 | ROM_REGION( 0x6000, "gfx1", 0 ) |
| 1549 | ROM_LOAD( "hisc_u39.u39", 0x00000, 0x2000, CRC(1814c2ea) SHA1(fecc5dc1c0a56cbc7b68ee6a52222de348d6cc79) ) |
| 1550 | ROM_LOAD( "hisc_u38.u38", 0x02000, 0x2000, CRC(ef1d7a80) SHA1(539662bee187a300a6f1bcded954758c87171219) ) |
| 1551 | ROM_LOAD( "hisc_u37.u37", 0x04000, 0x2000, CRC(f6e709f8) SHA1(02905be912d0aa794f82926462f854e8e67dc407) ) |
| 1552 | |
| 1553 | ROM_REGION( 0x2000, "gfx2", 0 ) |
| 1554 | ROM_LOAD( "hisc_u40.u40", 0x00000, 0x2000, CRC(6d2a1ca8) SHA1(96ef3e0914c2b213ed9c9082fa3e27d75d52a8ec) ) |
| 1555 | ROM_END |
| 1556 | |
| 1406 | 1557 | ROM_START( bigappg ) |
| 1407 | 1558 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 1408 | 1559 | ROM_LOAD( "2131-13_u5-0.u5", 0x0000, 0x8000, CRC(47bad6fd) SHA1(87f6c603b52e184f82179869d7b58453cbd34814) ) /* 2131-13 U5-0 111786 */ |
| r19244 | r19245 | |
| 2125 | 2276 | GAME( 1986, phrcrazec,phrcraze,phrcraze, phrcrazs, merit_state, key_7, ROT0, "Merit", "Phraze Craze (Expanded Questions, set 2)", GAME_SUPPORTS_SAVE ) |
| 2126 | 2277 | GAME( 1986, phrcrazev,phrcraze,phrcraze, phrcrazs, merit_state, key_7, ROT90, "Merit", "Phraze Craze (Sex Kit, Vertical)", GAME_SUPPORTS_SAVE ) |
| 2127 | 2278 | |
| 2279 | GAME( 1987, riviera, 0, dodge, riviera, driver_device, 0, ROT0, "Merit", "Riviera Hi-Score (2131-08, U5-4A)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) |
| 2280 | GAME( 1986, rivieraa, riviera, dodge, riviera, driver_device, 0, ROT0, "Merit", "Riviera Hi-Score (2131-08, U5-4)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS ) |
| 2281 | |
| 2128 | 2282 | GAME( 1986, bigappg, 0, bigappg, bigappg, driver_device, 0, ROT0, "Merit", "Big Apple Games (2131-13)", GAME_SUPPORTS_SAVE ) |
| 2129 | 2283 | |
| 2130 | | GAME( 1986, dodgectya,dodgecty,dodge, couple, driver_device, 0, ROT0, "Merit", "Dodge City (2131-82, U5-0D)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) |
| 2131 | | GAME( 1986, dodgectyb,dodgecty,dodge, couple, driver_device, 0, ROT0, "Merit", "Dodge City (2131-82, U5-50)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) |
| 2132 | | GAME( 1986, dodgectyc,dodgecty,dodge, couple, driver_device, 0, ROT0, "Merit", "Dodge City (2131-82, U5-0 GT)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) |
| 2284 | GAME( 1986, dodgectya,dodgecty,dodge, dodge, driver_device, 0, ROT0, "Merit", "Dodge City (2131-82, U5-0D)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) |
| 2285 | GAME( 1986, dodgectyb,dodgecty,dodge, dodge, driver_device, 0, ROT0, "Merit", "Dodge City (2131-82, U5-50)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) |
| 2286 | GAME( 1986, dodgectyc,dodgecty,dodge, dodge, driver_device, 0, ROT0, "Merit", "Dodge City (2131-82, U5-0 GT)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING ) |
| 2133 | 2287 | |
| 2134 | 2288 | GAME( 1987, dtrvwz5, 0, dtrvwz5, dtrvwh5, merit_state, dtrvwz5,ROT0, "Merit", "Deluxe Trivia ? Whiz (Edition 5)", GAME_SUPPORTS_SAVE ) |
| 2135 | 2289 | |