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.

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:
- puntos de ruptura en las líneas del
.bas, con F9 y F6; - Ir a dirección desde una dirección del emulador hasta su línea de BASIC;
- los emuladores muestran tus etiquetas.
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).
- Añade
frame Ntras el nombre para obtener un solo fotograma, de modo que cada uno pueda ir en su propia rama del código de tu animación. - Añade
animation NOMBREpara obtener una animación entera como subrutina:gosub hero_walkuna vez por fotograma, ygosub hero_walk_resetpara empezarla de nuevo. Usa dos variables que eliges en la animación. - Si el programa está abierto, el cambio va al editor, donde se puede deshacer, y se guarda, salvo que el programa tuviera cambios sin guardar. Si no, se escribe en disco.
- Copiar como → batari Basic, siempre al día da los bloques marcados, listos para pegar.
- Una marca con un nombre que no existe, un fotograma de más o sin
endse deja como estaba, con un aviso en Salida.
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.