Je démarre quelques sujets pour partager le fonctionnement de tout l’environnement de Dragster.
Dragster c’est un « système serveur vidéotex » (c’était je crois le slogan des premières pubs)
L’ensemble est assez complet et comprends :
- un langage de programmation de type BASIC
- des logiciels pour créer le serveur (DragsterEdit) et le faire fonctionner (DragsterBoot)
- du matériel : modems RTC Dragster, boitiers X25 (Dragster X25, DragsterTélétel), puis d’autres matériels non spécifiques dans un second temps (boitiers Namtel, modem compatibles Hayes)
La partie logicielle pour le Mac a été développé par Philippe Boulanger vers 1985/1986, puis repris par ma société JCA, vers 1990, jusqu’à son dépôt de bilan en 1998, puis poursuivi par la société DIT.
Pour le matériel, c’est la société niçoise Wit Concept qui a mis au point les modems et les interfaces X25 du début. Wit Concept concevait et commercialisait avant tout du matériel de télégestion pour le domaine industriel qui utilisait fortement le Minitel comme interface de paramétrage et d’accès aux informations en local (prise préi-info) ou à distance (modem V23). Wit existe toujours !
Donc on crée son serveur à l’aide de DragsterEdit, qui comporte:
- un éditeur de code source
- un éditeur de pages vidéotex (rudimentaire, mais suffisant pour des écrans simples)
- un interpréteur pour tester le code directement avec un émulateur intégré ou sur un modem Dragster
- un compilateur pour générer une version en code 68000 exécutable par DragsterBoot
DragsterBoot est une runtime, qui va faire fonctionner le serveur en multi-voies, avec son propre moteur multi-tâches des années avant que le système du Macintosh ne devienne multitâche.
C’est de plus un multitâche pré-emptif qui tourne en tâche de fond, c’est-à-dire qui prends le CPU quand il en a besoin… on peut donc continuer à faire autre chose sur le Mac.
DragsterEdit et DragsterBoot sont écrits en Pascal et un peu d’assembleur. L’environnement de développement est MPW (Macintosh Programmer’s Workshop), que proposait Apple aux développeurs. Pour les curieux, j’ai publié le code source de Dragster sur github il y a quelques années, ainsi que quelques documentations en PDF.
Pour fonctionner en multi-voies sur le Mac qui ne possède que 2 ports série et aucun slot d’extension avant la sortie du Mac II, il fallait bien entendu multiplexer la communication entre le Mac et les modems.
Un protocole « Dragster » a donc été créé avec le Mac en « maitre » qui interroge les modems les uns après les autres. La communication se fait à 19200 bps.
Les modems… ce sont de vrais petits PAVI minivoie !
Chaque modem a son microcontrôleur (8052) et va gérer les zones de saisie pour décharger le Mac de cette tâche très répétitive et qui ne nécessite pas de calcul.
Le microcontrôleur gère deux canaux de communication : un avec la Mac, l’autre avec le chip modem.
Physiquement, un modem est relié au Mac, puis chaque modem est relié au précédent par un cable DIN 5 broches, exactement comme pour les instruments Midi.
On peut en chaîner comme ça en principe 32 (j’ai pas souvenir de config à plus de 8 modems chez nos clients).
Chaque modem a un numéro unique de voie, ce qui permet au Mac de lui envoyer un message et d’obtenir une réponse.
Voilà pour une première entrée en matière
La suite ? Le langage !
Voici quelques documents d’époque : le prospectus et une première pub de JCA