Homebrew Homebrew Development

  • Thread starter Thread starter aliak11
  • Start date Start date
  • Views Views 1,477,202
  • Replies Replies 6,048
  • Likes Likes 54
Check and see if the script commands are out of order?

But really, I have no idea what I'm doing. How exactly do I implement the library files into compiling into Yeti3DS? Just add them to the same folder as Kane's build script?

From what it looks like in the Makefile, you're supposed to have both the libctru and yeti3DS folders in the same directory. Compile libctru first, then yeti3DS. At least, I think...to be honest, I'm not all too sure what I'm doing either.
 
I don't think it's meant to be compilable for anyone but smea right now. It's not like you'd be able to do anything with a compiled version, anyways. This is not something you could make a launcher.dat out of and load up.

I'm 99% certain the reason why he's only just now released it is because of how easily we're getting code execution for the masses started outside of flashcarts, I think with his libraries we can get a lot better understanding of how to make a fully open system, and custom firmware emunands will be available for all by fall.
 
I just want to see it running on my own 3DS, like all the other homebrew. Plus, it doesn't look like anything's missing from the source code.
Like the part which installs it as a channel? Since this is arm11 code, I don't think it would work as a simple launcher.dat. Remember, smealum isn't going to share much when it comes to hacking the OS.
 
Like the part which installs it as a channel? Since this is arm11 code, I don't think it would work as a simple launcher.dat. Remember, smealum isn't going to share much when it comes to hacking the OS.

If I have this right, what's actually happening is it's overwriting a default channel in RAM (possibly Health & Safety information), not creating a new channel on its own. I'm pretty sure doing that is perfectly possible with just a standard launcher.dat. Plus, I'm pretty sure he just isn't going to release anything that comes to hacking the OS to allow piracy, which I'm perfectly okay with.
 
I keep getting
Code:
source/game.c:39:19: fatal error ctr/types.h: no such file or directory
  #include <ctr/types.h>
 
compilation terminated
 
Are you trying to compile libctru? That error is pretty much just saying that it can't find types.h, which should be in include/ctr/. Might want to make sure you're not missing anything.
 
FYI guys, I think smealum left script.ld out of the repo, I messaged him about it so he knows. So you likely won't be able to compile the Yeti3DS game.
 
I keep getting
Code:
source/game.c:39:19: fatal error ctr/types.h: no such file or directory
  #include <ctr/types.h>
 
compilation terminated

I had that error too. The fix I did may be a little over-the-top, but it worked for me. Put the libctru folder in yeti3ds, same folder as the makefile. Then I went into makefile and edited the CTRULIB's value from"../libctru" to just "libctru". Don't really know what the ../ is for, but I was able to get past that error this way.

And TheCruel, you can use an id file from another project, just rename it.
 
Are you trying to compile libctru? That error is pretty much just saying that it can't find types.h, which should be in include/ctr/. Might want to make sure you're not missing anything.

No that compiled fine.
I've got the header files from libctru scattered all throughout my yeti folder in various different folder structures and all of them are giving the same types.h not found error.
 
After adding script.ld and bootloader.o, I got this far:
Code:
2 miga@hakase ~/Misc/3DS/Homebrew/ctrulib/yeti3DS % make                    :(
arm-none-eabi-ld --script=script.ld -L"/opt/devkitpro/devkitARM/arm-none-eabi/lib" -L""../libctru"/lib" -o yeti3DS.elf build/draw.o build/model.o build/game.o build/sprites.o build/font.o build/main.o build/yeti.o build/data.o build/maps.o -lctru -lc
arm-none-eabi-ld: cannot find -lc
Makefile:23: recipe for target 'yeti3DS.elf' failed
make: *** [yeti3DS.elf] Error 1

Again, I have no idea what -lc is referring to (libctr?).
 
I had that error too. The fix I did may be a little over-the-top, but it worked for me. Put the libctru folder in yeti3ds, same folder as the makefile. Then I went into makefile and edited the CTRULIB's value from"../libctru" to just "libctru". Don't really know what the ../ is for, but I was able to get past that error this way.

And TheCruel, you can use an id file from another project, just rename it.

Not working :[
 
Don't really know what the ../ is for, but I was able to get past that error this way.
That pretty much means "previous directory". Much like when you do "cd .." and it goes up a directory. So like, if you have /home/miga/3DSstuff/yeti3DS and /home/miga/3DSstuff/libctru, you can get to libctru from the yeti3DS folder by doing ../libctru (which translates to /home/miga/3DSstuff/yeti3DS/../libctru).
Hope that makes sense.

And this whole homebrew party only works with fucking 4.5, am I right?

Yup.
 
Since Gateway has pretty much shown themselves to the door recently, someone needs to get to work on a homebrew that reads roms from the SD card directly.

For example, redirect the path where the 3DS scans for mounted cartridges to the SD card. You put a single rom in a specific folder on the SD card. We can work on multi-ROM later...

This request isn't meant to be taken seriously just yet... Maybe in a few months. Just bookmark this idea.


And this whole homebrew party only works with fucking 4.5, am I right?

4.1-4.5, yes.
 
Guys guys, you can't just copy over the linker script and bootloader.s from other projects, the project layout is different and function names are different... and the crt0.s is essentially the bootloader asm anyways.

And this whole homebrew party only works with fucking 4.5, am I right?

Of course. Everyone has given up on looking for exploits on newer firmwares. ;)
 
Since Gateway has pretty much shown themselves to the door recently, someone needs to get to work on a homebrew that reads roms from the SD card directly.

For example, redirect the path where the 3DS scans for mounted cartridges to the SD card. You put a single rom in a specific folder on the SD card. We can work on multi-ROM later...

This request isn't meant to be taken seriously just yet... Maybe in a few months. Just bookmark this idea.

Smealum (and others creating homebrew for the 3DS, probably) aren't going to work on ROM loaders or enabling piracy. Even though I think it would be nice to have some sort of legal-backup system so that you can backup games that you legally own onto the SD card and play them from there, it would also probably enable piracy. I would be more than content if there was just a region-free hack for retail games.
 
After adding script.ld and bootloader.o, I got this far:
Code:
2 miga@hakase ~/Misc/3DS/Homebrew/ctrulib/yeti3DS % make                    :(
arm-none-eabi-ld --script=script.ld -L"/opt/devkitpro/devkitARM/arm-none-eabi/lib" -L""../libctru"/lib" -o yeti3DS.elf build/draw.o build/model.o build/game.o build/sprites.o build/font.o build/main.o build/yeti.o build/data.o build/maps.o -lctru -lc
arm-none-eabi-ld: cannot find -lc
Makefile:23: recipe for target 'yeti3DS.elf' failed
make: *** [yeti3DS.elf] Error 1

Again, I have no idea what -lc is referring to (libctr?).
looks like -lc is from libctr. If you look at your output the end of the second line is "-lctru -lc". How did you get bootloader.o working? I'm still having trouble with that.
 
looks like -lc is from libctr. If you look at your output the end of the second line is "-lctru -lc". How did you get bootloader.o working? I'm still having trouble with that.

I took and compiled a 3DS homebrew application that compiles bootloader.s into an object file. Most of them have it (such as the mandelbrot generator).
 

Site & Scene News

Popular threads in this forum