mirror of
				https://github.com/Atmosphere-NX/Atmosphere.git
				synced 2025-11-04 04:51:16 +01:00 
			
		
		
		
	emummc: update for 12.0.0
This commit is contained in:
		
							parent
							
								
									e3e3679cfe
								
							
						
					
					
						commit
						f89cfe41da
					
				@ -51,6 +51,8 @@
 | 
				
			|||||||
#include "offsets/1020_exfat.h"
 | 
					#include "offsets/1020_exfat.h"
 | 
				
			||||||
#include "offsets/1100.h"
 | 
					#include "offsets/1100.h"
 | 
				
			||||||
#include "offsets/1100_exfat.h"
 | 
					#include "offsets/1100_exfat.h"
 | 
				
			||||||
 | 
					#include "offsets/1200.h"
 | 
				
			||||||
 | 
					#include "offsets/1200_exfat.h"
 | 
				
			||||||
#include "../utils/fatal.h"
 | 
					#include "../utils/fatal.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define GET_OFFSET_STRUCT_NAME(vers) g_offsets##vers
 | 
					#define GET_OFFSET_STRUCT_NAME(vers) g_offsets##vers
 | 
				
			||||||
@ -113,6 +115,8 @@ DEFINE_OFFSET_STRUCT(_1020);
 | 
				
			|||||||
DEFINE_OFFSET_STRUCT(_1020_EXFAT);
 | 
					DEFINE_OFFSET_STRUCT(_1020_EXFAT);
 | 
				
			||||||
DEFINE_OFFSET_STRUCT(_1100);
 | 
					DEFINE_OFFSET_STRUCT(_1100);
 | 
				
			||||||
