Yaosm , otro chip casero de codigo abierto

1, 2
Navegando por los foros de wifree me he encontrado con esto

Yaosm "yet another opensource modchip"

copio y pego de la pagina:

--------------------------
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 [url]http://wiki.gbatemp.net/index.php/Wi...atibility_List[/url] 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: [url]http://www.dcemu.co.uk/vbulletin/showthread.php?t=55975[/url]
and here: [url]http://www.eurasia.nu/modules.php?na..._modding_guide[/url]

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.


traduccion:

Lo que debe hacer:
-----------------
Arrancar originales de wii y cube
Arrancar Backups de wii y cube
Arrancar discos de importracion de wii* y gamecube**
Valido con todos los soportes (DVD-R, DVD-RW, DVD+R, DVD+RW)
Speedfix
Deteccion de region automatica

*Soporte parcial, mirar en: http://wiki.gbatemp.net/index.php/Wi...atibility_List para mas informacion.
**Experimental, solo se ha probado con el Zelda wind Waker NTSC, la wi lo detecta, pero despues de arrancar se queda la pantalla en negro.

Lo que no hace:
----------------
No tiene audiofix, (por lo menos el autor dice que no lo ha probado y que no debe de hacerlo)
Juegos multidisco de gamecube ( lo mismo, no lo ha probado porque no tiene mando de gamecube)

Chips compatibles:
----------------
Estan incluidos los hex para estos pics:
12F629/12F675
12F635
12F683
16F627/16F627A/16F628/16F628A/16F648A
16F630/16F676
16F639
16F684

se debe poder portar a cualquier pic que soporte el GCbasic
y que cumpla estos requisitos

- 1024 palabras de memoria
- 64 bytes de ram
- Una cantidad decente de niveles de stack (alguien que entienda de programacion de pic me ilumine , que no se si esta bien traducido) (El 12F509 NO vale )
- Memoria Eprom para configurarlo facilmente
- Oscilador interno (Por supuesto, Puedes usarlo externo tambien si quieres)


¿Funciona?
-------------
Funciona, pero solo esta probado en una consola D2B , y lo que se ha probado ha sido:
- Parcheo de region PAL(EUR)
- Chipset D2B
- Originales de wii
- Backups de Wii ( PAL y NTSC )
- Originales de GC
- Backups GC 12cm
- 12F629, 12F675 and 12F683
- DVD-R, DVD-RW
- Speedfix

Lo que no esta probado:
- Parcheo de region NO-PAL
- Chipset DMS/D2A
- Wii original imports
- Backups de Gamecube 8cm
- Todos los pics que no se mencionan arriba
- DVD+R, DVD+RW

Instalacion:

La misma que wiinja , wiifree wiiskas, en los pics de 8 pines

( para los otros echad un ojo en el dibujo de arriba)que esta en inglés)

Deteccion automatica de region:
----------------

El primer disco que metas, fijará la region de el parcheo.

en la pagina original el autor advierte que hay que meterle un backup , que con los originales falla

ai que en resumen, si tu consola es pal, le metes un backup pal la primera vez y listo







[traduccion en curso]


Otro para la coleccion de los caseros, este va programado en GCbasic...
Habra que probarlo, suena muy interesante las caracteristicas que tiene, probare con el Zelda Twilight Princess PAL que tengo, mi consola es NTSC y quiero jugarlo en pal por la traduccion a español...

Ya dire como va la cosa =)
Al parecer el autor (bell) es un poco mas ordenado que el wiifree-team, por la manera tan limpia clara y bien documentada que tiene de programar y exponer su trabajo. Los testers hasta el momento van con 99% de OK, aparte que tiene ventajas de autoconfiguracion de region y cambio de velocidad al vuelo sin tener tantos hex ni DVDs de configuracion, de los chips O.S. hasta ahora es el mejor documentado y con ideas mas frescas, le auguro un buen futuro.
Pues que bueno amigos.Ya probe ese nuevo chip y carga todos los juegos sin problemas de audio fix ni speed fix.Hasta ahora va rulando de maravilla.
Pues si en su primera versión ya va tan bien, no me kiero ni imaginar cuando vayan por la 2 y pico como el WiiFree ahora...

