Quiero hablar de una sensación que he vuelto a tener tras ver Bits Brew. La sensación de que, al querer crear demos modernas en el CPC que muestren alguna variante de efectos línea por línea, hay que lidiar con las particularidades de los distintos CRTC mediante detecciones y código específico para cada uno. Sé que existe una excelente documentación, siendo probablemente la más exhaustiva el compendio de Longshot. Pero ponerme con esto me da muchísima pereza y me pregunto cómo lo superan los demás. Cuando hago una demo, quiero centrarme en el efecto o, en general, en la idea que quiero mostrar (o tocar) y no andar buscando rodeos porque el hardware de vídeo del CPC tenga una serie de limitaciones caprichosas. ¿Alguien se siente identificado con esto? ¿Cómo lo habéis resuelto? El caso es que tengo algunas ideas y fragmentos guardados desde hace años (sobre todo musicales) que necesitan un acompañamiento visual, pero me da una pereza enorme pasar por el aro del CRTC, me parece aburridísimo.
Invertiría algo de tiempo en elaborar un puñado de plantillas configurables y bien comentadas que contengan todo el aburrido código de configuración. Especialmente para efectos de demostración, que a menudo se basan en la misma fórmula de pantalla dividida. De esa forma, podría experimentar con diferentes efectos más adelante sin tener que lidiar una y otra vez con el mismo código repetitivo.
Por otra parte, si solo quieres ver qué aspecto tiene una idea (y tal vez retocarla) antes de implementarla en ensamblador optimizado, JavaScript y un Canvas 2D hacen maravillas ![]()
Apunta solo a las máquinas Plus: todas tienen el mismo CRTC, problema resuelto. ![]()
Menos en broma, hoy en día no le veo el problema a declarar simplemente que una demo necesita un CRTC específico. Si no te divierte el reto de gestionar un efecto con hardware diferente, ¿para qué molestarse? La gran mayoría de la gente probablemente verá los resultados en un emulador.
Para mí, el objetivo de una prod para CPC es «el CPC físico» independientemente de su CRTC. Es una lástima que tengan diferentes CRTC, pero así son las cosas.
Considero que el subconjunto de demos y prods orientado a trucos de CRTC está demasiado saturado. Demasiadas prods. Menos espacio para la originalidad.
Me centro en otras áreas que producen efectos interesantes siendo al mismo tiempo compatibles con todos los CRTC.
Así que nada de líos, nada de código estrafalario para detectar el CRTC ni dolores de cabeza con la compatibilidad, solo retos y diversión. ![]()
Por ejemplo, Sunny Day:
Yo diría que apuntes a un CRTC, lo habitual es CRTC 1… y más adelante añadas una comprobación específica e instrucciones para CRTC 0/2…
Esta es una demo realmente fascinante con varias capas de efectos gráficos y salida de samples por encima. Estoy seguro de que reunir todo esto y hacer que el timing encajara fue una tarea difícil. Pero, por lo que veo, no se utiliza nada que sea específico de un CRTC. Así que, aunque no para todos, para muchos efectos debería ser posible crear una sola versión del software que funcione en todos los CRTC.
Otro punto de vista: el arte no es producción en masa (dejando de lado el pop art). No existe el requisito de hacer que algo se adapte a todas las configuraciones. Aprovecha las limitaciones y características de las diferentes máquinas para distintos efectos. El arte trata de explorar y aprovechar las diferencias. Un ejemplo con los CRTC: el CRTC 0 requiere C0=1 (los frames tienen como mínimo 2 caracteres de ancho), pero es permisivo respecto a la posición y duración de HSYNC. El CRTC 2 también permite C0=0 (frames con la mitad de tamaño), pero tiene problemas con el HSYNC. Ambos tienen sus pros y sus contras. (Tal vez esta forma de ver el CRTC 2 sea un poco demasiado benevolente).
Gracias por las respuestas @Grimmy @AndyCadley @cpcitor @WacKEDmaN @lightforce6128 Sin duda hay material para reflexionar.