libWiiPy.nand.emunand Module#

The libWiiPy.nand.emunand module provides support for creating and managing Wii EmuNANDs. At present, you cannot create an EmuNAND compatible with something like NEEK on a real Wii with the features provided by this library, but you can create an EmuNAND compatible with Dolphin.

Module Contents#

class libWiiPy.nand.emunand.EmuNAND(emunand_root: str | Path, callback: callable = None)#

Bases: object

An EmuNAND object that allows for creating and modifying Wii EmuNANDs. Requires the path to the root of the EmuNAND, and can optionally take in a callback function to send logs to.

Parameters:
  • emunand_root (str, pathlib.Path) – The path to the EmuNAND root directory.

  • callback (function) – A callback function to send EmuNAND logs to.

emunand_root#

The path to the EmuNAND root directory.

Type:

pathlib.Path

class InstalledTitles(type: str, titles: List[str])#

Bases: object

An InstalledTitles object that is used to track a title type and any titles that belong to that type that are installed to an EmuNAND.

type#

The type (Title ID high) of the installed titles.

Type:

str

titles#

The Title ID low of each installed title.

Type:

List[str]

titles: List[str]#
type: str#
get_installed_titles() List[InstalledTitles]#

Scans for installed titles and returns a list of InstalledTitles objects, which each contain a title type (Title ID high) and a list of Title ID lows that are installed under it.

Returns:

The titles installed to the EmuNAND.

Return type:

List[InstalledTitles]

get_title_ticket(tid: str) Ticket#

Gets the Ticket for a title installed to the EmuNAND, and returns it as a Ticket object. Returns an error if the Ticket for the specified Title ID does not exist.

Parameters:

tid (str) – The Title ID of the Title to get the Ticket for.

Returns:

The Ticket for the Title.

Return type:

Ticket

get_title_tmd(tid: str) TMD#

Gets the TMD for a title installed to the EmuNAND, and returns it as a TMD objects. Returns an error if the TMD for the specified Title ID does not exist.

Parameters:

tid (str) – The Title ID of the Title to get the TMD for.

Returns:

The TMD for the Title.

Return type:

TMD

install_title(title: Title, skip_hash=False) None#

Install the provided Title object to the EmuNAND. This mimics a real WAD installation done by ES.

This will create some system files required if they do not exist, but note that this alone is not enough for a working EmuNAND, other than for Dolphin which can fill in the gaps.

Parameters:
  • title (libWiiPy.title.Title) – The loaded Title object to install.

  • skip_hash (bool, optional) – Skip the hash check and install the title regardless of its hashes. Defaults to false.

uninstall_title(tid: str) None#

Uninstall the Title with the specified Title ID from the EmuNAND. This will leave shared contents unmodified.

Parameters:

tid (str) – The Title ID of the Title to uninstall.