All Projects → GerbilSoft → Rom Properties

GerbilSoft / Rom Properties

Licence: gpl-2.0
ROM Properties Page shell extension

Projects that are alternatives of or similar to Rom Properties

Provenance
iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems… Get Started: https://wiki.provenance-emu.com |
Stars: ✭ 4,732 (+2153.33%)
Mutual labels:  gameboy, nes, n64
Cartreader
A shield for the Arduino Mega that can back up video game cartridges.
Stars: ✭ 590 (+180.95%)
Mutual labels:  gameboy, nes, n64
Lemuroid
All in 1 emulator on Android!
Stars: ✭ 194 (-7.62%)
Mutual labels:  nes, n64
bottomless-block-barrage
Panel de Pon (Tetris Attack) clone for the 3ds.
Stars: ✭ 15 (-92.86%)
Mutual labels:  nintendo-3ds, 3ds
3dsconv
Python script to convert Nintendo 3DS CCI (".cci", ".3ds") files to the CIA format
Stars: ✭ 312 (+48.57%)
Mutual labels:  3ds, nintendo-3ds
first nes
Create your own games for the Nintendo Entertainment System! This "starter" game is easily extensible for your own projects. Includes references.
Stars: ✭ 94 (-55.24%)
Mutual labels:  nes, rom
Level-Headed
Random Level Generator for Super Mario Bros. 1 on the NES
Stars: ✭ 100 (-52.38%)
Mutual labels:  nes, rom
m3diaLib-CTR
A C++ library for easier homebrew development for the Nintendo 3DS
Stars: ✭ 39 (-81.43%)
Mutual labels:  nintendo-3ds, 3ds
Retro Go
Retro emulation for the ODROID-GO
Stars: ✭ 73 (-65.24%)
Mutual labels:  gameboy, nes
Ctf Game Challenges
A curated list of Game Challenges from various CTFs
Stars: ✭ 97 (-53.81%)
Mutual labels:  gameboy, nes
Esplay Retro Emulation
Retro Emulation Collection for ESPlay Hardware, an ESP32 based game console
Stars: ✭ 183 (-12.86%)
Mutual labels:  gameboy, nes
Retrograde Android
Play retro video games on your Android TV!
Stars: ✭ 114 (-45.71%)
Mutual labels:  gameboy, nes
MOLE
(On hiatus untill untill further notice) RetroMole Core
Stars: ✭ 20 (-90.48%)
Mutual labels:  nes, rom
exhal
Compression and decompression tools for NES, SNES, and Game Boy games by HAL Laboratory
Stars: ✭ 54 (-74.29%)
Mutual labels:  gameboy, nes
awesome-emu-resources
A curated list of emulator development resources
Stars: ✭ 26 (-87.62%)
Mutual labels:  gameboy, nes
awesome-n64-development
A curated list of Nintendo 64 development resources including toolchains, documentation, emulators, example code, and more
Stars: ✭ 210 (+0%)
Mutual labels:  rom, n64
cart-dumper
🎮 Gameboy ROM for cartridge dumping
Stars: ✭ 24 (-88.57%)
Mutual labels:  gameboy, rom
gbjam8
A Game Boy demake of The Binding of Isaac made for GBJAM8.
Stars: ✭ 18 (-91.43%)
Mutual labels:  gameboy, rom
Libctru
Homebrew development library for Nintendo 3DS/Horizon OS user mode (Arm11)
Stars: ✭ 530 (+152.38%)
Mutual labels:  3ds, nintendo-3ds
Acse
A Save Editor for the Animal Crossing main series games written in C#
Stars: ✭ 99 (-52.86%)
Mutual labels:  3ds, n64

ROM Properties Page shell extension

This shell extension adds a few nice features to file browsers for managing video game ROM and disc images.

License: GPL v2
Travis Build Status AppVeyor Build status Coverity Scan Build Status
Total alerts Language grade: C/C++

v1.7

This release adds a ton of new features, including "ROM operations", 3DS sighax detection, and support for PlayStation Portable disc images:

PlayStation Portable disc image

Other improvements in this release include several file handle leak fixes, addition of a vertical scrollbar on Windows property pages if needed, and improved ROM image detection for several supported formats.

Translators needed; file an issue if you'd like to get started on a new translation, or submit a Pull Request if you have a translation ready to go.

See NEWS.md for a full list of changes in v1.7.

Feedback

This is a work in progress; feedback is encouraged. To leave feedback, you can file an issue on GitHub, or visit the Gens/GS IRC channel: irc://irc.badnik.zone/GensGS

Or use the Mibbit Web IRC client: http://mibbit.com/?server=irc.badnik.zone&channel=#GensGS

Installation

Currently, the ROM Properties Page shell extension is compatible with the following platforms:

  • KDE Frameworks 5.x
  • XFCE (GTK+ 2.x, GTK+ 3.x)
  • GNOME and Unity (GTK+ 3.x)
  • MATE Desktop (1.18+; GTK+ 3.x)
  • Cinnamon Desktop
  • Windows 7 (and later)

The following platforms are still compatible, but may not receive as much support:

  • KDE 4.x
  • Windows XP, Windows Vista

On Windows, you will need the MSVC 2015-2019 runtime:

For instructions on compiling from source, see doc/COMPILING.md .

Linux

Install the relevant .deb package, depending on what desktop environment you are using and what your CPU is.

After installing, the plugin needs to be enabled in the Dolphin file browser:

  • Close all instances of Dolphin.
  • Start Dolphin.
  • Click Control, Configure Dolphin.
  • Click the "General" section, then the "Preview" tab.
  • Check the "ROM Properties Page" item, then click OK.
  • Enable previews in a directory containing a supported file type.

If installed correctly, thumbnails should be generated for the supported file type. You can also right-click a file, select Properties, then click the "ROM Properties" tab to view more information about the ROM image.

Windows

Extract the ZIP archive to a directory, then run install.exe. The installer requires administrator access, so click "Yes" if requested. In the installer, click the "Install" button to register the ROM Properties Page DLL.

Note that this will hard-code the location of the DLL files in the registry, so you may want to place the DLLs in a common location.

To uninstall the plugin, run install.exe again, then click the "Uninstall" button.

Current File Support Level

Game Consoles

System Properties Tab Metadata Internal Images External Images
NES Yes No N/A No
Super NES Yes Yes N/A Title
Microsoft Xbox (XBE) Yes Yes Icon No
Microsoft Xbox 360 (XEX) Yes Yes Icon No
Microsoft Xbox 360 (STFS) Yes Yes Icon No
Microsoft Xbox Game Discs Yes Yes Icon No
Nintendo 64 Yes Yes N/A No
iQue Player ticket files Yes Yes Icon, Banner No
Nintendo GameCube Discs Yes Yes Banner Disc, Covers
Nintendo GameCube Banners Yes Yes Banner No
Nintendo GameCube Saves Yes Yes Icon N/A
Nintendo Wii Discs Yes Yes No Disc, Covers
Nintendo Wii WADs Yes Yes Yes* Title, Covers
Nintendo Wii Saves Yes No Yes N/A
Nintendo Wii U Yes No No Disc, Covers
Sega 8-bit (SMS, GG) Yes Yes N/A No
Sega Mega Drive Yes No N/A No
Sega Dreamcast Yes Yes Media No
Sega Dreamcast Saves Yes Yes Icon, Banner No
Sega Saturn Yes Yes N/A No
Sony PlayStation Discs Yes No N/A No
Sony PlayStation EXEs Yes No N/A N/A
Sony PlayStation Saves Yes Yes Icon N/A
Sony PlayStation 2 Discs Yes Yes N/A No

* Internal images are only present in Wii DLC WADs.

Handhelds

