mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
makegcdfirmへROMヘッダテンプレートを指定するオプション追加。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@402 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
89e0f3c708
commit
72ca446dc2
@ -40,6 +40,12 @@ MAKEFIRM_DEFS += -DFIRM_ROOT='$(FIRM_ROOT)' \
|
||||
-DMAKEFIRM_ARM7='$(basename $(MAKEFIRM_ARM7))' \
|
||||
-DMAKEFIRM_RSA_PRVKEY='$(MAKEFIRM_RSA_PRVKEY)' \
|
||||
|
||||
ifdef TWL_KEYSDIR
|
||||
MAKEFIRM_FLAGS += -t'$(TWL_KEYSDIR)/blowfish/gcdfirm_header_twlj.template.sbin'
|
||||
else
|
||||
MAKEFIRM_FLAGS += -t'$(FIRM_ROOT)/build/tools/makegcdfirm/gcdfirm_header_twlj.template.sbin'
|
||||
endif
|
||||
|
||||
FIRM_SDEPENDS_BIN = $(MAKEFIRM_RSA_PRVKEY) $(MAKEFIRM_ARM9) $(MAKEFIRM_ARM7)
|
||||
|
||||
|
||||
|
||||
@ -167,20 +167,6 @@ SDK_WEAK_SYMBOL asm void _start( void )
|
||||
mov r2, #HW_DTCM_SIZE
|
||||
bl INITi_CpuClear32
|
||||
|
||||
#if 0
|
||||
// BG/OBJ palette (1KB)
|
||||
mov r0, #0
|
||||
ldr r1, =HW_PLTT
|
||||
mov r2, #HW_PLTT_SIZE
|
||||
bl INITi_CpuClear32
|
||||
|
||||
// OAM (1KB)
|
||||
mov r0, #0x0200
|
||||
ldr r1, =HW_OAM
|
||||
mov r2, #HW_OAM_SIZE
|
||||
bl INITi_CpuClear32
|
||||
#endif
|
||||
|
||||
//---- load autoload block and initialize bss
|
||||
// bl INITi_DoAutoload
|
||||
#ifndef SDK_FINALROM // for IS-TWL-DEBUGGER
|
||||
|
||||
Binary file not shown.
@ -24,7 +24,7 @@
|
||||
#include "defval.h"
|
||||
#include "version.h"
|
||||
|
||||
static int makegcdfirm(const char *specFile, const char *norFile);
|
||||
static int makegcdfirm(const char *specFile, const char *norFile, const char *rhFile);
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Main
|
||||
@ -35,10 +35,11 @@ int main(int argc, char *argv[])
|
||||
int n;
|
||||
int narg;
|
||||
char *gcdfirmFile;
|
||||
char *rhFile = NULL;
|
||||
|
||||
InitAppName(argv[0]);
|
||||
|
||||
while ((n = getopt(argc, argv, "D:hvpd")) != -1)
|
||||
while ((n = getopt(argc, argv, "D:hvt:pd")) != -1)
|
||||
{
|
||||
switch (n)
|
||||
{
|
||||
@ -50,6 +51,10 @@ int main(int argc, char *argv[])
|
||||
AddDefVal(optarg);
|
||||
break;
|
||||
|
||||
case 't':
|
||||
rhFile = optarg;
|
||||
break;
|
||||
|
||||
case 'p':
|
||||
PrintMode = TRUE;
|
||||
break;
|
||||
@ -70,7 +75,7 @@ int main(int argc, char *argv[])
|
||||
gcdfirmFile =
|
||||
strdup(narg >
|
||||
1 ? argv[optind + 1] : ChangeSuffix(argv[optind], DEFAULT_NORFIRM_SUFFIX));
|
||||
return makegcdfirm(argv[optind], gcdfirmFile);
|
||||
return makegcdfirm(argv[optind], gcdfirmFile, rhFile);
|
||||
}
|
||||
|
||||
usage:
|
||||
@ -80,7 +85,7 @@ int main(int argc, char *argv[])
|
||||
fprintf(stderr,
|
||||
"NITRO-SDK Development Tool - %s - Make gcdfirm file \n"
|
||||
"Build %lu\n\n"
|
||||
"Usage: %s [-phv] [-DNAME=VALUE ...] SPECFILE [NORFIRMFILE]\n\n",
|
||||
"Usage: %s [-phv] [-tROMHEADERFILE] [-DNAME=VALUE ...] SPECFILE [NORFIRMFILE]\n\n",
|
||||
makegcdfirm, SDK_DATE_OF_LATEST_FILE, makegcdfirm);
|
||||
}
|
||||
return 1;
|
||||
@ -91,7 +96,7 @@ int main(int argc, char *argv[])
|
||||
// makegcdfirm
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
static int makegcdfirm(const char *specFile, const char *norFile)
|
||||
static int makegcdfirm(const char *specFile, const char *norFile, const char *rhFile)
|
||||
{
|
||||
debug_printf("makegcdfirm(): '%s' -> '%s'\n", specFile, norFile);
|
||||
|
||||
@ -102,5 +107,5 @@ static int makegcdfirm(const char *specFile, const char *norFile)
|
||||
return 1;
|
||||
}
|
||||
|
||||
return OutputGcdfirmFile(specFile, norFile) ? 0 : 1;
|
||||
return OutputGcdfirmFile(specFile, norFile, rhFile) ? 0 : 1;
|
||||
}
|
||||
|
||||
@ -19,6 +19,6 @@
|
||||
|
||||
#include "misc.h"
|
||||
|
||||
BOOL OutputGcdfirmFile(const char *specFile, const char *gcdFile);
|
||||
BOOL OutputGcdfirmFile(const char *specFile, const char *gcdFile, const char *rhFile);
|
||||
|
||||
#endif //MAKEGCDFIRM_H_
|
||||
|
||||
@ -83,7 +83,7 @@ static BOOL NandFirm_Command(char * line, int num);
|
||||
static BOOL ERROR_Command(char * line, int num);
|
||||
|
||||
static BOOL InitializeAesKey(void);
|
||||
static BOOL InitializeGcdfirmFile(void);
|
||||
static BOOL InitializeGcdfirmFile(const char *rhFile);
|
||||
static BOOL FinalizeGcdfirmFile(const char *gcdFile);
|
||||
|
||||
static s32 Offset; // Current offset
|
||||
@ -101,7 +101,7 @@ tErrorFlags errFlags;
|
||||
// Output - gcdfirm File
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
BOOL OutputGcdfirmFile(const char *specFile, const char *gcdFile)
|
||||
BOOL OutputGcdfirmFile(const char *specFile, const char *gcdFile, const char *rhFile)
|
||||
{
|
||||
char *buffer;
|
||||
BOOL state;
|
||||
@ -118,7 +118,7 @@ BOOL OutputGcdfirmFile(const char *specFile, const char *gcdFile)
|
||||
|
||||
specFileName = specFile;
|
||||
|
||||
state = InitializeGcdfirmFile() && ConstructGcdfirmFile(buffer) &&
|
||||
state = InitializeGcdfirmFile( rhFile ) && ConstructGcdfirmFile(buffer) &&
|
||||
FinalizeGcdfirmFile(gcdFile) && CloseFile();
|
||||
|
||||
if (!state)
|
||||
@ -933,9 +933,14 @@ static BOOL InitializeAesKey(void)
|
||||
// Output - Initialize Gcdfirm File
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
static BOOL InitializeGcdfirmFile(void)
|
||||
static BOOL InitializeGcdfirmFile(const char *rhFile)
|
||||
{
|
||||
ReadRomHeaderFile( GetSrcPath(GetAppBaseName(), DEFAULT_ROMHEADER_TEMPLATE) );
|
||||
if ( !rhFile )
|
||||
{
|
||||
rhFile = GetSrcPath(GetAppBaseName(), DEFAULT_ROMHEADER_TEMPLATE);
|
||||
}
|
||||
|
||||
ReadRomHeaderFile( rhFile );
|
||||
|
||||
memset(&signedContext.hash[FIRM_SIGNED_HASH_IDX_HASH_TABLE], 0x00, sizeof(signedContext.hash[0]));
|
||||
gcdHeader.h.w = wram_regs_init;
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user