Saltar al contenido.

Software ZX Spectrum: Tranz-Am (Ultimate, 1983)

octubre 16, 2018
Muchos juegos nunca han sido tan carismáticos como el que os voy a comentar aquí. Para mí fue uno de los grandes juegos que nunca se olvidan, ni se olvidarán tan fácilmente. No es una exageración.
 

 
Tranz-Am fue publicado directamente en cassette el año 1983 por Ultimate Play the Game, habiendo sido desarrollado por los hermanos Stamper. Posteriormente, Sinclair Research Ltd esperaba reeditarlo dentro de su línea de software lúdico (como así lo hizo con Jet Pac, Cookie y Pssst!) bajo la referencia G29/S, pero nunca se hizo en cassette, a pesar de lo que en teoría se reflejó en el catálogo de productos de la marca Sinclair de aquel año. Sí se editaría en formato de cartucho ROM para el Interface II de Sinclair y otros interfaces compatibles, con la referencia G29/R, al precio de 14,95 libras esterlinas. Este formato, pese a que el acceso al software es inmediato, no llegó a implantarse en el mercado tras haberse publicado algo más de una docena de títulos en este sistema, dado el elevado coste del mismo.

Es un juego muy original que consiste en conducir un vehículo todo terreno a través de toda la extensión de los Estados Unidos buscando y recolectando 8 trofeos, evitando los peligros naturales (cactos, rocas, lápidas y otros objetos) y a los autos kamikaze que intentarán chocar contra tí. Estos suicidas forma parte de una demoniaca fuerza llamada a proteger los ocho trofeos. Una dificultad añadida es el nivel de gasolina que irá progresivamente disminuyendo, con lo que otra de tus metas será llegar hasta las ciudades y abastecerte en las estaciones de servicio. Sírvete del escáner de largo alcance para buscar las copas y ver las posiciones de los otros coches que incansablemente irán a por tí.

Tranz-Am tiene unos caracteres grandes y muy bien definidos que se mueven en todas las direcciones dentro de un área bastante amplio de juego. En apariencia, este área de juego cubre alrededor de unas 600 pantallas, ¡algo sorprendente para un juego de 16k! En cualquier caso, el vehículo que conduces siempre permanece en el centro de la imagen, de color rojo, y el resto de objetos se mueven a tu alrededor en tu intento de atravesar toda América en busca de las copas. Los otros sprites son prácticamente iconos de lo que deberían ser, sin ninguna pretensión de realismo por parte de sus programadores.

Aunque el juego es relativamente difícil de controlar, su aporte técnico en arte y sonido fue, para la época, mucho más significativo que en otros juegos de ZX Spectrum.

Algo más adelante, Tranz-Am formaría parte de varias recopilaciones como “10 Titles for the Spectrum Plus” (Boots), “Unbelievable! Ultimate” (U.S. Gold) y la siempre deseada colección “The Collected Works” de Ultimate Play the Game. Nunca fue adaptado a ningún otro ordenador de 8 bits que no fuese el ZX Spectrum, pero sí fue objeto de varios remakes para ordenadores y plataformas modernas.

CONTROLES:

TECLADO:

Z,C,B,M – Girar en el sentido contrario al de las agujas del reloj.
X,V,N,SYMBOL SHIFT – Girar en el sentido de las agujas del reloj.
A,S,D,F, etc (segunda fila de teclas) – Frenar.
Q,W,E,R, etc. (tercera fila de teclas) – Acelerar.

JOYSTICK:

Puedes usar solamente joystick via Kempston.

Durante el juego pulsa CAPS SHIFT para una pausa.

TRUCOS:

– Procura no sobrecalentar el motor de tu coche, pulsando lo menos posible el acelerador. Elige los momentos más oportunos para tirar millas.

– Si estás siendo perseguido y la temperatura sube al máximo, escóndete detrás de algún árbol, piedra, etc. mientras enfrias el coche, de lo contrario no podrías seguir. Esto permitirá que el coche perseguidor no pueda chocar contra tí hasta que golpee el obstáculo hasta cinco veces. Una vez enfriado el coche, puedes seguir adelante.
 

 
Hoy en dia encontrar una copia en buen estado de Tranz-Am en cassette con el sello original de Ultimate ó en cartucho ROM de Sinclair no es demasiado difícil, si bien este segundo suele aparecer en páginas como eBay a unos precios realmente altísimos.

