CardRomHeaderChecker DLプレイ用のROMも作成できるように

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2754 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2009-02-25 01:29:34 +00:00
parent e13eda1c21
commit a162b0dc93
3 changed files with 343 additions and 48 deletions

View File

@ -0,0 +1,44 @@
#! make -f
#----------------------------------------------------------------------------
# Project: TwlSDK - tests - appjumpTest - Card
# File: Makefile
#
# Copyright 2008 Nintendo. All rights reserved.
#
# These coded instructions, statements, and computer programs contain
# proprietary information of Nintendo of America Inc. and/or Nintendo
# Company Ltd., and are protected by Federal copyright law. They may
# not be disclosed to third parties or copied or duplicated in any form,
# in whole or in part, without the prior written consent of Nintendo.
#
# $Date:: $
# $Rev$
# $Author$
#----------------------------------------------------------------------------
TARGET_PLATFORM := TWL
TWL_NANDAPP := TRUE
override TWL_ARCHGEN = HYBRID
SUBDIRS = ../common/banner \
$(ROOT)/build/demos/gx/UnitTours/DEMOLib
TARGET_BIN = CardRomHeaderChecker.tad
#INCDIR = ../common/include
SRCDIR = ../common/src
SRCS = main.c
ROM_SPEC = ./ROM-TS_nand.HYB.rsf
#----------------------------------------------------------------------------
include $(TWLSDK_ROOT)/build/buildtools/commondefs
include $(TWLSDK_ROOT)/build/buildtools/commondefs.gx.demolib
do-build: $(TARGETS)
#----------------------------------------------------------------------------
include $(TWLSDK_ROOT)/build/buildtools/modulerules
#===== End of Makefile =====

View File