System Properties Tab Metadata Internal Images External Images
Atari Lynx Yes No N/A No
Neo Geo Pocket (Color) Yes Yes N/A Title
Nintendo Game Boy (Color) Yes Yes N/A Title
Nintendo Virtual Boy Yes No N/A No
Nintendo Game Boy Advance Yes Yes N/A Title
Nintendo DS(i) Yes Yes Icon Covers, Box
Nintendo DSi TADs* Partial No No No
Nintendo 3DS Yes Yes Icon Covers, Box
Pokémon Mini Yes Yes N/A No
Sony PlayStation Portable Yes Yes Icon No
Tiger game.com Yes Yes Icon No

* The Nintendo DSi TAD parser supports development TADs that are normally imported using DSi Nmenu. It does not currently support DSi exports from retail systems. * The PSP parser supports both PSP game and UMD video discs, as well as several compressed disc formats: CISOv1, CISOv2, ZISO, JISO, and DAX.

Texture Formats

System Properties Tab Metadata Internal Images External Scans
Leapster Didj .tex textures Yes Yes Image N/A
Khronos KTX Textures Yes Yes Image N/A
Khronos KTX2 Textures Yes Yes Image N/A
Microsoft DirectDraw Surface Yes Yes Image N/A
Microsoft Xbox XPR Textures Yes Yes Image N/A
PowerVR 3.0.0 Textures Yes Yes Image N/A
Sega PVR/GVR/SVR Textures Yes Yes Image N/A
Valve VTF Textures Yes Yes Image N/A
Valve VTF3 (PS3) Textures Yes Yes Image N/A

Texture Codecs

  • Assorted linear RGB formats, including 15-bit, 16-bit, 24-bit and 32-bit per pixel.
    • Most of these formats have SSE2 and/or SSSE3-optimized decoders.
    • RGB9_E5 is supported, though it is currently converted to ARGB32 for display purposes. The decoder is also slow. (Contributions welcome.)
  • Dreamcast: Twiddled and Vector-Quantized
  • Nintendo DS: Tiled CI8 with BGR555 palette
  • Nintendo 3DS: Tiled and twiddled RGB565
  • GameCube: Tiled RGB5A3 and CI8 with RGB5A3 palette
  • S3TC: DXT1, DXT2, DXT3, DXT4, DXT5, BC4, and BC5 codecs.
    • Supported file formats: DDS, KTX, KTX2, VTF, VTF3, XPR
    • GameCube 2x2-tiled DXT1 is supported in GVR texture files.
  • BC7: Supported in DDS, KTX, KTX2, and PowerVR 3.0.0 texture files.
    • The implementation is somewhat slow. (Contributions welcome.)
  • PVRTC: Supported in DDS, KTX, KTX2, and PowerVR 3.0.0 texture files.
    • PVRTC-II: Partially supported. The hard transition flag and images that aren't a multiple of the tile size are not supported.

Audio Formats

System Properties Tab Metadata Internal Images External Scans
Atari 8-bit SAP audio Yes Yes N/A N/A
Atari ST SNDH audio Yes Yes N/A N/A
CRI ADX ADPCM Yes Yes N/A N/A
Commodore 64 SID Music Yes Yes N/A N/A
Game Boy Sound System Yes Yes N/A N/A
Nintendo 3DS BCSTM and BCWAV Yes Yes N/A N/A
Nintendo Sound Format Yes Yes N/A N/A
Nintendo Wii BRSTM Yes Yes N/A N/A
Nintendo Wii U BFSTM Yes Yes N/A N/A
Portable Sound Format Yes Yes N/A N/A
Super NES SPC Format Yes Yes N/A N/A
Video Game Music Yes Yes N/A N/A

Other

System Properties Tab Metadata Internal Images External Scans
Executable and Linkable Format Yes No N/A N/A
ISO-9660 Disc Images Yes Yes No N/A
Mach-O Binaries Yes No N/A N/A
Nintendo amiibo Yes No N/A Media
Nintendo Badge Arcade Yes No Image N/A
Windows/DOS Executables Yes No No N/A