[babas]
Este chip aporta alguna cosa nueva que no tenga el wiifree por ahora? O de momento podemos decir que es solo una copia?
Degete escribió:Este chip aporta alguna cosa nueva que no tenga el wiifree por ahora? O de momento podemos decir que es solo una copia?


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/Wi...atibility_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.
A ver, las caracteristicas ya las sé, pues estan posteadas en el primer post. Sé que está basado en el codigo del wiifree. Más que nada me refiero a algo nuevo en la parte del codigo, que si aporta mejoras, o que ventajas tiene con el wiifree. De ahí la pregunta si de momento solo es un copia del wiifree o no.
Degete escribió:Este chip aporta alguna cosa nueva que no tenga el wiifree por ahora? O de momento podemos decir que es solo una copia?


Al menos, éste ya empieza a coquetear con el region free de Cube. Solo le falta corregirlo y añadir Audiofix para que sea perfecto :)
Degete escribió:Este chip aporta alguna cosa nueva que no tenga el wiifree por ahora? O de momento podemos decir que es solo una copia?


Si lo mas interesante es la autoconfiguracion de region y de velocidad al ya tener instalado el chip en el Wii

Para configurar la region, lo haces metiendo un juego de tu region la primera vez que corres el chip después de programarlo.

Para ajustar la velocidad a media, insertas un backup, regresas al menu y vuelves a correrlo.

Esto elimina la nesecidad de tene rmuchos hex preconfigurados y de discos de setup
genial, va muy bien, tanto como el wifree.... es más, hasta tienes los mismos fallos, no van los zelda importados, ni de wii ni de cubo...
PEro aún así, es muy buen camino el que va tomando esto.
Lo de autoconfiguración, si que da buena pinta!!!
Probado y me estoy viciando un rato para ver qué fallas logro ver. [oki] [oki] [oki] [oki]
Lo del autoregion eso quiere decir que si la consola es NTSC y le coloco un juego PAL los leera ?
jaja, ninguno hasta ahorita, todo bien. Ya debemos proponer las 5 estrellas para este hilo, pues para ser la primera versión del chip, va muy bien.
gameoso escribió:probado y mismos fallso que el wifree...


Podrias ser un poco mas especifico hermano OSO cuales son los mismos fallos, porque el wiifree ha tenido muchos a lo largo de su historia.

seria bueno que comentaran sus experiencias en ese foro que se mueve mas rapido que el de wiinews, asi es mas facil ir depurando el codigo y aportar al autor
me refiero a que se para totalmente el Wii cuando se le pone un juego, original o backup de algún juego extranjero, en específico, he probado con los zeldas.
Una pregunta que no acabo de entender... he visto en el hilo que el chip viene configurado a High speed y que si sales y vuelves a entrar automaticamente se pone en medium... mi pregunta es una vez que haces eso... se queda ya en medium? o tras apagar la consola vuelve a High¿?¿
gracias!
pero viene todo en el LEEME:

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.


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.
-------------------------------------------------------------------------------------------


Qué traducido sería algoa sí como:

La configuración de la región, será configurada automáticamente la primera vez que al programar el chip, insertes un disco y NUNCA más se podrá cambiar. Asíq ue asegúrate de meter el bueno al principio.


sobre la velocidad:
por default, está el chip en lata velocidad, lo cual es solo válido ap´ra los de Wii, ya que os de cubo, no creo que lo requieran. Si quieres correr un juego sin speedfix, empieza el juego, regresa al menú y vuelve al juego de neuvo.



Así que no se queda así, amenos que le pongas un 0x00 al byte 0x01 del eeprom del pic.
gameoso escribió:me refiero a que se para totalmente el Wii cuando se le pone un juego, original o backup de algún juego extranjero, en específico, he probado con los zeldas.


