-Mai 2004- (source : Amstradeus)


Interview de M. Joël Sana
(Programmeur du logiciel Amcharge sur CPC).

 

– Bonjour, pouvez vous tout d’abord vous présenter ?
Je suis avant tout un passionné de programmation, et les jeux vidéos m’ont toujours attiré pour ne pas dire fasciné. Un jour l’opportunité de relier les deux pour en faire mon métier s’est présenté a moi, et depuis j’ai toujours travaillé en programmant dans le domaine des jeux.

– Quand avez vous découvert l’Amstrad CPC ?
Lors d’un passage a Londres, dans le cadre du développement d’un jeu, en rentrant dans une boutique d’électronique par curiosité: j’ai vu un CPC 464 sur une étagère, il n’était pas encore sorti en France, et sur le coup j’ai bien cru qu’il était fait en Légo…

Ce n’est que quelques mois plus tard que j’en ai eu un entre les mains pour faire une adaptation d’un jeu de Tennis.

 

– Avez vous été en contact avec l’informatique auparavant ? Comment et avec quel(s) micro(s) ?
Je ne peux pas dire que je suis tombé dedans quand j’étais petit car j’étais déjà « grand » lorsque la micro informatique a fait son apparition, mais j’ai en fait débuté sur des calculatrices programmables. J’ai commencé a programmer des jeux vidéos en 1982 par plaisir sur mon TRS 80 en assembleur (déjà à base de Z80 comme le CPC !), puis comme job d’été lorsque j’étais étudiant, sur un TI 99/4A, l’ordinateur familial de Texas Instruments, sur lequel nous avons créé avec 2 ingénieurs de Texas, Albert Loridan et Bruno Duriez, un jeu de Tennis (en 3D !).

Texas ayant décidé l’arrêt de la commercialisation du TI 994A alors que le jeu était quasiment terminé, ce jeu n’a jamais été édité sur ce micro. Nous en avons fait une adaptation Z80 sous le nom de « Balle de match » (« Match point » pour les versions anglaises) sur le Spectrum de Sinclair, le Commodore 64 et le CPC lorsqu’il est sorti, ainsi que sur l’Atari ST, le QL de Sinclair et bien sûr pour les tous premiers IBM PC et même l’éphémère PC Junior.

– Quand avez vous abandonné le CPC ?
Amcharge a été mon dernier programme réalisé sur CPC.

– Qu’en pensiez vous à l’époque et qu’en pensez vous maintenant ?
Ce micro était extrêmement bien conçu, alliant simplicité et efficacité au niveau du hardware (lorsqu’on programmait des jeux dans les années 80 on se devait d’avoir une connaissance très proche du hardware du micro utilisé car tout était fait en assembleur et devait être optimisé au maximum des possibilités de la machine), le firmware était très bien documenté et sans erreurs chose rare et appréciable à l’époque !

La possibilité d’utiliser le CP/M était également un plus d’une grande aide pour les outils de développement. Avec le recul aujourd’hui je pense que si ce micro n’était pas le meilleur du point de vue des performances techniques, c’est certainement celui sur lequel j’ai eu le plus de plaisir à programmer dans ces années là.

– Possédez vous toujours un ordinateur Amstrad ?
Il doit en traîner encore quelques uns dans des cartons au fond de la remise au bureau…

– Quelles utilisations aviez vous ?
Programmation uniquement ! Et un peu de jeu de temps en temps, mais quand on commence à programmer des jeux videos on n’a plus le temps d’y jouer hélas !

– Amcharge était il votre premier programme ? Si non, qu’aviez vous écrit auparavant ?
J’avais déjà une expérience de la programmation de jeux sur pratiquement tous les micro-ordinateurs du marché de l’époque. Outre le jeu de Tennis cité plus haut, nous avions aussi créé un jeu de Foot avec les mêmes personnes, et j’avais écrit des adaptations de quelques hits de jeux du moment pour la série des micros français Thomson TO7, TO9, MO5…

 

– Qu’est ce qui vous a poussé à écrire Amcharge ?
A cette époque nous avions délaissé le développement des jeux micros pour créer un jeu de Scrabble sur Minitel, puis nous avons profité de cette double compétence en télématique et en micro-informatique pour développer Amcharge en relation avec notre maison mère Micromania qui a convaincu les éditeurs de l’opportunité pour eux de distribuer leurs jeux par ce moyen innovant et complémentaire à la vente traditionnelle, en les rémunérant sur les connexions Minitel.

– Comment s’est déroulé sa conception ?
L’idée de base était double : 
* Pouvoir connecter simplement son CPC au Minitel (d’où le cable se connectant sur la prise joystick plus simple à manipuler que la prise imprimante)

* Faire en sorte que le coût de la connexion Minitel pour le téléchargement d’un jeu reste inférieur au coût du jeu à l’achat dans le commerce, sinon quel intéret pour l’utilisateur ? La première phase consista à vérifier qu’il était possible de recevoir sur la prise joystick des données en provenance de la prise péri-informatique d’un Minitel.

Il y avait là une composante matérielle que l’on ne pouvait pas maîtriser, la prise joystick n’étant pas prévue pour recevoir des données série. Il fallait donc réaliser par soft la désérialisation des trains de bits pour reconstituer les octets, alors que sur une interface série classique c’est un composant matériel qui s’en charge, le programmeur n’ayant plus qu’a récupérer l’octet lu.
Lorsque ces tests ont été concluants, on savait que l’on pouvait transférer n’importe quoi dans la mémoire du CPC directement à partir d’un serveur Minitel, restait à faire preuve d’imagination et à programmer !

