Archivo de la etiqueta: código maquina

El sistema de ficheros del Spectrum : la crisis de los 40 friki versión (Parte 2)

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.
  • 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

Volviendo : la crisis de los 40 friki versión (Parte 1)

Creative 40th Birthday Cake Ideas - Crafty Morning

La crisis de los 40 a los hombres (del 1/2º mundo) a los que le viene, les pasa muchas cosas como:

  • suelen irse a Turquía a ponerse el pelo cual muñeca chochona (que pena que Santiago Segura no sea un ejemplo para nadie, porque ser metalero calvo mola…en mi caso pelos locos con frontal en plan Punset).
  • suelen divorciarse y arrejuntarse con una moza joven.
  • suelen comprarse una motarro grande…aunque nunca hayan conducido en moto, y o suelen comprarse un coche caro.
  • los mas pijos se hacen un Lifting escrotal como el puto Bono (no el político, si no el cantante vendido que iba de alternativo pero era un Michael Jackson de la vida), vamos que los llevan menos colganderos….recuerdo la hermana de un amigo muy maja que consiguió la plaza de profe muy joven en un instituto y le llego el típico huevos colgaderos a comerle la oreja….y lo peor que consiguió el premio, me dio mucha pena porque le tenía mucho aprecio…pero bueno esa gente come orejas podría ser lideres de una secta.
  • algunos se vuelven unos hippis de la vida y empiezan a ir a la India y a meditar, a vestir eco, cuando en su puta vida lo mas místico que han hecho ha sido la comunión vestidos de marineritos. Me huelo que sera por pillar cacho con mozas jovenes neo-hippys.
  • se vuelven unos culturetas de la vida, que escupirían a la cara a Woody Allen por no llegar a su nivel de cultureta. Los mas pudientes se gastan los dineros en ir a algún museo de arte moderno de alguna capital Europea a ver algún cuadro de algún manchurron, solo para tener conversación de cultureta. Otros les da por escribir libros de poemas. Y por supuesto las pelis de Detectives-pastores de cabras afganos subtituladas en sueco de la filmoteca.

Estas situaciones pueden darse algunas o todas.

Y después los frikis tenemos otro tipo de crisis ¿menos autodestructiva? y comienza con ese pensamiento «Jo, pues me gustaría hacer un juego para ese ordenador que tenía de crío».

Retro Ordenadores Orty: ZX Spectrum +2A (revisión Z70830 ISSUE 2) (1987) (teclado español)

Pues allá vamos.

No es la primera vez que entro al trapo, ya con 38 me vino (o re-vino porque creo que no fue la primera vez) la crisis friki de los 40: https://gitlab.com/tres-14159/R_Tape_loading_error_0_1

Gracias a la gente del chat de telegram:  Spectrumero & Dario

Me he vuelto a enfocar, también mil y mil y mil unas gracias a Santiago Romero que ha hecho muy buenos tutoriales de programación en ensamblador del z80 y muchos otros de GNU/Linux como el de tutorial de tmux o el tutorial de vim .

Y varios pdf de libros antiguos y el manual del Spectrum +2A metidos en el móvil y mucho mejor, interesante y productivo para cagar en el WC que andar haciendo scroll al twitter.

Ya lo he dicho otras veces en este blog, en charletas en vivo, streamings y a desconocidos por la calle…mi acicate en la vida para ser un Stallmanista taliban del software libre fue en la infancia intentar hacer juegos de Spectrum con el Basic en un barrio de clase obrera (con una buena biblioteca pública pero poco mas), recuerdo la frustración de intentar hacer un triste matamarcianitos e ir eso a pedo por segundo y yo preguntadome ¿el porque?, el porque era que estaban hechos en código maquina algo que años después descubrí. Y esa rabia del código cerrado y el negar el acceso al conocimiento cuando descubrí en la uni el mundo del software libre fue como una revelación.

https://media.tenor.com/Oc4nf8N08jIAAAAM/mind-blow-galaxy.gif

¿Cómo van ha ser mis pasos en la espiral de autodestrucción de la crisis de los 40 friki?

  • Quiero intentar hacer un par de juegos «decentes» y completos para Spectrum.
    • con Basic mas o menos me apaño pero de ahí puedes sacar juegos arcade muy simples, y quizá muy buenos juegos de estrategia por turnos o aventuras de texto/conversacionales .
    • con Código Maquina ahí esta la chicha.
    • No quiero llegar (o eso espero) al punto friki de sacarlo en físico con su cajita de casete y tal….tentanciones tengo pero no.
  • Quiero al igual que los que restauran edificios romanos, de la edad media, crímenes rellenos de sobres de CalatrabaTeLaClava ser riguroso a nivel histórico. Y pienso ¿Cómo lo haría el Miguelin pequeñin de los 80/90 que programaba en Basic en su Spectrum?:
    • encontraría algún libro de código maquina que entendiera (hecho Código Maquina para Principiantes).
    • los primeros juegos los haría convirtiendo alguno lentorro de Basic a código maquina.
    • no usaría ningún ensamblador de aquella época, porque:
      • no creo que conociera la palabra ensamblador (recuerdo cuando descubrí la palabra emulador uff)
      • puede que mis padres hubieran pagado por el ensamblador de investronica (u otro), porque si se mojaban en todo lo que fuera que aprendiera eso de la informática, ains me tenían que haber enseñado a nacer rico y sin saber hacer la O con un canuto pero montar una startup IT para explotar a profesionales que sacaran el trabajo.
    • entonces al igual que en aquella época…mi spectrum no se por que pero no grababa cintas y todo el código que picaba en basic tenia que pasarlo a papel (en algún sitio estará), pues tendría enorme listados de código ensamblador que tendría que haber pasado a mano a código maquina.

Hablando seriamente de las crisis de la edad, una de las crisis de la edad que tenemos los seres humanos (del 1/2º mundo) es la de los 30, que es cuando te das cuenta de que tus padres son mayores e incluso ya están llegando a la vejez y sabes que mejor tarde pero tarde o temprano no estarán contigo, esa es la jodida.

Estad atentos en vuestras televisiones a los siguientes episodios de esta aventura del cuarentón friki quiere hacer un juego en Spectrum.