¿Como hacerlo funcionar?

Para hacer funcionar el emulador simplemente hay que teclear su nombre desde la línea de comandos (MS-DOS), o hacer doble click sobre el archivo (WINDOWS). Existen actualmente dos versiones del mismo programa, una que soporta sonido a través de la Sound Blaster (bacteria.com), y la otra versión es para aquellos usuarios que o no dispongan de tarjeta de sonido o que no sea totalmente compatible con la Sound Blaster; dicha versión (bacterib.com) utiliza el altavoz interno del PC (speaker) como salida de audio.

¿Con qué teclas se maneja?

La emulación del tecladoes bastante sencilla, ya que todas las teclas que disponía el spectrum 48k original (que eran 40) son fáciles de hacer corresponder en un PC (que tienen 102). Para mayor claridad os muestro el teclado original de un spectrum 48K.

Teclado original del Spectrum

Por si hay dudas Caps Shift se corresponde con la tecla de mayúsculas izquierda en un PC, y para la tecla Symbol Shift he optado por el Control izquierdo.

Estas son las teclas para la emulación; pero aparte, el propio emulador soporta otras para su funcionamiento.

F1. Pantalla de ayuda con información del teclado. Con esta función obtendrá una pantalla similar a la que se muestra arriba en la que puede tener una ayuda indispensable para realizar listados en Basic.

F2. Desactivar el sonido (en modo Speaker). El sonido del speaker puede llegar a ser molesto, y como no existe ningún interruptor para desactivarlo en el PC, he puesto esta opción.

F3. Guardar snapshot en memoria. Esta función aporta bastantes utilidades. La más usual es pulsar este botón para grabar el estado actual de una partida, y cuando pierdas una vida recuperar ese estado anterior pulsando F4. Otro posible uso de esta tecla es marcar el inicio de una partida grabada, en caso de no querer grabar el principio de una partida, ya que el emulador reproduce todo lo que hay desde la última pulsación de esta tecla. Por último también puede usarse para que al compilar un juego éste ocupe menos quitando la pantalla de presentación; esto se hace pulsando F3 un poco después de haber realizado la carga de un archivo .TAP, cuando desaparezca la pantalla de presentación. Y luego al pulsar F5 se compila el juego partiendo del snapshot que había la última vez que se pulsó F3.

F4. Recuperar el snapshot guardado. Esta tecla tiene dos posibles usos. El primero es el de empezar una partida desde el principio, es decir, desde el momento que acabo la carga si se trata de un archivo .TAP, o desde el principio de un .SNA cargándolo de nuevo. El segundo posible uso es para recuperar un estado anterior que haya sido guardado con F3, en caso de que se quiera hacer trampas en los juegos.

F5. Compilar snapshot guardado. Al utilizar esta función el emulador compilará un juego que tenga el mismo nombre que el archivo cargado, pero con la extensión .COM en lugar de .TAP o .SNA. El juego empezará a funcionar desde el último snapshot guardado con F3, o en su defecto desde después de cargar el último bloque en cinta o desde el .SNA original. Primero hace una compilación adjuntando parte del código de emulación que usa el bacteria al juego, para en un segundo paso comprimirlo todo y crear un archivo .COM que se descomprimirá instantáneamente nada más ejecutarlo. De esta manera el archivo .COM resultante ocupará menos que el .TAP o .SNA original, aún contieniendo la parte del código de la emulación.

F6. Compilar snapshot guardado y partida jugada. Ésta tecla tiene un comportamiento parecido a la anterior, te genera un archivo .COM y sale del emulador, solo con una diferencia, el archivo además de contener el juego contiene una reproducción exacta de la partida que acabas de jugar al juego desde la última vez que pulsaste F3 (o desde el principio en caso de no haberla pulsado) hasta que acabas con F6. Al igual que con F5, también se comprime el archivo .COM al final y así ocupar menos espacio. Durante la compresión aparecerán puntos por la pantalla, esto indica el estado de la compresión, y acabará cuando se llegue a la parte superior de ésta.

F7. Rebobinar cinta hacia el bloque anterior. Un archivo .TAP está compuesto por bloques al igual que la carga en cinta de un spectrum real. Estos bloques se cargarán automáticamente en el momento que tecleas LOAD "" y el emulador te permitirá jugar directamente al juego sin tener que preocuparte en poner en marcha ni parar la emulación de la cinta. Pero hay ciertos juegos que son multicarga, y cuando pasas la última fase debes rebobinar la cinta para empezar por el primer nivel. Para esto está esta función, para retroceder los bloques que sean necesarios y poderte mover por la cinta a tu antojo. El número de bloque se mostrará en la esquina superior izquierda.

