Homebrew The (Un)Official 3DS Homebrew Development Guide

YugamiSekai

Mr. Picross
OP
Member
Joined
Dec 24, 2014
Messages
2,015
Trophies
1
Age
22
XP
2,387
Country
United States
HELP WANTED
This is only getting harder with each chapter so if there are some devs who want to see this go further, that would be great.
Also if A mod sees this, the title should be ”[WIP] The Homebrew Dev Guide Pack"

Seeing how ctrulib is barely documented and how there aren't many tutorials on 3DS Homebrew Dev I decided to go ahead and take matters into my own hands and create this Homebrew Development tutorial pack. It's only in C (Assembly too) and it consists of a 3DS homebrew dev guide, a PICA200 Assembly guide, and a Citro3D C guide.​


V0.1 - Initial Release
V0.2 - More Content added to guides and tweaks, changed Readme and Todo
V0.3 - More changes to guides, added code to Citro3D book
V0.4 - More Guide changes, added more code to Citro3D guide, fixed code folders in PICA200 guide
V0.5 BETA - More guide changes, added more code to Citro Dev Pack
V0.5 - More guide changes, added something new ;), edited readme, removed todo (I couldn't keep up)
V0.6 PREVIEW - Split guides to C and C++ with the addition of delete12345's citro3d guide

So far there are more chapters planned for these books. I hope you all enjoy as I improve on this! I'm also gonna make guides for other libs in the future and include it in the pack.
 
Last edited by YugamiSekai,

MasterFeizz

Well-Known Member
Member
Joined
Oct 15, 2015
Messages
1,098
Trophies
1
Age
29
XP
3,710
Country
United States
Let me give you some constructive criticism. The formatting on this pdf is not ideal, you should make the paragraphs smaller and increase the font size. I would also suggest highlighting keywords instead of using quotes and using syntax highlighted blocks for the code samples.

Lastly, you could use github and gitbooks, this way other's could contribute to the tutorials in a more organized way as opposed to PM's. This would also help with accessibility, as users wouldn't need to download a pdf.

Anyhow, keep it up man.
 

Tjessx

Well-Known Member
Member
Joined
Dec 3, 2014
Messages
1,160
Trophies
0
Age
27
XP
952
Country
Belgium
Looks good, it's nice to see someone working on something like this.
If i may suggest something, you could put the file publicly on google drive, so that people can contribute on it (you can work on the same file in google drive simultaneous), if you would do this: maybe only give trusted gbatemp people access to it though, (you can always undo changes)
 

YugamiSekai

Mr. Picross
OP
Member
Joined
Dec 24, 2014
Messages
2,015
Trophies
1
Age
22
XP
2,387
Country
United States
CRAP. It seems I don't know how to work gitbooks. I imported the .docx version and my pictures are gone. Not only that, #include turns into a bold "include", so yeah I might change to github or keep the GDrive method.
 

TricksterGuy

Well-Known Member
Newcomer
Joined
Jan 16, 2016
Messages
81
Trophies
0
Age
37
Location
California
XP
221
Country
United States
Cool, I've read this from start to end.

Suggested corrections

All:
You may want to consider using a monospace font in all code you include in your document, makes everything look better.

page 2
1: Know the C Programming Language (Definitely structs and OOP)
C isn't an object oriented programming language, C++ is
2: Installed and setup devkitPro and the 3DS environment
Installed an setup devkitPro along with ctrulib

Maybe link to those resources in the tutorial to save people a google search.

page 3
The first thing you see are the 2 preprocessor statements which include stdio.h (which defines printf and other main C functions), and 3ds.h (that has
all of the 3ds features in it).

Inside the parentheses you see, GFX_TOP and NULL which initializes the top screen
with GFX_TOP, but makes it empty with NULL.

the NULL here causes ctrulib to use the default PrintConsole which defines the font used width/height of the console etc - printconsole

page 10
Include the file <3ds/services/hid.h> which will enable you to use the HID service.
This isn't needed 3ds.h appears to include this file? http://smealum.github.io/ctrulib/3ds_8h.html

page 12
here's the link you was missing - https://github.com/xerpi/3ds_portlibs
I'm not sure any changes are needed with that repo. It compiled out of the box for me.

onward
You may want to consider file IO (SD card and romfs), sound (csnd / dsp), etc
 
Last edited by TricksterGuy,

YugamiSekai

Mr. Picross
OP
Member
Joined
Dec 24, 2014
Messages
2,015
Trophies
1
Age
22
XP
2,387
Country
United States
Cool, I've read this from start to end.

Suggested corrections

All:
You may want to consider using a monospace font in all code you include in your document, makes everything look better.

page 2
1: Know the C Programming Language (Definitely structs and OOP)
C isn't an object oriented programming language, C++ is
2: Installed and setup devkitPro and the 3DS environment
Installed an setup devkitPro along with ctrulib

Maybe link to those resources in the tutorial to save people a google search.

page 3
The first thing you see are the 2 preprocessor statements which include stdio.h (which defines printf and other main C functions), and 3ds.h (that has
all of the 3ds features in it).

Inside the parentheses you see, GFX_TOP and NULL which initializes the top screen
with GFX_TOP, but makes it empty with NULL.

the NULL here causes ctrulib to use the default PrintConsole which defines the font used width/height of the console etc - printconsole

page 10
Include the file <3ds/services/hid.h> which will enable you to use the HID service.
This isn't needed 3ds.h appears to include this file? http://smealum.github.io/ctrulib/3ds_8h.html

page 12
here's the link you was missing - https://github.com/xerpi/3ds_portlibs
I'm not sure any changes are needed with that repo. It compiled out of the box for me.

onward
You may want to consider file IO (SD card and romfs), sound (csnd / dsp), etc
Thanks! I actually finished the next version and finished chapter 8 (battery and pedometer) and I noticed some of these mistakes. I'll fix them now. And romfs/dsp (especially dsp) might take a while, unless someone would like to help out with it.
 

YugamiSekai

Mr. Picross
OP
Member
Joined
Dec 24, 2014
Messages
2,015
Trophies
1
Age
22
XP
2,387
Country
United States
Version 0.3 Released! I just learned how to use PTMU at midnight so here it is! Also, I might skip Chapter 7 and Chapter 9 for now (unless some experienced Devs want to help with Amiibo, and Circle Pad/Gyroscope/Accelerometer). I'm still organizing the code files so excuse them for now (it's still usable). The next version will include quizzes and challenges (optional, but recommended to follow) and more on makefiles. Enjoy this version!

