A-Project

1, 2, 3, 4, 5
gracias por los PDF, justo andaba buscando los ke deberian estar en ingles :)
El otro, para pasarlo por babelfish ...

http://www.rohm.co.jp/products/databook/reg_moto/motordrv/ba6664fp-j.html

Fijate, la pata donde meten el "parador" de CD's para AR + v4, es la 'PS' que significa Power Saving ....

O sea, ke lo paran, poniendo el 6664 en modo ahorro de energia :)

Que hack tan bonito.
Hace un rato ha venido a verme un amigo, y me ha traido un osciloscopio de 20MHz que ha comprado en un chatarrero de la zona, y ademas, funciona!!

Voy a ver si ha llegado mi capturadora y me pego un week-end conectado a la PS2 :)
Pues si, me ha llegado la tarjeta capturadora.

Si alguien mas se anima, se trata de una ISA 8 bits llamada SimonScope3, tiene 4 entradas, ver info en

http://www.silmon.com/

Esl distribuidor es protek, por lo que os sera facil de pedir en vuestra tienda de electronica mas cercana.

ah, y el precio: sobre 25.000 pts, a las que hay que sumar unas 4.000 que os costara una sonda con atenuador x10

Saludos.
Respecto a los discos que salen girando, yo entiendo que eso solo pasa al forzar la salida de la bandeja desde el modchip, o sea, en el metodo EA.

No recuerdo haber visto ninguna otra señal especial en el ADDON, creo ke quitan alguna del original pasandola al segundo chip (si no recuerdo mal era la de los impulsos de motor de la bandeja), pero solo añaden esta.

Ya comenté en el otro hilo, podriamos pasar completamente de la señal ke nos informa de ke es un disco de PS2, y simplemente parar de emitir por temporizacion. Así conseguimos una pata libre para los modchip que usan 12c508 y podemos implementar el parador de motor:

.... esperamos el momento preciso ....

ponemos un 0 en la patilla PS
esperamos ¿1 o 2? segundos
expulsamos bandeja
esperamos 6 segundos
entramos bandeja
quitamos el 0 de la patilla PS

La unica putada es que eso a ti te obliga a mantener un código adicional y a las victimas a soldar un cable un tanto ******, con lo ke ya serian 3 puntos problematicos.

Creo que lo de sacar la bandeja, aunke es un tanto bruto, es algo a intentar. Mi pregunta es si eso no joderá el disco magnetico que aguanta al CD pegado al arrastre del motor ... ruido hace, verdad ?

Respecto a la capturadora ... pues menuda mierda de soft, captura y guarda un maximo de 256 muestras, vamos, que como osciloscopio y voltimetro bien, pero para capturar: una mierda

He descompilado la aplicacion entera, he encontrado las class que acceden al hard y estoy escribiendo un driver para el Linux de Tiempo Real (RTLinux). La gran putada es que la tarjeta no genera interrupcion alguna, por lo que tendré que ir vaciando los buffers periodicamente. No se ... a ver si al final tengo time este weekend, pk esto ya se complica.

Venga, nos la vemos :)
Hola USB,

Respecto a publicar más codigos para 16F84, te diré que no lo he hecho pk realmente me costaría bastante rato explicar el conexionado (o dibujarlo), y te explico pk:

Componentes:

Un conector 10hilos tipo bus.
1 PIC16F84 o 16F84A
1 XTAL (tengo codigo para 4 y 16MHz)
8 Leds
8 resistencias para los leds
2 pulsadores (forzar eject y transmision scee)
1 condensador (para SCEE)
y como buffer para no joder los pics y supervisar puntos de conexion uso un 74LS245 que tenia por aki ...
Esta ultima semana he añadido un display 7 segmentos y un decodificador BCD/7seg, lo uso a modo de debug y he dejado 5 leds/buffers libres para supervisar nuevas señales de la PS2.

Para hacer el codigo más portable a 12c508 he metido todos los puntos en el PORTB (que es de 8 bits) y he dejado el PORTA (de 5 bits) para iluminar los leds/display.

Esto complica un poco la cosa, ya ke la señal de reset de la PS2 no puede ir conectada a un pin cualquiera del PIC, solo funciona correctamente si se conecta a la patilla 3 (RA4) que es del tipo Trigger Schmitt. ¿pk? pues no se, pero perdí un buen rato, hasta que pasé la señal reset por el 74LS245 y de alli a cualquier pata del PIC.

Como ves no se rata de un montaje ni facil ni asequible para los que tienen miedo de soldar los puntos dificiles de la play.
Bueno, para entretenernos un rato, hasta tener capturas correctas y esas cosas .... :

NEO3 Specifications

this isn't final but is where we are upto at the moment

First of all a big feature of the mod is that PSX is 100% patched. That means COMPLETELY !

PS2 will now play ALL PSX titles including Original imports and HK Silvers

No methods for ANY PSX games - just a straight boot and no timing issues even involved in this - PSX is now completely done (just like the PS ONE mod)

The way NEO3 boots PS2 games is COMPLETELY different to NEO2. The code has been totally re-written by our new dev team at Channel Tech. It is flawless with zero timing issues. The new EA intelligent mode is actually quite brilliant and will make a lot of people very happy.

The mod works with ALL versions of GS2/AR2

The mod works exceptionally well with XtremeFM (PAL) - the CD does not spin when using the EA method and boots games VERY fast

A CD spin down feature may be included for those who have AR2/GS2 v1.4 or above (This is optional and only requires one extra wire) BUT it isn't needed as our EA Intelligent mode takes care of that (it enables you to swap the disc BEFORE it starts spinning)

Note from our Dev Team regarding the EAI Fail Safe Mode....

"The non-spin of disc on eject is a failsafe, the intelligent mode will NOT kick in if the disk is spinning, the NEO 3 will NEVER eject a disk when it is spinning unless you force this by holding reset for at least 12 seconds..(this is for AR2/GS2 v1.0 to v1.3 - versions above v1.4 can be resolved with the spin down code)

The main point of this intelligent mode, and you will require this for all EA type games unless patched is to be RELIABLE..

