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

The Catboy

GBAtemp Official Catboy™: Savior of the broken
Member
Joined
Sep 13, 2009
Messages
28,184
Trophies
4
Location
Making a non-binary fuss
XP
40,045
Country
Antarctica
So true. Most people want something set-it-and-forget-it. The world would be a better place if people actually wanted to think, though.



Luma has become the Windows of the CFW scene, basically. Some users are scarily evangelical about it.

The devs of Luma are all cool people, though.

I'm uploading a release since it appears to be impossible (for me?) to correctly use svcControlMemory for heap space from loader. Nothing exceeds the maximum yet even with everything on, so it's not a huge deal at the moment.
Luma isn't bad, honestly it's earned it's popularity because of the community support and the amazing Dev behind the project.
Still, I prefer something more complicated myself, which is why I love CakesFW so much and why I know this one is going to be something I will enjoy as well.
 
  • Like
Reactions: hausa51

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
Luma isn't bad, honestly it's earned it's popularity because of the community support and the amazing Dev behind the project.
Still, I prefer something more complicated myself, which is why I love CakesFW so much and why I know this one is going to be something I will enjoy as well.

I actually think Luma is very cohesive. It does one thing, and it does it well. And yeah, the devs of Luma are amazing. @TuxSH has even popped in here to help ME out, and I'm writing another CFW. Goes to show how much they care about everybody. ;P

It's always nice to have more complicated tools and just more choices in general.
 

stl25

Well-Known Member
Member
Joined
Feb 3, 2008
Messages
1,113
Trophies
1
Location
Here, there and everywhere
XP
1,054
Country
United States
Luma3DS is a very good CFW. Fell in love with the AGB/TWL patches. The only thing I am not crazy about is the included chainloader. I prefer to use arm9select so I just leave the luma/payloads folder empty. That is why I am excited about Corbenik as it does not have an included loader and can do most if not all what Luma3DS does. Both excellent CFW. Great job to all you talented devs. The scene benefits from the variety of options your projects bring.
 
Last edited by stl25,

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
Luma3DS is a very good CFW. Fell in love with the AGB/TWL

This topic isn't about Luma. Don't derail, please.

Also, I do TWL/AGB now as well and so does Cakes' nightlies.

Release, up btw. Updating OP.
 
Last edited by chaoskagami,

stl25

Well-Known Member
Member
Joined
Feb 3, 2008
Messages
1,113
Trophies
1
Location
Here, there and everywhere
XP
1,054
Country
United States
This topic isn't about Luma. Don't derail, please.

Also, I do TWL/AGB now as well and so does Cakes' nightlies.

Release, up btw. Updating OP.

I accidentally posted before I was finished with the post. I am looking forward to using Corbenik for the reason I stated in my previous edited post. Not trying to turn it into a Luma3DS thread.
 

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
I accidentally posted before I was finished with the post. I am looking forward to using Corbenik for the reason I stated in my previous edited post. Not trying to turn it into a Luma3DS thread.

I've done that more than once. I get it. ;/

The only thing I am not crazy about is the included chainloader. I prefer to use arm9select so I just leave the luma/payloads folder empty. That is why I am excited about Corbenik as it does not have an included loader and can do most if not all what Luma3DS does. Both excellent CFW. Great job to all you talented devs. The scene benefits from the variety of options your projects bring.

This will never include a chainloader unless people want a grub-style submenu, and as far as I'm concerned that's outside the scope of this. I'm using a chainloader based on BootAnim9, anyways.

Thanks. ;P

BTW, Crystal. When you get a chance, can you test the new version if you haven't already? I have no O3DS to test on (at least until I hack my Pikachu o3DSxl running 9.5)
 
Last edited by chaoskagami,

Temptress Cerise

Miss Magic~ <3
Member
Joined
May 1, 2016
Messages
2,242
Trophies
1
XP
2,338
Country
United States
So. Tested on o3DS. Reboot patches work. Smash loads just fine. Pretty sure I tested AGB since I used an injected VC Sonic Adventure game and it played fine. For TWL, I'd need a blacklisted DS cartridge, correct?
 
  • Like
Reactions: stl25

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
So. Tested on o3DS. Reboot patches work. Smash loads just fine. Pretty sure I tested AGB since I used an injected VC Sonic Adventure game and it played fine. For TWL, I'd need a blacklisted DS cartridge, correct?

That or a DSiware inject. Devkitpro HBMenu is what I was testing with.
 

stl25

Well-Known Member
Member
Joined
Feb 3, 2008
Messages
1,113
Trophies
1
Location
Here, there and everywhere
XP
1,054
Country
United States
Just tried the latest update with my DS flashcart that does not work on ReiNand or 3DS sysNAND and it boots fine with Corbenik. Great job. Will install a GBA VC custom cia to emuNAND and try that next. Here is a pic of the cart I used.
Untitled.png


Edit: Just tested custom GBA VC Metroid Zero Mission and it worked great. Played to the first save point. Saved. Exit game. Rebooted to sysNAND. Shutdown. Started 3DS to Corbenik emuNAND. Started Metroid Zero Mission and was taken right back to my save. Perfect.
 
Last edited by stl25,

Temptress Cerise

Miss Magic~ <3
Member
Joined
May 1, 2016
Messages
2,242
Trophies
1
XP
2,338
Country
United States
That or a DSiware inject. Devkitpro HBMenu is what I was testing with.
OK, I dug up that Gateway Blue Card, which is a clone of R4i Gold or Acekard, heck if I know. And it loaded up fine. I think this one has been patched out.

Anyways, not like I care about that Gateway Blue Card, I prefer my DSTwo. I also tested it with Dr. Mario Express. I think that's a DSiware inject game? And that worked.

But anyways looks like stl25 tested it out too. :)

Edit: Good work~ <3
 
Last edited by Temptress Cerise,

The Catboy

GBAtemp Official Catboy™: Savior of the broken
Member
Joined
Sep 13, 2009
Messages
28,184
Trophies
4
Location
Making a non-binary fuss
XP
40,045
Country
Antarctica
I've done that more than once. I get it. ;/



This will never include a chainloader unless people want a grub-style submenu, and as far as I'm concerned that's outside the scope of this. I'm using a chainloader based on BootAnim9, anyways.

Thanks. ;P

BTW, Crystal. When you get a chance, can you test the new version if you haven't already? I have no O3DS to test on (at least until I hack my Pikachu o3DSxl running 9.5)
I can test it in a bit, but it looks like someone has tested it. Although, I will still test it anyways!
 
  • Like
Reactions: chaoskagami

The Catboy

GBAtemp Official Catboy™: Savior of the broken
Member
Joined
Sep 13, 2009
Messages
28,184
Trophies
4
Location
Making a non-binary fuss
XP
40,045
Country
Antarctica
I've done that more than once. I get it. ;/



This will never include a chainloader unless people want a grub-style submenu, and as far as I'm concerned that's outside the scope of this. I'm using a chainloader based on BootAnim9, anyways.

Thanks. ;P

BTW, Crystal. When you get a chance, can you test the new version if you haven't already? I have no O3DS to test on (at least until I hack my Pikachu o3DSxl running 9.5)
I can test it in a bit, but it looks like someone has tested it. Although, I will still test it anyways!
 

stl25

Well-Known Member
Member
Joined
Feb 3, 2008
Messages
1,113
Trophies
1
Location
Here, there and everywhere
XP
1,054
Country
United States
Updated my sig to show respect to @chaoskagami. This CFW currently has all the features I was looking for in my desired CFW. AGB/TWL patches, emuNAND support, no included chainloader. This CFW is still early in development and it already gives me the features I use most. Can't wait to see what future improvements and features are in store for this excellent CFW. Great job @chaoskagami and any other devs who have contributed to this project. Well done.