Su libre descarga está prohibida expresamente por Rare Ltd (Ultimate Play The Game), al igual que con el resto de su antiguo catálogo de videojuegos.

Versión mejorada del Workbench +3e para Spectrum y ZX-UNO desarrollado por Octocom Software

octubre 8, 2018


 

Recién publicado la última version hasta ahora disponible (v2.0a) de este programa creado por Octocom Software para determinados modelos de ZX Spectrum y el ZX-UNO. Para conocer con detalle qué es y cuál es su funcionalidad, copio literalmente parte de su descripción:

Workbench +3e es un entorno gráfico de ventanas para ZX Spectrum diseñado para facilitar el acceso a los programas almacenados en el disco duro. Permite organizar el software instalado de una forma lógica y ordenada y su posterior carga proporcionando un entorno sencillo e intuitivo.

Las ROMS +3e proporcionan potentes comandos para el uso de discos IDE pero su sintaxis, la ausencia de subdirectorios y los nombres cortos de ficheros convierten el proceso de almacenar y ejecutar software en un proceso lento y muy poco organizado.
 

 
Con Workbench +3e tan solo tienes que arrancar tu equipo y seleccionar la opción CARGADOR. Tendrás un entorno gráfico que te permitirá acceder a tus programas con claridad y cargarlos cómodamente con unos simples clicks del ratón, así de sencillo. Tambien podrás explorar a traves de ventanas el contenido de tus discos duros. Se incluyen funcionalidades para copiar ficheros y realizar backups de disco duro y su posterior recuperación.

Workbench +3e detecta automaticamente si se ejecuta en un ZX-UNO para aprovechar los modos turbo de la CPU e incrementar la velocidad de ejecución del entorno sin repercutir en su compatibilidad con juegos y programas.

El entorno incluye un programa de instalación distribuido en dos discos 720kb que realizará automáticamente todo el proceso de instalación y configuración del sistema dejando el equipo preparado para empezar a utilizar el nuevo entorno. Adicionálmente se proporciona una imagen HDF con el entorno gráfico preparado y con una buena cantidad de software préviamente instalado.

 

 
Se requiere de estos elementos para hacer funcionar esta aplicación:

· ZX Spectrum +2a/+3 o ZX-UNO.
· ROMS del proyecto +3e.
· Interface IDE soportado por las ROMS +3e (Divide, DivMMC, ZX-MMC…..).
· Interface Kempston Mouse o Joystick Sinclair.

Resto de información y descarga de la aplicación en varios formatos (DSK y HDF), en la página de Octocom.

El clásico “Knight Lore” aparece por fin para los Commodore 64

octubre 7, 2018


 

Lanzan por sorpresa una versión de uno de los videojuegos más importantes en la era de los “ocho bits” como es el emblemático Knight Lore de Ultimate Play The Game, que tras muchísimos años se publica por fin para Commodore 64, como ya ocurriera meses o años atrás con otros juegos de la mítica compañía fundada por los hermanos Tim y Chris Stamper. Son los casos de Pentagram y Gunfright, realizados ambos por los artistas Rod y Emu Productions, quienes repiten con esta nueva entrega Ultimate. Además, otro programador, Andy Noble hizo algo similar con Cookie.

Hasta hoy, estos juegos creados en principio para ZX Spectrum y otros sistemas como Amstrad, Oric-1, BBC Micro y MSX, nunca fueron publicados para el ordenador de 8 bits más vendido en todo el mundo: el Commodore 64. Poco más de 30 años después, se redime de esta falta, gracias a la ayuda de estos diseñadores. Respeta la esencia de la edición original de ZX Spectrum en su conjunto, pero al menos se mejora bastante con ayuda de varias opciones a las que accedemos desde el menú principal.
 

 
Evidentemente, y como me acabo de referir, ha sido portado prácticamente por completo a partir de la de Spectrum, si bien algunas novedades implementadas por sus autores van desde una nueva y bonita pantalla de presentación, más diferentes opciones para configurar el juego, a gusto del usuario; incluyendo diferentes formas de entretenerse con bastante facilidad en este “port” bastante conseguido de Knight Lore en el C-64, con los consabidos “cheats”. Si tras varios entrenamientos no os hicieran falta estas ayudas extra, podéis afrontar el reto de completar esta gran videoaventura isométrica sin necesidad de ellas.

