Navidad y casi Año Nuevo, part deux 20151230-1340

Otra cinta vieja que se beneficia de los filtros de CSW0 y que vuelve a funcionar sin cometer errores: Mot (1989 Opera Soft), el juego español con más versiones de la historia (ocho: Amstrad CPC, PCW, ZX Spectrum, MSX, C64, PC, Atari ST y Commodore Amiga); en comparación, Livingstone Supongo (1987 Opera Soft) también tuvo ocho pero la versión de Atari ST fue hecha (si bien recuerdo) en el Reino Unido por Alligata Software. En cualquier caso la cinta de "Mot" tiene una importante mejora respecto a la de "Livingstone Supongo", que es la de contar con un CRC (de 16 bits además) que me sirve para garantizar que el volcado es fundamentalmente correcto; en comparación, el método anterior usado por Opera Soft en sus cintas desde Cosa Nostra (1986) hasta Mutan Zone (1988) no tenía ninguna forma de comprobar errores, cosa que a partir de Solo (1989) sí fue posible.

Gracias a la evolución de CSW0 y CSW2CDT puedo confirmar que los bloques protegidos usados en las cintas de Opera Soft (con la excepción del simulador de boxeo Poli Díaz) fueron de dos tipos: el viejo, con una cabecera de 64 bytes #AA, 31 bytes #FF y 1 byte #FE (obsérvese que estos 32 bytes equivalen a un tono piloto de 510 pulsos de longitud igual al pulso base de BIT1, más un par de SYNCs equivalentes a un BIT0) seguida del volcado completo del juego (típicamente 64512 bytes, es decir 63k, con excepciones menores como el final de Sol Negro, incluido en una carga más corta); y el nuevo, con una cabecera de 64 bytes #AA, 31 bytes #FF y 1 byte #FE seguida del volcado (también de 63k, aunque no siempre, por ejemplo Soviet, que contiene las fases y el final en bloques menores) que termina en dos bytes que contienen el CRC con el que se determina si la carga ha sido un éxito.

También me he ocupado de la cinta (en inglés, conforme a la inconsistencia de Dinamic de distribuir juegos en español o en inglés dentro de España) del memorable "Astro Marine Corps", mejor conocido por sus iniciales, AMC: el juego más espectacular y divertido de Creepsoft, la efímera cuadrilla que ya había hecho para Dinamic Rescate Atlántida y en el que Pablo Ariza presentó al mundo el pintoresco pero finalmente fallido sistema de carga de cinta Poliload que tantos problemas dio entonces y ha seguido dando hasta hoy.


Navidad y casi Año Nuevo 20151229-1310

Tras tres días lejos del mundanal ruido toca volver a la carga, ¡que hay mucho que hacer! Lo primero era probar algo que se me ocurrió mientras estaba en el pueblo durante la Nochebuena y la Navidad: hacer que CSW2CDT dé dos pasadas (una para medir los pulsos y calcular el valor intermedio, otro para asignar bits a los pulsos a partir del dicho valor) a cada bloque reconocido en vez de solamente una (que calculaba un posible valor intermedio al principio y luego asignaba bits a los pulsos). Todo ha mejorado drásticamente: ahora Mad Mix Game, la versión española de Beyond the Ice Palace y las dos mitades de Phantis generan ficheros TZX/CDT perfectos al primer intento y sin necesidad de parámetros.

Otra cinta que CSW2CDT ha pasado con éxito es la edición original de Sir Fred (fichero BASIC, fichero binario, un bloque sin cabecera para la portada y otro para el juego propiamente dicho), mientras que E-Motion todavía ha necesitado "-p 100 -t 40" porque el bloque Alkatraz que contiene la portada y el juego aún es demasiado distinto a lo que los parámetros por defecto son capaces de reconocer e interpretar. De todas formas no está nada mal, y además agradezco mucho que el programa sea lo bastante listo como para calcular medias ponderadas para las constantes de los bloques y no dejarse llevar por los toscos cálculos iniciales: las cintas "suenan" como las originales.


Casi la Navidad, part deux 20151220-2230

He conseguido escribir un filtro pasabanda de segundo orden de Butterworth para CSW0, lo que me ha servido para poder limpiar un puñado de cintas ruidosas sin tener que depender del cada vez más obsoleto CSW1 de Ramsoft, por no hablar de MakeTZX, que le sacas del Spectrum y no acierta una...


También he aprovechado para añadir un campo (en realidad ya existía, pero no se mostraba porque no había tomado una decisión) a la lista de juegos desprotegidos y comprimidos (los "compactajes") llamado "Score" en el que muestro la opinión que tengo sobre cada título. Dicho gráficamente,


very bad / malísimo


bad / malo


average / regular


good / bueno


very good / buenísimo

Naturalmente, como con todas las opiniones, habrá muchos que no estarán de acuerdo con ellas, empezando por mí mismo, que ahora miro algunas de las puntuaciones y me pregunto cómo pude pensar que (por poner un ejemplo consecutivo) "Super Sprint" y "Super Stock Car" son igual de buenos.


Casi la Navidad 20151219-1530

Tres semanas horribles de mucho trabajo en la universidad, pero por fin todo empieza a tranquilizarse, ya tengo la primera nota parcial (85% en el ejercicio de Aprendizaje Automático) y un par de programas diminutos que había empezado a pergeñar hace meses ya tienen la posibilidad de empezar a crecer y desarrollarse.


Los primeros pasos de CSW0 y CSW2CDT (nombres provisionales) fueron poco halagüeños. De lejos, lo peor era el ruido en las cintas, por si no fuese bastante malo ya que el algoritmo de reconocimiento de bloques no era ni muy listo ni muy adaptable.


Posteriormente todo fue mejorando paulatinamente. Incluso cuando los ficheros CSW y CDT resultantes no podían utilizarse directamente, sus contenidos eran ya suficientemente completos para hacer posible el cálculo y la edición manual de parámetros correctos.



En particular todo ello condujo a reconsiderar (a sugerencia de Dlfrsilver) el caso de una cinta muy especial, "Split Personalities" (1986 Domark) con una protección que sin ser muy complicada era muy irritante de implementar, y que en su momento pasé a CDT de la forma más apresurada y menos fiable posible: como un gran bloque Direct Recording con pulsos de longitud 1:2:3.



La cosa llevó horas pero finalmente pude hacer uso del bytelogging de CPCE por un lado y la reconstrucción del algoritmo de grabación por el otro para generar un fichero CDT compuesto de bloques entremezclados de Pure Data (para los bytes normales) y Sequence of Pulses (para los bits deformados por el lento y costoso efecto especial multicolor que se muestra durante la carga). No está mal, ¿verdad?


Logotipo [pseudo]vectorial 20151126-2040

La organización de #CPCRetroDev 2015 me ha ofrecido la posibilidad de que mi logo aparezca en las cintas físicas que se grabarán para agradecerme la labor de comprimir los juegos, escribir código para cargarlos y generar la copia maestra. Así que ¡a dibujar segmentos, medir distancias y calcular radios!


El resultado de convertir el viejo logotipo de baja resolución y aún menor color ha sido un pelín extraño. Supongo que estas cosas tienen que pensarse mejor, en vez de apresurarlas y hacerlas en un par de horas, en una carrera contra el tiempo. Una posible paleta alternativa sale con -2% HUE:


En fin, para seguir dándole vueltas siempre hay tiempo. De momento toca volver a prestar atención a la UNED, para cuyo próximo ejercicio de Robótica II tengo cuatro días y medio, y poco más para los proyectos de otras asignaturas. Además debo crear otro logotipo (o más bien una firma) para algo que yo me sé.


Un mes para la Navidad 20151125-2250

Diez meses para graduarme, diez meses. Con todo lo que tengo que hacer. Solamente quedan dos meses para la primera serie de exámenes, y antes ya tengo que entregar una buena lista de ejercicios y proyectos.


También se me acumulan los dibujos pendientes. Ahora mismo tengo veinte bocetos que necesitan correcciones anatómicas y de detalles, así como las tintas y el color, que no se hacen solos, por desgracia.


Y siguen acumulándoseme otras cosas tales como los recados callejeros y los preparativos navideños, aunque al menos me queda el consuelo de que poca gente tengo a quien pueda y deba regalar algo.


