I thought all it would be is sticking some C++ cout and saving as .firm but no it's not as simple as i thought and i realised this is prob a really stupid post
I thought all it would be is sticking some C++ cout and saving as .firm but no it's not as simple as i thoughtand i realised this is prob a really stupid post
My skill are very novice but i can work my way around a few things i know parts of different languages but i am not good with a very specific oneYour post is not stupid. It's just way more advance a typical 3DS user would know about. What are you trying to accomplishing making a .firm app?
How good is your programming skills?
Look for the (source code) archives:
GodMode9 - https://github.com/d0k3/GodMode9/releases
Luma3DS - https://github.com/AuroraWright/Luma3DS/releases
boot9strap - https://github.com/SciresM/boot9strap/releases
You're going to have to study and reverse engineering how the devs made their .firm programs.
Depending on your computer Operating System (Windows, Linux, or Mac iOS)
You'll need devkitPro (specifically devkitARM) for your environment
-and-
either Cygwin , minGW , and/or Window's Command Prompt (cmd) for compiling source with the "make" command. Linux and Mac have their own command shell.
Refer to 3ds examples folder to learn basic homebrew coding.
https://www.3dbrew.org/ has information for the ins and outs of the 3DS more technical aspects (ie, hardware and software).
This is all you need to get startedI thought all it would be is sticking some C++ cout and saving as .firm but no it's not as simple as i thought and i realised this is prob a really stupid post
i'm using fastboot witch you can choose the firmware to boot so i was wanting it to boot to this firm with a message saying something like "NOPE!!"Fake brick?
...Or would that be a real brick? I am out of the loop.
Fake brick?
...Or would that be a real brick? I am out of the loop.
yea i can do the code but i don't know how to compile it so its compatible as a .firm file
like i think i needa makefile or something
Okay,Every homebrew app whether it is .elf -> .cia, .3dsx & .sdmh, or .firm has a Makefile tailored coded specifically to how devkitPro is supposed to compile that source code into its end user form.
You can't drag and drop any Makefile from another program into yours like how you wouldn't graft a random person's liver into an alcoholic patient needing a new liver transplant due to cirrhosis. (I mean you could but that patient will quickly die from organ rejection without serious immuno-suppressant drugs).
Your Makefile has to be coded to tell devkitPro how to build and compile your source code:
- Which directories its supposed to look in
- What files it should look for
- What dependencies does those files require to build it
- How it is suppose to package all those files into .elf, .cia , .3dsx + .sdmh, etc.
It's okay if you don't get it the first time. Every programmer who has ever done high level coding will run into a stumbling block and feel stupid about how any of this works, especially when you look at someone else's code and you're not familiar at first with how to program for the 3DS or any system. This doesn't make you a amateur or derpy coder who doesn't know that 1+1 = 2, A does not equal B, and what do for cases where if/else/switch/strut are required.Okay,
there is clearly stuff i don't know and gonna take me a while to understand so i think im just gonna scrap the idea i had planned cause its just not working
I think ill just tinker around in the homebrew launcher and try learn my way up from the basic since homebrew apps have alot more support for them rather than just jumping into something like firmIt's okay if you don't get it the first time. Every programmer who has ever done high level coding will run into a stumbling block and feel stupid about how any of this works, especially when you look at someone else's code and you're not familiar at first with how to program for the 3DS or any system. This doesn't make you a amateur or derpy coder who doesn't know that 1+1 = 2, A does not equal B, and what do for cases where if/else/switch/strut are required.
Take a break. Retreat and don't think about it too much. When you're feeling inquisitive and ready again, take a look at the main.c file which almost every program centralizes calling for all the other .c .h .cpp , etc. files. Study what those #include <...> point to and what those #include <...> lead to other #include <...>.
Every file is connected to one another like a tree having nodes with roots spreading out in all directions.
Never get caught up looking at every file all at once. Always look for the most basic building block, kinda like examining how one LEGO brick attaches to another. Piece-by-piece analyses and NOT the entire assembly. Start with what you know and understand. Hit a textbook to refer to how a specific syntax is typically utilized. Don't get too caught up with how the programmers named their variables with their big, fancy-smancy jargons.
Always remember that you're programmer because at heart, you're a masochist with a love-hate relationship with computers and 3DS bending them to do what you want to your will.