Hacking Official Corbenik - Another CFW for advanced users (with bytecode patches!)

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
How did you do it ?

MSET Version (Loader)

Nice custom font, btw, @shawn_. I've been meaning to do that, but it seems every font conversion tool doesn't handle utf (including the SDK one, unless I missed an option.)
 
  • Like
Reactions: chronoss

shawn_

Well-Known Member
Newcomer
Joined
May 14, 2016
Messages
71
Trophies
0
Age
44
XP
227
Country
United States
  • Like
Reactions: chronoss

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
how edit the cia ?

I hate to be that guy, but this has nothing to do with my project. Ask in general or take it to PM.

EDIT: In general though, you convert any old ttf to a bcfnt using an open source tool (the repo escapes my memory) or a leaked SDK tool. You then pack it into a CIA with the titleID of the system shared font.
 
Last edited by chaoskagami,
  • Like
Reactions: shawn_

Elveman

Just passing by
Member
Joined
Feb 1, 2015
Messages
456
Trophies
0
Age
27
Location
Moscow city
XP
992
Country
Russia
How did you manage to get Reverse EmuNAND working? I tried dd'ing my NAND image to the end of the disk and even creating Linux partition with the size of EmuNAND at the end of the disk and Corbenik still says that NAND image size is 83392 bytes and NAND image is not valid

