trunk/src/mame/drivers/sprint2.c
| r242584 | r242585 | |
| 39 | 39 | m_game = 3; |
| 40 | 40 | } |
| 41 | 41 | |
| 42 | DRIVER_INIT_MEMBER(sprint2_state,dominos4) |
| 43 | { |
| 44 | m_game = 3; |
| 45 | m_maincpu->space(AS_PROGRAM).install_read_port(0x0880, 0x0880, "SELFTTEST"); |
| 46 | m_maincpu->space(AS_PROGRAM).install_write_handler(0x0c50, 0x0c5f, write8_delegate(FUNC(sprint2_state::dominos4_lamp3_w),this)); |
| 47 | m_maincpu->space(AS_PROGRAM).install_write_handler(0x0c60, 0x0c6f, write8_delegate(FUNC(sprint2_state::dominos4_lamp4_w),this)); |
| 48 | } |
| 49 | |
| 42 | 50 | int sprint2_state::service_mode() |
| 43 | 51 | { |
| 44 | 52 | UINT8 v = ioport("INB")->read(); |
| r242584 | r242585 | |
| 234 | 242 | set_led_status(machine(), 1, offset & 1); |
| 235 | 243 | } |
| 236 | 244 | |
| 245 | WRITE8_MEMBER(sprint2_state::dominos4_lamp3_w) |
| 246 | { |
| 247 | set_led_status(machine(), 2, offset & 1); |
| 248 | } |
| 249 | WRITE8_MEMBER(sprint2_state::dominos4_lamp4_w) |
| 250 | { |
| 251 | set_led_status(machine(), 3, offset & 1); |
| 252 | } |
| 237 | 253 | |
| 238 | 254 | static ADDRESS_MAP_START( sprint2_map, AS_PROGRAM, 8, sprint2_state ) |
| 255 | ADDRESS_MAP_GLOBAL_MASK(0x3fff) |
| 239 | 256 | AM_RANGE(0x0000, 0x03ff) AM_READWRITE(sprint2_wram_r,sprint2_wram_w) |
| 240 | 257 | AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(sprint2_video_ram_w) AM_SHARE("video_ram") |
| 241 | 258 | AM_RANGE(0x0818, 0x081f) AM_READ(sprint2_input_A_r) |
| r242584 | r242585 | |
| 261 | 278 | AM_RANGE(0x1400, 0x17ff) AM_READ(sprint2_collision2_r) |
| 262 | 279 | AM_RANGE(0x1800, 0x1800) AM_READNOP /* debugger ROM location? */ |
| 263 | 280 | AM_RANGE(0x2000, 0x3fff) AM_ROM |
| 264 | | AM_RANGE(0xe000, 0xffff) AM_ROM |
| 265 | 281 | ADDRESS_MAP_END |
| 266 | 282 | |
| 267 | 283 | |
| r242584 | r242585 | |
| 441 | 457 | PORT_ADJUSTER( 50, "R23 - Tone Freq" ) |
| 442 | 458 | INPUT_PORTS_END |
| 443 | 459 | |
| 460 | static INPUT_PORTS_START( dominos4 ) |
| 461 | PORT_INCLUDE(dominos) |
| 444 | 462 | |
| 463 | PORT_MODIFY("INA") /* input A */ |
| 464 | PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(1) |
| 465 | PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1) |
| 466 | PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1) |
| 467 | PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(1) |
| 468 | PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(2) |
| 469 | PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(2) |
| 470 | PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2) |
| 471 | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2) |
| 472 | |
| 473 | PORT_MODIFY("INB") /* input A */ |
| 474 | PORT_BIT ( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(3) |
| 475 | PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(3) |
| 476 | PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(3) |
| 477 | PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(3) |
| 478 | PORT_BIT ( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(4) |
| 479 | PORT_BIT ( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(4) |
| 480 | PORT_BIT ( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(4) |
| 481 | PORT_BIT ( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(4) |
| 482 | |
| 483 | PORT_START("SELFTTEST") |
| 484 | PORT_SERVICE( 0x80, IP_ACTIVE_LOW ) |
| 485 | INPUT_PORTS_END |
| 486 | |
| 445 | 487 | static const gfx_layout tile_layout = |
| 446 | 488 | { |
| 447 | 489 | 16, 8, |
| r242584 | r242585 | |
| 542 | 584 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 543 | 585 | MACHINE_CONFIG_END |
| 544 | 586 | |
| 545 | | |
| 546 | 587 | ROM_START( sprint1 ) |
| 547 | 588 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 548 | 589 | ROM_LOAD( "6290-01.b1", 0x2000, 0x0800, CRC(41fc985e) SHA1(7178846480cbf8d15955ccd987d0b0e902ab9f90) ) |
| 549 | | ROM_RELOAD( 0xe000, 0x0800 ) |
| 550 | 590 | ROM_LOAD( "6291-01.c1", 0x2800, 0x0800, CRC(07f7a920) SHA1(845f65d2bd290eb295ca6bae2575f27aaa08c0dd) ) |
| 551 | | ROM_RELOAD( 0xe800, 0x0800 ) |
| 552 | 591 | ROM_LOAD( "6442-01.d1", 0x3000, 0x0800, CRC(e9ff0124) SHA1(42fe028e2e595573ccc0821de3bb6970364c585d) ) |
| 553 | | ROM_RELOAD( 0xf000, 0x0800 ) |
| 554 | 592 | ROM_LOAD( "6443-01.e1", 0x3800, 0x0800, CRC(d6bb00d0) SHA1(cdcd4bb7b32be7a11480d3312fcd8d536e2d0caf) ) |
| 555 | | ROM_RELOAD( 0xf800, 0x0800 ) |
| 556 | 593 | |
| 557 | 594 | ROM_REGION( 0x0200, "gfx1", 0 ) /* tiles */ |
| 558 | 595 | ROM_LOAD_NIB_HIGH( "6396-01.p4", 0x0000, 0x0200, CRC(801b42dd) SHA1(1db58390d803f404253cbf36d562016441ca568d) ) |
| r242584 | r242585 | |
| 571 | 608 | ROM_START( sprint2 ) |
| 572 | 609 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 573 | 610 | ROM_LOAD( "6290-01.b1", 0x2000, 0x0800, CRC(41fc985e) SHA1(7178846480cbf8d15955ccd987d0b0e902ab9f90) ) |
| 574 | | ROM_RELOAD( 0xe000, 0x0800 ) |
| 575 | 611 | ROM_LOAD( "6291-01.c1", 0x2800, 0x0800, CRC(07f7a920) SHA1(845f65d2bd290eb295ca6bae2575f27aaa08c0dd) ) |
| 576 | | ROM_RELOAD( 0xe800, 0x0800 ) |
| 577 | 612 | ROM_LOAD( "6404.d1", 0x3000, 0x0800, CRC(d2878ff6) SHA1(b742a8896c1bf1cfacf48d06908920d88a2c9ea8) ) |
| 578 | | ROM_RELOAD( 0xf000, 0x0800 ) |
| 579 | 613 | ROM_LOAD( "6405.e1", 0x3800, 0x0800, CRC(6c991c80) SHA1(c30a5b340f05dd702c7a186eb62607a48fa19f72) ) |
| 580 | | ROM_RELOAD( 0xf800, 0x0800 ) |
| 581 | 614 | |
| 582 | 615 | ROM_REGION( 0x0200, "gfx1", 0 ) /* tiles */ |
| 583 | 616 | ROM_LOAD_NIB_HIGH( "6396-01.p4", 0x0000, 0x0200, CRC(801b42dd) SHA1(1db58390d803f404253cbf36d562016441ca568d) ) |
| r242584 | r242585 | |
| 596 | 629 | ROM_START( sprint2a ) |
| 597 | 630 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 598 | 631 | ROM_LOAD( "6290-01.b1", 0x2000, 0x0800, CRC(41fc985e) SHA1(7178846480cbf8d15955ccd987d0b0e902ab9f90) ) |
| 599 | | ROM_RELOAD( 0xe000, 0x0800 ) |
| 600 | 632 | ROM_LOAD( "6291-01.c1", 0x2800, 0x0800, CRC(07f7a920) SHA1(845f65d2bd290eb295ca6bae2575f27aaa08c0dd) ) |
| 601 | | ROM_RELOAD( 0xe800, 0x0800 ) |
| 602 | 633 | ROM_LOAD( "6404.d1", 0x3000, 0x0800, CRC(d2878ff6) SHA1(b742a8896c1bf1cfacf48d06908920d88a2c9ea8) ) |
| 603 | | ROM_RELOAD( 0xf000, 0x0800 ) |
| 604 | 634 | ROM_LOAD( "6405-02.e1", 0x3800, 0x0800, CRC(e80fd249) SHA1(7bcf7dfd72ca83fdd80593eaf392570da1f71298) ) |
| 605 | | ROM_RELOAD( 0xf800, 0x0800 ) |
| 606 | 635 | |
| 607 | 636 | ROM_REGION( 0x0200, "gfx1", 0 ) /* tiles */ |
| 608 | 637 | ROM_LOAD_NIB_HIGH( "6396-01.p4", 0x0000, 0x0200, CRC(801b42dd) SHA1(1db58390d803f404253cbf36d562016441ca568d) ) |
| r242584 | r242585 | |
| 621 | 650 | ROM_START( sprint2h ) |
| 622 | 651 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 623 | 652 | ROM_LOAD( "6290-01.b1", 0x2000, 0x0800, CRC(41fc985e) SHA1(7178846480cbf8d15955ccd987d0b0e902ab9f90) ) |
| 624 | | ROM_RELOAD( 0xe000, 0x0800 ) |
| 625 | 653 | ROM_LOAD( "6291-01.c1", 0x2800, 0x0800, CRC(07f7a920) SHA1(845f65d2bd290eb295ca6bae2575f27aaa08c0dd) ) |
| 626 | | ROM_RELOAD( 0xe800, 0x0800 ) |
| 627 | 654 | ROM_LOAD( "6404.d1", 0x3000, 0x0800, CRC(d2878ff6) SHA1(b742a8896c1bf1cfacf48d06908920d88a2c9ea8) ) |
| 628 | | ROM_RELOAD( 0xf000, 0x0800 ) |
| 629 | 655 | ROM_LOAD( "6405-02.e1", 0x3800, 0x0800, CRC(6de291f1) SHA1(00c2826011d80ac0784649a7bc156a97c26565fd) ) // sldh |
| 630 | | ROM_RELOAD( 0xf800, 0x0800 ) |
| 631 | 656 | |
| 632 | 657 | ROM_REGION( 0x0200, "gfx1", 0 ) /* tiles */ |
| 633 | 658 | ROM_LOAD_NIB_HIGH( "6396-01.p4", 0x0000, 0x0200, CRC(801b42dd) SHA1(1db58390d803f404253cbf36d562016441ca568d) ) |
| r242584 | r242585 | |
| 646 | 671 | ROM_START( dominos ) |
| 647 | 672 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 648 | 673 | ROM_LOAD( "7352-02.d1", 0x3000, 0x0800, CRC(738b4413) SHA1(3a90ab25bb5f65504692f97da43f03e21392dcd8) ) |
| 649 | | ROM_RELOAD( 0xf000, 0x0800 ) |
| 650 | 674 | ROM_LOAD( "7438-02.e1", 0x3800, 0x0800, CRC(c84e54e2) SHA1(383b388a1448a195f28352fc5e4ff1a2af80cc95) ) |
| 651 | | ROM_RELOAD( 0xf800, 0x0800 ) |
| 652 | 675 | |
| 653 | 676 | ROM_REGION( 0x200, "gfx1", 0 ) /* tiles */ |
| 654 | 677 | ROM_LOAD_NIB_HIGH( "7439-01.p4", 0x0000, 0x0200, CRC(4f42fdd6) SHA1(f8ea4b582e26cad37b746174cdc9f1c7ae0819c3) ) |
| r242584 | r242585 | |
| 662 | 685 | ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) /* address */ |
| 663 | 686 | ROM_END |
| 664 | 687 | |
| 688 | ROM_START( dominos4 ) // built from original Atari source code |
| 689 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 690 | ROM_LOAD_NIB_HIGH( "007754-01.l1", 0x3000, 0x0400, CRC(03fae4a9) SHA1(a132bd8bc866e33cdf6b4881064c8d265c2b25f4) ) |
| 691 | ROM_LOAD_NIB_LOW ( "007755-01.l0", 0x3000, 0x0400, CRC(fa2d0c04) SHA1(fcf618c7089db46d55933d58ea04701af515ad49) ) |
| 692 | ROM_LOAD_NIB_HIGH( "007756-01.m1", 0x3400, 0x0400, CRC(d2acb1b5) SHA1(ad81eed9dd0a2d5ecfd42daf90825726e64063b3) ) |
| 693 | ROM_LOAD_NIB_LOW ( "007757-01.m0", 0x3400, 0x0400, CRC(69f2db90) SHA1(a064c840599c4e7cb65670e5480adeb310247f16) ) |
| 694 | ROM_LOAD_NIB_HIGH( "007758-01.n1", 0x3800, 0x0400, CRC(b49083b4) SHA1(41999e8d3fd6104c42f3a034045f9f9c75d8247a) ) |
| 695 | ROM_LOAD_NIB_LOW ( "007759-01.n0", 0x3800, 0x0400, CRC(542200c7) SHA1(111f06e942e247b00b9f90fae2986c3c8d9ec8c5) ) |
| 696 | ROM_LOAD_NIB_HIGH( "007760-01.p1", 0x3c00, 0x0400, CRC(7dc2a7a1) SHA1(9d02572cf689c6476b33226a5358dd1f72c4e61d) ) |
| 697 | ROM_LOAD_NIB_LOW ( "007761-01.p0", 0x3c00, 0x0400, CRC(04365e0d) SHA1(fefc3c04e55f1aa8c80b1e5e1e403af8698c3530) ) |
| 665 | 698 | |
| 699 | ROM_REGION( 0x200, "gfx1", 0 ) /* tiles */ |
| 700 | ROM_LOAD_NIB_HIGH( "007764-01.p4", 0x0000, 0x0200, CRC(e4332dc0) SHA1(1f16c5b9f9fd7d478fd729cc79968f17746111f4) ) |
| 701 | ROM_LOAD_NIB_LOW ( "007765-01.r4", 0x0000, 0x0200, CRC(6e4e6c75) SHA1(0fc77fecaa73eac57baf778bc51387c75883aad4) ) |
| 702 | |
| 703 | ROM_REGION( 0x200, "gfx2", 0 ) /* sprites, not used */ |
| 704 | ROM_FILL( 0x0000, 0x0200, 0 ) |
| 705 | |
| 706 | ROM_REGION( 0x0120, "proms", 0 ) |
| 707 | ROM_LOAD( "6400-01.m2", 0x0000, 0x0100, CRC(b8094b4c) SHA1(82dc6799a19984f3b204ee3aeeb007e55afc8be3) ) /* SYNC */ |
| 708 | ROM_LOAD( "6401-01.e2", 0x0100, 0x0020, CRC(857df8db) SHA1(06313d5bde03220b2bc313d18e50e4bb1d0cfbbb) ) /* address */ |
| 709 | ROM_END |
| 710 | |
| 666 | 711 | GAME( 1978, sprint1, 0, sprint1, sprint1, sprint2_state, sprint1, ROT0, "Atari (Kee Games)", "Sprint 1", 0 ) |
| 667 | 712 | GAME( 1976, sprint2, sprint1, sprint2, sprint2, sprint2_state, sprint2, ROT0, "Atari (Kee Games)", "Sprint 2 (set 1)", 0 ) |
| 668 | 713 | GAME( 1976, sprint2a, sprint1, sprint2, sprint2, sprint2_state, sprint2, ROT0, "Atari (Kee Games)", "Sprint 2 (set 2)", 0 ) |
| 669 | 714 | GAME( 1976, sprint2h, sprint1, sprint2, sprint2, sprint2_state, sprint2, ROT0, "hack", "Sprint 2 (color kit, Italy)", GAME_WRONG_COLORS ) // Italian hack, supposedly is color instead of b/w? how? |
| 670 | 715 | GAME( 1977, dominos, 0, dominos, dominos, sprint2_state, dominos, ROT0, "Atari", "Dominos", 0 ) |
| 716 | GAME( 1977, dominos4, dominos, dominos, dominos4,sprint2_state, dominos4,ROT0, "Atari", "Dominos 4 (Coctail)", 0 ) |