trunk/src/mame/drivers/megasys1.c
| r21078 | r21079 | |
| 124 | 124 | #include "cpu/m68000/m68000.h" |
| 125 | 125 | #include "sound/2203intf.h" |
| 126 | 126 | #include "sound/2151intf.h" |
| 127 | | #include "sound/okim6295.h" |
| 128 | 127 | #include "machine/jalcrpt.h" |
| 129 | 128 | #include "includes/megasys1.h" |
| 130 | 129 | |
| r21078 | r21079 | |
| 160 | 159 | int scanline = param; |
| 161 | 160 | |
| 162 | 161 | if(scanline == 240) // vblank-out irq |
| 163 | | machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE); |
| 162 | m_maincpu->set_input_line(2, HOLD_LINE); |
| 164 | 163 | |
| 165 | 164 | if(scanline == 0) |
| 166 | | machine().device("maincpu")->execute().set_input_line(1, HOLD_LINE); |
| 165 | m_maincpu->set_input_line(1, HOLD_LINE); |
| 167 | 166 | |
| 168 | 167 | if(scanline == 128) |
| 169 | | machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE); |
| 168 | m_maincpu->set_input_line(3, HOLD_LINE); |
| 170 | 169 | } |
| 171 | 170 | |
| 172 | 171 | static ADDRESS_MAP_START( megasys1A_map, AS_PROGRAM, 16, megasys1_state ) |
| r21078 | r21079 | |
| 196 | 195 | int scanline = param; |
| 197 | 196 | |
| 198 | 197 | if(scanline == 240) // vblank-out irq |
| 199 | | machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE); |
| 198 | m_maincpu->set_input_line(4, HOLD_LINE); |
| 200 | 199 | |
| 201 | 200 | if(scanline == 0) |
| 202 | | machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE); |
| 201 | m_maincpu->set_input_line(2, HOLD_LINE); |
| 203 | 202 | |
| 204 | 203 | if(scanline == 128) |
| 205 | | machine().device("maincpu")->execute().set_input_line(1, HOLD_LINE); |
| 204 | m_maincpu->set_input_line(1, HOLD_LINE); |
| 206 | 205 | } |
| 207 | 206 | |
| 208 | 207 | |
| r21078 | r21079 | |
| 235 | 234 | |
| 236 | 235 | switch (i) |
| 237 | 236 | { |
| 238 | | case 0 : return ioport("SYSTEM")->read(); |
| 239 | | case 1 : return ioport("P1")->read(); |
| 240 | | case 2 : return ioport("P2")->read(); |
| 241 | | case 3 : return ioport("DSW1")->read(); |
| 242 | | case 4 : return ioport("DSW2")->read(); |
| 237 | case 0 : return m_io_system->read(); |
| 238 | case 1 : return m_io_p1->read(); |
| 239 | case 2 : return m_io_p2->read(); |
| 240 | case 3 : return m_io_dsw1->read(); |
| 241 | case 4 : return m_io_dsw2->read(); |
| 243 | 242 | default : return 0x0006; |
| 244 | 243 | } |
| 245 | 244 | } |
| r21078 | r21079 | |
| 247 | 246 | WRITE16_MEMBER(megasys1_state::ip_select_w) |
| 248 | 247 | { |
| 249 | 248 | COMBINE_DATA(&m_ip_select); |
| 250 | | machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE); |
| 249 | m_maincpu->set_input_line(2, HOLD_LINE); |
| 251 | 250 | } |
| 252 | 251 | |
| 253 | 252 | |
| r21078 | r21079 | |
| 374 | 373 | WRITE_LINE_MEMBER(megasys1_state::sound_irq) |
| 375 | 374 | { |
| 376 | 375 | if (state) |
| 377 | | subdevice("soundcpu")->execute().set_input_line(4, HOLD_LINE); |
| 376 | m_audiocpu->set_input_line(4, HOLD_LINE); |
| 378 | 377 | } |
| 379 | 378 | |
| 380 | 379 | READ8_MEMBER(megasys1_state::oki_status_1_r) |
| 381 | 380 | { |
| 382 | | device_t *device = machine().device("oki1"); |
| 383 | 381 | if (m_ignore_oki_status == 1) |
| 384 | 382 | return 0; |
| 385 | 383 | else |
| 386 | | return downcast<okim6295_device *>(device)->read_status(); |
| 384 | return m_oki1->read_status(); |
| 387 | 385 | } |
| 388 | 386 | |
| 389 | 387 | READ8_MEMBER(megasys1_state::oki_status_2_r) |
| 390 | 388 | { |
| 391 | | device_t *device = machine().device("oki1"); |
| 392 | 389 | if (m_ignore_oki_status == 1) |
| 393 | 390 | return 0; |
| 394 | 391 | else |
| 395 | | return downcast<okim6295_device *>(device)->read_status(); |
| 392 | return m_oki1->read_status(); |
| 396 | 393 | } |
| 397 | 394 | /*************************************************************************** |
| 398 | 395 | [ Sound CPU - System A ] |
| r21078 | r21079 | |
| 1373 | 1370 | switch (m_protection_val) |
| 1374 | 1371 | { |
| 1375 | 1372 | case 0x02: return 0x03; |
| 1376 | | case 0x51: return ioport("P1")->read(); |
| 1377 | | case 0x52: return ioport("P2")->read(); |
| 1373 | case 0x51: return m_io_p1->read(); |
| 1374 | case 0x52: return m_io_p2->read(); |
| 1378 | 1375 | default: return m_protection_val; |
| 1379 | 1376 | } |
| 1380 | 1377 | } |
| r21078 | r21079 | |
| 1385 | 1382 | |
| 1386 | 1383 | if ((m_protection_val & 0x90) == 0x90) |
| 1387 | 1384 | { |
| 1388 | | UINT8 *RAM = memregion("oki1")->base(); |
| 1385 | UINT8 *RAM = m_region_oki1->base(); |
| 1389 | 1386 | int new_bank = (m_protection_val & 0x7) % 7; |
| 1390 | 1387 | |
| 1391 | 1388 | if (m_bank != new_bank) |
| r21078 | r21079 | |
| 1395 | 1392 | } |
| 1396 | 1393 | } |
| 1397 | 1394 | |
| 1398 | | machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE); |
| 1395 | m_maincpu->set_input_line(4, HOLD_LINE); |
| 1399 | 1396 | } |
| 1400 | 1397 | |
| 1401 | 1398 | /************************************* |
| r21078 | r21079 | |
| 1462 | 1459 | MCFG_CPU_PROGRAM_MAP(megasys1A_map) |
| 1463 | 1460 | MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", megasys1_state, megasys1A_scanline, "screen", 0, 1) |
| 1464 | 1461 | |
| 1465 | | MCFG_CPU_ADD("soundcpu", M68000, SOUND_CPU_CLOCK) /* 7MHz verified */ |
| 1462 | MCFG_CPU_ADD("audiocpu", M68000, SOUND_CPU_CLOCK) /* 7MHz verified */ |
| 1466 | 1463 | MCFG_CPU_PROGRAM_MAP(megasys1A_sound_map) |
| 1467 | 1464 | |
| 1468 | 1465 | MCFG_QUANTUM_TIME(attotime::from_hz(120000)) |
| r21078 | r21079 | |
| 1515 | 1512 | MCFG_TIMER_MODIFY("scantimer") |
| 1516 | 1513 | MCFG_TIMER_DRIVER_CALLBACK(megasys1_state, megasys1B_scanline) |
| 1517 | 1514 | |
| 1518 | | MCFG_CPU_MODIFY("soundcpu") |
| 1515 | MCFG_CPU_MODIFY("audiocpu") |
| 1519 | 1516 | MCFG_CPU_PROGRAM_MAP(megasys1B_sound_map) |
| 1520 | 1517 | MACHINE_CONFIG_END |
| 1521 | 1518 | |
| r21078 | r21079 | |
| 1576 | 1573 | MCFG_TIMER_MODIFY("scantimer") |
| 1577 | 1574 | MCFG_TIMER_DRIVER_CALLBACK(megasys1_state, megasys1B_scanline) |
| 1578 | 1575 | |
| 1579 | | MCFG_CPU_MODIFY("soundcpu") |
| 1576 | MCFG_CPU_MODIFY("audiocpu") |
| 1580 | 1577 | MCFG_CPU_PROGRAM_MAP(megasys1B_sound_map) |
| 1581 | 1578 | MACHINE_CONFIG_END |
| 1582 | 1579 | |
| r21078 | r21079 | |
| 1639 | 1636 | |
| 1640 | 1637 | static void irq_handler(device_t *device, int irq) |
| 1641 | 1638 | { |
| 1642 | | device->machine().device("soundcpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE); |
| 1639 | device->machine().driver_data<megasys1_state>()->m_audiocpu->set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE); |
| 1643 | 1640 | } |
| 1644 | 1641 | |
| 1645 | 1642 | |
| r21078 | r21079 | |
| 1660 | 1657 | MCFG_CPU_PROGRAM_MAP(megasys1A_map) |
| 1661 | 1658 | MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", megasys1_state, megasys1A_scanline, "screen", 0, 1) |
| 1662 | 1659 | |
| 1663 | | MCFG_CPU_ADD("soundcpu", Z80, 3000000) /* OSC 12MHz divided by 4 ??? */ |
| 1660 | MCFG_CPU_ADD("audiocpu", Z80, 3000000) /* OSC 12MHz divided by 4 ??? */ |
| 1664 | 1661 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
| 1665 | 1662 | MCFG_CPU_IO_MAP(z80_sound_io_map) |
| 1666 | 1663 | |
| r21078 | r21079 | |
| 1736 | 1733 | ROM_LOAD16_BYTE( "64th_03.rom", 0x000000, 0x040000, CRC(ed6c6942) SHA1(f610b31548ed4889a43d77be286b9bfabf700064) ) |
| 1737 | 1734 | ROM_LOAD16_BYTE( "64th_02.rom", 0x000001, 0x040000, CRC(0621ed1d) SHA1(97d3e84cced23865157c5a15cbf5b7671c1dbae1) ) |
| 1738 | 1735 | |
| 1739 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 1736 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 1740 | 1737 | ROM_LOAD16_BYTE( "64th_08.rom", 0x000000, 0x010000, CRC(632be0c1) SHA1(626073037249d96ac70b2d11b2dd72b22bac49c7) ) |
| 1741 | 1738 | ROM_LOAD16_BYTE( "64th_07.rom", 0x000001, 0x010000, CRC(13595d01) SHA1(e730a530ca232aab883217fa12804075cb2aa640) ) |
| 1742 | 1739 | |
| r21078 | r21079 | |
| 1772 | 1769 | ROM_LOAD16_BYTE( "91105-3.bin", 0x000000, 0x040000, CRC(a211a83b) SHA1(423d8f273f1520f6a37f1255bb2d343a6bbd790a) ) |
| 1773 | 1770 | ROM_LOAD16_BYTE( "91105-2.bin", 0x000001, 0x040000, CRC(27c1f436) SHA1(d7936523549cfcd99ba98c6776ebd225b245867b) ) |
| 1774 | 1771 | |
| 1775 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 1772 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 1776 | 1773 | ROM_LOAD16_BYTE( "64th_08.rom", 0x000000, 0x010000, CRC(632be0c1) SHA1(626073037249d96ac70b2d11b2dd72b22bac49c7) ) |
| 1777 | 1774 | ROM_LOAD16_BYTE( "64th_07.rom", 0x000001, 0x010000, CRC(13595d01) SHA1(e730a530ca232aab883217fa12804075cb2aa640) ) |
| 1778 | 1775 | |
| r21078 | r21079 | |
| 1819 | 1816 | ROM_LOAD16_BYTE( "astyan3.bin", 0x40000, 0x10000, CRC(097b53a6) SHA1(80952b2e685cefa8dd7c31b1ec54c4de924a84eb) ) |
| 1820 | 1817 | ROM_LOAD16_BYTE( "astyan4.bin", 0x40001, 0x10000, CRC(1e1cbdb2) SHA1(5d076233d5ed6fdd9f0ecf64453325c14d33e879) ) |
| 1821 | 1818 | |
| 1822 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 1819 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 1823 | 1820 | ROM_LOAD16_BYTE( "astyan5.bin", 0x000000, 0x010000, CRC(11c74045) SHA1(00310a08a1c9a08050004e39b111b940142f8dea) ) |
| 1824 | 1821 | ROM_LOAD16_BYTE( "astyan6.bin", 0x000001, 0x010000, CRC(eecd4b16) SHA1(2078e900b53347aad008a8ce7191f4e5541d4df0) ) |
| 1825 | 1822 | |
| r21078 | r21079 | |
| 1867 | 1864 | ROM_LOAD16_BYTE( "lokj03.bin", 0x40000, 0x20000, CRC(d8702c91) SHA1(bdf0ed1f116b0c8589a5b6c61e6f441b5afa38cb) ) |
| 1868 | 1865 | ROM_LOAD16_BYTE( "lokj04.bin", 0x40001, 0x20000, CRC(eccbf8c9) SHA1(f37fb6a536f6344d6d68c8193de4db5d70b29c0a) ) |
| 1869 | 1866 | |
| 1870 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 1867 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 1871 | 1868 | ROM_LOAD16_BYTE( "astyan5.bin", 0x000000, 0x010000, CRC(11c74045) SHA1(00310a08a1c9a08050004e39b111b940142f8dea) ) |
| 1872 | 1869 | ROM_LOAD16_BYTE( "astyan6.bin", 0x000001, 0x010000, CRC(eecd4b16) SHA1(2078e900b53347aad008a8ce7191f4e5541d4df0) ) |
| 1873 | 1870 | |
| r21078 | r21079 | |
| 1954 | 1951 | ROM_LOAD16_BYTE( "spirit06.rom", 0x000001, 0x020000, CRC(609f71fe) SHA1(ab1bfe211763fb855477645267223e7fd4d6b6da) ) |
| 1955 | 1952 | ROM_CONTINUE ( 0x080001, 0x020000 ) |
| 1956 | 1953 | |
| 1957 | | ROM_REGION( 0x40000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 1954 | ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 1958 | 1955 | ROM_LOAD16_BYTE( "spirit01.rom", 0x000000, 0x020000, CRC(d02ec045) SHA1(465b61d89ca06e7e0a42c42efb6919c964ad0f93) ) |
| 1959 | 1956 | ROM_LOAD16_BYTE( "spirit02.rom", 0x000001, 0x020000, CRC(30213390) SHA1(9334978d3568b36215ed29789501f7cbaf6651ea) ) |
| 1960 | 1957 | |
| r21078 | r21079 | |
| 1991 | 1988 | ROM_LOAD16_BYTE( "phntsm03.bin", 0x040000, 0x010000, CRC(1d96ce20) SHA1(2fb79160ea0dd18b5713691e4cf195d27ac4e3c3) ) |
| 1992 | 1989 | ROM_LOAD16_BYTE( "phntsm04.bin", 0x040001, 0x010000, CRC(dc0c4994) SHA1(c3c72336b5032ef237490b095d3270de5803738c) ) |
| 1993 | 1990 | |
| 1994 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 1991 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 1995 | 1992 | ROM_LOAD16_BYTE( "phntsm05.bin", 0x000000, 0x010000, CRC(3b169b4a) SHA1(81c46fc94887c0cea363848b5c831dcf3b5b76de) ) |
| 1996 | 1993 | ROM_LOAD16_BYTE( "phntsm06.bin", 0x000001, 0x010000, CRC(df2dfb2e) SHA1(b2542fa478917d44dffcf9e11ff7eaac6019676d) ) |
| 1997 | 1994 | |
| r21078 | r21079 | |
| 2069 | 2066 | ROM_LOAD16_BYTE( "5", 0x000001, 0x020000, CRC(6c45465d) SHA1(ae30c3f14617ffe99622a019eb64880ac14bf7cf) ) |
| 2070 | 2067 | ROM_CONTINUE ( 0x080001, 0x020000 ) |
| 2071 | 2068 | |
| 2072 | | ROM_REGION( 0x40000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2069 | ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2073 | 2070 | ROM_LOAD16_BYTE( "4", 0x000000, 0x020000, CRC(d02ec045) SHA1(465b61d89ca06e7e0a42c42efb6919c964ad0f93) ) |
| 2074 | 2071 | ROM_LOAD16_BYTE( "3", 0x000001, 0x020000, CRC(30213390) SHA1(9334978d3568b36215ed29789501f7cbaf6651ea) ) |
| 2075 | 2072 | |
| r21078 | r21079 | |
| 2130 | 2127 | ROM_LOAD16_BYTE( "91105v11.3", 0x000000, 0x020000, CRC(5d6e08ec) SHA1(4b80a5073cd0b0142cad094816b935d750ac11fb) ) |
| 2131 | 2128 | ROM_LOAD16_BYTE( "91105v11.2", 0x000001, 0x020000, CRC(2120f05b) SHA1(a769cf8c3a4fa6a3f604edf45ce6db35979826cb) ) |
| 2132 | 2129 | |
| 2133 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2130 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2134 | 2131 | ROM_LOAD16_BYTE( "91105v10.8", 0x000000, 0x010000, CRC(7dd69ece) SHA1(e8dc3cbce8cb3f549384cd114f8fc0e6c72462f3) ) |
| 2135 | 2132 | ROM_LOAD16_BYTE( "91105v10.7", 0x000001, 0x010000, CRC(bc2c1508) SHA1(110dece929f9b452eb287c736d394d1022a09d75) ) |
| 2136 | 2133 | |
| r21078 | r21079 | |
| 2178 | 2175 | ROM_LOAD16_BYTE( "prg3.bin", 0x000000, 0x040000, CRC(70f1448f) SHA1(60aaee1cf7aa15ffa4962d947747b0ae7cdcfd8a) ) |
| 2179 | 2176 | ROM_LOAD16_BYTE( "prg2.bin", 0x000001, 0x040000, CRC(821dbb85) SHA1(df204db38995ff4c898b8a0121834ec1b84b215c) ) |
| 2180 | 2177 | |
| 2181 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2178 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2182 | 2179 | ROM_LOAD16_BYTE( "prg8.bin", 0x000000, 0x010000, CRC(a682b1ca) SHA1(66f5d5a73f5e8cba87eac09c55eee59117d94f7b) ) |
| 2183 | 2180 | ROM_LOAD16_BYTE( "prg7.bin", 0x000001, 0x010000, CRC(83b9982d) SHA1(68e7d344ebfffe19822c4cf9f7b13cb51f23537a) ) |
| 2184 | 2181 | |
| r21078 | r21079 | |
| 2266 | 2263 | ROM_LOAD16_BYTE( "cb_03.rom", 0x000000, 0x040000, CRC(bee20587) SHA1(3c1d546c63a3d6f8a63b7dee1c8e99a7091d774d) ) |
| 2267 | 2264 | ROM_LOAD16_BYTE( "cb_02.rom", 0x000001, 0x040000, CRC(2ed14c50) SHA1(4ed01ea5c5e59c3c012d9a4d5257be78220758c1) ) |
| 2268 | 2265 | |
| 2269 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2266 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2270 | 2267 | ROM_LOAD16_BYTE( "cb_08.rom", 0x000000, 0x010000, CRC(bf7b3558) SHA1(6046b965d61560e0227437f00f1ff1f7dbc16232) ) |
| 2271 | 2268 | ROM_LOAD16_BYTE( "cb_07.rom", 0x000001, 0x010000, CRC(85d219d7) SHA1(a9628efc5eddefad739363ff0b2f37a2d095df86) ) |
| 2272 | 2269 | |
| r21078 | r21079 | |
| 2328 | 2325 | ROM_LOAD16_BYTE( "edf_06.rom", 0x000001, 0x020000, CRC(94da2f0c) SHA1(ae6aef03d61d244a857a9dc824be230c35f4c978) ) |
| 2329 | 2326 | ROM_CONTINUE ( 0x080001, 0x020000 ) |
| 2330 | 2327 | |
| 2331 | | ROM_REGION( 0x40000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2328 | ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2332 | 2329 | ROM_LOAD16_BYTE( "edf1.f5", 0x000000, 0x020000, CRC(2290ea19) SHA1(64c9394bd4d5569d68833d2e57abaf2f1af5be97) ) |
| 2333 | 2330 | ROM_LOAD16_BYTE( "edf2.f3", 0x000001, 0x020000, CRC(ce93643e) SHA1(686bf0ec104af8c97624a782e0d60afe170fd945) ) |
| 2334 | 2331 | |
| r21078 | r21079 | |
| 2364 | 2361 | ROM_LOAD16_BYTE( "edf6.b3", 0x000001, 0x020000, CRC(4797de97) SHA1(dcfcc376a49853c938d772808efe421ba4ba24da) ) |
| 2365 | 2362 | ROM_CONTINUE ( 0x080001, 0x020000 ) |
| 2366 | 2363 | |
| 2367 | | ROM_REGION( 0x40000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2364 | ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2368 | 2365 | ROM_LOAD16_BYTE( "edf1.f5", 0x000000, 0x020000, CRC(2290ea19) SHA1(64c9394bd4d5569d68833d2e57abaf2f1af5be97) ) |
| 2369 | 2366 | ROM_LOAD16_BYTE( "edf2.f3", 0x000001, 0x020000, CRC(ce93643e) SHA1(686bf0ec104af8c97624a782e0d60afe170fd945) ) |
| 2370 | 2367 | |
| r21078 | r21079 | |
| 2448 | 2445 | ROM_LOAD16_BYTE( "hacho02.rom", 0x000000, 0x020000, CRC(49489c27) SHA1(21c31e1b41ca6c7e78803e5a2e7c49f7b885d0e3) ) |
| 2449 | 2446 | ROM_LOAD16_BYTE( "hacho01.rom", 0x000001, 0x020000, CRC(97fc9515) SHA1(192660061af6a5bddccf7cfffcbfa368c4030de9) ) |
| 2450 | 2447 | |
| 2451 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2448 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2452 | 2449 | ROM_LOAD16_BYTE( "hacho05.rom", 0x000000, 0x010000, CRC(6271f74f) SHA1(2fe0f8adf3cdafe13a9107c36f24f1a525d06a05) ) |
| 2453 | 2450 | ROM_LOAD16_BYTE( "hacho06.rom", 0x000001, 0x010000, CRC(db9e743c) SHA1(77a3691b48eed389bfcdead5f307415dce47247e) ) |
| 2454 | 2451 | |
| r21078 | r21079 | |
| 2531 | 2528 | ROM_LOAD16_BYTE( "6", 0x000001, 0x020000, CRC(341f8057) SHA1(958d9fc870bc13a9c1720d21776b5239db771ce2) ) |
| 2532 | 2529 | ROM_CONTINUE ( 0x080001, 0x020000 ) |
| 2533 | 2530 | |
| 2534 | | ROM_REGION( 0x40000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2531 | ROM_REGION( 0x40000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2535 | 2532 | ROM_LOAD16_BYTE( "1", 0x00000, 0x20000, CRC(b088b27e) SHA1(198e2520ce4f9b19ea108e09ff00f7e27768f290) ) |
| 2536 | 2533 | ROM_LOAD16_BYTE( "2", 0x00001, 0x20000, CRC(cebc7b16) SHA1(18b166560ffff7c43cec3d52e4b2da79256dfb2e) ) |
| 2537 | 2534 | |
| r21078 | r21079 | |
| 2585 | 2582 | ROM_LOAD16_BYTE( "iga_03.bin", 0x040000, 0x010000, CRC(de5937ad) SHA1(d3039e5391feb925ea10f33a1363bf3ffc1ebb3d) ) |
| 2586 | 2583 | ROM_LOAD16_BYTE( "iga_04.bin", 0x040001, 0x010000, CRC(afaf0480) SHA1(b8d0ec859a94941650bdd2b01e98d054d49fef67) ) |
| 2587 | 2584 | |
| 2588 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2585 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2589 | 2586 | ROM_LOAD16_BYTE( "iga_05.bin", 0x000000, 0x010000, CRC(13580868) SHA1(bfcd11b294b64af81a0403a3e9370c42a9859b6b) ) |
| 2590 | 2587 | ROM_LOAD16_BYTE( "iga_06.bin", 0x000001, 0x010000, CRC(7904d5dd) SHA1(4cd9fdab601a90c997a041a9f7966a9a233e897b) ) |
| 2591 | 2588 | |
| r21078 | r21079 | |
| 2631 | 2628 | ROM_LOAD16_BYTE( "iga_03.bin", 0x040000, 0x010000, CRC(de5937ad) SHA1(d3039e5391feb925ea10f33a1363bf3ffc1ebb3d) ) |
| 2632 | 2629 | ROM_LOAD16_BYTE( "iga_04.bin", 0x040001, 0x010000, CRC(afaf0480) SHA1(b8d0ec859a94941650bdd2b01e98d054d49fef67) ) |
| 2633 | 2630 | |
| 2634 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2631 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2635 | 2632 | ROM_LOAD16_BYTE( "iga_05.bin", 0x000000, 0x010000, CRC(13580868) SHA1(bfcd11b294b64af81a0403a3e9370c42a9859b6b) ) |
| 2636 | 2633 | ROM_LOAD16_BYTE( "iga_06.bin", 0x000001, 0x010000, CRC(7904d5dd) SHA1(4cd9fdab601a90c997a041a9f7966a9a233e897b) ) |
| 2637 | 2634 | |
| r21078 | r21079 | |
| 2690 | 2687 | ROM_LOAD16_BYTE( "jp_2.bin", 0x000000, 0x020000, CRC(5d842ff2) SHA1(69032601c0e67c5c78fad1cb2bb4f1b59014fe5a) ) |
| 2691 | 2688 | ROM_LOAD16_BYTE( "jp_1.bin", 0x000001, 0x020000, CRC(0056edec) SHA1(529a5181f7d791930e238bc115daeae1ab9a63ad) ) |
| 2692 | 2689 | |
| 2693 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2690 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2694 | 2691 | ROM_LOAD16_BYTE( "jp_5.bin", 0x000000, 0x010000, CRC(84454e9e) SHA1(a506d44349a670e57d9dba3ec6a9de2597ba2cdb) ) // 11xxxxxxxxxxxxxx = 0xFF |
| 2695 | 2692 | ROM_LOAD16_BYTE( "jp_6.bin", 0x000001, 0x010000, CRC(1fa9b75b) SHA1(d0e3640333f737658542ed4a8758d62f6d64ae05) ) // 11xxxxxxxxxxxxxx = 0xFF |
| 2696 | 2693 | |
| r21078 | r21079 | |
| 2758 | 2755 | ROM_LOAD16_BYTE( "kioff03.rom", 0x000000, 0x010000, CRC(3b01be65) SHA1(110b4e02053073c0315aba1eca8c19afe5fafb33) ) |
| 2759 | 2756 | ROM_LOAD16_BYTE( "kioff01.rom", 0x000001, 0x010000, CRC(ae6e68a1) SHA1(aac54e13dd33420712a869e6f46fb9b94fde9e34) ) |
| 2760 | 2757 | |
| 2761 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2758 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2762 | 2759 | ROM_LOAD16_BYTE( "kioff09.rom", 0x000000, 0x010000, CRC(1770e980) SHA1(0c9dd30765432c64bc6c320c0948c471b52ae084) ) |
| 2763 | 2760 | ROM_LOAD16_BYTE( "kioff19.rom", 0x000001, 0x010000, CRC(1b03bbe4) SHA1(ef778712c293af15bda37f0425892023747ec479) ) |
| 2764 | 2761 | |
| r21078 | r21079 | |
| 2811 | 2808 | ROM_LOAD16_BYTE( "lom_30.rom", 0x000000, 0x020000, CRC(ba6d65b8) SHA1(4c83e57c977b2be82a99a4a61ab8fd5f7099ae38) ) |
| 2812 | 2809 | ROM_LOAD16_BYTE( "lom_20.rom", 0x000001, 0x020000, CRC(56a00dc2) SHA1(5d97f89d384e12d70cbb5aabd6ce309e5cfb5497) ) |
| 2813 | 2810 | |
| 2814 | | ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU Code (Z80) */ |
| 2811 | ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU Code (Z80) */ |
| 2815 | 2812 | ROM_LOAD( "lom_01.rom", 0x0000, 0x10000, CRC(46e85e90) SHA1(905899346f7cd91e76d0e303258149c3d16604e0) ) |
| 2816 | 2813 | |
| 2817 | 2814 | ROM_REGION( 0x020000, "gfx1", 0 ) /* Scroll 0 */ |
| r21078 | r21079 | |
| 2834 | 2831 | ROM_LOAD16_BYTE( "makaiden.3a", 0x000000, 0x020000, CRC(87cf81d1) SHA1(c4410a86a01c683368dbc3daca61e21931885650) ) |
| 2835 | 2832 | ROM_LOAD16_BYTE( "makaiden.2a", 0x000001, 0x020000, CRC(d40e0fea) SHA1(0f8a0440f63f52508ab44c3a8eb5b7f03ccca49d) ) |
| 2836 | 2833 | |
| 2837 | | ROM_REGION( 0x10000, "soundcpu", 0 ) /* Sound CPU Code (Z80) */ |
| 2834 | ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU Code (Z80) */ |
| 2838 | 2835 | ROM_LOAD( "lom_01.rom", 0x0000, 0x10000, CRC(46e85e90) SHA1(905899346f7cd91e76d0e303258149c3d16604e0) ) |
| 2839 | 2836 | |
| 2840 | 2837 | ROM_REGION( 0x020000, "gfx1", 0 ) /* Scroll 0 */ |
| r21078 | r21079 | |
| 2912 | 2909 | ROM_LOAD16_BYTE( "p47us3.bin", 0x000000, 0x020000, CRC(022e58b8) SHA1(87db59e409977358d9a7b689f2d69bef056328d9) ) |
| 2913 | 2910 | ROM_LOAD16_BYTE( "p47us1.bin", 0x000001, 0x020000, CRC(ed926bd8) SHA1(5cf3e7b9b23667eaa8ebcff0803a7b881c7b83cf) ) |
| 2914 | 2911 | |
| 2915 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2912 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2916 | 2913 | ROM_LOAD16_BYTE( "p47j_9.bin", 0x000000, 0x010000, CRC(ffcf318e) SHA1(c675968c931a7e8e00ae83e49e8cef3fd193da57) ) |
| 2917 | 2914 | ROM_LOAD16_BYTE( "p47j_19.bin", 0x000001, 0x010000, CRC(adb8c12e) SHA1(31590b037133f81a52779dbd4f2b5ac5b59198ae) ) |
| 2918 | 2915 | |
| r21078 | r21079 | |
| 2953 | 2950 | ROM_LOAD16_BYTE( "p47j_3.bin", 0x000000, 0x020000, CRC(11c655e5) SHA1(a2bfd6538ac81a5f20fa77460ba045584313413a) ) |
| 2954 | 2951 | ROM_LOAD16_BYTE( "p47j_1.bin", 0x000001, 0x020000, CRC(0a5998de) SHA1(9f474c6c9b125fc7c41a44dbaacf3ba3800df8b5) ) |
| 2955 | 2952 | |
| 2956 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 2953 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 2957 | 2954 | ROM_LOAD16_BYTE( "p47j_9.bin", 0x000000, 0x010000, CRC(ffcf318e) SHA1(c675968c931a7e8e00ae83e49e8cef3fd193da57) ) |
| 2958 | 2955 | ROM_LOAD16_BYTE( "p47j_19.bin", 0x000001, 0x010000, CRC(adb8c12e) SHA1(31590b037133f81a52779dbd4f2b5ac5b59198ae) ) |
| 2959 | 2956 | |
| r21078 | r21079 | |
| 3129 | 3126 | ROM_LOAD16_BYTE( "pa-rom3.bin", 0x040000, 0x010000, CRC(1b739835) SHA1(3aaa9545a7f578a9775311dcd44504870f3b1544) ) |
| 3130 | 3127 | ROM_LOAD16_BYTE( "pa-rom4.bin", 0x040001, 0x010000, CRC(ff760e80) SHA1(dd06306a516a2d5e49cf8f2343ddc26405b309a9) ) |
| 3131 | 3128 | |
| 3132 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 3129 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 3133 | 3130 | ROM_LOAD16_BYTE( "pa-rom5.bin", 0x000000, 0x010000, CRC(ddc2739b) SHA1(dee31660428baea44c73dec238ed7f39a6771fe6) ) |
| 3134 | 3131 | ROM_LOAD16_BYTE( "pa-rom6.bin", 0x000001, 0x010000, CRC(f6f8a167) SHA1(60d5c9db18d8f6704b68ccde5d026174679cec36) ) |
| 3135 | 3132 | |
| r21078 | r21079 | |
| 3209 | 3206 | ROM_LOAD16_BYTE( "rl_03.rom", 0x040000, 0x010000, CRC(62fdf6d7) SHA1(ffde7e7f5b3b548bc980b9dee767f693046ecab2) ) |
| 3210 | 3207 | ROM_LOAD16_BYTE( "rl_04.rom", 0x040001, 0x010000, CRC(44163c86) SHA1(1c56d79531af0312e7cd3dc66cf61b55dd1a6e51) ) |
| 3211 | 3208 | |
| 3212 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 3209 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 3213 | 3210 | ROM_LOAD16_BYTE( "rl_05.rom", 0x000000, 0x010000, CRC(c1617c28) SHA1(1b3440055c083b74270fe06b5f42e7d1337efeca) ) |
| 3214 | 3211 | ROM_LOAD16_BYTE( "rl_06.rom", 0x000001, 0x010000, CRC(663392b2) SHA1(99052639e934d1ca18888c9c7fa061c1d3508fd4) ) |
| 3215 | 3212 | |
| r21078 | r21079 | |
| 3248 | 3245 | ROM_LOAD16_BYTE( "rl_3.bin", 0x040000, 0x010000, CRC(c5b1075f) SHA1(a8bcc0e9dbb4b731bc0b7e5a8e0efc3d142505b9) ) |
| 3249 | 3246 | ROM_LOAD16_BYTE( "rl_4.bin", 0x040001, 0x010000, CRC(9ec61048) SHA1(71b6af054a528af04e23affff635a9358537cd3b) ) |
| 3250 | 3247 | |
| 3251 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 3248 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 3252 | 3249 | ROM_LOAD16_BYTE( "rl_05.rom", 0x000000, 0x010000, CRC(c1617c28) SHA1(1b3440055c083b74270fe06b5f42e7d1337efeca) ) |
| 3253 | 3250 | ROM_LOAD16_BYTE( "rl_06.rom", 0x000001, 0x010000, CRC(663392b2) SHA1(99052639e934d1ca18888c9c7fa061c1d3508fd4) ) |
| 3254 | 3251 | |
| r21078 | r21079 | |
| 3286 | 3283 | ROM_LOAD16_BYTE( "rl_3.bin", 0x040000, 0x010000, CRC(c5b1075f) SHA1(a8bcc0e9dbb4b731bc0b7e5a8e0efc3d142505b9) ) |
| 3287 | 3284 | ROM_LOAD16_BYTE( "rl_4.bin", 0x040001, 0x010000, CRC(9ec61048) SHA1(71b6af054a528af04e23affff635a9358537cd3b) ) |
| 3288 | 3285 | |
| 3289 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 3286 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 3290 | 3287 | ROM_LOAD16_BYTE( "rl02.bin", 0x000000, 0x010000, CRC(d26eae8f) SHA1(1c6d514e6d006f78fa7b24d18a3eb4c5a4c5cbce) ) |
| 3291 | 3288 | ROM_LOAD16_BYTE( "rl01.bin", 0x000001, 0x010000, CRC(04cf24bc) SHA1(e754cce3c83a7088daf90e753fbb0df9ef7fc9be) ) |
| 3292 | 3289 | |
| r21078 | r21079 | |
| 3334 | 3331 | ROM_LOAD16_BYTE( "jsd-02.bin", 0x000000, 0x020000, CRC(cc29ab19) SHA1(e145eeb01fad313e300f0c614c0e7a5c1d75d7d9) ) |
| 3335 | 3332 | ROM_LOAD16_BYTE( "jsd-01.bin", 0x000001, 0x020000, CRC(67429a57) SHA1(f3c20fabed97ac5c2fe3e891f9c8c86478453a6c) ) |
| 3336 | 3333 | |
| 3337 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 3334 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 3338 | 3335 | ROM_LOAD16_BYTE( "jsd-05.bin", 0x000000, 0x010000, CRC(8c04feaa) SHA1(57e86fd88dc72d123a41f0dee80a16be38ac2e81) ) |
| 3339 | 3336 | ROM_LOAD16_BYTE( "jsd-06.bin", 0x000001, 0x010000, CRC(0bb62f3a) SHA1(68d9f161ba2568f8e046b1a40127bbb973d7a884) ) |
| 3340 | 3337 | |
| r21078 | r21079 | |
| 3402 | 3399 | ROM_LOAD16_BYTE( "jsda-02.bin", 0x000000, 0x020000, CRC(d65d4154) SHA1(f77886590a092743c829fb52b5de0ca8ef51c122) ) |
| 3403 | 3400 | ROM_LOAD16_BYTE( "jsda-01.bin", 0x000001, 0x020000, CRC(c40c8ee1) SHA1(346b16519f35d7bdb283d87f6f89f54d3b7eefe2) ) |
| 3404 | 3401 | |
| 3405 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 3402 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 3406 | 3403 | ROM_LOAD16_BYTE( "jsd-05.bin", 0x000000, 0x010000, CRC(8c04feaa) SHA1(57e86fd88dc72d123a41f0dee80a16be38ac2e81) ) |
| 3407 | 3404 | ROM_LOAD16_BYTE( "jsd-06.bin", 0x000001, 0x010000, CRC(0bb62f3a) SHA1(68d9f161ba2568f8e046b1a40127bbb973d7a884) ) |
| 3408 | 3405 | |
| r21078 | r21079 | |
| 3454 | 3451 | ROM_LOAD16_BYTE( "3ver1.bin", 0x040000, 0x010000, CRC(c5382a07) SHA1(5342775f2925772e23bb460e88cd2b7e524e57fa) ) |
| 3455 | 3452 | ROM_LOAD16_BYTE( "4ver1.bin", 0x040001, 0x010000, CRC(1df7816f) SHA1(7c069470ec0e884eae5a52581f2be17d9e692105) ) |
| 3456 | 3453 | |
| 3457 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 3454 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 3458 | 3455 | ROM_LOAD16_BYTE( "5ver1.bin", 0x000000, 0x010000, CRC(d1019a67) SHA1(32d77914a67c009bf1bb397772f195594f7cc03f) ) |
| 3459 | 3456 | ROM_LOAD16_BYTE( "6ver1.bin", 0x000001, 0x010000, CRC(3ed219b4) SHA1(afffa5596027181ae94488d54d6266f8a7ead180) ) |
| 3460 | 3457 | |
| r21078 | r21079 | |
| 3488 | 3485 | ROM_LOAD16_BYTE( "3ver1.bin", 0x040000, 0x010000, CRC(c5382a07) SHA1(5342775f2925772e23bb460e88cd2b7e524e57fa) ) |
| 3489 | 3486 | ROM_LOAD16_BYTE( "4ver1.bin", 0x040001, 0x010000, CRC(1df7816f) SHA1(7c069470ec0e884eae5a52581f2be17d9e692105) ) |
| 3490 | 3487 | |
| 3491 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 3488 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 3492 | 3489 | ROM_LOAD16_BYTE( "5ver1.bin", 0x000000, 0x010000, CRC(d1019a67) SHA1(32d77914a67c009bf1bb397772f195594f7cc03f) ) |
| 3493 | 3490 | ROM_LOAD16_BYTE( "6ver1.bin", 0x000001, 0x010000, CRC(3ed219b4) SHA1(afffa5596027181ae94488d54d6266f8a7ead180) ) |
| 3494 | 3491 | |
| r21078 | r21079 | |
| 3527 | 3524 | ROM_LOAD16_BYTE( "takeda2.bin", 0x000000, 0x020000, CRC(6ddfc9f3) SHA1(0ce1b8eae31453db0b2081717d7dbda9ea7d5a60) ) |
| 3528 | 3525 | ROM_LOAD16_BYTE( "takeda1.bin", 0x000001, 0x020000, CRC(1afc6b7d) SHA1(b56da1b8c5b417a88a2952491c2d5472bb783945) ) |
| 3529 | 3526 | |
| 3530 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 3527 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 3531 | 3528 | ROM_LOAD16_BYTE( "takeda5.bin", 0x000000, 0x010000, CRC(fbdc51c0) SHA1(bc6036c556275f7eccd7741d23437a98b0aa13bb) ) |
| 3532 | 3529 | ROM_LOAD16_BYTE( "takeda6.bin", 0x000001, 0x010000, CRC(8fa65b69) SHA1(23a2d60435f235366f877ac79ac1506a99cfae9c) ) |
| 3533 | 3530 | |
| r21078 | r21079 | |
| 3570 | 3567 | ROM_LOAD16_BYTE( "shing_02.rom", 0x000000, 0x020000, CRC(d9ab5b78) SHA1(c7622ec11a636dc7a6bcad02556a98aa0a9fb043) ) |
| 3571 | 3568 | ROM_LOAD16_BYTE( "shing_01.rom", 0x000001, 0x020000, CRC(a9d2de20) SHA1(b53205722ae19305a1c373abbbac4fbcbcb0b0f0) ) |
| 3572 | 3569 | |
| 3573 | | ROM_REGION( 0x20000, "soundcpu", 0 ) /* Sound CPU Code */ |
| 3570 | ROM_REGION( 0x20000, "audiocpu", 0 ) /* Sound CPU Code */ |
| 3574 | 3571 | ROM_LOAD16_BYTE( "takeda5.bin", 0x000000, 0x010000, CRC(fbdc51c0) SHA1(bc6036c556275f7eccd7741d23437a98b0aa13bb) ) |
| 3575 | 3572 | ROM_LOAD16_BYTE( "takeda6.bin", 0x000001, 0x010000, CRC(8fa65b69) SHA1(23a2d60435f235366f877ac79ac1506a99cfae9c) ) |
| 3576 | 3573 | |
| r21078 | r21079 | |
| 3731 | 3728 | |
| 3732 | 3729 | READ16_MEMBER(megasys1_state::megasys1A_mcu_hs_r) |
| 3733 | 3730 | { |
| 3734 | | UINT16 *ROM = (UINT16 *) memregion("maincpu")->base(); |
| 3731 | UINT16 *ROM = (UINT16 *) m_region_maincpu->base(); |
| 3735 | 3732 | |
| 3736 | 3733 | if(m_mcu_hs && ((m_mcu_hs_ram[8/2] << 6) & 0x3ffc0) == ((offset*2) & 0x3ffc0)) |
| 3737 | 3734 | { |
| r21078 | r21079 | |
| 3770 | 3767 | DRIVER_INIT_MEMBER(megasys1_state,astyanax) |
| 3771 | 3768 | { |
| 3772 | 3769 | astyanax_rom_decode(machine(), "maincpu"); |
| 3773 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_r),this)); |
| 3774 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x20000, 0x20009, write16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_w),this)); |
| 3770 | m_maincpu->space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_r),this)); |
| 3771 | m_maincpu->space(AS_PROGRAM).install_write_handler(0x20000, 0x20009, write16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_w),this)); |
| 3775 | 3772 | } |
| 3776 | 3773 | |
| 3777 | 3774 | DRIVER_INIT_MEMBER(megasys1_state,avspirit) |
| r21078 | r21079 | |
| 3783 | 3780 | m_ip_select_values[4] = 0x34; |
| 3784 | 3781 | |
| 3785 | 3782 | // has twice less RAM |
| 3786 | | machine().device("maincpu")->memory().space(AS_PROGRAM).unmap_readwrite(0x060000, 0x06ffff); |
| 3787 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x070000, 0x07ffff, m_ram); |
| 3783 | m_maincpu->space(AS_PROGRAM).unmap_readwrite(0x060000, 0x06ffff); |
| 3784 | m_maincpu->space(AS_PROGRAM).install_ram(0x070000, 0x07ffff, m_ram); |
| 3788 | 3785 | } |
| 3789 | 3786 | |
| 3790 | 3787 | DRIVER_INIT_MEMBER(megasys1_state,bigstrik) |
| r21078 | r21079 | |
| 3826 | 3823 | |
| 3827 | 3824 | READ16_MEMBER(megasys1_state::edfbl_input_r) |
| 3828 | 3825 | { |
| 3829 | | const char *const in_names[] = { "SYSTEM", "P1", "P2", "DSW1", "DSW2" }; |
| 3826 | ioport_port *in_names[] = { m_io_system, m_io_p1, m_io_p2, m_io_dsw1, m_io_dsw2 }; |
| 3830 | 3827 | UINT16 res; |
| 3831 | 3828 | |
| 3832 | 3829 | res = 0; |
| r21078 | r21079 | |
| 3837 | 3834 | case 0x04/2: |
| 3838 | 3835 | case 0x06/2: |
| 3839 | 3836 | case 0x08/2: |
| 3840 | | case 0x0a/2: res = ioport(in_names[offset-1])->read(); break; |
| 3837 | case 0x0a/2: res = in_names[offset-1]->read(); break; |
| 3841 | 3838 | } |
| 3842 | 3839 | |
| 3843 | 3840 | return res; |
| r21078 | r21079 | |
| 3846 | 3843 | DRIVER_INIT_MEMBER(megasys1_state,edfbl) |
| 3847 | 3844 | { |
| 3848 | 3845 | //device_t *oki1 = machine().device("oki1"); |
| 3849 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0xe0000, 0xe000f, read16_delegate(FUNC(megasys1_state::edfbl_input_r),this)); |
| 3850 | | //machine().device("maincpu")->memory().space(AS_PROGRAM).install_legacy_write_handler(*oki1, 0xe000e, 0xe000f, FUNC(soundlatch_byte_w)); |
| 3846 | m_maincpu->space(AS_PROGRAM).install_read_handler(0xe0000, 0xe000f, read16_delegate(FUNC(megasys1_state::edfbl_input_r),this)); |
| 3847 | //m_maincpu->space(AS_PROGRAM).install_legacy_write_handler(*oki1, 0xe000e, 0xe000f, FUNC(soundlatch_byte_w)); |
| 3851 | 3848 | } |
| 3852 | 3849 | |
| 3853 | 3850 | DRIVER_INIT_MEMBER(megasys1_state,hayaosi1) |
| r21078 | r21079 | |
| 3861 | 3858 | |
| 3862 | 3859 | READ16_MEMBER(megasys1_state::iganinju_mcu_hs_r) |
| 3863 | 3860 | { |
| 3864 | | UINT16 *ROM = (UINT16 *) memregion("maincpu")->base(); |
| 3861 | UINT16 *ROM = (UINT16 *) m_region_maincpu->base(); |
| 3865 | 3862 | |
| 3866 | 3863 | if(m_mcu_hs && ((m_mcu_hs_ram[8/2] << 6) & 0x3ffc0) == ((offset*2) & 0x3ffc0)) |
| 3867 | 3864 | { |
| r21078 | r21079 | |
| 3900 | 3897 | |
| 3901 | 3898 | phantasm_rom_decode(machine(), "maincpu"); |
| 3902 | 3899 | |
| 3903 | | //ROM = (UINT16 *) memregion("maincpu")->base(); |
| 3904 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::iganinju_mcu_hs_r),this)); |
| 3905 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x2f000, 0x2f009, write16_delegate(FUNC(megasys1_state::iganinju_mcu_hs_w),this)); |
| 3900 | //ROM = (UINT16 *) m_region_maincpu->base(); |
| 3901 | m_maincpu->space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::iganinju_mcu_hs_r),this)); |
| 3902 | m_maincpu->space(AS_PROGRAM).install_write_handler(0x2f000, 0x2f009, write16_delegate(FUNC(megasys1_state::iganinju_mcu_hs_w),this)); |
| 3906 | 3903 | |
| 3907 | 3904 | //ROM[0x00006e/2] = 0x0420; // the only game that does |
| 3908 | 3905 | // not like lev 3 interrupts |
| r21078 | r21079 | |
| 3910 | 3907 | |
| 3911 | 3908 | WRITE16_MEMBER(megasys1_state::okim6295_both_1_w) |
| 3912 | 3909 | { |
| 3913 | | okim6295_device *oki = machine().device<okim6295_device>("oki1"); |
| 3914 | | if (ACCESSING_BITS_0_7) oki->write_command((data >> 0) & 0xff ); |
| 3915 | | else oki->write_command((data >> 8) & 0xff ); |
| 3910 | if (ACCESSING_BITS_0_7) m_oki1->write_command((data >> 0) & 0xff ); |
| 3911 | else m_oki1->write_command((data >> 8) & 0xff ); |
| 3916 | 3912 | } |
| 3917 | 3913 | WRITE16_MEMBER(megasys1_state::okim6295_both_2_w) |
| 3918 | 3914 | { |
| 3919 | | okim6295_device *oki = machine().device<okim6295_device>("oki2"); |
| 3920 | | if (ACCESSING_BITS_0_7) oki->write_command((data >> 0) & 0xff ); |
| 3921 | | else oki->write_command((data >> 8) & 0xff ); |
| 3915 | if (ACCESSING_BITS_0_7) m_oki2->write_command((data >> 0) & 0xff ); |
| 3916 | else m_oki2->write_command((data >> 8) & 0xff ); |
| 3922 | 3917 | } |
| 3923 | 3918 | |
| 3924 | 3919 | DRIVER_INIT_MEMBER(megasys1_state,jitsupro) |
| 3925 | 3920 | { |
| 3926 | | //UINT16 *ROM = (UINT16 *) memregion("maincpu")->base(); |
| 3921 | //UINT16 *ROM = (UINT16 *) m_region_maincpu->base(); |
| 3927 | 3922 | |
| 3928 | 3923 | astyanax_rom_decode(machine(), "maincpu"); // Code |
| 3929 | 3924 | |
| 3930 | 3925 | jitsupro_gfx_unmangle("gfx1"); // Gfx |
| 3931 | 3926 | jitsupro_gfx_unmangle("gfx4"); |
| 3932 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_r),this)); |
| 3933 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x20000, 0x20009, write16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_w),this)); |
| 3927 | m_maincpu->space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_r),this)); |
| 3928 | m_maincpu->space(AS_PROGRAM).install_write_handler(0x20000, 0x20009, write16_delegate(FUNC(megasys1_state::megasys1A_mcu_hs_w),this)); |
| 3934 | 3929 | |
| 3935 | 3930 | /* the sound code writes oki commands to both the lsb and msb */ |
| 3936 | | machine().device("soundcpu")->memory().space(AS_PROGRAM).install_write_handler(0xa0000, 0xa0003, write16_delegate(FUNC(megasys1_state::okim6295_both_1_w),this)); |
| 3937 | | machine().device("soundcpu")->memory().space(AS_PROGRAM).install_write_handler(0xc0000, 0xc0003, write16_delegate(FUNC(megasys1_state::okim6295_both_2_w),this)); |
| 3931 | m_audiocpu->space(AS_PROGRAM).install_write_handler(0xa0000, 0xa0003, write16_delegate(FUNC(megasys1_state::okim6295_both_1_w),this)); |
| 3932 | m_audiocpu->space(AS_PROGRAM).install_write_handler(0xc0000, 0xc0003, write16_delegate(FUNC(megasys1_state::okim6295_both_2_w),this)); |
| 3938 | 3933 | } |
| 3939 | 3934 | |
| 3940 | 3935 | DRIVER_INIT_MEMBER(megasys1_state,peekaboo) |
| 3941 | 3936 | { |
| 3942 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x100000, 0x100001, read16_delegate(FUNC(megasys1_state::protection_peekaboo_r),this), write16_delegate(FUNC(megasys1_state::protection_peekaboo_w),this)); |
| 3937 | m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x100000, 0x100001, read16_delegate(FUNC(megasys1_state::protection_peekaboo_r),this), write16_delegate(FUNC(megasys1_state::protection_peekaboo_w),this)); |
| 3943 | 3938 | } |
| 3944 | 3939 | |
| 3945 | 3940 | DRIVER_INIT_MEMBER(megasys1_state,phantasm) |
| r21078 | r21079 | |
| 3974 | 3969 | { |
| 3975 | 3970 | astyanax_rom_decode(machine(), "maincpu"); |
| 3976 | 3971 | /* Sprite RAM is mirrored */ |
| 3977 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x8c000, 0x8cfff, read16_delegate(FUNC(megasys1_state::soldamj_spriteram16_r),this), write16_delegate(FUNC(megasys1_state::soldamj_spriteram16_w),this)); |
| 3972 | m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x8c000, 0x8cfff, read16_delegate(FUNC(megasys1_state::soldamj_spriteram16_r),this), write16_delegate(FUNC(megasys1_state::soldamj_spriteram16_w),this)); |
| 3978 | 3973 | } |
| 3979 | 3974 | |
| 3980 | 3975 | DRIVER_INIT_MEMBER(megasys1_state,soldam) |
| 3981 | 3976 | { |
| 3982 | 3977 | phantasm_rom_decode(machine(), "maincpu"); |
| 3983 | 3978 | /* Sprite RAM is mirrored */ |
| 3984 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x8c000, 0x8cfff, read16_delegate(FUNC(megasys1_state::soldamj_spriteram16_r),this), write16_delegate(FUNC(megasys1_state::soldamj_spriteram16_w),this)); |
| 3979 | m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x8c000, 0x8cfff, read16_delegate(FUNC(megasys1_state::soldamj_spriteram16_r),this), write16_delegate(FUNC(megasys1_state::soldamj_spriteram16_w),this)); |
| 3985 | 3980 | } |
| 3986 | 3981 | |
| 3987 | 3982 | |
| 3988 | 3983 | READ16_MEMBER(megasys1_state::stdragon_mcu_hs_r) |
| 3989 | 3984 | { |
| 3990 | | UINT16 *ROM = (UINT16 *) memregion("maincpu")->base(); |
| 3985 | UINT16 *ROM = (UINT16 *) m_region_maincpu->base(); |
| 3991 | 3986 | |
| 3992 | 3987 | if(m_mcu_hs && ((m_mcu_hs_ram[8/2] << 6) & 0x3ffc0) == ((offset*2) & 0x3ffc0)) |
| 3993 | 3988 | { |
| r21078 | r21079 | |
| 4017 | 4012 | DRIVER_INIT_MEMBER(megasys1_state,stdragon) |
| 4018 | 4013 | { |
| 4019 | 4014 | phantasm_rom_decode(machine(), "maincpu"); |
| 4020 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_r),this)); |
| 4021 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x23ff0, 0x23ff9, write16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_w),this)); |
| 4015 | m_maincpu->space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_r),this)); |
| 4016 | m_maincpu->space(AS_PROGRAM).install_write_handler(0x23ff0, 0x23ff9, write16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_w),this)); |
| 4022 | 4017 | } |
| 4023 | 4018 | |
| 4024 | 4019 | DRIVER_INIT_MEMBER(megasys1_state,stdragona) |
| r21078 | r21079 | |
| 4028 | 4023 | stdragona_gfx_unmangle("gfx1"); |
| 4029 | 4024 | stdragona_gfx_unmangle("gfx4"); |
| 4030 | 4025 | |
| 4031 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_r),this)); |
| 4032 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x23ff0, 0x23ff9, write16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_w),this)); |
| 4026 | m_maincpu->space(AS_PROGRAM).install_read_handler(0x00000, 0x3ffff, read16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_r),this)); |
| 4027 | m_maincpu->space(AS_PROGRAM).install_write_handler(0x23ff0, 0x23ff9, write16_delegate(FUNC(megasys1_state::stdragon_mcu_hs_w),this)); |
| 4033 | 4028 | } |
| 4034 | 4029 | |
| 4035 | 4030 | READ16_MEMBER(megasys1_state::monkelf_input_r) |
| 4036 | 4031 | { |
| 4037 | | const char *const in_names[] = { "P1", "P2", "DSW1", "DSW2", "SYSTEM" }; |
| 4032 | ioport_port *in_names[] = { m_io_p1, m_io_p2, m_io_dsw1, m_io_dsw2, m_io_system }; |
| 4038 | 4033 | UINT16 res; |
| 4039 | 4034 | |
| 4040 | 4035 | res = 0xffff; |
| r21078 | r21079 | |
| 4045 | 4040 | case 0x04/2: |
| 4046 | 4041 | case 0x06/2: |
| 4047 | 4042 | case 0x08/2: |
| 4048 | | case 0x0a/2: res = ioport(in_names[offset-1])->read(); break; |
| 4043 | case 0x0a/2: res = in_names[offset-1]->read(); break; |
| 4049 | 4044 | } |
| 4050 | 4045 | |
| 4051 | 4046 | return res; |
| r21078 | r21079 | |
| 4055 | 4050 | { |
| 4056 | 4051 | DRIVER_INIT_CALL(avspirit); |
| 4057 | 4052 | |
| 4058 | | UINT16 *ROM = (UINT16*)memregion("maincpu")->base(); |
| 4053 | UINT16 *ROM = (UINT16*)m_region_maincpu->base(); |
| 4059 | 4054 | ROM[0x00744/2] = 0x4e71; // weird check, 0xe000e R is a port-based trap? |
| 4060 | 4055 | |
| 4061 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0xe0000, 0xe000f, read16_delegate(FUNC(megasys1_state::monkelf_input_r),this)); |
| 4056 | m_maincpu->space(AS_PROGRAM).install_read_handler(0xe0000, 0xe000f, read16_delegate(FUNC(megasys1_state::monkelf_input_r),this)); |
| 4062 | 4057 | } |
| 4063 | 4058 | |
| 4064 | 4059 | /************************************* |