Document fait avec Nvu Document made with Nvu
acceuilnouveautesintroductioncoeurmini_systemepages_techniquesrevue_de_presselienscourriel



Technical pages
Screen saver creation
assistance application

Instruction
Use
Example

Principle

The goal of this page is to explain how to create a screen saver software for the graphical interface of FORTH Core.

For that, it is essential to use the application
economiseur.txt which modifies the source code of the software after validation of this one. This modification makes it possible to the FORTH core manager to install the validated screen saver.




Instruction

When the application is loaded in the memory, the following instruction can be launched:

- ECONOMISEUR -

Screen saver creation assistance application
It is possible to generate a GIF picture to obtain a screen shot.


Use

The screen saver creatin assistance application allows to:

  • to detect the data stack errors to each step of the software (initialization, execution, configuration),
  • to modify the source code so that it is accepted by the FORTH core manager,
  • to carry out the screen saver as long as there is no data stack error,
  • to generate an image GIF to obtain a screen shot.
The source code of the screen saver must be cut out in 4 areas in the following order:
  • an information exchange area between the FORTH Core manager and the software,
  • an optional parameters area,
  • an area containing the displaying code of the screen saver called every 25 ms by the FORTH Core manager when it goes in this mode,
  • an optional area containing the code called at the time of the screen saver starting mode, this code allows to possibly initialize the screen by taking of account the personalization parameters,
  • an optional area allowing to personalize the displaying parameters.

The exchange area consists of a 4x32 bits data table:

  • 0 --> program address of saver on 4 bytes
  • 4 --> displayable area limits address on 4 bytes updated by the system
  • 8 --> parameters configuration program address on 4 bytes forced to 0 if not any parameters
  • 12 --> initialization program address on 4 bytes forced to 0 if not any initialization.

The corresponding code is the following:

HERE 8 ALLOT CONSTANT INDX_VEILLE

The optional parameters area can contain the various variables of the software.

The displaying code area is a FORTH instruction not consuming and not providing any element of the data stack. Its address must be placed in the first 4 bytes of the exchange area:

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

FIND PRGM_VEILLE INDX_VEILLE 2!

The optional initialization area contains the corresponding code whose address must be placed in bytes 12 to 15 of the exchange area if this code exists:

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

FIND INIT_VEILLE INDX_VEILLE 12+ 2!

The optional configuration area contains the corresponding code in front of conforming to the rules of the graphic programming interface. Its address must be placed in bytes 8 to 11 of the exchange area if this code exists:

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

PRGM_CONFIG INDX_VEILLE 8+ 2!

When the software is validated, the screen saver creatin assistance application adds a checking sum at the end of the source code file in the following format (example):

( SOM_VEILLE 0000238782 )


Example

To illustrate this presentation, here an example of screen saver, veille.txt, in which certain errors were placed intentionally (in comment) to show the different validation steps in the video following: