La verdad sobre el «RANDOMIZE
de la muerte» de los Inves Spectrum +

Inves Spectrum +
En 1986, Amstrad compra la compañía Sinclair después del descalabro de ésta a cuenta de las malas ventas del QL y del fiasco del C5 en Inglaterra. Hasta aquel momento, la empresa española Investrónica (filial de El Corte Inglés) distribuía los productos de Sinclair en España, sin embargo, la distribuidora oficial de Amstrad era Indescomp, que pasaría a realizar dicho cometido desde entonces. Investrónica, pues, que tenía experiencia en la fabricación local de microordenadores Sinclair (el ZX Spectrum +128, concretamente), decidió utilizar ese bagaje tecnológico para crear su propio clon de un ZX Spectrum 48K, el conocido aquí como Inves Spectrum +, ordenador que venía con el teclado y el software traducido al castellano.
Este clon adoleció de numerosas incompatibilidades, principalmente debido a esa ROM traducida no totalmente estándar. Entre aquellas características extrañas del Inves Spectrum +, hubo una que podemos considerar como única en la historia de los ordenadores de Sinclair y de sus clones: el Inves Spectrum + era, presumiblemente, el primer y único clon de Spectrum que podía dañarse de forma permanente mediante la utilización de determinadas instrucciones de software. ¿Cómo dice, joven? Lo que oyes.
La propia revista MicroHobby, en la página 32 de su número 156, advertía del rumor aparecido y aseguraba que, aunque no habían tenido ocasión de comprobarlo, las dos siguientes instrucciones en BASIC podía dañar físicamente el ordenador:
BORDER 5
RANDOMIZE USR 4665
Lo gracioso del asunto es que, en la época, nadie parece que realizara la prueba para comprobarlo, ni los propios redactores de MicroHobby. Y es que el producto de aquello podía resultar en que el dichoso aparato se estropeara de por vida, y aquello daba miedito. El Inves Spectrum + es hoy día un ordenador bastante raro y codiciado, pues sólo se comercializó en España, así que dudo mucho que si alguien se hace con uno se atreva a probar el conocido como «RANDOMIZE
de la muerte». O sí.
La imagen siguiente se corresponde con la advertencia en MicroHobby aprovechando la pregunta de un lector.

Advertencia en MicroHobby
Pasaron los años, y la leyenda urbana se mantuvo en el tiempo. Sin embargo, en el año 2003 apareció un emulador de máquinas Sinclair, el ZXSpectr para MS-DOS, que presumía de ser el único que emulaba al de Investrónica (aunque hoy día ya no es así). El propio autor del emulador, César Hernández Baño, se encargó de demostrar que todo aquello del «RANDOMIZE
de la muerte» no era más que una fábula tecnológica. César evidenció que no había nada de malo en ese RANDOMIZE USR
. De hecho no tenía sentido que una llamada a la ROM (aunque fuera en medio de una instrucción) pudiera tener ese efecto tan devastador.
Ni que decir tiene que en la máquina real pasó exactamente lo mismo que en el emulador. No hubo daños a la máquina, ni temporales ni permanentes. Al hacer el RANDOMIZE USR 4665
, la máquina vuelve inmediatamente al BASIC con el mensaje de inicio y el borde celeste. Al pulsar ENTER
, el sistema devuelve el mensaje C NO EXISTE EN BASIC, 0:1
. Al pulsar ENTER
de nuevo, la zona de edición (las líneas inferiores de pantalla donde se escriben los comandos BASIC) se llenan de basura, con sentencias, números y otros caracteres ininteligibles. En este punto, el intérprete de BASIC se comporta de forma inestable y la única forma de salir es con un reseteo total del equipo.
Todo lo anterior lo vemos en el siguiente vídeo, creado por el mismo César.
En otro documento más técnico, César Hernández Bañó describía el problema de la siguiente manera:
Si hacemos un
POKE
a ciertas direcciones ROM (sí, direcciones ROM), el borde no responde a nuevos comandosBORDER
. Después de algunas investigaciones, hemos descubierto que pokeando una dirección ROM cuyo byte menos significativo sea254
, se bloquea cualquier dato de entrada en la ULA del equipo. Para ser más precisos: si hacemos unPOKE
de un valorV
a direcciones254
,510
,766
[…],16382
(es decir,N * 256 + 254
), con un rango de valoresN
que vaya de0
a63
, ese valorV
actúa como una máscaraAND
para todos los datos posteriores dirigidos a la ULA. Esto significa que siV
es0
, independientemente del valor emitido por el procesador, la ULA ve0
en su bus de datos. Para recuperar el funcionamiento normal, hay que pokear255
a todas las direcciones ROM.Esta situación se prolongó en el tiempo mientras había suministro de energía en el Inves Spectrum +. Un reseteo del equipo o un
RANDOMIZE USR 0
no restauraban la ULA a su estado original. Sólo después de desconectar de corriente y volver a conectar, las cosas volvieron a la normalidad.
Por lo tanto, quedó demostrado que el «RANDOMIZE
de la muerte» nunca fue real. Sin embargo, hoy día muchos lo siguen comentando como cierto; es lo que tienen las leyendas urbanas, que regresan periódicamente y nadie sabe por qué.
Información Bitacoras.com
Valora en Bitacoras.com: Inves Spectrum En 1986, Amstrad compra la compañía Sinclair después del descalabro de ésta a cuenta de las malas ventas del QL y del fiasco del C5 en Inglaterra. Hasta aquel momento, la empresa española Investrónica (filial d..…
Recuerdo haber leído sobre este famoso Randomize. Enhorabuena por el articulo.
Digo yo que no estaría de más citar la fuente y autor original de este artículo:
http://www.zxprojects.com/index.php/the-fix-a-spectrum-blog/29-the-oddities-of-the-inves-spectrum
O si la web está caída, como pasa ahora mismo, cualquier copia en la Wayback Machine vale:
https://web.archive.org/web/20140802175949/http://www.zxprojects.com/index.php/the-fix-a-spectrum-blog/29-the-oddities-of-the-inves-spectrum
Existe un enlace en esta entrada que lleva, precisamente, a esa URL. Siempre cito mis fuentes enlazándolas; que ahora el link esté caído es otro tema.
Gracias por todo; un saludo.
Sí, existe el enlace pero está medio escondido en el texto y no es suficiente porque dicho enlace no dice a las claras que ahí está el artículo completo original. Desde el segundo párrafo en adelante, es un fusilamiento descarado de mi artículo original (que escribí en inglés por cierto), y no se menciona por ningún sitio precisamente eso, que el artículo original es TAL y se encuentra en TAL sitio. Además, el autor de las pruebas y el video (videos, en realidad) del RANDOMIZE no fue César Hernández Baño, sino Miguel Angel Rodríguez Jódar (mcleod_ideafix, o sea, yo). Yo sí menciono a César y a su trabajo dentro del artículo.
Así las cosas, tampoco recuerdo haber dado permiso para que este artículo esté en un recopilatorio por el que se cobra dinero. Aprovecho para dejar claro que no deseo que mi artículo (o una copia de él) esté en ningún formato de pago.
Por último, comentar que años más tarde conocí a César y entre los dos publicamos un artículo sobre el Inves muchísimo más extenso, donde damos entre otras la explicación a por qué el Inves se comporta como se comporta, tanto con los POKEs como con otras historias.
http://www.zxprojects.com/inves/
(y por supuesto, al principio del artículo cito la fuente original donde lo publicamos, como es preceptivo).
¡Saludos!