Controlador Xbox 360 a consola Nintendo 64

0

El objetivo de este proyecto es crear un adaptador que funcione entre un controlador de Xbox 360 con cable y una consola de juegos Nintendo 64. Las señales de los pines de datos del puerto USB del controlador Xbox 360 (Datos + y Datos-) serán recogidas y modificadas adecuadamente por un microcontrolador; La señal de salida modificada de 32 bits se introducirá en la consola. No voy a preguntar cómo realizar la mayor parte de las tareas, más bien como un medio para superar un obstáculo que ocurrió durante las pruebas preliminares.

Por lo general, una computadora que ejecuta un sistema operativo Windows 7 es capaz de localizar controladores para el controlador, lo que permite que el controlador se comunique con la PC. Sin embargo, en lugar de conectarlo a un puerto USB, proporcioné 5V directamente de una fuente de alimentación a través de los terminales VCC y GND en la memoria USB macho física adjunta al controlador. Esto fue parcialmente un éxito en el sentido de que la luz que indica el poder se recibe encendida; pero solo momentáneamente, por alrededor de un tercio de segundo. La luz se apagó hasta que volví a conectar la señal de CC. En otras palabras, levantar un cable de GND o VCC y luego volver a conectarlo causó que la luz parpadee nuevamente, durante aproximadamente un tercio de segundo cada vez que se probó.

Supongo que hay una secuencia particular de datos que debe enviarse a través de los dos pines de datos, que el controlador de Windows sabría cómo comunicarse. De esta manera, una computadora con los controladores instalados encenderá el controlador e inmediatamente iniciará algún tipo de señal codificada a través de los pines de datos para mantener el controlador encendido indefinidamente. Es en este punto que creo que el controlador puede enviar datos a través de los pines de datos USB a la computadora, aunque la señal variará según la combinación de botones que se presionen. Como no puedo hacer que el controlador permanezca encendido, ni siquiera puedo comenzar a probar esto, por lo que todo es teórico.

¿Alguien podría arrojar luz sobre lo que puedo estar haciendo mal al encender el controlador? ¿Debo enviar datos de la misma forma que un controlador de Microsoft para que la luz permanezca encendida? Si es así, ¿cómo puedo saber qué señales debo enviar? ¿Estoy potencialmente perdiendo algo más? No pude encontrar una hoja de datos para el controlador de Xbox 360 que contenga información sobre cómo interceptar sus señales y proporcionar energía (no me sorprende), por lo que he abordado mi pregunta aquí con la esperanza de que alguien tenga conocimiento en esta área.

No busca una respuesta rápida en particular, solo una que puede abordar concretamente estas preguntas de bajo nivel.

    
pregunta user33573

2 respuestas

3

El controlador xbox es un dispositivo USB compuesto, que consiste en un concentrador USB, un dispositivo HID USB y un dispositivo de memoria o dos para las tarjetas de memoria (u otros accesorios). Antes de que el controlador comience a tomar el control, el host USB (es decir, la computadora) debe iniciar un proceso de enumeración usb estándar.

Si conecta el controlador a la alimentación, pero el usb D + y D- se dejan flotando, no ve ninguna enumeración y se apaga. Como si lo enchufaras en un cargador tonto. Normalmente, se espera que la enumeración se realice en milisegundos, por lo que solo la ves durante un tercio de segundo (330 milisegundos, una eternidad para un microcontrolador).

    
respondido por el Passerby
1

El N64 solo suministra 3.3 V sobre el pin de alimentación a los controladores.

Usé un Beaglebone Black para hacer un adaptador n64 / gamecube para cualquier dispositivo USB, pero necesita alimentación externa (5V).

Estoy en el proceso de volver a escribir el software, así que si quieres colaborar, solo tienes que enviarme un correo electrónico. La mayor parte del trabajo consiste en compilar ciertas utilidades en Angstrom Linux. (O encontrar una manera de incrustar Qt4 para que se ejecute en Ubuntu)

    
respondido por el Herbert Von Karajan

Lea otras preguntas en las etiquetas