Daegon, mes CCCLXXI

Por Javier Albizu, 28 Mayo, 2023

1. Sobre la escritura:
Numericos y letras de estas últimas cinco semanas (así que los números pueden llevar un poco a engaño si los comparamos con los de anteriores entradas):

Documento principal: 13.059 palabras y 22 páginas.
Descartes: 19.738 palabras y 53 páginas.

Esto hace 1.400 palabras “finales” y 2.448 de descartes.
O lo que es lo mismo, 3.848 a las que se tendríamos que restar las 536 que llevo escritas esta semana.
Así pues, nos quedaríamos en 3.312. Con un número no tan bajo como el de las cuatro semanas anteriores, pero sí algo inferior al obtenido en fechas recientes. La tercera mejor cifra de lo que llevamos de año.

Más allá de eso, hace cosa de dos semanas, y cumpliendo con el vaticinio que lanzaba en la anterior entrada, terminé con el segundo borrador. Pero la cosa no iba a ser tan sencilla. Eso no implicaba que hubiese finalizado con el relato ya que, acto seguido, empecé a revisarlo de nuevo. Porque uno es asín.

Eso sí, en estas dos semanas ya he llegado más allá de la mitad del documento, con lo que parece que esta segunda revisión está yendo bastante más rápida que la anterior.

Dentro de este proceso, y más allá de reformular la manera en la que expresaba ciertas ideas, también estoy ajustando algunos detalles de fondo. Nada que afecte a la idea general, pero sí elementos que deberían servir para matizar ciertos aspectos de los personajes y el momento en el que se enclava la historia. Pequeñas incoherencias de tono e intención que habían quedado desperdigadas por ahí de manera un tanto ambigua o contradictoria. Coletillas y vicios que se me escapan cuando escribo personajes y que solo sirven para que todos terminen por adoptar una “voz interna” demasiado similar.

En fin, a ver si para cuando toque la siguiente entrada ya está subido este relato y he empezado con el siguiente.

2. Sobre el dibujo
En lo que respecta a malgastar grafito, tinta y bits, la cosa continúa un tanto desperdigada.

Después de los resultados no del todo satisfactorios de las últimas semanas, en casa he vuelto a centrarme en el dibujo con referencia. He estado tratando de centrarme ver si, a partir de ahí, empezaba a controlar un poco el tema de los grises que tanto se me descontro cuando tiro de cabeza.

Para eso, y aprovechando la salida de su último vídeo, me he dedicado a tratar de hacerles un fanart de uno de mis grupos favoritos de los últimos años; las Gacharic Spin1.

Por ahora solo tengo los rostros, ahora lo que tengo que encontrar una composición mínimamente interesante para ellos.

Las gacharicas

Porque ahí está también parte del problema que acarreo desde siempre. En la composición de la imagen. En la intención. En saber (más o menos) qué es lo que buscas transmitir con la imagen. Porque, aunque estoy convencido de que mucha gente no opinará de la misma manera, tal y como yo lo veo, no es suficiente con tirar líneas para hacer un dibujo, de la misma manera que no basta con generar sonidos para hacer una canción, o con encadenar una palabra detrás de otra para crear una historia.

Con esto, y de acuerdo a lo que acabo de expresar, a día de hoy no considero que ninguna de las imágenes que he ido subiendo se pueda considerar como “un dibujo”. Esto es, como algo con una intención concreta. Solo son bocetos más o menos trabajados... pero no demasiado pensados. Por supuesto, esto no deja de ser una opinión personal y otra cosa muy diferente es la interpretación que les pueda dar quien se encuentre al otro lado de la pantalla.

Hace tiempo que le doy vueltas a tratar de hacer una... llámalo “miniatura”, “previsualización” o “thumbnail” (que dicen los guiris) antes de lanzarme con el dibujo en sí mismo, pero siempre me puede el impulso de “seguir” y ver qué sale, en lugar de dedicarle más tiempo a lo que realmente quiero plasmar. Se lo he visto en multitud de ocasiones a los chicos de Cartoonist Kayfabe2, lo he escuchado en diferentes podcasts de dibujantes, y lo he leído en distintos libros sobre cómo hacer tebeos. El dibujo tiene que entenderse en su miniatura. Si no tienes eso, empiezas con pies de barro. Pero, por el momento, ese es un músculo que aún no he logrado desarrollar.

Por otro lado, en clase empezando con temas de color, y el curso que viene ya estará centrado en eso, así que igual este fanart termina tiendo algo más que blanco y x niveles de grises.

Por lo demás, lo de siempre. Ya sabes. Lo que vaya surgiendo continuará apareciendo por aquí3 a diario.

3. Sobre la programación
También hemos tenido avances y “retrocesos” en lo que respecta a la programación.