RELIABILITY is the number one priority with the NEO 3, the mod has been designed to WORK...it will be almost flawless in operation!"


The EA protection has actually been cracked by one of our dev freinds and the software to patch games is being written as we speak so the spin down will not be needed. However the EA intelligent control is there for future games that may not boot with the normal method.

Now everyone seems to concentrate on the fact that all this mod does is DVD - well ITS JUST A SWEET EXTRA THAT WAS ADDED AT A LATER DATE!

The NEO3 will work on ALL machines from ALL countries but the DVD part is for Europe Only at this time. Its only an extra 4 wires and is completley optional - it is NOT a main feature of the mod - the PSX device used in NEO3 had enough space to hold the DVD code so thats why it was included - theres no extra components involved. So why do people keep ranting about this (mainly people from the US I might add)

The Macrovision modchip is an optional add-on. This works in ALL PS2 models from ALL countries and can be used whether you have the DVD regionfree mod or not. It will be given free of charge to all NEO3 customers or may be included within the code of the neo3 itself and will just mean 2 extra wires (optional of course)

At present DVD silvers do not work on US/PAL machines with any of the mods tested. This is a totally seperate issue (PS2 original imports) that will be addressed in the NEO FINAL (MESSIAH) mod.

The only mod to have combatted PS2 original imports is the ORIGA chip which works on OLDER JAP consoles only and does not support PS2 Backups (and it 19 wires)

Now I hope this puts an end to the questions and puts you at ease as to the fact that a Final solution is being worked on every single day. So far the NEO3 has been tested by a handful of individuals with 100% results - every game and DVD movies tested working perfectly with no hassles whatsoever.

To view test results:
http://digital-forums.com/forum/sho...=&postid=136982

http://digital-forums.com/forum/sho...&threadid=25777

I still don't see where the problem with NEO2 is though - we have hundreds of customers who have 100% success - the only people who have trouble are those that a) use bad media b) poor installation c) no capacitor used e) don't follow instructions correctly (i.e. reset machine for 5 secs when changing games)

Those who post NEO3 is crap blah blah blah well you must be geniuses if you can give a review of a mod that you don't have - very clever guys !

----------

Venga a pensar un rato.
Se me ocurre como solucionar definitivamente el tema PSX, y es hacerlo como se hace en PSone:

Tengo varios puntos de la placa donde se "oye" la señal del punto NEO2 (SCEE), seria cuestion de ver si se puede amorrar uno y enviar el SCEE por otro, y conseguir lo ke consiguen en el montaje de PSone, o sea, cargar cualkier juego PSX, sea import, original o backup con el chip activado.

Será esto lo que han hecho en playstation mods ?

Respecto al metodo inteligente EA ??? ke coño puede ser ??? una temporización de carga que hace el eject en el momento preciso??? vaya novedad ....

A seguir pensando ....
Aunque no son exactamente el mismo chip el de la japonesa y el de la europea, echale un ojo a esta locura ... es del montaje del ORIGA chip:
para USB:

respecto a usar el PIC para capturar por el puerto impresora, te diré ke el pic es superfluo, como base de tiempos puedes usar el reloj programable generador de interrupciones del PC. Lo he usado desde MSDOS. Cuando capturo desde RT-Linux, se encarga el OS del tema, yo solo tengo que indicarle cada cuando quiero la captura ...

Respecto a la señal de DiscoPS2, yo no he conseguido subir el nivel a 1 cuando está a 0, se amorra la salida del PIC.

Respecto señales interesantes, te diré que he encontrado una ke te va como anillo al dedo para jugar con el comparador :)

Se trata de una señal de la misma tensión e identica a la del punto NEO2, con la excepción de que a esta le falta SOLAMENTE la señal de autentificación :) :) :) A que parece ke te la hayan puesto a huevo ??? :) :)

La señal a la que me refiero está marcada con puntos rojos en la foto de la placa. Y además son puntos facilones.

El punto amarillo es otra cosa, miralo por la soundblaster, aunke no se ve muy estabilizado de tensión, en este punto no se aprecia modulación alguna, y desde el osciloscopio parece que hay algunos pulsos ....

Venga, quitale de nuevo la tapa a tu PS2 y a disfrutar!

Ya me darás un WAV con lo que saques con el comparador...
Yo tambien soy cosecha del 68, el dia 28 hago 33 !!

Respecto a la potencia del pic, yo no me preocuparia, pk podria ponerse un puñado de electronica alrededor, en una plaquita. Estamos hablando de ke en total puede salir por 1500 pts ?

Y respecto a las señales, no he tenido tiempo de hacerme el montaje, pero vamos, un operacional montado como restador nos dara la señal exacta de autentificacion, sin el resto de basura. Al menos en el osciloscopio, ajustando ambos canales previamente, de forma que queden juntos a 0 y 5 voltios, cuando le meto las dos señales se ve solo una, excepto en el zuuum-zuuum de la autentificacion.

Tengo ke jugar un rato mas con esas señales, seguro ke puedo anular la autentificacion original y meter una del pic, para botar originales PSX de otras zonas.
No me habia acordado .... pegadle un vistazo a la locura del OrigaCHIP, como ya os enseñe en una foto anterior, es practicamente una condena a muerte para cualquier Playstation2 japonesa ... y encima, problemas para los PAL ....

http://www.channeltechnology.com/origa/origa.htm
por las fotos parece que se trata de lo que se suele denominar un "biospatch", pk pilla los 8 bits de datos del chip de DVD, supongo que para reescribir mientras le desactiva la salida por otro sitio .... peaso de hack, pero inalcanzable para el 99% de los ke tienen una PS2J.
A TODO AQUEL QUE NOS SIGUE A DIARIO:

Si nos lees todos los dias, supongo que tu nivel técnico es algo superior al del usuario típico de PS2 :)

No estes callado hombre, si crees que has encontrado algo, si crees que vamos por buen camino o si crees que nos estamos equivocando: COMENTALO EN ESTE MISMO HILO.

