WiiFree is an open-source PIC based modchip.
It supports various chip installations:
|Chip||Price (approx)||Pins||Soldering points||LED support||LCD support|
source: WiiFree official forum
This is what is does:
- Automatic detection of the region, for the regionfree fix (the first time an working Wii game is used)
- Run gamecube originals
- Run gamecube backups
- Partial regionfree support for gamecube games (originals and backups)
- Run Wii originals
- Run Wii backups
- Partial regionfree support for Wii games (backups only) (must be patched to same region as Wii)
- Support for DMS, D2A and D2B!!
- configurable Speedfix
- Support for alle media: DVD+R, DVD+RW, DVD-R, DVD-RW
- Configuration DVD for setting up your region
- Support for 12F629, 12F675 and 12F683 chips (the installation for the 12F683 is the same as the 12F629)
You only have to solder 5 points. See images on the right for installation schematics.
LEDs installation is optional.
|Status||LED behaviour (source: manual.txt)|
|IDLE||One steady LED one blinking LED (the blinking LED indicated that the chip communicates with the drive)|
|Patching||Both LEDs are steady|
|Patching successfull||The steady LED toggles, the blinking LED starts blinking again|
|Patching unsuccessfull||The steady LED does not toggle, the blinking LED starts blinking again|
|Configuration of region||alternate blinking of both LEDs for a shor period of time|
With the WiiFree EasyConnect mod (see external links at the bottom of the page) you can do a "Quicksolder" installation.
Programming Wiifree under Windows XP with JDM or cheap programmer.
- Copy icprog.sys to same destination as Icprog.exe
- Start icprog.exe -> if you get an error just ignore this
- Go to "Settings" then "Options" then "Programming"
- Check "Verify during programming"
- Go to "MIsc" and check "Enable NT/2000/XP Driver" and restart ic-prog
- Go to "settings" then "hardware" and check if you choose "JDM Programmer" and com1
- Select "PIC12F629" in upper right drop-down box.
- Open Wiifree HEX and then you can programm it to PIC.
- when pop-up "OsCCAL = 3428h Do you want to use value from file (3FFFh) instead?" press "NO"
The extra-cheap programmer on the left can program a PIC12F629. It can be built with less then 10$
source: WiiFree official forum
2.51 - 2.51b : Updated installation schematic. All binaries/sources remain the same. 16F628A confirmed to work.
2.50 - 2.51 : Added bunch of features for the LCD screen:
-Shows chipset (D2A,D2B)
-Shows region (JAP,USA,EUR,OFF,N/A)
-Shows drivespeed (2x,4x,6x)
-Shows chip activity
-Setting region @ first succesful boot
-Bad connection (soldering job) check... hehehe
Also updated schematics, now using USB 5v point, and LCD support for 16F628A (compiles, unable to test, should be ok, let us know). We used a 2x16 LCD as basis for the lcd messages, as it's the most common size. More and longer lines are easily implemented, so give a shout on the forums if you'd be interested in that. Also we don't have every LCD in the world so give us your input if something is up, should work though, first make sure you didnt fuck up yourself. 12F6xx code remains the same.
2.44a - 2.45 : Added a manual.txt on how to use WiiFree. Only patching the maxdiscsize if it wasn't recognized by the drive now (which could result in better dectection of media in some cases). Official support for 16F628(A), now the LEDs are working on the proper pins. Added compiler_constants library, so you should be able to compile WiiFree yourself now. 2.44 - 2.44a : Fixed a tiny bug in the media compatibility. And offcourse releasing a new version before you guys could test
2.44 (sorry). Promise: no new patch before the weekend!!
2.43c - 2.44 : Made the disc patching more generic, which seems to solve some problems people experience. Fixed the lack of sleep.
2.43a - 2.43c : Updated the installation schematic for the 16F628. The code/hex is the same as 2.43a. Added a tool to fix gamecube audiostreaming.
2.43 - 2.43a : Lack of sleep bug.
2.42a - 2.43 : Fixed a bug where in some cases after leaving the Wii off for an extended period of time, the region patching gave problems.
2.42 - 2.42a : Fixed 16F628 support (please test, because we don't have a 16F628). For 12F629, 12F675 and 12F683 nothing changed.
2.41 - 2.42 : We did have to do some reinserts again with our different region games.. So this is another attempt to 100%. The status LED now only toggles after successfull patching.
2.40 - 2.41 : Again we improved the region patching for Wii games, hopefully no more reinserts. (because we want it 100% right instead of 99%)
2.39a - 2.40 : Blinking LEDs after successfull configuration. More robust detection of autoregion. Made the code better readable and documented.
2.39 - 2.39a : Sometimes the region could be automatically set to the region of an import game if that was the first one inserted. Now it will only set the region to the region of a game that starts succesfully. Added fast blinking leds for 12F683 when the region is patched. Autoregion patching does not work when the disc is already in the drive when the Wii is powered on.
2.38b - 2.39 : Better automatic detection of region (and a way out if it goes wrong). Even if the region is set wrong the !!NEW!! ConfigDVD will always boot, so you can reset the region. Better region patching for GC discs. We really need your input.. especially the testresults. As WiiFree gets more and more mature, there are more and more things that can go wrong. Testing just takes most of our time (and more and more time with each release), so it would be a great if you could help us out on testing (not only the bad results, but also the good results are welcome). Special thnx goes out to Bell again for his great ideas and building things so fast that we have difficulty keeping up.
2.38a - 2.38b : fixed bug where you couldn't set the speed anymore with the config dvd. Better automatic detection of region.
2.38 - 2.38a : fixed a bug in GC/Wii disc detection
2.37 - 2.38 : Automatic detection and setting of region, the first time a Wii game from the Wii's region is used. Disabling the region patch from the config DVD, disables the region patch AND the automatic configuration of the region. Partial regionfree support for GameCube games (both originals and backups). Documented some source. WiiFree is now published under a license (WTFPL).
2.36 - 2.37 : Original Wii import support. Try the 2.36 version to test the GC import experimental support
2.35 - 2.36 : Using speedfix method used in 2.34a instead of the one in 2.33a, it works better on our consoles.
2.34a - 2.35 : Created a version with experimental GameCube regionfree (thnx to Bell). And changed the region patching to only 2 bytes per region We need your feedback!! And please feel free to modify the source and submit your modifications. Sorry for the bad documentation of the source (lack of time).
2.33 - 2.34a : Just messed around with the speedfix again. Tell us what works best, version 2.33 or 2.34. Version a, fixed bug in new configuration code
2.32 - 2.33 : Your daily update of WiiFee ;-) This time we reduced the size of the code with 20% and changed the moment of the speedfix.
2.31 - 2.32 : Again changed the patching routine. Better timing for region patch... Almost full 12F629. Updated the Readme. Made more friends :-)
2.30 - 2.31 : Changed the patching of backups. Faster/better detection/starting of backups. No more strange noises coming from the drive.
2.29 - 2.30 : Some code optimisations
2.28 - 2.29 : We need testresults, the problem is that we don't have a lot of Wii's to test on. Something that works here, might nog work on other Wii's. Feel free to alter the code to something that works fine on your Wii, and post the results. 2.29test1 has been renamed to 2.29
2.27 - 2.28 : Just experimented with the code.
2.26 - 2.27 : We think we improved the region patching. Please tell us if it is really better or not!!
2.25 - 2.26 : Optimized code, some stuff might work better. Configurable region and speedsettings with the NEW config dvd. You might experience flickering of the config menu, sorry but we didn't feel like fixing that at the moment. You can set the region and speed in the hex file by changing the DATA EEprom byte 0 and 1. Byte 0 is the region: 0 for JAP, 1 for USA, 2 for EUR, FF for none. Byte 1 is te speedsetting: 0 for low, 1 for medium, FF for max Or just use the config dvd the old config dvd wont work anymore.
2.24 - 2.25 : Cleaned the code. Removed a loop which could influence the region patching. Improved region patching
2.23 - 2.24 : Fixed minor bug with infinite loop
2.22 - 2.23 : Again we think we've done it.. Lack of sleep and not owning all the Wii's in the world sometimes makes it difficult to design a modchip. Anyways, we would like to thank you for your feedback on the forum. Keep posting your feedback, it's greatly appreciated
2.21 - 2.22 : Improved detection mechanism
2.20 - 2.21 : Fixed bug where originals were not detected in some cases
2.00b5 - 2.20 : Full drive speed support. All media support (DVD+R, DVD+RW, DVD-R, DVD-RW).
2.00b3 - 2.00b5 : Fixed big BUG!! Thank you all for testing and suggesting improvements.
2.00b2 - 2.00b3 : Fixed original Wii games not playing. Fixed some gc games not playing.
2.00b1 - 2.00b2 : Better detection of backup discs, due to updated patching method. If none of your discs is working, you've got the regionsettings wrong.
1.51 - 2.00b1 : Added Multiregion support for Wii games. Use the configuration DVD to set your region. Or use one of the supplied hexes.
1.50 - 1.51 : Updated the code, added comments. Better detection of backup disc insert. Cleaner drive detection and alternate LED blink when error.
1.23 - 1.50 : GC backups support!!! Updated the patching code, removed the wait_disc routine AND ..... Disco!!!
1.22 - 1.23 : Updated the code, functionality is the same.
- WiiFree v2.26
- WiiFree v2.28
- WiiFree v2.37
- WiiFree v2.40
- WiiFree v2.41
- WiiFree v2.43c
- WiiFree v2.44a
- WiiFree v2.45
- WiiFree v2.51
- WiiFree v2.51b
UMMMMMMMMMM@ nMMMMMMMMMMM. .MMMMMMMMMMMEMMMMMMMMMM@ @MMMMMMMMMMX .tQ@MMMMMMMc QMcXCCCCCC1M M#7CCCCCCCcMt .MYXCCCCCtYMM#cXCCCCCCtM Mo7XCCCCCYM# $M@02tCCCCYMQ cMS222222IUM, MZz22222222MM BMt22222I2IME@Y1nnnnnnUM MU1nnnnnntMM MMW9II2I2SntM@ .MW9888888AM7 .MUZ88888889MM MMUZ888889$$vM0WWWWWWW$M M#QWWWWWW0M$ M08b88889#M@MQ MM9bEEEEbUMb 2MIbEEEEEEbZ#M MQZbEEEEEUMI MMMMMMMMMM@ MMMMMMMMMMM. MZ8bEEEAMM... Q@@@@@@@@@0 :#MMM :A@MMMMMMMM0c .C$MMMMMMMM#n. QMAbEEEEb6M@ MMAbEEEEEEb80M M68bEEEEbzM.7M29999996EM M0A999996IMMMMM6bEEEEA@M##M#MMMMMMMMMMMMMMMMM 0MMMMMM@@@MMMMMMM: cMMMMMM@@@@MMMMMM2 ;MUbbEEEb6MM M$9bEEEEEEbbZM :MIbbEEEEbIM nM12IUUUII8M MZzIUUUIIoMMMUI8bEEEb8U6EZMMMA000000EWMMbEE#M MMMQ00000bE00QQW#MM@ MMMB00000Eb00QQQBMMM. MZbbEEEbZ#M MZ8bEEEEEEbbAM SMUbEEEEE8bM AMz988888ZEM ME6Z88888U@MMzAbbEEEb8bE9zMMMzZbbbbb8E8U88ZBM MMAbbbbbb6#$6bbEE00WMM @Mb8bbbbb90@Z8bEE0Q0MM MW8bEEEb80M.M2bbEEEEEEEbAMvB@6bEEEEE9#M EMIbEEEEb8EM M08bEEEEb2@$@MM9bEEEbbb9MMM0M28bbbbb8998bbZBM1MSZ8bbbE6MW@@A8bbEE00M: MEZ8bbbb8WMIMA8bbEE0bMI MM6bEEEbb9M$MzbEEEEEEEEbAMWM09bEEEEbUM# 0MIbEEEEb8EM M08bEEEEb2MU M6bbEEEEEIM MAbEEEEbbbbbbbZWMM$AbEEEEEIM .MIbbbbbE8MM 2M28bEEEE6@# M8bbbbbb0B@ $MIbEEEbbIMM#IbEEEEbbEEb6#MMU8bEEEEbzM7 QMIbEEEEb8EM M08bEEEEb2M0 M9bbEEEEb2M M6bEEEEEEEEZ6EQ#MM99bEEEEbzM.:M2bEEbbbbMM #MUbEEEEbAMM Mb8bEEbbboM YMIbbEEbboMMZAbEEEbbbbbb9ZMMS8bEEEEbIM QMIbEEEEb8EM M08bEEEEbIM# M9bbEEEE82M M6bEEEEEEEA@MM##EM8ZbEEEEb6MMM@6bEEEEb8$M #MUbEEEEb9WMMM9bbEEbb81@ M9bbEEEbo@MzZbEEbWMAbbb9oMMn8EEEEE8bM WMIbEEEEb8EM M08bEEEEbUM@ MZbbEEEEbAM. M6bEEEEEE9@M M0ZbEEEEbb9Z6AbbbbbbbZBM BMUbEEEEb8868U8bbbbbb81@ MW8bEEEb2#Mz8bEE6@M28bbZnMMobEEEEE9@M BMIbEEEEb8EM M08bEEEEbUM@ MZbbEEEEbAM. M6bEEEEEE2M M0ZbEEEbbbAU69966666AIQM BMUbEEEEbb8IA99666666A7@ MM6bEEEbUQM2bEEE2MMA9bb8SM@IbEEEEbUM@ BMIbEEEEb8EM M08bEEEEbUM@ MZbbEEEEbAM. M6bEEEEEbIM MQZbEEEEb9#MM@@@@@@@@#MM $MUbEEEEbbEMM@@@@@@@@#W@ BMIbEEEb9E#6bEEbzMM#AbE8z@W6bEEEEbzMt BMIbEEEEb8EM M08bEEEEbUM@ MZbbEEEEbAM. M6bEEEEE86M MQZbEEEEEIMY #MMMMMMMMMA #MUbEEEEE9@M ;MMMMMMMMMW cMIbbEEbZZ8bbEE8bMYM2bb860E8bEEEEbIM. $MIbEEEEb8EM M08bEEEEbUM@ MZbbEEEEbAM. M6bEEEEEbZM MQZbEEEEb2M. MWA999966$M BMUbEEEEEA@@ EM2699996zM MZbbEEbbbbbEEEA@Q MAbbb8ZbbEEEEE8EM $MIbEEEEb8EM M08bEEEEbUM@ MZbbEEEEbAM. M6bEEEEb88M MQZbEEEEbzMi MQUA66666WM $MUbEEEEbUMM EMoA66669t@ MB8bEEEbbEEEEbzMY MB8bbbbbEEEEEE6@M $MIbEEEEb8EM M08bEEEEbUM@ MZbbEEEEbAM. M6bEEEEbb8M M$ZbEEEEbIMi MW9888889$M bMUbEEEEbAMM 8M2Z888bZ1@ MM6bEEEEEEEEEbIM MMAbbEEEEEEEEbUM@ $MIbEEEEb8EM M08bEEEEbUM@ MZbbEEEEbAM. M6bEEEEbb8M MMAbbEEEbIMY ME8bEEEb2MM iMIbbEEEb6@M MMAbbEEEZzM WMIbEEEEEEEEE8EM 7MUbbEEEEEEEEbzMt $MIbEEEEb8EM M08bEEEEbUM@ MZbbEEEEbAM. M6bEEEEbb8M ,MZ8bbEEb9@MM@6bEEEE96M. MMAbbbbb8EMMMZ8bEEEbSM2 vMIbbEbbbbbEbAMM Mb8bbbbbbbbEbIM. $MIbbEbbb8EM M08bbbEEbUM@ MZbbbbEbbAM. M6bbEbbb88M ZMB9bEbbEbEEAbbbbbAWMY MM68Ebb8EZ0A8bbbE99MM MUAAAAAAAA6AnME MMzAAAAAAA6AU8M @MnAAAAAAU9M M8UAAA6AASM@ .M2AAAA6AAoM. .MoAAAAAAUUM. YMM@066666696668#MM: MMMW9A666669669QMME $BQWWWWWWWWWQM. v@QWWWWWWWWWQ#0 C@QWWWWWWQW@ @WQWWWWWWQ@1 @QWWWWWWWQM. .MQWWWWWWWQ@ iI0QQQ0000QQQQ6; .tbQQQQ0000QQQbC.