trunk/src/mame/drivers/m72.c
| r244871 | r244872 | |
| 101 | 101 | |
| 102 | 102 | /***************************************************************************/ |
| 103 | 103 | |
| 104 | | MACHINE_START_MEMBER(m72_state,m72) |
| 104 | void m72_state::machine_start() |
| 105 | 105 | { |
| 106 | 106 | m_scanline_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(m72_state::m72_scanline_interrupt),this)); |
| 107 | 107 | |
| r244871 | r244872 | |
| 123 | 123 | machine().scheduler().boost_interleave(attotime::from_hz(MASTER_CLOCK/4/12), attotime::from_seconds(25)); |
| 124 | 124 | } |
| 125 | 125 | |
| 126 | | MACHINE_RESET_MEMBER(m72_state,m72) |
| 126 | void m72_state::machine_reset() |
| 127 | 127 | { |
| 128 | 128 | m_irq_base = 0x20; |
| 129 | 129 | m_mcu_sample_addr = 0; |
| r244871 | r244872 | |
| 135 | 135 | |
| 136 | 136 | MACHINE_RESET_MEMBER(m72_state,xmultipl) |
| 137 | 137 | { |
| 138 | m72_state::machine_reset(); |
| 138 | 139 | m_irq_base = 0x08; |
| 139 | | m_scanline_timer->adjust(m_screen->time_until_pos(0)); |
| 140 | 140 | } |
| 141 | 141 | |
| 142 | 142 | MACHINE_RESET_MEMBER(m72_state,kengo) |
| r244871 | r244872 | |
| 1774 | 1774 | GFXDECODE_END |
| 1775 | 1775 | |
| 1776 | 1776 | |
| 1777 | static MACHINE_CONFIG_FRAGMENT( m72_audio_chips ) |
| 1778 | /* sound hardware */ |
| 1779 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 1777 | 1780 | |
| 1781 | MCFG_SOUND_ADD("m72", M72, 0); |
| 1782 | |
| 1783 | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 1784 | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 1785 | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 1786 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 1787 | |
| 1788 | MCFG_DAC_ADD("dac") |
| 1789 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 1790 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 1791 | MACHINE_CONFIG_END |
| 1792 | |
| 1778 | 1793 | static MACHINE_CONFIG_START( m72_base, m72_state ) |
| 1779 | 1794 | |
| 1780 | 1795 | /* basic machine hardware */ |
| r244871 | r244872 | |
| 1785 | 1800 | MCFG_CPU_ADD("soundcpu",Z80, SOUND_CLOCK) |
| 1786 | 1801 | MCFG_CPU_PROGRAM_MAP(sound_ram_map) |
| 1787 | 1802 | MCFG_CPU_IO_MAP(sound_portmap) |
| 1803 | |
| 1788 | 1804 | |
| 1789 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 1790 | | MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72) |
| 1791 | | |
| 1792 | 1805 | /* video hardware */ |
| 1793 | 1806 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", m72) |
| 1794 | 1807 | MCFG_PALETTE_ADD("palette", 512) |
| r244871 | r244872 | |
| 1800 | 1813 | |
| 1801 | 1814 | MCFG_VIDEO_START_OVERRIDE(m72_state,m72) |
| 1802 | 1815 | |
| 1803 | | /* sound hardware */ |
| 1804 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 1805 | | |
| 1806 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 1807 | | |
| 1808 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 1809 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 1810 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 1811 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 1812 | | |
| 1813 | | MCFG_DAC_ADD("dac") |
| 1814 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 1815 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 1816 | MCFG_FRAGMENT_ADD(m72_audio_chips) |
| 1816 | 1817 | MACHINE_CONFIG_END |
| 1817 | 1818 | |
| 1818 | 1819 | static MACHINE_CONFIG_DERIVED( m72, m72_base ) |
| 1819 | | MCFG_CPU_MODIFY("maincpu") |
| 1820 | MCFG_CPU_MODIFY("soundcpu") |
| 1820 | 1821 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, fake_nmi, 128*55) /* clocked by V1? (Vigilante) */ |
| 1821 | 1822 | /* IRQs are generated by main Z80 and YM2151 */ |
| 1822 | 1823 | MACHINE_CONFIG_END |
| r244871 | r244872 | |
| 1830 | 1831 | MACHINE_CONFIG_END |
| 1831 | 1832 | |
| 1832 | 1833 | |
| 1833 | | static MACHINE_CONFIG_START( rtype, m72_state ) |
| 1834 | | |
| 1835 | | /* basic machine hardware */ |
| 1836 | | MCFG_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */ |
| 1834 | static MACHINE_CONFIG_DERIVED( rtype, m72_base ) |
| 1835 | MCFG_CPU_MODIFY("maincpu") |
| 1837 | 1836 | MCFG_CPU_PROGRAM_MAP(rtype_map) |
| 1838 | | MCFG_CPU_IO_MAP(m72_portmap) |
| 1839 | 1837 | |
| 1840 | | MCFG_CPU_ADD("soundcpu",Z80, SOUND_CLOCK) |
| 1841 | | MCFG_CPU_PROGRAM_MAP(sound_ram_map) |
| 1838 | MCFG_CPU_MODIFY("soundcpu") |
| 1842 | 1839 | MCFG_CPU_IO_MAP(rtype_sound_portmap) |
| 1843 | | /* IRQs are generated by main Z80 and YM2151 */ |
| 1844 | 1840 | |
| 1845 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 1846 | | MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72) |
| 1847 | | |
| 1848 | | /* video hardware */ |
| 1849 | | MCFG_GFXDECODE_ADD("gfxdecode", "palette", m72) |
| 1850 | | MCFG_PALETTE_ADD("palette", 512) |
| 1851 | | |
| 1852 | | MCFG_SCREEN_ADD("screen", RASTER) |
| 1853 | | MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256) |
| 1854 | | MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_m72) |
| 1855 | | MCFG_SCREEN_PALETTE("palette") |
| 1856 | | |
| 1857 | | MCFG_VIDEO_START_OVERRIDE(m72_state,m72) |
| 1858 | | |
| 1859 | | /* sound hardware */ |
| 1860 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 1861 | | |
| 1862 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 1863 | | |
| 1864 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 1865 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 1866 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 1867 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 1841 | MCFG_DEVICE_REMOVE("dac") |
| 1868 | 1842 | MACHINE_CONFIG_END |
| 1869 | 1843 | |
| 1870 | | static MACHINE_CONFIG_START( xmultipl, m72_state ) |
| 1844 | static MACHINE_CONFIG_DERIVED( xmultiplm72, m72_base ) |
| 1845 | MCFG_CPU_MODIFY("maincpu") |
| 1846 | MCFG_CPU_PROGRAM_MAP(xmultiplm72_map) |
| 1871 | 1847 | |
| 1872 | | /* basic machine hardware */ |
| 1873 | | MCFG_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */ |
| 1874 | | MCFG_CPU_PROGRAM_MAP(xmultipl_map) |
| 1875 | | MCFG_CPU_IO_MAP(hharry_portmap) |
| 1876 | | |
| 1877 | | MCFG_CPU_ADD("soundcpu",Z80, SOUND_CLOCK) |
| 1878 | | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
| 1879 | | MCFG_CPU_IO_MAP(rtype2_sound_portmap) |
| 1848 | MCFG_CPU_MODIFY("soundcpu") |
| 1880 | 1849 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ |
| 1881 | 1850 | /* IRQs are generated by main Z80 and YM2151 */ |
| 1882 | 1851 | |
| 1883 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 1852 | |
| 1884 | 1853 | MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl) |
| 1885 | | |
| 1886 | | /* video hardware */ |
| 1887 | | MCFG_GFXDECODE_ADD("gfxdecode", "palette", m72) |
| 1888 | | MCFG_PALETTE_ADD("palette", 512) |
| 1889 | | |
| 1890 | | MCFG_SCREEN_ADD("screen", RASTER) |
| 1891 | | MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256) |
| 1892 | | MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_m72) |
| 1893 | | MCFG_SCREEN_PALETTE("palette") |
| 1894 | | |
| 1895 | | MCFG_VIDEO_START_OVERRIDE(m72_state,xmultipl) |
| 1896 | | |
| 1897 | | /* sound hardware */ |
| 1898 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 1899 | | |
| 1900 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 1901 | | |
| 1902 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 1903 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 1904 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 1905 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 1906 | | |
| 1907 | | MCFG_DAC_ADD("dac") |
| 1908 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 1909 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 1910 | 1854 | MACHINE_CONFIG_END |
| 1911 | 1855 | |
| 1912 | | static MACHINE_CONFIG_START( xmultiplm72, m72_state ) |
| 1913 | 1856 | |
| 1914 | | /* basic machine hardware */ |
| 1915 | | MCFG_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */ |
| 1916 | | MCFG_CPU_PROGRAM_MAP(xmultiplm72_map) |
| 1917 | | MCFG_CPU_IO_MAP(m72_portmap) |
| 1857 | static MACHINE_CONFIG_DERIVED( dbreedm72, m72_base ) |
| 1858 | MCFG_CPU_MODIFY("maincpu") |
| 1859 | MCFG_CPU_PROGRAM_MAP(dbreedm72_map) |
| 1918 | 1860 | |
| 1919 | | MCFG_CPU_ADD("soundcpu",Z80, SOUND_CLOCK) |
| 1920 | | MCFG_CPU_PROGRAM_MAP(sound_ram_map) |
| 1921 | | MCFG_CPU_IO_MAP(sound_portmap) |
| 1861 | MCFG_CPU_MODIFY("soundcpu") |
| 1922 | 1862 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ |
| 1923 | 1863 | /* IRQs are generated by main Z80 and YM2151 */ |
| 1924 | 1864 | |
| 1925 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 1926 | 1865 | MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl) |
| 1866 | MACHINE_CONFIG_END |
| 1927 | 1867 | |
| 1928 | | /* video hardware */ |
| 1929 | | MCFG_GFXDECODE_ADD("gfxdecode", "palette", m72) |
| 1930 | | MCFG_PALETTE_ADD("palette", 512) |
| 1931 | 1868 | |
| 1932 | | MCFG_SCREEN_ADD("screen", RASTER) |
| 1933 | | MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256) |
| 1934 | | MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_m72) |
| 1935 | | MCFG_SCREEN_PALETTE("palette") |
| 1936 | | |
| 1937 | | MCFG_VIDEO_START_OVERRIDE(m72_state,m72) |
| 1938 | | |
| 1939 | | /* sound hardware */ |
| 1940 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 1941 | | |
| 1942 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 1943 | | |
| 1944 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 1945 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 1946 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 1947 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 1948 | | |
| 1949 | | MCFG_DAC_ADD("dac") |
| 1950 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 1951 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 1869 | static MACHINE_CONFIG_DERIVED( dkgenm72, m72 ) // dervices from 'm72' because we use 'fake nmi' on the soundcpu |
| 1870 | |
| 1871 | MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl) |
| 1952 | 1872 | MACHINE_CONFIG_END |
| 1953 | 1873 | |
| 1954 | | static MACHINE_CONFIG_START( dbreed, m72_state ) |
| 1955 | 1874 | |
| 1875 | // not m72 |
| 1876 | static MACHINE_CONFIG_DERIVED( xmultipl, m72 ) |
| 1877 | |
| 1956 | 1878 | /* basic machine hardware */ |
| 1957 | | MCFG_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */ |
| 1958 | | MCFG_CPU_PROGRAM_MAP(dbreed_map) |
| 1879 | MCFG_CPU_MODIFY("maincpu") |
| 1880 | MCFG_CPU_PROGRAM_MAP(xmultipl_map) |
| 1959 | 1881 | MCFG_CPU_IO_MAP(hharry_portmap) |
| 1960 | 1882 | |
| 1961 | | MCFG_CPU_ADD("soundcpu",Z80, SOUND_CLOCK) |
| 1883 | MCFG_CPU_MODIFY("soundcpu") |
| 1962 | 1884 | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
| 1963 | 1885 | MCFG_CPU_IO_MAP(rtype2_sound_portmap) |
| 1964 | 1886 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ |
| 1965 | 1887 | /* IRQs are generated by main Z80 and YM2151 */ |
| 1966 | 1888 | |
| 1967 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 1889 | |
| 1968 | 1890 | MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl) |
| 1969 | 1891 | |
| 1970 | | /* video hardware */ |
| 1971 | | MCFG_GFXDECODE_ADD("gfxdecode", "palette", rtype2) |
| 1972 | | MCFG_PALETTE_ADD("palette", 512) |
| 1973 | | |
| 1974 | | MCFG_SCREEN_ADD("screen", RASTER) |
| 1975 | | MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256) |
| 1976 | | MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_m72) |
| 1977 | | MCFG_SCREEN_PALETTE("palette") |
| 1978 | | |
| 1979 | | MCFG_VIDEO_START_OVERRIDE(m72_state,hharry) |
| 1980 | | |
| 1981 | | /* sound hardware */ |
| 1982 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 1983 | | |
| 1984 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 1985 | | |
| 1986 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 1987 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 1988 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 1989 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 1990 | | |
| 1991 | | MCFG_DAC_ADD("dac") |
| 1992 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 1993 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 1892 | MCFG_VIDEO_START_OVERRIDE(m72_state,xmultipl) |
| 1994 | 1893 | MACHINE_CONFIG_END |
| 1995 | 1894 | |
| 1996 | | static MACHINE_CONFIG_START( dbreedm72, m72_state ) |
| 1997 | 1895 | |
| 1896 | // not m72, different video system (more sprites) |
| 1897 | static MACHINE_CONFIG_START( majtitle, m72_state ) |
| 1898 | |
| 1998 | 1899 | /* basic machine hardware */ |
| 1999 | 1900 | MCFG_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */ |
| 2000 | | MCFG_CPU_PROGRAM_MAP(dbreedm72_map) |
| 2001 | | MCFG_CPU_IO_MAP(m72_portmap) |
| 1901 | MCFG_CPU_PROGRAM_MAP(majtitle_map) |
| 1902 | MCFG_CPU_IO_MAP(majtitle_portmap) |
| 2002 | 1903 | |
| 2003 | 1904 | MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK) |
| 2004 | | MCFG_CPU_PROGRAM_MAP(sound_ram_map) |
| 2005 | | MCFG_CPU_IO_MAP(sound_portmap) |
| 1905 | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
| 1906 | MCFG_CPU_IO_MAP(rtype2_sound_portmap) |
| 2006 | 1907 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ |
| 2007 | 1908 | /* IRQs are generated by main Z80 and YM2151 */ |
| 2008 | 1909 | |
| 2009 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 2010 | | MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl) |
| 2011 | | |
| 2012 | 1910 | /* video hardware */ |
| 2013 | | MCFG_GFXDECODE_ADD("gfxdecode", "palette", m72) |
| 1911 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", majtitle) |
| 2014 | 1912 | MCFG_PALETTE_ADD("palette", 512) |
| 2015 | 1913 | |
| 2016 | 1914 | MCFG_SCREEN_ADD("screen", RASTER) |
| 2017 | 1915 | MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256) |
| 2018 | | MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_m72) |
| 1916 | MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_majtitle) |
| 2019 | 1917 | MCFG_SCREEN_PALETTE("palette") |
| 2020 | 1918 | |
| 2021 | | MCFG_VIDEO_START_OVERRIDE(m72_state,m72) |
| 1919 | MCFG_VIDEO_START_OVERRIDE(m72_state,majtitle) |
| 2022 | 1920 | |
| 2023 | | /* sound hardware */ |
| 2024 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 2025 | | |
| 2026 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 2027 | | |
| 2028 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 2029 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 2030 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 2031 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 2032 | | |
| 2033 | | MCFG_DAC_ADD("dac") |
| 2034 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 2035 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 1921 | MCFG_FRAGMENT_ADD(m72_audio_chips) |
| 2036 | 1922 | MACHINE_CONFIG_END |
| 2037 | 1923 | |
| 1924 | // not m72, different video system (less tiles regions?) |
| 2038 | 1925 | static MACHINE_CONFIG_START( rtype2, m72_state ) |
| 2039 | 1926 | |
| 2040 | 1927 | /* basic machine hardware */ |
| r244871 | r244872 | |
| 2048 | 1935 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ |
| 2049 | 1936 | /* IRQs are generated by main Z80 and YM2151 */ |
| 2050 | 1937 | |
| 2051 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 2052 | | MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72) |
| 2053 | | |
| 2054 | 1938 | /* video hardware */ |
| 2055 | 1939 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", rtype2) |
| 2056 | 1940 | MCFG_PALETTE_ADD("palette", 512) |
| r244871 | r244872 | |
| 2062 | 1946 | |
| 2063 | 1947 | MCFG_VIDEO_START_OVERRIDE(m72_state,rtype2) |
| 2064 | 1948 | |
| 2065 | | /* sound hardware */ |
| 2066 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 2067 | | |
| 2068 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 2069 | | |
| 2070 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 2071 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 2072 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 2073 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 2074 | | |
| 2075 | | MCFG_DAC_ADD("dac") |
| 2076 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 2077 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 1949 | MCFG_FRAGMENT_ADD(m72_audio_chips) |
| 2078 | 1950 | MACHINE_CONFIG_END |
| 2079 | 1951 | |
| 2080 | | static MACHINE_CONFIG_START( majtitle, m72_state ) |
| 1952 | // not m72, different video system (less tiles regions?) |
| 1953 | static MACHINE_CONFIG_START( dbreed, m72_state ) |
| 2081 | 1954 | |
| 2082 | 1955 | /* basic machine hardware */ |
| 2083 | | MCFG_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */ |
| 2084 | | MCFG_CPU_PROGRAM_MAP(majtitle_map) |
| 2085 | | MCFG_CPU_IO_MAP(majtitle_portmap) |
| 1956 | MCFG_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */ |
| 1957 | MCFG_CPU_PROGRAM_MAP(dbreed_map) |
| 1958 | MCFG_CPU_IO_MAP(hharry_portmap) |
| 2086 | 1959 | |
| 2087 | | MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK) |
| 1960 | MCFG_CPU_ADD("soundcpu",Z80, SOUND_CLOCK) |
| 2088 | 1961 | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
| 2089 | 1962 | MCFG_CPU_IO_MAP(rtype2_sound_portmap) |
| 2090 | 1963 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ |
| 2091 | 1964 | /* IRQs are generated by main Z80 and YM2151 */ |
| 2092 | 1965 | |
| 2093 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 2094 | | MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72) |
| 1966 | |
| 1967 | MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl) |
| 2095 | 1968 | |
| 2096 | 1969 | /* video hardware */ |
| 2097 | | MCFG_GFXDECODE_ADD("gfxdecode", "palette", majtitle) |
| 1970 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", rtype2) |
| 2098 | 1971 | MCFG_PALETTE_ADD("palette", 512) |
| 2099 | 1972 | |
| 2100 | 1973 | MCFG_SCREEN_ADD("screen", RASTER) |
| 2101 | 1974 | MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256) |
| 2102 | | MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_majtitle) |
| 1975 | MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_m72) |
| 2103 | 1976 | MCFG_SCREEN_PALETTE("palette") |
| 2104 | 1977 | |
| 2105 | | MCFG_VIDEO_START_OVERRIDE(m72_state,majtitle) |
| 1978 | MCFG_VIDEO_START_OVERRIDE(m72_state,hharry) |
| 2106 | 1979 | |
| 2107 | | /* sound hardware */ |
| 2108 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 2109 | | |
| 2110 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 2111 | | |
| 2112 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 2113 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 2114 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 2115 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 2116 | | |
| 2117 | | MCFG_DAC_ADD("dac") |
| 2118 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 2119 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 1980 | MCFG_FRAGMENT_ADD(m72_audio_chips) |
| 2120 | 1981 | MACHINE_CONFIG_END |
| 2121 | 1982 | |
| 1983 | // not m72, different video system (less tiles regions?) |
| 2122 | 1984 | static MACHINE_CONFIG_START( hharry, m72_state ) |
| 2123 | 1985 | |
| 2124 | 1986 | /* basic machine hardware */ |
| r244871 | r244872 | |
| 2132 | 1994 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ |
| 2133 | 1995 | /* IRQs are generated by main Z80 and YM2151 */ |
| 2134 | 1996 | |
| 2135 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 1997 | |
| 2136 | 1998 | MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl) |
| 2137 | 1999 | |
| 2138 | 2000 | /* video hardware */ |
| r244871 | r244872 | |
| 2146 | 2008 | |
| 2147 | 2009 | MCFG_VIDEO_START_OVERRIDE(m72_state,hharry) |
| 2148 | 2010 | |
| 2149 | | /* sound hardware */ |
| 2150 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 2011 | MCFG_FRAGMENT_ADD(m72_audio_chips) |
| 2151 | 2012 | |
| 2152 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 2153 | | |
| 2154 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 2155 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 2156 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 2157 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 2158 | | |
| 2159 | | MCFG_DAC_ADD("dac") |
| 2160 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 2161 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 2162 | 2013 | MACHINE_CONFIG_END |
| 2163 | 2014 | |
| 2015 | // not m72, different video system (less tiles regions?) |
| 2164 | 2016 | static MACHINE_CONFIG_START( hharryu, m72_state ) |
| 2165 | 2017 | |
| 2166 | 2018 | /* basic machine hardware */ |
| r244871 | r244872 | |
| 2174 | 2026 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ |
| 2175 | 2027 | /* IRQs are generated by main Z80 and YM2151 */ |
| 2176 | 2028 | |
| 2177 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 2029 | |
| 2178 | 2030 | MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl) |
| 2179 | 2031 | |
| 2180 | 2032 | /* video hardware */ |
| r244871 | r244872 | |
| 2188 | 2040 | |
| 2189 | 2041 | MCFG_VIDEO_START_OVERRIDE(m72_state,hharryu) |
| 2190 | 2042 | |
| 2191 | | /* sound hardware */ |
| 2192 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 2043 | MCFG_FRAGMENT_ADD(m72_audio_chips) |
| 2193 | 2044 | |
| 2194 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 2195 | | |
| 2196 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 2197 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 2198 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 2199 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 2200 | | |
| 2201 | | MCFG_DAC_ADD("dac") |
| 2202 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 2203 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 2204 | 2045 | MACHINE_CONFIG_END |
| 2205 | 2046 | |
| 2206 | | static MACHINE_CONFIG_START( dkgenm72, m72_state ) |
| 2207 | | |
| 2208 | | /* basic machine hardware */ |
| 2209 | | MCFG_CPU_ADD("maincpu",V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */ |
| 2210 | | MCFG_CPU_PROGRAM_MAP(m72_map) |
| 2211 | | MCFG_CPU_IO_MAP(m72_portmap) |
| 2212 | | |
| 2213 | | MCFG_CPU_ADD("soundcpu",Z80, SOUND_CLOCK) |
| 2214 | | MCFG_CPU_PROGRAM_MAP(sound_ram_map) |
| 2215 | | MCFG_CPU_IO_MAP(sound_portmap) |
| 2216 | | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, fake_nmi, 128*55) /* clocked by V1? (Vigilante) */ |
| 2217 | | /* IRQs are generated by main Z80 and YM2151 */ |
| 2218 | | |
| 2219 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 2220 | | MCFG_MACHINE_RESET_OVERRIDE(m72_state,xmultipl) |
| 2221 | | |
| 2222 | | /* video hardware */ |
| 2223 | | MCFG_GFXDECODE_ADD("gfxdecode", "palette", m72) |
| 2224 | | MCFG_PALETTE_ADD("palette", 512) |
| 2225 | | |
| 2226 | | MCFG_SCREEN_ADD("screen", RASTER) |
| 2227 | | MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/4, 512, 64, 448, 284, 0, 256) |
| 2228 | | MCFG_SCREEN_UPDATE_DRIVER(m72_state, screen_update_m72) |
| 2229 | | MCFG_SCREEN_PALETTE("palette") |
| 2230 | | |
| 2231 | | MCFG_VIDEO_START_OVERRIDE(m72_state,m72) |
| 2232 | | |
| 2233 | | /* sound hardware */ |
| 2234 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 2235 | | |
| 2236 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 2237 | | |
| 2238 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 2239 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 2240 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 2241 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 2242 | | |
| 2243 | | MCFG_DAC_ADD("dac") |
| 2244 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 2245 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 2246 | | MACHINE_CONFIG_END |
| 2247 | | |
| 2047 | // not m72, different video system (less tiles regions?) |
| 2248 | 2048 | static MACHINE_CONFIG_START( poundfor, m72_state ) |
| 2249 | 2049 | |
| 2250 | 2050 | /* basic machine hardware */ |
| r244871 | r244872 | |
| 2258 | 2058 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, fake_nmi, 128*55) /* clocked by V1? (Vigilante) */ |
| 2259 | 2059 | /* IRQs are generated by main Z80 and YM2151 */ |
| 2260 | 2060 | |
| 2261 | | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
| 2262 | | MCFG_MACHINE_RESET_OVERRIDE(m72_state,m72) |
| 2263 | | |
| 2264 | 2061 | /* video hardware */ |
| 2265 | 2062 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", rtype2) |
| 2266 | 2063 | MCFG_PALETTE_ADD("palette", 512) |
| r244871 | r244872 | |
| 2272 | 2069 | |
| 2273 | 2070 | MCFG_VIDEO_START_OVERRIDE(m72_state,poundfor) |
| 2274 | 2071 | |
| 2275 | | /* sound hardware */ |
| 2276 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 2277 | | |
| 2278 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 2279 | | |
| 2280 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 2281 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 2282 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 2283 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 2284 | | |
| 2285 | | MCFG_DAC_ADD("dac") |
| 2286 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 2287 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 2072 | MCFG_FRAGMENT_ADD(m72_audio_chips) |
| 2288 | 2073 | MACHINE_CONFIG_END |
| 2289 | 2074 | |
| 2075 | // not m72, different video system (less tiles regions?) |
| 2290 | 2076 | static MACHINE_CONFIG_START( cosmccop, m72_state ) |
| 2291 | 2077 | |
| 2292 | 2078 | /* basic machine hardware */ |
| r244871 | r244872 | |
| 2314 | 2100 | |
| 2315 | 2101 | MCFG_VIDEO_START_OVERRIDE(m72_state,poundfor) |
| 2316 | 2102 | |
| 2317 | | /* sound hardware */ |
| 2318 | | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 2319 | | |
| 2320 | | MCFG_SOUND_ADD("m72", M72, 0); |
| 2321 | | |
| 2322 | | MCFG_YM2151_ADD("ymsnd", SOUND_CLOCK) |
| 2323 | | MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("m72", m72_audio_device, ym2151_irq_handler)) |
| 2324 | | MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) |
| 2325 | | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 2326 | | |
| 2327 | | MCFG_DAC_ADD("dac") |
| 2328 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40) |
| 2329 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40) |
| 2103 | MCFG_FRAGMENT_ADD(m72_audio_chips) |
| 2330 | 2104 | MACHINE_CONFIG_END |
| 2331 | 2105 | |
| 2332 | 2106 | static MACHINE_CONFIG_DERIVED( kengo, cosmccop ) |
| r244871 | r244872 | |
| 3740 | 3514 | // the program roms failing their tests. This is why we still have simulation code for many games |
| 3741 | 3515 | // despite having Japanese version MCU roms for several of them. See notes next to the sets |
| 3742 | 3516 | |
| 3743 | | GAME( 1987, rtype, 0, rtype, rtype, driver_device, 0, ROT0, "Irem", "R-Type (World)", GAME_NO_COCKTAIL ) |
| 3744 | | GAME( 1987, rtypej, rtype, rtype, rtype, driver_device, 0, ROT0, "Irem", "R-Type (Japan)", GAME_NO_COCKTAIL ) |
| 3745 | | GAME( 1987, rtypejp, rtype, rtype, rtypep, driver_device, 0, ROT0, "Irem", "R-Type (Japan prototype)", GAME_NO_COCKTAIL ) |
| 3746 | | GAME( 1987, rtypeu, rtype, rtype, rtype, driver_device, 0, ROT0, "Irem (Nintendo of America license)", "R-Type (US)", GAME_NO_COCKTAIL ) |
| 3747 | | GAME( 1987, rtypeb, rtype, rtype, rtype, driver_device, 0, ROT0, "bootleg", "R-Type (World bootleg)", GAME_NO_COCKTAIL ) |
| 3748 | | GAME( 1987, bchopper, 0, m72, bchopper, m72_state, bchopper, ROT0, "Irem", "Battle Chopper", GAME_NO_COCKTAIL ) |
| 3749 | | GAME( 1987, mrheli, bchopper, m72_8751, bchopper, m72_state, m72_8751, ROT0, "Irem", "Mr. HELI no Daibouken (Japan)", GAME_NO_COCKTAIL ) |
| 3750 | | GAME( 1988, nspirit, 0, m72, nspirit, m72_state, nspirit, ROT0, "Irem", "Ninja Spirit", GAME_NO_COCKTAIL ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?) |
| 3751 | | GAME( 1988, nspiritj, nspirit, m72_8751, nspirit, m72_state, m72_8751, ROT0, "Irem", "Saigo no Nindou (Japan)", GAME_NO_COCKTAIL ) // waits for japan warning screen, works with our mcu dump, corrupt warning screen due to priority / mixing errors (Japan Version) |
| 3752 | | GAME( 1988, imgfight, 0, m72, imgfight, m72_state, imgfight, ROT270, "Irem", "Image Fight (World, revision A)", 0 ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?) |
| 3753 | | GAME( 1988, imgfightj, imgfight, m72_8751, imgfight, m72_state, m72_8751, ROT270, "Irem", "Image Fight (Japan)", 0 ) // waits for japan warning screen, works with our mcu dump, can't actually see warning screen due to priority / mixing errors, check tilemap viewer (Japan Version) |
| 3754 | | GAME( 1989, loht, 0, m72, loht, m72_state, loht, ROT0, "Irem", "Legend of Hero Tonma", GAME_NO_COCKTAIL ) // fails rom check if used with Japan MCU rom (World version?) |
| 3755 | | GAME( 1989, lohtj, loht, m72_8751, loht, m72_state, m72_8751, ROT0, "Irem", "Legend of Hero Tonma (Japan)", GAME_NO_COCKTAIL ) // waits for japan warning screen, works with our mcu dump (Japan Version) |
| 3756 | | GAME( 1989, lohtb2, loht, m72_8751, loht, m72_state, m72_8751, ROT0, "bootleg", "Legend of Hero Tonma (Japan, bootleg with i8751)", GAME_NO_COCKTAIL ) // works like above, mcu code is the same as the real code, probably just an alt revision on a bootleg board |
| 3757 | | GAME( 1989, lohtb, loht, m72, loht, driver_device, 0, ROT0, "bootleg", "Legend of Hero Tonma (unprotected bootleg)", GAME_NOT_WORKING| GAME_NO_COCKTAIL ) |
| 3517 | GAME( 1987, rtype, 0, rtype, rtype, driver_device, 0, ROT0, "Irem", "R-Type (World)", GAME_NO_COCKTAIL ) |
| 3518 | GAME( 1987, rtypej, rtype, rtype, rtype, driver_device, 0, ROT0, "Irem", "R-Type (Japan)", GAME_NO_COCKTAIL ) |
| 3519 | GAME( 1987, rtypejp, rtype, rtype, rtypep, driver_device, 0, ROT0, "Irem", "R-Type (Japan prototype)", GAME_NO_COCKTAIL ) |
| 3520 | GAME( 1987, rtypeu, rtype, rtype, rtype, driver_device, 0, ROT0, "Irem (Nintendo of America license)", "R-Type (US)", GAME_NO_COCKTAIL ) |
| 3521 | GAME( 1987, rtypeb, rtype, rtype, rtype, driver_device, 0, ROT0, "bootleg", "R-Type (World bootleg)", GAME_NO_COCKTAIL ) |
| 3522 | |
| 3523 | GAME( 1987, bchopper, 0, m72, bchopper, m72_state, bchopper, ROT0, "Irem", "Battle Chopper", GAME_NO_COCKTAIL ) |
| 3524 | GAME( 1987, mrheli, bchopper, m72_8751, bchopper, m72_state, m72_8751, ROT0, "Irem", "Mr. HELI no Daibouken (Japan)", GAME_NO_COCKTAIL ) |
| 3525 | |
| 3526 | GAME( 1988, nspirit, 0, m72, nspirit, m72_state, nspirit, ROT0, "Irem", "Ninja Spirit", GAME_NO_COCKTAIL ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?) |
| 3527 | GAME( 1988, nspiritj, nspirit, m72_8751, nspirit, m72_state, m72_8751, ROT0, "Irem", "Saigo no Nindou (Japan)", GAME_NO_COCKTAIL ) // waits for japan warning screen, works with our mcu dump, corrupt warning screen due to priority / mixing errors (Japan Version) |
| 3528 | |
| 3529 | GAME( 1988, imgfight, 0, m72, imgfight, m72_state, imgfight, ROT270, "Irem", "Image Fight (World, revision A)", 0 ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?) |
| 3530 | GAME( 1988, imgfightj, imgfight, m72_8751, imgfight, m72_state, m72_8751, ROT270, "Irem", "Image Fight (Japan)", 0 ) // waits for japan warning screen, works with our mcu dump, can't actually see warning screen due to priority / mixing errors, check tilemap viewer (Japan Version) |
| 3531 | |
| 3532 | GAME( 1989, loht, 0, m72, loht, m72_state, loht, ROT0, "Irem", "Legend of Hero Tonma", GAME_NO_COCKTAIL ) // fails rom check if used with Japan MCU rom (World version?) |
| 3533 | GAME( 1989, lohtj, loht, m72_8751, loht, m72_state, m72_8751, ROT0, "Irem", "Legend of Hero Tonma (Japan)", GAME_NO_COCKTAIL ) // waits for japan warning screen, works with our mcu dump (Japan Version) |
| 3534 | GAME( 1989, lohtb2, loht, m72_8751, loht, m72_state, m72_8751, ROT0, "bootleg", "Legend of Hero Tonma (Japan, bootleg with i8751)", GAME_NO_COCKTAIL ) // works like above, mcu code is the same as the real code, probably just an alt revision on a bootleg board |
| 3535 | GAME( 1989, lohtb, loht, m72, loht, driver_device, 0, ROT0, "bootleg", "Legend of Hero Tonma (unprotected bootleg)", GAME_NOT_WORKING| GAME_NO_COCKTAIL ) |
| 3536 | |
| 3758 | 3537 | GAME( 1989, xmultipl, 0, xmultipl, xmultipl, driver_device, 0, ROT0, "Irem", "X Multiply (World, M81)", GAME_NO_COCKTAIL ) |
| 3759 | | GAME( 1989, xmultiplm72, xmultipl, xmultiplm72, xmultipl, m72_state, xmultiplm72, ROT0, "Irem", "X Multiply (Japan, M72)", GAME_NO_COCKTAIL ) |
| 3760 | | GAME( 1989, dbreed, 0, dbreed, dbreed, driver_device, 0, ROT0, "Irem", "Dragon Breed (M81 PCB version)", GAME_NO_COCKTAIL ) |
| 3761 | | GAME( 1989, dbreedm72, dbreed, dbreedm72, dbreed, m72_state, dbreedm72, ROT0, "Irem", "Dragon Breed (M72 PCB version)", GAME_NO_COCKTAIL ) |
| 3762 | | GAME( 1989, rtype2, 0, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II", GAME_NO_COCKTAIL ) |
| 3763 | | GAME( 1989, rtype2j, rtype2, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II (Japan)", GAME_NO_COCKTAIL ) |
| 3764 | | GAME( 1989, rtype2jc, rtype2, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II (Japan, revision C)", GAME_NO_COCKTAIL ) |
| 3765 | | GAME( 1990, majtitle, 0, majtitle, rtype2, driver_device, 0, ROT0, "Irem", "Major Title (World)", GAME_NO_COCKTAIL ) |
| 3766 | | GAME( 1990, majtitlej, majtitle, majtitle, rtype2, driver_device, 0, ROT0, "Irem", "Major Title (Japan)", GAME_NO_COCKTAIL ) |
| 3767 | | GAME( 1990, hharry, 0, hharry, hharry, driver_device, 0, ROT0, "Irem", "Hammerin' Harry (World)", GAME_NO_COCKTAIL ) |
| 3768 | | GAME( 1990, hharryu, hharry, hharryu, hharry, driver_device, 0, ROT0, "Irem America", "Hammerin' Harry (US)", GAME_NO_COCKTAIL ) |
| 3769 | | GAME( 1990, dkgensan, hharry, hharryu, hharry, driver_device, 0, ROT0, "Irem", "Daiku no Gensan (Japan, M82)", GAME_NO_COCKTAIL ) |
| 3770 | | GAME( 1990, dkgensanm72, hharry, dkgenm72, hharry, m72_state, dkgenm72, ROT0, "Irem", "Daiku no Gensan (Japan, M72)", GAME_NO_COCKTAIL ) |
| 3538 | GAME( 1989, xmultiplm72, xmultipl, xmultiplm72, xmultipl, m72_state, xmultiplm72, ROT0, "Irem", "X Multiply (Japan, M72)", GAME_NO_COCKTAIL ) |
| 3539 | |
| 3540 | GAME( 1989, dbreed, 0, dbreed, dbreed, driver_device, 0, ROT0, "Irem", "Dragon Breed (M81 PCB version)", GAME_NO_COCKTAIL ) |
| 3541 | GAME( 1989, dbreedm72, dbreed, dbreedm72, dbreed, m72_state, dbreedm72, ROT0, "Irem", "Dragon Breed (M72 PCB version)", GAME_NO_COCKTAIL ) |
| 3542 | |
| 3543 | GAME( 1989, rtype2, 0, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II", GAME_NO_COCKTAIL ) |
| 3544 | GAME( 1989, rtype2j, rtype2, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II (Japan)", GAME_NO_COCKTAIL ) |
| 3545 | GAME( 1989, rtype2jc, rtype2, rtype2, rtype2, driver_device, 0, ROT0, "Irem", "R-Type II (Japan, revision C)", GAME_NO_COCKTAIL ) |
| 3546 | |
| 3547 | GAME( 1990, majtitle, 0, majtitle, rtype2, driver_device, 0, ROT0, "Irem", "Major Title (World)", GAME_NO_COCKTAIL ) |
| 3548 | GAME( 1990, majtitlej, majtitle, majtitle, rtype2, driver_device, 0, ROT0, "Irem", "Major Title (Japan)", GAME_NO_COCKTAIL ) |
| 3549 | |
| 3550 | GAME( 1990, hharry, 0, hharry, hharry, driver_device, 0, ROT0, "Irem", "Hammerin' Harry (World)", GAME_NO_COCKTAIL ) |
| 3551 | GAME( 1990, hharryu, hharry, hharryu, hharry, driver_device, 0, ROT0, "Irem America", "Hammerin' Harry (US)", GAME_NO_COCKTAIL ) |
| 3552 | GAME( 1990, dkgensan, hharry, hharryu, hharry, driver_device, 0, ROT0, "Irem", "Daiku no Gensan (Japan, M82)", GAME_NO_COCKTAIL ) |
| 3553 | GAME( 1990, dkgensanm72, hharry, dkgenm72, hharry, m72_state, dkgenm72, ROT0, "Irem", "Daiku no Gensan (Japan, M72)", GAME_NO_COCKTAIL ) |
| 3554 | |
| 3771 | 3555 | GAME( 1990, poundfor, 0, poundfor, poundfor, driver_device, 0, ROT270, "Irem", "Pound for Pound (World)", GAME_NO_COCKTAIL ) |
| 3772 | 3556 | GAME( 1990, poundforj, poundfor, poundfor, poundfor, driver_device, 0, ROT270, "Irem", "Pound for Pound (Japan)", GAME_NO_COCKTAIL ) |
| 3773 | 3557 | GAME( 1990, poundforu, poundfor, poundfor, poundfor, driver_device, 0, ROT270, "Irem America", "Pound for Pound (US)", GAME_NO_COCKTAIL ) |
| 3774 | | GAME( 1990, airduel, 0, m72, airduel, m72_state, airduel, ROT270, "Irem", "Air Duel (Japan)", 0 ) |
| 3775 | | GAME( 1991, cosmccop, 0, cosmccop, gallop, driver_device, 0, ROT0, "Irem", "Cosmic Cop (World)", GAME_NO_COCKTAIL ) |
| 3776 | | GAME( 1991, gallop, cosmccop, m72, gallop, m72_state, gallop, ROT0, "Irem", "Gallop - Armed Police Unit (Japan)", GAME_NO_COCKTAIL ) |
| 3777 | | GAME( 1991, kengo, 0, kengo, kengo, driver_device, 0, ROT0, "Irem", "Ken-Go", GAME_NO_COCKTAIL ) |
| 3558 | |
| 3559 | GAME( 1990, airduel, 0, m72, airduel, m72_state, airduel, ROT270, "Irem", "Air Duel (Japan)", 0 ) |
| 3560 | |
| 3561 | GAME( 1991, cosmccop, 0, cosmccop, gallop, driver_device, 0, ROT0, "Irem", "Cosmic Cop (World)", GAME_NO_COCKTAIL ) |
| 3562 | GAME( 1991, gallop, cosmccop, m72, gallop, m72_state, gallop, ROT0, "Irem", "Gallop - Armed Police Unit (Japan)", GAME_NO_COCKTAIL ) |
| 3563 | |
| 3564 | GAME( 1991, kengo, 0, kengo, kengo, driver_device, 0, ROT0, "Irem", "Ken-Go", GAME_NO_COCKTAIL ) |