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

D2xl cIOS Wii: Difference between revisions

From GameBrew
m (HydeWing moved page D2xl Cios? Mini Wii to D2x-cIOS Installer (Wii Mini) without leaving a redirect)
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#seo:
|title=Wii Homebrew Apps (Utilities) - GameBrew
|title_mode=append
|image=d2xciosinstallerwiimini.jpg
|image_alt=d2x-cIOS Installer (Wii Mini).jpg
}}
{{Infobox Wii Homebrews
{{Infobox Wii Homebrews
|title=d2x-cIOS Installer (Wii Mini)
|title=d2xl-cIOS
|image=d2xciosinstallerwiimini.jpg
|image=d2xlcioswiimini2.png
|description=A fork of davebaol's d2x-cIOS.
|description=A fork of davebaol d2x-cIOS. For Wii Mini.
|author=leseratte
|author=Leseratte
|lastupdated=2019/09/29
|lastupdated=2022/08/18
|type=Utilities
|type=System Tools
|version=d2xl-v1-beta2
|version=1-beta2
|license=GPL-3.0
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/wiihomebrews/d2xciosinstallerwiimini.7z
|download=https://dlhb.gamebrew.org/wiihomebrews/d2xlcioswiimini.7z?k33p0fil35
|website=https://gbatemp.net/threads/d2xl-cios-a-fork-of-davebaols-d2x-cios.558581/
|website=https://gbatemp.net/threads/d2xl-cios-a-fork-of-davebaols-d2x-cios.558581/
|source=https://github.com/Leseratte10/d2xl-cios
|source=https://github.com/Leseratte10/d2xl-cios
}}
}}
'''d2xl-cIOS''' is a fork of davebaol's d2x-cIOS for the Wii and WiiU, created by Leseratte. The main objective was to make the cIOS compatible with the Wii Mini, which was achieved through the use of a hex editor. After fixing compiler issues and successfully compiling the source code on February 15th, 2020, Leseratte has plans to further enhance the cIOS by adding additional features.
d2xl-cIOS ("l" for "Leseratte") is a fork of davebaol's [[D2x cIOS Wii|d2x-cIOS]] (d2x-v10-beta52). The main objective was to make the cIOS compatible with the Wii Mini, which was achieved through the use of a hex editor.  
 
cIOS is a custom IOS for the Wii console, i.e. an IOS modified to add some new features not available in the official IOS. The d2xl cIOS is an enhanced version of the d2x cIOS, which is based on the cIOSX rev21 by Waninkoko.
 
'''Note:''' These cIOS are only intended to be used on the Wii Mini.
 
==Installation==
You can install d2x cios through [[ModMii Wii|ModMii]] or [[D2x cIOS Installer Wii|d2x cIOS Installer]].
 
d2x cIOS Installer:
*Extract d2x-cios-installer into the apps folder of your SD card or USB device
*Extract the latest release of d2xl-cIOS on your SD card or USB device into the folder /apps/d2x-cios-installer.
*NOTE: 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, set the options to the following:
** Select cIOS: d2xl - beta
** Select cIOS base: 57
** Select cIOS slot: 249
** cIOS revision: leave it as default, or set 65535
*Once set, press A to install. Once done successfully, exit the installer.
 
