File tree Expand file tree Collapse file tree 4 files changed +20
-4
lines changed
settings/bootloader/source Expand file tree Collapse file tree 4 files changed +20
-4
lines changed Original file line number Diff line number Diff line change @@ -168,8 +168,12 @@ bool dldiPatchBinary (data_t *binData, u32 binSize) {
168
168
tonccpy (pAH + DO_code , bootloader , bootsize );
169
169
* (u32 * )0x02FF4010 = (u32 )pAH + DO_code ;
170
170
171
+ const u32 a9exeAddress = * (u32 * )0x02FFFE24 ;
172
+ u32 * a9exe = (u32 * )a9exeAddress ;
173
+ const bool libnds2 = (a9exe [0 ] == 0xEA000007 && a9exe [1 ] == 0x39444F4D );
174
+
171
175
// Relocate DLDI file to bootstub RAM space
172
- pAH = (data_t * )(dsiMode && !dsMode ? 0x02FF4180 : 0x023F4180 );
176
+ pAH = (data_t * )(dsiMode && !dsMode ? ( libnds2 ? 0x02FE8000 : 0x02FF4180 ) : 0x023F4180 );
173
177
toncset (pAH , 0 , 0x8000 );
174
178
175
179
memOffset = (addr_t )pAH ;
Original file line number Diff line number Diff line change @@ -168,8 +168,12 @@ bool dldiPatchBinary (data_t *binData, u32 binSize) {
168
168
tonccpy (pAH + DO_code , bootloader , bootsize );
169
169
* (u32 * )0x02FF4010 = (u32 )pAH + DO_code ;
170
170
171
+ const u32 a9exeAddress = * (u32 * )0x02FFFE24 ;
172
+ u32 * a9exe = (u32 * )a9exeAddress ;
173
+ const bool libnds2 = (a9exe [0 ] == 0xEA000007 && a9exe [1 ] == 0x39444F4D );
174
+
171
175
// Relocate DLDI file to bootstub RAM space
172
- pAH = (data_t * )(dsiMode && !dsMode ? 0x02FF4180 : 0x023F4180 );
176
+ pAH = (data_t * )(dsiMode && !dsMode ? ( libnds2 ? 0x02FE8000 : 0x02FF4180 ) : 0x023F4180 );
173
177
toncset (pAH , 0 , 0x8000 );
174
178
175
179
memOffset = (addr_t )pAH ;
Original file line number Diff line number Diff line change @@ -168,8 +168,12 @@ bool dldiPatchBinary (data_t *binData, u32 binSize) {
168
168
tonccpy (pAH + DO_code , bootloader , bootsize );
169
169
* (u32 * )0x02FF4010 = (u32 )pAH + DO_code ;
170
170
171
+ const u32 a9exeAddress = * (u32 * )0x02FFFE24 ;
172
+ u32 * a9exe = (u32 * )a9exeAddress ;
173
+ const bool libnds2 = (a9exe [0 ] == 0xEA000007 && a9exe [1 ] == 0x39444F4D );
174
+
171
175
// Relocate DLDI file to bootstub RAM space
172
- pAH = (data_t * )(dsiMode && !dsMode ? 0x02FF4180 : 0x023F4180 );
176
+ pAH = (data_t * )(dsiMode && !dsMode ? ( libnds2 ? 0x02FE8000 : 0x02FF4180 ) : 0x023F4180 );
173
177
toncset (pAH , 0 , 0x8000 );
174
178
175
179
memOffset = (addr_t )pAH ;
Original file line number Diff line number Diff line change @@ -168,8 +168,12 @@ bool dldiPatchBinary (data_t *binData, u32 binSize) {
168
168
tonccpy (pAH + DO_code , bootloader , bootsize );
169
169
* (u32 * )0x02FF4010 = (u32 )pAH + DO_code ;
170
170
171
+ const u32 a9exeAddress = * (u32 * )0x02FFFE24 ;
172
+ u32 * a9exe = (u32 * )a9exeAddress ;
173
+ const bool libnds2 = (a9exe [0 ] == 0xEA000007 && a9exe [1 ] == 0x39444F4D );
174
+
171
175
// Relocate DLDI file to bootstub RAM space
172
- pAH = (data_t * )(dsiMode && !dsMode ? 0x02FF4180 : 0x023F4180 );
176
+ pAH = (data_t * )(dsiMode && !dsMode ? ( libnds2 ? 0x02FE8000 : 0x02FF4180 ) : 0x023F4180 );
173
177
toncset (pAH , 0 , 0x8000 );
174
178
175
179
memOffset = (addr_t )pAH ;
You can’t perform that action at this time.
0 commit comments