Edit: Please don't take my post as disrespecting the great devs of Luma3DS (@Aurora Wright) or ReiNand (@Reisyukaku). My post is to acknowledge what I desire in the CFW I run and I am just happy that I can have it all in one CFW. Prior I was running Luma3DS for GBA on sysNAND and ReiNand for simple emuNAND. I realize Luma3DS has the features I desire, I just for no good reason did not want the included chainloader feature. Call it OCD or whatever it was just something that I didn't feel I needed in a CFW.
 
Last edited by stl25,

stl25

Well-Known Member
Member
Joined
Feb 3, 2008
Messages
1,113
Trophies
1
Location
Here, there and everywhere
XP
1,054
Country
United States
When I did my tests I was running Corbenik payload as a.bin. Then I changed Corbenik payload to be my default (no button presses) payload. DS flashcart works the same whether launching the payload as a.bin or CFW.bin (my default). However when I launched GBA VC from a.bin upon exiting the GBA game, the system would reboot to sysNAND. When I run Corbenik as default, GBA titles launch and reboot fine, however they reboot back to emuNAND vice sysNAND which results in the save progress being lost. Luma3DS forces a reboot to sysNAND after playing a GBA game to preserve the save. Can anybody else verify this. I have 9.2 sysNAND and I boot Corbenik to 11.0 emuNAND. I have the following options checked: SVC Replacement, Reboot Hook, Use EmuNAND (Index 0), Autoboot and Silent Mode. Loader Options I only have Use Loader Replacement checked. I have the following patches enabled: AGB Patches, FIRM Protect, Signature Fix and TWL_FIRM patches (New3DS)
 

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
Ok,
Everything aside, just for fun and for Windows users that are lazy (like myself)
.......
So for those Windows users that build CFW's themself and already have everything setup correctly to build:
Here's a batch file to build corbenik, it gives you a few build options:
- Build with option "make full"
- Build with option "make all"
- Build with option "make a9lh"
- Build with option "make patch"
- Build with option "make external"
- Build with option "make reformat"

FULL:
- Build everything you need ("no firmware files") including the 'locales' folder and files, also gives you a release.zip, so it's the same as the release.zip you could download
- Building takes way longer (+/-6 minutes)!

ALL:
- Build everything you need ("no firmware files") and no 'locales' folder and no release.zip, good to update everything except 'locales' folder
- Building takes less then a minute

EXTERNAL:
- Just builds the 'corbenik' folder with inside the folders: 'bits', 'module' and 'svc' and all files in those folders.

A9LH:
- Just builds the 'arm9loaderhax.bin' and 'corbenik' folder with inside the 'bits' folder and file 'cobernik.bin'.

PATCH:
- Just builds the 'corbenik' folder with inside the 'patch' folder and patch files.

REFORMAT:
- Really, i don't know what this does :P (Think it just reformats the code in the files in the folder '\corbenik\external\loader\source')
- If you get an error like in the screenshot, you need to install LLVM (check under 'Pre-Build Binaries:' and get the one for your OS) and add it to your path (or check the option when installing LLVM).
- There's no \out folder after this (it takes about +/- 3 minutes to do it's job)

corb1.png


CREDITZ:
- @chaoskagami for corbenik CFW in the first place
- @WhoAmI? Original batch creator to build rxTools, etc...
- @Madridi, idea to make a multi ALLINONE batch and git for it, etc...
- Myself :P, ideas, modifying and testing, etc...
- Everybody else who make cool stuff and CFW's for the 3DS

