Homebrew Homebrew Development

aliak11

Pokemon Master
OP
Member
Joined
Dec 5, 2010
Messages
195
Trophies
1
Age
29
Location
Florida
XP
1,109
Country
United States
The purpose of this thread it to help with homebrew development by centralizing all progress, and having a place to discuss development.

Getting started: http://wiki.gbatemp.net/wiki/3DS_Homebrew_Development

You can find a list of current released 3DS homebrew on Wikitemp.
If one is missing, feel free to add it to maintain a list of existing releases.
http://wiki.gbatemp.net/wiki/List_of_3DS_homebrew


Examples of released homebrew:


Rop Loaders

fierce waffle's ROP Loader

Alternate Rop Installer

Rop Multi-loader(use this one)


Development

fierce waffle's RAM dumper

Python Tools for 3DS

3DS_Homebrew_Stuff2

Modified build.py for GNU/Linux

ctrulib


Homebrew

BlargSnes

3DNES

Mandelbrot homebrew

nop90's 3DS_Homebrew

homebrew screen test

yeti3DS
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,650
Country
France
I think the python script is used to inject your homebrew into the launcher.dat (or create it from scratch).
the homebrew is coded in C/C++ or ASM, not in python.

Once you have a launcher.dat, you can boot it like usual, from the DS profile menu (after installing the ROPLoader exploit).

There's no homebrew "channel", because nobody created a homebrew lister/launcher yet.
"The Homebrew Channel" is the name of a file lister/launcher on wii, it doesn't mean that all homebrew launchers are/will be/should be called "Homebrew channel".

There's no SDK, libraries, functions ready to use, etc.
You have to code it all yourself based on hardware specification (like video buffer's addresses to write to the screen, etc.)


I'm happy to see developers releasing their own homebrew now :)
Mandelbrot is a classic one for new plateform ;)
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,650
Country
France
launcher.dat is only a name.
Wii used "boot.elf", 3DS use "Launcher.dat".
There's no "boom" in it if you don't add one.


I'm curious to try things myself too.
But I don't know how much I could produce, I'll have to read a lot before doing even a text output on screen.
 

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
837
Country
United States
I dont get it, if homebrew is up and running, then why havent things been released yet, how come no hc or anything?

It's just a matter of time. Right now they're working with a blank canvas that has very specific rules of how paint can be applied, and no one quite knows exactly what those rules are yet.
 
  • Like
Reactions: SLiV3R and Huntereb

pistone

Well-Known Member
Member
Joined
Feb 18, 2010
Messages
503
Trophies
0
Age
35
Location
in your heart...coz secretly you love me !!!!
XP
232
Country
Albania
it would be nice if someone just post how to do a simple hello world on both screens and HOW TO SET UP THE ENVIRONMENT and building the necessary files :shy:
i know a little how to program (java oop) but i don't know well how to set up the environment (on linux maybe)
hope someone reads this a does a little tutorial :wub:

