Décortiquons les roms System 1 – Pas à pas en Basic

Le firmware (et le basic) de notre CPC a été désassemblé et commenté il y a une dizaine d’années et mis sur GitHub par Mike « Bread80 » Sutton il y a 2 ans.

Ce code est un exemple d’ingénierie et de bonnes idées. Notre basic n’était pas réputé pour sa rapidité pour rien.

Cette nouvelle rubrique ira donc décortiquer des parties de ces roms System.

L’idée n’est pas de moi (qui a dit: « comme d’habitude ? ») mais de Stéphane « Siko » Sikora qui expliquait le fonctionnement de la touche COPY sur open.amstrad.info.


Premier épisode: un pas à pas en Basic

Pour mon émulateur CrocoDS, j’ai voulu implémenter un débogueur pas à pas du Basic

Pas certains que cela soit indispensable, mais ça me faisait envie et c’est le plus important.

Le pas à pas existe déjà en Basic grâce à la commande TRON.

Alors, vous me direz, pourquoi implémenter une fonction qui existe déjà ?

CrocoDS possède son propre éditeur et indiqué juste le numéro de ligne lors de l’exécution n’est pas ce que j’appelle du debugging… Par contre, c’est une bonne piste pour ce que je veux.

execute_line_atHL (ligne 7245)

Le basic exécuté ligne par ligne via la fonction execute_line_atHL.

Si le trace_flag est à 1, il exécute la fonction do_trace qui affiche le numéro de ligne entre crochets.

À l’emplacement de la fonction do_trace, je place donc l’opcode 0xED,0xFA que le Z80 ne connait pas.

Dans ma fonction des décodages des instructions Z80, j’intercepte donc cet opcode et récupère le numéro de ligne qui se trouve dans la variable address_of_line_number_LB_of_line_of_cur.

Il ne me reste plus qu’à m’amuser avec ce numéro de ligne.

Je pourrais afficher toutes les variables Basic en mémoire à ce moment, mais je ne l’ai pas encore fait.

Nous remarquons aussi que le basic perd 7 NOPs dans chaque ligne Basic pour tester ce TRON qui n’a pas dû être utilisé souvent.


Fin du premier article sur les ROMs System. Est-ce que vous voulez en voir plus ou vous trouvez cela trop chiant ? N’hésitez pas à me critiquer 🙂

Retour de la RGC

OldSchool is Beautiful / Koopa

Ce weekend se tenait la 15ème édition de la RGC, convention rétrogaming. Comme tous les ans, c’est un plaisir de revoir des membres de la famille rétro.

Niveau CPC,

  • une preview du Papy Commando pour GX4000 par Carl-Stephane « Fano » Berquez. Les bases du jeu sont là. J’espère que le projet redémarra assez rapidement
  • une preview de l’excellent Mighty Street Fighter par Alain « MaitreJoeGGP » Plantevin. Ça bouge bien. Nous attendons la version 2 joueurs.
  • une preview de Octopus 21 pour GX4000, 3ème version du jeu Game & Watch pour notre CPC. Réalisée ici par Cyrille « Ayor61 » Gouret. Bientôt disponible sur sa page GameJolt.
  • une preview d’un hack de Kung Fu Master pour GX4000 des GGP.
  • une preview de la carte multi crtc de Eric « ricolaoz » Cottencin.
  • une annonce de Amstrad Cent pour Cent #51 par Stéphane « darksteph » Grull. (la couverture est trop belle)
  • un joli scroll RGC de Claire CheshireCat, prémices d’une future démo ?
  • rien de la part des Crazy Piri mais mon petit doigt me dit qu’ils sortiront quelque chose d’ici la fin de l’année pourtant.

Plein de bonnes choses donc !

Encore une fois, une superbe édition organisée par l’association Retro-gaming Connexion.

Prochaine rencontre, à l’AC 2024 ?

Asterix – L’Iris Blanc

L’Iris Blanc, le 40ème album d’Astérix sort aujourd’hui.

Quel rapport avec le CPC ?

Au fil de la carrière de notre ordinateur favori, un certain nombre de Astérix sont sortis en bandes dessinées. La CPC ayant eu beaucoup de succès en France, il était donc logique que cette BD française (<troll>comme quoi les français savent aussi faire de bonnes bandes dessinées<troll>) s’y retrouve aussi.

D’autres adaptations de bandes dessinées ont été réalisées sur notre CPC avec plus ou moins de bonheur.

Tout le monde se souvient:

  • de Nord et Sud, l’excellente tour par tour d’après Les Tuniques Bleues;
  • de m’enfin, le cluedo à la sauce Gaston;
  • de la marque jaune, dans lequel nous étions vraiment baigné dans l’univers de Edgar P.Jacobs;
  • et bien d’autres.