Yo no soy ningun experto en electrónica y si repasas los 165 mensajes anteriores, te darás cuenta que el nivel de electronica que se necesita para comprender, testear y mejorar lo aquí expuesto es ridiculo.

Venga, animate a contestar y exponer tus ideas.
Para Mad3d:

el BOOT desde flash, hasta donde yo he podido mirar en la BIOS, NO es posible en consolas actuales. SI era posible en las primeras SCPH10000, donde el codigo de DVD estaba almacenado en mc0:

Las consolas actuales, parece que lo único que quieren BOOTear es cdrom0:\SYSTEM.CNF

Para atz:

lo dificil del ORIGA no es hacer lo mismo, es soldar esos cables, toda una odisea que solo está al alcance del 0.1% de los que nos leen. La solución de sobreescribir en el bus de datos, aunke es una animalada, se puede hacer. Por motivos de velocidad yo me decantaria (caso de tener ke hacerlo) por usar logica programable (PLD), no un microcontrolador.

Para USB:

Respecto a las diferencias entre "mi punto", que llamaremos punto TEO, y el punto de NEO pin 2, al que llamaremos TEOSCEE, te puedo confirmar que estan perfectamente ajustadas las dos señales, exactamente a la misma tensión, en fase y absolutamente sincronizadas, pero en TEOSCEE aparece la firma, y en TEO no.

He encontrado un viejo modem por un cajón, le he sacado un operacional y con 4 resistencias de 100Ks he montado un circuito restador y otro comparador. En ambos casos solo aparece la señal de autentificación a la salida, y sinó 0 absoluto.

Para ver la señal ya es suficiente, para hacer una captura correcta necesitaré una tensión negativa de igual valor a la positiva con respecto a masa, o desplazar una de las señales de la otra, pk me quedo sin la mitad inferior de los semiciclos.

Anda, quitale la tapaa tu PS2 y metele mano a esos puntos :)
Ando algo liado estos dias, por eso no puedo hacer yo mismo las pruebas y estoy menos activo. Prefiero dedicar un poco de tiempo a mejorar la tarjeta SilmonScope3, y a los drivers para Linux. De momento le he añadido un PIC (16F84A), que me genera las interrupciones (la original no usa IRQ). Me imagino que en 1 semana o 10 dias podré usarla para capturar señales sin perdidas.
para USB:

Que igual no me expresé bien o me entendiste mal ....

Necesito alimentacion negativa, o simularla, para que en las diferencias (con el operacional como restador) entre el punto TEO y TEOSCEE no pierda la mitad de la señal (cuando TEOSCEE
Aunke a estas alturas tengo pocas esperanzas de encontrar nada en estos puntos ....
Solución para que mires esa señal, es al puro estilo McGiver :)

Usa TEO en una entrada en el comparador y metele por la otra entrada en TEOSCEE, y te saldrá UNICAMENTE la señal SCEE, ya te dije, son identicas, pero sin firma.

Oye, gracias por los piropos :)
USB -> No se si has tenido tiempo de mirartelo, yo no, pero he estado mejorando mi disassembler :)

Aki ti tienes el dump del NEO22, nada nuevo por supuesto.

;---------------------------------------------------
; Genereated with dpic v0.98 by savage@apostols.org
;---------------------------------------------------

list p=12C508
include "p12c508.inc"

StartUp org 0
movwf 0x05
goto Etiketa_0042

SubRuti_0002 movf 0x07,w
addwf 0x02,f
retlw 'C'
retlw 'O'
retlw 'P'
retlw 'Y'
retlw 'R'
retlw 'I'
retlw 'G'
retlw 'H'
retlw 'T'
retlw 0xb8
retlw '2'
retlw '0'
retlw '0'
retlw '0'
retlw '>'
retlw '2'
retlw '0'
retlw '0'
retlw '1'
retlw '.'
retlw 'P'
retlw 'L'
retlw 'A'
retlw 'Y'
retlw 'S'
retlw 'T'
retlw 'A'
retlw 'Y'
retlw 'S'
retlw 'T'
retlw 'I'
retlw 'O'
retlw 'N'
retlw 'M'
retlw 'O'
retlw 'D'
retlw 'S'
retlw '.'
retlw 'C'
retlw 'O'
retlw 'M'
retlw '.'
retlw '.'
retlw '&'
retlw 'M'
retlw 'R'
retlw '.'
retlw 'T'
retlw '@'
retlw 'D'
retlw 'V'
retlw 'D'
retlw 'M'
retlw 'O'
retlw 'D'
retlw 'S'
retlw '.'
retlw 'C'
retlw 'O'
retlw '.'
retlw 'U'
retlw 'K'

Etiketa_0042 clrf 0x17
clrf 0x19
clrf 0x1f
clrf 0x0a
goto Etiketa_00ec

Etiketa_0047 clrf 0x06
movlw 0xc7
option
movlw 0xff
tris GPIO

Etiketa_004c btfss GPIO,5 ; TX_SCEE (NEO2 pin 2)
goto Etiketa_004c

Etiketa_004e btfsc GPIO,3 ; PS2_RESET (NEO2 pin 4)
goto Etiketa_004e
movlw 0x14
movwf 0x17
call SubRuti_00ff
btfsc GPIO,3 ; PS2_RESET (NEO2 pin 4)
goto Etiketa_0105
movlw 0xc8
movwf 0x17
call SubRuti_00ff
btfsc GPIO,3 ; PS2_RESET (NEO2 pin 4)
goto Etiketa_0042

Etiketa_005a btfss GPIO,3 ; PS2_RESET (NEO2 pin 4)
goto Etiketa_005a
movlw 0xe9
tris GPIO
movlw 0x2c
movwf 0x0a
bsf GPIO,4 ; TRAY_MOTOR (NEO2 pin 3 opt:BRAKE)
movlw 0x64
movwf 0x17
call SubRuti_00ff

