installをsubmake側で上書き指定できるように位置変更

yamlにて
  Option : 
    RomSpecTemplate : Name_RSF_Template
でRSFテンプレを指定できるような機能追加
例:
  Option :
    RomSpecTemplate : ../rsf/ROM-TS_custom.rsf

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2044 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yoshida_teruhisa 2008-07-31 03:40:15 +00:00
parent d30893e0d3
commit 3d99128298
3 changed files with 328 additions and 5 deletions

View File

@ -98,7 +98,7 @@ SRCDIR = $(BASEDIR)/src
INCDIR = $(BASEDIR)/include INCDIR = $(BASEDIR)/include
SRCS = main.c font.c screen.c SRCS = main.c font.c screen.c
BANNERSRC := $(wildcard ../banner/dummy/Cell/*.nce) BANNERSRC := $(wildcard ../banner/dummy/Cell/*.nce)
INSTALL_DIR = ../roms
TARGET_PLATFORM := TWL TARGET_PLATFORM := TWL
TWL_ARCHGEN := LIMITED TWL_ARCHGEN := LIMITED
@ -166,7 +166,6 @@ ROM_SPEC = twl_$(GAMECODE).rsf
#SRCDIR = # using default #SRCDIR = # using default
#LCFILE = # using default #LCFILE = # using default
INSTALL_DIR = ../roms
INSTALL_TARGETS = $(BINDIR)/$(TARGET_BIN) INSTALL_TARGETS = $(BINDIR)/$(TARGET_BIN)
include $(TWLSDK_ROOT)/build/buildtools/commondefs include $(TWLSDK_ROOT)/build/buildtools/commondefs

View File

@ -0,0 +1,319 @@
#----------------------------------------------------------------------------
# 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 "MY APP NAME"
#
# 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 ./etc/rom_header.template.sbin
#
# BANNER FILE: generated from Banner Spec File
#
#BannerFile ./etc/myGameBanner.bnr
BannerFile $(TWLSDK_ROOT)/include/twl/specfiles/default.bnr
#
# Permit LandingNormalJump: for TWL "ApplicationJump" function [TRUE/FALSE]
#
#PermitLandingNormalJump FALSE
#
# Permit LandingTmpJump: for TWL "ApplicationJump" function [TRUE/FALSE]
#
#PermitLandingTmpJump FALSE
###
### 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
#
# CommonClientKey: launcher deliver common client Key [TRUE/FALSE]
#
#CommonClientKey FALSE
#
# HwAESSlotA_SSLClientCert: launcher deliver HW AES slot A setting [TRUE/FALSE]
#
#HwAESSlotA_SSLClientCert FALSE
#
# HwAESSlotB: launcher deliver HW AES slot B setting [TRUE/FALSE]
#
#HwAESSlotB FALSE
#
# HwAESSlotB for Sign JPEG for Launcher: launcher deliver HW AES slot B setting for Sign JPEG for Launcher [TRUE/FALSE]
#
#HwAESSlotB_SignJPEGForLauncher FALSE
#
# HwAESSlotC: launcher deliver HW AES slot C setting [TRUE/FALSE]
#
#HwAESSlotC FALSE
#
# SDCardAccess: sd card access control [TRUE/FALSE]
#
#SDCardAccess FALSE
#
# NANDAccess: NAND access control [TRUE/FALSE]
#
#NANDAccess FALSE
#
# 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
#
# Disable debug [TRUE/FALSE]
#
DisableDebug FALSE
#
# Agree EULA [TRUE/FALSE]
#
#AgreeEULA FALSE
#
# Agree EULA version [1 - 255]
#
#AgreeEULAVersion 1
###
#### END
}
AppendProperty
{
#
# Publisher : "Nintendo"
# don't have to edit
#Publisher Nintendo
#
# Application type : [USER/SYSTEM]
# don't have to edit
AppType USER
#
# launch title on the launcher : [TRUE/FALSE]
# don't have to edit
#Launch TRUE
#
# Boot allowed Media: [GameCard]
#
Media NAND
#
# Data only title : [TRUE/FALSE]
# don't have to edit
#DataOnly FALSE
#
# Secure title : [TRUE/FALSE]
# don't have to edit
#Secure FALSE
#
# 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
#
# Shared2 file size: [DISABLE/0-4194304/0K-4096K/0M-4M]
#
#Shared2File0Size Disable
#Shared2File1Size Disable
#Shared2File2Size Disable
#Shared2File3Size Disable
#Shared2File4Size Disable
#Shared2File5Size Disable
}
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

@ -16,6 +16,7 @@ rsfkey = 'RSF'
bnrkey = 'Banner' bnrkey = 'Banner'
eulakey = 'EULA' eulakey = 'EULA'
ratingkey = 'Rating' ratingkey = 'Rating'
optkey = 'Option'
#----- gamecodes ファイルの生成 ------------------------------------ #----- gamecodes ファイルの生成 ------------------------------------
try: try:
@ -48,6 +49,7 @@ for num in romparam.keys():
print 'config.py : can not open %s file' % codepath print 'config.py : can not open %s file' % codepath
continue continue
else: else:
romspectemplate = ''
#----- MAKETAD_OPTION, ROM_SPEC_TEMPLATE の指定 #----- MAKETAD_OPTION, ROM_SPEC_TEMPLATE の指定
if romparam[num][rsfkey].get('AppType') == 'SYSTEM': if romparam[num][rsfkey].get('AppType') == 'SYSTEM':
#----- MAKEROM の指定 #----- MAKEROM の指定
@ -56,13 +58,16 @@ for num in romparam.keys():
else: else:
codeparam.write('MAKEROM := $(TWL_TOOLSDIR)/bin/makerom.TWL.sys.exe\n') codeparam.write('MAKEROM := $(TWL_TOOLSDIR)/bin/makerom.TWL.sys.exe\n')
codeparam.write('MAKETAD_OPTION += -s\n') codeparam.write('MAKETAD_OPTION += -s\n')
codeparam.write('ROM_SPEC_TEMPLATE = $(ROOT)/include/twl/specfiles/ROM-TS_sys.rsf\n') romspectemplate = '$(ROOT)/include/twl/specfiles/ROM-TS_sys.rsf'
else: else:
# 暫定対処 include/twl/specfiles 以下をきちんと使うように変更する必要がある # 暫定対処 include/twl/specfiles 以下をきちんと使うように変更する必要がある
if testtype == 'PARENTAL': if testtype == 'PARENTAL':
codeparam.write('ROM_SPEC_TEMPLATE = ../config/ROM-TS_nand_forPARENTAL.rsf\n') romspectemplate = '../config/ROM-TS_nand_forPARENTAL.rsf'
else: else:
codeparam.write('ROM_SPEC_TEMPLATE = $(ROOT)/include/twl/specfiles/ROM-TS_nand.rsf\n') romspectemplate = '$(ROOT)/include/twl/specfiles/ROM-TS_nand.rsf'
if romparam[num].has_key(optkey) and romparam[num][optkey].has_key('RomSpecTemplate'):
romspectemplate = romparam[num][optkey].get('RomSpecTemplate')
codeparam.write(''.join(['ROM_SPEC_TEMPLATE = ',romspectemplate,'\n']))
#----- ROM_SPEC_OPTIONS key の抽出 #----- ROM_SPEC_OPTIONS key の抽出
if romparam[num][rsfkey].get('AppType') == 'SYSTEM': if romparam[num][rsfkey].get('AppType') == 'SYSTEM':