Página 1 de 1

¿Cómo hacer un disco arrancable por menú de ZX Spectrum +3?

Publicado: 07 Oct 2021, 20:02
por cpcbegin

Re: ¿Cómo hacer un disco arrancable por menú de ZX Spectrum +3?

Publicado: 08 Oct 2021, 19:35
por zup
Hay (al menos) otros dos métodos para hacerlo, pero no son "para usuarios". Hablo de memorieta.

El menos complicado es crear en el directorio raíz un fichero con el nombre * (exactamente eso, un asterisco). Necesitarás un editor de disco para hacerlo, y no tiene demasiadas ventajas (al ser un fichero con un nombre ilegal hace que no se pueda cotillear tan fácil en sus contenidos, por otra parte con un editor de disco lo puedes renombrar y quitar esa "protección").

La segunda parte es la que utilizan los juegos comerciales. Si el contenido del sector de arranque cumple unas condiciones (esencialmente, un checksum), el Spectrum cargará este sector al final de la RAM 7 (dirección 0xFE00) y saltará a la dirección 0xFE10. A partir de ahí debería estar un programa en código máquina que sea capaz de cargar el resto del juego desde disco. La ventaja de este método es que tu disco no tiene que ser un disco con formato "legal", lo que dificulta la copia y el destripado del juego.

El orden de carga para el Spectrum +3 sería:
1.- Boot sector.
2.- Archivo *.
3.- Archivo disk.
4.- Cinta.

NOTA: Obviamente, estas "protecciones" eran relativamente eficaces cuando los hackers o piratas usaban Spectrums... con un emulador siempre estás a dos teclas de poder examinar cargadores, juegos y todo lo que quieras.

Re: ¿Cómo hacer un disco arrancable por menú de ZX Spectrum +3?

Publicado: 09 Oct 2021, 08:27
por cpcbegin
Muy interesantes esos métodos que como dices son más bien para programadores muy avanzados.
La opción del archivo DISK la veo bastante accesible para quienes no dominamos el código máquina y abre la puerta a crear menús para tus compilaciones que se puedan crear por cursores, números y joysticks como el que hice para Amstrad CPC.

Re: ¿Cómo hacer un disco arrancable por menú de ZX Spectrum +3?

Publicado: 12 Oct 2021, 21:22
por cpcbegin