Etiketa_0064 bsf GPIO,4 ; TRAY_MOTOR (NEO2 pin 3 opt:BRAKE)
bsf GPIO,1 ; TRAY_IN (NEO2 pin 6)
bcf GPIO,2 ; TRAY_OUT (NEO2 pin 5)
movlw 0x17
movwf 0x1f
call SubRuti_008b
bcf GPIO,4 ; TRAY_MOTOR (NEO2 pin 3 opt:BRAKE)
movlw 0x26
movwf 0x1f
call SubRuti_008b
decfsz 0x0a,f
goto Etiketa_0064
movlw 0xff
tris GPIO
movlw 0x5a
movwf 0x17
call SubRuti_00ff
movlw 0x2d
movwf 0x0a
movlw 0xe9
tris GPIO

Etiketa_0079 bsf GPIO,4 ; TRAY_MOTOR (NEO2 pin 3 opt:BRAKE)
bcf GPIO,1 ; TRAY_IN (NEO2 pin 6)
bsf GPIO,2 ; TRAY_OUT (NEO2 pin 5)
movlw 0x1e
movwf 0x1f
call SubRuti_008b
bcf GPIO,4 ; TRAY_MOTOR (NEO2 pin 3 opt:BRAKE)
movlw 0x19
movwf 0x1f
call SubRuti_008b
decfsz 0x0a,f
goto Etiketa_0079
movlw 0xff
tris GPIO
goto Etiketa_0105

Etiketa_0088 goto Etiketa_0088

Etiketa_0089 nop
goto Etiketa_0089

SubRuti_008b clrf 0x19

Etiketa_008c movlw 0xc8
movwf 0x19

Etiketa_008e nop
decfsz 0x19,f
goto Etiketa_008e
decfsz 0x1f,f
goto Etiketa_008c
retlw 0x00
movlw 0x32

SubRuti_0095 movwf 0x10

Etiketa_0096 movlw 0xfa
movwf 0x11

Etiketa_0098 nop
decfsz 0x11,f
goto Etiketa_0098
decfsz 0x10,f
goto Etiketa_0096
retlw 0x00

SubRuti_009e clrf 0x17
movwf 0x17

Etiketa_00a0 movlw 0x4a
call SubRuti_0095
movlw 0x04
movwf 0x1f

Etiketa_00a4 movf 0x13,w
call SubRuti_00c3
movwf 0x12
comf 0x12,f
movlw 0x08
movwf 0x09
movlw 0xff
tris GPIO
movlw 0x04
call SubRuti_0095

Etiketa_00ae rrf 0x12,f
bcf GPIO,5 ; TX_SCEE (NEO2 pin 2)
btfsc STATUS,C
movlw 0xff
btfss STATUS,C
movlw 0xdf
tris GPIO
movlw 0x04
call SubRuti_0095
decfsz 0x09,f
goto Etiketa_00ae
movlw 0xdf
tris GPIO
movlw 0x08
call SubRuti_0095
incf 0x13,f
decfsz 0x1f,f
goto Etiketa_00a4
decfsz 0x17,f
goto Etiketa_00a0
retlw 0x03

SubRuti_00c3 addwf 0x02,f
retlw 'S'
retlw 'C'
retlw 'E'
retlw 'E'
retlw 'S'
retlw 'C'
retlw 'E'
retlw 'E'
retlw 'S'
retlw 'C'
retlw 'E'
retlw 'E'
nop
nop
retlw 'P'
retlw 'L'
retlw 'A'
retlw 'Y'
retlw 'S'
retlw 'T'
retlw 'A'
retlw 'Y'
retlw 'T'
retlw 'I'
retlw 'O'
retlw 'M'
retlw 'O'
retlw 'D'
retlw 'S'
retlw '.'
retlw 'C'
retlw 'O'
retlw 'M'
retlw 'A'
retlw 'N'
retlw 'D'
retlw '_'
retlw 'M'
retlw 'R'
retlw 'T'

Etiketa_00ec clrf 0x15
clrf 0x07
clrf 0x14
movlw 0x02
movwf 0x07
movlw 0x1e
movwf 0x15

Etiketa_00f3 call SubRuti_0002
xorwf 0x14,f
incf 0x07,f
bcf STATUS,Z
bcf STATUS,C
decfsz 0x15,f
goto Etiketa_00f3
movlw 0xfa
xorwf 0x14,w
btfss STATUS,Z
goto Etiketa_0089
goto Etiketa_0047

Etiketa_00ff
SubRuti_00ff clrf 0x01

Etiketa_0100 btfss 0x01,7
goto Etiketa_0100
decfsz 0x17,f
goto Etiketa_00ff
retlw 0x00

Etiketa_0105 movlw 0xff
tris GPIO
movlw 0x0f
movwf 0x17
call SubRuti_00ff
btfsc GPIO,0 ; DVD_IS_PS2 (NEO2 pin 7)
goto Etiketa_0105
clrf 0x13
movlw 0x03
call SubRuti_009e
goto Etiketa_0105


Lo pongo como fichero adjunto, por si te es más cómodo.
No hombre, no ... esto es assembler para PIC12c508

Es uno de los assemblers mas sencillos y escuetos del mundo, debido a la arquitectura RISC de estos microcontroladores.

Buscate un PDF del 12c508 en http://www.microchip.com/ en la seccion de microcontroladores. Y en google busca "Tutorial de programacion de PICs"
Pues la verdad es que no, en las PS2 japonesas ese pin si contiene una señal (pulsos) en el momento de checking, pero dichos pulsos no son la firma. El modchip japones usa esa señal para cronometrar el momento de swap, segundos despues, a partir de dichos pulsos.

Pero gracias por el intento.
para Leitz:

Ya se que te sientes euforico y lo has dicho con la mejor de las intenciones, pero permiteme aclarar pk un viejo hacker como yo se mete en un fregado de estos ...

Mi intención es conseguir un sistema LEGAL por el cual puedas estampar tu propia versión de Linux (o BSD, o tu Demo) para PS2, y que para arrancarla no dependas de software propietario que has de adquirir como complemento de tu consola.

No es en absoluto por demostrar nada a Sony (a la cual le agradezco los timidos avances que realiza hacia la apertura de su plataforma), ni para demostras que soy muy macho, ni iberico, ni español.