– Avez vous rencontré des difficultés ? Si oui, lesquelles ?
Afin de pouvoir offrir rapidement un vaste catalogue de jeux téléchargeables, il fallait un moyen simple de mettre tout jeu dans un format de données unique prêt à télécharger. Nous avions travaillé avec les concepteurs du boîtier « Multiface », boîtier qui permettait de prendre une « photo » de la mémoire du CPC à tout moment (par exemple au début d’un jeu juste après son chargement) et de la sauvegarder.

C’est cette « photo » que l’on téléchargeait avec Amcharge. La difficulté étant que le boîtier était nécessaire également lors de la relecture des données puisque c’était lui qui contenait dans sa ROM le programme de chargement, tandis que l’intégralité de la RAM du CPC était utilisée par le jeu. C’est Amcharge qui devait remplacer le boîtier chez l’utilisateur, mais comme la « photo » pouvait occuper toute la RAM, il n’y avait plus de place pour Amcharge !

On ne pouvait pas sauvegarder les données au fur et a mesure car il aurait fallu interrompre le téléchargement ce qui était impossible pour 2 raisons:
* Beaucoup de CPC ne disposait que d’une cassette et en ajoutant le temps de chargement + le temps de sauvegarde tout en restant connecté le jeu aurait fini par coûter plus cher qu’à l’achat traditionnel.

* La première version d’Amcharge ne communiquait que de manière unidirectionnelle par le port joystick, on ne pouvait donc pas envoyer d’ordre au serveur Minitel pour interrompre le transfert pendant la sauvegarde.

L’idée a donc été de mettre Amcharge dans une partie de la mémoire vidéo, il a donc fallu programmer a l’économie car cette zone était très restreinte ! Vous comprenez mieux maintenant le dépouillement et l’austérité de l’interface utilisateur d’Amcharge !

La première version d’Amcharge utilisait uniquement le port Joystick en lecture pour recevoir les données, avec un checksum pour détecter les erreurs de réception mais sans possibilité de correction ! Lorsqu’on lançait un téléchargement, il fallait retenir son souffle en attendant qu’il aille jusqu’au bout.

Fort heureusement on pouvait utiliser un protocole de contrôle inclus au Minitel qui assurait la fiabilité des données reçues via le réseau téléphonique jusqu’au Minitel, les problèmes de transmissions entre le Minitel et le CPC étaient relativement rares vu la vitesse maximale possible: 1200 bauds (1.2 Kbs !). Par la suite il y a eu une version d’Amcharge capable de communiquer dans les 2 sens ce qui a rendu le téléchargement encore plus fiable.

– Amcharge est un peu un frémissement de ce que nous connaissons aujourd’hui avec l’Internet. Imaginiez vous celà possible ?
Oui, c’était les premiers pas de la communication directe entre votre ordinateur personnel et de grands serveurs, et il y avait toutes les raisons d’espérer des progrès dans ce genre de technologie. Nous avions même à l’époque déjà envisagé la possibilité de jouer en réseau entre 2 CPC via une connexion Minitel, (nous faisions déjà jouer au Scrabble des centaines de gens entre eux par leurs Minitel alors pourquoi pas avec leur CPC pour d’autres jeux ne nécessitant pas un temps de réponse trop court ?) mais il n’y avait pas de jeux prévus pour ce concept à l’époque.

– Quels languages avez vous utilisé ? Utilisiez vous des outils de programmation particuliers ?
L’essentiel du programme était en assembleur, seule l’interface utilisateur etait en basic. J’ai utilisé le macro assembleur du CP/M, puis un outil de développement spécifique dont j’ai oublié le nom, surtout pour le debuggueur… et un gros bouquin sur le Z80 !

– Parlez nous un peu de votre boulot à l’époque. Comment cela se passait il ? Avez vous des anecdotes ?
Il fallait tout faire soi même, de A à Z, avec des langages de programmation très peu évolués. Quand je dis de A a Z ça veut dire depuis le câble de connexion jusqu’à la protection anti-piratage sur la disquette. Il faut dire que l’on pouvait quasiment tout maîtriser car les micro-ordinateurs n’avait pas la même complexité qu’aujourd’hui tout simplement parce que leur système d’exploitation était réduit au minimum et qu’on pouvait très bien s’en passer en utilisant directement le firmware de la ROM ! C’est une excellente école de programmation !

– Que pensez vous de la direction qu’a pris l’informatique avec l’avènement du standard IBM ?
Aujourd’hui les programmeurs qui se préoccupent du standard du matériel qui compose leur PC doivent être assez rares je suppose. On est passé à un niveau supérieur où la notion de standard se porte plutôt sur le système d’exploitation, comme Windows ou Linux. Personnellement j’ai toujours été plutôt Linux… ne me demandez pas ce que je pense de Windows car je ne l’utilise jamais.

– Avez vous gardé des contacts avec des acteurs du secteur de l’époque ?
Oui, les 2 (anciens) ingénieurs de Texas avec qui nous avons conçu « Balle de match » et Amcharge sont toujours des amis et des associés avec qui je travaille encore aujourd’hui !

– Peut être un petit mot pour nos lecteurs ?
Je trouve extraordinaire qu’il y ait des passionnés qui s’intéressent encore aujourd’hui au CPC, à l’instar des collectionneurs de voitures anciennes légendaires ! Après tout cet ordinateur a marqué de son empreinte l’histoire de la micro informatique en France et en Angleterre, il le mérite bien, ça serait dommage d’oublier le look ravageur d’un CPC 464 !

Interview réalisée au mois de Mai 2004. Merci à Joël Sana pour sa coopération et le temps accordé.

(c) Charles da Silva – 2004