Amigo vuelve a leer el pic que estas usando en el Wii y checa si el valor de la region se configuro bien, al parecer el primer juego que debes meter despues de programar e instalar el pic es un backup de tu region para que se configure con tu region. en este comentario del foro oficial dice eso y el creador lo confirma:

Originally Posted by Qbfinest83 View Post
I do have a question though I had to program the pic twice the first time I put in my orignal Zelda game in and it work but then put in the import backup and it didnt read or anything else that wasnt orignal for that matter.
When I read the pic before reprogramed it(using icprog), on the address eeprom data: address 0000 the first two values were 00. I reprogramed it and tried a NTSC backup first and everything that was suppose to boot, booted up fine. Recheck the pic and now the address value is 01. Isnt the orignal NTSC game suppose to give me that value how come I got 00 when testing zelda first and 01 when testing backup from the same region


y el creador (bell) responde:

I wrote a warning about this in the first post. The automatic detection does not work with originals


en resumen dicen que al programar el chip y meter un original de su region el valor no se configura automaticamente, vuelve a programar el pic y al meter un bacup de la region ya empiesa a funcionar con zelda de otra region.

Intentalo
no no va y se me hace que no va a ir, ya que el código está basado en el wifree...
Ya leí el valor y si, está configurado correctamente, ntsc para mi wii ntsc y no me agarra el vackup pal del zelda, pero el original y backup de mi región si. Esto pasa tanto como en el de Wii, como en el de gamecube.
Eso que mencionas, es tal lo que puse en el post anterior, contestando a charcal. Que efectivamente, primero metes el backup de tu región (no vale con originales) y luego ya lo que quieras, pero el mismo autor lo pone también en el LEEME, que no es soporte multregión total, y que solo admite los que el wifree, porque en gran parte está basado en ese.
gameoso escribió:el mismo autor lo pone también en el LEEME, que no es soporte multregión total, y que solo admite los que el wifree, porque en gran parte está basado en ese.


Bueno cualquier chip comercial que soporte multiregion tiene la misma limitante, NO es un PROBLEMA, es una limitante que en ciertos juegos no puedes engañar a la consola haciendola creer que es de tu region por cuestiones de configuraciones nativas del juego, estos juegos tampoco se pueden correr con los programas que parchean la region.

La lista de compatibilidad la encuentras aqui http://wiki.gbatemp.net/index.php/Wii_Region_Patcher_Compatibility_List y hasta el dia de hoy los que son imcompatibles lo son con cualquier metodo de parcheo de region.

Pero NO es un ERROR ni de WiiFree ni de Yaosm.
La versión 1.1 acaba de ser releseada:

Changes
-------
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.



http://psx-scene.com/forums/yaosm/55348-yaosm-1-1-should-now-work-original-imports.html
alguien la ha provado? carga originales de otras regiones o backups que antes no cargaba???
esta muy dicho y redicho si en esta lista dice que no funciona no funcionara con ningun chip ni software de parcheo de region

http://wiki.gbatemp.net/index.php/Wii_Region_Patcher_Compatibility_List

y esto no es problema de ningun chip, es una limitante de algunos juegos que no son compatibles con el cambio de region, ni parchando la imagen ni al vuelo, simplemente porque no estan configurados para funcionar multiregion, los que si funcionan realmente son por suerte.
ya ha salido tambien la version 1.2.

La unica diferencia con respecto a la 1.1 es que reconoce los juegos originales de otras regiones de game cube, aunq no todos los titulos.

http://psx-scene.com/forums/yaosm/55398-yaosm-1-2-now-also-works-gc-original-imports.html
auqnue ay tiene una revisión más...
Probada version 1.3 y funcionando perfecto.
ultimamente este y el wifree se acualizan uno tras otro....
Probado , va muy bien.

Sludos
Hay alguna posibilidad de portarlo a un 16F84A?
Esque ese es el único PIC que hay en la tienda de electrónica de mi barrio...
PD: Alguien del sur de Madrid (Vivo en Getafe) ha encontrado alguna tienda en la que vendan los PIC que se utilizan para los chips caseros ?(Me vale cualquiera, como si es para hacer el Wiiskas u otro)
y viviendo en getafe (madrid) tienes problemas para conseguir chips???

