More actions
(Created page with "{{#seo: |title=Wii Homebrew PC Tools (PC Utilities) - GameBrew |title_mode=append |image=vcromclaimwii.png |image_alt=Vcromclaim }} {{Infobox Wii Homebrews |title=Vcromclaim |image=vcromclaimwii.png |description=A program to extract ROMs, manuals, and saves from Wii Virtual Console games in a NAND dump. |author=JanErikGunnar, Plombo |lastupdated=2023/02/05 |type=PC Utilities |version=2023 |license=Mixed |download=https://dlhb.gamebrew.org/wiihomebrews/vcromclaimwii.7z |w...") |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox Wii Homebrews | {{Infobox Wii Homebrews | ||
|title=Vcromclaim | |title=Vcromclaim | ||
|image= | |image=vcromclaimwii02.png | ||
|description= | |description=Extract ROMs, manuals, and saves from Wii Virtual Console games in a NAND dump. | ||
|author=JanErikGunnar | |author=Plombo, JanErikGunnar | ||
|lastupdated=2023/02/05 | |lastupdated=2023/02/05 | ||
|type=PC Utilities | |type=PC Utilities | ||
Line 18: | Line 12: | ||
|source=https://github.com/JanErikGunnar/vcromclaim | |source=https://github.com/JanErikGunnar/vcromclaim | ||
}} | }} | ||
Vcromclaim is a program that extracts game ROMs from Wii Virtual Console games. It searches an extracted Wii NAND filesystem for the ROMs and extracts them, detecting and decompressing compressed ROMs. It also extracts game manuals and save files for each Virtual Console game. | Vcromclaim is a program originally developed by Plombo that extracts game ROMs from Wii Virtual Console games. It searches an extracted Wii NAND filesystem for the ROMs and extracts them, detecting and decompressing compressed ROMs. It also extracts game manuals and save files for each Virtual Console game. | ||
The program can extract NES/Famicom/Disk System, SNES, PC Engine/TurboGrafx16/TurboGrafx CD, Mega Drive/Genesis, Master System, and Nintendo 64 games, as well as some Neo Geo games, and Space Harrier (Arcade). It automatically extracts built-in manuals and saves for most formats. | The program can extract NES/Famicom/Disk System, SNES, PC Engine/TurboGrafx16/TurboGrafx CD, Mega Drive/Genesis, Master System, and Nintendo 64 games, as well as some Neo Geo games, and Space Harrier (Arcade). It automatically extracts built-in manuals and saves for most formats. | ||
Line 25: | Line 19: | ||
==Features== | ==Features== | ||
*Extracts virtually all NES/Famicom/Disk System, SNES, PC Engine / TurboGrafx16 / TurboGrafx CD, Mega Drive/Genesis, Master System, and Nintendo 64 games without fail! | * Extracts virtually all NES/Famicom/Disk System, SNES, PC Engine / TurboGrafx16 / TurboGrafx CD, Mega Drive/Genesis, Master System, and Nintendo 64 games without fail! | ||
*Extracts several Neo Geo games, along with the AES/MVS BIOS, so that they are playable in MAME | * Extracts several Neo Geo games, including encrypted games, along with the AES/MVS BIOS, so that they are playable in MAME | ||
**NAM-1975 | ** NAM-1975 | ||
**Magician Lord | ** Magician Lord | ||
**King of the Monsters | ** King of the Monsters | ||
**Spinmaster | ** Spinmaster | ||
**Neo Turf Masters | ** Neo Turf Masters | ||
**Metal Slug | ** Metal Slug | ||
**Real Bout Fatal Fury Special | ** Real Bout Fatal Fury Special | ||
**Magical Drop 3 | ** Magical Drop 3 | ||
**Shock Troopers | ** Shock Troopers | ||
**Metal Slug 2 | ** Metal Slug 2 | ||
**The King of Fighters '98 | ** The King of Fighters '98 | ||
**The Last Blade 2 | ** The Last Blade 2 | ||
**Shock Troopers 2 | ** Shock Troopers 2 | ||
**Metal Slug X | ** Metal Slug X | ||
**...and support for many other Neo Geo games can be added relatively easily. Lots of caveats though - see below | ** Metal Slug 3 | ||
*Can extract Space Harrier | ** Metal Slug 4 | ||
*Automatically extracts the built-in manuals in VC games. | ** ...and support for many other Neo Geo games can be added relatively easily. Lots of caveats though - see below. | ||
*Automatically extracts saves for most formats. | * Can extract the arcade games Ghosts'N Goblins and Space Harrier. | ||
*Cross-platform - compatible with Linux, Windows, Mac OS X, and any other platform supported by Python. Some games may require additional libraries to extract. | * Automatically extracts the built-in manuals in VC games. | ||
* Automatically extracts saves for most formats. | |||
* Cross-platform - compatible with Linux, Windows, Mac OS X, and any other platform supported by Python. Some games may require additional libraries to extract. | |||
* If the game/platform you want to extract is missing - please submit a bug to let me know there is demand for it. | |||
== | ==User guide== | ||
* [http://python.org Python] 3.x (tested with 3.8.5) | Requirements: | ||
* A NAND dump dumped by [http://bootmii.org BootMii] and extracted by [http://code.google.com/p/showmiiwads ShowMiiWads] or [http://github.com/Plombo/showmiiwads nandextract] | * [http://python.org Python] 3.x (tested with 3.8.5). | ||
* Additional requirements applies for some Neo Geo games, see [ | * A NAND dump dumped by [http://bootmii.org BootMii] and extracted by [http://code.google.com/p/showmiiwads ShowMiiWads] or [http://github.com/Plombo/showmiiwads nandextract]. | ||
* Additional requirements applies for some Neo Geo games, see [https://github.com/JanErikGunnar/vcromclaim/blob/master/neogeo_readme.txt neogeo_reame.txt]. | |||
The program is run by executing wiimetadata.py: | The program is run by executing wiimetadata.py: | ||
<pre>python wiimetadata.py nand_directory</pre> | <pre>python wiimetadata.py nand_directory</pre> | ||
==Media== | ==Media== | ||
'''Extracting N64 ROMs from Official Copies of the Game - Part 2 - Wii Virtual Console | '''Extracting N64 ROMs from Official Copies of the Game - Part 2 - Wii Virtual Console ([https://www.youtube.com/watch?v=y4HMAfRN1No Rylie])'''<br> | ||
<youtube>y4HMAfRN1No</youtube> | <youtube>y4HMAfRN1No</youtube> | ||
== Known | == Known issues== | ||
* ALL SYSTEMS: A lot of games have been modified for VC for various reasons. Same games may simply just behave differently from the original games, some games may not work properly in accurate emulators or on real hardware | * ALL SYSTEMS: A lot of games have been modified for VC for various reasons. Same games may simply just behave differently from the original games, some games may not work properly in accurate emulators or on real hardware. Very often checksums will not be accurate. Known instances: | ||
** Removal of flashing graphics: | ** Removal of flashing graphics: | ||
*** In Magical Drop 3, Tower character's flashing animation has been removed. | *** In Magical Drop 3, Tower character's flashing animation has been removed. | ||
Line 69: | Line 66: | ||
** Shadow of the Ninja (NES) - 2 bytes are different, causing the intro to glitch and freeze in accurate emulators. | ** Shadow of the Ninja (NES) - 2 bytes are different, causing the intro to glitch and freeze in accurate emulators. | ||
** Content changes: | ** Content changes: | ||
*** | *** Ogre Battle 64: "JIHAD" was renamed "LASER" for obvious reasons | ||
* TURBOGRAFX CD: CD audio is extracted in the wrong speed, because the quality is higher than required (48 | * TURBOGRAFX CD: CD audio is extracted in the wrong speed, because the quality is higher than required (48 kHz instead of 44.1kHz). Music in all games will play too slow in Mednafen, and a few games (like Super Air Zonk) are completely broken. Manually reencodeing the OGG files to 44.1kHz WAVE with e.g. Audacity should fix all this. | ||
* COMMODORE 64 games and most ARCADE games cannot be extracted at this time. | * COMMODORE 64 games and most ARCADE games cannot be extracted at this time. | ||
* NEO GEO: Because of the way Neo Geo ROMs are made, part of the extraction process has to be hardcoded separately for each game. If your game is not supported, it might be trivial to expand neogeo_convert.py to include support for your game. | |||
* NEO GEO: | * NEO GEO: Because of the way Neo Geo ROMs are made, part of the extraction process has to be hardcoded separately for each game. If your game is not supported, it might be trivial to expand neogeo_convert.py to include support for your game - please create a bug and I can try to implement it. | ||
* NEO GEO: | |||
* NEO GEO: For AES encrypted games, you will need to install PyCryptodome (or PyCrypto). Install it by typing in terminal: pip install pycryptodome | |||
** If you want | |||
** If you want | * NEO GEO: About the system ROMs... NEO GEO games always require a set of them. Either the MVS (arcade) or AES (home) ROMs, each available in many different versions, and regional variations (jap/us/eu). Depending on what ROM is used, the game will automatically display different language, and different content. The MVS ROM will enable system menu, some generic "how to play" screens, "winners don't do drugs", etc. The AES ROMs are lighter and does not provide any of that. Also games ran with MVS ROMs will typically show "insert coin", but not when ran with AES ROMs. The Wii games comes bundled with weird system ROMs. Some games randomly comes shippd with MVS ROMs, others with AES ROMs. All are shipped with the Japanese ROMs. The system ROMs contain a few flags that tell the game what region/system it is in. Annoyingly, instead of shipping the correct system ROMs, all of them are instead patched to tell the game it is e.g. US AES. Also the MVS ROM sets are incomplete. They are missing the SFIX ROM, which contains all of the graphics used in system menu and how-to-play screens. (To allow the games to run, this tool creates a dummy SFIX file, but system menu etc is basically unusable.) This tool will extract whatever ROM was included. It will export an original version that is as close to original as possible, AND it will also create a number of different patches to simulate different Wii behaviours. You may have to experiment and try different ROM versions, to get the experience you want. Some combinations of games+system ROM may not work, or have audio problems. | ||
** If you want the game to give a | ** If you want to have an US/EU Wii-like experience, use "XXX-patched-to-aes-us" or "XXX-patched-to-aes-eu" | ||
** If you want to | ** If you want ARCADE-like experience, use "jp-mvs" or "XXX-patched-to-mvs-XX" | ||
** If you want to | ** If you want the game to give a HOME CONSOLE experience, use "aes-jp" or "XXX-patched-to-aes-XX" | ||
** | ** If you want to have an experience as ACCURATE as possible, use the "mvs-jp" or "aes-jp" | ||
** If you want the game to be in ENGLISH, use "XXX-patched-to-XX-us" or "XXX-patched-to-XX-eu" | |||
** If you want the game to be in JAPANESE, use "mvs-jp", "aes-jp" or "XXX-patched-to-XX-jp" | |||
== Credits == | == Credits == | ||
* [https://github.com/Plombo Bryan Cain] - author of vcromclaim | * [https://github.com/Plombo Bryan Cain] - author of vcromclaim. | ||
* [https://github.com/JanErikGunnar JanErikGunnar] - added extraction of Famicom FDS, TurboGrafx CD, Neo Geo and | * [https://github.com/JanErikGunnar JanErikGunnar] - added extraction of Famicom FDS, TurboGrafx CD, Neo Geo and arcade games. | ||
* [https://github.com/euan-forrester Euan Forrester] - TurboGrafx save file exporting | * [https://github.com/euan-forrester Euan Forrester] - TurboGrafx save file exporting. | ||
* [http://hcs64.com hcs] - author of C decompression code for Huf8, LZH8, and romchu, all of which I (Bryan) ported to Python for vcromextract. | * [http://hcs64.com/ hcs] - author of C decompression code for Huf8, LZH8, and romchu, all of which I (Bryan) ported to Python for vcromextract. | ||
* [http://marcansoft.com/blog Hector Martin (marcan)] - original author of the Python LZ77 decompression code, which I (Plombo) heavily modified and expanded for vcromextract. | * [http://marcansoft.com/blog Hector Martin (marcan)] - original author of the Python LZ77 decompression code, which I (Plombo) heavily modified and expanded for vcromextract. | ||
* [https://github.com/sepalani/librso/blob/master/rvl/rso.py sepalani] - author of librso, with some reverse engineering done for RSO file format | * [https://github.com/sepalani/librso/blob/master/rvl/rso.py sepalani] - author of librso, with some reverse engineering done for RSO file format. | ||
* [http://www.romhacking.net/community/1067 Bregalad] - author of BRRTools, a Java program on which the BRR encoder in vcromclaim was based. | * [http://www.romhacking.net/community/1067 Bregalad] - author of BRRTools, a Java program on which the BRR encoder in vcromclaim was based. | ||
* qwikrazor87 - author of PCE CD Tools, of which the TG CD data decompression was based. | * qwikrazor87 - author of PCE CD Tools, of which the TG CD data decompression was based. | ||
* [http://www.yaronet.com/topics/185388-ngfx-neogeoneogeocd-graphicseditor blastar] - author of NGFX, a very good Neo Geo graphics editor that was useful in creating the open SFIX substitute. | * [http://www.yaronet.com/topics/185388-ngfx-neogeoneogeocd-graphicseditor blastar] - author of NGFX, a very good Neo Geo graphics editor that was useful in creating the open SFIX substitute. | ||
* [https://pastebin.com/hcRjjTWg ZOINKITY] - author of N64.py, containing the cart CRC code | * [https://pastebin.com/hcRjjTWg ZOINKITY] - author of N64.py, containing the cart CRC code. | ||
* [https://wiki.neogeodev.org The Neo Geo Development Wiki] - very useful for extracting Neo Geo roms | * [https://wiki.neogeodev.org/ The Neo Geo Development Wiki] - very useful for extracting Neo Geo roms. | ||
* [https://www.mamedev.org/ MAME] - the source code was very useful in extracting arcade and Neo Geo roms | * [https://www.mamedev.org/ MAME] - the source code was very useful in extracting arcade and Neo Geo roms. | ||
* [https://mh-nexus.de/en/hxd/ HxD] - great, free hex editor | * [https://mh-nexus.de/en/hxd/ HxD] - great, free hex editor. | ||
* [https://wiibrew.org WiiBrew] - invaluable for any Wii development | * [https://wiibrew.org/ WiiBrew] - invaluable for any Wii development. | ||
==External | ==External links== | ||
* | * GitHub (JanErikGunnar) - https://github.com/JanErikGunnar/vcromclaim | ||
* | * GitHub (Plombo) - https://github.com/Plombo/vcromclaim | ||
* | * GBAtemp - https://gbatemp.net/threads/vcromclaim-extracts-roms-and-manuals-from-nand-dumps.276517/ |
Latest revision as of 12:01, 29 Ocak 2024
Vcromclaim | |
---|---|
General | |
Author | Plombo, JanErikGunnar |
Type | PC Utilities |
Version | 2023 |
License | Mixed |
Last Updated | 2023/02/05 |
Links | |
Download | |
Website | |
Source | |
Vcromclaim is a program originally developed by Plombo that extracts game ROMs from Wii Virtual Console games. It searches an extracted Wii NAND filesystem for the ROMs and extracts them, detecting and decompressing compressed ROMs. It also extracts game manuals and save files for each Virtual Console game.
The program can extract NES/Famicom/Disk System, SNES, PC Engine/TurboGrafx16/TurboGrafx CD, Mega Drive/Genesis, Master System, and Nintendo 64 games, as well as some Neo Geo games, and Space Harrier (Arcade). It automatically extracts built-in manuals and saves for most formats.
Vcromclaim is cross-platform and compatible with Linux, Windows, Mac OS X, and other platforms supported by Python, but some games may require additional libraries to extract.
Features
- Extracts virtually all NES/Famicom/Disk System, SNES, PC Engine / TurboGrafx16 / TurboGrafx CD, Mega Drive/Genesis, Master System, and Nintendo 64 games without fail!
- Extracts several Neo Geo games, including encrypted games, along with the AES/MVS BIOS, so that they are playable in MAME
- NAM-1975
- Magician Lord
- King of the Monsters
- Spinmaster
- Neo Turf Masters
- Metal Slug
- Real Bout Fatal Fury Special
- Magical Drop 3
- Shock Troopers
- Metal Slug 2
- The King of Fighters '98
- The Last Blade 2
- Shock Troopers 2
- Metal Slug X
- Metal Slug 3
- Metal Slug 4
- ...and support for many other Neo Geo games can be added relatively easily. Lots of caveats though - see below.
- Can extract the arcade games Ghosts'N Goblins and Space Harrier.
- Automatically extracts the built-in manuals in VC games.
- Automatically extracts saves for most formats.
- Cross-platform - compatible with Linux, Windows, Mac OS X, and any other platform supported by Python. Some games may require additional libraries to extract.
- If the game/platform you want to extract is missing - please submit a bug to let me know there is demand for it.
User guide
Requirements:
- Python 3.x (tested with 3.8.5).
- A NAND dump dumped by BootMii and extracted by ShowMiiWads or nandextract.
- Additional requirements applies for some Neo Geo games, see neogeo_reame.txt.
The program is run by executing wiimetadata.py:
python wiimetadata.py nand_directory
Media
Extracting N64 ROMs from Official Copies of the Game - Part 2 - Wii Virtual Console (Rylie)
Known issues
- ALL SYSTEMS: A lot of games have been modified for VC for various reasons. Same games may simply just behave differently from the original games, some games may not work properly in accurate emulators or on real hardware. Very often checksums will not be accurate. Known instances:
- Removal of flashing graphics:
- In Magical Drop 3, Tower character's flashing animation has been removed.
- FDS games have been customized to let the VC emulator automatically switch disk side. You might get strange behaviour when the game normally would ask you to change the disk. Depending on emulator, just changing disk may work as usual.
- Bio Miracle Bokutte Upa: Flashing "wait" screen
- Zelda no Densetsu: "Press start" is shown, nothing happens if you do
- Shadow of the Ninja (NES) - 2 bytes are different, causing the intro to glitch and freeze in accurate emulators.
- Content changes:
- Ogre Battle 64: "JIHAD" was renamed "LASER" for obvious reasons
- Removal of flashing graphics:
- TURBOGRAFX CD: CD audio is extracted in the wrong speed, because the quality is higher than required (48 kHz instead of 44.1kHz). Music in all games will play too slow in Mednafen, and a few games (like Super Air Zonk) are completely broken. Manually reencodeing the OGG files to 44.1kHz WAVE with e.g. Audacity should fix all this.
- COMMODORE 64 games and most ARCADE games cannot be extracted at this time.
- NEO GEO: Because of the way Neo Geo ROMs are made, part of the extraction process has to be hardcoded separately for each game. If your game is not supported, it might be trivial to expand neogeo_convert.py to include support for your game - please create a bug and I can try to implement it.
- NEO GEO: For AES encrypted games, you will need to install PyCryptodome (or PyCrypto). Install it by typing in terminal: pip install pycryptodome
- NEO GEO: About the system ROMs... NEO GEO games always require a set of them. Either the MVS (arcade) or AES (home) ROMs, each available in many different versions, and regional variations (jap/us/eu). Depending on what ROM is used, the game will automatically display different language, and different content. The MVS ROM will enable system menu, some generic "how to play" screens, "winners don't do drugs", etc. The AES ROMs are lighter and does not provide any of that. Also games ran with MVS ROMs will typically show "insert coin", but not when ran with AES ROMs. The Wii games comes bundled with weird system ROMs. Some games randomly comes shippd with MVS ROMs, others with AES ROMs. All are shipped with the Japanese ROMs. The system ROMs contain a few flags that tell the game what region/system it is in. Annoyingly, instead of shipping the correct system ROMs, all of them are instead patched to tell the game it is e.g. US AES. Also the MVS ROM sets are incomplete. They are missing the SFIX ROM, which contains all of the graphics used in system menu and how-to-play screens. (To allow the games to run, this tool creates a dummy SFIX file, but system menu etc is basically unusable.) This tool will extract whatever ROM was included. It will export an original version that is as close to original as possible, AND it will also create a number of different patches to simulate different Wii behaviours. You may have to experiment and try different ROM versions, to get the experience you want. Some combinations of games+system ROM may not work, or have audio problems.
- If you want to have an US/EU Wii-like experience, use "XXX-patched-to-aes-us" or "XXX-patched-to-aes-eu"
- If you want ARCADE-like experience, use "jp-mvs" or "XXX-patched-to-mvs-XX"
- If you want the game to give a HOME CONSOLE experience, use "aes-jp" or "XXX-patched-to-aes-XX"
- If you want to have an experience as ACCURATE as possible, use the "mvs-jp" or "aes-jp"
- If you want the game to be in ENGLISH, use "XXX-patched-to-XX-us" or "XXX-patched-to-XX-eu"
- If you want the game to be in JAPANESE, use "mvs-jp", "aes-jp" or "XXX-patched-to-XX-jp"
Credits
- Bryan Cain - author of vcromclaim.
- JanErikGunnar - added extraction of Famicom FDS, TurboGrafx CD, Neo Geo and arcade games.
- Euan Forrester - TurboGrafx save file exporting.
- hcs - author of C decompression code for Huf8, LZH8, and romchu, all of which I (Bryan) ported to Python for vcromextract.
- Hector Martin (marcan) - original author of the Python LZ77 decompression code, which I (Plombo) heavily modified and expanded for vcromextract.
- sepalani - author of librso, with some reverse engineering done for RSO file format.
- Bregalad - author of BRRTools, a Java program on which the BRR encoder in vcromclaim was based.
- qwikrazor87 - author of PCE CD Tools, of which the TG CD data decompression was based.
- blastar - author of NGFX, a very good Neo Geo graphics editor that was useful in creating the open SFIX substitute.
- ZOINKITY - author of N64.py, containing the cart CRC code.
- The Neo Geo Development Wiki - very useful for extracting Neo Geo roms.
- MAME - the source code was very useful in extracting arcade and Neo Geo roms.
- HxD - great, free hex editor.
- WiiBrew - invaluable for any Wii development.
External links
- GitHub (JanErikGunnar) - https://github.com/JanErikGunnar/vcromclaim
- GitHub (Plombo) - https://github.com/Plombo/vcromclaim
- GBAtemp - https://gbatemp.net/threads/vcromclaim-extracts-roms-and-manuals-from-nand-dumps.276517/