Por un lado, y ya que estaba dando vueltas por la web de ChibiAkumas a la búsqueda de documentación sobre ensamblador para el Z80, logré compilar la demo de Dustlayer con el compilador que conocí hace unos cuantos años gracias a esta misma web; VASM4.

De premio, al hacerlo, mientras leía la documentación de este ensamblador confirmé “oficialmente” lo conclusión a la que había llegado por mi cuenta y que escribía por aquí hace un mes:

-cbm-prg:
Writes a Commodore PRG header preceding the output file, which consists of two bytes in little-endian order, defining the load address of the program.

Una vez hecho eso, me surgía la posibilidad de un nuevo cambio de rumbo. Porque VASM compila tanto para un montón de ordenadores basados en Z80 como para otros tantos basados en 6502. Si me pasaba a este compilador, a priori, se podría simplificar de alguna manera lo que planeaba hacer.

Con esta idea en mente, comencé a buscar algún ejemplo de código en ensamblador divididos en varios archivos creado para este compilador. Una tarea en la que no tuve éxito. Así pues, me encontraba en el mismo escenario que con ACME y KickAssembler. Si decía dar el salto, necesitaría crear un “archivo principal” en el que yo incluyese a mano y en la secuencia correcta a todos los demás.

Por otro lado, dentro de las herramientas de los mismos desarrolladores existe un linker (vlink), con lo que esta opción debería ser posible pero, por un lado, en la documentación de ese linker no aparecen todos los formatos de salida que el compilador, no sé si el linker solo vale para el compilaror de C de la misma casa (vbcc) y, por último, me daba pereza empezar a investigar más en ese sentido.

Así pues, volvía una vez más al plan inicial:
CC65 para máquinas basadas en 6502.
SDCC (o, lo que es lo mismo, el ensamblador que utiliza CPCTelera) para máquinas basadas en Z80.

Pero, claro, la versión de SDCC que viene con CPCTlelera está parcheada para sacar binarios para Amstrad. Tocaba mirar si había otros “parches” para ese compilador que sirviesen para el resto de máquinas que buscaba. Y, mira tú por dónde, los había6. Ahora tocaba ver cómo narices funcionaba aquello.

Aunque, claro, ya que estamos, ¿por qué no subimos un poco más las apuestas?

Ahora que tengo “localizado” Dustlayer, esto es, una demo en ensamblador moderadamente documentada con pintado de sprites, movimiento, música, control por teclado y efectos de color...

¿Por qué no empezamos por portar esta demo al resto de sistemas para ir aprendiendo y seguimos construyendo a partir de ahí?
Es más, ¿por que no la portamos también a C con SDL2, C++ con SFML y Python con Pygame?

Aunque, claro, en los lenguajes de alto nivel para sistemas “modernos” hay cosas que no tenemos de base y que vienen implícitas en los ordenadores de 8 bits. Cosas como el tema de la creación de ventanas, el escalado de los gráficos de acuerdo al tamaño de ese marco y ese tipo de menudeces.

Y en ello estamos.

Por ahora ya tengo los scripts de compilación para C y C++, y el código para crear una ventana, meter ahí un gráfico, y que este escale cuando cambiamos el tamaño del marco en esos dos lenguajes y en Python.

Los proyectos de mi git de casa llamado “Aprendizaje” y “Proyecto 8 bits” se han movido de la carpeta de “Ensamblador” y ahora tienen otra entidad. He rehecho los scripts con las dependencias entre ambos. Tengo también “Hola mundos” en ensamblador para NES y SNES que compilan y ejecutan bien en sus emuladores. Una hoja de cálculo con una pestaña en la que está el nombre de las las 25 etiquetas de Dustlayer para portar al resto de sistemas. Otra pestaña con las 389 funciones de CPCTelera con las que pretendo ir haciendo lo mismo según las vaya necesitando. Toneladas y toneladas de documentación.

Ahora por lo que tengo que empezar es por ser capaz de cambiar el color de un pixel en cualquiera de los sistemas con los que pretendo trabajar.

Enlaces:

1. Gacharic Spin
- Las gacharicas en Wikipedia
- Las gacharicas en el TuTubo
- Las gacharicas en su web

2. Cartoonist Kayfabe

3. Dibujos 2023

4. VASM y Chibiakumas
- VASM
- Su documentación
- La web de Chibiakumas

5. SDCC

6. Sabores de SDCC
- Spectrum
- MSX
- Sega Master System
- GameBoy

El contenido de este campo se mantiene privado y no se mostrará públicamente.

Plain text

  • No se permiten etiquetas HTML.
  • Las direcciones de correos electrónicos y páginas web se convierten en enlaces automáticamente.
  • Saltos automáticos de líneas y de párrafos.