Resource icon

YAOSM v1.0 v1.0

yaosm version version 1.0
--------------------------
Yet Another OpenSource Modchip version 1.0

USE IT AT YOUR OWN RISK!


What it should do
-----------------
Boot Wii originals
Boot Wii backups
Boot Wii imports*
Boot Gamecube originals
Boot Gamecube backups
Boot Gamecube imports**
Run all medias (DVD-R, DVD-RW, DVD+R, DVD+RW)
Speedfix
Automatic region detection

*Partial support, see http://wiki.gbatemp.net/index.php/Wii_Region_Patcher_Compatibility_List for more info.
**Experimental, only tested with Zelda Wind Waker NTSC which is detected but hangs at black screen when started.

What it does NOT
----------------
Gamecube audiofix? At least I think it doesn't but I have no GC controllers so I cant try it.
Multidisc gamecube games? I have neither such games nor any controllers so I cannot try it.


Chip compability
----------------
Hexfiles are included for the following PICs:
12F629/12F675
12F635
12F683
16F627/16F627A/16F628/16F628A/16F648A
16F630/16F676
16F639
16F684

Should be portable to any PIC chip that GCBasic supports and has the following requirements.
- 1024 words of program memory
- 64 bytes of ram
- A decent amount of hardware stack levels (no 12F509 is NOT a suitable chip)
- Eprom memory for easy configuration
- Internal oscillator (Sure, you can use an external if you really want to)


Does it work?
-------------
It works for me but I've got limited stuff to test with so it's only tested on the following:
- PAL(EUR) region patching
- D2B Hardware
- Wii originals
- Wii backups PAL and NTSC
- GC originals
- GC 12cm backups
- 12F629, 12F675 and 12F683
- DVD-R, DVD-RW
- Speedfix

Things that remains untested are:
- Non-PAL region patching
- DMS/D2A hardware
- Wii original imports
- Gamecube 8cm backups
- All the PIC chips not mentioned above
- DVD+R, DVD+RW


Installation
------------
An excellent guide for opening and modding your wii can be found here: http://www.dcemu.co.uk/vbulletin/showthread.php?t=55975
and here: http://www.eurasia.nu/modules.php?n...loaddetails&lid=4062&ttitle=Wii_modding_guide

By default the chip has automatic region detection and speedfix enabled.
This can be changed by modifying the eeprom data before programming your chip.


Automatic region detection
--------------------------
The region setting will be configured automaticly the first time you insert a disc after programming
the chip so make sure that the first game you try is from your own region.

If you, by mistake, used an import as the first disc then the chip will not play ANY discs after that
and you will need to reprogram the chip.


Configuration
-------------
This is an explanation of the configuration bytes:

byte 0 = Regionpatching
0x00 = JAP, 0x01 = USA, 0x02 = EUR, 0x03 = disabled, 0x04-0xFF automatic region detection (default)

byte 1 = Speed setting
0x00 = no speedfix, 0x01-0xFF = speedfix (default)


About the speedpatching
-----------------------
- The precompiled hex files are configured with speedfix.
- I do not believe gamecube games need the fast speed so speedpatching is only done on Wii backups.
- If you want to run a Wii game without speedfix, start it, exit to menu, start it again.


Schematics 12F6xx 16F63x/7x/83 16F639 16F62x/4x
---------- __ __ __ __ __ __ __ __
V = 3.3v 1|V G|8 1|V G|14 1|V G|20 1|I O|18
G = Ground 2|L2 C|7 2|L2 C|13 2|L2 C|19 2| C|17
C = Clock 3|L1 O|6 3|L1 O|12 3|L1 O|18 3| |16
O = Output 4|____I|5 4| I|11 4| I|17 4| |15
I = Input 5| |10 5| |16 5|G V|14
L1= LED 1 (optional) 6| |9 6| |15 6| L2|13
L2= LED 2 (optional) 7|_____|8 7| |14 7| L1|12
8| |13 8| |11
Connect LEDs like this: L1<>+LED-<>R<>G 9| |12 9|_____|10
Use 680ohm for R with red LEDs and 470ohm 10|_____|11
with yellow or green LEDs.

For 12F6xx chips the pinout is identical to WiiFree/OpenWii(PIC version)/Wiinja

Here's an attempt of showing the solderpoints on the Wii with ASCII:

V G
* *
* I C * * *
* O * - *
* * * *
| | *
* * * * * =
||||||||||||||||||||
/ \
- -
- Panasonic -
- G2C-D2B -
- (or DMS or D2A) -
- -


Changes
-------
1.0 Initial release


Credits
-------
The WiiFree team
Always including the source with the hex file. That's the spritit!
Feel free to borrow anything from my code if you find something you can use.

The OpenWii team
At last it seems you've gone from delayed source to open source.

WAB
Good luck with your PS3.

FuzzyLogic
I learned lots of PIC assembler just reading your code. Cool mod, the 10F202.

The Great Cow Basic team
Don't let the name fool you. The code is more efficient than you may think and
the support is excellent.

TheCheekyMonkey
Excellent modding guide. Anyone planning to mod their Wii should read it.

Microchip
For their free samples program. I would never have learned PIC programming without it.

Nintendo
For understanding that the fun factor is more important than the horsepower.

All the people in the WiiNewz forums.
The feedback given to the different WiiFree version is invaluable information.


Question & Answers
------------------
Q: Could you please port it to 12F509?
A: No, I actually tried, but that chip has too many limitations. It's just not worth the trouble.

Q: This is just a WiiFree clone isn't it?
A: Yes and No, I've studied the code for WiiFree, OpenWii, WAB and even the 10F202 assembler
port of OpenWii 1.3. I've also done my own tests and experimented a lot. But sure, I didn't
invent the wheel, it is, without doubt, very much based on WiiFree. I would prefer to call it
a WiiFree rewrite.

I've tried to understand what each moment do and applied my own logic to it. Some parts like
the gametype detection and when to do the regionpatching is something I've invented myself.

Q: But why?
A: Well, first of all the lack of include files to JalV2 makes it complicated to port WiiFree
to other PIC chips. Secondly, it's great fun to write your own modchip and I wanted to learn
more about PIC programming. Thirdly... Did I mention that it's fun?

Q: My 12F629/12F675/16F630/16F676 doesn't work!
A: Make sure you read the chip when it is new and write down it's bandgap setting. Make sure
you use this bandgap setting when you program the chip. The programming software _should_
preserve your bandgap setting but under some circumstances it may be overwritten and wrong
bandgap setting can lead to an unstable or non-working chip.

Q: I'm about to buy a chip, which should I get?
A: I would go for the 12F683 since it is small, like the other 8 pin chips but has twice the
amount of codespace and eeprom space compared to the 12F629/12F675. It also has the
capability of running at 8MHz which is twice the speed of the 12F629/12F675 chips.
You won't need it now but who knows what will be needed in the future.
Author
SylverReZ
Downloads
71
Views
756
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from SylverReZ

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Back when I was playing kakarot I looked up one little guide now all I see is dbz stuff