Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » GFA-Basic TI68K » Documentations » Format d'un fichier BAS (8 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
geogeo Ecrit le: Samedi 14 août 2004 à 19:28 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Ce topic à pour but d'expliquer comment fonctionne un fichier BAS et comment sont stocker les informations pour une gestion plus facile.
Il décrit le format d'un fichier GFA-Basic, la documentation n'est pas complète piur l'instant mais elle possède assez d'informations pour convertir un fichier tokenisé en un fichier ASCII.


===========
File Header:
===========
L'en tête d'un fichier BAS est d'exactement 20 octets.

offset         size        Description
-----------------------------------------------
0             8 bytes      file_id "GfaBASIC"
8             byte         version (always 1)
9             byte         file type (always 0)
10            byte         float      number
11            byte         integer%   number
12            byte         boolean!   number
13            byte         string$    number
14            byte         float()    number
15            byte         integer%() number
16            byte         boolean!() number
17            byte         string$()  number
18            byte         label:     number
19            byte         null byte  alignment  

Ceci est l'en tête d'un fichier BAS, cet en-tête est suivi de la table des symboles.
Un symbole se présente de cette façon:

<STRING> <NULL BYTE> STRING étant toujours en majuscules.

Il arrive parfois que la totalité des tables des symboles soit de taille impaire, 
ainsi un octet (0xFD) est ajouté pour permettre une gestion des alignements 
des données tokenisées.


Ensuite se trouve la table des tokens.
Un token fait exactement un byte, il y a deux types de tokens.
"Token's Command", est le premier en début de ligne.
"Token's Function", apparaît n'importe où sur la ligne.

Certains tokens sont particuliés, la fléche -> indique une structure de comportement de lecture.

=====================
Table des structures:
=====================

float1           next byte is an index into the float symbol table.
integer1         next byte is an index into the integer% symbol table.
boolean1         next byte is an index into the boolean! symbol table.
string1          next byte is an index into the string$ symbol table.
float1()         next byte is an index into the float() symbol table.
integer1()       next byte is an index into the integer%() symbol table.
boolean1()       next byte is an index into the boolean!() symbol table.
string1()        next byte is an index into the string$() symbol table.
label1           next byte is an index into the label: symbol table.
string$          next byte is the size to the string in quote.
stringd          next byte is the string size for a comment.
skip1            next byte should be skipped for alignment.


Tables des tokens (version 14/08/04):
-------------------------------------

==============
Token Command:
==============

TKC_0x00: dc.b "REM",0      ;-> stringd
TKC_0x01: dc.b "",0
TKC_0x02: dc.b "REPEAT",0
TKC_0x03: dc.b "UNTIL",0
TKC_0x04: dc.b "WHILE",0
TKC_0x05: dc.b "WEND",0
TKC_0x06: dc.b "DO",0
TKC_0x07: dc.b "LOOP",0
TKC_0x08: dc.b "FOR",0
TKC_0x09: dc.b "NEXT",0
TKC_0x0A: dc.b "EXIT",0
TKC_0x0B: dc.b "IF",0
TKC_0x0C: dc.b "ELSE",0
TKC_0x0D: dc.b "ENDIF",0
TKC_0x0E: dc.b "PRINT",0
TKC_0x0F: dc.b "ELSEIF",0
TKC_0x10: dc.b "'",0      ;-> Comment
TKC_0x11: dc.b "POKE",0
TKC_0x12: dc.b "DPOKE",0
TKC_0x13: dc.b "LPOKE",0
TKC_0x14: dc.b "",0
TKC_0x15: dc.b "QUIT",0
TKC_0x16: dc.b "",0
TKC_0x17: dc.b "",0
TKC_0x18: dc.b "",0
TKC_0x19: dc.b "",0
TKC_0x1A: dc.b "BOX",0
TKC_0x1B: dc.b "",0
TKC_0x1C: dc.b "",0
TKC_0x1D: dc.b "",0
TKC_0x1E: dc.b "PLOT",0
TKC_0x1F: dc.b "LINE",0
TKC_0x20: dc.b "",0
TKC_0x21: dc.b "",0
TKC_0x22: dc.b "SETFONT",0
TKC_0x23: dc.b "",0
TKC_0x24: dc.b "",0
TKC_0x25: dc.b "",0
TKC_0x26: dc.b "",0
TKC_0x27: dc.b "TEXT",0
TKC_0x28: dc.b "",0
TKC_0x29: dc.b "",0
TKC_0x2A: dc.b "DIM",0
TKC_0x2B: dc.b "",0
TKC_0x2C: dc.b "",0
TKC_0x2D: dc.b "GOTO",0
TKC_0x2E: dc.b "",0
TKC_0x2F: dc.b "",0
TKC_0x30: dc.b "ADD",0
TKC_0x31: dc.b "SUB",0
TKC_0x32: dc.b "MUL",0
TKC_0x33: dc.b "DIV",0
TKC_0x34: dc.b "INC",0
TKC_0x35: dc.b "DEC",0
TKC_0x36: dc.b "",0
TKC_0x37: dc.b "",0
TKC_0x38: dc.b "",0
TKC_0x39: dc.b "",0
TKC_0x3A: dc.b "INPUT",0
TKC_0x3B: dc.b "",0
TKC_0x3C: dc.b "",0
TKC_0x3D: dc.b "",0
TKC_0x3E: dc.b "",0
TKC_0x3F: dc.b "",0
TKC_0x40: dc.b "",0
TKC_0x41: dc.b "",0
TKC_0x42: dc.b "",0
TKC_0x43: dc.b "",0
TKC_0x44: dc.b "",0
TKC_0x45: dc.b "",0
TKC_0x46: dc.b "ERASE",0
TKC_0x47: dc.b "",0
TKC_0x48: dc.b "SWAP",0
TKC_0x49: dc.b "",0
TKC_0x4A: dc.b "ARRAYFILL",0
TKC_0x4B: dc.b "",0
TKC_0x4C: dc.b "",0
TKC_0x4D: dc.b "",0
TKC_0x4E: dc.b "",0
TKC_0x4F: dc.b "",0
TKC_0x50: dc.b "",0
TKC_0x51: dc.b "",0
TKC_0x52: dc.b "",0
TKC_0x53: dc.b "",0      ;-> stringd
TKC_0x54: dc.b "",0
TKC_0x55: dc.b "",0
TKC_0x56: dc.b "",0
TKC_0x57: dc.b "",0
TKC_0x58: dc.b "",0
TKC_0x59: dc.b "CLS",0
TKC_0x5A: dc.b "",0
TKC_0x5B: dc.b "",0
TKC_0x5C: dc.b "",0
TKC_0x5D: dc.b "",0
TKC_0x5E: dc.b "",0
TKC_0x5F: dc.b "",0
TKC_0x60: dc.b "SYSTEM",0
TKC_0x61: dc.b "",0
TKC_0x62: dc.b "",0
TKC_0x63: dc.b "",0
TKC_0x64: dc.b "",0
TKC_0x65: dc.b "",0
TKC_0x66: dc.b "",0
TKC_0x67: dc.b "",0
TKC_0x68: dc.b "",0
TKC_0x69: dc.b "",0
TKC_0x6A: dc.b "CLR",0
TKC_0x6B: dc.b "",0
TKC_0x6C: dc.b "",0
TKC_0x6D: dc.b "",0
TKC_0x6E: dc.b "",0
TKC_0x6F: dc.b "",0
TKC_0x70: dc.b "RUN",0
TKC_0x71: dc.b "END",0
TKC_0x72: dc.b "STOP",0
TKC_0x73: dc.b "",0
TKC_0x74: dc.b "",0
TKC_0x75: dc.b "",0
TKC_0x76: dc.b "",0
TKC_0x77: dc.b "",0
TKC_0x78: dc.b "",0
TKC_0x79: dc.b "",0
TKC_0x7A: dc.b "",0
TKC_0x7B: dc.b "PAUSE",0
TKC_0x7C: dc.b "",0
TKC_0x7D: dc.b "",0
TKC_0x7E: dc.b "",0
TKC_0x7F: dc.b "",0
TKC_0x80: dc.b "",0
TKC_0x81: dc.b "",0
TKC_0x82: dc.b "",0
TKC_0x83: dc.b "",0
TKC_0x84: dc.b "",0
TKC_0x85: dc.b "",0
TKC_0x86: dc.b "",0
TKC_0x87: dc.b "",0
TKC_0x88: dc.b "EDIT",0
TKC_0x89: dc.b "",0
TKC_0x8A: dc.b "",0
TKC_0x8B: dc.b "",0
TKC_0x8C: dc.b "",0
TKC_0x8D: dc.b "",0
TKC_0x8E: dc.b "",0
TKC_0x8F: dc.b "",0
TKC_0x90: dc.b "",0
TKC_0x91: dc.b "",0
TKC_0x92: dc.b "",0
TKC_0x93: dc.b "",0
TKC_0x94: dc.b "",0
TKC_0x95: dc.b "",0
TKC_0x96: dc.b "",0
TKC_0x97: dc.b "",0
TKC_0x98: dc.b "",0
TKC_0x99: dc.b "",0
TKC_0x9A: dc.b "",0
TKC_0x9B: dc.b "",0
TKC_0x9C: dc.b "",0
TKC_0x9D: dc.b "",0
TKC_0x9E: dc.b "",0
TKC_0x9F: dc.b "",0
TKC_0xA0: dc.b "",0
TKC_0xA1: dc.b "",0
TKC_0xA2: dc.b "",0
TKC_0xA3: dc.b "",0
TKC_0xA4: dc.b "",0
TKC_0xA5: dc.b "",0
TKC_0xA6: dc.b "",0
TKC_0xA7: dc.b "",0
TKC_0xA8: dc.b "",0
TKC_0xA9: dc.b "",0
TKC_0xAA: dc.b "",0
TKC_0xAB: dc.b "",0
TKC_0xAC: dc.b "",0
TKC_0xAD: dc.b "",0
TKC_0xAE: dc.b "",0
TKC_0xAF: dc.b "",0
TKC_0xB0: dc.b "",0
TKC_0xB1: dc.b "",0
TKC_0xB2: dc.b "",0
TKC_0xB3: dc.b "",0
TKC_0xB4: dc.b "",0
TKC_0xB5: dc.b "",0
TKC_0xB6: dc.b "",0
TKC_0xB7: dc.b "",0
TKC_0xB8: dc.b "",0
TKC_0xB9: dc.b "",0
TKC_0xBA: dc.b "",0
TKC_0xBB: dc.b "",0
TKC_0xBC: dc.b "",0
TKC_0xBD: dc.b "",0
TKC_0xBE: dc.b "",0
TKC_0xBF: dc.b "",0
TKC_0xC0: dc.b "",0
TKC_0xC1: dc.b "",0
TKC_0xC2: dc.b "",0
TKC_0xC3: dc.b "",0
TKC_0xC4: dc.b "",0
TKC_0xC5: dc.b "",0
TKC_0xC6: dc.b "",0
TKC_0xC7: dc.b "",0
TKC_0xC8: dc.b "",0
TKC_0xC9: dc.b "",0
TKC_0xCA: dc.b "",0
TKC_0xCB: dc.b "",0
TKC_0xCC: dc.b "",0
TKC_0xCD: dc.b "",0
TKC_0xCE: dc.b "",0
TKC_0xCF: dc.b "",0
TKC_0xD0: dc.b "",0
TKC_0xD1: dc.b "",0
TKC_0xD2: dc.b "",0
TKC_0xD3: dc.b "",0
TKC_0xD4: dc.b "",0
TKC_0xD5: dc.b "",0
TKC_0xD6: dc.b "",0
TKC_0xD7: dc.b "",0
TKC_0xD8: dc.b "",0
TKC_0xD9: dc.b "",0
TKC_0xDA: dc.b "",0
TKC_0xDB: dc.b "",0
TKC_0xDC: dc.b "",0
TKC_0xDD: dc.b "",0
TKC_0xDE: dc.b "",0
TKC_0xDF: dc.b "",0
TKC_0xE0: dc.b "",0      ;-> float1
TKC_0xE1: dc.b "",0      ;-> string1
TKC_0xE2: dc.b "",0      ;-> long1
TKC_0xE3: dc.b "",0      ;-> boolean1
TKC_0xE4: dc.b "",0      ;-> float1()
TKC_0xE5: dc.b "",0      ;-> string1()
TKC_0xE6: dc.b "",0      ;-> long1()
TKC_0xE7: dc.b "",0      ;-> booleean1()
TKC_0xE8: dc.b "",0      ;-> label1
TKC_0xE9: dc.b "",0
TKC_0xEA: dc.b "",0
TKC_0xEB: dc.b "",0
TKC_0xEC: dc.b "",0
TKC_0xED: dc.b "",0
TKC_0xEE: dc.b "",0
TKC_0xEF: dc.b "",0
TKC_0xF0: dc.b "",0
TKC_0xF1: dc.b "",0
TKC_0xF2: dc.b "",0
TKC_0xF3: dc.b "",0
TKC_0xF4: dc.b "",0
TKC_0xF5: dc.b "",0
TKC_0xF6: dc.b "",0
TKC_0xF7: dc.b "",0
TKC_0xF8: dc.b "",0
TKC_0xF9: dc.b "",0
TKC_0xFA: dc.b "",0
TKC_0xFB: dc.b "",0
TKC_0xFC: dc.b "",0
TKC_0xFD: dc.b "",0
TKC_0xFE: dc.b "",0      ;End line
TKC_0xFF: dc.b "",0      ;End program


