Adding new emulators can be a very easy thing or a very hard thing depending upon how the emulator functions. For this example we are going to assume that the emulator is command-line based and conforms to mame style syntax. (emulator.exe romname -command line option) If the emulator you want to use does not conform to this, then you'll need to also look at the wrappers example here.
The first thing you'll need to do is add the emulators games to the game list. Please go here and follow the instructions and come back to this example when your finished.
Go to your "cfgs" folder and copy your template.cfg file and rename it to match the emulator name that you discovered when making the game list. In this example we are going to use the Daphne emulator as an example as it uses all of the features covered.
So when we open our new cfg file we have a template that looks like this:
send rom path=1
send exit keys=0
command line options;
The first thing you'll notice is the extension option. In 99% of the emus out there you want Lazarus to search for .zip files when it looks for roms. Daphne, however uses uncompressed rom images so that won't work. I've found that the easiest way to do this is to name Daphne's frame files to match the zipped rom's names and search for them. So we will change the .zip entry to a .txt. (default frame file extension) The next is the path and the exe those are pretty self-explanatory. If you are using one of my wrappers please note that you should point to the wrapper and not the exe it "wraps". Daphne does not need to know the full path to the rom so we'll set that to 0. We aren't using a wrapper so exit keys should be turned off too. Send exit keys sends my wrappers the exit key you have defined in Lazarus and the exit joystick button. This way the wrapper knows to exit when you press that key. Command line options are any misc options that need passed to a emulator. In the case of Daphne we have to tell it we are using a "virtual laser disc player" and point it to a frame file. Since each frame file is different we need a way to tell Daphne when to use what frame file. Luckily I've programmed Lazarus with this in mind. Lazarus will take the "%" sign and convert it to the rom name of the game you are launching. Since we already named our frame files to match the rom names our problem is solved. We will also need to send other options for the best configuration, but they don't apply to this tutorial so just ignore them.
So by now we should have a configuration file that looks like this:
send rom path=0
send exit keys=0
command line options; vldp -fullscreen -framefile %.txt -x 1024 -y 768 -nohwaccel
Notice how we used the "%" to define the frame file name? It's really that simple. Ok your done, it's that simple! Be sure to create a new "virtual directory" in your lazaurs.ini if you are sorting your games by emulator. In this case the filter entry would be "5=Daphne." Advanced filter setups can be found here.