Pues imaginate la gente que vive por ejemplo en Almería, que alli no hay una mierda de electrónica....

Si estás en el paraíso en cuanto a repuestos y electrónica se refiere....

Has pensado en desplazarte??
salu2
Version 1.4:
1.4
- Increased the number of loops before giving up while detecting type of game,
which resulted in better detection of imports.
- Optimized the code for speed and size. New code is 22.5% smaller than version 1.3.
- Added silent mode (Speedfix default off but can be turned on when needed)
- Enabled support for rescue disc (reset/disable region patching)


Con los tres primeros bytes de la eeprom se puede configurar la region, la velocidad y el activar/desactivar el silent mode (o stealth mode):
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 = medium speed fix, 0x02-0xFF = fast speed fix (default)

byte 2 = Silent mode
0x00 = silent mode, 0x01-0xFF = normal mode (default)


Si se activa el silent mode se deshabilita el speedfix.
silent mode es que no hace ruido o algo asi? o es que el chip esta desactivado???
gracias.
YaOSM versión 1.7.

Añade funcionalidad de nuevo para los pic 12F635, 16F636 and 16F639. Y optimiza el código para reducirlo en unos bytes, ahroa ocupa tan solo el 79 % de la memoria de un pic 12F629, dejando libre por tanto el 21 %.

No añade nuevas funcionalidades, ni corrige ningun bug con respecto al 1.6, por que de momento no se ha citado ningun bug por parte de ningún usuario.

Aquí os dejo la información proporcionada por Bell:

Descarga yaosm 1.7

Desde hoy ya tenemos disponible una nueva versión de este fantastico codigo para vuestros mods, mi favorito:



yaosm version version 1.7
--------------------------
Yet Another OpenSource Modchip version 1.7

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)
- Fully configurable speed setting
- Automatic region detection
- Stealth (well, at least as much "stealth" as any other Wii modchip currently available)
- "Safe" Configuration disc