Also can you use a python ide for coding ?
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,650
Country
France
the environment is probably Devkitpro with latest devkitARM (seeing the mandelbrot sources, it's using arm-none-eabi).
then use naehrwert python script to create your launcher.dat

I'm just guessing here, Aliak could tell us what's required to compile his mandelbrot homebrew.
 

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
837
Country
United States
it would be nice if someone just post how to do a simple hello world on both screens and HOW TO SET UP THE ENVIRONMENT and building the necessary files :shy:
i know a little how to program (java oop) but i don't know well how to set up the environment (on linux maybe)
hope someone reads this a does a little tutorial :wub:

Also can you use a python ide for coding ?

To set up the enviroment, install:

https://launchpad.net/gcc-arm-embedded
http://www.python.org/

Then add python to your $PATH. Build.bat will then compile whatever your C\ARM code is into the Launcher.dat.

As far as how to set up the makefile and all that, I can't help you, I don't know that much yet. But I was able to get other users code running and am studying what they did.


Now, to get the launcher.dat to actually do something once it's on your SDCard, get a copy of Fierce Waffle's ROPLoader.nds from the first post, put it on your DS-Mode flashcart, run it, press home instead "A" once it's verified, then go into DS Profile and it should launch (Or crash, but if it crashes then ROPLoader worked)
 

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
837
Country
United States
i dint understand it quite well :wacko:
so you use the c/c++ to write the homebrew and then python to build it?

It's a very limited kind of C, as we don't have true 3DS headers but yes the Python script is just for compiling Launcher.DAT.

I recommend downloading some of the other homebrew and reading through their lib folders for an idea of what commands are available.
 
  • Like
Reactions: pistone

TheCruel

Developer
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
Nice, I'm a software developer and I will probably fill some of my free time learning more about the 3DS hardware. I'll probably make a simple tutorial for getting started with Hello World and all once I get in the groove of things. Unfortunately for some, I only use Linux.

I'm assuming the ROPLoader is what's used to prep the 3DS for the DS Profile exploit?
 

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
837
Country
United States
Nice, I'm a software developer and I will probably fill some of my free time learning more about the 3DS hardware. I'll probably make a simple tutorial for getting started with Hello World and all once I get in the groove of things. Unfortunately for some, I only use Linux.

I'm assuming the ROPLoader is what's used to prep the 3DS for the DS Profile exploit?

Yes.
 

pistone

Well-Known Member
Member
Joined
Feb 18, 2010
Messages
503
Trophies
0
Age
35
Location
in your heart...coz secretly you love me !!!!
XP
232
Country
Albania
To set up the enviroment, install:

https://launchpad.net/gcc-arm-embedded
http://www.python.org/

Then add python to your $PATH. Build.bat will then compile whatever your C\ARM code is into the Launcher.dat.

As far as how to set up the makefile and all that, I can't help you, I don't know that much yet. But I was able to get other users code running and am studying what they did.


Now, to get the launcher.dat to actually do something once it's on your SDCard, get a copy of Fierce Waffle's ROPLoader.nds from the first post, put it on your DS-Mode flashcart, run it, press home instead "A" once it's verified, then go into DS Profile and it should launch (Or crash, but if it crashes then ROPLoader worked)


It's a very limited kind of C, as we don't have true 3DS headers but yes the Python script is just for compiling Launcher.DAT.

I recommend downloading some of the other homebrew and reading through their lib folders for an idea of what commands are available.
Thank you for the tips ill will try ti set it up on linux ( no windows access right now) also is time for me to buy a new 3ds just for the homebrews :D
 

pistone

Well-Known Member
Member
Joined
Feb 18, 2010
Messages
503
Trophies
0
Age
35
Location
in your heart...coz secretly you love me !!!!
XP
232
Country
Albania
Nice, I'm a software developer and I will probably fill some of my free time learning more about the 3DS hardware. I'll probably make a simple tutorial for getting started with Hello World and all once I get in the groove of things. Unfortunately for some, I only use Linux.

I'm assuming the ROPLoader is what's used to prep the 3DS for the DS Profile exploit?
That would be awesome :wub: , i also work only in linux ( just in my work office with windows :nayps3:)
Also i would like to know the developers are writing their libs ...........like blindly ? trying to find what "this/that" does ? :blink: (reverse engineering ?)
 

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
837
Country
United States
That would be awesome :wub: , i also work only in linux ( just in my work office with windows :nayps3:)
Also i would like to know the developers are writing their libs ...........like blindly ? trying to find what "this/that" does ? :blink: (reverse engineering ?)

Yes, basically reverse engineering libs right now. No one has barely and knowledge of the ins and outs.
 

TheCruel

Developer
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
Also i would like to know the developers are writing their libs ...........like blindly ? trying to find what "this/that" does ? :blink: (reverse engineering ?)


From what I can tell, there are lot of hardware reverse engineering and people just documenting what registers/addresses control which features of the hardware.

But the most effective way to document information is to get your hands on the beautiful Development/Debug hardware. ;)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • K3Nv2 @ K3Nv2:
    And a few lawsuits
  • Psionic Roshambo @ Psionic Roshambo:
    Probably lol
  • K3Nv2 @ K3Nv2:
    Eminem sued me all I did was say he was a cannibal molestor
  • Psionic Roshambo @ Psionic Roshambo:
    Rotflmao
  • Psionic Roshambo @ Psionic Roshambo:
    R Kelly dropped the lawsuit after I let him pee on me
  • K3Nv2 @ K3Nv2:
    Your honor he thinks he has white privilege
  • BigOnYa @ BigOnYa:
    If you rap it, its freedom of speech
  • K3Nv2 @ K3Nv2:
    Gray zone warfare looks kinda cool
  • Psionic Roshambo @ Psionic Roshambo:
    Ohhh on one episode they could use rings to summon Captain Criminal who is just Obama like a spoof of Captain Planet lol
    +1
  • BigOnYa @ BigOnYa:
    Does look good
  • Psionic Roshambo @ Psionic Roshambo:
    By your powers combined, hmmm where is Epstein?
  • K3Nv2 @ K3Nv2:
    Just another shit fps clone
  • K3Nv2 @ K3Nv2:
    Thought it was some warzone dlc bs
  • Psionic Roshambo @ Psionic Roshambo:
    Looks like an enhanced Far cry 1
  • K3Nv2 @ K3Nv2:
    That's a far cry from it
  • BigOnYa @ BigOnYa:
    Is it a free to play bs, pay to get any good weapon/gear
  • K3Nv2 @ K3Nv2:
    Not free to play but $35
  • K3Nv2 @ K3Nv2:
    Inb4 kiiwii gives it a 0/10
  • BigOnYa @ BigOnYa:
    6/10 rating on steam
  • Psionic Roshambo @ Psionic Roshambo:
    I would like a Predator game "Kill Team" it takes place in the Jungle of the first movie, your team is sent to hunt the predator, using current tech drones and a trained team. Set traps use strategy to hunt and trap or kill the predator.
  • BigOnYa @ BigOnYa:
    Ill stick with my Battlefield. Yea a predator hunting game like that would be cool. Esp if you can be Arnold and say "Get to da choppa"
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    Maybe Arnold could do a cameo voice acting, he is the one briefing you on the mission
    +1
    Psionic Roshambo @ Psionic Roshambo: Maybe Arnold could do a cameo voice acting, he is the one briefing you on the mission +1