Code:
@echo off
%~d0
cd %~dp0
:CORB
cls
%~d0
cd %~dp0
Title = Building corbenik-CFW...
if exist "corbenik" (
    echo Making a backup of your current corbenik folder
    xcopy "corbenik\*" "Backups_Compiles\Backup_corbenik" /e /i /y >nul
    cls
    cd corbenik
    Title = Building corbenik ^(Update^)...
    echo Updating repo...
    git pull origin master
    git submodule update --init --recursive
) else (
    Title = Building corbenik ^(Clone^)...
    echo Cloning repo...
    git clone --recursive https://github.com/chaoskagami/corbenik.git
    cd corbenik
)
echo Building corbenik...
Title = Building corbenik ^(Clean^)...
make clean
cls
Title = corbenik build menu ^(Release^)...
ECHO ................................................................
ECHO . Corbenik CFW Menu. Which option do you want to compile with? .
ECHO ................................................................
ECHO.
ECHO 1 - Build Corbenik CFW FULL
ECHO 2 - Build Corbenik CFW ALL
ECHO 3 - Build Corbenik CFW A9LH
ECHO 4 - Build Corbenik CFW PATCH
ECHO 5 - Build Corbenik CFW EXTERNAL
ECHO 6 - EXIT
ECHO.
choice /C 123456 /M "Enter the number of your choice:"
IF ERRORLEVEL 6 exit
IF ERRORLEVEL 5 GOTO EXTERNAL
IF ERRORLEVEL 4 GOTO PATCH
IF ERRORLEVEL 3 GOTO A9LH
IF ERRORLEVEL 2 GOTO ALL
IF ERRORLEVEL 1 GOTO FULL

:FULL
cls
Title = Building Corbenik FULL...
make full
GOTO NEXT

:ALL
cls
Title = Building Corbenik ALL...
make all
GOTO NEXT

:A9LH
cls
Title = Building Corbenik A9LH...
make a9lh
GOTO NEXT

:PATCH
cls
Title = Building Corbenik PATCH...
make patch
GOTO NEXT

:EXTERNAL
cls
Title = Building Corbenik EXTERNAL...
make external
GOTO NEXT

:NEXT
Title = Building corbenik ^(Done^)
echo.
echo ############################################
cd %~dp0
color A
echo Done. Files are in the "corbenik/out" folder.
echo Press any key to continue ...
Pause >nul
GOTO END

:END
color 7
cls
ECHO ...................................................
ECHO . Do you want to build again with another option? .
ECHO ...................................................
ECHO.
ECHO Y - Yes
ECHO N - No
ECHO.
choice /C YN /M "Enter Y to go back to the main menu or N to quit:"
IF ERRORLEVEL 2 exit
IF ERRORLEVEL 1 GOTO CORB

[EDIT]
- Removed the option reformat.
After doing a reformat, you can't build corbenik anymore

corb2.png
 
Last edited by DjoeN,
  • Like
Reactions: Februarysn0w

Elveman

Just passing by
Member
Joined
Feb 1, 2015
Messages
456
Trophies
0
Age
27
Location
Moscow city
XP
992
Country
Russia
New 3DS, 0.0.7 version
It seems that FIRM protection and AGB patches don't work together. Tried different combinations with this. I don't have the log (although had logging enabled) but here's the video
(There are also TWL patches and loader replacement but as I checked after recording, these options don't make any affection. AGB works without FIRM patches and vice versa)

EDIT: Now THAT'S why I love this CFW. Just took an AGB patch from the 0.0.6 release and placed it instead of 0.0.7 one, everything works now!
 
Last edited by Elveman,

Februarysn0w

Well-Known Member
Member
Joined
Oct 31, 2014
Messages
1,206
Trophies
0
Age
36
XP
838
Country
Japan
Ok,
Everything aside, just for fun and for Windows users that are lazy (like myself)
.......
So for those Windows users that build CFW's themself and already have everything setup correctly to build:
Here's a batch file to build corbenik, it gives you a few build options:
- Build with option "make full"
- Build with option "make all"
- Build with option "make a9lh"
- Build with option "make patch"
- Build with option "make external"
- Build with option "make reformat"

FULL:
- Build everything you need ("no firmware files") including the 'locales' folder and files, also gives you a release.zip, so it's the same as the release.zip you could download
- Building takes way longer (+/-6 minutes)!

ALL:
- Build everything you need ("no firmware files") and no 'locales' folder and no release.zip, good to update everything except 'locales' folder
- Building takes less then a minute

EXTERNAL:
- Just builds the 'corbenik' folder with inside the folders: 'bits', 'module' and 'svc' and all files in those folders.

A9LH:
- Just builds the 'arm9loaderhax.bin' and 'corbenik' folder with inside the 'bits' folder and file 'cobernik.bin'.

PATCH:
- Just builds the 'corbenik' folder with inside the 'patch' folder and patch files.

REFORMAT:
- Really, i don't know what this does :P (Think it just reformats the code in the files in the folder '\corbenik\external\loader\source')
- If you get an error like in the screenshot, you need to install LLVM (check under 'Pre-Build Binaries:' and get the one for your OS) and add it to your path (or check the option when installing LLVM).
- There's no \out folder after this (it takes about +/- 3 minutes to do it's job)

corb1.png


CREDITZ:
- @chaoskagami for corbenik CFW in the first place
- @WhoAmI? Original batch creator to build rxTools, etc...
- @Madridi, idea to make a multi ALLINONE batch and git for it, etc...
- Myself :P, ideas, modifying and testing, etc...
- Everybody else who make cool stuff and CFW's for the 3DS

Code:
@echo off
%~d0
cd %~dp0
:CORB
cls
%~d0
cd %~dp0
Title = Building corbenik-CFW...
if exist "corbenik" (
    echo Making a backup of your current corbenik folder
    xcopy "corbenik\*" "Backups_Compiles\Backup_corbenik" /e /i /y >nul
    cls
    cd corbenik
    Title = Building corbenik ^(Update^)...
    echo Updating repo...
    git pull origin master
    git submodule update --init --recursive
) else (
    Title = Building corbenik ^(Clone^)...
    echo Cloning repo...
    git clone --recursive https://github.com/chaoskagami/corbenik.git
    cd corbenik
)
echo Building corbenik...
Title = Building corbenik ^(Clean^)...
make clean
cls
Title = corbenik build menu ^(Release^)...
ECHO ................................................................
ECHO . Corbenik CFW Menu. Which option do you want to compile with? .
ECHO ................................................................
ECHO.
ECHO 1 - Build Corbenik CFW FULL
ECHO 2 - Build Corbenik CFW ALL
ECHO 3 - Build Corbenik CFW A9LH
ECHO 4 - Build Corbenik CFW PATCH
ECHO 5 - Build Corbenik CFW EXTERNAL
ECHO 6 - EXIT
ECHO.
choice /C 123456 /M "Enter the number of your choice:"
IF ERRORLEVEL 6 exit
IF ERRORLEVEL 5 GOTO EXTERNAL
IF ERRORLEVEL 4 GOTO PATCH
IF ERRORLEVEL 3 GOTO A9LH
IF ERRORLEVEL 2 GOTO ALL
IF ERRORLEVEL 1 GOTO FULL

:FULL
cls
Title = Building Corbenik FULL...
make full
GOTO NEXT

:ALL
cls
Title = Building Corbenik ALL...
make all
GOTO NEXT

:A9LH
cls
Title = Building Corbenik A9LH...
make a9lh
GOTO NEXT

:PATCH
cls
Title = Building Corbenik PATCH...
make patch
GOTO NEXT

:EXTERNAL
cls
Title = Building Corbenik EXTERNAL...
make external
GOTO NEXT

:NEXT
Title = Building corbenik ^(Done^)
echo.
echo ############################################
cd %~dp0
color A
echo Done. Files are in the "corbenik/out" folder.
echo Press any key to continue ...
Pause >nul
GOTO END

:END
color 7
cls
ECHO ...................................................
ECHO . Do you want to build again with another option? .
ECHO ...................................................
ECHO.
ECHO Y - Yes
ECHO N - No
ECHO.
choice /C YN /M "Enter Y to go back to the main menu or N to quit:"
IF ERRORLEVEL 2 exit
IF ERRORLEVEL 1 GOTO CORB

[EDIT]
- Removed the option reformat.
After doing a reformat, you can't build corbenik anymore

corb2.png
All the commands works very fine! Thank you for your hard work!
Windows 10 (JPN) DevkitPro python 2.7, 3.3 installed
 
  • Like