Aquí lo tenéis en modo descarga gratuita: https://csdb.dk/release/?id=169589
 

 
PD: Llevo algún tiempo medio desconectado de mi blog, pero por diferentes circunstancias y un compromiso adquirido, vencido ayer satisfactoriamente, no he podido estar pendiente de otras novedades surgidas en los últimos dias. Ya toca ponerme a tono y al dia. Hasta pronto.

Depuración de listados BASIC tecleados a mano con un ZX Spectrum

septiembre 25, 2018
Cuando hace años se tenía la virtud de la paciencia, era algo normal ponerse delante de un ordenador y atreverse a teclear algún listado de los que figuraban publicados en páginas de alguna revista de la época o cualquier otra publicación que los contuviese (libros, cursos de programación, manuales y hasta enciclopedias), durase el tiempo que durase dicha tarea. Teclear un programa escrito normalmente en BASIC es un ejercicio muy útil, sobre todo para aprender a escribir con un ordenador y familiarizarse sobre todo con sus caracteres especiales, incluidos en su propio código ASCII. En el caso del ZX Spectrum, había que prestar atención a la distribución de sus comandos, instrucciones y símbolos varios, a los que se accede desde el teclado de la manera descrita en su manual.

Aparte de la paciencia requerida, las técnicas aprendidas de programación en BASIC y el fin último para el que destinamos el programa tecleado, hay que tener en cuenta que cuando terminamos de introducir todas las líneas de dicho programa se tiene que comprobar que no nos hemos equivocado en su transcripción, con tan solo ejecutarlo y comprobar que el software iniciado funciona al 100%. Si tras ejecutarlo con RUN nos encontramos durante su desarrollo algún error o “bug”, éstos pueden aparecer solamente por acciones totalmente involuntarias o que se han escapado a nuestro control, a veces por descuido y otras veces por fallos no achacables a nuestra voluntad (algunos listados publicados por algunas revistas no han pasado un control específico de calidad ó se produjeron fallos en su maquetación. Esto mismo ha pasado en contadas ocasiones con programas publicados en el interior de revistas como ZX y MicroHobby).

Corregir estos errores casi siempre tienen fácil solución, siempre y cuando no hayamos introducido alguna subrutina en código máquina que pueda alterar el comportamiento de nuestro ordenador tras haber ejecutado ese programa, una vez instalado todo su contenido en su memoria. En tal caso, si hemos almacenado ese programa en cinta o disco como medida de precaución o si habremos creido que tras copiarlo enteramente está listo para su ejecución, lo podemos MERGEar primero, en lugar de ejecutar LOAD “”. Tras ejecutar MERGE “” y aparezca en pantalla el mensaje 0 OK 0:1 al instante o al cabo de unos segundos, se comprueba antes que todos los datos de esa subrutina sean los correctos, con solo hacer el chequeo de los mismos con los que figuran en el listado que hemos copiado. Mejor curarse en salud, antes que encontrarnos con un posible bloqueo o cuelgue del ordenador por una mala transcripción de esos datos.
 

 
El ejercicio de depurar (de la palabra “debugging”) un programa BASIC no es muy complicado. Se obtiene con ello una mayor perspicacia y comprensión en cómo funciona ese programa que se ha trasladado del papel al ordenador, más que el mero hecho de haberlo tecleado sin más. Rastrear estos errores es incluso un arte en sí mismo y se necesita ciertas habilidades en programación BASIC para corregirlos completamente.

Hoy en dia seremos poquísimos los que nos atrevamos a teclear algún listado publicado en revistas de aquí y allá. Y no es porque lo diga yo, teniendo en cuenta que otra de mis labores actuales dentro del panorama “retro” es precisamente la de preservar el mayor número posible de programas publicados en revistas y libros de nuestro pais, gracias a mi Proyecto BASIC ZX. El ritmo actual de la vida nos impide, en la mayoría de las ocasiones, disponer de tiempo más que suficiente para dedicarlo a este aspecto fundamental de la informática.

Aquí van una serie de consejos para algunos de los posibles mensajes de error que el ZX Spectrum puede indicar al usuario. Éstos son los más habituales y en todos los casos la solución es bastante obvia, salvo que el usuario no se haya leido el manual del Spectrum primero…

 
1 NEXT without FOR

Si aparece este mensaje de error en pantalla, hay que localizar primero la línea indicada y a partir de ahí buscar hacia adelante y atrás, con los cursores arriba y abajo para mover el símbolo “>”, a través del propio listado ya en memoria y así EDITar fácilmente la línea en cuestión. Puede pasar que la variable añadida al comando NEXT sea errónea, o se dé el caso de que se haya definido un bucle con otra variable distinta. También puede deberse si se está gestionando dentro de ese mismo bucle alguna variable que coincida por la usada por los comandos FOR y NEXT.

Para el caso de que nos aparezca en pantalla otro mensaje similar, I FOR without NEXT, se procedería de igual forma.

 
2 Variable not found

En muchos casos, es el error más frecuente. De nuevo, el fallo puede estar en que hayamos tecleado erróneamente alguna variable tras su definición con el comando LET ó a partir de otras instrucciones como DIM o FOR/NEXT. Aparte de comprobar cuidadosamente la existente en la línea que nos muestra el mensaje de error, conviene repasar el resto del listado en busca de esa variable numérica, la cual puede tener un solo carácter ó más caracteres. Si es alfanumérica, contendrá tan solo una letra delante del símbolo del dólar (A$, B$, C$, etc.)

Si solo hay una variable en la línea mostrada en pantalla (2 Variable not found 270:6, por ejemplo), buscamos esa línea 270 y comprobamos si hemos transcrito correctamente dicha variable dentro del sexto comando existente en dicha línea (un PRINT xx ó un LET xx=número tal). El problema puede estar en esa línea o en otra distinta. Casi siempre tiene fácil solución y conviene examinar a fondo el listado, comparándolo con el de referencia en la revista ó libro donde éste figure.

Si hay más de una variable en dicha línea dada junto al mensaje de error, entonces habrá que mirar con cuidado dónde hemos transcrito mal dicha variable. Valga como ejemplo una línea con estas instrucciones: 270 ...: PRINT AT xx1,yy1;A$: .... Para ello, basta con teclear directamente estos comandos:

PRINT xx1
PRINT yy1
PRINT A$

Una vez se compruebe cuál induce a tal error, se busca acto seguido en el resto del listado. Probablemente hayamos pasado por alto algún comando LET sin añadir o haber cambiado sin darnos cuenta algún carácter de la variable a la que alude el mensaje de error, bien en dicha línea o bien en otra cualquiera.
 

 
3 Subscript Wrong

Este error suele producirse tras alguna alteración con una ó más variables matriciales definida con el comando DIM, el cual puede contener entre uno y varios parámetros para crear una tabla o matriz. Si el número entre paréntesis en dicha línea donde el error ha sido detectado es mayor que el definido por DIM, no es un número entero ó es menor de 1, este mensaje es mostrado en pantalla. Si el subíndice o cualquiera de ellos de los que pueden figurar dentro de los paréntesis es un número, se comprueba y se cambia. En el caso de que sean variables numéricas, se procede según el caso anterior y se averigua qué causa el error Subscript Wrong. Normalmente por exceder de los límites permitidos por la matriz ó por otras causas, como las ya indicadas.

 
4 Out of Memory

Además de los programas que son demasiado grandes, si mientras estamos copiando un listado con una extensión más o menos considerable nos surge en pantalla este mensaje, es posible que pueda deberse a que hayamos borrado con un NEW un programa usado anteriormente, de menor longitud y que hubiese establecido una RAMTOP a partir de una determinada posición de la RAM disponible, que en ese mismo momento ha sido ocupada por nuestro actual programa.

