Homebrew Homebrew Development

  • Thread starter Thread starter aliak11
  • Start date Start date
  • Views Views 1,475,650
  • Replies Replies 6,048
  • Likes Likes 54
Man, you helped me a lot! I'll start developing a simple binary--->decimal converter once i have some free time (tomorrow afternoon).
You're welcome, note however, that the sources are only for arm9 and they aren't up-to-date. But they should be fine to get started with.
 
Wait. So i can't use them to make an ARM11 .3ds homebrew?

P.S. That bootloader.s file was suspicious....


Here, I ported over the draw libs to work with st4rks 3DSTemplate example. I also cleaned up the .3ds file in the make clean process and added CIA building thanks to st4rk. I also started looking into gamepad input (refer to hid.h in ctrulib):

https://www.sendspace.com/file/o0l19n

I think having an example with simple gamepad input along with drawing a basic message to the screen is a lot more helpful as a beginner example.

Just follow his tutorial and use my modified 3DSTemplate.

Hello everyone, here a little tutorial to whom wanna begin with homebrew on 3DS :P

Before anything you will need these files:
DevKitARM : devkitpro.org
DevKitARM Add-on 3ds: http://mtheall.com/~fincs/3dsdkA/
3DSTemplate(with new ctrulib): http://filetrip.net/dl?rqkeqrIIns

After download all files:
1 - open the "dkA-3dsx-patch-12092014.zip" and copy the DevKitARM folder to DevKitPro/DevKitARM folder on your PC.
2 - extract 3dstemplate where you wanna, open the 3dstemplate folder and copy the "libctru" on C:/ or D:/ or where you wanna on your disk.
3 - Go to environment variables and at system variables, create a new with name: CTRULIB , value: D:\libctru (change to your libctru directory !).
4 - on 3dstemplate folder open the build.bat, if you did everything correct, it will generate three new files, ".elf", ".3dsx" and ".3ds", the .3ds is to Gateway users, .elf to alternative homebrew loaders and .3dsx to future Smea Homebrew Loader.


If you wanna edit the code, just go to source and edit the main.c, there is a little example on code, have fun :P
 
Wait. So i can't use them to make an ARM11 .3ds homebrew?

P.S. That bootloader.s file was suspicious....
Nope, it will output a launcher.dat for you to run. I was going to try and convert it to arm11, but I've been so busy with school, work, and applications to college and scholarships that I haven't had time for anything.

What's suspicious about the bootloader file?
 
Nope, it will output a launcher.dat for you to run. I was going to try and convert it to arm11, but I've been so busy with school, work, and applications to college and scholarships that I haven't had time for anything.

What's suspicious about the bootloader file?

I think that it's related to an ARM9 homebrew, isn't it?

Anyway, is this a good way to output some text for an ARM11 homebrew?
Code:
draw_string("Something ", 1, 41, 255, 255, 255, BOTTOM_SCREEN);

Plus, i'd like to know how to print a variable. Can i use %d? For example:
Code:
draw_string("The result is %d", variable, 1, 41, 255, 255, 255, BOTTOM_SCREEN);
 
Nope, it will output a launcher.dat for you to run. I was going to try and convert it to arm11, but I've been so busy with school, work, and applications to college and scholarships that I haven't had time for anything.

What's suspicious about the bootloader file?
boot....loader.....does that mean it will boot me if i try to load it?:P
 
I think that it's related to an ARM9 homebrew, isn't it?

Anyway, is this a good way to output some text for an ARM11 homebrew?
Code:
draw_string("Something ", 1, 41, 255, 255, 255, BOTTOM_SCREEN);

Plus, i'd like to know how to print a variable. Can i use %d? For example:
Code:
draw_string("The result is %d", variable, 1, 41, 255, 255, 255, BOTTOM_SCREEN);


I can't answer your last question directly, but i know that the refactored decryption tool by some members here (http://gbatemp.net/threads/release-3ds_ctr_decryptor-void.370684/), has a macro DEBUG() that will let you use stuff like %i and %x for variable output. You could check it out! I've found it useful at least.

As for the bootloader, it is (probably, haven't looked at it) the first line of code that gets run and is used to jump to the "real" code. This is necessary because the compiled C code may have a layout that does not start with the c-written code (but with data regions etc).
 
  • Like
Reactions: AlbertoSONIC
I can't answer your last question directly, but i know that the refactored decryption tool by some members here (http://gbatemp.net/threads/release-3ds_ctr_decryptor-void.370684/), has a macro DEBUG() that will let you use stuff like %i and %x for variable output. You could check it out! I've found it useful at least.

As for the bootloader, it is (probably, haven't looked at it) the first line of code that gets run and is used to jump to the "real" code. This is necessary because the compiled C code may have a layout that does not start with the c-written code (but with data regions etc).
Thank you. What about the draw string i used? Is it correct?
 
I think its just

draw_string("The result is ", 1, 41, 255, 255, 255, BOTTOM_SCREEN);
draw_string(variable, adjust, for , correct, position, BOTTOM_SCREEN);
You're probably right! But i can't test it now because i accidentally removed my microsd from my pc while copying a file and now it says that i have to format it. It says RAW filesystem... I recovered all my roms, but i can't format it because it says "Sdcard has write lock".
 

Site & Scene News

Popular threads in this forum