FriishProduce Wii: Difference between revisions

From GameBrew
No edit summary
Line 29: Line 29:


==User guide==
==User guide==
===Supported platforms===
===Supported systems===
*Nintendo Entertainment System (NES) / Famicom (Virtual Console).
* Virtual Console:
*Super Nintendo Entertainment System (SNES) / Super Famicom (Virtual Console).
** Nintendo Entertainment System (NES) / Famicom
*Nintendo 64 (Virtual Console).
** Super Nintendo Entertainment System (SNES) / Super Famicom
*Shockwave/Adobe Flash.
** Nintendo 64
 
** Master System
===Options for each platform===
** Mega Drive / Genesis
*NES/Famicom:
** TurboGrafx-16 / PC Engine
**Set custom palette.
** SNK NEO-GEO
*SNES/Super Famicom: N/A.
* Emulator forwarders:
*Nintendo 64:
* [https://github.com/dborth/fceugx FCE Ultra GX] (dborth et al.)
**Fix brightness (remove dark/epilepsy filter).
** [https://github.com/niuus/FCEUltraRX FCE Ultra RX] (NiuuS et al.)
**Extend RAM to 8 MB (Expansion Pak detection).
** [https://gbatemp.net/threads/fceugx-1up.558023/ FCEUX TX / FCEUGX-1UP] (Tanooki16)
**Allocate 32 MB for ROM (will not work for all bases).
** [https://github.com/dborth/snes9xgx Snes9x GX] (dborth et al.)
*Shockwave/Adobe Flash:
** [https://github.com/niuus/Snes9xRX Snes9x RX] (NiuuS et al.)
**Enable "Unsaved data" message in HOME Menu.
** [https://gbatemp.net/threads/snes9xgx-mushroom.558500/ Snes9x TX / Snes9xGX-Mushroom] (Tanooki16)
**Change SWF update rate (FPS?).
** [https://github.com/saulfabregwiivc/Wii64/tree/wii64-wiiflow Wii64 1.3 MOD] forked by saulfabreg (original author: Wii64 Team)
**Enable save data; change total savedata size in KB.
** [https://github.com/extremscorner/not64 Not64] (Extrems)
**Strap reminder setting.
** [https://github.com/FIX94/mupen64gc-fix94 Mupen64GC-FIX94] (Wii64 Team, forked by FIX94)
**Controller mapping to keyboard values.
** [https://github.com/ekeeke/Genesis-Plus-GX Genesis Plus GX] (eke-eke et al.)
** [https://github.com/emukidid/pcsxgc WiiSX] (Wii64 Team)
** [https://github.com/xjsxjs197/WiiSXRX_2022 WiiStation / WiiSXRX_2022] (xjsxjs197, forked from NiuuS' WiiSX RX)
* Other:
** Shockwave/Adobe Flash


===How to use===
===How to use===
Line 182: Line 186:
== Credits ==
== Credits ==
This program uses the following third-party components and apps:
This program uses the following third-party components and apps:
* libWiiSharp (orig. author: Leathl), [https://github.com/WiiDatabase/libWiiSharp/ forked] by [https://github.com/WiiDatabase WiiDatabase].
* [https://github.com/dnasdw/showmiiwads/blob/Wii.cs_Tools/U8Mii/Wii.cs Wii.cs] library (part of Leathl's [https://code.google.com/archive/p/showmiiwads/source ShowMiiWads]).
* [https://github.com/Alcaro/Flips Floating IPS] (Flips) by [https://github.com/Alcaro Alcaro].
* [https://github.com/jmacd/xdelta Xdelta] by [https://github.com/jmacd jmacd].
* [https://github.com/libertyernie/ccf-tools ccf-tools] (orig. author: paulguy) and [https://github.com/libertyernie/brawllib-wit BrawlLib] (orig. author: soopercool101), both forked by [https://github.com/libertyernie libertyernie].
* ROMC compressor by Jurai, with additional LZSS code by Haruhiko Okumura.
* [https://gbadev.org/tools.php?showinfo=56 gbalzss] by Andre Perrot, with additional LZSS code by Haruhiko Okumura.
* WWCXTool by alpha-0.
* [https://www.hcs64.com/vgm_ripping.html lzh8_cmpdec] by [http://hcs64.com/ hcs].
* [https://gbatemp.net/threads/vcfe-wip.100556/ HowardC's Tools] (particularly, VCbrlyt).
* [https://github.com/queueRAM/sm64tools sm64tools] by [https://github.com/queueRAM queueRAM].
* [https://github.com/z64tools/z64compress z64compress] by [https://github.com/z64tools z64tools].
* For homebrew emulators compatiblity:
** comex's NAND loader. ''(file renamed as "nandloader_wii_comex.app")''
** Waninkoko's NAND loader, retrieved from ShowMiiWads repo. ''(file renamed as "nandloader_wii.app")''
** FIX94's [https://github.com/FIX94/tiny-vwii-nand-loader tiny-vwii-nand-loader]. ''(file renamed as "nandloader_vwii.app")''
** Forwarder DOLs generated from [https://modmii.github.io/ ModMii Classic] (application author: XFlak) ''(files renamed as "forwarder_v[XX].dol")''


* libWiiSharp (orig. author: Leathl), [https://github.com/WiiDatabase/libWiiSharp/ forked] by [https://github.com/WiiDatabase WiiDatabase].
Thanks to:
* [https://github.com/Alcaro/Flips Floating IPS] (Flips) by [https://github.com/Alcaro Alcaro].
* [https://github.com/SuperrSonic SuperrSonic] for reverse-engineering much of Wii software and official emulator code, and in particular, his [https://github.com/SuperrSonic/RA-SS fork of RetroArch Wii].
* [https://github.com/libertyernie/ccf-tools ccf-tools] (orig. author: paulguy) and [https://github.com/libertyernie/brawllib-wit BrawlLib] (orig. author: soopercool101), both forked by [https://github.com/libertyernie libertyernie].
* [https://github.com/saulfabregwiivc saulfabreg] for archiving several tools and aiding in research & documentation.
* ROMC compressor by Jurai, with additional LZSS code by Haruhiko Okumura.
* [https://gbatemp.net/members/sr_corsario.128473/ sr_corsario] for his work in disclosing NEO-GEO ROM injection methods.
* gbalzss by Andre Perrot, with additional LZSS code by Haruhiko Okumura.
* [https://github.com/Larsenv Larsenv] for his astounding work in the Wii homebrew community, and for originally disclosing a method for Flash WAD injection ([https://gbatemp.net/threads/how-to-make-flash-game-wad-injects.561406/ GBAtemp thread]).
* WWCXTool by alpha-0.
* And of course, the team at the 0RANGECHiCKEN release group, including [https://gbatemp.net/members/lolsjoel.18721/ lolsjoel], and the late [https://gbatemp.net/members/g0dlike.190457/ G0dLiKe], without whose work this project would not have been possible.
* HowardC's Tools (particularly, VCbrlyt).
 
I would also like to thank the following people:
 
* [https://github.com/SuperrSonic SuperrSonic] for reverse-engineering much of Wii software and official emulator code, and in particular, his [[RA-Hexaeco Wii]].
* [https://github.com/saulfabregwiivc SaulFabre] for archiving several tools and aiding in research & documentation.
* [https://github.com/Larsenv Larsenv] for his astounding work in the Wii homebrew community, and for originally disclosing a method for Flash WAD injection ([https://gbatemp.net/threads/how-to-make-flash-game-wad-injects.561406/ GBAtemp thread]).
* And of course, the team at the 0RANGECHiCKEN release group, including [https://gbatemp.net/members/lolsjoel.18721/ lolsjoel], and the late [https://gbatemp.net/members/g0dlike.190457/ G0dLiKe], without whose work this project would not have been possible.
 
This application is distributed and licensed under the GNU General Public License v3.0 ([https://github.com/CatmanFan/FriishProduce/blob/main/LICENSE view in full]).


==External links==
==External links==
* GitHub - https://github.com/CatmanFan/FriishProduce
* GitHub - https://github.com/CatmanFan/FriishProduce
* GBAtemp - https://gbatemp.net/threads/release-friishproduce-multiplatform-wad-injector.632028/
* GBAtemp - https://gbatemp.net/threads/release-friishproduce-multiplatform-wad-injector.632028/

Revision as of 10:16, 29 January 2024

FriishProduce
Friishproducewii.png
General
AuthorCatmanFan
TypePC Utilities
Version0.26-beta
LicenseGPL-3.0
Last Updated2023/12/24
Links
Download
Website
Source

FriishProduce is a WAD injector for Wii/vWii, which allows for automated ROM replacement in Wii channels. This application is designed to streamline the process to as few third-party programs as possible.

This injector bypasses other third-party assets (such as Common-Key.bin, most of HowardC's tools, and Autoinjectuwad/Devilken's VC) by handling many steps directly from the program's code. Some examples include:

  • WAD/U8 handling using libWiiSharp.
  • VC ROM injection through hex writing and/or file replacement - bye-bye AutoInjectuwad.
  • Automatic banner/icon editing using VCBrlyt.
  • Generates custom savedata image using original WAD's source TPL/WTE(s) - good riddance VCIconGen.
  • Automatically edits savedata text where available using hex writing - Sayonara VCSaveInject.
  • Additional content/emulator options for each platform where supported.

User guide

Supported systems

How to use

Please refer to the wiki for the most up-to-date guide.

Note: Make sure you have a (v)Wii NAND backup in case anything goes wrong.

Screenshots

friishproducewii.png

Changelog

v0.26-beta

  • Added:
    • New platform: Sony PlayStation (EXPERIMENTAL).
    • New forwarder emulators: WiiSX, WiiStation.
  • Other changes:
    • Interface & localisation script changes.
  • Pull requests:
    • Grammar & Capitalization Changes to en.json.
    • Additional Title Compatibility Update to database.json.
    • Korean translation updates by DDinghoya (Jul 21, Aug 3, Aug 14, Sep 9).

v0.25-beta

  • Added:
    • New platforms: TurboGrafx-16/PC Engine, SNK NEO-GEO, Microsoft MSX/MSX2 (Japan only).
      • Content options (TG16/PCE):
        • Simple configuration editor.
      • Content options (NEO-GEO):
        • Custom BIOS (.zip/.rom).
    • New forwarder emulators: Genesis Plus GX, FCEUX TX, Snes9x TX, FCE Ultra RX, Snes9x RX, Wii64 (WiiFlow mod by saulfabreg), Not64.
  • Other changes.
    • Switch to Wii.cs for WAD management in all natively-supported consoles/platforms except Adobe Flash. Flash & forwarders still using libWiiSharp.
  • Fixes:
    • General system stability improvements to enhance the user's experience.

v0.20-beta

  • Added:
    • New platforms: Sega Master System, Sega Mega Drive/Genesis.
      • Content options:
        • Includes configuration editor (mostly uniform for both platforms, since the emulator backend is almost identical).
        • Controller mapping.
    • New bases supported:
      • N64: Bomberman Hero (JPN), F-Zero X (USA; EUR; JPN), Mario Golf (JPN), Mario Party 2 (USA; EUR), Star Fox 64 (JPN; KOR), Yoshi's Story (USA; EUR; JPN).
      • SMS: Phantasy Star (USA; EUR) - emulator revision: v3, Sonic the Hedgehog (USA; EUR; JPN) - emulator revision: v2.
      • GEN/MD: Comix Zone (USA; EUR; JPN) - emulator revision: v1, Pulseman (USA; EUR) - emulator revision: v3, Sonic the Hedgehog 3 (USA; EUR; JPN) - emulator revision: v2.
    • Injection method:
      • Can select either the native Virtual Console emulator where supported, or a selection of emulator cores (forwarder mode).
      • Not supported in Adobe Flash mode.
    • Added option to retrieve image, full name & players data from Libretro database.
    • Added force video mode selection:
      • NTSC (sets all available video modes to NTSC 480i/p).
      • PAL50 (sets all available video modes to PAL50 576i/p).
      • PAL60 (sets all available video modes to PAL60 480i/p).
      • NTSC+PAL60 (sets all available video modes to either NTSC or PAL60 480i/p, depending on region).
      • NTSC/MPAL (sets all 480i/p video modes to NTSC and all 576i/p video modes to MPAL).
      • PAL50/PAL60 (sets all 480i/p video modes to PAL60 and all 576i/p video modes to PAL50).
      • Warning: May cause slow framerate or crash if the output WAD's set video mode does not match that of the console (e.g. NTSC <=/=> PAL50 Wii)..
      • Not supported in forwarder mode.
    • "Browse WAD" dialog now supports multiselect, so more than one WAD file can be added to the application's bases list at once.
    • Option to generate random title ID.
  • Other changes:
    • New logo.
    • Major interface updates.
    • Changes implemented based off the source code for Patcher64+ Tool:.
      • Added option to remove *.T64 texture files from N64 WAD content.
      • Simplified N64 main.dol modification mechanism using self-coded bytes search function.
      • Switched main.dol compression method from WWCXTool to LZSS (by CUE).
    • Fixed some quirks in FR/ES translation strings.
  • Fixes:
    • Fixed "Delete WAD" function mechanism (e.g. application would delete the wrong WAD file).
    • General system stability improvements to enhance the user's experience.
  • Known bugs:
    • On certain SEGA WADs (e.g. Comix Zone), the CCF auto-compression method can potentially cause a black screen on load (i.e. Wii console can be turned off gracefully, so it doesn't count as a "crash") . This happens to be an issue with how CCFarc.exe handles compression, as compressing the CCF using HowardC's tools seems to work either way. This bug has been all but fixed during development but nonetheless still has a very rare chance of occurring. In the event that it does, try injecting using another base or different content options/title IDs.

v0.11-beta

  • Added:
    • New language: Korean (credits to DDinghoya).
  • Other changes:
    • Removed "injection done" message prompt as it occassionally caused the application to stop responding even after a WAD has been generated. A simple "ding" sound is now played instead.
    • Updated database.json.
      • Add support for certain Japanese/Korean versions of existing WADs.
  • Fixes:
    • Issues affecting compatibility with Japanese/Korean WADs.
      • Fixed method of NES savedata title generation in non-Latin writing systems.
      • Fixed Opera.arc manual file deletion causing Korean NES title(s) to fail.
    • Language selection may not work correctly if list is not alphabetically ordered.
    • Changed bitmap generation of TPL savedata to using new bitmap instead of loading from the original imagefile directly..
    • General system stability improvements to enhance the user's experience.

v0.10-beta

  • Added:
    • New platform: Shockwave/Adobe Flash.
      • Content options:
        • Enable "Unsaved data" message in HOME Menu.
        • Change SWF update rate (FPS?).
        • Enable save data; change total savedata size in KB.
        • Strap reminder setting.
        • Controller mapping to keyboard values.
      • Custom VC-style icon generator for Flash.
    • Light theme.
    • Ahora en Español.
  • Other changes:
    • Updated interface.
    • Switched database format to JSON.
    • Updated language strings handling to JSON format based off of Eldemarkki's SimpleTranslationSystem.
      • This means that anyone can now provide their own translations of the application without having to deal with .resx files.
    • Supplying a title screen image is now optional. This can be useful for certain ROM hacks such as randomizers, cheatcode patches, ..
      • You can now right/middle click to remove your image if one was already selected.
    • Optimized "retain aspect ratio" function for saveicon image.
  • Fixes:
    • Incorrect Ninja Gaiden (EUR) title ID in database.
    • NES palettes not working correctly.
    • Saveicon image may fail on non-Flash platforms due to indexed format.
    • General system stability improvements to enhance the user's experience.

v0.0.2.0-alpha

  • Added:
    • Banner/icon/saveicon customization.
    • New bases supported.
      • NES: Ninja Gaiden (EUR).
      • N64: Custom Robo V2 (JPN), Mario Kart 64 (USA).
    • N64 content options.
      • Fix brightness (removes dark/epilepsy filter in some bases).
      • 8MB extended RAM.
      • Allocate 32MB to ROM (not supported in some bases).
    • More NES palettes.
  • Other changes:
    • French translation updated.
    • "System Default" added to language settings.
    • Application icon.
    • Some bugfixes & under-the-hood failsafes added.
      • Fixed exception when deleting WAD from bases list.
    • Removed HBC transmitter.

v0.0.1.0-alpha

  • Pre-release alpha build, only includes NES, SNES and N64 injection (rom/romc). No banner customization, and there are still a lot of additional missing features and stuff that needs to be fixed.

Credits

This program uses the following third-party components and apps:

Thanks to:

  • SuperrSonic for reverse-engineering much of Wii software and official emulator code, and in particular, his fork of RetroArch Wii.
  • saulfabreg for archiving several tools and aiding in research & documentation.
  • sr_corsario for his work in disclosing NEO-GEO ROM injection methods.
  • Larsenv for his astounding work in the Wii homebrew community, and for originally disclosing a method for Flash WAD injection (GBAtemp thread).
  • And of course, the team at the 0RANGECHiCKEN release group, including lolsjoel, and the late G0dLiKe, without whose work this project would not have been possible.

External links

Advertising: