Homebrew Question Starting Homebrew Development

jengablock15

Active Member
OP
Newcomer
Joined
Dec 7, 2016
Messages
42
Trophies
0
Location
somewhere near my school
XP
94
Country
United Kingdom
I've always appreciated the work everyone has put into all that they've done on various consoles that I own and now I feel like I should stop being the basic end-user and start development. I'd just like to know, what language is best to start with in terms of Switch homebrew and where I can start. Thanks in advance!
 
D

Deleted User

Guest
like @Technicmaster0 said, C/C++ is the best place to start. After that, ASM is next for any real development. You wont be writing in Java, python, lua, VB or anything else like that for the switch.
Why would he need assembly for "any real development"? There's sections in libtransistor sure, but if OP is looking to make some basic homebrew for the Switch he's looking at C.

No one besides folks who write firmware, drivers, or work with industrial microcontrollers write in any given architecture's assembly anymore. Sure it helps give the user in question experience at manual stack and register management but in a professional environment there's no reason to expect someone to write in assembly.

Also LUA has been ported to the Switch, can't remember who did it atm. Python isn't as much of a stretch either.

@OP: Start with C, learn data structures and pointers. Go to C++, learn proper OOP basics. At that point it may be worthwhile to look at a higher language like javascript, though C# is great if you want to practice game dev in Unity.
 

Meriadoc

Well-Known Member
Member
Joined
May 14, 2016
Messages
137
Trophies
0
Age
30
XP
243
Country
Italy
Why would he need assembly for "any real development"? There's sections in libtransistor sure, but if OP is looking to make some basic homebrew for the Switch he's looking at C.

No one besides folks who write firmware, drivers, or work with industrial microcontrollers write in any given architecture's assembly anymore. Sure it helps give the user in question experience at manual stack and register management but in a professional environment there's no reason to expect someone to write in assembly.

Also LUA has been ported to the Switch, can't remember who did it atm. Python isn't as much of a stretch either.

@OP: Start with C, learn data structures and pointers. Go to C++, learn proper OOP basics. At that point it may be worthwhile to look at a higher language like javascript, though C# is great if you want to practice game dev in Unity.

Wow so hard ... i was wondering too how to contribute the development for homebrews...but I'm learning python for now and have in program JavaScript and HTML...out of my possibilities to write homebrew for the switch :(
 
Last edited by Meriadoc,

DarkOrb

Well-Known Member
Member
Joined
Oct 11, 2013
Messages
290
Trophies
0
Age
30
XP
795
Country
Germany
Wow so hard ... i was wondering to how to contribute the development f homebrews...but learning python for now and have in program JavaScript and HTML...out of my possibilities to write homebrew for the switch :(

Dude, it could be worse. You know what? Devs who search for Switch exploits actually have to have profound skills in C/C++, Assembly Language, they have to know, how the Tegra SoC works in detail, and they need profound skills in Reverse Engineering. Writing Homebrew for the Switch (with a final SDK) is very easy in comparison. Needless to say, that these guys are geniuses.
 
  • Like
Reactions: Meriadoc

guily6669

GbaTemp is my Drug
Member
Joined
Jun 3, 2013
Messages
1,986
Trophies
0
Age
32
Location
Doomed Island
XP
1,573
Country
United States
To lean I like more VB to understand using M$ visual studio, I learned C++ when I was at computer technician 3 year course that I finished, but my brain is not good for coding :)...

I only used C++ mostly to make a few hacks for games and some uscript hacks for a unreal engine game which someone even got the hands on the official compiler for that game lol (Dev related...), but most I learned from ppl it's so crazy what they can think about it...

Nowadays I forgot almost everything.

Ps: I think assembly will be the king of the hill later on to make game cheats after some CFW and tools to patch memory of the games...
 
D

Deleted User

Guest
To lean I like more VB to understand using M$ visual studio, I learned C++ when I was at computer technician 3 year course that I finished, but my brain is not good for coding :)...

I only used C++ mostly to make a few hacks for games and some uscript hacks for a unreal engine game which someone even got the hands on the official compiler for that game lol (Dev related...), but most I learned from ppl it's so crazy what they can think about it...

Nowadays I forgot almost everything.

Ps: I think assembly will be the king of the hill later on to make game cheats after some CFW and tools to patch memory of the games...
No to your assembly comment. Again, assembly is avoided if at all possible because any memory management needed (a.k.a. writing to arbitrary locations is RAM for game cheats) is handled easily in C or C++ and much easier to deal with.

With full rw you can just deref a pointer set to wherever the fuck you like in memory to view contents or set values. This includes searching memory for structures or patterns applicable to the game or app in question. In assembly this is orders of magnitudes more difficult with the same end result and no tangible benefit.
 
Last edited by ,

blinkzane

Panic at your moms house
Member
Joined
Jul 24, 2012
Messages
944
Trophies
0
Location
Florida
XP
1,625
Country
United States
Learn how pegaswitch works. Build and break down each section of code and learn why each portion of code works and how. Then like someone else was saying, learn python. Python is basic and simple to use, once you understand it, you can pretty much glance at code and see what's wrong with it. go back to previous homebrew applications for the wii u or 3ds and learn what was used to create those apps. break down the apps and learn the code inside of each one (dont re use them without permission). a good start would be porting an app that is already complete over to switch homebrew, this will get you an idea about what you're dealing with. You can also find an app that is already ported, get the original, and compare the two to see what was changed. then try to do it on your own.

