Hacking Advice for homebrew creation

dmaster752

Member
OP
Newcomer
Joined
Nov 2, 2011
Messages
11
Trophies
0
XP
145
Country
United States
I've been in the scene for a long time now and have decided I want to help out the community. I'm taking some courses soon and what I want to know is what do you guys suggest I learn to really help out the most. I see talks of python and c++ and other things so I'm not really sure what I should go for first. Which one will help me more when it comes down to creating? I'm obviously not going to be much help in the beginning since im fairly new to it all but I wanna start taking my first steps. Any and all help is appreciated thanks!
 
Joined
Apr 19, 2015
Messages
1,023
Trophies
1
Location
Stuck in the PowerPC
Website
heyquark.com
XP
3,915
Country
Australia
It depends on what you want to be programming. I develop homebrews that actually run on the Wii U hardware, but others do remote game modding and write up communication tools. The latter you can really do in any language you like (most pick Python) but if you want your code running on the Wii U you have three choices - C, C++ and PowerPC Assembly.
Nobody likes Assembly (for... some reason) so you'll probably end up doing most of your work in C or C++. You can learn whichever you'd like - C++ is more focused around classes and is a more high-level language (sort of like Java) while C is much closer to the metal. In practice, you'll need to be comfortable with both but they're basically the same anyway. If you're taking a course I'd recommend C++ since it'll teach you the basics of C, however you will need to know about pointers and memory on a far lower-level scale than I'd imagine a C++ course would teach (no idea though, never really done one.) Of course, you can teach this to yourself later if you wish.
As for which language is used in reality, I find a lot of stuff is in C++ because of a set of libraries written up by Dimok that make using some of the Wii U's more powerful features within reach for the rest of us. These libraries are written in C++ and it's generally easier to write your program to match. That's only if you want to use those libraries, however; C is perfectly sufficient if you're willing to get your hands (and computer) dirty in the Nintendo libraries.
Personally I've always liked C and try to write as much of it as I can. This is mainly because it's closer to what the Wii U is actually doing than C++. With a bit of work, I could probably translate one of my C programs into machine code: Each of its concepts are reasonable to map to what's going on in the hardware. On the other hand, I'd have no hope of doing this for C++. On a system that likes to crash as much as the Wii U, that's a big thing for me.

To sum up: C and C++ are pretty much interchangeable. C++ is more feature-packed and has good support from the community, but C is easier to debug and (to me, at least) is a lot more logical in the way it translates onto the hardware, even if that means writing code that's a bit more crazy. It's up to you to figure out which is best for you: both would be useful to the community.

Also worth noting that C++ is more likely to get you a paying job if the Wii U doesn't work out.

As I mentioned before, if you're not planning on making homebrew that runs on the hardware, you have free rein over what language you pick.
 

dmaster752

Member
OP
Newcomer
Joined
Nov 2, 2011
Messages
11
Trophies
0
XP
145
Country
United States
Thanks for the advice I really appreciate it. My main goal is creating things that run on the hardware so I guess C++ is the way to go. I have several courses already lined up but I figured I'd ask around before anything is set in stone. They have courses for C++, C#, SQL, Java, Python so I wasnt even sure where to begin. Though they did specify that for my C++ course that no previous programming experience is necessary so I hope I'll be fine.
 

brienj

Trying to avoid getting cancer
Member
Joined
Jan 3, 2016
Messages
1,232
Trophies
0
Website
twitter.com
XP
2,142
Country
United States
Thanks for the advice I really appreciate it. My main goal is creating things that run on the hardware so I guess C++ is the way to go. I have several courses already lined up but I figured I'd ask around before anything is set in stone. They have courses for C++, C#, SQL, Java, Python so I wasnt even sure where to begin. Though they did specify that for my C++ course that no previous programming experience is necessary so I hope I'll be fine.
Welcome to the club.

My gacubeboy emulator inspired you, didn't it? :D
 
D

Deleted User

Guest
If you can wait until the weekend, when I have access to my console and a little free time, I might release an example showing background colours and basic sprite rendering in GX2 (because that's all I've figured out so far). It may provide useful to people looking to create basic homebrew for the Wii U.
 
  • Like
Reactions: vgmoose
Joined
Apr 19, 2015
Messages
1,023
Trophies
1
Location
Stuck in the PowerPC
Website
heyquark.com
XP
3,915
Country
Australia
If you can wait until the weekend, when I have access to my console and a little free time, I might release an example showing background colours and basic sprite rendering in GX2 (because that's all I've figured out so far). It may provide useful to people looking to create basic homebrew for the Wii U.
Using Dimok's stuff or under raw GX2? I'd be really interested in this.
 

shinyquagsire23

