MSX BASIC

De Wikipedia, la enciclopedia libre
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]

Programa MSX BASIC en la pantalla.

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]

  • Incluido con el modelo Panasonic FS-A1GT (MSX Turbo R)
  • Añadidas extensiones MIDI

Palabras reservadas[editar]

MSX BASIC 1.0[editar]

  • ABS
  • AND
  • AS #
  • ASC
  • ATN
  • AUTO
  • BASE
  • BEEP
  • BIN$
  • BLOAD
  • BSAVE
  • CALL
  • CDBL
  • CHR$
  • CINT
  • CIRCLE
  • CLEAR
  • CLOAD
  • CLOAD?
  • CLOSE #
  • CLS
  • COLOR
  • CONT
  • COS
  • CSAVE
  • CSNG
  • CSRLIN
  • DATA
  • DEF FN
  • DEFDBL
  • DEFINT
  • DEFSNG
  • DEFSTR
  • DEFUSR
  • DELETE
  • DIM
  • DRAW
  • END
  • EOF
  • ERASE
  • ERR
  • ERL
  • ERROR
  • EQV
  • EXP
  • FIX
  • FOR TO STEP
  • FRE
  • GOSUB
  • GOTO
  • HEX$
  • IF THEN ELSE
  • INKEY$
  • IMP
  • INP
  • INPUT
  • INPUT$
  • INSTR
  • INT
  • INTERVAL ON/OFF/STOP
  • KEY
  • KEY LIST
  • KEY ON/OFF
  • KEY ON/OFF/STOP
  • FOR TO STEP NEXT
  • LEFT$
  • LEN
  • LET
  • LINE
  • LINE INPUT
  • LIST
  • LLIST
  • LOAD
  • LOCATE
  • LOG
  • LPOS
  • LPRINT
  • MAXFILES
  • MERGE
  • MID$
  • MOD
  • MOTOR
  • NEW
  • NOT
  • OCT$
  • ON ERROR GOTO
  • ON GOSUB
  • ON GOTO
  • ON INTERVAL GOSUB
  • ON KEY GOSUB
  • ON SPRITE GOSUB
  • ON STOP GOSUB
  • ON STRIG GOSUB
  • OPEN
  • OR
  • OUT
  • PAD
  • PAINT
  • PDL
  • PEEK
  • PLAY
  • PLAY()
  • POINT
  • POKE
  • POS
  • PRESET
  • PRINT
  • PSET
  • PUT SPRITE
  • READ
  • REM
  • RENUM
  • RESTORE
  • RESUME
  • RETURN
  • RIGHT$
  • RND
  • RUN
  • SAVE
  • SCREEN
  • SGN
  • SIN
  • SOUND
  • SPACE$
  • SPC
  • SPRITE ON/OFF/STOP
  • SPRITE$
  • SQR
  • STICK
  • STOP
  • STOP ON/OFF/STOP
  • STRIG
  • STRIG ON/OFF/STOP
  • STR$
  • STRING$
  • SWAP
  • TAB
  • TAN
  • TIME
  • TROFF
  • TRON
  • USR
  • VAL
  • VARPTR
  • VDP
  • VPEEK
  • VPOKE
  • WAIT
  • WIDTH
  • XOR

MSX BASIC 2.0[editar]

  • COLOR SPRITE
  • COLOR SPRITE$
  • COLOR=
  • COLOR=RESTORE
  • COLOR=NEW
  • CALL MEMINI
  • CALL MKILL
  • CALL MNAME
  • CALL MFILES
  • SET PAGE
  • SET VIDEO
  • SET ADJUST
  • SET BEEP
  • SET TITLE
  • SET PASSWORD
  • SET PROMPT
  • SET SCREEN
  • SET DATE
  • SET TIME
  • GET DATE
  • GET TIME

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]

  1. Tom R. Halfhill (1985). «MSX is coming - Part II: Inside MSX» (en inglés). Compute!. Consultado el 31 de octubre de 2010. 
  2. «The Dartmouth Time Sharing System» (en inglés). Dartmouth/GE. 26 de marzo de 1965. Consultado el 30 de octubre de 2010. 
  3. «MSX 2». museo8bits.com. Archivado desde el original el 18 de junio de 2011. Consultado el 30 de octubre de 2010. 
  4. «MSX Turbo R». Archivado desde el original el 26 de noviembre de 2010. Consultado el 30 de octubre de 2010. 
  5. Sérgio Duric Calheiros. Projeto Screen IV - Parte # 1. Revista CPU nº 8, Rio de Janeiro, Brasil.

Enlaces externos[editar]