===============
Token Function:
===============

TKF_0x00: dc.b "AND",0
TKF_0x01: dc.b "OR",0
TKF_0x02: dc.b "XOR",0
TKF_0x03: dc.b "IMP",0
TKF_0x04: dc.b "EQV",0
TKF_0x05: dc.b "-",0
TKF_0x06: dc.b "+",0
TKF_0x07: dc.b "*",0
TKF_0x08: dc.b "/",0
TKF_0x09: dc.b "^",0
TKF_0x0A: dc.b "MOD",0
TKF_0x0B: dc.b "NOT",0
TKF_0x0C: dc.b "DIV",0
TKF_0x0D: dc.b "<>",0      ;Nombres
TKF_0x0E: dc.b "<=",0
TKF_0x0F: dc.b "=<",0
TKF_0x10: dc.b ">=",0
TKF_0x11: dc.b "=>",0
TKF_0x12: dc.b "<",0
TKF_0x13: dc.b ">",0
TKF_0x14: dc.b "=",0  
TKF_0x15: dc.b $9C,0      ;<=
TKF_0x16: dc.b $9E,0      ;>=
TKF_0x17: dc.b $9D,0      ;<>
TKF_0x18: dc.b "",0      ;Chaînes de caractères
TKF_0x19: dc.b $A8,"(",0    ;Racine carrée 'sqr('
TKF_0x1A: dc.b $96,"^(",0    ;Exponentielle 'exp(
TKF_0x1B: dc.b "",0
TKF_0x1C: dc.b "",0
TKF_0x1D: dc.b "",0
TKF_0x1E: dc.b $AD,0      ;(-)
TKF_0x1F: dc.b "",0
TKF_0x20: dc.b ")",0
TKF_0x21: dc.b ",",0
TKF_0x22: dc.b ";",0
TKF_0x23: dc.b "(",0
TKF_0x24: dc.b "SGN(",0
TKF_0x25: dc.b "INT(",0
TKF_0x26: dc.b "TRUNC(",0
TKF_0x27: dc.b "FRAC(",0
TKF_0x28: dc.b "ABS(",0
TKF_0x29: dc.b "SIN(",0
TKF_0x2A: dc.b "COS(",0
TKF_0x2B: dc.b "TAN(",0
TKF_0x2C: dc.b "ATN(",0
TKF_0x2D: dc.b "'",0
TKF_0x2E: dc.b "ROUND(",0
TKF_0x2F: dc.b "EXP(",0
TKF_0x30: dc.b "LOG(",0
TKF_0x31: dc.b "LOG10(",0
TKF_0x32: dc.b "PEEK(",0
TKF_0x33: dc.b "DPEEK(",0
TKF_0x34: dc.b "LPEEK(",0
TKF_0x35: dc.b "VAL(",0
TKF_0x36: dc.b "LEN(",0
TKF_0x37: dc.b "ASC(",0
TKF_0x38: dc.b "",0
TKF_0x39: dc.b "TIMER",0
TKF_0x3A: dc.b "LEFT$(",0
TKF_0x3B: dc.b "",0
TKF_0x3C: dc.b "RIGHT$(",0
TKF_0x3D: dc.b "",0
TKF_0x3E: dc.b "MID$(",0
TKF_0x3F: dc.b "",0
TKF_0x40: dc.b "",0
TKF_0x41: dc.b "STR$(",0
TKF_0x42: dc.b "CHR$(",0
TKF_0x43: dc.b "",0
TKF_0x44: dc.b "",0
TKF_0x45: dc.b "=",0      ;Affectation
TKF_0x46: dc.b "GETFONT",0
TKF_0x47: dc.b "TO",0
TKF_0x48: dc.b "STEP",0
TKF_0x49: dc.b "DOWNTO",0
TKF_0x4A: dc.b "THEN",0
TKF_0x4B: dc.b "",0
TKF_0x4C: dc.b "",0
TKF_0x4D: dc.b "",0
TKF_0x4E: dc.b "SQR(",0
TKF_0x4F: dc.b "",0
TKF_0x50: dc.b "",0
TKF_0x51: dc.b "",0
TKF_0x52: dc.b "",0
TKF_0x53: dc.b "GETKEY",0
TKF_0x54: dc.b "",0
TKF_0x55: dc.b "RND",0
TKF_0x56: dc.b "RANDOM(",0
TKF_0x57: dc.b "",0
TKF_0x58: dc.b "FRE",0
TKF_0x59: dc.b "AT(",0
TKF_0x5A: dc.b "IF",0
TKF_0x5B: dc.b $5C,0      ;Division entière
TKF_0x5C: dc.b "",0
TKF_0x5D: dc.b "VAL?(",0
TKF_0x5E: dc.b "",0
TKF_0x5F: dc.b "",0
TKF_0x60: dc.b "",0
TKF_0x61: dc.b "NGETCHX",0
TKF_0x62: dc.b "MKI$(",0
TKF_0x63: dc.b "MKL$(",0
TKF_0x64: dc.b "MKF$(",0
TKF_0x65: dc.b "CVI(",0
TKF_0x66: dc.b "CVL(",0
TKF_0x67: dc.b "CVF(",0
TKF_0x68: dc.b "",0
TKF_0x69: dc.b "",0
TKF_0x6A: dc.b "",0
TKF_0x6B: dc.b "",0
TKF_0x6C: dc.b "",0
TKF_0x6D: dc.b "",0
TKF_0x6E: dc.b "HEX$(",0
TKF_0x6F: dc.b "OCT$(",0
TKF_0x70: dc.b "BIN$(",0
TKF_0x71: dc.b "",0
TKF_0x72: dc.b "",0
TKF_0x73: dc.b "",0
TKF_0x74: dc.b "",0
TKF_0x75: dc.b "",0
TKF_0x76: dc.b "",0
TKF_0x77: dc.b "",0
TKF_0x78: dc.b "",0
TKF_0x79: dc.b "",0
TKF_0x7A: dc.b "VARPTR(",0
TKF_0x7B: dc.b "ARRPTR(",0
TKF_0x7C: dc.b ":",0      ;<- label
TKF_0x7D: dc.b "DIM?(",0
TKF_0x7E: dc.b "",0
TKF_0x7F: dc.b "UPPER$(",0
TKF_0x80: dc.b "SPACE$(",0
TKF_0x81: dc.b "STRING$(",0
TKF_0x82: dc.b "LOWER$(",0
TKF_0x83: dc.b "",0
TKF_0x84: dc.b "",0
TKF_0x85: dc.b "DFREE(",0
TKF_0x86: dc.b "",0
TKF_0x87: dc.b "",0
TKF_0x88: dc.b "",0
TKF_0x89: dc.b "",0
TKF_0x8A: dc.b "",0
TKF_0x8B: dc.b "",0
TKF_0x8C: dc.b "",0
TKF_0x8D: dc.b "",0
TKF_0x8E: dc.b "",0
TKF_0x8F: dc.b "",0
TKF_0x90: dc.b "",0
TKF_0x91: dc.b "",0
TKF_0x92: dc.b "",0
TKF_0x93: dc.b "",0
TKF_0x94: dc.b "",0
TKF_0x95: dc.b "",0
TKF_0x96: dc.b "",0
TKF_0x97: dc.b "",0
TKF_0x98: dc.b "",0
TKF_0x99: dc.b "",0
TKF_0x9A: dc.b "",0
TKF_0x9B: dc.b "FIX(",0
TKF_0x9C: dc.b "",0
TKF_0x9D: dc.b "",0
TKF_0x9E: dc.b "",0
TKF_0x9F: dc.b "",0
TKF_0xA0: dc.b "",0
TKF_0xA1: dc.b "",0
TKF_0xA2: dc.b "",0
TKF_0xA3: dc.b "",0
TKF_0xA4: dc.b "",0
TKF_0xA5: dc.b "",0
TKF_0xA6: dc.b "",0
TKF_0xA7: dc.b "",0
TKF_0xA8: dc.b "",0
TKF_0xA9: dc.b "",0
TKF_0xAA: dc.b "",0
TKF_0xAB: dc.b "",0
TKF_0xAC: dc.b "",0
TKF_0xAD: dc.b "",0
TKF_0xAE: dc.b "",0
TKF_0xAF: dc.b "",0
TKF_0xB0: dc.b "",0
TKF_0xB1: dc.b "",0
TKF_0xB2: dc.b "",0
TKF_0xB3: dc.b "EVEN(",0
TKF_0xB4: dc.b "ODD(",0
TKF_0xB5: dc.b "",0
TKF_0xB6: dc.b "",0
TKF_0xB7: dc.b "",0
TKF_0xB8: dc.b "",0
TKF_0xB9: dc.b "CRSLIN",0
TKF_0xBA: dc.b "CRSCOL",0
TKF_0xBB: dc.b "!",0      ;stringd
TKF_0xBC: dc.b "TRUE",0
TKF_0xBD: dc.b "FALSE",0
TKF_0xBE: dc.b "PI",0
TKF_0xBF: dc.b $8C,0      ;PI
TKF_0xC0: dc.b $96,0      ;Exponentielle
TKF_0xC1: dc.b "",0
TKF_0xC2: dc.b "",0
TKF_0xC3: dc.b "TYPE(",0
TKF_0xC4: dc.b "",0
TKF_0xC5: dc.b "",0
TKF_0xC6: dc.b "",0      ;-> stringd
TKF_0xC7: dc.b "",0
TKF_0xC8: dc.b "",0      ;-> long%     DEC
TKF_0xC9: dc.b "",0      ;-> skip1 -> long% DEC
TKF_0xCA: dc.b "",0      ;-> long%     HEX
TKF_0xCB: dc.b "",0      ;-> skip1 -> long% HEX
TKF_0xCC: dc.b "",0      ;-> long%     OCT
TKF_0xCD: dc.b "",0      ;-> skip1 -> long% OCT
TKF_0xCE: dc.b "",0      ;-> long%          BIN
TKF_0xCF: dc.b "",0      ;-> skip1 -> long% BIN
TKF_0xD0: dc.b "",0
TKF_0xD1: dc.b "",0
TKF_0xD2: dc.b "",0
TKF_0xD3: dc.b "",0
TKF_0xD4: dc.b "",0
TKF_0xD5: dc.b "",0
TKF_0xD6: dc.b "",0
TKF_0xD7: dc.b "",0
TKF_0xD8: dc.b "",0
TKF_0xD9: dc.b "",0
TKF_0xDA: dc.b "",0
TKF_0xDB: dc.b "",0
TKF_0xDC: dc.b "",0      ;-> skip1 -> string$
TKF_0xDD: dc.b "",0      ;-> skip1 -> float# DEC
TKF_0xDE: dc.b "",0      ;-> string$
TKF_0xDF: dc.b "",0      ;-> float#      DEC
TKF_0xE0: dc.b "",0      ;-> float1
TKF_0xE1: dc.b "",0      ;-> string1
TKF_0xE2: dc.b "",0      ;-> long1
TKF_0xE3: dc.b "",0      ;-> boolean1
TKF_0xE4: dc.b "",0      ;-> float1()
TKF_0xE5: dc.b "",0      ;-> string1()
TKF_0xE6: dc.b "",0      ;-> long1()
TKF_0xE7: dc.b "",0      ;-> booleean1()
TKF_0xE8: dc.b "",0      ;-> label1
TKF_0xE9: dc.b "",0
TKF_0xEA: dc.b "",0
TKF_0xEB: dc.b "",0
TKF_0xEC: dc.b "",0
TKF_0xED: dc.b "",0
TKF_0xEE: dc.b "",0
TKF_0xEF: dc.b "",0
TKF_0xF0: dc.b "",0
TKF_0xF1: dc.b "",0
TKF_0xF2: dc.b "",0
TKF_0xF3: dc.b "",0
TKF_0xF4: dc.b "",0
TKF_0xF5: dc.b "",0
TKF_0xF6: dc.b "",0
TKF_0xF7: dc.b "",0
TKF_0xF8: dc.b "",0
TKF_0xF9: dc.b "",0
TKF_0xFA: dc.b "",0
TKF_0xFB: dc.b "",0
TKF_0xFC: dc.b "",0
TKF_0xFD: dc.b "",0      ;Tokens constants
TKF_0xFE: dc.b "",0      ;End line
TKF_0xFF: dc.b "",0      ;End program


Une fin de ligne est indiquée grâce au token 0xFE, suivi de 2 octets 
pour le numéro de la ligne.
La fin du programme est signalé par le token 0xFF.

-Edité le Samedi 18 décembre 2004 à 20:49 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°1   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 14 août 2004 à 19:35 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Pourquoi y-a-t'il tellement de tokens non-assignés au plein milieu de tes listes?
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°2   Marquer comme non lu.
geogeo Ecrit le: Samedi 14 août 2004 à 19:44 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Ces tables se basent sur les tables de GFA-Basic v2.0 de l'Atari ST. La plupart des tokens assignés sont les tokens dont la syntaxe est presque entièrement gérée, dont les fonctions existent et que j'ai déjà réalisées. Le reste se sont des tokens à développer ou à innover comme ELSEIF.

Donc les trous s'expliquent parce que j'utilise un peu près les même tables que le GFA Basic sur Atari ST et parce que je n'ai pas implanté certaines fonctions. le travail est immense, surtout que j'ai dû reprendre le projet de A à Z pour accepeter ce format plus confortable qu'avant.
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°3   Marquer comme non lu.
Dari Ecrit le: Samedi 14 août 2004 à 23:02 Déconnecté(e)    Voir le profil de Dari Envoyer un email à Dari Visiter le site WEB de Dari Envoyer un message privé à Dari  

