Resource icon

YAOSM v1.2 v1.2

yaosm version version 1.2
--------------------------
Yet Another OpenSource Modchip version 1.2

USE IT AT YOUR OWN RISK!


Features
--------
- Supports DMS/D2A/D2B chipsets
- Wii originals
- Wii original imports*
- Wii backups
- Wii backup imports*
- Gamecube originals
- Gamecube original imports**
- Gamecube backups
- Gamecube backup imports**
- Gamecube homebrew
- All medias (DVD-R, DVD-RW, DVD+R, DVD+RW)
- Speed fix (no stuttering)
- Automatic region detection
- Stealth (well, at least as much "stealth" as any other Wii modchip currently available)

*Partial support, see http://wiki.gbatemp.net/index.php/Wii_Region_Patcher_Compatibility_List for more info.
**Partial support, for 100% support use GCOS.


Things that may or may not work
-------------------------------
- Propably need Gamecube audiofix? At least I think it does but I have no GC controllers so I cant try it.
- May not work with Multidisc gamecube games? I have neither such games nor any controllers so I cannot try it.
However, I've seen reports that this works with WiiFree so it propably work with yaosm aswell.


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

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 (can be hardcoded though)
- Internal oscillator (Sure, you can use an external if you really want to)


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 a disc from your own region.

If you, by mistake, used an import as the first disc then the chip will not play ANY
backup 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 speed fix, 0x01-0xFF = speed fix (default)


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


Schematics 12F6xx 16F63x/7x/84 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.2 Fixed problem with Gamecube original imports

1.1 Wii Original Imports shouls now work (thanks to the WiiFree team).
Also region detection with originals now works.
Some minor code optimizations.

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.

Q: WiiKey has all those fancy features like DVD-to-SD-card dumping and stuff, should I get one?
A: Guess what, that's just Gamecube homebrew applications and the WiiKey disc should work on
just about any modchip that is currently available (except for the WiiKey-specific configuration)

Q: What about Gamecube imports, what's all this talk about GCOS?
A: With GCOS(Gamecube Operation System) you can boot Gamecube imports by first booting GCOS
and then swap to your Gamecybe imports and let GCOS boot it. There are prebuild GCOS isos
available for download from most of homepages of the commercial chips.

Q: I'm planning to import Super Paper Mario from USA and I live in Europe but I've heard that it
can brick my Wii. Is that true?
A: From what I've heard Super Paper Mario will update your Wii if it doesn't allready have the
latest system update installed and using an import will make it update your Wii with the wrong
update. The safe way is said to make sure you've updated your Wii before you run the game for
the first time. But if you ask me, I would recommend waiting for a PAL version to be released.
Author
SylverReZ
Downloads
80
Views
830
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from SylverReZ

General chit-chat
Help Users
    AncientBoi @ AncientBoi: :O:rofl2: +1