Général :
  Art & Démo
  Transferts
  Les dogmes
  Les notes

Histoires :
  Redevance TV
  SFR vs SCR
  Immatriculation
  Pix'n Love

Les machines :
  Commodore 64
  Différents CPC
  Plus & CPC

Langue en vrac :
  Cédérom
  La "flashouille"
  Citations
  Citations (moi)

Bonus Tracks :
  Climax (Part 1)
  Climax (Part 2)
  Climax (Part 3)
  Climax (Part 4)
  CAT de l'AE05
  Imperial Mahjong

Pages ratées
  Introduction
  SAS strike force
  Shadow Dancer
  Jim Power
  Mythos
  Dominator
  Galaxy Force
  Teenage Queen
  Mortevielle
  Relief Action
  Asalto y castigo
  ISS
  Face Hugger
  Batman Forever
  A Step Beyond
  Palettes de porc
  Hall of Shame

Le pourquoi du comment du CAT de l'AE05
Article initialement prévu pour le journal du Croco Chanel 4, rédigé en mars 2007
article révisé le 30/03/2014

La révélation du chat
Les CAT des disquettes dotées d'une protection Hexagone ou Alcatraz ont probablement eu le premier cheatCAT de l'histoire, puisqu'ils dissimulaient dans l'encre 3 leur logo. Le plus subtil étant qu'il avaient bien caché leur jeu à l'époque, en n'affichant le logo qu'une fois l'encre 3 mise en bleu. Toutefois, on a le temps de voir apparaître le logo si on tape CAT alors que la couleur de fond est différente. Ce CAT fonctionne dans tous les cas de figure : CAT, ùDIR, mode 0,1 ou 2... ce qui est rare même de nos jours.

Je vous propose de regarder le CAT de l'AE2005 en détail, car il possède 4 cheatCAT imbriquées les uns dans les autres. Ils n'ont jamais été tous trouvé, j'ai été obligé de les dévoiler lors du Croco Chanel 4. Cet article sera l'occasion de vous le faire découvrir en détail, ce qui est mérité car certains d'entre vous ont passé du temps dessus.

Tout d'abord, j'aimerais donner un conseil à quiconque veut faire des CAT'arts : N'utilisez JAMAIS DiscOMagic. Cette saloperie (bien pratique à certains égards) reformule les entrées du CAT par ordre alphabétique à la moindre opération de fichier. Cela a la fâcheuse tendance à ruiner tout votre travail si vous cherchiez un effet quelconque avec ùDIR, car cette commande n'opère pas de tri alphabétique, mais affiche les entrées du CAT dans l'ordre où elles apparaissent sur les secteurs de la piste du CAT. En fait, j'avoue avoir commis cette erreur lorsque l'AE05 est sortie. Erreur corrigée seulement par la suite. Fin de la parenthèse.

Pour rappel, cet article concerne donc le CAT de cette compil.

Figarette est là-dessous ?
Le premier constat est que le CAT est un poil long à s'afficher, bien qu'on n'y prête peu attention sur un émulateur. En revanche, le message affiché n'a rien d'extraordinaire. D'ailleurs, quand on sait que la disquette a été linkée par Chany, on se doute qu'elle comporte des fichiers. Mais ce n'est pourtant pas son style de les cacher... Le CAT ressemble à un CAT normal, avec un unique fichier de lancement, très classique, quoi. D'ailleurs, quelque soit le mode d'écran, que l'on tape CAT ou ùDIR, le CAT apparaît normalement. Donc pas d'inquiétude... mais si vous le tentez sur un 464, l'écran se torche de tout un dialecte plutôt douteux... Il y a anguille sous roche...

Explications :
Le linkage de la disquette ayant été fait par Chany, il me fallait absolument réserver suffisamment d'entrées pour des vrais fichiers. Il en a utilisé 15, ce qui me laissait 49 entrées pour créer un petit CAT, mais surtout pour le cacher. Le nombre de cas de figure à gérer ne m'a pas permis de rendre ce CAT fonctionnel sur le 464. J'ai tenté de camoufler tous les effets secondaires qui pourraient rendre la supercherie discernable. Mais il reste certaines "petites choses" que pratiquement personne n'a repérées :
- Lenteur du CAT : c'est surtout prononcé en mode 1. C'est en fait peu détectable sur émulateur car on s'habitue à des timings pourris.
- Changement de l'encre 15 dans le cas d'un ùDIR en mode 2 : pas facile à détecter, mais c'est lui qui me sert à faire un saut conditionnel !
- Apparition d'une ligne en bas de l'écran si l'encre du papier texte et graphique sont différents : Par exemple : PAPER 3:CLS:CAT ou encore : GRAPHICS PAPER 2:CAT Il s'agit du cheatCAT le plus facile à trouver.

