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