Historiks #08-1 : Memory Error!
TL;DR
Cet article, dans la continuité du précédent, fait l'étude de "Memory Full", un livre qui prétend décrire l'histoire de la demoscene CPC.
Je vais évoquer un florilège non exhaustif d'erreurs diverses qui émaillent l'ouvrage et qui auraient pu être évitées.
Je vais évoquer dans ce billet les erreurs faites sur quelques démos (Logon 3, Révolog, Amazing, Yao, Armaxess, KKB First, 5KB 3) en commençant par les tendances artistiques de la fin des années 80...
Trash design
L'auteur évoque l'influence "hard rock/heavy metal" sur les graphismes des démos de la fin des années 80, début des années 90.
On ne voit pas très bien dans quelles démos il est allé chercher ça, puisque les rares graphistes qui participaient à des démos n'étaient pas vraiment attirés par ce genre de musique.
Le crâne dessiné par Brad pour The Demo, par exemple, n'est pas du tout lié à une influence hard rock, tout comme les nombreux dessins que Zebigboss et Hightower vont produire durant leur période d'activité sur CPC pour Logon.
L'auteur ne s'arrête pas en si bon chemin... Après les graphismes... La musique !!
On sent bien l'influence hard rock dans 'Oh mummy' et 'Cybernoid 2', et finalement dans à peu près tous les programmes écrits sur CPC 😂
Logon Demo 3 : Erreur de CRTC...
Il s'agit ici d'une petite coquille, mais qui permet d'évoquer avec vous les problèmes de compatibilité entre les CPC...
C'est sur les CRTC 1 et 2 qu'un problème de compatibilité s'est posé et non le CRTC 0, puisque c'était le circuit qui équipait mon CPC.
Même si ce CRTC 0 est moins facile à "maitriser" qu'un CRTC 1, c'est bien ce circuit qui a d'abord été privilégié pour les démos. Pour l'anecdote, j'ai rencontré des amateurs de démos qui avaient échangé leur machine pour pouvoir disposer de ce CRTC à l'époque.
J'ai été très déçu de voir ma démo 3 bugger sur d'autres CPC, mais pas forcément surpris car ces problèmes de compatibilité existaient sur d'autres plateformes, comme par exemple le circuit vidéo des premiers ATARI ST ou les cartes graphiques des PC, et en particulier les PC1512 et PC1640 de Amstrad.
Je me suis rendu compte du problème de CRTC de cette "démo" dans un magasin d'informatique ou travaillait à l'époque mon meilleur ami (R.I.P Claude RAOUX, auteur de l'outil disque Udisk) et à qui j'avais montré mes démos. La surprise était d'autant plus grande que le "truc de répétition de ligne utilisé" fonctionnait bien en Basic sur toutes les machines.
Il était alors difficile de se rendre compte de l'importance du problème, et à quoi il était lié. Car si il peut paraitre évident de nos jours que c'est une différence de CRTC qui est à l'origine des problèmes de compatibilité, ça ne l'était en fait pas du tout, car certains problèmes aurait très bien pu avoir d'autres origines. J'ai par exemple indiqué dans un article précédent que les problèmes du mode "interlace" sur CPC ne sont pas liés au CRTC, mais au GATE ARRAY.
Le jeu Crafon & Xunk, écrit par Rémi Herbulot, contenait un test CRTC rudimentaire. Pour l'anecdote, j'avais amené le jeu craqué chez un ami et j'ai été surpris de ne pas voir le scrolling transitionnel entre les écrans sur sa machine, alors que ça marchait très bien chez moi. J'ai été encore plus surpris lorsque j'ai viré le test pour forcer le scrolling sur sa machine et que j'ai vu que ça marchait très bien. Le test éliminait 2 CRTC et considérait que le CRTC 1 était aussi un CRTC 2.
Depuis l'affaire Appolo 13, ces deux CRTC ont divorcé...
Revolog : Protégée ?
L'auteur pense que la démo Revolog a été diffusée de manière protégée et que ça faisait partie de ses caractéristiques...
La version publique de Revolog n'a jamais été protégée.
Mon objectif était de propager les techniques, pas de faire l'inverse.
C'est un peu comme si l'auteur d'un fanzine disque le protégeait avec un format incompatible au niveau disque et au niveau CRTC avec de vrais CPC, et illisible par la plupart des émulateurs... Ce ne serait pas très malin !!!!
J'ai protégé une version de Revolog spécifiquement destinée à Rubi car il m'avait envoyé sa protection dans nos premiers échanges pour que je la teste. Je voulais tenter cet exercice, après avoir si longtemps fait le contraire, et je n'ai rien trouvé de mieux que la démo que j'avais sous la main.
Mais Rubi a amené sa version à la rédaction de Amstrad 100% et elle s'est propagée en parallèle de la version officielle.
Ce que ne raconte pas l'auteur, c'est si cette protection est restée inviolée, puisque personne n'a jamais revendiqué y être parvenu...
L'explication technique donnée par l'auteur concernant la méthode que j'ai employé pour crypter la démo est un autre fake.
Je n'ai jamais utilisé la mémoire interne de la Multiface II (créée en 1986 😂 ) pour y loger quoi que ce soit. L'encart qui suit explique comment cette protection a été réellement créée :
Ces propos de l'auteur envers "Famous Cach" n'avaient rien à faire dans un tel ouvrage.
Rubi n'a rien "admis" car il ne savait pas comment la démo était protégée.
Il a déduit tout seul que la protection ne pouvait être cassée que grâce à une cartouche hardware, et il m'a juste indiqué l'adresse du 2ème octet du JR. 😮
Amazing Demo-Déluge de Fakes !
Chargement statique...
Selon l'auteur du roman rien ne bouge à l'écran pendant que la démo charge...
Il compte pour du beurre, le compteur géant qui compte les kilos lus ?
Détection CRTC
Oui...encore!
Selon l'auteur du roman, il a fallu attendre The Demo (1991) pour que le CRTC soit testé :
Une image valant plus que mille mots, voici l'intro de Amazing Demo sortie en janvier 1990, un an avant The Demo :
Raccourcis sur les ruptures !
L'auteur a pris beaucoup de temps pour faire la genèse de certaines techniques.
Pour la technique de rupture, utilisée aujourd'hui dans pratiquement toutes les démos, il oublie une étape logique dans son évolution.
L'étape qui est passée à la trappe permet pourtant de comprendre l'évolution logique des techniques de rupture, qui sont tant déclamées dans l'ouvrage.
Jusqu'alors les écrans utilisaient toujours une seule rupture dans le frame. Pour le profane, c'est un peu comme si les démos (ou pratiquement tous les jeux) précédents affichaient tous seulement 2 zones différentes sur tout l'écran.
Comme on peut le voir sur l'image plus bas, la première partie de Amazing Demo présente de nombreux scrollings différentiels. Il fallait comprendre la logique du frame pour augmenter le nombre de zones sur un écran. D'un point de vue technique pour cette partie, cela consiste à positionner CRTC R4=0 pour créer plus d'une rupture de plusieurs lignes chacune (zones) par frame (écran).
Cela permet l'affichage de 17 scrollings de 8 lignes animés avec 3 vitesses différentes. Cette étape est importante pour comprendre la suivante, qui consistait alors à abaisser également le nombre de lignes par caractère à 1 (CRTC R9=0) et obtenir des zones de une ligne, qu'on appelle aujourd'hui communément "Rupture ligne à ligne". Rien de plus logique !
Switch Animation
Le principe d'un effet non négligeable existe dans la première partie et a été totalement ignoré par l'auteur.
Comme on peut le constater sur l'image ci-dessous, les textes mentionnant "Logon System" et "Malibu" se déforment en ondulant en même temps qu'ils se déplacent horizontalement (voir la ligne numéro 5 violette) :
Cet effet utilise le principe de ralentissement d'un scrolling hardware basé sur le "switching" de page, introduit dans "Longshot démo".
Ainsi, au lieu "d'injecter" un caractère seulement décalé, on lui applique une transformation. Le nombre de pages alternantes fixe ainsi le nombre d'étapes d'animation appliqué au motif (ici des caractères). Ainsi, plus le scrolling est "lent" plus il est possible de créer des étapes d'animation.
Ce principe sera réutilisé par la suite dans quelques démos sous diverses formes.
En mode graphique 16 couleurs ?
L'auteur trouve Amazing Démo si colorée qu'il croit qu'elle est en mode graphique 0 :
"Amazing Demo" est intégralement en mode 2 et en mode 1, à l'exception de 2 petits logos.
L'introduction de P007 était en mode 0, mais n'appartient pas à la version officielle et ne représente de toute manière pas l'intégralité de la démo.
Ruptures by Naminu
L'auteur pense que les parties de Naminu réalisent des scrollings hardware...
Naminu n'était pas à l'aise avec la rupture et s'intéressait davantage à la 3D ou au AY. Il y a une seule partie avec une rupture.
Ses scrollings n'étaient pas "hardware", pas plus que dans la Malibu démo 4 d'ailleurs.
Amazing Drama...
"Don de soi", "trahison", "conflits" et "élimination"... 🙄 (soupir)
Sortez le pop corn ! Il est ici question de l'introduction réalisée par P007.
L'auteur semble admirer tellement cette démo qu'il pense qu'elle était une consécration qui méritait bien son petit drama (encore un!) et un petit agacement :
On l'a déjà vu, écrire que Fefesse était mon "concurrent" est un fake.
Ecrire que j'ai "supprimé" la partie de P007 lorsque j'ai réédité "Amazing Demo" en 2021 est également un fake. L'auteur, qui prétend avoir discuté avec moi (ou même avec des personnes ayant eu cette démo à l'époque), semble avoir la mémoire courte...
Il y a eu deux versions de "Amazing Demo" en 1990.
C'est malheureusement la version la moins diffusée qui a atterri sur Cpc Power.
"Amazing Demo" était prête à sortir fin 1989. J'attendais à l'époque une introduction que devait écrire P007. Sa partie était bâclée. Le problème que cela posait était surtout les "fuckings" et insultes contenues dans les textes.
On voit ce que donnent ce genre de textes, encore de nos jours...
Les tous premiers retours de "Amazing Demo" ont été catastrophiques, à cause des incompatibilités CRTC mais aussi à cause d'un format de 19 secteurs/pistes.
J'ai pris la décision de faire une seconde version avec 17 secteurs/pistes sans l'introduction avec les textes d'insultes, que j'ai renvoyé à tous mes contacts.
Fin 2021, je suis reparti de la version officielle en ajoutant une introduction présentant un nouvel effet et de nouvelles techniques afin d'introduire le Compendium, un document technique sur l'architecture vidéo des CPC.
Faisant preuve de la même intégrité journalistique dont il se targue dans son ouvrage, l'auteur va dénigrer en mars 2022, de manière "ironique" et mensongère cette nouvelle introduction dans sa démo OSC#2, tout en passant sous silence la sortie du Compendium.
Scrollings en splitrasters
L'auteur pense que la démo 3 de GPA est la première étape vers une technique de "split rasters mobiles".
La première démo à avoir déplacé un splitraster date de septembre 1989.
Il s'agissait de la partie Phenomena pour la future démo 5 de Malibu, programmée par Naminu (que j'ai découverte lors de l'Amstrad Expo 89).
Phenomena est sortie seule et également comme une partie de The Amazing Demo avec des textes différents. La "End Part" de Amazing Demo utilise un effet similaire que j'ai honteusement imité :
Si on cherche à décrire une "progression technique", la phrase suivante est donc incorrecte, surtout si on s'attache à prioriser chaque chose :
On aurait donc plutôt du lire :
Démo interactive
Toujours à propos de la GPA Demo 3, l'auteur croit que c'est cette dernière qui a lancé la "mode" de l'interactivité des démos :
C'est encore inexact. Décidément.
On ne voit pas trop ou est la "prouesse" mais Naminu avait néanmoins initié cette "mode" dans sa démo "Phenomena" (ci-dessus) mais également dans la partie "Cool Demo" de Amazing Demo, en gérant des compteurs "validés" et va d'ailleurs récidiver dans "The Demo".
Quitte à décrire ce type de "défi", on pourra s'étonner que la mode des scrollings textes les plus longs, héritée de l'Atari, soit passée sous silence.
Yao Demo
N'oubliez pas que l'auteur a une conception high-level des démos CPC... Au sujet des musiques de la Yao demo, il écrit :
C'est à se demander si l'auteur a lancé cette démo ?
Voici les musiques CPC utilisées dans Yao Demo :
Il n'y a pas de "retard" de Fefesse, car il n'y avait aucune "course" ou "compétition" entre nous.
La dernière partie de Yao Demo joue la musique du jeu "Thrust" que j'ai transféré d'Atari ST.
Fefesse l'écrit dans son scrolling et m'avait demandé si il pouvait la mettre dans sa démo, ce que j'avais bien entendu accepté. Je ne me suis jamais senti "propriétaire" de la dite musique, que j'ai juste portée sur CPC.
L'auteur va faire une comparaison péjorative de la démo de Fefesse avec le jeu "Mission Genocide" (jeu cité 12 fois dans l'ouvrage!).
Bref, l'écran scrolle vers le bas (et non vers le haut).
Dans Yao demo, on peut également voir un scrolling horizontal qui se déplace verticalement en utilisant une table sinusoïdale :
Rappelons qu'être le "premier" n'a que peu d'importance, surtout quand tout est comparé avec des techniques utilisées dans des jeux.
D'autres démos avaient déjà fait ce type de scrolling. Le type de rupture n'a absolument aucune importance, même si je préfère celles qui sentent la lavande. Bref, cela existait au moins déjà dans la partie Megaraster de Amazing Demo que l'auteur est précisément en train de comparer avec la Yao Demo...🤪
Armaxess Demo
Rappelez vous....
Il s'agit de cette démo "culte" que j'évoquais dans un précédent billet et qui est prise en référence assez souvent alors que personne ne l'avait vue. 🤣
L'analyse technique qui en est faite dans l'ouvrage est d'ailleurs inexacte...
Le scrolling de cette partie n'est pas hardware mais software.
Il est ralenti au demi octet grâce à un page flipping.
KKB First
En page 62, l'auteur consacre un gros chapitre pour décrire la "technique" derrière l'écran d'introduction de la démo KKB First.
Il avait probablement extrait de son document, en cours d'écriture, le contenu de ce chapitre pour le glisser dans le fanzine 64NOPS N°1.
N'ayant pas compris lui-même comment la couleur d'un splitraster pouvait "changer aussi vite", il avait alors inventé de toute pièce une légende urbaine dont il n'a jamais démontré la réalité:
Dans la première version de son article, il apportait une réponse technique farfelue à cette question jusqu'à ce qu'il en soit détrompé, montrant qu'il n'était pas allé voir par lui-même.
Au lieu de retirer tout le chapitre dans son ouvrage, il l'a tout de même conservé en continuant de considérer que la technique employée "plaçait les codeurs [de l'époque] devant une apparente impossibilité technique" (page 63).
Ainsi, il pense que si lui n'a pas compris une chose, c'est que ça doit être trop compliqué pour les autres. Au point d'imaginer que les codeurs "impressionnés" sont restés des années sans comprendre ce qui se passait, et surtout sans aller voir dans le code si ils estimaient être devant "l'astuce" du siècle...😂
N'oublions pas tout de même le nombre de personnes qui ont décortiqué la technique de scrolling hardware vertical de "Mission Genocide"...
Pour revenir sur KKB First, l'auteur devrait pourtant savoir qu'une appréciation de démo est subjective et que son avis ne fait pas autorité (même si il le croit).
KKB First était certes une démo intéressante grâce à ses enchainements, mais elle souffrait de graphismes assez passables, et pas seulement parce qu'elle est faite pour être regardée sur un moniteur monochrome.
On s'interrogera d'ailleurs que l'image d'illustration ait été faite à partir d'un moniteur couleur sélectionné avec l'émulateur Winape.
Afin de donner corps à cette comparaison douteuse, l'auteur s'amuse à faire une distinction entre une "onescreen" et une méga-demo (comme Yao ou Amazing) pour éviter de les comparer. Cette distinction est grotesque puisque les méga-demos de l'époque étaient des groupements de "onescreen" sans aucun rapport entre elles.
On peut donc tout à fait comparer cette démo avec des parties de méga démos.
Et en réalité, la dernière partie de la Yao Demo ou la partie Mega17 de Naminu dans Amazing Demo étaient toutes aussi scénarisées et plaisantes à regarder :
Ici encore, rien n'est justifié. Ce sont des affirmations gratuites.
Qui sont donc ces personnes qui, à l'instar de l'auteur, ont jugé cette démo surestimée à l'époque ou ne présentant aucune nouveauté ?
L'auteur va ensuite se servir d'un extrait choisi d'un texte de Elmsoft pour en faire une nouvelle généralité :
Les propos sont sortis de leur contexte, puisque Elmsoft introduit son texte par "IT'S A JOKE CASE SOME MEMBERS OF LOGON SYSTEM FAIL TO REALIZE THAT...". L'auteur semble avoir zappé ça....
Je suis curieux de connaitre les "nombreuses démos" qui faisaient cette comparaison fréquente entre "KKB First" et "Amazing Demo"... 🥵
5KB DEMO 3
Cette démo n'a jamais été terminée... Il est utile de le rappeler...
C'est ballot, mais Bittlejuice n'a jamais fait partie des 5KB.
Et ils ne connaissaient pas ce dernier avant l'Euromeeting 92...
Surtout sans avoir demandé à ceux qui savent...😬
L'auteur ne connait pas l'histoire de cette démo, ni même la tête qu'elle avait avant que Bitteljuice ne refasse quelques dessins, ou même le rôle que j'ai pu jouer.
Après tout, il est capable d'écrire un roman en se basant sur quelques articles, la météo, des scrollings texte et des récits d'adolescents...Il n'est plus à ça près.
Et lorsqu'il va évoquer le loader musical de cette démo :
Super sympa pour les deux codeurs.
L'auteur n'aime sans doute pas patienter pour charger une démo, mais une fois encore, le contexte de l'époque est totalement passé à la trappe. Cette époque ou les gens prenaient le temps de lire un scrolling de 2 heures et taper patiemment des pages de listings édités dans les magazines.
Par ailleurs, je ne trouve pas les chargements de 5KB démo 3 si "intolérables" que l'auteur le prétend, et peut-être ne l'a t il pas regardé sur une vraie machine vu que certains screenshots sont réalisés sur une vieille version de Winape...
Enfin, je rappelle de nouveau que la 5KB démo 3 n'était pas achevée et qu'elle fait partie des démos que j'ai contribué à sauver des eaux. Mais ai je tout diffusé ?
Si vous pensez que ce sont les seules erreurs qui jalonnent le roman, attendez de voir la suite...
Longshot / Logon System