trunk/src/mame/drivers/peyper.c
| r32253 | r32254 | |
| 1 | // license:MAME |
| 2 | // copyright-holders:Stephh, Robbbert |
| 1 | 3 | /******************************************************************************************************** |
| 2 | 4 | |
| 3 | 5 | PINBALL |
| 4 | | Peyper |
| 6 | Peyper/Sonic |
| 5 | 7 | |
| 8 | Odin (Peyper) |
| 9 | Odin Deluxe (Sonic) |
| 10 | Solar Wars (Sonic) |
| 11 | Gammatron (Sonic) |
| 12 | Pole Position (Sonic) |
| 13 | Star Wars (Sonic) |
| 14 | Wolf Man (Peyper) |
| 15 | Nemesis (Peyper) |
| 16 | Odisea Paris-Dakar (Peyper) |
| 17 | |
| 18 | Others not emulated: |
| 19 | Hang-On (Sonic) |
| 20 | Night Fever (Sonic) |
| 21 | Storm (Sonic) |
| 22 | |
| 23 | Sir Lancelot (Peyper, 1994) |
| 24 | - CPU is a B409 (could be a higher-speed Z80) |
| 25 | - Audio CPU is a TMP91P640F-10. Other audio chips are YMF262 and YAC512. |
| 26 | |
| 27 | Most games require a ball in the outhole before starting a game (hold down X and press 1). |
| 28 | |
| 29 | |
| 30 | Status: |
| 31 | - Solar Wars: works |
| 32 | - Pole Position: works. |
| 33 | - Gamatron: can only enter coins. |
| 34 | - Star Wars: works |
| 35 | - Odin: works |
| 36 | - Odin Deluxe: works |
| 37 | - Wolf Man: works |
| 38 | - Nemesis: works |
| 39 | - Odisea: works |
| 40 | |
| 41 | |
| 6 | 42 | *********************************************************************************************************/ |
| 7 | 43 | |
| 8 | 44 | #include "machine/genpin.h" |
| r32253 | r32254 | |
| 31 | 67 | DECLARE_WRITE8_MEMBER(p2b_w) { }; // more lamps |
| 32 | 68 | DECLARE_CUSTOM_INPUT_MEMBER(wolfman_replay_hs_r); |
| 33 | 69 | DECLARE_DRIVER_INIT(peyper); |
| 70 | DECLARE_DRIVER_INIT(odin); |
| 71 | DECLARE_DRIVER_INIT(wolfman); |
| 34 | 72 | private: |
| 35 | 73 | UINT8 m_digit; |
| 36 | | UINT8 irq_state; |
| 74 | UINT8 m_disp_layout[36]; |
| 37 | 75 | virtual void machine_reset(); |
| 38 | 76 | required_device<cpu_device> m_maincpu; |
| 39 | 77 | }; |
| r32253 | r32254 | |
| 56 | 94 | return data; |
| 57 | 95 | } |
| 58 | 96 | |
| 59 | | /* seems to only work correctly for 'solarwap', 'poleposn' and 'sonstwar' (look at how high-scores are displayed for example) - or shall layout be changed ? */ |
| 60 | 97 | WRITE8_MEMBER( peyper_state::disp_w ) |
| 61 | 98 | { |
| 62 | 99 | static const UINT8 patterns[16] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67,0x58,0x4c,0x62,0x69,0x78,0 }; // 7448 |
| 63 | | UINT8 a = data & 0x0f; |
| 64 | | UINT8 b = data >> 4; |
| 65 | | UINT8 hex_a = patterns[a]; |
| 66 | | UINT8 hex_b = patterns[b]; |
| 67 | 100 | /* |
| 68 | 101 | 0 -> XA0 DPL25,DPL27 |
| 69 | 102 | 1 -> XA1 DPL26,DPL28 |
| r32253 | r32254 | |
| 73 | 106 | 5 -> DPL20,DPL2 |
| 74 | 107 | 6 -> DPL19,DPL1 |
| 75 | 108 | 7 -> DPL30,DPL33 |
| 76 | | */ |
| 77 | | switch(m_digit) { |
| 78 | | case 0 : |
| 79 | | output_set_indexed_value("dpl_",25,hex_a); |
| 80 | | output_set_indexed_value("dpl_",27,hex_b); |
| 81 | | break; |
| 82 | | case 1 : |
| 83 | | output_set_indexed_value("dpl_",26,hex_a); |
| 84 | | output_set_indexed_value("dpl_",28,hex_b); |
| 85 | | break; |
| 86 | | case 2 : |
| 87 | | output_set_indexed_value("dpl_",23,hex_a); |
| 88 | | output_set_indexed_value("dpl_",5,hex_b); |
| 89 | | break; |
| 90 | | case 3 : |
| 91 | | output_set_indexed_value("dpl_",22,hex_a); |
| 92 | | output_set_indexed_value("dpl_",4,hex_b); |
| 93 | | break; |
| 94 | | case 4 : |
| 95 | | output_set_indexed_value("dpl_",21,hex_a); |
| 96 | | output_set_indexed_value("dpl_",3,hex_b); |
| 97 | | break; |
| 98 | | case 5 : |
| 99 | | output_set_indexed_value("dpl_",20,hex_a); |
| 100 | | output_set_indexed_value("dpl_",2,hex_b); |
| 101 | | break; |
| 102 | | case 6 : |
| 103 | | output_set_indexed_value("dpl_",19,hex_a); |
| 104 | | output_set_indexed_value("dpl_",1,hex_b); |
| 105 | | break; |
| 106 | | case 7 : |
| 107 | | output_set_indexed_value("dpl_",33,hex_a); |
| 108 | | output_set_indexed_value("dpl_",30,hex_b); |
| 109 | | break; |
| 110 | | /* |
| 111 | 109 | 8 -> XB0 |
| 112 | 110 | 9 -> XB1 |
| 113 | 111 | 10 -> DPL11,DPL17 |
| r32253 | r32254 | |
| 117 | 115 | 14 -> DPL07,DPL13 |
| 118 | 116 | 15 -> DPL31,DPL32 |
| 119 | 117 | */ |
| 120 | | case 8 : |
| 121 | | /* |
| 122 | | if (BIT(b,3)) logerror("TILT\n"); |
| 123 | | if (BIT(b,2)) logerror("ONC\n"); |
| 124 | | if (BIT(b,1)) logerror("GAME OVER\n"); |
| 125 | | if (BIT(b,0)) logerror("BALL IN PLAY\n"); |
| 126 | | */ |
| 118 | |
| 119 | UINT8 i,q,hex_a,a; |
| 120 | UINT8 p = m_digit << 1; |
| 121 | |
| 122 | for (i = 0; i < 2; i++) |
| 123 | { |
| 124 | q = m_disp_layout[p++]; // get control code or digit |
| 125 | a = data & 15; // get bcd |
| 126 | data >>= 4; // rotate for next iteration |
| 127 | hex_a = patterns[a]; // get segments |
| 128 | |
| 129 | // special codes |
| 130 | switch (q) |
| 131 | { |
| 132 | case 34: // player indicator lights (7-digit only) |
| 127 | 133 | output_set_indexed_value("led_",1,BIT(a,0)); // PLAYER 1 |
| 128 | 134 | output_set_indexed_value("led_",2,BIT(a,1)); // PLAYER 2 |
| 129 | 135 | output_set_indexed_value("led_",3,BIT(a,2)); // PLAYER 3 |
| 130 | 136 | output_set_indexed_value("led_",4,BIT(a,3)); // PLAYER 4 |
| 131 | 137 | break; |
| 132 | | case 9 : |
| 133 | | if (!BIT(a,0)) output_set_indexed_value("dpl_",6, 0x3f); |
| 134 | | if (!BIT(a,1)) output_set_indexed_value("dpl_",12, 0x3f); |
| 135 | | if (!BIT(a,2)) output_set_indexed_value("dpl_",24, 0x3f); |
| 136 | | if (!BIT(a,3)) output_set_indexed_value("dpl_",18, 0x3f); |
| 137 | | output_set_indexed_value("dpl_",29,hex_b); |
| 138 | |
| 139 | case 35: // units digits show 0 |
| 140 | if (!BIT(a,0)) output_set_indexed_value("dpl_",m_disp_layout[32], 0x3f); |
| 141 | if (!BIT(a,1)) output_set_indexed_value("dpl_",m_disp_layout[33], 0x3f); |
| 142 | if (!BIT(a,2)) output_set_indexed_value("dpl_",m_disp_layout[34], 0x3f); |
| 143 | if (!BIT(a,3)) output_set_indexed_value("dpl_",m_disp_layout[35], 0x3f); |
| 138 | 144 | break; |
| 139 | | case 10 : |
| 140 | | output_set_indexed_value("dpl_",17,hex_a); |
| 141 | | output_set_indexed_value("dpl_",11,hex_b); |
| 145 | |
| 146 | case 36: // game status indicators |
| 147 | /* |
| 148 | if (BIT(a,3)) logerror("TILT\n"); |
| 149 | if (BIT(a,2)) logerror("ONC\n"); |
| 150 | if (BIT(a,1)) logerror("GAME OVER\n"); |
| 151 | if (BIT(a,0)) logerror("BALL IN PLAY\n"); |
| 152 | */ |
| 142 | 153 | break; |
| 143 | | case 11 : |
| 144 | | output_set_indexed_value("dpl_",16,hex_a); |
| 145 | | output_set_indexed_value("dpl_",10,hex_b); |
| 154 | |
| 155 | case 37: // player 1 indicators (6-digit only) |
| 156 | case 38: // player 2 indicators (6-digit only) |
| 157 | case 39: // player 3 indicators (6-digit only) |
| 158 | case 40: // player 4 indicators (6-digit only) |
| 159 | output_set_indexed_value("led_",q-36,BIT(a,1)); // player indicator |
| 160 | output_set_indexed_value("dpl_",q-7,BIT(a,2) ? 6:0); // million led (we show blank or 1 in millions digit) |
| 161 | // bit 3, looks like it turns on all the decimal points, reason unknown |
| 146 | 162 | break; |
| 147 | | case 12 : |
| 148 | | output_set_indexed_value("dpl_",15,hex_a); |
| 149 | | output_set_indexed_value("dpl_",9,hex_b); |
| 150 | | break; |
| 151 | | case 13 : |
| 152 | | output_set_indexed_value("dpl_",14,hex_a); |
| 153 | | output_set_indexed_value("dpl_",8,hex_b); |
| 154 | | break; |
| 155 | | case 14 : |
| 156 | | output_set_indexed_value("dpl_",13,hex_a); |
| 157 | | output_set_indexed_value("dpl_",7,hex_b); |
| 158 | | break; |
| 159 | | case 15 : |
| 160 | | output_set_indexed_value("dpl_",32,hex_a); |
| 161 | | output_set_indexed_value("dpl_",31,hex_b); |
| 162 | | break; |
| 163 | |
| 164 | default: // display a digit |
| 165 | output_set_indexed_value("dpl_",q,hex_a); |
| 166 | } |
| 163 | 167 | } |
| 164 | 168 | } |
| 165 | 169 | |
| r32253 | r32254 | |
| 578 | 582 | |
| 579 | 583 | void peyper_state::machine_reset() |
| 580 | 584 | { |
| 581 | | irq_state = 0; |
| 582 | 585 | } |
| 583 | 586 | |
| 584 | 587 | static MACHINE_CONFIG_START( peyper, peyper_state ) |
| r32253 | r32254 | |
| 586 | 589 | MCFG_CPU_ADD("maincpu", Z80, 2500000) |
| 587 | 590 | MCFG_CPU_PROGRAM_MAP(peyper_map) |
| 588 | 591 | MCFG_CPU_IO_MAP(peyper_io) |
| 589 | | MCFG_CPU_PERIODIC_INT_DRIVER(peyper_state, irq0_line_hold, 1250 * 2) |
| 592 | MCFG_CPU_PERIODIC_INT_DRIVER(peyper_state, irq0_line_hold, 1250) |
| 590 | 593 | MCFG_NVRAM_ADD_0FILL("nvram") |
| 591 | 594 | |
| 592 | 595 | /* video hardware */ |
| r32253 | r32254 | |
| 613 | 616 | MCFG_I8279_IN_CTRL_CB(VCC) |
| 614 | 617 | MACHINE_CONFIG_END |
| 615 | 618 | |
| 619 | // Not allowed to set up an array all at once, so we have this mess |
| 620 | DRIVER_INIT_MEMBER( peyper_state, peyper ) |
| 621 | { |
| 622 | m_disp_layout[0] = 25; |
| 623 | m_disp_layout[1] = 27; |
| 624 | m_disp_layout[2] = 26; |
| 625 | m_disp_layout[3] = 28; |
| 626 | m_disp_layout[4] = 23; |
| 627 | m_disp_layout[5] = 5; |
| 628 | m_disp_layout[6] = 22; |
| 629 | m_disp_layout[7] = 4; |
| 630 | m_disp_layout[8] = 21; |
| 631 | m_disp_layout[9] = 3; |
| 632 | m_disp_layout[10] = 20; |
| 633 | m_disp_layout[11] = 2; |
| 634 | m_disp_layout[12] = 19; |
| 635 | m_disp_layout[13] = 1; |
| 636 | m_disp_layout[14] = 33; |
| 637 | m_disp_layout[15] = 30; |
| 638 | m_disp_layout[16] = 34; |
| 639 | m_disp_layout[17] = 36; |
| 640 | m_disp_layout[18] = 35; |
| 641 | m_disp_layout[19] = 29; |
| 642 | m_disp_layout[20] = 17; |
| 643 | m_disp_layout[21] = 11; |
| 644 | m_disp_layout[22] = 16; |
| 645 | m_disp_layout[23] = 10; |
| 646 | m_disp_layout[24] = 15; |
| 647 | m_disp_layout[25] = 9; |
| 648 | m_disp_layout[26] = 14; |
| 649 | m_disp_layout[27] = 8; |
| 650 | m_disp_layout[28] = 13; |
| 651 | m_disp_layout[29] = 7; |
| 652 | m_disp_layout[30] = 32; |
| 653 | m_disp_layout[31] = 31; |
| 654 | m_disp_layout[32] = 6; |
| 655 | m_disp_layout[33] = 12; |
| 656 | m_disp_layout[34] = 18; |
| 657 | m_disp_layout[35] = 24; |
| 658 | } |
| 616 | 659 | |
| 617 | | DRIVER_INIT_MEMBER(peyper_state,peyper) |
| 660 | DRIVER_INIT_MEMBER( peyper_state, odin ) |
| 618 | 661 | { |
| 662 | m_disp_layout[0] = 25; |
| 663 | m_disp_layout[1] = 27; |
| 664 | m_disp_layout[2] = 26; |
| 665 | m_disp_layout[3] = 28; |
| 666 | m_disp_layout[4] = 40; |
| 667 | m_disp_layout[5] = 37; |
| 668 | m_disp_layout[6] = 23; |
| 669 | m_disp_layout[7] = 5; |
| 670 | m_disp_layout[8] = 22; |
| 671 | m_disp_layout[9] = 4; |
| 672 | m_disp_layout[10] = 21; |
| 673 | m_disp_layout[11] = 3; |
| 674 | m_disp_layout[12] = 20; |
| 675 | m_disp_layout[13] = 2; |
| 676 | m_disp_layout[14] = 19; |
| 677 | m_disp_layout[15] = 1; |
| 678 | m_disp_layout[16] = 0; // does nothing? |
| 679 | m_disp_layout[17] = 36; |
| 680 | m_disp_layout[18] = 35; |
| 681 | m_disp_layout[19] = 29; |
| 682 | m_disp_layout[20] = 39; |
| 683 | m_disp_layout[21] = 38; |
| 684 | m_disp_layout[22] = 17; |
| 685 | m_disp_layout[23] = 11; |
| 686 | m_disp_layout[24] = 16; |
| 687 | m_disp_layout[25] = 10; |
| 688 | m_disp_layout[26] = 15; |
| 689 | m_disp_layout[27] = 9; |
| 690 | m_disp_layout[28] = 14; |
| 691 | m_disp_layout[29] = 8; |
| 692 | m_disp_layout[30] = 13; |
| 693 | m_disp_layout[31] = 7; |
| 694 | m_disp_layout[32] = 6; |
| 695 | m_disp_layout[33] = 12; |
| 696 | m_disp_layout[34] = 18; |
| 697 | m_disp_layout[35] = 24; |
| 619 | 698 | } |
| 620 | 699 | |
| 700 | DRIVER_INIT_MEMBER( peyper_state, wolfman ) |
| 701 | { |
| 702 | m_disp_layout[0] = 25; |
| 703 | m_disp_layout[1] = 27; |
| 704 | m_disp_layout[2] = 26; |
| 705 | m_disp_layout[3] = 28; |
| 706 | m_disp_layout[4] = 40; |
| 707 | m_disp_layout[5] = 37; |
| 708 | m_disp_layout[6] = 19; |
| 709 | m_disp_layout[7] = 1; |
| 710 | m_disp_layout[8] = 23; |
| 711 | m_disp_layout[9] = 5; |
| 712 | m_disp_layout[10] = 22; |
| 713 | m_disp_layout[11] = 4; |
| 714 | m_disp_layout[12] = 21; |
| 715 | m_disp_layout[13] = 3; |
| 716 | m_disp_layout[14] = 20; |
| 717 | m_disp_layout[15] = 2; |
| 718 | m_disp_layout[16] = 0; // does nothing? |
| 719 | m_disp_layout[17] = 36; |
| 720 | m_disp_layout[18] = 35; |
| 721 | m_disp_layout[19] = 29; |
| 722 | m_disp_layout[20] = 39; |
| 723 | m_disp_layout[21] = 38; |
| 724 | m_disp_layout[22] = 13; |
| 725 | m_disp_layout[23] = 7; |
| 726 | m_disp_layout[24] = 17; |
| 727 | m_disp_layout[25] = 11; |
| 728 | m_disp_layout[26] = 16; |
| 729 | m_disp_layout[27] = 10; |
| 730 | m_disp_layout[28] = 15; |
| 731 | m_disp_layout[29] = 9; |
| 732 | m_disp_layout[30] = 14; |
| 733 | m_disp_layout[31] = 8; |
| 734 | m_disp_layout[32] = 6; |
| 735 | m_disp_layout[33] = 12; |
| 736 | m_disp_layout[34] = 18; |
| 737 | m_disp_layout[35] = 24; |
| 738 | } |
| 621 | 739 | |
| 740 | |
| 622 | 741 | /*------------------------------------------------------------------- |
| 623 | 742 | / Night Fever (1979) |
| 624 | 743 | /-------------------------------------------------------------------*/ |
| r32253 | r32254 | |
| 627 | 746 | / Odin (1985) |
| 628 | 747 | /-------------------------------------------------------------------*/ |
| 629 | 748 | ROM_START(odin) |
| 630 | | ROM_REGION(0x10000, "maincpu", 0) |
| 749 | ROM_REGION(0x6000, "maincpu", 0) |
| 631 | 750 | ROM_LOAD("odin_a.bin", 0x0000, 0x2000, CRC(ac3a7770) SHA1(2409629d3adbae0d7e6e5f9fe6f137c1e5a1bb86)) |
| 632 | 751 | ROM_LOAD("odin_b.bin", 0x2000, 0x2000, CRC(46744695) SHA1(fdbd8a93b3e4a9697e77e7d381759829b86fe28b)) |
| 633 | 752 | ROM_END |
| r32253 | r32254 | |
| 636 | 755 | / Odin De Luxe (1985) |
| 637 | 756 | /-------------------------------------------------------------------*/ |
| 638 | 757 | ROM_START(odin_dlx) |
| 639 | | ROM_REGION(0x10000, "maincpu", 0) |
| 758 | ROM_REGION(0x6000, "maincpu", 0) |
| 640 | 759 | ROM_LOAD("1a.bin", 0x0000, 0x2000, CRC(4fca9bfc) SHA1(05dce75919375d01a306aef385bcaac042243695)) |
| 641 | 760 | ROM_LOAD("2a.bin", 0x2000, 0x2000, CRC(46744695) SHA1(fdbd8a93b3e4a9697e77e7d381759829b86fe28b)) |
| 642 | 761 | ROM_END |
| r32253 | r32254 | |
| 645 | 764 | / Solar Wars (1986) |
| 646 | 765 | /-------------------------------------------------------------------*/ |
| 647 | 766 | ROM_START(solarwap) |
| 648 | | ROM_REGION(0x10000, "maincpu", 0) |
| 767 | ROM_REGION(0x6000, "maincpu", 0) |
| 649 | 768 | ROM_LOAD("solarw1c.bin", 0x0000, 0x2000, CRC(aa6bf0cd) SHA1(7332a4b1679841283d846f3e4f1792cb8e9529bf)) |
| 650 | 769 | ROM_LOAD("solarw2.bin", 0x2000, 0x2000, CRC(95e2cbb1) SHA1(f9ab3222ca0b9e0796030a7a618847a4e8f77957)) |
| 651 | 770 | ROM_END |
| r32253 | r32254 | |
| 654 | 773 | / Gamatron (1986) |
| 655 | 774 | /-------------------------------------------------------------------*/ |
| 656 | 775 | ROM_START(gamatros) |
| 657 | | ROM_REGION(0x10000, "maincpu", 0) |
| 776 | ROM_REGION(0x6000, "maincpu", 0) |
| 658 | 777 | ROM_LOAD("gama_a.bin", 0x0000, 0x2000, CRC(1dc2841c) SHA1(27c6a07b1f8bd5e73b425e7dbdcfb1d5233c18b2)) |
| 659 | 778 | ROM_LOAD("gama_b.bin", 0x2000, 0x2000, CRC(56125890) SHA1(8b30a2282df264d798df1b031ecade999d135f81)) |
| 660 | 779 | ROM_END |
| r32253 | r32254 | |
| 663 | 782 | / Pole Position (1987) |
| 664 | 783 | /-------------------------------------------------------------------*/ |
| 665 | 784 | ROM_START(poleposn) |
| 666 | | ROM_REGION(0x10000, "maincpu", 0) |
| 785 | ROM_REGION(0x6000, "maincpu", 0) |
| 667 | 786 | ROM_LOAD("1.bin", 0x0000, 0x2000, CRC(fdd37f6d) SHA1(863fef32ab9b5f3aca51788b6be9373a01fa0698)) |
| 668 | 787 | ROM_LOAD("2.bin", 0x2000, 0x2000, CRC(967cb72b) SHA1(adef17018e2caf65b64bbfef72fe159b9704c409)) |
| 669 | 788 | ROM_LOAD("3.bin", 0x4000, 0x2000, CRC(461fe9ca) SHA1(01bf35550e2c55995f167293746f355cfd484af1)) |
| r32253 | r32254 | |
| 673 | 792 | / Star Wars (1987) |
| 674 | 793 | /-------------------------------------------------------------------*/ |
| 675 | 794 | ROM_START(sonstwar) |
| 676 | | ROM_REGION(0x10000, "maincpu", 0) |
| 795 | ROM_REGION(0x6000, "maincpu", 0) |
| 677 | 796 | ROM_LOAD("sw1.bin", 0x0000, 0x2000, CRC(a2555d92) SHA1(5c82be85bf097e94953d11c0d902763420d64de4)) |
| 678 | 797 | ROM_LOAD("sw2.bin", 0x2000, 0x2000, CRC(c2ae34a7) SHA1(0f59242e3aec5da7111e670c4d7cf830d0030597)) |
| 679 | 798 | ROM_LOAD("sw3.bin", 0x4000, 0x2000, CRC(aee516d9) SHA1(b50e54d4d5db59e3fb71fb000f9bc5e34ff7de9c)) |
| 680 | 799 | ROM_END |
| 681 | 800 | |
| 682 | 801 | ROM_START(sonstwr2) |
| 683 | | ROM_REGION(0x10000, "maincpu", 0) |
| 802 | ROM_REGION(0x6000, "maincpu", 0) |
| 684 | 803 | ROM_LOAD("stw1i.bin", 0x0000, 0x2000, CRC(416e2a0c) SHA1(74ca550ee9eb83d9762ffab0f085dffae569d4a9)) |
| 685 | 804 | ROM_LOAD("stw2i.bin", 0x2000, 0x2000, CRC(ccbbec46) SHA1(4fd0e48916e8761a7e70300d3ede166f5f04f8ae)) |
| 686 | 805 | ROM_LOAD("sw3.bin", 0x4000, 0x2000, CRC(aee516d9) SHA1(b50e54d4d5db59e3fb71fb000f9bc5e34ff7de9c)) |
| r32253 | r32254 | |
| 694 | 813 | / Odisea Paris-Dakar (1987) |
| 695 | 814 | /-------------------------------------------------------------------*/ |
| 696 | 815 | ROM_START(odisea) |
| 697 | | ROM_REGION(0x10000, "maincpu", 0) |
| 816 | ROM_REGION(0x6000, "maincpu", 0) |
| 698 | 817 | ROM_LOAD("odiseaa.bin", 0x0000, 0x2000, CRC(29a40242) SHA1(321e8665df424b75112589fc630a438dc6f2f459)) |
| 699 | 818 | ROM_LOAD("odiseab.bin", 0x2000, 0x2000, CRC(8bdf7c17) SHA1(7202b4770646fce5b2ba9e3b8ca097a993123b14)) |
| 700 | 819 | ROM_LOAD("odiseac.bin", 0x4000, 0x2000, CRC(832dee5e) SHA1(9b87ffd768ab2610f2352adcf22c4a7880de47ab)) |
| r32253 | r32254 | |
| 704 | 823 | / Nemesis (1986) |
| 705 | 824 | /-------------------------------------------------------------------*/ |
| 706 | 825 | ROM_START(nemesisp) |
| 707 | | ROM_REGION(0x10000, "maincpu", 0) |
| 826 | ROM_REGION(0x6000, "maincpu", 0) |
| 708 | 827 | ROM_LOAD("nemesisa.bin", 0x0000, 0x2000, CRC(56f13350) SHA1(30907c362f88b48d634e8aaa1e1161852886645c)) |
| 709 | 828 | ROM_LOAD("nemesisb.bin", 0x2000, 0x2000, CRC(a8f3e6c7) SHA1(c25b2271c4de6f4b57c3c850d28a0878ea081c26)) |
| 710 | 829 | ROM_LOAD("memoriac.bin", 0x4000, 0x2000, CRC(468f16f0) SHA1(66ce0464d82331cfc0ac1f6fbd871066e4e57262)) |
| r32253 | r32254 | |
| 714 | 833 | / Wolf Man (1987) |
| 715 | 834 | /-------------------------------------------------------------------*/ |
| 716 | 835 | ROM_START(wolfman) |
| 717 | | ROM_REGION(0x10000, "maincpu", 0) |
| 836 | ROM_REGION(0x6000, "maincpu", 0) |
| 718 | 837 | ROM_LOAD("memoriaa.bin", 0x0000, 0x2000, CRC(1fec83fe) SHA1(5dc887d0fa00129ae31451c03bfe442f87dd2f54)) |
| 719 | 838 | ROM_LOAD("memoriab.bin", 0x2000, 0x2000, CRC(62a1e3ec) SHA1(dc472c7c9d223820f8f1031c92e36890c1fcba7d)) |
| 720 | 839 | ROM_LOAD("memoriac.bin", 0x4000, 0x2000, CRC(468f16f0) SHA1(66ce0464d82331cfc0ac1f6fbd871066e4e57262)) |
| 721 | 840 | ROM_END |
| 722 | 841 | |
| 723 | | /*------------------------------------------------------------------- |
| 724 | | / Sir Lancelot (1994) |
| 725 | | /-------------------------------------------------------------------*/ |
| 726 | 842 | |
| 727 | | GAME( 1985, odin, 0, peyper, odin_dlx, peyper_state, peyper, ROT0, "Sonic", "Odin", GAME_IS_SKELETON_MECHANICAL) |
| 728 | | GAME( 1985, odin_dlx, 0, peyper, odin_dlx, peyper_state, peyper, ROT0, "Sonic", "Odin De Luxe", GAME_IS_SKELETON_MECHANICAL) |
| 729 | | GAME( 1986, solarwap, 0, peyper, solarwap, peyper_state, peyper, ROT0, "Sonic", "Solar Wars (Sonic)", GAME_IS_SKELETON_MECHANICAL) |
| 843 | GAME( 1985, odin, 0, peyper, odin_dlx, peyper_state, odin, ROT0, "Peyper", "Odin", GAME_MECHANICAL) |
| 844 | GAME( 1985, odin_dlx, 0, peyper, odin_dlx, peyper_state, odin, ROT0, "Sonic", "Odin De Luxe", GAME_MECHANICAL) |
| 845 | GAME( 1986, solarwap, 0, peyper, solarwap, peyper_state, peyper, ROT0, "Sonic", "Solar Wars (Sonic)", GAME_MECHANICAL) |
| 730 | 846 | GAME( 1986, gamatros, 0, peyper, solarwap, peyper_state, peyper, ROT0, "Sonic", "Gamatron (Sonic)", GAME_IS_SKELETON_MECHANICAL) |
| 731 | | GAME( 1987, poleposn, 0, peyper, poleposn, peyper_state, peyper, ROT0, "Sonic", "Pole Position (Sonic)", GAME_IS_SKELETON_MECHANICAL) |
| 732 | | GAME( 1987, sonstwar, 0, peyper, sonstwar, peyper_state, peyper, ROT0, "Sonic", "Star Wars (Sonic, set 1)", GAME_IS_SKELETON_MECHANICAL) |
| 733 | | GAME( 1987, sonstwr2, sonstwar, peyper, sonstwar, peyper_state, peyper, ROT0, "Sonic", "Star Wars (Sonic, set 2)", GAME_IS_SKELETON_MECHANICAL) |
| 734 | | |
| 735 | | GAME( 1987, wolfman, 0, peyper, wolfman, peyper_state, peyper, ROT0, "Peyper", "Wolf Man", GAME_IS_SKELETON_MECHANICAL) |
| 736 | | GAME( 1986, nemesisp, 0, peyper, wolfman, peyper_state, peyper, ROT0, "Peyper", "Nemesis", GAME_IS_SKELETON_MECHANICAL) |
| 737 | | GAME( 1987, odisea, 0, peyper, odisea, peyper_state, peyper, ROT0, "Peyper", "Odisea Paris-Dakar", GAME_IS_SKELETON_MECHANICAL) |
| 847 | GAME( 1987, poleposn, 0, peyper, poleposn, peyper_state, peyper, ROT0, "Sonic", "Pole Position (Sonic)", GAME_MECHANICAL) |
| 848 | GAME( 1987, sonstwar, 0, peyper, sonstwar, peyper_state, peyper, ROT0, "Sonic", "Star Wars (Sonic, set 1)", GAME_MECHANICAL) |
| 849 | GAME( 1987, sonstwr2, sonstwar, peyper, sonstwar, peyper_state, peyper, ROT0, "Sonic", "Star Wars (Sonic, set 2)", GAME_MECHANICAL) |
| 850 | GAME( 1987, wolfman, 0, peyper, wolfman, peyper_state, wolfman, ROT0, "Peyper", "Wolf Man", GAME_MECHANICAL) |
| 851 | GAME( 1986, nemesisp, 0, peyper, wolfman, peyper_state, wolfman, ROT0, "Peyper", "Nemesis", GAME_MECHANICAL) |
| 852 | GAME( 1987, odisea, 0, peyper, odisea, peyper_state, wolfman, ROT0, "Peyper", "Odisea Paris-Dakar", GAME_MECHANICAL) |