Es en definitiva, una apuesta por la libertad, de expresion si asi queremos entenderlo. La libertad que permite que TÚ uses en TU PS2 el software que TÚ mismo puedas hacer, o el que otros hagan y distribuyan de forma LIBRE (lee la licencia GPL en http://www.fsf.org ), y que para ello no necesites usar NADA de software CERRADO y PROPIETARIO.

No es mi intencion, en absoluto, facilitar la pirateria, muy al contrario de lo que muchos creen, quien más perjudicó, sigue perjudicando y perjudicará en el futuro a la comunidad del software libre es la pirateria. Cuando alguien usa copias ilegales, desvaloriza lo que usa, y nunca se planteará la necesidad de crear AUTENTICAS ALTERNATIVAS LIBRES.

Bueno, y vale ya de discurso ... ke ya ha kedado claro :)
arggg..... mal rollo....

no tenia suficiente con el exceso de curro pre-vacacional, ahora encima la PS2 ha decidido no cargarme ningun DVD, los CD todos OK. Y no es un tema de ajuste de los potenciometros ...

vil putada.
Pues como miren algo, la llevo clara, pk a mi PlayStation le he soldado mas de 60 cables !!
yo no he realizado un desenamblado completo de la ROM, pero la he mirado por encima, y la he comparado con las japonesas, y, aparentemente, la bios no busca nada en las tarjetas de memoria, ni en el USB, ni en el iLink. En cambio se encuentra facilmente la parte donde carga del CD.

En las japonesas si se busca codigo en las memory-card, pk alli es donde reside el software de DVD-Player.
Para atz ->

Respecto al modchip de origa, me juego 2 pesetas a que es un PIC16C55A :)

Aunque el procesador es lo de menos, se suele usar PIC por precio y disponibilidad. Si no los hay, se busca un Atmel con igual cantidad de entradas/salidas. Si sabes programar, da igual el chip ke decidas usar, en 15 minutos estas manos a la obra.

venga, nos vemos.
Hola Invisible,

Comprender la bios no te va a ser facil por:

- son 4 Megas de binario divididos en 90 partes.
- Esta escrita originalmente en C, y resulta molesto leer el codigo compilado
- El acceso a disco lo realiza el IOP
- El kernel corre en el EE
- Las comunicaciones entre ambos son mediante llamadas RPC, que transfieren los datos entre ambos procesadores mediante DMA
- El DMA acepta "cadenas" de instrucciones DMA, como si fuese programable ...
- Desconoces toda la arquitectura del equipo

Resumen: probablemente tengamos que ingresarte en un centro de relax mental en cuanto lo intentes :)
De todas formas, si tienes ganas, muchas ganas, algunas pistas interesantes, para no andar a ciegas:

para el checking del disco, se llama a una funcion dde la libreria llamada sceCdGetDiskType() que nos retorna un entero indicando que tipo de disco ha detectado el sistema. Antes de llamar a esa funcion se debe llamar a sceCdDiskReady() para asegurarse de ke el kernel ya sabe que tipo de disco has metido.

En este mismo hilo puse la descripcion completa de que retorna la llamada sceCdGetDiskType(), creo que era en algun mensaje donde expliqué como funciona "el bug" de Datel

Te pongo un trozo, para que veas que hace la libreria:

0000000000001938 :

1938: 27bdffd0 addiu $sp,$sp,-48
193c: ffbf0020 sd $ra,32($sp)
1940: 0c0004de jal 1378
1944: ffb00010 sd $s0,16($sp)
1948: 14400003 bnez $v0,1958
194c: 3c020000 lui $v0,0x0
1950: 1000001a b 19bc
1954: 0000102d move $v0,$zero

LABEL1:
1958: 3c040000 lui $a0,0x0
195c: 24500c80 addiu $s0,$v0,3200
1960: 248410a0 addiu $a0,$a0,4256
1964: afa00000 sw $zero,0($sp)
1968: 24050003 li $a1,3
196c: 0000302d move $a2,$zero
1970: 0000382d move $a3,$zero
1974: 0000402d move $t0,$zero
1978: 0200482d move $t1,$s0
197c: 240a0004 li $t2,4
1980: 0c000000 jal 0
1984: 0000582d move $t3,$zero
1988: 04410006 bgez $v0,19a4
198c: 3c020000 lui $v0,0x0
1990: 8c44001c lw $a0,28($v0)
1994: 0c000000 jal 0
1998: 00000000 nop
199c: 10000007 b 19bc
19a0: 0000102d move $v0,$zero

LABEL2:
19a4: 8c44001c lw $a0,28($v0)
19a8: 0c000000 jal 0
19ac: 00000000 nop
19b0: 3c032000 lui $v1,0x2000
19b4: 02031825 or $v1,$s0,$v1
19b8: 8c620000 lw $v0,0($v1)

LABEL3:
19bc: dfbf0020 ld $ra,32($sp)
19c0: dfb00010 ld $s0,16($sp)
19c4: 03e00008 jr $ra
19c8: 27bd0030 addiu $sp,$sp,48
19cc: 00000000 nop


Como puedes ver, lo primero que hace es llamar a otra función, y luego hace varias syscalls, la función scmd_prechk es tal que así:

0000000000001378 :
1378: 27bdffc0 addiu $sp,$sp,-64
137c: ffb00000 sd $s0,0($sp)
1380: ffbf0030 sd $ra,48($sp)
1384: 3c100000 lui $s0,0x0
1388: ffb20020 sd $s2,32($sp)
138c: 0c0000b8 jal 2e0
1390: ffb10010 sd $s1,16($sp)
1394: 8e04001c lw $a0,28($s0)
1398: 0c000000 jal 0
139c: 00000000 nop
13a0: 8e03001c lw $v1,28($s0)
13a4: 1462003f bne $v1,$v0,14a4
13a8: 0000102d move $v0,$zero
13ac: 3c020000 lui $v0,0x0
13b0: 3c050000 lui $a1,0x0
13b4: 8c440000 lw $a0,0($v0)
13b8: 0c000000 jal 0
13bc: 24a50008 addiu $a1,$a1,8
13c0: 0c0004c4 jal 1310
13c4: 24040001 li $a0,1
13c8: 10400005 beqz $v0,13e0
13cc: 00000000 nop
13d0: 0c000000 jal 0
13d4: 8e04001c lw $a0,28($s0)
13d8: 10000032 b 14a4
13dc: 0000102d move $v0,$zero