SALT/Sm4sh Leak Guy
Member
Joined
Nov 18, 2012
Messages
1,977
Trophies
2
Age
26
Location
Las Vegas
XP
3,765
Country
United States
If you can wait until the weekend, when I have access to my console and a little free time, I might release an example showing background colours and basic sprite rendering in GX2 (because that's all I've figured out so far). It may provide useful to people looking to create basic homebrew for the Wii U.
I wouldn't mind this personally, all the GX2 homebrew I've seen has a ton of overhead, something which just renders a textured sprite would be nice.
 
  • Like
Reactions: Deleted User
D

Deleted User

Guest
Using Dimok's stuff or under raw GX2? I'd be really interested in this.
When you say "Using @dimok's stuff" I assume you mean using his C++ setup involving Application.cpp, threading and having every single GUI element inside a separate class (such as that used in HBL, Loadiine GX2 and HBAS). If that's the case, no, I'm using raw GX2, just like the coloured cube example. :P
 
Joined
Apr 19, 2015
Messages
1,023
Trophies
1
Location
Stuck in the PowerPC
Website
heyquark.com
XP
3,915
Country
Australia
When you say "Using @dimok's stuff" I assume you mean using his C++ setup involving Application.cpp, threading and having every single GUI element inside a separate class (such as that used in HBL, Loadiine GX2 and HBAS). If that's the case, no, I'm using raw GX2, just like the coloured cube example. :P
Awesome stuff! Can't wait.
 
  • Like
Reactions: Deleted User

dmaster752

Member
OP
Newcomer
Joined
Nov 2, 2011
Messages
11
Trophies
0
XP
145
Country
United States
Personally my goal is to create certain apps that I don't really see any interest in. Mainly I'd love to create a media player because I loved WiiMC back then but half my files couldn't play on the Wii cause they were HD so I'd love to make a new one or even a port for Wii U. A couple emulators here or there would be nice as well
 
  • Like
Reactions: QuarkTheAwesome

brienj

Trying to avoid getting cancer
Member
Joined
Jan 3, 2016
Messages
1,232
Trophies
0
Website
twitter.com
XP
2,142
Country
United States
When you say "Using @dimok's stuff" I assume you mean using his C++ setup involving Application.cpp, threading and having every single GUI element inside a separate class (such as that used in HBL, Loadiine GX2 and HBAS). If that's the case, no, I'm using raw GX2, just like the coloured cube example. :P
That's the beauty of his Classes though, you can use as much or as little as needed, or even modify it for your own use. For a project involving just a straight screenbuffer to render though, it does have a lot of extra overhead.
 

Swiftloke

Hwaaaa!
Member
Joined
Jan 26, 2015
Messages
1,772
Trophies
1
Location
Nowhere
XP
1,508
Country
United States
I'm learning C++, and I'm still very much a noob: working on Win32 console apps and I'm just about to start with conditional statements. Any advice? I intend to eventually work on 3DS homebrew.
 
  • Like
Reactions: QuarkTheAwesome
Joined
Apr 19, 2015
Messages
1,023
Trophies
1
Location
Stuck in the PowerPC
Website
heyquark.com
XP
3,915
Country
Australia
I'm learning C++, and I'm still very much a noob: working on Win32 console apps and I'm just about to start with conditional statements. Any advice? I intend to eventually work on 3DS homebrew.
Get yourself really comfy with Win32 stuff since it's a safe environment with debuggers and whatnot. When I say "comfy" I mean that your understanding of what's happening needs to be good since the APIs and methods available are vastly different (not sure about 3DS (how's devKitARM's standard libraries?) but at least for Wii U). You might not have a strcmp (just an example, don't worry, there is strcmp) but if you understand how strings are stored and how the memory is arranged you could write your own fairly easily. Learning by rote (this-does-this-and-this-does-this-and-this-is-how-you-do-this) won't help you here, you need to know the how and the why.
 
  • Like
Reactions: Deleted User

Swiftloke

Hwaaaa!
Member
Joined
Jan 26, 2015
Messages
1,772
Trophies
1
Location
Nowhere
XP
1,508
Country
United States
Get yourself really comfy with Win32 stuff since it's a safe environment with debuggers and whatnot. When I say "comfy" I mean that your understanding of what's happening needs to be good since the APIs and methods available are vastly different (not sure about 3DS (how's devKitARM's standard libraries?) but at least for Wii U). You might not have a strcmp (just an example, don't worry, there is strcmp) but if you understand how strings are stored and how the memory is arranged you could write your own fairly easily. Learning by rote (this-does-this-and-this-does-this-and-this-is-how-you-do-this) won't help you here, you need to know the how and the why.
I just realized reading this I should finish my Win32 course before I ask about homebrew xD
 
  • Like
Reactions: Deleted User

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Bunjolio @ Bunjolio: