WIMP-GUI-based installer, configuration tool, and launcher for emulators and retroArch. v0.99.0.1
please leave a comment with your suggestions
After initial configuration, skeletonKey should be restarted to enable drag'n drop functionality. The skeletonKey desktop icon can also be used to quickly drag & drop a ROM to play.
Each skeletonKey option has a tool-tip when the mouse hovers above it. Operational feedback appears in the statusbar at the bottom of the window.
After skeletonKey is installed, the user is prompted to either locate the retroArch.exe program or a directory into which it can be installed, however RetroArch is not required for many of skeletonKey's features.
By default, ROMs are stored in the
[SYSTEM NAME] folder. This can be relocated using the options tab in the Locations group in the
directory dropdown labeled "core_assets_directory". Archive.org ROMs will be downloaded to the corresponding system
Each system is pre-assigned a retroArch core with which to associate ROMs. This association defines how skeletonKey will automatically launch ROMs. These core-to-system assocations can be changed to other cores or standalone emulators.
Skeletonkey can be run from a thumbdrive or other portable drive.
Many users may desire to transfer an existing skeletonkey installation to a portable drive and the portable utility should facilitate the conifiguration migration. Migration options for the portable utility include localization of items to the drive for playlists and simple search & replace. Retroarch and skletonKey's other emulators' per-game settings are updated to reflect the new portable skeletonKey location.
If you already have skeletonKey and retroArch intalled, copy the folders to your portable drive and run the Portable.bat in the skeletonKey folder on the portable drive.
The portable.bat file should be run from the portable device when first starting skeletonKey from a portable drive on a new computer or if the drive letter of the portable device has changed.
RetroArch and components can be installed indivdually. The "RetroArch" list item includes all components. The most recent nightly build as well as the stable version are available.
RetroArch does not come pre-installed with emulator cores. Cores can also be updated and installed individually.
Drag & Drop BIOS files or a BIOS pack (.7z .zip .rar) to automatically install them to their proper places in retroArch's system directory.
Standalone Emulator radio button exposes ROM directory options. The Components and Cores
listbox will populate with many systems. Selecting a system will enable users to press the
SET button to set the ROM directory for that system. A junction folder will be mirrored in
the core_assets_directory (defaults to
..\retroArch\downloads) with the name of the system. These folders will populate with files in the Options
tab, the Archive tab and the Netplay tab.
SkeletonKey can install emulators for many systems:
Each system has a pre-defined default core assigned to it.
These systems are defined by file extensions exclusive to the system. (eg: ONLY the Nintendo Entertainment System uses .nes)
The system's core can be changed to any core or optionally, a standalone emulator executable. A nickname is used to identify the system for different systems using the same emulator.
Extensions which are shared by multiple systems (e.g: MANY systems support .bin) can be assigned to any core or emulator. 4 sets of extensions are available.
Options, arguments, quotes, rompaths and the extension can be adjusted to suit an emulator's needs.
[EMUPATH] will be parsed in the options and arguments to specify the ROM's path or emulaor path respecively.
The executing command output will update in realtime to refletct the options and settings. Be aware that skeletonKey respects
" spaces " for these and the output should be referenced against your emulator's documentation.
[CUSTMOPT] [CUSTMARG]are special tags designed for use with custom options assigned at runtime. These custom
tags can be harnessed by eneabling the "switches" checkbox. many MAME systems and several supported emulators
options and argumnts are available as presets for custom options & arguments. Special tags and switches are only enabled
for emulator applications and not retroArch cores.
SkeletonKey can retain emulator settings for each game (configuration files, save-states, battery-saves/nvram) under supported emulators. Any changes that are made during gameplay will be saved.
SkeletonKey copies and moves these configuration files back and forth between the emulator's folder and the per-game
configuration folder before and after the emulator runs.
Configuration files are stored inside a folder of the ROM's name. A folder for each system can be located in the skeletonKey installation folder under the "cfg" directory. EG:
..\skeletonKey\cfg\Nintendo - Game Boy Advance\vbam\The Minish Cap\vbam.ini
ROMs dropped to the desktop icon which are not identified as belonging exclusively to a core/emulator will bring up a menu allowing users to quickly select a core/emulaor.
Options are categorized by type. RetroArch has a robust feature set and many settings.
Up to 16 Joysticks are supported (through multiaps). Each core can also have input_remaps.
Drag and Drop ROMs to dynamically add files to playlists.
Each playlist is unique to the frontend it is created for, however retroArch playlist files can be loaded to export to other frontends.
A template config file can be specified for the retroArch's per-game configuration files, otherwise current skeletonKey settings are used. Opening a retroArch playlist (.lpl) will allow users to delete items quickly.
Archive.org's ROM libraries can be launched and hosted via this tab.
The Frontends tab contains configuration options for many different cabinet and couch-gaming frontends.
SkeletonKey has a repository of photographic icons, full-HD images and large logos for 100 systems and can also "scrape" artwork from a multitude of hosts for ROM-Jackets.to bring life to any frontend.
XMB is retroArch's premiere GUI with thumnail support.
Using skeletonKey users can easily see which thumnails have been downloaded and copy any image to match the names corresponding to the unmatched ROMs .
Configure Cores and create core-configuration overrides.
It is recommended for users to create playlists containing all ROMs on their computer that they wish to play online. Selecting "All_Playlists" from the drop-down menu will allow skeletonKey to find a matching hash or ROM name from all of your playlists.
In the options tab, settings such as delay-frames, port number and file-server port can be adjusted.
Enabling the file-server will compress the ROM in zip format and copy it to the coreassets\netplay directory prior to
hosting. (if it isn't already zip-compressed.)
In the Archive tab, users can select any ROM from the archive to host.
SkeletonKey hosts with the file-server option enabled wll appear with the port number in brackets prefixed to their username. This tag is automatically detected by skeletonKey clients which will enable the "Recieve ROM" option to download the file from the host to play automatically.
In the Netplay Tab, refreshing the hosts will populate the lobby with currently hosted ROMs. Selecting a host will allow skeletonKey to look in the currently selected ROM directory or playlist file for a matching ROM. If a matching CRC hash to the host's ROM file is not automatically detected, skeletonKey will try to match the name of the ROM's title. Users may opt to force a connection to a host using any ROM populated in the ROM list or browse to select a ROM. If the ROM is not located in the current local setup, users may opt to select a ROM from the Archve tab whereupon the ROM will be downloaded and a connection to the host will be initiated.
ROM-Jackets are folders which contain a ROM, any individual settings it may have for emulators, artwork, assets and a batchscript-launcher.
Creating ROM-Jackets is fairly intuitive if you are familiar with standard directory layouts. By default, skeletonKey will assign the Systems directory to retroArch's core_assets_directory, however users may define the Systems directory from the File menu>RoM-Jacket>Set Systems Directory. SkeletonKey can also detect an existing emulator directory structure it previously created from the File menu>ROM-Jacket>Detect Emulators
When a system is loaded into the Jacket tab, the ROMs and Jackets contained within the system's directory will populate and can be filtered into the list on the left side of the tab. Settings in the Jacket tab can be saved for each system.
Jackets are created for ROMs using the name of the ROMs.
This will consolidate ROMs containing the same base-name and will group "duplicate" ROMs and multi-disc ROMs together into a single jacket. The base-name is the ROM's filename without any text in parenthesis or brackets. eg:
Game Title (region)[version].rom >> Game Title\Game Title (region)[version].rom
Effectively, this will help eliminate the need to scroll through many different versions of games in a library and will help wrangle multi-disc games. This is the preferred method of folder-generation for users wishing to tame their library and generate friendly-names for their frontend.
This will simply jacketize each ROM using the name of the file without the extension.
Game Title (region)[version].rom>>Game Title (region)[version]\Game Title (region)[version].rom
SB_SetText(" ftp address is " FTPXE "://" SITEURL "/ " SERVERDIR " on port :" PORTNUM " ")
Several sub-directories are automatically created for each jacket. Custom hidden subdirectories can also be created.
Archives found within a system's directory can be extracted into in a couple of ways:
Before: Each archive is extracted prior to any jacket is created. Extracted files are not jacketized.
After: Each archive is jacketized and then extracted into the jacket.
After archives are extracted they can be stored in skeletonKey's tmp directory, deleted, or kept in the jacket.
The default settings for each emulator are designed for low-powered specification settings, however many consoles offer a variety of settings which you may change when configuring a console individually.
Xpadder and Antimicro programs are currently supported.
INVADER HOSTING: After selecting the Invader option, pressing the Host button will store the host-string is in the clipboard. Paste (ctrl-v) this into a chat window for a skeletonKey client.
NET|127.0.0.1|54355|16|libretro_libretro.dll|http://archive.org/download/games.zip/game.rom|Super - System|crchash|
INVADER CLIENTS: After selecting the Invader option, clicking the invade button will allow skeletonKey to connect by simply selecting the host-string with a triple-click (or drag select). Games with a url in the host string will automatically be downloaded if needed.
Question: What's wrong with RetroArch's interface?
Answer: Fly-out menus. But it's actually great for a gamepad.
Question: Where can I find out more information about retroArch
Question: I want to see a feature implemented or want to do something with skeletonKey it cannot currently do.