Présentation du jeu

Le jeu The Wizard's Castle, écrit à l'origine pour la plateforme Exidy Sorcerer, contient une ligne de code mystérieuse : 10 REM"_(C2SLFF4. Cette ligne est une déclaration REM, un type de commentaire dans le langage BASIC utilisé à l'époque.

Le code mystérieux

La partie intéressante de cette ligne est le code "_(C2SLFF4, qui semble être du texte aléatoire ou une erreur de frappe. Cependant, il s'agit en réalité de code Z80, un langage de machine utilisé par le processeur Zilog Z80 de l'Exidy Sorcerer.

22 5F 28   LD   (285Fh),HL  ; " _ (
43         LD   B,E         ; C  
32 53 4C   LD   (4C53h),A   ; 2 S L
46         LD   B,(HL)      ; F
46         LD   B,(HL)      ; F
34         INC  (HL)        ; 4

Ce code Z80 est appelé par la fonction USR() du jeu, qui permet d'exécuter du code machine à partir de l'interpréteur BASIC. Le code est stocké dans la zone de mémoire où se trouve la déclaration REM, et est exécuté lorsque la fonction USR() est appelée.

Implications et limites

Le code Z80 caché dans la déclaration REM est utilisé pour initialiser le générateur de nombres aléatoires du jeu. La fonction USR() écrit un caractère sur l'écran à l'adresse 0xF7FF, qui est ensuite lu par la fonction PEEK() pour initialiser le générateur de nombres aléatoires. Cela permet de créer une séquence de nombres aléatoires différente à chaque fois que le jeu est lancé.

Cependant, le code Z80 utilisé est relativement simple et ne semble pas avoir d'effet significatif sur le jeu. Il est possible que le code ait été utilisé pour des raisons de compatibilité ou pour résoudre des problèmes techniques spécifiques à la plateforme Exidy Sorcerer.