L'Ordinateur Individuel n°55 janvier 1984
L'Ordinateur Individuel n°55 janvier 1984
  • Prix facial : 22 F

  • Parution : n°55 de janvier 1984

  • Périodicité : mensuel

  • Editeur : Groupe Tests

  • Format : (202 x 281) mm

  • Nombre de pages : 262

  • Taille du fichier PDF : 220 Mo

  • Dans ce numéro : le guide des portables... essais de 85 ordinateurs.

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 242 - 243  |  Aller à la page   OK
Pages suivantes >
242 243
IF PEEK ET x POKE Michel Muscionico Pour qu'un programme sache si une touche a été pressée, la méthode habituelle consiste à faire un'IF PEEK (-16384) = etc. Mais avec une ligne de code on peut remplacer cette formule : WAIT -16384,128 : C = PEEK (-16384) -128 : POKE -16368,0 où WAIT attend que l'octet -16384 se change en un nombre supérieur à 128, et où C contient la valeur ASCII de la touche pressée. Par ailleurs, pour économiser de la place sur les disquettes, il suffit de ne pas charger le Sed à l'initialisation. Cela peut se faire en effectuant quelques POKE avant de donner la commande INIT. 10 POKE 46922,96 : POKE 46923,234 : POKE 46924,234 20 REM POKE QUI ELIMINE LA ROUTINE QUI ECRIT LE SED SUR LES PISTES 1, 2, 3 30 POKE 44723,4 40 REM POKE QUI MONTRE QUE LES PISTES 1 ET 2 SONT LIBRES Ensuite la commande INIT va marcher normalement, mais la disquette aura plus de place et ne pourra pas être utilisée pour charger le système. UN UTILITAIRE DE SAUVETAGE François Chlous Ce programme, bien que court, doit rendre de grands services à tout concepteur de programme Basic. Il se propose divers buts : permettre à tout moment de savoir sur quelle version du programme l'on travaille L 0 i at ur nè 5 j nier In ivi duel 1 LIST GOTO 2 1 = "000" : RETURN : REM KK HHHHHVERSION K 2 REM trucs et astuces 1 1111 1 (-. « list » affiche la version) ; connaître de même le numéro de la dernière version sauvée ( « catalog » affiche le programme numéroté) ; avoir à chaque sauvetage du programme (- « run 9999 ») la sauvegarde sur disquette du programme en cours (******** NE RAS MODIFIER LES ******** 2 LIGNES PRECEDENTES REM 4 REM * AUTO-SAUVETAGE 5 REM - GE 6 REM * F.CHLOUS Fr-ARIS) * 7 REM ***************************. **** TAPER RUN 9999'POUR ******** SAUVER LE PROGRAMME. 99,9 NPE "AUTOVERSION " : REM (NPS = NOM DU PROGRAMME.) mHHHHHHHHHHHHHHH HHHHH - - - 16600 GOSUB 1:0 = 1001 : GOSUe 16035:B = 2065 : GOSUB 10626:C = - 1602 : GOSUB 10035 : ONERR GOTO 10015 10016 = CHF.4- 4):NSe = "ELIMINATION DE " : GOSUB 10625 : PRINT D$"DELETE ":NPe:NUS : POKE 216.0 10015 ER = PEES,222> : IF ER = 6 OR ER = 255 THEN C = 2 : GOSUB 10035:NS$ = "SAUVEGARDE DE" : GOSUB 10025 : PRINT DS"SAVE":NPS:NUI. : END 10020 HOME : VTAB 12 : FLASH : PRINT "PROBLEME DISQUE == » SAUVETAGE NON F AIT" : NORMAL : PRINT : HTAB 15 : PRINT "ERREUR #' ; ER:C = 1999 : GOSUB 1 : GOSUB 10035 : GOSUB 10020 : END : REM ".RAPPEL) 4 -> WRITE-PPOTECT -> 1/0 ERROP -› DISKFULL 1110 FILELOCKED P + 1) et de la précédente version (-* P) (ce qui est une sécurité lors de la mise au point d'un programme), ainsi que l'élimination de la précédente (P - 1) ; gérer l'accès disque et vérifier la bonne sauvegarde du précieux programme et, dans le cas contraire, remet le programme à son état initial et prévient du type d'erreur de disque rencontré. Le principe consiste en la modification directe du programme par POKE. Pour les possesseurs du PLE, une gestion des deux premières lignes donnera une présentation plus « professionnelle ». Quelques remarques : ligne 0 : GOTO X (X étant la Programme Auto-sauvetage 10025 HOME : VTAB 12 : HTAB 10 : INVERSE PRINT NSe ; HP ; NUI : NORMAL : RETURN 1e1090 FOR A = E TO B + 2 : POKE A, ASC NIDS  : RETURN ligne de debut de programme réel) ; ligne 1 : dans tous les cas respecter scrupuleusement les espaces et les signes ; en l'absence de PLE (quel dommage !), laisser tomber la REM ; avec PLE (bravo !), remplacer les K, H, J, par leurs caractères de contrôle respectifs et les = par des blancs (veiller aussi à l'absence de blanc entre REM et CTRLK) ; ligne 9999 : c'est tellement plus facile à taper !... Ce programme est ouvert : on peut facilement ajouter des fonctions LOCK ou VERIFY, détailler l'affichage du type d'erreur de disque, etc., et l'éliminer une fois le programme mis au point et terminé.
systèmes re. systtmesn 0,) systemesra > systèmes Lw PRINT SUR SANYO PHC 25 Frédéric Hartard Qui savait qu'il existait une abréviation pour le célèbre PRINT ? Il suffit de taper la même/mais dans l'autre sens qui donne\Pour l'obtenir, il suffit d'appuyer la touche à gauche de INS/DEL. Essayez L\, Ça remplace le LPRINT. Cette astuce permet de mettre, dans une ligne, plus. de 127 caractères. POKE EN STOCK SUR NEW BRAIN Laurent Gerrer Voici un truc trouvé par hasard mais qui peut rendre service au Newbrainistes, même les plus confirmés. L'adressage direct du curseur s'effectue par PUT 22, x, y, mais on arrive à un résultat encore plus rapide grâce à des POKE bien placés : POKE 643, x affiche CHR$ (x) à la première colonne de la première ligne de l'écran. On peut ainsi afficher sur la première ligne grâce aux POKE 642 à 681. Pour passer d'une ligne à la suivante, on ajoute 64 à l'adresse mémoire ainsi : POKE 706, x affiche CHR$ au début de la deuxième ligne et POKE 982, x (faites le calcul) à la vingtième colonne de la deuxième ligne. Ceci est particulièrement intéressant pour les jeux, car CHR$ (PEEK (a)) lit le caractère de la position (a) sur l'écran. A noter un autre poke : POKE 641, x qui, selon les valeurs, affiche le curseur sur les deux écrans (pour x = 161), sur la ligne de seize caractères uniquement (pour x = 100), ou ne l'affiche pas (pour x = 30). trucs et astuces 111 111111111111111111 TEMPS REEL SUR DAI Marc Vandermeersch Comment mesurer en temps réel la durée d'un programme sur Dai ? Si jamais vous désirez savoir le temps exact (en secondes) que prend votre programme ou une partie de votre programme, je vous conseille d'utiliser ce petit truc très simple et très précis. Vous n'avez qu'à introduire cette petite ligne de programme en début de votre programme. 10 POKE #1BE, #FF : POKE #1BF, #FF Quand l'ordinateur exécutera cette ligne de programme, il mettra automatiquement son chrono interne en marche. Pour voir où en est le chrono, il suffit de taper : 100 A = PEEK(#1BF) : (#FFFF — A — B *256)/50. Le chiffre qui apparaîtra à l'écran après l'exécution de ce programme (plutôt ligne de programme !) est en fait le temps qui s'est passé entre l'exécution de la ligne 10 et de la ligne 100. Ce temps est donné en secondes, dixièmes de seconde et centièmes de seconde. Exemple : si le résultat obtenu est 12.94, cela voudra dire que le temps mis par l'ordinateur pour exécuter les lignes se trouvant entre la ligne 10 et la ligne 100 est de 12 secondes 94 centièmes de seconde. Simple n'est-ce pas ? UN TROU DE MEMOIRE SUR SANYO PHC 25 Frédéric Hartard Les informaticiens de chez Sanyo ont toujours le mot pour rire. Ils ont oublié d'effacer une routine en assembleur dans leur mémoire morte Basic. Donc, lorsque l'on fait un DUMP mémoire en ASCII, on obtient du source qui semble destiné au synthétiseur musical. Pour obtenir ce source, il suffit de taper le programme Basic ci-dessous et de faire RUN. 10 FOR I = 23630 TO 25120 20 PRINT (CHR$ (PEEK (I))) ; 30 NEXT I Il y a à peu près 91 lignes de sources. Après RUN : ET TSOUND : JRC, TSNDO LDE, 120 TSNDO : LDA, E CP 32 JRC, CFCERR LDA, D ORA ETC J'espère que d'autres lecteurs possédant cette petite bête de PHC 25 trouveront d'autres secrets et qu'ils les dévoileront dans L'01. Est-ce qu'un passionné du PHC aurait trouvé une réponse à mon problème : quand je fais en assembleur, un OUT ou un IN d'une certaine valeur, j'obtiens plein de traits blancs qui apparaissent et disparaissent. Il s'agit à tous les coups, pour éviter ce désagrément, de faire un masquage ? Mais lequel ? Merci d'avance ! RESTONS DRAGONIENS Christophe Caquot Je vous propose quelques trucs pour le Dragon 32. Faites POKE 65495,0 : le Dragon exécute alors toute opération 1,5 fois plus rapidement qu'avant. C'est très pratique pour les jeux d'animation où la vitesse est souvent importante. Attention toutefois, deux problèmes existent à ma connaissance : il est alors impossible de se servir du magnétophone puisque la synchronisation est perdue. Et d'autre part, tous les sons sont plus aigus. Pour revenir à la vitesse normale, il suffit de faire POKE 65494,0 ou encore d'appuyer sur le bouton RESET. Pour enchaîner deux programmes Basic (fonction MERGE), il suffit de procéder ainsi : La dernière ligne du programme A doit être inférieure à la première ligne du programme B afin que, mis bout à bout, A et B aient des numéros de lignes croissantes (se servir de RENUM). Notez les valeurs PEEK (25) et PEEK (26) après avoir chargé le programme A. Faites PRINT PEEK (28) : si le résultat est supérieur ou égal à 2, faites POKE 25, PEEK (27) : POKE 26, PEEK (28) — 2 ; sinon faire, POKE 25, PEEK (27) — 1 : POKE 26, 256 — PEEK (28).. Entrez le programme B avec la commande CLOAD. Pokez en 25 et 26 les valeurs notées en 2. Un lecteur aurait-il trouvé un moyen d'écrire en HRG rapidement ? Si oui, il serait intéressant que tous les utilisateurs du Dragon puissent en profiter. JOUONS AU DAI Marc Vandermeersch Comment trouver les adresses hexadécimales de début et de fin d'un programme en langage machine ? En tant qu'utilisateur de Dai, il se pourrait que vous soyez dans l'obligation de prendre une copie d'un programme dont soit la totalité, soit une partie est écrite en langage machine. Or, vous ne connaissez ni l'adresse de début ni l'adresse de fin de ce programme ! Comment faire pour les trouver ? C'est très simple. Voici la procédure à suivre : il vous suffit de taper : RESET (le petit poussoir blanc, vous connaissez ?) UT (return) F2F0 B000 AA (return) (remplir la MEV par la valeur hex.AA) R (return) (charge le programme en langage machine dont les adresses sont inconnues) D300 B000 (donne le contenu de la mémoire depuis l'adresse hexadécimale 300 jusque B000). Vous verrez alors apparaître des tout petits « AA ». Dès que ces « AA » seront remplacés par d'autres « signes », vous saurez que c'est là que débute votre programme (adresse de début). Ces « autres signes » ne sont que le début de votre programme lui-même ! Par contre, dès que les « autres signes » seront remplacés par des « AA », vous saurez que c'est là que se trouve la fin de votre programme en langage machine (adresse de fin). L'n te 5'..1Jrfiel‘iiliei 148



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