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.
(Programmeur du logiciel Amcharge sur CPC)
Texas ayant décidé l’arrêt de la commercialisation du TI 99/4A 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.
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à.
* 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 !
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.
Une bien belle et précieuse interview
cvbcvbcvb
cvbcvbcvb
cvbcvb
Commentaire 2 cvbcvb