In C64, Retro Game Dev 2022

BASIC – 1 – Introducción

Hola, mi nombre es Mauro Cifuentes, y vamos a realizar una serie de posteos en los que voy a ir mostrando lo que podemos hacer en el BASIC 2.0 de C64.
Para quien no la haya utilizado nunca, tiene algunas peculiaridades propias de una época en la que no habia nada estandarizado, tanto en el lenguaje como en la forma en que se introducen los programas.

En este primer post, mi intención es explicar alguna de esas peculiaridades para que el novato no se pierda al intentar tipear su primer programa.

Formato de texto

Como es muy probable que quien desee comenzar a programar en BASIC no tenga una C64 original, sino que lo haga a traves de un emulador (que por otra parte tiene innumerables ventajas para desarrollar) decidí escribir todos los ejemplos en minusculas, asi directamente pueden copiarlos con Ctrl-C y pegarlos en el emulador con Alt-Insert. Así, si tenemos un listado como el siguiente:

10 print "bienvenidos al curso ";
20 goto 10

si lo copiamos con Ctrl-C y lo pegamos en el emulador aparecerá así:

Como podemos ver, todas las minusculas en la C64 aparecen como mayusculas, y si en los textos yo escribo con mayusculas, en la C64 aparecerán simbolos graficos.
Por ejemplo, si el listado anterior lo paso a mayusculas:

10 PRINT "BIENVENIDOS AL CURSO ";
20 GOTO 10

y lo copio y pego en el emulador, nos aparecerá esto, que obviamente va a tirar un error:

por eso mismo, TODOS los listados que aparezcan estaran en minusculas, para que puedan copiarlos y pegarlos facilmente.

“Peculiaridades”

Como mencioné antes, la C64 tiene algunas particularidades para ingresar texto. Por ejemplo, por defecto SIEMPRE el modo de escritura es de sobreescribir, por lo que si ponemos el cursor sobre una linea con código ya escrito lo que tipeemos a partir de alli va a sobreescribir lo que estaba.

Otra particularidad es la apertura / cierre de comillas dobles (en la C64 no existen las comillas simples, por lo que a partir de ahora me voy a referir simplemente como comillas).
Por ejemplo: nosotros podemos mover libremente el cursor por la pantalla con las teclas de cursor, tambien podemos borrar toda la pantalla con la combinacion de teclas Shift+Home, o incluso podemos cambiar el color del cursor con las teclas CTRL+<número>, del 1 al 8 podemos seleccionar con que color queremos escribir en la pantalla.
PEEERO, si por alguna razon tipeamos una comilla veremos que si pulsamos los cursores, o Shift+Home o queremos cambiar el color del cursor nos salen caracteres “raros”, invertidos.
Ejemplo a continuación

Esto nos sirve para poner dentro de una instruccion PRINT los desplazamientos de caracteres, o colores, o borrar la pantalla. Una instruccion muy comun en otras computadoras para borrar la pantalla es CLS, pero en nuestra C64 tenemos que tipear lo siguiente:

El corazon invertido es lo que aparece cuando pulsamos Shift-Home. De la misma manera podemos “programar” posicionamientos de texto y secuencias de colores, por ejemplo:

este simple comando borra la pantalla, mueve el cursor 4 posiciones abajo y 4 a la derecha, en cada letra cambia el color del cursor, y “TEC” lo escribe en texto invertido, para finalmente setear el cursor en blanco para mejor legibilidad

Pasa exactamente lo mismo cuando insertamos texto. Previamente dijimos que por defecto lo que tipeamos sobreescribe lo que esta bajo el cursor.
Si queremos INSERTAR texto (por ejemplo, queremos modificar algo del código) necesitaremos insertar caracteres tantos como necesitemos (no tenemos un modo insert como en cualquier editor moderno) y allí podemos escribir.
Ejemplo:

Recursos

Emulador VICE:
https://vice-emu.sourceforge.io/index.html#download
BASIC 2.0:
https://www.c64-wiki.com/wiki/BASIC
https://www.c64-wiki.com/wiki/C64-Commands
https://www.c64-wiki.com/wiki/BASIC#Overview_of_BASIC_Version_2.0_.28second_release.29_Commands