Propuesta de estándar para carga a alta velocidad de datos codificados en una señal de audio digital.
(para computadoras diseñadas para cargar datos de señales de audio grabadas en cinta magnética).
Criterios para definir el estandar.
Llegar al compromiso máximo entre velocidad y fiabilidad.
Máxima campatibilidad posible para diferentes modelos de computadora.
Posibilidad de guardar la señal de audio en formato cd o mp3.
Carga de bloques de bytes de cualquier tamaño y control de error de carga mediante checksum
Definición de la señal.

Señal de audio con un frecuencia de muestreo 44100 Hz forma de onda cúbica. (una forma de onda cuadrada también valdría para CD pero no es adecuadad para mp3). Velocidad de transmisión: 12600 bps
Tono guia
300 ciclos de 16 muestras (es decir , aproximadamente tono de 2756 Hz durante 0,1 segundo)
Pulsos de sincronismo
Formado por un pulso negativo de 4 muestras y un pulso positivo de 2 muestras. (fundamental para detectar la polaridad)
Ciclo postsincromismo
Un ciclo de 6 muestras
Checksum + n bytes de datos
4*(1+n) ciclos. Cada ciclo codifica una pareja de bits (símbolo) según esta tabla
'00' ciclo de 4 muestras
'01' ciclo de 6 muestras
'10' ciclo de 8 muestras
'11' ciclo de 10 muestras
Cuatro símbolos codifican un byte siendo el símbolo que se trasmite en primer lugar el de mayor peso. Checksum es XOR de los n bytes de datos
Ciclos de fin de trasmision
Cuatro ciclos con las siguientes duraciones
1er ciclo 11 muestras
2º ciclo 12 muestras
3º ciclo 13 muestras
4º ciclo 16 muestras
Tono final
Si no se trasmiten más bloques se acaba con un tono de amplitud decreciante hasta cero de 1000 ciclos de 24 muestras .(aprox. 1838 Hz durante 0,5 segundos). En caso de que haya más bloques tras los ciclos de fin de trasmision sigue directamente el tono guia del bloque siguiente (sin pausa ni silencios).
Cuando se habla de ciclo se entiende que está formado por un pulso negativo y un pulso positivo del mismo tamaño. Por ejemplo un ciclo del tono guia (16 muestras) está formado por un pulso negativo de 8 muestras y unpulso positivo de 8 muestras. En el caso de ciclos de tamaño impar la señal pasa por cero en la muestra que es mitad del ciclo.
He aquí un propuesta de rutina de carga (no es la que utiliza k7zx. Está pensada para funcionar en ROM y permite hacer un pseudoBreak, quizá necesite algún ajuste fino) rutina.asm