Trois BDs belges mais je ne l’ai pas fait exprès.

Du très bon, comme du moins bon. Il en a eu tellement que cela mériterait un dossier plus complet sur toutes ces adaptations.

Mais qu’en est-il des Astérix ?

Nous avons eu la chance d’avoir droits à 3 jeux.

Astérix Et La Potion Magique – Cockel Vision (1986)

Que dire ? Le sprite de Astérix est bien fait. Et puis, c’est tout. Lent, moche, injouable. Les collisions entre sprites sont ratées.

J’ai cru à un bug en voyant le hud du haut.

Je suis certains que ce jeu a dégouté de jeunes joueurs à lire les bandes dessinées…

Astérix Et Le Chaudron Magique – Melbourne House (1987)

En anglais uniquement. Pourquoi ?

Déjà plus jouable et globalement plus beau (même si le sprite des héros était mieux dans le précédent). Les sprites répondent bien au joystick… mais il y a trop de clipping. Et surtout, qu’est ce que c’est ennuyant.

4 étoiles sur 5 dans Amstrad Magazine 21. Ils étaient bien généreux.

Astérix Chez Rahazade – Coktel Vision (1987)

Tiens, pas de magie dans le titre de celui-ci ? C’est sans compter la version anglaise, nommée Astérix Et Le Tapis Magique.

Pour une fois, le jeu suit la trame d’une des bandes dessinées. Mais est-ce bien ?

Bof. L’histoire est écrite et vous la subissez du début à la fin.

Entre chaque scène, une partie d’un mauvais pacman vous rappelle que le jeu n’est pas qu’une reprise de la bd version CPC.

Pour le fan de Astérix, sans doute le meilleur des trois épisodes mais, pour les autres, l’intérêt est plus que moyen.

Bilan ?

Tout est bien dispensable. Aucune pépite.

Je ne blâme aucunement les développeurs et graphistes. Il faut se remettre dans les conditions de l’époque où les éditeurs pressaient leur main-d’œuvre. Heureusement, ce n’est plus le cas maintenant (naïf que je suis).

Interview des Black System

Ayant interviewé Luc avant Hervé, l’article sera composé de deux parties.


Interview de Luc Guillaume

RB: Bonjour Luc,

Entre 1988 et 1992, vous avez été très productif avec 28 jeux à travers vos groupes Black System et Tropic Soft. Comment en êtes-vous arrivé à développer sur CPC ?

Luc G.: Bonjour à vous et à tous les fans de la gamme Amstrad CPC !

Quel retour en arrière et flash-back sur les années Black System / Tropic Soft !

Nous avions à l’époque respectivement 17 ans (Luc) et 16 ans (Hervé) et comme 99% des ados de notre génération, on jouait sur notre Amstrad CPC 6128 avec son écran couleur … 

« Gryzor, tu es a jamais dans nos esprits lol  » passionnés donc par le jeu à la base !

Je voulais comprendre comment tout cela marchait, j’ai acheté un premier livre sur le langage Basic puis après un autre sur l’assembleur Z80.

Nous avons réalisé Lubix, notre premier jeu en basic mais on sentait bien que ce langage avait ses limites et ses lenteurs associées.

RB: Est-ce que vous connaissiez quelqu’un qui vous a appris à coder ?

Luc G.: Non, j’ai appris à coder tout seul avec un manuel d’auto-formation à assembleur Z80 mais … ils nous manquait cependant une routine d’animation de sprites.

C’est grâce à Claude Le Moullec que nous remercions très vivement d’ailleurs qui nous a permis de nous envoler en nous envoyant le code de sa propre routine d’affichage de sprites … et là, miracle …

Enfin, des sprites qui s’affichaient devant ou derrière un décor !

Après la suite vous la connaissez : https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=109

Donc encore un grand merci à Monsieur Claude Le Moullec ! sans lequel l’histoire des Black System / Tropic Soft n’aurait pas eu la même destinée et ascension.

RB: Vous réalisiez déjà la musique de vos jeux. Comment se faisait-elle à l’époque ? Actuellement, nous disposons de bons outils de créations musicales sur PC, mais cela devait être moins aisé à l’époque ?

Luc G.: Je composais la musique à la flûte et chaque note après était reproduite par le module sonore de l’Amstrad avec un temps de silence pour faire en sorte qu’elle joue de telle ou telle manière.

RB: Quels étaient les outils utilisés pour faire les jeux ? Quel assembleur, quel logiciel de dessins et de musique ? Était-ce des logiciels maison comme votre compacteur ? Si oui ont-ils été diffusés ? Ou le seront-ils ?

