Document fait avec Nvu Document made with Nvu




Application d'aide à la création
d'économiseur d'écran

Instruction
Utilisation
Exemple

Principe

Le bu de cette page est d'expliquer comment créer un logiciel d'économiseur d'écran pour l'interface graphique du Coeur FORTH.

Pour cela, il est indispensable d'utiliser l'application economiseur.txt qui modifie le code source du logiciel après validation de celui-ci. Cette modification permet au gestionnaire du Coeur FORTH d'installer l'économiseur d'écran validé.


Instruction

Une fois l'application chargée dans la mémoire, il suffi de lancer l'instruction suivante:

- ECONOMISEUR -

Application d'aide à la création d'économiseur d'écran.
Il es possible de générer une image au format GIF pour obtenir un aperçu.


Utilisation

L'application d'aide à la création d'économiseur d'écran permet de:

  • détecter les erreurs de pile de donnée à chaque étape du logiciel (initialisation, exécution, configuration),
  • modifier le code source pour qu'il soit accepté par le gestionnaire du Coeur FORTH,
  • exécuter l'économiseur d'écran tant qu'il n'y a pas d'erreur de pile de données,
  • générer une image GIF pour obtenir un aperçu.
Le code source de l'économiseur d'écran doit être découpé en 4 zones dans l'ordre suivant:
  • une zone d'échange de données entre le gestionnaire du Coeur FORTH et le logiciel,
  • une zone facultative de paramètres,
  • une zone contenant le code de l'affichage de l'économiseur appelé toutes les 25 ms par le gestionnaire du Coeur FORTH lorsqu'il passe dans ce mode,
  • une zone facultative contenant le code appelé lors du passage dans le mode économiseur d'écran, ce code permet d'initialiser éventuellement l'écran en prenant en compte les paramètres de personnalisation,
  • une zone facultative permettant de personnaliser les paramètres d'affichage.

La zone d'échange est constituée d'un tableau de 4 données de 32 bits:

  • 0 --> adresse du programme de veille sur 4 octets
  • 4 --> adresse des limites de la zone affichable sur 4 octets mise à jour par le système
  • 8 --> adresse du programme de configuration des paramètres sur 4 octets à 0 si pas de paramètres
  • 12 --> adresse du programme d'initialisation sur 4 octets a 0 si pas d'initialisation

Le code correspondant est le suivant:

HERE 8 ALLOT CONSTANT INDX_VEILLE

La zone facultative de paramètres peut contenir les différentes variables du logiciel.

La zone du code de l'affichage est une instruction FORTH ne consommant et ne fournissant aucun élément de la pile de données. Son adresse doi être placée dans les 4 premiers octets de la zone d'échange:

: PRGM_VEILLE ( - --> - )
 ...
;

FIND PRGM_VEILLE INDX_VEILLE 2!

La zone facultative d'initialisation contient le code correspondan dont l'adresse doit être placée dans les octets 12 à 15 de la zone d'échange si ce code existe:

: INIT_VEILLE ( - --> - )
 ...
;

FIND INIT_VEILLE INDX_VEILLE 12+ 2!

La zone facultative de configuration contient le code correspondant devant se conformer aux règles de l'interface de programmation graphique. Son adresse doit être placée dans les octets 8 à 11 de la zone d'échange si ce code existe:

FEN: PRGM_CONFIG ( fen --> - )
 ...
;

PRGM_CONFIG INDX_VEILLE 8+ 2!

Lorsque le logiciel est validé, l'application d'aide à la création d'économiseur d'écran ajoute une somme de vérification à la fin du fichier du code source dans le format suivant (exemple):

( SOM_VEILLE 0000238782 )


Exemple

Pour illustrer cette présentation, voici un exemple d'économiseur d'écran, veille.txt, dans lequel certaines erreurs ont été placées intentionnellement (en commentaire) pour montrer les différents étapes de validation dans la vidéo suivante: