deconstruyendo el video cartridge de Turbo Software

Para comentar los proyectos de hardware presentados en la web.
Responder
xt5
expert
expert
Mensajes: 512
Registrado: Mar Sep 18, 2007 1:16 am
Reputación: 0
Contactar:

Re: deconstruyendo el video cartridge de Turbo Software

Mensaje por xt5 »

Esta es la secuencia exacta de lo que hace el cart "tipo 1", no falta nada.

-La EPROM del cartucho se mapea a 0xA000-0xBFFF (RD5 esta en alto), y se ejecuta desde alli.
-La ROM en 0xD800-0xFFFF y 0xC000-0xCFFF es deshabilitada y en su lugar queda mapeada RAM (PORTB.0=0)
-Se copian 0x792 bytes desde 0xA07F a 0xD800 y se salta hacia alla.
-Son llamadas 3 rutinas que auto-parchan el codigo, es una ofuscacion al codigo, para dificultar la ingenieria inversa.
-Es inicializada una tabla con 0x78 punteros, cada uno de estos punteros es un bloque de datos (0x3E bytes cada bloque), los elementos de la tabla son los siguientes:
0xE100
0xE13E
0xE17C
---
0xFDD2
-Se envia el valor 9 al registro de control del cart, esto deshabilita la EEPROM del CART (0xA000-0xBFFF) y la zona baja de cartuchos (0x8000-0x9FFF), esto lo hace la misma logica del cartucho poniendo RD5 y RD4 en bajo.
-Pone en cero el area entre 0x700 y 0xBFFF (en otras palabras limpia toda la RAM)
-Seta algunas variables del sistema
-Comienza a cargar un XEX desde el cart!
-Loop1:
>Lee los 6 primeros bytes, verifica que los dos primeros sean 0xFF 0xFF y guarda en variables las direcciones de carga.
>-Loop2:
>>-Carga los datos a la direccion actual de carga, y la incrementa.
>>-Compara la direccion de carga actual con la direccion final, si no coinciden salta a Loop2.
>-Si la direccion de carga era cero salta a Ejecutar.
>-Verifica que los 3 bytes que vienen digan "FIN", de ser asi salta a FIN.
>-Salta a Loop1
-Ejecutar:
-Salva algunas variables temporales.
-Copia 0xDA16-0xDA34 a 0x3C0+0x3DE
-Inicializa algunas variables del sistema.
-Salta a 0x3C0
-(en 0x3C0 ):Habilita la ROM (0xD800-0xFFFF y 0xC000-0xCFFF), habilita BASIC.
-Llama la funcion que fue indicada en el bloque del XEX.
-Deshabilita la ROM (0xD800-0xFFFF y 0xC000-0xCFFF), deshabilita BASIC.
-Restaura las variables temporales.
-Salta a Loop1
-FIN:
-Inicializa variables del sistema.
-Copia de 0xD98B-0xD9B4 a 0x3C0-0x3E9
-Salta a 0x3C0
-(en 0x3C0 ):Habilita la ROM (0xD800-0xFFFF y 0xC000-0xCFFF), deshabilita BASIC.
-Inicializa algunas variables del sistema.
-Salta al entry point indicado en el bloque XEX.



La lectura del video no aparece descrita en el bloque anterior, esta se hace desde una funcion que es llamada cada vez que lee un byte del "fichero" (en Loop1 y Loop2), esta funcion va agregando los datos al buffer del bloque que corresponda (los de la tabla), y como cada bloque tiene un indice y un checksum, los bloques se pasan mas de una vez y asi el sistema tiene redundancia.

---
vitoco, tienes toda la razon el atari si puede generarlo (no se porque tenia en la cabeza que los de turbosoftware lo habian hecho con un ST), lo que pasa es que en todos lados donde describen tecnicamente el atari ponen 192 lineas de resolucion :s
la explicacion del formato de los bloques en el video estan el post 1.

ZZT, porque no dumpeas el cart "tipo 2", es muy facil, solo tienes que poner el switch en RD5 y usar mi programa que esta en post del cart turbosoftware convertido a grabador. no tienes que romper el cart solo intervenir RD5. tienes por alli un fotograma capturado del video de ese cart??
Avatar de Usuario
WillySoft
expert
expert
Mensajes: 657
Registrado: Mar Nov 07, 2006 10:02 pm
Reputación: 2

