src/mess/drivers/pc8801.c
| r10106 | r10107 | |
| 20 | 20 | - Add limits for extend work RAM; |
| 21 | 21 | - What happens to the palette contents when the analog/digital palette mode changes? |
| 22 | 22 | |
| 23 | list of games that crashes due of floppy issues: |
| 24 | - Bokosuka Wars |
| 25 | - Bouken Roman |
| 26 | - Bruce Lee |
| 27 | - Castle Excellent |
| 28 | |
| 23 | 29 | per-game specific TODO: |
| 24 | 30 | - 100 Yen disk(s): reads kanji ports; |
| 25 | 31 | - 177: gameplay is too fast; |
| 26 | 32 | - Acro Jet: hangs waiting for an irq; |
| 27 | | - Aggress: crashes after that it shows the title screen; |
| 28 | 33 | - American Success: reads the light pen? |
| 29 | 34 | - Alpha (demo): crashes with "illegal function" msg; |
| 30 | 35 | - Alphos: text VRAM garbage during gameplay; |
| r10106 | r10107 | |
| 33 | 38 | - Bersekers Front Gaiden 3: checks CPU speed port and polls the PCG stuff too; |
| 34 | 39 | - Bishoujo Baseball Gakuen: checks ym2608 after intro screen; |
| 35 | 40 | - Blue Moon Story: moans with a kanji msg;. |
| 36 | | - Bokosuka Wars: doesn't boot, floppy issue; |
| 37 | | - Bouken Roman: doesn't boot, floppy issue; |
| 38 | | - Bruce Lee: doesn't boot, floppy issue; |
| 39 | 41 | - Bu U Ma: sets gfx compatibility mode on title screen (attr bit 4,N-BASIC), dunno how to draw with it ...; |
| 40 | 42 | - Grobda: palette is ugly; |
| 41 | 43 | - Wanderers from Ys: user data looks screwed? It loads with everything as maximum as per now ... |
| r10106 | r10107 | |
| 1519 | 1521 | RGN_FRAC(1,1), |
| 1520 | 1522 | 1, |
| 1521 | 1523 | { 0 }, |
| 1522 | | { 0, 1, 2, 3, 4, 5, 6, 7 }, |
| 1523 | | { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, |
| 1524 | | 8 * 8 |
| 1524 | { STEP8(0,1) }, |
| 1525 | { STEP8(0,8) }, |
| 1526 | 8*8 |
| 1525 | 1527 | }; |
| 1526 | 1528 | |
| 1529 | static const gfx_layout kanji_layout = |
| 1530 | { |
| 1531 | 16, 16, |
| 1532 | RGN_FRAC(1,1), |
| 1533 | 1, |
| 1534 | { 0 }, |
| 1535 | { STEP16(0,1) }, |
| 1536 | { STEP16(0,16) }, |
| 1537 | 16*16 |
| 1538 | }; |
| 1527 | 1539 | |
| 1528 | | |
| 1540 | /* debugging only */ |
| 1529 | 1541 | static GFXDECODE_START( pc8801 ) |
| 1530 | | GFXDECODE_ENTRY( "gfx1", 0, char_layout, 0, 16 ) |
| 1542 | GFXDECODE_ENTRY( "gfx1", 0, char_layout, 0, 8 ) |
| 1543 | GFXDECODE_ENTRY( "kanji", 0, kanji_layout, 0, 8 ) |
| 1531 | 1544 | GFXDECODE_END |
| 1532 | 1545 | |
| 1533 | 1546 | /* uPD1990A Interface */ |
| r10106 | r10107 | |
| 1767 | 1780 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1768 | 1781 | ROM_LOAD( "disk.rom", 0x0000, 0x0800, CRC(2158d307) SHA1(bb7103a0818850a039c67ff666a31ce49a8d516f) ) |
| 1769 | 1782 | |
| 1770 | | ROM_REGION( 0x40000, "gfx1", 0) |
| 1783 | ROM_REGION( 0x40000, "kanji", ROMREGION_ERASEFF) |
| 1784 | ROM_LOAD_OPTIONAL( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1785 | |
| 1786 | ROM_REGION( 0x800, "gfx1", 0) |
| 1771 | 1787 | ROM_LOAD( "font.rom", 0x0000, 0x0800, CRC(56653188) SHA1(84b90f69671d4b72e8f219e1fe7cd667e976cf7f) ) |
| 1772 | 1788 | ROM_END |
| 1773 | 1789 | |
| r10106 | r10107 | |
| 1786 | 1802 | ROM_REGION( 0x10000, "fdccpu", 0) |
| 1787 | 1803 | ROM_LOAD( "disk.rom", 0x0000, 0x0800, CRC(2158d307) SHA1(bb7103a0818850a039c67ff666a31ce49a8d516f) ) |
| 1788 | 1804 | |
| 1789 | | /* should this be here? */ |
| 1790 | | ROM_REGION( 0x40000, "gfx1", 0) |
| 1791 | | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1805 | ROM_REGION( 0x40000, "kanji", ROMREGION_ERASEFF) |
| 1806 | ROM_LOAD_OPTIONAL( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1807 | |
| 1808 | ROM_REGION( 0x800, "gfx1", 0) |
| 1809 | ROM_COPY( "kanji", 0x1000, 0x0000, 0x800 ) |
| 1792 | 1810 | ROM_END |
| 1793 | 1811 | |
| 1794 | 1812 | ROM_START( pc8801mk2sr ) |
| r10106 | r10107 | |
| 1815 | 1833 | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1816 | 1834 | ROM_LOAD( "kanji2.rom", 0x20000, 0x20000, CRC(154803cc) SHA1(7e6591cd465cbb35d6d3446c5a83b46d30fafe95) ) // it should not be here |
| 1817 | 1835 | |
| 1818 | | ROM_REGION( 0x40000, "gfx1", 0) |
| 1819 | | ROM_COPY( "kanji", 0x1000, 0x0000, 0x1000 ) |
| 1836 | ROM_REGION( 0x800, "gfx1", 0) |
| 1837 | ROM_COPY( "kanji", 0x1000, 0x0000, 0x800 ) |
| 1820 | 1838 | ROM_END |
| 1821 | 1839 | |
| 1822 | 1840 | ROM_START( pc8801mk2fr ) |
| r10106 | r10107 | |
| 1839 | 1857 | ROM_REGION( 0x2000, "audiocpu", 0) |
| 1840 | 1858 | ROM_LOAD( "soundbios.rom", 0x0000, 0x2000, NO_DUMP ) |
| 1841 | 1859 | |
| 1842 | | ROM_REGION( 0x40000, "gfx1", 0) |
| 1860 | ROM_REGION( 0x40000, "kanji", 0) |
| 1843 | 1861 | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1862 | |
| 1863 | ROM_REGION( 0x800, "gfx1", 0) |
| 1864 | ROM_COPY( "kanji", 0x1000, 0x0000, 0x800 ) |
| 1844 | 1865 | ROM_END |
| 1845 | 1866 | |
| 1846 | 1867 | ROM_START( pc8801mk2mr ) |
| r10106 | r10107 | |
| 1863 | 1884 | ROM_REGION( 0x2000, "audiocpu", 0) |
| 1864 | 1885 | ROM_LOAD( "soundbios.rom", 0x0000, 0x2000, NO_DUMP ) |
| 1865 | 1886 | |
| 1866 | | ROM_REGION( 0x40000, "gfx1", 0) |
| 1867 | | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1887 | ROM_REGION( 0x40000, "kanji", 0) |
| 1888 | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1889 | ROM_LOAD( "m2mr_kanji2.rom", 0x20000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 1868 | 1890 | |
| 1869 | | ROM_REGION( 0x20000, "kanji2", 0) |
| 1870 | | ROM_LOAD( "m2mr_kanji2.rom", 0x00000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 1891 | ROM_REGION( 0x800, "gfx1", 0) |
| 1892 | ROM_COPY( "kanji", 0x1000, 0x0000, 0x800 ) |
| 1871 | 1893 | ROM_END |
| 1872 | 1894 | |
| 1873 | 1895 | ROM_START( pc8801mh ) |
| r10106 | r10107 | |
| 1890 | 1912 | ROM_REGION( 0x2000, "audiocpu", 0) |
| 1891 | 1913 | ROM_LOAD( "soundbios.rom", 0x0000, 0x2000, NO_DUMP ) |
| 1892 | 1914 | |
| 1893 | | ROM_REGION( 0x40000, "gfx1", 0) |
| 1894 | | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1915 | ROM_REGION( 0x40000, "kanji", 0) |
| 1916 | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1917 | ROM_LOAD( "mh_kanji2.rom", 0x20000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 1895 | 1918 | |
| 1896 | | ROM_REGION( 0x20000, "kanji2", 0) |
| 1897 | | ROM_LOAD( "mh_kanji2.rom", 0x00000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 1919 | ROM_REGION( 0x800, "gfx1", 0) |
| 1920 | ROM_COPY( "kanji", 0x1000, 0x0000, 0x0800 ) |
| 1898 | 1921 | ROM_END |
| 1899 | 1922 | |
| 1900 | 1923 | ROM_START( pc8801fa ) |
| r10106 | r10107 | |
| 1917 | 1940 | ROM_REGION( 0x2000, "audiocpu", 0) |
| 1918 | 1941 | ROM_LOAD( "soundbios.rom", 0x0000, 0x2000, NO_DUMP ) |
| 1919 | 1942 | |
| 1920 | | ROM_REGION( 0x40000, "gfx1", 0 ) |
| 1921 | | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1943 | ROM_REGION( 0x40000, "kanji", 0 ) |
| 1944 | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1945 | ROM_LOAD( "fa_kanji2.rom", 0x20000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 1922 | 1946 | |
| 1923 | | ROM_REGION( 0x20000, "kanji2", 0) |
| 1924 | | ROM_LOAD( "fa_kanji2.rom", 0x00000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 1947 | ROM_REGION( 0x800, "gfx1", 0) |
| 1948 | ROM_COPY( "kanji", 0x1000, 0x0000, 0x0800 ) |
| 1925 | 1949 | ROM_END |
| 1926 | 1950 | |
| 1927 | 1951 | ROM_START( pc8801ma ) |
| r10106 | r10107 | |
| 1944 | 1968 | ROM_REGION( 0x2000, "audiocpu", 0) |
| 1945 | 1969 | ROM_LOAD( "soundbios.rom", 0x0000, 0x2000, NO_DUMP ) |
| 1946 | 1970 | |
| 1947 | | ROM_REGION( 0x40000, "gfx1", 0 ) |
| 1948 | | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1971 | ROM_REGION( 0x40000, "kanji", 0 ) |
| 1972 | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 1973 | ROM_LOAD( "ma_kanji2.rom", 0x20000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 1949 | 1974 | |
| 1950 | | ROM_REGION( 0x20000, "kanji2", 0) |
| 1951 | | ROM_LOAD( "ma_kanji2.rom", 0x00000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 1975 | ROM_REGION( 0x800, "gfx1", 0) |
| 1976 | ROM_COPY( "kanji", 0x1000, 0x0000, 0x0800 ) |
| 1952 | 1977 | |
| 1953 | 1978 | /* 32 banks, to be loaded at 0xc000 - 0xffff */ |
| 1954 | 1979 | ROM_REGION( 0x80000, "dictionary", 0 ) |
| r10106 | r10107 | |
| 1975 | 2000 | ROM_REGION( 0x2000, "audiocpu", 0) |
| 1976 | 2001 | ROM_LOAD( "soundbios.rom", 0x0000, 0x2000, NO_DUMP ) |
| 1977 | 2002 | |
| 1978 | | ROM_REGION( 0x40000, "gfx1", 0 ) |
| 1979 | | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 2003 | ROM_REGION( 0x40000, "kanji", 0) |
| 2004 | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 2005 | ROM_LOAD( "ma2_kanji2.rom", 0x20000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 1980 | 2006 | |
| 1981 | | ROM_REGION( 0x20000, "kanji2", 0) |
| 1982 | | ROM_LOAD( "ma2_kanji2.rom", 0x00000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 2007 | ROM_REGION( 0x800, "gfx1", 0) |
| 2008 | ROM_COPY( "kanji", 0x1000, 0x0000, 0x0800 ) |
| 1983 | 2009 | |
| 1984 | 2010 | /* 32 banks, to be loaded at 0xc000 - 0xffff */ |
| 1985 | 2011 | ROM_REGION( 0x80000, "dictionary", 0 ) |
| r10106 | r10107 | |
| 2009 | 2035 | ROM_REGION( 0x2000, "audiocpu", 0) |
| 2010 | 2036 | ROM_LOAD( "soundbios.rom", 0x0000, 0x2000, NO_DUMP ) |
| 2011 | 2037 | |
| 2012 | | ROM_REGION( 0x40000, "gfx1", 0 ) |
| 2013 | | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 2038 | ROM_REGION( 0x40000, "kanji", 0 ) |
| 2039 | ROM_LOAD( "kanji1.rom", 0x00000, 0x20000, CRC(6178bd43) SHA1(82e11a177af6a5091dd67f50a2f4bafda84d6556) ) |
| 2040 | ROM_LOAD( "mc_kanji2.rom", 0x20000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 2014 | 2041 | |
| 2015 | | ROM_REGION( 0x20000, "kanji2", 0) |
| 2016 | | ROM_LOAD( "mc_kanji2.rom", 0x00000, 0x20000, CRC(376eb677) SHA1(bcf96584e2ba362218b813be51ea21573d1a2a78) ) |
| 2042 | ROM_REGION( 0x800, "gfx1", 0) |
| 2043 | ROM_COPY( "kanji", 0x1000, 0x0000, 0x0800 ) |
| 2017 | 2044 | |
| 2018 | 2045 | /* 32 banks, to be loaded at 0xc000 - 0xffff */ |
| 2019 | 2046 | ROM_REGION( 0x80000, "dictionary", 0 ) |