Config file loaded.
Loading firmware...
FIRM load triggered.
NATIVE_FIRM
[l__fp]
Ver: 00000021, 1
TWL_FIRM
[l__fp]
Ver: 00000000, 1
AGB_FIRM
[l__fp]
Ver: 00000000, 1
Patching firmware...
rel 3
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000002 m:0x24080300 n:24500002
find 6 ...
l:0 g:0 e:0 f:1 m:3 o:0x0002a3aa
c:0x0000000a m:0x240aa6aa n:2450000a
abortnf
l:0 g:0 e:0 f:1 m:3 o:0x0002a3aa
c:0x0000000b m:0x240aa6aa n:2450000b
fwd 5
l:0 g:0 e:0 f:1 m:3 o:0x0002a3af
c:0x0000000d m:0x240aa6af n:2450000d
set 1, ...
l:0 g:0 e:0 f:1 m:3 o:0x0002a3b0
c:0x00000010 m:0x240aa6b0 n:24500010
next
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000000 m:0x24080300 n:24500011
rel 3
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000002 m:0x24080300 n:24500013
find 4 ...
l:0 g:0 e:0 f:1 m:3 o:0x0003ab9c
c:0x00000008 m:0x240bae9c n:24500019
abortnf
l:0 g:0 e:0 f:1 m:3 o:0x0003ab9c
c:0x00000009 m:0x240bae9c n:2450001a
set 2, ...
l:0 g:0 e:0 f:1 m:3 o:0x0003ab9e
c:0x0000000d m:0x240bae9e n:2450001e
rewind
l:0 g:0 e:0 f:1 m:3 o:0x00000000
c:0x0000000e m:0x24080300 n:2450001f
find 4 ...
l:0 g:0 e:0 f:1 m:3 o:0x00034331
c:0x00000014 m:0x240b4631 n:24500025
abortnf
l:0 g:0 e:0 f:1 m:3 o:0x00034331
c:0x00000015 m:0x240b4631 n:24500026
back 1
l:0 g:0 e:0 f:1 m:3 o:0x00034330
c:0x00000017 m:0x240b4630 n:24500028
set 4, ...
l:0 g:0 e:0 f:1 m:3 o:0x00034334
c:0x0000001d m:0x240b4634 n:2450002e
next
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000000 m:0x24080300 n:2450002f
rel 1
l:0 g:0 e:0 f:0 m:1 o:0x00000000
c:0x00000002 m:0x24300000 n:24500031
find 6 ...
l:0 g:0 e:0 f:1 m:1 o:0x0009df64
c:0x0000000a m:0x2439df64 n:24500039
abortnf
l:0 g:0 e:0 f:1 m:1 o:0x0009df64
c:0x0000000b m:0x2439df64 n:2450003a
set 6, ...
l:0 g:0 e:0 f:1 m:1 o:0x0009df6a
c:0x00000013 m:0x2439df6a n:24500042
next
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000000 m:0x24080300 n:24500043
rel 3
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000002 m:0x24080300 n:24500045
find 4 ...
l:0 g:0 e:0 f:1 m:3 o:0x0001bfbc
c:0x00000008 m:0x2409c2bc n:2450004b
abortnf
l:0 g:0 e:0 f:1 m:3 o:0x0001bfbc
c:0x00000009 m:0x2409c2bc n:2450004c
back 1
l:0 g:0 e:0 f:1 m:3 o:0x0001bfbb
c:0x0000000b m:0x2409c2bb n:2450004e
back 255
l:0 g:0 e:0 f:1 m:3 o:0x0001bebc
c:0x0000000d m:0x2409c1bc n:24500050
find 4 ...
l:0 g:0 e:0 f:1 m:3 o:0x0001bf7a
c:0x00000013 m:0x2409c27a n:24500056
abortnf
l:0 g:0 e:0 f:1 m:3 o:0x0001bf7a
c:0x00000014 m:0x2409c27a n:24500057
set 4, ...
l:0 g:0 e:0 f:1 m:3 o:0x0001bf7e
c:0x0000001a m:0x2409c27e n:2450005d
next
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000000 m:0x24080300 n:2450005e
rel 2
l:0 g:0 e:0 f:0 m:2 o:0x00000000
c:0x00000002 m:0x24100000 n:24500060
n3ds
l:0 g:0 e:1 f:0 m:2 o:0x00000000
c:0x00000003 m:0x24100000 n:24500061
jmpeq 6
l:0 g:0 e:1 f:0 m:2 o:0x00000000
c:0x00000006 m:0x24100000 n:24500064
seek 1465700
l:0 g:0 e:1 f:0 m:2 o:0x00165d64
c:0x0000000b m:0x24265d64 n:24500069
set 6, ...
l:0 g:0 e:1 f:0 m:2 o:0x00165d6a
c:0x00000013 m:0x24265d6a n:24500071
seek 1525578
l:0 g:0 e:1 f:0 m:2 o:0x0017474a
c:0x00000018 m:0x2427474a n:24500076
set 2, ...
l:0 g:0 e:1 f:0 m:2 o:0x0017474c
c:0x0000001c m:0x2427474c n:2450007a
seek 1529150
l:0 g:0 e:1 f:0 m:2 o:0x0017553e
c:0x00000021 m:0x2427553e n:2450007f
set 4, ...
l:0 g:0 e:1 f:0 m:2 o:0x00175542
c:0x00000027 m:0x24275542 n:24500085
seek 1529504
l:0 g:0 e:1 f:0 m:2 o:0x001756a0
c:0x0000002c m:0x242756a0 n:2450008a
set 4, ...
l:0 g:0 e:1 f:0 m:2 o:0x001756a4
c:0x00000032 m:0x242756a4 n:24500090
seek 1530510
l:0 g:0 e:1 f:0 m:2 o:0x00175a8e
c:0x00000037 m:0x24275a8e n:24500095
set 4, ...
l:0 g:0 e:1 f:0 m:2 o:0x00175a92
c:0x0000003d m:0x24275a92 n:2450009b
 
Last edited by Elveman,

chronoss

Well-Known Member
Member
Joined
May 26, 2015
Messages
3,010
Trophies
1
XP
4,908
Country
Congo, Republic of the
I hate to be that guy, but this has nothing to do with my project. Ask in general or take it to PM.

EDIT: In general though, you convert any old ttf to a bcfnt using an open source tool (the repo escapes my memory) or a leaked SDK tool. You then pack it into a CIA with the titleID of the system shared font.
hum, sorry
 

gnmmarechal