LABEL2:
13e0: 0c000000 jal 0
13e4: 0000202d move $a0,$zero
13e8: 3c030000 lui $v1,0x0
13ec: 8c620034 lw $v0,52($v1)
13f0: 0441002b bgez $v0,14a0
13f4: 0060902d move $s2,$v1
13f8: 1000000a b 1424
13fc: 3c110000 lui $s1,0x0

LABEL10:
1400: 2403ffff li $v1,-1
1404: 2442ffff addiu $v0,$v0,-1

LABEL5:
; un monton de NOPs
; ...
141c: 1443fffa bne $v0,$v1,1408
1420: 2442ffff addiu $v0,$v0,-1

LABEL4:
1424: 263010a0 addiu $s0,$s1,4256

LABEL9:
1428: 3c058000 lui $a1,0x8000
142c: 0200202d move $a0,$s0
1430: 34a50593 ori $a1,$a1,0x593
1434: 0c000000 jal 0
1438: 0000302d move $a2,$zero
143c: 04430015 bgezl $v0,1494
1440: 8e020024 lw $v0,36($s0)
1444: 3c020000 lui $v0,0x0
1448: 8c430010 lw $v1,16($v0)
144c: 18600005 blez $v1,1464
1450: 3c020010 lui $v0,0x10
1454: 3c040000 lui $a0,0x0
1458: 0c000000 jal 0
145c: 248400f8 addiu $a0,$a0,248
1460: 3c020010 lui $v0,0x10

LABEL7:
1464: 2403ffff li $v1,-1
1468: 2442ffff addiu $v0,$v0,-1

LABEL8: ; un monton de NOPs
; ...
1484: 1443fffa bne $v0,$v1,1470
1488: 2442ffff addiu $v0,$v0,-1
148c: 1000ffe6 b 1428
1490: 263010a0 addiu $s0,$s1,4256

LABEL6:
1494: 1040ffda beqz $v0,1400
1498: 3c020010 lui $v0,0x10
149c: ae400034 sw $zero,52($s2)

LABEL3:
14a0: 24020001 li $v0,1

LABEL1:
14a4: dfbf0030 ld $ra,48($sp)
14a8: dfb20020 ld $s2,32($sp)
14ac: dfb10010 ld $s1,16($sp)
14b0: dfb00000 ld $s0,0($sp)
14b4: 03e00008 jr $ra
14b8: 27bd0040 addiu $sp,$sp,64
14bc: 00000000 nop


... ahora ya sabes un poco a que te enfrentas, solo tienes que seguir la ejecución de las syscalls en la bios ...
A tener en cuenta:

Si le das al boton de "eject", la bios se da cuenta, y espera a que metas un disco para verificarlo de inmediato. O sea, que hay que evitar que se de cuenta, y para eso necesitas un chip con el metodo "EA" o sus equivalentes base de palitos, clips o destornilladores.

Si lo que vamos es a un software, pues no hay problema con que el disco no sea valido. Esto no impide que este sea leido, o al menos eso me ha parecido a mi, mientras hacia mis propios loaders. Es relativamente facil hacer un disco cargador, el problema es a la hora de estamparlo :), o sea, que tendriamos:

* Gadget de Datel
* Modchip sencillo (tipo USB)
* Disco cargador en CDR
* Disco copia en DVDR

y necesitarias 2 swaps: Datel -> Cargador -> Copia

Luego tendriamos otro problema, este soft no seria legal, pk de momento no hay ninguna libreria libre de desarrollo sobre el kernel de sony, y usar las oficiales sin licencia es un delito.

venga, talueg!
Es un tema de enfoque.

Lo que busco es poder ejecutar mi propio codigo sin necesidad de ir a sony a que estampe mi CD.

El problema de las demos es el mismo que el que tu tienes con tus "copias backup", o sea, se necesita un loader, un chip ....

Ya lo he comentado en alguna ocasion, si se pudiese hacer un loader de soft legal, que no cargase backups, lo haria, pk es importante tener la plataforma abierta de forma legal, y sin posibilidad de que declaren ese loader ilegal y que su autor se vea sometido a persecuciones policiales.
Han cogido un cd original. Lo han metido en una replicadora industrial, han hecho un master en cobre y han hecho las copias en formato salvaje...

Por lo que tienen una copia 1:1 real de toda la informacion del disco... si no ya veras cuando salga el MGS 2 como se van a poner a hinchar.

Ademas Hk ya hacia eso con las BSO de anime... o a nadie le suena la casa SonMay... mas conocida como SM q vendia a 3000 pelillas discos q en japon valian 7000... Y es que china no firmo el acta de derechos de autor XD
Imagen

Aqui hay un esquema para hacer un detector de check cd/dvd ...

No se si os podra servir de ayuda pero ahi lo teneis..

lo he sacado de esta pagina http://www.megagames.com/ps2/ps2_cdvd_check_detector.shtml

Seguid asi con vuestro gran trabajo
Estoy de parte de Jixo...creo que una XOR seria muy facil...posiblemente un algoritmo de clave publica seria la opcion...pero si fuera asi lo tendriamos chunguillo para desencriptarlo!!!

Propongo, entonces...

1) que los entendidos en el tema (SAvage, USB,quien sea, yo no claro!! ;) ) expongan sus datos obtenidos(y que sean reales y confiables) sobre el sistema de arranque de la PS2, lo que habeis conseguido hasta ahora...para que luego podamos todos trabajar sobre ellos.

2) que en este hilo solo se hable de este tema, porque sino, tendremos que hacer como ATG creando otro hilo....

