trunk/src/mame/drivers/scobra.c
| r18519 | r18520 | |
| 193 | 193 | AM_RANGE(0x0000, 0x7fff) AM_ROM |
| 194 | 194 | AM_RANGE(0x8000, 0x87ff) AM_RAM |
| 195 | 195 | AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram") |
| 196 | | |
| 197 | 196 | AM_RANGE(0x9800, 0x983f) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram") |
| 198 | 197 | AM_RANGE(0x9840, 0x985f) AM_RAM AM_SHARE("spriteram") |
| 199 | 198 | AM_RANGE(0x9860, 0x987f) AM_RAM AM_SHARE("bulletsram") |
| 200 | 199 | AM_RANGE(0x9880, 0x98ff) AM_RAM |
| 201 | | |
| 202 | 200 | AM_RANGE(0xb001, 0xb001) AM_WRITE(galaxold_nmi_enable_w) |
| 203 | | |
| 204 | | //a000 |
| 205 | | //a800 |
| 206 | | //b000 |
| 207 | | |
| 208 | | |
| 209 | | AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") // coin |
| 210 | | // AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN0") |
| 211 | | AM_RANGE(0xb000, 0xb000) AM_READ_PORT("IN2") // dips |
| 212 | | |
| 213 | | |
| 201 | AM_RANGE(0xb006, 0xb006) AM_WRITE(galaxold_flip_screen_y_w) |
| 202 | AM_RANGE(0xb007, 0xb007) AM_WRITE(galaxold_flip_screen_x_w) |
| 203 | AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0") |
| 204 | AM_RANGE(0xa800, 0xa800) AM_READ_PORT("IN1") |
| 205 | AM_RANGE(0xb000, 0xb000) AM_READ_PORT("IN2") |
| 214 | 206 | AM_RANGE(0xb800, 0xb800) AM_READ(watchdog_reset_r) |
| 215 | 207 | |
| 216 | | // AM_RANGE(0xc100, 0xc103) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) |
| 217 | | // AM_RANGE(0xc200, 0xc203) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) |
| 208 | // NOTE: hardware does not have any 8255 chip. Is this handled through TTL, or a leftover? |
| 209 | // Is b800 the actual sound comms? The soundroms are not dumped, so we can't know... |
| 210 | // AM_RANGE(0xb800, 0xb800) AM_WRITENOP |
| 211 | AM_RANGE(0xc200, 0xc203) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) |
| 218 | 212 | ADDRESS_MAP_END |
| 219 | 213 | |
| 220 | | static ADDRESS_MAP_START( hustlerb3_sound_map, AS_PROGRAM, 8, scobra_state ) |
| 221 | | AM_RANGE(0x0000, 0xffff) AM_NOP |
| 222 | | ADDRESS_MAP_END |
| 223 | | |
| 224 | | |
| 225 | 214 | static ADDRESS_MAP_START( mimonkey_map, AS_PROGRAM, 8, scobra_state ) |
| 226 | 215 | AM_RANGE(0x0000, 0x3fff) AM_ROM |
| 227 | 216 | AM_RANGE(0x8000, 0x87ff) AM_RAM |
| r18519 | r18520 | |
| 260 | 249 | ADDRESS_MAP_END |
| 261 | 250 | |
| 262 | 251 | |
| 263 | | static ADDRESS_MAP_START( hustlerb_sound_map, AS_PROGRAM, 8, scobra_state ) |
| 264 | | AM_RANGE(0x0000, 0x2fff) AM_ROM |
| 265 | | AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w) |
| 266 | | AM_RANGE(0x8000, 0x8fff) AM_RAM_READ(scobra_soundram_r) AM_SHARE("soundram") /* only here to initialize pointer */ |
| 267 | | ADDRESS_MAP_END |
| 268 | | |
| 269 | | |
| 270 | 252 | static ADDRESS_MAP_START( scobra_sound_io_map, AS_IO, 8, scobra_state ) |
| 271 | 253 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 272 | 254 | AM_RANGE(0x10, 0x10) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w) |
| r18519 | r18520 | |
| 288 | 270 | ADDRESS_MAP_END |
| 289 | 271 | |
| 290 | 272 | |
| 273 | static ADDRESS_MAP_START( hustlerb_sound_map, AS_PROGRAM, 8, scobra_state ) |
| 274 | AM_RANGE(0x0000, 0x2fff) AM_ROM |
| 275 | AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w) |
| 276 | AM_RANGE(0x8000, 0x8fff) AM_RAM_READ(scobra_soundram_r) AM_SHARE("soundram") /* only here to initialize pointer */ |
| 277 | ADDRESS_MAP_END |
| 278 | |
| 291 | 279 | static ADDRESS_MAP_START( hustlerb_sound_io_map, AS_IO, 8, scobra_state ) |
| 292 | 280 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 293 | 281 | AM_RANGE(0x40, 0x40) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w) |
| 294 | 282 | AM_RANGE(0x80, 0x80) AM_DEVREADWRITE_LEGACY("aysnd", ay8910_r, ay8910_data_w) |
| 295 | 283 | ADDRESS_MAP_END |
| 296 | 284 | |
| 285 | |
| 297 | 286 | /* stratgyx coinage DIPs are spread across two input ports */ |
| 298 | 287 | CUSTOM_INPUT_MEMBER(scobra_state::stratgyx_coinage_r) |
| 299 | 288 | { |
| r18519 | r18520 | |
| 593 | 582 | PORT_DIPSETTING( 0x00, "1" ) |
| 594 | 583 | PORT_DIPSETTING( 0x01, "2" ) |
| 595 | 584 | PORT_DIPSETTING( 0x02, "3" ) |
| 596 | | PORT_DIPSETTING( 0x03, "Infinite (Test)" ) |
| 585 | PORT_DIPSETTING( 0x03, "Infinite (Cheat)" ) |
| 597 | 586 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 598 | 587 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL |
| 599 | 588 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL |
| r18519 | r18520 | |
| 617 | 606 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 618 | 607 | INPUT_PORTS_END |
| 619 | 608 | |
| 609 | |
| 610 | static INPUT_PORTS_START( hustlerb3 ) |
| 611 | PORT_START("IN0") |
| 612 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) |
| 613 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) |
| 614 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) |
| 615 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) |
| 616 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 617 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 618 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 619 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 620 | |
| 621 | PORT_START("IN1") |
| 622 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START1 ) |
| 623 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 ) |
| 624 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL |
| 625 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL |
| 626 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL |
| 627 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 628 | |
| 629 | // 6-pos dipswitch on mainboard K4 |
| 630 | PORT_DIPNAME( 0x40, 0x00, "Half Coinage" ) |
| 631 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) |
| 632 | PORT_DIPSETTING( 0x40, DEF_STR( On ) ) |
| 633 | PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) |
| 634 | PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) |
| 635 | PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) |
| 636 | |
| 637 | PORT_START("IN2") |
| 638 | PORT_DIPNAME( 0x01, 0x00, DEF_STR( Coin_A ) ) |
| 639 | PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_CONDITION("IN1", 0x40, EQUALS, 0x40) |
| 640 | PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_CONDITION("IN1", 0x40, EQUALS, 0x00) |
| 641 | PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) PORT_CONDITION("IN1", 0x40, EQUALS, 0x40) |
| 642 | PORT_DIPSETTING( 0x01, DEF_STR( 1C_6C ) ) PORT_CONDITION("IN1", 0x40, EQUALS, 0x00) |
| 643 | PORT_DIPNAME( 0x02, 0x00, DEF_STR( Coin_B ) ) |
| 644 | PORT_DIPSETTING( 0x00, DEF_STR( 2C_1C ) ) PORT_CONDITION("IN1", 0x40, EQUALS, 0x40) |
| 645 | PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_CONDITION("IN1", 0x40, EQUALS, 0x00) |
| 646 | PORT_DIPSETTING( 0x02, DEF_STR( 1C_3C ) ) PORT_CONDITION("IN1", 0x40, EQUALS, 0x40) |
| 647 | PORT_DIPSETTING( 0x02, DEF_STR( 1C_6C ) ) PORT_CONDITION("IN1", 0x40, EQUALS, 0x00) |
| 648 | PORT_DIPNAME( 0x0c, 0x08, DEF_STR( Lives ) ) |
| 649 | PORT_DIPSETTING( 0x00, "1" ) |
| 650 | PORT_DIPSETTING( 0x04, "2" ) |
| 651 | PORT_DIPSETTING( 0x08, "3" ) |
| 652 | PORT_DIPSETTING( 0x0c, "Infinite (Cheat)" ) |
| 653 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 654 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 655 | PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 656 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) |
| 657 | INPUT_PORTS_END |
| 658 | |
| 659 | |
| 620 | 660 | static INPUT_PORTS_START( mimonkey ) |
| 621 | 661 | PORT_START("IN0") |
| 622 | 662 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) |
| r18519 | r18520 | |
| 867 | 907 | /* basic machine hardware */ |
| 868 | 908 | MCFG_CPU_MODIFY("maincpu") |
| 869 | 909 | MCFG_CPU_PROGRAM_MAP(hustlerb3_map) |
| 870 | | |
| 871 | | MCFG_CPU_MODIFY("audiocpu") |
| 872 | | MCFG_CPU_PROGRAM_MAP(hustlerb3_sound_map) |
| 873 | 910 | MACHINE_CONFIG_END |
| 874 | 911 | |
| 875 | 912 | |
| r18519 | r18520 | |
| 1246 | 1283 | ROM_END |
| 1247 | 1284 | |
| 1248 | 1285 | |
| 1249 | | GAME( 1981, stratgyx, 0, stratgyx, stratgyx, scramble_state, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE ) |
| 1250 | | GAME( 1981, stratgys, stratgyx, stratgyx, stratgyx, scramble_state, stratgyx, ROT0, "Konami (Stern Electronics license)", "Strategy X (Stern Electronics)", GAME_SUPPORTS_SAVE ) |
| 1251 | | GAME( 1982, strongx, stratgyx, stratgyx, stratgyx, scramble_state, stratgyx, ROT0, "bootleg", "Strong X", GAME_SUPPORTS_SAVE ) |
| 1252 | | GAME( 1982, darkplnt, 0, darkplnt, darkplnt, scramble_state, darkplnt, ROT180, "Stern Electronics", "Dark Planet", GAME_SUPPORTS_SAVE ) |
| 1253 | | GAME( 1982, tazmani2, tazmania, type2, tazmania, scramble_state, tazmani2, ROT90, "Stern Electronics", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE ) |
| 1254 | | GAME( 1982, rescue, 0, rescue, rescue, scramble_state, rescue, ROT90, "Stern Electronics", "Rescue", GAME_SUPPORTS_SAVE ) |
| 1255 | | GAME( 1982, rescueb, rescue, rescue, rescue, scramble_state, rescue, ROT90, "bootleg (Videl Games)", "Rescue (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 1256 | | GAME( 1982, aponow, rescue, rescue, rescue, scramble_state, rescue, ROT90, "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE ) |
| 1257 | | GAME( 1983, minefld, 0, minefld, minefld, scramble_state, minefld, ROT90, "Stern Electronics", "Minefield", GAME_SUPPORTS_SAVE ) |
| 1258 | | GAME( 1981, hustler, 0, hustler, hustler, scramble_state, hustler, ROT90, "Konami", "Video Hustler", GAME_SUPPORTS_SAVE ) |
| 1259 | | GAME( 1981, hustlerd, hustler, hustler, hustler, scramble_state, hustlerd, ROT90, "Konami (Dynamo Games license)", "Video Hustler (Dynamo Games)", GAME_SUPPORTS_SAVE ) |
| 1260 | | GAME( 1981, billiard, hustler, hustler, hustler, scramble_state, billiard, ROT90, "bootleg", "The Billiards (Video Hustler bootleg)", GAME_SUPPORTS_SAVE ) |
| 1261 | | GAME( 1981, hustlerb, hustler, hustlerb, hustler, scramble_state, scramble_ppi, ROT90, "bootleg (Digimatic)", "Video Hustler (bootleg)", GAME_SUPPORTS_SAVE ) |
| 1262 | | GAME( 1981, hustlerb2, hustler, hustler, hustler, scramble_state, scramble_ppi, ROT90, "bootleg", "Fatsy Gambler (Video Hustler bootleg)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) |
| 1263 | | GAME( 1981, hustlerb3, hustler, hustlerb3, hustler, scramble_state, scramble_ppi, ROT90, "bootleg (Videotron)", "Video Pool (Video Hustler bootleg)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) |
| 1264 | | GAME( 1982, mimonkey, 0, mimonkey, mimonkey, scramble_state, mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE ) |
| 1265 | | GAME( 1982, mimonsco, mimonkey, mimonkey, mimonsco, scramble_state, mimonsco, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE ) |
| 1286 | GAME( 1981, stratgyx, 0, stratgyx, stratgyx, scramble_state, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE ) |
| 1287 | GAME( 1981, stratgys, stratgyx, stratgyx, stratgyx, scramble_state, stratgyx, ROT0, "Konami (Stern Electronics license)", "Strategy X (Stern Electronics)", GAME_SUPPORTS_SAVE ) |
| 1288 | GAME( 1982, strongx, stratgyx, stratgyx, stratgyx, scramble_state, stratgyx, ROT0, "bootleg", "Strong X", GAME_SUPPORTS_SAVE ) |
| 1289 | GAME( 1982, darkplnt, 0, darkplnt, darkplnt, scramble_state, darkplnt, ROT180, "Stern Electronics", "Dark Planet", GAME_SUPPORTS_SAVE ) |
| 1290 | GAME( 1982, tazmani2, tazmania, type2, tazmania, scramble_state, tazmani2, ROT90, "Stern Electronics", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE ) |
| 1291 | GAME( 1982, rescue, 0, rescue, rescue, scramble_state, rescue, ROT90, "Stern Electronics", "Rescue", GAME_SUPPORTS_SAVE ) |
| 1292 | GAME( 1982, rescueb, rescue, rescue, rescue, scramble_state, rescue, ROT90, "bootleg (Videl Games)", "Rescue (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) |
| 1293 | GAME( 1982, aponow, rescue, rescue, rescue, scramble_state, rescue, ROT90, "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE ) |
| 1294 | GAME( 1983, minefld, 0, minefld, minefld, scramble_state, minefld, ROT90, "Stern Electronics", "Minefield", GAME_SUPPORTS_SAVE ) |
| 1295 | GAME( 1981, hustler, 0, hustler, hustler, scramble_state, hustler, ROT90, "Konami", "Video Hustler", GAME_SUPPORTS_SAVE ) |
| 1296 | GAME( 1981, hustlerd, hustler, hustler, hustler, scramble_state, hustlerd, ROT90, "Konami (Dynamo Games license)", "Video Hustler (Dynamo Games)", GAME_SUPPORTS_SAVE ) |
| 1297 | GAME( 1981, billiard, hustler, hustler, hustler, scramble_state, billiard, ROT90, "bootleg", "The Billiards (Video Hustler bootleg)", GAME_SUPPORTS_SAVE ) |
| 1298 | GAME( 1981, hustlerb, hustler, hustlerb, hustler, driver_device, 0, ROT90, "bootleg (Digimatic)", "Video Hustler (bootleg)", GAME_SUPPORTS_SAVE ) |
| 1299 | GAME( 1981, hustlerb2, hustler, hustler, hustler, scramble_state, hustlerd, ROT90, "bootleg", "Fatsy Gambler (Video Hustler bootleg)", GAME_SUPPORTS_SAVE ) |
| 1300 | GAME( 1981, hustlerb3, hustler, hustlerb3, hustlerb3, scramble_state, hustlerd, ROT90, "bootleg (Videotron)", "Video Pool (Video Hustler bootleg)", GAME_SUPPORTS_SAVE ) |
| 1301 | GAME( 1982, mimonkey, 0, mimonkey, mimonkey, scramble_state, mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE ) |
| 1302 | GAME( 1982, mimonsco, mimonkey, mimonkey, mimonsco, scramble_state, mimonsco, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE ) |
| 1266 | 1303 | |