LANGAGES

FORTH-TO7.

Le FORTH-79 que SEFI publiait pour le TO7 en 1983, en cartouche sur le TO2026. On tape des nombres et des mots, la machine répond sur la même ligne, puis OK. On lui apprend des mots nouveaux, construits sur les précédents, jusqu'au dernier qui fait toute l'application. Avec l'écran du TO7, ses huit couleurs et ses 320 points sur 200, la musique, les chaînes à la manière du BASIC, les blocs et l'éditeur d'écrans de la cartouche d'origine.

La référence complète du langage

L'écran du TO7 avec la bannière FORTH-TO7 version 1.0 : des calculs, la définition de CARRE et CUBE, un passage en hexadécimal, un mot inconnu et l'affichage de la pile.
LA CONSOLE. Pas d'invite : la réponse et OK s'écrivent sur la ligne tapée.
Des rectangles emboîtés de toutes les couleurs, tracés par BOX, avec les teintes qui débordent par groupes de huit points comme sur le TO7.
CADRES. Un programme du disque système : BOX et GCOLOR, deux couleurs par groupe de 8 points.
L'éditeur d'écrans plein écran sur le bloc 12 : un commentaire, les définitions de CARRE, CUBE et TABLEAU, et le numéro de l'écran en bas.
L'ÉDITEUR D'ÉCRANS. Un bloc de 1024 caractères, en plein écran, une touche par commande.
Le bloc 12 chargé par LOAD : une table des nombres de 1 à 10, de leurs carrés et de leurs cubes, cadrés à droite par .R.
12 LOAD. Le bloc s'interprète comme s'il était tapé : la table s'affiche.
FORTH
( CARRES ET CUBES )
: CARRE ( n --- n*n ) DUP * ;
: CUBE ( n --- n*n*n ) DUP CARRE * ;
: TABLEAU 11 1 DO CR I 4 .R I CARRE 6 .R I CUBE 8 .R LOOP ;
TABLEAU

Le langage

  • La pile et la notation polonaise inverse : 2 3 + . ; DUP, SWAP, OVER, ROT, et .S pour voir la pile
  • Les définitions : NOM ... ;, les constantes, les variables, les tableaux de SEFI (ARRAY, TABLE) et CREATE ... DOES>
  • Les structures IF ELSE THEN, DO LOOP, BEGIN UNTIL, WHILE REPEAT, et les ajouts de SEFI : CASE OF ENDOF ENDCASE, GODO, /LOOP
  • Nombres de 16 bits, doubles de 32 bits, toutes les bases de 2 à 36 ; chaînes à la manière du BASIC : STRING, MID$, INSTR, STR$, INPUT$

La machine

  • L'écran du TO7 : 40 colonnes sur 25 lignes, 320 × 200 points, huit couleurs vives et huit pastel ; PSET, LINE, BOX, BOXF, POINT, LOCATE, WINDOW, DEFGR
  • La musique : NOTE, et des partitions en tables : MUSTAB, do re mi, PLAY
  • Le clavier, les manettes et le crayon optique (la souris) : KEY, INKEY, STICK, INPEN, ONPEN
  • Les messages d'origine, en deux lettres : MOT ? UK ERROR, ES, FS, UF…

Programmes et disques

  • Les blocs de 1024 caractères, fichiers BLOCKn.DAT du disque : n EDIT, n LIST, n LOAD, THRU, FLUSH
  • La sauvegarde du dictionnaire : 0 SAVE dans DICT0.FTH, 0 RUN pour la relire, AUTORUN pour qu'elle se lance seule
  • Comme dans les autres cartouches : le programme en mémoire en .4TH, EDIT, RUN, SAVE "NOM", LOAD "NOM", et l'assistant AI ON
  • RUN "CADRES", RUN "TABLES" et RUN "FRERE" : trois programmes sur le disque système

La cartouche de SEFI, refaite

FORTH est né de la main de Charles Moore pour piloter des télescopes avec très peu de mémoire : un interpréteur minuscule et un dictionnaire que le programmeur agrandit lui-même. En 1983, SEFI en publie chez TO-TEK une cartouche pour le TO7, avec son manuel de référence. Celle du TO2026 a été refaite d'après ce manuel et le comportement de la cartouche d'origine : même dictionnaire, mêmes messages, même carte de la mémoire, au point qu'un programme recopié du manuel de 1983 tourne tel quel. Aucun code de SEFI n'y est repris.