Dragster... épisode 1: une vue d'ensemble

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 :slight_smile:

La suite ? Le langage !

Voici quelques documents d’époque : le prospectus et une première pub de JCA

2 J'aimes

Ce que j’ai comme matériel :

  • modems Dragster RTC (le serveur « JCA » en utilise 2, chaînés)
  • un Dragster Télétel (interface X25 conçue entièrement par Wit)

Bonjour CQUEST, merci pour ce poste sur Dragster :slight_smile:

Tu vas parler de MacArbo après?

Minitelement,

Apollo12 :slight_smile:

Bien après alors… le langage Dragster est intéressant à détailler avant.
MacARBO a été écrit avec, et permettait de ne pas programmer, et c’est donc le bout de la chaîne.

1 J'aime

D’accord, merci beaucoup. Dommage qu’il n’y ai pas de cours de programmation en basic Dragster. Juste avec la doc, je n’y arrive pas. Peut-être qu’avec le code source d’un autre serveur j’y arriverais mieux.

Minitelement,

Apollo12 :slight_smile:

Il y a quelques exemples dans la doc de DragsterEdit :

https://github.com/cquest/dragster/blob/master/Man.%20Util.%20DragsterEdit.pdf

Page 6: exemple simpliste
Page 23: exemple plus intéressant utilisant un masque de saisie avec un zone de saisie (le truc vraiment très pratique du langage Dragster)

Mais on va y venir… patience, il faut que je révise avant :wink:

J’ai ajouté quelques documents…

Je me rappelle très bien de la photo pour la pub JCA, vu que je l’ai prise. Le fond est un morceau de moquette dans les tons d’époque :wink:

La taille du boitier X25 est impressionnante, alors que dedans il y avait une alim et un carte multix25.
Il coûtait bien cher… dans les 180.000 F HT de mémoire.

Pour le 3515 RDLF (Roue De La Fortune), on en avait installé 4… de 64cv chacun, pour 256cv au total.

C’est du gros matos qui donne envie de regarder dedans !
J’aurais tellement fait mon curieux pour voir comment c’était foutu à l’intérieur

Ça m’a l’air assez complet comme système et bien foutu !

Un système tout en un, l’on pourrait dire, mais bien plus onéreux que si tu prenais juste Stut One sur Atari… qui était la solution discount XD L’argent toujours ça le nerf de la guerre :stuck_out_tongue:

Je n’avais pas vu ce sujet, très bien écrit Christian, et intéressant.

1 J'aime