MSX BASIC
MSX BASIC | ||
---|---|---|
Desarrollador(es) | ||
Microsoft http://www.microsoft.com | ||
Información general | ||
Paradigma | Imperativo | |
Apareció en | 1983 | |
Diseñado por | Microsoft Corporation | |
Última versión estable | 4.1(?) | |
Influido por | GW-BASIC | |
Sistema operativo | MSX-DOS | |
MSX BASIC es un dialecto del lenguaje de programación BASIC. 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 personales MSX. 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.
Distribución
[editar]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:
- Screen 0 (modo texto de 40 × 24 caracteres)
- Screen 1 (modo texto mixto de 32 × 24 caracteres, sprites y caracteres personalizados coloridos)
- Screen 2 (modo de alta resolución gráfica de 256 × 192 píxeles, 16 colores)
- Screen 3 (modo de baja resolución gráfica 64 × 48 - bloques de 4×4 píxeles sobre la resolución de la «screen 2»)
- Soporte completo para los sprites de hardware y la detección automática de colisiones por interrupción
- Soporte completo para el generador de sonido programable (PSG) General Instrument AY-3-8910
MSX BASIC 2.0
[editar]- Incluido en los ordenadores MSX 2[3]
- 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 soporte para nuevos modos de pantalla disponibles (Nota: las 424 líneas sólo se pueden visualizar en modo entrelazado):
- Screen 0 Actualizada (modo texto 80 × 24)
- Screen 4 (modo patrones gráficos 256 × 192 píxeles, 16 colores de 512)
- Screen 5 (modo gráfico 256 × 212/424 píxeles, 16 colores de 512)
- Screen 6 (modo gráfico 512 × 212/424 píxeles, 4 colores de 512)
- Screen 7 (modo gráfico 512 × 212/424 píxeles, 16 colores de 512)
- Screen 8 (modo gráfico 256 × 212/424 píxeles, 256 colores, sin paleta)
- 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]Palabras reservadas
[editar]MSX BASIC 1.0
[editar]MSX BASIC 2.0
[editar]MSX BASIC 3.0
[editar]- SET SCROLL
MSX BASIC 4.0
[editar]- CALL PAUSE
- CALL PCMPLAY
- CALL PCMREC
Extensiones del MSX BASIC
[editar]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.