Ports collection
The Ports Collection in Onion V4.1 has been completely redone and now includes 61 game ports!
All the necessary files (except licensed game files) are now hosted in its own repository.
Click the image to view it in full size |
- 24 free game ports are offered as complete packs
- 37 game ports are available through the collection of game engines, and you are only required to supply the licensed data files from the original game
- Box arts are also included
- Pre-configured config files are included - which gives you the best settings and uniform key mapping for FPS games (credit: axcelon)
Click to see FPS key mapping (By axcelon)
|
Installing a port
The ports repository contains individual 7z
files for each port, as well as one 7z
file containing all ports.
To install these you just have to extract the contents of the archive to the root of your SD card (merging the folders).
- Licensed game files are not included for the game engines, you will need to supply the necessary game files yourself. These are detailed (along with any necessary subfolder structure) in the
_required_files.txt
file, within eachRoms/PORTS/Games/[Game folder]/
- For freely available (unlicensed) ports, all files required to run the game are included (these will not have a
_required_files.txt
file)
Notes
Ensure you have enabled Ports Collection inApps
›Package Manager
›Verified
Also see this helpful video tutorial by Retro Breeze
Common file structure
|
Migrating ports from Onion versions prior to 4.1.0
- Rename your existing "Roms/PORTS" folder into something like Roms/PORTS_OLD
- Update Onion to version 4.1.0 or later (the latest release is recommended) (see upgrade guide)
- Enable "Ports Collection" in
Apps
›Package Manager
›Verified
- Download the "the full Ports-Collection" from the official repository (first link in the description)
- Extract the archive to the root of your SD card
- Manually populate each
Roms/PORTS/Games/[Game folder]/
with your old assets, as detailed in the_required_files.txt
file for each - We have pre-configured many things, so during your copy paste of your assets, do not overwrite the existing files
- Run the
~import ports
script from the ports games list : it will refresh the list of ports which are present
Notes:
Also see this helpful video tutorial by Retro Breeze
Once you have verified all of your Ports are launching correctly, you may remove your old, renamed Ports folder from step 1
How to add your own ports (for advanced users)
Ports are now launched with the script included in their own shortcut. These shortcut scripts are standardized in 3 different kind:
- Standalone port launcher (for example Hocoslamfy)
- Retroarch port launcher (for example Dinothawr)
- Python port launcher (for example Double Cross)
Please always use one of these 3 scripts as a template to add your own port.
Descriptions of the scripts settings:
GameName
: the name that will displayed in the Onion Time Tracker appGameDir
: the name of the directory which contains your game assetsRoms/PORTS/Games/[Game folder]/
GameExecutable
: the filename of the binary that will be launched from the GameDir directoryGameDataFile
: the file in the GameDir directory which will be used to detect the presence of the game when running~Import ports
script from the rom list. If it is not specified thenGameExecutable
will be used for port detectionKillAudioserver
: set it to 1 if your port requires to kill audioserver (it will be restored automatically when you close your port after)PerformanceMode
: set it to 1 if you use a demanding portArguments
: use this field to parameter additional args to the launch command line. (See Duke Nukem as example)touch /tmp/disable_menu_button
: use this flag only if you want to disable the monitoring of menu button pressing but Onion keymon, the you can remap the menu button in your port. (Useful in games which requires many buttons). Don't forget to insertrm -f /tmp/disable_menu_button
at the end of your scriptrunning command line
: Do not modify this (it is standardized)
Specific to retroarch script :
Core
: then name of the core that will be used without_libretro.so
, for exampleecwolf
for WolfensteinRomDir
: similar toGameDir
: it is the path where your rom is located inRoms/PORTS/Games/[Game folder]/
RomFile
: it is the name of the rom that will be passed as a parameter to the retroarch core, will be also used to detect the presence of the game when running~Import ports
script from the rom list. (theCore
will be used for detection if not specified)
Notes about the
~Import ports
script :
The import script reads the content of each shortcut (.port
and.notfound
) files to find the fieldGameDataFile
GameDataFile="CP01.MAP"
for example. If the fileCP01.MAP
exists in theRoms/PORTS/Games/[Game folder]/
directory, then the shortcut is renamed with.port
extension and will be displayed in the roms list otherwise it will be named with.notfound