VIDEO-CARTRIDGE 
TURBOSOFT
    
Por XT5 y ZZT
A finales de los 80s y principios de los 90s, Turbo Soft, una empresa Chilena creada por tres amigos Argentinos, fabrico una serie de productos paracomputadores de la linea Atari, dentro de los cuales estaba el Video Cartridge. Este era un sistema que comprendia una cinta de video VHS y un cartridge, que se conectaba alreproductorde VHS. El objetivo final era cargar los juegos desde la cinta VHS a una gran velocidadyfiabilidad, pero era imposible cargar mas juegos en la cinta o modificar los ya existentes y, ademas, si se intentaba copiar la cinta, usando dos VHS, se perdia la fiabilidad de carga.
El sistema consiste de un cartridge que se inserta normalmente en el slot correspondiente, sin ningun tipo de modificacion o adicion, exceptuando que de el sale un cable que tiene un conectorRCA macho. Ese RCA se enchufa a la salida de video (video out) de cualquier reproductor VHS (pasapeliculas en la epoca). Se enciende el Atari con la tecla OPTION presionada y se le da play a la cinta ya mencionada. De esta manera la informacion digital (juego) contenida en la imagen grabada en la cinta de video es transferida de forma serial al cartucho, el cual la convierte a paralelo y la vuelca a la memoria del Atari. Una vez se carga todalainformaci�n, el juego se ejecuta y sale en pantalla. Suena simple, pero no lo es tanto. Lo que si podemos admirar es que para la epoca era un dispositivo dificil de creer que hicera lo que hace y mas encima hecho en Chile.
Si quiere saber que juegos contiene la cinta, aqui esta el manual.
Al final de esta pagina encontrara mas imagenes.
HISTORIA
Un dia, en el foro de Retrogames aparecio uno de los creadores del dispositivo, Marcelo Waldbaum, quien nos aclaro varias dudas y nos conto como se gesto el proyecto. Aqui un estracto de lo que el posteo.
    
Turbo Software fue una empresa
            donde trabajamos Mauro Pieressa, Pedro Caravall, Roberto Domingues y yo Marcelo
            Waldbaum.
Trabajamos durante muchos anos desarrollando Software y
            Hardware para los Atari 8 Bits.
Desarrollamos para Atari Chile el Sistema
            de Carga de Cassette Turbo Tenis, los cartuchos de varios juegos, el memory
            card, el Light pen y nuestro proyecto mas interesante que fue el video
            cartridge: sistema que cargaba programas desde una video cassettera a altisima
            velocidad. Tambien escribimos la revista Turbo News que se distribuia en el
            pais.
El video Cartridge
            fue el proyecto que nos dio mas satisfaccion, pues creo que sin duda fue el mas
            innovador. Siempre tratabamos de resolver el costo del almacenamiento de la
            informacion, la velocidad de carga que en Atari era todo un tema y la calidad en
            la carga de los programas. Un dia me estaba duchando y se me ocurrio la idea de
            almacenar informacion en cintas de Vhs y parti a la casa de mi Socio Roberto
            Domingues a conversar el tema... Al rato despues ya estabamos grabando barras en
            las cintas y reproduciendo la informacion mirando asombrados en el osciloscopio
            la calidad de la reproduccion que el video nos entregaba y vimos la posibilidad
            de desarrollar el producto. Primero partimos con simples barras que nos daban
            algunos ceros y unos en la lectura en forma sistematica y logramos leer varios
            Kbytes de informacion sin alteracion en la data. Estabamos super contentos con
            la idea y el proyecto y lo viable que era.
A los pocos dias empezamos a
            generar la placa de control y el software para el Video Cartridge. Se lo
            presentamos a Jaime Vallarino encargado de Productos en Coelsa y quedo
            encantado, incluso habia planes de transmitir esta senal en algun programa
            infantil educativo para que desde las casas se pudieran cargar programas, pero
            esto nunca llego a consolidarse. Me acuerdo que lo desarrollamos en un verano
            dos anos despues que desapareciera el Atari del mercado comercial en
            Chile.