Si el ordenador parece haberse bloqueado en ese estado, habría que anular la línea de comando (ó serie de órdenes) usando la tecla de borrado (DELETE) y después anular una línea de programa ó tal vez más, con la intención de restablecerlas después para permitir la utilización de, por ejemplo, el comando CLEAR. Tecleando CLEAR USR "a"-1 todo volverá a la normalidad.

En cualquier momento, podemos incluso comprobar cuánta memoria del “stack” de BASIC hay disponible en ese momento en nuestro Spectrum con una sencilla operación:

PRINT "Mem:";INT ((65535-USR 7962)/1024);"K"
 

 
7 RETURN without GOSUB

Por algún motivo, el ordenador se ha encontrado con una línea que contiene un comando RETURN sin haberse producido previamente una llamada con el comando GO SUB. En otro caso puede deberse a una sentencia RETURN de más. Comprueba si acaso un GO TO se ha insertado en lugar de un GO SUB en algún punto no concreto del programa, o en otro caso ese GO SUB no se ha copiado, ayudándote del listado de referencia.

 
A Invalid argument

El argumento de una función determinada no es correcto por algún motivo. Examinar bien todas las líneas, además de la indicada por este mensaje, por si se ha cometido un error con la manipulación de algún dato almacenado en una variable, gestionada por alguna de estas instrucciones: SQR, LN, ASN, ACS, USR, RANDOMIZE, POKE, DIM, GO TO, GO SUB, LIST, LLIST, PLOT, CHR$ o PEEK.

 
B Integrer out of range

El manual nos describe este mensaje a partir de este razonamiento: “Cuando se requiere un entero, el argumento de la coma flotante se redondea al entero más próximo.” Otra posibilidad para encontrarnos con este mensaje es que alguna instrucción ha intentado gestionar un dato no admitido por las limitaciones de algunos comandos, o por omisión del mismo. Verifica todas las variables involucradas según el informe 2 Variable not found y rastrée a través del programa buscando ajustes en él, así como observar que hayamos incluido correctamente algún símbolo matemático (suma, resta, multiplicación ó división) en la gestión de fórmulas y funciones aritméticas en las que se empléen una o más variables numéricas.

También sucede que si se quiere imprimir algo en pantalla con PRINT ó hacer dibujos con los comandos CIRCLE, PLOT y DRAW, conviene recordar que este error puede producirse incluso si, en algún momento dado, el programa intenta imprimir fuera de sus límites. Repasa dichos comandos y de usarse variables, mirar también en bucles FOR/NEXT, definiciones con LET y otras funciones, subrutinas de impresión y formulaciones varias.
 

 
E Out of DATA

Otro error común que se da con muchos programas transcritos en los que se emplée la instrucción DATA para almacenar datos tanto numéricos como alfanuméricos. Se necesita solamente comprobar las líneas que contiene esos DATA y sobre todo la subrutina READ, poniendo especial cuidado en la cantidad existente de datos. Suele darse el caso de que hayamos olvidado uno ó más datos, sin habernos dado cuenta, teniendo en cuenta que se ha intentado leer más allá del final de la lista de datos contenida en nuestro programa. Solo es necesario comprobarlos y en tal caso añadirlos en su lugar correspondiente. Comprobamos nuevamente el programa ejecutándolo desde el principio o a partir de esta subrutina de READ/DATA, y si el ordenador no nos devuelve el mismo mensaje de error, el programa seguirá su curso sin mayores problemas.

Puede darse el caso de que hayamos equivocado una coma de separación, poniendo en su lugar un punto ortográfico entre datos numéricos, habitualmente números enteros, haciendo que dos números correlativos se conviertan equivocadamente en un número decimal. Llegado a este punto, el ordenador nos podría devolver otro mensaje de error (B Integrer out of range, por ejemplo) de fácil solución.

