BASIC 8 (o BASIC 8.0 ) – " El sistema de gráficos mejorado para el C128 " – fue un sistema de gráficos diseñado en Estados Unidos, desarrollado por Walrusoft de Gainesville, Florida [1] y publicado en 1986 por Patech Software de Somerset, Nueva Jersey . El sistema era una extensión del BASIC 7.0 de Commodore para la computadora Commodore 128 . BASIC 8.0 proporcionó comandos que faltaban en BASIC 7.0 para generar gráficos (en color) en el modo de 80 columnas de alta resolución (640 × 200 píxeles ) del C128 para monitores RGB .
El paquete BASIC 8 fue desarrollado por Louis Wallace y David Darus de Walrusoft, con contribuciones de Ken French ( controladores de impresora ) e indirectamente de Richard Rylander (quien permitió que sus comandos de sólidos 3D para el Commodore 64 , publicados originalmente en el Dr. Dobb's Journal , fueran convertido al modo de alta resolución del C128).
A diferencia de sus competidores, como las computadoras Apple II y Atari de 8 bits , las iteraciones anteriores de BASIC en las computadoras de Commodore carecen de comandos para manejar sonido, gráficos y dispositivos de entrada. En cambio, requieren secuencias incómodas de PEEK y POKE , o rutinas de lenguaje de máquina , para poder leer desde joysticks y paletas y generar gráficos, sonidos y música de alta resolución.
La falta de comandos de sonido y gráficos en BASIC 2.0, utilizado para el Commodore 64 , llevó al desarrollo de muchas extensiones de lenguaje de terceros, como el BASIC de Simons , que eran más accesibles para usuarios no expertos.
El Commodore 128 (C128) se lanzó con BASIC 7.0 que contenía varios comandos de sonido y gráficos. Sin embargo, estos sólo funcionaban en el modo de vídeo de "40 columnas", un modo de TV o monitor compuesto con una resolución igual a la del C64. La programación de gráficos para el nuevo "modo de 80 columnas" de alta resolución del C128, destinado principalmente a monitores RGBI , fue más desafiante que con el C64, debido a que era más difícil trabajar con el chip gráfico de 8563 VCC del C128 que el VIC. -II . [1]
BASIC 8.0, disponible mediante disquete o ROM , proporcionó muchos comandos gráficos que eran competitivos con los competidores del C128 en el mercado de microcomputadoras de 8 bits de alta gama. BASIC 8.0 era totalmente compatible con los distintos chips y cartuchos de expansión de RAM y RAM de vídeo de primera marca , así como con ratones y joysticks . También proporcionó comandos básicos de gráficos 3D . [2] Junto con un manual de 188 páginas, el paquete de software incluía un ejemplo de una GUI y un programa de pintura de alta resolución , Basic Paint, ambos desarrollados con BASIC 8.0.
Se proporcionó el código fuente de algunos paquetes de BASIC 8 y el disco de BASIC 8.0 carecía de cualquier tipo de protección contra copia , pero esto fue antes de la Iniciativa de Código Abierto ; Fue hecho como una cortesía. En lugar de amenazar con acciones legales, Walrusoft simplemente pidió a los usuarios que no copiaran el software en la documentación. Funcionó; BASIC 8.0 se convirtió en una de las expansiones más vendidas para el C128. [ cita necesaria ]
En BASIC 8.0, todos los comandos agregados estaban precedidos por la marca @ , que normalmente no se usaba en Commodore BASIC, para distinguir entre las palabras clave originales y nuevas. El uso de este carácter permitiría al desarrollador extender BASIC 7.0 sin tener que volver a tokenizar los comandos como se hizo en el C64. Se logró atrapando el error de sintaxis generado por el comando.
@CHAR
– Muestra una cadena de texto en un campo de mapa de bits (similar al CHAR
comando de baja resolución del BASIC 7.0)@MODE
– Cambiar entre una de hasta 32 pantallas de alta resolución@PAINT
– Rellenar un área cerrada con un color o un patrón.@PIXEL
– Devuelve el valor de color de un píxel.@STASH
– Copia parte o la totalidad de una pantalla para su uso posterior@WALRUS
– Muestra el logotipo de Walrusoft y el tipo/tamaño de la RAM de video utilizada (16K o 64K)@WINDOWOPEN
– Definir parte de la pantalla como una 'ventana' para fines de dibujo.{{cite magazine}}
: Cite magazine requiere |magazine=
( ayuda )