"Good" Front End
What is "Good" Front End?
Good Front End is my attempt to contribute to the emulation scene by providing a front end
that achieves two things:
- It can support a large customizable number of emulators, while at the same time being
brain dead simple to use. You don't need to spend an hour learning how to configure this
front end, it takes less than a minute to have an emulator up and running.
- It was primarily designed to support the users of the Good Tool utilities, such as
GoodSNES, who like to sort their roms in to directories. This front end provides a fast
single click interface in order to navigate the directories and sub directories that the
Good Tools or anyone else might establish.
So what makes you think it's so good?
You mean besides the fact that I made it, and I designed it specifically for my needs?
As I mention before, the word good is in the name because it's designed to support directory
sorted Good Tools rom sets. As for whether you think it's good or not, I hope that you enjoy
it, and constructive criticism is welcome.
OK, so how do I use it?
Well, there are three sections to using this front end.
- Using the front end to launch a game
- Setting up the front end to play games from within the front end
- Optionally setting up the front end to play games by editing the INI files
Let's start with using the front end to launch a game. Assuming that you have an emulator
already set up, this involves 5 simple steps.
- There are four category buttons at the top of the front end, labeled Classic, Console,
Handheld, and Computer. Click the button that corresponds to the system you would like to
emulate.
- The system selection box will now populate with the systems that belong to your chosen
category. Now click on the system you would like to emulate, scrolling up or down if necessary.
- Next, the directory box below will fill up with the subdirectories in your rom directory.
Click on the directory that contains the rom you're interested in playing.
- This should fill up the large file list box on the right. The roms are sorted in alphabetical
order, so you have a couple of choice in order to find your game. You can simply scroll up or
down until you find it, or you can begin typing the name of the game (provided the focus is on
the file window), or you can use the search option.
- In order to use the search option, first choose whether you want to search for files that include
your search criteria, or filter out files that include the criteria. Clicking on the search button
toggles between "Search For" and "Filter Out". Then type in any part of the name of the game you are
looking to search for or filter out and click the apply button. To remove the search filter, be sure
to click unapply before continuing.
- Once you've found the game you'd like to play, you can either double click on the name, press
return, or click on the "Play!" button, and you're off.
That's pretty easy, but I bet setting it all up is a chore...
Not at all. Like I said, you have two options, both equally easy. You can edit the setup from
within the frontend, or edit the INI files directly. If you'd like to do it from with in the
front end, simply click the Setup button. You may also right click on a system in the system selection
box, and choose "Setup System" In the window that opens, you have a few fields to
fill out and you'll be ready to go.
- Company Name and System Description: I like to use these as in "Atari" and "2600" or "Nintendo" and
"SNES", but you can feel free to use it any way you like. It's merely the description that the system select box uses.
- ROM Directory: You must point to the path where your roms are stored. For directories
that have many subdirectories, this must point to the root. You can type it in manually, or you
can click on the browse button to the right, and select your directory.
- Emulation Executable: This must point to the program you use to emulate the given system.
And again, you can manually enter the path and filename, or use the browse button to find it and
select it.
- Command Line Parameters: If your emulator needs particular command line parameters, you can enter them here. For
example, in order for MESS to emulate the Atari 7800, I must use the "a7800" and "-cart" parameters
in the command line, so I will enter "a7800 -cart" in this field.
IMPORTANT: Some emulators wants the command line parameters BEFORE the rom name (e.g. MESS),
but some want them AFTER the rom name, such as Kega Fusion. If your emulator wants them AFTER, please
check the "Apply Command Line Argument after Rom Filename" box.
- Snapshot A and B Directory: You can specify up to two directories which contain screen shots of your games.
They can be for any purpose, it's up to you. One suggestion is for title screens and in-game shots. The way they work
is as follows:
Say you have some games called "Chess (U).zip", "Chess (U)[a1].zip", "Chess (J).zip", and "Chess (J)[h].zip". And let's say
you highlight "Chess (U)[a1].zip". First, it will look in the directory or directories that you specified for any snapshot
called "Chess (U)[a1].*" where * can be BMP, JPG, GIF, or PNG. If it fails to find a file with that name, it will strip
the name of all ()s and []s, and simply search for "Chess.*" If you have a snapshot named this way, it is good for all
four versions of the Chess game.
The idea behind this is if you have 100 roms, but only 30 unique games, you really only need 30 snapshots. If you do not
have any valid snapshot for a particular game, you MUST have a PNG file named NOSHOT.PNG in the same directory as the
goodfe frontend, although you may change it to any picture you like.
- Default Snapshot: If you choose to enable snapshots (which you can control through the Config window), and you
don't specify one or two snapshot directories, the frontend will display this default snapshot in place of whichever
snapshot directory is empty. You can use this as a picture of the system that you've selected if you like.
- Display Icon: You may also select a customized icon to display for each particular system or emulator. If
you have a specific icon selected, it will show up in the window. You may select or change the
icon by clicking on the "Browse for icon" button. If you do not have a particular icon selected for
a system, the front end will use the DEFAULT.ICO icon that comes with the front end. You may change
this to any icon you like, but it must be called DEFAULT.ICO and it must be present or
the front end may crash.
- Last, but certainly not least, you need to decide if the entry you are about to save is simply
an edit on the system that was selected when you clicked "Setup," or if this is an entirely new
system you wish to add to the currently selected category. If you only edited the current system,
leave the "Edit Current Entry" radio button clicked. But if this is a brand new system that you
wish to add to the current category, click the "Save as New Entry" button.
In addition to choosing "System Setup" in the context menu, you may also right click on a system to move its
position in the list up or down, or delete the system entirely. If you want to delete the system, you will be
prompted to confirm that you would like to delete the system before the front end will remove it.
That's not to painful. Why would I want to edit the INI files?
They are also very straightforward and easy to adjust if you prefer text editing to pointing and clicking.
An example of a single entry looks as follows:
NAME = Sega
DESC = Genesis
ROMDIR = C:\emus\console\Sega Genesis\GenRen\
EMU = C:\emus\console\Sega Genesis\Kega\Fusion.exe
COMMAND LINE = @-full screen
ICON = C:\Scott\Icons\System\Genesis3.ico
SNAPADIR =
SNAPBDIR =
SNAPSHOT =
Everything here is pretty self explanatory if you read the descriptions of each field above. There
is only one feature of the entry that is not obvious. Please note the command line field starts
with a @. This is the symbol to the front end that this parameter must go after the rom name.
If there is no @ symbol, the parameters will be positioned before the rom name.
Also please note that the spacing around the = sign is very important and must be present. And there
must be one entry in each INI file, even if it's blank, or the front end may crash. Beyond
that, there are very few other rules.
What's the Config button for?
It's pretty straight forward. Let's take a look:
There's just a few small options that you can set in the frontend. The
option that
stands out the most is the Snapshots Position box. Here you can select
where you would like the snapshots
to be displayed, relative to the file list, or if you would like them
to be displayed at all. By choosing
"No Snapshots" you won't see them even if you set a snapshot directory
or default snapshot for any system.
By checking the "Remember Window Size" box, when you close the front
end and start it back up, it will
open up with the same dimensions as when you closed it. The only thing
it won't remember is if you maximized
the window. I may find a solution to this down the line. If you check
the "Remember Last
System Selected" box, the front end will open up with the last system
you had selected when you closed the
frontend. Otherwise, it will always open up to the first system under
the classic catagory. If you click Set Font, you can change the font
for the main rom list. You can alter the font, size, and color
(Bold, Underline, or Italics are ignored.) And that's it.
Can I use this front end for arcade emus?
I thought long and hard about that, but because I don't do anything other than grab the file names
from each directory, I felt this front end would not be suitable for arcade emus, which typically
use the 8.3 filename convention, and therefore do not have descriptive names for each game. There
are plenty of great arcade front ends out there. I wanted to provide more support for non-arcade
emulation.
Dude, this runs pretty slow when I click on a large directory...
In the 2006 release, I did what I could to speed things up a bit.
Unfortunately, to build the folder list in the lower left corner,
I need to traverse the entire directory, including subfolders, so for
large directories, that can take a long time. The only thing I
can recommend is that if your computer
is slow, break the directories up. Sorry... Windows MFC isn't known for
speed.