*Partial support.
See [url escribió:
http://wiki.gbatemp.net/index.php/Wii_Region_Patcher_Compatibility_List[/url] for more info.

**Partial support, for 100% support use GCOS.
See: http://psx-scene.com/forums/yaosm/55455-gcos-multigame-version-howto.html and http://psx-scene.com/forums/404629-post1.html


Things that are still missing
-----------------------------
- Gamecube audiofix


Quickstart
----------
1. Program your chip with the hex file that match the chip you've choosed to use.
2. Connect the chip to your Wii. (http://psx-scene.com/forums/wiifree/54303-guide-soldering-troubleshooting-pic12f629-progging-wiikey-install-have-look.html)
3. Make sure the first disc you use is a game from your own region.
4. If you later on want to tweak the speed settings, use the configuration disc.


Chip compability
----------------
Hexfiles are included for the following PICs:
12F629/12F675
12F635
12F683
16F627/16F627A/16F628/16F628A/16F648A (has been confirmed to work on 16F628, other are untested)
16F630/16F676
16F636/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 (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://psx-scene.com/forums/wiifree/54303-guide-soldering-troubleshooting-pic12f629-progging-wiikey-install-have-look.html

By default the chip has automatic region detection and speedfix enabled.
This can be changed by modifying the eeprom data before programming your chip or you can change it
later with the configuration disc (requires a GC controller).


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. Doesn't matter if
it is a Wii or a Gamecube disc.

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 or you can use the configuration disc found here:
http://psx-scene.com/forums/yaosm/56191-yaosm-resources-configuration-discs-everything-else-you-may-need.html


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 (default speed for Wii backups)
0x00 = slow speed (Gamecube speed)
0x01 = medium speed (Somewhere in between)
0x02-0xFF = fast speed (Wii speed) (default)

byte 2 = Alternate speed setting (speed for Wii backups when same game is restarted)
0x00 = slow speed (Gamecube speed)
0x01 = medium speed (Somewhere in between)
0x02-0xFF = fast speed (Wii speed) (default)


About the speedpatching
-----------------------
Gamecube backups are not affected by the speed patching.

By default yaosm is configured to run Wii backups at full Wii speed however this can be changed if
you want to. The first speed setting (byte 1 in the eprom area) tells the chip what speed it should
use as default speed for Wii games. The alternate speed setting is used if you start a game, exit
to the menu, and the restart the same game.

Now some people, like me, prefer a silent console with slightly longer loading times so yaosm allows
you to configure those two speed settings.

So to get a silent Wii with the possiblity to turn on full Wii speed when you need it then you just
set the first speed setting (byte 1) to 0x00 before you program your chip. Wii backups will now run
the drive in Gamecube speed unless you exit the game and starts it again.

You can also do the opposite and set the first speed to fast and the alternate speed to slow. In this
configuration all Wii backups will run att full Wii speed but allows you to use slow speed if you choose
to by exiting the game and starting it again.

You can also change this whenever you want by using the configuration disc.
(http://psx-scene.com/forums/yaosm/56191-yaosm-resources-configuration-discs-everything-else-you-may-need.html)


Schematics 12F6xx 16F630/x6/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
6| |9 6| |15 6| L2|13
L1= LED 1 (optional) 7|_____|8 7| |14 7| L1|12
L2= LED 2 (optional) 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 12F629, 12F635, 12F676 and 12F683 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) -
| - -
\
NOTE: If you lack the solder point that the arrow points at, don't worry, it just means that you
have the new circuitboard. The only modchip I know that uses that point is the WiiKey.


LEDs (optional)
---------------
The LEDs are optional and here's a short description on what they do.
LED1: Lights up when patching backups and when patching the region.
Also flashes quickly four times when settings are saved to the eprom.
LED2: Is lit when waiting for disc and unlit when disc has been detected.


Changes
-------
1.7
- Re-added support for 12F635/16F636/16F639 as it has been fixed (bug in GC basic)
- Minor code optimizations (saving a couple of bytes)

1.6
- Removed support for 12F635/16F636/16F639 since it has never been working.
- Redesigned the speed patching and made it fully configurable.
- Enabled the quick 4 flashes on LED1 when eprom is updated.
- Added support for yaosm configuration disc.
- Removed support for rescue discs (no longer needed).

1.5
- Further optimizations to the code and fixed an issue with version 1.4.
Version 1.5 hopefully is what version 1.4 should have been.

1.4
- Increased the number of loops before giving up while detecting type of game,
which resulted in better detection of imports.
- Optimized the code for speed and size. New code is 22.5% smaller than version 1.3.
- Added silent mode (Speedfix default off but can be turned on when needed)
- Enabled support for rescue disc (reset/disable region patching)

1.3
- Fixed problem with imported Gamecube promotional and demo discs.
- Added medium speedfix since it works better for some people.

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.

emu_kidid
For the excellent GCOS.

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: 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'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.

I've borrowed from WiiFree, WiiFree has borrowed from yaosm. That's the good thing about free
code. :)

My primary goal with yaosm is that it should be stable. All releases so far has been stable,
except for version 1.4 which turned out to be really unstable on DMS/D2A. I have a D2B chip
so I had no way to predict this. Stability comes first, features comes second.

It is also heavily optimized and on a 12F629 there is still 20% free space in the coding area
and most of the eprom is unused. I expect that if I ever figure out how to do a GC audiofix
it will be using drivecode and I believe the remaining code space and eeprom should be enough
for that.

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.

In fact the yaosm configuration disc doubles as a GCOS boot disc and it can be used to boot
your Gamecube imports. You'll find it here: http://psx-scene.com/forums/yaosm/56191-yaosm-resources-configuration-discs-everything-else-you-may-need.html

I also strongly recommend the GCOS multigame creator that you can find here here:
http://psx-scene.com/forums/yaosm/55455-gcos-multigame-version-howto.html

Apart from making it possible to put several GC backups on the same disc it boots the your imports.

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.

Q: Can you port yaosm to ?
A: yaosm is written in GCBasic and GCBasic only supports PIC processors. Porting it to any other
chip requires a full rewrite to another programming language. PIC processors are small and
inexpensive and you can build a cheap, but working, programmer for $5 or even less so why bother?

Q: What do you mean by "safe" configuration disc?
A: yaosm detects if the configuration disc has been inserted and only then will it allow changes to
the eprom.]bell - creador de yaOSM


Un cordial saludo, espero que os guste ;P
Ya probe un juego game cube y el audio es horrible y segun las caracteristicas de ese Chip dice que ya tiene el AUDIOFIX y creo que no es asi.Lo probe con el Naruto y no suena nada bien.
chipset escribió:Ya probe un juego game cube y el audio es horrible y segun las caracteristicas de ese Chip dice que ya tiene el AUDIOFIX y creo que no es asi.Lo probe con el Naruto y no suena nada bien.


Mmmmm


escribió:Things that are still missing
-----------------------------
- Gamecube audiofix



Y donde has visto tu eso en las caracteristicas ?
traduzcamos.....

Things that are still missing

Cosas que todavia estan faltando
chipset escribió:Ya probe un juego game cube y el audio es horrible y segun las caracteristicas de ese Chip dice que ya tiene el AUDIOFIX y creo que no es asi.Lo probe con el Naruto y no suena nada bien.


Te iba a responder, pero ya lo hicieron los compañeros de arriba, como bien dicen, el creador en ningun momento indica que el codigo tenga audiofix entre sus características, por contra, indica todo lo opuesto, es decir, que todavía tiene pendiente el tema del audiofix.

Luego es normal que el audio de algunos juegos de game cube (aquellos que tengan audio stream), te funcione mal con el wiifree o Yaosm, puesto que todavía no implementan audiofix.

Compañero chipset ;P, de todas formas no pasa nada por ese mínimo error de lectura, todos los tenemos ;P un saludote.
Gracias por responder a mis duda.No habia tomado la lectura en ingles y pense que por ser una version nueva le habian agregado el audiofix en GC .Pues solo queda esperar.Saludos a todos.
Simplemente Es un mod chip Genial, me lo han instalado esta tarde y Todo coo..udo.
He probado el wii sport original, y perfecto y los backups Genial.
Lo recomiendo 100%.
unas preguntillas acerca de sete codigo:

- lo puedo poner en el mismo zocalo externo ke mi wiifree??
- es realmente util lo de cambiar las velocidades del lector?
- para que sirve el configuration disc??
- y de donde se puede descargar¿?¿? (si es necesario)

gracias

gatto
Respuestas a gato_rison, desde mi puinto de vista:

- lo puedo poner en el mismo zocalo externo ke mi wiifree??

Si, ambos usan el mismo esquema de instalación


- es realmente util lo de cambiar las velocidades del lector?

Desde mi punto de vista si, estas son mis razones:

1-La velocidad de los originales se mantiene a la que tiene la consola por defecto, dado la buena calidad mecanica de dichos discos, el ruido que desprende el lector durante la lectura es poco, pero con los backups, debido a la baja calidad de muchos discos y/o su baja espesor/rigidez en comparación con los originales, hace que para la misma velocidad ( 6x), estos hagan más ruido, por tanto para los backups prefiero la velocidad por defecto de 3x. ( Todo esto lo haría el chip por defecto, correctamente programado, sin tener que cambiar siquiera de velocidad).

2-El lector sufre más con discos de baja calidad mecánica, ( los que más ruido hacen), si bajamos la velocidad, el lector sufrirá menos y se alarga su vida útil. Si sumamos que alguna grabación puede estar "defectuosa" o que la calidad óptica del disco no sea la más adecuada, la posiblidad de errores de lectura a más velocidad de lectura también es mayor, por ende la lente también sufre más en la lectura. Por contra si la dejamos a 3x la lectura será más favorable para dichos discos.

3-Son pocos los juegos que necesitan "Speedfix" para solucionar problemas de relentizaciones... etc... en comparación con los que van bién a 3x,por tanto para la mayoría prefiero usar 3x por los motivos comentados arriba, si además necesitas elevar la velocidad del lector de 3x, a 4.5x ( Medium), o 6x( máxima) para dichos juegos, podrás hacerlo simplemente cargando el juego dos veces, con un reset de por medio, y así elvarás la velocidad a 4.5x o 6x ( dependiendo de la que programaras para tras el reset con backups), y solucionas los problemas de relentizaciones para dichos juegos.

Resumiendo:
-Menos stress para la lente/lector, (posiblemente mayor vida útil del mismo).
-Menor ruido de lectura en backups.
-Posibilidad de activar speedfix sin reprogramar el chip, para los pocos juegos que lo requieran).



