Site hosted by Angelfire.com: Build your free website today!

PROYECTO MOD-CHIP

En esta página encontraremos explicaciones básicas del MOD CHIP (PIC12C508), de cómo fabricarnos un programador, de cómo programar el chip y de cómo montarlo en los distintos modelos de consolas PlayStation.

Para que se usa.

Cuando se fabricó la PlayStation y sabiendo que un CD sería fácilmente duplicable en un futuro próximo, se crearon una serie de protecciones con el fin de poner el máximo de trabas al mercado negro. Entre estas protecciones está la de la detección del color del disco, (los famosos CD's negros de PlayStation), aunque esta protección no es muy efectiva contra los nuevos CD's verdes o azul oscuro. También los CD's de PlayStation poseen unas pistas que contienen información de la región del mundo para la que se ha licenciado el juego y solamente podrán ser usados por consolas pertenecientes a esa región. De esta forma un CD comprado en USA o Japón no funcionará en una consola europea. Para colmo estas pistas están grabadas en el CD con los EDC/ECC a cero, esto es, cuando una pista se graba en un CD, al final de la pista se escribe una especie de suma de la información que contiene con el fin de detectar y corregir posibles errores (EDC/ECC), pues bien, los EDC/ECC de estas pistas están a cero aunque contienen información. Esto sólo se puede hacer con grabadoras especialmente diseñadas para esto. Cualquier grabadora convencional, al escribir estas pistas pondrá automáticamente los EDC/ECC correctos a la información que poseen las pistas. Esto es inevitable y en la actualidad no reproducible, por lo tanto la consola detecta a través del EDC/ECC de estas pistas si el CD es original y por la información que contienen si es de la región de la consola. Aquí es donde entra en juego el Mod Chip, éste chip no se sustituye por uno de la consola, sino que se añade a esta, este chip se encarga de que cuando insertamos un CD copiado o de otra región en la consola, interceptar la información de las pistas de protección del CD y mandar a la consola la información correcta que esta espera, como que es un disco original y que la región es la de nuestra consola. Una vez hecha la comprobación, el CD se ejecutará normalmente y no se repetirá esta comprobación hasta que cambiemos de CD o abramos y cerremos la tapa del lector de la consola.

El Mod Chip.

Normalmente, el chip empleado es un PIC12C508 de Microchip Technology Inc.Se trata de un circuito integrado de ocho patillas que a grandes rasgos contiene un microcontrolador de 8 bits que entiende unas 33 instrucciones, una memoria RAM para poder ejecutar el programa y una memoria EPROM que lo almacena. Cuando compramos el chip en la tienda la memoria EPROM esta vacía, por lo tanto el microcontrolador no tendrá instrucciones para ejecutar y el chip será inútil. Para que el chip sea operativo debemos colocar un código con instrucciones en la memoria EPROM, para ello debemos emplear un programa y un programador como el descrito a continuación. La programación y montaje que se describe en esta página corresponde al de cuatro cables (el más fácil), también se puede instalar el chip con cinco cables aunque el código cambia ya que el reloj de sincronismo se tomará de la consola, por el quinto cable, en vez de usar el reloj interno del chip, que si se calienta mucho variará de frecuencia. Insisto en que el montaje de cuatro cables es totalmente efectivo cuando se sitúa el chip en un lugar ventilado.

Familia Pic12c5xx

El Código.

El código, escrito por Scott Rider y descrito en su página REI Project: Mod Chip, que insertaremos en la memoria EPROM del chip contiene las instrucciones necesarias para que el microcontrolador engañe a la consola haciéndole creer que el CD que está insertado es original y que corresponde a la región de la consola. Este código es compatible con consolas PAL europeas. El fichero 9002.ZIP (4K), contiene el código fuente y compilado de la versión 5.3 con una modificación de Charles para montajes de cuatro cables en las consolas SCPH-1XXX, SCPH-3XXX, SCPH-55XX, SCPH-700X y SCPH-900X y cinco cables en las consolas SCPH-750X. Los ficheros que contiene 9002.ZIP (4K) son el 9002.ASM (código fuente) y el 9002.HEX (código compilado), nos interesa en especial este último ya que si quisiéramos compilar el código fuente (ASM) al compilado (HEX), necesitaríamos herramientas del fabricante disponibles en Microchip Technology Inc..Tanto el código como los montajes están comprobados personalmente con éxito.

El Programador para PIC12C5xx.

Con este circuito sacado de la página PIC Programmer 2, podremos programar, entre otros, el PIC12C508 a través del puerto paralelo del ordenador y sin necesidad de una fuente de alimentación externa. Aunque el montaje puede programar también otro tipo de integrados, nos centraremos solamente en el que nos interesa para este proyecto, o sea el PIC12C508, el famoso MOD CHIP para la consola PlayStation. La forma más rápida de montar el circuito es en una placa universal de circuito impreso, aunque si se quiere un aspecto más profesional se adjuntan imágenes del circuito impreso. Una vez montado el circuito en la placa con sus componentes, quedará aproximadamente como las fotografías siguientes. Con el fichero TESTV10.ZIP (8K), conectaremos nuestro montaje al puerto paralelo del ordenador y comprobaremos que funciona correctamente.

El programa que controla el programador.

El fichero P50XV13.ZIP (25K), contiene los ficheros fuente (en pascal) y ejecutables necesarios para comunicarse con nuestro programador y poder trasvasar el código 9002.HEX a la memoria EPROM del chip. De este fichero en principio sólo nos interesan los programas PROG508.BAT, PROG50X.EXE, READ508.BAT y READ50X.EXE. Bueno, ¡llego el momento de la verdad!, para que nada falle, ARRANCAREMOS EL ORDENADOR EN MODO DOS teniendo colocado el programador en el puerto paralelo, nos colocamos en el subdirectorio que contengan los programas y ficheros que necesitamos (9002.HEX, PROG508.BAT, PROG50X.EXE, READ508.BAT y READ50X.EXE) y colocamos el chip PIC12C508 en la parte superior del zócalo, patillas 1, 2, 3, 4, 15, 16, 17 y 18 del zócalo, quedando libres las patillas 5, 6, 7, 8, 9, 10, 11, 12, 13 y 14 del zócalo.

ZÓCALO PIC12C508
Patilla 1 Patilla 1
Patilla 2 Patilla 2
Patilla 3 Patilla 3
Patilla 4 Patilla 4
Patilla 15 Patilla 5
Patilla 16 Patilla 6
Patilla 17 Patilla 7
Patilla 18 Patilla 8

Una vez insertado el chip en el zócalo podemos leerlo para comprobar que esta vacío, la sintaxis será:

READ508 NombreFichero.hex puerto
NombreFichero.hex = Nombre del fichero que se creará y que contendrá la información de la memoria EPROM del chip.
puerto = Número del puerto serie donde está conectado el programador.

Ejemplo:
READ508 VACIO.HEX 2

El programa contestará con:
Reading PIC12C50X at COM2 to 'VACIO.HEX'
--- Notice: Oscilator calibration value: 140 ---

Esto generará un fichero llamado VACIO.HEX que contiene la información del chip que está en el programador conectado en el puerto serie 2 (COM2). El valor de calibración del oscilador (Oscilator calibration value) se graba en el proceso de fabricación en el chip por el fabricante, es como un ajuste fino del reloj interno del chip que varía de 1 a 255 dependiendo de las condiciones de fabricación, lo lee automaticamente el programa y su valor no tiene especial relevancia. Si visualizamos este fichero con un editor comprobaremos la información que tiene el chip VACIO, borramos este fichero y nos preparamos para programar el chip con la siguiente sintaxis:

PROG508 NombreFichero.hex puerto
NombreFichero.hex = Nombre del fichero que contiene el código a trasvasar a la memoria EPROM del chip.
puerto = Número del puerto serie donde está conectado el programador.

Ejemplo:
PROG508 9002.HEX 2

El programa contestará con:
Reading 12C50X from COM 2
Reading file '9002.HEX'
Oscilator Calibration Value: 140
Programming ...
Verify TRUE
Verify TRUE

Esto trasvasara el fichero llamado 9002.HEX al chip que está en el programador conectado en el puerto serie 2 (COM2).
¡ATENCION!, esta operación sólo puede hacerse una vez, pues el chip una vez programado no puede ser reprogramado. Sí se puede leer de nuevo para comprobar que el programa está dentro del chip.

Ejemplo:
READ508 LLENO.HEX 2

El programa contestará con:
Reading PIC12C50X at COM2 to 'LLENO.HEX'
--- Notice: Oscilator calibration value: 140 ---

Esto generará un fichero llamado LLENO.HEX que contiene la información del chip que está en el programador conectado en el puerto serie 2 (COM2). Si visualizamos este fichero con un editor comprobaremos la información que tiene el chip LLENO.

Pues ya tenemos programado nuestro chip, sólo nos queda conectarlo en la consola PlayStation.

Como conectar el Mod Chip a la consola.

Del chip PIC12C508 solamente soldaremos las patillas 1, 5, 6 y 8, excepto para la consola SCPH-750X que soldaremos las patillas 1, 4, 6, 7 y 8, en la consola SCPH-900X soldaremos las patillas 1, 2, 4 y 8. Existen distintos modelos de consolas dependiendo del año de fabricación, para saber cual es el modelo nuestro miraremos la etiqueta que trae la consola por debajo, el modelo puede ser SCPH-1XXX, SCPH-3XXX, SCPH-55XX , SCPH-700X, SCPH-750X y SCPH-900X. Dependiendo del modelo elegiremos una de las siguientes opciones:

Modelo SCPH-1XXX/3XXX
Modelo SCPH-55XX
Modelo SCPH-700X
Modelo SCPH-750X
Modelo SCPH-900X

Una vez echas las conexiones, probaremos nuestra consola con un CD copiado, si todo es correcto el juego arrancará como el original.
¡¡¡PROYECTO CONSEGUIDO!!!

Si algo no te funciona o tienes dudas consulta las PREGUNTAS Y RESPUESTAS más frecuentes que hacen sobre el proyecto.



Eres la persona número que visita esta Web Page.

Si tienes alguna duda puedes enviarme un E-mail con tu pregunta y con gusto te la respondere.
Visita mi otra página