@ -0,0 +1,243 @@
#----------------------------------------------------------------------------
# Project: TwlSDK - include
# File: ROM-TS.rsf
#
# Copyright 2007 Nintendo. All rights reserved.
#
# These coded insructions, statements, and computer programs contain
# proprietary information of Nintendo of America Inc. and/or Nintendo
# Company Ltd., and are protected by Federal copyright law. They may
# not be disclosed to third parties or copied or duplicated in any form,
# in whole or in part, without the prior written consent of Nintendo.
#
# $Date:: $
# $Rev$
# $Author$
#----------------------------------------------------------------------------
#
# TWL ROM SPEC FILE
#
Arm9
{
Static "$(MAKEROM_ARM9:r).TWL.FLX.sbin$(COMPSUFFIX9)"
OverlayDefs "$(MAKEROM_ARM9:r)_defs.TWL.FLX.sbin$(COMPSUFFIX9)"
OverlayTable "$(MAKEROM_ARM9:r)_table.TWL.FLX.sbin$(COMPSUFFIX9)"
Elf "$(MAKEROM_ARM9:r).tef"
}
Arm7
{
Static "$(MAKEROM_ARM7_BASE:r).TWL.FLX.sbin$(COMPSUFFIX7)"
OverlayDefs "$(MAKEROM_ARM7_BASE:r)_defs.TWL.FLX.sbin$(COMPSUFFIX7)"
OverlayTable "$(MAKEROM_ARM7_BASE:r)_table.TWL.FLX.sbin$(COMPSUFFIX7)"
Elf "$(MAKEROM_ARM7_BASE:r).tef"
}
Arm9.Ltd
{
Static "$(MAKEROM_ARM9:r).TWL.LTD.sbin$(COMPSUFFIX9)"
OverlayDefs "$(MAKEROM_ARM9:r)_defs.TWL.LTD.sbin$(COMPSUFFIX9)"
OverlayTable "$(MAKEROM_ARM9:r)_table.TWL.LTD.sbin$(COMPSUFFIX9)"
}
Arm7.Ltd
{
Static "$(MAKEROM_ARM7_BASE:r).TWL.LTD.sbin$(COMPSUFFIX7)"
OverlayDefs "$(MAKEROM_ARM7_BASE:r)_defs.TWL.LTD.sbin$(COMPSUFFIX7)"
OverlayTable "$(MAKEROM_ARM7_BASE:r)_table.TWL.LTD.sbin$(COMPSUFFIX7)"
}
Property
{
###
### Settings for FinalROM
###
#### BEGIN
#
# TITLE NAME: Your product name within 12bytes
#
TitleName "CardRH Check"
#
# MAKER CODE: Your company ID# in 2 ascii words
# issued by NINTENDO
#
#MakerCode "00"
#
# REMASTER VERSION: Mastering version
#
#RomVersion 0
#
# ROM SPEED TYPE: [MROM/1TROM/UNDEFINED]
#
RomSpeedType $(MAKEROM_ROMSPEED)
#
# ROM SIZE: in bit [64M/128M/256M/512M/1G/2G/4G]
#
#RomSize 256M
#
# ROM PADDING: TRUE if finalrom
#
#RomFootPadding TRUE
#
# ROM HEADER TEMPLATE: Provided to every product by NINTENDO
#
RomHeaderTemplate ../common/0CZA/rom_header_0cza.template.sbin
#
# BANNER FILE: generated from Banner Spec File
#
BannerFile ../common/banner/banner.bnr
#
# Permit LandingNormalJump: for TWL "ApplicationJump" function [TRUE/FALSE]
#
PermitLandingNormalJump TRUE
#
# Permit LandingTmpJump: for TWL "ApplicationJump" function [TRUE/FALSE]
#
PermitLandingTmpJump TRUE
###
### Setting for TWL
###
#
# ROM HEADER Ltd: Provided to every product by NINTENDO
#
RomHeaderLtd $(TWLSDK_ROOT)/tools/bin/rom_header.LTD.sbin
#
# Digest parameters:
#
DigestParam 1024 32
#
# WRAM mapping: [MAP_BB_HYB/MAP_BB_LTD/MAP_TS_HYB/MAP_TS_LTD
# MAP2_BB_HYB/MAP2_BB_LTD/MAP2_TS_HYB/MAP2_TS_LTD]
# don't have to edit
#
WramMapping $(MAKEROM_WRAM_MAPPING)
#
# CardRegion: card region [Japan/America/Europe/Australia/China/Korea]
#
CardRegion ALL
#
# Codec mode:
# don't have to edit
#
CodecMode $(MAKEROM_CODEC_MODE)
#
# Disp WiFiConnection Icon for Launcher [TRUE/FALSE]
#
#WiFiConnectionIcon FALSE
#
# Disp DSWireless Icon for Launcher [TRUE/FALSE]
#
#DSWirelessIcon FALSE
#
# Agree EULA [TRUE/FALSE]
#
#AgreeEULA FALSE
#
# Agree EULA version [1 - 255]
#
#AgreeEULAVersion 1
###
#### END
}
AppendProperty
{
#
# Boot allowed Media: [GameCard]
#
Media NAND
#
# GameCode for TitleID : Your GameCode in 4 ascii words
#
#GameCode ABCJ
#
# Public save data size: [0K/16K/32K/64K/128K/256K/512K/1M/2M/4M]
#
#PublicSaveDataSize 0K
#
# Private save data size: [0K/16K/32K/64K/128K/256K/512K/1M/2M/4M]
#
#PrivateSaveDataSize 0K
#
# Enable SubBannerFile
#SubBannerFile TRUE
#
# Game card power on: [TRUE/FALSE]
#
#GameCardOn FALSE
#
# Game card transferd to nitro mode: [TRUE/FALSE]
#
#GameCardNitroMode FALSE
}
RomSpec
{
Offset 0x00000000
Segment ALL
HostRoot $(MAKEROM_ROMROOT)
Root /
File $(MAKEROM_ROMFILES)
}
Rating
{
#
# Permited age to play for each rating organization
#
# Supported organization
# - CERO (OGN0) : for Japan
# - ESRB (OGN1) : for North America
# - BBFC (OGN2) : obsolete organization
# - USK (OGN3) : for German
# - PEGI_GEN (OGN4) : for Europe
# - PEGI_FINLAND (OGN5) : obsolete organization
# - PEGI_PRT (OGN6) : for Portugal
# - PEGI_BBFC (OGN7) : for UK
# - OFLC (OGN8) : for Australia and NewZealand
# - GRB (OGN9) : for Korea
# - OGN10 : reserved
# - OGN11 : reserved
# - OGN12 : reserved
# - OGN13 : reserved
# - OGN14 : reserved
# - OGN15 : reserved
#
# Available age [ 0 - 31 / PENDING / FREE ]
CERO FREE
# ESRB FREE
# USK FREE
# PEGI_GEN FREE
# PEGI_PRT FREE
# PEGI_BBFC FREE
# OFLC FREE
# GRB FREE
}

View File

