Proyecto O.T.L.A.

Otla es una herramienta que sirve para cargar programas en computadoras ZX Spectrum, CPC Amstrad y MSX por la entrada de cassette tal y como se hacía en la década de los 80 pero a una velocidad considerabelmente mayor aprovechando la tecnología moderna de los sitemas de audio digital. Vea aquí una demostración:

ZX

CPC

MSX



Descargar: ultima versión de otla . .



otlaPlayer.exe .

OtlaPlayer.exe covierte un fichero .sbb , que contiene la información del programa original, a un fichero wav que representa una señal de audio que la vieja computadora será capaz de interpretar.
Típicamente la señal de audio tiene la siguiente estructura.
Una primera parte es un programa que se carga según la norma de la rutina de carga standard de cada maquina. El programa no es otra cosa que un cargador con rutina de carga especial. Además de la propia rutina de carga se pueden modificar algunos parametros (CLEAR , SP, POKE-1 ,..)
Una vez la rutina de carga está en memoria comienza la carga de uno o varios bloques de datos. Es una carga a alta velocidad. No hay silencios.

Es un programa para converitir ficheros propios (.tap, .tzx, .bin ,... ) de cada sistema a un formato .sbb (stream of binary blocks)

Convierte los ficheros .sbb a una señal de audio (especificación.) que cargará el programa en la maquina real.



Cable de conexión

Cada maquina utiliza un cable diferente para conectar el cassette. Actualmente puede ser complicado encontrar el cable original pero construirse uno es sencillo

ZX

CPC

MSX

Un cable simple con dos jack macho a cada extremo

Conector canon

concertas pines 2 GND ,4 input

Conector canon

concertas pines 2 GND ,5 input

Truco: Se puede aprovechar un cable de teclado de PC antiguo para hacer cable que sirva para CPC y MSX a la vez



Comando de carga

Una vez conectada la computadora al dispositivo reproductor de audio y antes de empezar a reproducir la señal audio hay que teclear el correspondiente comando de carga.

ZX

CPC

MSX







Truco: Se puede aprovechar un cable de teclado de PC antiguo para hacer cable que sirva para CPC y MSX a la vez





Probar en emuladores

Para probar que la conversion de los ficheros para la carga rápida es correcta (las protecciones anticopia pueden complicar la conversión) es muy recomendable usar un emulador sencillo, gratuito y que permita abrir y cargar ficheros wav. Y a ser posible que incluya un debuger integrado.

ZX

CPC

MSX

Spin

WinApe

openMsx

Nota: desactivar load tapes automatically,Start/stop tapes automatically Acceleration =None





Ficheros de ejemplo para hacer pruebas

El manic miner

ZX

CPC

MSX

Manic Miner (.TAP)

Manic Miner (.DSK)

Manic Miner (.DSK)

.TAP .TZX .SNA .Z80 .SBB .dsk

.BIN .SNA .SBB .cdt .dsk

.BIN .SBB .cas .rom .dsk





Código para el muestreo de la entrada de cassette.

La rutina de carga funciona utilizando la instrucción no documentada del Z80 IN F,(C). El puerto de entrada del cassette y el bit que representa la señal de audio de entrada difiere en cada sistema.

ZX

CPC

MSX











Rutinas de carga velozloader

Asi quedan las rutinas de carga

ZX

CPC

MSX

Ubicacion $ff58 velozloader_zx48k

Ubicacion $ff10 (memoria de video)velozloader_cpc

Ubicacion $f440 (buffer teclado) velozloader_msx



Prueba y ajuste de la rutina de carga. Pantallas de test

Para ajustar las Rutina de carga es muy útil visualizar que es lo que está llegando por la entrada de cassete. O por mejor decir nosotros sabemos que es lo que está entrando con una serie de partrones de prueba y hay que ver que es lo que realmete la rutina de carga interpreta. Las pantalla de prueba están en ficheros HST (Hexadeciimal Screen Text) que se pueden editar facilmento con el notepad.

Por ejemplo el fichero “screen_a.hst” representa tonos de 4 frecuencias que escritos directamente sobre la memoria de video del Spectrum se ven así:

ZX

CPC

MSX