Homebrew Homebrew Development

st4rk

nah
Member
Joined
Feb 11, 2014
Messages
542
Trophies
0
Website
st4rk.net
XP
815
Country
Brazil
Every developers are working on Emulators?
only emulators?

I hope we could have games, demo or application soon :)
Yeah, I know "do it yourself if you want games", I would try if I had time. I just hope we could see more diversified homebrew than emulators to play ROMS/ISO/piracy.
Original ideas are fine too.

What we currently we have and I'll list on Wiki.
8 games
6 emulators
9 demos
2 Hello world (using .cxi and citrus)
5 (or more?) Utils

I will re-read this thread to find all I missed.


I have ideas to port some old games :P, just need more time ^-^
 
  • Like
Reactions: YourNerdyJoe

Cid2mizard

Well-Known Member
Member
Joined
Aug 16, 2007
Messages
401
Trophies
1
Age
43
Location
Maubeuge
XP
2,436
Country
France
The greater part of the major port have already been carried out on the Nintendo DS, which are compatible with the 3DS. I have no interest to achieve the same port for the 3DS, especially as the Stereoscopic 3D for 3DS is horrible to behold.

The only interest in the 3DS is the use of power to achieve better project unprecedented ...

The achievement of emulators on 3DS are feat but have no interest, I want to play the NES, there nesDS running on 3DS with a linker DS, like the other emulators ...

Only have a unique interest or what's open a console except for what is already done ....

Sorry for my bad english...
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,486
Country
United States
The greater part of the major port have already been carried out on the Nintendo DS, which are compatible with the 3DS. I have no interest to achieve the same port for the 3DS, especially as the Stereoscopic 3D for 3DS is horrible to behold.

The only interest in the 3DS is the use of power to achieve better project unprecedented ...

The achievement of emulators on 3DS are feat but have no interest, I want to play the NES, there nesDS running on 3DS with a linker DS, like the other emulators ...

Only have a unique interest or what's open a console except for what is already done ....

Sorry for my bad english...


While we do have alternatives, such as the emulators, I really don't like the cut-off and squishing that is done with various emulators on the DS, as it is having to go from 224p/240p to 192p.
 

Relys

^(Software | Hardware) Exploit? Development.$
Member
Joined
Jan 5, 2007
Messages
878
Trophies
1
XP
1,239
Country
United States
I just finished a multithreaded particle demo I've been working on.
http://yournerdyjoe.blogspot.com/2014/08/3ds-particle-demo.html


This is amazing! All the posts I see from you have been so helpful (like the CHIP-8 port to CTRULIB).

Have you seen the design thread for the homebrew loader Smea is going to release?? There's a popular design by flutoo that is going to be used. It will have a bucket on the bottom screen being filled up with water as part of the intro animation. You should totally see if you could help add your particle engine to the homebrew channel!

Do you come by #3dsdev on EfNet often? We would love to have you there. :)

Cheers!
 
  • Like
Reactions: YourNerdyJoe

Gadorach

Electronics Engineering Technologist
Member
Joined
Jan 22, 2014
Messages
970
Trophies
0
Location
Canada
XP
956
Country
Canada
I have some free time this week, and I think I will work on the Wiki 3DS homebrew part.
I will add a page for each released homebrew and current projects (like Blarg even if nothing released).
I also think I'll list existing computer applications for 3DS (from Video converters to ROM editor and homebrew creator). A single place to see all existing tools is interesting?

If anyone want to provide helps, it's welcome.
I started to update the page created by unknown user.
http://wiki.gbatemp.net/wiki/3DS_Homebrew

If someone who knows better about homebrew development can check all the mistakes I've written, that would be great :)


edit:
Instead of categories "ARM9 homebrew" and "ARM11 homebrew", which were incorrect, because the Launcher.dat has access to both ARMs, would it be better to use ARM homebrew and LibCTRU homebrew?
or something in relation to the library used to create the homebrew?