Continue comme ça !!
"iPod, therefore, I am."

http://media.laquadrature.net/Quadrature_black-out_HADOPI_468x60px.gif

    
./Post n°4   Marquer comme non lu.
geogeo Ecrit le: Dimanche 15 août 2004 à 00:13 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Merci, j'espère que je vais aboutir dans peu de temps à un truc potable, même si ça reste un projet très difficile.
C'est le genre de projet où je peux programmer pendant 1 heure sans l'avoir compilé pour tester. Bien sûr lors des tests c'est la surprise. #gni#
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°5   Marquer comme non lu.
Nul Ecrit le: Mardi 17 août 2004 à 14:37 Déconnecté(e)    Voir le profil de Nul Envoyer un email à Nul Envoyer un message privé à Nul  

Continue ! Ce serait vraiment genial si tu reussissais ! #bravo# Enfin un basic rapide ! #sun#
"De tous les animaux, l'homme a le plus de pente,
A se porter dedans l'excès."

Jean de la Fontaine
    
./Post n°6   Marquer comme non lu.
geogeo Ecrit le: Samedi 18 décembre 2004 à 20:50 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Table des constantes (innovation car GFA Basic original ne surtout pas ça):

===============
Token Constants:
===============
TKD_0x00: dc.b "CALCULATOR",0    ;Zone de constantes à tokeniser
TKD_0x01: dc.b "HW_VERSION",0
TKD_0x02: dc.b "LCD_HEIGHT",0
TKD_0x03: dc.b "LCD_WIDTH",0
TKD_0x04: dc.b "LCD_LINE_BYTES",0
TKD_0x05: dc.b "ROM_BASE",0
TKD_0x06: dc.b "TI89",0
TKD_0x07: dc.b "TI89_CLASSIC",0
TKD_0x08: dc.b "TI89_TITANIUM",0
TKD_0x09: dc.b "TI92PLUS",0
TKD_0x0A: dc.b "V200",0
TKD_0x0B: dc.b "TIOS_ENTRIES",0
TKD_0x0C: dc.b "RR_0",0
TKD_0x0D: dc.b "RR_1",0
TKD_0x0E: dc.b "RR_2",0
TKD_0x0F: dc.b "RR_3",0
TKD_0x10: dc.b "RR_4",0
TKD_0x11: dc.b "RR_5",0
TKD_0x12: dc.b "RR_6",0
TKD_0x13: dc.b "RR_7",0
TKD_0x14: dc.b "RR_8",0  
TKD_0x15: dc.b "RR_9",0
TKD_0x16: dc.b "RR_2ND",0
TKD_0x17: dc.b "RR_A",0
TKD_0x18: dc.b "RR_ALPHA",0
TKD_0x19: dc.b "RR_APPS",0
TKD_0x1A: dc.b "RR_B",0
TKD_0x1B: dc.b "RR_BACKSPACE",0
TKD_0x1C: dc.b "RR_C",0
TKD_0x1D: dc.b "RR_CATALOG",0
TKD_0x1E: dc.b "RR_CLEAR",0
TKD_0x1F: dc.b "RR_COMMA",0
TKD_0x20: dc.b "RR_COS",0
TKD_0x21: dc.b "RR_D",0
TKD_0x22: dc.b "RR_DIAMOND",0
TKD_0x23: dc.b "RR_DIVIDE",0
TKD_0x24: dc.b "RR_DOT",0
TKD_0x25: dc.b "RR_DOWN",0
TKD_0x26: dc.b "RR_E",0
TKD_0x27: dc.b "RR_EE",0
TKD_0x28: dc.b "RR_ENTER1",0
TKD_0x29: dc.b "RR_ENTER2",0
TKD_0x2A: dc.b "RR_ENTER",0
TKD_0x2B: dc.b "RR_EQUALS",0
TKD_0x2C: dc.b "RR_ESC",0
TKD_0x2D: dc.b "RR_F1",0
TKD_0x2E: dc.b "RR_F2",0
TKD_0x2F: dc.b "RR_F3",0
TKD_0x30: dc.b "RR_F4",0
TKD_0x31: dc.b "RR_F5",0
TKD_0x32: dc.b "RR_F6",0
TKD_0x33: dc.b "RR_F7",0
TKD_0x34: dc.b "RR_F8",0
TKD_0x35: dc.b "RR_F",0
TKD_0x36: dc.b "RR_G",0
TKD_0x37: dc.b "RR_H",0
TKD_0x38: dc.b "RR_HAND",0
TKD_0x39: dc.b "RR_HOME",0
TKD_0x3A: dc.b "RR_I",0
TKD_0x3B: dc.b "RR_J",0
TKD_0x3C: dc.b "RR_K",0
TKD_0x3D: dc.b "RR_L",0
TKD_0x3E: dc.b "RR_LEFT",0
TKD_0x3F: dc.b "RR_LN",0
TKD_0x40: dc.b "RR_M",0
TKD_0x41: dc.b "RR_MINUS",0
TKD_0x42: dc.b "RR_MODE",0
TKD_0x43: dc.b "RR_MULTIPLY",0
TKD_0x44: dc.b "RR_N",0
TKD_0x45: dc.b "RR_NEGATE",0
TKD_0x46: dc.b "RR_O",0
TKD_0x47: dc.b "RR_P",0
TKD_0x48: dc.b "RR_PAREN_CLOSE",0
TKD_0x49: dc.b "RR_PAREN_OPEN",0
TKD_0x4A: dc.b "RR_PLUS",0
TKD_0x4B: dc.b "RR_POWER",0
TKD_0x4C: dc.b "RR_Q",0
TKD_0x4D: dc.b "RR_R",0
TKD_0x4E: dc.b "RR_RIGHT",0
TKD_0x4F: dc.b "RR_S",0
TKD_0x50: dc.b "RR_SHIFT",0
TKD_0x51: dc.b "RR_SIN",0
TKD_0x52: dc.b "RR_SPACE",0
TKD_0x53: dc.b "RR_STORE",0
TKD_0x54: dc.b "RR_T",0
TKD_0x55: dc.b "RR_TAN",0
TKD_0x56: dc.b "RR_THETA",0
TKD_0x57: dc.b "RR_U",0
TKD_0x58: dc.b "RR_UP",0
TKD_0x59: dc.b "RR_V",0
TKD_0x5A: dc.b "RR_W",0
TKD_0x5B: dc.b "RR_WITH",0
TKD_0x5C: dc.b "RR_X",0
TKD_0x5D: dc.b "RR_Y",0
TKD_0x5E: dc.b "RR_Z",0
TKD_0x5F: dc.b "AMS_1XX",0
TKD_0x60: dc.b "AMS_2XX",0
TKD_0x61: dc.b "AMS_3XX",0
TKD_0x62: dc.b "",0
TKD_0x63: dc.b "",0
TKD_0x64: dc.b "",0
TKD_0x65: dc.b "",0
TKD_0x66: dc.b "",0
TKD_0x67: dc.b "",0
TKD_0x68: dc.b "",0
TKD_0x69: dc.b "",0
TKD_0x6A: dc.b "",0
TKD_0x6B: dc.b "",0
TKD_0x6C: dc.b "",0
TKD_0x6D: dc.b "",0
TKD_0x6E: dc.b "",0
TKD_0x6F: dc.b "",0
TKD_0x70: dc.b "",0
TKD_0x71: dc.b "",0
TKD_0x72: dc.b "",0
TKD_0x73: dc.b "",0
TKD_0x74: dc.b "",0
TKD_0x75: dc.b "",0
TKD_0x76: dc.b "",0
TKD_0x77: dc.b "",0
TKD_0x78: dc.b "",0
TKD_0x79: dc.b "",0
TKD_0x7A: dc.b "",0
TKD_0x7B: dc.b "",0
TKD_0x7C: dc.b "",0
TKD_0x7D: dc.b "",0
TKD_0x7E: dc.b "",0
TKD_0x7F: dc.b "",0
TKD_0x80: dc.b "LCD_MEM",0    ;Zone de constantes simples!
TKD_0x81: dc.b "LCD_SIZE",0
TKD_0x82: dc.b "KEY_DOWN",0
TKD_0x83: dc.b "KEY_UP",0
TKD_0x84: dc.b "KEY_LEFT",0
TKD_0x85: dc.b "KEY_RIGHT",0
TKD_0x86: dc.b "KEY_F1",0
TKD_0x87: dc.b "KEY_F2",0
TKD_0x88: dc.b "KEY_F3",0
TKD_0x89: dc.b "KEY_F4",0
TKD_0x8A: dc.b "KEY_F5",0
TKD_0x8B: dc.b "KEY_F6",0
TKD_0x8C: dc.b "KEY_F7",0
TKD_0x8D: dc.b "KEY_F8",0
TKD_0x8E: dc.b "KEY_ESC",0
TKD_0x8F: dc.b "KEY_APPS",0
TKD_0x90: dc.b "KEY_ENTER",0
TKD_0x91: dc.b "",0
TKD_0x92: dc.b "",0
TKD_0x93: dc.b "",0
TKD_0x94: dc.b "",0
TKD_0x95: dc.b "",0
TKD_0x96: dc.b "",0
TKD_0x97: dc.b "",0
TKD_0x98: dc.b "",0
TKD_0x99: dc.b "",0
TKD_0x9A: dc.b "",0
TKD_0x9B: dc.b "",0
TKD_0x9C: dc.b "",0
TKD_0x9D: dc.b "",0
TKD_0x9E: dc.b "",0
TKD_0x9F: dc.b "",0
TKD_0xA0: dc.b "",0
TKD_0xA1: dc.b "",0
TKD_0xA2: dc.b "",0
TKD_0xA3: dc.b "",0
TKD_0xA4: dc.b "",0
TKD_0xA5: dc.b "",0
TKD_0xA6: dc.b "",0
TKD_0xA7: dc.b "",0
TKD_0xA8: dc.b "",0
TKD_0xA9: dc.b "",0
TKD_0xAA: dc.b "",0
TKD_0xAB: dc.b "",0
TKD_0xAC: dc.b "",0
TKD_0xAD: dc.b "",0
TKD_0xAE: dc.b "",0
TKD_0xAF: dc.b "",0
TKD_0xB0: dc.b "",0
TKD_0xB1: dc.b "",0
TKD_0xB2: dc.b "",0
TKD_0xB3: dc.b "",0
TKD_0xB4: dc.b "",0
TKD_0xB5: dc.b "",0
TKD_0xB6: dc.b "",0
TKD_0xB7: dc.b "",0
TKD_0xB8: dc.b "",0
TKD_0xB9: dc.b "",0
TKD_0xBA: dc.b "",0
TKD_0xBB: dc.b "",0
TKD_0xBC: dc.b "",0
TKD_0xBD: dc.b "",0
TKD_0xBE: dc.b "",0
TKD_0xBF: dc.b "",0
TKD_0xC0: dc.b "",0
TKD_0xC1: dc.b "",0
TKD_0xC2: dc.b "",0
TKD_0xC3: dc.b "",0
TKD_0xC4: dc.b "",0
TKD_0xC5: dc.b "",0
TKD_0xC6: dc.b "",0
TKD_0xC7: dc.b "",0
TKD_0xC8: dc.b "",0
TKD_0xC9: dc.b "",0
TKD_0xCA: dc.b "",0
TKD_0xCB: dc.b "",0
TKD_0xCC: dc.b "",0
TKD_0xCD: dc.b "",0
TKD_0xCE: dc.b "",0
TKD_0xCF: dc.b "",0
TKD_0xD0: dc.b "",0
TKD_0xD1: dc.b "",0
TKD_0xD2: dc.b "",0
TKD_0xD3: dc.b "",0
TKD_0xD4: dc.b "",0
TKD_0xD5: dc.b "",0
TKD_0xD6: dc.b "",0
TKD_0xD7: dc.b "",0
TKD_0xD8: dc.b "",0
TKD_0xD9: dc.b "",0
TKD_0xDA: dc.b "",0
TKD_0xDB: dc.b "",0
TKD_0xDC: dc.b "",0
TKD_0xDD: dc.b "",0
TKD_0xDE: dc.b "",0
TKD_0xDF: dc.b "",0
TKD_0xE0: dc.b "",0
TKD_0xE1: dc.b "",0
TKD_0xE2: dc.b "",0
TKD_0xE3: dc.b "",0
TKD_0xE4: dc.b "",0
TKD_0xE5: dc.b "",0
TKD_0xE6: dc.b "",0
TKD_0xE7: dc.b "",0
TKD_0xE8: dc.b "",0
TKD_0xE9: dc.b "",0
TKD_0xEA: dc.b "",0
TKD_0xEB: dc.b "",0
TKD_0xEC: dc.b "",0
TKD_0xED: dc.b "",0
TKD_0xEE: dc.b "",0
TKD_0xEF: dc.b "",0
TKD_0xF0: dc.b "",0
TKD_0xF1: dc.b "",0
TKD_0xF2: dc.b "",0
TKD_0xF3: dc.b "",0
TKD_0xF4: dc.b "",0
TKD_0xF5: dc.b "",0
TKD_0xF6: dc.b "",0
TKD_0xF7: dc.b "",0
TKD_0xF8: dc.b "",0
TKD_0xF9: dc.b "",0
TKD_0xFA: dc.b "",0
TKD_0xFB: dc.b "",0
TKD_0xFC: dc.b "",0
TKD_0xFD: dc.b "",0
TKD_0xFE: dc.b "",0
TKD_0xFF: dc.b "",0
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°7   Marquer comme non lu.
FpgForce Ecrit le: Samedi 18 décembre 2004 à 22:42 Déconnecté(e)    Voir le profil de FpgForce Envoyer un email à FpgForce Envoyer un message privé à FpgForce  

Bigre quel travail! Bravo Géogéo! Continue comme ça c'est vraiment bien! :)
    
./Post n°8   Marquer comme non lu.
geogeo Ecrit le: Lundi 20 décembre 2004 à 14:17 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Merci. :)
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
  :: Index » GFA-Basic TI68K » Documentations » Format d'un fichier BAS (8 réponse(s))
Pages : 1/1     « [1] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 53.61ms avec 18 requetes