and when in doubt, google. You can google almost any sort of code error and someone will probably have asked it. Learn how to code in linux also, it's very useful. open source coding is the best.
 
  • Like
Reactions: jengablock15

guily6669

GbaTemp is my Drug
Member
Joined
Jun 3, 2013
Messages
1,986
Trophies
0
Age
32
Location
Doomed Island
XP
1,573
Country
United States
No to your assembly comment. Again, assembly is avoided if at all possible because any memory management needed (a.k.a. writing to arbitrary locations is RAM for game cheats) is handled easily in C or C++ and much easier to deal with.

With full rw you can just deref a pointer set to wherever the fuck you like in memory to view contents or set values. This includes searching memory for structures or patterns applicable to the game or app in question. In assembly this is orders of magnitudes more difficult with the same end result and no tangible benefit.
On the PSP 4 example I know they used assembly a lot. My friend also used to make cheats 4 ppl only in assembly...

In the PC I find assembly almost as easy as C++ 4 simple things, but off course advanced MP hacks are way better in C++ and call some functions from the game and so on... Or to make an aimbot I have seen some ppl even using trigonometry that we learn at school and use it to calculate the enemy position, but there's thousands of ways to do it...

And anyway the best apps I used on PC were in assembly because some games had protections where I used an app like on BF2 to reset it's protection and then I could debug the game in assembly, but I can't even remember anything now and the propped names since I don't make any cheat for years and years, neither I code anything...

I think it was Olly debugger and maybe Helios debug reseter to be able to attach the debugger in the game, can't remember crap.... Other games needed other custom bypasses to be able to attach memory editors...
 
Last edited by guily6669,
D

Deleted User

Guest
On the PSP 4 example I know they used assembly a lot. My friend also used to make cheats 4 ppl only in assembly...

In the PC I find assembly almost as easy as C++ 4 simple things, but off course advanced MP hacks are way better in C++ and call some functions from the game and so on... Or to make an aimbot I have seen some ppl even using trigonometry that we learn at school and use it to calculate the enemy position, but there's thousands of ways to do it...

And anyway the best apps I used on PC were in assembly because some games had protections where I used an app like on BF2 to reset it's protection and then I could debug the game in assembly, but I can't even remember anything now and the propped names since I don't make any cheat for years and years, neither I code anything...

I think it was Olly debugger and maybe Helios debug reseter to be able to attach the debugger in the game, can't remember crap.... Other games needed other custom bypasses to be able to attach memory editors...
You realize as a developer by profession I can tell you have no idea what you're talking about right?

I programmed on the PSP in highschool. The initial leaked toolchain and devkitpro used were in C. And "debugging" games for cheats isn't debugging assembly. What you're probably thinking of is a hex editor or setting watches in memory for specific values and filtering based on changes to get the address you want (think gameshark code searches).
 
Last edited by ,

yardie

Banned!
Banned
Joined
Mar 27, 2016
Messages
1,334
Trophies
1
XP
1,546
Country
United States
You realize as a developer by profession I can tell you have no idea what you're talking about right?

I programmed on the PSP in highschool. The initial leaked toolchain and devkitpro used were in C. And "debugging" games for cheats isn't debugging assembly. What you're probably thinking of is a hex editor or setting watches in memory for specific values and filtering based on changes to get the address you want (think gameshark code searches).
if youre a developer by profession why dont you contribute to the scene lol
 
D

Deleted User

Guest
if youre a developer by profession why dont you contribute to the scene lol
I do. I'm in the discord under a separate name, this is an account I've had on here for a while and don't want the two combined. Daeken and a few others have noticed that I'm on here and know I'm also in discord, but aren't sure who I am on there. I like it that way. I like to keep degrees of separation, it's an odd compulsion I've always had (among the many others)

That being besides the point, I've contributed to the PSP scene, and 3DS scene, and know a bunch of the guys from this one, one personally. I've put in a couple PRs for libtransistor now. I have vacation in 2 weeks, when I'll probably finish up a bochs port I started the other night.

See, when you have a full-time job, a wife, and various other responsibilites, it saps at your ability to make free software for people who assert ignorant opinions about skills they don't have.

Now, how do you contribute may I ask?
 

yardie

Banned!
Banned
Joined
Mar 27, 2016
Messages
1,334
Trophies
1
XP
1,546
Country
United States
I do. I'm in the discord under a separate name, this is an account I've had on here for a while and don't want the two combined. Daeken and a few others have noticed that I'm on here and know I'm also in discord, but aren't sure who I am on there. I like it that way. I like to keep degrees of separation, it's an odd compulsion I've always had (among the many others)

That being besides the point, I've contributed to the PSP scene, and 3DS scene, and know a bunch of the guys from this one, one personally. I've put in a couple PRs for libtransistor now. I have vacation in 2 weeks, when I'll probably finish up a bochs port I started the other night.

See, when you have a full-time job, a wife, and various other responsibilites, it saps at your ability to make free software for people who assert ignorant opinions about skills they don't have.

Now, how do you contribute may I ask?
i do
dont have time to write an essay to you
 
D

Deleted User

Guest
Opinion? I asked you a question. Nowhere did I state an opinion to you.
Almost like I've seen your other whiney opinions here and was commenting on your whiney opinionS. And it's kind of like I was assessing your overall contribution rather than a singular post, since when talking about contributions, it's a summary of work and not one event. Context is hard though, I understand.
 

You may also like...

General chit-chat
Help Users
  • No one is chatting at the moment.
    M4x1mumReZ @ M4x1mumReZ: @FAST6191, Rats, rats, we are the rats.