This repository has been archived on 2022-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
Luma3DS-3GX/source/firm.h

44 lines
785 B
C
Raw Normal View History

2015-08-05 03:57:37 +02:00
/*
* firm.h
* by Reisyukaku / Aurora Wright
* Copyright (c) 2016 All Rights Reserved
2015-08-05 03:57:37 +02:00
*/
2016-03-06 03:41:07 +01:00
#pragma once
2015-08-05 03:57:37 +02:00
#include "types.h"
2016-04-02 22:02:08 +02:00
#define PDN_MPCORE_CFG (*(vu32 *)0x10140FFC)
#define PDN_SPI_CNT (*(vu32 *)0x101401C0)
2016-02-08 03:37:03 +01:00
//FIRM Header layout
typedef struct firmSectionHeader {
u32 offset;
u8 *address;
u32 size;
u32 procType;
u8 hash[0x20];
} firmSectionHeader;
typedef struct firmHeader {
u32 magic;
u32 reserved1;
u8 *arm11Entry;
u8 *arm9Entry;
u8 reserved2[0x30];
firmSectionHeader section[4];
} firmHeader;
2016-04-05 05:27:28 +02:00
typedef struct patchData {
u32 offset[2];
union {
u8 type0[8];
u16 type1;
} patch;
u32 type;
} patchData;
void setupCFW(void);
void loadFirm(void);
void patchFirm(void);
void launchFirm(void);