Juegos en la pantalla de carga
Tags: spanish, windows, game, spectrum
Published: 2023-10-04 07:27:00

---
title: Juegos en la pantalla de carga
published: true
description: Windows 11 permite jugar a SkiFree mientras se actualiza
tags: #spanish #windows #game #spectrum
published_at: 2023-10-04 07:27 +0000
---

Windows 11 ha desvelado una nueva característica del proceso de instalación: mientras está instalando actualizaciones, te permite jugar a [SkiFree](https://xkcd.com/667/), un juego con una larga historia (desde Windows 3.11) que ahora se ha reconvertido en un 2D de surf.

![El juego de surf *oculto* en Edge basado en SkiFree](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rqxdl57q6gi7s5icuawx.jpg)

Personalmente, me encanta ver cómo la historia se repite una y otra vez, continuamente. En los 80 del siglo pasado, triunfaba un ordenador llamado [*ZX Spectrum*](https://es.wikipedia.org/wiki/ZX_Spectrum) de la marca británica **Sinclair** (el mío era la versión de 128K, que lo sepas, no la de 48K..., ¿eh? sí, sí "k" de kilobytes, eso es).

El caso es que el almacenamiento secundario eran [cintas de *cassette*](https://es.wikipedia.org/wiki/Casete). Sí, sí, esas que se empleaban para música. Los jueg... programas tardaban entre 3' y 5' en [cargar desde la cinta](https://www.youtube.com/watch?v=JzlhC6aqpTU), espera que se hacía... eterna.

![Cargando **Jetpac** de **Ultimate** en un ***ZX Spetrum**](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/026asysnx4gjiehcwwt6.jpg)

Así, muchos de los últimos juegos permitían jugar mientras el juego se cargaba... ¿pero qué brujería es esta? El caso es que el [microprocesador Z80](https://es.wikipedia.org/wiki/Zilog_Z80) se pasaba casi más tiempo esperando a que le llegara la señal de audio del cassette que procesándola, así que en esos tiempos de espera, era capaz de ejecutar código, claro... siempre que no fuera demasiado complejo. El resultado era que podías jugar a juegos sencillos como el famoso *Mastermind*... es decir, adivinar el numerito mientras el ordenador cargaba el resto del programa.

La [versión más sencilla de *Mastermind*](https://olesur.com/educacion/adivina-numero.asp) es precisamente esa, adivinar un número entre un mínimo y un máximo. La idea es ir horquillando el número objetivo, minimizando el número de intentos. Si el número oculto es 82 y el mínimo está entre 1 y 100 (inclusive), empezaremos con 50, con lo que nos dirá que el número es mayor, después con 75, con lo que de nuevo nos dirá que el número es mayor, después 85... y así sucesivamente.

Por otra parte, lo cierto es que es muy curioso apreciar el alto número de variantes de *Mastermind* ahí fuera. Desde un [juego de tablero clásico de decodificar colores](https://mastermindgame.org/) hasta el ultrafamoso [**Wordle**](https://www.nytimes.com/games/wordle/), que fue un auténtico furor cuando salió. Y pasando por pequeños juegos de lógica empleados para abrir candados o adivinar contraseñas en juegos más grandes, incluso triple A.

Pero bueno, estoy yéndome por las ramas. [La rutina de carga del ZX-Spectrum estaba almacenado en ROM](https://worldofspectrum.net/legacy-info/spectrum-rom-load-routine/), por lo que no podía cambiarse; y era necesario hacerlo para poder introducir los "ganchos" que ejecutarían el código del juego durante las esperas. Así que lo primero que se cargaba era en realidad una nueva rutina de carga, que se empleaba siempre para cargar el resto del programa, es decir, normalmente la pantalla de carga y los bloques de código máquina del mismo.

Como colofón, decir que todo esto introducía siempre una disyuntiva: ¿ampliar el tiempo empleado para la carga del programa con bloques de código *innecesario* (al menos directamente) para el programa en sí, o disminuirlo al mínimo imprescindible? Lo cierto es que se decidió que sí, que era mejor que el programa tardara 5' en cargar en lugar de 3'30" mirando a una pantalla vacía. Así, las rutinas de carga especializadas como esta (también había otras, como de carga rápida) o las pantallas de carga (que te daban un componente artístico que admirar mientras el programa cargaba) formaban parte de estos bloques de código *innecesario*.