Hay mucha gente, como yo, que desea enterarse un poquito mas sobre el sistema de arranque de la PS2 porque asi podremos ayudar en algo...os pido una ayudita por parte vuestra..yo de mi parte no tengo una PS2 para testear todo eso, pero tengo ideas sobre programacion en ASSEMBLER y C, con lo que me gustaria muchisimo ser de ayuda a vosotros...ME encanta cepillar bits!! jejeje

Haber si de este hilo pueda salir algo interesante para el desarrollo del chip autonomo!!

SUERTE A TODOS!!

Salu2.


---------------------------
CHIP AUTONOMO YA!!
---------------------------
CUando hablamos de criptografia, hablamos de encapsulamiento de datos, con lo que no importa la forma de criptografar si realmente nuestro objetivo es NO CAMBIAR ESTOS DATOS...me explico...

Cualquier algoritmo de clave publica o privada sirve para proteger una informacion (la que sea) y poderla transmitir al destino sin que un segundo individuo la coja y la cambie....

Estareis de acuerdo conmigo que en la PS2 esto no deberia de ocurrir ya que nuestro objetivo es engañar la BIOS de la PS2 enviandole la secuencia que sea por parte del chip sin importar lo que hay dentro de la secuencia original, logicamente esta secuencia tiene que ser identica a la del original, por lo tanto existen dos formas para ello:

(A) A partir de las claves privadas generamos la secuencia encriptada (metodo normal), pero como no conocemos esta clave privada y ademas es complicado sacarla, no creo que sea este el camino a seguir.

(B) Copiar exactamente esta secuencia y enviarla su clon a la BIOS, de esta forma la PS2 seria engañada..pero claro...hay un problemita..parece que cada juegop tiene su secuencia unica y distintas a los otros juegos, pero todas generadas a partir de una SOLA CLAVE PRIVADA!!! (por lo que ha dicho el BOSS Jixo)

Pero claro...si pudieramos engañar la PS2 diciendo que siempre se esta cargando el mismo juego quizas daria resultado....que opinais????

Salu2.
Falta saber la clave para hacer el XOR con los 4 bytes esos...nos falta un operando!!
USB no dejes de opinar , hombre!!

SI dices que no eres entendido...entonces yo ya ni te digo lo que soy!! ;)

Solo decia a la gente que le gusta discutir deotras cosas que no sean del proposito del hilo!!

SAlu2.

Y mucha suerte que la necesitaremos.
Igual es una idea estupida...ademas creo que el codigo ASM de Sony es totalmente desestandarizado...

Por lo tanto ahi va el disparate:

Alguien ha intentado compilarlo y debugarlo...de esta forma podriamos simular el funcionamiento de la BIOS y conseguiriamos jugar con ella...alguien lo ha intentado??
Hola Savage, tengo una preguntita para hacerte:

porque quieres usar el algoritmo FFT para ver bits??

Estas seguro que estos bits de SCEE se repiten periodicamente??? si es asi entonces podrias verlos con el osciloscopio..no hace falta verlos en el espectro de frecuencias a no ser que te interese saber su frecuencia de transmision (los 20KHz aquellos de que hablabas), ademas si estas trabajando con muestras de señal mejor que uses el algoritmo DFT (Discrete FT), si tienes el programa MATLAB le metes las muestras de entrada y calculas la DFT y la señal temporal..va de cojones. Pero debes estar seguro que este padron SCEE se repita sino no podras analizarlo por frecuencias.

Y otra pregunta: el protocolo de encapsulado de bits es como el serial?? Start y stop bits??

SAlu2 y espero que te se de ayuda.
Perdona..me confundi en algo :), tanto la DFT como la FFT sirven para analizar señales no periodicoas, que es elnuestro caso..Lo que me dijiste de la forma de enseñar los resultados, en tu caso estas mirando las diferentes frecuencias de la señal del NEO2 segun el tiempo..pero no te da una idea de los bits que pueden formar esta señal.

Si digamos sacas la FFT de la salida del NEO2 te sale en el eje X las diferentes frecuencias y en el eje Y la amplitud de estas frecuencias, con lo que yo no sabria leer aun los bits de esa forma.

Tambien me has nos dijiste lo del ruido, sabes que creo?? creo que la forma en que estas midiendo la señal nos es la ideal..estas usando alguna SONDA?? quizas se te este metiendo ruido de la red o externo por el cable de medicion y se te este ensuciando los bits o quizas si es verdad lo de enmascar los bits con ruido, entonces estamos jodidos porque el ruido seria una especie de clave PRIVADA de forma de en la bios se le haria el proceso inverso, es decir, el de cancelacion del ruido para sacar los bits...Si es asi lo tenemos chunguillo XD.

Hay formas de cancelar este ruido pero hay que programar DSP's y yo no tengo medios para ello...Alguien de aqui no tiene ningun analizador de espectros o un DATA ANALYSER?? XDXDXD

Lo del matlab, le metes un fichero con muestras(valores normalizados), entonces el matlab te analiza(pero no en tiempo real) estas muestras y mediante comando sacas FFT,DFT,señal temporal,etc...esta bastante bien...

Que opinas??
Savage, dime una cosa, estaba pensando en lo que nos dijistes sobre el ruido, supongamos que este ruido incrustado en la señal a la salida del NEO2 fuera una especie de CLAVE para enmascarar
los bits de informacion utiles para el arranque de los originales, si es asi este ruido es de caracter MULTIPLICATIVO, es decir, se le MEZCLA a la señal original como una especie de codigo.

En el otro caso, si a la hora de medir la señal se incorpora un ruido sea de origen externo(interferencias) o mala adaptacion de impedancias(por la calidad del cable, o la propia tarjeta recojedora de datos del PC) estariamos hablando de un ruido ADITIVO, con lo que su amplitud, en el caso de las interferencias es muy pequeña y por lo tanto se podria ver a "ojo vivo" el patron de la señal original, es decir, puramente los bits. Pero parece que anteriormente hablaste que habia mucho ruido en esta señal.

Podrias enseñarme en una foto de tu desktop como es la señal resultante que has conseguido sacar??

Te lo agradeceria.

