PROYECTO MOD-PSX

La finalidad de esta página es el conocimiento y programación del famoso chip MOD que se añade a la consola PlayStation para poder jugar con copias o juegos de otra región del mundo. Toda la información aquí contenida es fruto de una elaborada búsqueda y comparación en Internet. En esta página encontraremos explicaciones básicas del chip MOD (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, incluida la SCPH-9002. ¡Todo esto por un precio inferior a 1.000 pesetas!.

- Un poco de historia.

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 chip MOD, é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 chip MOD.

Normalmente, el chip empleado es un PIC12C508 . 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 PROM que lo almacena . Para que el chip sea operativo debemos colocar un código con instrucciones en la memoria PROM, 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, por lo tanto nos ceñiremos a él.

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

Con este circuito sacado de la página PIC Programmer 2, podremos programar, entre otros, el PIC12C508 a través del puerto RS-232 del ordenador y sin necesidad de una fuente de alimentación externa, el precio aproximado del montaje es de unas 500 pesetas. 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 chip MOD 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 serie (RS-232) 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 PROM 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 serie, 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.hexpuerto
NombreFichero.hex = Nombre del fichero que se creará y que contendrá la información de la memoria PROM 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.hexpuerto
NombreFichero.hex = Nombre del fichero que contiene el código a trasvasar a la memoria PROM 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.

- Conectar el chip MOD 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 me hacen, puede que en ellas encuentres la solución a tus dudas o problemas.


Todo este proyecto es con fines experimentales y de aprendizaje, la duplicación de CD's es ilegal y aunque la modificación en la consola no lo es, esto invalida la garantía de esta, también creo que el servicio técnico oficial se niega a reparar las consolas modificadas.


Última actualización 05 de Diciembre de 1999.

Esta página está escrita y es propiedad de Piri