See also:
*[https://gbatemp.net/threads/d2xl-cios-a-fork-of-davebaols-d2x-cios.558581/post-8968173 IOS explanation and install tips] by Cyan.
*[https://wii.guide/cios-mini.html d2xl cIOS install guide] from wii.guide.
 
==Changelog==
'''d2xl v1-beta2'''
* Add support for the Wii Mini base IOS57v31775 (found on an USA wii mini).
 
'''d2xl v1-beta1'''
* Beta version by Leseratte that adds support for the Wii Mini base IOS57v31776. Previously known as d2x v10-52mini1. Based on d2x v10-beta52.
 
'''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.


'''Note: This installer is only for the Wii Mini.'''
'''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.


==Description==
'''d2x v4'''
The latest version of the d2xl fork is a beta version, d2xl-v1-beta2, which is available for download [https://wii.leseratte10.de/d2xl-cIOS/ here]. Currently, it is only compatible with the Wii Mini.
* 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.


I have been working on making the d2xl fork work on the Wii and vWii as well, with the goal of adding new features to the cIOS in the future. Currently, the d2xl fork does not offer any benefits over using d2x-v10-beta52.
'''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.


My current focus is to create a single cIOS that will work on all three platforms (Wii, vWii, and Wii Mini), instead of having separate versions for each. Additionally, I am working on writing patches for various homebrew tools, including the d2x cIOS installer, "Syscheck Hacksden Edition," and the USB-Loader GX and WiiFlow Lite. These patches will allow the tools to work properly with the d2xl cIOS.
'''d2x v2'''
* Fixed secondary USB port lag.


When the d2xl cIOS is released, XFlak will update ModMii to create d2xl cIOS WAD files.
'''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.


==Installation Guide==
==Credits==
#Launch the d2x-cIOS installer from the Homebrew Channel and skip the disclaimer.
KUDOS:
#In the installer, select the following options:
* rodries, for the help with EHCI improvements.
*"Select cIOS": d2xl-v1-betaX
* Crediar, for all I learned studying Sneek source code.
*"Select cIOS Base": 57
* Oggzee, for his brilliant fraglist.
*"Select cIOS slot": 249
* WiiPower, for the great help with ios reload block from usb.
#Confirm the selected options by pressing "A". This will install the cIOS with IOS base 57 in slot 249.
* dragbe and NutNut, for their d2x cios installer.
#Once the installation is complete, exit the installer by pressing "B".
* 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.it and GBAtemp.net 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 the Custom IOS module.
* All the betatesters.


==External Links==
==External Links==
* Github - https://github.com/Leseratte10/d2xl-cios
* GitHub - https://github.com/Leseratte10/d2xl-cios
* Gbatemp - https://gbatemp.net/threads/d2xl-cios-a-fork-of-davebaols-d2x-cios.558581/
* GBAtemp - https://gbatemp.net/threads/d2xl-cios-a-fork-of-davebaols-d2x-cios.558581/

Latest revision as of 13:06, 6 July 2024

d2xl-cIOS
D2xlcioswiimini2.png
General
AuthorLeseratte
TypeSystem Tools
Version1-beta2
LicenseGPL-3.0
Last Updated2022/08/18
Links
Download
Website
Source

d2xl-cIOS ("l" for "Leseratte") is a fork of davebaol's d2x-cIOS (d2x-v10-beta52). The main objective was to make the cIOS compatible with the Wii Mini, which was achieved through the use of a hex editor.

cIOS is a custom IOS for the Wii console, i.e. an IOS modified to add some new features not available in the official IOS. The d2xl cIOS is an enhanced version of the d2x cIOS, which is based on the cIOSX rev21 by Waninkoko.

Note: These cIOS are only intended to be used on the Wii Mini.

Installation

You can install d2x cios through ModMii or d2x cIOS Installer.

d2x cIOS Installer:

  • Extract d2x-cios-installer into the apps folder of your SD card or USB device
  • Extract the latest release of d2xl-cIOS on your SD card or USB device into the folder /apps/d2x-cios-installer.
  • NOTE: 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, set the options to the following:
    • Select cIOS: d2xl - beta
    • Select cIOS base: 57
    • Select cIOS slot: 249
    • cIOS revision: leave it as default, or set 65535
  • Once set, press A to install. Once done successfully, exit the installer.

See also:

Changelog

d2xl v1-beta2

  • Add support for the Wii Mini base IOS57v31775 (found on an USA wii mini).

d2xl v1-beta1

  • Beta version by Leseratte that adds support for the Wii Mini base IOS57v31776. Previously known as d2x v10-52mini1. Based on d2x v10-beta52.

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.it and GBAtemp.net 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 the Custom IOS module.
  • All the betatesters.

External Links

Advertising: