trunk/src/mess/drivers/n64.c
| r17869 | r17870 | |
| 22 | 22 | static ADDRESS_MAP_START( n64_map, AS_PROGRAM, 32, n64_state ) |
| 23 | 23 | AM_RANGE(0x00000000, 0x007fffff) AM_RAM AM_SHARE("rdram") // RDRAM |
| 24 | 24 | AM_RANGE(0x03f00000, 0x03f00027) AM_DEVREADWRITE("rcp", n64_periphs, rdram_reg_r, rdram_reg_w) |
| 25 | | AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("dmem") // RSP DMEM |
| 26 | | AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("imem") // RSP IMEM |
| 25 | AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("rsp_dmem") // RSP DMEM |
| 26 | AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("rsp_imem") // RSP IMEM |
| 27 | 27 | AM_RANGE(0x04040000, 0x040fffff) AM_DEVREADWRITE_LEGACY("rsp", n64_sp_reg_r, n64_sp_reg_w) // RSP |
| 28 | 28 | AM_RANGE(0x04100000, 0x041fffff) AM_DEVREADWRITE_LEGACY("rsp", n64_dp_reg_r, n64_dp_reg_w) // RDP |
| 29 | 29 | AM_RANGE(0x04300000, 0x043fffff) AM_DEVREADWRITE("rcp", n64_periphs, mi_reg_r, mi_reg_w) // MIPS Interface |
| r17869 | r17870 | |
| 42 | 42 | static ADDRESS_MAP_START( n64dd_map, AS_PROGRAM, 32, n64_state ) |
| 43 | 43 | AM_RANGE(0x00000000, 0x007fffff) AM_RAM AM_SHARE("rdram") // RDRAM |
| 44 | 44 | AM_RANGE(0x03f00000, 0x03f00027) AM_DEVREADWRITE("rcp", n64_periphs, rdram_reg_r, rdram_reg_w) |
| 45 | | AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("dmem") // RSP DMEM |
| 46 | | AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("imem") // RSP IMEM |
| 45 | AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("rsp_dmem") // RSP DMEM |
| 46 | AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("rsp_imem") // RSP IMEM |
| 47 | 47 | AM_RANGE(0x04040000, 0x040fffff) AM_DEVREADWRITE_LEGACY("rsp", n64_sp_reg_r, n64_sp_reg_w) // RSP |
| 48 | 48 | AM_RANGE(0x04100000, 0x041fffff) AM_DEVREADWRITE_LEGACY("rsp", n64_dp_reg_r, n64_dp_reg_w) // RDP |
| 49 | 49 | AM_RANGE(0x04300000, 0x043fffff) AM_DEVREADWRITE("rcp", n64_periphs, mi_reg_r, mi_reg_w) // MIPS Interface |
| r17869 | r17870 | |
| 61 | 61 | ADDRESS_MAP_END |
| 62 | 62 | |
| 63 | 63 | static ADDRESS_MAP_START( rsp_map, AS_PROGRAM, 32, n64_state ) |
| 64 | | AM_RANGE(0x00000000, 0x00000fff) AM_RAM AM_SHARE("dmem") |
| 65 | | AM_RANGE(0x00001000, 0x00001fff) AM_RAM AM_SHARE("imem") |
| 66 | | AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("rsp_dmem") AM_SHARE("dmem") |
| 67 | | AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("rsp_imem") AM_SHARE("imem") |
| 64 | AM_RANGE(0x00000000, 0x00000fff) AM_RAM AM_SHARE("rsp_dmem") |
| 65 | AM_RANGE(0x00001000, 0x00001fff) AM_RAM AM_SHARE("rsp_imem") |
| 66 | AM_RANGE(0x04000000, 0x04000fff) AM_RAM AM_SHARE("rsp_dmem") |
| 67 | AM_RANGE(0x04001000, 0x04001fff) AM_RAM AM_SHARE("rsp_imem") |
| 68 | 68 | ADDRESS_MAP_END |
| 69 | 69 | |
| 70 | 70 | static INPUT_PORTS_START( n64 ) |
| r17869 | r17870 | |
| 215 | 215 | //printf("Loading\n"); |
| 216 | 216 | UINT8 data[0x30800]; |
| 217 | 217 | battery_image->battery_load(data, 0x30800, 0x00); |
| 218 | | memcpy(n64_sram, data, 0x20000); |
| 218 | //memcpy(n64_sram, data, 0x20000); |
| 219 | memcpy(image.device().machine().root_device().memshare("sram")->ptr(), data, 0x20000); |
| 219 | 220 | memcpy(periphs->m_save_data.eeprom, data + 0x20000, 0x800); |
| 220 | 221 | memcpy(periphs->m_save_data.mempak[0], data + 0x20800, 0x8000); |
| 221 | 222 | memcpy(periphs->m_save_data.mempak[1], data + 0x28800, 0x8000); |