I actually was the unknown user, as I didn't bother making a wiki account at the time. As for the ARM9/ARM11 discrepancy, I was referring to their entry points, not their access levels. Just because Launcher.dat homebrew has access to the ARM11 core, doesn't mean it starts there. It starts its execution by taking over the ARM9 security co-processor, and as that processor has full access (When you take over the security core, you can kind of do anything you want, like taking over the Hypervisor on the PS3 or Xbox 360.), you gain the ability to write code into the ARM11's memory and overwrite the registers to create a second ROP chain and take over the ARM11's execution queue. The services are broken in this initial state as the code you overwrite to take over the ARM11 processor is, in fact, part of the kernel itself. Only so much of the RAM is marked as being allowed to be executed from, so you need to place your code there to take it over. Flash cart companies, and Smealum's RedNAND, are possible by using this control to hook the processor and run a patching engine. The patching engine reloads the kernel into memory after disabling the NX bits over the majority of the RAM and allows a clean slate for the firmware to be reloaded under user control. The patching engine disables the security checks through various means found by reverse engineering the kernel, and as a result, the kernel is fully reloaded under, essentially, root access. You can do whatever you like from there on, it's just a matter of wanting to put the time into doing anything extra.

RedNAND, and EmuNAND, are basically just patching all NAND access calls to be redirected to a specified address space located on the internal SD card.

I can't confirm that this information is entirely accurate, as I have not taken the time to do the reverse-engineering myself, but this is the information I have gathered from all the sources I could manage over the months since 3DS hacking became a real viability.
 

Myria

Well-Known Member
Member
Joined
Jul 24, 2014
Messages
464
Trophies
0
Age
42
XP
851
Country
United States
Has the 3DS been pwned strongly enough on 4.x that it is possible to do something like sit around in kernel mode while a game runs? I am interested in messing around with retail games, like making cheats for them and finding hidden things in them. I don't care about piracy; Gateway has that covered, anyway.

I'm a capable reverse engineer, just not at ARM. I only know ARM in Thumb2 mode from reversing Windows RT. I've reversed programs for a bunch of other processors, though. (Most famously, 65816.)
 
  • Like
Reactions: st4rk

gamesquest1

Nabnut
Former Staff
Joined
Sep 23, 2013
Messages
15,153
Trophies
2
XP
12,247
Well the 4.x exploit has kernel access so you can do pretty much anything, there has already been a ram editor, smealum had one in his red nand, and I think the pokemon project people also made one, but so far any developments like that are all kept private and not shared.......so its possible but you will be on yourself for making it
 
  • Like
Reactions: Margen67

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
Gadorach:
Thanks.
I understand what you wanted to do by using ARM9 and 11 to describe the different homebrew type.
Some homebrew using Launcher.dat (ARM9 entry point) has been recompiled as .3ds (ARM11), so they share both format.
If we add these categories back, I guess we just need to put both 9 and 11 on such homebrew page?

If using 9/11 is better than another definition, I'll add them back.


As for the thing I've written on that page, it's correct and useful?
Thanks for helping/fixing grammar, and info about the file size limitation.

For Smealum's Homebrew launcher's developer name, he said he gave the development to someone else to concentrate on the exploit.
I don't remember the name (or if he even told us).

I wanted users to learn and understand how to launch homebrew, so when creating each homebrew page we could redirect to this page to learn how to run it depending on the type (.dat or .3ds)
A single page for explanation, instead of explaining how to run on each wiki page.





Edit:
I'm currently re-reading this thread fully to find all the releases I missed.
Anyone know what "Launcher(HexDump).dat" by ernilos is doing?
It was released without information nor sources.
 

ernilos

Well-Known Member
Member
Joined
Aug 28, 2013
Messages
145
Trophies
0
Location
CAT
XP
280
Country
United States
I'm currently re-reading this thread fully to find all the releases I missed.
Anyone know what "Launcher(HexDump).dat" by ernilos is doing?
It was released without information nor sources.

It simply print's to screen X part of memory, It was nice for reading the REG and see how work's, a friend taked a photoof this for me, here it is:
PIsOe.png

I know bad resolution q.q
 
  • Like
Reactions: Cyan
D

Deleted-346555