- para que sirve el configuration disc??

La verdad no lo se, nunca lo he usado, pero si te soy sincero, creo que sirve para cambiar los valores de velocidad o la region por defect, pero eso también puedes hacerlo en el momento que programas el chip, y luego ya no tienes por que tocarlo.
De todas formas, ni me he parado a mirarlo.

- y de donde se puede descargar¿?¿? (si es necesario)

Foro oficial, de donde puedes descargarlo

link directo a la ultima version disponible -1.7


Esta es mi opinión y como me gusta que sean las cosas, desde mi puntod e vista. Supongo que para gustos, colores.

Un cordial saludo.
gracias por el comentario error404 aupongo ke la mejor solucion (como en muchisimas cosas desta vida) sera probarlo y ver como va
^_^
una pregunta , soporta parcheo al vuelo?? por ejemplo si quiero introducir un juego de otra region (que figure que funcione en wiki) gracias!
animepowa
Jejeje, podrias leer las specs amigo ;P, pero bueno ya te contesto yo.
Si, si que soporta parcheo al vuelo.
Hola,

cuando habla de cambiar el primer o el segundo byte... ¿a qué se refiere exactamente?

Supongo que no será tocar el código, sino la parte del chip donde se graba la configuración.

¿Cómo lo hago desde el ICProg? ¿Qué valores son exactamente los que hay que modificar?

