mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-05-28 13:44:11 -04:00
git subrepo clone --branch=develop https://github.com/m4xw/emuMMC emummc
subrepo: subdir: "emummc" merged: "e72e8f1c" upstream: origin: "https://github.com/m4xw/emuMMC" branch: "develop" commit: "e72e8f1c" git-subrepo: version: "0.4.0" origin: "https://github.com/ingydotnet/git-subrepo" commit: "5d6aba9"
This commit is contained in:
parent
87a1aa17a7
commit
b7a370b156
90 changed files with 21714 additions and 0 deletions
40
emummc/source/FS/FS.h
Normal file
40
emummc/source/FS/FS.h
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __FS_H__
|
||||
#define __FS_H__
|
||||
|
||||
// TODO
|
||||
#include "../emmc/sdmmc_t210.h"
|
||||
|
||||
#include "FS_versions.h"
|
||||
#include "FS_offsets.h"
|
||||
#include "FS_structs.h"
|
||||
|
||||
#define FS_SDMMC_EMMC 0
|
||||
#define FS_SDMMC_SD 1
|
||||
#define FS_SDMMC_GC 2
|
||||
|
||||
#define FS_EMMC_PARTITION_GPP 0
|
||||
#define FS_EMMC_PARTITION_BOOT0 1
|
||||
#define FS_EMMC_PARTITION_BOOT1 2
|
||||
#define FS_EMMC_PARTITION_INVALID 3
|
||||
|
||||
#define BOOT_PARTITION_SIZE 0x2000
|
||||
#define FS_READ_WRITE_ERROR 1048
|
||||
|
||||
#endif /* __FS_H__ */
|
143
emummc/source/FS/FS_offsets.c
Normal file
143
emummc/source/FS/FS_offsets.c
Normal file
|
@ -0,0 +1,143 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "FS_offsets.h"
|
||||
#include "offsets/100.h"
|
||||
#include "offsets/200.h"
|
||||
#include "offsets/200_exfat.h"
|
||||
#include "offsets/210.h"
|
||||
#include "offsets/210_exfat.h"
|
||||
#include "offsets/300.h"
|
||||
#include "offsets/300_exfat.h"
|
||||
#include "offsets/301.h"
|
||||
#include "offsets/301_exfat.h"
|
||||
#include "offsets/400.h"
|
||||
#include "offsets/400_exfat.h"
|
||||
#include "offsets/410.h"
|
||||
#include "offsets/410_exfat.h"
|
||||
#include "offsets/500.h"
|
||||
#include "offsets/500_exfat.h"
|
||||
#include "offsets/510.h"
|
||||
#include "offsets/510_exfat.h"
|
||||
#include "offsets/600.h"
|
||||
#include "offsets/600_exfat.h"
|
||||
#include "offsets/700.h"
|
||||
#include "offsets/700_exfat.h"
|
||||
#include "offsets/800.h"
|
||||
#include "offsets/800_exfat.h"
|
||||
#include "../utils/fatal.h"
|
||||
|
||||
#define GET_OFFSET_STRUCT_NAME(vers) g_offsets##vers
|
||||
|
||||
#define DEFINE_OFFSET_STRUCT(vers) \
|
||||
static const fs_offsets_t GET_OFFSET_STRUCT_NAME(vers) = { \
|
||||
.sdmmc_accessor_gc = FS_OFFSET##vers##_SDMMC_ACCESSOR_GC, \
|
||||
.sdmmc_accessor_sd = FS_OFFSET##vers##_SDMMC_ACCESSOR_SD, \
|
||||
.sdmmc_accessor_nand = FS_OFFSET##vers##_SDMMC_ACCESSOR_NAND, \
|
||||
.sdmmc_wrapper_read = FS_OFFSET##vers##_SDMMC_WRAPPER_READ, \
|
||||
.sdmmc_wrapper_write = FS_OFFSET##vers##_SDMMC_WRAPPER_WRITE, \
|
||||
.clkrst_set_min_v_clock_rate = FS_OFFSET##vers##_CLKRST_SET_MIN_V_CLK_RATE, \
|
||||
.rtld = FS_OFFSET##vers##_RTLD, \
|
||||
.rtld_destination = FS_OFFSET##vers##_RTLD_DESTINATION, \
|
||||
.lock_mutex = FS_OFFSET##vers##_LOCK_MUTEX, \
|
||||
.unlock_mutex = FS_OFFSET##vers##_UNLOCK_MUTEX, \
|
||||
.sd_mutex = FS_OFFSET##vers##_SD_MUTEX, \
|
||||
.nand_mutex = FS_OFFSET##vers##_NAND_MUTEX, \
|
||||
.active_partition = FS_OFFSET##vers##_ACTIVE_PARTITION, \
|
||||
.sdmmc_das_handle = FS_OFFSET##vers##_SDMMC_DAS_HANDLE, \
|
||||
.shutdown_sd = FS_OFFSET##vers##_SHUTDOWN_SD, \
|
||||
.sd_das_init = FS_OFFSET##vers##_SD_DAS_INIT, \
|
||||
.nintendo_paths = FS_OFFSET##vers##_NINTENDO_PATHS, \
|
||||
}
|
||||
|
||||
// Actually define offset structs
|
||||
DEFINE_OFFSET_STRUCT(_100);
|
||||
DEFINE_OFFSET_STRUCT(_200);
|
||||
DEFINE_OFFSET_STRUCT(_200_EXFAT);
|
||||
DEFINE_OFFSET_STRUCT(_210);
|
||||
DEFINE_OFFSET_STRUCT(_210_EXFAT);
|
||||
DEFINE_OFFSET_STRUCT(_300);
|
||||
DEFINE_OFFSET_STRUCT(_300_EXFAT);
|
||||
DEFINE_OFFSET_STRUCT(_301);
|
||||
DEFINE_OFFSET_STRUCT(_301_EXFAT);
|
||||
DEFINE_OFFSET_STRUCT(_400);
|
||||
DEFINE_OFFSET_STRUCT(_400_EXFAT);
|
||||
DEFINE_OFFSET_STRUCT(_410);
|
||||
DEFINE_OFFSET_STRUCT(_410_EXFAT);
|
||||
DEFINE_OFFSET_STRUCT(_500);
|
||||
DEFINE_OFFSET_STRUCT(_500_EXFAT);
|
||||
DEFINE_OFFSET_STRUCT(_510);
|
||||
DEFINE_OFFSET_STRUCT(_510_EXFAT);
|
||||
DEFINE_OFFSET_STRUCT(_600);
|
||||
DEFINE_OFFSET_STRUCT(_600_EXFAT);
|
||||
DEFINE_OFFSET_STRUCT(_700);
|
||||
DEFINE_OFFSET_STRUCT(_700_EXFAT);
|
||||
DEFINE_OFFSET_STRUCT(_800);
|
||||
DEFINE_OFFSET_STRUCT(_800_EXFAT);
|
||||
|
||||
const fs_offsets_t *get_fs_offsets(enum FS_VER version) {
|
||||
switch (version) {
|
||||
case FS_VER_1_0_0:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_100));
|
||||
case FS_VER_2_0_0:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_200));
|
||||
case FS_VER_2_0_0_EXFAT:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_200_EXFAT));
|
||||
case FS_VER_2_1_0:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_210));
|
||||
case FS_VER_2_1_0_EXFAT:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_210_EXFAT));
|
||||
case FS_VER_3_0_0:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_300));
|
||||
case FS_VER_3_0_0_EXFAT:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_300_EXFAT));
|
||||
case FS_VER_3_0_1:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_301));
|
||||
case FS_VER_3_0_1_EXFAT:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_301_EXFAT));
|
||||
case FS_VER_4_0_0:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_400));
|
||||
case FS_VER_4_0_0_EXFAT:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_400_EXFAT));
|
||||
case FS_VER_4_1_0:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_410));
|
||||
case FS_VER_4_1_0_EXFAT:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_410_EXFAT));
|
||||
case FS_VER_5_0_0:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_500));
|
||||
case FS_VER_5_0_0_EXFAT:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_500_EXFAT));
|
||||
case FS_VER_5_1_0:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_510));
|
||||
case FS_VER_5_1_0_EXFAT:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_510_EXFAT));
|
||||
case FS_VER_6_0_0:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_600));
|
||||
case FS_VER_6_0_0_EXFAT:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_600_EXFAT));
|
||||
case FS_VER_7_0_0:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_700));
|
||||
case FS_VER_7_0_0_EXFAT:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_700_EXFAT));
|
||||
case FS_VER_8_0_0:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_800));
|
||||
case FS_VER_8_0_0_EXFAT:
|
||||
return &(GET_OFFSET_STRUCT_NAME(_800_EXFAT));
|
||||
default:
|
||||
fatal_abort(Fatal_UnknownVersion);
|
||||
}
|
||||
}
|
57
emummc/source/FS/FS_offsets.h
Normal file
57
emummc/source/FS/FS_offsets.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __FS_OFFSETS_H__
|
||||
#define __FS_OFFSETS_H__
|
||||
|
||||
#include <stdint.h>
|
||||
#include "FS_versions.h"
|
||||
|
||||
typedef struct {
|
||||
int opcode_reg;
|
||||
uint32_t adrp_offset;
|
||||
} fs_offsets_nintendo_path_t;
|
||||
|
||||
typedef struct {
|
||||
// Accessor vtable getters
|
||||
uintptr_t sdmmc_accessor_gc;
|
||||
uintptr_t sdmmc_accessor_sd;
|
||||
uintptr_t sdmmc_accessor_nand;
|
||||
// Hooks
|
||||
uintptr_t sdmmc_wrapper_read;
|
||||
uintptr_t sdmmc_wrapper_write;
|
||||
uintptr_t rtld;
|
||||
uintptr_t rtld_destination;
|
||||
uintptr_t clkrst_set_min_v_clock_rate;
|
||||
// Misc funcs
|
||||
uintptr_t lock_mutex;
|
||||
uintptr_t unlock_mutex;
|
||||
// Misc data
|
||||
uintptr_t sd_mutex;
|
||||
uintptr_t nand_mutex;
|
||||
uintptr_t active_partition;
|
||||
uintptr_t sdmmc_das_handle;
|
||||
// NOPs
|
||||
uintptr_t shutdown_sd;
|
||||
uintptr_t sd_das_init;
|
||||
// Nintendo Paths
|
||||
fs_offsets_nintendo_path_t nintendo_paths[];
|
||||
} fs_offsets_t;
|
||||
|
||||
const fs_offsets_t *get_fs_offsets(enum FS_VER version);
|
||||
|
||||
#endif // __FS_OFFSETS_H__
|
55
emummc/source/FS/FS_structs.h
Normal file
55
emummc/source/FS/FS_structs.h
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __FS_STRUCTS_H__
|
||||
#define __FS_STRUCTS_H__
|
||||
|
||||
#include "../utils/types.h"
|
||||
|
||||
typedef struct {
|
||||
char *device_addr_buffer;
|
||||
uint64_t device_addr_buffer_size;
|
||||
char *device_addr_buffer_masked;
|
||||
} sdmmc_dma_buffer_t;
|
||||
|
||||
_Static_assert(__alignof(sdmmc_dma_buffer_t) == 8, "sdmmc_dma_buffer_t definition");
|
||||
|
||||
typedef struct sdmmc_accessor_vt {
|
||||
void *ctor;
|
||||
void *dtor;
|
||||
void *map_device_addr_space;
|
||||
void *unmap_device_addr_space;
|
||||
void *controller_open;
|
||||
void *controller_close;
|
||||
uint64_t (*read_write)(void *, uint64_t, uint64_t, void *, uint64_t, uint64_t);
|
||||
// More not included because we don't use it.
|
||||
} sdmmc_accessor_vt_t;
|
||||
|
||||
typedef struct {
|
||||
void *vtab;
|
||||
t210_sdmmc_t *io_map;
|
||||
sdmmc_dma_buffer_t dmaBuffers[3];
|
||||
// More not included because we don't use it.
|
||||
} mmc_obj_t;
|
||||
|
||||
typedef struct {
|
||||
sdmmc_accessor_vt_t *vtab;
|
||||
mmc_obj_t *parent;
|
||||
// More not included because we don't use it.
|
||||
} sdmmc_accessor_t;
|
||||
|
||||
#endif // __FS_STRUCTS_H__
|
62
emummc/source/FS/FS_versions.h
Normal file
62
emummc/source/FS/FS_versions.h
Normal file
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef __FS_VERSIONS_H__
|
||||
#define __FS_VERSIONS_H__
|
||||
|
||||
// FS Version enum
|
||||
enum FS_VER
|
||||
{
|
||||
FS_VER_1_0_0 = 0,
|
||||
|
||||
FS_VER_2_0_0,
|
||||
FS_VER_2_0_0_EXFAT,
|
||||
|
||||
FS_VER_2_1_0,
|
||||
FS_VER_2_1_0_EXFAT,
|
||||
|
||||
FS_VER_3_0_0,
|
||||
FS_VER_3_0_0_EXFAT,
|
||||
|
||||
FS_VER_3_0_1,
|
||||
FS_VER_3_0_1_EXFAT,
|
||||
|
||||
FS_VER_4_0_0,
|
||||
FS_VER_4_0_0_EXFAT,
|
||||
|
||||
FS_VER_4_1_0,
|
||||
FS_VER_4_1_0_EXFAT,
|
||||
|
||||
FS_VER_5_0_0,
|
||||
FS_VER_5_0_0_EXFAT,
|
||||
|
||||
FS_VER_5_1_0,
|
||||
FS_VER_5_1_0_EXFAT,
|
||||
|
||||
FS_VER_6_0_0,
|
||||
FS_VER_6_0_0_EXFAT,
|
||||
|
||||
FS_VER_7_0_0,
|
||||
FS_VER_7_0_0_EXFAT,
|
||||
|
||||
FS_VER_8_0_0,
|
||||
FS_VER_8_0_0_EXFAT,
|
||||
|
||||
FS_VER_MAX,
|
||||
};
|
||||
|
||||
#endif // __FS_VERSIONS_H__
|
57
emummc/source/FS/offsets/100.h
Normal file
57
emummc/source/FS/offsets/100.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_100_H__
|
||||
#define __FS_100_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_100_SDMMC_ACCESSOR_GC 0x6F850
|
||||
#define FS_OFFSET_100_SDMMC_ACCESSOR_SD 0x6F65C
|
||||
#define FS_OFFSET_100_SDMMC_ACCESSOR_NAND 0x6F230
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_100_SDMMC_WRAPPER_READ 0x6A930
|
||||
#define FS_OFFSET_100_SDMMC_WRAPPER_WRITE 0x6A9F0
|
||||
#define FS_OFFSET_100_RTLD 0x534
|
||||
#define FS_OFFSET_100_RTLD_DESTINATION 0xA0
|
||||
|
||||
#define FS_OFFSET_100_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_100_LOCK_MUTEX 0x2884
|
||||
#define FS_OFFSET_100_UNLOCK_MUTEX 0x28F0
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_100_SD_MUTEX 0xE36058
|
||||
#define FS_OFFSET_100_NAND_MUTEX 0xE30610
|
||||
#define FS_OFFSET_100_ACTIVE_PARTITION 0xE30650
|
||||
#define FS_OFFSET_100_SDMMC_DAS_HANDLE 0xE2F730
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_100_SHUTDOWN_SD 0x22548
|
||||
#define FS_OFFSET_100_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_100_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 9, .adrp_offset = 0x00032C58}, \
|
||||
{.opcode_reg = 8, .adrp_offset = 0x00032C60}, \
|
||||
{.opcode_reg = 9, .adrp_offset = 0x00032F3C}, \
|
||||
{.opcode_reg = 8, .adrp_offset = 0x00032F44}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_100_H__
|
56
emummc/source/FS/offsets/200.h
Normal file
56
emummc/source/FS/offsets/200.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_200_H__
|
||||
#define __FS_200_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_200_SDMMC_ACCESSOR_GC 0x78BAC
|
||||
#define FS_OFFSET_200_SDMMC_ACCESSOR_SD 0x7894C
|
||||
#define FS_OFFSET_200_SDMMC_ACCESSOR_NAND 0x784BC
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_200_SDMMC_WRAPPER_READ 0x73478
|
||||
#define FS_OFFSET_200_SDMMC_WRAPPER_WRITE 0x73538
|
||||
#define FS_OFFSET_200_RTLD 0x500
|
||||
#define FS_OFFSET_200_RTLD_DESTINATION 0x98
|
||||
|
||||
#define FS_OFFSET_200_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_200_LOCK_MUTEX 0x3264
|
||||
#define FS_OFFSET_200_UNLOCK_MUTEX 0x32D0
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_200_SD_MUTEX 0xE42268
|
||||
#define FS_OFFSET_200_NAND_MUTEX 0xE3CED0
|
||||
#define FS_OFFSET_200_ACTIVE_PARTITION 0xE3CF10
|
||||
#define FS_OFFSET_200_SDMMC_DAS_HANDLE 0xE3BDD0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_200_SHUTDOWN_SD 0x20C48
|
||||
#define FS_OFFSET_200_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_200_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00033F08}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00035084}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003537C}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_200_H__
|
56
emummc/source/FS/offsets/200_exfat.h
Normal file
56
emummc/source/FS/offsets/200_exfat.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_200_EXFAT_H__
|
||||
#define __FS_200_EXFAT_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_200_EXFAT_SDMMC_ACCESSOR_GC 0x78BAC
|
||||
#define FS_OFFSET_200_EXFAT_SDMMC_ACCESSOR_SD 0x7894C
|
||||
#define FS_OFFSET_200_EXFAT_SDMMC_ACCESSOR_NAND 0x784BC
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_200_EXFAT_SDMMC_WRAPPER_READ 0x73478
|
||||
#define FS_OFFSET_200_EXFAT_SDMMC_WRAPPER_WRITE 0x73538
|
||||
#define FS_OFFSET_200_EXFAT_RTLD 0x500
|
||||
#define FS_OFFSET_200_EXFAT_RTLD_DESTINATION 0x98
|
||||
|
||||
#define FS_OFFSET_200_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_200_EXFAT_LOCK_MUTEX 0x3264
|
||||
#define FS_OFFSET_200_EXFAT_UNLOCK_MUTEX 0x32D0
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_200_EXFAT_SD_MUTEX 0xF22268
|
||||
#define FS_OFFSET_200_EXFAT_NAND_MUTEX 0xF1CED0
|
||||
#define FS_OFFSET_200_EXFAT_ACTIVE_PARTITION 0xF1CF10
|
||||
#define FS_OFFSET_200_EXFAT_SDMMC_DAS_HANDLE 0xF1BDD0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_200_EXFAT_SHUTDOWN_SD 0x20C48
|
||||
#define FS_OFFSET_200_EXFAT_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_200_EXFAT_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00033F08}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00035084}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003537C}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_200_EXFAT_H__
|
56
emummc/source/FS/offsets/210.h
Normal file
56
emummc/source/FS/offsets/210.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_210_H__
|
||||
#define __FS_210_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_210_SDMMC_ACCESSOR_GC 0x78F8C
|
||||
#define FS_OFFSET_210_SDMMC_ACCESSOR_SD 0x78D2C
|
||||
#define FS_OFFSET_210_SDMMC_ACCESSOR_NAND 0x7889C
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_210_SDMMC_WRAPPER_READ 0x73858
|
||||
#define FS_OFFSET_210_SDMMC_WRAPPER_WRITE 0x73918
|
||||
#define FS_OFFSET_210_RTLD 0x500
|
||||
#define FS_OFFSET_210_RTLD_DESTINATION 0x98
|
||||
|
||||
#define FS_OFFSET_210_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_210_LOCK_MUTEX 0x3264
|
||||
#define FS_OFFSET_210_UNLOCK_MUTEX 0x32D0
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_210_SD_MUTEX 0xE43268
|
||||
#define FS_OFFSET_210_NAND_MUTEX 0xE3DED0
|
||||
#define FS_OFFSET_210_ACTIVE_PARTITION 0xE3DF10
|
||||
#define FS_OFFSET_210_SDMMC_DAS_HANDLE 0xE3CDD0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_210_SHUTDOWN_SD 0x20E60
|
||||
#define FS_OFFSET_210_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_210_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x000342E0}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003545C}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00035754}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_210_H__
|
56
emummc/source/FS/offsets/210_exfat.h
Normal file
56
emummc/source/FS/offsets/210_exfat.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_210_EXFAT_H__
|
||||
#define __FS_210_EXFAT_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_210_EXFAT_SDMMC_ACCESSOR_GC 0x78F8C
|
||||
#define FS_OFFSET_210_EXFAT_SDMMC_ACCESSOR_SD 0x78D2C
|
||||
#define FS_OFFSET_210_EXFAT_SDMMC_ACCESSOR_NAND 0x7889C
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_210_EXFAT_SDMMC_WRAPPER_READ 0x73858
|
||||
#define FS_OFFSET_210_EXFAT_SDMMC_WRAPPER_WRITE 0x73918
|
||||
#define FS_OFFSET_210_EXFAT_RTLD 0x500
|
||||
#define FS_OFFSET_210_EXFAT_RTLD_DESTINATION 0x98
|
||||
|
||||
#define FS_OFFSET_210_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_210_EXFAT_LOCK_MUTEX 0x3264
|
||||
#define FS_OFFSET_210_EXFAT_UNLOCK_MUTEX 0x32D0
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_210_EXFAT_SD_MUTEX 0xF22268
|
||||
#define FS_OFFSET_210_EXFAT_NAND_MUTEX 0xF1CED0
|
||||
#define FS_OFFSET_210_EXFAT_ACTIVE_PARTITION 0xF1CF10
|
||||
#define FS_OFFSET_210_EXFAT_SDMMC_DAS_HANDLE 0xF1BDD0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_210_EXFAT_SHUTDOWN_SD 0x20E60
|
||||
#define FS_OFFSET_210_EXFAT_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_210_EXFAT_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x000342E0}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003545C}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00035754}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_210_EXFAT_H__
|
56
emummc/source/FS/offsets/300.h
Normal file
56
emummc/source/FS/offsets/300.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_300_H__
|
||||
#define __FS_300_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_300_SDMMC_ACCESSOR_GC 0x8FAAC
|
||||
#define FS_OFFSET_300_SDMMC_ACCESSOR_SD 0x8F84C
|
||||
#define FS_OFFSET_300_SDMMC_ACCESSOR_NAND 0x8F3B8
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_300_SDMMC_WRAPPER_READ 0x8A2F4
|
||||
#define FS_OFFSET_300_SDMMC_WRAPPER_WRITE 0x8A3B4
|
||||
#define FS_OFFSET_300_RTLD 0x4E8
|
||||
#define FS_OFFSET_300_RTLD_DESTINATION 0x8C
|
||||
|
||||
#define FS_OFFSET_300_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_300_LOCK_MUTEX 0x35CC
|
||||
#define FS_OFFSET_300_UNLOCK_MUTEX 0x3638
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_300_SD_MUTEX 0xE69268
|
||||
#define FS_OFFSET_300_NAND_MUTEX 0xE646F0
|
||||
#define FS_OFFSET_300_ACTIVE_PARTITION 0xE64730
|
||||
#define FS_OFFSET_300_SDMMC_DAS_HANDLE 0xE635A0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_300_SHUTDOWN_SD 0x258D8
|
||||
#define FS_OFFSET_300_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_300_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x000391F4}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003A480}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003A778}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_300_H__
|
56
emummc/source/FS/offsets/300_exfat.h
Normal file
56
emummc/source/FS/offsets/300_exfat.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_300_EXFAT_H__
|
||||
#define __FS_300_EXFAT_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_300_EXFAT_SDMMC_ACCESSOR_GC 0x8FAAC
|
||||
#define FS_OFFSET_300_EXFAT_SDMMC_ACCESSOR_SD 0x8F84C
|
||||
#define FS_OFFSET_300_EXFAT_SDMMC_ACCESSOR_NAND 0x8F3B8
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_300_EXFAT_SDMMC_WRAPPER_READ 0x8A2F4
|
||||
#define FS_OFFSET_300_EXFAT_SDMMC_WRAPPER_WRITE 0x8A3B4
|
||||
#define FS_OFFSET_300_EXFAT_RTLD 0x4E8
|
||||
#define FS_OFFSET_300_EXFAT_RTLD_DESTINATION 0x8C
|
||||
|
||||
#define FS_OFFSET_300_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_300_EXFAT_LOCK_MUTEX 0x35CC
|
||||
#define FS_OFFSET_300_EXFAT_UNLOCK_MUTEX 0x3638
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_300_EXFAT_SD_MUTEX 0xF4C268
|
||||
#define FS_OFFSET_300_EXFAT_NAND_MUTEX 0xF476F0
|
||||
#define FS_OFFSET_300_EXFAT_ACTIVE_PARTITION 0xF47730
|
||||
#define FS_OFFSET_300_EXFAT_SDMMC_DAS_HANDLE 0xF465A0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_300_EXFAT_SHUTDOWN_SD 0x258D8
|
||||
#define FS_OFFSET_300_EXFAT_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_300_EXFAT_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x000391F4}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003A480}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003A778}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_300_EXFAT_H__
|
56
emummc/source/FS/offsets/301.h
Normal file
56
emummc/source/FS/offsets/301.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_301_H__
|
||||
#define __FS_301_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_301_SDMMC_ACCESSOR_GC 0x8FB68
|
||||
#define FS_OFFSET_301_SDMMC_ACCESSOR_SD 0x8F908
|
||||
#define FS_OFFSET_301_SDMMC_ACCESSOR_NAND 0x8F474
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_301_SDMMC_WRAPPER_READ 0x8A3B0
|
||||
#define FS_OFFSET_301_SDMMC_WRAPPER_WRITE 0x8A470
|
||||
#define FS_OFFSET_301_RTLD 0x4E8
|
||||
#define FS_OFFSET_301_RTLD_DESTINATION 0x8C
|
||||
|
||||
#define FS_OFFSET_301_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_301_LOCK_MUTEX 0x3638
|
||||
#define FS_OFFSET_301_UNLOCK_MUTEX 0x36A4
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_301_SD_MUTEX 0xE69268
|
||||
#define FS_OFFSET_301_NAND_MUTEX 0xE646F0
|
||||
#define FS_OFFSET_301_ACTIVE_PARTITION 0xE64730
|
||||
#define FS_OFFSET_301_SDMMC_DAS_HANDLE 0xE635A0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_301_SHUTDOWN_SD 0x25944
|
||||
#define FS_OFFSET_301_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_301_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00039260}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003A4EC}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003A7E4}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_301_H__
|
56
emummc/source/FS/offsets/301_exfat.h
Normal file
56
emummc/source/FS/offsets/301_exfat.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_301_EXFAT_H__
|
||||
#define __FS_301_EXFAT_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_301_EXFAT_SDMMC_ACCESSOR_GC 0x8FB68
|
||||
#define FS_OFFSET_301_EXFAT_SDMMC_ACCESSOR_SD 0x8F908
|
||||
#define FS_OFFSET_301_EXFAT_SDMMC_ACCESSOR_NAND 0x8F474
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_301_EXFAT_SDMMC_WRAPPER_READ 0x8A3B0
|
||||
#define FS_OFFSET_301_EXFAT_SDMMC_WRAPPER_WRITE 0x8A470
|
||||
#define FS_OFFSET_301_EXFAT_RTLD 0x4E8
|
||||
#define FS_OFFSET_301_EXFAT_RTLD_DESTINATION 0x8C
|
||||
|
||||
#define FS_OFFSET_301_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_301_EXFAT_LOCK_MUTEX 0x3638
|
||||
#define FS_OFFSET_301_EXFAT_UNLOCK_MUTEX 0x36A4
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_301_EXFAT_SD_MUTEX 0xF4C268
|
||||
#define FS_OFFSET_301_EXFAT_NAND_MUTEX 0xF476F0
|
||||
#define FS_OFFSET_301_EXFAT_ACTIVE_PARTITION 0xF47730
|
||||
#define FS_OFFSET_301_EXFAT_SDMMC_DAS_HANDLE 0xF465A0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_301_EXFAT_SHUTDOWN_SD 0x25944
|
||||
#define FS_OFFSET_301_EXFAT_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_301_EXFAT_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00039260}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003A4EC}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0003A7E4}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_301_EXFAT_H__
|
56
emummc/source/FS/offsets/400.h
Normal file
56
emummc/source/FS/offsets/400.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_400_H__
|
||||
#define __FS_400_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_400_SDMMC_ACCESSOR_GC 0xA3374
|
||||
#define FS_OFFSET_400_SDMMC_ACCESSOR_SD 0xA3114
|
||||
#define FS_OFFSET_400_SDMMC_ACCESSOR_NAND 0xA2C80
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_400_SDMMC_WRAPPER_READ 0x9DBCC
|
||||
#define FS_OFFSET_400_SDMMC_WRAPPER_WRITE 0x9DC8C
|
||||
#define FS_OFFSET_400_RTLD 0x4DC
|
||||
#define FS_OFFSET_400_RTLD_DESTINATION 0x98
|
||||
|
||||
#define FS_OFFSET_400_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_400_LOCK_MUTEX 0x39A0
|
||||
#define FS_OFFSET_400_UNLOCK_MUTEX 0x3A0C
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_400_SD_MUTEX 0xE80268
|
||||
#define FS_OFFSET_400_NAND_MUTEX 0xE7BC60
|
||||
#define FS_OFFSET_400_ACTIVE_PARTITION 0xE7BCA0
|
||||
#define FS_OFFSET_400_SDMMC_DAS_HANDLE 0xE7ABF0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_400_SHUTDOWN_SD 0x32D70
|
||||
#define FS_OFFSET_400_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_400_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002023C}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00021BE8}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00021EC4}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_400_H__
|
56
emummc/source/FS/offsets/400_exfat.h
Normal file
56
emummc/source/FS/offsets/400_exfat.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_400_EXFAT_H__
|
||||
#define __FS_400_EXFAT_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_400_EXFAT_SDMMC_ACCESSOR_GC 0xA3374
|
||||
#define FS_OFFSET_400_EXFAT_SDMMC_ACCESSOR_SD 0xA3114
|
||||
#define FS_OFFSET_400_EXFAT_SDMMC_ACCESSOR_NAND 0xA2C80
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_400_EXFAT_SDMMC_WRAPPER_READ 0x9DBCC
|
||||
#define FS_OFFSET_400_EXFAT_SDMMC_WRAPPER_WRITE 0x9DC8C
|
||||
#define FS_OFFSET_400_EXFAT_RTLD 0x4DC
|
||||
#define FS_OFFSET_400_EXFAT_RTLD_DESTINATION 0x98
|
||||
|
||||
#define FS_OFFSET_400_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_400_EXFAT_LOCK_MUTEX 0x39A0
|
||||
#define FS_OFFSET_400_EXFAT_UNLOCK_MUTEX 0x3A0C
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_400_EXFAT_SD_MUTEX 0xF63268
|
||||
#define FS_OFFSET_400_EXFAT_NAND_MUTEX 0xF5EC60
|
||||
#define FS_OFFSET_400_EXFAT_ACTIVE_PARTITION 0xF5ECA0
|
||||
#define FS_OFFSET_400_EXFAT_SDMMC_DAS_HANDLE 0xF5DBF0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_400_EXFAT_SHUTDOWN_SD 0x32D70
|
||||
#define FS_OFFSET_400_EXFAT_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_400_EXFAT_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002023C}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00021BE8}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00021EC4}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_400_EXFAT_H__
|
56
emummc/source/FS/offsets/410.h
Normal file
56
emummc/source/FS/offsets/410.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_410_H__
|
||||
#define __FS_410_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_410_SDMMC_ACCESSOR_GC 0xA33D8
|
||||
#define FS_OFFSET_410_SDMMC_ACCESSOR_SD 0xA3178
|
||||
#define FS_OFFSET_410_SDMMC_ACCESSOR_NAND 0xA2CE4
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_410_SDMMC_WRAPPER_READ 0x9DC30
|
||||
#define FS_OFFSET_410_SDMMC_WRAPPER_WRITE 0x9DCF0
|
||||
#define FS_OFFSET_410_RTLD 0x4DC
|
||||
#define FS_OFFSET_410_RTLD_DESTINATION 0x98
|
||||
|
||||
#define FS_OFFSET_410_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_410_LOCK_MUTEX 0x39A0
|
||||
#define FS_OFFSET_410_UNLOCK_MUTEX 0x3A0C
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_410_SD_MUTEX 0xE80268
|
||||
#define FS_OFFSET_410_NAND_MUTEX 0xE7BC60
|
||||
#define FS_OFFSET_410_ACTIVE_PARTITION 0xE7BCA0
|
||||
#define FS_OFFSET_410_SDMMC_DAS_HANDLE 0xE7ABF0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_410_SHUTDOWN_SD 0x32D70
|
||||
#define FS_OFFSET_410_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_410_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002023C}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00021BE8}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00021EC4}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_410_H__
|
56
emummc/source/FS/offsets/410_exfat.h
Normal file
56
emummc/source/FS/offsets/410_exfat.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_410_EXFAT_H__
|
||||
#define __FS_410_EXFAT_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_410_EXFAT_SDMMC_ACCESSOR_GC 0xA33D8
|
||||
#define FS_OFFSET_410_EXFAT_SDMMC_ACCESSOR_SD 0xA3178
|
||||
#define FS_OFFSET_410_EXFAT_SDMMC_ACCESSOR_NAND 0xA2CE4
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_410_EXFAT_SDMMC_WRAPPER_READ 0x9DC30
|
||||
#define FS_OFFSET_410_EXFAT_SDMMC_WRAPPER_WRITE 0x9DCF0
|
||||
#define FS_OFFSET_410_EXFAT_RTLD 0x4DC
|
||||
#define FS_OFFSET_410_EXFAT_RTLD_DESTINATION 0x98
|
||||
|
||||
#define FS_OFFSET_410_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_410_EXFAT_LOCK_MUTEX 0x39A0
|
||||
#define FS_OFFSET_410_EXFAT_UNLOCK_MUTEX 0x3A0C
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_410_EXFAT_SD_MUTEX 0xF63268
|
||||
#define FS_OFFSET_410_EXFAT_NAND_MUTEX 0xF5EC60
|
||||
#define FS_OFFSET_410_EXFAT_ACTIVE_PARTITION 0xF5ECA0
|
||||
#define FS_OFFSET_410_EXFAT_SDMMC_DAS_HANDLE 0xF5DBF0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_410_EXFAT_SHUTDOWN_SD 0x32D70
|
||||
#define FS_OFFSET_410_EXFAT_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_410_EXFAT_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002023C}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00021BE8}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00021EC4}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_410_EXFAT_H__
|
56
emummc/source/FS/offsets/500.h
Normal file
56
emummc/source/FS/offsets/500.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_500_H__
|
||||
#define __FS_500_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_500_SDMMC_ACCESSOR_GC 0xCF250
|
||||
#define FS_OFFSET_500_SDMMC_ACCESSOR_SD 0xCEFD0
|
||||
#define FS_OFFSET_500_SDMMC_ACCESSOR_NAND 0xCE990
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_500_SDMMC_WRAPPER_READ 0xC9420
|
||||
#define FS_OFFSET_500_SDMMC_WRAPPER_WRITE 0xC9500
|
||||
#define FS_OFFSET_500_RTLD 0x584
|
||||
#define FS_OFFSET_500_RTLD_DESTINATION 0x94
|
||||
|
||||
#define FS_OFFSET_500_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_500_LOCK_MUTEX 0x4080
|
||||
#define FS_OFFSET_500_UNLOCK_MUTEX 0x40D0
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_500_SD_MUTEX 0xEC3268
|
||||
#define FS_OFFSET_500_NAND_MUTEX 0xEBDE58
|
||||
#define FS_OFFSET_500_ACTIVE_PARTITION 0xEBDE98
|
||||
#define FS_OFFSET_500_SDMMC_DAS_HANDLE 0xEBCE30
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_500_SHUTDOWN_SD 0x443E8
|
||||
#define FS_OFFSET_500_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_500_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00028980}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002ACE4}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002B220}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_500_H__
|
56
emummc/source/FS/offsets/500_exfat.h
Normal file
56
emummc/source/FS/offsets/500_exfat.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_500_EXFAT_H__
|
||||
#define __FS_500_EXFAT_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_500_EXFAT_SDMMC_ACCESSOR_GC 0xCF250
|
||||
#define FS_OFFSET_500_EXFAT_SDMMC_ACCESSOR_SD 0xCEFD0
|
||||
#define FS_OFFSET_500_EXFAT_SDMMC_ACCESSOR_NAND 0xCE990
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_500_EXFAT_SDMMC_WRAPPER_READ 0xC9420
|
||||
#define FS_OFFSET_500_EXFAT_SDMMC_WRAPPER_WRITE 0xC9500
|
||||
#define FS_OFFSET_500_EXFAT_RTLD 0x584
|
||||
#define FS_OFFSET_500_EXFAT_RTLD_DESTINATION 0x94
|
||||
|
||||
#define FS_OFFSET_500_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_500_EXFAT_LOCK_MUTEX 0x4080
|
||||
#define FS_OFFSET_500_EXFAT_UNLOCK_MUTEX 0x40D0
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_500_EXFAT_SD_MUTEX 0xFA8268
|
||||
#define FS_OFFSET_500_EXFAT_NAND_MUTEX 0xFA2E58
|
||||
#define FS_OFFSET_500_EXFAT_ACTIVE_PARTITION 0xFA2E98
|
||||
#define FS_OFFSET_500_EXFAT_SDMMC_DAS_HANDLE 0xFA1E30
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_500_EXFAT_SHUTDOWN_SD 0x443E8
|
||||
#define FS_OFFSET_500_EXFAT_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_500_EXFAT_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00028980}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002ACE4}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002B220}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_500_EXFAT_H__
|
56
emummc/source/FS/offsets/510.h
Normal file
56
emummc/source/FS/offsets/510.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_510_H__
|
||||
#define __FS_510_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_510_SDMMC_ACCESSOR_GC 0xCF620
|
||||
#define FS_OFFSET_510_SDMMC_ACCESSOR_SD 0xCF3A0
|
||||
#define FS_OFFSET_510_SDMMC_ACCESSOR_NAND 0xCED60
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_510_SDMMC_WRAPPER_READ 0xC97F0
|
||||
#define FS_OFFSET_510_SDMMC_WRAPPER_WRITE 0xC98D0
|
||||
#define FS_OFFSET_510_RTLD 0x584
|
||||
#define FS_OFFSET_510_RTLD_DESTINATION 0x94
|
||||
|
||||
#define FS_OFFSET_510_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_510_LOCK_MUTEX 0x4080
|
||||
#define FS_OFFSET_510_UNLOCK_MUTEX 0x40D0
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_510_SD_MUTEX 0xEC4268
|
||||
#define FS_OFFSET_510_NAND_MUTEX 0xEBEE58
|
||||
#define FS_OFFSET_510_ACTIVE_PARTITION 0xEBEE98
|
||||
#define FS_OFFSET_510_SDMMC_DAS_HANDLE 0xEBDE30
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_510_SHUTDOWN_SD 0x44578
|
||||
#define FS_OFFSET_510_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_510_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x000289B0}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002AD14}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002B250}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_510_H__
|
56
emummc/source/FS/offsets/510_exfat.h
Normal file
56
emummc/source/FS/offsets/510_exfat.h
Normal file
|
@ -0,0 +1,56 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_510_EXFAT_H__
|
||||
#define __FS_510_EXFAT_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_510_EXFAT_SDMMC_ACCESSOR_GC 0xCF620
|
||||
#define FS_OFFSET_510_EXFAT_SDMMC_ACCESSOR_SD 0xCF3A0
|
||||
#define FS_OFFSET_510_EXFAT_SDMMC_ACCESSOR_NAND 0xCED60
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_510_EXFAT_SDMMC_WRAPPER_READ 0xC97F0
|
||||
#define FS_OFFSET_510_EXFAT_SDMMC_WRAPPER_WRITE 0xC98D0
|
||||
#define FS_OFFSET_510_EXFAT_RTLD 0x584
|
||||
#define FS_OFFSET_510_EXFAT_RTLD_DESTINATION 0x94
|
||||
|
||||
#define FS_OFFSET_510_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_510_EXFAT_LOCK_MUTEX 0x4080
|
||||
#define FS_OFFSET_510_EXFAT_UNLOCK_MUTEX 0x40D0
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_510_EXFAT_SD_MUTEX 0xFA9268
|
||||
#define FS_OFFSET_510_EXFAT_NAND_MUTEX 0xFA3E58
|
||||
#define FS_OFFSET_510_EXFAT_ACTIVE_PARTITION 0xFA3E98
|
||||
#define FS_OFFSET_510_EXFAT_SDMMC_DAS_HANDLE 0xFA2E30
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_510_EXFAT_SHUTDOWN_SD 0x44578
|
||||
#define FS_OFFSET_510_EXFAT_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_510_EXFAT_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x000289B0}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002AD14}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0002B250}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_510_EXFAT_H__
|
57
emummc/source/FS/offsets/600.h
Normal file
57
emummc/source/FS/offsets/600.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_600_H__
|
||||
#define __FS_600_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_600_SDMMC_ACCESSOR_GC 0x153780
|
||||
#define FS_OFFSET_600_SDMMC_ACCESSOR_SD 0x1534F0
|
||||
#define FS_OFFSET_600_SDMMC_ACCESSOR_NAND 0x14F990
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_600_SDMMC_WRAPPER_READ 0x1485A0
|
||||
#define FS_OFFSET_600_SDMMC_WRAPPER_WRITE 0x148680
|
||||
#define FS_OFFSET_600_RTLD 0x5B0
|
||||
#define FS_OFFSET_600_RTLD_DESTINATION 0x98
|
||||
|
||||
#define FS_OFFSET_600_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_600_LOCK_MUTEX 0x1412C0
|
||||
#define FS_OFFSET_600_UNLOCK_MUTEX 0x141310
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_600_SD_MUTEX 0xF06268
|
||||
#define FS_OFFSET_600_NAND_MUTEX 0xF01BA0
|
||||
#define FS_OFFSET_600_ACTIVE_PARTITION 0xF01BE0
|
||||
#define FS_OFFSET_600_SDMMC_DAS_HANDLE 0xE01670
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_600_SHUTDOWN_SD 0xB2F28
|
||||
#define FS_OFFSET_600_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_600_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x000790DC}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0007A924}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0007AB18}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0007AEF4}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0} \
|
||||
}
|
||||
|
||||
#endif // __FS_600_H__
|
57
emummc/source/FS/offsets/600_exfat.h
Normal file
57
emummc/source/FS/offsets/600_exfat.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_600_EXFAT_H__
|
||||
#define __FS_600_EXFAT_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_600_EXFAT_SDMMC_ACCESSOR_GC 0x15EE80
|
||||
#define FS_OFFSET_600_EXFAT_SDMMC_ACCESSOR_SD 0x15EBF0
|
||||
#define FS_OFFSET_600_EXFAT_SDMMC_ACCESSOR_NAND 0x15B090
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_600_EXFAT_SDMMC_WRAPPER_READ 0x153CA0
|
||||
#define FS_OFFSET_600_EXFAT_SDMMC_WRAPPER_WRITE 0x153D80
|
||||
#define FS_OFFSET_600_EXFAT_RTLD 0x5B0
|
||||
#define FS_OFFSET_600_EXFAT_RTLD_DESTINATION 0x98
|
||||
|
||||
#define FS_OFFSET_600_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_600_EXFAT_LOCK_MUTEX 0x14C9C0
|
||||
#define FS_OFFSET_600_EXFAT_UNLOCK_MUTEX 0x14CA10
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_600_EXFAT_SD_MUTEX 0xFEB268
|
||||
#define FS_OFFSET_600_EXFAT_NAND_MUTEX 0xFE6BA0
|
||||
#define FS_OFFSET_600_EXFAT_ACTIVE_PARTITION 0xFE6BE0
|
||||
#define FS_OFFSET_600_EXFAT_SDMMC_DAS_HANDLE 0xEE6670
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_600_EXFAT_SHUTDOWN_SD 0xBE628
|
||||
#define FS_OFFSET_600_EXFAT_SD_DAS_INIT 0x0
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_600_EXFAT_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x000847DC}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00086024}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00086218}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x000865F4}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0} \
|
||||
}
|
||||
|
||||
#endif // __FS_600_EXFAT_H__
|
58
emummc/source/FS/offsets/700.h
Normal file
58
emummc/source/FS/offsets/700.h
Normal file
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_700_H__
|
||||
#define __FS_700_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_700_SDMMC_ACCESSOR_GC 0x15BD90
|
||||
#define FS_OFFSET_700_SDMMC_ACCESSOR_SD 0x15BB00
|
||||
#define FS_OFFSET_700_SDMMC_ACCESSOR_NAND 0x157FF0
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_700_SDMMC_WRAPPER_READ 0x14FDF0
|
||||
#define FS_OFFSET_700_SDMMC_WRAPPER_WRITE 0x14FED0
|
||||
#define FS_OFFSET_700_RTLD 0x5B4
|
||||
#define FS_OFFSET_700_RTLD_DESTINATION 0x9C
|
||||
|
||||
#define FS_OFFSET_700_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_700_LOCK_MUTEX 0x148A90
|
||||
#define FS_OFFSET_700_UNLOCK_MUTEX 0x148AE0
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_700_SD_MUTEX 0xF123E8
|
||||
#define FS_OFFSET_700_NAND_MUTEX 0xF0DBE8
|
||||
#define FS_OFFSET_700_ACTIVE_PARTITION 0xF0DC28
|
||||
#define FS_OFFSET_700_SDMMC_DAS_HANDLE 0xE0E7A0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_700_SHUTDOWN_SD 0xB8FCC
|
||||
#define FS_OFFSET_700_SD_DAS_INIT 0x85FE8
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_700_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0007DA90}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0007F344}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0007F538}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0007F914}, \
|
||||
{.opcode_reg = 4, .adrp_offset = 0x0007FAD8}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_700_H__
|
58
emummc/source/FS/offsets/700_exfat.h
Normal file
58
emummc/source/FS/offsets/700_exfat.h
Normal file
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_700_EXFAT_H__
|
||||
#define __FS_700_EXFAT_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_700_EXFAT_SDMMC_ACCESSOR_GC 0x167340
|
||||
#define FS_OFFSET_700_EXFAT_SDMMC_ACCESSOR_SD 0x1670B0
|
||||
#define FS_OFFSET_700_EXFAT_SDMMC_ACCESSOR_NAND 0x1635A0
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_700_EXFAT_SDMMC_WRAPPER_READ 0x15B3A0
|
||||
#define FS_OFFSET_700_EXFAT_SDMMC_WRAPPER_WRITE 0x15B480
|
||||
#define FS_OFFSET_700_EXFAT_RTLD 0x5B4
|
||||
#define FS_OFFSET_700_EXFAT_RTLD_DESTINATION 0x9C
|
||||
|
||||
#define FS_OFFSET_700_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x0
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_700_EXFAT_LOCK_MUTEX 0x154040
|
||||
#define FS_OFFSET_700_EXFAT_UNLOCK_MUTEX 0x154090
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_700_EXFAT_SD_MUTEX 0xFF73E8
|
||||
#define FS_OFFSET_700_EXFAT_NAND_MUTEX 0xFF2BE8
|
||||
#define FS_OFFSET_700_EXFAT_ACTIVE_PARTITION 0xFF2C28
|
||||
#define FS_OFFSET_700_EXFAT_SDMMC_DAS_HANDLE 0xEF3A00
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_700_EXFAT_SHUTDOWN_SD 0xC457C
|
||||
#define FS_OFFSET_700_EXFAT_SD_DAS_INIT 0x91598
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_700_EXFAT_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00089040}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0008A8F4}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0008AAE8}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0008AEC4}, \
|
||||
{.opcode_reg = 4, .adrp_offset = 0x0008B088}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0}, \
|
||||
}
|
||||
|
||||
#endif // __FS_700_EXFAT_H__
|
58
emummc/source/FS/offsets/800.h
Normal file
58
emummc/source/FS/offsets/800.h
Normal file
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_800_H__
|
||||
#define __FS_800_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_800_SDMMC_ACCESSOR_GC 0x15EA20
|
||||
#define FS_OFFSET_800_SDMMC_ACCESSOR_SD 0x15E790
|
||||
#define FS_OFFSET_800_SDMMC_ACCESSOR_NAND 0x15AC80
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_800_SDMMC_WRAPPER_READ 0x152A80
|
||||
#define FS_OFFSET_800_SDMMC_WRAPPER_WRITE 0x152B60
|
||||
#define FS_OFFSET_800_RTLD 0x5B4
|
||||
#define FS_OFFSET_800_RTLD_DESTINATION 0x9C
|
||||
|
||||
#define FS_OFFSET_800_CLKRST_SET_MIN_V_CLK_RATE 0x16F370
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_800_LOCK_MUTEX 0x14B6D0
|
||||
#define FS_OFFSET_800_UNLOCK_MUTEX 0x14B720
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_800_SD_MUTEX 0xF1A3E8
|
||||
#define FS_OFFSET_800_NAND_MUTEX 0xF15BE8
|
||||
#define FS_OFFSET_800_ACTIVE_PARTITION 0xF15C28
|
||||
#define FS_OFFSET_800_SDMMC_DAS_HANDLE 0xE167C0
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_800_SHUTDOWN_SD 0xBAF6C
|
||||
#define FS_OFFSET_800_SD_DAS_INIT 0x87D58
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_800_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0007F5F0}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00081084}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00081278}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x00081654}, \
|
||||
{.opcode_reg = 4, .adrp_offset = 0x00081818}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0} \
|
||||
}
|
||||
|
||||
#endif // __FS_800_H__
|
58
emummc/source/FS/offsets/800_exfat.h
Normal file
58
emummc/source/FS/offsets/800_exfat.h
Normal file
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Copyright (c) 2019 m4xw <m4x@m4xw.net>
|
||||
* Copyright (c) 2019 Atmosphere-NX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
* version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
* more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef __FS_800_EXFAT_H__
|
||||
#define __FS_800_EXFAT_H__
|
||||
|
||||
// Accessor vtable getters
|
||||
#define FS_OFFSET_800_EXFAT_SDMMC_ACCESSOR_GC 0x169FD0
|
||||
#define FS_OFFSET_800_EXFAT_SDMMC_ACCESSOR_SD 0x169D40
|
||||
#define FS_OFFSET_800_EXFAT_SDMMC_ACCESSOR_NAND 0x166230
|
||||
|
||||
// Hooks
|
||||
#define FS_OFFSET_800_EXFAT_SDMMC_WRAPPER_READ 0x15E030
|
||||
#define FS_OFFSET_800_EXFAT_SDMMC_WRAPPER_WRITE 0x15E110
|
||||
#define FS_OFFSET_800_EXFAT_RTLD 0x5B4
|
||||
#define FS_OFFSET_800_EXFAT_RTLD_DESTINATION 0x9C
|
||||
|
||||
#define FS_OFFSET_800_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x17A920
|
||||
|
||||
// Misc funcs
|
||||
#define FS_OFFSET_800_EXFAT_LOCK_MUTEX 0x156C80
|
||||
#define FS_OFFSET_800_EXFAT_UNLOCK_MUTEX 0x156CD0
|
||||
|
||||
// Misc Data
|
||||
#define FS_OFFSET_800_EXFAT_SD_MUTEX 0xFFE3E8
|
||||
#define FS_OFFSET_800_EXFAT_NAND_MUTEX 0xFF9BE8
|
||||
#define FS_OFFSET_800_EXFAT_ACTIVE_PARTITION 0xFF9C28
|
||||
#define FS_OFFSET_800_EXFAT_SDMMC_DAS_HANDLE 0xEFAA20
|
||||
|
||||
// NOPs
|
||||
#define FS_OFFSET_800_EXFAT_SHUTDOWN_SD 0xC651C
|
||||
#define FS_OFFSET_800_EXFAT_SD_DAS_INIT 0x93308
|
||||
|
||||
// Nintendo Paths
|
||||
#define FS_OFFSET_800_EXFAT_NINTENDO_PATHS \
|
||||
{ \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0008ABA0}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0008C634}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0008C828}, \
|
||||
{.opcode_reg = 3, .adrp_offset = 0x0008CC04}, \
|
||||
{.opcode_reg = 4, .adrp_offset = 0x0008CDC8}, \
|
||||
{.opcode_reg = 0, .adrp_offset = 0} \
|
||||
}
|
||||
|
||||
#endif // __FS_800_EXFAT_H__
|
Loading…
Add table
Add a link
Reference in a new issue