MSX BASIC es un dialecto del lenguaje de programación BASIC . Es una versión extendida de MBASIC Versión 4.5 de Microsoft , que añade soporte para gráficos, música y varios periféricos conectados a microcomputadoras MSX . En general, MSX BASIC está diseñado para seguir a GW-BASIC , lanzado el mismo año para IBM PC y clones. [1] Durante la creación de MSX BASIC, se hizo un esfuerzo para hacer que el sistema fuera flexible y ampliable.
Distribución
MSX BASIC venía incluido en la ROM de todos los ordenadores MSX. Al iniciar el sistema, se invoca MSX BASIC, lo que hace que se muestre su indicador de comandos, a menos que otro software colocado en la ROM tome el control (que es el caso típico de los cartuchos de juegos y las interfaces de disco, en el que se muestra el indicador MSX-DOS si hay un disco presente que contiene los archivos del sistema DOS).
Cuando se invoca MSX BASIC, el código ROM para BIOS y el propio intérprete BASIC son visibles en los 32K inferiores del espacio de direcciones del Z80 . Los 32K superiores están destinados a RAM , de los cuales entre 23K y 28K están disponibles para código BASIC y datos (la cantidad exacta depende de la presencia de un controlador de disco y de la versión del núcleo MSX-DOS ).
Entorno de desarrollo
El entorno de desarrollo MSX BASIC es muy similar a otras versiones de Microsoft BASIC. Tiene un sistema de entorno de desarrollo integrado (IDE) basado en línea de comandos ; todas las líneas de programa deben estar numeradas, todas las líneas no numeradas se consideran comandos en modo directo (es decir, que se ejecutan inmediatamente). La interfaz de usuario está completamente basada en la línea de comandos.
Versiones de MSX BASIC
Cada nueva versión de la computadora MSX incluía una versión actualizada de MSX BASIC. Todas las versiones son compatibles con versiones anteriores y brindan nuevas capacidades para explorar por completo el nuevo y ampliado hardware que se encuentra en las computadoras MSX más nuevas.
Tenga en cuenta que los "clones" MSX brasileños de Sharp y Gradiente muestran otras versiones de MSX BASIC (en los Sharps incluso se llaman HOT-BASIC), pero básicamente son MSX BASIC 1.0 sin licencia.
32 KB de tamaño (los primeros 16 KB están disponibles directamente, los segundos 16 KB están en otra ranura y deben paginarse para su uso)
Se agregó soporte para nuevos modos de pantalla disponibles, incluidos modos gráficos con 212 líneas progresivas o 424 líneas entrelazadas:
Pantalla 0 actualizada (modo texto 80 x 24)
Pantalla 5 (modo gráfico 256 x 212/424 píxeles, 16 colores de 512)
Pantalla 6 (modo gráfico 512 x 212/424 píxeles, 4 colores de 512)
Pantalla 7 (modo gráfico 512 x 212/424 píxeles, 16 colores de 512)
Pantalla 8 (modo gráfico 256 x 212/424 píxeles, 256 colores, sin paleta)
Se agregó soporte para sprites multicolores (16 colores)
Se agregó soporte para funciones gráficas aceleradas por hardware (copiar, rellenar, blitting, etc.)
Se agregó soporte para usar la RAM inferior de 32K de la computadora (no directamente visible porque la BIOS y las ROM del intérprete BASIC toman el control del espacio de direccionamiento) como un disco RAM limitado (solo se podían guardar ciertos tipos de archivos). MSX BASIC 2.1 admite el uso del asignador de memoria (si está disponible en la máquina) para expandir este disco RAM a casi 90 KB.
MSX BASIC 2.1 existe en computadoras como las máquinas Philips MSX2 (excepto la VG 8230), la Yamaha YIS-805 [2] y la Sanyo MPC-2300. [3]
32 KB de tamaño (los primeros 16 KB están disponibles directamente, los segundos 16 KB están en otra ranura y deben paginarse para su uso)
Se agregó comando SET SCROLLpara un desplazamiento suave basado en hardware en BASIC
Se agregó soporte para nuevos modos de pantalla disponibles:
Pantalla 10 (modo gráfico 256 x 212/424 píxeles, 12499 YJK a la vez + 16 colores de 512 RGB en ML)
Pantalla 11 (modo gráfico 256 x 212/424 píxeles, 12499 YJK a la vez + 16 colores de 512 RGB)
Pantalla 12 (modo gráfico 256 x 212/424 píxeles, 19268 YJK a la vez)
MSX BÁSICO 4.0
Incluido con el modelo Panasonic FS-A1ST MSX turbo R
Se agregó el comando _PAUSE para hacer que los retrasos en BASIC sean independientes de la CPU y el reloj actuales
Se agregaron comandos adicionales para el dispositivo PCM_PCMPLAY ( , _PCMREC)
MSX BÁSICO 4.1
Incluido con el modelo Panasonic FS-A1GT MSX turbo R
Se agregaron extensiones MIDI
Muestra
100 ABRIR "COM5:9600,N,8,1,RS,CS,DS,CD" PARA ALEATORIO COMO # 1 110 A$ = INKEY$ 120 SI A$ <> " " ENTONCES 110 130 IMPRIMIR # 1 , "X0" 140 ENTRADA # 1 , B$ 150 IMPRIMIR B$ 160 IR A 110
Extensiones de MSX BASIC
Como MSX BASIC estaba pensado para ser ampliable desde el principio, era posible escribir módulos adicionales con bastante facilidad. El soporte para hardware específico se añadía habitualmente por medio de cartuchos de expansión, que también servían como interfaz con el hardware en cuestión. MSX Disk-BASIC es un ejemplo: incluido en el cartucho que proporciona la interfaz de hardware a las unidades de disco, añade comandos para acceder a las unidades de disquete.
Referencias
^ Tom R. Halfhill (enero de 1985). "MSX Is Coming - Part II: Inside MSX" (El MSX está llegando, parte II: dentro del MSX). Compute! (Compute! ). Consultado el 31 de octubre de 2010 .
^ Sergei Frolov (abril de 2011). «Yamaha YIS-805 (Museo de Electrónica Digital Soviética)» . Consultado el 6 de abril de 2011 .
^ Sergei Frolov (abril de 2011). «Sanyo MPC-2300 (Museo Soviético de Electrónica Digital)» . Consultado el 6 de abril de 2011 .
Enlaces externos
MSX.bas - Un sitio web portugués centrado completamente en el desarrollo en MSX-BASIC.
Manual técnico MSX2, Capítulo 2: BASIC - Documentación oficial de MSX-BASIC 2.0, generada manualmente a partir de una copia impresa del Manual técnico MSX2.