www.jupiter-ace.co.uk

News, Reviews and Letters Index > Ace feature from électronic pratique November 1983


électronique pratique page 79
LE  JUPITER  ACE
   




8086...). Les machines les plus connues sont l'Apple, le TRS-80, l'Atari, le PET, le Goupil, le VIC 20, l'IBM PC, le ZX 81 et bien d'autres.
   Forth est utilisé pour des applications aussi variées que la gestion, le contrôle de pro-cessus, le fonctionnement d'un hôpital, l'astronomie, les calculs scientifiques, les effets spéciaux au cinéma, un traducteur de poche, les jeux... Atari se sert de Forth pour un système de test de ses jeux et, d'autre part, développe des jeux en Forth pour ses micro-ordinateurs personnels (Atari 800).

Ayant franchi lui aussi la Manche, le Jupiter Ace
nous arrive avec, dans sa
mémoire morte, un lan-
gage qui, s'il n'est pas
nouveau, est mal connu :
le Forth.
Se définissant lui-même
comme étant beaucoup
plus un système qu'un lan-
gage, le Forth est un concurrent sérieux face au Basic.
Résidant de manière per-
manente dans le Jupiter
Ace, le noyau Forth donne
à celui-ci une orientation
bien précise...

Tout d'abord
un peu d'histoire



Le Forth est un langage créé par un homme il y a environ une vingtaine d'années : Charles H. Moore, qui l'implanta sur un ordina- teur type IBM 1130, ordinateur dit de troisième génération. Moore considérait son langage comme étant le langage de la quatrième génération : fourth en anglais. Hélas ! l'ordinateur dans lequel ce langage était implanté ne tolérait que des noms de programmes de cinq lettres maximum... Fourth devint donc Forth et le resta.
   A l'heure actuelle, Forth est disponible à titre de langage comp-lémentaire pour de nombreuses machines utilisant des micro-processeurs à huit bits (6502, Z 80, 8080, 8085, 6800, 6809...) et à seize bits (Z 8000, 68000, 9900,
     

électronique pratique page 80
Ce que dévoile ie capot du Jupiter Ace.
   Signalons pour la petite histoire que ACE veut dire Ensemble Calculateur Automatique (Automatic Computing Engine) et que la firme qui fabrique le Jupiter Ace est la Jupiter Cantal Ldt.
   Alors, pourquoi le Forth plutôt que le Basic ? Pour plusieurs raisons :

– Rapidité d'exécution : un pro-gramme écrit en Forth est beaucoup plus rapide que le même programme écrit en Basic. En effet, le Forth est un langage compilé-interprété, c'est-à-dire à mi-chemin entre le langage machine (directement utilisable par le micro-processeur) et le Basic (où chaque instruction doit être traduite par l'interpréteur Basic). En effet, le Forth est compilé lors de la frappe clavier, puis ensuite interprété lors de son exécution.

– Souplesse d'adaptation : avec Forth on dispose d'un dictionnaire de base d'instructions, et l'utilisa-teur définit lui-même ses propres mots à l'aide de ce dictionnaire,
mots adaptés à un usage très précis. Ceci est tout à fait le contraire du Basic, où l'on dispose d'instructions définies une fois pour toutes et figées dans les mémoires mortes. En Forth, un programme se chargera avec son propre dictionnaire qui pourra éventuellement compléter un dictionnaire déjà mis en mémoire vive par un autre programme... (le tout venant compléter le noyau de base Forth résidant en mémoire morte), chaque mot pouvant être redéfini ultérieurement sans problème ; exemple de définition d'un mot (très simplifié !) la ma-chine connaît déjà VLIST (affichage de son dictionnaire présent en mémoire morte, 150 mots environ) et on veut définir un mot qui fera afficher à l'écran deux fois de suite VLIST sans avoir à taper deux fois la commande au clavier ; on fera donc

: 2VL VLIST VLIST ;

   Noter les deux points en début de ligne (:) signifiant à la machine la définition d'un mot nouveau,
puis le nom du nouveau mot (2 VL) ou tout autre à votre choix (significatif de la fonction à accomplir), puis sa définition (VLIST VLIST), et enfin le point virgule (;) qui termine la définition. Les espaces blancs séparant les différentes données sont très importants pour que la machine s'y retrouve, celle-ci répondant par un OK qu'elle a bien accepté votre définition... A vous la res-ponsabilité de la qualité de cette définition !

– L'encombrement mémoire : avec Forth, on ne charge que le dictionnaire propre à l'utilisation désirée, alors que le Basic est présent en totalité, même si beaucoup d'instructions sont inutilisées lors de l'exécution du programme et font perdre du temps à l'interpréteur qui est obligé de « balayer » la table des instructions à chaque fois. De plus, les mots Forth sont très denses et compacts, donnant des instructions très puissantes et un peu déroutantes pour le pratiquant du Basic !
     

électronique pratique page 81


Partie des bus de sortie avec, à droite, l'EPROM (ROM
modifiable) contenant une partie du dictionnaire Forth et
les mémoires statiques 2114.
 
Le processeur à 40 pattes Z 80 d'origine NEC, les deux
EPROMs contenant le « noyau » Forth (8 K), deux
RAM 2114 et le petit haut-parleur.
  En contrepartie, il taudra faire un effort pour apprendre ce langage, son côté pédagogique étant moins évident que celui du Basic (ce qui a fait d'ailleurs le succès du Basic), et pour l'instant il n'y à guère de pro-grammes disponibles (Forth est quand mème encore peu répandu). Forth donne des programmes plus structurés que Basic qui, lui, fait prendre au programmeur débutant toutes les mauvaises habitudes possibles ! La rançon de la facilité (toute relative) !
  Forth surprend l'habitué du Basic par l'utilisation de la notation dite « polonaise inversée » qui effectue les opérations arithmétiques de gauche à droite sans attribuer d'ordre de priorité aux différents
opérateurs.
   Ex : pour faire l'addition 2 + 2, on écrira en Forth : 2 2 +.
   Soit : les valeurs à utiliser (ici 2 et 2), puis l'opérateur (2) et enfin le point (.) nécessaire pour faire apparaître le résultat sur l'écran. En Basic, on aurait écrit : PRINT 2 + 2 (même si Basic, de manière interne et invisible à l'opérateur, met l'opération sous la même forme que Forth).
   Cette forme de notation met en lumière le fait que Forth est bâti autour de deux piles : la pile de données (data stack) et la pile de retour (return stack). Ces piles sont du genre LIFO (Last In First Out = dernier entré premier sorti), c'est-à-dire que le dernier
élément mis sur la pile sera le premier repris, comme dans la vie courante avec une pile d'assiettes ordinaires... La compréhension du fonctionnement de la pile est importante pour la pratique du Forth (voir le dessin).
   Pour réaliser l'addition 2 + 2, Forth se servira de la pile en mettant 2 sur le haut de la pile, puis encore 2, puis va rencontrer l'opérateur + ; il va alors dépiler 2 puis 2, réaliser l'opération et remettre sur la pile le résultat soit 4... A méditer...
   Après ce rapide survol du Forth, revenons au Jupiter Ace : cette petite machine (environ 22 sur 19 cm et 4 cm dans sa plus grande épais seur) en plastique blanc
     

électronique pratique page 82
légère (moins de 1 kg avec son bloc secteur séparé), ne manque pas de charme...

Caractéristiques
techniques

   Le Jupiter utilise un micro-processeur 8 bits Z 80 qu'il fait
« tourner » a la fréquence d'horloge de 3,25 mégahertz, dispose d'une mémoire morte (ROM) de 8 kilo-octets contenant le noyau Forth et de 3 kilo-octets de mémoire vive disponible pour l'utilisateur (RAM). Cette mémoire vive est extensible jusqu'à 48 kilo-octets, les 16 premiers kilo-octets supplémentaires étant proposés pour environ 400 francs.

Le clavier

   Le clavier est du type Qwerty avec 40 touches ; il est moulé dans un bloc de caoutchouc et utilise la résistance à la pression de celui-ci pour simuler un clavier mécanique'. Le caoutchouc est conducteur sous les touches et vient en contact contre le circuit imprimé lors de l'appui sur celles-ci, en court-circuitant les pistes correspondant à une touche.
   On se fait très vite à ce clavier qui est quand même nettement plus agréable que le clavier à membrane du ZX 81 !
Exemple de haute définition obte-nue par redéfinition du jeu de caractères. Programme de démonstration livré avec la machine (Banner).

   A partir du clavier on a accès aux possibilités suivantes : majuscules/ minuscules, codes graphiques, vidéo normale et inversée, suppression d'une ligne ; en outre, les touches sont à répétition automatique.

L'affichage écran
   Il permet l'affichage de 24 lignes contenant chacune 32 caractères ; en mode graphique, on dispose de 64 x 48 zones, qui peuvent être noires, blanches ou clignotantes à volonté. Une résolution graphique plus élevée peut être obtenue par redéfinition du jeu complet de caractères (127) et de sa vidéo inverse, on atteint alors 256 x 192 points.
   Le Jupiter dispose d'une sortie antenne se branchant sur l'entrée UHF de tout téléviseur standard noir et blanc 625 lignes. La qualité de l'image obtenue est bonne, très stable, pourvu que l'on ait fait le réglage du téléviseur sans s'énerver, en cherchant le meilleur résultat possible (l'accord est assez « pointu »).

Sauvetage des programmes
   Le Jupiter dispose des entrées sorties magnétophone que l'on


Affichage dictionnaire Forth contenu dans les mémoires du Jupiter Ace. Commande : VLIST.

raccorde à tout appareil standard et il sauve à la vitesse confortable de 1 500 bauds. Le Forth utilise des instructions semblables au Basic pour sauver, charger et vérifier ses programmes ou une partie de la mémoire (SAVE, LOAD, VERIFY, BSAVE, BLOAD, BVERIFY). De plus, lors de la lecture de la bande, Forth affiche à l'écran ce qu'il rencontre... Bien commode!

Compléments
d'informations

   Le Jupiter a, bien entendu, des bus de sortie qui serviront à la connexion des périphériques extérieurs (mémoire supplémentaire, imprimante, etc.).
   Livré avec un haut-parleur incorporé, une cassette de démonstration et un manuel copieux en français (+ de 190 pages) orienté sur l'apprentissage du Forth, le Jupiter Ace permettra à ceux qui feront l'effort de se lancer dans le Forth de le faire dans les meilleures conditions. Dépêchons-nous, ii paraît que Forth est le langage de l'avenir...
   Le Jupiter Ace est distribué par la société Valric-Laurène S.A., 22, avenue Hoche, 75008 Paris.

A. GARRIGOU
Le circuit imprimé avec les pistes étamées correspondant aux
touches du clavier en caoutchouc.

     


Click here to download the pdf which this page was made from.