Es que no tengo mucha idea de electrónica y no he usado ICProg en mi vida.

Gracias.
Acabo de probar este chip y la verdad me ha sorprendido lo bien que va. Antes tenía el WiiFree y también me iba bien, salvo por algunos backups de Gamecube. Con este todo me va perfecto, y el lector es más silencioso, sobretodo en los juegos de Cube. Totalmente recomendado por mi parte.

Ahora a ver si puedo descargar el config dvd, que por alguna razón no me cargan los foros de psx-scene.
pjexposito: ( y para todos aquellos que tengan dudas en este aspecto, intentare explicarlo de la forma más sencilla posible):

Como cambiar y para que sirven los bytes de configuración:

En el IcProg, busca el cuadro --> Adress - Eeprom Data
( el que está abajo).

En la línea 0000: La primera FF constituye el primer byte, la segunda FF constituye el segundo byte, la tercer FF constituye el tercer byte... y asi sucesivamente.

Abajo de la imagen te pondré unas configuraciones ejemplo.

Imagen

Así pues:

1º El primer byte, (las dos primeras FF en la linea 0000:, del cuadro Adress - Eeprom Data), son para configurar la región de la consola, para indicarle que región usas y por omisión, que juegos de otras regiones parcheará al vuelo. Posibilidades:
- 00 --> para una consola JAP
- 01 --> para una consola USA
- 02 --> para una consola PAL ( consolas vendidas en España y resto de europa ;P)
- 03 --> deshabilitado, es decir, solo podrás jugar a backups y originales de tu misma región, y no podrás jugar a juegos de otras regiones, por que no realizará el parcheo al vuelo.
- 04 --> automático, es decir, el propio chip se configurará el byte de región automáticamente a el valor --> 00 ( JAP), 01 (USA) o 02 (PAL) dependiendo de la región del primer juego que introduzcas por primera vez después de programarlo, por tanto es importante que el primer juego que introduzcas pertenezca a tu región, ( en españa, normalmente PAL), pero si te equivocas e introduces uno de otra región la primera vez no te preocupes, siempre puedes volver a programar el chip para solucionarlo.
De todas formas yo recomiendo configurar tu región manualmente y obviar este valor.
- FF --> exactamente lo mismo que el valor 04. Es el valor por defecto si no introduces ninguna configuración antes de programar el chip.

