trunk/src/mame/drivers/s11a.c
| r19696 | r19697 | |
| 7 | 7 | |
| 8 | 8 | |
| 9 | 9 | ToDo: |
| 10 | | - Can coin up but not start |
| 11 | 10 | - Doesn't react to the Advance button very well |
| 12 | 11 | - Some LEDs flicker |
| 13 | 12 | - Diagnostic LED blinks constantly |
| 14 | 13 | |
| 14 | Note: To start a game, certain switches need to be activated. You must first press and |
| 15 | hold one of the trough switches (usually the left) and the ball shooter switch for |
| 16 | about 1 second. Then you are able to start a game. |
| 17 | Example: For Pinbot, you must hold L and V for a second, then press start. |
| 18 | |
| 15 | 19 | *****************************************************************************************/ |
| 16 | 20 | |
| 17 | 21 | |
| r19696 | r19697 | |
| 49 | 53 | DECLARE_READ8_MEMBER(dac_r); |
| 50 | 54 | DECLARE_WRITE8_MEMBER(dac_w); |
| 51 | 55 | DECLARE_WRITE8_MEMBER(bank_w); |
| 56 | DECLARE_WRITE8_MEMBER(bgbank_w); |
| 52 | 57 | DECLARE_WRITE8_MEMBER(dig0_w); |
| 53 | 58 | DECLARE_WRITE8_MEMBER(dig1_w); |
| 54 | 59 | DECLARE_WRITE8_MEMBER(lamp0_w); |
| r19696 | r19697 | |
| 134 | 139 | AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_RAM |
| 135 | 140 | AM_RANGE(0x2000, 0x2001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("ym2151", ym2151_device, read, write) |
| 136 | 141 | AM_RANGE(0x4000, 0x4003) AM_MIRROR(0x1ffc) AM_DEVREADWRITE("pia40", pia6821_device, read, write) |
| 137 | | AM_RANGE(0x8000, 0xffff) AM_ROM |
| 142 | AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bgbank") |
| 138 | 143 | ADDRESS_MAP_END |
| 139 | 144 | |
| 140 | 145 | static INPUT_PORTS_START( s11a ) |
| r19696 | r19697 | |
| 221 | 226 | { |
| 222 | 227 | membank("bank0")->set_entry(0); |
| 223 | 228 | membank("bank1")->set_entry(0); |
| 229 | membank("bgbank")->set_entry(0); |
| 224 | 230 | } |
| 225 | 231 | |
| 226 | 232 | INPUT_CHANGED_MEMBER( s11a_state::main_nmi ) |
| r19696 | r19697 | |
| 433 | 439 | |
| 434 | 440 | WRITE8_MEMBER( s11a_state::pia34_pb_w ) |
| 435 | 441 | { |
| 442 | m_pia40->portb_w(data); |
| 443 | m_pia40->cb1_w(1); |
| 444 | m_pia40->cb1_w(0); |
| 436 | 445 | } |
| 437 | 446 | |
| 438 | 447 | static const pia6821_interface pia34_intf = |
| r19696 | r19697 | |
| 457 | 466 | membank("bank1")->set_entry(BIT(data, 0)); |
| 458 | 467 | } |
| 459 | 468 | |
| 469 | WRITE8_MEMBER( s11a_state::bgbank_w ) |
| 470 | { |
| 471 | membank("bgbank")->set_entry(BIT(data, 0)); |
| 472 | } |
| 473 | |
| 460 | 474 | READ_LINE_MEMBER( s11a_state::pias_ca1_r ) |
| 461 | 475 | { |
| 462 | 476 | return m_ca1; |
| r19696 | r19697 | |
| 513 | 527 | static const pia6821_interface pia40_intf = |
| 514 | 528 | { |
| 515 | 529 | DEVCB_NULL, /* port A in */ |
| 516 | | DEVCB_DRIVER_MEMBER(s11a_state, dac_r), /* port B in */ |
| 530 | DEVCB_NULL, /* port B in */ |
| 517 | 531 | DEVCB_DRIVER_LINE_MEMBER(s11a_state, pias_ca1_r), /* line CA1 in */ |
| 518 | 532 | DEVCB_NULL, /* line CB1 in */ |
| 519 | 533 | DEVCB_LINE_VCC, /* line CA2 in */ |
| r19696 | r19697 | |
| 529 | 543 | DRIVER_INIT_MEMBER( s11a_state, s11a ) |
| 530 | 544 | { |
| 531 | 545 | UINT8 *ROM = memregion("audiocpu")->base(); |
| 546 | UINT8 *BGROM = memregion("bgcpu")->base(); |
| 532 | 547 | membank("bank0")->configure_entries(0, 2, &ROM[0x10000], 0x4000); |
| 533 | 548 | membank("bank1")->configure_entries(0, 2, &ROM[0x18000], 0x4000); |
| 549 | membank("bgbank")->configure_entries(0, 2, &BGROM[0x10000], 0x8000); |
| 534 | 550 | membank("bank0")->set_entry(0); |
| 535 | 551 | membank("bank1")->set_entry(0); |
| 552 | membank("bgbank")->set_entry(0); |
| 536 | 553 | } |
| 537 | 554 | |
| 538 | 555 | TIMER_DEVICE_CALLBACK_MEMBER( s11a_state::irq) |
| r19696 | r19697 | |
| 606 | 623 | ROM_LOAD("f14_u22.l1", 0x10000, 0x8000, CRC(c9dd7496) SHA1(de3cb855d87033274cc912578b02d1593d2d69f9)) |
| 607 | 624 | |
| 608 | 625 | ROM_REGION(0x20000, "bgcpu", ROMREGION_ERASEFF) |
| 609 | | ROM_LOAD("f14_u4.l1", 0x08000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d)) |
| 610 | | ROM_LOAD("f14_u19.l1", 0x10000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377)) |
| 626 | ROM_LOAD("f14_u4.l1", 0x10000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d)) |
| 627 | ROM_LOAD("f14_u19.l1", 0x18000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377)) |
| 611 | 628 | ROM_END |
| 612 | 629 | |
| 613 | 630 | ROM_START(f14_p4) |
| r19696 | r19697 | |
| 620 | 637 | ROM_LOAD("f14_u22.l1", 0x10000, 0x8000, CRC(c9dd7496) SHA1(de3cb855d87033274cc912578b02d1593d2d69f9)) |
| 621 | 638 | |
| 622 | 639 | ROM_REGION(0x20000, "bgcpu", ROMREGION_ERASEFF) |
| 623 | | ROM_LOAD("f14_u4.l1", 0x08000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d)) |
| 624 | | ROM_LOAD("f14_u19.l1", 0x10000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377)) |
| 640 | ROM_LOAD("f14_u4.l1", 0x10000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d)) |
| 641 | ROM_LOAD("f14_u19.l1", 0x18000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377)) |
| 625 | 642 | ROM_END |
| 626 | 643 | |
| 627 | 644 | ROM_START(f14_l1) |
| r19696 | r19697 | |
| 634 | 651 | ROM_LOAD("f14_u22.l1", 0x10000, 0x8000, CRC(c9dd7496) SHA1(de3cb855d87033274cc912578b02d1593d2d69f9)) |
| 635 | 652 | |
| 636 | 653 | ROM_REGION(0x20000, "bgcpu", ROMREGION_ERASEFF) |
| 637 | | ROM_LOAD("f14_u4.l1", 0x08000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d)) |
| 638 | | ROM_LOAD("f14_u19.l1", 0x10000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377)) |
| 654 | ROM_LOAD("f14_u4.l1", 0x10000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d)) |
| 655 | ROM_LOAD("f14_u19.l1", 0x18000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377)) |
| 639 | 656 | ROM_END |
| 640 | 657 | |
| 641 | 658 | /*-------------------- |
| r19696 | r19697 | |
| 651 | 668 | ROM_LOAD("fire_u22.l2", 0x10000, 0x8000, CRC(16145c97) SHA1(523e99df3907a2c843c6e27df4d16799c4136a46)) |
| 652 | 669 | |
| 653 | 670 | ROM_REGION(0x20000, "bgcpu", ROMREGION_ERASEFF) |
| 654 | | ROM_LOAD("fire_u4.l1", 0x8000, 0x8000, CRC(0e058918) SHA1(4d6bf2290141119174787f8dd653c47ea4c73693)) |
| 671 | ROM_LOAD("fire_u4.l1", 0x10000, 0x8000, CRC(0e058918) SHA1(4d6bf2290141119174787f8dd653c47ea4c73693)) |
| 655 | 672 | ROM_END |
| 656 | 673 | |
| 657 | 674 | /*-------------------------------------- |
| r19696 | r19697 | |
| 671 | 688 | ROM_LOAD("mill_u22.l1", 0x10000, 0x8000, CRC(73735cfc) SHA1(f74c873a20990263e0d6b35609fc51c08c9f8e31)) |
| 672 | 689 | |
| 673 | 690 | ROM_REGION(0x20000, "bgcpu", ROMREGION_ERASEFF) |
| 674 | | ROM_LOAD("mill_u4.l1", 0x08000, 0x8000, CRC(cf766506) SHA1(a6e4df19a513102abbce2653d4f72245f54407b1)) |
| 675 | | ROM_LOAD("mill_u19.l1", 0x10000, 0x8000, CRC(e073245a) SHA1(cbaddde6bb19292ace574a8329e18c97c2ee9763)) |
| 691 | ROM_LOAD("mill_u4.l1", 0x10000, 0x8000, CRC(cf766506) SHA1(a6e4df19a513102abbce2653d4f72245f54407b1)) |
| 692 | ROM_LOAD("mill_u19.l1", 0x18000, 0x8000, CRC(e073245a) SHA1(cbaddde6bb19292ace574a8329e18c97c2ee9763)) |
| 676 | 693 | ROM_END |
| 677 | 694 | |
| 678 | 695 | /*-------------------- |
| r19696 | r19697 | |
| 688 | 705 | ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4)) |
| 689 | 706 | |
| 690 | 707 | ROM_REGION(0x20000, "bgcpu", ROMREGION_ERASEFF) |
| 691 | | ROM_LOAD("pbot_u4.l1", 0x08000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228)) |
| 692 | | ROM_LOAD("pbot_u19.l1", 0x10000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998)) |
| 708 | ROM_LOAD("pbot_u4.l1", 0x10000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228)) |
| 709 | ROM_LOAD("pbot_u19.l1", 0x18000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998)) |
| 693 | 710 | ROM_END |
| 694 | 711 | |
| 695 | 712 | ROM_START(pb_l2) |
| r19696 | r19697 | |
| 702 | 719 | ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4)) |
| 703 | 720 | |
| 704 | 721 | ROM_REGION(0x20000, "bgcpu", ROMREGION_ERASEFF) |
| 705 | | ROM_LOAD("pbot_u4.l1", 0x08000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228)) |
| 706 | | ROM_LOAD("pbot_u19.l1", 0x10000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998)) |
| 722 | ROM_LOAD("pbot_u4.l1", 0x10000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228)) |
| 723 | ROM_LOAD("pbot_u19.l1", 0x18000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998)) |
| 707 | 724 | ROM_END |
| 708 | 725 | |
| 709 | 726 | ROM_START(pb_l3) |
| r19696 | r19697 | |
| 716 | 733 | ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4)) |
| 717 | 734 | |
| 718 | 735 | ROM_REGION(0x20000, "bgcpu", ROMREGION_ERASEFF) |
| 719 | | ROM_LOAD("pbot_u4.l1", 0x08000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228)) |
| 720 | | ROM_LOAD("pbot_u19.l1", 0x10000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998)) |
| 736 | ROM_LOAD("pbot_u4.l1", 0x10000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228)) |
| 737 | ROM_LOAD("pbot_u19.l1", 0x18000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998)) |
| 721 | 738 | ROM_END |
| 722 | 739 | |
| 723 | 740 | GAME(1987, f14_l1, 0, s11a, s11a, s11a_state, s11a, ROT0, "Williams", "F14 Tomcat (L-1)", GAME_IS_SKELETON_MECHANICAL) |