A LaunchBox plugin which caches extracted ROM archives, letting you play games faster. Also allows launching individual files from archives, and loading preferred file type from an archive.
- Badge for cached games. Also includes Simple White and Neon style badges to match your theme.
- ROMs previously selected using the "Select ROM In Archive..." menu are automatically loaded the next time a game is played.
When a compressed ROM (in zip, 7z, or rar format) is first extracted, it is stored in the archive cache. The next time it is played, the game is loaded directly from the cache, virtually eliminating wait time.
As the cache approaches its maximum size, the least recently played games are deleted from the cache, making room for new games.
- Skip the extraction wait time for recently played games.
- Configurable cache size and location.
- Configurable minimum archive size (skip caching small archives).
- Option to keep select ROMs cached and ready to play.
- Select and play individual ROM files from an archive.
- File extension priorities per emulator and platform (cue, bin, iso, etc).
Why use Archive Cache Manager? Here's some example use cases.
- Zipped ROMs located on network server or cloud drive, where disk read or network transfer time is slow.
- ROM library maintained as accurately ripped/dumped collections, where specialised compression formats not an option.
- Extract and play archives from location other than
LaunchBox\ThirdParty\7-Zip\Temp
, such as high speed SSD. - Playing ripped PS2 games with PCSX2 where the disc image is bin/cue format, avoiding the "CDVD plugin failed to open" error message.
- Your library contains GoodMerged sets, and you want a quick way to play individual ROMs.
- Download the latest release from https://forums.launchbox-app.com/files/file/234-archive-cache-manager/ or https://github.com/fraganator/archive-cache-manager/releases
- Unblock the download if necessary (right-click file -> Properties -> Unblock)
- Extract this archive to your
LaunchBox\Plugins
folder, then run LaunchBox / BigBox. - Within LaunchBox, ensure the desired emulator has the "Extract ROM archives before running" option checked.
- Quit LaunchBox / BigBox, then navigate to the
LaunchBox\Plugins
folder and deleteArchiveCacheManager
. - Delete the archive cache folder (default is
LaunchBox\ArchiveCache
).
Archive Cache Manager is designed to run transparent to the user. All that is required is the emulator has the "Extract ROM archives before running" option checked. Extraction and cache management is carried out automatically when a game is launched.
To play an individual ROM from an archive containing multiple ROMs (different regions, hacks, or discs), right-click it and choose "Select ROM In Archive...".
A window will popup with a full listing of the archive contents. Select the desired ROM file, then click Play. That ROM will now launch with the configured emulator.
The next time the game is launched via the normal Play option, the previous ROM selection will be automatically applied. To select another ROM, use the same "Select ROM In Archive..." menu.
Games can be marked 'Keep' so they stay cached and ready to play. To keep a game cached, open the plugin configuration window from the Tools->Archive Cache Manager menu. From there a list of games in the cache is shown. Check the Keep box next to the game, then click OK.
The plugin includes a badge to indicate if a game is currently in the cache. It is available under the Badges->Enable Archive Cached menu. There are additional Simple White and Neon style badges, which can be found in the LaunchBox\Plugins\ArchiveCacheManager\Badges
folder.
Configuration can be accessed from the Tools->Archive Cache Manager menu.
An overview of each of the configuration items is below.
This section shows a summary of the cache including the Cache Path, Cache Size, and Keep Size. It also displays a list of the items currently in the cache.
Each item in the cache has a Keep flag, which when set will prevent the item from being removed from the cache when the cache is full. This is useful for less frequently played games which you still want to load without waiting (party games, favourites, children's games, etc).
Items marked Keep are not included in the cache size calculation. The total size of Keep items is listed in the cache details summary.
Clicking the Configure Cache...
button opens the cache configuration window.
This is the path of the cache on disk. The path can be absolute or relative, where relative paths are to the LaunchBox
root folder.
Default: ArchiveCache
If the cache path is set to an invalid location (LaunchBox
root for example), an error message will be displayed when clicking OK.
If the cache path is set to an existing path that already contains files or folders, a warning will be displayed when clicking OK. Click Yes to proceed, or No to go back and change the path.
This is the maximum cache size on disk in megabytes. The oldest played games will be deleted from the cache when it reaches this size.
Default: 20,000 MB (20 GB)
This is the minimum size in megabytes of an uncompressed archive to be added to the cache. Archives smaller than this won't be added to the cache.
Default: 100 MB
Clicking the Open In Explorer
button will open the configured cache path in Windows Explorer. This button is disabled if the cache path does not exist.
Refreshes the cache summary and list of cached items from disk.
Clicking on the Delete
button will remove the selected items from the cache (including items with the Keep setting).
Clicking on the Delete All
button will delete everything from the cache (including items with the Keep setting).
This defines the file extension priority for the specified emulator and platform combination. Use the Add / Edit / Delete buttons to manage file extension priorities.
File extensions are a comma delimited list, where the highest priority is the first extension, the next highest priority is the second extension, and so on. If the file extension is not found in the archive when a game is loaded, the default LaunchBox priority is used.
Note that the extension priority is applied to all archives, even if they are not cached.
Default: PCSX2 \ Sony Playstation 2 \ bin, iso
The project is built with Visual Studio Community 2019 and .NET Framework 4.7.2.
An older version of the Unbroken.LaunchBox.Plugins
assembly is preferred when building, to maintain compatibility across LaunchBox versions. The plugin is currently built against version 1.0.0.0 included with LaunchBox 10.14. It can be built with the latest version, but will not be backwards compatible. The minimum LaunchBox version supported is 10.11, required for Badge support.
Dependencies are listed below, and can be installed using Visual Studio's Package Manager Console with the command shown.
Package | Version | PM Command |
---|---|---|
System.Drawing.Common | 4.7.2 | Install-Package System.Drawing.Common -Version 4.7.2 -ProjectName Plugin |
ini-parser | latest | Install-Package ini-parser -ProjectName Core |
- Icons by Yusuke Kamiyamane. Licensed under a Creative Commons Attribution 3.0 License. https://p.yusukekamiyamane.com/
- INI File Parser library Copyright (c) 2008 Ricardo Amores Hernández. Licensed under the MIT license. https://github.com/rickyah/ini-parser