From 17b545011a07f89dd1c7a15b71499d979268874c Mon Sep 17 00:00:00 2001 From: nishikawa_takeshi Date: Mon, 6 Jul 2009 12:03:02 +0000 Subject: [PATCH] =?UTF-8?q?ROM=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF?= =?UTF-8?q?=E9=A0=85=E7=9B=AE=E3=82=92=E6=95=B4=E7=90=86=E3=80=82=E4=B8=8D?= =?UTF-8?q?=E6=AD=A3ROM=E4=BD=9C=E6=88=90=E3=82=B9=E3=82=AF=E3=83=AA?= =?UTF-8?q?=E3=83=97=E3=83=88=E3=82=92=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@349 7061adef-622a-194b-ae81-725974e89856 --- .../original_rom/Card/Makefile.tcl | 52 ++++++++++++++++++ .../china_nand.nand.srl | Bin .../work/make_mrc_rom.sh | 35 +++++++++--- .../チェック項目_MRC.xls | Bin 80384 -> 80384 bytes 4 files changed, 79 insertions(+), 8 deletions(-) create mode 100644 tests/MasterEditorTWL_mrc_roms/original_rom/Card/Makefile.tcl rename tests/MasterEditorTWL_mrc_roms/{illegal_roms => work}/china_nand.nand.srl (100%) diff --git a/tests/MasterEditorTWL_mrc_roms/original_rom/Card/Makefile.tcl b/tests/MasterEditorTWL_mrc_roms/original_rom/Card/Makefile.tcl new file mode 100644 index 0000000..7c68a3b --- /dev/null +++ b/tests/MasterEditorTWL_mrc_roms/original_rom/Card/Makefile.tcl @@ -0,0 +1,52 @@ +#! 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 + +SUBDIRS = ../common/banner \ + $(ROOT)/build/demos/gx/UnitTours/DEMOLib + +TARGET_BIN = tcl_card.srl +#INCDIR = ../common/include +SRCDIR = ../common/src +SRCS = main_tcl.c + +ROM_SPEC = ./ROM-TS.rsf + +#---------------------------------------------------------------------------- + +include $(TWLSDK_ROOT)/build/buildtools/commondefs +include $(TWLSDK_ROOT)/build/buildtools/commondefs.gx.demolib + +# CXg[w +#ifneq ($(TWL_IPL_RED_ROOT),) +#INSTALL_DIR = $(TWL_IPL_RED_ROOT)/debugsoft/CardRomHeaderChecker +#INSTALL_TARGETS = $(BINDIR)/$(TARGET_BIN) +#endif + +TWL_LIBS_EX += libtcl$(TWL_LIBSUFFIX).a + +do-build: $(TARGETS) + +#---------------------------------------------------------------------------- + +LIBSYSCALL = ../common/0CZA/libsyscall.a + +include $(TWLSDK_ROOT)/build/buildtools/modulerules + +#===== End of Makefile ===== diff --git a/tests/MasterEditorTWL_mrc_roms/illegal_roms/china_nand.nand.srl b/tests/MasterEditorTWL_mrc_roms/work/china_nand.nand.srl similarity index 100% rename from tests/MasterEditorTWL_mrc_roms/illegal_roms/china_nand.nand.srl rename to tests/MasterEditorTWL_mrc_roms/work/china_nand.nand.srl diff --git a/tests/MasterEditorTWL_mrc_roms/work/make_mrc_rom.sh b/tests/MasterEditorTWL_mrc_roms/work/make_mrc_rom.sh index 0f5be40..3ea52c0 100755 --- a/tests/MasterEditorTWL_mrc_roms/work/make_mrc_rom.sh +++ b/tests/MasterEditorTWL_mrc_roms/work/make_mrc_rom.sh @@ -2,11 +2,13 @@ maker="./IllegalRomMaker.exe" faker="./FakeRomHeader.user.exe" +rating_free_tool="./RatingAllFreeTool.exe" usr_card="./regular_card.srl" usr_nand="./regular_nand.nand.srl" sys_nand="./regular_sys.nand.srl" +tcl_card="./tcl_card.srl" tcl_nand="./tcl_nand.nand.srl" china_nand="./china_nand.nand.srl" @@ -19,6 +21,7 @@ outdir="../illegal_roms" #outdir="./out" tmp_srl="./tmp.srl" +tmp2_srl="./tmp2.srl" # @@ -148,7 +151,7 @@ $maker $usr_nand $outdir/access_nand_usr31.srl 1B4 -4 -e 31 -f $maker $sys_nand $outdir/access_nand_sys0.srl 1B4 -4 -e 0 -f $maker $sys_nand $outdir/access_nand_sys1.srl 1B4 -4 -e 1 -f $maker $sys_nand $outdir/access_nand_sys2.srl 1B4 -4 -e 2 -f -$maker $sys_nand $outdir/access_nand_sys4.srl 1B4 -4 -e 4 -f +$maker $sys_nand $outdir/access_nand_sys3.srl 1B4 -4 -e 3 -f $maker $sys_nand $outdir/access_nand_sys5.srl 1B4 -4 -e 5 -f $maker $sys_nand $outdir/access_nand_sys7.srl 1B4 -4 -e 7 -f $maker $sys_nand $outdir/access_nand_sys8.srl 1B4 -4 -e 8 -f @@ -175,6 +178,16 @@ $maker $usr_nand_53pr $outdir/sd_access_nand3.srl 1B4 -4 -E 00004008 -f $maker $usr_nand_52rel $outdir/sd_access_nand4.srl 1B4 -4 -E 00006008 -f cp $usr_nand_52rc $outdir/sd_access_nand5.srl -f +# +# Photo Access +# + +$maker $usr_card $outdir/photo_access_card1.srl 1B4 -4 -e 11 -f +$maker $tcl_card $outdir/photo_access_card2.srl 1B4 -4 -e 12 -f +$maker $usr_nand $outdir/photo_access_nand1.srl 1B4 -4 -e 12 -f +$maker $tcl_nand $tmp_srl 1B4 -4 -e 11 -f +$maker $tmp_srl $outdir/photo_access_nand2.srl 1B4 -4 -e 10 -f + # # Shared2 # @@ -255,12 +268,18 @@ $maker $usr_nand $outdir/rating_nand6.srl 2F0 -a C0 -f # China # -cp $china_nand $outdir/china_nand_usr1.srl -f -$maker $usr_nand $outdir/china_nand_usr2.srl 1B0 -4 -a 00000010 -f -$maker $usr_nand $outdir/china_nand_usr3.srl 1D -e 7 -f -$maker $china_nand $outdir/china_nand_usr4.srl 1B0 -4 -a 00000001 -f +$rating_free_tool $china_nand $outdir/china_nand_usr1.srl -f +$maker $usr_nand $tmp_srl 1B0 -4 -a 00000010 -f +$rating_free_tool $tmp_srl $outdir/china_nand_usr2.srl -f +$maker $usr_nand $tmp_srl 1D -e 7 -f +$rating_free_tool $tmp_srl $outdir/china_nand_usr3.srl -f +$maker $china_nand $tmp_srl 1B0 -4 -a 00000001 -f +$maker $tmp_srl $tmp2_srl 1D -d 7 -f +$rating_free_tool $tmp2_srl $outdir/china_nand_usr4.srl -f +$rating_free_tool $china_nand $outdir/china_nand_usr5.srl -c -f $maker $sys_nand $tmp_srl 1B0 -4 -a 00000010 -f -$maker $tmp_srl $outdir/china_nand_sys1.srl 1D -e 7 -f +$maker $tmp_srl $tmp2_srl 1D -e 7 -f +$rating_free_tool $tmp2_srl $outdir/china_nand_sys1.srl -f # # Korea @@ -269,7 +288,7 @@ $maker $tmp_srl $outdir/china_nand_sys1.srl 1D -e 7 -f $maker $usr_nand $tmp_srl 1B0 -4 -a 00000020 -f $maker $tmp_srl $outdir/korea_nand_usr1.srl 1D -e 6 -f $maker $usr_nand $outdir/korea_nand_usr2.srl 1B0 -4 -a 00000020 -f -$maker $usr_nand $outdir/korea_nand_usr2.srl 1D -e 6 -f +$maker $usr_nand $outdir/korea_nand_usr3.srl 1D -e 6 -f # # Reserved area @@ -286,7 +305,7 @@ $maker $usr_nand $outdir/reserved_nand08.srl BF -a 01 -f $maker $usr_nand $outdir/reserved_nand09.srl 240 -a 01 -f $maker $usr_nand $outdir/reserved_nand10.srl 2EF -a 01 -f $maker $usr_nand $outdir/reserved_nand11.srl 378 -a 01 -f -$maker $usr_nand $outdir/reserved_nand12.srl 39F-a 01 -f +$maker $usr_nand $outdir/reserved_nand12.srl 39F -a 01 -f $maker $usr_nand $outdir/reserved_nand13.srl 3B4 -a 01 -f $maker $usr_nand $outdir/reserved_nand14.srl F7F -a 01 -f $maker $usr_nand $outdir/reserved_nand15.srl 1BC -a 01 -f diff --git a/tests/MasterEditorTWL_mrc_roms/チェック項目_MRC.xls b/tests/MasterEditorTWL_mrc_roms/チェック項目_MRC.xls index 262b0b9a1ebfdba275558c052d6feca08abd03f5..6de9caf7805d2a446c30b85d8521da0a1a2dddaf 100644 GIT binary patch delta 20745 zcmZ{s2Y6K1v4Ce)Py>l3gph<9y$M7UAi>g`K#1NY(Lo@3HL#-hx`612n#6Vz$8v1P zjtPk!J1&VF=Q%yWj-MUd#EuG+eFK6=BU=QkBOCp{f6JAY#!*qh*COLQ(I=h=``5LOS`!tV5SLI_7yFzqcs!vh z*g8HwxGH{YusAj~_)&aHFg;;v@L+7q;F^Ty!LJkgw@tbM_^Sa-TC#BAx*mHV5f&!; zLa*f0E6am(8s_>^>UK1ommJ)ZGqmoJ+;?MxUv|z8E^F5^_*J)@x_7$t^hFgy^Q^iS z-5zTloIkc@-8;p_^ioz`UVGAwWzDAT9{b(_13t? z!8u1_>zW@q;)^bXw_5n>t{&}`+$9;J8l%YCB^7HHF32yds;F8}ws!N{{BCR4EcZb} zh=$&zj=u&+1fR=EJDHOh+}f!{Ftcf5Fg`ak_}iQ|!Ew2BA`**&w{u#Z%;_E+mz^Ix z+o5TM-xqxIdY?c{Ho$=v00Y_pJeLY^tUW-J41i0W0HSc%`mO+dA_3a>065wJAkYio zy*Pl4eF6U55TI*6fK!P8Z}$fng{u9E0BV~8wDkiVP6qgDD8K?7x5;pTO|1a(M*y5l z16Vo|;PrF}z=cr&5v>7U84b`Q6X1g}00jt+Cg<6==@JwO!-escrBuMz-0+lb&sD83nRc>yeb2n8#!WMj7hY(Vpg zD6tR){tc&BUXO#m@_Ib}4XY2gp()@}f_&%&eek~`{C_kb6M<)c3s{0} zG*SeP*#b^z6l>bzAO+iyPxuHtya2XG#G^j|t~2;#5DgKDVyW;q86pyoO9PxY9zGIV zQ(>z{Q5bzkvWrBaG)UH{0Y=+3iU~yl93(arViX7Id?;x}q5?*!MJF+7fuFRZSSu*# zDAqcqkyk4Uj}2)>8LcR+R=x|Se*3>XoS%D`guj#^yGpsmfJ*sWqyy6Ti&amQ`^=GMJoU$G;Yle(R zr($Tn=&TB@4O+~h1sZQy@yt3adBvN&;*}NnKIJu2SP9Ik)`(c&*T~CCFsuY-ofB39 zv+hb>3CeoFtXVQ%LuP#>eHwCJPimW&MQ`z;HQ$g~7qnjtWI(B~8Y(OBB;_?*#%p9) zjhOY6ws~2Nkd*;Zc!i`(MI*y%gn5Nnjg<9(S#xB(L}uap508+@tf#fj%StqPB{J(R z?MK&>k0q}}Wd)w1ye`R6NzA&e5zW^Rgq390MiR2p0N-}mD#@^tc)na#lCmB!Yp#sf zm|3@EgvOlLGur0OtFg(eF|)2{Kg#QEjObi$tgOJ(lvkOI*MwR4Ue2~nnDwl-d09;i zs|mAewI8wmF03ZXdcdr58IRr$)4*jlW!4Y1&C638`7savupGA^$H`j(8I#w>Szrg2`c2rJF7 z(hMt&S@>ayjnkMl4&%Yac(8 z^2WK)PmI>QaekCObvPkiIKQJ2P2kT(ptTWbZ4zzG0^intl<0>TQBhlm31s5yv~w?F zflL-y_+9Cm$+PMTWO4<5Ap)63AkzqB8i7o%fGd#c3e?5ic{>89^)Z2E8CVv=vY}pJ zSq7G6U|9y1Wnft@ELie9Eun=nUN*BH7jiZy_PVxtr#9QLvYGWg?MIcphY?jaTUqtY zS|sD;Fw1?L$YItmwav@QF{~WJ%Hh0RR*tetUPxV>1v_NCTxRXoh*r!S8hKf{hLy{# zoq8nYwF@K4D_2?d%-SPIwK1$VoY$|k&C69xdpN!X*SqC(t zy#7ZcFRQI#wKc4^%-S!kw#uq!)Yl&AY7jX3e)ZtoDZ0o>{$x)m~Zk%t{ef2gB-MSRD+jgJE?rtPafT zBdiX}DtU?WYALLahSkxqIvQ3-!|G^Q9hucbSRIvB&#Y8obuz3@hSkZiIvG|c!|H^r zWV|`#%vUF6mHdqI>LjerhSk}yIvZAJ!|H5UojI?*!s@K7dSf2&=2I>Y0@;tZs(Y&9J%|RyV`y zW?0>r)lXR6lvVNy<<(hOd4`o|Sb2t(XIOcLmB*}s!pc)tJ+rz9tGi)!H>~c4)!neV z8&-E_6$z`mvPxd1ybcSihhg~uxE8np4 z4J)5n1B8{YtdiF#udc%C$*iLqd9S@a4XdYN^)#%W%yO^2J(X3@tZp)TFT?6(^6F(+ zy$q|DVfA8`d+qI|tdgHoUU|amZCJextG8kGHmu%;)tg!FwYRsj>Y3GDSbYquk74yO zEV?fpx@FPFu=+5|z4rD|R>?0YuO7ncYgl~^tFK}8HF@c~tDaf;!YVMV z0>dgWtOCO-FsuU3%f0p%D66EN^6Dw9eumZ0u=*KRKf~&0SpAsgUVHl~tDafCgw@}$ z`Wse%!|HEX{SB)>v)pTMe`S@tPI(Ox)&RpAU|0hTYk*-5FsuR0a<7L2lvU5Hp~5OO ztU|*oG^|3yDm1J@X1UkHLS>cwlJYtxtRllIGOQxQDl)7h!zyA{cezFtDXX4Y$AvY} zum&2|K*JhnSOX1fAhX=qmz4jKB~h zFvJK9F#5g29!h8cljD3FW~d7X{*urPt)j=&uj2*7X_=r01p zjlggtFx&_XHv+?rz;Lbrm6|@y4i6I;;Rrw}u7N;2j9`HQA~3=Tj4%QtjKByZFv19o zU;)aM1V)4jjC2J2C=kFCVv>V~xOABQVwoj5PvdjlftIpi+~-*f4=&76?GKBT&o&gGHd&2oxKEVk1y& z1d5G7F$++sNuW4PU>phHea}0Nz&I8dCIaJ(z&Il?&IpV%0^^LpI2NE%lfbwzf${iy z0563wiPyk*78ou9O!3az+0uzkD1S2qk1>8-~ zgfM|pVFH1PjsQ&NH87C{PK&@q z7I2?BPh^2NwJi#768=r2XuQoH9pT)>pU47dw2f}97K*?`D-eK5j)310n8X4#(sdFG z{0onu%k(4`__elq1twty@EL#zOk#nvdL#*S6M;!a0N?*6I|9{?z+@IUCtWAAz-1Ab z%mTmBHm|^B7Qh2pbutT_*CR1uhC?nh}`B0>9TbufQ}Gh!lZoEa0wzX+~h03gG-x z1*SU!)sDb)7Pusk=`2tq!%k;`KWLlx=J<481Do_n`dlztkEAsahvlI)Fx?fP{SOJu za0Ko+0y9`(lyse81ZJ?nAGOU}ff+_%23Nopn86i@6@eKd5J(q+nT`NVa-uN0eah|3d|+}%HI{3;|Sbw1m>{75`oNNfm<@r92R&>+q?pEjKCZtFo!Gf znF!25fdGG-Po`k5BLLHQ4a{YMr2?7D0xycdTo!m++q?pEjlf(ZFqZ}Hi@;on4d5vf zsz8||;CBSdSm264%2=RQBf1j0Q&48!4a8a=*`5|3*pOd+(m4r?WA* zLTH-H4YAzRyxb7W4YAx1%T3M8on?<-YP|bCJ)ONO`BWHIg(+`^VO1b2bn~IYuqv2! z4acMfR-vr24~P{nlQ)l94{JnE7T*_-d4@HQSzGi-x}a5QM2i`>aLk>h>y5LXMhm zSo1NjRQRi~<{Q?0Q^Wb3*90AfSf2}PzOu?bq`VU3s0GZ*l+hP3>phLUOLT!@EnwD4 z9feq52y20|?lSB9a@0a*J*5%l^{%iMn!Fa88ZKnkliH8IFhpB0ny-b*D!WH{JuOEq zVwU?feG%vNfv^@C)*_SFB4(}9Q7A9kZ4qmcvhFhL2XfS6W<8@3<+V*Cs$ry@9g9s~ zi9d5_{696KtGfGTlO-mvCCs8-6P=|?aLuRj z7KT_$ly#R`?+9zDVJ&6Wb#3#qmLeyHZ<%2&W7dDfb{WoB zD6eHEuVsd{jL+qNV?WAknX>MFL|@kVQpT%f)(Tf@DrMbc)*TsdrD3gP)=q8nvQ`?_O2b;oEZR#_UMrPV`3dFqV;OIi zVXb1;E^YI&RvFeR!&+rntCV$*SwE5SRx|4bjc9!~)QDK_IlkJkRx|5)J(AWZZBZ$& z)xt^-R(?u(EtB(Z4YS-W${NmVw~VmHtiv^iwT4+g)g$RTNxM;Etx?uJWM#n(VXbA> zEsbb5(nv;FYglUyYb~=L(tgCci4n2ZDy#Az#QKIDwa(r=7a#4Puw!6s(4*EV9gHQa=(w)$n_ zO@_6JS#7W%)o_!t?lJ2hGTvrpH51#-%xbEUm$jMmYODQdFXz^9Gqc(WYqPQ{Kd1R> zF5_)6HQd6iz1rrj;TAJrTR5+EdL+%)9E>QhEy}vbte54ehnV$>Ms(fyOxz#hHGfYd z?>c;lS?jeQT{pfK)cdHq60-_9&|f3= zE=@b=87_X~RJ!h9f%6)Xz`sOb2Mf4+p&dqG2Mhd4`_Vb_03#CE5hg(U0u+F97T8J8 zaPh05(sd^bxSO$^JQ4pEft{uTJB`3j7I;%fAp!b0P69i_1ZcB>0$Gm0E_#NW3cr@F zyNtjt7Wj_{>@otojKD4}G*41+tq39v7Y6D3A^NG@{Ft zy9Ra}f!!=HUyr0UfCF;{c83YjTL%i1vp@j$u)u#sV2=^l!vgzd*gd8Kdr%SGWMe>*b^o|*Ig8-CIP&Mxt9gL5`n!e&_a-VS>S+1-U{qB71(P8_OgIaDzG<9 zfGUatwJ1RMF!!;**CMcw1>Cb>9}655fqkX|`;5RoBe0JJQm`LYU|*O3RTKs8lsnIG z_p`tQ5!i18_Orkt5!i18_M<@P=NR@If&IJ)BcuZR!vv_JDDYOf^9=U@3m_NwBJps5 z1#SuQ01K3B8M&N)EIKTptB5)u~fGUat5UAh_!9fD^@y_uG$Mg$(K*5b?uFzS4qxd>K z!>x7%j%M|ld;Mc}9rIBEor8iAuM&`t!7h6x;#XSjD9fnzMtKp@A=6dYrL zVv##$rr?+nIA#Qnu|RtfI2I;wT%O^+

;Sffx}u&I0Z&!Q(8@M%%nw*5fD;x~+QL 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