Re: deconstruyendo el video cartridge de Turbo Software

Mensaje por WillySoft »

Por lo visto, el loop 1 y 2 es la rutina estándar de carga de archivos binarios Atari. Esa rutina se puede ver también en los menúes de 3 sectores de disco, así como también en el loader de cartridge que se hizo acá hace algunos años.

La pregunta que me queda es cómo lee la señal de video. ¿Es un programa del Atari o bien existe algun mecanismo interno en el cartridge?
Avatar de Usuario
vitoco
expert
expert
Mensajes: 869
Registrado: Mié Nov 08, 2006 7:25 pm
Reputación: 5
Contactar:

Re: deconstruyendo el video cartridge de Turbo Software

Mensaje por vitoco »

OK, ahora leí el post 1 con más detalle, pero no se me aclaran algunas dudas:

- Paso 3: ya no está disponible el bin desofuscado. ¿Alguien puede ponerlo en algún lado? Yo puedo prestar espacio en mi home para este proyecto. También me gustaría ver el contenido original de la eprom, pues no lo encontré en el Retromuseo.

- Paso 4: Tengo medio añeja mi memoria, pero $D50X (ó D50Xh) representa un rango de memoria de 16 bytes. Eso quiere decir que dependiendo qué byte del rango se escriba es la acción que toma el cartridge. Imagino que a eso se refiere con que sólo toma la línea de direcciones y no la de datos. ¿Es así?

- Paso 5: Esto se refiere al formato versión 1 con 3 bloques que corren de lado a lado (¿La versión 2 sería la que además muestra 4 barras verticales?) ¿Cuál sería la frecuencia real de refresco? ¿Es 60 fps? En los videos y fotos de ejemplo me da la impresión que cada línea de data ocupa más de un scan line, y por lo tanto, no serían 192 líneas útiles... ¿me lo pueden confirmar? Esto sería relevante para armar el paso 6.

Por lo que describe xt5 en su último post, se podría cargar cualquier XEX con este método, tal como dice Willy. Al principio pensé que serían sólo binarios que calzaran con la RAM correspondiente al cartridge, lo cual me confundía más si pensaba en los 600XL.

Se me acabó el tiempo de relajo... después sigo.
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: deconstruyendo el video cartridge de Turbo Software

Mensaje por ZZT »

xt5 escribió:ZZT, porque no dumpeas el cart "tipo 2", es muy facil, solo tienes que poner el switch en RD5 y usar mi programa que esta en post del cart turbosoftware convertido a grabador. no tienes que romper el cart solo intervenir RD5. tienes por alli un fotograma capturado del video de ese cart??
No es necesario que intervenga RD5, tengo un hardware hecho para dumpear cartuchos. De hecho lo iba a hacer anoche, pero como antenoche me desvielé hasta las 5am, para probar el asunto, no di más y me venció el sueño. :-D Hoy lo hago, después de la siesta. :-X

¿Quieres una foto de la imagen que sale en la tele? ?@
Imagen
esa?
vitoco escribió:- Paso 3: ya no está disponible el bin desofuscado. ¿Alguien puede ponerlo en algún lado? Yo puedo prestar espacio en mi home para este proyecto. También me gustaría ver el contenido original de la eprom, pues no lo encontré en el Retromuseo.
ambas roms ya estan nuevamente en línea en el siguiente post y en el principal de este tema.
vitoco escribió:- Paso 4: Tengo medio añeja mi memoria, pero $D50X (ó D50Xh) representa un rango de memoria de 16 bytes. Eso quiere decir que dependiendo qué byte del rango se escriba es la acción que toma el cartridge. Imagino que a eso se refiere con que sólo toma la línea de direcciones y no la de datos. ¿Es así?
Exactamente. Dependiendo de la dirección invocada entre D500~D50F es la acción realizada. Los datos (o bus de datos) no entran en juego.
vitoco escribió:Por lo que describe xt5 en su último post, se podría cargar cualquier XEX con este método, tal como dice Willy. Al principio pensé que serían sólo binarios que calzaran con la RAM correspondiente al cartridge, lo cual me confundía más si pensaba en los 600XL.
Exacto. Cualquier .atr debería correr, aunque hay posibilidades de que algunos tengan lios con la ram. Todos estos años haciendo cartridges me he topado con algunos ejemplos: gyruss, demon atack, flack, incluso el montezuma 1 falla si no lo coloco primero en la lista. 8-|
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: deconstruyendo el video cartridge de Turbo Software

Mensaje por ZZT »

Lo prometido es deuda:

He revivido mi super hardware grabador-lector de eproms reciclado a dumpeador de cartuchos. El asunto es muy simple: se pone una eprom en el lector (con ambas patas enable a Vcc para dejarla desabilitada) de forma que solo sirva como medio para soldar los cables hacia el conector de cartridge, las direcciones desde A0 a A12 y datos desde D0 a D7 pasan tal cual y la pata que sería PGM en la eprom va a CCTL en el cartridge para provocar el cambio de bancos (en el conector del cartridge Ø2 esta directo a GND). Como el videocartridge es de 8K no fue necesario banquear. Topic original aquí.
Imagen
Con este "invento" puedo leer (dumpear) casi cualquier cartridge sin desarmarlo o intervenirlo. :-D

Para evitar confusiones, adjunto imagenes del cartride, captura de la imagen y rom.

Versión 1:

Cartrige:
Imagen

Rom:
ROM VIDEO CARTRIDGE VERSIÓN 1 (SIN RESINA)

Captura:
Imagen

Video:


Esquemático:
http://www.retrogames.cl/imagenes/proye ... tbvc02.pdf



Versión 2:

Cartrige:
Imagen

Rom:
ROM VIDEO CARTRIDGE VERSIÓN 2 (CON RESINA)

Captura:
Imagen

Video:


Esquemático:
No disponible aun.

Eso sería un resumen de lo que llevamos.

Ambas son de 8K. E8o W).
xt5
expert
expert
Mensajes: 512
Registrado: Mar Sep 18, 2007 1:16 am
Reputación: 0
Contactar:

Re: deconstruyendo el video cartridge de Turbo Software

Mensaje por xt5 »

ZZT escribió:Con este "invento" puedo leer (dumpear) casi cualquier cartridge sin desarmarlo o intervenirlo. :-D

ROM VIDEO CARTRIDGE VERSIÓN 2 (CON RESINA)
Ambas son de 8K. E8o W).
gracias ZZT, sospechaba que ya la tenias!! bien por el aparato :)
gracias por la imagen, pero no puedo estimar cuantas lineas utilizan :( alguien con mejor ojo talvez las pueda aproximar.

oye Z, solo en el lado izquierdo se trasluce un integrado, sera porque la resina esta mas delgada?? cuantos integrados crees que traiga, me imagino que bastate menos que la version 1...
WillySoft escribió:La pregunta que me queda es cómo lee la señal de video. ¿Es un programa del Atari o bien existe algun mecanismo interno en el cartridge?
el cartridge entrega 2 cosas, una señal que dice si "el punto actual de video" esta en blanco o negro, y los datos de 8 lineas ya deserializados (como un byte). creo que esto ultimo es poco eficiente y complejizo demasiado el diseño del hardware, la deserializacion de datos podria haber sido dentro del atari, ya sea con polling y un timing presisio o usando interrupciones.

otros datos: el sistema actual solo se sincroniza con luma, o sea ignora por completo las señales de sincronia de NTSC. y el manejo de señal de videos no utiliza interrupciones.

vitoco, he vuelto a subir la imagen como esta desofuscada en memoria en el paso 3 (se quedo abajo en un cambio de hosting).

en el paso 4, es tal como tu dices solo toma la linea de direciones e ignora la de datos (como muchos sistemas de banking), es mas, como esta configurado el cart no actua cuando graba algo en ese rango, sino que cuando lee!!!
claro, la version 1 es la de la foto del cartucho no resinado y las barras completas, y la version 2 la de las 4 barras y el cartucho resinado.
la frecuencia de refresco es 60Hz, no puede ser de otra manera. ahora, como aplican la redundancia?: no se, talvez muestre 2 veces seguidas el mismo "FIELD" (FIELD en NTSC es la mitad de un frame, lo que se muestra en 60Hz, osea el sistema solo tiene 30 frames). si ves la captura de la version 1 en realidad si ocupa solo una linea pero esta un poco escalado, en la foto de la version 2 parecieran lineas ultra-anchas, pero me imagino que es la velocidad de obturacion muy lenta.

los juegos son XEX, y al igual que en los multicart turbosoftware terminan cada archivo con el string (ascii) "FIN".

editado: por una imprecision
Última edición por xt5 el Mié Mar 31, 2010 6:20 pm, editado 1 vez en total.
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: deconstruyendo el video cartridge de Turbo Software

Mensaje por ZZT »

xt5 escribió:oye Z, solo en el lado izquierdo se trasluce un integrado, sera porque la resina esta mas delgada?? cuantos integrados crees que traiga, me imagino que bastate menos que la version 1...
Nope, lo que pasa es que hay un chip montado arriba de otro. :8-

Aparentemente tiene menos chips, pero sin desarmarlo no hay forma de saber. Ojalá encontraramos uno sin resina y sin los números de los chips borrados. :-D
xt5 escribió:ahora, como aplican la redundancia?: no se, talvez muestre 2 veces seguidas el mismo "FIELD"
Eso explicaría pq el juego se ejecuta antes de terminar de pasar el video. ¿? ?@
WillySoft escribió:La pregunta que me queda es cómo lee la señal de video. ¿Es un programa del Atari o bien existe algun mecanismo interno en el cartridge?
Willy, la señal de video se digitaliza y convierte de serial a paralelo por el hardware del cartridge.
Avatar de Usuario
133MHz
expert
expert
Mensajes: 1950
Registrado: Sab Abr 05, 2008 2:06 pm
Reputación: 0
Ubicación: Santiago, Chile
Contactar:

Re: deconstruyendo el video cartridge de Turbo Software

Mensaje por 133MHz »

Algún médico entre el público, que le pueda sacar rayos X al cartucho resinado? 8-S

Imagen

How to crack a Pacman Plus!
Avatar de Usuario
BonesCollector
expert
expert
Mensajes: 3386
Registrado: Vie Nov 10, 2006 7:02 pm
Reputación: 27
Ubicación: Santiago de Chile

Re: deconstruyendo el video cartridge de Turbo Software

Mensaje por BonesCollector »

Yo puedo conseguirme radiografiás, aunque no se si se verán los números de los chips ?@

Saluts
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: deconstruyendo el video cartridge de Turbo Software

Mensaje por ZZT »

BonesCollector escribió:Yo puedo conseguirme radiografiás, aunque no se si se verán los números de los chips ?@

Saluts
Me asalta una duda Lucho ¿que pasará con el contenido de la Eprom al exponerla a rayos-x? Me lo pregunto por que el almacenamiento se basa en cargas y los rayos x son una radiación electromagnetica similar a la luz UV que se usa para borrarlas. ?@

Y también sería interesante saber si el silicio de los chips resiste este tipo de radiación. Si tienes un video cartridge de los sin resina podrias hacer el experimento. aps, se me olvidaba preguntar si el cart. conservará algo de radiación después de "la foto". :=
Avatar de Usuario
Walky
expert
expert
Mensajes: 3857
Registrado: Jue Nov 09, 2006 1:59 pm
Reputación: 0
Ubicación: No sé! XD
Contactar:

Re: deconstruyendo el video cartridge de Turbo Software

Mensaje por Walky »

ZZT escribió:se me olvidaba preguntar si el cart. conservará algo de radiación después de "la foto". :=
¿Por qué debería? :|
xt5
expert
expert
Mensajes: 512
Registrado: Mar Sep 18, 2007 1:16 am
Reputación: 0
Contactar:

Re: deconstruyendo el video cartridge de Turbo Software

Mensaje por xt5 »

oops, que volado que soy...
se me olvido completamente que le habia intentado sacar la resina a uno de los carts de la version 2 que ZZT me dono hace un tiempo atras...

aqui hay fotos del bicho (click para agrandar):

Imagen
Imagen

tengo sus restos por alli en una bolsa, haber si alguno de estos dias le hago una autopsia.
Avatar de Usuario
133MHz
expert
expert
Mensajes: 1950
Registrado: Sab Abr 05, 2008 2:06 pm
Reputación: 0
Ubicación: Santiago, Chile
Contactar:

Re: deconstruyendo el video cartridge de Turbo Software

Mensaje por 133MHz »

ZZT escribió:¿que pasará con el contenido de la Eprom al exponerla a rayos-x? Me lo pregunto por que el almacenamiento se basa en cargas y los rayos x son una radiación electromagnetica similar a la luz UV que se usa para borrarlas. ?@

Y también sería interesante saber si el silicio de los chips resiste este tipo de radiación.
La verdad me pillaste en cuanto a lo de las EPROM, sin embargo si están hechos para ser reactivos sólo a la luz UV-C, los rayos X no deberían borrar los datos al ser de una longitud de onda distinta.

Yo cuando he viajado a otros países me han pasado el Gameboy entero con cartuchos de juego por la máquina de rayos X y no les pasa absolutamente nada, ni siquiera se borran las partidas guardadas en SRAM o EEPROM. Los medios magnéticos (VHS, disquete, etc) sí se borran, mi papá traía cintas de audio, de vídeo y disquetes del extranjero y todos llegaban vírgenes. 8B*
ZZT escribió:aps, se me olvidaba preguntar si el cart. conservará algo de radiación después de "la foto". :=
Lucho, eso ya es como de vieja cuentera que piensa que la comida queda contaminada tipo Chernobyl por calentarla en el microondas ::jjx ::rofl
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: deconstruyendo el video cartridge de Turbo Software

Mensaje por ZZT »

xt5 escribió:oops, que volado que soy...
se me olvido completamente que le habia intentado sacar la resina a uno de los carts de la version 2 que ZZT me dono hace un tiempo atras...

aqui hay fotos del bicho (click para agrandar):

Imagen
Imagen

tengo sus restos por alli en una bolsa, haber si alguno de estos dias le hago una autopsia.
CONCHESUMA!!! 8B* Pobre cartucho wn. 8-| :-X

Por lo que veo los pedazos no estan taaaaan pa la ca. Podrías intentar sacar el esquemático aunque sea la pistas por el momento. La rom ya la tenemos así que filo con ella y seguro uno de los chips es un 7400 y otro un 74175 ó 174, esos los usaban siempre en pareja. Y otro debe ser el mismo conversor serial-paralelo de la versión sin resina, el 4094. AH! y la sección de entrada y depuración de la señal de video tb se ve sin cambios (al ojímetro). :-D

Apropósito de esquemáticos, me di la pajita de hacer este de la versión sin resina. A la "old school" del paint. ::ner :-X
PD: Corregí algunos "vacios" del esquematico de XT5, por ejemplo las patas 1-2-27-28 de la eprom todas van a Vcc. Y no es RD4 y S4 como pusiste en el pdf, es RD5 y S5! Y falta un condensador a tierra que va junto a la resistencia para el clear del 74LS175 (pin 1). De todas maneras aun no hago una revisión total, así que den mi plano por ver 1.0 :-D
133MHZ escribió:La verdad me pillaste en cuanto a lo de las EPROM, sin embargo si están hechos para ser reactivos sólo a la luz UV-C, los rayos X no deberían borrar los datos al ser de una longitud de onda distinta.
Te entiendo, pregunto pq una cosa es meter a los rayos x un aparato con todos sus shields, estuches, maletas, etc. y otra exponer una eprom a poto pelao. De todas maneras, se puede poner otras eproms primero y ver si pasan la prueba, total hechando a perder se aprende. XD
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: deconstruyendo el video cartridge de Turbo Software

Mensaje por ZZT »

Walky escribió:
ZZT escribió:se me olvidaba preguntar si el cart. conservará algo de radiación después de "la foto". :=
¿Por qué debería? :|
133MHZ escribió:
ZZT escribió:aps, se me olvidaba preguntar si el cart. conservará algo de radiación después de "la foto". :=
Lucho, eso ya es como de vieja cuentera que piensa que la comida queda contaminada tipo Chernobyl por calentarla en el microondas ::jjx ::rofl
puta que me hiciste reir Emiliano! ::rofl
Reconosco que fue una pregunta weona, con esto de la "colison" de hadrones y la confesión de Ricky Martin cualquiera se aweona. ::rofl

Imagen
:-X
Responder