Guest
So I have issues again(sorry T_T):
I have some questions: how did the FSUSER_OpenFile work?(what are the attributes & flags, what is the FS_Archive etc...)
And another question: some functions(that aren't inside ctrulib, custom based on 3dbrews infos)requires a pointer for writing stuff to a file like u32 srcpointer and u32 dstpointer, how can I have the poiunter of a file opened w/ ctrulib's FSUSER? (if it is possible can ya write a sample of code explaining the function himself opening a dumy file on sdmc?)

Can ya do the same too for the Read and Write functions? (Sorry but I never really worked onn the 3ds before so... é.è)

Thanks in advance, GovanifY
 

Gadorach

Electronics Engineering Technologist
Member
Joined
Jan 22, 2014
Messages
970
Trophies
0
Location
Canada
XP
956
Country
Canada
@Cyan Here's some information that could serve as a basis for getting started with Homebrew Development. A user on the Wololo forums posted some basic information on homebrew development in ARM11-mode. I don't know if I'll have time to incorporate it into the wiki myself, but if you start it, I'll do what I can to proof it for you and add information as I can. I'm actually in the process of re-learning C++, so I'll be getting started on C shortly after, and be back in business for developing homebrew later on. I'll update the Wiki as I progress through it, but it'll probably be a few months before I get there. In the mean time, we'll have to rely on the community to help get it all sorted. And I'd love it if @st4rk, @Bond697, and @StapleButter had the time to put in their knowledge and experience in coding for the platform into the tutorial. Also @smealum , once the fiasco dies down and he has some free time again. Anyone else with experience that could make valuable contributions are encouraged to contribute as well, as we'll probably need all the help we can get to document everything. We don't want to recreate 3DBrew, we just want to make a comprehensive tutorial on beginning programming for the console. We will probably need a new set of wiki pages for the tutorial(s) though, it shouldn't be on the same page as the basic information page.
 
  • Like
Reactions: st4rk

zakarr

Member
Newcomer
Joined
Aug 17, 2014
Messages
9
Trophies
0
XP
54
Country
United States
This is amazing! All the posts I see from you have been so helpful (like the CHIP-8 port to CTRULIB).

Have you seen the design thread for the homebrew loader Smea is going to release?? There's a popular design by flutoo that is going to be used. It will have a bucket on the bottom screen being filled up with water as part of the intro animation. You should totally see if you could help add your particle engine to the homebrew channel!

Do you come by #3dsdev on EfNet often? We would love to have you there. :)

Cheers!
He hasn't chose a winner yet.
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
thank you for Wololo tutos. I'll try not to copy it.

Do you know what the Homebrew.elf example inside MakeRom gw_homebrew package is doing?
I hope it's not CoinSetter.

I have two .cxi files which are Hello world homebrew, but works only on 3DS dev units.
Is there a way to convert cxi to ctrulib's .3ds?
I guess not, it would require relinking the elf with ctrulib's .ld
 

ernilos

Well-Known Member
Member
Joined
Aug 28, 2013
Messages
145
Trophies
0
Location
CAT
XP
280
Country
United States
thank you for Wololo tutos. I'll try not to copy it.

Do you know what the Homebrew.elf example inside MakeRom gw_homebrew package is doing?
I hope it's not CoinSetter.

I have two .cxi files which are Hello world homebrew, but works only on 3DS dev units.
Is there a way to convert cxi to ctrulib's .3ds?
I guess not, it would require relinking the elf with ctrulib's .ld

CXI stands CTR eXecutable Image it isn't specific for devunits .3ds homebrew also have it, and you can't convert it, that Hello World's must have ninty SDK so you can't delete it and replace with libctru it isn't compatible at all
 

Gadorach

Electronics Engineering Technologist
Member
Joined
Jan 22, 2014
Messages
970
Trophies
0
Location
Canada
XP
956
Country
Canada
thank you for Wololo tutos. I'll try not to copy it.

Do you know what the Homebrew.elf example inside MakeRom gw_homebrew package is doing?
I hope it's not CoinSetter.

I have two .cxi files which are Hello world homebrew, but works only on 3DS dev units.
Is there a way to convert cxi to ctrulib's .3ds?
I guess not, it would require relinking the elf with ctrulib's .ld
I'll build it and test it when I get the chance, but I'm honestly assuming it's just a hello-world.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Bunjolio @ Bunjolio: c