Dolphin, the GameCube and Wii emulator - Forums

Full Version: Want to get involved
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2

Vinnybod

I really want to get involved in the development of Dolphin (and other emulators possibly), but I'm not sure where to start in the learning process. I am going to school for software engineering (2nd year atm). I know basics of C++ and a bit more in Java. What else should I try learning (even on my own time) in order to truly understand what is going on in the inter workings of an emulator? I see all the progress the Dolphin team is making, and I get so excited reading the monthly progress reports. I really want to contribute.
Jump in and start helping then!
Checkout Dolphin's github repo here: https://github.com/dolphin-emu/dolphin

Also hook up with the devs in Dolphin IRC channel: irc.freenode.net -> #dolphin-dev

Good luck!
Quote:Jump in and start helping then!
Yeah its a check out system, so it wont hurt to mess stuff up on your end ( just don't check it back in Big Grin) Sometimes just getting a project complied can be a nightmare. With Dolphin remember you will be developing software more or less, the emulation stuff has momentum. If you want to learn about emulators, give one a try on your own. There is no schooling that will prepare you for that other then some basic knowledge of ASM and dealing with registers. Personally I'd suggest learning to write to a PIC or AVR chip, nothing major just get your feet wet. Get the idea of bit logic down well, endianness, working with a shift register , and writing a hello world in assembly. It helps to know how stuff works if you wan't to emulate it.
You don't need to be able to write or even understand in order to contribute to Dolphin's code. There's a lot of stuff that can be done without asm knowledge. Well, you should at least know what asm is, and how it works in general, even if you can't read 1 line asm.

And compiling Dolphin on Windows for Windows is pretty easy, it just requires Visual Studio and GIT. There's a tutorial:
https://github.com/dolphin-emu/dolphin/w...or-Windows
(The part about GIT in cmd is apparently important though, even if you clone the GIT repository with another tool. I don't know why)

For everything else there's the irc channel.

Vinnybod

Thanks for all the feedback! I've been looking through Dophin's code a bit and will look into ASM! I am taking a class on assembly language soon and have a fair understanding of logic and discrete mathematics. Mimimi, what kind of things could be done without much asm knowledge??
Isn't there a branch where Dolphin's being ported from WX Widgets to Qt? That's busy work that no-one wants to actually do, but could be helpful and doesn't really require any knowledge of much. However, I doubt it'll be that interesting to work on.
Its being worked on an every now and then ported to master.
(11-19-2014, 08:06 AM)Vinnybod Wrote: [ -> ]Thanks for all the feedback! I've been looking through Dophin's code a bit and will look into ASM! I am taking a class on assembly language soon and have a fair understanding of logic and discrete mathematics. Mimimi, what kind of things could be done without much asm knowledge??

Well, depending on your area of interest in contributing to Dolphin, assembly may be totally irrelevant. For this discussion, we should probably clarify which assemblies we are talking about as well. The GC and Wii run on the PPC architecture, so if you want to get involved with Dolphin's emulation of the CPU, you'd naturally have to be familiar with PPC assembly. If you're interested in working on the JIT recompilers, you'd additionally need to know the assembly of the target platform (x64 and ARM in Dolphin's case, AArch64 too??), but if you don't want to help in those domains, I would not focus on learning assembly of any sort, unless you're curious.

There are plenty sections of code that don't even touch assembly. Interested in emulating the Flipper GPU? How about the DSP? Want to work on input? Memory management? General bug-hunting? Interface improvement? Code-cleanup and documentation? That's just stuff off the top of my head. I've worked on a couple of emulators, and they've always been large projects with lots to do. Find a place that interests you, then go at it. Ask questions, learn what you can, then keep working at it until you make something better, faster, or compatible. Then in no time you'll be a super-cool Dolphin dev Cool

Vinnybod

Having the "super cool Dolphin dev" title is definitely the ultimate goalSmile Honestly the busy work would be a great place for me to start and any type of work would be rewarding to me. It'll be my first open source project to contribute to and like I said, I would love to be involved in any way. It's so intimidating Tongue the biggest piece of code I've ever worked on couldn't have been bigger than 1000 lines!
Pages: 1 2