Al menos ya he preparado la cinta maestra de los juegos de #CPCRetroDev 2015: todo comprimido con el ZX7 de Einar Saukas y provisto de portadillas con el nombre, el autor, la puntuación y los premios de cada título.


Frogalot: cielo y suelo 20151110-1234

He retrasado un montón de cosas (¡algunas de ellas importantes, como por ejemplo recoger los premios de la Universidad de Alicante!) porque me he picado con añadir a "Frogalot" lo que en su momento le faltaba más sangrantemente.


Primero hice que las torres no fuesen infinitamente altas: terminaban a una determinada altura. Me gusta que se pueda ver el cielo estrellado tras ellas.


Después hice que hubiese un suelo de verdad en vez de un anillo de plataformas indestructibles. Hubo varios ensayos pero por algún motivo me gusta especialmente este patrón de colores entrelazados con rayas horizontales.


Y finalmente, ayer por la noche por fin conseguí implementar (de una forma semejante a la del cuerpo de la torre) un verdadero tejado para las torres, unas almenas que giran junto al resto del scroll cilíndrico.


Premios CPC RetroDev 2015 20151104-1558

La incertidumbre terminó el sábado por la noche, cuando tras una entrega de premios cuya transmisión en directo fracasó estrepitosamente, por fin se hicieron públicas las listas de premios del certamen CPC RetroDev 2015 organizado en la Universidad de Alicante.

Casi todas las reacciones han sido idénticas, no en vano el mismo texto se ha copiado tal cual en casi todos los sitios de noticias del mundillo. Donde hay más variedad, para sorpresa de nadie, es en los ámbitos donde no se habla español.


Dejando de lado los opiniones sobre los títulos elegidos y dejados de elegir, debo admitir que ha sido un concurso interesante en el que ha aparecido más de una sorpresa agradable y definitivamente yo me animaría a volver a probar suerte si hubiese una nueva edición. Pero primero debo terminar los ejercicios de Robótica II, que lamentablemente aún no se acercan a lo que planean los japoneses para sus propios robots... habré de ver cómo y cuándo puedo recoger los premios de "Frogalot".


Nominaciones a los premios CPC RetroDev 2015 20151028-1305

Ya tenemos lista de títulos nominados a los premios del certamen CPC RetroDev 2015, publicada en el blog oficial de la organización. Copio y pego la lista tal como está, erratas incluidas, que no en vano llamaron "Froalot" a mi juego en el post anterior:

  1. Categoría BASIC:
  2. Categoría PRO:
  3. Mención especial al Avance Técnico:
  4. Mención especial Devilish Games a la Originalidad:

Al final, de treinta y cinco títulos presentados solamente han pasado la criba doce. Tiemblo de pensar en la causa de la originalidad de los juegos de la última categoría, sabiendo que "Frogalot" imita a "Nebulus", del que no se han hecho precisamente muchas otras imitaciones. También me produce mala impresión ver el "Space Moves" hecho mayormente con gráficos copiados sin retoque alguno de los juegos de Dinamic. Y admito que me inquieta competir contra el "ZNAX", más que nada porque el autor es Shinra, de la demoscene francesa.


En fin, para que conste en público lo que ya he dicho repetidas veces en privado, aquí tenéis la inspiración para la carátula de "Frogalot": la versión casera europea del "Firetrap" de Data East publicada por Electric Dreams. Cuando el tiempo apremia, cuando tienes menos de cuatro horas para hacer una ilustración entera a todo color, la primera víctima es la originalidad.


Frogalot, entregado: la venganza 20151023-2205

Como resultó que el plazo de entrega era de veinticuatro horas más que las que yo creía, he aprovechado para hacer varios cambios antes de volver a enviar los archivos de "Frogalot". Por un lado, ahora Lanzarote sube escaleras por sí mismo, hay un campo de estrellas, y algunos mapas han sido ligeramente retocados.

Por el otro, ¿qué mejor forma de enriquecer el manual que dándole una carátula dibujada en cuatro horas frenéticas pero a la vez divertidas?


EDIT 20151023-2355: segunda versión

¡Ahora todos a cruzar los dedos otra vez!


[ ◀ MODERNOS ] [ ▲ ] [ ▶ ANTIGUOS ]