Autor Tema: The 8 Bit Theory  (Leído 981 veces)

javierglez

  • Commodore Master
  • *****
  • Mensajes: 465
  • terminator not seen
    • Ver Perfil
The 8 Bit Theory
« en: Octubre 31, 2023, 22:44:54 »
Este canal de Youtube tiene unos vídeos sobre la programación de C128 centrada en el VDC, el chip de vídeo de 80 columnas. El chaval programa en BASIC de C128 con una extensión que facilita el acceso a los registros del VDC y a la memoria de vídeo dedicada.

El tío debió tener un C128D, porque centra sus experimentos en 64k de memoria dedicada. A veces se flipa, pero precisamente por eso sus vídeos son interesantes.

El VDC tiene cierta compatibilidad con el Motorola 6845, controlador de CRT que utilizan el IBM PC y otros ordenadores. A diferencia del VDC, el Motorola no puede generar señal de video por sí solo, necesita una ULA o algo así. Por eso los ordenadores con Motorola no tienen exactamente las mismas prestaciones pero sí se dan un aire.

El CGA del IBM PC es conocido por el modo de 320x200 con colores negro, blanco, cyan y magenta, pero tiene más posibilidades. Por ejemplo, el modo no soportado por la BIOS, de 160x100 en 16 colores, que no se usó en la época pero se ha popularizado con el Paku Paku. La tentación de probar eso en VDC es grande pero ... si bien esa resolución debería necesitar 8kB, en CGA necesita 16kB, malgastando 8kB. En el VDC necesita ... 24kB, malgastando 16kB. Eso tira para atrás, entre otras cosas porque un C128 normal tiene 16kB de memoria dedicada VDC. Pero no a ese flipado.

Recomiendo empezar a mirar sus vídeos por este: C128 vs IBM XT: 16 Color CGA Graphics using the 30 year old VDC-Basic extension
https://www.youtube.com/watch?v=yvTVJPRz8GY

El IBM PC AT introdujo el adaptador EGA con más colores y modos gráficos que se popularizó en USA con las aventuras gráficas. Uno de los modos tiene 640x200 en 16 colores. Puede el VDC dar eso? Pse, con celdas de color sí. Celdas de 8 bits de ancho y 2 de alto. En realidad está usando de fondo el mismo modo de 24kB que en el video anterior. Pero a este chico el color clash no le detiene.

El segundo vídeo a mirar se titula: EGA on the C128? And it looks great
https://www.youtube.com/watch?v=ES4eBcKxmE4

Acceder a la memoria dedicada del VDC es lento, pero no todo en ese chip es malo. Tiene comandos que permiten copiar bloques dentro de dicha memoria dedicada. Aquí el autor hace sus pinitos con transiciones entre imágenes, y también scrolls verticales y horizontales. Con resultados mezclados: triunfa con el scroll vertical y, a pesar de hacer las cosas de manera correcta, fracasa con el scroll horizontal. La incompetencia de Commodore se impone al menos de momento porque el chaval promete seguir intentando. También toca el tema emuladores, pues el VICE128 es inadecuado para VDC.

Es el último vídeo que tiene de momento, dedicado al VDC: How to scroll Fullscreen Graphics using Basic on the C128. Much easier than on the C64.
https://www.youtube.com/watch?v=NLUrxx0t2HU

El otro tema que toca en sus videos es la programación en BASIC con la perspectiva de los juegos que está haciendo de estrategia, simulación, no estoy seguro. Todos sabéis que el BASIC es lento, por eso se abandonaba por el lenguaje máquina. Creo que quien se acerca hoy en día de fuera del ámbito del 6502 tira por el C.

En todo caso en este vídeo enseña varias cosas interesantes de cómo usar el compilador Blitz BASIC en C128, por ejemplo, optimizaciones. Pero especialmente cómo usarlo conjuntamente con la extensión de BASIC para accceso al VDC antes mencionada.

Blitz! Basic Compilers for the C64 and C128. Plus a bit of X16 and Mega65. C128 beat the X16 btw
https://www.youtube.com/watch?v=5thXpk_hv54

El último vídeo que me he mirado, también sobre programación BASIC, es sobre un "microcompilador" de BASIC. Se trata de un compilador que trabaja sobre un subconjunto limitado de BASIC. Por ejemplo sólo trabaja con números enteros de 16 bits y no tiene variables alfanuméricas. Pero alcanza velocidades muy altas. Al final no sé hasta qué punto es más fácil aprender ensamblador o aprender a utilizar tantas herramientas pero no le quita interés al vídeo.

C128 Basic 100x faster? - Fast like a Flash: the Basic Microcompiler - RLE decoding on the C128
https://www.youtube.com/watch?v=Lr4Gfa-eXL0

Tiene otro vídeo más sobre las extensiones de memoria REU y GeoRAM. Está en alemán pero con subtítulos en inglés. Entiendo que no es una traducción autogenerada sino que está supervisada correctamente pero de momento me espero a ver si saca el mismo vídeo doblado al inglés, que es lo que suele hacer este tío.

REU und GeoRAM in BASIC Programmen nutzen
https://www.youtube.com/watch?v=Mj6qtbxnAvg

El canal tiene otros vídeos de temática más dispersa en alemán.
En resumen, son videos de programación pero más frescos de lo habitual, nada que ver con los típicos tutoriales de ensamblador o de C. Es posible que os gusten a los que no os gusta la programación pero sí el C128 o los PC compatibles antiguos. Especialmente si recordais algo de BASIC.