MSX BASIC es un dialecto del lenguaje de programaciónBASIC. Se trata de una versión ampliada del Microsoft Standard BASIC versión 4.5, e incluye soporte para gráficos, música y varios periféricos conectados a los ordenadores personalesMSX. En general, el MSX BASIC ha sido diseñado para seguir el GW-BASIC, que es uno de los BASIC estándares corriendo en ordenadores de 16 bits.[1] Durante la creación del MSX BASIC, se realizó un gran esfuerzo para que el sistema fuese lo más flexible y ampliable posible.
MSX BASIC viene incluido en la ROM de todos los ordenadores MSX. Al iniciar el sistema, MSX BASIC es invocado, causando la exhibición de una línea de órdenes, a no ser que otro software colocado en la memoria ROM va asumir el control (que es el caso típico de los cartuchos y las interfaces de disco, el último haciendo que la línea de comandos del MSX-DOS sea exhibida si hay un disquete que contiene los archivos de sistema del DOS).
Cuando MSX BASIC es invocado, el código ROM BIOS y el propio intérprete de BASIC son visibles en los 32 KiB inferiores del espacio de direccionamiento del Z80. Los 32 KiB superiores son destinados a la memoria RAM, de los cuales unos 23 a 28 KiB están disponibles para el código y datos del BASIC (la cantidad exacta depende de la presencia del controlador de disco y de la versión del kernel de MSX-DOS).
Entorno de desarrollo
editar
El entorno de desarrollo del MSX BASIC es muy similar al del Dartmouth Time Sharing System asociado al Dartmouth BASIC.[2] Tiene una línea de comandos basada en un entorno de desarrollo integrado (IDE) del sistema; todas las líneas de programa deben estar numeradas, todas las líneas no numeradas se consideran como comandos en modo directo (es decir, que se ejecutan inmediatamente). La interfaz de usuario es casi por completo la línea de comandos, a excepción de los accesos directos a las teclas de función en la parte inferior, y un aviso de copyright inicial en la parte superior de la pantalla.
Las versiones de MSX BASIC
editar
A cada nueva versión del ordenador MSX fue incluida una versión actualizada del MSX BASIC. Todas las versiones son retrocompatibles y proporcionan nuevas capacidades para explorar a fondo el nuevo hardware extendido y que se encuentran en los nuevos ordenadores MSX.
MSX BASIC 1.0 / 1.1 / 1.2
editar
Viene incluido con los ordenadores MSX 1
16 KiB de tamaño
No hay soporte nativo para disquete, que requiere la extensión de cartucho Disk BASIC (4 KiB arriba)
Soporte para todos los modos de pantalla disponibles:
Añadido soporte para sprites multicolores (16 colores)
Añadido soporte para funciones de gráficos acelerados por hardware (copiar, rellenar con color, blittering, etc)
Añadido soporte para uso de los 32 KiB de la RAM baja del ordenador (no directamente visibles porque el BIOS y el intérprete BASIC apodéranse del espacio de direcciones) como un disco RAM limitado (sólo ciertos tipos de archivos pueden ser guardados).
MSX BASIC 3.0
editar
Incluido en los ordenadores MSX 2+
32 KiB de tamaño (primeros 16 KiB disponibles directamente, los segundos 16 KiB en otro slot y tienen que ser paginados de entrada/salida para uso)
Añadido comando SET SCROLL al BASIC, para desplazamiento suave basado en hardware
Añadido soporte para nuevos modos de pantalla disponibles:
Screen 10 (modo gráfico de 256 × 212/424 píxeles, 12499 colores YJK (interpolación de píxeles) a la vez + 16 colores de 512 RGB en ML)
Screen 11 (graphic mode 256 × 212/424 píxeles, 12499 YJK a la vez + 16 colores de 512 RGB)
Screen 12 (graphic mode 256 × 212/424 píxeles, 19268 YJK a la vez)
MSX BASIC 4.0
editar
Incluido con los MSX Turbo R (sólo lanzado en Japón)[4]
Añadido soporte para los modos de pantalla de 512 × 512 (16 colores de 512) y 256 × 212 (19268 colores)
Añadido comando _PAUSE al BASIC, para crear retrasos independientes de la CPU y del reloj
Añadido comandos adicionales para el dispositivo PCM (_PCMPLAY, _PCMREC)
MSX BASIC 4.1
editar
Incluido con el modelo Panasonic FS-A1GT (MSX Turbo R)
Desde que MSX BASIC fue destinado a ser expandible desde su inicio, era posible escribir módulos adicionales con bastante facilidad. Soporte para hardware específico se añadió comúnmente por medio de cartuchos de expansión, que también han servido como interfaz para el hardware en cuestión. El MSX Disk-BASIC es un ejemplo, incluido en el cartucho que proporciona la interfaz de hardware para las unidades de disco, que agrega comandos para acceder a las disqueteras.
Explorando la extensibilidad del MSX BASIC, se puede ampliarlo únicamente a través de software. Una extensión muy interesante para el MSX BASIC 1.0/1.1 fue la Screen IV, un ajuste del MSX BASIC añadiendo el modo texto/gráfico mixto Screen 4 (de ahí su nombre de Screen IV) con caracteres 64 × 24 y resolución gráfica de la Screen 2 (256 × 192 píxeles, 16 colores).[5]
Referencias
editar
↑Tom R. Halfhill (1985). «MSX is coming - Part II: Inside MSX» (en inglés). Compute!. Consultado el 31 de octubre de 2010.
↑«The Dartmouth Time Sharing System» (en inglés). Dartmouth/GE. 26 de marzo de 1965. Consultado el 30 de octubre de 2010.
↑«MSX 2». museo8bits.com. Archivado desde el original el 18 de junio de 2011. Consultado el 30 de octubre de 2010.
↑«MSX Turbo R». Archivado desde el original el 26 de noviembre de 2010. Consultado el 30 de octubre de 2010.
↑Sérgio Duric Calheiros. Projeto Screen IV - Parte # 1. Revista CPU nº 8, Rio de Janeiro, Brasil.
Enlaces externos
editar
MSX.bas - Un sitio web en portugués centrado completamente en el desarrollo del MSX-BASIC.
MSX-BASIC - guía de referencia básica en portugués (PDF)(enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
RuMSX manual - Extensiva documentación sobre MSX-BASIC, MSX-DOS1, MSX-DOS2 en archivos comprimidos formato CHM al Wayback Machine (en inglés)
MSX2 Technical Handbook, Chapter 2: BASIC - Documentación oficial de MSX-BASIC 2.0, generada manualmente a partir de una copia impresa de MSX2 Technical Handbook.