Luc G.: Plus de souvenir sur le nom de l’outil graphique, je passais par un compacteur pour oui transformer le code en assembleur Z80. Après chaque jeu demandait une haute réflexion sur comment le paramétrer, comment éviter les bugs, des séances de tests interminables parfois pour s’assurer qu’il n’y aurait aucun plantage. De la bonne réflexion ou l’esprit devait être logique, cohérent et inventif pour créer telle ou telle fonctionnalité.

RB: Qui faisait quoi ?

Luc G.: Moi Luc, je faisais donc la programmation des jeux et la musique, Hervé lui s’occupait de la partie graphisme. Il était souvent à la base de tel ou tel jeu et laissait son imagination modeler tel ou tel personnage et après on discutait sur comment animer les sprites et sur le type de jeu.

RB: Aviez-vous des contacts avec des développeurs sur CPC ? Des démomakers ?

Luc G.: Principalement, avec Claude le Moullec. Mais on a vite été absorbé par la production de nos jeux vu qu’il y avait en plus une vraie demande de la part de la presse spécialisée autour de l’Amstrad CPC.

RB: Vous rappelez-vous de combien vous gagniez avec un listing dans les divers magazines. Pour le jeu Fugitif, Frédéric Mantegazza a retrouvé les « contrats » avec Lankhor et c’était loin d’être suffisant pour en vivre.

Luc G.: À l’époque la rémunération pratiquée était basée sur le «  kilo-octets »

RB: Vous avez développé la version CPC de Carmen Sandiego ? Comment s’est passée cette collaboration avec Broderbund ?

Luc G.: Un projet intéressant mais très long qui s’est étalé sur au moins 6 mois avec la Chef de projet Véronique Pénet. En fait l’adaptation du jeu sur Amstrad CPC avait été allégée car il y avait trop de données à intégrer.

RB: La même année, vous publiez Fire chez New Deal Productions. Un petit mot à propos de cet éditeur ?

Luc G.: Je me rappelle oui de Fire ! Mais peu de souvenir sur cet éditeur.

RB: À partir de 1992, on perd trace de vous dans le monde Amstrad. Et ce n’est que grâce à votre adresse postale dans le jeu Fruity que je suis retombé sur vous dans un tout autre domaine: la musique Zouk ! Comment s’est passé ce changement de carrière ?

Luc G.: Attiré par la Musique et plus particulièrement par la Musique Zouk mais pas que … nous avons été bercés par les chansons du groupe Kassav’ . J’ai toujours eu un esprit très dansant et donc cela a ouvert une autre sphère créative chez moi et toujours aussi passionnante.

RB: Une carrière dans le jeu vidéo ne vous a pas attiré ?

Luc G.: Non, absolument pas. L’avènement de l’Atari puis de l’Amiga n’a pas suscité chez nous de vocation particulière. Nous en sommes donc restés là ! Il faut souligner aussi que les systèmes d’exploitation comme le 68000 devenaient aussi complexes à cerner, le potentiel technique et graphique des machines ayant très vite évolué.

RB: Si j’ai retrouvé votre trace, je n’ai rien trouvé sur votre frère Hervé. Que devient-il ?

Luc G.: Vous pouvez le joindre. Hervé Guillaume au 06xxx, je lui ai déjà parlé de cette interview.

RB: Avez-vous gardé des contacts avec d’anciennes personnes du monde Amstrad ? En aviez-vous déjà à l’époque ?

Luc G.: Non, nous avons pris la décision en 1993 d’arrêter l’activité.

RB: Gardez-vous un œil sur ce qui se fait sur le CPC actuellement ?

Luc G.: Non, mais très curieux sur le sujet !

RB: Utilisez-vous encore de nos jours ces anciennes machines pour rejouer à vos anciennes productions, par plaisir ou nostalgie du passé ? Ou par l’émulation ?

Luc G.: Non, mais nous serions très surpris je pense de rejouer à nos productions ou d’autres jeux.

RB: On peut vous voir bientôt sur scène ?

Luc G.: Bientôt je l’espère !

RB: Un dernier mot pour la fin ?

Luc G.: Ces années de 1988 à 1993 ont été fabuleuses, faire d’une simple passion une activité, il fallait le faire quand même ! Nous en sommes très fiers.

Merci à vous et à tous les fans de l’Amstrad CPC.


Interview de Hervé Guillaume

RB: Bonjour Hervé,

Les graphismes des jeux « Black System » étaient vite reconnaissables. Rare étaient les listings à avoir cette qualité graphique. Pouvez-vous nous raconter comment vous en êtes arrivés à dessiner sur CPC ?

Hervé G.: Bonjour à tous. Les jeux qui m’ont marqué pour leur graphisme et leur originalité ont été Gryzor évidemment et Conan (combat en duel) et les jeux superbes de Raphaël Cecco qui m’ont inspiré au niveau de la mise en lumière des décors et des contrastes. Belle époque pour les Beaux-Arts. Je travaillais sur le logiciel OCP Art Studio.

