Newer
Older
uwuboot / include / arm9 / firm.h
@profi200 profi200 on 4 Jun 2016 518 bytes Lots of changes i don't all remember xD
#pragma once

#include <stdbool.h>
#include "types.h"
#include "mem_map.h"

#define FIRM_LOAD_ADDR  (FCRAM_BASE + 0x400000)
#define FIRM_MAX_SIZE   0x00400000



typedef struct
{
	u32 offset;
	u32 address;
	u32 size;
	u32 type;
	u8 hash[0x20];
} firm_sectionheader;

typedef struct
{
	u8 magic[4];
	u8 reserved1[4];
	u32 entrypointarm11;
	u32 entrypointarm9;
	u8 reserved2[0x30];
	firm_sectionheader section[4];
	u8 signature[0x100];
} firm_header;

bool firm_load_verify(void);
void firm_launch(void (*entry)(void));