trunk/src/mame/drivers/scramble.c
| r18929 | r18930 | |
| 371 | 371 | ADDRESS_MAP_END |
| 372 | 372 | |
| 373 | 373 | |
| 374 | // Harem |
| 374 | 375 | |
| 375 | 376 | static ADDRESS_MAP_START( harem_map, AS_PROGRAM, 8, scramble_state ) |
| 376 | 377 | AM_RANGE(0x0000, 0x1fff) AM_ROM |
| 378 | |
| 377 | 379 | AM_RANGE(0x2000, 0x27ff) AM_RAM |
| 378 | | AM_RANGE(0x4000, 0x47ff) AM_RAM |
| 379 | | AM_RANGE(0x4800, 0x4fff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) AM_SHARE("videoram") |
| 380 | | AM_RANGE(0x5000, 0x5000) AM_WRITENOP |
| 381 | | AM_RANGE(0x5800, 0x5800) AM_READ(watchdog_reset_r) AM_WRITE(galaxold_nmi_enable_w) // or is nmi mask 5801 like other games? |
| 382 | | AM_RANGE(0x5801, 0x5807) AM_WRITENOP |
| 380 | |
| 381 | AM_RANGE(0x4000, 0x403f) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram") |
| 382 | AM_RANGE(0x4040, 0x405f) AM_RAM AM_SHARE("spriteram") |
| 383 | AM_RANGE(0x4060, 0x407f) AM_RAM AM_SHARE("bulletsram") |
| 384 | AM_RANGE(0x4080, 0x47ff) AM_RAM |
| 385 | |
| 386 | AM_RANGE(0x4800, 0x4bff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) AM_SHARE("videoram") |
| 387 | AM_RANGE(0x4c00, 0x4fff) AM_READWRITE(galaxold_videoram_r, galaxold_videoram_w) // mirror address |
| 388 | |
| 389 | AM_RANGE(0x5000, 0x5000) AM_RAM_WRITE(racknrol_tiles_bank_w) AM_SHARE("racknrol_tbank") // high bits of tiles, 1 bit every 4 columns |
| 390 | AM_RANGE(0x5800, 0x5800) AM_READ(watchdog_reset_r) AM_WRITE(galaxold_nmi_enable_w) |
| 391 | |
| 392 | AM_RANGE(0x5801, 0x5801) AM_WRITE(harem_decrypt_clk_w) // run-time bitswap selection |
| 393 | AM_RANGE(0x5802, 0x5802) AM_WRITE(harem_decrypt_bit_w) |
| 394 | AM_RANGE(0x5803, 0x5803) AM_WRITE(harem_decrypt_rst_w) |
| 395 | |
| 396 | AM_RANGE(0x5804, 0x5804) AM_WRITE(galaxold_coin_counter_w) |
| 397 | AM_RANGE(0x5805, 0x5805) AM_WRITE(galaxold_gfxbank_w) // bit 0 = sprite tiles high bit |
| 398 | AM_RANGE(0x5806, 0x5806) AM_WRITE(galaxold_flip_screen_x_w) // maybe (0 at boot) |
| 399 | AM_RANGE(0x5807, 0x5807) AM_WRITE(galaxold_flip_screen_y_w) // "" |
| 400 | |
| 383 | 401 | AM_RANGE(0x6100, 0x6103) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) |
| 384 | 402 | AM_RANGE(0x6200, 0x6203) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) |
| 385 | | AM_RANGE(0x8000, 0x9fff) AM_ROM |
| 386 | 403 | |
| 387 | | // placeholders |
| 388 | | AM_RANGE(0xff00, 0xff3f) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram") |
| 389 | | AM_RANGE(0xff40, 0xff5f) AM_RAM AM_SHARE("spriteram") |
| 390 | | AM_RANGE(0xff60, 0xff7f) AM_RAM AM_SHARE("bulletsram") |
| 404 | AM_RANGE(0x8000, 0x9fff) AM_ROMBANK("rombank") // bitswapped rom |
| 391 | 405 | ADDRESS_MAP_END |
| 392 | 406 | |
| 393 | 407 | static ADDRESS_MAP_START( harem_sound_map, AS_PROGRAM, 8, scramble_state ) |
| 394 | 408 | AM_RANGE(0x0000, 0x2fff) AM_ROM |
| 409 | AM_RANGE(0x6000, 0x6000) AM_READNOP |
| 395 | 410 | AM_RANGE(0x8000, 0x83ff) AM_RAM |
| 396 | | AM_RANGE(0xa000, 0xa000) AM_WRITENOP |
| 411 | AM_RANGE(0xa000, 0xafff) AM_WRITE(scramble_filter_w) |
| 397 | 412 | ADDRESS_MAP_END |
| 398 | 413 | |
| 399 | 414 | static ADDRESS_MAP_START( harem_sound_io_map, AS_IO, 8, scramble_state ) |
| 400 | 415 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 401 | | AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("8910.1", ay8910_address_w) |
| 402 | | AM_RANGE(0x08, 0x08) AM_DEVWRITE_LEGACY("8910.1", ay8910_data_w) |
| 403 | | AM_RANGE(0x10, 0x10) AM_DEVWRITE_LEGACY("8910.2", ay8910_address_w) |
| 404 | | AM_RANGE(0x20, 0x20) AM_DEVWRITE_LEGACY("8910.2", ay8910_data_w) |
| 405 | | AM_RANGE(0x40, 0x40) AM_DEVWRITE_LEGACY("8910.3", ay8910_address_w) |
| 406 | | AM_RANGE(0x80, 0x80) AM_DEVWRITE_LEGACY("8910.3", ay8910_data_w) |
| 407 | | AM_RANGE(0x80, 0x80) AM_READ(soundlatch_byte_r) |
| 416 | |
| 417 | // ports->speech?: |
| 418 | AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY ("8910.3", ay8910_address_w) |
| 419 | AM_RANGE(0x08, 0x08) AM_DEVREADWRITE_LEGACY("8910.3", ay8910_r, ay8910_data_w) |
| 420 | // same as scramble: |
| 421 | AM_RANGE(0x10, 0x10) AM_DEVWRITE_LEGACY ("8910.1", ay8910_address_w) |
| 422 | AM_RANGE(0x20, 0x20) AM_DEVREADWRITE_LEGACY("8910.1", ay8910_r, ay8910_data_w) |
| 423 | AM_RANGE(0x40, 0x40) AM_DEVWRITE_LEGACY ("8910.2", ay8910_address_w) |
| 424 | AM_RANGE(0x80, 0x80) AM_DEVREADWRITE_LEGACY("8910.2", ay8910_r, ay8910_data_w) // read soundlatch |
| 408 | 425 | ADDRESS_MAP_END |
| 409 | 426 | |
| 410 | 427 | |
| r18929 | r18930 | |
| 1144 | 1161 | |
| 1145 | 1162 | |
| 1146 | 1163 | static INPUT_PORTS_START( harem ) |
| 1147 | | PORT_START("IN0") |
| 1148 | | PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) |
| 1149 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1150 | | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) |
| 1151 | | PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) |
| 1152 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1153 | | PORT_DIPSETTING( 0x02, DEF_STR( On ) ) |
| 1154 | | PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) |
| 1155 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1156 | | PORT_DIPSETTING( 0x04, DEF_STR( On ) ) |
| 1157 | | PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) |
| 1158 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1159 | | PORT_DIPSETTING( 0x08, DEF_STR( On ) ) |
| 1160 | | PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) |
| 1161 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1162 | | PORT_DIPSETTING( 0x10, DEF_STR( On ) ) |
| 1163 | | PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) |
| 1164 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1165 | | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) |
| 1166 | | PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) |
| 1167 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1168 | | PORT_DIPSETTING( 0x40, DEF_STR( On ) ) |
| 1169 | | PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) |
| 1170 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1171 | | PORT_DIPSETTING( 0x80, DEF_STR( On ) ) |
| 1164 | PORT_START("IN0") // $6100 - PPI0 Port A |
| 1165 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1166 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 1167 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1168 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 1169 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) |
| 1170 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) |
| 1171 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) |
| 1172 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) |
| 1172 | 1173 | |
| 1173 | | PORT_START("IN1") |
| 1174 | | PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) |
| 1175 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1176 | | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) |
| 1177 | | PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) |
| 1178 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1179 | | PORT_DIPSETTING( 0x02, DEF_STR( On ) ) |
| 1180 | | PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) |
| 1181 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1182 | | PORT_DIPSETTING( 0x04, DEF_STR( On ) ) |
| 1183 | | PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) |
| 1184 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1185 | | PORT_DIPSETTING( 0x08, DEF_STR( On ) ) |
| 1186 | | PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) |
| 1187 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1188 | | PORT_DIPSETTING( 0x10, DEF_STR( On ) ) |
| 1189 | | PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) |
| 1190 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1191 | | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) |
| 1192 | | PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) |
| 1193 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1194 | | PORT_DIPSETTING( 0x40, DEF_STR( On ) ) |
| 1195 | | PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) |
| 1196 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1197 | | PORT_DIPSETTING( 0x80, DEF_STR( On ) ) |
| 1174 | PORT_START("IN1") // $6101 - PPI0 Port B |
| 1175 | PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) |
| 1176 | PORT_DIPSETTING( 0x03, "2" ) |
| 1177 | PORT_DIPSETTING( 0x02, "3" ) |
| 1178 | PORT_DIPSETTING( 0x01, "4" ) |
| 1179 | PORT_DIPSETTING( 0x00, DEF_STR( Infinite ) ) |
| 1180 | PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) |
| 1181 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1182 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1183 | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) |
| 1184 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) |
| 1185 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1186 | PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) |
| 1187 | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) |
| 1188 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1189 | PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) |
| 1190 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) |
| 1191 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1192 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) |
| 1193 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) |
| 1198 | 1194 | |
| 1199 | | PORT_START("IN2") |
| 1200 | | PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) |
| 1201 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1202 | | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) |
| 1203 | | PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) |
| 1204 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1205 | | PORT_DIPSETTING( 0x02, DEF_STR( On ) ) |
| 1206 | | PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) |
| 1207 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1208 | | PORT_DIPSETTING( 0x04, DEF_STR( On ) ) |
| 1209 | | PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) |
| 1210 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1211 | | PORT_DIPSETTING( 0x08, DEF_STR( On ) ) |
| 1212 | | PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) |
| 1213 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1214 | | PORT_DIPSETTING( 0x10, DEF_STR( On ) ) |
| 1215 | | PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) |
| 1216 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1217 | | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) |
| 1218 | | PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) |
| 1219 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1220 | | PORT_DIPSETTING( 0x40, DEF_STR( On ) ) |
| 1221 | | PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) |
| 1222 | | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 1223 | | PORT_DIPSETTING( 0x80, DEF_STR( On ) ) |
| 1195 | PORT_START("IN2") // $6102 - PPI0 Port C |
| 1196 | PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) |
| 1197 | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) |
| 1198 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1199 | PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) // used |
| 1200 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) |
| 1201 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1202 | PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Coin_B ) ) |
| 1203 | PORT_DIPSETTING( 0x0c, DEF_STR( 2C_1C ) ) |
| 1204 | PORT_DIPSETTING( 0x08, DEF_STR( 1C_1C ) ) |
| 1205 | PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) |
| 1206 | PORT_DIPSETTING( 0x00, DEF_STR( 1C_3C ) ) |
| 1207 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) |
| 1208 | PORT_DIPNAME( 0xa0, 0xa0, "Difficulty?" ) |
| 1209 | PORT_DIPSETTING( 0xa0, "0" ) |
| 1210 | PORT_DIPSETTING( 0x80, "1" ) |
| 1211 | PORT_DIPSETTING( 0x20, "2" ) |
| 1212 | PORT_DIPSETTING( 0x00, "3" ) |
| 1213 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) |
| 1224 | 1214 | INPUT_PORTS_END |
| 1225 | 1215 | |
| 1226 | 1216 | |
| r18929 | r18930 | |
| 1449 | 1439 | DEVCB_NULL |
| 1450 | 1440 | }; |
| 1451 | 1441 | |
| 1442 | static const ay8910_interface harem_ay8910_interface_3 = |
| 1443 | { |
| 1444 | AY8910_LEGACY_OUTPUT, |
| 1445 | AY8910_DEFAULT_LOADS, |
| 1446 | DEVCB_NULL, // Port A read |
| 1447 | DEVCB_NULL, // Port B read |
| 1448 | DEVCB_HANDLER(harem_portA_w), // Port A write |
| 1449 | DEVCB_HANDLER(harem_portB_w), // Port B write |
| 1450 | }; |
| 1452 | 1451 | |
| 1453 | 1452 | |
| 1454 | 1453 | /**************************************************************************/ |
| r18929 | r18930 | |
| 1491 | 1490 | |
| 1492 | 1491 | /* sound hardware */ |
| 1493 | 1492 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1493 | |
| 1494 | 1494 | MCFG_SOUND_ADD("8910.1", AY8910, 14318000/8) |
| 1495 | 1495 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16) |
| 1496 | 1496 | |
| r18929 | r18930 | |
| 1741 | 1741 | MCFG_CPU_PROGRAM_MAP(harem_sound_map) |
| 1742 | 1742 | MCFG_CPU_IO_MAP(harem_sound_io_map) |
| 1743 | 1743 | |
| 1744 | | /* sound hardware */ |
| 1745 | | MCFG_SOUND_MODIFY("8910.2") |
| 1746 | | MCFG_SOUND_CONFIG(triplep_ay8910_interface) |
| 1744 | MCFG_VIDEO_START_OVERRIDE(scramble_state,harem) |
| 1747 | 1745 | |
| 1746 | /* sound hardware */ |
| 1748 | 1747 | MCFG_SOUND_ADD("8910.3", AY8910, 14318000/8) |
| 1749 | 1748 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.16) |
| 1749 | MCFG_SOUND_CONFIG(harem_ay8910_interface_3) |
| 1750 | 1750 | MACHINE_CONFIG_END |
| 1751 | 1751 | |
| 1752 | 1752 | /*************************************************************************** |
| r18929 | r18930 | |
| 2208 | 2208 | |
| 2209 | 2209 | ROM_START( harem ) |
| 2210 | 2210 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 2211 | | ROM_LOAD( "p0_ic85.bin", 0x0000, 0x2000, CRC(4521b753) SHA1(9033f9c3be8fec1e5ff251e9f60faaf3848a1a1e) ) |
| 2212 | | ROM_LOAD( "p1_ic87.bin", 0x8000, 0x2000, BAD_DUMP CRC(3cc5d1e8) SHA1(827e2d20de2a00ec016ead249ed3afdccd0c856c) ) // encrypted? |
| 2213 | | // looks like a bitswap on data, call addresses from $0000-$1fff to here tell that $99 is near certainly $c9(ret) |
| 2214 | | // Other values with a pretty good chance: $40 is $10(djnz), $dd is $dd(ix prefix) |
| 2211 | ROM_LOAD( "p0_ic85.bin", 0x0000, 0x2000, CRC(4521b753) SHA1(9033f9c3be8fec1e5ff251e9f60faaf3848a1a1e) ) |
| 2212 | ROM_LOAD( "p1_ic87.bin", 0x8000, 0x2000, CRC(3cc5d1e8) SHA1(827e2d20de2a00ec016ead249ed3afdccd0c856c) ) // encrypted |
| 2215 | 2213 | |
| 2216 | 2214 | ROM_REGION( 0x10000, "audiocpu", 0 ) |
| 2217 | | ROM_LOAD( "s1_ic12.bin", 0x0000, 0x2000, CRC(b54799dd) SHA1(b6aeb010257cba48a52afd33b4f8031c7d99550c) ) |
| 2218 | | ROM_LOAD( "s2_ic13.bin", 0x2000, 0x1000, CRC(2d5573a4) SHA1(1fdcd99d89e078509634742b2116a35bb199fe4b) ) |
| 2215 | ROM_LOAD( "s1_ic12.bin", 0x0000, 0x2000, CRC(b54799dd) SHA1(b6aeb010257cba48a52afd33b4f8031c7d99550c) ) |
| 2216 | ROM_LOAD( "s2_ic13.bin", 0x2000, 0x1000, CRC(2d5573a4) SHA1(1fdcd99d89e078509634742b2116a35bb199fe4b) ) |
| 2219 | 2217 | |
| 2220 | | ROM_REGION( 0x2000, "unknown", 0 ) /* TMS-based ROM? */ |
| 2218 | ROM_REGION( 0x2000, "unknown", 0 ) // TMS-based ROM? |
| 2221 | 2219 | ROM_LOAD( "a1_ic25.bin", 0x0000, 0x2000, CRC(279f923a) SHA1(166b1b625997766f0de7cc18af52c42268022fcb) ) |
| 2222 | 2220 | |
| 2223 | 2221 | ROM_REGION( 0x4000, "gfx1", 0 ) |
| 2224 | | ROM_LOAD( "m0_ic36.bin", 0x0000, 0x2000, CRC(64b3c6d6) SHA1(e71092585f7ffdae85b2a4c9add1bc71e5a608a8) ) |
| 2225 | | ROM_LOAD( "m1_ic37.bin", 0x2000, 0x2000, CRC(cb0324fb) SHA1(61612f683810339d5d5f31daa4c475d0338d446f) ) |
| 2222 | ROM_LOAD( "m1_ic37.bin", 0x0000, 0x2000, CRC(cb0324fb) SHA1(61612f683810339d5d5f31daa4c475d0338d446f) ) |
| 2223 | ROM_LOAD( "m0_ic36.bin", 0x2000, 0x2000, CRC(64b3c6d6) SHA1(e71092585f7ffdae85b2a4c9add1bc71e5a608a8) ) |
| 2226 | 2224 | |
| 2227 | 2225 | ROM_REGION( 0x0020, "proms", 0 ) |
| 2228 | | ROM_LOAD( "harem.clr", 0x0000, 0x0020, CRC(c9a2bf73) SHA1(dad65ebf43a5df147e334afd552e67f5fcd26df7) ) |
| 2226 | ROM_LOAD( "harem.clr", 0x0000, 0x0020, CRC(c9a2bf73) SHA1(dad65ebf43a5df147e334afd552e67f5fcd26df7) ) |
| 2229 | 2227 | ROM_END |
| 2230 | 2228 | |
| 2231 | 2229 | |
| 2232 | | GAME( 1982, triplep, 0, triplep, triplep, scramble_state, scramble_ppi, ROT90, "K.K. International", "Triple Punch", GAME_SUPPORTS_SAVE ) |
| 2233 | | GAME( 1982, knockout, triplep, triplep, triplep, scramble_state, scramble_ppi, ROT90, "bootleg? (KKK)", "Knock Out!! (bootleg?)", GAME_SUPPORTS_SAVE ) |
| 2234 | | GAME( 1981, mariner, 0, mariner, scramble, scramble_state, mariner, ROT90, "Amenip", "Mariner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE) |
| 2235 | | GAME( 1981, 800fath, mariner, mariner, 800fath, scramble_state, mariner, ROT90, "Amenip (US Billiards Inc. license)", "800 Fathoms", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) |
| 2236 | | GAME( 1981, ckongs, ckong, ckongs, ckongs, scramble_state, ckongs, ROT90, "bootleg", "Crazy Kong (Scramble hardware)", GAME_SUPPORTS_SAVE ) |
| 2237 | | GAME( 1981, mars, 0, mars, mars, scramble_state, mars, ROT90, "Artic", "Mars", GAME_SUPPORTS_SAVE ) |
| 2238 | | GAME( 1982, devilfsh, 0, devilfsh, devilfsh, scramble_state, devilfsh, ROT90, "Artic", "Devil Fish", GAME_SUPPORTS_SAVE ) |
| 2239 | | GAME( 1983, newsin7, 0, newsin7, newsin7, scramble_state, mars, ROT90, "ATW USA, Inc.", "New Sinbad 7", GAME_SUPPORTS_SAVE ) |
| 2240 | | GAME( 1984, mrkougar, 0, mrkougar, mrkougar, scramble_state, mrkougar, ROT90, "ATW", "Mr. Kougar", GAME_SUPPORTS_SAVE ) |
| 2241 | | GAME( 1983, mrkougar2,mrkougar, mrkougar, mrkougar, scramble_state, mrkougar, ROT90, "ATW", "Mr. Kougar (earlier)", GAME_SUPPORTS_SAVE ) |
| 2242 | | GAME( 1983, mrkougb, mrkougar, mrkougb, mrkougar, scramble_state, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 1)", GAME_SUPPORTS_SAVE ) |
| 2243 | | GAME( 1983, mrkougb2, mrkougar, mrkougb, mrkougar, scramble_state, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 2)", GAME_SUPPORTS_SAVE ) |
| 2244 | | GAME( 1982, hotshock, 0, hotshock, hotshock, scramble_state, hotshock, ROT90, "E.G. Felaco (Domino license)", "Hot Shocker", GAME_SUPPORTS_SAVE ) |
| 2245 | | GAME( 1982, hotshockb,hotshock, hotshock, hotshock, scramble_state, hotshock, ROT90, "E.G. Felaco", "Hot Shocker (early revision?)", GAME_SUPPORTS_SAVE ) // has "Dudley presents" (protagonist of the game), instead of Domino |
| 2246 | | GAME( 198?, conquer, 0, hotshock, hotshock, driver_device, 0, ROT90, "<unknown>", "Conqueror", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE) |
| 2247 | | GAME( 1983, hunchbks, hunchbak, hunchbks, hunchbks, scramble_state, scramble_ppi, ROT90, "Century Electronics", "Hunchback (Scramble hardware)", GAME_SUPPORTS_SAVE ) |
| 2230 | GAME( 1982, triplep, 0, triplep, triplep, scramble_state, scramble_ppi, ROT90, "K.K. International", "Triple Punch", GAME_SUPPORTS_SAVE ) |
| 2231 | GAME( 1982, knockout, triplep, triplep, triplep, scramble_state, scramble_ppi, ROT90, "bootleg? (KKK)", "Knock Out!! (bootleg?)", GAME_SUPPORTS_SAVE ) |
| 2232 | GAME( 1981, mariner, 0, mariner, scramble, scramble_state, mariner, ROT90, "Amenip", "Mariner", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) |
| 2233 | GAME( 1981, 800fath, mariner, mariner, 800fath, scramble_state, mariner, ROT90, "Amenip (US Billiards Inc. license)", "800 Fathoms", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) |
| 2234 | GAME( 1981, ckongs, ckong, ckongs, ckongs, scramble_state, ckongs, ROT90, "bootleg", "Crazy Kong (Scramble hardware)", GAME_SUPPORTS_SAVE ) |
| 2235 | GAME( 1981, mars, 0, mars, mars, scramble_state, mars, ROT90, "Artic", "Mars", GAME_SUPPORTS_SAVE ) |
| 2236 | GAME( 1982, devilfsh, 0, devilfsh, devilfsh, scramble_state, devilfsh, ROT90, "Artic", "Devil Fish", GAME_SUPPORTS_SAVE ) |
| 2237 | GAME( 1983, newsin7, 0, newsin7, newsin7, scramble_state, mars, ROT90, "ATW USA, Inc.", "New Sinbad 7", GAME_SUPPORTS_SAVE ) |
| 2238 | GAME( 1984, mrkougar, 0, mrkougar, mrkougar, scramble_state, mrkougar, ROT90, "ATW", "Mr. Kougar", GAME_SUPPORTS_SAVE ) |
| 2239 | GAME( 1983, mrkougar2,mrkougar, mrkougar, mrkougar, scramble_state, mrkougar, ROT90, "ATW", "Mr. Kougar (earlier)", GAME_SUPPORTS_SAVE ) |
| 2240 | GAME( 1983, mrkougb, mrkougar, mrkougb, mrkougar, scramble_state, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 1)", GAME_SUPPORTS_SAVE ) |
| 2241 | GAME( 1983, mrkougb2, mrkougar, mrkougb, mrkougar, scramble_state, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 2)", GAME_SUPPORTS_SAVE ) |
| 2242 | GAME( 1982, hotshock, 0, hotshock, hotshock, scramble_state, hotshock, ROT90, "E.G. Felaco (Domino license)", "Hot Shocker", GAME_SUPPORTS_SAVE ) |
| 2243 | GAME( 1982, hotshockb,hotshock, hotshock, hotshock, scramble_state, hotshock, ROT90, "E.G. Felaco", "Hot Shocker (early revision?)", GAME_SUPPORTS_SAVE ) // has "Dudley presents" (protagonist of the game), instead of Domino |
| 2244 | GAME( 198?, conquer, 0, hotshock, hotshock, driver_device, 0, ROT90, "<unknown>", "Conqueror", GAME_NOT_WORKING ) |
| 2245 | GAME( 1983, hunchbks, hunchbak, hunchbks, hunchbks, scramble_state, scramble_ppi, ROT90, "Century Electronics", "Hunchback (Scramble hardware)", GAME_SUPPORTS_SAVE ) |
| 2248 | 2246 | GAME( 1984, hncholms, huncholy, hncholms, hncholms, scramble_state, scramble_ppi, ROT90, "Century Electronics / Seatongrove Ltd", "Hunchback Olympic (Scramble hardware)", GAME_SUPPORTS_SAVE ) |
| 2249 | | GAME( 1983, cavelon, 0, cavelon, cavelon, scramble_state, cavelon, ROT90, "Jetsoft", "Cavelon", GAME_SUPPORTS_SAVE ) |
| 2250 | | GAME( 1982, mimonscr, mimonkey, mimonscr, mimonscr, scramble_state, mimonscr, ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", GAME_SUPPORTS_SAVE ) |
| 2251 | | GAME( 1983, ad2083, 0, ad2083, ad2083, scramble_state, ad2083, ROT90, "Midcoin", "A. D. 2083", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE) |
| 2252 | | GAME( 1981, turpins, turtles, turpins, turpins, driver_device, 0, ROT90, "bootleg", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet |
| 2253 | | GAME( 1983, harem, 0, harem, harem, scramble_state, harem, ROT90, "I.G.R.", "Harem", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 2247 | GAME( 1983, cavelon, 0, cavelon, cavelon, scramble_state, cavelon, ROT90, "Jetsoft", "Cavelon", GAME_SUPPORTS_SAVE ) |
| 2248 | GAME( 1982, mimonscr, mimonkey, mimonscr, mimonscr, scramble_state, mimonscr, ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", GAME_SUPPORTS_SAVE ) |
| 2249 | GAME( 1983, ad2083, 0, ad2083, ad2083, scramble_state, ad2083, ROT90, "Midcoin", "A. D. 2083", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) |
| 2250 | GAME( 1981, turpins, turtles, turpins, turpins, driver_device, 0, ROT90, "bootleg", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet |
| 2251 | GAME( 1983, harem, 0, harem, harem, scramble_state, harem, ROT90, "I.G.R.", "Harem", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND ) // colors, missing speech? |