Nuestro mayor desafio fue la grabacion del video. El problema que
            tuvimos era que si haciamos un master y reproduciamos este master en nuevas
            cintas la informacion perdia mucha calidad y las tasas de errores subian mucho
            por lo cual bajaba la tasa de seguridad en la carga.
Nos cabeceamos un
            buen tiempo para resolver que cada VHS fuera un original grabado directamente
            desde el computador, y al final lo logramos.
Coelsa tenia en stock el
            primer Hard Disk externo que existio para la marca Atari, y se lo compramos. Nos
            conseguimos una interfaz que permitia mediante el bus paralelo conectarlo a un
            computador 8 Bits y grabamos toda la informacion de los 300 juegos en el disco
            duro. Entonces hicimos un software de grabacion que leia los programas a medida
            que los enviaba a varios VHS obteniendose en cada uno de ellos la primer
            generacion del video osea masters en cada copia. Claro que era medio peligroso
            pues solo teniamos un Hard Disk y no era facil conseguirlos en esta epoca pero
            resistio muy bien a su trabajo.
Roberto Domingues que es nuestro giro sin
            tornillos desarrollo todo el Hardware que fabricamos, Mauro Pieressa fue el
            encargado de hacer compatible todos los juegos al Video Cartridge trabajo muy
            tedioso y yo realice el software de la rom del Video Cartridge y el sistema de
            grabacion... Que epoca... lastima que no lo desarrollamos 5 o 10 anos antes...
            creo que este proyecto pudo haberse vendido muy bien si hubieramos dado el golpe
            en el momento mas indicado, aunque igual vendimos muchisimas unidades...
Si quiere leer el hilo completo click aqui .
Recientemente, Marcelo waldbaum, programador y disenador de este invento, asistio a una de nuestras reuniones anuales y nos conto algo mas sobrelasdosversiones del video catridge. Una no tiene correccion de errores y la segunda tampoco, pero esta tiene la particularidad de enviar el bloque de informacion tres veces, de tal manera que el programa cargador chequea por error CRC y si determina que el primer bloque esta fallado (arruga de la cinta por ejemplo) usa el segundo y si este tambien falla usa el tercero. Esta fue una gran innovacion con respecto al la primera version.
INSTRUCCIONES DE USO
    
- Conectar el VHS a un TV
- Poner la Cinta en el VHS y ubicar el juego que
        queremos cargar avanzando o retrocediendo; cuando este listo presionar STOP o PAUSE
- Insertar el Video
        Cartridge en el slot de cartruchos del Atari y enchufar el RCA que sale de el a la salida de video del VHS
-
        Encender el Atari con la tecla OPTION presionada (la pantalla permanece en negro)
- Poner Play en el VHS
-
        Una vez sale el juego en el Atari, poner STOP en en VHS
- Listo para jugar
INFORMACION TECNICA
De estos video cartridges hay dos versiones. La primera que llamaremos "sin resina" por que venia sin resina y la "con resina" ya que el cartridge estaba rellena de ella, para impedir la copia del sistema. En la primera version a modo de anticopia, borraron los numeros de los chips, sin embargo aparecio uno que si los tenia lo cual nos facilito mucho obtener la informacion que aqui expondremos.
Paso 1 y 2: circuitos esquematicos y ROM's
Version 1 - sin resina
Cartridge sin resina ROM

Formato de la imagen que contiene los juegos en la cinta de VHS version 1, sin resina

    Esquematico
Version 2 - con resina

    Cartridge con resina ROM
    
     
Lamentablemente, por el hecho de estar relleno de resina, es imposible sacarle
        fotos al circuito. Se intento "picotearla" pero el siguiente fue el resultado: lado
            componentes y lado soldaduras.

    Formato de la imagen que contiene los juegos en la cinta de VHS version 2, con resina
    

    Video de la primera vez que se cargo un juego usando todos los componentes
        originales.
