Cargando...

WiiUCamera

0

WiiUCamera

Convertí el gamepad de WiiU en una cámara funcional


Teniendo contexto, la Wii U tenía una cámara integrada que se usaba en juegos como Game & Wario o Nintendo Land. Pero... por alguna razón, Nintendo nunca lanzó una aplicación nativa simplemente para hacer uso de ella de forma no recreativa.

Me refiero a una app sencilla que te permita tomar fotos, grabar videos y guardarlos en tu SD, sin tener que entrar a menús lentos como el Mii Maker. Durante mucho tiempo, esa cámara estuvo de adorno para la comunidad Homebrew... ¡Hasta hoy!

Después de meses de desarrollo, ingeniería inversa y peleas con la gestión de memoria, les presento la versión 1.4.0 de: WiiUCamera.

1. Como inicie, el proceso y una casi cancelación

Antes de iniciar con todo, quiero agradecerle mucho a Gemini, que fue mi gran soporte en cuanto a búsqueda de información, una buenísima capacidad de comprensión tanto en lo técnico como en lo moral y como su préstamo para hacer vibe coding en casos extremos.

Volviendo al tema, vi que todo proyecto de homebrew comienza con la configuración del entorno. Para ese momento, no sabia que programar directamente sobre el hardware de la Wii U (usando solo GX2, la API gráfica nativa) iba a ser una tarea prácticamente imposible xd 👻

Necesitaba una librería que actuara como intermediario, que fuera amigable y, sobre todo, que ya tuviera soporte para la consola; la elección que encontré fue: SDL2 

2. Primeras fotos y errores

Como evidencia, dejare una de tantas fotos que se pudieron tomar; cabe aclarar, que algunas de estas se perdieron por estar corruptas y no estar en un formato adecuado.
Me arrepiento un poco no tomar y guardar tanta info sobre este proceso, así que tratare de resumir todo el desastre que anote y documente junto a la IA en ese momento para la implementación de esta lógica.

Es evidente el uso y la visualización tan bizarra de las 3 primeras imágenes:
La razón de esta, es que, la cámara de Wii U chapaba la imagen en un formato llamado YUV (que para dar un significado rápido, es un modelo que separa tanto el brillo como el color de la imagen); recibia los datos YUV correctamente... pero nos olvidamos de traducirlo a RGB
En otras palabras, teníamos emisor pero no traductor y salían estas primeras imágenes sin sentido de magenta y verde.


3. Primeros intentos para grabar video


Conclusión

El desarrollo de WiiUCamera ha sido una bestia en su creación. Pero con perseverancia pude hacer un proyecto relevante para cada uno de ustedes!
Espero que quienes lo tengan descargado, disfruten de estas funciones y muchas más que se vendrán! :)

Tal vez te interesen estas entradas

No hay comentarios