----------------------------------------
GFA-BASIC v0.57 & GFA-TEM v0.70
27/07/05
Copyright 2004-2005 by Geoffrey Anneheim
geoffrey.anneheim@free.fr
gfabasic@tigen.org
http://www.tigen.org/gfabasic
----------------------------------------

I- Qu'est ce que le GFA-Basic, les origines ?
=============================================

Sur Atari ST:
-------------
Aprs la dception provoque par le BASIC Atari d'origine et la longue attente d'une alternative, les possesseurs d'un Atari ST 
reurent enfin une excellente nouvelle: il existait un nouveau BASIC, GFA-Basic, dont l'auteur tait Frank Ostrowski. les fanas 
de l'informatique purent vite constater que ce qui se passait sur l'cran surpassait largement ce  quoi le BASIC les avait 
habitus. La rapidit de l'interprteur est telle qu'elle rend le Basic interessant mme pour un travail professionnel.
L'atout que constitue la programmation structure permet d'obtenir dans les codes sources une clart et une facilit d'analyse 
qui taient restes jusqu'ici l'apanage du Pascal, du 'C', etc... On peut ainsi oublier le code "spaghetti" qui a longtemps 
caractris le BASIC. Enfin, la quantit d'instructions et routines que Frank Ostrowski a integres exig un certain temps, 
d'apprentissage pour qu'un programmeur puisse les exploiter  fond. On peut donc dire que le GFA-Basic dfinit un nouveau 
standard pour les langages de programmation.

Source: Livre Data Becker, Trucs et Astuces.



Sur TI68K:
----------
Voila, vous venez de dcider de vous mettre  la programmation, et vous avez choisi la calculette, c'est un bon choix. La calculette 
est un bon moyen de se rendre compte de ce qu'est la programmation sans trop se casser la tte. Mais vous voulez commencer par des 
choses srieuses, exit les programmes mathmatiques calculant simplement le discriminant dune quation ou les nombres premiers. Vous 
voulez commencer vite, bien et dvelopper de vrais projets. Vous voulez un langage qui permette de sintgrer rapidement et facilement 
dans le monde de la programmation et qui volue avec vous, un langage sans limites utile tant pour les dbutants que les programmeurs 
expriments. Remballez le TI-Basic et mettez-vous au GFA-Basic. A lorigine GFA-Basic a t dvelopp sur Atari ST Frank Ostrowski. 
Ce langage a permis douvrir de nouvelles voies dans le domaine de la programmation. Ca souplesse et sa puissance en ont fait un 
langage dexception. Pourquoi un tel langage alors que TIGCC et le TI-Basic existent? La rponse est simple, il n'est pas vident de 
se mettre rapidement au C avec TIGCC lorsque l'on est un novice en programmation (de plus il faut avoir a sa disposition un PC).  
Commencer par un langage tel que le Basic permet d'ouvrir les portes vers d'autres langages. Sur TI68K il existe dj le TI-Basic 
permettant une approche de la programmation. Mais le problme majeur de  ce langage est de ne permettre que la cration de programmes 
mathmatiques, le TI-Basic ne permet pas de s'amuser, crer des jeux et d'exprimer sa crativit. De plus il est trs lent, pour preuve 
une boucle For vide de 10000 cycles met plus de 53 secondes!!! Et pour finir le TI-Basic ne permet pas d'exploiter  fond les possibilits 
de la machine!

GFA-Basic corrige absolument toutes ses lacunes qu'a le TI-Basic! Il est  la fois souple (proposant une syntaxe claire, puissante et
adaptable), rapide (une boule For vide de 10000 cycles s'excute en 0.4 seconde! Pour comparaison GFA-Basic est entre 20x et 30x plus 
rapide que le TI-Basic), puissant (jeux d'instructions importants, possibilit d'accder  des fonctions bas niveau, accs en mmoire 
avec Peek et Poke, possibilit d'inclure des librairies...) et enfin GFA-Basic est un langage structur (possibilit d'utiliser des 
procdures, des structures telles que While...Wend, Repeat...Until, For...ToNext...).