F8. Avanzar la cinta hasta el bloque siguiente. Ésta hace lo recíproco que F7, es decir, en lugar de ir al bloque anterior va al siguiente. Ambas funciones deben usarse en el momento en que la cinta esté parada y no se esté cargando ningún juego.

F9. Reset. Como su propio nombre indica provoca un reset en la CPU del Z80 que inicializa la máquina borrando toda la RAM.

¿Como cargar juegos?

Para ello debes disponer de una imagen del juego en formato .SNA o en formato .TAP. En cada versión del bacteria distribuyo un juego distinto para poder probarlo en caso de no disponer de ninguno. Pongo uno distinto para dar un poco de variedad y la posibilidad de aumentar la colección de juegos a medida que te bajas actualizaciones del bacteria.

Suponiendo que tienes un archivo de estos tipos en el mismo directorio donde ejecutas bacteria, cargar ese juego es muy sencillo, se hace a través de la línea de comandos y para ello debes de escribir el nombre del archivo con su extensión justo después del nombre del ejecutable. Pondré un ejemplo explicativo; si tienes el juego Fernando Martín Basket que tiene el nombre FMARTIN.SNA en el mismo directorio que el ejecutable, y vas a utilizar la versión A del emulador, es decir, la que funciona con la Sound Blaster (en el otro caso escribir bacterib en lugar de bacteria), debes escribir lo siguiente a la hora de arrancar elemulador.

Pantallazo del Windows ¿se nota?

Y podrás jugar directamente al juego indicado, así de sencillo.

Para juegos con formato .TAP se procede de la misma forma, aunque su carga no es automática. Es necesario poner LOAD "" y pulsar Enter. Esto se hace pulsando la tecla J (para LOAD) y Control+P dos veces para las comillas.

Bacteria no puede soportar el resto de los formatos debido a que son muchos e implementarlos todos supone engordar mucho el ejecutable, cosa no deseada si quiero que sea el emulador más pequeño del mundo.

¿Como se escriben listados?

Como todos sabréis, el spectrum 48k tiene un intérprete de basic incorporado en su sistema operativo, y con ello la posibilidad de escribir programas hechos en este lenguaje. Aunque desgraciadamente, para ahorrar memoria el spectrum utilizaba parte de los carácteres ASCII extendidos en codificar las palabras clave. De esta forma una sentencia como PRINT ocupa un byte en memoria en lugar de cinco. El inconveniente que tiene esto es que para introducir una instrucción es necesario pulsar su tecla correspondiente en un modo indicado.

El problema principal es que la correspondencia entre teclas/instrucciones venía impresa en cada uno de los botones del teclado del spectrum original. O sea que si quieres escribir programas del emulador tienes las siguientes cuatro opciones.
  1. Saberte de memoria todas las correspondencias. Yo me lo sabía en mi época, pero con el tiempo seme ha ido olvidando.
  2. Si no te la sabes siempre puedes aprender. Esta opción es muy didáctica aunque bastante laboriosa.
  3. Hacer pegatinas y pegarlas en el teclado de tu PC. No menos laboriosa que la opción anterior; sin embargo puedes demostrar a tus amigos lo buen spectrumaníaco que estas hecho.
  4. Pulsando F1 provocarás una pausa en la emulación y podrás ver una imagen como la que aparece en el apartado anterior. Así podrás buscar la instrucción basic que necesites y escribirla con la combinación de teclas apropiada.
En el diagrama que viene a continuación podrás ver las distintas combinaciones de teclas para activar el cursor en un estado determinado y escribir la instrucción basic que desees.

Esquema de ayuda

Por último decir que aunque el bacteria no te permita grabar archivos .TAP con el programa que escribas, tienes dos opciones distintas para guardarlo en un archivo .COM. Empieza arrancando el bacteria con el nombre de un archivo inexistente, por ejemplo, BACTERIA EJEMPLO.SNA. Cuando escribas el listado pulsa F3 y luego F5 y se generara un archivo HOLA.COM con el listado que hayas tecleado. La segunda opción es muy parecida, si en vez de pulsar F3 y F5 pulsas solo F6, el archivo HOLA.COM resultante será una reproducción exacta y en tiempo real de la escritura del listado, desde que cargaste el emulador hasta que pulsaste la tecla F6.