Posts in this series
- Volviendo : la crisis de los 40 friki versión (Parte 1)
- El sistema de ficheros del Spectrum : la crisis de los 40 friki versión (Parte 2)
- Un puñado de vídeos de thEpOpE - Sergio sobre el "formato de ficheros" de las cintas de Spectrum: la crisis de los 40 friki versión (parte 3)
Siguiendo con esta serie de artículos sobre la crisis de los 40 friki versión, vamos con lo primero que no conocía del spectrum.
Los sistemas de ficheros en cinta, porque ne mis tiempos hacías load""
(que ""
era el *.*
de ahora) y ya esta, bueno en mis tiempos también tenía el Pheenix (un clon del Phoenix) copiado en una cinta pirata que para cargarlo había que hacer load «» code .
Y por desgracia en mis tiempos mozos, no se por que pero mi Spectrum+2A no grababa las cintas con mi código basic, y era una tarea titánica porque los pasaba a papel y las versiones eran papeles nuevos…en algún sitio estarán.
Los siguientes datos técnicos están por un montón de lados y mejor explicados, no vengo a contaros el secreto de la rocacola.
Bueno pues las cintas de Spectrum pueden tener los siguientes ficheros:
- ficheros de programas basic
- los únicos autoejecutables
- ficheros de datos binarios
- imágenes, que hay un sugar syntax en basic para cargarlos con
load "" screen$
pero son binarios.
- imágenes, que hay un sugar syntax en basic para cargarlos con
- ficheros de arrays de números (los json de la época o serializados)
- ficheros de arrays de palabras (los json de la época o serializados)
Pues tengo que reconocer que hasta hace unas semanas no sabía que el único fichero autoejecutable era los ficheros de programas de basic.
Así que los juegos comerciales tienen sí o sí (salvo rayadas como el Pheenix pero no recuerdo si después tenias que ejecutarlo a mano) un pequeño programa en basic que hacia de cargador del juego propiamente dicho que venía en entero o troceado en varios ficheros binarios.
Normalmente un juego comercial simple era:
cargador pequeño basic -> fichero binario: pantalla de carga -> fichero binario: juego
Los había mas complejos que para compatibilidad con el 48kb troceaban el juego en varios ficheros binarios:
cargador pequeño basic -> fichero binario: pantalla carga -> fichero binario: juego -> fichero binario: nivel 1 -> fichero binario: nivel 2
Luego había gente que rizaba el rizo e intentaba hacer cargadores de lo mas complejos para que los críos de aquella época dijéramos «guauuu» como Dynamic con su contador de carga y sin las clásicas lineas de colores del borde del Army Moves.
Otra cosa que no viví en su época fue mini juegos durante la carga del juego principal, pero eso tuvo que ser espectacular.
En los siguiente episodios (no se en que orden o si alguno se fusionara):
- voy a retomar el maze en basic que volví a escribir hace algunos años (que venia de un libro de programación infantil) quiero volver a re-entenderlo.
- quiero explicar el randomize usr que por fin (hace unas semanas lo entendí)
- quiero intentar hacer una calculadora simple en código maquina
- quería hacer una prueba de velocidad de hacer algo en basic y hacer lo mismo en código maquina
- los siguientes pasos para el juego