trunk/src/mess/drivers/hh_hmcs40.c
| r248577 | r248578 | |
| 55 | 55 | @69 HD38820A 1983, Gakken Dig Dug |
| 56 | 56 | @70 HD38820A 1983, Parker Brothers Q*Bert |
| 57 | 57 | @85 HD38820A 1984, Bandai Machine Man (PT-438) |
| 58 | | *88 HD38820A 1984, Bandai Pair Match (1/2) |
| 59 | | *89 HD38820A 1984, Bandai Pair Match (2/2) |
| 58 | @88 HD38820A 1984, Bandai Pair Match (PT-460) (1/2) |
| 59 | @89 HD38820A 1984, Bandai Pair Match (PT-460) (2/2) |
| 60 | 60 | |
| 61 | 61 | *75 HD44801A 1982, Alpha 8201 protection MCU (have dump) |
| 62 | 62 | |
| 63 | 63 | *35 HD44801B 1983, Alpha 8302 protection MCU (have dump) |
| 64 | 64 | *42 HD44801B 1984, Alpha 8303 protection MCU (have dump) |
| 65 | 65 | |
| 66 | | (* denotes not yet emulated by MESS, @ denotes it's in this driver) |
| 66 | (* denotes not yet emulated by MAME, @ denotes it's in this driver) |
| 67 | 67 | |
| 68 | 68 | |
| 69 | 69 | TODO: |
| 70 | 70 | - cdkong discrete sound (simple volume decay, simulated for now) |
| 71 | 71 | - cgalaxn discrete sound (alien attacking sound effect) |
| 72 | | - vinvader locks up at boot |
| 73 | 72 | - gckong random lockups (tap the jump button repeatedly): mcu stack overflow, |
| 74 | 73 | works ok if stack levels is increased, 38800 B rev. has more stack levels? |
| 75 | 74 | Or it could be a race condition: irq happening too late/early. |
| r248577 | r248578 | |
| 86 | 85 | #include "cpu/cop400/cop400.h" |
| 87 | 86 | #include "sound/speaker.h" |
| 88 | 87 | |
| 88 | // internal artwork |
| 89 | #include "pairmtch.lh" |
| 90 | |
| 89 | 91 | #include "hh_hmcs40_test.lh" // common test-layout - use external artwork |
| 90 | 92 | |
| 91 | 93 | |
| r248577 | r248578 | |
| 332 | 334 | * Hitachi HD38750A08 MCU |
| 333 | 335 | * green VFD display Emix-106, with bezel overlay |
| 334 | 336 | |
| 335 | | NOTE!: MESS external artwork is recommended |
| 337 | NOTE!: MAME external artwork is recommended |
| 336 | 338 | |
| 337 | 339 | ***************************************************************************/ |
| 338 | 340 | |
| r248577 | r248578 | |
| 444 | 446 | * Hitachi HD38750A07 MCU |
| 445 | 447 | * cyan VFD display Emix-103, with blue or green color overlay |
| 446 | 448 | |
| 447 | | NOTE!: MESS external artwork is recommended |
| 449 | NOTE!: MAME external artwork is recommended |
| 448 | 450 | |
| 449 | 451 | ***************************************************************************/ |
| 450 | 452 | |
| r248577 | r248578 | |
| 580 | 582 | * Hitachi HD38800A77 MCU |
| 581 | 583 | * cyan/red/green VFD display Futaba DM-43ZK 2E |
| 582 | 584 | |
| 583 | | NOTE!: MESS external artwork is recommended |
| 585 | NOTE!: MAME external artwork is recommended |
| 584 | 586 | |
| 585 | 587 | ***************************************************************************/ |
| 586 | 588 | |
| r248577 | r248578 | |
| 710 | 712 | - USA/Canada: Hungry Monster, published by Tandy |
| 711 | 713 | - other: Gobble Man/Ogre Monster, published by Tandy |
| 712 | 714 | |
| 713 | | NOTE!: MESS external artwork is recommended |
| 715 | NOTE!: MAME external artwork is recommended |
| 714 | 716 | |
| 715 | 717 | ***************************************************************************/ |
| 716 | 718 | |
| r248577 | r248578 | |
| 821 | 823 | - Japan: ? |
| 822 | 824 | - USA: Star Hawk, published by Mattel |
| 823 | 825 | |
| 824 | | NOTE!: MESS external artwork is recommended |
| 826 | NOTE!: MAME external artwork is recommended |
| 825 | 827 | |
| 826 | 828 | ***************************************************************************/ |
| 827 | 829 | |
| r248577 | r248578 | |
| 949 | 951 | * cyan/red/blue VFD display NEC FIP11BM24T no. 4-8, half of it reflected |
| 950 | 952 | with a one-way mirror to give the illusion of a 3D display |
| 951 | 953 | |
| 952 | | NOTE!: MESS external artwork is recommended |
| 954 | NOTE!: MAME external artwork is recommended |
| 953 | 955 | |
| 954 | 956 | ***************************************************************************/ |
| 955 | 957 | |
| r248577 | r248578 | |
| 1069 | 1071 | * Hitachi QFP HD38820A49 MCU |
| 1070 | 1072 | * cyan/red/yellow VFD display Futaba DM-53Z 3E, with color overlay |
| 1071 | 1073 | |
| 1072 | | NOTE!: MESS external artwork is recommended |
| 1074 | NOTE!: MAME external artwork is recommended |
| 1073 | 1075 | |
| 1074 | 1076 | ***************************************************************************/ |
| 1075 | 1077 | |
| r248577 | r248578 | |
| 1188 | 1190 | * Hitachi QFP HD38820A63 MCU |
| 1189 | 1191 | * cyan/red/blue VFD display Futaba DM-68ZK 3D DM-63 |
| 1190 | 1192 | |
| 1191 | | NOTE!: MESS external artwork is recommended |
| 1193 | NOTE!: MAME external artwork is recommended |
| 1192 | 1194 | |
| 1193 | 1195 | ***************************************************************************/ |
| 1194 | 1196 | |
| r248577 | r248578 | |
| 1316 | 1318 | * Hitachi QFP HD38820A65 MCU |
| 1317 | 1319 | * cyan/red/green VFD display NEC FIP6AM25T no. 21-21 |
| 1318 | 1320 | |
| 1319 | | NOTE!: MESS external artwork is recommended |
| 1321 | NOTE!: MAME external artwork is recommended |
| 1320 | 1322 | |
| 1321 | 1323 | ***************************************************************************/ |
| 1322 | 1324 | |
| r248577 | r248578 | |
| 1440 | 1442 | * Hitachi HD38800B43 MCU |
| 1441 | 1443 | * cyan/red/blue VFD display Futaba DM-71 |
| 1442 | 1444 | |
| 1443 | | NOTE!: MESS external artwork is recommended |
| 1445 | NOTE!: MAME external artwork is recommended |
| 1444 | 1446 | |
| 1445 | 1447 | ***************************************************************************/ |
| 1446 | 1448 | |
| r248577 | r248578 | |
| 1538 | 1540 | * Hitachi HD38800B52 MCU |
| 1539 | 1541 | * cyan/red/blue VFD display NEC FIP8BM25T no. 21-8 2 |
| 1540 | 1542 | |
| 1541 | | NOTE!: MESS external artwork is recommended |
| 1543 | NOTE!: MAME external artwork is recommended |
| 1542 | 1544 | |
| 1543 | 1545 | ***************************************************************************/ |
| 1544 | 1546 | |
| r248577 | r248578 | |
| 1587 | 1589 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_hmcs40_state, single_interrupt_line, (void *)0) |
| 1588 | 1590 | |
| 1589 | 1591 | PORT_START("IN.1") // port D |
| 1590 | | PORT_CONFNAME( 0x10, 0x00, "Factory Test" ) |
| 1591 | | PORT_CONFSETTING( 0x00, DEF_STR( Off ) ) |
| 1592 | | PORT_CONFSETTING( 0x10, DEF_STR( On ) ) |
| 1592 | PORT_CONFNAME( 0x0010, 0x0000, "Factory Test" ) |
| 1593 | PORT_CONFSETTING( 0x0000, DEF_STR( Off ) ) |
| 1594 | PORT_CONFSETTING( 0x0010, DEF_STR( On ) ) |
| 1593 | 1595 | PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) |
| 1594 | 1596 | PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) |
| 1595 | 1597 | PORT_BIT( 0xff8f, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| r248577 | r248578 | |
| 1628 | 1630 | * Hitachi QFP HD38820A85 MCU |
| 1629 | 1631 | * cyan/red/green VFD display NEC FIP5CM33T no. 4 21 |
| 1630 | 1632 | |
| 1631 | | NOTE!: MESS external artwork is recommended |
| 1633 | NOTE!: MAME external artwork is recommended |
| 1632 | 1634 | |
| 1633 | 1635 | ***************************************************************************/ |
| 1634 | 1636 | |
| r248577 | r248578 | |
| 1712 | 1714 | |
| 1713 | 1715 | /*************************************************************************** |
| 1714 | 1716 | |
| 1717 | Bandai Pair Match (manufactured in Japan) |
| 1718 | * PCB label Kaken Corp. PT-460 |
| 1719 | * Hitachi QFP HD38820A88 MCU(main), HD38820A89(audio) |
| 1720 | * cyan/red VFD display |
| 1721 | |
| 1722 | This is a memory game, the difference is instead of pictures, the player |
| 1723 | needs to match sound effects. It has an extra MCU for sound. The case is |
| 1724 | shaped like a glossy black pyramid. Star Trek fans will recognize it as |
| 1725 | a prop used in TNG Ten Forward. |
| 1726 | |
| 1727 | note: MAME external artwork is not needed for this game |
| 1728 | |
| 1729 | ***************************************************************************/ |
| 1730 | |
| 1731 | class pairmtch_state : public hh_hmcs40_state |
| 1732 | { |
| 1733 | public: |
| 1734 | pairmtch_state(const machine_config &mconfig, device_type type, const char *tag) |
| 1735 | : hh_hmcs40_state(mconfig, type, tag) |
| 1736 | { } |
| 1737 | |
| 1738 | DECLARE_WRITE8_MEMBER(plate_w); |
| 1739 | DECLARE_WRITE16_MEMBER(grid_w); |
| 1740 | DECLARE_READ8_MEMBER(input_r); |
| 1741 | |
| 1742 | DECLARE_WRITE8_MEMBER(sound_w); |
| 1743 | DECLARE_WRITE8_MEMBER(sound2_w); |
| 1744 | DECLARE_WRITE16_MEMBER(speaker_w); |
| 1745 | }; |
| 1746 | |
| 1747 | // handlers: maincpu side |
| 1748 | |
| 1749 | WRITE8_MEMBER(pairmtch_state::plate_w) |
| 1750 | { |
| 1751 | // R2x,R3x,R6x: vfd matrix plate |
| 1752 | int shift = (offset == HMCS40_PORT_R6X) ? 8 : (offset-2) * 4; |
| 1753 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 1754 | display_matrix(12, 6, m_plate, m_grid); |
| 1755 | } |
| 1756 | |
| 1757 | WRITE16_MEMBER(pairmtch_state::grid_w) |
| 1758 | { |
| 1759 | // D7: sound reset (to audiocpu reset line) |
| 1760 | m_audiocpu->set_input_line(INPUT_LINE_RESET, (data & 0x80) ? ASSERT_LINE : CLEAR_LINE); |
| 1761 | |
| 1762 | // D9: sound start (to audiocpu INT0) |
| 1763 | m_audiocpu->set_input_line(0, (data & 0x200) ? ASSERT_LINE : CLEAR_LINE); |
| 1764 | |
| 1765 | // D10,D15: input mux |
| 1766 | m_inp_mux = (data >> 10 & 1) | (data >> 14 & 2); |
| 1767 | |
| 1768 | // D0-D5: vfd matrix grid |
| 1769 | m_grid = data & 0x3f; |
| 1770 | display_matrix(12, 6, m_plate, m_grid); |
| 1771 | } |
| 1772 | |
| 1773 | READ8_MEMBER(pairmtch_state::input_r) |
| 1774 | { |
| 1775 | // R4x: multiplexed inputs |
| 1776 | return read_inputs(2); |
| 1777 | } |
| 1778 | |
| 1779 | WRITE8_MEMBER(pairmtch_state::sound_w) |
| 1780 | { |
| 1781 | // R5x: soundlatch (to audiocpu R2x) |
| 1782 | soundlatch_byte_w(space, 0, BITSWAP8(data,7,6,5,4,0,1,2,3)); |
| 1783 | } |
| 1784 | |
| 1785 | |
| 1786 | // handlers: audiocpu side |
| 1787 | |
| 1788 | WRITE8_MEMBER(pairmtch_state::sound2_w) |
| 1789 | { |
| 1790 | // R2x: soundlatch (to maincpu R5x) |
| 1791 | soundlatch2_byte_w(space, 0, BITSWAP8(data,7,6,5,4,0,1,2,3)); |
| 1792 | } |
| 1793 | |
| 1794 | WRITE16_MEMBER(pairmtch_state::speaker_w) |
| 1795 | { |
| 1796 | // D0: speaker out |
| 1797 | m_speaker->level_w(data & 1); |
| 1798 | |
| 1799 | // D1: sound ack (to maincpu INT0) |
| 1800 | m_maincpu->set_input_line(0, (data & 2) ? ASSERT_LINE : CLEAR_LINE); |
| 1801 | } |
| 1802 | |
| 1803 | |
| 1804 | // config |
| 1805 | |
| 1806 | static INPUT_PORTS_START( pairmtch ) |
| 1807 | PORT_START("IN.0") // D10 port R4x |
| 1808 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL PORT_16WAY |
| 1809 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_16WAY |
| 1810 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_16WAY |
| 1811 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_16WAY |
| 1812 | |
| 1813 | PORT_START("IN.1") // D15 port R4x |
| 1814 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY |
| 1815 | PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY |
| 1816 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY |
| 1817 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY |
| 1818 | |
| 1819 | PORT_START("IN.2") // port D |
| 1820 | PORT_CONFNAME( 0x0040, 0x0000, "Factory Test" ) |
| 1821 | PORT_CONFSETTING( 0x0000, DEF_STR( Off ) ) |
| 1822 | PORT_CONFSETTING( 0x0040, DEF_STR( On ) ) |
| 1823 | PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL |
| 1824 | PORT_CONFNAME( 0x0800, 0x0800, "Players" ) |
| 1825 | PORT_CONFSETTING( 0x0800, "1" ) |
| 1826 | PORT_CONFSETTING( 0x0000, "2" ) |
| 1827 | PORT_CONFNAME( 0x3000, 0x2000, "Skill Level" ) |
| 1828 | PORT_CONFSETTING( 0x2000, "1" ) |
| 1829 | PORT_CONFSETTING( 0x1000, "2" ) |
| 1830 | PORT_CONFSETTING( 0x0000, "3" ) |
| 1831 | PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) |
| 1832 | PORT_BIT( 0x86bf, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 1833 | INPUT_PORTS_END |
| 1834 | |
| 1835 | static MACHINE_CONFIG_START( pairmtch, pairmtch_state ) |
| 1836 | |
| 1837 | /* basic machine hardware */ |
| 1838 | MCFG_CPU_ADD("maincpu", HD38820, 400000) // approximation |
| 1839 | MCFG_HMCS40_WRITE_R_CB(2, WRITE8(pairmtch_state, plate_w)) |
| 1840 | MCFG_HMCS40_WRITE_R_CB(3, WRITE8(pairmtch_state, plate_w)) |
| 1841 | MCFG_HMCS40_READ_R_CB(4, READ8(pairmtch_state, input_r)) |
| 1842 | MCFG_HMCS40_WRITE_R_CB(5, WRITE8(pairmtch_state, sound_w)) |
| 1843 | MCFG_HMCS40_READ_R_CB(5, READ8(driver_device, soundlatch2_byte_r)) |
| 1844 | MCFG_HMCS40_WRITE_R_CB(6, WRITE8(pairmtch_state, plate_w)) |
| 1845 | MCFG_HMCS40_WRITE_D_CB(WRITE16(pairmtch_state, grid_w)) |
| 1846 | MCFG_HMCS40_READ_D_CB(IOPORT("IN.2")) |
| 1847 | |
| 1848 | MCFG_CPU_ADD("audiocpu", HD38820, 400000) // approximation |
| 1849 | MCFG_HMCS40_WRITE_R_CB(2, WRITE8(pairmtch_state, sound2_w)) |
| 1850 | MCFG_HMCS40_READ_R_CB(2, READ8(driver_device, soundlatch_byte_r)) |
| 1851 | MCFG_HMCS40_WRITE_D_CB(WRITE16(pairmtch_state, speaker_w)) |
| 1852 | |
| 1853 | MCFG_QUANTUM_PERFECT_CPU("maincpu") |
| 1854 | |
| 1855 | MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1)) |
| 1856 | MCFG_DEFAULT_LAYOUT(layout_pairmtch) |
| 1857 | |
| 1858 | /* no video! */ |
| 1859 | |
| 1860 | /* sound hardware */ |
| 1861 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1862 | MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) |
| 1863 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 1864 | MACHINE_CONFIG_END |
| 1865 | |
| 1866 | |
| 1867 | |
| 1868 | |
| 1869 | |
| 1870 | /*************************************************************************** |
| 1871 | |
| 1715 | 1872 | Coleco Alien Attack (manufactured in Taiwan) |
| 1716 | 1873 | * Hitachi HD38800A25 MCU |
| 1717 | 1874 | * cyan/red VFD display Futaba DM-19Z 1J |
| r248577 | r248578 | |
| 1719 | 1876 | It looks like Coleco took Gakken's Heiankyo Alien and turned it into a more |
| 1720 | 1877 | action-oriented game. |
| 1721 | 1878 | |
| 1722 | | NOTE!: MESS external artwork is recommended |
| 1879 | NOTE!: MAME external artwork is recommended |
| 1723 | 1880 | |
| 1724 | 1881 | ***************************************************************************/ |
| 1725 | 1882 | |
| r248577 | r248578 | |
| 1830 | 1987 | * Hitachi QFP HD38820A45 MCU |
| 1831 | 1988 | * cyan/red VFD display Futaba DM-47ZK 2K, with color overlay |
| 1832 | 1989 | |
| 1833 | | NOTE!: MESS external artwork is recommended |
| 1990 | NOTE!: MAME external artwork is recommended |
| 1834 | 1991 | |
| 1835 | 1992 | ***************************************************************************/ |
| 1836 | 1993 | |
| r248577 | r248578 | |
| 1964 | 2121 | - P2 Left: Head-to-Head Galaxian (2-player mode, short) |
| 1965 | 2122 | - P2 Right: Head-to-Head Galaxian (2-player mode, long) |
| 1966 | 2123 | |
| 1967 | | NOTE!: MESS external artwork is recommended |
| 2124 | NOTE!: MAME external artwork is recommended |
| 1968 | 2125 | |
| 1969 | 2126 | ***************************************************************************/ |
| 1970 | 2127 | |
| r248577 | r248578 | |
| 2097 | 2254 | |
| 2098 | 2255 | BTANB note: 1st version doesn't show the whole maze on power-on |
| 2099 | 2256 | |
| 2100 | | NOTE!: MESS external artwork is recommended |
| 2257 | NOTE!: MAME external artwork is recommended |
| 2101 | 2258 | |
| 2102 | 2259 | ***************************************************************************/ |
| 2103 | 2260 | |
| r248577 | r248578 | |
| 2213 | 2370 | |
| 2214 | 2371 | BTANB note: in demo-mode, she hardly ever walks to the upper two rows |
| 2215 | 2372 | |
| 2216 | | NOTE!: MESS external artwork is recommended |
| 2373 | NOTE!: MAME external artwork is recommended |
| 2217 | 2374 | |
| 2218 | 2375 | ***************************************************************************/ |
| 2219 | 2376 | |
| r248577 | r248578 | |
| 2322 | 2479 | * Hitachi QFP HD38820A13 MCU |
| 2323 | 2480 | * cyan/red/green VFD display Futaba DM-20 |
| 2324 | 2481 | |
| 2325 | | NOTE!: MESS external artwork is recommended |
| 2482 | NOTE!: MAME external artwork is recommended |
| 2326 | 2483 | |
| 2327 | 2484 | ***************************************************************************/ |
| 2328 | 2485 | |
| r248577 | r248578 | |
| 2446 | 2603 | |
| 2447 | 2604 | 2 VFD revisions are known, the difference is Pac-Man's color: cyan or red. |
| 2448 | 2605 | |
| 2449 | | NOTE!: MESS external artwork is recommended |
| 2606 | NOTE!: MAME external artwork is recommended |
| 2450 | 2607 | |
| 2451 | 2608 | ***************************************************************************/ |
| 2452 | 2609 | #if 0 |
| r248577 | r248578 | |
| 2504 | 2661 | * COP411L sub MCU, labeled COP411L-KED/N |
| 2505 | 2662 | * cyan/red/green VFD display NEC FIP15BM32T |
| 2506 | 2663 | |
| 2507 | | NOTE!: MESS external artwork is recommended |
| 2664 | NOTE!: MAME external artwork is recommended |
| 2508 | 2665 | |
| 2509 | 2666 | ***************************************************************************/ |
| 2510 | 2667 | |
| r248577 | r248578 | |
| 2533 | 2690 | virtual void machine_start(); |
| 2534 | 2691 | }; |
| 2535 | 2692 | |
| 2536 | | // handlers (maincpu side first) |
| 2693 | // handlers: maincpu side |
| 2537 | 2694 | |
| 2538 | 2695 | void eturtles_state::prepare_display() |
| 2539 | 2696 | { |
| r248577 | r248578 | |
| 2578 | 2735 | } |
| 2579 | 2736 | |
| 2580 | 2737 | |
| 2581 | | // COP side |
| 2738 | // handlers: COP side |
| 2582 | 2739 | |
| 2583 | 2740 | WRITE_LINE_MEMBER(eturtles_state::speaker_w) |
| 2584 | 2741 | { |
| r248577 | r248578 | |
| 2697 | 2854 | * COP411L sub MCU, labeled ~/B8236 COP411L-KEC/N |
| 2698 | 2855 | * cyan/red/green VFD display NEC FIP15AM32T (EL628-003) no. 2-421, with partial color overlay |
| 2699 | 2856 | |
| 2700 | | NOTE!: MESS external artwork is recommended |
| 2857 | NOTE!: MAME external artwork is recommended |
| 2701 | 2858 | |
| 2702 | 2859 | ***************************************************************************/ |
| 2703 | 2860 | |
| r248577 | r248578 | |
| 2712 | 2869 | DECLARE_READ8_MEMBER(cop_data_r); |
| 2713 | 2870 | }; |
| 2714 | 2871 | |
| 2715 | | // handlers (most of it is handled in eturtles_state above) |
| 2872 | // handlers (most of it is in eturtles_state above) |
| 2716 | 2873 | |
| 2717 | 2874 | void estargte_state::prepare_display() |
| 2718 | 2875 | { |
| r248577 | r248578 | |
| 2807 | 2964 | - Japan: Heiankyo Alien |
| 2808 | 2965 | - USA: Earth Invaders, published by CGL |
| 2809 | 2966 | |
| 2810 | | NOTE!: MESS external artwork is recommended |
| 2967 | NOTE!: MAME external artwork is recommended |
| 2811 | 2968 | |
| 2812 | 2969 | ***************************************************************************/ |
| 2813 | 2970 | |
| r248577 | r248578 | |
| 2923 | 3080 | - Japan: Crazy Kong |
| 2924 | 3081 | - USA: Super Kong, published by CGL |
| 2925 | 3082 | |
| 2926 | | NOTE!: MESS external artwork is recommended |
| 3083 | NOTE!: MAME external artwork is recommended |
| 2927 | 3084 | |
| 2928 | 3085 | ***************************************************************************/ |
| 2929 | 3086 | |
| r248577 | r248578 | |
| 3046 | 3203 | * Hitachi QFP HD38820A69 MCU |
| 3047 | 3204 | * cyan/red/green VFD display Futaba DM-69Z 3F, with color overlay |
| 3048 | 3205 | |
| 3049 | | NOTE!: MESS external artwork is recommended |
| 3206 | NOTE!: MAME external artwork is recommended |
| 3050 | 3207 | |
| 3051 | 3208 | ***************************************************************************/ |
| 3052 | 3209 | |
| r248577 | r248578 | |
| 3171 | 3328 | turn the game on while holding the 1-key and use the visitor's side keypad |
| 3172 | 3329 | to play offsense. |
| 3173 | 3330 | |
| 3174 | | NOTE!: MESS external artwork is recommended |
| 3331 | NOTE!: MAME external artwork is recommended |
| 3175 | 3332 | |
| 3176 | 3333 | ***************************************************************************/ |
| 3177 | 3334 | |
| r248577 | r248578 | |
| 3329 | 3486 | * Hitachi QFP HD38820A70 MCU |
| 3330 | 3487 | * cyan/red/green/darkgreen VFD display Itron CP5137 |
| 3331 | 3488 | |
| 3332 | | NOTE!: MESS external artwork is recommended |
| 3489 | NOTE!: MAME external artwork is recommended |
| 3333 | 3490 | |
| 3334 | 3491 | ***************************************************************************/ |
| 3335 | 3492 | |
| r248577 | r248578 | |
| 3417 | 3574 | * Hitachi HD38800B23 MCU |
| 3418 | 3575 | * cyan/red/blue VFD display Futaba DM-65ZK 3A |
| 3419 | 3576 | |
| 3420 | | NOTE!: MESS external artwork is recommended |
| 3577 | NOTE!: MAME external artwork is recommended |
| 3421 | 3578 | |
| 3422 | 3579 | ***************************************************************************/ |
| 3423 | 3580 | |
| r248577 | r248578 | |
| 3538 | 3695 | * Hitachi HD38800A88 MCU |
| 3539 | 3696 | * cyan/red/green VFD display NEC FIP10AM24T no. 2-8 1 |
| 3540 | 3697 | |
| 3541 | | NOTE!: MESS external artwork is recommended |
| 3698 | NOTE!: MAME external artwork is recommended |
| 3542 | 3699 | |
| 3543 | 3700 | ***************************************************************************/ |
| 3544 | 3701 | |
| r248577 | r248578 | |
| 3663 | 3820 | - UK: Cosmic Invader, published by Grandstand |
| 3664 | 3821 | - UK: Galactic Invaders, published by Prinztronic |
| 3665 | 3822 | |
| 3666 | | NOTE!: MESS external artwork is recommended |
| 3823 | NOTE!: MAME external artwork is recommended |
| 3667 | 3824 | |
| 3668 | 3825 | ***************************************************************************/ |
| 3669 | 3826 | |
| r248577 | r248578 | |
| 3836 | 3993 | ROM_END |
| 3837 | 3994 | |
| 3838 | 3995 | |
| 3996 | ROM_START( pairmtch ) |
| 3997 | ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) |
| 3998 | ROM_LOAD( "hd38820a88", 0x0000, 0x1000, CRC(ffa35730) SHA1(5a80b9025aaad2ac0ab0b1436a1355ae8cd3f868) ) |
| 3999 | ROM_CONTINUE( 0x1e80, 0x0100 ) |
| 4000 | |
| 4001 | ROM_REGION( 0x2000, "audiocpu", ROMREGION_ERASE00 ) |
| 4002 | ROM_LOAD( "hd38820a89", 0x0000, 0x1000, CRC(3533ec56) SHA1(556d69e78a0ee1bf766fce16ed58992d7272d57f) ) |
| 4003 | ROM_CONTINUE( 0x1e80, 0x0100 ) |
| 4004 | ROM_END |
| 4005 | |
| 4006 | |
| 3839 | 4007 | ROM_START( alnattck ) |
| 3840 | 4008 | ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) |
| 3841 | 4009 | ROM_LOAD( "hd38800a25", 0x0000, 0x1000, CRC(18b50869) SHA1(11e9d5f7b4ae818b077b0ee14a3b43190e20bff3) ) |
| r248577 | r248578 | |
| 3962 | 4130 | |
| 3963 | 4131 | ROM_START( vinvader ) |
| 3964 | 4132 | ROM_REGION( 0x1000, "maincpu", ROMREGION_ERASE00 ) |
| 3965 | | ROM_LOAD( "hd38750a45", 0x0000, 0x0800, CRC(e02d94d9) SHA1(d4679abbb9c6778e5e853aa6c2b90dee1d21c9dd) ) |
| 4133 | ROM_LOAD( "hd38750a45", 0x0000, 0x0800, CRC(32de6056) SHA1(70238c6c40c3d513f8eced1cb81bdd4dbe12f16c) ) |
| 3966 | 4134 | ROM_CONTINUE( 0x0f00, 0x0080 ) |
| 3967 | 4135 | ROM_END |
| 3968 | 4136 | |
| r248577 | r248578 | |
| 3982 | 4150 | CONS( 1983, bdoramon, 0, 0, bdoramon, bdoramon, driver_device, 0, "Bandai", "Dokodemo Dorayaki Doraemon", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) |
| 3983 | 4151 | CONS( 1983, bultrman, 0, 0, bultrman, bultrman, driver_device, 0, "Bandai", "Ultra Man (Bandai)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING ) |
| 3984 | 4152 | CONS( 1984, machiman, 0, 0, machiman, machiman, driver_device, 0, "Bandai", "Machine Man", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) |
| 4153 | CONS( 1984, pairmtch, 0, 0, pairmtch, pairmtch, driver_device, 0, "Bandai", "Pair Match", MACHINE_SUPPORTS_SAVE ) |
| 3985 | 4154 | |
| 3986 | 4155 | CONS( 1981, alnattck, 0, 0, alnattck, alnattck, driver_device, 0, "Coleco", "Alien Attack", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) |
| 3987 | 4156 | CONS( 1982, cdkong, 0, 0, cdkong, cdkong, driver_device, 0, "Coleco", "Donkey Kong (Coleco)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK | MACHINE_IMPERFECT_SOUND ) |
| r248577 | r248578 | |
| 4006 | 4175 | CONS( 1982, kingman, 0, 0, kingman, kingman, driver_device, 0, "Tomy", "Kingman", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) |
| 4007 | 4176 | CONS( 1984, tmtron, 0, 0, tmtron, tmtron, driver_device, 0, "Tomy", "Tron (Tomy)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) |
| 4008 | 4177 | |
| 4009 | | CONS( 1981, vinvader, 0, 0, vinvader, vinvader, driver_device, 0, "VTech", "Invaders (VTech)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING ) |
| 4178 | CONS( 1981, vinvader, 0, 0, vinvader, vinvader, driver_device, 0, "VTech", "Invaders (VTech)", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) |
trunk/src/mess/layout/pairmtch.lay
| r0 | r248578 | |
| 1 | <?xml version="1.0"?> |
| 2 | <mamelayout version="2"> |
| 3 | |
| 4 | <!-- define elements --> |
| 5 | |
| 6 | <element name="static_black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element> |
| 7 | |
| 8 | <element name="segc" defstate="0"> |
| 9 | <rect state="0"><color red="0.1" green="0.1" blue="0.1" /></rect> |
| 10 | <rect state="1"><color red="0.2" green="1.0" blue="0.8" /></rect> |
| 11 | </element> |
| 12 | <element name="segr2" defstate="0"> |
| 13 | <rect state="0"><color red="0.1" green="0.1" blue="0.01" /></rect> |
| 14 | <rect state="1"><color red="1.0" green="0.33" blue="0.2" /></rect> |
| 15 | </element> |
| 16 | |
| 17 | <element name="segr" defstate="0"> |
| 18 | <rect> |
| 19 | <bounds x="0" y="0" width="1" height="1" /> |
| 20 | <color red="0.0" green="0.0" blue="0.0" /> |
| 21 | </rect> |
| 22 | <rect state="0"> |
| 23 | <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> |
| 24 | <color red="0.1" green="0.1" blue="0.01" /> |
| 25 | </rect> |
| 26 | <rect state="1"> |
| 27 | <bounds x="0.1" y="0.1" width="0.8" height="0.8" /> |
| 28 | <color red="1.0" green="0.33" blue="0.2" /> |
| 29 | </rect> |
| 30 | </element> |
| 31 | |
| 32 | <element name="c1" defstate="0"> |
| 33 | <text state="0" string="1"><color red="0.1" green="0.1" blue="0.1" /></text> |
| 34 | <text state="1" string="1"><color red="0.2" green="1.0" blue="0.8" /></text> |
| 35 | </element> |
| 36 | <element name="c2" defstate="0"> |
| 37 | <text state="0" string="2"><color red="0.1" green="0.1" blue="0.1" /></text> |
| 38 | <text state="1" string="2"><color red="0.2" green="1.0" blue="0.8" /></text> |
| 39 | </element> |
| 40 | <element name="c3" defstate="0"> |
| 41 | <text state="0" string="3"><color red="0.1" green="0.1" blue="0.1" /></text> |
| 42 | <text state="1" string="3"><color red="0.2" green="1.0" blue="0.8" /></text> |
| 43 | </element> |
| 44 | <element name="c4" defstate="0"> |
| 45 | <text state="0" string="4"><color red="0.1" green="0.1" blue="0.1" /></text> |
| 46 | <text state="1" string="4"><color red="0.2" green="1.0" blue="0.8" /></text> |
| 47 | </element> |
| 48 | |
| 49 | |
| 50 | <!-- build screen --> |
| 51 | |
| 52 | <view name="Internal Layout"> |
| 53 | <bounds left="-15" right="600" top="-11" bottom="805" /> |
| 54 | <bezel element="static_black"> |
| 55 | <bounds left="-15" right="600" top="-11" bottom="805" /> |
| 56 | </bezel> |
| 57 | |
| 58 | <!-- 5 --> |
| 59 | |
| 60 | <bezel name="5.10" element="segc"><bounds x="0" y="0" width="75" height="32" /></bezel> |
| 61 | <bezel name="5.10" element="segc"><bounds x="102" y="0" width="75" height="32" /></bezel> |
| 62 | <bezel name="5.10" element="segc"><bounds x="204" y="0" width="75" height="32" /></bezel> |
| 63 | <bezel name="5.10" element="segc"><bounds x="306" y="0" width="75" height="32" /></bezel> |
| 64 | <bezel name="5.10" element="segc"><bounds x="408" y="0" width="75" height="32" /></bezel> |
| 65 | <bezel name="5.10" element="segc"><bounds x="510" y="0" width="75" height="32" /></bezel> |
| 66 | |
| 67 | <bezel element="static_black"><bounds x="-1" y="8.666" width="587" height="3" /></bezel> |
| 68 | <bezel element="static_black"><bounds x="-1" y="20.333" width="587" height="3" /></bezel> |
| 69 | |
| 70 | <bezel name="5.11" element="c1"><bounds x="0" y="42" width="75" height="95" /></bezel> |
| 71 | |
| 72 | <bezel name="5.8" element="segc"><bounds x="102" y="42" width="75" height="95" /></bezel> |
| 73 | <bezel name="5.9" element="segr"><bounds x="109.9" y="52" width="59.2" height="75" /></bezel> |
| 74 | |
| 75 | <bezel name="5.6" element="segc"><bounds x="204" y="42" width="75" height="95" /></bezel> |
| 76 | <bezel name="5.7" element="segr"><bounds x="211.9" y="52" width="59.2" height="75" /></bezel> |
| 77 | |
| 78 | <bezel name="5.4" element="segc"><bounds x="306" y="42" width="75" height="95" /></bezel> |
| 79 | <bezel name="5.5" element="segr"><bounds x="313.9" y="52" width="59.2" height="75" /></bezel> |
| 80 | |
| 81 | <bezel name="5.2" element="segc"><bounds x="408" y="42" width="75" height="95" /></bezel> |
| 82 | <bezel name="5.3" element="segr"><bounds x="415.9" y="52" width="59.2" height="75" /></bezel> |
| 83 | |
| 84 | <bezel name="5.1" element="c2"><bounds x="510" y="42" width="75" height="95" /></bezel> |
| 85 | |
| 86 | |
| 87 | <!-- 4 --> |
| 88 | |
| 89 | <bezel name="4.10" element="segc"><bounds x="0" y="165" width="75" height="95" /></bezel> |
| 90 | <bezel name="4.11" element="segr"><bounds x="7.9" y="175" width="59.2" height="75" /></bezel> |
| 91 | |
| 92 | <bezel name="4.8" element="segc"><bounds x="102" y="165" width="75" height="95" /></bezel> |
| 93 | <bezel name="4.9" element="segr"><bounds x="109.9" y="175" width="59.2" height="75" /></bezel> |
| 94 | |
| 95 | <bezel name="4.6" element="segc"><bounds x="204" y="165" width="75" height="95" /></bezel> |
| 96 | <bezel name="4.7" element="segr"><bounds x="211.9" y="175" width="59.2" height="75" /></bezel> |
| 97 | |
| 98 | <bezel name="4.4" element="segc"><bounds x="306" y="165" width="75" height="95" /></bezel> |
| 99 | <bezel name="4.5" element="segr"><bounds x="313.9" y="175" width="59.2" height="75" /></bezel> |
| 100 | |
| 101 | <bezel name="4.2" element="segc"><bounds x="408" y="165" width="75" height="95" /></bezel> |
| 102 | <bezel name="4.3" element="segr"><bounds x="415.9" y="175" width="59.2" height="75" /></bezel> |
| 103 | |
| 104 | <bezel name="4.0" element="segc"><bounds x="510" y="165" width="75" height="95" /></bezel> |
| 105 | <bezel name="4.1" element="segr"><bounds x="517.9" y="175" width="59.2" height="75" /></bezel> |
| 106 | |
| 107 | |
| 108 | <!-- 3 --> |
| 109 | |
| 110 | <bezel name="3.10" element="segc"><bounds x="0" y="288" width="75" height="95" /></bezel> |
| 111 | <bezel name="3.11" element="segr"><bounds x="7.9" y="298" width="59.2" height="75" /></bezel> |
| 112 | |
| 113 | <bezel name="3.8" element="segc"><bounds x="102" y="288" width="75" height="95" /></bezel> |
| 114 | <bezel name="3.9" element="segr"><bounds x="109.9" y="298" width="59.2" height="75" /></bezel> |
| 115 | |
| 116 | <bezel name="3.6" element="segc"><bounds x="204" y="288" width="75" height="95" /></bezel> |
| 117 | <bezel name="3.7" element="segr"><bounds x="211.9" y="298" width="59.2" height="75" /></bezel> |
| 118 | |
| 119 | <bezel name="3.4" element="segc"><bounds x="306" y="288" width="75" height="95" /></bezel> |
| 120 | <bezel name="3.5" element="segr"><bounds x="313.9" y="298" width="59.2" height="75" /></bezel> |
| 121 | |
| 122 | <bezel name="3.2" element="segc"><bounds x="408" y="288" width="75" height="95" /></bezel> |
| 123 | <bezel name="3.3" element="segr"><bounds x="415.9" y="298" width="59.2" height="75" /></bezel> |
| 124 | |
| 125 | <bezel name="3.0" element="segc"><bounds x="510" y="288" width="75" height="95" /></bezel> |
| 126 | <bezel name="3.1" element="segr"><bounds x="517.9" y="298" width="59.2" height="75" /></bezel> |
| 127 | |
| 128 | |
| 129 | <!-- 2 --> |
| 130 | |
| 131 | <bezel name="2.10" element="segc"><bounds x="0" y="411" width="75" height="95" /></bezel> |
| 132 | <bezel name="2.11" element="segr"><bounds x="7.9" y="421" width="59.2" height="75" /></bezel> |
| 133 | |
| 134 | <bezel name="2.8" element="segc"><bounds x="102" y="411" width="75" height="95" /></bezel> |
| 135 | <bezel name="2.9" element="segr"><bounds x="109.9" y="421" width="59.2" height="75" /></bezel> |
| 136 | |
| 137 | <bezel name="2.6" element="segc"><bounds x="204" y="411" width="75" height="95" /></bezel> |
| 138 | <bezel name="2.7" element="segr"><bounds x="211.9" y="421" width="59.2" height="75" /></bezel> |
| 139 | |
| 140 | <bezel name="2.4" element="segc"><bounds x="306" y="411" width="75" height="95" /></bezel> |
| 141 | <bezel name="2.5" element="segr"><bounds x="313.9" y="421" width="59.2" height="75" /></bezel> |
| 142 | |
| 143 | <bezel name="2.2" element="segc"><bounds x="408" y="411" width="75" height="95" /></bezel> |
| 144 | <bezel name="2.3" element="segr"><bounds x="415.9" y="421" width="59.2" height="75" /></bezel> |
| 145 | |
| 146 | <bezel name="2.0" element="segc"><bounds x="510" y="411" width="75" height="95" /></bezel> |
| 147 | <bezel name="2.1" element="segr"><bounds x="517.9" y="421" width="59.2" height="75" /></bezel> |
| 148 | |
| 149 | |
| 150 | <!-- 1 --> |
| 151 | |
| 152 | <bezel name="1.10" element="segc"><bounds x="0" y="534" width="75" height="95" /></bezel> |
| 153 | <bezel name="1.11" element="segr"><bounds x="7.9" y="544" width="59.2" height="75" /></bezel> |
| 154 | |
| 155 | <bezel name="1.8" element="segc"><bounds x="102" y="534" width="75" height="95" /></bezel> |
| 156 | <bezel name="1.9" element="segr"><bounds x="109.9" y="544" width="59.2" height="75" /></bezel> |
| 157 | |
| 158 | <bezel name="1.6" element="segc"><bounds x="204" y="534" width="75" height="95" /></bezel> |
| 159 | <bezel name="1.7" element="segr"><bounds x="211.9" y="544" width="59.2" height="75" /></bezel> |
| 160 | |
| 161 | <bezel name="1.4" element="segc"><bounds x="306" y="534" width="75" height="95" /></bezel> |
| 162 | <bezel name="1.5" element="segr"><bounds x="313.9" y="544" width="59.2" height="75" /></bezel> |
| 163 | |
| 164 | <bezel name="1.2" element="segc"><bounds x="408" y="534" width="75" height="95" /></bezel> |
| 165 | <bezel name="1.3" element="segr"><bounds x="415.9" y="544" width="59.2" height="75" /></bezel> |
| 166 | |
| 167 | <bezel name="1.0" element="segc"><bounds x="510" y="534" width="75" height="95" /></bezel> |
| 168 | <bezel name="1.1" element="segr"><bounds x="517.9" y="544" width="59.2" height="75" /></bezel> |
| 169 | |
| 170 | |
| 171 | <!-- 0 --> |
| 172 | |
| 173 | <bezel name="0.11" element="c3"><bounds x="0" y="657" width="75" height="95" /></bezel> |
| 174 | |
| 175 | <bezel name="0.8" element="segc"><bounds x="102" y="657" width="75" height="95" /></bezel> |
| 176 | <bezel name="0.9" element="segr"><bounds x="109.9" y="667" width="59.2" height="75" /></bezel> |
| 177 | |
| 178 | <bezel name="0.6" element="segc"><bounds x="204" y="657" width="75" height="95" /></bezel> |
| 179 | <bezel name="0.7" element="segr"><bounds x="211.9" y="667" width="59.2" height="75" /></bezel> |
| 180 | |
| 181 | <bezel name="0.4" element="segc"><bounds x="306" y="657" width="75" height="95" /></bezel> |
| 182 | <bezel name="0.5" element="segr"><bounds x="313.9" y="667" width="59.2" height="75" /></bezel> |
| 183 | |
| 184 | <bezel name="0.2" element="segc"><bounds x="408" y="657" width="75" height="95" /></bezel> |
| 185 | <bezel name="0.3" element="segr"><bounds x="415.9" y="667" width="59.2" height="75" /></bezel> |
| 186 | |
| 187 | <bezel name="0.1" element="c4"><bounds x="510" y="657" width="75" height="95" /></bezel> |
| 188 | |
| 189 | <bezel name="0.10" element="segr2"><bounds x="0" y="762" width="75" height="32" /></bezel> |
| 190 | <bezel name="0.10" element="segr2"><bounds x="102" y="762" width="75" height="32" /></bezel> |
| 191 | <bezel name="0.10" element="segr2"><bounds x="204" y="762" width="75" height="32" /></bezel> |
| 192 | <bezel name="0.10" element="segr2"><bounds x="306" y="762" width="75" height="32" /></bezel> |
| 193 | <bezel name="0.10" element="segr2"><bounds x="408" y="762" width="75" height="32" /></bezel> |
| 194 | <bezel name="0.10" element="segr2"><bounds x="510" y="762" width="75" height="32" /></bezel> |
| 195 | |
| 196 | <bezel element="static_black"><bounds x="-1" y="770.666" width="587" height="3" /></bezel> |
| 197 | <bezel element="static_black"><bounds x="-1" y="782.333" width="587" height="3" /></bezel> |
| 198 | |
| 199 | |
| 200 | </view> |
| 201 | </mamelayout> |