WIMP-GUI-based installer, configuraion tool, and launcher for emulators and retroArch. v0.99.0.0
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.
A template config file can be specified for the 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 XMB GUI 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 initialized.
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.