07f92c2489
compatibility list ( http://crediar.no-ip.com/gc ) Please come to #DM on efnet if you want to help! IMPORTANT: The config version has been updated to 2! updated DM to version 2.1 *Improved patch code and made it more versatile *Improved .elf patching code (fixes Nightfire) *Improved No Disc patching *Added a hack for PSO I&II EUR/USA *Added the wide screen hack by Extrems *The NODISC config setting has been removed since it's been unused since 1.0 *Removed USBGecko debug output git-svn-id: svn://localhost/Users/andi/Downloads/code/trunk@18 be6c1b03-d731-4111-a574-e37d80d43941
75 lines
2.0 KiB
C
75 lines
2.0 KiB
C
/*
|
|
|
|
preloader 0.30 - A tool which allows to change the default boot up sequence on the Wii console
|
|
|
|
Copyright (C) 2008-2009 crediar
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation version 2.
|
|
|
|
This program is distributed in the hope that 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, write to the Free Software
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
|
|
*/
|
|
|
|
#define EI_NIDENT 16
|
|
|
|
typedef struct {
|
|
unsigned char e_ident[EI_NIDENT];
|
|
unsigned short e_type;
|
|
unsigned short e_machine;
|
|
unsigned int e_version;
|
|
unsigned int e_entry;
|
|
unsigned int e_phoff;
|
|
unsigned int e_shoff;
|
|
unsigned int e_flags;
|
|
unsigned short e_ehsize;
|
|
unsigned short e_phentsize;
|
|
unsigned short e_phnum;
|
|
unsigned short e_shentsize;
|
|
unsigned short e_shnum;
|
|
unsigned short e_shstrndx;
|
|
} __attribute__((packed)) Elf32_Ehdr;
|
|
|
|
typedef struct {
|
|
unsigned int sh_name;
|
|
unsigned int sh_type;
|
|
unsigned int sh_flags;
|
|
unsigned int sh_addr;
|
|
unsigned int sh_offset;
|
|
unsigned int sh_size;
|
|
unsigned int sh_link;
|
|
unsigned int sh_info;
|
|
unsigned int sh_addralign;
|
|
unsigned int sh_entsize;
|
|
} __attribute__((packed)) Elf32_Shdr;
|
|
|
|
typedef struct {
|
|
unsigned int p_type;
|
|
unsigned int p_offset;
|
|
unsigned int p_vaddr;
|
|
unsigned int p_paddr;
|
|
unsigned int p_filesz;
|
|
unsigned int p_memsz;
|
|
unsigned int p_flags;
|
|
unsigned int p_align;
|
|
} __attribute__((packed)) Elf32_Phdr;
|
|
|
|
#define EI_MAG0 0
|
|
#define EI_MAG1 1
|
|
#define EI_MAG2 2
|
|
#define EI_MAG3 3
|
|
#define EI_CLASS 4
|
|
#define EI_DATA 5
|
|
#define EI_VERSION 6
|
|
#define EI_PAD 7
|
|
#define EI_NIDENT 16 //size of ident
|