Reactions: DjoeN

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
All the commands works very fine! Thank you for your hard work!
Windows 10 (JPN) DevkitPro python 2.7, 3.3 installed
I myslef use a slightly different batch, cause i have a folder with firmware files, my batch give you after building the choice what firmware file you want (O3Ds or N3DS) and copies that file to the correct folder in 'corbenik'

For those that want to see,
It copies all files in the folder "\#CFWStuff\Corbenik\Firmware\O3DS\" to \corbenik\out\corbenik\firmware\ if you choose O3DS
It copies all files in the folder "\#CFWStuff\Corbenik\Firmware\N3DS\" to \corbenik\out\corbenik\firmware\ if you choose N3DS
Those folders contain my firmware files needed for corbenik, correctly named etc...
#CFWSTUFF is in the same folder as corbenik batch file

Anyway, if you're gonna use it and use a different name and subfolders for #CFWSTUFF, adapt the script.

Here's my batch file i use (only changes are between :NEXT and :END)
Code:
@echo off
%~d0
cd %~dp0
:CORB
cls
%~d0
cd %~dp0
Title = Building corbenik-CFW...
if exist "corbenik" (
    echo Making a backup of your current corbenik folder
    xcopy "corbenik\*" "Backups_Compiles\Backup_corbenik" /e /i /y >nul
    cls
    cd corbenik
    Title = Building corbenik ^(Update^)...
    echo Updating repo...
    git pull origin master
    git submodule update --init --recursive
) else (
    Title = Building corbenik ^(Clone^)...
    echo Cloning repo...
    git clone --recursive https://github.com/chaoskagami/corbenik.git
    cd corbenik
)
echo Building corbenik...
Title = Building corbenik ^(Clean^)...
make clean
cls
Title = corbenik build menu ^(Release^)...
ECHO ................................................................
ECHO . Corbenik CFW Menu. Which option do you want to compile with? .
ECHO ................................................................
ECHO.
ECHO 1 - Build Corbenik CFW FULL
ECHO 2 - Build Corbenik CFW ALL
ECHO 3 - Build Corbenik CFW A9LH
ECHO 4 - Build Corbenik CFW PATCH
ECHO 5 - Build Corbenik CFW EXTERNAL
ECHO 6 - EXIT
ECHO.
choice /C 123456 /M "Enter the number of your choice:"
IF ERRORLEVEL 6 exit
IF ERRORLEVEL 5 GOTO EXTERNAL
IF ERRORLEVEL 4 GOTO PATCH
IF ERRORLEVEL 3 GOTO A9LH
IF ERRORLEVEL 2 GOTO ALL
IF ERRORLEVEL 1 GOTO FULL

:FULL
cls
Title = Building Corbenik FULL...
make full
GOTO NEXT

:ALL
cls
Title = Building Corbenik ALL...
make all
GOTO NEXT

:A9LH
cls
Title = Building Corbenik A9LH...
make a9lh
GOTO NEXT

:PATCH
cls
Title = Building Corbenik PATCH...
make patch
GOTO NEXT

:EXTERNAL
cls
Title = Building Corbenik EXTERNAL...
make external
GOTO NEXT

:NEXT
Title = Firmware Menu ^(Firmware^)
echo.
ECHO .............................
ECHO . Corbenik Firmware choice? .
ECHO .............................
ECHO.
ECHO 1 - Firmware 11 for O3DS
ECHO 2 - Firmware 11 for N3DS
ECHO 3 - EXIT
ECHO.
choice /C 123 /M "Enter the number of your choice:"
IF ERRORLEVEL 3 exit
IF ERRORLEVEL 2 GOTO FN3DS
IF ERRORLEVEL 1 GOTO FWO3DS

:FWO3DS
echo.
xcopy %~dp0\#CFWStuff\Corbenik\Firmware\O3DS\* %~dp0\corbenik\out\corbenik\firmware\ /e /i /y
echo.
echo ############################################
cd %~dp0
color A
echo Done. corbenik CFW for O3DS is ready. Files are in the "corbenik/out" folder.
echo Press any key to continue ...
Pause >nul
GOTO END