Well-Known Member
Member
GBAtemp Patron
Joined
Jul 13, 2014
Messages
6,043
Trophies
2
Age
25
Location
https://gs2012.xyz
Website
gs2012.xyz
XP
6,011
Country
Portugal
I'm including the sha512 files now because I'd rather that users actually verify it. The updater application's author rehosting releases being one major reason. I don't think he'd tamper with it, but better safe than sorry. Web servers get hijacked all the time. Thanks. ;)

As I look more and more at HANS I realize I can't use it as-is, so no inbuilt solution for a while. Though on the topic of romfs redirects, etc - @Steveice10 PR'd offsets for 11.0 FIRMs to BootNTR. If you build BootNTR from git you can use NTR with the latest native FIRM, it seems. I'd still strongly recommend against this due to it being effectively dead (BootNTR just gets NTR into memory.)
As soon as I manage to make the php script download the file from github, it should be easy enough to check if it is OK by checking the hash. I've written most of the script, it's only lacking the json parsing to find the latest release now.

Sent from my Nokia 3310 using Tapatalk
 

DjoeN

Captain Haddock!
Member
Joined
Oct 21, 2005
Messages
5,489
Trophies
0
Age
54
Location
Somewhere in this potatoland!
Website
djoen.dommel.be
XP
2,857
Country
Belgium
@chaoskagami

Yesterday i installed cygwin with the option develop (all compiler related stuff g++/gcc) and placed it in path before mingw
Well, that was a waste of time (it takes long to installl the develop options), also it was a no go and messed up building other pojects
So i removed cygwin from my path and left the rest untouched.
Today i see you had some source update and reading out the thread i decided to try again,

Tada!
I don't know what you did and what i did, but it's compiling fine again under windows 10 x64 from command prompt! (don't even need cywin shell to build)
even with latest ctrulib installed :)

Code:
make -C host/bdfe clean
make[1]: Entering directory `/d/corbenik/host/bdfe'
rm -f bdfe
rm -f *.o
make[1]: Leaving directory `/d/corbenik/host/bdfe'
rm -rf out build
make -C host/bdfe
make[1]: Entering directory `/d/corbenik/host/bdfe'
g++ -c -Wall -Werror -g -DOSSD_TARGET=OSSD_IF_LINUX main.c -o main.o
g++ -c -Wall -Werror -g -DOSSD_TARGET=OSSD_IF_LINUX bdf.c -o bdf.o
g++ -Wall -Werror -g -o bdfe main.o bdf.o
make[1]: Leaving directory `/d/corbenik/host/bdfe'
./host/conv-font-bin.sh
mkdir -p out/corbenik/bits
cp host/termfont.bin out/corbenik/bits/

...

