› Foros › PlayStation 2 › Modchips
Kensaiken escribió:Pero la pagina web de o2 esta offline, hay algun mirror para descargar el firmware? Gracias.
;+-------------------------------------------------------------------------+
;¦ MYC.ASM ¦ DESENSAMBLADO DE 8MODCHIP.HEX PARA PSX2 POR MANOLO Y COMPAÑIA ¦
;+-------------------------------------------------------------------------+
; NOTA:
;* Para visualizar este fichero correctamente, usa el edit del dos
; o el bloc de notas del windows con el tipo de fuente 'terminal'
;* El objeto de realizar el desensamblado y comentado del código fuente,
; del 8modchip.hex es con el fin de que todos conozcamos como funciona
; y podamos perfeccionarlo y modificarlo entre todos a nuestro antojo.
;* Espero que al publicarlo en el foro, las mentes pensantes colaboren.
;* Desconozco quien es el autor del hex original pero le felicito por su
; programa.
;* Según aparezcan nuevas versiones del modchip se irán desensamblando
; y publicando.
;* Por favor poner vuestras experiencias en el foro para que lo vea todo
; el mundo.
;* los tiempos de las rutinas son muy críticos.
;* El codigo está más ordenado que en el 8modchip.hex pero es el mismo
; únicamete se han suprimido los caracteres de la tabla que no se usan
; para la versión europea.
;* Sugerencias de assembler o hard: jiglesias@arrakis.es
;--------------------------------------------------------------------------
; +----------------------------------+
; ¦ ESQUEMA DE CONEXIONES PIC12C509A ¦
; +----------------------------------+
;
; +------+ +------+
; ¦ +--+ ¦
; +5V ¦¦1 PIC12C509A 8¦¦ MASA
; ¦ ¦
; SWAPX ¦¦2 GPIO5 GPIO0 7¦¦ DVDIN=0
; ¦ ¦
; DVDOUT=1 ¦¦3 GPIO4 GPIO1 6¦¦ TXSCEE
; ¦ ¦
; /RESET=0 ¦¦4 GPIO3 GPIO2 5¦¦ SWAPY
; ¦ ¦
; +----------------+
;
; 1 - +5VCC - SIN COMENTARIOS
; 2 - SWAPX - SOLO LO USA LA OPCION 3 PARA LA APERTURA Y CIERRE DEL DVD
; 3 - DVDOUT - ES IGUAL A 1 CUANDO LA BANDEJA DEL DVD ESTA SALIENDO
; 4 - /RESET - ES IGUAL A 0 CUANDO PULSAMOS EL RESET DE LA PS2
; 5 - SWAPY - SOLO LO USA LA OPCION 3 PARA LA APERTURA Y CIERRE DEL DVD
; 6 - TXSCEE - ES POR DONDE TRANSMITE VIA SERIE "SCEE"
; 7 - DVDIN - ES IGUAL A 0 CUANDO LA BANDEJA DEL DVD ESTA ENTRANDO
; 8 - MASA - SIN COMENTARIOS
;--------------------------------------------------------------------------
;+---------------------------------+
;¦ PROCESADOR A EMPLEAR PIC12C509A ¦
;+---------------------------------+
P509A EQU 1 ;0=PIC12C508A 1=PIC12C509A
IF P509A
list p=12c509A
include "p12c509A.inc"
ELSE
list p=12c508A
include "p12c508A.inc"
ENDIF
;+-----------------------------------+
;¦ FUSIBLES, WASDOG, OSCILADOR ETC.. ¦
;+-----------------------------------+
__FUSES _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC
;+------------------+
;¦ NOTACION DECIMAL ¦
;+------------------+
radix dec
;--------------------------------------------------------------------------
;+--------------------------+
;¦ VARIABLES DE RAM INTERNA ¦
;+--------------------------+
cblock 0x0B
RAM_0B ;CONTADOR PAUSA
RAM_0C ;CONTADOR CARGA DEL DVD
RAM_0D ;CONTADOR PAUSA
RAM_0E ;CANTIDAD DE BYTES A ENVIAR DE LA TABLA
RAM_0F ;CANTIDAD DE BITS A ENVIAR DEL BYTE
RAM_10 ;NO UTILIZADA
RAM_11 ;CONTADOR W EN PAUSA Wx199
RAM_12 ;CONTADOR 199 EN PAUSA Wx199
RAM_13 ;BYTE LEIDO DE LA TABLA
RAM_14 ;PUNTERO DEL BYTE DE LA TABLA
RAM_15 ;MASCARA ESTADO DE LOS BIT DEL PUERTO
endc
;--------------------------------------------------------------------------
;+-----------------+
;¦ VECTOR DE RESET ¦
;+-----------------+
org 0x00
movwf OSCCAL ;CALIBRA EL OSCILADOR INTERNO
goto COMIENZO ;SALTA LA COMIENZO DEL PROGRAMA
;--------------------------------------------------------------------------
;+--------------------------------------+
;¦ VERSION DEL PROGRAMA (CODIGO INUTIL) ¦
;+--------------------------------------+
retlw 'M'
retlw 'A'
retlw 'N'
retlw 'O'
retlw 'L'
retlw 'O'
retlw ' '
retlw 'Y'
retlw ' '
retlw 'C'
retlw 'O'
retlw 'M'
retlw 'P'
retlw 'A'
retlw 'Ñ'
retlw 'I'
retlw 'A'
;--------------------------------------------------------------------------
;+-----------------------+
;¦ COMIENZO DEL PROGRAMA ¦
;+-----------------------+
COMIENZO
movlw b'11000010' ;CONFIGURA TMR0 PRESCALER = 1:8
option ;OSCILADOR = 4MHZ
movlw 255 ;INICIALIZA TODOS LOS PUERTOS
movwf RAM_15 ;EN ALTO Y RAM_15
tris GPIO ;
;--------------------------------------------------------------------------
;+----------------------------------------+
;¦ PAUSA DE ENCENDIDO DE 414 MILISEGUNDOS ¦
;+----------------------------------------+
movlw 2 ;100 MILISEGUNDOS
movwf RAM_0D ;
ETI_107 call PAUSA50MSG ; +
decfsz RAM_0D,F ;
goto ETI_107 ;
movlw 6 ;300 MILISEGUNDOS
movwf RAM_0D ;
ETI_10C call PAUSA50MSG ; +
decfsz RAM_0D,F ;
goto ETI_10C ;
movlw 14 ;14 MILISEGUNDOS
call PAUSAWX1MSG ;
;--------------------------------------------------------------------------
;+------------------------------------------------------------------+
;¦ LECTURA DE LAS 3 OPCIONES CON EL PULSADOR DE RESET DE LA CONSOLA ¦
;+------------------------------------------------------------------+
;OPCION1 EL RESET NO HA SIDO PULSADO
;-----------------------------------
btfsc GPIO,3 ;SI EL RESET NO ESTA PULSADO
goto OPCION1 ;SALTA A OPCION1
;OPCION2 EL RESET HA SIDO PULSADO Y SE HA SOLTADO ANTES DE 7,5 SEGUNDOS
;----------------------------------------------------------------------
movlw 150 ;
movwf RAM_0D ;
ETI_115 btfsc GPIO,3 ;
goto OPCION2 ;SALTA A OPCION2 AL LEVANTAR EL RESET
call PAUSA50MSG ;
decfsz RAM_0D,F ;
goto ETI_115 ;
;OPCION3 EL RESET HA SIDO PULSADO Y NO SE HA SOLTADO ANTES DE 7,5 SEGUNDOS
;-------------------------------------------------------------------------
goto OPCION3 ;SI CONTINUA PULSADO SALTA A OPCION3
;--------------------------------------------------------------------------
;+---------------------------------------------------+
;¦ OPCION 1 (RESET NO PULSADO) EL MODCHIP SE ¦
;¦ DESHABILITA Y SOLO PODEMOS USAR JUEGOS ORIGINALES ¦
;+---------------------------------------------------+
OPCION1
movlw b'00111111' ;INICIALIZA TODOS LOS
tris GPIO ;PUERTOS EN ALTO Y
sleep ;DESHABILITA EL MODCHIP
;--------------------------------------------------------------------------
;+------------------------------------------------------------------------+
;¦ OPCION 2 (RESET PULSADO DESPUES DE 1 SEG. Y SOLTADO ANTES DE 7,5 SEG.) ¦
;¦ JUEGOS (PSX1 DIRECTOS) Y (PSX2 SIN PROTECCION ANTIMODCHIP CON AR1.3) ¦
;+------------------------------------------------------------------------+
OPCION2
bcf GPIO,1 ;INICIALIZA PUERTO TXSERIE EN ALTO
bcf RAM_15,1 ;
movf RAM_15,W ;
tris GPIO ;
call PAUSA50MSG ;PAUSA CADA 100 TRANSMISIONES
movlw 100 ;100 VECES
movwf RAM_0C ;REPETIRA LA TRANSMISION
ETI_122
btfsc GPIO,0 ;SI EN ESTOS MOMENTOS LA BANDEJA DEL
goto ETI_04C ;DVD YA ESTA DENTRO TRANSMITE SCEE
clrf RAM_14 ;INICIALIZA PUNTERO A TABLA Y
call ENVIASCEE ;TRANSMITE VIA SERIE 100 VECES 'SCEE'
call SUB_04C ;LUEGO ESPERARA A QUE METAMOS OTRO JUEGO
goto ETI_122 ;ANTES DE VOLVER A TRANSMITIR 100 VECES
SUB_04C
ETI_04C
btfsc GPIO,0 ;SI EN ESTOS MOMENTOS LA BANDEJA DEL
goto ETI_050 ;DVD AUN NO ESTA DENTRO SALE
decfsz RAM_0C,F ;SI YA ESTA DENTRO RETORNA HASTA
retlw 3 ;TRANSMITIR LAS 100 VECES 'SCEE'
ETI_050 movlw b'00111111' ;INICIALIZA TODOS PUERTOS
tris GPIO ;COMO ENTRADAS
ETI_052
btfss GPIO,4 ;ESPERA A QUE PULSEMOS LA APERTURA
goto ETI_052 ;DE LA BANDEJA DEL DVD
movlw 250 ;ESPERAMOS UN TIEMPO A LA CONSOLA PARA
call PAUSAWX1MSG ;QUE TERMINE DE ABRIR LA BANDEJA DEL DVD
btfss GPIO,4 ;SI LA BANDEJA DEL DVD TODAVIA NO ESTA
goto ETI_052 ;ABRIENDOSE REPITE LA OPERACION
ETI_058
btfsc GPIO,4 ;SI LA BANDEJA DEL DVD ESTA ABRIENDOSE
goto ETI_058 ;SE ASEGURA A QUE SE ABRA DEL TODO
movlw 24 ;PAUSA DE 6 SEGUNDOS PARA QUE
movwf RAM_0B ;PONGAMOS EL JUEGO EN LA BANDEJA Y
ETI_05C movlw 250 ;PULSEMOS EL BOTON PARA INTRIDUCIRLO
call PAUSAWX1MSG ;EN LA CONSOLA
decfsz RAM_0B,F ;
goto ETI_05C ;
btfsc GPIO,0 ;SI LA BANDEJA DEL DVD ESTA TODAVIA FUERA
goto ETI_052 ;REPITE LA OPERACION
goto OPCION2 ;CUANDO EL DVD YA ESTA DENTRO SALTA OPCION2
;Y COMIENZAN LAS TRANSMISIONES DE 'SCEE'
;--------------------------------------------------------------------------
;+--------------------------------------------------------------------------+
;¦ OPCION 3 (RESET PULSADO DESPUES DE 1 SEG. Y SOLTADO DESPUES DE 7,5 SEG.) ¦
;¦ JUEGOS PSX2 CON PROTECCION ANTIMODCHIP CON AR1.3 ¦
;+--------------------------------------------------------------------------+
OPCION3
btfss GPIO,3 ;ESPERA A QUE SOLTEMOS EL
goto OPCION3 ;BOTON DE RESET
movlw 255 ;INICIALIZA RAM_15 Y TODOS
movwf RAM_15 ;LOS PUERTOS
tris GPIO ;EN ALTO
movlw 80 ;EL MODCHIP FUERZA A LA CONSOLA
movwf RAM_0B ;PARA QUE EXPULSE LA BANDEJA DEL DVD
ETI_132 movlw b'00100100' ; "
movwf GPIO ; "
movlw b'11011011' ; "
tris GPIO ; "
movlw 10 ; "
call PAUSAWX1MSG ; "
movlw b'00100000' ; "
movwf GPIO ; "
movlw b'00011011' ; "
tris GPIO ; "
movlw 10 ; "
call PAUSAWX1MSG ; "
decfsz RAM_0B,F ; "
goto ETI_132 ; "
movlw b'00111111' ; "
tris GPIO ; "
movlw 16 ;PAUSA PARA QUE LA BANDEJA DEL DVD
movwf RAM_0B ;ESTE 4 SEGUNDOS ABIERTA Y NOS DE
ETI_144 movlw 250 ;TIEMPO A PONER EL JUEGO EN ELLA
call PAUSAWX1MSG ; "
decfsz RAM_0B,F ; "
goto ETI_144 ; "
movlw 80 ;EL MODCHIP FUERZA A LA CONSOLA
movwf RAM_0B ;PARA QUE INTRODUZCA LA BANDEJA DEL DVD
ETI_14A movlw b'00010100' ; "
movwf GPIO ; "
movlw b'11101011' ; "
tris GPIO ; "
movlw 10 ; "
call PAUSAWX1MSG ; "
movlw b'00010000' ; "
movwf GPIO ; "
movlw b'11101011' ; "
tris GPIO ; "
movlw 10 ; "
call PAUSAWX1MSG ; "
decfsz RAM_0B,F ; "
goto ETI_14A ; "
movlw b'00111111' ; "
tris GPIO ; "
goto OPCION1 ;DESHABILITA AL MODCHIP Y YA PODEMOS
;EJECUTAR EL JUEGO CON EL MENU DEL AR1.3
;--------------------------------------------------------------------------
;+---------------------------------------------------------------------+
;¦ TRANSMITE VIA SERIE 'SCEE' CON 8 BIT DE DATOS Y 2 DE STOP A 250 BPS ¦
;+---------------------------------------------------------------------+
ENVIASCEE
movwf RAM_0D ;SALVA W EN RAM_0D (INUTIL PUES NO LO USA)
movlw 72 ;72 MILISEGUNDOS DE ESPACIO ENTRE BYTES
call PAUSAWX1MSG ;
movlw 4 ;ENVIAREMOS 4 BYTES
movwf RAM_0E ;DE LA TABLA
ETI_068
movf RAM_14,W ;LEEMOS 1 BYTE DE
call TABLA ;LA TABLA
movwf RAM_13 ;EN RAM_13
comf RAM_13,F ;
movlw 8 ;ENVIAREMOS 8
movwf RAM_0F ;BITS DE CADA BYTE
bsf RAM_15,1 ;ENVIA EL BIT DE START VIA SERIE
movf RAM_15,W ;
tris GPIO ;
movlw 4 ;4 MILISEGUNDOS DEL ANCHO DEL BIT DE START
call PAUSAWX1MSG ;
ETI_073
rrf RAM_13,F ;ENVIA 1 BIT DEL BYTE VIA SERIE
movlw b'11111000' ;
movwf GPIO ;
btfsc STATUS,0 ;
bsf RAM_15,1 ;
btfss STATUS,0 ;
bcf RAM_15,1 ;
movf RAM_15,W ;
tris GPIO ;
movlw 4 ;4 MILISEGUNDOS DEL ANCHO DEL BIT
call PAUSAWX1MSG ;
decfsz RAM_0F,F ;CONTINUAMOS HASTA
goto ETI_073 ;ENVIAR LOS 8 BITS DEL BYTE
bcf RAM_15,1 ;ENVIA 2 BITS DE STOP
movf RAM_15,W ;
tris GPIO ;
movlw 8 ;8 MILISEGUNDOS DEL ANCHO DE
call PAUSAWX1MSG ;LOS 2 BITS DE STOP
incf RAM_14,F ;INCREMENTA PUNTERO DE LA TABLA
decfsz RAM_0E,F ;CONTINUA HASTA
goto ETI_068 ;ENVIAR LOS 4 BYTES DE LA TABLA
retlw 3 ;RETORNA CON W=03H
TABLA addwf PCL,F ;TABLA PARA LA PS2 EUROPEA
retlw 'S'
retlw 'C'
retlw 'E'
retlw 'E'
;--------------------------------------------------------------------------
;+--------------------------+
;¦ PAUSA DE 50 MILISEGUNDOS ¦
;+--------------------------+
PAUSA50MSG
movlw 50
;+------------------------------+
;¦ PAUSA DE (W x 1 MILISEGUNDO) ¦
;+------------------------------+
PAUSAWX1MSG
movwf RAM_11
ETI_042 movlw 199
movwf RAM_12
ETI_044 nop
clrwdt
decfsz RAM_12,F
goto ETI_044
nop
decfsz RAM_11,F
goto ETI_042
retlw 3
;--------------------------------------------------------------------------
end
Koolk escribió:;+-------------------------------------------------------------------------+
;¦ MYC.ASM ¦ DESENSAMBLADO DE 8MODCHIP.HEX PARA PSX2 POR MANOLO Y COMPAÑIA ¦
;+-------------------------------------------------------------------------+
; NOTA:
;* Para visualizar este fichero correctamente, usa el edit del dos
; o el bloc de notas del windows con el tipo de fuente 'terminal'
;* El objeto de realizar el desensamblado y comentado del código fuente,
; del 8modchip.hex es con el fin de que todos conozcamos como funciona
; y podamos perfeccionarlo y modificarlo entre todos a nuestro antojo.
;* Espero que al publicarlo en el foro, las mentes pensantes colaboren.
;* Desconozco quien es el autor del hex original pero le felicito por su
; programa.
;* Según aparezcan nuevas versiones del modchip se irán desensamblando
; y publicando.
;* Por favor poner vuestras experiencias en el foro para que lo vea todo
; el mundo.
;* los tiempos de las rutinas son muy críticos.
;* El codigo está más ordenado que en el 8modchip.hex pero es el mismo
; únicamete se han suprimido los caracteres de la tabla que no se usan
; para la versión europea.
;* Sugerencias de assembler o hard: jiglesias@arrakis.es
;--------------------------------------------------------------------------
; +----------------------------------+
; ¦ ESQUEMA DE CONEXIONES PIC12C509A ¦
; +----------------------------------+
;
; +------+ +------+
; ¦ +--+ ¦
; +5V ¦¦1 PIC12C509A 8¦¦ MASA
; ¦ ¦
; SWAPX ¦¦2 GPIO5 GPIO0 7¦¦ DVDIN=0
; ¦ ¦
; DVDOUT=1 ¦¦3 GPIO4 GPIO1 6¦¦ TXSCEE
; ¦ ¦
; /RESET=0 ¦¦4 GPIO3 GPIO2 5¦¦ SWAPY
; ¦ ¦
; +----------------+
;
; 1 - +5VCC - SIN COMENTARIOS
; 2 - SWAPX - SOLO LO USA LA OPCION 3 PARA LA APERTURA Y CIERRE DEL DVD
; 3 - DVDOUT - ES IGUAL A 1 CUANDO LA BANDEJA DEL DVD ESTA SALIENDO
; 4 - /RESET - ES IGUAL A 0 CUANDO PULSAMOS EL RESET DE LA PS2
; 5 - SWAPY - SOLO LO USA LA OPCION 3 PARA LA APERTURA Y CIERRE DEL DVD
; 6 - TXSCEE - ES POR DONDE TRANSMITE VIA SERIE "SCEE"
; 7 - DVDIN - ES IGUAL A 0 CUANDO LA BANDEJA DEL DVD ESTA ENTRANDO
; 8 - MASA - SIN COMENTARIOS
;--------------------------------------------------------------------------
;+---------------------------------+
;¦ PROCESADOR A EMPLEAR PIC12C509A ¦
;+---------------------------------+
P509A EQU 1 ;0=PIC12C508A 1=PIC12C509A
IF P509A
list p=12c509A
include "p12c509A.inc"
ELSE
list p=12c508A
include "p12c508A.inc"
ENDIF
;+-----------------------------------+
;¦ FUSIBLES, WASDOG, OSCILADOR ETC.. ¦
;+-----------------------------------+
__FUSES _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC
;+------------------+
;¦ NOTACION DECIMAL ¦
;+------------------+
radix dec
;--------------------------------------------------------------------------
;+--------------------------+
;¦ VARIABLES DE RAM INTERNA ¦
;+--------------------------+
cblock 0x0B
RAM_0B ;CONTADOR PAUSA
RAM_0C ;CONTADOR CARGA DEL DVD
RAM_0D ;CONTADOR PAUSA
RAM_0E ;CANTIDAD DE BYTES A ENVIAR DE LA TABLA
RAM_0F ;CANTIDAD DE BITS A ENVIAR DEL BYTE
RAM_10 ;NO UTILIZADA
RAM_11 ;CONTADOR W EN PAUSA Wx199
RAM_12 ;CONTADOR 199 EN PAUSA Wx199
RAM_13 ;BYTE LEIDO DE LA TABLA
RAM_14 ;PUNTERO DEL BYTE DE LA TABLA
RAM_15 ;MASCARA ESTADO DE LOS BIT DEL PUERTO
endc
;--------------------------------------------------------------------------
;+-----------------+
;¦ VECTOR DE RESET ¦
;+-----------------+
org 0x00
movwf OSCCAL ;CALIBRA EL OSCILADOR INTERNO
goto COMIENZO ;SALTA LA COMIENZO DEL PROGRAMA
;--------------------------------------------------------------------------
;+--------------------------------------+
;¦ VERSION DEL PROGRAMA (CODIGO INUTIL) ¦
;+--------------------------------------+
retlw 'M'
retlw 'A'
retlw 'N'
retlw 'O'
retlw 'L'
retlw 'O'
retlw ' '
retlw 'Y'
retlw ' '
retlw 'C'
retlw 'O'
retlw 'M'
retlw 'P'
retlw 'A'
retlw 'Ñ'
retlw 'I'
retlw 'A'
;--------------------------------------------------------------------------
;+-----------------------+
;¦ COMIENZO DEL PROGRAMA ¦
;+-----------------------+
COMIENZO
movlw b'11000010' ;CONFIGURA TMR0 PRESCALER = 1:8
option ;OSCILADOR = 4MHZ
movlw 255 ;INICIALIZA TODOS LOS PUERTOS
movwf RAM_15 ;EN ALTO Y RAM_15
tris GPIO ;
;--------------------------------------------------------------------------
;+----------------------------------------+
;¦ PAUSA DE ENCENDIDO DE 414 MILISEGUNDOS ¦
;+----------------------------------------+
movlw 2 ;100 MILISEGUNDOS
movwf RAM_0D ;
ETI_107 call PAUSA50MSG ; +
decfsz RAM_0D,F ;
goto ETI_107 ;
movlw 6 ;300 MILISEGUNDOS
movwf RAM_0D ;
ETI_10C call PAUSA50MSG ; +
decfsz RAM_0D,F ;
goto ETI_10C ;
movlw 14 ;14 MILISEGUNDOS
call PAUSAWX1MSG ;
;--------------------------------------------------------------------------
;+------------------------------------------------------------------+
;¦ LECTURA DE LAS 3 OPCIONES CON EL PULSADOR DE RESET DE LA CONSOLA ¦
;+------------------------------------------------------------------+
;OPCION1 EL RESET NO HA SIDO PULSADO
;-----------------------------------
btfsc GPIO,3 ;SI EL RESET NO ESTA PULSADO
goto OPCION1 ;SALTA A OPCION1
;OPCION2 EL RESET HA SIDO PULSADO Y SE HA SOLTADO ANTES DE 7,5 SEGUNDOS
;----------------------------------------------------------------------
movlw 150 ;
movwf RAM_0D ;
ETI_115 btfsc GPIO,3 ;
goto OPCION2 ;SALTA A OPCION2 AL LEVANTAR EL RESET
call PAUSA50MSG ;
decfsz RAM_0D,F ;
goto ETI_115 ;
;OPCION3 EL RESET HA SIDO PULSADO Y NO SE HA SOLTADO ANTES DE 7,5 SEGUNDOS
;-------------------------------------------------------------------------
goto OPCION3 ;SI CONTINUA PULSADO SALTA A OPCION3
;--------------------------------------------------------------------------
;+---------------------------------------------------+
;¦ OPCION 1 (RESET NO PULSADO) EL MODCHIP SE ¦
;¦ DESHABILITA Y SOLO PODEMOS USAR JUEGOS ORIGINALES ¦
;+---------------------------------------------------+
OPCION1
movlw b'00111111' ;INICIALIZA TODOS LOS
tris GPIO ;PUERTOS EN ALTO Y
sleep ;DESHABILITA EL MODCHIP
;--------------------------------------------------------------------------
;+------------------------------------------------------------------------+
;¦ OPCION 2 (RESET PULSADO DESPUES DE 1 SEG. Y SOLTADO ANTES DE 7,5 SEG.) ¦
;¦ JUEGOS (PSX1 DIRECTOS) Y (PSX2 SIN PROTECCION ANTIMODCHIP CON AR1.3) ¦
;+------------------------------------------------------------------------+
OPCION2
bcf GPIO,1 ;INICIALIZA PUERTO TXSERIE EN ALTO
bcf RAM_15,1 ;
movf RAM_15,W ;
tris GPIO ;
call PAUSA50MSG ;PAUSA CADA 100 TRANSMISIONES
movlw 100 ;100 VECES
movwf RAM_0C ;REPETIRA LA TRANSMISION
ETI_122
btfsc GPIO,0 ;SI EN ESTOS MOMENTOS LA BANDEJA DEL
goto ETI_04C ;DVD YA ESTA DENTRO TRANSMITE SCEE
clrf RAM_14 ;INICIALIZA PUNTERO A TABLA Y
call ENVIASCEE ;TRANSMITE VIA SERIE 100 VECES 'SCEE'
call SUB_04C ;LUEGO ESPERARA A QUE METAMOS OTRO JUEGO
goto ETI_122 ;ANTES DE VOLVER A TRANSMITIR 100 VECES
SUB_04C
ETI_04C
btfsc GPIO,0 ;SI EN ESTOS MOMENTOS LA BANDEJA DEL
goto ETI_050 ;DVD AUN NO ESTA DENTRO SALE
decfsz RAM_0C,F ;SI YA ESTA DENTRO RETORNA HASTA
retlw 3 ;TRANSMITIR LAS 100 VECES 'SCEE'
ETI_050 movlw b'00111111' ;INICIALIZA TODOS PUERTOS
tris GPIO ;COMO ENTRADAS
ETI_052
btfss GPIO,4 ;ESPERA A QUE PULSEMOS LA APERTURA
goto ETI_052 ;DE LA BANDEJA DEL DVD
movlw 250 ;ESPERAMOS UN TIEMPO A LA CONSOLA PARA
call PAUSAWX1MSG ;QUE TERMINE DE ABRIR LA BANDEJA DEL DVD
btfss GPIO,4 ;SI LA BANDEJA DEL DVD TODAVIA NO ESTA
goto ETI_052 ;ABRIENDOSE REPITE LA OPERACION
ETI_058
btfsc GPIO,4 ;SI LA BANDEJA DEL DVD ESTA ABRIENDOSE
goto ETI_058 ;SE ASEGURA A QUE SE ABRA DEL TODO
movlw 24 ;PAUSA DE 6 SEGUNDOS PARA QUE
movwf RAM_0B ;PONGAMOS EL JUEGO EN LA BANDEJA Y
ETI_05C movlw 250 ;PULSEMOS EL BOTON PARA INTRIDUCIRLO
call PAUSAWX1MSG ;EN LA CONSOLA
decfsz RAM_0B,F ;
goto ETI_05C ;
btfsc GPIO,0 ;SI LA BANDEJA DEL DVD ESTA TODAVIA FUERA
goto ETI_052 ;REPITE LA OPERACION
goto OPCION2 ;CUANDO EL DVD YA ESTA DENTRO SALTA OPCION2
;Y COMIENZAN LAS TRANSMISIONES DE 'SCEE'
;--------------------------------------------------------------------------
;+--------------------------------------------------------------------------+
;¦ OPCION 3 (RESET PULSADO DESPUES DE 1 SEG. Y SOLTADO DESPUES DE 7,5 SEG.) ¦
;¦ JUEGOS PSX2 CON PROTECCION ANTIMODCHIP CON AR1.3 ¦
;+--------------------------------------------------------------------------+
OPCION3
btfss GPIO,3 ;ESPERA A QUE SOLTEMOS EL
goto OPCION3 ;BOTON DE RESET
movlw 255 ;INICIALIZA RAM_15 Y TODOS
movwf RAM_15 ;LOS PUERTOS
tris GPIO ;EN ALTO
movlw 80 ;EL MODCHIP FUERZA A LA CONSOLA
movwf RAM_0B ;PARA QUE EXPULSE LA BANDEJA DEL DVD
ETI_132 movlw b'00100100' ; "
movwf GPIO ; "
movlw b'11011011' ; "
tris GPIO ; "
movlw 10 ; "
call PAUSAWX1MSG ; "
movlw b'00100000' ; "
movwf GPIO ; "
movlw b'00011011' ; "
tris GPIO ; "
movlw 10 ; "
call PAUSAWX1MSG ; "
decfsz RAM_0B,F ; "
goto ETI_132 ; "
movlw b'00111111' ; "
tris GPIO ; "
movlw 16 ;PAUSA PARA QUE LA BANDEJA DEL DVD
movwf RAM_0B ;ESTE 4 SEGUNDOS ABIERTA Y NOS DE
ETI_144 movlw 250 ;TIEMPO A PONER EL JUEGO EN ELLA
call PAUSAWX1MSG ; "
decfsz RAM_0B,F ; "
goto ETI_144 ; "
movlw 80 ;EL MODCHIP FUERZA A LA CONSOLA
movwf RAM_0B ;PARA QUE INTRODUZCA LA BANDEJA DEL DVD
ETI_14A movlw b'00010100' ; "
movwf GPIO ; "
movlw b'11101011' ; "
tris GPIO ; "
movlw 10 ; "
call PAUSAWX1MSG ; "
movlw b'00010000' ; "
movwf GPIO ; "
movlw b'11101011' ; "
tris GPIO ; "
movlw 10 ; "
call PAUSAWX1MSG ; "
decfsz RAM_0B,F ; "
goto ETI_14A ; "
movlw b'00111111' ; "
tris GPIO ; "
goto OPCION1 ;DESHABILITA AL MODCHIP Y YA PODEMOS
;EJECUTAR EL JUEGO CON EL MENU DEL AR1.3
;--------------------------------------------------------------------------
;+---------------------------------------------------------------------+
;¦ TRANSMITE VIA SERIE 'SCEE' CON 8 BIT DE DATOS Y 2 DE STOP A 250 BPS ¦
;+---------------------------------------------------------------------+
ENVIASCEE
movwf RAM_0D ;SALVA W EN RAM_0D (INUTIL PUES NO LO USA)
movlw 72 ;72 MILISEGUNDOS DE ESPACIO ENTRE BYTES
call PAUSAWX1MSG ;
movlw 4 ;ENVIAREMOS 4 BYTES
movwf RAM_0E ;DE LA TABLA
ETI_068
movf RAM_14,W ;LEEMOS 1 BYTE DE
call TABLA ;LA TABLA
movwf RAM_13 ;EN RAM_13
comf RAM_13,F ;
movlw 8 ;ENVIAREMOS 8
movwf RAM_0F ;BITS DE CADA BYTE
bsf RAM_15,1 ;ENVIA EL BIT DE START VIA SERIE
movf RAM_15,W ;
tris GPIO ;
movlw 4 ;4 MILISEGUNDOS DEL ANCHO DEL BIT DE START
call PAUSAWX1MSG ;
ETI_073
rrf RAM_13,F ;ENVIA 1 BIT DEL BYTE VIA SERIE
movlw b'11111000' ;
movwf GPIO ;
btfsc STATUS,0 ;
bsf RAM_15,1 ;
btfss STATUS,0 ;
bcf RAM_15,1 ;
movf RAM_15,W ;
tris GPIO ;
movlw 4 ;4 MILISEGUNDOS DEL ANCHO DEL BIT
call PAUSAWX1MSG ;
decfsz RAM_0F,F ;CONTINUAMOS HASTA
goto ETI_073 ;ENVIAR LOS 8 BITS DEL BYTE
bcf RAM_15,1 ;ENVIA 2 BITS DE STOP
movf RAM_15,W ;
tris GPIO ;
movlw 8 ;8 MILISEGUNDOS DEL ANCHO DE
call PAUSAWX1MSG ;LOS 2 BITS DE STOP
incf RAM_14,F ;INCREMENTA PUNTERO DE LA TABLA
decfsz RAM_0E,F ;CONTINUA HASTA
goto ETI_068 ;ENVIAR LOS 4 BYTES DE LA TABLA
retlw 3 ;RETORNA CON W=03H
TABLA addwf PCL,F ;TABLA PARA LA PS2 EUROPEA
retlw 'S'
retlw 'C'
retlw 'E'
retlw 'E'
;--------------------------------------------------------------------------
;+--------------------------+
;¦ PAUSA DE 50 MILISEGUNDOS ¦
;+--------------------------+
PAUSA50MSG
movlw 50
;+------------------------------+
;¦ PAUSA DE (W x 1 MILISEGUNDO) ¦
;+------------------------------+
PAUSAWX1MSG
movwf RAM_11
ETI_042 movlw 199
movwf RAM_12
ETI_044 nop
clrwdt
decfsz RAM_12,F
goto ETI_044
nop
decfsz RAM_11,F
goto ETI_042
retlw 3
;--------------------------------------------------------------------------
end
Koolk escribió:Vaya, no es mismo. Me despisté.
No lo se. No creo que tenga la misma programación o funcionamiento.
De todas formas, parece que desde hace tiempo, no quierenhacer modificaciones a los chip como antes. Esta era se perdió en la PS3 y 360.
Saludo.
Koolk escribió:Hola:
¿Tienes la manera de conseguir el .hex?
Se puede desmanblar como el de arriba. Lo que requiere tiempo y pacincia.
Un saludo.
Kensaiken escribió:Llevo varios días buscando el firmware del o2 y no hay manera, alguien lo tiene? Se lo agradecería mucho, gracias.
Kensaiken escribió:Solo puedo iniciar el menú de carga de firmware presionando los botones L y R start y select.
Si inicio la consola normal me sale el menú de ps2 y esta no me reconoce ningún juego...
Psmaniaco escribió:Kensaiken escribió:Solo puedo iniciar el menú de carga de firmware presionando los botones L y R start y select.
Si inicio la consola normal me sale el menú de ps2 y esta no me reconoce ningún juego...
No me refiero antes de que te lo borraran, tendria que salir O2 o algo parecido, si llevase el codigo del Matrix quiza se lo trague pero lo veo dificil.
Un saludo.
Kensaiken escribió:Psmaniaco escribió:Kensaiken escribió:Solo puedo iniciar el menú de carga de firmware presionando los botones L y R start y select.
Si inicio la consola normal me sale el menú de ps2 y esta no me reconoce ningún juego...
No me refiero antes de que te lo borraran, tendria que salir O2 o algo parecido, si llevase el codigo del Matrix quiza se lo trague pero lo veo dificil.
Un saludo.
Salía la pantalla del o2.
PS2 SUPPORT:
Complete O2 MODCHIP emulation 100% with all functionalities (www.o2mod.com) - Included for FREE
Kensaiken escribió:Llevo varios días buscando el firmware del o2 y no hay manera, alguien lo tiene? Se lo agradecería mucho, gracias.
josete2k escribió:Kensaiken escribió:Llevo varios días buscando el firmware del o2 y no hay manera, alguien lo tiene? Se lo agradecería mucho, gracias.
Un segundo en google.
http://www.eurasia.nu/modules.php?name= ... eA&show=50
Kensaiken escribió:josete2k escribió:Kensaiken escribió:Llevo varios días buscando el firmware del o2 y no hay manera, alguien lo tiene? Se lo agradecería mucho, gracias.
Un segundo en google.
http://www.eurasia.nu/modules.php?name= ... eA&show=50
Muchas gracias amigo me as salvado la vida, una pregunta al no tener el firmware del o2 instalado cual de todos los que hay en la web debo instalar? Gracias por adelantado.
Kensaiken escribió:Pero que archivo porque unos pone update y otros pone o2 a secas para restaurarlo como antes cual deberia de poner? Que se pone en pendrive o grabado a cd?
1 saludo
Kensaiken escribió:Si pone que para instarlarlo desde el menu de recuperacion lo haga en formato CDX, pero que tengo que quemar el archivo en el CD? O copiarlo como si fuera un fichero?
PD: E quemado el archivo en formato ISO en un cd y nada no lo detecta, lo e grabado en otro cd como si fuera un fichero en CDX tampoco...
No se que hacer para que detecte el cd..
Psmaniaco escribió:Kensaiken escribió:Si pone que para instarlarlo desde el menu de recuperacion lo haga en formato CDX, pero que tengo que quemar el archivo en el CD? O copiarlo como si fuera un fichero?
PD: E quemado el archivo en formato ISO en un cd y nada no lo detecta, lo e grabado en otro cd como si fuera un fichero en CDX tampoco...
No se que hacer para que detecte el cd..
Me parece que tienes que usar el cdgenps2 para crear la iso adecuada y asi la reconocera la PS2 y te deberia de cargar.
Un saludo.
Kensaiken escribió:Psmaniaco escribió:Kensaiken escribió:Si pone que para instarlarlo desde el menu de recuperacion lo haga en formato CDX, pero que tengo que quemar el archivo en el CD? O copiarlo como si fuera un fichero?
PD: E quemado el archivo en formato ISO en un cd y nada no lo detecta, lo e grabado en otro cd como si fuera un fichero en CDX tampoco...
No se que hacer para que detecte el cd..
Me parece que tienes que usar el cdgenps2 para crear la iso adecuada y asi la reconocera la PS2 y te deberia de cargar.
Un saludo.
revivido !! Vienen dos archivos el .cdx y el .bin, se tiene de grabar el .bin en formato audio y luego ya esta se mete en el menu recuperacion del O2 mod y recupera el sistema!!
Gracias a todos, después de tantos meses hoy e recuperado mi PS2 !!!