@ -107,56 +107,64 @@ void TwlMain(void)
DEMOSetBitmapTextColor(COLOR_YELLOW);
DEMODrawText( 8, row, "TWL Card ROM Header" );
row += 2 * shift;
DEMOSetBitmapTextColor(LABEL_COLOR);
DEMODrawText( 8, row, "Title Name: " );
MI_CpuClear8( str, 100 );
MI_CpuCopy8( prhTWL->s.title_name, str, TITLE_NAME_MAX );
DEMOSetBitmapTextColor(VALUE_COLOR);
DEMODrawText( 96, row, str );
row += shift;
DEMOSetBitmapTextColor(LABEL_COLOR);
DEMODrawText( 8, row, "Game Code: " );
MI_CpuClear8( str, 100 );
MI_CpuCopy8( prhTWL->s.game_code, str, GAME_CODE_MAX );
DEMOSetBitmapTextColor(VALUE_COLOR);
DEMODrawText( 96, row, str );
row += shift;
DEMOSetBitmapTextColor(LABEL_COLOR);
DEMODrawText( 8, row, "TitleID_Hi: " );
prhTWL = (ROM_Header*)HW_TWL_CARD_ROM_HEADER_BUF;
DEMOSetBitmapTextColor(VALUE_COLOR);
DEMODrawText( 96, row, "0x%08x", prhTWL->s.titleID_Hi );
row += shift;
DEMOSetBitmapTextColor(LABEL_COLOR);
DEMODrawText( 8, row, "TitleID_Lo: " );
MI_CpuClear8( str, 100 );
MI_CpuCopy8( prhTWL->s.titleID_Lo, str, 4 );
DEMOSetBitmapTextColor(VALUE_COLOR);
DEMODrawText( 96, row, str );
row += shift;
DEMOSetBitmapTextColor(LABEL_COLOR);
DEMODrawText( 8, row, "Header CRC:" );
DEMOSetBitmapTextColor(VALUE_COLOR);
DEMODrawText( 96, row, "0x%04x", prhTWL->s.header_crc16 );
row += shift;
crc = CalcCRC16( CRC16_INIT_VALUE, (u8*)prhTWL, CALC_CRC16_SIZE );
if( crc == prhTWL->s.header_crc16 )
if( OS_IsRunOnTwl() )
{
DEMOSetBitmapTextColor(OK_COLOR);
DEMODrawText( 96, row, "0x%04x OK", crc );
}
else
DEMOSetBitmapTextColor(LABEL_COLOR);
DEMODrawText( 8, row, "Title Name: " );
MI_CpuClear8( str, 100 );
MI_CpuCopy8( prhTWL->s.title_name, str, TITLE_NAME_MAX );
DEMOSetBitmapTextColor(VALUE_COLOR);
DEMODrawText( 96, row, str );
row += shift;
DEMOSetBitmapTextColor(LABEL_COLOR);
DEMODrawText( 8, row, "Game Code: " );
MI_CpuClear8( str, 100 );
MI_CpuCopy8( prhTWL->s.game_code, str, GAME_CODE_MAX );
DEMOSetBitmapTextColor(VALUE_COLOR);
DEMODrawText( 96, row, str );
row += shift;
DEMOSetBitmapTextColor(LABEL_COLOR);
DEMODrawText( 8, row, "TitleID_Hi: " );
prhTWL = (ROM_Header*)HW_TWL_CARD_ROM_HEADER_BUF;
DEMOSetBitmapTextColor(VALUE_COLOR);
DEMODrawText( 96, row, "0x%08x", prhTWL->s.titleID_Hi );
row += shift;
DEMOSetBitmapTextColor(LABEL_COLOR);
DEMODrawText( 8, row, "TitleID_Lo: " );
MI_CpuClear8( str, 100 );
MI_CpuCopy8( prhTWL->s.titleID_Lo, str, 4 );
DEMOSetBitmapTextColor(VALUE_COLOR);
DEMODrawText( 96, row, str );
row += shift;
DEMOSetBitmapTextColor(LABEL_COLOR);
DEMODrawText( 8, row, "Header CRC:" );
DEMOSetBitmapTextColor(VALUE_COLOR);
DEMODrawText( 96, row, "0x%04x", prhTWL->s.header_crc16 );
row += shift;
crc = CalcCRC16( CRC16_INIT_VALUE, (u8*)prhTWL, CALC_CRC16_SIZE );
if( crc == prhTWL->s.header_crc16 )
{
DEMOSetBitmapTextColor(OK_COLOR);
DEMODrawText( 96, row, "0x%04x OK", crc );
}
else
{
DEMOSetBitmapTextColor(NG_COLOR);
DEMODrawText( 96, row, "0x%04x NG", crc );
}
row += 2 * shift;
}else
{
DEMOSetBitmapTextColor(NG_COLOR);
DEMODrawText( 96, row, "0x%04x NG", crc );
}
row += 2 * shift;
DEMOSetBitmapTextColor(GX_RGBA(31, 31, 31, 1));
DEMODrawText( 8, row, "Running on NITRO Mode." );
row += 2 * shift;
}
DEMOSetBitmapTextColor(GX_RGBA(31, 31, 31, 1));
DEMODrawText( 8, row, "End." );