Voy a proceder, a partir de la versión distribuída en cinta, a destripar y comentar el código fuente con el ánimo de intentar comprenderlo, si es posible, mejorarlo y (si se ve posible), ampliarlo y reutilizarlo.
El juego es una rareza, por tratarse de un RPG, un género que en el ZX Spectrum siempre ha sido una máquina especialmente subdesarrollada. Pese a ser un programa en BASIC, los tiempos de respuestas son aceptables, y el juego lo encuentro hasta agradable de jugar. Una crítica del juego (no muy positiva) desde el punto de vista de un moderno jugador de RPG para otros ordenadores la podemos encontrar en el blog especializado The CRPG Addict.
"The Wizard of Tallyron" es un videojuego publicado como listado BASIC en abril de 1986 en la revista británica "Computer & Video Games", en las páginas 54 y siguientes. La misma revista ofreció y distribuyó el título en cinta a sus lectores. La versión distribuida en cinta actualmente la podemos encontrar en repositorios como SpectrumComputing.co.uk y otros muchos sitios.En la revista figuran como creadores Mike E. Turner (diseño y concepto), Lin Turner, Paul Jefferies (programación) y Justin Middleton (gráficos). En la versión distribuida en cinta se añade una pantalla de carga en la que aparecen como autores del programa "Star Dream Software". Si examinamos el listado, podemos encontrar en un REM en la línea 4 la autoría de "Mike Turner & the Star Dreams team".
Dándole un primer vistazo,el listado está bastante modularizado y resulta bastante legible cuando ves cómo está estructurado. Hay alguna parte más confusa, por la manera que emplea salidas mútiples de bucles FOR/NEXT, subrutinas con múltiples RETURNs condicionales y saltos GO TO calculados (estilo GO TO 9000+100*Z). En la cinta, los ficheros están organizados de la siguiente forma: primero un programa BASIC que carga una pantalla de presentación y a continuación el programa principal (el programa publicado como listado impreso en la revista). Este último ocupa un fichero de 25691 bytes en cinta; si inicializamos las variable y matrices y salvamos el fichero, el programa pasa a ocupar 25691+6286 bytes en variables y matrices, casi 32K.