trunk/src/mess/drivers/snes.c
| r21796 | r21797 | |
| 1570 | 1570 | DECLARE_WRITE8_MEMBER( snes21_lo_w ); |
| 1571 | 1571 | DECLARE_READ8_MEMBER( snes21_hi_r ); |
| 1572 | 1572 | DECLARE_WRITE8_MEMBER( snes21_hi_w ); |
| 1573 | | DECLARE_READ8_MEMBER( snesfx_hi_r ); |
| 1574 | | DECLARE_READ8_MEMBER( snesfx_lo_r ); |
| 1575 | | DECLARE_WRITE8_MEMBER( snesfx_hi_w ); |
| 1576 | | DECLARE_WRITE8_MEMBER( snesfx_lo_w ); |
| 1577 | | DECLARE_READ8_MEMBER( snespc7110_hi_r ); |
| 1578 | | DECLARE_READ8_MEMBER( snespc7110_lo_r ); |
| 1579 | | DECLARE_WRITE8_MEMBER( snespc7110_hi_w ); |
| 1580 | | DECLARE_WRITE8_MEMBER( snespc7110_lo_w ); |
| 1581 | | DECLARE_READ8_MEMBER( snesdd1_lo_r ); |
| 1582 | | DECLARE_WRITE8_MEMBER( snesdd1_lo_w ); |
| 1583 | | DECLARE_READ8_MEMBER( snesdd1_hi_r ); |
| 1584 | | DECLARE_WRITE8_MEMBER( snesdd1_hi_w ); |
| 1573 | DECLARE_READ8_MEMBER( snessfx_hi_r ); |
| 1574 | DECLARE_READ8_MEMBER( snessfx_lo_r ); |
| 1575 | DECLARE_WRITE8_MEMBER( snessfx_hi_w ); |
| 1576 | DECLARE_WRITE8_MEMBER( snessfx_lo_w ); |
| 1577 | DECLARE_READ8_MEMBER( snes7110_hi_r ); |
| 1578 | DECLARE_READ8_MEMBER( snes7110_lo_r ); |
| 1579 | DECLARE_WRITE8_MEMBER( snes7110_hi_w ); |
| 1580 | DECLARE_WRITE8_MEMBER( snes7110_lo_w ); |
| 1581 | DECLARE_READ8_MEMBER( snessdd1_lo_r ); |
| 1582 | DECLARE_WRITE8_MEMBER( snessdd1_lo_w ); |
| 1583 | DECLARE_READ8_MEMBER( snessdd1_hi_r ); |
| 1584 | DECLARE_WRITE8_MEMBER( snessdd1_hi_w ); |
| 1585 | 1585 | DECLARE_READ8_MEMBER( snesbsx_hi_r ); |
| 1586 | 1586 | DECLARE_WRITE8_MEMBER( snesbsx_hi_w ); |
| 1587 | 1587 | DECLARE_READ8_MEMBER( snesbsx_lo_r ); |
| r21796 | r21797 | |
| 1860 | 1860 | |
| 1861 | 1861 | // SuperFX / GSU |
| 1862 | 1862 | |
| 1863 | | READ8_MEMBER( snsnew_state::snesfx_hi_r ) |
| 1863 | READ8_MEMBER( snsnew_state::snessfx_hi_r ) |
| 1864 | 1864 | { |
| 1865 | 1865 | UINT16 address = offset & 0xffff; |
| 1866 | 1866 | |
| r21796 | r21797 | |
| 1886 | 1886 | return m_slotcart->m_cart->read_ram(space, offset); |
| 1887 | 1887 | } |
| 1888 | 1888 | |
| 1889 | | READ8_MEMBER( snsnew_state::snesfx_lo_r ) |
| 1889 | READ8_MEMBER( snsnew_state::snessfx_lo_r ) |
| 1890 | 1890 | { |
| 1891 | 1891 | UINT16 address = offset & 0xffff; |
| 1892 | 1892 | |
| r21796 | r21797 | |
| 1912 | 1912 | return m_slotcart->m_cart->read_ram(space, offset); |
| 1913 | 1913 | } |
| 1914 | 1914 | |
| 1915 | | WRITE8_MEMBER( snsnew_state::snesfx_hi_w ) |
| 1915 | WRITE8_MEMBER( snsnew_state::snessfx_hi_w ) |
| 1916 | 1916 | { |
| 1917 | 1917 | UINT16 address = offset & 0xffff; |
| 1918 | 1918 | if (offset < 0x400000) |
| r21796 | r21797 | |
| 1933 | 1933 | m_slotcart->m_cart->write_ram(space, offset, data); |
| 1934 | 1934 | } |
| 1935 | 1935 | |
| 1936 | | WRITE8_MEMBER( snsnew_state::snesfx_lo_w ) |
| 1936 | WRITE8_MEMBER( snsnew_state::snessfx_lo_w ) |
| 1937 | 1937 | { |
| 1938 | | snesfx_hi_w(space, offset, data, 0xff); |
| 1938 | snessfx_hi_w(space, offset, data, 0xff); |
| 1939 | 1939 | } |
| 1940 | 1940 | |
| 1941 | 1941 | // SPC-7110 |
| 1942 | 1942 | |
| 1943 | | READ8_MEMBER( snsnew_state::snespc7110_hi_r ) |
| 1943 | READ8_MEMBER( snsnew_state::snes7110_hi_r ) |
| 1944 | 1944 | { |
| 1945 | 1945 | UINT16 address = offset & 0xffff; |
| 1946 | 1946 | |
| r21796 | r21797 | |
| 1969 | 1969 | return m_slotcart->m_cart->read_h(space, offset); |
| 1970 | 1970 | } |
| 1971 | 1971 | |
| 1972 | | READ8_MEMBER( snsnew_state::snespc7110_lo_r ) |
| 1972 | READ8_MEMBER( snsnew_state::snes7110_lo_r ) |
| 1973 | 1973 | { |
| 1974 | 1974 | UINT16 address = offset & 0xffff; |
| 1975 | 1975 | |
| r21796 | r21797 | |
| 2001 | 2001 | return snes_open_bus_r(space, 0); |
| 2002 | 2002 | } |
| 2003 | 2003 | |
| 2004 | | WRITE8_MEMBER( snsnew_state::snespc7110_hi_w ) |
| 2004 | WRITE8_MEMBER( snsnew_state::snes7110_hi_w ) |
| 2005 | 2005 | { |
| 2006 | | snespc7110_lo_w(space, offset, data, 0xff); |
| 2006 | snes7110_lo_w(space, offset, data, 0xff); |
| 2007 | 2007 | } |
| 2008 | 2008 | |
| 2009 | | WRITE8_MEMBER( snsnew_state::snespc7110_lo_w ) |
| 2009 | WRITE8_MEMBER( snsnew_state::snes7110_lo_w ) |
| 2010 | 2010 | { |
| 2011 | 2011 | UINT16 address = offset & 0xffff; |
| 2012 | 2012 | if (offset < 0x400000) |
| r21796 | r21797 | |
| 2036 | 2036 | |
| 2037 | 2037 | // S-DD1 |
| 2038 | 2038 | |
| 2039 | | READ8_MEMBER( snsnew_state::snesdd1_lo_r ) |
| 2039 | READ8_MEMBER( snsnew_state::snessdd1_lo_r ) |
| 2040 | 2040 | { |
| 2041 | 2041 | UINT16 address = offset & 0xffff; |
| 2042 | 2042 | |
| r21796 | r21797 | |
| 2062 | 2062 | return m_slotcart->m_cart->read_l(space, offset); |
| 2063 | 2063 | } |
| 2064 | 2064 | |
| 2065 | | READ8_MEMBER( snsnew_state::snesdd1_hi_r ) |
| 2065 | READ8_MEMBER( snsnew_state::snessdd1_hi_r ) |
| 2066 | 2066 | { |
| 2067 | 2067 | if (offset >= 0x400000) |
| 2068 | 2068 | return m_slotcart->m_cart->read_h(space, offset); |
| 2069 | 2069 | else |
| 2070 | | return snesdd1_lo_r(space, offset, 0xff); |
| 2070 | return snessdd1_lo_r(space, offset, 0xff); |
| 2071 | 2071 | } |
| 2072 | 2072 | |
| 2073 | | WRITE8_MEMBER( snsnew_state::snesdd1_lo_w ) |
| 2073 | WRITE8_MEMBER( snsnew_state::snessdd1_lo_w ) |
| 2074 | 2074 | { |
| 2075 | | snesdd1_hi_w(space, offset, data, 0xff); |
| 2075 | snessdd1_hi_w(space, offset, data, 0xff); |
| 2076 | 2076 | } |
| 2077 | 2077 | |
| 2078 | | WRITE8_MEMBER( snsnew_state::snesdd1_hi_w ) |
| 2078 | WRITE8_MEMBER( snsnew_state::snessdd1_hi_w ) |
| 2079 | 2079 | { |
| 2080 | 2080 | UINT16 address = offset & 0xffff; |
| 2081 | 2081 | if (offset < 0x400000) |
| r21796 | r21797 | |
| 2243 | 2243 | case SNES_DSP4: |
| 2244 | 2244 | case SNES_OBC1: |
| 2245 | 2245 | case SNES_SUFAMITURBO: |
| 2246 | | case SNES_STROM: |
| 2247 | 2246 | case SNES_BSXLO: |
| 2248 | 2247 | case SNES_POKEMON: |
| 2249 | 2248 | case SNES_BANANA: |
| r21796 | r21797 | |
| 2256 | 2255 | return snes21_lo_r(space, offset, 0xff); |
| 2257 | 2256 | |
| 2258 | 2257 | case SNES_SFX: |
| 2259 | | return snesfx_lo_r(space, offset, 0xff); |
| 2258 | return snessfx_lo_r(space, offset, 0xff); |
| 2260 | 2259 | |
| 2261 | 2260 | case SNES_SPC7110: |
| 2262 | 2261 | case SNES_SPC7110_RTC: |
| 2263 | | return snespc7110_lo_r(space, offset, 0xff); |
| 2262 | return snes7110_lo_r(space, offset, 0xff); |
| 2264 | 2263 | |
| 2265 | 2264 | case SNES_SDD1: |
| 2266 | | return snesdd1_lo_r(space, offset, 0xff); |
| 2265 | return snessdd1_lo_r(space, offset, 0xff); |
| 2267 | 2266 | |
| 2268 | 2267 | case SNES_BSX: |
| 2269 | 2268 | return snesbsx_lo_r(space, offset, 0xff); |
| r21796 | r21797 | |
| 2321 | 2320 | case SNES_DSP4: |
| 2322 | 2321 | case SNES_OBC1: |
| 2323 | 2322 | case SNES_SUFAMITURBO: |
| 2324 | | case SNES_STROM: |
| 2325 | 2323 | case SNES_BSXLO: |
| 2326 | 2324 | case SNES_POKEMON: |
| 2327 | 2325 | case SNES_BANANA: |
| r21796 | r21797 | |
| 2334 | 2332 | return snes21_hi_r(space, offset, 0xff); |
| 2335 | 2333 | |
| 2336 | 2334 | case SNES_SFX: |
| 2337 | | return snesfx_hi_r(space, offset, 0xff); |
| 2335 | return snessfx_hi_r(space, offset, 0xff); |
| 2338 | 2336 | |
| 2339 | 2337 | case SNES_SPC7110: |
| 2340 | 2338 | case SNES_SPC7110_RTC: |
| 2341 | | return snespc7110_hi_r(space, offset, 0xff); |
| 2339 | return snes7110_hi_r(space, offset, 0xff); |
| 2342 | 2340 | |
| 2343 | 2341 | case SNES_SDD1: |
| 2344 | | return snesdd1_hi_r(space, offset, 0xff); |
| 2342 | return snessdd1_hi_r(space, offset, 0xff); |
| 2345 | 2343 | |
| 2346 | 2344 | case SNES_BSX: |
| 2347 | 2345 | return snesbsx_hi_r(space, offset, 0xff); |
| r21796 | r21797 | |
| 2399 | 2397 | case SNES_DSP4: |
| 2400 | 2398 | case SNES_OBC1: |
| 2401 | 2399 | case SNES_SUFAMITURBO: |
| 2402 | | case SNES_STROM: |
| 2403 | 2400 | case SNES_BSXLO: |
| 2404 | 2401 | case SNES_POKEMON: |
| 2405 | 2402 | case SNES_BANANA: |
| r21796 | r21797 | |
| 2414 | 2411 | break; |
| 2415 | 2412 | |
| 2416 | 2413 | case SNES_SFX: |
| 2417 | | snesfx_lo_w(space, offset, data, 0xff); |
| 2414 | snessfx_lo_w(space, offset, data, 0xff); |
| 2418 | 2415 | break; |
| 2419 | 2416 | |
| 2420 | 2417 | case SNES_SPC7110: |
| 2421 | 2418 | case SNES_SPC7110_RTC: |
| 2422 | | snespc7110_lo_w(space, offset, data, 0xff); |
| 2419 | snes7110_lo_w(space, offset, data, 0xff); |
| 2423 | 2420 | break; |
| 2424 | 2421 | |
| 2425 | 2422 | case SNES_SDD1: |
| 2426 | | snesdd1_lo_w(space, offset, data, 0xff); |
| 2423 | snessdd1_lo_w(space, offset, data, 0xff); |
| 2427 | 2424 | break; |
| 2428 | 2425 | |
| 2429 | 2426 | case SNES_BSX: |
| r21796 | r21797 | |
| 2482 | 2479 | case SNES_DSP4: |
| 2483 | 2480 | case SNES_OBC1: |
| 2484 | 2481 | case SNES_SUFAMITURBO: |
| 2485 | | case SNES_STROM: |
| 2486 | 2482 | case SNES_BSXLO: |
| 2487 | 2483 | case SNES_POKEMON: |
| 2488 | 2484 | case SNES_BANANA: |
| r21796 | r21797 | |
| 2497 | 2493 | break; |
| 2498 | 2494 | |
| 2499 | 2495 | case SNES_SFX: |
| 2500 | | snesfx_hi_w(space, offset, data, 0xff); |
| 2496 | snessfx_hi_w(space, offset, data, 0xff); |
| 2501 | 2497 | break; |
| 2502 | 2498 | |
| 2503 | 2499 | case SNES_SPC7110: |
| 2504 | 2500 | case SNES_SPC7110_RTC: |
| 2505 | | snespc7110_hi_w(space, offset, data, 0xff); |
| 2501 | snes7110_hi_w(space, offset, data, 0xff); |
| 2506 | 2502 | break; |
| 2507 | 2503 | |
| 2508 | 2504 | case SNES_SDD1: |
| 2509 | | snesdd1_hi_w(space, offset, data, 0xff); |
| 2505 | snessdd1_hi_w(space, offset, data, 0xff); |
| 2510 | 2506 | break; |
| 2511 | 2507 | |
| 2512 | 2508 | case SNES_BSX: |
| r21796 | r21797 | |
| 2559 | 2555 | MACHINE_START_CALL(snes_mess); |
| 2560 | 2556 | |
| 2561 | 2557 | // in progress... |
| 2558 | #if 0 |
| 2562 | 2559 | switch (state->m_type) |
| 2563 | 2560 | { |
| 2561 | case SNES_MODE20: |
| 2562 | case SNES_BSXLO: |
| 2563 | case SNES_SUFAMITURBO: |
| 2564 | case SNES_POKEMON: |
| 2565 | case SNES_BANANA: |
| 2566 | case SNES_CX4: // this still uses the old simulation instead of emulating the CPU |
| 2567 | case SNES_ST010: // this requires two diff kinds of chip access, so we handle it in snes20_lo/hi_r/w |
| 2568 | case SNES_ST011: // this requires two diff kinds of chip access, so we handle it in snes20_lo/hi_r/w |
| 2569 | break; |
| 2570 | case SNES_DSP: |
| 2571 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x208000, 0x20ffff, 0, 0x9f0000, read8_delegate(FUNC(device_sns_cart_interface::chip_read),state->m_slotcart->m_cart)); |
| 2572 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x208000, 0x20ffff, 0, 0x9f0000, write8_delegate(FUNC(device_sns_cart_interface::chip_write),state->m_slotcart->m_cart)); |
| 2573 | break; |
| 2574 | case SNES_DSP_2MB: |
| 2575 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x600000, 0x607fff, 0, 0x8f0000, read8_delegate(FUNC(device_sns_cart_interface::chip_read),state->m_slotcart->m_cart)); |
| 2576 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x600000, 0x607fff, 0, 0x8f0000, write8_delegate(FUNC(device_sns_cart_interface::chip_write),state->m_slotcart->m_cart)); |
| 2577 | break; |
| 2578 | case SNES_DSP4: |
| 2579 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x308000, 0x30ffff, 0, 0x8f0000, read8_delegate(FUNC(device_sns_cart_interface::chip_read),state->m_slotcart->m_cart)); |
| 2580 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x308000, 0x30ffff, 0, 0x8f0000, write8_delegate(FUNC(device_sns_cart_interface::chip_write),state->m_slotcart->m_cart)); |
| 2581 | break; |
| 2582 | case SNES_OBC1: |
| 2583 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x006000, 0x007fff, 0, 0xbf0000, read8_delegate(FUNC(device_sns_cart_interface::chip_read),state->m_slotcart->m_cart)); |
| 2584 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x006000, 0x007fff, 0, 0xbf0000, write8_delegate(FUNC(device_sns_cart_interface::chip_write),state->m_slotcart->m_cart)); |
| 2585 | break; |
| 2564 | 2586 | case SNES_MODE21: |
| 2565 | | // machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(FUNC(snsnew_state::snes21_lo_r),state), write8_delegate(FUNC(snsnew_state::snes21_lo_w),state)); |
| 2566 | | // machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(FUNC(snsnew_state::snes21_hi_r),state), write8_delegate(FUNC(snsnew_state::snes21_hi_w),state)); |
| 2567 | | // set_5a22_map(*state->m_maincpu); |
| 2587 | case SNES_BSXHI: |
| 2588 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(FUNC(snsnew_state::snes21_lo_r),state), write8_delegate(FUNC(snsnew_state::snes21_lo_w),state)); |
| 2589 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(FUNC(snsnew_state::snes21_hi_r),state), write8_delegate(FUNC(snsnew_state::snes21_hi_w),state)); |
| 2590 | set_5a22_map(*state->m_maincpu); |
| 2568 | 2591 | break; |
| 2569 | 2592 | case SNES_DSP_MODE21: |
| 2570 | | // machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(FUNC(snsnew_state::snes21_lo_r),state), write8_delegate(FUNC(snsnew_state::snes21_lo_w),state)); |
| 2571 | | // machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(FUNC(snsnew_state::snes21_hi_r),state), write8_delegate(FUNC(snsnew_state::snes21_hi_w),state)); |
| 2572 | | // machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x006000, 0x007fff, 0, 0x9f0000, read8_delegate(FUNC(device_sns_cart_interface::chip_read),state->m_slotcart->m_cart)); |
| 2573 | | // machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x006000, 0x007fff, 0, 0x9f0000, write8_delegate(FUNC(device_sns_cart_interface::chip_write),state->m_slotcart->m_cart)); |
| 2574 | | // set_5a22_map(*state->m_maincpu); |
| 2593 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(FUNC(snsnew_state::snes21_lo_r),state), write8_delegate(FUNC(snsnew_state::snes21_lo_w),state)); |
| 2594 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(FUNC(snsnew_state::snes21_hi_r),state), write8_delegate(FUNC(snsnew_state::snes21_hi_w),state)); |
| 2595 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x006000, 0x007fff, 0, 0x9f0000, read8_delegate(FUNC(device_sns_cart_interface::chip_read),state->m_slotcart->m_cart)); |
| 2596 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x006000, 0x007fff, 0, 0x9f0000, write8_delegate(FUNC(device_sns_cart_interface::chip_write),state->m_slotcart->m_cart)); |
| 2597 | set_5a22_map(*state->m_maincpu); |
| 2575 | 2598 | break; |
| 2576 | 2599 | case SNES_SRTC: |
| 2577 | | // machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(FUNC(snsnew_state::snes21_lo_r),state), write8_delegate(FUNC(snsnew_state::snes21_lo_w),state)); |
| 2578 | | // machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(FUNC(snsnew_state::snes21_hi_r),state), write8_delegate(FUNC(snsnew_state::snes21_hi_w),state)); |
| 2579 | | // machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x002800, 0x002800, 0, 0xbf0000, read8_delegate(FUNC(device_sns_cart_interface::chip_read),state->m_slotcart->m_cart)); |
| 2580 | | // machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x002801, 0x002801, 0, 0xbf0000, write8_delegate(FUNC(device_sns_cart_interface::chip_write),state->m_slotcart->m_cart)); |
| 2581 | | // set_5a22_map(*state->m_maincpu); |
| 2600 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(FUNC(snsnew_state::snes21_lo_r),state), write8_delegate(FUNC(snsnew_state::snes21_lo_w),state)); |
| 2601 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(FUNC(snsnew_state::snes21_hi_r),state), write8_delegate(FUNC(snsnew_state::snes21_hi_w),state)); |
| 2602 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x002800, 0x002800, 0, 0xbf0000, read8_delegate(FUNC(device_sns_cart_interface::chip_read),state->m_slotcart->m_cart)); |
| 2603 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x002801, 0x002801, 0, 0xbf0000, write8_delegate(FUNC(device_sns_cart_interface::chip_write),state->m_slotcart->m_cart)); |
| 2604 | set_5a22_map(*state->m_maincpu); |
| 2582 | 2605 | break; |
| 2606 | case SNES_SFX: |
| 2607 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(FUNC(snsnew_state::snessfx_lo_r),state), write8_delegate(FUNC(snsnew_state::snessfx_lo_w),state)); |
| 2608 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(FUNC(snsnew_state::snessfx_hi_r),state), write8_delegate(FUNC(snsnew_state::snessfx_hi_w),state)); |
| 2609 | set_5a22_map(*state->m_maincpu); |
| 2610 | break; |
| 2611 | case SNES_SPC7110: |
| 2612 | case SNES_SPC7110_RTC: |
| 2613 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(FUNC(snsnew_state::snes7110_lo_r),state), write8_delegate(FUNC(snsnew_state::snes7110_lo_w),state)); |
| 2614 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(FUNC(snsnew_state::snes7110_hi_r),state), write8_delegate(FUNC(snsnew_state::snes7110_hi_w),state)); |
| 2615 | set_5a22_map(*state->m_maincpu); |
| 2616 | break; |
| 2617 | case SNES_SDD1: |
| 2618 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(FUNC(snsnew_state::snessdd1_lo_r),state), write8_delegate(FUNC(snsnew_state::snessdd1_lo_w),state)); |
| 2619 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(FUNC(snsnew_state::snessdd1_hi_r),state), write8_delegate(FUNC(snsnew_state::snessdd1_hi_w),state)); |
| 2620 | set_5a22_map(*state->m_maincpu); |
| 2621 | break; |
| 2622 | case SNES_BSX: |
| 2623 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x000000, 0x7dffff, read8_delegate(FUNC(snsnew_state::snesbsx_lo_r),state), write8_delegate(FUNC(snsnew_state::snesbsx_lo_w),state)); |
| 2624 | machine.device("maincpu")->memory().space(AS_PROGRAM).install_readwrite_handler(0x800000, 0xffffff, read8_delegate(FUNC(snsnew_state::snesbsx_hi_r),state), write8_delegate(FUNC(snsnew_state::snesbsx_hi_w),state)); |
| 2625 | set_5a22_map(*state->m_maincpu); |
| 2626 | break; |
| 2583 | 2627 | } |
| 2628 | #endif |
| 2584 | 2629 | } |
| 2585 | 2630 | |
| 2586 | 2631 | static MACHINE_CONFIG_START( snesnew, snsnew_state ) |