Dolphin, the GameCube and Wii emulator - Forums

Full Version: Core overview for a newcomer
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi All,

I'm a developer who has taken a recent interest in emulation in general and the Gamecube in particular. Been reading del Barrio's "Study of the techniques for emulation programming" (aka emuprog.pdf), and have spent hours reading about Gekko, Flipper, POWER, ISA's and computer architecture in general. Very interesting stuff and I can't get enough of it!

I would love to sink my teeth into Dolphin's source code & start contributing, but there are many features that aren't immediately relevant to someone unacquainted with the Core: UI, configuration, movie recording, multiple graphics & sound libraries, etc. Personally, I can imagine a great project to introduce a beginner would be something minimalist, like a combination gamepad calibration + sound check. If I had the knowledge of Dolphin's Core, I would love to build this as a stand-alone:

(1) Show a diagram of a GC/Wii controller on the left, and a diagram of the various emulated components of the Core on the right.
(2) The user presses a button on their physical controller, and arrows light up on the diagrams, reflecting the registered button press, flow of data across buses, and emulated registers/memory.
(3) Eventually the corresponding button on the left diagram changes color, and a sound is produced from the speakers.

This might be a good way to get acquainted with some of the architecture, data buses, registers, and memory, without having to get fully into a specific game or 3d graphics. It would make event-logging concise & give break-points in the code a very clear meaning.

The above idea is just a pitch for something that might be beneficial for future new developers, before being exposed to the development branch.

To those who are interested in guiding a new person (me) get acquainted with the source code, I'll end with two questions. First: does the above pitch sound useful if someone (also me) put the hours into it? I feel like I could accomplish it with a little bit of hand-holding/exposition at the beginning. And second: are there other ways you can think of to get acquainted with the source code? E.g. "Go build a Gameboy emulator; then come back & Dolphin's Core will seem much clearer!"

Thanks very much,
-BlizzardToaBreeze
Hi BlizzardToaBreeze,

First of all, come to irc: #dolphin-emu on freenode. All devs are there and you will get feedback much faster.

We do have a simple input display, it is just a string displayed on osd:
http://code.google.com/p/dolphin-emu/sou...ie.cpp#108
#dolphin-emu is the correct channel. silly misspelling
Roger that, thanks for the info. You'll probably see me there lurking for a while as I soak it all in.
I've seen you in my logs yesterday. So just also say hello :-)