Nuevo proyecto con PIC

Os mando informacion de un proyecto que encontre por internet no tiene nada que ver con la PS2 pero a mi me gusto mucho fabricarmelo hace tiempo y es muy divertido hecharle un vistazo, USB si no lo has heho ya se que te gustara...
Mira que ideas mas "descabelladas" se me han ocurrido:

En las PS2 japos, utilizando el disco de utilidades, podeis hacer swap con una copia y os rula, pero tiene el problema de que el disco de utilidades sale girando a toda hostia y que teneis cuatro segundos para hacer el cambio ¿No?. En las consolas Europeas los de Sony corrigieron el problema, haciendo que el tiempo en que un CD se puede hacer el "loco" es menor, de forma que si hacemos el swap, no funciona porque la PS2 deja de recibir datos y se da cuenta. Puede que dure un segundo o lo maximo dos. Pero, ¿hay alguna manera de alargar el tiempo? Puede que si.
Veras los microprocesadores, tienen una serie de señales de control, que permiten a los perifericos detener la accion del procesador:El circuito especializado en refrescar la RAM puede necesitar pararle los pies al procesador cuando intenta acceder a la memoria, una DMA puede estar accediendo a un bloque de esta o simplemente el procesador puede estar accediendo a un periferico o memoria mas lenta y necesita una señal que le ralentice un poco para leerla.

La señal buena seria una del tipo Requerimiento del BUS: con una señal de este tipo el procesador deja de trabajar y deja libre los buses para otro periferico.
Una señal peor, pero que podria valer, seria una de tipo Parada (halt), que se utilizan para dispositivos lentos
Incluso si no tuvieramos esas señales, siempre podriamos intentarlo con una interrupcion que este habilitada: si por ejemplo el PAD produce una interrupcion cada 16 ms y nosotros hacemos que se produzcan muchas mas, casi todo el tiempo del procesador se gasta en manejar las interrupciones

En cualquier caso, lo que pretendemos es que el procesador, sin darse cuenta siga ejecutando su bucle que el tardaria normalmente en PS2 Jap algo mas de 4 seg, pero que si nosotros enviasemos rafagas con ayuda del chip, sobre estas señales, podria tardar 40 o mas segundos :), tiempo mas que suficiente para hacer la parada del CD/DVD como dios manda y hacer el cambio.

PROBLEMAS

El primer problema es que yo por lo menos no se donde estan esas señales (si alguno sabe donde encontrarlas, que lo diga)

El segundo, es que las Japo tienen un sistema para cargar juegos por ese metodo (poniendo un parche especial), pero las PAL no y ademas, no sabemos si solamente han recortado el tiempo, antes de que de error o han puesto algo mas. De todas formas seria interesante probarlo ¿verdad?
Otra idea que se me ha ocurrido, era referente a lo que decias de poder programar el PIC sin sacarlo de la consola. Veras se podria conectar el PIC al puerto USB con un cable y al arracar la consola , el chip podria esperar una señal antes de seguir por otro lado. Si la señal fuese afirmativa, se procederia a una comunicacion via serie entre el PC y el PIC, de forma que al final de la transmision, este ultimo chequea los datos y si son buenos los pasa a la EEPROM (supongo que por aqui te habras perdido :D ). Ahora viene lo bueno: si esa informacion fueran comandos y datos (la pega es que solo tenemos 64 bytes de almacenamiento, en EEPROM), que representasen acciones sobre rutinas grabadas en el PIC (ejem: manda SCEE, haz pausa 50ms), pues si fuesemos un poco listos y organizados a la hora de diseñar el "lenguaje", podriamos tener un chip "programable" (con la consola encendida), que solo necesitaria montar un cable mas (al USB) y que podria hacer la comunicacion con el PC, o bien directamente o por mediacion de otro PIC que hiciese de interfaz con el PC a traves del puerto paralelo por razones de timming.
(no esta mal la idea, si eso se hiciese con un 16F876, ni te cuento XD )
La ultima, que tambien seria para programar el chip in situ, a traves del puerto USB y con la PS2 encendida, tiene algo mas de Hardware: Consiste en usar otro PIC (un 12c508a, puede que valga) para hacer la comunicacion y programar al 16F84a, los 12V saldrian de la PS2 directamente y con un 74HCT245, podriamos aislar las lineas del PIC necesarias para la programacion de su destino en la PS2, tambien seria necesario algun componente extra, claro
con razon no me salia he estado haciendo montajes con el modchipx y ademas el montaje de un jdm muy primitivo con muy pocos componentes, el problema es que a la hora de hacer la comunicacion con el pc a veces se me quedaba frito, y otras funcionaba ok, por otro lado y tristemente el chip no funcionaba tan bien como antes ;( pero bueno eso que planteas esta muy bien podemos llegar a conectar mediante el conector usb al pc y hacer un programa al estilo de las tarjetas csd para la seleccion de timmings y hacer que el chip funcione de una forma u otra, yo no te puedo ayudar mucho pero te sigo en lo que pueda y probare en mi consola a la que la llamo cariñosamente colador ;) lo que sea
Joder, vamos a poder hacer un diccionario XD

Araña - PIC12C508
Ciempies - PIC16f84
Colador - PS2 voluntaria para probar PICs

Ya veremos lo que hacemos, pero a mi la idea de utilizar la eeprom para ajustar el organigram del chip, me parece buena. En cuanto se pueda habra que hacer algo (la comunicacion seria mediante otro PIC que se comunique con el PC, usando un sistema especial de comunicacion serie con este. La comunicacion entre PIC's, seria similar a como se transmite el SCEE, solo que mas rapido y con algun tipo de comprobacion. A efectos practicos, las instrucciones podrian realizar llamadas a rutinas completas ya echas o hcer oro tipo de cosas a mas bajo nivel, o simplemente no usar un codigo definido y simplemente usar la programacion para unir/desunir modulos
5 respuestas