Dibujo de una cinta de cassette con forma de ZX Spectrum

Tutorial de AGD 12: Cargar juegos de AGD desde cinta

Hace unos dias, me pidieron ayuda para poder cargar The Javi’s Big Adventure en el interfaz de AGD, pues resultaba un poco confuso. Prometí un tutorial al respecto, y aquí va 🙂

La Máquina Virtual

Lo primero a tener en cuenta es que, en su dia, desarrollé el juego en una máquina virtual de Retro Virtual Machine, configurada como un +2 Gris Español, por ello, es la configuracion que uso siempre, a más de ser mi favorita entre las máquinas spectrum de la época, y la que personalmente percibo como “verdadero” Spectrum (es lo que tiene que sea tu primer ordenador…)

La maquina virtual sin encender

Claro está, al iniciar el sistema, nos encontramos la máquina apagada (yo uso RVM, pero puedes usar tu emulador favorito), procedemos a encenderla y entraremos en el menú principal.

Menu principal de nuestro +2 Gris

Cargando AGD

Bien, una vez qu hemos accedido al menú, vamos a proceder con la carga de AGD 4.6, ¿porqué esta versión? por ser la que usé para crear el juego, uno de los errores de diseño de AGD es su ausencia de retrocompatibilidad, así pues has de usar exactamente la misma versión con que se creó para cargar el juego. Para ello entramos en el Cargador de cintas…

El Cargador de cintas

Una vez dentro del cargador de cinta, abrimos el tap de la version de AGD correspondiente, y pulsamos PLAY, AGD cargará (tarda algo menos de 3 minutos, lo he cronometrado).

cargando AGD desde la cinta

Tras el proceso de carga, aparecerá el menú principal de AGD, aunque claro está, aún sin datos del juego. Obviamente, pararemos la cinta.

Menu principal de AGD

Cargar el Juego

Desde el menú principal pulsamos L para iniciar la carga de datos de juego, AGD carga solo el bloque de datos del juego, por lo que hemos de cargar el .tap del juego y usar forward para pasar tanto el cargador, como la pantalla de carga, a partir de ahí pulsamos Play y dejamos que la cinta haga su magia (tarda otros tres minutos, también lo he cronometrado).

Proceso de carga del bloque de juego en AGD

Tras el proceso de carga, aparecerá una pantalla en la que veremos el famosos mensaje “0 OK, 10:5” y en pantalla algunos marcadores sobre fondo azul. No te asustes es correcto, ahora te digo que hacer.

Tras la carga, parece que todo se ha roto, pero no.

Arrancando de nuevo AGD

Como comentaba, puede parecer que algo ha salido mal, pero no, dado que hemos usado el cargador de cinta, hemos de arrancar de nuevo AGD a mano, para ello lo primero es pulsar escape hasta ver el menú del +2 y entrar en la opción “128 BASIC”.

128 Basic tras la carga

Bien, veremos el cargador, que en un modo 48k carga el propio AGD, podemos observar que la ultima instrucción es un RANDOMIZE USR 24000, la escribimos.

128 BASIC con el RANDOMIZE USR 24000

Y pulsamos INTRO para ejecutar (la instrucción básicamente hace que se ejecute el código máquina a partir de la dirección de memoria 24.000 donde está cargado AGD. De nuevo no os asusteis.

Menu principal de AGD esta vez con fondo amarillo, parece roto, pero esta correcto

Si, el fondo es amarillo, sospecho que es el funcionamiento definido por e autor para indicar así que la carga se ha completado satisfactoriamente, o al menos es como yo lo interpreto, tampoco tiene mayor relevancia.

Comprobando que el juego está ahí

Llegados a este punto no nos queda más que cheqear que lo que queríamos cargar está ahí , lo que suelo hacer en estos casos, es pulsar X para asegurarme de que el juego está funcionando.

Pantalla inicia de JBA, el juego efectivaemnte ha cargado correctamemnte

Podemos jugar una partida o entrar al juego y pulsar INTRO para volver al menú principal.

Volviendo al menú principal tras chequear que el juego esta bien cargado

Poco más, a partir de aquí podemos bichear (investigar como es) el juego tal cual lo creé, con sus virtudes y sus defectos, incluso jugar con su código o ver como están hechas las distintas pantallas:

El Editor de pantallas

En el próximo capítulo continuaremos con nuestro juego, mi intención es interconectar tres pantallas a lo ancho (una a cada lado de las que habéis creado), pero mientras, podéis ver como he usado los diferentes tipos de bloque en el diseño de los escenarios.

Y sobre todo recuerden, esto es para divertirse, si no disfrutan, habrán perdido el tiempo, ya llegamos 30 años tarde así que podemos recrearnos en los detalles 🙂