L'Ordinateur Individuel n°47 avril 1983
L'Ordinateur Individuel n°47 avril 1983
  • Prix facial : 20 F

  • Parution : n°47 de avril 1983

  • Périodicité : mensuel

  • Editeur : Groupe Tests

  • Format : (202 x 281) mm

  • Nombre de pages : 262

  • Taille du fichier PDF : 243 Mo

  • Dans ce numéro : intelligence artificielle, robotique, insertion des handicapés... un assistant efficace.

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 158 - 159  |  Aller à la page   OK
Pages suivantes >
158 159
programmation réalisez de nouveaux caractères Le programme que nous vous proposons est un exemple des possibilités du Vic-20 dans le domaine de la haute résolution. Il n'utilise pas à proprement parler la haute résolution, mais il simplifie la programmation de nouveaux caractères. Ceci mérite quelques explications. Le générateur de caractères du Vic-20 est, à l'initialisation, en mémoire morte. Il est cependant possible de le placer en mémoire vive en agissant sur l'une des cases-mémoire du circuit intégré gérant l'affichage du Vic-20. Cette case porte le numéro 36869. Vous pouvez faire une petite expérience très simple : si vous tapez « POKE 36869, 220 RE- TURN », les caractères deviennent dépendants du contenu de la mémoire vive. Pour revenir aux caractères habituels, appuyez simultanément sur les touches RUN/STOP et RESTORE. Vous comprenez maintenant qu'il suffit de charger une partie de la mémoire vive avec les nombres adéquats pour obtenir tous les caractères que l'on veut. Comment les caractères sontils formés ? Dans le cas du Vic- L'Ordinateur Individuel sur votre Vic-20 Voici quelques astuces pour la programmation de nouveaux caractères, qui vous permettront d'utiliser les possibilités de la haute résolution du Vic-20. Leur principe est de charger une partie de la mémoire vive avec des nombres adéquats pour générer des caractères et ce, dans la version de base avec 3,5 Ko de mémoire vive. 20, ils sont contenus dans une matrice 8 x 8 ; c'est-à-dire que l'on peut obtenir 256 fois 8 sortes de caractères ! Chaque caractère est constitué de points ; il faut donc changer ces points pour modifier le caractère. Un point allumé est un 1, un point éteint un zéro Pour comprendre la façon de coder les points, il faut revenir au binaire. Le binaire est ce que l'on appelle en mathématiques une base, comme la base 10 que l'on utilise tous les jours. Cette base est caractérisée par le fait qu'elle n'utilise que deux chiffres, le 0 et le 1. On comprend comment sont codés les points : un point allumé est un 1, un point éteint un 0. La matrice des caractères est divisée en lignes et colonnes, huit dans chaque catégorie. Chaque ligne est codée par un nombre compris entre 0 et 255 inclus, soit 256 possibilités. Ce nombre dépend des points allumés sur cette ligne. Comme nous l'avons vu précédemment, un point allumé correspond à un 1. Mais ce point est également caractérisé 158 par sa colonne (ou rang). On calcule donc le chiffre de la ligne comme suit : on attribue à chaque point un nombre égal à 2 s'il est allumé, 0 s'il ne l'est pas, ce chiffre étant ensuite mis à la puissance du rang du point (compté à partir de la droite en commençant à 0). Puis on calcule après cela la valeur de la ligne en faisant la somme des valeurs attribuées à chaque point qui compose cette ligne. Il se pose maintenant le problème de savoir où placer ce nombre. Dans le générateur de caractères, les caractères sont dans l'ordre de leur code écran. Chaque caractère est codé par la suite des huit nombres représentant les huit lignes qui le forment. Un POKE 36839,254 place le générateur de caractères à partir de la case mémoire n°6144. Variables du programme A (1 : tableau contenant les valeurs attribuées aux lignes du caractère en cours de construction. N : nombre de caractères construits. I : ligne en cours. J : colonne en cours. A$ : touche enfoncée. R$ : réponse à la question : « un autre caractère ? ». Le premier caractère sera donc représenté par le contenu des cases-mémoire suivantes : 6144, 6145, 6146, 6147, 6148, 6149, 6150, 6151. n^ 47 Avril 83
Description du programme Ligne 10 : dimensionnement de A$, appel du sous-programme de mise à zéro d'une partie de la mémoire vive. Ligne 15 : mise à zéro de A$. Ligne 20 : appel du sous-programme de dessin de la grille. Ligne 30 : affichage du curseur. Ligne 40 : saisie de la touche pressée. Ligne 50 : si celle-ci est « RETURN », calcul de la nouvelle valeur de la ligne. Ligne 60 : si c'est la barre d'espacement, on avance le curseur sans rien afficher. Ligne 70 : est-on à la fin d'une ligne ? Si oui, changement de ligne. Ligne 80 : est-on à la fin d'un caractère ? Si oui, branchement au sous-programme d'enregistrement du caractère. Ligne 90 : effacement du curseur. Ligne 110 : début de la boucle d'enregistrement du nouveau caractère. Ligne 120 chargement des valeurs correspondant aux lignes du caractère. Ligne début de la boucle de mise à 10 000 : zéro de la mémoire vive des cases 6144 à 7680 (début de la mémoire écran). Passons, maintenant au mode d'emploi. Après avoir tapé RUN, ne vous affolez pas s'il ne se passe rien pendant un certain temps : le programme vide 1 536 octets de mémoire. La grille qui apparaît représente la constitution du caractère (8 sur 8). Précisons que le premier caractère remplace @, le deuxième A, le troisième B, etc.). Pour former un caractère vous devez appuyer sur RETURN pour afficher un point, sur SPACE pour en sauter un. Pour tester l'effet de vos caractères, répondez « non » à la question « voulez-vous un autre caractère ? ». Ne vous inquiétez pas si vous n'avez pas enregistré tous vos caractères ; il vous suffira de taper GOTO15 pour en taper d'autres Programme 10 DIM8(7):N=0:601.010000 15 FORX=0707 ; R() ; i=0, NEXT 20 14'.1=0:60T01500 30 P0KE7680+22$1+J,160:P0KE38400+22*1+J,6 40 GETA$ 50 IFA3=CNR$(13)TNENR(D.R(1)+21.(7-J):POKE7680+22.I+J,160 J=J+1 60 IFRS=" "TNENPOKE7680+22*I+J,32:J=J+1 70 IFJ>7TNEHI=I+1:J-":0 80 IFD7THEN110 90 POKE7680+22*I+J,32 100 007030 110 FORX.0707 12e POKE6144+Hei-X,R(/.) 130 HEU 140 INPUT"UN AUTREC.IRRCTERE",R$ 150 IFRe="0UPTHENN.Nt1:001.015 160 IFR$="NOWTHEN180 170 0070140 180 PRINT"1":POKE36869,254 H=N+1 190 END 1500 PRINT"n LO 1510 PRINT" LI 1520 PRINT" L2 1530 PRINT" L3 1540 PRINT'L4 1550 PRINT" L5 1560 PRINT" LE 1570 PRINT" L7 1580 PRINT" 1590 PRINT"01234567 1600 GOT030 10000 FORX=6144T07680 10010 POKEX,O, NEXT 10020 00T020 PERDY. (pas plus de 192, mais c'est largement suffisant). La seule chose qui puisse vous manquer est l'imagination... François Dervaux n'47 Avril 83 159 l'Ordinateur Individuel



