trunk/src/mess/drivers/saturn.c
| r21977 | r21978 | |
| 632 | 632 | case 0x22: |
| 633 | 633 | case 0x23: |
| 634 | 634 | case 0x24: |
| 635 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x04000000, 0x047fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_bram), m_exp->m_cart)); |
| 636 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x04000000, 0x047fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_bram), m_exp->m_cart)); |
| 637 | | machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x04000000, 0x047fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_bram), m_exp->m_cart)); |
| 638 | | machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x04000000, 0x047fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_bram), m_exp->m_cart)); |
| 635 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x04000000, 0x047fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_bram), (sat_cart_slot_device*)m_exp)); |
| 636 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x04000000, 0x047fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_bram), (sat_cart_slot_device*)m_exp)); |
| 637 | machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x04000000, 0x047fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_bram), (sat_cart_slot_device*)m_exp)); |
| 638 | machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x04000000, 0x047fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_bram), (sat_cart_slot_device*)m_exp)); |
| 639 | 639 | break; |
| 640 | 640 | case 0x5a: // Data RAM cart |
| 641 | 641 | case 0x5c: |
| 642 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02400000, 0x025fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_dram0), m_exp->m_cart)); |
| 643 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x02400000, 0x025fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_dram0), m_exp->m_cart)); |
| 644 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02600000, 0x027fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_dram1), m_exp->m_cart)); |
| 645 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x02600000, 0x027fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_dram1), m_exp->m_cart)); |
| 646 | | machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02400000, 0x025fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_dram0), m_exp->m_cart)); |
| 647 | | machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x02400000, 0x025fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_dram0), m_exp->m_cart)); |
| 648 | | machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02600000, 0x027fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_dram1), m_exp->m_cart)); |
| 649 | | machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x02600000, 0x027fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_dram1), m_exp->m_cart)); |
| 642 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02400000, 0x025fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_dram0), (sat_cart_slot_device*)m_exp)); |
| 643 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x02400000, 0x025fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_dram0), (sat_cart_slot_device*)m_exp)); |
| 644 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02600000, 0x027fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_dram1), (sat_cart_slot_device*)m_exp)); |
| 645 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x02600000, 0x027fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_dram1), (sat_cart_slot_device*)m_exp)); |
| 646 | machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02400000, 0x025fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_dram0), (sat_cart_slot_device*)m_exp)); |
| 647 | machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x02400000, 0x025fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_dram0), (sat_cart_slot_device*)m_exp)); |
| 648 | machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02600000, 0x027fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_dram1), (sat_cart_slot_device*)m_exp)); |
| 649 | machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x02600000, 0x027fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_dram1), (sat_cart_slot_device*)m_exp)); |
| 650 | 650 | break; |
| 651 | 651 | case 0: // ROM cart + mirror |
| 652 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02000000, 0x023fffff, read32_delegate(FUNC(device_sat_cart_interface::read_rom), m_exp->m_cart)); |
| 653 | | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x22000000, 0x24ffffff, read32_delegate(FUNC(device_sat_cart_interface::read_rom), m_exp->m_cart)); |
| 654 | | machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02000000, 0x023fffff, read32_delegate(FUNC(device_sat_cart_interface::read_rom), m_exp->m_cart)); |
| 655 | | machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x22000000, 0x24ffffff, read32_delegate(FUNC(device_sat_cart_interface::read_rom), m_exp->m_cart)); |
| 652 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02000000, 0x023fffff, read32_delegate(FUNC(sat_cart_slot_device::read_rom), (sat_cart_slot_device*)m_exp)); |
| 653 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x22000000, 0x24ffffff, read32_delegate(FUNC(sat_cart_slot_device::read_rom), (sat_cart_slot_device*)m_exp)); |
| 654 | machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02000000, 0x023fffff, read32_delegate(FUNC(sat_cart_slot_device::read_rom), (sat_cart_slot_device*)m_exp)); |
| 655 | machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x22000000, 0x24ffffff, read32_delegate(FUNC(sat_cart_slot_device::read_rom), (sat_cart_slot_device*)m_exp)); |
| 656 | 656 | break; |
| 657 | 657 | } |
| 658 | 658 | } |
trunk/src/mess/machine/sat_slot.c
| r21977 | r21978 | |
| 208 | 208 | READ32_MEMBER(sat_cart_slot_device::read_rom) |
| 209 | 209 | { |
| 210 | 210 | if (m_cart) |
| 211 | | return m_cart->read_rom(space, offset); |
| 211 | return m_cart->read_rom(space, offset, mem_mask); |
| 212 | 212 | else |
| 213 | 213 | return 0xffffffff; |
| 214 | 214 | } |
| r21977 | r21978 | |
| 216 | 216 | READ32_MEMBER(sat_cart_slot_device::read_ext_dram0) |
| 217 | 217 | { |
| 218 | 218 | if (m_cart) |
| 219 | | return m_cart->read_ext_dram0(space, offset); |
| 219 | return m_cart->read_ext_dram0(space, offset, mem_mask); |
| 220 | 220 | else |
| 221 | 221 | return 0xffffffff; |
| 222 | 222 | } |
| r21977 | r21978 | |
| 224 | 224 | READ32_MEMBER(sat_cart_slot_device::read_ext_dram1) |
| 225 | 225 | { |
| 226 | 226 | if (m_cart) |
| 227 | | return m_cart->read_ext_dram1(space, offset); |
| 227 | return m_cart->read_ext_dram1(space, offset, mem_mask); |
| 228 | 228 | else |
| 229 | 229 | return 0xffffffff; |
| 230 | 230 | } |
| r21977 | r21978 | |
| 232 | 232 | READ32_MEMBER(sat_cart_slot_device::read_ext_bram) |
| 233 | 233 | { |
| 234 | 234 | if (m_cart) |
| 235 | | return m_cart->read_ext_bram(space, offset); |
| 235 | return m_cart->read_ext_bram(space, offset, mem_mask); |
| 236 | 236 | else |
| 237 | 237 | return 0xffffffff; |
| 238 | 238 | } |
| 239 | 239 | |
| 240 | | #if 0 |
| 241 | | READ32_MEMBER(sat_cart_slot_device::read_ext_bram) |
| 242 | | { |
| 243 | | if (m_cart) |
| 244 | | { |
| 245 | | return (m_cart->read_ext_bram(space, offset * 2) << 16) |
| 246 | | | m_cart->read_ext_bram(space, offset * 2 + 1); |
| 247 | | } |
| 248 | | else |
| 249 | | return 0xffffffff; |
| 250 | | } |
| 251 | | #endif |
| 252 | | |
| 253 | 240 | /*------------------------------------------------- |
| 254 | 241 | write |
| 255 | 242 | -------------------------------------------------*/ |
| r21977 | r21978 | |
| 257 | 244 | WRITE32_MEMBER(sat_cart_slot_device::write_ext_dram0) |
| 258 | 245 | { |
| 259 | 246 | if (m_cart) |
| 260 | | m_cart->write_ext_dram0(space, offset, data); |
| 247 | m_cart->write_ext_dram0(space, offset, data, mem_mask); |
| 261 | 248 | } |
| 262 | 249 | |
| 263 | 250 | WRITE32_MEMBER(sat_cart_slot_device::write_ext_dram1) |
| 264 | 251 | { |
| 265 | 252 | if (m_cart) |
| 266 | | m_cart->write_ext_dram1(space, offset, data); |
| 253 | m_cart->write_ext_dram1(space, offset, data, mem_mask); |
| 267 | 254 | } |
| 268 | 255 | |
| 269 | 256 | WRITE32_MEMBER(sat_cart_slot_device::write_ext_bram) |
| 270 | 257 | { |
| 271 | 258 | if (m_cart) |
| 272 | | m_cart->write_ext_bram(space, offset, data); |
| 259 | m_cart->write_ext_bram(space, offset, data, mem_mask); |
| 273 | 260 | } |
| 274 | | |
| 275 | | #if 0 |
| 276 | | WRITE32_MEMBER(sat_cart_slot_device::write_ext_bram) |
| 277 | | { |
| 278 | | if (m_cart) |
| 279 | | { |
| 280 | | if (ACCESSING_BITS_16_23) |
| 281 | | m_cart->write_ext_bram(space, offset * 2 + 0, (data & 0x00ff0000) >> 16); |
| 282 | | if (ACCESSING_BITS_0_7) |
| 283 | | m_cart->write_ext_bram(space, offset * 2 + 1, (data & 0x000000ff) >> 0); |
| 284 | | } |
| 285 | | } |
| 286 | | #endif |