Ademas ahora que pienso, quien generaria este ruido?? vendria ya grabado en el CD Original esta señal ruidosa??

Espero tu respuesta.

salu2.
Y entonces de donde sale este ruido ???

Quien lo genera??:? :? :? :? :? :? :? :? :?
Estoy totalmente de acuerdo con ATG, necesitamos este chip, porque aunque no rule las copias de PS2 por lo menos sabremos todo lo relacionado con las firmas SCEx.

Sino, no tenemos por donde empezar!!

Saludos.
Y me pregunto una cosa, no hay forma ninguna de copiar toda esa señal de arranque y enviarla a la BIOS?? porque nos tenemos que preocupar de saber como es los patrones del arranque..porque no copiamos de alguna forma y lo enviamos a la BIOS??Y si fuera que cada juego tiene un codigo distinto porque no pasamos de preocuparnos con eso y copiamos el codigo de arranque entero de un solo juego y engañamos la PS2 duciendo que es siempre el mismo original?? Se podria hacer eso siempre que en medio del juego no se compruebe su firma...pero creo que esa posibilidad es incierta.

Tambien deberiamos preocuparnos de arrancar backups sea con el chip JOSE o el MARIA, quiero decir, no importa si la zona de arranque es de 2M como de 20M, me da igual, se puede fabricar facilmente un plaquita con un procesador z80 o una DSP mas rapida (lo rapido que querais) con 10M RAM (hoy en dia las RAM son muy baratas) y podemos programar esta placa para copiar la señal ruidosa o no muestreada directamente de la lente o la patilla mas directa antes de llegar a la BIOS y luego para el backup reproducir esta informacion, de esa forma no nos hace falta tener lectores especiales de CDROM para leer el subcanal protegido donde esta la firma, simplemente usar el propio lector de la PS2...nada mas...

Cuando lo tengamos, ya no preocuparemos de reducir el sistema a un solo chip..Solo asi, de esa podremos saltar la proteccion...

SAlu2 a todos de este hilo y a los de foro.
Savage, estaba mirando la foto ps2-firma-zoom1.jpg y me he dado cuenta que este patron de repeticion que dices puedan ser propiamente los bits al igual que la PSX, lo que pasa que el hecho de la señal estar a mas alta frecuencia tu SB no es capaz de seguir la señal y por lo tanto sale ruidosa. Haber si consigues esos cacharros industriales para recojer la señal con mas fiabilidad y luego nos expones los resultados.

Quizas los bits en la PS2 tengan la mitad de duracion que los bits de la PSX...que opinas???

Vamos por el buen camino, animos!!
;)
Espero que pareis e discutir sobre este tema tonto... la verdad no ganaremos nada con eso...USB que conste que no estoy contra ti nada de esto, creo que tu idea del comparador ha sido espectacular porque nos ahorramos la FFT para ver los bits SCEE, ahora bien, lo que decia SAVAGE es verdad porque la formula Freq_muestreo >= 2*Freq_señal se le llama el Teorema de Nyquist, indica que solo podras reconstruir una señal a partir de sus muestras siempre y cuando , por ej. en un tono senoidal, tengas al menos dos muestras dentro de un ciclo, pero en el caso de la senoidal es muy simple reconstruirla, pero hay señales, como las que nos enseño SAVAGE que parecian ruidosas, pero probablemente es debido a que la frecuencia de muestreo de la SB es demasiada pequeña como para acompañar la variacion de la señal, con lo que nos salia todo ese "ruido", le dije algunos mensajes atras que el patron resultante de la FFT se parecian a bits pero muy borrosos, eso puede ser debido a que la frecuencia de muestreo de la SB se cercana a la ideal, pero no podremos comprobarlo hasta que SAVAGE muestree con su tarjeta nueva.

Espero que no lo tomes a mal...simplemente creo que cada unuo trabaje a su modo porque asi tenemos distintas opciones a las que cambiar!!

SAlu2.
Bueno USB, tienes razon en lo de la velocidad de lectura del CD, se supone una frecuencia mas alta, pero en el caso de muestrear un una senoid de 20Khz justamente @ 20Khz tienes todos 1's con lo que despues del D/A tendras una continua y que yo sepa, la frecuencia de la continua es 0Hz.

Bueno, dejemos de discutir y esperemos los resultados del muestreo de SAV, haber que sale, tu por otro lado, haz tus pruebas y haber que sale para que asi comparemos con los resultados de Sav..necesitamos opiniones distintas sino no llegamos a ningun lado!!

Salu2.
Hola chicos, estoy de parte de USB, chico animate y mejora esos chips a ver si consigues frenar el CD en la version 4 con el mod8...

Saludos y animos.

Sav...has conseguido ya coger las mustras a altas frecuencias?? estoy con ganas de ver esa señalita!! XD
Calma...ahora te paso los datos..XD

Mira tengo la PS2 NTSC (USA) 30001 v4, con GS2 v1.4 y NEO2...Pero creo que me comprare la española v4.

Juegos como el WINTERGAMES SNOWBOARDING de KONAMI no me rulan ni con el CD girando..:)...he probado el FIFA2000 sin ningun truco EA y me funciona bien...

Yo creo que es or la calida de los CD que uso para copiar..pero basicamente no hace falta sacar el CD girando, solo cambiar el original del GS2 por el backup cuando el pida el CD...
Pero hay juegos como TOKIO XTREME RACER, STARWARS FIGHTER, WE5, y otyros que necesitan cambiarse con el CD girando...Los de EA, la verdad, solo he probado con el SSX y el FIFA2000 y me funcionan sin necesidad del giro.

Espero que te haya sido de ayuda.

Salu2.
Interprete mal tu pregunta, mira...en mi PS2 USA, que yo sepa, todos las veces que use el metodo EA el CD salio girando a todo ostia...ademas a cada dia que pasa es mas complicado cargar los juegos con el metodo normal...

POr favor, haber si consigues modificar este chip, tengo ganas de ponermelo!! ;)

Saludos!!!
223 respuestas
1, 2, 3, 4, 5