Autres parutions de ce magazine  voir tous les numéros


Liens vers cette page
Couverture seule :


Couverture avec texte parution au-dessus :


Couverture avec texte parution en dessous :


L'Ordinateur Individuel numéro 47 avril 1983 Page 1L'Ordinateur Individuel numéro 47 avril 1983 Page 2-3L'Ordinateur Individuel numéro 47 avril 1983 Page 4-5L'Ordinateur Individuel numéro 47 avril 1983 Page 6-7L'Ordinateur Individuel numéro 47 avril 1983 Page 8-9L'Ordinateur Individuel numéro 47 avril 1983 Page 10-11L'Ordinateur Individuel numéro 47 avril 1983 Page 12-13L'Ordinateur Individuel numéro 47 avril 1983 Page 14-15L'Ordinateur Individuel numéro 47 avril 1983 Page 16-17L'Ordinateur Individuel numéro 47 avril 1983 Page 18-19L'Ordinateur Individuel numéro 47 avril 1983 Page 20-21L'Ordinateur Individuel numéro 47 avril 1983 Page 22-23L'Ordinateur Individuel numéro 47 avril 1983 Page 24-25L'Ordinateur Individuel numéro 47 avril 1983 Page 26-27L'Ordinateur Individuel numéro 47 avril 1983 Page 28-29L'Ordinateur Individuel numéro 47 avril 1983 Page 30-31L'Ordinateur Individuel numéro 47 avril 1983 Page 32-33L'Ordinateur Individuel numéro 47 avril 1983 Page 34-35L'Ordinateur Individuel numéro 47 avril 1983 Page 36-37L'Ordinateur Individuel numéro 47 avril 1983 Page 38-39L'Ordinateur Individuel numéro 47 avril 1983 Page 40-41L'Ordinateur Individuel numéro 47 avril 1983 Page 42-43L'Ordinateur Individuel numéro 47 avril 1983 Page 44-45L'Ordinateur Individuel numéro 47 avril 1983 Page 46-47L'Ordinateur Individuel numéro 47 avril 1983 Page 48-49L'Ordinateur Individuel numéro 47 avril 1983 Page 50-51L'Ordinateur Individuel numéro 47 avril 1983 Page 52-53L'Ordinateur Individuel numéro 47 avril 1983 Page 54-55L'Ordinateur Individuel numéro 47 avril 1983 Page 56-57L'Ordinateur Individuel numéro 47 avril 1983 Page 58-59L'Ordinateur Individuel numéro 47 avril 1983 Page 60-61L'Ordinateur Individuel numéro 47 avril 1983 Page 62-63L'Ordinateur Individuel numéro 47 avril 1983 Page 64-65L'Ordinateur Individuel numéro 47 avril 1983 Page 66-67L'Ordinateur Individuel numéro 47 avril 1983 Page 68-69L'Ordinateur Individuel numéro 47 avril 1983 Page 70-71L'Ordinateur Individuel numéro 47 avril 1983 Page 72-73L'Ordinateur Individuel numéro 47 avril 1983 Page 74-75L'Ordinateur Individuel numéro 47 avril 1983 Page 76-77L'Ordinateur Individuel numéro 47 avril 1983 Page 78-79L'Ordinateur Individuel numéro 47 avril 1983 Page 80-81L'Ordinateur Individuel numéro 47 avril 1983 Page 82-83L'Ordinateur Individuel numéro 47 avril 1983 Page 84-85L'Ordinateur Individuel numéro 47 avril 1983 Page 86-87L'Ordinateur Individuel numéro 47 avril 1983 Page 88-89L'Ordinateur Individuel numéro 47 avril 1983 Page 90-91L'Ordinateur Individuel numéro 47 avril 1983 Page 92-93L'Ordinateur Individuel numéro 47 avril 1983 Page 94-95L'Ordinateur Individuel numéro 47 avril 1983 Page 96-97L'Ordinateur Individuel numéro 47 avril 1983 Page 98-99L'Ordinateur Individuel numéro 47 avril 1983 Page 100-101L'Ordinateur Individuel numéro 47 avril 1983 Page 102-103L'Ordinateur Individuel numéro 47 avril 1983 Page 104-105L'Ordinateur Individuel numéro 47 avril 1983 Page 106-107L'Ordinateur Individuel numéro 47 avril 1983 Page 108-109L'Ordinateur Individuel numéro 47 avril 1983 Page 110-111L'Ordinateur Individuel numéro 47 avril 1983 Page 112-113L'Ordinateur Individuel numéro 47 avril 1983 Page 114-115L'Ordinateur Individuel numéro 47 avril 1983 Page 116-117L'Ordinateur Individuel numéro 47 avril 1983 Page 118-119L'Ordinateur Individuel numéro 47 avril 1983 Page 120-121L'Ordinateur Individuel numéro 47 avril 1983 Page 122-123L'Ordinateur Individuel numéro 47 avril 1983 Page 124-125L'Ordinateur Individuel numéro 47 avril 1983 Page 126-127L'Ordinateur Individuel numéro 47 avril 1983 Page 128-129L'Ordinateur Individuel numéro 47 avril 1983 Page 130-131L'Ordinateur Individuel numéro 47 avril 1983 Page 132-133L'Ordinateur Individuel numéro 47 avril 1983 Page 134-135L'Ordinateur Individuel numéro 47 avril 1983 Page 136-137L'Ordinateur Individuel numéro 47 avril 1983 Page 138-139L'Ordinateur Individuel numéro 47 avril 1983 Page 140-141L'Ordinateur Individuel numéro 47 avril 1983 Page 142-143L'Ordinateur Individuel numéro 47 avril 1983 Page 144-145L'Ordinateur Individuel numéro 47 avril 1983 Page 146-147L'Ordinateur Individuel numéro 47 avril 1983 Page 148-149L'Ordinateur Individuel numéro 47 avril 1983 Page 150-151L'Ordinateur Individuel numéro 47 avril 1983 Page 152-153L'Ordinateur Individuel numéro 47 avril 1983 Page 154-155L'Ordinateur Individuel numéro 47 avril 1983 Page 156-157L'Ordinateur Individuel numéro 47 avril 1983 Page 158-159L'Ordinateur Individuel numéro 47 avril 1983 Page 160-161L'Ordinateur Individuel numéro 47 avril 1983 Page 162-163L'Ordinateur Individuel numéro 47 avril 1983 Page 164-165L'Ordinateur Individuel numéro 47 avril 1983 Page 166-167L'Ordinateur Individuel numéro 47 avril 1983 Page 168-169L'Ordinateur Individuel numéro 47 avril 1983 Page 170-171L'Ordinateur Individuel numéro 47 avril 1983 Page 172-173L'Ordinateur Individuel numéro 47 avril 1983 Page 174-175L'Ordinateur Individuel numéro 47 avril 1983 Page 176-177L'Ordinateur Individuel numéro 47 avril 1983 Page 178-179L'Ordinateur Individuel numéro 47 avril 1983 Page 180-181L'Ordinateur Individuel numéro 47 avril 1983 Page 182-183L'Ordinateur Individuel numéro 47 avril 1983 Page 184-185L'Ordinateur Individuel numéro 47 avril 1983 Page 186-187L'Ordinateur Individuel numéro 47 avril 1983 Page 188-189L'Ordinateur Individuel numéro 47 avril 1983 Page 190-191L'Ordinateur Individuel numéro 47 avril 1983 Page 192-193L'Ordinateur Individuel numéro 47 avril 1983 Page 194-195L'Ordinateur Individuel numéro 47 avril 1983 Page 196-197L'Ordinateur Individuel numéro 47 avril 1983 Page 198-199L'Ordinateur Individuel numéro 47 avril 1983 Page 200-201L'Ordinateur Individuel numéro 47 avril 1983 Page 202-203L'Ordinateur Individuel numéro 47 avril 1983 Page 204-205L'Ordinateur Individuel numéro 47 avril 1983 Page 206-207L'Ordinateur Individuel numéro 47 avril 1983 Page 208-209L'Ordinateur Individuel numéro 47 avril 1983 Page 210-211L'Ordinateur Individuel numéro 47 avril 1983 Page 212-213L'Ordinateur Individuel numéro 47 avril 1983 Page 214-215L'Ordinateur Individuel numéro 47 avril 1983 Page 216-217L'Ordinateur Individuel numéro 47 avril 1983 Page 218-219L'Ordinateur Individuel numéro 47 avril 1983 Page 220-221L'Ordinateur Individuel numéro 47 avril 1983 Page 222-223L'Ordinateur Individuel numéro 47 avril 1983 Page 224-225L'Ordinateur Individuel numéro 47 avril 1983 Page 226-227L'Ordinateur Individuel numéro 47 avril 1983 Page 228-229L'Ordinateur Individuel numéro 47 avril 1983 Page 230-231L'Ordinateur Individuel numéro 47 avril 1983 Page 232-233L'Ordinateur Individuel numéro 47 avril 1983 Page 234-235L'Ordinateur Individuel numéro 47 avril 1983 Page 236-237L'Ordinateur Individuel numéro 47 avril 1983 Page 238-239L'Ordinateur Individuel numéro 47 avril 1983 Page 240-241L'Ordinateur Individuel numéro 47 avril 1983 Page 242-243L'Ordinateur Individuel numéro 47 avril 1983 Page 244-245L'Ordinateur Individuel numéro 47 avril 1983 Page 246-247L'Ordinateur Individuel numéro 47 avril 1983 Page 248-249L'Ordinateur Individuel numéro 47 avril 1983 Page 250-251L'Ordinateur Individuel numéro 47 avril 1983 Page 252-253L'Ordinateur Individuel numéro 47 avril 1983 Page 254-255L'Ordinateur Individuel numéro 47 avril 1983 Page 256-257L'Ordinateur Individuel numéro 47 avril 1983 Page 258-259L'Ordinateur Individuel numéro 47 avril 1983 Page 260-261L'Ordinateur Individuel numéro 47 avril 1983 Page 262