From 24687da1345966d2d04be109121fc50701e2c561 Mon Sep 17 00:00:00 2001 From: CrashOveride95 Date: Mon, 22 Nov 2021 16:29:28 -0500 Subject: [PATCH] Make ucode load from .o's (and also fix Super3D) --- .gitignore | 1 + Makefile | 2 +- lib/PR/audio/{n_aspMain.bin => n_aspMain.o} | Bin 3168 -> 4396 bytes lib/PR/audio/n_aspMain_data.bin | Bin 688 -> 0 bytes lib/PR/f3dex/fifo/F3DEX_NoN_data.bin | Bin 2048 -> 0 bytes lib/PR/f3dex/fifo/F3DEX_data.bin | Bin 2048 -> 0 bytes lib/PR/f3dex/fifo/F3DLP_Rej_data.bin | Bin 2048 -> 0 bytes lib/PR/f3dex/fifo/F3DLX_NoN_data.bin | Bin 2048 -> 0 bytes lib/PR/f3dex/fifo/F3DLX_Rej_data.bin | Bin 2048 -> 0 bytes lib/PR/f3dex/fifo/F3DLX_data.bin | Bin 2048 -> 0 bytes lib/PR/f3dex/fifo/L3DEX_data.bin | Bin 2048 -> 0 bytes .../{F3DEX_NoN.bin => gspF3DEX.NoN.fifo.o} | Bin 5168 -> 7788 bytes .../f3dex/fifo/{F3DEX.bin => gspF3DEX.fifo.o} | Bin 5168 -> 7772 bytes .../{F3DLP_Rej.bin => gspF3DLP.Rej.fifo.o} | Bin 5072 -> 7692 bytes .../{F3DLX_NoN.bin => gspF3DLX.NoN.fifo.o} | Bin 5168 -> 7788 bytes .../{F3DLX_Rej.bin => gspF3DLX.Rej.fifo.o} | Bin 5072 -> 7692 bytes .../f3dex/fifo/{F3DLX.bin => gspF3DLX.fifo.o} | Bin 5168 -> 7772 bytes .../f3dex/fifo/{L3DEX.bin => gspL3DEX.fifo.o} | Bin 4080 -> 6684 bytes lib/PR/f3dex2/fifo/F3DEX2_NoN_data.bin | Bin 1056 -> 0 bytes lib/PR/f3dex2/fifo/F3DEX2_Rej_data.bin | Bin 1040 -> 0 bytes lib/PR/f3dex2/fifo/F3DEX2_data.bin | Bin 1056 -> 0 bytes lib/PR/f3dex2/fifo/F3DLX2_Rej_data.bin | Bin 1040 -> 0 bytes lib/PR/f3dex2/fifo/L3DEX2_data.bin | Bin 1008 -> 0 bytes .../{F3DEX2_NoN.bin => gspF3DEX2.NoN.fifo.o} | Bin 5008 -> 6640 bytes .../{F3DEX2_Rej.bin => gspF3DEX2.Rej.fifo.o} | Bin 4488 -> 6112 bytes .../fifo/{F3DEX2.bin => gspF3DEX2.fifo.o} | Bin 5008 -> 6624 bytes .../{F3DLX2_Rej.bin => gspF3DLX2.Rej.fifo.o} | Bin 4496 -> 6112 bytes .../fifo/{L3DEX2.bin => gspL3DEX2.fifo.o} | Bin 4496 -> 6064 bytes lib/PR/f3dex2/xbus/F3DEX2_NoN_data.bin | Bin 1056 -> 0 bytes lib/PR/f3dex2/xbus/F3DEX2_Rej_data.bin | Bin 1040 -> 0 bytes lib/PR/f3dex2/xbus/F3DEX2_data.bin | Bin 1056 -> 0 bytes lib/PR/f3dex2/xbus/F3DLX2_Rej_data.bin | Bin 1040 -> 0 bytes lib/PR/f3dex2/xbus/L3DEX2_data.bin | Bin 1008 -> 0 bytes .../{F3DEX2_NoN.bin => gspF3DEX2.NoN.xbus.o} | Bin 5024 -> 6656 bytes .../{F3DEX2_Rej.bin => gspF3DEX2.Rej.xbus.o} | Bin 4512 -> 6128 bytes .../xbus/{F3DEX2.bin => gspF3DEX2.xbus.o} | Bin 5024 -> 6640 bytes .../{F3DLX2_Rej.bin => gspF3DLX2.Rej.xbus.o} | Bin 4512 -> 6128 bytes .../xbus/{L3DEX2.bin => gspL3DEX2.xbus.o} | Bin 4528 -> 6096 bytes lib/PR/s2dex/fifo/S2DEX_data.bin | Bin 960 -> 0 bytes .../s2dex/fifo/{S2DEX.bin => gspS2DEX.fifo.o} | Bin 6128 -> 7644 bytes lib/PR/s2dex/fifo_d/S2DEX_data.bin | Bin 992 -> 0 bytes .../fifo_d/{S2DEX.bin => gspS2DEX.fifo_d.o} | Bin 6128 -> 7684 bytes lib/PR/s2dex2/fifo/S2DEX2_data.bin | Bin 912 -> 0 bytes lib/PR/s2dex2/fifo/S2DEX2d_data.bin | Bin 912 -> 0 bytes .../fifo/{S2DEX2.bin => gspS2DEX2.fifo.o} | Bin 6336 -> 7808 bytes .../fifo/{S2DEX2d.bin => gspS2DEX2d.fifo.o} | Bin 6336 -> 7812 bytes lib/PR/s2dex2/xbus/S2DEX2_data.bin | Bin 912 -> 0 bytes lib/PR/s2dex2/xbus/S2DEX2d_data.bin | Bin 912 -> 0 bytes .../xbus/{S2DEX2.bin => gspS2DEX2.xbus.o} | Bin 6352 -> 7824 bytes .../xbus/{S2DEX2d.bin => gspS2DEX2d.xbus.o} | Bin 6352 -> 7828 bytes lib/PR/super3d/fifo/Super3D.bin | Bin 4480 -> 0 bytes lib/PR/super3d/fifo/Super3D_data.bin | Bin 2048 -> 0 bytes lib/PR/super3d/fifo/gspSuper3D.o | Bin 0 -> 7088 bytes lib/aspMain.s | 36 ++++++++ lib/gspF3DEX2_PosLight.fifo.s | 18 ++++ lib/gspF3DZEX2.NoN_PosLight.fifo.s | 18 ++++ lib/gspF3DZEX2_PosLight.fifo.s | 18 ++++ lib/gspL3DZEX2_PosLight.fifo.s | 18 ++++ lib/{rsp.s => rsp.old} | 0 lib/rspboot.o | Bin 0 -> 740 bytes rsp/rspboot.s | 73 --------------- rspdata.inc.ld | 84 ++++++++++++++++++ rsptext.inc.ld | 84 ++++++++++++++++++ sm64.ld | 11 ++- src/game/game_init.c | 20 ++++- 65 files changed, 301 insertions(+), 82 deletions(-) rename lib/PR/audio/{n_aspMain.bin => n_aspMain.o} (56%) mode change 100644 => 100755 delete mode 100644 lib/PR/audio/n_aspMain_data.bin delete mode 100644 lib/PR/f3dex/fifo/F3DEX_NoN_data.bin delete mode 100644 lib/PR/f3dex/fifo/F3DEX_data.bin delete mode 100644 lib/PR/f3dex/fifo/F3DLP_Rej_data.bin delete mode 100644 lib/PR/f3dex/fifo/F3DLX_NoN_data.bin delete mode 100644 lib/PR/f3dex/fifo/F3DLX_Rej_data.bin delete mode 100644 lib/PR/f3dex/fifo/F3DLX_data.bin delete mode 100644 lib/PR/f3dex/fifo/L3DEX_data.bin rename lib/PR/f3dex/fifo/{F3DEX_NoN.bin => gspF3DEX.NoN.fifo.o} (65%) rename lib/PR/f3dex/fifo/{F3DEX.bin => gspF3DEX.fifo.o} (65%) rename lib/PR/f3dex/fifo/{F3DLP_Rej.bin => gspF3DLP.Rej.fifo.o} (64%) rename lib/PR/f3dex/fifo/{F3DLX_NoN.bin => gspF3DLX.NoN.fifo.o} (65%) rename lib/PR/f3dex/fifo/{F3DLX_Rej.bin => gspF3DLX.Rej.fifo.o} (64%) rename lib/PR/f3dex/fifo/{F3DLX.bin => gspF3DLX.fifo.o} (65%) rename lib/PR/f3dex/fifo/{L3DEX.bin => gspL3DEX.fifo.o} (59%) delete mode 100644 lib/PR/f3dex2/fifo/F3DEX2_NoN_data.bin delete mode 100644 lib/PR/f3dex2/fifo/F3DEX2_Rej_data.bin delete mode 100644 lib/PR/f3dex2/fifo/F3DEX2_data.bin delete mode 100644 lib/PR/f3dex2/fifo/F3DLX2_Rej_data.bin delete mode 100644 lib/PR/f3dex2/fifo/L3DEX2_data.bin rename lib/PR/f3dex2/fifo/{F3DEX2_NoN.bin => gspF3DEX2.NoN.fifo.o} (62%) rename lib/PR/f3dex2/fifo/{F3DEX2_Rej.bin => gspF3DEX2.Rej.fifo.o} (62%) rename lib/PR/f3dex2/fifo/{F3DEX2.bin => gspF3DEX2.fifo.o} (62%) rename lib/PR/f3dex2/fifo/{F3DLX2_Rej.bin => gspF3DLX2.Rej.fifo.o} (62%) rename lib/PR/f3dex2/fifo/{L3DEX2.bin => gspL3DEX2.fifo.o} (73%) delete mode 100644 lib/PR/f3dex2/xbus/F3DEX2_NoN_data.bin delete mode 100644 lib/PR/f3dex2/xbus/F3DEX2_Rej_data.bin delete mode 100644 lib/PR/f3dex2/xbus/F3DEX2_data.bin delete mode 100644 lib/PR/f3dex2/xbus/F3DLX2_Rej_data.bin delete mode 100644 lib/PR/f3dex2/xbus/L3DEX2_data.bin rename lib/PR/f3dex2/xbus/{F3DEX2_NoN.bin => gspF3DEX2.NoN.xbus.o} (67%) rename lib/PR/f3dex2/xbus/{F3DEX2_Rej.bin => gspF3DEX2.Rej.xbus.o} (65%) rename lib/PR/f3dex2/xbus/{F3DEX2.bin => gspF3DEX2.xbus.o} (68%) mode change 100644 => 100755 rename lib/PR/f3dex2/xbus/{F3DLX2_Rej.bin => gspF3DLX2.Rej.xbus.o} (65%) rename lib/PR/f3dex2/xbus/{L3DEX2.bin => gspL3DEX2.xbus.o} (73%) delete mode 100644 lib/PR/s2dex/fifo/S2DEX_data.bin rename lib/PR/s2dex/fifo/{S2DEX.bin => gspS2DEX.fifo.o} (72%) delete mode 100644 lib/PR/s2dex/fifo_d/S2DEX_data.bin rename lib/PR/s2dex/fifo_d/{S2DEX.bin => gspS2DEX.fifo_d.o} (70%) delete mode 100644 lib/PR/s2dex2/fifo/S2DEX2_data.bin delete mode 100644 lib/PR/s2dex2/fifo/S2DEX2d_data.bin rename lib/PR/s2dex2/fifo/{S2DEX2.bin => gspS2DEX2.fifo.o} (75%) rename lib/PR/s2dex2/fifo/{S2DEX2d.bin => gspS2DEX2d.fifo.o} (75%) delete mode 100644 lib/PR/s2dex2/xbus/S2DEX2_data.bin delete mode 100644 lib/PR/s2dex2/xbus/S2DEX2d_data.bin rename lib/PR/s2dex2/xbus/{S2DEX2.bin => gspS2DEX2.xbus.o} (75%) rename lib/PR/s2dex2/xbus/{S2DEX2d.bin => gspS2DEX2d.xbus.o} (75%) delete mode 100644 lib/PR/super3d/fifo/Super3D.bin delete mode 100644 lib/PR/super3d/fifo/Super3D_data.bin create mode 100755 lib/PR/super3d/fifo/gspSuper3D.o create mode 100644 lib/aspMain.s create mode 100644 lib/gspF3DEX2_PosLight.fifo.s create mode 100644 lib/gspF3DZEX2.NoN_PosLight.fifo.s create mode 100644 lib/gspF3DZEX2_PosLight.fifo.s create mode 100644 lib/gspL3DZEX2_PosLight.fifo.s rename lib/{rsp.s => rsp.old} (100%) create mode 100644 lib/rspboot.o delete mode 100644 rsp/rspboot.s create mode 100644 rspdata.inc.ld create mode 100644 rsptext.inc.ld diff --git a/.gitignore b/.gitignore index fd633e86f..1c08c6f23 100644 --- a/.gitignore +++ b/.gitignore @@ -102,6 +102,7 @@ build/* # libultra +!/lib/**/*.o !/lib/*.a lib/libs2d_engine.a !/lib/gcclib/*.a diff --git a/Makefile b/Makefile index e1a22482d..0f739a5a4 100644 --- a/Makefile +++ b/Makefile @@ -498,7 +498,7 @@ libultra: $(BUILD_DIR)/libultra.a $(BUILD_DIR)/asm/boot.o: $(IPL3_RAW_FILES) $(BUILD_DIR)/src/game/crash_screen.o: $(CRASH_TEXTURE_C_FILES) $(BUILD_DIR)/src/game/version.o: $(BUILD_DIR)/src/game/version_data.h -$(BUILD_DIR)/lib/rsp.o: $(BUILD_DIR)/rsp/rspboot.bin $(BUILD_DIR)/rsp/audio.bin +$(BUILD_DIR)/lib/aspMain.o: $(BUILD_DIR)/rsp/audio.bin $(SOUND_BIN_DIR)/sound_data.o: $(SOUND_BIN_DIR)/sound_data.ctl $(SOUND_BIN_DIR)/sound_data.tbl $(SOUND_BIN_DIR)/sequences.bin $(SOUND_BIN_DIR)/bank_sets $(BUILD_DIR)/levels/scripts.o: $(BUILD_DIR)/include/level_headers.h diff --git a/lib/PR/audio/n_aspMain.bin b/lib/PR/audio/n_aspMain.o old mode 100644 new mode 100755 similarity index 56% rename from lib/PR/audio/n_aspMain.bin rename to lib/PR/audio/n_aspMain.o index 397ecec4b8f70091747ea3bd8b8d67b74feca22d..fa99b1b1ac86782ecf7bfdcb4d2ac4ddbdfccf88 GIT binary patch delta 1246 zcmaDLu|~NxCF)m(e+^0z?}&aLK9J7a9~JaXkb{taDd?f!~g$0 zmT7Bw-TvR_woIGG7ythTmrGhEfAjwfoKb0N0$cu{;HXVKEBN96e)iR=al#h=x3N7* zxhc}~e+`>PioNLT{|i~mll#TP{!e4Mm~>j=bp8J>7SqJfQa=Cdn3p87Nnih8$Sjk< zE}Qc|g=v1=S9$LLVN6=F7Zf)C_h8%?GfOGuzZGM2bg+ute;r1~$UmwN{>w3}ia=3zK)qf@i`OvxA0sp@Ie-y&2tMl*0|207c`n>;c|E~!+Zt(fvh5y0+B1U)q z9s9568*Wm6;@{r?{N5AIw*A}o@2lq_i>3cI{JZb|)@tg%HUG}J3EH&&TmA2Vi-BFq zzcv51Ie9rG{9FHTy+eYN*S~H5*4UM}82mf%Z?#RUo8Z55|JGPdb$|Qs{=W?tOFa+$ z`}%L2**5Qq|M~yzH96rM{$KCkF{3;FBL9Q`T`>3@aQuJGzuWq}^+5&y*Zg~-s}sWe z|IxoM+5w?+8RY*nX;y_RFeLvMP+u7_jbYt?In@V|e;676>!`>@2Qxy8 zzlXx+*b7Wr|HI_DYKCx%|Ju7oRqb+w%W?UbnQhJeCZ4C8-r940Kf z@(n?31_q`Lf}p&^z~BO6gT%o6dSsvI<))-2m8LW36_*s1BqlNF6<6j$=nSX`NFT8n zV@eCS+2^!z@P{dU|?Vn;9+23Fo5cUQvm);O`8A! delta 8 PcmZ3Z^gv>xNdgZ55IO@G diff --git a/lib/PR/audio/n_aspMain_data.bin b/lib/PR/audio/n_aspMain_data.bin deleted file mode 100644 index 66d1cab9df6e481449f9f4970c8babf06e0597e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 688 zcmWf5BRofNj#P@^3Gp{V91IK$3_>-+9zq^6EkakAHVC(TVBlw901=D~0*nj-3=B*R zEDUT691L6xJPdpc0t}33kbyygfr*2GfusIEBLfoy10%>x1_X^@!DR4?C@?rMBrr5E zEMPdm@POg}e;&)UwY+Zs?{izGP2-FIe}l^eM)4i~rl$o}}Cq>G{8gO(Vr#^!5LRtmVo5;$i=%v0O|#EphsP7mI1)XDOfmb<9f= z*`%-kFJzWUV3*DLpTaah?yEfa|1c)4*b54q|9dd*i*?SOw@{yz%g)z$g;;{TeU0)5_pxBu4!95?v< z@529Je-WcQ|Bn6F^9?sS@o(>ce(#B9+x~6)_to=|#nOKp{@r(fYc=)Xnt$iq1Z`UX zt^Rkw#lWuQ-)*D2YwSu~4E`PXx7w!FP4M5je`~C!y1)H* z|KA3SrJjfWef_u1Y@7GQ|NQ^VwEXjEw(vROF(A8KeJO zDW$~BV%+!NLt%651tzWkVe;H@Uzz6rPm#?@U}u*3UnqS&k&SuD|2iq3#Lq0I|GOkk zC!J=w_LIVT;r__SOIQ3w}sF%TfFPgus?G gHO{F27xHmKR1_l;3VF{Ba~(Un*mnFz$org|36&TiU(vXBLfqI0|N+&I|z3O%n@8793U`9G)G{L*bCtW z0&~QE2+RRN`5vJUf_H>0Zau<6PPwI zU0}3eDPU<}nZT03sKZden7}-N@dL{OMgf)uEGJk#uu8Bxux7AMVBNv`fQ^IAfGvWp zfo%ob1-2jT3hW;21?)4}53s-B5a6)jNZ{z;*uZgvlYvu%Gk~*#fq{jEfrW{Qfr*KQ qfq{jI0nA`w0407#Q2NIRSg_!KNt6_cp=eZKGz3ONU^E1%5CQ<(`gHyP diff --git a/lib/PR/f3dex/fifo/F3DEX_data.bin b/lib/PR/f3dex/fifo/F3DEX_data.bin deleted file mode 100644 index 212139c886ac97479dab621dd226b2187f7b9534..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2048 zcmZQzU|`^{7ieH$;BR1P7hqsu5a3{v7nfjQ5Yk|r4x)t*FyxC%@c;V2R{tNQnt_pl z>HmKR1_l;3VF{Ba~(Un*mbB$iOJBQvW|()`|yYD&A{-zvN7P4Pj@Sv| z1p;%#ZV1c)LHQn`4}y1ub%Z^H9R%hGO9*oaT@We}$`SGqG7$VDv_Wu-c#e31_zCel zk`m%3;sF8?Aj@DF>=uUi96TU5!34o{1K4gblfePx3<#5^WCH^O0|>({0dX1_80z5y zI2Z&Kpz3?TDF2^Xb1Ab5arI*1mIV91v!;Q#f3t^PkqH3K69 z)Bpbt3=Ax6#!L+L|NsAB;9ziIQ276c@ywYs42=K(GcbZ6lxAW;g^XY`m>3usKrE0- z1_p-zAd?xPGy~WSkTOOFMv0pG|KYM$JYZ8885rvSH!v_TNK^>d2+R@OAgm)WM{I?_ z90?WSDFSmOOa$hDpnQYS2`LR>7GV`(8G$)MAA}wVtq}4MauAXcViCL`)FOBQWHfr)77z7od>U+Q_|DS<{fdS-c5Jr_9JiMUb00sB73Wd_-{FGD$H)9u{0KK5p zECmoS)H5FUeQ%%gifD%}dGGV_;xlR$$z~c!BW)lK_(e zQvg!|(*&jsOcxj}SOi!USPWPg7HmKR1_l;3VF{Ba~(Un*mnFz$l(m|36&TiU(vXBLfqI0|N+&X9&*_m?Jnx*h65B=nR25;v&Ku z1m=jV2+RRN`39jEf>(r9gdKz}1m*|}2r~$s5Xuos5podH5d0#vLU4`v7V#Yt0um~c z3F0;4GXx?amO;q>{}~z>7~XU6fZPNTf|3njyCED0kTW1mnvx9+3?Szq?0^c?BSf&X z2r59;_JC3TKLZN`1IW`Lj4C^LctODd3hrqY3Z=>UDX9u>#x6b)dVcwS3Ls#pXJo7p znO~fdS(2EYs1TW0T$-C-lCR*GnOBmUmy)l?z`(%Vz_@|&0^~sqX5eSmJ=)=SS45;STk5Bu8NgY=z`(-7z{14Dz{JGD qz`(-90A{c-fD%6=DE(suELiZrBq)|K{|}e7;sKk&$iPtlzkz{)LE?b$6oEN{8-!g1=7_x! zm?M!PyhdP-M1{Z{5R`8ax*=5{EFx?pY$7m6m_g`+&<-IFAqOEDAr`?4LM?&^K!!uG z#1#exfd~j2LW14G@ScMQU=m<5 zUHQ0pkZ22S!kKK=V2%(SidBO?;F)8Umvs KFd70wEd&7J=w%N8 diff --git a/lib/PR/f3dex/fifo/F3DLX_data.bin b/lib/PR/f3dex/fifo/F3DLX_data.bin deleted file mode 100644 index 5a2ea93beafb6f1eeacf6fb8b79ce6945406c9b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2048 zcmZQzU|`^{7ieH$;BR1P7hqsu5a3{v7k6M_5Yk|r4x)t*FyxCn@c;V2R{tNQnt_pl z>HmKR1_l;3VF{Ba~(Un*mbB$iOJ>Q~y6))`|yYDplW--DF2^%g2AyOmU05TkcB?Tm11brZE2nluz!+Q=MkeeVvP_hAPH;C&1 zaR!Jfr)77z7od>U+Q_|DS<{fdS-c5Jr_9JiMUb00sB73Wd_- z{FGD$A7dBS2n850)H5FUeQ%%gifD%}dGGV_;xlPGH=? zc!BW)lK_(eQvg!|(*&jsOcxj}SOQoQSPEDi7@y5oa-qpvAk%^H34j36Y7#J9k1Y~OjK$0dPf5`^nPN*Nd!{)3EWgwhOPL%?=1Fp9g> z{|}e7;sII9$iT$lzyLzx4#FJ*a|D+N2MEj&%@LR*_Ck1pz#Oq30&_r6zDMYT;2mKd zVGm&kfjPnw!W=>ugi3^Rggk@{1pf$a5Zof(BR)a=h4>#^Nel51@dAMeh;0xO>==gk z96TULL4=@W1K4s1$AQ6N@U z2L7M?kbQQ2P;h{Pds>A;X>xu_s)C!bi))0QU%sCL2pH-a87oBQ7iVOaBxWZnL?#xO z=H{2=EBIyRm89mS1)$$%+%utl&nu&rRb!1jY(f!%|> zfPDu00rnRh0vr|`2^<|98#r!oGH_~e25?p|FtD&NurM((Ffp+(Ft9K&fEg^{6voIn z`60Uq2Pirj{!2zoe#riP@(1=8NO)JhUP)?234>lrVo4%HdT{~Rzwv(ge(`CUY55_k z6(zwXiA5#YrCjq;FeO|POA>MD0ZD=Mz$1i#Ve(sc?s~8TL4wSXe8CQ4gD{lO3t}@c zh!_Y#*@t?$DXB@N=?r?sB}FBPNep_$ zmANH6U`7T+X!1jL-Bgf+K$s0=2m=Fy3Cuz$ACwzGOprrC>X<amU7_-qpvAk%^H34j36Y7#J9k1Y~mrK$0dPf5`^nPN*Nd!{)3EWgwhOPLqK*hGBAp( z)c+5cwc-I;%gDgQ;J^Sv;tIkY0&@hH2nPtv5%m$6BX&Y~fxsNG8v=7cP`*d#gWw%u z9bpe)2Z1@l62crp7lcZLa)dmD36%w%w2aF~3MJyo)Sfq?;pA)-)D0|P_-=T^|%2px~ZXp-`HfpOUKJX6)h`p#TGhdPc?yk@>|LnI(zYi3*X4#ihCV zCHV?|nRz9tc`5mN3=9m+4U8KYFED;!5@0f53ScT=n!vPy=>nq#O94v*%LJALMjeI% z#suaGj2~DQFbc3NU^&6^fmMRlfi;750_zS|-v?|QYzAx*Yz=HH*ed6%ZRF z2IX6V*bEFD41x>{ObiSR0U$O=49rLNgE$6qhdz`(%Y zz|am-A;7`7U7~=2LGS?MbPz2Z!H_Re!2jz5Tm65KY6eCIrvLvP7#LXCjF}kf|NsBN zz`@|apz!|>pVk|6hjFkAw}X<%TepRCBKzz8Ds zcposz|7T!fU;x?pfAU7&+4Vue0SfME6$+)v`6;OiZpJP?0eV5HSqdOvsApuX5Sd?` zky(HN9Ext&}2nU-Bgf+K$s0=2m=Fy3Cuz$ z9~Q(Qhl12GL&QZ`U=~C83@~+~5Whi18Dv-(7#J!hD{>0^$}&Kl43(0pVPIe=fU1U? U3N}R*Dh5;chJk^>0Lp<=0Eh3mwg3PC delta 8 PcmeCNxuCw$@y5oa-qpvAk%^H34j36Y7#J9k1Y~OjK$0dPf5`^nPN*Nd!{)3EWgwhOPL%?=1FpB5Y z{|}e7;sII9$iT$lzyLzx8NxFJ<_OLa_7IpOIzwQNxQOrufjQzT0&_r6zCq}P;1yvN zVFzIgfjPng!VE$ugmQ#ZgdBu41iuKa5L_d^MSO>ZfP{*zWP*5&_zZyvh;0z^|9^%C z28Q<>JRnCwgrH;t*m4NRfx%(2AV;cX0|Ns{IYbadLIvt43vwthf=E5y2aNLn8CVz? zKnDJwEXXmtJ}5Xq!9A@)p)@%^B~`)A*u^J8&oAFk0R#;7jEof`^NTYwOA@ma6(SRh zOLOx}@)i6t^GZ_lQu6f}7#Nrv7&kCpVEn)&z+}J_z*N9AfoTKN1x5>&0+t4r2`mYW zIt&Gj3Ct51Kd>xd6ku7va)RXps|2e9YX<8C)*Y&r8rW8_U10mcuE6fW zUcf$s{Q&z54gn4ejs%Vljtv|)I2kxKI0HB<7#LVs7+9E?7?_w?7#LWX7{Ck`a0+8& zoGi#8!U2j-hX0ZclLa~6PgdY~fP`<=>y@NdlrZR}B$gyHq!$-}{TuI>?-!qznU)`t zT2T^Ql2}xNUCK2t1yjN$u_O_P9*`7B4=666c(N=9cRkpFAOU7bzF-HjK^V&C1+f_z zL=1!=@){sENDRt%1hE+yI2Z&O7?>Cs7-B$dkQkVc>_ffWl+>isbOycRlA@BtBnG|W z%G?qjFe3vZG+B^CHx=X{5M~1z!oa{_0<#dx2jxZ(6XZ~kI%W`ufk7k%W-)}%08=Ll zN*7Qu1_lP16b1%{iphc;!oIQ$5GO+=W$rLAFcd&lLrn#nq6!s*s+09$U|=wSa^MsI Dep1T4 delta 8 PcmaE3vq58{iGc_J5y%57 diff --git a/lib/PR/f3dex/fifo/F3DLX_Rej.bin b/lib/PR/f3dex/fifo/gspF3DLX.Rej.fifo.o similarity index 64% rename from lib/PR/f3dex/fifo/F3DLX_Rej.bin rename to lib/PR/f3dex/fifo/gspF3DLX.Rej.fifo.o index fad03ca502b30b9106f51112ae62f52fc752fe07..057e705440ab534d8c12083d7adcd6e52fe3a7b0 100644 GIT binary patch delta 1085 zcmcbh-eY4@@9N{m$i&D12aF6H3=9lN0E$6qhdz`(%Y zz|am-A;7`7U1A3VgWv(i=^$D-f+1gG2mh}RZ1w*^su>s=nEwBFU|?WjGiG9_|Ns97 z0|$cxgTntmjAzcAVPO3KpMensp)?Z%DulR*3F@|bkWvN)hW{X=8KE=-*btCij0}tt zN9zBF%Ubb(jbUV9sQ=%4L1@d&%nUbFgcOaMH1v*5Qa;DI1LO8^^+4h6&OLJ z9`6H2`TqU=m<5UHQ0pkZ22S!l5!<`3autSp0|ILO1{fwI(1R5a3_9B$g!N&;ybJ=>a=3h^6MltG4tfq|i7aw4a&uPg(^$xtbo8U_Z20;p=J VsbEu7p<*y~Zx|RD44@o11psB^ys!WO delta 8 PcmeCNxuCw$amU7_-qpvAk%^H34j36Y7#J9k1Y~mrK$0dPf5`^nPN*Nd!{)3EWgwhOPLqK*hGBAq! z)c+5cwc-I;%gDgQ;J^Sv;vT{?1m+0N5%v(6BU&LaN9>F627x)^ECO>tP`*Lvh2Rxo z6=4Tq3xPSp0>TVJCxmi@QiL3YGz7m0tq@!zK1F6}?F!>{Us$>HL14ubU5JW-+>L-6>S6~E@db|%9<^MCV zFff1&{6G04`|SFl-~a{pv@PS3I4n34I662saNOWz;MCv@;H+R^U}0fkVPaxnVq#%nU}0haGg!bWjFEBj zM|KeoP;@f#&ycASHm&B4pENVf*u6ZewKeCJ0gB<{h0A@(KX9uxC7|Q1bu^AXd41^%^Dj+sU z49d3zu^AXR7z7y@m>3us0zhn#7?_Xj3%%Tw)TGjM2EF2vqLRcU2EF3S+!7uzBLgBd z`6Ih-D#$?~%my-qfq}sUW+9Xh%55Mf$e|#0%peW}gGdU@VhEoBrcM+T?@%!Y1_qfF u1_p+V$sgH;ePtOSPKHX#oMB*KD1fSlnhG{W6)FZ*Cu_sNz+eF7z$pO7m&+;u delta 8 Pcmca(vq58{iGc_J5l90X diff --git a/lib/PR/f3dex/fifo/L3DEX.bin b/lib/PR/f3dex/fifo/gspL3DEX.fifo.o similarity index 59% rename from lib/PR/f3dex/fifo/L3DEX.bin rename to lib/PR/f3dex/fifo/gspL3DEX.fifo.o index 7b84fb77ce5c3e07b36ea435210fd5284f41701e..5331c34fd7c502e67cf968eed4a169299e58dabb 100644 GIT binary patch delta 1173 zcmew$KgYzR-qpvAk%^H34j36Y7#J9k1SE9?K$0dPfjfGZ z82B3)@&zVea5UI!efKmQG0}BHK$khK(ojQ{r@PRN#eNb?Kf_qwp zLTPe-N~(g7v5RYj0t^`H85t`?<`-vVmLz5;Dnuq0m*(b|cLvTI)l~y0P71j0X7S^1hx*g4Qw~q8Q3-01K2Cr7qFjT|G*)^;lPo>F@a+T z#{*6dP6N&euqROnNIatX3*#iwPa<%gtJlmwR~ z7L{NMyXK{!3c4hgBw|qu5_Zi?nS7B?ydLZ|kY|}eNs@tq9mEDfT;teZm1fNjD!jU x14G8-i+sYqvJ4O>gM=9v7$kZa7#Ipb$qkA@;viF0k@z5We;61T3_y~|7yzgE?IHjG delta 8 PcmbPZ@cMu^7XhF7#P8> zVq$=>m>~TB{~&xY&A`C;ALcg@i-m!sp5gx=2L={}`v3KRL>L4Z7#aS5`2T}JfI;B^ zgUjWd%?x037#X-%fK7)H4KT(?qWK#brVB7IFbGI6<_j=zUSI%W2ZjfXA6OI^8W?Xe zHZc5Pe88l@c!S}V-~@pR!3ly>!0>>8hJcUY4S^2=7J>@$YXles-v~|-Fc5SQv=Pt| z&=C@WLIEKV^bryeau5;_VgU0%BB)qF2n0n$e#kV)ILKs(?-Ac3zC~~fivo)WO99Ia zmIEv=SOr)uSQA(~SU0fVU}Ip@U<+WYU|Ya;g6#vl1iJ%!2Kxl|9qbP{I5-SAA~+g2 zR&ZS4_`#|0|34&J8yE}>93V_$q8Ah-3JeTTih+T_0i>&efkCi?iCyRh0|Qe8lf2Lk E03w%brT_o{ diff --git a/lib/PR/f3dex2/fifo/F3DEX2_Rej_data.bin b/lib/PR/f3dex2/fifo/F3DEX2_Rej_data.bin deleted file mode 100644 index 4211afd49b799ae53b191e88ed0fb45dfd5c496a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1040 zcmZP=;@~aF{Q=Ae-gEH$2QiWH|Njgg$b4$DgMtGT+|w!)N|WN^- z6co}j)AALJ^b9N%6e9DBGcrpOvlA5}6N^i8^Gos-3@t4!75p;uN>cMu^7XhF7#P8> zVq$=>m>~TB{~&xY&A`C;AL2JgFpGtOqn_da9|r~&f%^aTe?%Ar7#JD;fB64{L4ZNw z0E5froXreia~K&ocYsZY5e+cLNTT^07^Vv_Ffa&6Fy;#|@Cz`2umi&b#t$q43=NF8 z7#kRVFg{>XV7$R_OK^ffh2R9iDPVX&KtsSs@P@z#0SiF|`85Izf^P(;2p9-D2-*nf z2J*K2ssD|2r+L-dZ3){Bwli!G*uJoHu* zEnmS%&%i=KAu_)>BeNtiJ5eDrvA8rhza(G5(9+UU!7nqfBsDK3UyqA{ff4K~CI$$L z3Bv#X55fo23=E9_A%0^7vsf57>KXq3abRFksQ+L8M}$Fufsx_=hyOnq1Q-+!Ft}XK z*~|bohmnDM1=w^L(EwwNB$~g0VY&bV1A~ABW4-_b=LH53c3^nG_<==%p@H!hV*|qv z#s^Faj5io=2~H5G5S$=51q=@eXbAWS-Vpd8U?Hd=zea#T@QvUU0Ruq?K^p-b0UaR` zC=?I^K_4LjAqOD=AqFrHB!Y?+gg{V4nUkf;EA)gLMPz4K@Zg4YmNb3bqAoC)hr)ORzhzXRuFT-@*QXgM-6>BZ8xWV+F?r zjvt%~|NldxwSmFFz`=p&m<0ui0s{k-VqjnZYjt2?5bR)L7rMc~z!bqGFLVO{0o7`5 diff --git a/lib/PR/f3dex2/fifo/F3DLX2_Rej_data.bin b/lib/PR/f3dex2/fifo/F3DLX2_Rej_data.bin deleted file mode 100644 index 57d0ccacc75a0d01835ff7244250e3a780c528df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1040 zcmZP=;@~aF{Q=Ae-gEH$2QiWH|Njgg$b4$DgMtGT+|w!)N|WN^- z6co}j)AALJ^b9N%6e9DBGcrpOvlA5}6N^i8^Gos-3@t4!75p;uN>cMu^7XhF7#P8> zVq$=>m>~TB{~&xY&A`C;AL2JgFpGtOqn_da9|r~&f%^aTe?%Ar7#JD;fB64{L4ZNw z0E5froXreia~K&ocYsZY5e+cLNTT^07^Vv_Ffa&6Fy;#|@Cz`2umi&b#t$q43=NF8 z7#kRVFg{>XV7$R_OK^ffh2R9iDPVX&KtsSs@P@z#0SiF|`85Izf^P(;2p9-D2-*nf z2J*K2ssD|2r+L-dZ3){Bwli!G*uJoHu* zEnmS%&%i=KAu_)>BeNtiJ5eDrvA8rhza(G5(9+UU!7nqfBsDK3UyqA{ff4K~CI$$L z3Bv#X55fo23=E9_A%0^7vsf57>KXq3abRG6QUAaGj|hVR10%!#5C4BK2rwudU~svd zvzY;G4kH6s1K4yJfy#r44s)8nfnmM?0|SGA0%N`a1Lp(=5O!dA!1#gr1w#YlEyf0h zAB+!}6c}$X+!CB1P$4)$a0(b65YQ0t5xgPrLBK*#L4J(@gWwy%DFOz94uUoUIs!UE zGEgWX1cD(#5<(tA5<(1M9!LZgYY2g$jIe-ojjyRoHV3v0wh3%I*dDNRup6*Pus5);V86irgF}JCgQI|B m2FC%87Yqyr1`ZAkATKH~z$gX=1_w~Qf(cdz<^v!O2m=7+TV^=` diff --git a/lib/PR/f3dex2/fifo/F3DEX2_NoN.bin b/lib/PR/f3dex2/fifo/gspF3DEX2.NoN.fifo.o similarity index 62% rename from lib/PR/f3dex2/fifo/F3DEX2_NoN.bin rename to lib/PR/f3dex2/fifo/gspF3DEX2.NoN.fifo.o index e9a3b4cb2c40561e906bf6f5a5a4acc775f812aa..145c19f465bbd86fcd8690b143c0f8d154e2ddad 100644 GIT binary patch delta 1027 zcmbQB{=wL!-qpvAk%^H34j36Y7#J9k1SA;*K$0dPfosf`kH? z54`8#`43_u`_5bVth%g8+Ff#oA@c##c0E5B-2A9h@n;F0cF*0zk zKz2Pt!(>68FZKKl4AViL7m#4g7hvGLzyQJy3=bGTuqZGzFy3NpVEDoKfJuSz2E#4E z2?7;@69lJ#;Q;{+0UyB|0v`k{1Qq1h2rvk~5u74mAm|`yBcLOoBP0Ta0zx3@BP1Z? zAS58f0Oo;2AUGdF2?!~Gp@_&2nFbjLnGEqg;#EqDm84dbFzBTu zmLxKy7Z-pd)+pXD-!C2%uOX=wCBY?$MI|`oT=P<}$hahyC?w+2=8{;F=$e-@S&&D( z9-cgz8Nlg)9ppw3hVpqqYz7A52|^HgO%NL-2IV`0*bEFT3W5v_pcEAkVuQrMd}Ocb z<))-2m8LW36_*s1BqlNF6<6k#@PHW^5TVI}Ji4hM2Z1mf$Pfkw1{0WtP(CPBK}?WC zLF$-690msABQT30d~mRXn4$~}3{W*7uJ{uM28No+f;_^$vJ4O>gM=9v7$g!H7#Iqm Xs$n`nwy8qJVCpU~FfbTEIdBR9yIZ|$ delta 8 PcmexhJVAY<$pm2l5u*cR diff --git a/lib/PR/f3dex2/fifo/F3DEX2_Rej.bin b/lib/PR/f3dex2/fifo/gspF3DEX2.Rej.fifo.o similarity index 62% rename from lib/PR/f3dex2/fifo/F3DEX2_Rej.bin rename to lib/PR/f3dex2/fifo/gspF3DEX2.Rej.fifo.o index d752acf3329273aa4b54187fa428178c841de76c..b9d2e57818b91ebcad3bf1805ef908ce0fcecd72 100644 GIT binary patch delta 1046 zcmeBBexPqs@9N{m$i&D12aF6H3=9lN0%9KoK$0dPfBjZBlLn&vlJ8*(lXQX6^!%@ zEEE(X^NTYwOA@ma6(SRhOLOx}@)Zm%EiD!NGV@AO^HTElxL{6Vf;x@~;>7>|Abc>* zz`*z);t)nKi-m!s-kjn89|r~&f%^aTe?%Ar7#JD;fB64{L4ZNw0E5froXreigBTe& zcObi-pJyhQJ2_3qb|>H3AHRZv>|Z7zjED+6d?f=m?2Gp@0ww`UnXK zIS2^|F@Sj>5eTk_Py#{nfY!YlbYz}N8Y#D4dY!ld) zun{!NJ3!z+uAS!4bnzz|q1n zgJTWH0gfviFF5{i3MeTlF)%2>gHEp`wW5SUFD0=gks-af036#!@j{49a%~u^AXx1OyovK&dPq#0H6h`N%%g%S}m5Dotn5D=sN2NlaqUE3V8f;Q=!; zAVQNFd2~}j4gz5|kRc2V3??uOp?pxv0x>}j1*u~OaTpi`kH9R3@EKt0L>U+uplU!e xqE{Fg7-}Xi6!w*6fVdbW%D})N7Qn#3Pykg7(*QC=6)FZ(cYuL`!2rsEQve|f#1;Sm delta 8 PcmaE$-=VzGq(cw@5U~R} diff --git a/lib/PR/f3dex2/fifo/F3DEX2.bin b/lib/PR/f3dex2/fifo/gspF3DEX2.fifo.o similarity index 62% rename from lib/PR/f3dex2/fifo/F3DEX2.bin rename to lib/PR/f3dex2/fifo/gspF3DEX2.fifo.o index 7137569432d8ffe41cb8f971c7ef9dcdf5a5bea9..9e8544124470dd828e8320aa4f785c25f6ed0edc 100644 GIT binary patch delta 1011 zcmbQB{=nFz-qpvAk%^H34j36Y7#J9k1SCEPfFw;o1cL?x8w2Zx3Br>Fc@8MN1qlT( zA9&Bf^B=@S#{d5_cuW@LiKq_>4p4AUt57IS&QD2Ia5HvsjZlDqw9K@81tUEJ3k8M9 z{NjwvlEmypg~-I>(%k%#d<8>GOG^d6%)FA+yp()BE|`;;ppIjLIPw2K2p>!{Ffjgy zID`?*VqxH@H)r_&$AN)Gq5gmU9}xxt21bVeAO8Pf5MWR^z~FK@XEOuXAVvo6709k< zXqYU>^QE4@fnhqx^8yl#`2q}_7Z^a;f#Ct;2Nnf}2F6>A4GcdRA22B}-e9;TI6bo;L*Rpeg`k4`8UY5uH-b|H3<;W1>=W2`us`77;4t8b;Ar4j!Eu4(2dBdS{|#Vo zH!v6&I5b}+FE-C$r~ieQo#y1}4Vl3G#1pqG+Z zlE{!=TmX((qj*r9hNM=M1eYWhm0%Hf%}YTObxABqL{cr_;u--l1|;E{moiz9N4y@M z9GMxw@y-r%69_~3ydX9MgYX0)h`cI@4HAR$twC%C1{MWD1_n?H3I?%3VqiY9SM+jI zQj<#48T5)vib@ib81#xOb4z%@j0}j-WI-O?RFH!}mAWr=M55fo2 z3=E9_Ar4^#vsf57>dhJc|8Zbo5vc!P|3`#DfPs0p_| zvVr9Y%MF${tPHFotQxE~tO2YktQD+1tP5DTu%2MO!}@`Zg-wD@hs}X4ge`-uhHV1d z61E*|XV@OFePQQdmti+xcVUlU&tY$1pTfR^eNR361@EI7l32iC_X4PD;^ZtA*mH5 z!6k`BB{<|<^HNY`G$Gnt5=#f*=A}$rC|(awvdj$Nw80K@6_n2l;R{X>g2-z! zFbGZni9z|!AT|R7i+~^l11OcngV-Q3Fdx}xdbug7Nu}uwdc`G0C5cH4dc~EwB|Kn8 z21ID`LvGzvkb^*&4P*!d1A__7LMR`UvOr9bLqY18K^z7K!6Pt>A$$gyI#C7&2B;d4 yjOY~x28No63x$1U86YkOi83%Shy^e(Fcd%)!!&>lQH6@Z)E!`8U@(Ak;1mGhKgaa| delta 8 PcmaE$KS6n;$pk?F5b*;^ diff --git a/lib/PR/f3dex2/fifo/L3DEX2.bin b/lib/PR/f3dex2/fifo/gspL3DEX2.fifo.o similarity index 73% rename from lib/PR/f3dex2/fifo/L3DEX2.bin rename to lib/PR/f3dex2/fifo/gspL3DEX2.fifo.o index c24e9616e7e7d00e1055f645394778ee0bd4ddb1..6bddfda0bf9a9005801865a3ad01cacfea70d1fc 100644 GIT binary patch delta 1006 zcmbQByg}cj-qpvAk%^H34j36Y7#J9k1jG&qfFw;o1cL?x8w2Zx34)UuxeqA31qlT( zA9&Bf^B=@S#{d5_cuZ#Gj;Id`4p4AUt57IS&QD2I@G*9AjZlDqw9K@81tUEJ3k8M9 z{NjwvlEmypg~-I>(%k%#d<8>GOG^d6%)FA+yp()BE|`;;ppIjLIPw2K2p>!{Ffjgy zID`?*VqxH@H)r_&$AN+QMg9N!KOzhQ42%r_Km7l}Ai$t-fWhT*&SnO%L5vJs4alx% zXqe2%{iUA2fnh$#^8yNt`2q}_6Bt0)f#Ct;2j&+H4UD%K8yJ2tK44N{yuolwaDqUE z-~_=bV0b`4L%>JyhQJ2_3qb|>H3AHRZv>|Z7zjED+6d?f=m^O`p@a|!h6qUrc?d}e zF@Sj>5eTk_P!d8KU??LjAe|$vBOM}oLUfDh7BLCt7c2rS7Ay%Y9V{DIZm=@2YOn^d zR>TU{>=En@>?_zWu>ast;PBum;F!U2fa3)NgMopA z0|Us93Jfrcfq}sR6c`TmAd;1V`2dIpW4)5piV_CBl*E!mhVftGonE@Q-><~Ey1}L8w!WWz%1d&%| zU=W-D5`*%sL2L#F<`04l44}jl3}S=CzE))RCY7c$=oOa~l_VxH=oMGymhgZX z84#h#jNH1ZAP0dk8^{m_1_l$Dg-|{yFhNX^LqY18K^z7K!6Pt>A$)LXgP5WWV84Kv yAS}9tfq@}sG9$OJuPg(^$sl0{1_m(&1_p)#sA{OGU{h3~VlZ_e?;Aila0&qaX|ovs delta 8 Pcmdm>KS6n;$pk?F4{-w- diff --git a/lib/PR/f3dex2/xbus/F3DEX2_NoN_data.bin b/lib/PR/f3dex2/xbus/F3DEX2_NoN_data.bin deleted file mode 100644 index 8b768268b228614d0c80aadff9582cf8f52f8b12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1056 zcmZP=;@~aF{Q=Ae-gEH$2QiWH|Njgg$b4$DgMtGT+|w!)N|WcMu^7XhF7#P8> zVq$=>m>~TB{~&xY&A`C;ALcg@i-m!sp5gx=2L={}`v3KRL>L4Z7#aS5`2T}JfI;B^ zgUjWd%?x037#X-%fK7)H4KT(?qWK#bmJ2X2FbHTc<_j=zUSI%W2ZjfXA6OI^8W?Xe zHZc5Pe88l@c!S}V-~@pR!3ly>!0>>8hJcUY4S^2=7J>@$YXles-v~|-Fc5SQv=Pt| z&=C@WLIEKV^bryeau5;_VgU0%BB)qF2n0n$F33d4NXR&dPZ94C?-88BqQK(8Qou5U z!S2AG!9Ia~2m1pK4h{p32#yAh z6&x2hesC)M{||}Q1_lEI2MCjx=miCd0s{k-Vqjo!0O@LAU=WpF diff --git a/lib/PR/f3dex2/xbus/F3DEX2_Rej_data.bin b/lib/PR/f3dex2/xbus/F3DEX2_Rej_data.bin deleted file mode 100644 index a01f1e3983864b1b95d7911b17d6142e7ca8144a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1040 zcmZP=;@~aF{Q=Ae-gEH$2QiWH|Njgg$b4$DgMtGT+|w!)N|WN^- z6cj3wN{bbY^b9N%6e9DBGcrpOvlA5}6N^i8^Gos-3@t4!75p;uN>cMu^7XhF7#P8> zVq$=>m>~TB{~&xY&A`C;AL2JgFpGtOqn_da9|r~&f%^aTe?%Ar7#JD;fB64{L4ZNw z0E5froXreia~K&oe}GMg5e+cLNTT^07?uk#Ffa&cFy;#|a0)Phumi&b#t$q43=NF8 z7#kRVFg{>XV7$R_OK^ffh2R9iDPVX&KtsSs@P@z#0SiF|`85Izf^P(;2p9-D2-*nf z2J*K2ssD|2r+dkWH@AW#1+I<#8m{Run4fIuvoD8 zuq3dQuynA@VcEcPgyjay8&(EZ5mpUW8`c2U6xIsX9@Yh{TUbx9-eLW~#=<7Sro-mI z7Q&XnR>L-dZ3){Bwli!G*uJoHu*BeNtiJ5eDrvA8rhza(G5(9+UU!7nqfBsDK3UyqA{ff4K~CI$$L z3Bv#X55fo23=E9_A%0^7vsf57>KXq3abRFksQ+L8M}$Fufsx_=hyOnq1Q-+!Ft}XK z*~|bohmnDM1=w^L(EwwNB$~g0VYvVU1A~ADW4-_b=LH53c3^nG_<==%p@H!hV*|qv z#s^Faj5io=2~H5G5S$=51q=@eXbAWS-Vpd8U?Hd=zea#T@QvUU0Ruq?K^p-b0UaR` zC=?I^K_4LjAqOD=AqFrHB!Y?+gg{V4N^- z6cj3wN{bbY^b9N%6e9DBGcrpOvlA5}6N^i8^Gos-3@t4!75p;uN>cMu^7XhF7#P8> zVq$=>m>~TB{~&xY&A`C;AL2JgFpGtOqn_da9|r~&f%^aTe?%Ar7#JD;fB64{L4ZNw z0E5froXreia~K&oe}GMg5e+cLNTT^07?uk#Ffa&cFy;#|a0)Phumi&b#t$q43=NF8 z7#kRVFg{>XV7$R_OK^ffh2R9iDPVX&KtsSs@P@z#0SiF|`85Izf^P(;2p9-D2-*nf z2J*K2ssD|2r+d6q~FL0i2H~KhzAHxVG&?aVX?b-BCHy$Hmm`xDXbN&J**2@x3HdIy~Fx}jfG8uO^3~a zErczDt%hv^+Y+`NY-iXWuzg|YV3%PxV0U4UV9#N1V4uRif_)GB1@BeNtiJ5eDrvA8rhza(G5(9+UU!7nqfBsDK3UyqA{ff4K~CI$$L z3Bv#X55fo23=E9_A%0^7vsf57>KXq3abRG6QUAaGj|hVR10%!#5C4BK2rwudU~svd zvzY;G4kH6s1K4yJfy#r44s)8nfnmD<0|SGA1!KMd1Lp(=5O!dA!1#gr1w#YlEyf0h zAB+!}6c}$X+!CB1P$4)$a0(b65YQ0t5xgPrLBK*#L4J(@gWwy%DFOz94uUoUIs!UE zGEgWX1cD(#5<(tA5<(1M9!LZgYY2g$jL-vV8>v6iDxxz)TSQw#UogL55n!=kNnq(< z*}!sxm4Q`*HGs8(bph)M)(>nFYz}N0Y!ldausvYsU^ifoU~gbw!G3}L2ZsWO2S)+N m42}aFFBljM3>+L7KweZ}fKdz#3=W`p1rw|c%m+Xm5C#Am>}Ui4 diff --git a/lib/PR/f3dex2/xbus/F3DEX2_NoN.bin b/lib/PR/f3dex2/xbus/gspF3DEX2.NoN.xbus.o similarity index 67% rename from lib/PR/f3dex2/xbus/F3DEX2_NoN.bin rename to lib/PR/f3dex2/xbus/gspF3DEX2.NoN.xbus.o index cda2826b9b8f03ffebb13e97f27747e7836ee6d7..d9cf4e0a7c8a4c4936af3f5807bd726ec8340908 100644 GIT binary patch delta 1023 zcmZ3W-e6)<@9N{m$i&D12aF6H3=9lN0+Ip(AW0Jt!Jxsw#=yE^f$-#y+y@lif`kH? z54`8#`43_u>i^gO5n&KuU}X6J;r|Z?0S1Kw3@(>*HZyXTfkAKv6T8p`1_mYrCV8O^40i6sh&xU{(>mL$67rA$l| zuZJg2W(II7Uln)9_5EJB1 zkUC}%hk-%(3d~*z9~|f)rYHjg15^!&EB=LnfuUw%qOh+l1H{1~Q3eJEi2?=&1`q}* X24Rpm$TC$_10)_WFfbT^B#|)yx(>j1 delta 8 PcmZoLS)jhrWPvaM4ypqb diff --git a/lib/PR/f3dex2/xbus/F3DEX2_Rej.bin b/lib/PR/f3dex2/xbus/gspF3DEX2.Rej.xbus.o similarity index 65% rename from lib/PR/f3dex2/xbus/F3DEX2_Rej.bin rename to lib/PR/f3dex2/xbus/gspF3DEX2.Rej.xbus.o index 27ebaf7358ecefc678b1eb4cf9f633100ca602f6..d5f12989fdafd9a6380e65202e97e845a845986b 100644 GIT binary patch delta 1045 zcmZ3W{6XKO-qpvAk%^H34j36Y7#J9k1jHExK$0dPfQ~IxeqA31qlT( zA9&Bf^B=@S#{d5_cuaoC9Z???9H8KyR-sUuoS%}a;AZUN8le}Inx&wiP?1zxtYD;P zV4(7q228l8-Fo-2EFfbHA6~i=uEK`Mw!PH$~U|=wSa^MsIdu+xS delta 8 PcmeyMzd(7T$pS$D5%B|g diff --git a/lib/PR/f3dex2/xbus/F3DEX2.bin b/lib/PR/f3dex2/xbus/gspF3DEX2.xbus.o old mode 100644 new mode 100755 similarity index 68% rename from lib/PR/f3dex2/xbus/F3DEX2.bin rename to lib/PR/f3dex2/xbus/gspF3DEX2.xbus.o index 40147d96edb644d849e2d7758518f6dd041f80e7..02f0f9e510342b2aa613497537ba292b68f97b25 GIT binary patch delta 1007 zcmZ3W{=wL!-qpvAk%^H34j36Y7#J9k1SA<07#JBDOu#BM7}ywCH!KjI{E_>B!ds9~ z0P}(O96bL)Ol183KZD2QkK7UULBRnE?r9YYrOEjzsS0k!F0K&@5Kxg+TC8BCXJDbA z5Sd?`ky(|sK9QEc5|Nl5Juqf33um2;$Ai%)L@c+aA9}EHv3I`ZmF6V4!02{=}z`X+5 z^$ZP@KXQMm=Wk$GF2KORAfUmRFTlWgfdPaa7#=WwU{PRbV7$fH!0?0d0h0pb4Tf8S z69g&*CkRdf!vg{u0zQH_1U?8@2r9_05nvE}BRECCK+r+ZMnFeEM@R$;1%yD*M@T@( zK}bM|0n7u5KyW^U5)e`VLlKb+G7&NoG7jQX#Cybh1gEeluz0W(u*_gN!197sfYpLE zfwhBm1M3Yo1~v`00JaLY1#BnSKCnx$JFsW4Phj7{{(ysn!+;}#qk&@u#|4fboC^Q{ zH-Np}z+hnD;4m>!vmWGK1qKEv#lXPe08-$-oiHYL% z@WjZ>0FHHbkdr_d%I5{K85o2Y2tnjkL2Qs1ly41UGcd3y2r@8$(oZmm4H5(Mk$s|< zo06JTn$DnCTvAk$n8cu0T$x+K17>7EgeE5Hrh?o9!fYTj7#KiVLwEs{4WdAS2ckjl z1gT>NaTpkcufXhu@WFu$Vu~^_FhJFSxZ+j5+ehH diff --git a/lib/PR/f3dex2/xbus/F3DLX2_Rej.bin b/lib/PR/f3dex2/xbus/gspF3DLX2.Rej.xbus.o similarity index 65% rename from lib/PR/f3dex2/xbus/F3DLX2_Rej.bin rename to lib/PR/f3dex2/xbus/gspF3DLX2.Rej.xbus.o index de0fc6c0746861c9926febdea66534dddd6c7514..a0ec1004536052204492b86508feefe8e324b344 100644 GIT binary patch delta 1045 zcmZ3W{6XKO-qpvAk%^H34j36Y7#J9k1jHExK$0dPfQ~AxeqA31qlT( zA9&Bf^B=@S#{d5_cuYRX9Z???9H8KyR-sUuoS%}a;AZUN6QLKBnx&wiP?1zxtYD;P zV4(7p-^d7v`-lgK2MA7K5nxeav0(9GNnj~q>0p_| zvVr9Y%MF${tPHFotQxE~tO2YktQD+1tP5DTu%2MO!}@`Zg-wD@hs}X4ge`-uhHV1d z61E*|XV@OFePQQdmti+xcVUlU&tY$1pTfR^eNR361@EI7l32iC_X4PD;^ZtA*mH5 z!6k`BB{<|<^HNY`G$Gnt5=#f*=A}$b6t9OTS!M=s+F*yd3d-k&@C6qLLF6?V z7z7u9#Grg<5SxL4ML>{&0hG$(L2Qs1n2+o;z1)=4q|$T-z2cIhlEfqiz2eH;5*{!k z10pmrQ8yLj9uQ^&nZdxoU;?ub$_FJZ5EJB1kUC}%hk-%x3d~*zACmhR7#Ktu7#N^x zKr*6F7#J98CMF8|$}&J43=(BvU=T}SU|=YKDu!tQS*8jVgQ>f~z`$St<-jQbId_mu&-qpvAk%^H34j36Y7#J9k1jHT)fFw;o1cL?x8w2Zx4T6(zave~33la)o zKJcD{=Rb&vjQ{^<@R)p&E22IqI6%QYtwNzRIX@*;!N=IeH9`RbDw0Zz6^!%@EEE(X z^NTYwOA@ma6(SRhOLOx}@)Zm%EiD!NGV@AO^HTElxL{6Vf;x@~;>7>|Abc>*z`*z) z;t)nKi-m!s-kjn89|s2J7xn+^|A;UMFfcOw|M33@g8+lV0S1@LIhz^41~D>lH6Xj5 zp<(hxt}pfc4Gh~so)@rS%okwboWKCW4h#<%KQO;wXkfg>*ue0E@d1+p;|+#ef)fNP z1Sbei0mB0V8Uj9oHv~QiSO_Y}uMuDnd?PqTz(CMJ&_+N<4dTHVPFt^0<#yw2ZuF?Daru$3Wy29 uqE{Fg7;+{i3j4}3KpYGbWnf?s14T&zR58?0upz2YF_=1#=MA77I0XPu?Yb%e delta 8 Pcmcbhzd?DU$p%3H5pe@~ diff --git a/lib/PR/s2dex/fifo/S2DEX_data.bin b/lib/PR/s2dex/fifo/S2DEX_data.bin deleted file mode 100644 index 8d807f513d0e8cc4185c3145f704995de55d197a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 960 zcmZP=@_?0rfr0tJdk&ue5U(^aL1@~NTtUGB3hrqY3Z=>UDX9v!N}0S@Q;Ck zL4bjUL4kpZ!B&8Q(TIV8L7jnt!Bj;}EGO!=~z`(#{z~sQez`?-603sReIT!>O z7#bMlL6$HwFz|ycVq#!mcVK8>U}0eV&(Of|pOJx~o{53M9^_IM1||j&4Ymi9fVcxh zA~1->0CpjW#fZd$h=NFn3er0LbAx*!6`h7#IY=w0w?Wi^2)9FA5?GJc1D* zs9>QGq7Wb$p|AnO6O0g2k=X!&n2sVv1QgUl3Q(vbq#~pu_(e!XkwZuYWCw_kjuk~f cP%uL5g=B`<7ab%7 diff --git a/lib/PR/s2dex/fifo/S2DEX.bin b/lib/PR/s2dex/fifo/gspS2DEX.fifo.o similarity index 72% rename from lib/PR/s2dex/fifo/S2DEX.bin rename to lib/PR/s2dex/fifo/gspS2DEX.fifo.o index 72b5be5253618e45318e25a4bc69edcd84e5b12f..bc6a8226e7c9fdabb199aa58a56d047cc0d3395f 100644 GIT binary patch delta 1079 zcmeyMf5+OS-qpvAk%^H34j36Y7#J9k1Z3U_fFw;o1cL?x8w2Zx58{&@_|{B*z$zxh z%D}+DeBeC?&wsEyLj%*~i>xX2TtUGB3hrqY3Z=>UDX9v!N}0S@Q;CkL4bjU zL4kpZ!B&8Q(TIV8L7jnt!Bj;}Zz9@(& z@CZhLpn`=$h(ds1gu(_8PcTAAMP`G{1{M%8`68=bJt%;L6rfN=NJU6R@QaX&B8QL) zNG*tujuk~fP%uL5g=B`<7a_;;wlqsG=^3C5c!RgM?l4QYK$y6^8~OD7k`yg@J(`9DN8r zFN81tK?owR!oVO7idF_F-x4Cvd_a(afr){EApn%{L1JJ&vN!Z{Q&N*k(;4)NONvSo zlNj`hD|1VDz>Ext(BzA(x~Z_3VFMY$z`$Svvk=M$MHYw&awteGGl;{$AfW=Y7{Ujo zDKJYE;ukQRfq_B#2?GN|#^j5v!oIQ$5GO;WWPBJH7z&`Op{9aOQH6@Z)a_wlU@(Ak G;1mGJb-4fl delta 8 Pcmca({Xu`D$p>)&6lVk@ diff --git a/lib/PR/s2dex/fifo_d/S2DEX_data.bin b/lib/PR/s2dex/fifo_d/S2DEX_data.bin deleted file mode 100644 index 828a5f3cb2f8d88ba822d978b70d70047e14ed85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 992 zcmZP=@_?0rfr0tJdk&ue5U(^aL1;`;$RwpHNr)~ zP|v_zAu_)>BeNtiJ5eDrvA8rhza(G5FEg(sH7_M!kBftW!GVG4|9=Mt24)71|34TR z8W{dDFfa%(urMevFfrH)FfbZ1FfgbyFff>^sA>HF!@|Izz##C4f%!j!{Qn1-zCsgW zWMF{#k%18+$HKq@VKDyx$Dr^Z98Q7}LMy~mrl)`<1Q-+;6c`*B3>Xp^82*1@5MU5t zP+%}&FklE_VEq3N1Yu_V{{z;+`2Rlx^ZySF3=AL^2NT2p{|t-_><2$EFfbV~IdCv= zFt9LyNCtZj1_1_!1_pVMC5#LV{2+^%7#P?c7#bK@7#ROEG%);UWMHUgVqmZbxs-*0 zi2+1|?ZG4<+p%PgQ2*h+0DI%bt7AkXvN;4R?GFH6!0rKJh{r?#+Fg{>-!L$GX DYx{!+ diff --git a/lib/PR/s2dex/fifo_d/S2DEX.bin b/lib/PR/s2dex/fifo_d/gspS2DEX.fifo_d.o similarity index 70% rename from lib/PR/s2dex/fifo_d/S2DEX.bin rename to lib/PR/s2dex/fifo_d/gspS2DEX.fifo_d.o index 1551d98588b78780dc09325e10948c6272cd694a..8270befbd5ec5a936fcdee4917d13d984b3c5835 100644 GIT binary patch delta 1173 zcmeyM-(q7@@9N{m$i&D12aF6H3=9lN0FUeQ%%gifDbA;6%(puph3V8D>T!0`VIg8+jFg93vI zg8@Sb1LOaHAP6(-{~xdp#{d5rnE!tOh5Y~j3>-`h|Nk>EGO!=~;K{(iWWeOW!N9@5 z!T=%}>^T?&7#JEDU|?Zj{Lj$9@Sl-^p`M9>!5-vP76v8; z76uk@yg=d=L?SSV1&MJGixKQH2n!+#B4K<6{su;KPHODtOg5+n5@WV=MD-Wp#mr@5duLMp%O(2 zp%RcKQ9u{9s^U;Qzn>KjQ_)2MjNm z7BJ|Qq*jzL=%pl
EI7l0E@d|GB&etb$uYDGzKNn%k6HVN0f6m(&i#F9j;>Om5& zc`1_>*~CG~1RRkJ%%I?6U|@&vKq(I#pu7;i_y-|~ycz?8I4HUqpnO}1Jo5uV1_mYu z28J*O2IdDKF)$z5H+s1#sY#{j40^>SMJ0(z40^?txg|VcMg~M^vLc&qDlEp>K!z|d zFqptBgz`a=2x5X93R24q;xI5ssK6|S@Ih$}%n}75v~Kw diff --git a/lib/PR/s2dex2/fifo/S2DEX2_data.bin b/lib/PR/s2dex2/fifo/S2DEX2_data.bin deleted file mode 100644 index 95dde46a7794a4745ef58586fc3be366bee1f3e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 912 zcmZP=;@~aF{Q=Ae-gEH$2QiWH|Njgg$b4$DgMtGT+|w!)N|W zEnmS%&%i=KAu_)>BeNtiJ5eDrvA8rhza(G5(9+UU!7nqfBsDK3UyqA{gMq<;f$9H$ z2L=Xa29Ezf7#SKE{xL8x2r#fPC@?TF*a|Q(8Zj_1s53Ayn5w90{Qtwkz@We&@P~o< zKZE@L2L%1Zh@=9_W?^7~2r~Zv$Dr{4KLZ0R0|Nu|0l_t5FQiw@UICUAU{GLCU~phC zU`SwK`2U4LfI);ofx(2qfFXo|@&7*%WPqB-O?yFff2v983)V z|1&T$upj)uz`()4!N3A08SFV21Q-|^800~gFfuUkgDhfVU|@G(XkcJrVEoU}!0?}u zfuWv>fx#Z+S{4Q-1`yrA1hxg4fVcrfA~1->0CpXS#fZd$h=NFn4Adn428QVZpiq}! ztOwC-9_;#JCm0w6XRxb_osjMjm>{r3evLqgK#kxU0U3cE0$T(m1SAAqpwK}O1aAmB v2o?xB2x@?NAQ4m?AP9mk(j8(a1lI_th(zIV- zEnmS%&%i=KAu_)>BeNtiJ5eDrvA8rhza(G5(9+UU!7nqfBsDK3UyqA{gMq<;f$9H$ z2L=Xa29Ezf7#SKE{xL8x2r#fPC@?TF*a|Q(8Zj_1s53Ayn5w90{Qtwkz@We&@P~o< zKZE@L2L%1Zh@=9_W?^7~2r~Zv$Dr{4KLZ0R0|Nu|0l_um4AKW?9{@`VFeor6FgP$6 zFeETA{Qtrrz#zh)z+l2)z!1W~`2QaWGC<8^@?eVi{|Bs#@&A7Y=KmiU7#Kh-4km{G z{}~t=*bjbSVBlcjU|<204E7uh0t^fd4DujL7#SG&K^8GFFt9r?G%&C*F#cy~VEE6- zz);V`z+ew@Eeit^1Bh;50^5R2K->T#5g5c`0J{#vVnkv=L_s7(25J(21H*IyP^e2V z)`Mua1a^I~2Mi2?GuYL|9!M_`m>{r3evLqgK#kxU0U3cE0$T(m1SAAqpwK}O1Rn@G v2o?xB2x@?NAQ4m?AP9mk(hI~M2(A%O5lw(V=_x`I0xuXJFn(b8!L$JY0I6+C diff --git a/lib/PR/s2dex2/fifo/S2DEX2.bin b/lib/PR/s2dex2/fifo/gspS2DEX2.fifo.o similarity index 75% rename from lib/PR/s2dex2/fifo/S2DEX2.bin rename to lib/PR/s2dex2/fifo/gspS2DEX2.fifo.o index d535e14f58362957b9899dd293cffcf495c282f4..557f37305c91511834acb8cda0553ff504ebfe8a 100644 GIT binary patch delta 1116 zcmX?L*kEf?@9N{m$i&D12aF6H3=9lN0NW=zJj5prKN&jW?o5ZUP`_m7syo(3{3z3J1{UXGjRO>!N}0S z@Q;CkL4bjUL4kpZ!B&8Q(TIV8L7jnt!Bj;}NnW|38?V$fa11 zXSr}L#4rl!Tk3r%8e+C9t1_lP^1A=SBUP!N)y#g#Lz@WgOz~I1Oz>vVe@c#>g z0D}mF0)q*I0YeA_EGO!=~ zz`(%4z`?)*CK>EG7z7v?8W`k3wlFd<@Plk(Vqjo*U}#`qVPO2v(7^DYk%6I}iGjf$ z zVZy+`4(5Q;1BA~D;Y%D4g78%t7$gpW#Grg@5SxL4d4eDV11NHWL2Qs1n2+ogz1)=4 zq|$T-z2cIhlEfqiz2eH;5*{!k10pmzkxMrf7A@ P)yXC>FfbTEIdBR9O_02P delta 8 PcmZp$Jz%)e(%k%#d<8>GOG^d6%)FA+yp()BE|9An7?}S5cVJ*(X5je$gOQ#KkxQ{2 z$zL!(vM{hf9M1UvAA`dG{|pSQ3=9m+2L#uMGe{qpeE=*ez@WgOz~I1Oz>vVe@c#>g z0D}mF0)q*I0YeA_EGO!=~ zz`(%4z`?)*CK>EG7z7v?8W`k3wlFd<@Plk(Vqjo*U}#`qVPO2v(7^DYk%6I}iGjf$ zBeNtiJ5eDrvA8rhza(G5(9+UU!7nqfBsDK3UyqA{gMq<;f$9H$ z2L=Xa29Ezf7#SKE{xL8x2r#fPC@?TF*a|Q(8Zj_1s53Ayn5w90{Qtwkz@We&@P~o< zKZE@L2L%1Zh@=9_W?^7~2r~Zv$Dr{4KLZ0R0|Nu|0l_t52c#QjH-IGt7!(*37#tW3 z7!nv5{(oT*U=U$YU@&1YU<2$EFmNz%FtC70273+$0S1N!26>Prj0_C?Ad8q77}y;c8W>m@82>XgF#Km^ zV5nzeV6X?dmW6?d0Yo=2fo(x1AZ`GW2n=E|fL#Y-F(R=bq976?12u`ifnm7-DAY9= z>p?V|0=vH00tN=b73}I_3#1bSCI~E%Un3AAP$RfTKt^DPz!m`s0SQ4DD0C16!5e}O uf(3#Of*N2RNCXuJ2!f!Cbb{Cd!8HOZq7e`%9U>$k@PhFH;|GQxOd9|rd~4tU diff --git a/lib/PR/s2dex2/xbus/S2DEX2d_data.bin b/lib/PR/s2dex2/xbus/S2DEX2d_data.bin deleted file mode 100644 index e452992ecffd299c8938cdb9c2f020c1d52c323e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 912 zcmZP=;@~aF{Q=Ae-gEH$2QiWH|Njgg$b4$DgMtGT+|w$egA>zIV-BeNtiJ5eDrvA8rhza(G5(9+UU!7nqfBsDK3UyqA{gMq<;f$9H$ z2L=Xa29Ezf7#SKE{xL8x2r#fPC@?TF*a|Q(8Zj_1s53Ayn5w90{Qtwkz@We&@P~o< zKZE@L2L%1Zh@=9_W?^7~2r~Zv$Dr{4KLZ0R0|Nu|0l_t57o;c5o&c5O?yFff2v983)V z|1&T$upj)uz`()4!N3A08SFV21Q-|^800~gFfuUkgDhfVU|@G(XkcJrVEoU}!0?}u zfuWv>fx#Z+S{4Q-1`yrA1hxg4fVcrfA~1->0CpXS#fZd$h=NFn4Adn428QJVpitLf ztOwC-2JHG`8yFY_SFo##ZICVym>{r3evLqgK#kxU0U3cE0$T(m1SAAqpwK}O1Rn@G v2o?xB2x@?NAQ4m?AP9mk(gk801lI_th$cXwbc&FKzzfC)j2{?&Fl_(;p;&CU diff --git a/lib/PR/s2dex2/xbus/S2DEX2.bin b/lib/PR/s2dex2/xbus/gspS2DEX2.xbus.o similarity index 75% rename from lib/PR/s2dex2/xbus/S2DEX2.bin rename to lib/PR/s2dex2/xbus/gspS2DEX2.xbus.o index dc107d35c2afd72ce4a7849dbbdfe43303c2f45a..8e4a3326c5b55a41f80bf349ed8d35bdfdc1e16f 100644 GIT binary patch delta 1112 zcmca$IKkGW-qpvAk%^H34j36Y7#J9k1Y{QofFw;o1cL?x8w2Zx3lft(%k%#d<8>GOG^d6%)FA+yp()BE|9An7?}S5cVJ*(X5je$gOQ#CP_Z7# zTQD!OFt9+}&G`QxgTnv+3=FIc3=GT%1lNcikZzdW0G1SBP+(ACa9}WCNMK<2|Aj$- zL4-kp!GytpA%ubP|346fnaAY86!HHLSQq2}{|wCkKY)Vs|9=J!CWiX|{}~t=*bjbS zVBlcjU|<204E7uh0t^fd4Dujb7#SG&K{hclFt9r?G%&C*F#cy~VEE6-z);V`z+ew@ zE(-$_1Bh;50$YPjKs*Q{5g5dR#351VRLA1lI`22<#BpA|N3kA?N~y4uT+fL(oC6K+r)@ z1Iz=7IMgGUf)0WKVCW*9Ahtkojev@11O!Tl2nh(hV0^&%f#C#sDg)v&6hIY24Fwyb3KfH?1F129 Ha^MsIQarjQ delta 8 PcmbPWd%(%k%#d<8>GOG^d6%)FA+yp()BE|9An7?}S5cVJ*(X5je$gOQ#CP_Z7# zTQD!OFt9+}&G`QxgTnv+3=FIc3=GT%1lNdNke)Dm0$5UjL4iSm!GXbmA%TJ6{}%=U z1`!4Y1``GYh7bnE|NlS`W*(CVQ^fy2U|o#=|1&WE{{RZk|Nj{{m>BB+|7T!iU_bbQ zfq{d8gMkH1GT3u42rw`-Fvx>!VPs(72ie5Lz`*Xn(7?dL!1$k`f#E+R14BI%1A{%t zxhxD!3?RCJ32Y5A0r4P+L|_mL5~E=MGlE?T5`%P7Fhz~au#FhhYsY=HtV1B<_cAOk~-62l$_2L=uXNzp?NObQGJP7Dnq z4h(E9q6}*C4gX&Q3>*s5Yzsj0{g)XS+AlG%v|nLhgURzUutb8)1*z-dX4t_XoZ4jA!(hXd zJwt_oCqtok4PyfH0|pMJoEZuZ+!_p`3IG3r)H_UJV31Q_V0M_y!2ptXm?QwDB^VsI z4dCiPav=3!`!_R4D1G{-(7&C*MaqFeim7OU0@IfTN^Fe`91bE83`SE}7{nU>|8)=# zVCdh>;2`w*|6h<^hsh2MATg$Luv!+dzUd(L|6d?^rlK7RNz{J4Fut1@3?2e% z49)^73=tBlYaTN&^zUTg;ACKV*}sE<$JmnjzX?-8LAx@Gi?StyhPcK5zaX^&4*%nu z7cqD#IQ{>_;_yF3!I{~tr;34L@gfEyMQvp6uYC^#`l!14oA!U2VKKN%R- z{a|3>WnhU@`p&>1{(n7#Kwv7^Dr< z8JIwEVW7dlBFMnNb?TM^GdPY`F!(44GB7G7GB^ljFt8}_Fo5&P`h^TCAoEV$QD78! zz`%FvwgS_uSqjXj?kX_6nxnu7inCX<6_{SlRbWtHWKK|EVqU<>z^c$9&#(_Lz3JfQd6qrsp%P^d9kzw&_QtVMsWMJ}YlI&G*V&L#VLr((!G4lohW#Xm1j9*A3C5FL z5=L0uObYBQ3Jh$H4h(Dt2N+H`DDX0{ zS~9$_P&mC&fR&el)%o;B5mv9JbhcBM1em;<-1+;?Gw^sV%IE95z#!wb$e-UJk%7tU zP&uF1p>Te0`+B}pmqggS?c@DL6d1CUt}!Th2~KG}Au6e=W zqwt&|Kvv=ZoE8p77DfgJ4p1JHQD9&PmkTcc@5nU#3j>u43Qi0xYoKKVA|GD>muH}I z0;JDGjzK_x;a_}Tusg5@FbFJQU}1a^r$ij^e{1S z^e{6B^sq2U^sq4~Ft`dRFr-Q-FtjQtFdQ{dSi{7?v4)vJU=0g{#2PjRP`z!ZAjiPL z%fMpVW5r<5qr{-Fei0a}C^#`StY5_7)5G-t#~LO^PA=9jcpyN5aY2CsqeF%QLqdQegM)-3ql17V zCj(nENWHiGy9Z!*$-G+ycB7^Mo0J0six*dfpm+UqHt+iP{-81hod^EsuK3|KeNrmVw3l9!J`%N1W{5d$zE?dc@1^y?2}ct4G}Y-tzzWUOnev@lM#n z{^|t>tM`H${#Oq<*}TQJ&VBWem&@CH@7-4qx%pl_=izwuf`{|fb1t4&FSvM>zB4Fz zSM6bW^+kf!yJ`#Xt1lAl-qm~0z4|G^;$6M9|J4r(wpX7e7+!smU^3)lV0raTg7MXN z31&$L1`wY~={tjiqyq!ztIskFufE7Iz4|7@`0Be1GsrxUS+9P|u)O*q!v<1k$i=`Y z>A)c6-LQt;+hGmAx9HkfZ&l4$?OF63zqkC~bFaSfGrjuG&;05uKijLP{On5K83bN^ z=C645kiQbtE(4WQ%m*NK0*DPtKcKYZ{WtED_n*3r-tu*yKxxK1{@!^|TEUr4VCh5R zYKxb|-LtSX0cu--%muZ}K>e5gN(P4h3I-MiNq#2-MFuwICLg<$ z#{UXp><87JjcM);>Exq>hS+Zs|SOMlE(jkvJC%!gY*e9{C^EHg_D6Tg~@w@TAK#L z7bQamCQyCa!okSk(Url#)DWQRA(FvhevSducKWu2gONqyIfKU1;|vT-4=^yD^ps#Y z=_SEx|e1O-U$0A;PUtRE$N3Z8ciFnDr5Ab@S&*Jq$-Ph}V zIFHwRe_xRKCw(lKPIX%_o%9i5J=HD3>Ybm`>YWkO`{I)Y!;4Qcj3+)xFoN2NJ?|M9 zJh(C#I2l+gO*k1CTUIbIEa70-vV@h9rA3b6PYVYlOA9l@mR2SPrdCD<7DWyQCJ_Y& zK2Ugq>R3=bAh$z$7#Vfeyk}ro^MQedMS(%-#1jLC6Y3ULUefp8c*|QpKA~!0;l+OM z!U=T?GjDlQEiYEZ2Cp=O3tq=0CwR449*|M^|4l*h|AQC5Ef@?k7+4m(XJB6Nfq@<5 zPCuW~mQRp@fz4a~Pp_BI!~MYyyTN%JIN!#bdpzsVfxm%qI*1mOU`Q9Q;Q#f3t^PkqH3K69 z)Bpbt3=Ax6#!L+L|NsAB;9ziIP-tLaJags@1LOby42&QMrI{E|AtTfb1_lrdq>_Pw z;XlY^MkvhyHUp%Lk%3XXrT%}otQ8N)Rz?OU1_uTZ5^rGm|Np=60f7~Qe}p>(RtVn^ zSRooBnj)}5+(BRk2nyE-Hwc#qtPqY7_7T<*x*&8yXo*mdP=K(25Rdp7@e2|f5;l@0 z;#0&o2tRbrk#*0`l{7QY&>792J6#GV?Oa5{nb_xWJxZR$$z~c!BW)lK_(eQvg!| z(*&jsOcxj}m_M*Eum~_eVANqKU`${(VEn+MzzE6?U|k3TlxV?$gb*5KjfTKz2#kin HkPHC;GOu+m diff --git a/lib/PR/super3d/fifo/gspSuper3D.o b/lib/PR/super3d/fifo/gspSuper3D.o new file mode 100755 index 0000000000000000000000000000000000000000..c082a5d9af145741b567e102004a2d0a867cdd75 GIT binary patch literal 7088 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 literal 0 HcmV?d00001 diff --git a/lib/aspMain.s b/lib/aspMain.s new file mode 100644 index 000000000..7a3f11092 --- /dev/null +++ b/lib/aspMain.s @@ -0,0 +1,36 @@ +#include "macros.inc" +.set UCODE_SIZE, 0x800 + +.section .text + + +/* Audio Bins */ + +/* + * "What the heck is this?" + * Shindou is the only version to actually edit the audio microcode, so I had to do this sorry lol + */ + +.balign 16 +glabel aspMainTextStart +#if VERSION_SH == 1 + .incbin "rsp/audio.bin" +#else + .incbin "lib/PR/audio/aspMain.bin" +#endif +glabel aspMainTextEnd + +/* DATA SECTION START */ + +.section .data + +/* Audio Data */ + +.balign 16 +glabel aspMainDataStart +#if VERSION_SH == 1 + .incbin "rsp/audio_data.bin" +#else + .incbin "lib/PR/audio/aspMain_data.bin" +#endif +glabel aspMainDataEnd diff --git a/lib/gspF3DEX2_PosLight.fifo.s b/lib/gspF3DEX2_PosLight.fifo.s new file mode 100644 index 000000000..5d1db5cc1 --- /dev/null +++ b/lib/gspF3DEX2_PosLight.fifo.s @@ -0,0 +1,18 @@ +#include "macros.inc" +.set UCODE_SIZE, 0x800 + +.section .text + +.balign 16 +glabel gspF3DEX2_PosLight_fifoTextStart + .incbin "lib/PR/f3dex2pl/fifo/F3DEX2_PosLight.bin" +glabel gspF3DEX2_PosLight_fifoTextEnd + +/* DATA SECTION START */ + +.section .data + +.balign 16 +glabel gspF3DEX2_PosLight_fifoDataStart + .incbin "lib/PR/f3dex2pl/fifo/F3DEX2_PosLight_data.bin" +glabel gspF3DEX2_PosLight_fifoDataEnd diff --git a/lib/gspF3DZEX2.NoN_PosLight.fifo.s b/lib/gspF3DZEX2.NoN_PosLight.fifo.s new file mode 100644 index 000000000..55585c12c --- /dev/null +++ b/lib/gspF3DZEX2.NoN_PosLight.fifo.s @@ -0,0 +1,18 @@ +#include "macros.inc" +.set UCODE_SIZE, 0x800 + +.section .text + +.balign 16 +glabel gspF3DZEX2_NoN_PosLight_fifoTextStart + .incbin "lib/PR/f3dzex/fifo/F3DZEX_NoN.bin" +glabel gspF3DZEX2_NoN_PosLight_fifoTextEnd + +/* DATA SECTION START */ + +.section .data + +.balign 16 +glabel gspF3DZEX2_NoN_PosLight_fifoDataStart + .incbin "lib/PR/f3dzex/fifo/F3DZEX_NoN_data.bin" +glabel gspF3DZEX2_NoN_PosLight_fifoDataEnd diff --git a/lib/gspF3DZEX2_PosLight.fifo.s b/lib/gspF3DZEX2_PosLight.fifo.s new file mode 100644 index 000000000..7d1fdb005 --- /dev/null +++ b/lib/gspF3DZEX2_PosLight.fifo.s @@ -0,0 +1,18 @@ +#include "macros.inc" +.set UCODE_SIZE, 0x800 + +.section .text + +.balign 16 +glabel gspF3DZEX2_PosLight_fifoTextStart + .incbin "lib/PR/f3dzex/fifo/F3DZEX.bin" +glabel gspF3DZEX2_PosLight_fifoTextEnd + +/* DATA SECTION START */ + +.section .data + +.balign 16 +glabel gspF3DZEX2_PosLight_fifoDataStart + .incbin "lib/PR/f3dzex/fifo/F3DZEX_data.bin" +glabel gspF3DZEX2_PosLight_fifoDataEnd diff --git a/lib/gspL3DZEX2_PosLight.fifo.s b/lib/gspL3DZEX2_PosLight.fifo.s new file mode 100644 index 000000000..f09f6f170 --- /dev/null +++ b/lib/gspL3DZEX2_PosLight.fifo.s @@ -0,0 +1,18 @@ +#include "macros.inc" +.set UCODE_SIZE, 0x800 + +.section .text + +.balign 16 +glabel gspL3DZEX2_PosLight_fifoTextStart + .incbin "lib/PR/f3dzex/fifo/L3DZEX.bin" +glabel gspL3DZEX2_PosLight_fifoTextEnd + +/* DATA SECTION START */ + +.section .data + +.balign 16 +glabel gspL3DZEX2_PosLight_fifoDataStart + .incbin "lib/PR/f3dzex/fifo/L3DZEX_data.bin" +glabel gspL3DZEX2_PosLight_fifoDataEnd diff --git a/lib/rsp.s b/lib/rsp.old similarity index 100% rename from lib/rsp.s rename to lib/rsp.old diff --git a/lib/rspboot.o b/lib/rspboot.o new file mode 100644 index 0000000000000000000000000000000000000000..7ca09ee2fdda42564378cf4046112b32815dfb66 GIT binary patch literal 740 zcmb<-^>JflVq|~=Mg|TB1_oq-F9IM*6A;0m!NA7A%E`bYsldp8pht;8K!KURUV&Yp z!J(aj!J&zR!J%1z!GXnqL8RgTKadVy1{Qu0&G3MM!=b@~!GS}8!H|QYL6m`k2_()8 z6*u7sVsPkC015Geh#n;d76T^+CIJTqb`T$CjssH!gMkwxgN(!fw;=HzB?gHeWd<3A z4?yg7Xu$6tP6igR{U9?K^h#1IN*MG~5=#;pii!)8^7BhVQY%V=OA?Dp zkOf@xQea${#F9i5d5{1|9&8{60S`}RNZ5k?1X2a%gZ<3Fz;HnbA}x z22tRo!N35HBak{~kRSsCBMXFvlQ4Cn3=9lVH6S^#x&ROh4a+h>{0S9i3}IkkD1hpP V=?9sq3KfH?JHo)gU;yR7DFAgJRxSVl literal 0 HcmV?d00001 diff --git a/rsp/rspboot.s b/rsp/rspboot.s deleted file mode 100644 index 671c97e22..000000000 --- a/rsp/rspboot.s +++ /dev/null @@ -1,73 +0,0 @@ -.rsp - -.include "rsp/rsp_defs.inc" - -// This file assumes CODE_FILE is set on the command line -.create CODE_FILE, 0x04001000 - -.if defined(VERSION_JP) || defined(VERSION_US) - ori $1, $1, 0x0001 -.endif - j boot_04001068 - addi $1, $zero, OSTask_addr -boot_load_ucode: - lw $2, OSTask_ucode($1) - addi $3, $zero, 0x0f7f // hard-coded length = 0xF80 - addi $7, $zero, 0x1080 // hard-coded address = 0x1080 - mtc0 $7, SP_MEM_ADDR - mtc0 $2, SP_DRAM_ADDR - mtc0 $3, SP_RD_LEN -boot_ucode_dma_busy: - mfc0 $4, SP_DMA_BUSY - bne $4, $zero, boot_ucode_dma_busy - nop - jal check_yielded - nop - jr $7 // jump to the loaded ucode - mtc0 $zero, SP_SEMAPHORE // clear semaphore - -check_yielded: - mfc0 $8, SP_STATUS - andi $8, $8, 0x0080 // yield signal is set - bne $8, $zero, boot_04001054 - nop - jr ra -boot_04001054: - mtc0 $zero, SP_SEMAPHORE // clear semaphore - ori $8, $zero, 0x5200 // clear yield, set yielded, set taskdone? - mtc0 $8, SP_STATUS - break // halt RSP and set SP_STATUS_BROKE - nop - -boot_04001068: - lw $2, OSTask_flags($1) - andi $2, $2, OS_TASK_DP_WAIT - beq $2, $zero, boot_load_data - nop - jal check_yielded - nop - mfc0 $2, DPC_STATUS - andi $2, $2, DPC_STATUS_DMA_BUSY - bgtz $2, check_yielded - nop -boot_load_data: - lw $2, OSTask_ucode_data($1) - lw $3, OSTask_ucode_data_size($1) - addi $3, $3, -1 -boot_dma_not_full: - mfc0 $30, SP_DMA_FULL - bne $30, $zero, boot_dma_not_full - nop - mtc0 $zero, SP_MEM_ADDR // ucode_data store at base of DMEM - mtc0 $2, SP_DRAM_ADDR - mtc0 $3, SP_RD_LEN -boot_data_dma_busy: - mfc0 $4, SP_DMA_BUSY - bne $4, $zero, boot_data_dma_busy - nop - jal check_yielded - nop - j boot_load_ucode - nop - -.close // CODE_FILE diff --git a/rspdata.inc.ld b/rspdata.inc.ld new file mode 100644 index 000000000..8bf38b02a --- /dev/null +++ b/rspdata.inc.ld @@ -0,0 +1,84 @@ +#ifndef F3DEX_GBI_SHARED +#if SUPER3D_GBI == 1 + lib/PR/super3d/fifo/gspSuper3D.o(.data); +#endif +#else /* Use one of the Fast3DEX series grucodes. */ + #ifndef F3DZEX_GBI_2 + #if F3DEX2PL_GBI == 1 + BUILD_DIR/lib/gspF3DEX2_PosLight.fifo.o(.data); + #elif F3DEX_GBI_2 == 1 + lib/PR/f3dex2/fifo/gspF3DEX2.fifo.o(.data); + #elif F3DEX_GBI == 1 + lib/PR/f3dex/fifo/gspF3DEX.fifo.o(.data); + #endif + #else /* Fast3DZEX */ + BUILD_DIR/lib/gspF3DZEX2_PosLight.fifo.o(.data); + #endif +#endif + +/* + * LESS COMMON MICROCODES + * These are setup to be loaded by G_LOAD_UCODE + */ + +/* Fast3DEX NoN Data */ +#ifdef F3DEX_NON_GBI + lib/PR/f3dex/fifo/gspF3DEX.NoN.fifo.o(.data); +#endif + +/* Fast3DLX Data */ +#ifdef F3DLX_GBI + lib/PR/f3dex/fifo/gspF3DLX.fifo.o(.data); +#endif + +/* Fast3DLX NoN Data */ +#ifdef F3DLX_NON_GBI + lib/PR/f3dex/fifo/gspF3DLX.NoN.fifo.o(.data); +#endif + +/* Fast3DLX Rej Data */ +#ifdef F3DLX_REJ_GBI + lib/PR/f3dex/fifo/gspF3DLX.Rej.fifo.o(.data); +#endif + +/* Line3DEX Data */ +#ifdef L3DEX_GBI + lib/PR/f3dex/fifo/gspL3DEX.fifo.o(.data); +#endif + +/* S2DEX Data */ +#ifdef S2DEX_GBI + lib/PR/s2dex/fifo/gspS2DEX.fifo.o(.data); +#endif + +/* Fast3DEX2 series */ + +/* Fast3DEX2 NoN Data */ +#ifdef F3DEX2_NON_GBI + lib/PR/f3dex2/fifo/gspF3DEX2.NoN.fifo.o(.data); +#endif + +/* Fast3DZEX NoN Data */ +#ifdef F3DZEX_NON_GBI_2 + BUILD_DIR/lib/gspF3DZEX2.NoN_PosLight.fifo.o(.data); +#endif + +/* Fast3DEX2 Rej Data */ +#ifdef F3DEX2_REJ_GBI + lib/PR/f3dex2/fifo/gspF3DEX2.Rej.fifo.o(.data); +#endif + +/* Line3DEX2 Data */ +#ifdef L3DEX2_GBI + lib/PR/f3dex2/fifo/gspL3DEX2.fifo.o(.data); +#endif + +/* Line3DZEX Data */ +#ifdef L3DZEX_GBI + BUILD_DIR/lib/gspL3DZEX2_PosLight.fifo.o(.data); +#endif + +/* S2DEX2 Data */ +#ifdef S2DEX_GBI_2 + lib/PR/s2dex2/fifo/gspS2DEX2.fifo.o(.data); +#endif \ No newline at end of file diff --git a/rsptext.inc.ld b/rsptext.inc.ld new file mode 100644 index 000000000..f9a423168 --- /dev/null +++ b/rsptext.inc.ld @@ -0,0 +1,84 @@ +#ifndef F3DEX_GBI_SHARED +#if SUPER3D_GBI == 1 + lib/PR/super3d/fifo/gspSuper3D.o(.text); +#endif +#else /* Use one of the Fast3DEX series grucodes. */ + #ifndef F3DZEX_GBI_2 + #if F3DEX2PL_GBI == 1 + BUILD_DIR/lib/gspF3DEX2_PosLight.fifo.o(.text); + #elif F3DEX_GBI_2 == 1 + lib/PR/f3dex2/fifo/gspF3DEX2.fifo.o(.text); + #elif F3DEX_GBI == 1 + lib/PR/f3dex/fifo/gspF3DEX.fifo.o(.text); + #endif + #else /* Fast3DZEX */ + BUILD_DIR/lib/gspF3DZEX2_PosLight.fifo.o(.text); + #endif +#endif + +/* + * LESS COMMON MICROCODES + * These are setup to be loaded by G_LOAD_UCODE + */ + +/* Fast3DEX NoN Text */ +#ifdef F3DEX_NON_GBI + lib/PR/f3dex/fifo/gspF3DEX.NoN.fifo.o(.text); +#endif + +/* Fast3DLX Text */ +#ifdef F3DLX_GBI + lib/PR/f3dex/fifo/gspF3DLX.fifo.o(.text); +#endif + +/* Fast3DLX NoN Text */ +#ifdef F3DLX_NON_GBI + lib/PR/f3dex/fifo/gspF3DLX.NoN.fifo.o(.text); +#endif + +/* Fast3DLX Rej Text */ +#ifdef F3DLX_REJ_GBI + lib/PR/f3dex/fifo/gspF3DLX.Rej.fifo.o(.text); +#endif + +/* Line3DEX Text */ +#ifdef L3DEX_GBI + lib/PR/f3dex/fifo/gspL3DEX.fifo.o(.text); +#endif + +/* S2DEX Text */ +#ifdef S2DEX_GBI + lib/PR/s2dex/fifo/gspS2DEX.fifo.o(.text); +#endif + +/* Fast3DEX2 series */ + +/* Fast3DEX2 NoN Text */ +#ifdef F3DEX2_NON_GBI + lib/PR/f3dex2/fifo/gspF3DEX2.NoN.fifo.o(.text); +#endif + +/* Fast3DZEX NoN Text */ +#ifdef F3DZEX_NON_GBI_2 + BUILD_DIR/lib/gspF3DZEX2.NoN_PosLight.fifo.o(.text); +#endif + +/* Fast3DEX2 Rej Text */ +#ifdef F3DEX2_REJ_GBI + lib/PR/f3dex2/fifo/gspF3DEX2.Rej.fifo.o(.text); +#endif + +/* Line3DEX2 Text */ +#ifdef L3DEX2_GBI + lib/PR/f3dex2/fifo/gspL3DEX2.fifo.o(.text); +#endif + +/* Line3DZEX Text */ +#ifdef L3DZEX_GBI + BUILD_DIR/lib/gspL3DZEX2_PosLight.fifo.o(.text); +#endif + +/* S2DEX2 Text */ +#ifdef S2DEX_GBI_2 + lib/PR/s2dex2/fifo/gspS2DEX2.fifo.o(.text); +#endif \ No newline at end of file diff --git a/sm64.ld b/sm64.ld index 4b3ea9e73..e194adb6d 100755 --- a/sm64.ld +++ b/sm64.ld @@ -175,7 +175,10 @@ SECTIONS */librtc.a:*.o(.text); */libz.a:*.o(.text); */libhvqm2.a:*.o(.text); - BUILD_DIR/lib/rsp.o(.text); + lib/rspboot.o(.text); +#include "rsptext.inc.ld" + BUILD_DIR/lib/aspMain.o(.text*); + lib/PR/audio/n_aspMain.o(.text*); lib/PR/hvqm/hvqm2sp1.o(.text); _mainSegmentTextEnd = .; @@ -194,8 +197,9 @@ SECTIONS */libhvqm2.a:*.o(.data*); */librtc.a:*.o(.data*); */libz.a:*.o(.data*); - - BUILD_DIR/lib/rsp.o(.data*); +#include "rspdata.inc.ld" + BUILD_DIR/lib/aspMain.o(.data*); + lib/PR/audio/n_aspMain.o(.data*); lib/PR/hvqm/hvqm2sp1.o(.data*); /* rodata */ @@ -214,7 +218,6 @@ SECTIONS */librtc.a:*.o(.rodata*); */libz.a:*.o(.rodata*); - BUILD_DIR/lib/rsp.o(.rodata*); lib/PR/hvqm/hvqm2sp1.o(.rodata*); } END_SEG(main) diff --git a/src/game/game_init.c b/src/game/game_init.c index 54445a2b1..a329c0f23 100644 --- a/src/game/game_init.c +++ b/src/game/game_init.c @@ -274,27 +274,39 @@ void create_gfx_task_structure(void) { #ifdef L3DEX2_ALONE gGfxSPTask->task.t.ucode = gspL3DEX2_fifoTextStart; gGfxSPTask->task.t.ucode_data = gspL3DEX2_fifoDataStart; + gGfxSPTask->task.t.ucode_size = ((u8 *) gspL3DEX2_fifoTextEnd - (u8 *) gspL3DEX2_fifoTextStart); + gGfxSPTask->task.t.ucode_data_size = ((u8 *) gspL3DEX2_fifoDataEnd - (u8 *) gspL3DEX2_fifoDataStart); #elif F3DZEX_GBI_2 gGfxSPTask->task.t.ucode = gspF3DZEX2_PosLight_fifoTextStart; gGfxSPTask->task.t.ucode_data = gspF3DZEX2_PosLight_fifoDataStart; + gGfxSPTask->task.t.ucode_size = ((u8 *) gspF3DZEX2_PosLight_fifoTextEnd - (u8 *) gspF3DZEX2_PosLight_fifoTextStart); + gGfxSPTask->task.t.ucode_data_size = ((u8 *) gspF3DZEX2_PosLight_fifoDataEnd - (u8 *) gspF3DZEX2_PosLight_fifoDataStart); #elif F3DEX2PL_GBI gGfxSPTask->task.t.ucode = gspF3DEX2_PosLight_fifoTextStart; gGfxSPTask->task.t.ucode_data = gspF3DEX2_PosLight_fifoDataStart; + gGfxSPTask->task.t.ucode_size = ((u8 *) gspF3DEX2_PosLight_fifoTextEnd - (u8 *) gspF3DEX2_PosLight_fifoTextStart); + gGfxSPTask->task.t.ucode_data_size = ((u8 *) gspF3DEX2_PosLight_fifoDataEnd - (u8 *) gspF3DEX2_PosLight_fifoDataStart); #elif F3DEX_GBI_2 gGfxSPTask->task.t.ucode = gspF3DEX2_fifoTextStart; gGfxSPTask->task.t.ucode_data = gspF3DEX2_fifoDataStart; + gGfxSPTask->task.t.ucode_size = ((u8 *) gspF3DEX2_fifoTextEnd - (u8 *) gspF3DEX2_fifoTextStart); + gGfxSPTask->task.t.ucode_data_size = ((u8 *) gspF3DEX2_fifoDataEnd - (u8 *) gspF3DEX2_fifoDataStart); #elif F3DEX_GBI gGfxSPTask->task.t.ucode = gspF3DEX_fifoTextStart; gGfxSPTask->task.t.ucode_data = gspF3DEX_fifoDataStart; + gGfxSPTask->task.t.ucode_size = ((u8 *) gspF3DEX_fifoTextEnd - (u8 *) gspF3DEX_fifoTextStart); + gGfxSPTask->task.t.ucode_data_size = ((u8 *) gspF3DEX_fifoDataEnd - (u8 *) gspF3DEX_fifoDataStart); #elif SUPER3D_GBI - gGfxSPTask->task.t.ucode = gspSuper3D_fifoTextStart; - gGfxSPTask->task.t.ucode_data = gspSuper3D_fifoDataStart; + gGfxSPTask->task.t.ucode = gspSuper3DTextStart; + gGfxSPTask->task.t.ucode_data = gspSuper3DDataStart; + gGfxSPTask->task.t.ucode_size = ((u8 *) gspSuper3DTextEnd - (u8 *) gspSuper3DTextStart); + gGfxSPTask->task.t.ucode_data_size = ((u8 *) gspSuper3DDataEnd - (u8 *) gspSuper3DDataStart); #else gGfxSPTask->task.t.ucode = gspFast3D_fifoTextStart; gGfxSPTask->task.t.ucode_data = gspFast3D_fifoDataStart; + gGfxSPTask->task.t.ucode_size = ((u8 *) gspFast3D_fifoTextEnd - (u8 *) gspFast3D_fifoTextStart); + gGfxSPTask->task.t.ucode_data_size = ((u8 *) gspFast3D_fifoDataEnd - (u8 *) gspFast3D_fifoDataStart); #endif - gGfxSPTask->task.t.ucode_size = SP_UCODE_SIZE; // (this size is ignored) - gGfxSPTask->task.t.ucode_data_size = SP_UCODE_DATA_SIZE; gGfxSPTask->task.t.dram_stack = (u64 *) gGfxSPTaskStack; gGfxSPTask->task.t.dram_stack_size = SP_DRAM_STACK_SIZE8; gGfxSPTask->task.t.output_buff = gGfxSPTaskOutputBuffer;