Mémento TO7/70 |
La "mémo7" est le nom de la cartouche que vous introduisez dans votre TO7. C'est en fait une mémoire ROM contenant le BASIC. Bien entendu, il existe d'autre mémo7 comme ColorPaint ou LOGO.
Mise en service du matériel |
![]() |
Le TO7 est relié à un moniteur ou une télévision via la prise péritel et a une prise de courant 220 Volts. Avant tous, vérifiez que vous avez votre mémo7 BASIC dans votre TO7. Mettez vos périphérique sous tension (écran, lecteur(s), imprimante ...) puis l'ordinateur. Le menu apparaît sur l'écran. Ici, vous pouvez réglez la luminosité et le contraste pour que le crayon optique soit fonctionnel. Puis activé le menu de votre choix.
/!\ Si l'affichage n'est pas en couleur bien que votre téléviseur le soit, c'est peut être parce que vous passez par votre magnétoscope. Si ce n'est pas le cas, vérifiez que votre téléviseur est compatible PAL/SECAM.
Touches magiques |
![]() |
|
Imprimante parallèle |
![]() |
listé un programme sur l'imprimante :
list "lptr:" sur 40 colonnes list "lptr:(80)", 10-200 liste partielle sur 80 colonnes |
Impression de données : (il vous suffit d'ouvrir l'imprimante comme un fichier en écriture séquentiel)
... Open "o", #canal, "lptr:(colonne)" ... ... Print #canal, using "formatage"; liste de données ... ... Close canal |
Fichier sur cassette |
![]() |
Écriture du fichier : positionner la bande, appuyer sur la touche enregistrement
... open "o", #canal, "nom_de_fichier" ... ... print #canal, données ... print #canal, using "formatage"; données ... ... close canal |
Lecture du fichier : positionner la bande
... open "i", #canal, "nom_de_fichier" ... ... input #canal, données ... ... close canal |
Pour les disquettes, nous avons des nouveaux mots, mais il sont définir par le "BASIC D.O.S" qui provint du basic fournir avec le lecteur de disquette.
Généralité sur les filtres (descripteur de fichier). |
![]() |
Un nom de fichier peut contenir 8 caractère (lettre et chiffre), et un suffixe facultatif formé d'un point et de trois caractère.
Liste descripteur de fichier | |
Série | "COMM: (options) nom_de_fichier" |
cassette | "cass: nom_de_fichier" |
imprimant parallèle | "lptr: (nombre de colonnes)" |
écran | "scrn: (nombre de colonnes)" |
clavier | "kybd:" |
L'option de la voie série est formée de 3 à 5 chiffres :
Premier chiffre | 1=110 bauds, 2=300 bauds, 3=600 bauds, 4=1200 bauds, 5=2400 bauds, 6=4800 bauds. |
Second chiffre | 7 ou 8 : nombre de bits transmis par caractère |
Chiffre suivantes | 0 à 255 : longueur de la ligne ou du bloc transmis |
Exemple : open "o", #3, "comm:(37126)"
Liste des instructions |
![]() |
Vous pouvez faire suivre plusieurs instruction à la suites en les séparant par le caractère deux points ":". Les options sont notées en italique.
ATTRB largeur, hauteur, masquage | ||||||||||||||||||||||||||||||
Défini l'étirement des caractères dans l'affichage des caractères avenir. largeur, hauteur : 0 = normal, 1 = doublé. masquage : 0 = non masqué, 1 = masqué |
||||||||||||||||||||||||||||||
AUTO 1re_ligne, incrément | ||||||||||||||||||||||||||||||
Numérotation automatique des lignes pour la saisie de votre programme. | ||||||||||||||||||||||||||||||
BEEP | ||||||||||||||||||||||||||||||
Produit en son court | ||||||||||||||||||||||||||||||
BOX / BOXF (X1,Y1)-(X2,Y2), couleur BOX / BOXF (C1,L1)-(C2,L2) chaîne, couleur forme, couleur fond, inversion de couleur |
||||||||||||||||||||||||||||||
Dessin respectivement un rectangle vide et plein (F pour full) défini par 2 sommet en coordonnée d'écran en graphique ou en texte : voir instructions graphiques. | ||||||||||||||||||||||||||||||
CLEAR nombre d'octets chaîne, adresse max., nombre de caractères utilisateur | ||||||||||||||||||||||||||||||
Réservation de place pour le travail sur les chaînes et les caractères utilisateur
; plus haute adresse utilisable par le BASIC. Ex : Clear 500,34000 : CLEAR ,,4 |
||||||||||||||||||||||||||||||
CLOSE canal, ... | ||||||||||||||||||||||||||||||
Fermeture de fichiers. Ex : CLOSE 1 : CLOSE 2,3 |
||||||||||||||||||||||||||||||
CLS | ||||||||||||||||||||||||||||||
Effacement de l'écran avec les couleurs actuels. | ||||||||||||||||||||||||||||||
COLOR couleur forme, couleur fond, inversion des couleurs | ||||||||||||||||||||||||||||||
Définit la couleur des caractères ; voir tableau des couleurs Ex : color 3,4 : color ,,1 |
||||||||||||||||||||||||||||||
CONSOLE 1re ligne, dernier ligne, blocage des couleurs, défilement | ||||||||||||||||||||||||||||||
Définit un fenêtre de travail (1 = couleurs bloquées, 0 sinon) et son mode de
défilement (0 = normal, 1 = lent, 2 = par page) Ex : CONSOLE 10,15 : CONSOLE ,,1,1 |
||||||||||||||||||||||||||||||
CONT | ||||||||||||||||||||||||||||||
Poursuit l'exécution du programme interrompu par [CNT][C]. | ||||||||||||||||||||||||||||||
DATA liste de données, ... | ||||||||||||||||||||||||||||||
Données du programme. Ex : DATA 1,2,3,"GOWAP" |
||||||||||||||||||||||||||||||
DEFGR$(numéro) = N1, N2, ..., N8 | ||||||||||||||||||||||||||||||
Définition d'un caractère utilisateur semi-graphique
(numéro = 0 à 127, N1...N8 = 0 à 255). Le numéro maximum (+1) est spécifié par
"CLEAR ,,1" Ex : DEFGR$(0) = 24,126,60,36,24,252,36,244 |
||||||||||||||||||||||||||||||
DEFINT plage,... variable entière DEFSNG plage,... variable simple précision DEFDBL plage,... variable double précision DEFSTR plage,... variable de chaîne |
||||||||||||||||||||||||||||||
Déclaration du type des variables dont la première lettre est dans la plage
indiquée Ex : DEFDBL A-D, V-X |
||||||||||||||||||||||||||||||
DEFUSR numéro = adresse | ||||||||||||||||||||||||||||||
Adresse de début d'un programme écrit en langage machine (numéro = 0 à 9). | ||||||||||||||||||||||||||||||
DELETE plage | ||||||||||||||||||||||||||||||
Supprime des lignes du programme. Ex : DELETE 100-150 : DELETE 100- : DELETE -150 |
||||||||||||||||||||||||||||||
DIM tableau (taille), ... | ||||||||||||||||||||||||||||||
Dimensionne des tableaux. Ex : DIM MAT (2,3), ID$(NB) |
||||||||||||||||||||||||||||||
END | ||||||||||||||||||||||||||||||
Termine l'exécution du programme. | ||||||||||||||||||||||||||||||
ERROR numéro d'erreur | ||||||||||||||||||||||||||||||
Simule (déclenche) l'erreur numérotée. | ||||||||||||||||||||||||||||||
EXEC adresse | ||||||||||||||||||||||||||||||
Exécution d'un programme en langage machine à partir de l'adresse indiquée. Ex : EXEC &H9FE0 |
||||||||||||||||||||||||||||||
FOR var = début TO fin STEP incrément : ... : NEXT var, ... | ||||||||||||||||||||||||||||||
Répétition des instructions en FOR et NEXT jusqu'à ce que la variable atteigne la
valeur fin. STEP précise l'incrémentation ; a défaut, l'incrémentation sera de 1. Ex : FOR J = 10 TO 0 STEP -1 : .... : NEXT La boucle peut être sur plusieurs lignes : 10 FOR T ... 20 ... 30 NEXT T |
||||||||||||||||||||||||||||||
GOSUB numéro de ligne | ||||||||||||||||||||||||||||||
Appel du sous-programme Basic commençant à la ligne numérotée. Ex : GOSUB 100 |
||||||||||||||||||||||||||||||
GOTO numéro de ligne | ||||||||||||||||||||||||||||||
Saut (Branchement inconditionnel) à la ligne numérotée Ex : GOTO 100 |
||||||||||||||||||||||||||||||
IF condition THEN instructions1 ELSE
instructions2 IF condition GOTO numéro de ligne ELSE numéro de ligne |
||||||||||||||||||||||||||||||
Exécution d'une instruction (ou d'un block) ou d'un saut suivant la valeur de la
condition. Si la condition est validée, le premier bloc d'instruction sera exécuté.
Dans le cas contraires et s'il existe, le deuxième bloc sera exécuté. Ex : IF Site="GOWAP" THEN PRINT "YOUPI" : GOTO 200 ELSE 100 |
||||||||||||||||||||||||||||||
INPEN x,y | ||||||||||||||||||||||||||||||
Lit les coordonnées à la volé du crayon optique. Voir crayon optique. | ||||||||||||||||||||||||||||||
INPUT "message", VAR1, ... | ||||||||||||||||||||||||||||||
Lecture de données introduites au clavier. Une point-virgule après le
"message" affiche un point d'interrogation. Ex : INPUT "Voulez vous continuer (O/N) :", REP$ |
||||||||||||||||||||||||||||||
INPUT #canal, variable, ... | ||||||||||||||||||||||||||||||
Lecture de données à partir d'un fichier séquentiel Ex : INPUT #1, MOT$, NB |
||||||||||||||||||||||||||||||
INPUTPEN x,y | ||||||||||||||||||||||||||||||
Attend l'appui du crayon optique pour lire ses coordonnées. Voir crayon optique. | ||||||||||||||||||||||||||||||
INPUTWAIT numéro de ligne, durée en secondes, "message", liste de variable | ||||||||||||||||||||||||||||||
Effectue une lecture de données introduites au clavier dans un temps limité.
Si le
délais est écoulé, effectue un branchement à la ligne numérotée. Un point-virgule
après le "message" affiche un point d'interrogation. Ex : INPUTWAIT 500, 10, "NOM et PRENOM" ; A$, B$ : INPUTWAIT 550, 10 |
||||||||||||||||||||||||||||||
LET var = expression | ||||||||||||||||||||||||||||||
LET est facultatif et permet d'éffectuer une affectation de données à une variable. Ex : LET R1 = (-B-SQR(DELTA))/(2*A) |
||||||||||||||||||||||||||||||
LINE (X1,Y1)-(X2,Y2), couleur LINE (C1,L1)-(C2,L2) chaîne, couleur forme, couleur fond, inversion de couleur |
||||||||||||||||||||||||||||||
Trace une ligne de point ou de caractère. Voir instructions graphiques. | ||||||||||||||||||||||||||||||
LINEINPUT "message", variable chaîne | ||||||||||||||||||||||||||||||
Lecture d'une ligne introduite au clavier. Un point-virgule après le
"message" affiche un point d'interrogation. Ex : LINEINPUT PHRASE$ |
||||||||||||||||||||||||||||||
LINEINPUT #canal, variable chaîne | ||||||||||||||||||||||||||||||
Lecture d'une ligne de données à partir d'un fichier. | ||||||||||||||||||||||||||||||
LIST plage | ||||||||||||||||||||||||||||||
Listage d'une partie ou de tout le programme sur l'écran. Ex : LIST : LIST 100-200 : LIST -100 : LIST 200- |
||||||||||||||||||||||||||||||
LIST "descripteur de fichier", plage | ||||||||||||||||||||||||||||||
Listage du programme sur l'imprimante ou vers un fichier. Voir les descripteurs de fichier. | ||||||||||||||||||||||||||||||
LOAD "nom de fichier", R | ||||||||||||||||||||||||||||||
Charge le programme indiqué. L'option R lance l'exécution. | ||||||||||||||||||||||||||||||
LOADM "nom de fichier", décalage, R | ||||||||||||||||||||||||||||||
Charge en mémoire une page écran, ou un programme binaire avec translation en
mémoire. L'option R lance l'exécution. |
||||||||||||||||||||||||||||||
LOCATE colonne, ligne, mode | ||||||||||||||||||||||||||||||
Positionne le curseur sur l'écran (curseur invisible si mode = 0 et visible si mode =
1) Ex: LOCATE 1, 1 |
||||||||||||||||||||||||||||||
MERGE "nom de fichier", R | ||||||||||||||||||||||||||||||
Fusionne le programme indiqué avec le programme présent en mémoire. L'option R lance l'exécution. | ||||||||||||||||||||||||||||||
MID$ (chaîne1$, i, j) = chaîne2$ | ||||||||||||||||||||||||||||||
j caractères de chaîne1$ sont remplacés à partir du ième caractère,
par les j premiers caractères de chaine2$. Ex : MID$("Le XXXXX !",4,5) = "GOWAP" donne "Le GOWAP !" Ne pas confondre avec la fonction MID$. |
||||||||||||||||||||||||||||||
MOTORON | ||||||||||||||||||||||||||||||
Lance le défilement de la cassette. | ||||||||||||||||||||||||||||||
MOTOROFF | ||||||||||||||||||||||||||||||
Arrête le défilement de la cassette. | ||||||||||||||||||||||||||||||
NEXT var, ... | ||||||||||||||||||||||||||||||
Voir FOR. | ||||||||||||||||||||||||||||||
NEW | ||||||||||||||||||||||||||||||
Détruit le programme et les variables en mémoire centrale. | ||||||||||||||||||||||||||||||
ON ERROR GOTO numéro de ligne | ||||||||||||||||||||||||||||||
Branche au numéro de ligne indiqué dès qu'une erreur est détectée (généré). | ||||||||||||||||||||||||||||||
ON variable GOTO ligne1, ligne2, ... ON variable GOSUB ligne1, ligne2, ... |
||||||||||||||||||||||||||||||
Branche au numéro de ligne indiqué selon la valeur de variable Ex : ON T GOTO 100, 200, 300 |
||||||||||||||||||||||||||||||
ONPEN GOTO ligne0, ligne1, ... ONPEN GOSUB ligne0, ligne1, ... |
||||||||||||||||||||||||||||||
Branche à la ligne indiqué selon la zone d'écran désigné par le cayon optique. Voir crayon optique. | ||||||||||||||||||||||||||||||
OPEN "mode", #canal, "nom_de_fichier" OPEN "mode", #canal, "descripteur de fichier" |
||||||||||||||||||||||||||||||
Ouverture d'un canal en entrée (mode = I) ou en sortie (mode = O) pour un fichier ou
un périphérique. Voir les descripteurs de fichier. OPEN "I", #1, "Clients.ABC" : OPEN "O", #2, "LPRT:" |
||||||||||||||||||||||||||||||
PEN zone, zone, ... | ||||||||||||||||||||||||||||||
Définit des zones d'écran numéroté pour la gestion du crayon optique. Voir crayon optique. | ||||||||||||||||||||||||||||||
PLAY mélodie, mélodie, ... | ||||||||||||||||||||||||||||||
Les mélodies sont des chaînes contenants les notes et des propriétés. Voir musique. | ||||||||||||||||||||||||||||||
POKE adresse, i | ||||||||||||||||||||||||||||||
Ecrit à l'adresse indiquée la valeur de i (i est un octet : valeur de 0 à 255). Ex : POKE &H9FFF, 127 |
||||||||||||||||||||||||||||||
PRINT expressions, expressions ... | ||||||||||||||||||||||||||||||
Affichage de résultats ou de textes sur l'écran. Un point virgule après
l'expression
permet de ne pas retourner à la ligne immédiatement, et de ne pas faire d'espace entre
plusieurs expression. PRINT "Le ";: A$="GOWAP" : PRINT A$ : FRS = 120 : PRINT "EURO = ";FRS*0.15 |
||||||||||||||||||||||||||||||
PRINT #canal, expressions, expressions ... | ||||||||||||||||||||||||||||||
Écriture sur un fichier ou un périphérique identifié par son numéro de canal. | ||||||||||||||||||||||||||||||
PRINT #canal USING image ; expressions | ||||||||||||||||||||||||||||||
L'écriture se réfère à l'image spécifiée (chaîne qui contient des descripteurs
de mise en page)
Tous autre caractère ou espace dans l'image est considéré comme séparateur et
édité tel quel. |
||||||||||||||||||||||||||||||
PSET (X,Y), couleur PSET (C,L), chaîne, couleur forme, couleur fond, inversion de couleurs |
||||||||||||||||||||||||||||||
Affiche un point ou un caractère. Voir instructions graphiques. | ||||||||||||||||||||||||||||||
READ variable, ... | ||||||||||||||||||||||||||||||
Lecture des données des instructions DATA. Ex : READ NB, ST$ |
||||||||||||||||||||||||||||||
REM commentaire ou ' commentaire | ||||||||||||||||||||||||||||||
Insertion d'un commentaire dans un programme. | ||||||||||||||||||||||||||||||
RESTORE numéro de ligne | ||||||||||||||||||||||||||||||
Réinitialise la lecture des données des instructions DATA, soit à la ligne indiquée, soit au début de la première instruction DATA si le numéro de ligne est omis. | ||||||||||||||||||||||||||||||
RESUME NEXT | ||||||||||||||||||||||||||||||
Sortie d'un sous programme de traitement d'erreur (appelé par ON ERROR GOTO) et retranchement à l'instruction où l'erreur a été détectée ou à l'instruction suivant avec l'option NEXT. | ||||||||||||||||||||||||||||||
RETURN | ||||||||||||||||||||||||||||||
Sortie de sous-programme et retour à l'instruction GOSUB appelant. | ||||||||||||||||||||||||||||||
RUN "nom de fichier", numéro de ligne | ||||||||||||||||||||||||||||||
Lancement de l'exécution d'un programme à partir de la ligne indiquée. En omettant
le nom de fichier à charger, le programme en mémoire sera exécuté. Le numéro de ligne
désigne le point de départ de l'exécution ; s'il est omis, la première ligne du
programme sera le point de départ. Ex : RUN : RUN "PROG1", 100 : RUN "CASS:PROG2" |
||||||||||||||||||||||||||||||
SAVE "nom de fichier", P ou A | ||||||||||||||||||||||||||||||
Sauvegarde d'un programme avec protection (P) ou en ASCII (A). Si P et A son omis, le
programme est sauvegardé en code BASIC. L'option A permet de sauvegarder le programme
dans un format lisible ; c'est en fait un fichier séquentiel qui contient les mêmes
caractères que vous visualisez lorsque vous utilisez l'instruction LIST. Ex : SAVE "SECRET", P : SAVE "PROG1", A : SAVE "PROG" |
||||||||||||||||||||||||||||||
SAVEM "nom de fichier", adr. début, adr. fin, adr. lancement | ||||||||||||||||||||||||||||||
Sauvegarde d'une page écran ou d'un programme écrit en langage machine. Ex : SAVEM "BINAIRE", 32700, 32750, 32702 |
||||||||||||||||||||||||||||||
SCREEN couleur forme, couleur fond, couleur cadre, inversion couleurs | ||||||||||||||||||||||||||||||
Fixe les couleurs de l'écran. Ex : SCREEN 3, 4, 0 : SCREEN ,,,1 Ne pas confondre avec la fonction SCREEN. |
||||||||||||||||||||||||||||||
SKIPF "nom" | ||||||||||||||||||||||||||||||
Saute, sur la cassette, le fichier indiqué, ou le premier rencontré si le nom est omis. | ||||||||||||||||||||||||||||||
STOP | ||||||||||||||||||||||||||||||
Suspend l'exécution du programme. On peut relancer par CONT. | ||||||||||||||||||||||||||||||
TRON | ||||||||||||||||||||||||||||||
Mise en route du monde TRACE. Le numéro de la ligne exécuté sera affiché sur l'écran. | ||||||||||||||||||||||||||||||
TROFF | ||||||||||||||||||||||||||||||
Arrêt du mode TRACE. | ||||||||||||||||||||||||||||||
UNMASK | ||||||||||||||||||||||||||||||
Démasque sur l'écran toutes les zones masquées par ATTRB. | ||||||||||||||||||||||||||||||
WAIT adresse, masque-et, masque-ou | ||||||||||||||||||||||||||||||
Suspend l'exécution en attente d'un événement. L'exécution reprend dès que la valeur la l'opération masque-et AND "contenu de la mémoire pointée" XOR masque-ou est différent de zéro. Les opérations AND et XOR sont effectuées bit à bit sur les octets. | ||||||||||||||||||||||||||||||
Couleurs et coordonnées graphique |
![]() |
|
Coordonnées text et graphique
|
||||||||||||||||||||||||||||||||||||||||||||||||
Opérateurs logiques |
![]() |
AND | ET logique | OR | ou logique (inclusif) |
NOT | complément | IMP | implication |
EQV | équivalence | XOR | ou exclusif |
Opérateurs Arithmétiques |
![]() |
Le tableau suivant contient les opérateurs par priorité décroissante:
^ | élévation à la puissance | X^Y |
- | moins unaire | -X |
* / | multiplicateur et division | X * Y et X / Y |
@ | division entière | X @ Y |
MOD | modulo | X MOD Y |
+ - | addition et soustraction | X + Y - Z |
Le caractère ^ est obtenu en appuyant simultanément sur les touches shift [·] et @.
Variable ERL et ERR |
![]() |
ERL et ERR sont des variables particulières qui permettent, lorsqu'une erreur est détectée pendant l'exécution d'un programme, de connaître le numéro de la ligne de l'erreur détectée et le numéro de l'erreur afin de la traiter.
Instructions graphiques |
![]() |
BOX | rectangle défini par 2 sommets opposés en diagonale | ||
BOXF | rectangle rempli | ||
LINE | segment défini par les coordonnées de ses extrémités | ||
PSET | point ou caractère | ||
L'absence du coupe (X1,Y1) ou (C1, L1) provoque le tracé à partir de la position précédente. Mode graphique |
|||
BOX (x1, y1)-(x2,y2), couleur BOXF (x1,y1)-(x2,y2), couleur LINE (x1,y1)-(x2,y2), couleur PSET (x,y), couleur |
|||
Mode caractère |
|||
Le tracé s'effectue au moyen de la première lettre de la chaîne. BOXF remplit le
rectangle avec cette lettre, PSET écrit la lettre au point (C, L). BOX (C1, L1)-(C2,
L2) chaîne, couleur forme, couleur fond, inversion de couleurs
|
Crayon optique |
![]() |
PTRIG | |
Teste le contact du crayon optique. Valeur "vraie" (-1) si crayon appuyé, "faux" (0) sinon Ex : IF PTRIG GOTO 100 |
|
INPEN x,y | |
Lit les coordonnées du point visé par le crayon optique. Pour un point visée en dehors de l'écran, ou pour une mauvaise lecture : x = -1 et y = -1. |
|
INPUTPEN x,y | |
Attend, pour lire, que le crayon soit appuyé. Ex : 100 INPUTPEN X, Y : IF X < 0 GOTO 100 |
|
PEN zone, zone, ... | |
Définit des zones rectangulaires de lecture pour les ordres ONPEN. Forme des zones : numéro ; (X1, Y1)-(X2, Y2) ("numéro" varie de 0 à 7) Ex : PEN 0 ; (40, 50)-(60,70), 3 ; (40, 100)-(60,130) Si les coordonnées sont absentes, PEN supprime la zone. PEN 1;,3; PEN toutes les zones sont supprimées. |
|
ONPEN GOSUB ligne 0, ligne 1, ... ONPEN GOTO ligne 0, ligne 1, ... |
|
Attend que le crayon optique soit appuyé et branche à l'une des lignes, suivant le numéro de la zone visée. |
Musique |
![]() |
PLAY mélodie, mélodie, ...
Chaque mélodie est une chaîne de caractère composée de notes ( DO, RE, MI, FA, SO, LA,
SI et P pour Pause) dont on peut modifier :
la durée : L1 à L96, (L24 au début de l'exécution)
l'octave : O1 à O5, (O4 au début)
le tempo : T1 à T255, (T5 au début)
l'attaque : A0 à A255, (A0 au début)
Placer (éventuellement) après la note : dièse # ou bémol b.
PLAY "DODODOREL48MIREL24DOMIREREL48DO"
A$ = "O3A5DOT1O2A1DOREMIFAO4A0T5SO #" : PLAY A$
Durées conventionnelles des notes | ||||||
notes | standard | pointée | triolet | |||
ronde | L96 | - | L64 | |||
blanche | L48 | L72 | L32 | |||
noire | L24 | L36 | L16 | |||
croche | L12 | L18 | L8 | |||
double croche | L6 | L9 | L4 | |||
triple croche | L3 | - | L2 |
Fonctions |
![]() |
ABS(v) | |||
Valeur absolue d'un nombre réel. | |||
ASC(chaîne) | |||
Donne le code ASCII du premier caractère de la chaîne. Voir la table ASCII du TO7. | |||
CDBL(v) | |||
Conversion en double précision. | |||
CHR$(code) | |||
Donne le caractère dont le code ASCII est indiqué. Voir la table ASCII du TO7. | |||
CINT(v) | |||
Arrondit à l'entier le plus proche. Ex : CINT(13.9) donne 14. |
|||
COS(v) | |||
Cosinus de l'angle exprimé en radians. | |||
CSNG(v) | |||
Convention en simple précision. | |||
CSRLIN | |||
Donne le numéro de la ligne où se trouve le curseur. Ex : LOCATE 0,5 : PRINT CSRLIN |
|||
DEFUSR i = adresse | |||
Définit l'adresse du début du sous-programme i écrit en langage machine (i = 0 à 9). | |||
EOF(canal) | |||
Donne la valeur vraie (-1) si une fin de fichier a été détectée, faux (0) sinon. Ex : IF EOF(1) THEN PRINT "Fin de fichier" : GOTO 900 |
|||
EXP(v) | |||
Exponentielle. | |||
FIX(v) | |||
Troncature de v. | |||
FRE(0) | |||
Donne la place totale libre en mémoire. | |||
FRE(A$) | |||
Donne la place libre pour le traitement des chaînes. | |||
HEX$(v) | |||
Conversion en hexadécimal. Si le nombre est un réel, il est d'abord arrondi. | |||
INKEY$ | |||
Prend au vol la dernière touche appuyée au clavier. La chaîne vide "" est
retourné si le tampon (buffet) du clavier est vide. Ex : C$ = INKEY$ |
|||
INPUT$(i) | |||
Lecture de i caractères au clavier sans affichage. Ex : ST$ = INPUT$(5) |
|||
INSTR (chaîne, sous-chaîne) INSTR (i, chaîne, sous-chaîne) |
|||
Donne la position de la sous-chaîne dans la chaîne a partir du ième
caractère, ou du premier à défaut de précision.
|
|||
INT(v) | |||
Retourne la partie entière du nombre. Ex : INT (9.725) donne 9. |
|||
LEFT$(chaîne,i) | |||
Retourne les i premiers caractères de la chaîne. Ex : LEFT$("GOWAP", 3) donne "GOW" |
|||
LEN(chaîne) | |||
Donne la longueur de la chaîne. Ex : LEN("GOWAP") donne 5. |
|||
LOG(v) | |||
Logarithme népérien. | |||
MID$(chaîne, i, j) | |||
Retourne les j caractères de la chaîne à partir du ième caractère. Ne
pas confondre avec l'instruction MID$.
|
|||
OCT$(v) | |||
Conversion en octal. Un nombre réel est d'abord arrondi. | |||
PEEK (adresse) | |||
Donne le contenu de l'octet à l'adresse mémoire indiquée. | |||
POINT (x,y) | |||
Donne le numéro de la couleur (de -8 à 7) du pixel au coordonnées désigné. | |||
POS(canal) | |||
Donne le numéro de la colonne à partir de laquelle sera effectuée l'écriture séquentiel sur le canal ouvert ou sur l'écran s'il est omis. | |||
PRIG | |||
Donne -1 si le contact du crayon optique est fermé, 0 sinon. | |||
RIGHT$(chaîne, i) | |||
Donne les i derniers caractères de la chaîne.
|
|||
RND(u) | |||
Retourne un nombre peudo-aléatoire de l'intervalle [0..1]. Le même nombre est
redonné si u négatif ou nul, et une autre valeur est retourné pour une valeur positive.
Dans d'autre BASIC, un nombre négatif replace le pointeur sur le premier nombre de la
série.
|
|||
SCREEN(L,C) | |||
Retourne le code ASCII du caractère situé sur l'écran aux coordonnées (L,C). Ne pas confondre avec l'instruction SCREEN. | |||
SGN(v) | |||
Donne -1 si v est négatif, 0 si v est nul et 1 si v est positif. | |||
SIN(v) | |||
Donne le sinus de l'angle v exprimé en radians. | |||
SPC(i) | |||
Génère une chaîne de i caractère espace avec l'instruction PRINT Ex : PRINT "A" ; SPC(2) ; "B" donne "A B". |
|||
SQR(v) | |||
Retourne la racine carrée de v. | |||
STICK(v) | |||
Donne la position (0 à 8) de la manette de jeu i (i = 0 à 1). | |||
STRIG(i) | |||
Retourne -1 si le bouton de la manette de jeu i (i = 0 à 1) est appuyé, et 0 sinon. | |||
STR$(v) | |||
Conversion d'une valeur numérique en une chaîne. | |||
TAB(v) | |||
Utilisé avec PRINT : provoque une tabulation à la colonne c. | |||
TAN(v) | |||
Retourne la tangente de l'angle v exprimé en radians. | |||
USR i, argument | |||
Exécution avec passage de paramètres du sous-programme en langage machine i (i = 0 à 9). | |||
VAL (chaîne) | |||
Donne la valeur numérique du nombre représenté par les premiers caractères de la
chaîne ou 0 si chaîne ne représente pas un nombre.
|
|||
VARPTR(var) | |||
Donne l'adresse du premier octet de la variable. |
Erreurs détectées |
![]() |
|
|
Particularités du TO7-70 |
![]() |
Capacité mémoire et gestion des 8 couleurs supplémentaires
Le TO7-70 se différencie du TO7 essentiellement par sa capacité mémoire, qui a été accrue, et par l'emploi possible de 16 couleur au lieu de 8...
I. Exploitation de la mémoire du TO7-70 avec le BASIC Version 1.0 MICROSOFT
Le TO7 a 8 Ko de mémoire-utilisateur.
Dans sa version de base, le TO7-70 dispose, lui de 48 Ko de mémoire vive utilisateur, dont seuls 32 Ko sont accessibles simultanément. Un bloc-mémoire (ou banque-mémoire) de 16 Ko est utilisable pour vos programme grâce à la technique de la commutation de blocs-mémoire, même si cette technique n'est pas applicable directement au moyen d'instruction BASIC : il vous faut des sous-programmes spéciaux en Assembleur, incorporable dans vos programmes BASIC.
|
A titre d'exemples, voici deux programmes utilisant le bloc-mémoire (ou banque-mémoire) non accessible directement par le BASIC :
1. Un programme pour recopier une disquette lorsqu'on ne dispose que d'un seul lecteur de disquettes;
2. Un programme pour mémoriser et rappeler des écrans graphiques générés de façon aléatoire ; l'exemple utilise les 8 premières couleurs...
10 PRINT "Programme de
backup disque rapide avec un seul lecteur" 15 PRINT "Assurez vous que la disquette copie est initialisée (sinon appuyez sur CNT-C, insérez la disquette copie, puis commande DSKINI 0, puis relancez ce programme par run)." 20 CLEAR ,&H9FDF 30 GOSUB 1000 'Initialisation routine de commutation 40 A$="Insérez la disquette source, puis frappez une touche quelconque" 50 B$="Insérez la disquette copie, puis frappez une touche quelconque" 60 C$="" 70 X=VARPTR(C$) 80 POKE X,128 100 FOR I=0 TO 2 110 IO=1 120 MAX=15 130 PRINT A$ 140 R$=INPUT$(1) 150 PT=&hA000:A=USR0(0) 'Sélection banque 0 160 IF I=2 THEN MAX=7 170 FOR P=0 TO MAX 180 IF P=8 THEN PT=&HA000:A=USR0(1) 'Sélection banque 1 190 FOR S=1 TO 16 200 POKE X+1,INT(PT/256) 210 POKE X+2,(PT-&HA000) MOD 256 215 PRINT P+I*16,S,HEX$(PT) 220 ON IO GOSUB 500,600 230 PT=PT+128 240 NEXT S,P 250 IF IO=1 THEN IO=2:PRINT B$:GOTO 140 260 NEXT I 270 PRINT "Copie terminée" 280 END 500 MID$(C$,1)=DSKI$(0,P+I*16,S) 510 RETURN 600 DSKO$ 0,P+I*16,S,C$ 610 RETURN 1000 'Programme de commutation banque 1010 ' Le numéro de banque est donne de 0 à 5 1020 DATA 52, 86, 206, 231, 192, 230, 75, 196, 251, 231, 75, 166, 3, 48, 140, 10, 166, 134, 167, 75, 202, 4, 231, 75, 53, 214, 15, 23, 231, 103, 167, 39 1030 FOR I=&H9FE0 TO &H9FFF 1040 READ A:POKE I,A 1050 NEXT 1060 DEFUSR0=&H9FE0 1070 RETURN |
10 CLEAR,&H9F9F 20 GOSUB 1000 'Initialisation routine de commutation 30 GOSUB 2000 'Initialisation routine de copie d'écran 40 SCREEN ,0,0 50 LOCATE 0,0,0 100 'Dessin aléatoire 110 CLS 120 FOR I=1 TO 100 130 LINE (160,100) - (RND*320, RND*200), INT(RND*8) 140 NEXT 150 A=USR0(0) 'Sélection 1ere banque 160 A=USR1(0) 'Copie écran --> mémoire 200 '2eme dessin aléatoire 210 CLS 220 FOR I=1 TO 50 230 LINE (RND*320, RND*200) - (RND*320, RND*200), INT(RND*8) 240 NEXT 250 A=USR0(1) 'Sélection 2ere banque 260 A=USR1(0) 'Copie écran --> mémoire 300 'récupération des images 310 CLS 320 PRINT 'Quelle image (0 ou 1) ?" 330 R%=VAL(INPUT$(1)) 340 IF R%<0 OR R%>1 GOTO 320 350 A=USR0(R%) 'Sélection bonne banque 360 A=USR1(1) 'Copie mémoire --> écran 370 R$=INPUT$(1) 'On attend un caractère pour continuer 380 GOTO 310 1000 'Programme de commutation banque 1010 'le numéro de banque est donne de 0 à 5 1020 DATA 52, 86, 206, 231, 192, 230, 75, 196, 251, 231, 75, 166, 3, 48, 140, 10, 166, 134, 167, 75, 202, 4, 231, 75, 53, 214, 15, 23, 231, 103, 167, 39 1030 FOR I=$H9FE0 TO &H9FFF 1040 READ A:POKE I,A 1050 NEXT 1060 DEFUSR0=&H9FE0 1070 RETURN 2000 'Programme de copie 2010 ' de l'écran vers la mémoire si 0 est donne 2020 ' de la mémoire vers l'écran si 1 est donne 2030 DATA 52, 118, 166, 3, 142, 64, 0, 206, 160, 0, 77, 39, 2, 30, 19, 182, 231, 195, 138, 1, 183, 23, 1, 195, 16, 142, 16, 0, 236, 129, 237, 193, 49, 63, 38, 248, 182, 231, 195, 68, 36, 16, 72, 140, 96, 0, 39, 5, 206, 64, 0, 32, 224, 142, 64, 0, 32, 219, 53, 246 2040 FOR I=&H9FA0 TO &H9FDA 2050 READ A:POKE I,A 2060 NEXT 2070 DEFUSR1=&H9FA0 2080 RETURN |
Vous y trouverez la routine de commutation de blocs-mémoire dans un programme BASIC, qui est la suivante:
|
Cette routine est utilisable dans tous vos programme en BASIC...
Remarque au sujet de la capacité mémoire et de la fonction FRE(0) qui donne la place disponible - en octets - dans la mémoire centrale : puisqu'il y a toujours un bloc-mémoire de 16 Ko RAM présent et un autre qui est "masqué", PRINT FRE(0) ne fera jamais apparaître les 48 Ko de mémoire vive utilisateur du T07-70.
Mais grâce à la technique de commutation des blocs, le bloc masqué peut être rendu "visible" et celui qui est visible prendre sa place à tout moment ...
II. Exploitation des 8 couleurs supplémentaires du TO7-70
Le TO7-70 dispose de 16 couleurs fond et forme pour les caractères.
ATTENTION : En BASIC, les instructions SCREEN (pour changer les couleurs de la fenêtre de travail et de l'entourage de l'écran) et COLOR (pour changer les règles d'utilisation des couleurs de l'écran pour les prochains caractères qui seront affichés) n'acceptent que des arguments inférieurs à 8.
Vous pouvez accéder aux 8 couleurs supplémentaires avec les ordres suivants :
F = 112 | couleur caractère ou forme | C = 0 | gris | C = 4 | bleu ciel | |||||
F = 120 | couleur fond | C = 1 | rose | C = 5 | rose parme | |||||
F = 128 | couleur tour | C = 2 | vert clair | C = 6 | cyan clair | |||||
C = 3 | jaune poussin | C = 7 | orange |
L'instruction SCREEN pour le fond et la forme se fera par :
PRINT CHR$(27)CHR$(32)CHR$(F+C) |
Exemple :
Si vous voulez des caractères vert clair sur un fond rose parme, vous devrez successivement
rentrer les instructions suivantes, soit directement, soit dans un programme :
- pour les caractère, F = 112
- pour vert clair, C = 2
- donc F + C = 114
PRINT CHR$(27)CHR$(32)CHR$(114) |
- pour le fond, F = 120
- pour rose parme, C = 2
- pour F + C = 125
PRINT CHR$(27)CHR$(32)CHR$(125) |
Pour le pourtour de l'écran (F=128), il suffit de faire :
PRINT CHR$(27)CHR$(F+C) |
Même chose pour l'instruction COLOR.
Quant à la fonction POINT (qui donne une valeur numérique indiquant la couleur du point de l'écran de coordonnées X et Y), elle retournera des valeurs comprises entre -16 et 15 selon les couleurs :
FOND | FORME | |||
-16 | 15 | orange | ||
-15 | 14 | cyan clair | ||
-14 | 13 | rose parme | ||
-13 | 12 | bleu ciel | ||
-12 | 11 | jaune poussin | ||
-11 | 10 | vert clair | ||
-10 | 9 | rose | ||
-9 | 8 | gris |
Illustration : voici maintenant un programme de défilement des 16 couleurs disponibles dans le TO7-70 avec la cartouche BASIC 1.0 :
10 CLS 20 FOR I=0 TO 7 30 FOR J=0 TO 10 40 SCREEN ,I 50 NEXT J 60 NEXT I 70 FOR I=8 TO 15 80 FOR J=0 TO 5 90 PRINT CHR$(27)CHR$(32)CHR$(112+I) 100 NEXT J 110 NEXT I 120 GOTO 20 |
Commentaire :
10 | Effacement de l'écran |
20.60 |
Définit le compteur de boucle pour l'affichage des 8 premières couleurs (0 à 7) accessibles par SCREEN. |
30.50 | Définit le compteur de temporisation de la couleur sur l'écran. |
40 | Transforme le fond dans la nouvelle couleur |
70.110 |
Définir le compteur de boucle pour l'affichage des 8 couleurs supplémentaire no accessibles par SCREEN. |
80.100 | Définit le compteur de temporisation de la couleur sur l'écran. |
90 | Transforme le fond dans la nouvelle couleur 112 = 120 + (I-8). |
120 | Recommence la séquence. |
Terminer le programme avec [CNT][C].
Jeu de codes ASCII |
![]() |
Code | Caractère | 18 | DC2 répétition | 37 | % | 62 | > |
00 | nul | 19 | 38 | & | 63 | ? | |
01 | 20 | DC4 arrêt curseur | 39 | ' | 64 | @ | |
02 | touche stop clavier | 21 | 40 | ( | 65 | A | |
03 | 22 | SS2 touche accent ACC | 41 | ) | ... | ||
04 | 23 | 42 | * | 90 | Z | ||
05 | 24 | CAN efface la fin de la ligne | 43 | + | 91 | ( | |
06 | 25 | 44 | , | 92 | ) | ||
07 | sonnette | 26 | 45 | - | 94 | ^ | |
08 | BS (Retour arrière) direction gauche | 27 | ESC appel d'un séquence | 46 | , | 95 | _ |
09 | HT (tabulation H) direction droite | 28 | INS | 47 | / | 96 | - |
10 | LF (saut de ligne) direction bas | 29 | DEL | 48 | 0 | 97 | a |
11 | VT (tabulation V) direction haut | 30 | RS, retour en haut de page | 49 | 1 | ... | |
12 | FF (saut de page) RAZ clavier | 31 | US séparateur d'article | .. | 122 | z | |
13 | CR (Retour à la ligne) ENTREE | 32 | Espace | 57 | 9 | 123 | { |
14 | SO Mode semi-graphique | 33 | ! | 58 | : | 124 | | |
15 | SI Mode alphanumérique | 34 | " | 59 | ; | 125 | } |
16 | 35 | # | 60 | < | 126 | surlignage | |
17 | DC1 clignotement curseur | 36 | $ | 61 | = | 127 | caractère plein |
Code écran spéciaux |
![]() |
touche acc + caractère ou code.
Caractère | Code | Résultat | Caractère | Code | Caractère | |||||
# | 35 | £ | z | 122 | oe | |||||
1 | 49 | ± | . | 44 | --> | |||||
< | 60 | 1/4 | _ | 45 | flèche haut | |||||
= | 61 | 1/2 | , | 46 | <-- | |||||
> | 62 | 3/4 | / | 47 | flèche bas | |||||
8 | 56 | ÷ | j | 106 | OE |
On peut obtenir les lettres accentué avec le code suivant :
è = 22 65 e | é = 22 66 e | ç = 22 75 |
Dernière mise à jour : mercredi 14 mai 2008 |