The (Un)Official 3DS Homebrew Development Guide

Discussion in '3DS - Homebrew Development and Emulators' started by kprovost7314, Jun 7, 2016.

  1. kprovost7314
    OP

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,680
    865
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    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.​


    Changelog

    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 kprovost7314, May 15, 2017


  2. proflayton123

    proflayton123 悲しみ

    Member
    5,620
    2,064
    Jan 11, 2016
    Japan
    日本
    Nice :3
     
  3. Minnow

    Minnow GBAtemp Fan

    Member
    455
    694
    Oct 5, 2015
    Canada
    This is great. Thanks.
     
  4. TechyTurtle

    TechyTurtle GBAtemp Regular

    Member
    294
    53
    Jan 23, 2016
    United States
    MY ASS!
    This is going to be pretty wizard
     
  5. MasterFeizz

    MasterFeizz GBAtemp Advanced Fan

    Member
    888
    826
    Oct 15, 2015
    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.
     
  6. Omegadrien

    Omegadrien GBAtemp Advanced Maniac

    Member
    1,707
    528
    Nov 4, 2015
    France
    Pokéland
    Nice! I can't wait for the next chapter! ^^
     
  7. Tjessx

    Tjessx GBAtemp Maniac

    Member
    1,156
    508
    Dec 3, 2014
    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)
     
  8. kprovost7314
    OP

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,680
    865
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    UPDATE: Moved to gitbooks.
     
    MasterFeizz likes this.
  9. kprovost7314
    OP

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,680
    865
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    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.
     
  10. MasterFeizz

    MasterFeizz GBAtemp Advanced Fan

    Member
    888
    826
    Oct 15, 2015
    United States
    Use markdown and push it to github
     
    leerz likes this.
  11. kprovost7314
    OP

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,680
    865
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    What's markdown and how do you push it to Github?






    YOU GUYS ARE MAKING IT SO HARD FOR ME, MY PC ISN'T ONLINE
     
  12. kprovost7314
    OP

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,680
    865
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    Stay tuned, about to release Version 0.2.
     
  13. kprovost7314
    OP

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,680
    865
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
  14. TricksterGuy

    TricksterGuy Advanced Member

    Newcomer
    79
    103
    Jan 16, 2016
    United States
    California
    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, Jul 30, 2016
  15. kprovost7314
    OP

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,680
    865
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    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.
     
  16. kprovost7314
    OP

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,680
    865
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    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
     
    renhei and Omegadrien like this.
  17. Salamencizer

    Salamencizer Handsome Computer Nerd

    Member
    795
    605
    Oct 3, 2015
    India
    Below
    Wow. Thanks a lot for this!
     
  18. kprovost7314
    OP

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,680
    865
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    UPDATE: *Help wanted*
     
  19. kprovost7314
    OP

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,680
    865
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    UPDATE: I'm working on another guide which is the assembly of the PICA200 (used in Citro3D, but THAT will come later). I haven't gave up on this guide though.
     
    renhei and Omegadrien like this.
  20. kprovost7314
    OP

    kprovost7314 GBAtemp's Official Bara Master

    Member
    1,680
    865
    Dec 24, 2014
    United States
    In that bara manga ( ͡° ͜ʖ ͡°)
    UPDATE: Redo with 2 new guides. Citro3D and PICA200 Assembly.
     
    olec04 likes this.