Revision as of 21:21, 2 June 2010 editBriGuy92 (talk | contribs)68 edits →Software← Previous edit |
Latest revision as of 20:29, 4 September 2020 edit undoPokechu22 (talk | contribs)Extended confirmed users6,641 edits Rcat |
(217 intermediate revisions by more than 100 users not shown) |
Line 1: |
Line 1: |
|
|
#REDIRECT ] |
|
{{cleanup|date=October 2009}} |
|
|
{{Lead too short|date=August 2009}} |
|
|
|
|
|
|
|
{{Rcat shell| |
|
'''Wii ]''' refers to the reuse of ]'s ] game console hardware, accessories and software for purposes outside those intended by the manufacturer. |
|
|
|
{{R to section}} |
|
|
|
|
|
{{R from merge}} |
|
Original efforts focused on using the ] as a pointing device on other operating systems, or running web-based games in the built-in web browser. Subsequent developments, such as the "]", "Bannerbomb", and the "]", have made native code execution possible. |
|
|
|
}} |
|
|
|
|
==Software== |
|
|
The architecture of the ] is based on the ] hardware, therefore most of the homebrew development tools used for the Nintendo GameCube are usable for Wii development. The Wii contains a GameCube compatibility mode, so most GameCube homebrew runs unmodified, albeit at a slower clock than native Wii applications. Code running in GameCube mode also cannot access hardware that is unique to the Wii, such as the Wii Remote, and USB ports. One of these homebrew applications is ]. This application is mostly used for the running of unofficial, non Nintendo-Approved code, such as games, emulators, and media players. |
|
|
|
|
|
The first example of homebrew code being run in native Wii mode was demonstrated in December 2007 at the 24th Annual ] (24C3). It showed code running and responding to the Wii Remote.<ref></ref><ref></ref> Later, the release of the Twilight Hack software made it possible to run native Wii homebrew code without any hardware modifications. This hack was created by ] and is the first release of a non-modchip homebrew-enabling exploit on the Wii. However, System Menu 3.3 blocked the 'alpha' version of the hack. According to Nintendo, "Because unauthorized modifications to save files may impair game play or the Wii console, updating to Wii Menu version 3.3 will also check for and automatically remove such save files." Team Twiizers released a "beta" version which contained a workaround. This led Nintendo to implement another block in System Menu 3.4. Team Twiizers yet again released another beta version of the Twilight Hack. As of System Menu 4.0, it has been officially announced that the Twilight Hack bug has been squashed. |
|
|
|
|
|
Various other methods of running and installing homebrew have since appeared, all of which work on Wiis with System Menu 4.2. Notably, Bannerbomb enables one to run homebrew due to a vulnerability in the System Menu itself. Indiana Pwns works in a manner similar to the Twilight Hack, but for ]. Smash Stack is based on a vulnerability in ] reading a file directly off of the SD card, so it is believed Nintendo cannot patch this. |
|
|
|
|
|
The Wii Optical Drive is very similar to that of the Nintendo GameCube, which has similar flaws and backdoors.<ref></ref> The intention of Nintendo to add support for standard DVDs indicates it should be possible to get the Wii to read standard DVDs to load programs and data. However, With the release of the Black Wii, The drive is no longer capable of reading any disc except for original wii discs and Gamecube discs. On the GameCube, this was a popular method for running homebrew software. |
|
|
|
|
|
Team Twiizers has released a library (DVDX) that allows other software to be able to play or read DVDs on the Wii. The hack comes in the form of a that can be loaded using the Twilight Hack or the Homebrew channel. It installs a small, invisible channel to the Wii, that allows DVD playback. |
|
|
|
|
|
Team Twiizers has also released a fully working version of MPlayer for the Wii. It can play DVDs on an unmodded console if you have DVDX installed, and can also play media off of the SD card. A fork of the Team Twiizers MPlayer, called MPlayer CE, can play media off of the SD card, an FTP server or a SMB mount point. Both versions of MPlayer can be loaded from the Homebrew Channel. |
|
|
|
|
|
Team Twiizers is currently working on a project known as BootMii.<ref>http://www.wiibrew.org/Team_Twiizers#BootMii</ref> BootMii has the ability to control the wii seconds after startup. It starts up when the wii is checking for a disc. It can be installed on startup as an IOS.<ref>http://www.bootmii.org/about/</ref> It's goal is to provide a bulletproof sheild over bricks on the wii. It backs up the NAND drive and when there's a brick, BootMii can recover your wii from the brick. But Backing up only works as a . BootMii has been released as a Public Beta Version 4 times<ref>http://www.bootmii.org/</ref> meaning they released 4 beta versions so far. |
|
|
|
|
|
=== Linux on the Wii === |
|
|
As with many other platforms, there is an effort to port the ] kernel and utilities to the Wii.<ref></ref> The Wii includes ] hardware, a pointing device (the ]), ]s (and therefore USB keyboard support), ], an ] slot, and internal ], and due to these features as well as the improved clockspeed, it has the potential to be a more useful platform for Linux than the older GameCube hardware. |
|
|
|
|
|
Although parts of ] were reusable on the Wii, drivers had to be developed for the new features. Drivers for the front SD card slot<ref></ref>, USB 1.x<ref></ref> and USB 2.0<ref></ref>, 802.11b/g Wi-Fi<ref></ref> and DVD unit<ref></ref> have already been developed. The internal Bluetooth USB dongle is supported natively by the Linux kernel (enabling the Wii Remote to work, which connects to the Wii via Bluetooth). |
|
|
|
|
|
To run Linux, the capability to run native executable code is required. On December 28, 2007, at the 24th Annual Chaos Communication Congress, a Wii running basic homebrew code was demonstrated. The engineers responsible for this announced their intent to create a Linux distribution.<ref></ref> |
|
|
|
|
|
A basic Debian distribution and Linux kernel have been released for use on an unmodded Wii. <ref></ref> A GUI called xwhiight linux has been made for Wii-Linux. |
|
|
|
|
|
=== Homebrew for Internet Channel === |
|
|
The ]-powered ] for the Wii supports many of the technologies that general browsers also support. These include standards compliance for (X)HTML (including canvas), ], Javascript (including ], but not designMode, contentEditable or Audio), WML, ] and ], ], ], ] and the ] 7 plug-in. It does not support ], NNTP, IRC, XHTML+Voice, widgets (except Opera widgets, plug-ins and some (X)HTML tags like file fields). Further, it does not fully support Flash 9 or 10, or ]. An update in September 2009 updated Flash to ] 3.1, which supports Flash 8 and parts of Flash 9.) |
|
|
|
|
|
Each button on the Wii Remote, except Power and Home (and 1 on the primary Wii Remote), can be detected in ]. The roll vector, distance from the Sensor Bar in meters, and cursor coordinates in pixels, can all be detected using the window.opera.wiiremote object.<ref>http://wii.nintendo.com/wii_faq_internet.jsp</ref> Several demonstrations have been made available with the ].<ref></ref> Support for Adobe Flash 7 has also allowed many homebrew websites to arise since the ]. Examples include ] and its ],<ref></ref> Wiisic,<ref></ref> WiiCR (not a website at all but a server / client media streaming solution that uses XAMPP, Flash and the wii Opera Browser),<ref></ref> WiiAUDIO.<ref></ref> and Moowee.tv.<ref></ref> |
|
|
|
|
|
The release of the WiiCade API and the Wii Opera SDK<ref name=autogenerated2></ref> have augmented existing features of the Internet Channel by adding native support for the Wii Remote and more. This allowed more complex software development such as multiplayer online gaming and three-dimensional environments with full texture-mapping.<ref name=autogenerated1></ref> |
|
|
|
|
|
=== Wii Remote === |
|
|
A number of features of the ] have been reverse engineered to allow the development of drivers for Microsoft Windows, Linux and Mac OS X. The ] HID driver is used to interface with the computer using a custom report format.<ref name=wiibrew-wiimote></ref> Technical information for these reports can be found at the . |
|
|
|
|
|
The Wii Remote has been hacked to do a variety of actions not involving the console, including control a ] robot vacuum cleaner, mix and splice tracks in a deejay act, control an industrial robot playing tennis, , play ]<ref name=WSJ042807>Jamin Brophy-Warren, , ''Wall Street Journal'', April 28, 2007</ref>, and controlling a ]-enabled computer by simulating keypresses. Some companies are looking into reprogramming Wii Remotes for business applications such as manufacturing operations.<ref name=WSJ042807 /> |
|
|
|
|
|
An interactive whiteboard has been created with a projector, the Wii Remote and a $5 infrared pen.<ref></ref> The Wii Remote has also been used as a finger-tracking device that simulates the interface seen in the film '']''.<ref></ref> |
|
|
|
|
|
== Sites and projects == |
|
|
Information on Wii internals was until recently (see above) largely incomplete, particularly with reference to the method the Wii uses to validate and execute code. As a result many older hacks are concerned with the reuse of the Wii Remote with other operating systems rather than modifications to the console itself. |
|
|
==== Wii Game Studio ==== |
|
|
This site provides a drag and drop, code-free application for creating Wii Homebrew. It can be downloaded |
|
|
|
|
|
===Native code execution=== |
|
|
These sites focus on efforts to write and run code on the Wii with the same capabilities as official software. |
|
|
|
|
|
==== Wiibrew ==== |
|
|
This site is an actively-updated technical reference for Wii internals, and it tracks Wii homebrew releases. It is also a permanent presence for the #wiidev ] channel on EFNET. |
|
|
The site can be found at |
|
|
|
|
|
===Browser-based efforts=== |
|
|
These sites document ways to utilize the unique capabilities of the Wii's web browser. |
|
|
|
|
|
====WiiCade and Wii Opera SDK==== |
|
|
{{Main|WiiCade}} |
|
|
{{Main|Wii Opera SDK}} |
|
|
|
|
|
The release of the ] API and the ]<ref name=autogenerated2 /> have augmented existing features of the Internet Channel by adding native support for the Wii Remote and more. This allowed more complex software development such as multiplayer online gaming and three-dimensional environments with full texture-mapping.<ref name=autogenerated1 /> |
|
|
|
|
|
====WiiID==== |
|
|
The enables developers for the Wii's web browser to uniquely identify the Wii running their application with a Javascript or Flash variable. This facilitates saving game progress and user preferences that can be loaded upon the next visit. |
|
|
|
|
|
===Reuse of the Wii Remote on other platforms=== |
|
|
These projects allow the Wii Remote to be used on other platforms (generally, personal computers). |
|
|
|
|
|
====junXion==== |
|
|
STEIM in Amsterdam released a recent version of its junXion software for the Mac platform that supports up to four Wii Remotes and the Nunchuk as well as the Sensor Bar. junXion allows the data to be treated conditionally and routed to any piece of MIDI receptive software.<ref></ref> |
|
|
|
|
|
====DarwiinRemote==== |
|
|
DarwiinRemote<ref>{{cite web |url=http://sourceforge.net/projects/darwiin-remote/|title=DarwiinRemote |accessdate=2007-12-16}}</ref> is an open source program and framework for Mac OS X. It has support for motion detection and, in concert with the Sensor Bar or similar apparatus, absolute cursor position detection enabling the Wii Remote to be used as a pointing device. DarwiinRemote also works with the Nunchuk and Classic Controller attachments to allow the user to customize the buttons for each device as needed. These customizations can be saved as presets on a per-function basis. The default setup uses the Wii Remote in a manner similar to the ] that ships with many recent Macintosh models. |
|
|
|
|
|
====GlovePIE==== |
|
|
Glove Programmable Input Emulator (]<ref>{{cite web |url=http://carl.kenner.googlepages.com/glovepie |title= Carl.Kenner - GlovePIE |accessdate=2007-01-22}}</ref>) created by Carl Kenner provides support for novel input devices in Microsoft Windows and has been extended to support the Wii Remote. |
|
|
|
|
|
Wii PC Scripts<ref>{{cite web |url=http://www.wiili.org/index.php/GlovePIE:GlovePIE_Scripts|title= Wii PC Scripts |accessdate=2008-01-24}}</ref> provides scripts using GlovePIE that allow the Wii Remote to be used with a range of Microsoft Windows games and applications. |
|
|
|
|
|
GlovePIE is notable for having a license that includes several restrictions for ideological reasons. The author threatens prosecution of anyone who uses GlovePIE for any direct or indirect military purposes (such as for a soldier's entertainment or on a military base), any user considered to be a religious missionary, or anyone who uses the software in the country of Israel.<ref>{{cite web |url=http://carl.kenner.googlepages.com/glovepie_download|title= GlovePIE unusual licensing restrictions.|accessdate=2009-04-14}}</ref><ref>GlovePIE license agreement (] companion text).</ref> |
|
|
|
|
|
====Wiiuse==== |
|
|
An easy-to-use, cross-platform (Linux & Windows) library, written in the C programming language, for communicating with the Wii Remote via Bluetooth. Also supports multiple simultaneous Wii Remote connections, the Nunchuk, and Guitar Hero III controllers.<ref></ref> |
|
|
|
|
|
==See also== |
|
|
* ] |
|
|
|
|
|
==References== |
|
|
{{reflist|2}} |
|
|
|
|
|
==External links== |
|
|
* Wiibrew, Wii homebrew wiki |
|
|
* DCEmu Wii News Site, Uptodate Wii Homebrew News and Downloads site. |
|
|
* WiiFlash, software to communicate between a Wii Remote and a Flash application |
|
|
* Wii Opera SDK, Internet Channel developer tools |
|
|
* Wii Remote software for ] |
|
|
* VR with Wii Remote and Bluetooth |
|
|
* Central discussion for Johnny Chung Lee's Wii Remote hacks and newer hacks. |
|
|
* Homepage of wii remote debugger, used for cheats and debugging applications |
|
|
|
|
|
] |
|
|
] |
|
|
|
|
|
] |
|
|
] |
|