Paso 3: desensamblando la ROM, lo basico....
    La
        primera parte relevante que hace la ejecucion de este cartucho es
        copiar 0x792 bytes desde 0xA07F (justo despues del texto de Turbo
        Software y las iniciales del autor) a 0xD800 y luego salta hacia alla.
En
        0xD800 se ejecutan 3 funciones (DAE6,DBDC y DA88) que tienen como
        objetivo parchar parte del codigo, por que querria parchar el codigo de
        si mismo??? simple: por ofuscacion (ofuscacion es una medida anti-copia para entorpecer la ingenieria inversa).
        
Por ejemplo miremos parte
        de la funcion 0xDB4B (la principal encargada de leer los datos del
        video desde el hardware del cartucho)
            RAM:DB4B                 PHA
             | 
    
    Como se puede apreciar la ofuscacion basicamente enmascara las
        direcciones 0xA000 (donde hace polling al bit7) y 0xDB50 (donde se
        setean los "modos" del cartucho) por 0xD301 que es el PORTB..De esta manera algun curioso incauto
        quedara confundido al tratar de mirar un listado del codigo.
En
        un principio trate de parchar a mano, pero me aburri en la mitad porque
        era una tarea tediosa, asi que busque en internet un "core" de 6502 y
        comence a escribir un pequeno emulador para que me ayudara con esto y
        los pasos que vienen.
        Aqui esta un binario del codigo que va en 0xD800
    
     ya desofuscado por si alguien quiere disfrutar un rato revisandolo con un
        desensamblador.
Paso 4: entendiendo los registros propios de este
            cart.
Los registros que anade este cart son los siguientes:
D50Xh
donde X
        corresponde a 4bits cuya funcion es la siguiente
bit0 (LSB): cuando se escribe un 1, la EPROM del cartdridge
        es deshabilitada, cuando se escribe un 0 se vuelve a habilitar.
bit1: en 1 habilita el shift register (U7),
        en 0 lo deshabilita.
bit2: en 1 habilita la 'senal de actividad del video', esta senal puede ser leida como
        el bit7 de A000, 0 la deshabilita.
bit3(MSB): al poner este bit en 1 la senal RD4 del cartridge se pone en
        baja, al ponerlo en 0 se pone en alta.
Esta informacion fue obtenida mediante el analisis del esquematico
        y luego comprobada desensamblando y emulando la ROM.
La
        logica del cartucho solo se habilita tomando las lineas de direccion e
        ignora las datos, dentro de la ROM este registro activado haciendo
        lectura, y las unicas combinaciones que utiliza son 0xD503, 0xD505, y
        0xD509
Paso 5: Formato en que se reciben los paquetes contenidos
            en el video
Partamos por la unidad mas pequena, que en este caso es un paquete de 64
        bytes:
00h: direccion que pude ser en los rangos (1 a 7Bh, A0h)
01h....3Eh: datos
3Fh:
        checksum
el
        checksum es simplemnte los 8 LSB de la sumatoria de los bytes desde 0
        hasta 3Eh y una vez calculado el checksum se procede a negar cada uno de
        los 64 bytes de un paquete.
Luego se forman bloques que consisten en
3 paquetes con direccion
        A0h
123 paquetes (desde el 1 al 7Bh)
Los datos de estos paquetes se almacenan temporalemte en un
        buffer de la siguiente manera:
paquetes con direccion A0: se almacenan en 0xDC04
paquetes con
        direccion 1 a 7Bh: se almacenan en su buffer con la siguiente formula 0xE100+x*3Eh.
Paso 6: Formato de los datos dentro de los
            bloques
------
Esta seccion esta en construccion, hasta el momento he desesamblado todo
        el
        cart, tambien lo he emulado por soft, pero falta mucho mas... por favor
        opinen y pregunten lo que estimen en 
    el foro.
Manual y listado de juegos.
Aporte de Frognum



Aporte de Toledo





