¿tutorial?

Para cualquier plataforma ATARI, computadores o consolas.
Responder
Avatar de Usuario
dogdark
hard player
hard player
Mensajes: 384
Registrado: Dom Nov 12, 2006 10:01 am
Reputación: 1
Ubicación: en todos lados
Contactar:

¿tutorial?

Mensaje por dogdark »

alguien podría hacer un tutorial o video tutorial de como se puede desproteger un atr protegido, tengo como 500 atr protegidos, que ni siquiera con el atutril les puedo sacar el binario, la idea es que expliquen de como se hace, vi por ahi un post que solo ayudaron con el atr ya limpio pero no explican como se realiza o como se desprotege este atr, la idea no es mala, como también hacer una sección de video tutoriales para el retrogames. dejo la inquietud
Avatar de Usuario
Manuelink64
expert
expert
Mensajes: 3585
Registrado: Sab Feb 28, 2009 11:10 pm
Reputación: 0
Ubicación: La Serena...por ahora

Re: ¿tutorial?

Mensaje por Manuelink64 »

hay que esperar a ver si pasan por aqui XT5 o Vitoco, ellos andaban metidos en ese tema ::pe

Saludos!
Avatar de Usuario
dogdark
hard player
hard player
Mensajes: 384
Registrado: Dom Nov 12, 2006 10:01 am
Reputación: 1
Ubicación: en todos lados
Contactar:

Re: ¿tutorial?

Mensaje por dogdark »

hojalá que se den una vueltesita a ver si creen que es buena idea
Avatar de Usuario
ZZT
Site Admin
Site Admin
Mensajes: 10907
Registrado: Mar Nov 07, 2006 2:45 pm
Reputación: 10
Ubicación: La Florida-Santiago-Chile
Contactar:

Re: ¿tutorial?

Mensaje por ZZT »

Pero pa que queris desprotejer .atr si por ahi andan todas abiertas de patas. :8- :-D
Otra cosa es que quieras sacar el juego de un disco entero, osea crear un file, eso ya es otra cosa perrin. ::pe
Avatar de Usuario
dogdark
hard player
hard player
Mensajes: 384
Registrado: Dom Nov 12, 2006 10:01 am
Reputación: 1
Ubicación: en todos lados
Contactar:

Re: ¿tutorial?

Mensaje por dogdark »

si es que hay unos atr que no los encuentro en ninguna parte y los que encontre vienen protegidos po cauro y la idea es aprender pa no estar siempre we.... que me los deprotejan cachai la onda, asi aprendemos tudusssss
Avatar de Usuario
vitoco
expert
expert
Mensajes: 869
Registrado: Mié Nov 08, 2006 7:25 pm
Reputación: 5
Contactar:

Re: ¿tutorial?

Mensaje por vitoco »

¿Todos los ATR están protegidos de la misma forma? ¿Tienen protección anticopia (disco físico) o corren bien en emulador?

No creo que sea factible hacer un tutorial genérico de como "desproteger" o extraer lo relevante de un disco. Cada caso es distinto dependiendo del personaje que quizo complicar a la competencia. Incluso he visto "protecciones" sobre otras "protecciones", pero siempre es interesante sapear eso.

Por lo demás, los juegos ya están disponibles como XEX por estos días... distinto fue en los 80's y principios de los 90's, cuando no se había masificado la internet y con suerte habían BBS's, y la compartija era underground.

En todo caso, siempre me entretuve más "desprotegiendo", transformando y adaptando juegos que jugándolos.

¿Me prestas un par de aquellos que dices que no pillas en ningún otro lado? Tal vez te pueda guiar en el camino a seguir... ]-)

Mi tutorial de hace 30 años sería:
  • Aprender un poco de Assembler 6502 leyendo la sección "Boot Camp" en la revista A.N.A.L.O.G..
  • Tener a mano la tarjeta de referencia de OpCodes.
  • Conseguir el "Mapping the Atari" para saber cómo interactuar con las rutinas del sistema (en la ROM) y del DOS en caso que sea utilizado.
  • Familiarizarse con el programa Diskscan y su desensamblador de sectores.
  • Finalmente trazar a mano como funcionaría una carga al encender el equipo, mirando el sector 1 y de ahi seguir parámetros de booteo, saltar a direcciones indicadas, debuggear el codigo assembler y hacerse la idea de qué intenta realizar... en algún momento sabrás que estás con el programa que querías recuperar en la mano.
Si te llegas a dar cuenta que los ATR cumplen patrones de "protección", puedes escribir un programita que haga la pega solito, pero solo te servirá para ese caso.

Afortunadamente hoy está todo eso a mano... sigue los links!

++Vitoco
Avatar de Usuario
dogdark
hard player
hard player
Mensajes: 384
Registrado: Dom Nov 12, 2006 10:01 am
Reputación: 1
Ubicación: en todos lados
Contactar:

Re: ¿tutorial?

Mensaje por dogdark »

gracias vitoco tremendo aporte por la respuesta seguire tus pasos, si necesitas los atr uffff son como 1500,tendria que subirlos a un hosting que tengo si los necesitas dimelo y te mando por pv la seccion para que los descargues
Avatar de Usuario
ZZT
Site Admin
Site Admin
Mensajes: 10907
Registrado: Mar Nov 07, 2006 2:45 pm
Reputación: 10
Ubicación: La Florida-Santiago-Chile
Contactar:

Re: ¿tutorial?

Mensaje por ZZT »

dogdark escribió:gracias vitoco tremendo aporte por la respuesta seguire tus pasos, si necesitas los atr uffff son como 1500,tendria que subirlos a un hosting que tengo si los necesitas dimelo y te mando por pv la seccion para que los descargues
Terminé de subir los .atr. Revisa a ver si están los archivos que quieres, pa que no te sigas pillando la cola. :-D
Avatar de Usuario
dogdark
hard player
hard player
Mensajes: 384
Registrado: Dom Nov 12, 2006 10:01 am
Reputación: 1
Ubicación: en todos lados
Contactar:

Re: ¿tutorial?

Mensaje por dogdark »

si pelao en eso estaba perron se te agradece, con estos por lo menos hago la seccion de juegos y de ahi lo linkeay si necesitai mas espacio me avisai para subir mas cosas
Avatar de Usuario
vitoco
expert
expert
Mensajes: 869
Registrado: Mié Nov 08, 2006 7:25 pm
Reputación: 5
Contactar:

Re: ¿tutorial?

Mensaje por vitoco »

dogdark escribió:gracias vitoco tremendo aporte por la respuesta seguire tus pasos, si necesitas los atr uffff son como 1500,tendria que subirlos a un hosting que tengo si los necesitas dimelo y te mando por pv la seccion para que los descargues
PM enviado.
ZZT escribió:Terminé de subir los .atr.
¿A'onde?
Avatar de Usuario
dogdark
hard player
hard player
Mensajes: 384
Registrado: Dom Nov 12, 2006 10:01 am
Reputación: 1
Ubicación: en todos lados
Contactar:

Re: ¿tutorial?

Mensaje por dogdark »

pm recibido y respondío
Avatar de Usuario
vitoco
expert
expert
Mensajes: 869
Registrado: Mié Nov 08, 2006 7:25 pm
Reputación: 5
Contactar:

Re: ¿tutorial?

Mensaje por vitoco »

dogdark escribió:pm recibido y respondío
Tomé el ATR con el Donkey Kong Jr que me dejaste (es una versión cheated que la había visto en theoldcomputer.com) y lo voy a usar como ejercicio...

En el emulador Atari800Win Plus u otro que te acomode (con BASIC habilitado), poner el ATR Diskscan en el drive 1 y el del juego en el 2 y bootear para que parta del Diskscan. Los parámetros iniciales son modo Hex con sectores secuenciales sobre drive 2.

Leer el sector 1 del ATR con la opcion "R". Los 6 primeros bytes del sector de booteo dicen cómo bootear:
  • 2 bytes (orden HI-LO) que dicen cuántos sectores leer en total, en este caso $0081 = 129 sectores, lo que equivale a 129*128 bytes = 16512bytes = 128bytes + 16K.
  • 2 bytes (orden LO-HI) que indican en qué lugar de la memoria ponerlo: en el ejercicio va a $3F80, es decir, los 128 primeros bytes (los del sector 1) van a dar entre $3F80 y $3FFF, y los 16K restantes caen entre $4000 y $7FFF. Esto tiene toda la pinta de ser una rutina de inicialización seguido del cartucho de 16K.
  • 2 bytes (orden LO-HI) que apuntan a la dirección de memoria donde comienza el código ejecutable para pasarle el control una vez cargados todos los sectores. La dirección de este caso es $3F86, es decir, el byte siguiente a estos punteros, es decir, quedan (128-6 = 122 bytes para rutina de partida).
Desensamblando con opción "X" desde el byte 6 aparece lo siguiente:
  1. Un loop que mueve $40 = 64 páginas de 256 bytes desde $4000 a $8000, sin aplicar ninguna conversión y limpiando la zona de carga original. Mirando la página correspondiente del libro Mapping... nos encontramos que en $8000 se ubican los cartuchos de 16K. Ahí mismo se indican las direcciones de las rutinas de inicialización (tener presente).
  2. Sigue otro loop que limpia algunos bytes en la página 4 ($0400 = 1024), que es donde se encontrarían los bytes del sector 1 cuando recién se prende el Atari y que después de leerlo descubre que tiene que moverlo a la $3F80.
  3. Después modifica un parámetro del SO en $6A = 106 (dentro de la página 0) llamado RAMTOP que indica en qué página de memoria está el límite de la RAM, poniéndolo en $70, es decir 4K por debajo de la página $80 correspondiente a la dirección $8000. Se supone que la pantalla azul de GR.0 ocupa 1K, y esto la movería aprox desde $BF00 (donde ahora hay data del cartucho y por eso hay un pestañeo durante la carga), para lo cual llama a la subrutina (con "JSR") en $3FD2 de los mismos 128 bytes del sector 1 (posición $52 = 82 partiendo de cero).
  4. En seguida llama a otra subrutina local en $3FCF que no es más que un salto indirecto a la rutina de inicialización del cartucho en $BFFE (tenido presente un poco más arriba) y luego llama indirectamente a la rutina de comienzo en $BFFA, pasándole el control al "cartucho" en RAM.
  5. Finalmente está la subrutina que hace un OPEN al dispositivo "S:", es decir, es la subrutina que mueve efectivamente la pantalla a una zona bajo la ROM del juego, cargando parámetros CIO del canal #1 y llamando a CIOV.
En conclusión, en el caso del ATR del Donkey Kong Jr basta copiar los sectores 2 al 129 del "diskette" usando el mismísimo Atari, o bien extraer los 16384 bytes consecutivos correspondientes a esos sectores y después hacer lo que te plazca con ellos:
  • Grabarlos en un archivo *.ROM para usar con el emulador.
  • Transformarlo en *.XEX poniendo cabeceras y parámetros de inicialización INITAD y RUNAD adecuados.
  • Grabarlo en otro medio usando NHP u otro copiador, probablemente haciendo primero alguno de los anteriores.
Todos estos puntos te los dejo como tarea para la casa, incluyendo la extracción de los bytes desde el ATR... Yo no hice ninguno de ellos, son pura teoría... 0-]

HINT: para hacerlo simple, yo simplemente pondría el ATR completito (pero recortado en el sector $82 = 130, ya que de ahí en adelante el "diskette" está vacío o no aporta) dentro de cabeceras binarias estándares del 8-bits usando las mismas direcciones explicadas arriba, y pasarle el control a la rutina de inicialización del sector 1 para que haga el resto de la pega. Cuidado con las cabeceras propias del ATR. ¡¡¡Listo tu XEX!!! Pan comido... :-D

++Vitoco

PD: Iba a poner una captura de pantalla, pero me dio lata... mejor así para que hagas el ejercicio.
Avatar de Usuario
dogdark
hard player
hard player
Mensajes: 384
Registrado: Dom Nov 12, 2006 10:01 am
Reputación: 1
Ubicación: en todos lados
Contactar:

Re: ¿tutorial?

Mensaje por dogdark »

te las mandaste vitoco, comenzare de a poco a practicar hasta que me resulte y exelente la explicación y ahora solo con pasiencia se puede aprender, buen tutorial
Avatar de Usuario
vitoco
expert
expert
Mensajes: 869
Registrado: Mié Nov 08, 2006 7:25 pm
Reputación: 5
Contactar:

Re: ¿tutorial?

Mensaje por vitoco »

Lo interesante de este caso es que sólo bastó leer y desensamblar un sector del disquette para darse cuenta de cómo obtener la data del cartucho. El código assembler ahí contenido era muy básico y típico de rutinas para mover bloques de memoria, y casi no tenía interacción con rutinas del sistema (excepto para reiniciar la pantalla en otra zona de la memoria).

Sin emabrgo, el contenido del ATR no era un XEX, ni tampoco estaba "protegido". Simplemente era otro tipo de loader, que en este caso se usaba para cargar cartuchos dumpeados (uno pichicateado en este caso), y que se aprovechaba de la carga secuencial automática del booteo desde diskettes, es decir, el loader no incluía rutinas de carga de sectores (sólo acomodaba la data en la memoria), y por eso la data no requería cabeceras estándares de XEX.

Lo que hagas con esa data dependerá de qué quieras tener como resultado. En resumen, las cabeceras binarias estándares del Atari son usadas por varios loaders para identificar en qué parte de la memoria cargar, pero un caso más simple como éste no las requerían.

Ah... olvidé un último punto sobre qué hacer con los 16K (16384 bytes) de data del juego: ponerlos en una EPROM de un cartucho y jugarlo en un Atari REAL :-D

De todos modos, no te aseguro que el resto de tus ATR sean idénticos (de hecho las 3 muestras que me pasaste tienen distinto sector 1 en el ATR, y uno de ellos sólo pesa 64K, menos que un diskete de simple densidad!), así que vas a tener entretención con ellos.

Otro detalle, yo recomendé el Diskscan, pero ese programa sólo trabaja con diskettes en densidad simple (máximo 720 sectores). Para manipular la densidad ampliada (ATR de 130K, hasta 1040 sectores), tuve que pichicatear ese programita... y corriendo en TurboBasic anda mucho mejor. ;)

++Vitoco
Responder