Download:
https://drive.google.com/open?id=0B3QuEXHQiGd6aTNJVnpWRGdzcmM
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • K3Nv2 @ K3Nv2:
    Still don't know why he left unless someone really hurt his feelings
  • K3Nv2 @ K3Nv2:
    Don't know why people get so emotional online just get over it ffs
    +2
  • BigOnYa @ BigOnYa:
    He was the ass of gbatemp, everyone knocked on him, I honestly felt bad, even though I was guilty myself, but he egged it all on himself,
  • BigOnYa @ BigOnYa:
    But he still here, but under dif name, he pm me sometimes still even.
  • K3Nv2 @ K3Nv2:
    It's like they think we'll be in their bed pissing on it the next day
  • BigOnYa @ BigOnYa:
    I feel like gbatemp should make t-shirts or memorabilia to remember the lost ones. I bet the Polly shirts would sell out quick.
  • K3Nv2 @ K3Nv2:
    Nah that could actually bring lawsuits
  • K3Nv2 @ K3Nv2:
    Tempsuits
  • BigOnYa @ BigOnYa:
    PollySuits
  • BigOnYa @ BigOnYa:
    Your correct, Somebody would be guilty and there would be riots, then they storm the gbatemp capitol,
  • K3Nv2 @ K3Nv2:
    Online or not there are still certain rights that judges would have no issue handing out a warrant over
  • K3Nv2 @ K3Nv2:
    Just look at Kim dotcom
  • BigOnYa @ BigOnYa:
    Honestly I'm scared to, from you, but ok, lemme turn on vpn, virtual machine, private browser first
  • K3Nv2 @ K3Nv2:
    Remember that Alexa robot I gifted you
  • K3Nv2 @ K3Nv2:
    And that laptop Webcam you never tapped up
  • BigOnYa @ BigOnYa:
    That robot is here somewhere, I hear it moving around at night, but I haven't seen it for months.
  • BigOnYa @ BigOnYa:
    Oh that laptop I give to ancientboi, so you been watching him for months, and he's been watching you
  • K3Nv2 @ K3Nv2:
    Oh good more than enough material for the fbi
    +2
  • BigOnYa @ BigOnYa:
    Damn its 5 in morn, I gotta Go wake your mum and send her to work. Check ya later.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    He could make so much money!!! His arm would never get tired lol
    +2
  • S @ salazarcosplay:
    How are yall doing
    +2
    S @ salazarcosplay: How are yall doing +2