:FN3DS
echo.
xcopy %~dp0\#CFWStuff\Corbenik\Firmware\N3DS\* %~dp0\corbenik\out\corbenik\firmware\ /e /i /y
echo.
echo ############################################
cd %~dp0
color A
echo Done. corbenik CFW for N3DS is ready. Files are in the "corbenik/out" folder.
echo Press any key to continue ...
Pause >nul
GOTO END

:END
Title = Building corbenik ^(Done^)
color 7
cls
ECHO ...................................................
ECHO . Do you want to build again with another option? .
ECHO ...................................................
ECHO.
ECHO Y - Yes
ECHO N - No
ECHO.
choice /C YN /M "Enter Y to go back to the main menu or N to quit:"
IF ERRORLEVEL 2 exit
IF ERRORLEVEL 1 GOTO CORB

[EDIT]
This is for private use, since it's not allowed to distribute firmware files!
 
Last edited by DjoeN,
  • Like
Reactions: Februarysn0w

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
- Removed the option reformat.
After doing a reformat, you can't build corbenik anymore

Your LLVM is probably out of date, because that doesn't happen here.

When I did my tests I was running Corbenik payload as a.bin. Then I changed Corbenik payload to be my default (no button presses) payload. DS flashcart works the same whether launching the payload as a.bin or CFW.bin (my default). However when I launched GBA VC from a.bin upon exiting the GBA game, the system would reboot to sysNAND. When I run Corbenik as default, GBA titles launch and reboot fine, however they reboot back to emuNAND vice sysNAND which results in the save progress being lost. Luma3DS forces a reboot to sysNAND after playing a GBA game to preserve the save. Can anybody else verify this. I have 9.2 sysNAND and I boot Corbenik to 11.0 emuNAND. I have the following options checked: SVC Replacement, Reboot Hook, Use EmuNAND (Index 0), Autoboot and Silent Mode. Loader Options I only have Use Loader Replacement checked. I have the following patches enabled: AGB Patches, FIRM Protect, Signature Fix and TWL_FIRM patches (New3DS)

Yes, I can verify that behavior. Autoboot doesn't automatically boot you to sysNAND after AGB reboots. This is probably the same with Cakes. I *may* have a solution, but for now you should make sure you hold R while booting and disable EmuNAND.

New 3DS, 0.0.7 version
It seems that FIRM protection and AGB patches don't work together. Tried different combinations with this. I don't have the log (although had logging enabled) but here's the video
(There are also TWL patches and loader replacement but as I checked after recording, these options don't make any affection. AGB works without FIRM patches and vice versa)

EDIT: Now THAT'S why I love this CFW. Just took an AGB patch from the 0.0.6 release and placed it instead of 0.0.7 one, everything works now!

Unless I note otherwise, assume you need to update patches with every release. The bytecode format isn't finalized yet, and until it is, they should be updated with the CFW.

None of the patches using jmp from 0.0.6 should be used with 0.0.7, and 0.0.6 shouldn't be used period, because patches were misgenerated and some opcodes changed. There's a reason I deleted it off github, and this is also why I dislike autoupdaters rehosting. Specifically, XN Disable, AGB, and TWL are broken in 0.0.6. Specific lists of enabled patches generate a cache that masks the issue, but it IS still there.

Chances are you're actually screwing your system up by doing so. Don't say I didn't warn you. I also highly doubt it's an interaction between FIRM protection and AGB, because it works for me on 0.0.7.

I can't see the video, either, FYI.

Here's my batch file i use (only changes are between :NEXT and :END)
[EDIT]
This is for private use, since it's not allowed to distribute firmware files!

You should always build loader and corbenik together, since loader uses code from corbenik by direct inclusion. Don't build them separately unless you know changes only affect one of them.

EDIT:

@chaoskagami It is giving me a error

Code:
Config file loaded.
Loading firmware...
FIRM load triggered.
NATIVE_FIRM
      [lkdne

Btw, great work
Thanks in advance

The middle of ExeFS decryption is an incredibly strange place to lock up. Check your SD card.
 
Last edited by chaoskagami,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    T @ Texasauras: SOLILOQUY