DEFINE_OFFSET_STRUCT(_1100_EXFAT);
 | 
					DEFINE_OFFSET_STRUCT(_1100_EXFAT);
 | 
				
			||||||
 | 
					DEFINE_OFFSET_STRUCT(_1200);
 | 
				
			||||||
 | 
					DEFINE_OFFSET_STRUCT(_1200_EXFAT);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const fs_offsets_t *get_fs_offsets(enum FS_VER version) {
 | 
					const fs_offsets_t *get_fs_offsets(enum FS_VER version) {
 | 
				
			||||||
    switch (version) {
 | 
					    switch (version) {
 | 
				
			||||||
@ -186,6 +190,10 @@ const fs_offsets_t *get_fs_offsets(enum FS_VER version) {
 | 
				
			|||||||
            return &(GET_OFFSET_STRUCT_NAME(_1100));
 | 
					            return &(GET_OFFSET_STRUCT_NAME(_1100));
 | 
				
			||||||
        case FS_VER_11_0_0_EXFAT:
 | 
					        case FS_VER_11_0_0_EXFAT:
 | 
				
			||||||
            return &(GET_OFFSET_STRUCT_NAME(_1100_EXFAT));
 | 
					            return &(GET_OFFSET_STRUCT_NAME(_1100_EXFAT));
 | 
				
			||||||
 | 
					        case FS_VER_12_0_0:
 | 
				
			||||||
 | 
					            return &(GET_OFFSET_STRUCT_NAME(_1200));
 | 
				
			||||||
 | 
					        case FS_VER_12_0_0_EXFAT:
 | 
				
			||||||
 | 
					            return &(GET_OFFSET_STRUCT_NAME(_1200_EXFAT));
 | 
				
			||||||
        default:
 | 
					        default:
 | 
				
			||||||
            fatal_abort(Fatal_UnknownVersion);
 | 
					            fatal_abort(Fatal_UnknownVersion);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -74,6 +74,9 @@ enum FS_VER
 | 
				
			|||||||
    FS_VER_11_0_0,
 | 
					    FS_VER_11_0_0,
 | 
				
			||||||
    FS_VER_11_0_0_EXFAT,
 | 
					    FS_VER_11_0_0_EXFAT,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    FS_VER_12_0_0,
 | 
				
			||||||
 | 
					    FS_VER_12_0_0_EXFAT,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    FS_VER_MAX,
 | 
					    FS_VER_MAX,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										59
									
								
								emummc/source/FS/offsets/1200.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								emummc/source/FS/offsets/1200.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,59 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 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_1200_H__
 | 
				
			||||||
 | 
					#define __FS_1200_H__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Accessor vtable getters
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_SDMMC_ACCESSOR_GC   0x154FD0
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_SDMMC_ACCESSOR_SD   0x156DE0
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_SDMMC_ACCESSOR_NAND 0x155500
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Hooks
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_SDMMC_WRAPPER_READ  0x150970
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_SDMMC_WRAPPER_WRITE 0x150A30
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_RTLD                0x688
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_RTLD_DESTINATION    ((uintptr_t)(INT64_C(-0x3C)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_CLKRST_SET_MIN_V_CLK_RATE 0x14FCC0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Misc funcs
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_LOCK_MUTEX          0x29350
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_UNLOCK_MUTEX        0x293A0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_SDMMC_WRAPPER_CONTROLLER_OPEN  0x150850
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_SDMMC_WRAPPER_CONTROLLER_CLOSE 0x1508E0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Misc Data
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_SD_MUTEX            0xE3D3E8
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_NAND_MUTEX          0xE38768
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_ACTIVE_PARTITION    0xE387A8
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_SDMMC_DAS_HANDLE    0xE20DB0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// NOPs
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_SD_DAS_INIT         0x27244
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Nintendo Paths
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_NINTENDO_PATHS \
 | 
				
			||||||
 | 
					{ \
 | 
				
			||||||
 | 
						{.opcode_reg = 3, .adrp_offset = 0x0006E810, .add_rel_offset = 0x00000004}, \
 | 
				
			||||||
 | 
						{.opcode_reg = 3, .adrp_offset = 0x0007AEC0, .add_rel_offset = 0x00000004}, \
 | 
				
			||||||
 | 
						{.opcode_reg = 4, .adrp_offset = 0x00081254, .add_rel_offset = 0x00000004}, \
 | 
				
			||||||
 | 
						{.opcode_reg = 4, .adrp_offset = 0x00092850, .add_rel_offset = 0x00000004}, \
 | 
				
			||||||
 | 
						{.opcode_reg = 0, .adrp_offset = 0, .add_rel_offset = 0}, \
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // __FS_1200_H__
 | 
				
			||||||
							
								
								
									
										59
									
								
								emummc/source/FS/offsets/1200_exfat.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								emummc/source/FS/offsets/1200_exfat.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,59 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * 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_1200_EXFAT_H__
 | 
				
			||||||
 | 
					#define __FS_1200_EXFAT_H__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Accessor vtable getters
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_SDMMC_ACCESSOR_GC   0x154FD0
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_SDMMC_ACCESSOR_SD   0x156DE0
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_SDMMC_ACCESSOR_NAND 0x155500
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Hooks
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_SDMMC_WRAPPER_READ  0x150970
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_SDMMC_WRAPPER_WRITE 0x150A30
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_RTLD                0x688
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_RTLD_DESTINATION    ((uintptr_t)(INT64_C(-0x3C)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_CLKRST_SET_MIN_V_CLK_RATE 0x14FCC0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Misc funcs
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_LOCK_MUTEX          0x29350
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_UNLOCK_MUTEX        0x293A0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_SDMMC_WRAPPER_CONTROLLER_OPEN  0x150850
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_SDMMC_WRAPPER_CONTROLLER_CLOSE 0x1508E0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Misc Data
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_SD_MUTEX            0xE4B3E8
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_NAND_MUTEX          0xE46768
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_ACTIVE_PARTITION    0xE467A8
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_SDMMC_DAS_HANDLE    0xE2EDB0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// NOPs
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_SD_DAS_INIT         0x27244
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Nintendo Paths
 | 
				
			||||||
 | 
					#define FS_OFFSET_1200_EXFAT_NINTENDO_PATHS \
 | 
				
			||||||
 | 
					{ \
 | 
				
			||||||
 | 
						{.opcode_reg = 3, .adrp_offset = 0x0006E810, .add_rel_offset = 0x00000004}, \
 | 
				
			||||||
 | 
						{.opcode_reg = 3, .adrp_offset = 0x0007AEC0, .add_rel_offset = 0x00000004}, \
 | 
				
			||||||
 | 
						{.opcode_reg = 4, .adrp_offset = 0x00081254, .add_rel_offset = 0x00000004}, \
 | 
				
			||||||
 | 
						{.opcode_reg = 4, .adrp_offset = 0x00092850, .add_rel_offset = 0x00000004}, \
 | 
				
			||||||
 | 
						{.opcode_reg = 0, .adrp_offset = 0, .add_rel_offset = 0}, \
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // __FS_1200_EXFAT_H__
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user