Notes:

  • Internal image refers to artwork contained within the ROM and/or disc image. These images are typically displayed on the system's main menu prior to starting the game.
    • "N/A" here means the ROM or disc image doesn't have this feature.
    • "No" indicates that the feature is present but not currently implemented.
  • External scans refers to scans from an external database, such as GameTDB.com for GameCube and Wii.
    • "No" indicates no database is currently available for this system.
    • Anything else indicates what types of images are available.
    • For amiibo, "media" refers to the amiibo object, which may be a figurine, a card, or a plush.
  • Windows executables may contain multiple icon sizes. Support for Windows icons will be added once support for multiple image sizes is added.
  • Sega 8-bit only supports ROM images with a "TMR SEGA" header.

An initial configuration program is included with the Windows version of rom-propreties 1.0. This allows you to configure which images will be used for thumbnails on each system. The functionality is available on Linux as well, but the UI hasn't been ported over yet. See doc/rom-properties.conf.example for an example configuration file, which can be placed in ~/.config/rom-properties.

External Media Downloads

Certain parsers support the use of external media scans through an online database, e.g. GameTDB.com. This is enabled by default, but you can customize which scans are downloaded for which systems by running the configuration program, rp-config.exe.

Downloaded images are cached to the following directory:

  • Linux: ~/.cache/rom-properties/
  • Windows XP: %LOCALAPPDATA%\rom-properties\cache
  • Windows Vista+: %USERPROFILE%\AppData\LocalLow\rom-properties\cache

The directory structure matches the source site, so e.g. a disc image of Super Smash Bros. Brawl would be downloaded to ~/.cache/rom-properties/wii/disc/US/RSBE01.png. Note that if the download fails for any reason, a 0-byte dummy file will be placed in the cache, which tells the shell extension not to attempt to download the file again. [FIXME: If the download fails due to no network connectivity, it shouldn't do this.]

If you have an offline copy of the GameTDB image database, you can copy it to the ROM Properties Page cache directory to allow the extension to use the pre-downloaded version instead of downloading images as needed.

Decryption Keys

Some newer formats, including Wii disc images, have encrypted sections. The shell extension includes decryption code for handling these images, but the keys are not included. To install the keys, create a text file called keys.conf in the rom-properties configuration directory:

  • Linux: ~/.config/rom-properties/keys.conf
  • Windows: %APPDATA%\rom-properties\keys.conf

The keys.conf file uses INI format. An example file, keys.conf.example, is included with the shell extension. This file has a list of all supported keys, with placeholders instead of the actual key data. For example, a keys.conf file with the supported keys for Wii looks like this:

[Keys]
rvl-common=[Wii common key]
rvl-korean=[Wii Korean key]

Replace the key placeholders with hexadecimal strings representing the key. In this example, both keys are AES-128, so the hexadecimal strings should be 32 characters long.

NOTE: If a key is incorrect, any properties dialog that uses the key to decrypt data will show an error message instead of the data in question.

Nintendo DS Secure Area

To encrypt or decrypt the Nintendo DS Secure Area, the Blowfish key must be named nds-blowfish.bin and placed in the same directory as keys.conf.

MD5sum: c08c5afd9c6d9530817cd2033e3864d7

Unsupported File?

If you have a file that you believe should be supported by ROM Propeties, or would like to see support added for a new type, file an issue on GitHub: https://github.com/GerbilSoft/rom-properties/issues

Credits

Developers

  • @GerbilSoft: Main developer.
  • @DankRank: Contributor, bug tester.
  • @CheatFreak: Bug tester, amiibo support.

Translators

  • @DankRank: Russian, Ukrainian
  • @NullMagic2: Brazilian Portuguese

Other Contributions

[This list is incomplete; if you think you should be listed here, file an issue.]

  • @Tpot-SSL: Assistance with the game.com implementation.

Websites

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].