Un CAT apparemment sans histoire... mais qui n'aime pas le 464 !


Janneton prend sa fauciiiilleuuuu...
Les premiers curieux, en scannant la mémoire, sont tombés sur un message en clair indiquant qu'il existe 4 messages cachés. En fait, il est probablement plus simple d'éditer les secteurs C1 à C4 de la piste 0 avec Discologie pour s'en rendre compte. Le message n'avait rien de caché, puisqu'il était justement à destination des curieux... C'est ce que j'appelle le scrolltext du pauvre. Il restait toujours 4 cheats à chercher !

Explications :
En fait, depuis longtemps, on peut voir des messages cachés entre les entrées des CATalogues. Par exemple, les CATs de Prodatron parlent de tout et n'importe quoi. On dispose exactement de 1024 octets pour une disquette sans fichiers. Chaque entrée de CAT comporte 32 octets, généralement répartis sur 2 lignes sur les éditeurs de disquette. Le nom du fichier apparaissant sur les 12 premiers octets de la 1ère ligne et les suivants désignent la place et la taille du fichier, on peut utiliser la 2nde ligne des entrées modifiées (donc non utilisées par un fichier) pour y mettre des commentaires.

Le premier un peu timiiideuuu...
Le premier message caché a été trouvé par Targhan (CAT en version beta) puis Régis Nicolas, auteur de CoPaCabana et fin limier. Targhan avait trouvé qu'en changeant la couleur du papier sans effacer l'écran (CLG 2), la commande CAT dessinait une ligne en bas de l'écran... avec la commande ORIGIN, il a réussi à le faire apparaître dans l'écran (personnellement, j'utilise plutôt MOVE 100,100 car cette commande est plus courte). Régis, lui, plus frontal, a réussi à lire le texte en mémoire sans pour autant savoir le faire apparaître proprement. J'ai été séduit par l'armée d'outils technologiques qu'il a déployés. Il lui manquait juste la première lettre (certes dommage).

Explications :
L'octet &05 permet d'afficher du texte à la position du curseur graphique. Malheureusement, cette position est par défaut en 0,0. Donc seule la ligne supérieure du texte est visible. Il suffit de mettre un texte n'utilisant absolument pas la ligne du haut pour que le texte soit complètement caché. Pas de majuscules, pas de lettres hautes ni de chiffres...

Le 2nd un peu moins saaaageuuu...
Le second cheatmode n'a pas été trouvé au moment où j'écris ces lignes. En fait, c'est réellement lui qui est l'idée de base de mon CAT, complètement construit autour de cette astuce. Il fut le plus difficile à réaliser. On peut même dire que les autres cheats sont du remplissage. Il est d'une facilité déconcertante à trouver, et pourtant tout le monde a semblé passer à côté. Vraiment juste à côté : en essayant en mode 0, mode 1, mode 2, pareil avec CAT et ùDIR... rien. Quelles sont les différences de ces cas de figure ? Dans certains cas, le CAT s'affiche en 1, 2, 4 ou 5 colonnes... hum. Lequel manque ? Fastoche ! Il manque 3 ! Mais comment fait-on pour afficher un CAT en 3 colonnes ? Fastoche aussi ! Tapez : MODE 2:WINDOW 1,60,1,25 et le tour est joué. CAT vous fera apparaître une petite animation très sobre avec changement de couleur de l'écran.

Explications :
En fait, le principe d'un CAT est que les instructions sont lues dans un certain ordre. Le tout est de bien s'organiser pour que les instructions tombent toujours au bon moment. Par exemple, dans mon CAT, les changements de couleur ne s'opèrent que dans un seul cas. Pour qu'il ne s'exécutent pas dans les 6 autres cas, il convient de s'arranger pour qu'à chaque fois, une instruction &15 les précède, mais que cette instruction ne les précède pas dans l'affichage CAT en 3 colonnes. Cela veut aussi dire qu'on ne peut plus rendre systématique l'utilisation de &15 pour masquer les informations du système (taille de fichier). On remplacera cette instruction par d'autres bidouilles : &18, &0F+&00, &19, &1A... les options ne manquent pas, chacune ayant ses contraintes. Face à ces contraintes, il m'a manqué un simple octet pour éviter que des cochonneries n'apparaissent à l'écran juste avant le scrolling dans le CAT.

Le 3ème encore moins saaageuuu...
Régis, aussi bien que Pulko ont réussi à en faire apparaître des bouts incohérents, à travers leurs dissections aléatoires... notamment le texte TEDY, qui permet de faire apparaître un ours dans le menu de la demo et quelques hiéroglyphes de type : <([])> Il fallait effectivement faire apparaître le second cheatmode pour pouvoir sans mal faire apparaître ces petites choses en changeant l'encre 3 comme chez Hexagon (classique donc). Ça ne mangeait pas de pain.

Explications :
Ben là, c'est vite fait. Pour que le message n'apparaisse pas trop facilement avec l'éditeur de disco, on peut scinder le texte en plusieurs morceaux, répartis sur différentes entrées, mais aussi ajouter le bit de poids fort (qui sera filtré à la lecture du CAT) de façon que le caractère ne soit pas reconnu comme du texte par un éditeur hexa. Lors de l'exécution du CAT, prendre bien garde à camoufler l'encre avant de n'afficher quoi que ce soit. Ça semble évident, mais le problème du CAT est justement l'ordre d'exécution des instructions.

Ce que fit le quatrièèèèmeuuu....
Bon, C'est là que Pulko a excellé, car il a osé un raccourci fort peu élégant, mais a réussi à faire apparaître l'ultime message caché qu'on ne peut décemment faire apparaître qu'en dévoilant les 3 cheats précédents. Il a traduit les hiéroglyphes en tapant SYMBOL AFTER 16 (33 suffisait). Cela fait péniblement apparaître à la place des signes (dans l'ordre) "<([])>" le message CALL &BD10,9 qui est l'homonyme du thème du concours :"Call &BD19"... Comme c'est beau. Taper ça avant de lancer AE05 permettait effectivement de faire apparaître le Cheatmode codé par Megachur... que d'aventures !

Un si petit message si bien caché

Pas si facile d'écrire avec les contraintes d'un Symbol After dans un CAT

Explications :
En fait, le SYMBOL AFTER est probablement le pire affront que Locomotive ait pu nous faire. Car cette commande est mise par défaut à une valeur de 240, alors que le CAT, filtrant le 8ème bit ne peut rien redéfinir au-dessus de 127... sachant que si même c'était possible, une limite de taille fait qu'il faut faire tenir la commande suivie de 9 paramètres pour redéfinir quelque chose. Au mieux, le point prendra une valeur et barrera le caractère d'un 46 disgracieux à la 6ème ligne de pixel. Et chaque ligne étant paramétrée par des valeurs de &7F au maximum (8ème bit filtré !), il manquera un colonne de pixels à gauche du caractère... C'est assez boiteux. Mais je ne vais pas me faire plaindre, Call &BD10,9 était assez lisible pour que Pulko le reconstitue à partir de pièces dans le désordre !

Si vous le saviez madaaaameuuu...
...vous lanceriez la cheatpart ! Comment se fait-il, alors que cette solution était donnée par Pulko sur la mailing list cpc_fr, que si peu de personnes l'aient lancée ? Est-ce la morale de l'histoire ? :-)

Voici la formule magique qui permet d'afficher tous les cheatCAT à la suite :
MODE 1 (si ce n'est pas déjà le cas)

SYMBOL AFTER 33 (active le cheat4)
MOVE 100,100 (active le cheat 1)
CAT (active le cheat4 et montre le cheat1)
MODE 2:WINDOW 1,60,1,25 (active le cheat2)
CAT (montre le cheat2 et active les cheat3 et 4)
INK 3,22 (affiche les cheat 3 et 4)

Si ce genre de technique suscite votre curiosité, vous êtes très bien tombés, car justement un article très détaillé sur les possibilités des CAT'arts est écrit dans ces pages.