____________________________________________________

2º El segundo byte, ( las dos FF siguientes en la línea 0000:), es para configurar la velocidad a la que funcionará el lector POR DEFECTO, ÚNICAMENTE PARA la lectura de LOS BACKUPS. ( Ni que decir tiene que esto no afectará a la velocidad con la que el lector lee los juegos originales, que seguira siendo la misma que la velocidad original, es decir 6x para los originales de wii, y 3x para los originales de game cube). Posibilidades:

- 00 --> velocidad baja 3x (menor ruido y menor estress para el lector en discos de baja calidad mecánica, y menor stress para la lente con grabaciones "defectuosas" o discos de baja calidad óptica. La mayoría de juegos, actualmente, funcionan sin problemas de relentizaciones con esta velocidad).
- 01 --> velocidad media - aproximadamente 4.5x
- 02 --> velocidad rápida - 6x, ( mayor ruido y mayor estress para el lector en discos de baja calidad mecánica, y mayor stress para la lente con grabaciones "defectuosas" o discos de baja calidad óptica. Algunos la recomiendan solo para solucionar los problemas de relentizaciones en algunos juegos, actualmente solo afecta a unos pocos juegos de wii).
- FF --> exactamente lo mismo que el valor 02, es el valor por defecto si no introduces ninguna configuración al programar el chip.

____________________________________________________

3º El tercer Byte, es para configurar la velocidad de lectura para los backups, ALTERNATIVA, (es decir, aquella que obtendremos tras iniciar el mismo BACKUP dos veces, con un reset de por medio). Posibilidades:

- 00--> velocidad baja - 3x
- 01 --> velocidad media - aproximadamente 4.5x
- 02 --> velocidad alta - 6x
- FF --> exactamente lo mismo que el valor 02, es el valor por defecto si no introduces ninguna configuración al programar el chip.

________________________________________________

Ejemplos de configuración y recomendaciones desde mi punto de vista:

ejemplo 1: ( el valor que yo uso) ---> 02 00 01

Configuración para que una consola PAL pueda parchear al vuelo juegos de otras regiones, que carga los BACKUPS a baja velocidad, salvo que inicies el mismo BACKUP 2 veces con un reset de por medio, en cuyo caso los cargará a velocidad media, solucionando así los posibles problemas de relentizaciones que se producen en algunos juegos.

ejemplo2: ---> 02 00 FF

Configuración para que una consola PAL pueda parchear al vuelo juegos de otras regiones, que carga los BACKUPS a baja velocidad, salvo que inicies el mismo BACKUP 2 veces con un reset de por medio, en cuyo caso los cargará a velocidad alta, solucionando así los posibles problemas de relentizaciones que se producen en algunos juegos.

ejemplo 3: --> 02 FF FF

Configuración para que una consola PAL pueda parchear al vuelo juegos de otras regiones, que carga los BACKUPS siempre a alta velocidad. ( 6x).

ejemplo 4: --> 03 00 01

Configuración para que una consola NO pueda parchear al vuelo juegos de otras regiones, que carga los BACKUPS a baja velocidad, salvo que inicies el mismo BACKUP 2 veces con un reset de por medio, en cuyo caso los cargará a velocidad media, solucionando así los posibles problemas de relentizaciones que se producen en algunos juegos.

Algunas personas prefieren, segun ellos, como medida de protección, que el modchip no sea capaz de cargar juegos de otras regiones, para proteger así a su consola de posibles actualizaciones con firmware de otra región diferente a la suya, intentado evitar así posibles "Bricks".


Sin más pretexto, espero haber aclarado tus dudas, e intentado espresarme de una forma clara, pero no se, si lo habré conseguido.

Recibe un cordial Saludo.
Muy buena explicación, un 10 para ti, gracias
56 respuestas
1, 2