Manual · 6

Proyectos de batari Basic

batari Basic convierte un programa en BASIC en un juego de 2600. VCSIDE lo compila, pone sus errores en las líneas de tu programa y guarda dentro de él los gráficos que dibujas.

El compilador

VCSIDE usa batari Basic 1.9, la versión oficial en WebAssembly, que se ejecuta con wasmtime igual en todos los sistemas. Indica su carpeta en Ajustes → Herramientas, o déjalo en <ajustes de VCSIDE>/tools/bb/. F7 ejecuta su 2600basic.sh (o 2600bas.bat en Windows) junto al .bas.

Un proyecto nuevo de batari Basic empieza con un cuadrado que mueves con el joystick, dentro de un playfield con paredes.

La plantilla de batari Basic abierta en VCSIDE tras compilar, con el espacio que queda en su banco
La plantilla de batari Basic tras compilar: palabras clave, registros y etiquetas coloreados, y los bytes que quedan en el banco.

Errores en tus líneas

Los errores del propio batari Basic ya nombran una línea del .bas. Los errores que DASM encuentra en el ensamblador que escribe batari Basic se devuelven a la línea del .bas de la que vienen, mediante las marcas ;;line N;; de ese ensamblador. Un salto a una etiqueta que no existe, que DASM da como mnemónico desconocido, se explica como lo que es.

Depuración

La ROM, el listado y los símbolos se dejan con los nombres que buscan los emuladores, así que todo funciona como en ensamblador:

El informe de espacio toma de la salida del compilador los bytes que quedan en cada banco. El formato del proyecto es AUTO, porque el propio programa fija su tamaño y su kernel (set romsize, set kernel).

En el editor

Las palabras clave, los registros y las etiquetas tienen sus propios colores. La ayuda al pasar el ratón y el autocompletado conocen todas las palabras del compilador, con una explicación breve de cada una, y las palabras con un número se expanden a todas las variantes (joy0up a joy3up). F12 va a una etiqueta. Las etiquetas son todo lo que empieza en la primera columna.

Gráficos en un programa de batari Basic

batari Basic no puede incluir BASIC de otro archivo, así que los bloques de gráficos tienen que estar en el .bas. Marca dónde van:

rem vcsgfx art.vcsgfx hero
  player0:
  %00111100
  ...
end
rem vcsgfx end

Cada vez que se guarda el .vcsgfx, las líneas entre las dos marcas se reescriben en todos los .bas del proyecto, con los bloques para el kernel del programa (orden de filas, playerNcolor:, playfields de 32 o 16 columnas, DFnFRACINC para DPC+ y PXE).

El editor conoce el kernel por el set kernel, el set kernel_options y el const pfres del programa, así que solo puedes dibujar lo que ese kernel puede mostrar. Mira los perfiles de kernel.