Required:

The launcher exe - Duh.  Can't launch diddly-squat without this.
Folders with system names on them - There's a dir.txt inside the demo for Sega Genesis.  You can have as many folders as you want, but each MUST be for a game system.  Name them whatever you wish as well.
Configurations that match the name of the system - For every system folder, you need a configuration file with the same name (so the folder Genesis gets Genesis.ini, NES gets NES.ini, Arcade gets Arcade.ini, etc.).  Read config.txt for more information about how the configurations get set up.


Optional:

Nada.  Theres nothing optional that goes here for now.  Deal.




Notes as of V2:

Several new options were added in for emulator configuration files (such as the demonstration file Sega Genesis.ini).

In short, these new options allow you to change the color of the ribbon used during system and game selection (games inheret the color of their parent system), as well as what is actually displayed on the ribbon (can be useful on occasion - windows won't let you put some characters in a folder name, so you can over-ride it and force it to display the correct name).

These options are contained in a subsection in the ini file called "[launcher]".  These options are listed below:

r=
b=
g=

The above are used to set the RGB values for the ribbon - for instance, an all black ribbon is r=0, b=0, g=0.  Using Paint or some other image editor can usually give you these values.  Should any one of the three be missing, it is assumed to be 0 (setting r=255 but nothing else would essentially become r=255,g=0,b=0).  If none are specified, it defaults to the color used in V1, which is royal blue (r=0,g=0,b=255).

display=

The above is used to change the display name used for the system WITHOUT changing the folder windows uses to find the system.  For instance, the folder for MAME might be named Arcade, but if display=M.A.M.E., the ribbon will display M.A.M.E., but still look in the correct folder when actually navigating around.

text_color_r=
text_color_g=
text_color_b=

The above are used to change the RGB values for the TEXT on the ribbon, and work identical to r=, b=, and g=.  If one isn't specified, it defaults to zero - if none of these are specified, it defaults to white.


See Sega Genesis.ini to see how these actually work together.