NDEV Setup Guide
This is a guide to building and running software using the Revolution SDK on an NDEV unit.
This includes the setup of the SDK itself and its prerequisites, as well as setup of the NDEV interface drivers.
This guide assumes you are using the most commonly available versions of the NDEV (2.1) and Revolution SDK (3.2), but is applicable to other versions as well, and can be used e.g. for setting up the DIAG4RVL.7z environment.
Important note: The NDEV does not function or output any video to a TV unless it is properly attached to a host PC running the ODEM software. It is normal for an NDEV to do nothing but light up and run the fan unless it is set up properly.
Important note 2:: If you are especially interested in backing up anything that might be on the NDEV and have access to a hardware flash dumper or are willing to send it to someone who does, do so before powering the console on (and especially before running any executables) to ensure as much is kept as possible. NDEVs do not have a full hard drive for internal game storage, so typically there is not anything to find other than save data and system titles (and WiiWare/VC if it was used for development of such), however executables of previously ran titles may still be present in the cache.
Otherwise, it is described later in the guide how to obtain a NAND dump with software.
If you need help, please see the Main Page for information on accessing the Rare Gaming Dump Discord or Matrix chats. We are always willing to help!
Requirements
You will need a Windows PC with a minimum of 3 USB ports - if you want serial output from the NDEV, you will also need a serial port or a USB serial cable (tested with Prolific PL-2303 chipsets).
For best results, use an installation of 32-bit Windows XP SP2/3 with 3 USB2.0 ports available directly on the host (rather than using a hub). Installing on newer versions of Windows is possible, but may require disabling driver signature enforcement to install the NDEV drivers. Other configurations such as installing in a VM, using USB1.0/3.0 ports, or using USB hubs are possible but known to be less reliable (although a good powered USB hub doesn't seem to pose any issues).
You will of course need the NDEV itself, as well as the following cables:
- a standard NEMA power cable for powering the NDEV (often used for monitors and PC towers)
The NDEV supports 100V-240V power intake, so a voltage converter should not be necessary and using one has been known to cause issues.
- three USB A-to-B cables (commonly used for printers)
- an RS-232 serial cable or USB-serial cable (optional, recommended)
- standard Wii video output cables
Most NDEVs are compatible with retail Wii Remotes.
For software, you will need the Revolution SDK, the NDEV drivers, and the Metrowerks compiler package.
Since no license crack for the MW package is currently available, you will need to set your system clock to a date in the past (anytime before 2006 should work).
Cygwin
The Revolution SDK depends on a special Cygwin environment requiring older packages that are no longer available from official mirrors. As such, it is necessary to install them from our own server.
First, obtain the Cygwin installer from https://cdn.archive.rem-verse.com/pub/cygwin/setup-x86.exe
then, run the following command to install all required packages (you must point CMD to the folder where setup-x86.exe is present)
setup-x86.exe --allow-unsupported-windows --no-verify --quiet-mode --root C:\cygwin --site http://legacy-cdn.archive.rem-verse.com/pub/cygwin/circa/2016/08/30/104223/ --packages __autorebase,__update-info-dir,alternatives,ash,base-cygwin,base-files,base-passwd,bash,binutils,bzip2,ca-certificates,clang,coreutils,crypt,csih,cygrunsrv,cygutils,cygwin,cygwin-devel,dash,diffutils,dos2unix,editrights,file,findutils,flex,fzf,fzf-vim,gawk,gcc-core,getent,grep,groff,gzip,hostname,info,ipc-utils,less,libargp,libatomic1,libattr1,libblkid1,libbz2_1,libcharset1,libclang3.8,libcom_err2,libcrypt0,libdb4.8,libedit0,libexpat1,libffi6,libgcc1,libgdbm4,libgmp10,libgomp1,libgssapi_krb5_2,libguile17,libiconv,libiconv-devel,libiconv2,libintl-devel,libintl3,libintl8,libisl13,libk5crypto3,libkrb5_3,libkrb5support0,libllvm3.8,libltdl7,liblzma5,libmpc3,libmpfr4,libncurses8,libncursesw10,libopenssl100,libp11-kit0,libpcre0,libpcre1,libpipeline1,libpopt-common,libpopt0,libquadmath0,libreadline6,libreadline7,libsigsegv2,libsmartcols1,libsqlite3_0,libssp0,libtasn1_6,libuuid-devel,libuuid1,libtv0,libyaml0_2,login,m4,man,man-db,mintty,mktemp,ncurses,openssh,openssl,p11-kit,p11-kit-trust,perl,perl-Pod-Simple,perl-Unicode-Normalize,perl_autorebase,perl_base,python,python3,rebase,rsync,ruby,ruby-curses,ruby-json,ruby-minitest4,ruby-rake,ruby-rdoc,rubygems,run,sed,ssh-pageant,tar,termcap,terminfo,texinfo,tzcode,tzdata,unzip,util-linux,vim,vim-clang-format,vim-common,vim-doc,vim-minimal,w32api-headers,w32api-runtime,which,windows-default-manifest,xxd,xz,zip,zlib-devel,zlib0,gcc-g++,libstdc++6
As of writing, you will also need to separately obtain make-3.80 from https://legacy-cdn.archive.rem-verse.com/is-twl-debugger/requirements/make-3.80.1.tar.xz, extract it and place the executable into Cygwin's $PATH. We are working on wrapping this into the rest of the packages installed above.
Check the console for errors and continue.
SDK
Extract your RVL_SDK, NDEV software and Metrowerks packages.
Run the Metrowerks setup program.
In the root folder of the extracted RVL_SDK, edit the file RVL_NDEV.bat and confirm the path names specified by its environment variables (moving directories or editing the paths as necessary). You may also need to set these paths as system level environment variables in Control Panel.
Navigate to the 'build' folder of the SDK and run make. If the build completes and produces ELF files, this indicates the SDK and MW components have been installed correctly.
NDEV software
Run the ND-Installer setup program.
Attach the three USB cables (the serial cable is not required at this stage). Power on the NDEV and Windows should begin asking for driver files. Decline its suggestion to use Windows Update and point it at the NDEV software's drivers folder. Repeat this a few times and you should be able to open the ODEM software.
Once the ODEM software is running, plug the NDEV into a TV, right-click the ODEM system tray icon and issue a reset. At this point, the NDEV should boot up and display something on the TV - most likely either the NDEV Menu or the Wii Menu depending on what the previous owner left it with.
Serial
If you wish to set up serial (highly recommended, especially if you are doing development or running SDK demos, as the SDK's printf() equivalent (OSReport) only outputs to NDEV serial):
power off the NDEV, attach serial cable
install the drivers for your serial chipset/cable (if needed)
obtain Tera Term from https://github.com/TeraTermProject/teraterm/releases/download/teraterm-4_63/teraterm-4.63.exe - this version is confirmed working with WinXP while the latest one isn't, but other versions might work too
configure the port with the following settings:
Baud rate: 115200
Flow control: Xon/Xoff
Receive CR/LF (in Tera Term this is in a separate menu)
no parity
do a power on/reset and see if the NDEV menu's serial output comes in on the Tera Term window
Running executables
Do "ndrun <file.elf>" from within the RVL_NDEV.bat environment to run an executable on the NDEV. This will automatically reset the NDEV and have ODEM load the file with the SDK's dvddata directory used as the effective disc drive root.
As stated in the RVL_NDEV.bat opening message, you can do "setndenv DvdRoot <path>" to change the disc root.
Homebrew executables are also supported, although larger ones such as OHBC may cause issues - WiiPax-packed executables (Team Twiizers software) also do not work.
Running games
extract a game using Dolphin or WiiScrubber
use Segher's dol2elf to convert the main.dol into an elf
set your dvddata directory to a folder containing the game's extracted filesystem
run setfirmware <number> to set an appropriate IOS for the game
issue ndrun on the main.elf
NAND dump/keys
The current 'safe' way to dump the NAND and keys of an NDEV is to use BootMii/IOS installed by HackMii installer v1.0.
There is also an experimental method involving installing BootMii as boot2 using the RGDBoot installer - this is easier to perform on a system that does not have the Wii Menu installed and performs fewer writes to NAND (greatly increasing the chances of finding interesting leftovers in the dump), but is less tested and potentially more dangerous since it writes to boot blocks.
BootMii/IOS
To install and run BootMii/IOS, you will need a way to run the HackMii Installer and the Homebrew Channel. It's not possible to ndrun the HackMii Installer, so you will have to run it via a game exploit or a System Menu exploit like bluebomb, str2hax, bannerbomb or letterbomb. The latter requires installing the Wii Menu using the Wii Menu Changer (4.2 preferred since bannerbomb is probably the easiest), the former requires copying over exploit saves and ndrun'ing an exploit game.
You will need to use HackMii installer v1.0 (not 1.2, the latest).
If you have installed the HBC but are still on the NDEV menu, you'll have to use the NMenu tool to boot it.
You could also install the HBC manually using Nmenu if you have a dev-signed wad of it, and use that to load the HackMii Installer to install BootMii.
You can then proceed to BootMii/IOS through the Homebrew Channel menu and do a dump as normal.
RGDBoot Installer (BootMii/boot2)
The official HackMii installer doesn't support installing BootMii as boot2 on dev units. However, the RGDBoot Installer enables you to write a known-good copy of BootMii to the boot blocks.
You can obtain a copy of the RGDBoot installer that can be loaded via ndrun at: https://rgdboot.raregamingdump.ca/rgdboot.elf
and a copy of the BootMii boot blocks at: https://rgdboot.raregamingdump.ca/backup-RVT-Bootmii-Boot2-Blocks.bin
Ndrun the installer and use the 'restore a boot2 backup' option to load the boot blocks from the SD card. Don't touch any other options. This will install bootmii as boot2, which can then be loaded using the armboot.bin/ppcboot.elf files from a normal installation (set up by the HackMii Installer) on any Wii. You can use the bootmii.ini config file to control autoboot and video mode settings.
Installing Wii Menu
You will need to use the Wii Menu Changer software. It's possible to also manually resign and install a Wii Menu WAD, but very dangerous since if there is an issue with the corresponding IOS you will hard-brick.
Run the 'Wii Menu Uninstaller' program. This will install the NDEV menu in place of the Wii menu.