Skip to content

Commit 351b7fa

Browse files
committed
B4DS: Move more DSiWare save patches to dsi2dsSavePatches
1 parent ea4e7f8 commit 351b7fa

File tree

12 files changed

+113
-99
lines changed

12 files changed

+113
-99
lines changed

retail/bootloader/source/arm7/dsi2ds_patches.c

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9296,7 +9296,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
92969296
patchTwlFontLoad(true, 0x0204FCA4, 0x02027F14);
92979297
*(u32*)0x0204FCF0 = 0xE1A00000; // nop
92989298
}
9299-
setBL(0x02057B48, (u32)dsiSaveCreate);
9299+
/* setBL(0x02057B48, (u32)dsiSaveCreate); // Part of .pck file
93009300
setBL(0x02057B58, (u32)dsiSaveOpen);
93019301
setBL(0x02057B74, (u32)dsiSaveGetResultCode);
93029302
setBL(0x02057B98, (u32)dsiSaveSeek);
@@ -9310,7 +9310,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
93109310
setBL(0x02057C98, (u32)dsiSaveRead);
93119311
setBL(0x02057CB0, (u32)dsiSaveClose);
93129312
setBL(0x02057CBC, (u32)dsiSaveGetResultCode);
9313-
setBL(0x0205C47C, 0x02057D18);
9313+
setBL(0x0205C47C, 0x02057D18); */
93149314
*(u32*)0x020626F8 = 0xE12FFF1E; // bx lr
93159315
}
93169316

@@ -9327,7 +9327,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
93279327
patchTwlFontLoad(true, 0x02045648, 0x0201D8B8);
93289328
*(u32*)0x02045694 = 0xE1A00000; // nop
93299329
}
9330-
setBL(0x0204D4EC, (u32)dsiSaveCreate);
9330+
/* setBL(0x0204D4EC, (u32)dsiSaveCreate); // Part of .pck file
93319331
setBL(0x0204D4FC, (u32)dsiSaveOpen);
93329332
setBL(0x0204D518, (u32)dsiSaveGetResultCode);
93339333
setBL(0x0204D53C, (u32)dsiSaveSeek);
@@ -9341,7 +9341,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
93419341
setBL(0x0204D63C, (u32)dsiSaveRead);
93429342
setBL(0x0204D654, (u32)dsiSaveClose);
93439343
setBL(0x0204D660, (u32)dsiSaveGetResultCode);
9344-
setBL(0x02051E20, 0x0204D6BC);
9344+
setBL(0x02051E20, 0x0204D6BC); */
93459345
*(u32*)0x0205809C = 0xE12FFF1E; // bx lr
93469346
}
93479347

@@ -10043,7 +10043,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1004310043
offset4[i] = 0xE1A00000; // nop
1004410044
offset5[i] = 0xE1A00000; // nop
1004510045
}*/
10046-
*(u32*)0x0201B894 = 0xE1A00000; // nop
10046+
/* *(u32*)0x0201B894 = 0xE1A00000; // nop // Part of .pck file
1004710047
setBL(0x0201B8E8, (u32)dsiSaveOpen);
1004810048
setBL(0x0201B900, (u32)dsiSaveRead);
1004910049
setBL(0x0201B928, (u32)dsiSaveClose);
@@ -10058,7 +10058,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1005810058
setBL(0x0201BBAC, (u32)dsiSaveGetResultCode);
1005910059
setBL(0x0201BBE8, (u32)dsiSaveClose);
1006010060
setBL(0x0201BC00, (u32)dsiSaveClose);
10061-
*(u32*)0x0201BC18 = 0xE1A00000; // nop
10061+
*(u32*)0x0201BC18 = 0xE1A00000; // nop */
1006210062
*(u32*)0x0202FACC = 0xE1A00000; // nop
1006310063
*(u32*)0x0202FC00 = 0xE1A00000; // nop
1006410064
*(u32*)0x0202FC14 = 0xE1A00000; // nop
@@ -10091,7 +10091,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1009110091
offset4[i] = 0xE1A00000; // nop
1009210092
offset5[i] = 0xE1A00000; // nop
1009310093
}*/
10094-
*(u32*)0x0201B888 = 0xE1A00000; // nop
10094+
/* *(u32*)0x0201B888 = 0xE1A00000; // nop // Part of .pck file
1009510095
setBL(0x0201B8DC, (u32)dsiSaveOpen);
1009610096
setBL(0x0201B8F4, (u32)dsiSaveRead);
1009710097
setBL(0x0201B91C, (u32)dsiSaveClose);
@@ -10106,7 +10106,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1010610106
setBL(0x0201BBA0, (u32)dsiSaveGetResultCode);
1010710107
setBL(0x0201BBDC, (u32)dsiSaveClose);
1010810108
setBL(0x0201BBF4, (u32)dsiSaveClose);
10109-
*(u32*)0x0201BC0C = 0xE1A00000; // nop
10109+
*(u32*)0x0201BC0C = 0xE1A00000; // nop */
1011010110
*(u32*)0x0202FAC0 = 0xE1A00000; // nop
1011110111
*(u32*)0x0202FBF4 = 0xE1A00000; // nop
1011210112
*(u32*)0x0202FC08 = 0xE1A00000; // nop
@@ -10795,18 +10795,18 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1079510795
}
1079610796
//}
1079710797
// *(u32*)0x0200A898 = 0xE12FFF1E; // bx lr
10798-
setBL(0x0200AC14, (u32)dsiSaveOpen);
10798+
/* setBL(0x0200AC14, (u32)dsiSaveOpen); // Part of .pck file
1079910799
setBL(0x0200AC50, (u32)dsiSaveRead);
1080010800
setBL(0x0200AC70, (u32)dsiSaveClose);
1080110801
setBL(0x0200AD0C, (u32)dsiSaveCreate);
1080210802
setBL(0x0200AD4C, (u32)dsiSaveOpen);
1080310803
setBL(0x0200AD84, (u32)dsiSaveSetLength);
1080410804
setBL(0x0200ADA0, (u32)dsiSaveWrite);
1080510805
setBL(0x0200ADC4, (u32)dsiSaveClose);
10806-
setBL(0x0200AE58, (u32)dsiSaveGetInfo);
10806+
setBL(0x0200AE58, (u32)dsiSaveGetInfo); */
1080710807
*(u32*)0x02036398 = 0xE1A00000; // nop
1080810808
*(u32*)0x0204BFE8 = 0xE1A00000; // nop
10809-
tonccpy((u32*)0x0204CB6C, dsiSaveGetResultCode, 0xC);
10809+
// tonccpy((u32*)0x0204CB6C, dsiSaveGetResultCode, 0xC); // Part of .pck file
1081010810
*(u32*)0x0204F548 = 0xE1A00000; // nop
1081110811
patchInitDSiWare(0x0205619C, heapEnd);
1081210812
patchUserSettingsReadDSiWare(0x02057678);
@@ -10828,21 +10828,21 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1082810828
else if (strcmp(romTid, "KB8P") == 0) {
1082910829
*(u32*)0x02005234 = 0xE1A00000; // nop
1083010830
*(u32*)0x0200A310 = 0xE1A00000; // nop (Disable NFTR loading from TWLNAND)
10831-
setBL(0x0200AB24, (u32)dsiSaveOpen);
10831+
/* setBL(0x0200AB24, (u32)dsiSaveOpen); // Part of .pck file
1083210832
setBL(0x0200AB60, (u32)dsiSaveRead);
1083310833
setBL(0x0200AB80, (u32)dsiSaveClose);
1083410834
setBL(0x0200AC1C, (u32)dsiSaveCreate);
1083510835
setBL(0x0200AC5C, (u32)dsiSaveOpen);
1083610836
setBL(0x0200AC94, (u32)dsiSaveSetLength);
1083710837
setBL(0x0200ACB0, (u32)dsiSaveWrite);
1083810838
setBL(0x0200ACD4, (u32)dsiSaveClose);
10839-
setBL(0x0200AD68, (u32)dsiSaveGetInfo);
10839+
setBL(0x0200AD68, (u32)dsiSaveGetInfo); */
1084010840
*(u32*)0x0200B710 = 0xE12FFF1E; // bx lr (Skip NFTR font rendering)
1084110841
*(u32*)0x020149B4 = 0xE12FFF1E; // bx lr (Skip Manual screen, Part 1)
1084210842
*(u32*)0x02036394 = 0xE1A00000; // nop
1084310843
*(u32*)0x02047D50 = 0xE12FFF1E; // bx lr
1084410844
*(u32*)0x0204BEEC = 0xE1A00000; // nop
10845-
tonccpy((u32*)0x0204CA70, dsiSaveGetResultCode, 0xC);
10845+
// tonccpy((u32*)0x0204CA70, dsiSaveGetResultCode, 0xC); // Part of .pck file
1084610846
*(u32*)0x0204F44C = 0xE1A00000; // nop
1084710847
patchInitDSiWare(0x020560A0, heapEnd);
1084810848
patchUserSettingsReadDSiWare(0x0205757C);
@@ -10861,21 +10861,21 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1086110861
// Earth Saver: Inseki Bakuha Dai Sakuse (Japan)
1086210862
else if (strcmp(romTid, "KB9J") == 0) {
1086310863
*(u32*)0x0200521C = 0xE1A00000; // nop
10864-
setBL(0x02009CF4, (u32)dsiSaveOpen);
10864+
/* setBL(0x02009CF4, (u32)dsiSaveOpen); // Part of .pck file
1086510865
setBL(0x02009D2C, (u32)dsiSaveRead);
1086610866
setBL(0x02009D4C, (u32)dsiSaveClose);
1086710867
setBL(0x02009DE4, (u32)dsiSaveCreate);
1086810868
setBL(0x02009E24, (u32)dsiSaveOpen);
1086910869
setBL(0x02009E5C, (u32)dsiSaveSetLength);
1087010870
setBL(0x02009E74, (u32)dsiSaveWrite);
1087110871
setBL(0x02009E98, (u32)dsiSaveClose);
10872-
setBL(0x02009F28, (u32)dsiSaveGetInfo);
10872+
setBL(0x02009F28, (u32)dsiSaveGetInfo); */
1087310873
*(u32*)0x0200B9C4 = 0xE1A00000; // nop (Disable NFTR loading from TWLNAND)
1087410874
*(u32*)0x0200A7CC = 0xE12FFF1E; // bx lr (Skip NFTR font rendering)
1087510875
*(u32*)0x0200FF44 = 0xE12FFF1E; // bx lr (Skip Manual screen, Part 1)
1087610876
*(u32*)0x0203092C = 0xE12FFF1E; // bx lr
1087710877
*(u32*)0x02034AD4 = 0xE1A00000; // nop
10878-
tonccpy((u32*)0x0203564C, dsiSaveGetResultCode, 0xC);
10878+
// tonccpy((u32*)0x0203564C, dsiSaveGetResultCode, 0xC); // Part of .pck file
1087910879
*(u32*)0x02037FA0 = 0xE1A00000; // nop
1088010880
patchInitDSiWare(0x0203EBBC, heapEnd);
1088110881
patchUserSettingsReadDSiWare(0x02040088);
@@ -10895,21 +10895,21 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1089510895
else if (strcmp(romTid, "KB8J") == 0) {
1089610896
*(u32*)0x0200521C = 0xE1A00000; // nop
1089710897
*(u32*)0x0200A038 = 0xE1A00000; // nop (Disable NFTR loading from TWLNAND)
10898-
setBL(0x0200A84C, (u32)dsiSaveOpen);
10898+
/* setBL(0x0200A84C, (u32)dsiSaveOpen); // Part of .pck file
1089910899
setBL(0x0200A888, (u32)dsiSaveRead);
1090010900
setBL(0x0200A8A8, (u32)dsiSaveClose);
1090110901
setBL(0x0200A944, (u32)dsiSaveCreate);
1090210902
setBL(0x0200A984, (u32)dsiSaveOpen);
1090310903
setBL(0x0200A9BC, (u32)dsiSaveSetLength);
1090410904
setBL(0x0200A9D8, (u32)dsiSaveWrite);
1090510905
setBL(0x0200A9FC, (u32)dsiSaveClose);
10906-
setBL(0x0200AA90, (u32)dsiSaveGetInfo);
10906+
setBL(0x0200AA90, (u32)dsiSaveGetInfo); */
1090710907
*(u32*)0x0200B438 = 0xE12FFF1E; // bx lr (Skip NFTR font rendering)
1090810908
*(u32*)0x02014708 = 0xE12FFF1E; // bx lr (Skip Manual screen, Part 1)
1090910909
*(u32*)0x020360E8 = 0xE1A00000; // nop
1091010910
*(u32*)0x02047A88 = 0xE12FFF1E; // bx lr
1091110911
*(u32*)0x0204BC24 = 0xE1A00000; // nop
10912-
tonccpy((u32*)0x0204C79C, dsiSaveGetResultCode, 0xC);
10912+
// tonccpy((u32*)0x0204C79C, dsiSaveGetResultCode, 0xC); // Part of .pck file
1091310913
*(u32*)0x0204F0F0 = 0xE1A00000; // nop
1091410914
patchInitDSiWare(0x02055D0C, heapEnd);
1091510915
patchUserSettingsReadDSiWare(0x020571D8);
@@ -12630,7 +12630,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1263012630
// Frogger Returns (USA)
1263112631
else if (strcmp(romTid, "KFGE") == 0) {
1263212632
*(u32*)0x020117D4 = 0xE1A00000; // nop
12633-
tonccpy((u32*)0x0201234C, dsiSaveGetResultCode, 0xC);
12633+
// tonccpy((u32*)0x0201234C, dsiSaveGetResultCode, 0xC); // Part of .pck file
1263412634
*(u32*)0x020152F0 = 0xE1A00000; // nop
1263512635
patchInitDSiWare(0x0201BFB4, heapEnd);
1263612636
*(u32*)0x0201C340 = *(u32*)0x02004FD0;
@@ -12639,7 +12639,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1263912639
*(u32*)0x020250B4 = 0xE2822602; // add r2, r2, 0x200000
1264012640
*(u32*)0x020250EC = 0x20E000;
1264112641
}
12642-
*(u32*)0x020381BC = 0xE1A00000; // nop
12642+
/* *(u32*)0x020381BC = 0xE1A00000; // nop // Part of .pck file
1264312643
setBL(0x02038250, (u32)dsiSaveGetInfo);
1264412644
setBL(0x02038294, (u32)dsiSaveOpen);
1264512645
setBL(0x020382B0, (u32)dsiSaveRead);
@@ -12649,7 +12649,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1264912649
setBL(0x02038424, (u32)dsiSaveCreate); // dsiSaveCreateAuto
1265012650
setBL(0x02038454, (u32)dsiSaveOpen);
1265112651
setBL(0x02038470, (u32)dsiSaveWrite);
12652-
setBL(0x02038478, (u32)dsiSaveClose);
12652+
setBL(0x02038478, (u32)dsiSaveClose); */
1265312653

1265412654
// Skip Manual screen
1265512655
*(u32*)0x0204B968 = 0xE1A00000; // nop
@@ -12674,7 +12674,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1267412674
patchTwlFontLoad(true, 0x0203A2DC, 0x0201F580);
1267512675
*(u32*)0x0203A39C = 0xE1A00000; // nop
1267612676
}
12677-
setBL(0x02045468, (u32)dsiSaveOpen);
12677+
/* setBL(0x02045468, (u32)dsiSaveOpen); // Part of .pck file
1267812678
setBL(0x02045498, (u32)dsiSaveRead);
1267912679
setBL(0x020454A8, (u32)dsiSaveClose);
1268012680
setBL(0x020454C4, (u32)dsiSaveClose);
@@ -12686,7 +12686,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
1268612686
setBL(0x020455B0, (u32)dsiSaveClose);
1268712687
setBL(0x020455DC, (u32)dsiSaveWrite);
1268812688
setBL(0x020455EC, (u32)dsiSaveClose);
12689-
setBL(0x02045608, (u32)dsiSaveClose);
12689+
setBL(0x02045608, (u32)dsiSaveClose); */
1269012690
}
1269112691

1269212692
// Gaia's Moon (USA)
@@ -25259,7 +25259,7 @@ void patchDSiModeToDSMode(cardengineArm9* ce9, const tNDSHeader* ndsHeader) {
2525925259
} else { */
2526025260
*(u32*)0x02013184 = 0xE1A00000; // nop (Disable NFTR loading from TWLNAND)
2526125261
// }
25262-
if (romTid[3] == 'E') {
25262+
if (isUsa) {
2526325263
setBL(0x020137B8, (u32)dsiSaveOpen);
2526425264
*(u32*)0x02013804 = 0xE1A00000; // nop
2526525265
*(u32*)0x02013818 = 0xE1A00000; // nop

0 commit comments

Comments
 (0)