mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
FakeRomHeader:署名をせずにCRCだけつけかえるNTR用オプション(-N)を追加。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2746 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
5c572cca17
commit
7e043ef067
@ -67,6 +67,7 @@ typedef struct _SContext
|
|||||||
BOOL bCheckCard;
|
BOOL bCheckCard;
|
||||||
int verNum;
|
int verNum;
|
||||||
BOOL bMROM;
|
BOOL bMROM;
|
||||||
|
BOOL bNTR;
|
||||||
|
|
||||||
FILE *ifp;
|
FILE *ifp;
|
||||||
FILE *ofp;
|
FILE *ofp;
|
||||||
@ -112,6 +113,7 @@ void usage()
|
|||||||
printf( "-m : [Only NTR limited ROM] Rom speed type replace 1TROM from MROM.\n" );
|
printf( "-m : [Only NTR limited ROM] Rom speed type replace 1TROM from MROM.\n" );
|
||||||
printf( "-D : assert a disable flag of debugger alalysis.\n" );
|
printf( "-D : assert a disable flag of debugger alalysis.\n" );
|
||||||
printf( "-c : assert a check(inspection) card flag.\n" );
|
printf( "-c : assert a check(inspection) card flag.\n" );
|
||||||
|
printf( "-N : skip sign [using for NTR limited ROM]" );
|
||||||
printf( "-f : force to overwrite a output_file.\n" );
|
printf( "-f : force to overwrite a output_file.\n" );
|
||||||
printf( "-----------------------------------------------------------------------------\n" );
|
printf( "-----------------------------------------------------------------------------\n" );
|
||||||
}
|
}
|
||||||
@ -135,7 +137,7 @@ int main(int argc, char *argv[])
|
|||||||
memset( &context, 0, sizeof(SContext) );
|
memset( &context, 0, sizeof(SContext) );
|
||||||
|
|
||||||
// オプション
|
// オプション
|
||||||
while( (opt = getopt(argc, argv, "hpsdmv:Dcf")) >= 0 )
|
while( (opt = getopt(argc, argv, "hpsdmv:DcfN")) >= 0 )
|
||||||
{
|
{
|
||||||
switch( opt )
|
switch( opt )
|
||||||
{
|
{
|
||||||
@ -173,10 +175,14 @@ int main(int argc, char *argv[])
|
|||||||
context.bCheckCard = TRUE;
|
context.bCheckCard = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'N':
|
||||||
|
context.bNTR = TRUE;
|
||||||
|
break;
|
||||||
|
|
||||||
case 'f':
|
case 'f':
|
||||||
bForceOverwrite = TRUE;
|
bForceOverwrite = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: // オプション引数が指定されていないときにも実行される
|
default: // オプション引数が指定されていないときにも実行される
|
||||||
usage();
|
usage();
|
||||||
fprintf( stdout, "error: illegal option\n" );
|
fprintf( stdout, "error: illegal option\n" );
|
||||||
@ -357,13 +363,17 @@ static BOOL iMain( SContext *pContext )
|
|||||||
rh.s.header_crc16 = CalcCRC16( CRC16_INIT_VALUE, (u8*)&rh, CALC_CRC16_SIZE );
|
rh.s.header_crc16 = CalcCRC16( CRC16_INIT_VALUE, (u8*)&rh, CALC_CRC16_SIZE );
|
||||||
|
|
||||||
// 署名
|
// 署名
|
||||||
if( !(pContext->bMROM) ) // NTR専用オプションのときは署名しない
|
if( !(pContext->bMROM) && !(pContext->bNTR) ) // NTR専用オプションのときは署名しない
|
||||||
{
|
{
|
||||||
if( !SignRomHeader( &rh ) )
|
if( !SignRomHeader( &rh ) )
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf( "skip sign\n" );
|
||||||
|
}
|
||||||
|
|
||||||
// ファイルをコピる
|
// ファイルをコピる
|
||||||
fseek( pContext->ifp, 0, SEEK_END );
|
fseek( pContext->ifp, 0, SEEK_END );
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user