mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@3061 b08762b0-b915-fc4b-9d8c-17b2551a87ff |
||
|---|---|---|
| .. | ||
| commondefs.DSHashTable | ||
| DSHashTable.bin | ||
| DSHashTableAdHoc.bin | ||
| DSHashTableEx.bin | ||
| Makefile | ||
| readme.txt | ||
========================
ホワイトリストの作成方法
========================
●概要
既存の .srl を特定フォルダ以下に格納しておき、それに対してツールを使うことで
各種 .bin ファイルを生成します。
本フォルダでは、準備済みの .bin ファイルと、バージョン識別用の revision.bin を
すべて連結したのち、 .tad に変換しているだけです。
.bin ファイルの更新時に、このフォルダに配置、コミット後に全体を(上書き)
チェックアウトし直してからビルドしてください。
原則、ホワイトリストは trunk のみで管理します。
ブランチでビルドしたい場合は、trunkを更新したのち、該当ブランチにマージして
ご利用ください。
●変換ツール
TwlIPL_private以下にソースコードがありますので、ビルドしてお使いください。
・MakeDSHashTable.exe [.srlフォルダ]
旧マスタリングそのものであり、ヘッダおよびARM9/ARM7スタティック領域、
およびオーバーレイのある程度を対象としたデータベースを作成します。
指定フォルダ以下を再帰的に走査し、DSHashTable.bin を作成します。
旧マスタリングすらされていない .srl が対象です。
・MakeDSHashTableEx.exe [.srlフォルダ]
新マスタリングで追加されたバナー領域を対象としたデータベースを作成します。
指定フォルダ以下を再帰的に走査し、DSHashTableEx.bin を作成します。
新マスタリングされていない .srl が対象です。
・MakeDSHashTableAdHoc.exe [.srlフォルダ]
タイトル別に範囲を指定したハッシュ値を格納したデータベースを作成します。
同一フォルダに存在している、 MakeDSHashTableAdHoc.ini を元に、
必要な .srl を指定フォルダから探し出して DSHashTableAdHoc.bin を
作成します。
MakeDSHashTableAdHoc.ini は、現在以下の場所で管理しています。
(No.1のUSBを参照してください)
$TwlIPL_private/build/tools/MakeDSHashTableAdHoc
※ 面倒ならTwlIPLに移しても構いません。
●MakeDSHashTableAdHoc.iniの書式
Windows INIファイルの書式で、設定できる項目は次の通りです。
なお、数値は、十進数でも十六進数でも構いません。(0xが付くと十六進数と判断される)
(例)
; セミコロンの後ろはコメントです
[Tak The Greet Juju Challenge]; 他のものとダブらなければ日本語でも何でもOKです
game_code = A3TE ; イニシャルコードです
rom_version = 0 ; リマスターバージョンです
; 空行追加もお好きにどうぞ
offset0 = 0x0013a400 ; ハッシュ対象オフセット (0x200の倍数) No.0
length0 = 0x200 ; ハッシュ対象サイズ (0x200の倍数) No.0
; 以下は省略可 (offsetとlengthは必ずセットで、通し番号は欠番無いように)
offset1 = 0x00141a00 ; ハッシュ対象オフセット (0x200の倍数) No.1
length1 = 0x200 ; ハッシュ対象サイズ (0x200の倍数) No.1
offset2 = 0x00145800 ; ハッシュ対象オフセット (0x200の倍数) No.2
length2 = 0x200 ; ハッシュ対象サイズ (0x200の倍数) No.2
offset3 = 0x01a5ac00 ; ハッシュ対象オフセット (0x200の倍数) No.3
length3 = 0x200 ; ハッシュ対象サイズ (0x200の倍数) No.3
offset4 = 0x01a5d400 ; ハッシュ対象オフセット (0x200の倍数) No.4
length4 = 0x5600 ; ハッシュ対象サイズ (0x200の倍数) No.4
offset5 = 0x0005c400 ; ハッシュ対象オフセット (0x200の倍数) No.5
length5 = 0x200 ; ハッシュ対象サイズ (0x200の倍数) No.5
offset6 = 0x00142000 ; ハッシュ対象オフセット (0x200の倍数) No.6
length6 = 0x200 ; ハッシュ対象サイズ (0x200の倍数) No.6
offset7 = 0x00126400 ; ハッシュ対象オフセット (0x200の倍数) No.7
length7 = 0x5C00 ; ハッシュ対象サイズ (0x200の倍数) No.7
; ~7が最大です
●TWLの更新時の注意
commondefs.DSHashTable内の DS_HASH_TABLE_MAJOR_VERSION または
DS_HASH_TABLE_MINOR_VERSION を更新するのを忘れないでください。
●CTR対応
作成された HNHA-XXXX-YYYY.bin を以下のフォルダにコピーしてください。
$Horizon/resources/shareddata/twl/DSHashTable/
ファイル名が変更された場合は、以下のファイルの内容を修正してください。
(DSHashTableAdHoc.bin のみの修正では変化しないはず)
$Horizon/resources/shareddata/twl/OMakefile
$Horizon/sources/firmware/CTR-Kernel/updater1st/UpdaterContents/Contents/ProgramPathes.om
以上