Je dessinais depuis tout petit et déjà à 12 ans je gagnais des concours de dessin et vers 14 ans je remportais des trophées face aux adultes. C’était amusant. En devenant concepteur de graphismes à 16 ans sur Amstrad, puis Atari. J’ai fais des scénarios et des polices de caractères adaptées à l’univers que je créais. Et j’adorais réaliser des pages de présentation avec un fameux INSERT COIN pour rappeler les jeux d’arcade de l’époque.

RB: En 1993, vous abandonnez le CPC. Votre frère commence sa carrière musicale. Et vous, qu’êtes-vous devenu ? (J’espère que vous avez continué dans l’art graphique aussi)

Hervé G.: Apres l’épopée Black System, les Muses de la peinture et du dessin ne m’ont pas quitté et mes murs sont tapissés de mes œuvres. J’ai quelques demandes pour les anniversaires par exemple et pour mon plaisir personnel.

RB: Un dernier mot ?

Hervé G.: Je remercie l’ensemble des lecteurs, joueurs, éditeurs, journaux et jeux et tous les aficionados qui nous ont motivés et soutenus et à votre aimable personne de nous faire vivre cette belle Aventure toujours vivante.

À la recherche des Black System

Toutes les personnes qui ont encodé des listings sur leur CPC se souviennent des Black System. Un duo qui nous a forcés à taper d’innombrables nombres hexadécimaux pour jouer à leurs jeux.

Les autres penseront à un groupe de musique et ils auront tort… enfin, pas tout à fait.

Julien « iXien » Riet leur a consacré un excellent dossier sur son non moins excellent site AmstradToday.

Dans le cadre de la rubrique « Les Visiteurs du Mercredi », je voulais les interviewer. Mais leur patronyme, trop courant, ne facilitait pas la tâche.

Comme un bon généalogiste, je suis donc revenu à la source et essayer de retrouver où ils habitaient.

Dans le jeu Fruity, un listing du loader nous donne leur adresse.

0 '  ***********************************
20 '  *                                 *   
30 '  *           F R U I T Y           *       
40 '  *                                 *   
50 '  *  Programmation : Luc Guillaume  *          
60 '  *     Musique : Luc Guillaume     *    
70 '  *   Graphisme : Hervé Guillaume   *
80 '  * Copyright (c) Black System 1988 *
90 '  *       66, rue la fontaine       *   
100 ' *    94120  Fontenay-sous-bois    *
110 ' *     Téléphone : 48 73 53 61     *    
120 ' *                                 *  
130 ' ***********************************

Une recherche Google nous donne rapidement un Pierre Guillaume habitant à cette adresse. C’est bien, mais ce n’est ni Luc, ni Hervé. (Mais il s’agit toujours du même numéro de téléphone)

Toujours est-il que cela veut dire que la maison est encore occupée par quelqu’un de la famille.

En poursuivant la recherche, je tombe sur une page de societe.com qui me donne une société radiée en 2018 du nom de Karabin’production dont le dirigeant est… Luc Guillaume !

Bingo.

Je change donc ma recherche. Luc Guillaume Karabin’production

Re-Bingo. Cela en est presque trop simple.

Notre programmeur et musicien est devenu… chanteur de Zouk !

Le gros succès Zouk de 2002, Ambiance tropical de Decibel, c’est lui !

Je continue les recherches et trouve une interview sur un site de Zouk. Cela ne parle évidemment pas d’Amstrad mais cela veut dire qu’il n’est pas contre les interviews.

Reste plus qu’à le contacter. Pas d’email nul part. Je pourrais téléphoner à leur ancien numéro, mais je n’ai pas envie de déranger ses parents (et le téléphone n’est pas mon moyen de communication préféré)

Ses musiques m’ayant intriguées, je regarde sur YouTube ce qu’il a fait. Un nom revient régulièrement: Loïc Cabrion

Loïc Cabrion est Auteur Compositeur Interprete Animateur Radio et surtout, donne son adresse email sur sa page Facebook !

Je le contacte et, dans les 5 minutes, ai une réponse de sa part qui me dit qu’il communiquera ma demande à Luc.

Sans devoir le convaincre, Luc acceptera de répondre à l’interview en souvenir de « cette belle époque Amstrad CPC 6128 et aventure Black System / Tropic Soft » !

Il me donnera aussi le numéro de téléphone de son frère Hervé qui acceptera également l’interview.

Vous y aurez donc droit ce mercredi et pour la peine, nous leur consacrerons la semaine avec deux tests sans filtre (mais plein de nostalgie) de la part de BDCiron.

Merci encore à Loïc, et bien évidemment à Luc et Hervé.