Il est possible d'interrompre  tout moment l'excution d'un programme en appuyant tout simplement sur la touche [ON]. Ceci dclenche 
une erreur nomme Break et interrompt l'excution du programme. Cette touche est valide si elle n'est pas dsactive (il est toute fois 
fortement dconseill de la dsactive car si un programme tourne en rond et se trouve dans une boucle infinie, la seule faon de 
l'interrompre sera de provoquer un Reset de la machine pouvant entrainer la perte de donnes).



II- Installer GFA-BASIC sur sa TI?
==================================

Vous devez tout d'abord envoyer le contenu du rpertoire Bin sur votre calculatrice.
Ensuite il ne vous reste plus qu' taper votre code grce  l'diteur de texte de Texas Instrument. Entrez par exemple le code suivant:

Cls
Setfont F_8X10
Print "Hello World!!!"
Repeat
Until RR_ESC

Quittez l'diteur de texte. Pour excuter un programme vous devez taper dans l'cran home gfaexec("prog") ou prog contient le nom de
votre programme.

une mthode d'execution pas  pas existe.

gfabasic("prog") tokenise votre programme et crer un fichier Tokens.BAS.

gfabasic("tokens") dtokenise votre programme et reconstitue le fichier texte sauvegard dans Untokens.BAS. Crer un fichier d'execution 
pour GFATEM.

gfatem("tokenbuf") Execute le programme prcdemment traduit par GFA-Basic.


Si une erreur se produit, n'hsitez pas  executer votre programme de cette faon sans passer par gfaexec.
Un environnement n'a pas t encore dvelopp mais ne soyez pas drout par ce genre de manipulation.

Vous trouverez des exemples de programmes dans le dossier "Dmos".



III- Les variables en GFA-BASIC.
================================

En GFA-BASIC il existe 4 types de variables:
- Les flottants qui ne prennent pas de suffixe.
- Les entiers signs sur 32 Bits qui prennent le suffixe %. Allant de -2 milliards  2 milliards environ.
- Les boolens qui prennent le suffixe ! qui ne peuvent prendre que la valeur -1 = TRUE ou 0 = FALSE.
- les chanes de caractres qui prennent le suffixe $. De taille maximale de 32767 caractres.


Exemple:
--------

Cls
Setfont F_6X8
A=52.12^3
A%=9654
A!=TRUE
A$="Hello World!!!"
Print A,A%,A!,A$
Repeat
Until RR_ESC

Vous remarquez que le GFA-BASIC dclare automatiquement les variables et de plus que le type est trs important. Et il faut bien voir ici
que malgr le mme nom soit 'A' toutes ses variables sont diffrentes! Ainsi il vous sera possible d'utiliser le mme nom pour plusieurs
variables mais avec un type bien diffrent qui les dissocies.

GFA-Basic permet aussi l'utilisation de tableaux  n dimensions, un tableau pour tre utilis doit tre dclar avec l'instruction Dim.
Dim Tab(5,2,1) = Dclare la variable Tab avec 3 dimensions dont la dimension 1 contient 6 lments nots de 0  6, la 2me dimension 3
et la dernire dimension avec 2 lments.

La fonction Dim? retourne le nombre total d'lments d'un tableau.
Et enfin l'instruction Clr/Erase permet de librer la mmoire en effacant un tableau.

Je vous conseille de lire les tutos qui se trouvent sur http://www.tigen.org/gfabasic et sur le forum.



IV- Les sources.
================

Les sources ont pour objectif la mise  jour de GFA-BASIC. Il est strictement interdit de les reprendre ou de modifier sans mon accord...
Si vous constatez que des optimisations sont possibles principalement dans GFA-TEM, n'hsitez pas  me contacter.
Les sources se trouve dans le dossier "Sources".


V- Plus d'infos.
================

Pour plus d'informations, des tutos, des exemples de programmes en GFA-Basic ou pour tlcharger la dernire version. N'hsitez pas  visiter
le site de GFA-Basic sur Ti-Gen.org, http://www.tigen.org/gfabasic

Copyriright 2004-2005 by Geoffrey ANNEHEIM.