Patagoras fue un software educativo publicado por Ediciones SM en 1985 que incluía una revista y una cinta con el programa específico. Son seis números sobre temas de Física, para chicos de 11 a 16 años:

N. 1: "Los gases: Ley de Boyle-Mariotte"
N. 2: "Los gases: Ley de Gay-Lussac"
N. 3: "Reflexion de la luz: Espejos planos"
N. 4: "Reflexion de la luz: Espejos esféricos"
N. 5: "Planos inclinados: Caida libre"
N. 6: "Corriente continua: Ley de Ohm"

La colección completa, los seis números sueltos y los tres volúmenes en estuches:

Carátula frontal

Carátula trasera

Cassette
(formato TZX)


         
Posteriormente, suponemos que en 1988, con la colaboración de Idealogic se publicaron 3 volúmenes, conteniendo cada uno de ellos dos números de la serie.

Esta serie fue premiada en la edición de WorldDidac de 1988 celebrada en Basilea, con dos medallas de bronce, en "Ayudas para la enseñanza y el aprendizaje" y "El aprendizaje para educación general".


Carátula frontal

Carátula trasera

Cassette
(formato TZX)



Carátula frontal

Carátula trasera

Cassette
(formato TZX)


Espejos esfericos

Carátula frontal

Carátula trasera

Cassette
(formato TZX)





Carátula frontal

Carátula trasera

Cassette
(formato TZX)


Carátula frontal

Carátula trasera

Cassette
(formato TZX)



NOTA SOBRE LA RUTINA DE GRABACIÓN Y CARGA (por Jose Luis Soler)

La rutina de grabación es idéntica (olvidando ahora el tema de los sub-bloques) a la de la ROM, cambiando solo las siguientes constantes de timings:
$3B -> $3B (1)
$42 -> $32
$3E -> $2F
$31 -> $29 (2)

(1) Esto es un fallo de diseño de la rutina de grabación que no tiene realmente consecuencia.
(2) Esto es otro fallo, y sí tiene consecuencias, no muy serias; lo comento más abajo a modo de curiosidad.

Estas modificaciones producen un bloque en el que solo cambian (respecto de lo estándar) los bits de datos, con pulsos dobles de 660 y 1307 t-estados, para un 0 y un 1 respectivamente. Lo demás, piloto y sync es todo igual.

La rutina de carga, obviando de nuevo lo dicho antes, es también igual a la de la ROM, con las siguientes constantes cambiadas:
$B0 -> $B0 (1)
$B2 -> $86
$CB -> $97
$B0 -> $85
$16 -> $14

(1) Otra vez un fallo de diseño, que esta vez no tiene consecuencias porque el primer bit siempre es un 1  en estos bloques (flag 255). Si no lo fuera, sí que las habría tenido.

Respecto del asunto de los subbloques, hay que hacer una matización a la cosa de que midan siempre lo mismo. Lo cierto es que no tendría por qué ser así siempre (entendiendo cómo funciona). El caso es que la rutina graba con una copia casi exacta de la de la ROM los bytes residuales de dividir la longitud completa entre 256. Es decir, si el bloque combinado debiera tener x bytes, se divide esto entre 256 y obtenemos cociente y resto (c y r). El primer bloque será de r+1 bytes (el +1 por el byte de flag, que no se cuenta en lo anterior). El segundo será de 256*c+1 bytes (el +1 esta vez por el checksum, que tampoco se contaba). En este caso, la rutina recibe instrucciones de cargar un bloque de 34948; esto es 136*256 + 132.

La rutina de carga espera al momento en el que el byte de la cuenta queda con un residual de cero (hace una cuenta hacia atrás), momento en el que habrá grabado los primeros (132+1) bytes, y justo ahí modifica todas las constantes de carga (los valores que he indicado arriba), a base de pokear sobre la misma rutina, y sigue funcionando como si tal cosa. La rutina de grabación hace exactamente lo mismo.

Y ya por último, la curiosidad antes señalada. La rutina de grabación parece ser resultado de un prueba y error un poco loco con las constantes, tanto que incomprensiblemente una de ellas quedó claramente mal. Me refiero a la modificación $31 -> $29 que señalé antes con un (2). Ésta produce que el primer pulso de cada byte sea más largo, y no por poco, 79 t-estados más. Por tanto, el primer bit de cada byte tiene dos pulsos distintos, de 739 y 660 en caso de ser un 0, y de 1386 y 1307 si fuera un 1. Como dije esto no hace que falle la carga, pero sí que es cierto que la hace peligrar tontamente.

Especial agradecimiento a Fede Jerez, Jesús V. Castro, Skyblasc y José Martínez Bravo por su aportación de cintas, y a Jose Luis Soler, Digiexp y Manuel Gómez por sus esfuerzos en conseguir unos TZXs perfectos.

Volver