También puede deberse si se intenta releer una lista de DATAs sin haber empleado previamente el comando RESTORE (o RESTORE ‘línea de partida de los DATA afectos’) para reestablecer su lectura. Puede ocurrir tras una primera ejecución del programa a partir de una línea específica (de haberse grabado con la instrucción SAVE "nombre" LINE xxx, siendo xxx la línea de comienzo del programa) o simplemente si se vuelve a la subrutina de lectura por otro camino.

 
M RAMTOP no good

RAMTOP incorrecto. El número especificado como RAMTOP con el comando CLEAR es muy grande ó muy pequeño. Solo es necesario cambiar dicho número por otro que sea perfectamente asumible por el sistema.

 

FIN

 
Y esto es todo, amigos. Depurar programas tecleados no tiene mayor dificultad, salvo que no se sepa cómo resolver algunos casos concretos no analizados aquí (C Nonsense in BASIC, por ejemplo), pero casi siempre tienen fácil solución. Como ya aseguraba antes, el manual de vuestro ordenador Spectrum es vuestro mejor aliado para comprender el funcionamiento de su lenguaje primordial, el BASIC. Ante cualquier eventualidad, consultarlo cuidadosamente. Y para el caso de que no entendáis nada de lo expuesto en él y por qué se dan éstos y otros mensajes de error, tenéis a vuestra disposición los foros de speccy.org, Computer Emuzone, Zona de Pruebas, RetroWiki, World of Spectrum y Spectrum Computing donde podéis hacer vuestras consultas y resolver dudas sobre programación en BASIC.

Sony se apunta al carro de las consolas mini con su PlayStation Classic

septiembre 20, 2018
Cuando falta poco para que se cumpla el 24 aniversario del lanzamiento oficial de esta potentísima consola de quinta generación creada por Sony, la compañía nipona ha anunciado la salida de una versión miniaturizada de su PlayStation, al estilo de las lanzadas en los últimos años por Nintendo recreando sus clásicas consolas con un tamaño muy inferior a las originales y que tanta expectación ha generado entre sus aficionados.
 

 
Se espera que la PlayStation Classic, como así se llamará, salga a la venta a partir del dia 3 de Diciembre en todo el mundo (coincidiendo con la fecha de introducción de la PlayStation original en el mercado japonés en 1994), con un tamaño igualmente inferior -un 45% más pequeño respecto del original-, siguiendo la tendencia marcada por Nintendo, a la que le siguen SNK con su inminente NeoGeo Mini y Sega con su futura MegaDrive Mini. Ó tal vez se debería llamar a esta tendencia como una moda comercial por lo “retro” que parece no tener fin.

En cualquier caso, los que alguna vez han tenido la primera edición de la PlayStation, o quienes nunca la tuvieron, podrán adquirir dicha consola al precio de 99€. Ya se han habilitado las reservas desde ya mismo a través de los canales habituales y se comercializará tanto en Japón, como en EEUU y Europa. Su disponibilidad será limitada, a falta de conocerse en qué paises europeos se comercializará.
 

 
La PlayStation Classic incorporará 20 títulos pre-instalados entre los cuales pueden figurar como juegos confirmados, según varias informaciones, Tekken 3, Final Fantasy VII, Ridge Racer Type 4, Wild Arms y Jumping Flash, aun cuando todavía se desconoce la lista completa. Aun así, 20 juegos pueden parecer poquísimos, en comparación con el gran catálogo que se desarrolló para la consola original. No es posible que se puedan intercambiar por otros distintos, aunque sería lo deseable.

Con la unidad se incluyen dos mandos que imitan a los originales (pero sin sticks analógicos ni opción DualShock) que se conectan a la consola por cables de los que se desconoce su verdadera longitud, un cable HDMI para su conexión con cualquier televisor actual, así como un cable USB que hará las veces de alimentación, si bien esta consola es compatible con adaptadores AC tradicionales que han de adquirirse por separado. También tiene cabida en ella tarjetas de memoria virtual intercambiables, para almacenar en ellas las partidas que hagamos.
 

 
¿Aún disponéis de sitio para más consolas “mini” en vuestro hogar? Pues adelante. Más información, en la página-blog de la compañía (PlayStation.EU).