BASIC 8 (o BASIC 8.0 ) – " El sistema gráfico mejorado para la C128 " – fue un sistema gráfico de diseño estadounidense desarrollado por Walrusoft de Gainesville, Florida [ 1 ] y publicado en 1986 por Patech Software de Somerset, Nueva Jersey . El sistema era una extensión de BASIC 7.0 de Commodore para la computadora Commodore 128. BASIC 8.0 proporcionaba comandos que no tenía BASIC 7.0 para generar gráficos (en color) en el modo de alta resolución de 80 columnas (640 × 200 píxeles ) de la C128 para monitores RGB .
Fondo
El problema
A diferencia de sus competidores, como los ordenadores Apple II y Atari de 8 bits , el lenguaje de programación BASIC 2.0 de Commodore , integrado en el Commodore 64 (C-64), carece de comandos para generar sonido y gráficos de mapa de bits de alta resolución , así como para responder a joysticks y mandos de juego . En su lugar, se requieren secuencias BASIC PEEK y POKE , incómodas y lentas , o rutinas de lenguaje ensamblador personalizadas para realizar estas tareas. La falta de comandos BASIC adecuados propició el desarrollo de numerosas extensiones de lenguaje de terceros, como BASIC de Simons , lo que simplificó enormemente la programación de juegos en BASIC.
En su lanzamiento en 1985, el Commodore 128 (C-128) contaba con BASIC 7.0, una versión considerablemente más potente que BASIC 2.0, que incluía comandos para la generación de sonido y gráficos, así como detección de joystick y palancas. Además de su BASIC más potente, el C-128 estaba equipado con dos pantallas de vídeo: un controlador de vídeo 8563 (VDC) para generar una pantalla de texto de 80 columnas y un controlador de interfaz de vídeo VIC-II mejorado para generar una pantalla de texto de 40 columnas, similar a la del C-64.
Cuando se utiliza en su modo de visualización de mapa de bits de alta resolución, el VDC es capaz de alcanzar una resolución de 640 × 200 píxeles , el doble que la resolución de 320 × 200 píxeles del VIC-II. Sin embargo, los comandos de BASIC 7.0 que manipulan gráficos de mapa de bits solo son efectivos en la pantalla del VIC-II. Si un programador desea generar gráficos de mapa de bits en la pantalla del VDC, debe recurrir al lenguaje ensamblador (existen dificultades considerables para acceder a los registros del VDC mediante las funciones PEEK y POKE) y lidiar con el complejo sistema de control del VDC.
Una solución
BASIC 8.0, disponible mediante disquete o ROM , proporcionaba numerosos comandos gráficos que competían con los de sus competidores en el mercado de microordenadores de 8 bits de gama alta. BASIC 8.0 era totalmente compatible con los distintos chips y cartuchos de expansión de RAM y VRAM de fabricantes , así como con ratones y joysticks . También ofrecía 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 interfaz gráfica de usuario (GUI ) y un programa de pintura de alta resolución , Basic Paint, ambos desarrollados con BASIC 8.0.
Historia
La revista RUN publicó en febrero de 1986 " Gráficos de ultra alta resolución ", un artículo que describía el modo de mapa de bits del VDC e incluía un programa (escrito en lenguaje ensamblador 8502 ) que ampliaba las capacidades de BASIC 7.0 para admitir gráficos de alta resolución de 640 × 200 utilizando el 8563. Los autores Lou Wallace y David Darus desarrollaron posteriormente la utilidad Ultra Hi-Res en un paquete comercial, que se convertiría en BASIC 8.0 .
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 la Commodore 64 , publicados originalmente en Dr. Dobb's Journal , se convirtieran al modo de alta resolución de la C128).
Código fuente y protección contra copias
Se proporcionó el código fuente de parte del paquete BASIC 8, y el disco de BASIC 8.0 carecía de protección anticopia , pero esto fue antes de la Iniciativa de Código Abierto ; se hizo por cortesía. En lugar de amenazar con acciones legales, Walrusoft simplemente pidió a los usuarios que no copiaran el software de la documentación. Funcionó; BASIC 8.0 se convirtió en una de las expansiones más vendidas para el C128.
Ejemplos de comandos
En BASIC 8.0, todos los comandos añadidos iban precedidos del símbolo @ , que no se utilizaba habitualmente en Commodore BASIC, para distinguir entre las palabras clave originales y las nuevas. El uso de este carácter permitía al desarrollador extender BASIC 7.0 sin tener que volver a tokenizar los comandos, como se hacía en la C64. Esto se conseguía capturando el error de sintaxis generado por el comando.
@CHAR–CHARMuestra una cadena de texto en un campo de mapa de bits (similar al comando de baja resolución de BASIC 7.0 ).@MODE– Cambia entre hasta 32 pantallas de alta resolución.@PAINT– Rellena 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 memoria RAM de vídeo utilizada (16K o 64K).@WINDOWOPEN– Definir parte de la pantalla como una 'ventana' a efectos de dibujo.
Notas y citas de referencia
Referencias
- Wallace, Louis R. (1987). Manual de Basic 8. Somerset, NJ: Walrusoft/Patech Software, Inc. pág. 188.
Notas
- El VDC se programaba escribiendo comandos y leyendo mensajes de estado desde un únicoregistro de control , y transfiriendo datos entre la RAM del sistema y la RAM de vídeo dedicada del chip (16 o 64 KB, según la versión del C128) a través de un único registro de datos, siguiendo un protocolo relativamente complejo;un procedimiento laborioso y lento en comparación con el uso directo de los varios registros de control/estado discretos ymapeados en memoriade la configuración de memoria compartida del sistema/vídeo del VIC-II. Muchos programadores aprovecharon unaprimitivaoculta en la parte delKERNALque controlaba la pantalla de vídeo de 80 columnas, en lugar de escribir su propia primitiva.
Citas
- ↑ Holroyd, Eric (noviembre de 1989). «The Australian Commodore and Amiga Review» (PDF) . Vol. 6, n.º 11. Saturday Magazine Pty Ltd. pág. 13. Archivado (PDF) del original el 11 de marzo de 2019.
{{cite magazine}}: La revista Cite requiere|magazine=( ayuda ) - ↑ "Walrusoft Basic 8" . Retro Commodore . 28 de marzo de 2010. Archivado del original el 20 de septiembre de 2018. Consultado el 11 de marzo de 2019 .
Enlaces externos
- ( Archivo de texto de 270 KB ) – Del proyecto de documentación Project 64
- Extensiones BÁSICAS
- Software Commodore 128