Homebrew Homebrew Development

tomiga

Well-Known Member
Member
Joined
Dec 4, 2013
Messages
125
Trophies
0
Age
30
XP
145
Country
United States
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.
 

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
837
Country
United States
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.
 

Drenn

Well-Known Member
Member
Joined
Feb 22, 2013
Messages
574
Trophies
0
XP
696
Country
Canada
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.
 

tomiga

Well-Known Member
Member
Joined
Dec 4, 2013
Messages
125
Trophies
0
Age
30
XP
145
Country
United States
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.
 

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
837
Country
United States
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
 

tomiga

Well-Known Member
Member
Joined
Dec 4, 2013
Messages
125
Trophies
0
Age
30
XP
145
Country
United States
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.
 

TheCruel

Developer
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
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.
 

dalc789

Well-Known Member
Newcomer
Joined
Jul 23, 2007
Messages
72
Trophies
0
XP
212
Country
United States
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.
 

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
837
Country
United States
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.
 

tomiga

Well-Known Member
Member
Joined
Dec 4, 2013
Messages
125
Trophies
0
Age
30
XP
145
Country
United States
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?).
 

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
837
Country
United States
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 :[
 

tomiga

Well-Known Member
Member
Joined
Dec 4, 2013
Messages
125
Trophies
0
Age
30
XP
145
Country
United States
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.
 

Huntereb

Well-Known Member
Member
Joined
Sep 1, 2013
Messages
3,234
Trophies
0
Website
lewd.pics
XP
2,446
Country
United States
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.
 

TheCruel

Developer
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
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. ;)
 

tomiga

Well-Known Member
Member
Joined
Dec 4, 2013
Messages
125
Trophies
0
Age
30
XP
145
Country
United States
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.
 

dalc789

Well-Known Member
Newcomer
Joined
Jul 23, 2007
Messages
72
Trophies
0
XP
212
Country
United States
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.
 

tomiga

Well-Known Member
Member
Joined
Dec 4, 2013
Messages
125
Trophies
0
Age
30
XP
145
Country
United States
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

General chit-chat
Help Users
    AncientBoi @ AncientBoi: :O:rofl2: +1