make -C bits
make[2]: Entering directory `/d/NTR/corbenik/external/bits'
arm-none-eabi-as -o backdoor.o backdoor.s
arm-none-eabi-ld -T link.ld -o backdoor.elf backdoor.o
arm-none-eabi-objcopy -O binary backdoor.elf backdoor.bin
arm-none-eabi-as -o stub.o stub.s
arm-none-eabi-ld -T link.ld -o stub.elf stub.o
arm-none-eabi-objcopy -O binary stub.elf stub.bin
arm-none-eabi-as -o emunand.o emunand.s
arm-none-eabi-ld -T link.ld -o emunand.elf emunand.o
arm-none-eabi-objcopy -O binary emunand.elf emunand.bin
arm-none-eabi-as -o reboot_hook.o reboot_hook.s
arm-none-eabi-ld -T link.ld -o reboot_hook.elf reboot_hook.o
arm-none-eabi-objcopy -O binary reboot_hook.elf reboot_hook.bin
arm-none-eabi-as -o reboot_code.o reboot_code.s
arm-none-eabi-ld -T link.ld -o reboot_code.elf reboot_code.o
arm-none-eabi-objcopy -O binary reboot_code.elf reboot_code.bin
rm stub.elf backdoor.o reboot_code.o reboot_hook.elf emunand.o reboot_code.elf backdoor.elf reboot_hook.o emunand.elf stub.o
make[2]: Leaving directory `/d/corbenik/external/bits'
make -C screeninit
make[2]: Entering directory `/d/corbenik/external/screeninit'
arm-none-eabi-gcc -Wall -Wextra -MMD -MP -mthumb -mthumb-interwork -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/main.o source/main.c
arm-none-eabi-as -mcpu=mpcore -mfloat-abi=hard  -o build/start.o source/start.s
arm-none-eabi-gcc -nostdlib  -T linker.ld -o build/screeninit.elf build/main.o build/start.o
arm-none-eabi-objcopy -S -O binary build/screeninit.elf build/screeninit.bin
make[2]: Leaving directory `/d/corbenik/external/screeninit'
mkdir -p ../out/corbenik/module
mkdir -p ../out/corbenik/bits
mkdir -p ../out/corbenik/bits
cp loader/loader.cxi ../out/corbenik/module/loader.cxi
cp bits/backdoor.bin ../out/corbenik/bits/backdoor.bin
cp bits/emunand.bin ../out/corbenik/bits/emunand.bin
cp bits/reboot_hook.bin ../out/corbenik/bits/reboot_hook.bin
cp bits/reboot_code.bin ../out/corbenik/bits/reboot_code.bin
cp screeninit/build/screeninit.bin ../out/corbenik/bits/screeninit.bin
make[1]: Leaving directory `/d/corbenik/external'
 

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
@chaoskagami
I don't know what you did and what i did, but it's compiling fine again under windows 10 x64 from command prompt! (don't even need cywin shell to build)
even with latest ctrulib installed :)

I forked bdfe and stripped out all the cruft, that's what happened. If it works in mingw, then perhaps I actually did my job properly. ;P

If you want to compile on Windows, use MinGW.
Be sure to have installed gcc-arm-none-eabi too

I'm still not supporting compilation on Windows - there's too many annoying variables. If it works for you, okay then. I'm not going to claim it works for everybody.
 

ketal

aiueo
Member
Joined
Aug 20, 2015
Messages
744
Trophies
0
XP
677
Country
Italy
I'm still not supporting compilation on Windows - there's too many annoying variables. If it works for you, okay then. I'm not going to claim it works for everybody.
MinGW is a lot better than cygwin in my opinion. I didn't even need to rewrite some of the sh to bat, because MinGW comes with a bunch of gnu tools, like grep.
But still, I understand why you won't support this officially. I'm just leaving it here so that if anyone ever wants to get this compiling on windows, there's the solution.
 

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
MinGW is a lot better than cygwin in my opinion. I didn't even need to rewrite some of the sh to bat, because MinGW comes with a bunch of gnu tools, like grep.
But still, I understand why you won't support this officially. I'm just leaving it here so that if anyone ever wants to get this compiling on windows, there's the solution.

I'll give that MingW is much closer to being native on Windows and therefore works better in general. However, I disagree about MingW being better than Cygwin when you're a dev. Linux does so much better for development that it makes it a headache to go back and try to do actual development work on Windows. Cygwin is the closest thing to a sane POSIX environment.

I don't mind you helping, either. It takes too much time to reply to all the 'Windows help' questions. Takes the stress off my back. ;D
 
Last edited by chaoskagami,

Elveman

Just passing by
Member
Joined
Feb 1, 2015
Messages
456
Trophies
0
Age
27
Location
Moscow city
XP
992
Country
Russia
How did you manage to get Reverse EmuNAND working? I tried dd'ing my NAND image to the end of the disk and even creating Linux partition with the size of EmuNAND at the end of the disk and Corbenik still says that NAND image size is 83392 bytes and NAND image is not valid

Config file loaded.
Loading firmware...
FIRM load triggered.
NATIVE_FIRM
[l__fp]
Ver: 00000021, 1
TWL_FIRM
[l__fp]
Ver: 00000000, 1
AGB_FIRM
[l__fp]
Ver: 00000000, 1
Patching firmware...
rel 3
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000002 m:0x24080300 n:24500002
find 6 ...
l:0 g:0 e:0 f:1 m:3 o:0x0002a3aa
c:0x0000000a m:0x240aa6aa n:2450000a
abortnf
l:0 g:0 e:0 f:1 m:3 o:0x0002a3aa
c:0x0000000b m:0x240aa6aa n:2450000b
fwd 5
l:0 g:0 e:0 f:1 m:3 o:0x0002a3af
c:0x0000000d m:0x240aa6af n:2450000d
set 1, ...
l:0 g:0 e:0 f:1 m:3 o:0x0002a3b0
c:0x00000010 m:0x240aa6b0 n:24500010
next
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000000 m:0x24080300 n:24500011
rel 3
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000002 m:0x24080300 n:24500013
find 4 ...
l:0 g:0 e:0 f:1 m:3 o:0x0003ab9c
c:0x00000008 m:0x240bae9c n:24500019
abortnf
l:0 g:0 e:0 f:1 m:3 o:0x0003ab9c
c:0x00000009 m:0x240bae9c n:2450001a
set 2, ...
l:0 g:0 e:0 f:1 m:3 o:0x0003ab9e
c:0x0000000d m:0x240bae9e n:2450001e
rewind
l:0 g:0 e:0 f:1 m:3 o:0x00000000
c:0x0000000e m:0x24080300 n:2450001f
find 4 ...
l:0 g:0 e:0 f:1 m:3 o:0x00034331
c:0x00000014 m:0x240b4631 n:24500025
abortnf
l:0 g:0 e:0 f:1 m:3 o:0x00034331
c:0x00000015 m:0x240b4631 n:24500026
back 1
l:0 g:0 e:0 f:1 m:3 o:0x00034330
c:0x00000017 m:0x240b4630 n:24500028
set 4, ...
l:0 g:0 e:0 f:1 m:3 o:0x00034334
c:0x0000001d m:0x240b4634 n:2450002e
next
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000000 m:0x24080300 n:2450002f
rel 1
l:0 g:0 e:0 f:0 m:1 o:0x00000000
c:0x00000002 m:0x24300000 n:24500031
find 6 ...
l:0 g:0 e:0 f:1 m:1 o:0x0009df64
c:0x0000000a m:0x2439df64 n:24500039
abortnf
l:0 g:0 e:0 f:1 m:1 o:0x0009df64
c:0x0000000b m:0x2439df64 n:2450003a
set 6, ...
l:0 g:0 e:0 f:1 m:1 o:0x0009df6a
c:0x00000013 m:0x2439df6a n:24500042
next
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000000 m:0x24080300 n:24500043
rel 3
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000002 m:0x24080300 n:24500045
find 4 ...
l:0 g:0 e:0 f:1 m:3 o:0x0001bfbc
c:0x00000008 m:0x2409c2bc n:2450004b
abortnf
l:0 g:0 e:0 f:1 m:3 o:0x0001bfbc
c:0x00000009 m:0x2409c2bc n:2450004c
back 1
l:0 g:0 e:0 f:1 m:3 o:0x0001bfbb
c:0x0000000b m:0x2409c2bb n:2450004e
back 255
l:0 g:0 e:0 f:1 m:3 o:0x0001bebc
c:0x0000000d m:0x2409c1bc n:24500050
find 4 ...
l:0 g:0 e:0 f:1 m:3 o:0x0001bf7a
c:0x00000013 m:0x2409c27a n:24500056
abortnf
l:0 g:0 e:0 f:1 m:3 o:0x0001bf7a
c:0x00000014 m:0x2409c27a n:24500057
set 4, ...
l:0 g:0 e:0 f:1 m:3 o:0x0001bf7e
c:0x0000001a m:0x2409c27e n:2450005d
next
l:0 g:0 e:0 f:0 m:3 o:0x00000000
c:0x00000000 m:0x24080300 n:2450005e
rel 2
l:0 g:0 e:0 f:0 m:2 o:0x00000000
c:0x00000002 m:0x24100000 n:24500060
n3ds
l:0 g:0 e:1 f:0 m:2 o:0x00000000
c:0x00000003 m:0x24100000 n:24500061
jmpeq 6
l:0 g:0 e:1 f:0 m:2 o:0x00000000
c:0x00000006 m:0x24100000 n:24500064
seek 1465700
l:0 g:0 e:1 f:0 m:2 o:0x00165d64
c:0x0000000b m:0x24265d64 n:24500069
set 6, ...
l:0 g:0 e:1 f:0 m:2 o:0x00165d6a
c:0x00000013 m:0x24265d6a n:24500071
seek 1525578
l:0 g:0 e:1 f:0 m:2 o:0x0017474a
c:0x00000018 m:0x2427474a n:24500076
set 2, ...
l:0 g:0 e:1 f:0 m:2 o:0x0017474c
c:0x0000001c m:0x2427474c n:2450007a
seek 1529150
l:0 g:0 e:1 f:0 m:2 o:0x0017553e
c:0x00000021 m:0x2427553e n:2450007f
set 4, ...
l:0 g:0 e:1 f:0 m:2 o:0x00175542
c:0x00000027 m:0x24275542 n:24500085
seek 1529504
l:0 g:0 e:1 f:0 m:2 o:0x001756a0
c:0x0000002c m:0x242756a0 n:2450008a
set 4, ...
l:0 g:0 e:1 f:0 m:2 o:0x001756a4
c:0x00000032 m:0x242756a4 n:24500090
seek 1530510
l:0 g:0 e:1 f:0 m:2 o:0x00175a8e
c:0x00000037 m:0x24275a8e n:24500095
set 4, ...
l:0 g:0 e:1 f:0 m:2 o:0x00175a92
c:0x0000003d m:0x24275a92 n:2450009b
My Micro SD setup
bQhzxJ1.png
What's wrong with it? Does this happen because of EmuNAND being not right after the FAT32 partition?
 

Kirtai

Well-Known Member
Member
Joined
May 6, 2016
Messages
237
Trophies
0
XP
248
Country
United Kingdom
If you're stuck with windows a Virtualbox VM running some Linux is probably the best bet. After all, the software you're compiling is for the 3DS, not linux or windows or whatever so it doesn't matter what OS it's built on, you're still cross-compiling.
 

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
My Micro SD setup
bQhzxJ1.png
What's wrong with it? Does this happen because of EmuNAND being not right after the FAT32 partition?

Oh boy. You're the first person to go and test this. Even I haven't done testing on this yet.

That said, your calculation on the start sector for sdb3 seems one off. It should be at 48467327, unless I'm wrong. Or my code may be wrong - it's marked experimental in help for a reason.

(Total SD Sectors - 1) - NAND size = (62333952 - 1) - 3866624 = 62333951 - 3866624 = 48467327

The reason it still thinks it's valid with a junk size is because it probably is misdetecting RedNAND/Gateway due to the header (and a one-off error)

EDIT: Actually, you're using NAND-sized emuNAND too. It doesn't use the physical size, it uses either 0x200000 or 0x400000 spaces. The actual correct position is (62333952 - 1) - 4194305. Not to mention, there's a bug right now in handling of it (ffs me, seriously?), so you'll want to try with index 1.
 
Last edited by chaoskagami,
  • Like
Reactions: Temptress Cerise

Elveman

Just passing by
Member
Joined
Feb 1, 2015
Messages
456
Trophies
0
Age
27
Location
Moscow city
XP
992
Country
Russia
Oh boy. You're the first person to go and test this. Even I haven't done testing on this yet.

That said, your calculation on the start sector for sdb3 seems one off. It should be at 48467327, unless I'm wrong. Or my code may be wrong - it's marked experimental in help for a reason.

(Total SD Sectors - 1) - NAND size = (62333952 - 1) - 3866624 = 62333951 - 3866624 = 48467327

The reason it still thinks it's valid with a junk size is because it probably is misdetecting RedNAND/Gateway due to the header (and a one-off error)
NAND takes up 3866624 sectors so the first sector of NAND is X+0 and the last one is X+3866623 (0 - 3866623 total 3866624 sectors together). Since X+3866623=62333951, X=58467328. That's why I used this sector as a start one
Anyways, tried this with 58467327 start sector and 62333950/62333951 end sectors, got nothing :( Same junk size. Should test it with RedNAND later (since my New 3DS has 1.9G EmuNAND/1.2G RedNAND)
 

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
OP
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,287
Country
United States
NAND takes up 3866624 sectors so the first sector of NAND is X+0 and the last one is X+3866623 (0 - 3866623 total 3866624 sectors together). Since X+3866623=62333951, X=58467328. That's why I used this sector as a start one
Anyways, tried this with 58467327 start sector and 62333950/62333951 end sectors, got nothing :( Same junk size. Should test it with RedNAND later (since my New 3DS has 1.9G EmuNAND/1.2G RedNAND)

Please look back at my post again. I edited it, because I realized some shit. You want to put the partition (and EmuNAND) at 58139646, and set Index to 1 until I fix an oversight.

I'm going to bed but I have some stuff running so I'll be able to test this in the morning (my schedule is wonky, for anyone who hasn't realized this yet)
 
Last edited by chaoskagami,

Elveman

Just passing by
Member
Joined
Feb 1, 2015
Messages
456
Trophies
0
Age
27
Location
Moscow city
XP
992
Country
Russia
Please look back at my post again. I edited it, because I realized some shit. You want to put the partition (and EmuNAND) at 58139646, and set Index to 1 until I fix an oversight.

I'm going to bed but I have some stuff running so I'll be able to test this in the morning (my schedule is wonky, for anyone who hasn't realized this yet)
Well, the more you know... Thanks, will try it later :) Take your time
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • SylverReZ @ SylverReZ:
    @mthrnite, Cheetah Girls, the sequel to Action 52's Cheetah Men.
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    Pokemon Black I played that one a lot
  • K3Nv2 @ K3Nv2:
    Honestly never messed with Pokémon on ds much
  • mthrnite @ mthrnite:
    I played pokemon once, was bored, never tried again
  • Psionic Roshambo @ Psionic Roshambo:
    Oh Dragon Quest IX
  • K3Nv2 @ K3Nv2:
    Spent like 5 hours on switch one never touched it again
  • Psionic Roshambo @ Psionic Roshambo:
    Sentinel of the stary skies
  • K3Nv2 @ K3Nv2:
    Ds is 20 years old this year
  • Psionic Roshambo @ Psionic Roshambo:
    So MJ no longer wants to play with it?
  • K3Nv2 @ K3Nv2:
    He put it down when the 3ds came out
  • SylverReZ @ SylverReZ:
    @K3Nv2, RIP Felix does great videos on the PS3 yellow-light-of-death.
  • Jayro @ Jayro:
    Eventhough the New 3DS XL is more powerful, I still feel like the DS Lite was a more polished system. It's a real shame that it never got an XL variant keeping the GBA slot. You'd have to go on AliExpress and buy an ML shell to give a DS phat the unofficial "DS Lite" treatment, and that's the best we'll ever get I'm afraid.
    +1
  • Jayro @ Jayro:
    The phat model had amazingly loud speakers tho.
    +1
  • SylverReZ @ SylverReZ:
    @Jayro, I don't see whats so special about the DS ML, its just a DS lite in a phat shell. At least the phat model had louder speakers, whereas the lite has a much better screen.
    +1
  • SylverReZ @ SylverReZ:
    They probably said "Hey, why not we combine the two together and make a 'new' DS to sell".
  • Veho @ Veho:
    It's a DS Lite in a slightly bigger DS Lite shell.
    +1
  • Veho @ Veho:
    It's not a Nintendo / iQue official product, it's a 3rd party custom.
    +1
  • Veho @ Veho:
    Nothing special about it other than it's more comfortable than the Lite
    for people with beefy hands.
    +1
  • Jayro @ Jayro:
    I have yaoi anime hands, very lorge but slender.
  • Jayro @ Jayro:
    I'm Slenderman.
  • Veho @ Veho:
    I have hands.
    Veho @ Veho: +1