Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

D2x cIOS Wii

From GameBrew
d2x cIOS
D2xcioswii2.png
General
Authordavebaol, wiidev
TypeUtilities
Versiond2x-v11-beta1
LicenseGPL-3.0
Last Updated2023/01/03
Links
Download
Website
Source

d2x cIOS is a custom version of the IOS (the operating system) for the Nintendo Wii and Wii U consoles. It has been modified to include additional features not found in the official IOS. It is intended to be used exclusively with homebrew software.

It is an upgraded version of the cIOSX rev21, developed by Waninkoko.

Disclaimer: This application comes with no warranty at all, neither expressed nor implied. No one but yourself is responsible for any damage to your console because of an improper usage of this software.

Installation

You can install d2x cIOS through ModMii or d2x cIOS Installer. The easiest way is the installer. It installs the cIOS directly, so a WAD Manager is not needed.

The installer uses the IOS bases from SD/USB (you can get them via NUS Downloader) or download them using the Wii internet connection directly. ModMii is really good too, but you need Windows to use it. Once you have the wad you can install them with a WAD Manager.

The recommended configuration: 249 - base 56, 250 - base 57.

ModMii

  • Download and install ModMii for Windows v4.8.1 or higher on your PC.
  • From ModMii's Main Menu, enter "4", then "beta".
  • Select the d2x beta you want to build.
  • Mark some or all d2x cIOSs for download (i.e. "d2x").
  • Enter "D" then "Y" to build d2x beta cIOSs\WADs.
  • Install cIOSs using a WAD Manager - i.e. WiiMod\MMM\YAWMM (available on ModMii's Download Page 2).

d2x cIOS Installer

  • Download the latest d2x cIOS installer, extract it into the apps folder of your SD card or USB device.
  • Extract d2x-v8-final on your SD card or USB device into the folder /apps/d2x-cios-installer.
  • Note that this will overwrite the file /apps/d2x-cios-installer/ciosmaps.xml possibly present in that folder. You might want to rename it before extracting the d2x package.
  • Launch the Homebrew Channel, start the installer and follow the instructions on the screen.

Notes

  • Do not use this on the Wii Mini.
  • Currently ModMii v6.2.3 doesn't support the vWii editions. Use the d2x-cios-installer in this case.
  • Never install a vWii edition on a real Wii and viceversa.
  • For documentation and tutorials see d2x-cios's Wiki page.
  • See also the Understanding IOS guide by Cyan.

Changelog

d2x v11 - wiidev

  • Fixed RiiConnect24 compatibility by removing the SDHC module and adding the SDHC functions directly to the cIOS lib.
  • Added EmuNAND UStealth support thanks to airline38.

d2x v10

  • Added support for Virtual Wii bases 56/57/58.
  • Reverted to r43, i.e. last v8 revision. Also ported some useful fixes and features from r49, i.e. last v9 revision, especially:
    • Fixed an EHCI issue in ReadCapacity that prevented certain usb devices from working (tnx to digicroxx).
    • Fixed an EHCI issue in GetDescriptors that prevented certain usb devices from working (tnx to digicroxx).
    • Removed from ciosmaps.xml the patch to skip the process id check inside os_software_IRQ(4).
    • Fixed content id for bases 60/70/80 in ciosmaps.xml (tnx to dragbe).
    • Added maked2x.sh to build the cios on Linux (tnx to r* win).
    • Added stripios source to svn.
    • Removed the easter egg introduced by Waninkoko in cios rev20.
    • Minor changes and code clean up.

d2x v9

  • Switched to d2x* alt branch.

d2x v8

  • Enhanced stealth mode to prevent cios detection.
  • Added ioctl command to enable/disable stealth mode when a game is not running. Stealth mode is enabled by default.
  • IOS reload block is now enabled by default.
  • Fixed IOS reload block failure when the original IOS required by the game is not installed. It works for real and emu nand.
  • Fixed return to channel failure when the system menu is not installed on emu nand.
  • Fixed missing cache flush when removing error 002 after IOS reload block. Now syscall kernel_set_version is used instead.
  • Added direct access to syscalls. This allows you to invoke a syscall from inside another syscall.
  • Added support for paths starting with '#' which are used to open files on real nand even if nand emu is on. Also, access to these paths is protected by stealth mode.
  • FAT files are now opened through relative path to fix issue 16. Now Disney Universe and all the games using long paths work properly in nand emulation.
  • Disabled file sharing control in FAT module to overcome a stupid issue made by developers in The Beatles Rock Band. See issue 11.
  • Fixed black screen in partial emulation when starting a game never launched before on real nand. See issue 14.
  • Added support for virtual sector size on WBFS drives to bypass the 500 game limit (thanks fig2k4). The optimal sector size is 4KB, that allows up to 4084 games. Note that this feature is useful only for the loaders that don't use the fraglist for WBFS partitions, for example NeoGamma, WiiFlow and CFG.
  • AHBPROT is now really enabled.
  • USB Gecko functions completely rewritten. Now it's really plug&play and the cios works even when debug mode is enabled and USB Gecko is connected only to the Wii (tnx to mini source).
  • Removed the unused method 1 for IOS reload block.
  • Minor changes and code clean up.

d2x v7

  • Refactored all modules and plugins in order to achieve code reuse through a new common library.
  • Updated ciosmaps.xml to include the IRQ4 patch required by the new experimental EHCI module (not released yet).
  • Used a more proper offset to detect DL games like Sakura Wars.
  • Disabled nand emulation before returning to system menu or channel.
  • Improved error 002 fix after ios reload block. Now Wii Fit Plus channel installation works properly.
  • Fixed missing identification and patch for base IOS60* v6174 in ES plugin.
  • Added auto detection of the first FAT partition on the device when nand emulation is activated without specifying any partition.
  • FAT Module moved a bit forward in memory in order to create the space required by the new experimental EHCI module (not released yet).
  • Fixed a bug when closing FAT module.
  • Fixed an alignment issue on file renaming in FFS plugin.
  • Removed support for base IOSs with old version like IOS38 v3610.
  • Added ios reload block capability for nand emulation.
  • Removed FAT ISO loading support from DIP plugin (never used by any loader and completely useless now thanks to fraglist capability added in v6).
  • Fixed a memory alignment issue that could break ios reload block.
  • Added bidirectional escape for invalid FAT characters in nand emulation.
  • Now FAT_GetUsage returns fake values for WiiWare/VirtualConsole and real values taken from FAT for disc* based Wii games. This workaround has proven to improve nand emulation compatibility.
  • Added a thread to make the drive led blink when writing to FAT.
  • Added nand emulation mode rev17* like (experimental).
  • Fixed COD MW3 online update on full nand emulation. More generally this fix should improve compatibility with DLC installation on emulated nand also for games like COD Black Ops, Rock Band 3 and Guitar Hero 5.
  • Now the tree /import is emulated in partial mode too. This way COD MW3 online update and DLC installation work properly in partial emulation.
  • Added a hack that allows No More Heroes 2 to create the save file in nand emulation mode (tnx to Sneek source).
  • Minor changes and code clean up.

d2x v6

  • Added fraglist to support potentially any file system (tnx oggzee).
  • Added support in fraglist for sector size up to 4K (typically required for hard drives greater than 2TB).
  • Fixed a compatibility issue with libfat/libntfs in EHCI module.

d2x v5

  • Added USB/SD support for games affected by ios reload. Currently only WBFS partitions are supported (tnx WiiPower for your help).
  • Fixed dual layer detection for games like Sakura Wars.
  • Fixed GameCube audio streaming command for retail discs (tnx WiiPower).
  • Added missing patches for base ios 53 and 55 in ES module.
  • Minor changes and code clean up.

d2x v4

  • Fixed error 002 in method 2 for blocking ios reload.
  • Repeated ios reload are now supported by method 2.
  • Added support to reload any ios, not only 249.
  • Added "return to channel" feature compatible with all games out there.
  • Fixed a bug in nand emulation to properly support HDD greater than 1TB.
  • Added support for sector size up to 4KB (typically required for hard drives greater than 2TB).
  • Removed file logging introduced in v3 since has proved harmful to games like LostWinds and LostWinds Winter of the Melodies.
  • Updated FatFs to 0.8b. This allowed us to remove the workaround on file renaming introduced in d2x v3.
  • Fixed a potential buffer overflow while reading a directory.
  • Fixed the error code returned by FAT_Readdir when the requested folder is an existing file (now all Strong Bad episodes are working properly).
  • Fixed a bug in FAT_GetStats (now games like Max & the Magic Marker, FFCC My Life as a King and FFCC My Life as a Darklord are working properly).
  • Fixed a bug in FAT_Seek to prevent from increasing the file size when seeking out of the file.
  • Fixed the length of the output buffer in FAT_ReadDir.
  • Changed timing logic in FAT module.
  • Minor changes and code clean up.

NOTE:

  • Currently ios reload block improvements are only relevant to disc loading!!!
  • Blocking ios reload for usb loaders will be investigated in future releases.

d2x v3

  • Fixed a bug in nand usage causing save creation failure in WiiWare games like Tetris Party, FFCC My Life as a King and Brain Challenge.
  • Fixed the deletion of folder /tmp on nand emulation start up.
  • Added a workaround to fix a bug on file renaming causing the failure on the 2nd save in games like The Will of Dr.Frankenstein.
  • Added multiple partition support for nand emulation (default partition is 0 for backward compatibility).
  • Implemented logging system to make debugging easier.
  • Fixed a bug causing the message "corrupted data" in The Tower of Druaga.
  • Fixed a bug causing stall in LIT.
  • Other minor changes and code clean up.

d2x v2

  • Fixed secondary USB port lag.

d2x v1

  • Fixed wiimote lag issue by restoring timing logic from cIOSX rev19.
  • Fixed wiimote synch delay on WiiFlow start up by changing initial period in timer creation.
  • Fixed os_restart_timer with the correct number of arguments.

Credits

KUDOS:

  • rodries, for the help with EHCI improvements.
  • Crediar, for all I learned studying Sneek source code.
  • Oggzee, for his brilliant fraglist.
  • WiiPower, for the great help with ios reload block from usb.
  • dragbe and NutNut, for their d2x cios installer.
  • XFlak, for his wonderful ModMii which supported d2x wads since its birth. Without ModMii d2x cios would probably never have existed. Also, XFlak had the original idea to replace the buggy EHCI module of cIOSX rev21 with the working one from rev19.
  • HackWii and GBAtemp communities, for their ideas and support.
  • Totoro, for the official d2x logo
  • ChaN, for his FatFs.
  • Waninkoko, for his cIOSX rev21.
  • Team Twiizers and devkitPRO devs for their great work in libogc.
  • WiiGator, for his work in the DIP plugin.
  • kwiirk, for his EHCI module.
  • Hermes, for his EHCI improvements.
  • neimod, for his Custom IOS Module Toolkit.
  • All the betatesters.

External Links

Advertising: