[ATARI] Cartucho Dummy

Reparaciones, modificaciones, especificaciones, manuales técnicos , etc.
Responder
Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

[ATARI] Cartucho Dummy

Mensaje por vitoco » Lun Mar 04, 2013 3:23 pm

Ordenando los pocos retrocachureos que tengo, me encontré con lo siguiente:

Imagen

Es un clon de un cartucho muy simple para computadores Atari de 8-bits. Lo construyó un amigo electrónico mientras estábamos en la Universidad a fines de los 80's, a partir de un documento obtenido de un BBS (lamentablemente aún no encuentro ese doc, si es que lo guardé yo).

Es necesario que explique un poco como funcionaban los cartuchos en estos computadores. El Atari 800 tenía 2 zócalos para poner cartuchos de 8K, uno principal que se mapeaba a la RAM entre las direcciones $A000 y $BFFF (40960-49151) y uno secundario entre $8000 y $9FFF (32768-40959), aunque también era posible poner sólo uno de 16K en el slot principal y que cubría todo ese rango de memoria (por eso se eliminó el segundo slot en la serie XL y XE). Es decir, al encender el Atari con un cartucho insertado, la RAM en esos rangos era reemplazada por la ROM contenida en el cartucho. En los XL/XE, la ROM del cartucho del lenguaje BASIC se dejó en la placa, y se activa por defecto al encender el computador, pero si se enciende con la tecla OPTION presionada, de deshabilita el BASIC y aparece la RAM.

Sacándole el envoltorio a este cartucho, podemos ver qué contiene:

Imagen Imagen

¡Pero en este cartucho no hay ROM! ¡Tampoco RAM! Viéndose tan poca cosa, se preguntarán para qué sirve. Se trata del Supercart, un circuito que le hace creer al Atari que tiene insertado un cartucho real, siendo que en realidad la memoria que se lee de él es la propia RAM del computador, pero que bloquea la escritura en esa misma RAM, comportándose como si fuera ROM.

Esto permitió que copias de cartuchos de 8K y 16K pudieran ser cargados en la RAM desde disco o cinta, y luego, al activar el Supercart, el juego o programa funcionaba como si estuviera presente el cartucho. Si bien ya se podían cargar juegos copiados de cartuchos, el hecho que estuvieran en RAM los hacía vulnerables a ciertas protecciones, por ejemplo, a que un juego tratase de borrarse a si mismo de la memoria.

Veamos cómo funciona este cartucho "dummy". Éste es el diagrama del circuito:

Código: Seleccionar todo

R/W    RD4     +5V         TI  441CP       GND      RD5
 R     14      13          SN74LS04N        B        A
 |      |       |          _________        |        | 
 |      |       |         |         |       |        |
 |      |       +----+   -|8       7|-------+        |
 |      |       |    |   -|9       6|-      |        |
 |      |       |    |   -|10      5|-      |        |
 |      |   330 A    |   -|11      4|-      |        |
 |      |   ohm H    |   -|12      3|-      |        |
 |      |       V    |   -|13      2|----+  |        |
 |      |       |    +----|14      1|--+ |  |        |
 |      |       |         |____A____|  | |  |        |
 +------)-------)----------------------+ |  |        |
        |       |                        |  |        |
        +-------)-----------------o/o----+  |        |
        |       | +---------------o/o-------+        |
        |       |_|          doble-switch           |
        |        U  LED                              |
        +--------------------------------------------+

Los pines del puerto para cartuchos son los siguientes, vistos desde la parte de atrás del computador:

Código: Seleccionar todo

 A  B  C  D  E  F  H  J  K  L  M  N  P  R  S
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15

Pin R   R/W   Processor Read/Write
    14  RD4   ROM present ($8000-$9FFF)
    13  +5V   DC power supply
    B   GND   Ground
    A   RD5   ROM present ($A000-$BFFF)
Revisando en detalle, están presentes 2 circuitos en uno, y que se activan en paralelo con el switch doble:

- LED de operación: +5V -> Resistencia -> Switch -> LED -> GND

- El truco de la ROM: R/W -> Switch -> NOT -> RD4+RD5

El NOT a la señal es provisto por el IC SN74LS04N, el cual también está alimentado por +5V y tiene conexión a GND.

En la práctica, cuando se intenta escribir en la RAM asignada al cartucho, se le indica al computador que ahí hay ROM y la data previamente almacenada en la RAM no se toca. Simple, ¿cierto?

Este cartucho toca simultáneamente RD4 y RD5 para bloquear los 16K de RAM a la vez. En teoría, sería posible adaptar este cartucho para que bloquée sólo 8K para los casos en que fuera necesario. Recuerden que el Atari sólo direcciona 64K, pero 16K son de la "BIOS", 1K de la pantalla (modo texto), y un par mas de sistema, por lo que quitar 16K de una es demasiado si sólo se necesitan 8K.

Si bien el Supercart permitió correr copias en disco de cartuchos reales, para copiar los cartuchos reales se requiería de programas especiales sin necesidad de desarmarlo ni construir un dispositivo especial. Lo que éstos hacían era permitir que se introdujera un cartucho en caliente (con el Atari encendido) y luego leían secuencialmente la RAM (que ahora era ROM) y grababan en disco. Al archivo en disco se le agregaba un miniloader que acomodaba el programa en la RAM, luego pedía encender el cartucho para bloquear la RAM y finalmente le pasaba el control al cartucho.

Yo utilicé esta joyita para programar en lenguaje de máquina usando una copia del cartucho Assemler/Editor, lo que me permitía compilar y hacer pruebas sin tener que reiniciar el Atari. Sin el Supercart, al presionar la tecla RESET (WARMSTART), el S.O. del Atari movía los punteros del área de memoria asignada a la pantalla al límite superior de la RAM, borrándose el último kilobyte de código del cartucho, en tanto que con el Supercart, la pantalla se mantenía 16 kilos más abajo. Incluso fue posible intercambiar entre el AS/ED y el BASIC incorporado en mi 800XL sin necesidad de rebootear el Atari.

Hubo varios cartuchos dummy, y de éstos estoy al tanto:

- El Supercart fue liberado por Frontrunner en 1983 e incluía el software para copiar cartuchos originales y los loaders para correr las copias.

- The Pill y The Super Pill de CSS, también disponible en 1983. El primero es similar a Supercart, aunque me parece que no trae el LED de encendido, en tanto que la versión "Super" incluía circuitería adicional para poder ser activado por software en lugar de usar un switch, tal como se hacía para el manejo de bancos de memoria, requería de un miniloader especial.

- The Impersonator, liberado en 1984 por Alpha Systems, empresa de software que nos entregó numerosas herramientas de... eeeeeh... análisis y respaldo de software.

Está demás decir que la idea detrás de Supercart no sirve con cartuchos más avanzados, por ejemplo aquellos con memoria RAM propia o mayor cantidad de ROM en múltiples bancos seleccionables como lo hace el cartucho XEGS.

++Vitoco
Adjuntos
dummycart.zip
(27.26 KiB) Descargado 137 veces
Última edición por vitoco el Lun Mar 04, 2013 3:53 pm, editado 1 vez en total.

Avatar de Usuario
Yoru
Mensajes: 590
Registrado: Vie Feb 15, 2013 1:25 am

Re: [ATARI] Cartucho Dummy

Mensaje por Yoru » Lun Mar 04, 2013 3:49 pm

Buen tema y súper informativo, la verdad, hace tener ganas de haber estado en esa época y poder meterle mano asi a las cosas, si bien hoy en día con consolas mas modernas se puede (omito los computadores de escritorio, ya que en su mayoría están los componentes para hacer las cosas), al menos para mi, hay una magia en todo lo electrónico y mecánico (Tipo relojes) que no se, es indescriptible. aprender como funcionan, hacer estos "mods" o add-ons, es totalmente un gusto y lujo.


Gran tema. Hoy en día se me hace mas impensado (no imposible) armar una R4 en la casa o uno de esos USBs para las ps3, debo admitir que a la cubo y la wii le metí mano yo apenas pude, pero siempre mirare con ojos de admiración al escuchar que había una época en que te llegaba un msx y podias programar tu mismo un juego y venderlo para la consola misma (al igual que hoy se puede publicar independientemente, pero insisto, la magia que esos hechos tiene para mi es indescriptible, me imagino que llegaran tus amigos un día en la tarde y ponerse a pensar y programar todos juntos ahi en el living con la msx :) )

Avatar de Usuario
Manuelink64
Mensajes: 1152
Registrado: Jue Ene 24, 2013 6:09 pm
Ubicación: Neo Kobe City

Re: [ATARI] Cartucho Dummy

Mensaje por Manuelink64 » Lun Mar 04, 2013 11:56 pm

Debo estar cansado, pero entendí la mitad de lo que leí
¿en resumen, que hace?

Buen articulo en todo caso, bien técnico pa' loh hombre

Saludos!

Avatar de Usuario
renix
Mensajes: 4675
Registrado: Vie Ene 25, 2013 1:39 am

Re: [ATARI] Cartucho Dummy

Mensaje por renix » Mar Mar 05, 2013 1:07 am

Con este cartucho se podria jugar la rom del gyrus volcada byte a byte a diskette... wena

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] Cartucho Dummy

Mensaje por vitoco » Mar Mar 05, 2013 10:19 am

Manuelink64 escribió:bien técnico
:oops:
¿Se notó mucho?

En resumen, el cartucho dummy sirve para correr copias en diskette de cartuchos "protegidos".

Había juegos y otros programas "protegidos" que en su código incluían rutinas que trataban de modificar algún rango de memoria correspondiente a si mismos. Como eran ROM, no pasaba nada y todo funcionaba correctamente. Pero si la ROM era copiada a disco y cargabas ese programa a la RAM, sí se podía autoflagelar y el juego se pegaba. El cartucho dummy marcaba la RAM como que fuera ROM y el juego no podía modificarse, y pasaba la validación.

Si bien era posible buscar en el código dónde se hacía validación de ROM e inhabilitarlo, usar el cartucho era más simple... o al menos esa era la venta de pomada.

Cuando comencé a escribir el artículo, me propuse traspasar el diseño del cartucho a un dibujo, pero recordé que ya lo había hecho y publicado en "News" hace casi 2 décadas, así que lo busqué. Google debía tenerlo en sus grupos. Me encontré con el hilo original en comp.sys.atari.8bit, pero además con un archivo en AtariArchives.org, otro en Atarimax y el que más me sorprendió, con un artículo en un newsletter de TWAUG, una comunidad Atari, y que era editado en Atari ST. El problema es que en ese artículo no aparezco en los créditos, pues aparentemente se basó en un resumen publicado en otro lado. :cry: De puro picado, publiqué el diagrama original en arte ASCII en vez de traspasarlo a un dibujo en colores, aunque con la revisión correspondiente.

++V

Avatar de Usuario
renix
Mensajes: 4675
Registrado: Vie Ene 25, 2013 1:39 am

Re: [ATARI] Cartucho Dummy

Mensaje por renix » Mar Mar 05, 2013 10:37 am

Que buena vitoco... podrias tratar de desproteger el.gyrus porfa???? Es el juego de XL/XE que mas me gusta...

Avatar de Usuario
fcatrin
Mensajes: 655
Registrado: Jue Ene 24, 2013 2:19 pm
Ubicación: Quilpué
Contactar:

Re: [ATARI] Cartucho Dummy

Mensaje por fcatrin » Mar Mar 05, 2013 12:00 pm

Pero si ya hay una versión desprotegida de Gyruss, la que todos usamos. O hay otra diferente de cartucho?

Avatar de Usuario
renix
Mensajes: 4675
Registrado: Vie Ene 25, 2013 1:39 am

Re: [ATARI] Cartucho Dummy

Mensaje por renix » Mar Mar 05, 2013 12:41 pm

Yo lo tengo solo en cartucho y en el pasado trate de hacer mil trucos para que quedara en diskette y nada... (twngo lapsus de olvido de tiempos con atari, solo frustraciones :) )

Puedes adjuntarlo ???

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] Cartucho Dummy

Mensaje por vitoco » Mar Mar 05, 2013 1:20 pm

renix escribió:Yo lo tengo solo en cartucho y en el pasado trate de hacer mil trucos para que quedara en diskette y nada...
:o ¿Es un cartucho original? ¿Tienes fotos?

Ese juego yo lo tengo como XEX en mis diskettes de 5,25" y no pillo el ATR de ese diskette... creo que aborté el traspaso de diskettes antes de llegar a ese. Para retomar el traspaso, deberé intentar conectar la disketera al notebook con Win7... la última vez lo hice al desktop con WinXP.

En línea lo he visto sólo en formato ATR: Emuparadise y Doperoms. Ninguno es traspasable fácilmente a XEX.

Avatar de Usuario
renix
Mensajes: 4675
Registrado: Vie Ene 25, 2013 1:39 am

Re: [ATARI] Cartucho Dummy

Mensaje por renix » Mar Mar 05, 2013 2:10 pm

Tengo el pcb del cartucho que era de esos arcade con un atari adentro... voy a buscarlo pero creo que no es original...

Avatar de Usuario
fcatrin
Mensajes: 655
Registrado: Jue Ene 24, 2013 2:19 pm
Ubicación: Quilpué
Contactar:

Re: [ATARI] Cartucho Dummy

Mensaje por fcatrin » Mar Mar 05, 2013 5:22 pm

Por qué sería más conveniente en XEX que en ATR?

Avatar de Usuario
vitoco
Mensajes: 1970
Registrado: Lun Ene 28, 2013 5:47 pm
Contactar:

Re: [ATARI] Cartucho Dummy

Mensaje por vitoco » Mar Mar 05, 2013 5:53 pm

fcatrin escribió:Por qué sería más conveniente en XEX que en ATR?
Ponerlo en cassette con algún turbo/stac, por ejemplo... ;)

OK, un ATR también se puede meter directamente en cassette si cumple ciertas condiciones. No sé si es el caso de los de Gyruss que indique anteriormente.

Logré conectar mi 1050 a la docking de mi notebook y ya traspasé mi disco a ATR con el ProSystem. Este ATR lo levanté cun emulador, seleccioné el Gyruss del menú y partió OK 8-)

AsCrNet
Mensajes: 130
Registrado: Lun Mar 11, 2013 10:47 am

Re: [ATARI] Cartucho Dummy

Mensaje por AsCrNet » Jue Mar 14, 2013 10:47 am

Yo he probado esta versión del gyruss del tio fandal con el sio2sd, sio2pc, sio2vcp, cart de atarimax, casetera :D y funciona...

Saludos

Responder