Skip to main content

magazine poms05

  • PublicationApple Periodicals
  • Pages69
  • Sourcemagazine_poms05.pdf
← Magazines magazine poms05
/ 69
Source: Internet Archive — Aggregated Apple-era periodicals, 1981–2012.
Page 1
Loading…
Text content (OCR)
Sommaire Editorial Le clavier magique Bases de données sur Apple La programmation facilitée Banc-test de la carte Legend 128 K DE HAIFA : un amper-interpréteur complet Création graphique en Pascal CX Multigestion a l’essai Courrier des lecteurs Bibliographie NUMERO 5 - SEPTEMBRE 1982 - 35 Francs ISSN : 0294-6068 | Ssea88 JCR, DES MICRO-ORDINATEURS PROFESSIONNEL ET GRAND PUBLIC. JEUX EDUCATION COMMODORE VIC 20 ordinateur puissant et EPSON HX 20 SESE Ss ee Saye gammne If diaccessoires. + Moniteur 12" Applell + 48K + Diskavec Contréleur CE 150 Mini table tracante 4 coul En rerton des flucic‘ions monétazes, cox prix sont suscoptibles d'étre modifids rans preavis, Nous consulter pour confirmation PC 1500 + CE 150. CE 158 BOUTIQUE | ___2:009 Panis 100 PC 1251 PC 1212 RS 232/PC 1500 ll 48 K HR MX 100 FT IIT TO 7 THOMSON t 100% francais 8 Ko 2 Ko.Fourni avec un lec- Sortic couleur Pénitel. accentué. ille. 3650F APPLE Tl el par excellen Unité de disqi orée. Sortie RS 232. Nombreux s disponibles. Adjonction le d'un disque dur de 5 méga E vert haute résolution ———) Qwerty, ee A aT = aE Vente par correspondance Catalogue gratuit sur demande Crédit 4-36 mois Leasing 36-48 mois 58, me Notre-Dame-de-Lorette 59, rue du Docteur Escat 13006 MARSEILLE Tél. (1) 282.19.80 — Télex : 290350 F Tél. (91) 37.62.33 Horaires d'ouverture du magasin - du mardi au samedi: 10h- 12h 45/14h-19h ry Editorial L’année scolaire qui débute sera l'occasion de développements importants dans le domaine de la micro-informatique. Nous en avons déja parlé dans le demier éditorial, mais nous deurions voir apparaitre en septembre les premiers matériels IBM PC et de la série Digital réellement disponibles la vente. Les Sirius devraient voir leur logiciel s’enrichir. Pour nous, utilisateurs de matériels Apple, ITT, Silex et autres, les nouveautés sont les périphériques, le développement de la communication, des réseaux de toutes sortes et, bien sar, l’apparition de programmes toujours plus variés et aux possibilités multiples. Nous entamons avec ce cinquiéme numéro de Pom’s la deuxiéme année de notre revue. La premiére année s'est passée de facon satisfaisante : nous sommes maintenant quasiment en rupture de stock pour chacun des quatre premiers numéros, et nous venons d’augmenter le tirage de Pom’s, passant ainsi de 3 000 a 4 000 exemplaires par numéro. La seule chose qui a freiné notre développement a été le refus de la part de administration francaise de nous reconnaitre comme revue de presse, en nous accordant l'accord de la Commission Paritaire des Publications de Presse. On reproche &@ Pom’s d’étre, soi-disant, une revue publicitaire pour Apple ; la conséquence principale étant que nos frais sont ainsi majorés, par le jeu de la TVA et des frais postaux, de 30 %. Nous continuons par conséquent 4 travailler avec des moyens relativement simples, mais faisons tout notre possible pour vous offrir une revue de qualité, sinon de présentation totalernent professionnelle. A en croire la croissance des ventes de Poms, le temps énorme que nous consacrons & Pom’s n’est pas perdu. Nous en sommes heureux et espérons que Pom’s continuera d’étre pour vous un moyen de communication, d’apprentissage et de découverte. Nous vous offrons dans ce numéro une contribution qui est en fait, vu sa richesse, un produit valant largement de nombreux logiciels commerciaux. HAIFA, le Herz Amper Interpreter For Applesoft, étendra les Possibilités de programmation de votre Apple, en particulier dans les domaines graphique et sonore. Le programme est tellement important que nous n’avons pu mettre le source (Lisa 2.5) sur la disquette d’accompagnement. Ce code source occupant plus de 150 secteurs, nous n’avons pu non plus le lister dans la revue : nous imaginons mal que quelqu’un tienne absolument a rentrer plus de quatre pages pleines, ne serait-ce que pour le code hexa! La disquette comporte par conséquent la version binaire de HAIFA, et des programmes de démonstration, sous forme de générique pour Pom’s. Les codes sources des versions 48K et 64K pourront étre commandés sur une disquette spéciale vendue en option, au prix habituel de 50 francs TTC. Nous vous offrons aussi une analyse des bases de données réalisée par J.-F. Duvivier, un clavier magique et un amper-interpréteur (plus simple que celui de Herz) dis 4 Denis Sureau, un banc-test du programme CX-Multigestion et de la carte Legend 128K DE. Les fans de Pascal trouveront encore dans cet exemplaire une excellente contribution de Michel Crimont, qui s’attaque ici 4 la création de formes. Nous recevons de plus en plus de contributions de lecteurs, et n'avons d’ailleurs pas pu toutes les intégrer dans cet exemplaire. Nous rappelons aux lecteurs qu’ils peuvent nous envoyer leurs contributions sur disquette. Quand cela est possible, nous préférons recevoir le texte sur la disquette en format Apple Writer I ou IL. Directeur de la publication — rédacteur en chef : Hervé Thiriez — Siége social : Editions MEV — 49, rue Lamartine — 78000 Versailles — Rédaction et abonnements : 59, bd de Glatigny — 78000 Versailles — Tél. (3) 918.13.07 — Régie publicitaire : Force 7 — 41, rue de la Grange-aux-Belles — 75483 Paris Cedex 10 — Tél. (1) 238.66.10 — Diffusion auprés des boutiques informatiques et librairies : Editions du PSI — 41-51, ne Jacquard — B.P. 86 — Tél. (6) 007.59.31. Ont collaboré a ce numéro : Christian Colmant, Michel Crimont, Jean-Francois Duvivier, Olivier Herz, Denis Sureau, Hervé Thiriez — Conseillers techniques : Olivier Herz et Gérard Michel — Dessins : Bertrand Delestrée et Jean Mourot. 7 Pom’s n’ 5 Erratum du N° 5 (paru dans le N° 6) 1. Le clavier magique Page 4, colonne 2, ligne 4, il faut lire : +f <DEPART >, <INCREMENT >. 2. La programmation facilitée Page 23, colonne 2, lignes 6 et 7, lire : X <128 diminue la durée, X > 128 gees plus bas, lire « affichant PRINT FN ARR(X) » Afin de formater un écran entier avant de placer les INPUT et de créer une commande de formatage pur, il suffit de quelques instructions en plus et de créer une commande d2 formatage pur. On supprime « INPUT A$ » et le paramétre longueur devient obliga- toire, car le « 1 » servira a identifier la commande. Il faut pour cela : — Modifier les lignes suivantes : 72 LDY 40 73 STY LONGUEUR 74 STY $6 123 BEQ MASQUE — Insérer les lignes suivantes . 54 CMP# ‘1’ 55 BEQ INPUT 75 PHA 76 CMP #2 °1 77 BEQ INPTL 115 DEC $BF 122 INC $BF 137 MASQUE PLA 138 CMP ‘1’ 139 BEQ GTRTS 3. HAIFA Page 35, col. 2, § 3, ligne 5, lire «#$A5 ». Paragraphe suivant, lignes 4 et 5, lire « fait un bip, déconnecte les routines spéciales d’entrée/sortie, puis la repro- grammation de HAIFA intervient — le RESET agit comme CTRL-C: il fait”. Page 36, la pile. Lire PUSH > et PULL > (pas de signe “="). Page 36, & propos de & GOTO, & GOSUB, & RESTORE et & NEW: comme on peut utiliser des expressions numériques 4 la place des nombres, il vaut mieux ne plus utiliser le RENUM- BER | Page 37, le « INPUT anything ». Une propriété supplémentaire a &é omise . & INPUT « [chaine] » : [nom de varia- ble}, [exp. num.] & INPUT [nom de variable], lexp. num.]. Ces commandes agissent comme & INPUT, mais ajoulent derigre le cur- seur un nombre de points correspon- dant & l'expression numérique (de 14 255). Ce nombre de points indique la longueur maximale de la chaine autori sée : en cas de dépassement, la chaine sera tronquée en conséquence. Page 42, bas de colonne 1 : le type 9a pour effet « T=>E ». Page 43, col. 1, 86, lignes 6 et 7: .. <» pour la gauche, « > » pour la droite... Page 43, tracer des points et des droi- tes : le HPLOT, le X HPLOT et le N HPLOT peuvent étre prolongés par chacune des continuations [ex.1], (ex.2] ou TO [ex.1], [ex.2] ou ON lex.3}. Page 45, col, 2, 84, lire PR## et IN au lieu de PR= et IN=. Page 46, §2 et page 47, ligne 1, lire CIRL-SHIFI-N au lieu de CTRL-%. Page 46, dernier 8, lire CTRL-SHIFT- P au lieu de CTRL-a. Adresse des routines: GETLIN ($FD6A), RDKEY($FDOC) et COUT1($FDFO). Page 48, col. 2, 84, ligne | : « Cette routine court-circuite I'entrée de » ; ligne 9 : lire PRINT CHR$(4)« INxE 0» : «IN» et non « PR ». Page 51, col, 2, §2: ligne 3: « ,..tables aprés les fichiers » ;, ligne 9: « du code (HAIFA.CODE en 48K ou HAIFA. CODE 1 en 64K), il ne ». Remarques sur la disquette Pom’s 5. Le programme source est constitué de deux fichiers LISA 2.5 version 64K enchainés par ICL car l'ensemble était trop gros pour tenir en mémoire en un seul fichier. L’assemblage de ces fichiers sauve automatiquement les deux fichiers source. La encore, il fallait deux fichiers distincts car LISA ne laisse que 4K pour le fichier généré Lassemblage des deux versions de HAIFA (48K et 64K) a été réalisé avec LISA en version 64K. Pour pouvoir lis- ter les fichiers avec LISA 48K, il a fallu découper HAIFA.TEXT 1 et HAIFA. TEXT 2 en deux parties chacun (suf- fixes A a D). Ces quatre fichiers senchainent avec ICL, mais ne sont pas assemblables en 48K car la table des symboles est saturée. Celle-ci a en effet une longueur de $800 en LISA 48K et de $1500 en LISA 64K. HAIFA est donc beaucoup trop gros pour étre assemblé en 48K ! 4. Conversion Pascal/ BASIC/Pascal Nous adressons nos excuses aux lec- teurs ayant essuyé des difficultés lors de [utilisation des programmes de conversion Pascal/BASIC/Pascal, fournis avec les disqueties Pom’s 2 a4, et commentés dans le numéro 3. Pour ceux d’entre vous qui reoivent les disquettes, utilisez le programme de transfert de BASIC vers Pascal de la disquette Pom’s 5, dans laquelle le bug avait été corrigé, ou celui de la disquette 6, bien entendu. Ce bug avait été malheureusement absent de nos essais, dans lesquels nous avions remis les programmes sur une disquete Pascal vierge. La conséquence du bug est qu'une par- tie du programme Pascal risque détre absente en fin de course. Le reméde est le suivant, a appliquer aux programmes présentés par Gil- les Mauffrey dans le Pom's 3 : 1. Dans PASCBAS.OBJO, 288, lire CMP # $10. Donec, dans le code objet, faire AES : 10. 2. Dans BASPASC.OBJO (sur dis- quette uniquement), ligne 449, lire CMP #$10. Donec, dans le code objet, faire C29: 10. 3. Avant toute utilisation, nettoyer la mémoire avec : 2000 : 0 2001<2000 . 8000 M. ligne Le clavier magique Denis Sureau Ce programme utilitaire permet de donner A cette commande. l'Apple une possibilité que 1'on trouve d'o- rigine sur le PET et qui facilite grandement Quand au numéro de départ de la numérota- l'entrée d'un programme BASIC au clavier : tion automatique et a l'incrément, ils sont une seule lettre est tapée, associée ala définis par 1'instruction & (DEPART], [INCRE- touche CTRL et une instruction Applesoft MENT]. Par défaut, le numéro de départ est apparait sur l'écran : ainsi, CTRL-I rempla- 100 ct 1'inorément 10. cera INPUT, CTRL-T THEN, etc... On pourra également obtenir la commande Pour que la frappe d'un programme, tAche LIST avec la touche "/" et CATALOG avec la fastidieuse s'il en est, soil encore facili- touche "$", mais seulement en exécution di- tée, l'autonumérotation est permise par le recte. programme: il suffit d'appuyer sur la barre d'espacement pour que le numéro de ligne La correspondance des touches de contréle suivant apparaisse avec 4 sa droite le est la suivante : curseur... Touche Equivalent ! Touche Equivalent Le listing du programme donne toutes les A INVERSE 4 ) HPLOT indications nécessaires sur son fonctionne- B HTAB ! P HOME ment; il est relativement. court car il se c COLOR ! Q POKE sert de la table des instructions Applesoft, D DATA ! R RETURN commengant A partir de 1'adresse $DOL0, grace E ! 8 SCALE a une table d'tadresses donnant la F ! r THEN correspondance entre les lettres A a Z et 22 G ! y’ VTAB instructions Applesoft. Les touches CTRL-U, I ! W PEEK CTRL-H, CTRL-M et CTRL-X ne sont pas J GOSUB ! x XDRAW affectées, CTRL-M équivaut 4 RETURN pour lc K VLIN ! Zz NORMAL moniteur. L HLIN ! CTRL SIITPT M XDRAW N NEXT ! Lorsqu'on le charge, le programme est inactif. On le rend actif par CTRL-SHIFT-P et Bascule pour brancher ou débrancher le cla- 130 PRINT " LE NUMERO DE DEFAR 320 END T DE L’AUTONUMERO-"? PRINT " l'on peut. ensuite, méme a l'interieur d'une vier magique : CTRL-SHIFT-P. ligne, le déconnecter ou le reconnecter avec 10 TEXT ! HOME TATION ET L’INCREMENT SONT D 20 HTAB 10: PRINT "LE CLAVIER MA ONNES" GIQUE" 140 PRINT “FAR L‘’INSTRUCTION: "3 30 PRINT } FRINT t INVERSE t PRINT "&<DEP>,<I 40 PRINT " CET-UTILITAIRE EN ASS NC? NORMAL EMBLEUR FERMET" 150 PRINT " ON MET LE FROGRAM 50 PRINT "D’ECRIRE LES INSTRUCTI ME EN FONCTION ET" ONS AFFLESOFT AU" 160 FRINT "ON FEUT -A TOUT MOMEN 60 PRINT "MOYEN DE DEUX TOUCHES? T- LE METTRE HORS" " 170 PRINT "FONCTION PAR LA COMMA 70 PRINT " - LA TOUCHE CTRL NDE+" } 80 PRINT " - ASSOCIEE A UN CARAT 180 HTAE 15% INVERSE $ PRINT " C TERE DE A A Z" TRL-a@ "3 NORMAL 90 FRINT " NORMALEMENT L’INITI 190 IF PEEK (115) + PEEK (116) ALE DE L’INS~- ": PRINT " x 256 < 22000 THEN 300 TRUCTION." 200 PRINT CHR$ (4)"ERUN MAGIQ$ 100 PRINT " DE PLUS ON OBTIEN 6000" T AUTOMATIQUEMENT” 210 CALL 24576 110 PRINT "LE NUMERO DE LA LIGNE 220 END SUIVANTE EN" 300 PRINT CHR$ (4)"ERUN MAGIQ$3 | 120 PRINT "AFFUYANT SUR LA BARRE Ago" D’ESFACE 310 CALL 14848 | a Pom’s n° 5 J 0600 0800 0800 0800 0800 0800 0800 0800 0800 0800 0800 0800 0800 oso0 0800 0800 0800 0800 0800 0800 0800 osa0 0800 0800 0800 0600 0800 0800 0800 0800 0800 4000 4000 6000 4000 4000 6000 6000 6002 6004 4006 6008 600A 400C 600E 6010 6012 6014 6016 6018 601A 401 601E 6020 6023 6023 6026 6028 602A 602D A923 8533 A760 8539 Ag900 8516 6518 851cC A464 851A AIDA 8519 A900 8573 A760 8574 4CEA03 Z2018FD c980 boos ACE8460 48 MONOMPUNH 3 RERRKBRERRERRERRRRRE 3& 38 cb 2 ; & & 38 CLAVIER & 3&8 & ; MAGI QUE & 3& & 38 FAR & > DENIS SUREAU & 38 & + RRRRRRERRRRERRRRRRGR + HOOK EFZ $38 KEYIN EQU $FD1E FRINT EQU $FDED TNLINZ EQU #D52E FRMNUM EQU $DD67 LINNUM EFZ $50 CHRGET EFZ $B1 TXTFTR EFZ $68 GETADR EQU E752 INCH EFZ $18 INCL EPZ $19 NUML. EFZ $1A NUMH EFZ $16 PASSE EPZ $1C LINFTR EQU $ED24 BELL2 EQU $FEE4 WALT EQU $FCAS ; ORG #6000 OBJ $800 (LONGUEUR? $1CE> FH wo we we NIT? LDA #TESTS STA HOOK LDA /TESTS STA HOOK+1 LDA #900 STA NUMH STA INCH STA PASSE LDA #964 STA NUML LDA #$0A STA INCL. LDA #INIT STA 73 LDA /INIT STA $74 JMP $3EA TESTS: JSR KEYIN CMP #$80 BNE TSTL JMP MAGIQ TST1i PHA — Pom’s n° 5 70=OFF,1=0N 7PLACE UN ;SAUT A sL’ AD E TESTS #DANS LE “INPUT HOOK’ ;LECTURE CLAVIER sCTRL~@? ba 297F 0A Ag B94F él FOIE 8D7F 40 B95061 8D7E40 Ago0 BOF FFF c980 100c 0730 Z20EDFD 9p0002 £8 cs DOED LDA BNE PLA RTS PLA CMF BCC CPX BNE. CMP BEQ CMF BEQ CMF ENE, JUMP CMF ENED JME RTS CMF BEQ CMF BEQ CMF BEQ CMP BEQ CMF BEQ PASSE TSTZ #S9E ;TEST CLAVIER CTRL 3TOUCHE DE CONTROLE? #900 RTS #$A0 SBARRE D’ESFACE? NUM gegen PARAM ¥ng" TST3 CATALG yey RTS LIST #8) 3 RETURN? RTS #488 ;FLECHE GAUCHE? RTS #995 3FLECHE DROITE? RTS ¥S98 sCTRL-X? RTS #S9ER sESC RTS CETTE FROCEDURE SELECTIONNE ;DANS LA TABLE DU PROGRAMME $L’ ADRESSE DE L’ INSTRUCTION ;VOULUF DANS LA TABLE DE 3L’AFFLESOFT+ ; CLD AND ASL. TAY LDA BEQ STA LDA STA INSTR? LDY ADRESS LDA CMF BPL 3} AFFICHAGE 3 CARACTERE ORA JSR STA INX INY BNE #S7F }A=A-128 pA=AKZ TABLE, EXIT 3ST 0000,SORTIE ADRESS+2 TABLE+1,Y ADRESS+1 #300 $FFFF,Y #380 ;DERNIER CARACTERE? EXET ET INSERTION DE CHAQUE DANS LE BUFFER D‘ENTREE #$80 PRINT $2005X ADRESS Pom’s n° 5 4090 60 121 EXIT RTS 6091 122 6091 123 6091 124 3 AUTONUM 6091 15 gee eee 6091 126 j;AFFICHE LE NUMERO DE LIGNE 6091 127) NUM? 6091 A&b1A 128 LDX NUML 6093 AS1E 129 LDA NUMH 6095 2024ED 130 JSR LINETR 6098 A00L 131 LDY #01 607A 132 j;INSERTION DANS LE BUFFER D‘ENTREE 609A 133 NUM2? 609A 8128 134 LDA ($28), 609C CPA 135 CMF #¢A0 609E F007 136 BEQ NUM3 60A0 9D0002 137 STA $200,X 60A3 C8 138 INY 60A4 E8 139 TNX 60A5 DOF3 140 BNE NUMZ 60A7 144i 2 60A7 142 $INCREMENT DU NUMERO SUIVANT 60A7 143 NUM3: 60A7 D8 LAS CLD 60a8 18 145 CLC 60A? ASI? 146 LDA INCL. S0AE 651A 147 ADC NUML. 60AD 851A 148 STA NUML 60AF AS18 Ly LDA INCH 4081 4516 150 ADC NUMH 60B3 8516 151 STA NUMH 60BS APA0 152 LDA #$A0 60E7 60 153 RTS 6088 154 3 6088 155 ENTREE DES NUMERO DE DEPART & INC, 60B8 154 FARAMt é60B8 AA 157 TAX 60B9 C624 158 DEC $24 60BE Z202EDS 159 JSR INLINZ sENTREE 60BE A700 160 LDA #900 $D’UNE LIGNE 60C0 85E8 161 STA TXTFTR 60CZ A902 162 LDA #$02 60C4 85B9 163 STA TXTPTR+1 6004 2067DD 1464 JSR FRMNUM 3EVALUATION 60C9 2052E7 1465 JSR GETADR 60CC ASS1 166 LDA LINNUM+1 60CE A450 1467 LDY LINNUM 60D0 8518 168 STA NUMH 60D2 841A 169 STY NUML. 60D4 20B100 170 JSR CHRGET 6007 2067DD 171 JSR FRMNUM 60DA 2052E7 172 JSR GETADR 40DD A450 173 LDY LINNUM 60DF ASSL 174 LDA LINNUM+1 60E1 8518 475 STA INCH 60E3 8419 176 STY INCL 60E5 A98D 177 LDA #$8D 60E7 60 178 RTS 60E8 179 3} 60E8 180 $ ROUTINES D’/AFFICHAGE DU TITRE 7 wae Pom’s n° 5 ——/ é0E8 60EA é60EC 60EE 60F0 60F2 60F4 60F6 60F6 60F8 60FA 60FC 60FE 6101 6103 6106 6108 6108 610C 610F 6141 6113 6115 6117 61197 6116 611D 611F 6121 6123 6126 6128 61268 612D 6130 6132 6135 6137 6139 61368 613D 613k 613E 6140 6142 6144 6147 614A 614C 614F 614F 6152 6155 6157 615A 615D 615F 6162 6165 6167 _ 8406 A524 8508 AS25 8509 ASic D048 8606 A700 8525 8524 Z022FC A206 ZO04AF9 aggd B9S8Bél cs ZOEDFD c9eD DOFS AG06 AP01 8522 851C ASO 8524 AS09 8525 2022FC A020 ZOE4FE AIDO Z20A8FC A0i8 Z0E4FE APA0 A606 booz A98D 60 A000 8424 8425 2022FC Z09CFC A700 4C1741 ooooDL 4FD125 Diio DODADO EFDOD3 D193 ooo0bDe DED1A4 D105 bioioco TITRES RTSTT RTSTT2 EFFACE: TABLES $4 $24 $8 $25 $9 FASSE EFFACE $4 #00 $25 $24 $FCZZ #3906 $F94A #00 TY FRINT #3$8D ETS $d #1 $22 PASSE $3 $24 %9 $25 $F C22 #920 BELLZ #$D0 WAIT #418 BELL2 #SA0 $6 RTSTTZ #$8D #900 $24 $25 $FC22 $FC9C #900 RTSTT 0000D14FD125D110 DODADOEFDOD3D193 OOOODODEDIA4D10S D1010000D0D46D117 3; CONSERVATION ;DES VTAE 3ET HTAB ;INITIAUX Pom’s n° 5 616A 616D 616F $172 6175 6177 6174 617D 617F 6182 6185 6187 618A 618 618E 6191 6194 6197 619A 19D 61A0 61Al 61AZ 61A2 61AZ $1A2 61A2 61AZ 61A2 61A2 61A2Z 61AZ 61A2 61AZ 61AZ2 61A2 61A2 $1A2 61A2 61A4 61A7 61A9 $1AA 61AA 614A 61AA 61ACc 61AE 6161 61B3 61BS 61B6 61B9 61BC 61BD 61BE 61C0 6100 61C3 6104 ooDODS D117 D1iz9d1 C7D1A9 D131 DIEFOO 00D164 D23B o000Da 1cbd149 ooco oo00Di 20 3AZ00C 052003 ocoiié 090512 Z200D01 O70911 150520 3A 8D A005 Z20AC61 A98D A000 A200 B9C061 D003 APAD 60 ZO0EDFD 9D0002 E8 cs DOEE CCC7D3 D4 oo 240 241 242 243 24 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 HEX Diz7DiC7D1iA7D131 HEX DiEF0000D164D236 HEX 0000D11CD1470000 HEX 0000D1i20 T INV "3 LE CLAVIER MAGIQUE ¢" HEX 8D ; 3 TOUTE COMMANDE PEUT ETRE 3 AJGUTEE AVEC LA ROUTINE 3 ‘COMM’ EN AJOUTANT CETTE 3} COMMANDE A LA LISTE ‘LST’ + ON DONNE A Y LA PLACE DU 3 PREMIER CARACTERE DE LA } COMMANDE ET ON BRANCHE SUR 3 COMM (Y DE 0 A 254) $+ ON AJOUTE UN TEST EN DEBUT } DU PROGRAMME, >» COMME AVEC CATALOG CI-DESSOUS: t 3 CATALOG ATALG LDY #805 JSR COMM LDA #$8D LLOOFZ JSR PRINT INX INY BNE LLOOF | 61C5 C3CibD4 278 ; 61C8 CiCCCF LST ASC "LIST"| 61CB C7 é1CC 00 279 HEX 00 280 FIN ASC "CATALOG" HEX 00 END 9 cna Pom’s n° 5 6000- Ag s008- Ag 6010- ag 6018- Ag 4020- 4c 6028- DO 6030- DO 6038- 18 6040- 50 4048- 03 6050- 4c 6058- CP 6060- C9 4068- D8 6070- FO 4078- 8D 6080- C9 6088- FD 4090- 60 CARTE M/DOS 6502 fice , é0A0- 9D LE SYSTEME D’EXPLOITATION or ebe i. DU 6502 - MONOPOSTE/MULTIPOSTE [prion © POUR UNE PROGRAMMATION SIMPLIFIEE 60C0- 85 + POUR DIVISER PAR 20 LA LONGUEUR ia pes DE VOS PROGRAMMES ~ 85 © POUR GERER DES MEMOIRES DE 140 K peed ee A 120 MEGAS eUedo ae + POUR GERER VOS FICHIERS SEQUENTIELS Sieh ee INDEXES MULTICLES b0FB— Ag * POUR GERER VOTRE ECRAN PAR MASQUES 6100- FC DE SAISIE (ADAPTABLE AUX CARTES 80 COLONNES) 4108- 9 » POUR GERER VOTRE IMPRIMANTE PAR 4110- 8D MASQUES D'IMPRESSION $118- 22 LA VERSION MULTIPOSTE VOUS ASSURE : R 6120- 09 ~ LA MISE EN COMMUN TOTALE 6128- 20 UES RESSOURCES SANS CONFLIT 41390— AD ET ae fie earns vant cena 6138- 06 ; siphons : 6140- 84 6148- 9c 6150- 00 6158- DA ~ 6160- 00 ( oe rnp RD can e882 ie ae Tal en gre sie 6178- EF ATIQUE jore BP, O70! 6180~ : DSA. — Bt re GED i 4 aeae ; 7 = 5, bd Dubout! ah 758200 z NICE og Tal 6190- 03 = Ta. 931" 6198- 0D & 61A0- 3A 3 : 61A8- 8D micro. 61B0~ 61 UN PRODUIT informatique é61B8- FD service - cc 3, rue Meyerbeer, 06000 NICE, tél. (93) 87.74.67 61C8~ C1 23 00 44 00 EA 03 02 Eo AZ 85 85 85 85 03 4c é8 oo Ag AZ él 38 1B 1A 73 20 E8 60 bo Fo 61 60 FF? EF oA 7F AQ oc 02 AS 28 ce 65 85 20 02 7: 1A S2 84 eA ic 25 20 c8 AS AS 20 : AP Ag 85 ag? Ag 1B 60 68 14 73 ce co c? ce a8 60 00 09 ES iB cg? ES 1A Récapitulation 48K 60 18 0a 60 FD 48 ce? C9 Cc? AF 8D 95 9B Bg EB? B9 80 cs 20 A0 bo 85 A? oS 9 4 BL a4 & A? 08 43 24 F9 ED Pom’s n° 5 Il est généralement admis que 1'une des utilisations les plus populaires d'un or- dinateur individuel consiste a stocker des données et A pouvoir les retrouver rapide- ment. Cela se confirme au vu de 1l'importance et du nombre de programmes de gestion de bases de données (ou gestion de fichiers) disponibles sur le marché. Au méme titre que les jeux ou les progiciels de traitement de texte, ils constituent une classe tout 4 fait particuliére de programmes. Leur l'arrivée disquettes en février gestion de problématique. L'ocuvre de premigre apparition coincide avec sur 1'Apple des unités de (DOS 3.1 en juillet 1978, DOS 3.2 1979), tant il est vrai qu'une fichier sur cassette était Ces premiers essais ont été clubs naissants, tel que Call-APPLE, Puis, avec l'apparition des SSCI attirées par le succés et la diffusion d'Apple, les programmes commerciaux se sont multipliés. Avec la concurrence, la qualité de ces progiciels s'est améliorée rapidement pour déboucher sur des produits tout 4 fait remarquables. de vous en présenter quatre parmi meilleurs. Vous n'y trouverez peut-8tre pas votre favori, le seul qui trouve grace A vos yeux, et je vous prie de mlexcuser d'avance pour cet oubli | A chacun de ces quatre progiciels sont consacrées deux choisi les Jtai A trois pages qui vous permettront de vous faire une idée plus précise de leur fonetionnement et de leurs possibilités. J'ai respecté autant que possible le méme cheminement tout au long de cette analyse, avec des étapes bien définies, afin que vous puissiez plus facilement effectuer des comparaisons. ux. fEnfin, A la suite de ces textes, un tableau récapitulatif rassemble les principales caractéristiques de ces progiciels. trouverez pas a la fin de cet ar- ticle une conclusion générale, car il était impossible de répondre 4 la question "Quel est le meilleur ?" ou "Lequel dois-je choisir 2". Chaque programme a ses avantages et ses inconvénients. Le choix dépend surtout de l'utilisation qui doit en @tre faite. fh Vous ne guise d'aide, vous pourrez consulter l'article paru dans 1'Ordinateur Individuel dtavril 1982 "Quelques conseils pour bien choisir un progiciel de gestion de fichier", article dont je recommande la lecture préalable A tous ceux qui n'ont jamais Bases de données sur Apple Jean-Francois \ Pom’s n° 5 Duvivier utilisé de programmes de gestion de fichiers et qui pourraient @tre déroutés par les termes employés dans cet article. Quelques mots avant de commencer, sur les absents. Il s'agit notamment de : - "CX Multigestion", produit. fait l'objet d'une analyse Hervé Thiriez dans ce numéro. francais, qui détaillée par - "Data Factory" écrit par Bill Passauer et distribué par Micro-Lab (150 $ aux USA). Ce produit monte trés fort dans les classements mensuels publiés par Softalk, mais je n'ai pas pu me le procurer 4 temps. - "Modifiable Database" (Synergistic Soft- ware), programme qui a quelques défenseurs acharnés car ses fichiers sont totalement accessibles et utilisables en Basic, eta cause de sa grande facilité d'utilisation. - "Super Généfiche" (Imagol) dont nous at- tendons de pouvoir tester la version professionnelle. - des progiciels exécutés sous CP/M avec la carte Z80 (Softcard). Il faut surtout citer "Datastar" (la star des programmes de gestion de fichiers sous CP/M) et "Unibase". Bien qu'ils possédent des qualités évidentes et indiscutées, je ne les ai pas fait figurer ici pour ne pas rompre "l'homogénéité maté- rielle", l'Apple II équipé d'une Softcard n'étant plus tout 4 fait un Apple II... En dernier ciements 4 la société trés amicalement les l'objet de cette étude. lieu, j'adresse tous mes remer- SIDEG qui m'a prété programmes faisant CCA DATA MANAGEMENT SYSTEM : DE BEAUX RESTES UN ANCLEN QUI A CCA DMS présentés remonte a4 est le plus ancien des progiciels ici puisque sa premiére apparition 1979, date a& laquelle le DOS 3,3 n'existait pas encore ! Distribué par Personal Software (si,si ! vous connaissez : ils distribuent aussi Visicale ), ses possibilités lui ont vite permis d'acquérir une place de choix parmi les programmes de l'époque, Présenté sur une disquette normale, c'est-a-dire non protégée (1979, c'était la belle époque), CCA a connu un vif succés et une distribution (...) trés large qui lui a permis de se retrouver en bonne place dans la programmathéque de nombreux utilisateurs Apple. Liadaptation au DOS 3.3, Muffin oblige, n'a Il } 4 pas présenté de difficultés. Ayant ainsi traversé le temps sans encombres, le CCA DMS se retrouve parmi les programmes de gescion de fichiers les plus connus, malgré des performances en retrait par rapport aux progiciels plus récents. Configuration CCA DMS se présente sous forme de six pro- grammes Applesoft chainés entre eux. Il né- cessite donc un Apple II+ ou un Apple équipé d'une carte langage ou d'une carte ROM Applesoft. Bien qu'il soit exploitable avec une seule unité de disquettes, il est souhaitable d'en posséder deux afin d'éviter les changements de disquettes rendus nécessaires par les overlays. Le CCA DMS peut @tre exécuté en 3.2 comme en 3.3 Lors de la premiére utilisation, le pro- gramme demande les données relatives 4 l'imprimante (slot ou adresse de la routine, données d'initialisation, présence d'un retour chariot -line feed- supplémentaire) et le nombre d'unités de disquettes. Ces données sont stockées dans un fichier CONFIGURATION qui vous évitera de rentrer les mémes paramétres & chaque exécution du programme. Et il vous suffira de supprimer ce fichier pour repasser automatiquement en phase de configuration. Menu_principal Il comprend sept fonctions : "Terminate processing" : fin (sauvegarde des fichiers et retour au Basic) "Perform file maintenance" : entrée de nouvelles données, modification, recher- che, suppression...) "Print a report or labels" : imprimante "Compact a file" : compactage du fichier "Define a file" définition du fichier "Sort a file" ; opérations de tri "Change slot number" : changement de slot sorties sur Déf inition du fichier Chaque champ a trois caractéristiques de base qui doivent Gtre définies : - un identificateur (1 4 5 caractéres) qui sera utilisé dans toutes les opérations pour désigner ce champ; - un label plus explicite (1 4 15 caracté- res) qui sera affiché lors de l'entrée des données ou de la sortie sur imprimante; - la longueur, qui représente le nombre de caractéres réservés pour ce champ. Chaque champ peut avoir trois types diffé- rents : - alphanumérique, c'est-a-dire qui accepte tous les caractéres; - numérique (jusqu'a 9 chiffres) auquel cas la premiére lettre de 1'identificateur 12 Pom’s n° a, doit @tre une '#'; - permanent, c'est-a-dire fixé dés le dé- part et non modifiable (intéret ?!7). La premiére lettre de l'identificateur est alors un '!', Il est également possible de définir des champs calculés & partir des autres champs numériques. La formule entrée est évaluée de gauche A droite, sans hiérarchie entre les opérations. Les parenthéses étant interdites, les possibilités d'exploitation des champs calculés sont assez réduites. La taille trement maximale autorisée d'un enregis- est de 232 octets, et le nombre de champs par enregistrement est limité 4 24. La taille totale du fichier ne peut excéder la capacité d'une disquette, ce qui le limite a 140K en DOS 3.3. Utilisation du fichier du menu général est utilisée pour ajouter, modifier ou rechercher un cn- registrement. La ligne supérieure de 1'écran indique & tout moment le nom du fichier, le numéro de l'enregistrement présenté et le nombre total d'enregistrements. L'option 1 Ltentrée des données est effectuée ligne par ligne, certainement par des instructions Basic INPUT, ce qui donne a 1l'écran une présentation peu esthétique. La fonction Recherche est vraiment minimale, car elle ne permet que la recherche de l'occurence d'une chaine de caractéres dans un champ unique. Il nty a done pas la possibilité de tester les valeurs des champs numériques (comparaisons de valeurs) ni d'effectuer des recherches logiques (ET,OU) sur plusieurs critéres. La fonction Modification permet de changer le contenu d'un champ. Cependant, 1'enregis- trement A modifier doit Gtre spécifié par son numéro, ce qui oblige pratiquement 4a effec- tuer une opération de recherche pour connai- tre le numéro avant chaque modification. La fonction Suppression présente une ca- ractéristique intéressante : 1l'enregistre- ment supprimé est seulement marqué dans le fichier et non pas détruit. Cela permet par exemple de pouvoir imprimer tous les enregistrements supprimés, ou méme de les récupérer si le besoin s'en fait sentir ! La suppression effective intervient lors du compactage du fichier (option 3 du menu). Une derniére fonetion permet de créer des fichiers d'index, contenant les numéros des enregistrements satisfaisant A un critére. A partir d'un fichier d'adresses, on peut ainsi constituer un fichier d'index reprenant par exemple toutes les personnes habitant la méme ville le méme département. Ce fichier d'index est utilisé par le "générateur de rapport" qui pourra alors éditer les rensei- ou == concernant ces personnes. Edition de rapports le "générateur de rapport." permet, A par- tir du fichier global ou d'un fichier index, d'éditer les données souhaitées. Les paramétres donnés peuvent €tre les champs 4 éditer, ou un intervalle de valeurs d'un champ. Tl est également possible d'introduire des sous-totaux et des totaux. A noter qu'il est possible d'utiliser une imprimante ayant un driver en RAM, puisque la page 3 est dis- ponible a cet effet ($31A 4 3D0). Possibilités de tris Tl est possible de trier tout le fichier. Bien que nous n'ayons pas pu faire l'essai sur un fichier trés gros, il semble que le processus de tri soit particuliéroment long : la documentation indique en effet 104 15 minutes pour un fichier de 200 cnrogistre- ments ! Le tri peut @tre effectué sur un maximum de 10 champs, et spécifié ascendant ou de cendant sur chacun. Si le fichier ainsi trié est supérieur 4 l'espace mémoire disponible en RAM, le programme utilise un fichier de travail. C'est particuligrement dans ces moments-1A que l'on apprécie le fait d'avoir deux drives ! Remarques diverses CCA DMS ct Visicale étant distribués par la méme société, la disquette comprend des programmes de conversion entre CCA et Visi- calc, en utilisant le format DIF (Data Interchange Format) qui est devenu un standard pour communiquer avec Visicalc. CCA DMS étant écrit en Applesoft et non protégé, il est possible de lister tous les programmes et donc de les modifier. De méme, les fichiers sont des fichiers TEXT standard et leur structure est expliquée en détail dans la documentation. Il est done tout 4 fait possible d'utiliser les données stockées par CCA dans d'autres programmes. Documentation La documentation se présente sous la forme d'un classeur comprenant 90 pages de la taille désormais classique des manuels Apple. Elle est rédigée en anglais et permet de découvrir CCA pas a pas grace 4 de nombreux exemples. Conclusion avantage de CCA réside dans Il peut étre modifié et ses fichers sont accessibles 4 tous. Ses principaux défauts sont ses limitations du nombre de caractéres par enregistrement (232) et du nombre de champs (24), ainsi que la Le principal son "ouverture". Pom’s n° 5 — pauvreté des possiblités de recherche et de tri. PERSONAL FILING SYSTEM : TION INDIVIDUELLE POUR UNE UTILISA- Sur la petite boite plate qui contient la disquette et 1a documentation du PFS s'étale un gros macaron bleu sur lequel est ins¢rit : "New Features". Voici donc la derniére révision du PFS. Qu'y a-t-il de changé ? Le prix tout d'abord, qui a grimpé de 50% a l'occasion du passage 4 la révision Ff, mais qui reste tout de méme relativement sage pour un programme de gestion de fichier. Les améliorations techniques portent essentiel- lement sur trois points : - la possibilité de scinder et fusionner les fichiers; - celle de redéfinir le fichier en gardant les données déja entrées; - l'amélioration des possibilités de tris et d'édition sur imprimante. n'est malheu- suffisante pour combler la du PFS dans le domaine de rapports. Elle ne rend donc pas programme "jumeau" le a pour unique vocation rapports. Nous avons donc testé l'ensemble PFS et PFS Report afin que le tout soit comparable avec les autres progiciels testés. Cette derniére amélioration reusement pas grande lacune l'édition de inutile l'achat du PFS Report qui l'établissement de Configuration L'ensemble disquettes "bootées" PFS;Report est proposé sur deux séparées qui ne peuvent étre qu'en DOS 3.3. Ces disquettes sont protégées, c'est-a-dire qu'elles ne sont pas copiables. Aucune disquette de sauvegarde n'est incorporée et il faut done les commander aux USA (15 dollars chaucune),. Le PFS est le seul des quatre progiciels testés ici qui puisse s'exécuter sur un ancien Apple avec mémoire Integer et sans carte langage ou carte ROM Applesoft. L'ensemble du programme est chargé dés le départ. dans sa totalité. Il n'y a donc pas d'overlay et il n'est pas nécessaire de garder 1a disquette programme dans le drive, ce qui autorise l'utilisation du PFS avec un seul drive. Attention cependant, PFS Report nécessite une disquette de travail pour ses tris et rend alors souhaitable le deuxiéme drive. Menu_principal Le menu principal comprend six options : - "Design File" correspond a la définition du fichier; - "Add" ajoute de nouvelles fiches; - "Copy" permet la sauvegarde des fichiers, aa (= rendue nécessaire par le fait que les fichiers eréés par le PFS ne sont pas accessibles A partir du Basic; = "Search/Update" regroupeles fonctions de recherche d'une fiche et de modification; - "Print" ; édition* sur imprimante (cette fonetion sert tras peu lorsque l'on a le Report, beaucoup plus complet); - "Remove" supprime les fiches. Le menu principal du PFS Report comprend quant A lui : - "Print a d'un rapport; - "Pre-define a Report", option permettant de définir a l'avance et de stocker sur disquette la forme et. le contenu du rapport; - "Set New Headings", pour le changement des libellés sur le rapport. Report", qui commande 1'édition Définition du fichier Le PFS n'utilise pas le concept d'enregis- trements et de champs, mais celui de pages- écrans. Il n'est pas nécessaire de spécifier la longueur et le type de chaque élément. Il suffit de laisser la place adéquate sur l'écran. la définition s'effectue trés facilement en positionnant sur l'écran les différents libellés. Om peut ainei choisir soi-méme la présentation de la fiche telle qu'elle apparaitra a l'écran lorsqu'on voudra la consulter, Le nombre de caractéres ou de lignes laissés entre un libellé et le libellé suivant définit la longueur maximum du renseignement qui pourra y 6tre entré (la taille maximale d'un élément est donc légérement inférieure au nombre de caractéres disponibles sur l'écran soit environ 6800 caractéres). Le premicr élément défini posséde une si- gnification particuliére puisqu'il sera la clé d'tentrée privilégiée dans le fichier. Le temps de recherche de la fiche définie par cette clé est de 2 & 3 secondes. Par contre, toute recherche sur un quelconque autre élément oblige la lecture compléte du fichier, Le temps dépend alors de la taille du fichier. Si vos informations ne tiennent pas sur unc page-écran, on peut alors y ajouter des pages additionnelles (jusqu'a 31). La fiche est définie comme étant un ensemble de pages-écrans. Comme d'autre part, il est posible de définir jusqu'a 50 éléments par page-écran, la taille d'une fiche peut &tre tres grande. Seule limitation : le fichier global doit tenir sur une disquette unique, ce qui, dans le cas d'une fiche géante de 32 pages avec 50 éléments par page, ne doit pas représenter beaucoup de fiches ! A l'inverse, si la fiche ne comprend qu'un seul élément, le fichier est quand méme limité a 1000 14 a Pom’s n° 5 fiches. Utilisation du fichier L'option 2 du menu principal permet de remplir les fiches. La présentation de la fiche vierge suit scrupuleusement celle adoptée lors de la définition du fichier, Les libellés sont écrits en accroit la lisibilité. inverse, ce qui Fn bas de l'écran sont regroupées deux lignes d'information indiquant le nom du fichier sur lequel on travaille, le numéro de la fiche en mémoire, le numéro de la page-écran affichée et le pourcentage de remplissage de la disquette-fichier (une nouveauté intéressante de la nouvelle révision). élément peut étre entré séparément, les fléches permettant d'aller rapidement d'un élément 4 l'autre. Puisqu'il n'y a aucune déclaration des types (alpha, numérique...) des éléments, il n'y a pas de contréle et il est possible de rentrer n'importe quelle donnée. le code postal pourra par exemple €tre rempli avec "ABCDEFGH" | Chaque Lrentrée définitive des données a lieu lors de la validation d'une fiche par la touche Control-C, La fiche est alors stockée sur i Tl n'y a malheureusement pas de buffer et 4 correspond un avant de valider chaque entrée d'une fiche accés disque. Il est possible, la fiche, soit d'effectuer des corrections, soit d’annuler purement et simplement l'entrée grace & la touche ESC. Cette touche ESC est trés pratique car elle a la méme fonction dans tous les cas : annulation des données ou de ia commande dé ja frappées et retour au menu. Ltoption 4 du menu permet la recherche et la modification d'une fiche. Les fonctions de recherche disponibles sont évoluées, avec notamment la possiblité de comparer le début ou la fin d'un élément, de tester 1'occurence d'une chaine de caractéres (avec emploi de "wild caracters" ou caractéres nuls), la position d'un caractére... les tests numériques (inférieur, supérieur, différent, égal) sont également possibles sur les éléments contenant des nombres. Bref, des possibilités qui satisfont 4 95% des cas. les critéres de recherche sont en- programme affiche la premiére fiche est alors possible de la modi- changeant quelques données, puis de continuer la recherche. Cette facilité d'utilisation a un revers énorme : il n'y a pas de différence entre consultation de fiche et modification, c'est-a-dire que lorsque la fiche Tl n'existe aucun mode Lorsque trés, le trouvée. Il fier en est A l'écran, elle peut &tre modifiée. une qui permette consultation seule, sans risque de la modifier (il suffit d'appuyer, sans s'en rendre compte, sur une touche quelconque pour modifier la fiche !!). Alors attention si d'autres personnes que vous-méme ont accés a votre fichier ! Edition de rapports Lioption 5 du PFS permet 1'édition des fi- ches sur imprimante. Cette édition peut se faire sur une partie du fichier grace 4 la spécification des fiches qui doivent @tre prises en compte, spécifications effectuées 4 l'aide des fonctions de recherche définies plus haut. Ensuite sont définis les éléments a éditer, Le PFS a des possibilités de définition et de spécification de rapports trés réduites; le PFS Report est heureusement 1a pour le seconder. Ltoption 3 du Report permet de remplacer sur les rapports les libellés définis dans la fiche par des libellés plus explicites. Ltoption 2 concerne la prédéfinition des rapports. Ces définitions sont stockées sur la disquette et on peut mémoriser 8 types de rapports simultanément. Elles indiquent les éléments qui doivent @tre édités, l'ordre dans lequel ils seront imprimés et la mise en page du rapport (sauts de pages, sauts de lignes. ° le tri a lieu sur les deux éléments les plus A gauche sur le rapport. Il peut @tre spécifié en alphanumérique (le tri est réalisé selon l'ordre alphabétique) ou numérique (Qe tri est fait par ordre décroissant). Il n'est notamment pas possible d'effectuer un tri numérique croissant ou un tri dans l'ordre inverse de l'alphabet. Le PFS Report autorise 1'introduction de lignes supplémentaires consistant en des ealeuls de totaux, de nombres d'éléments dans une colonne ou de moyennes. Ces calculs peuvent Gtre effectués sur le rapport tout entier, ou sur chaque page du rapport sous forme de sous-totaux., Le Report autorise également la définition de colonnes dérivées (3 au maximum) dans lesquelles pourront étre reportés des calculs numériques effectués 4 partir des autres colonnes. Ces colonnes dérivées ne doivent pas @tre confondues avec des champs calculés, car elles n'existent que sur le rapport et il n'est pas possible de les incorporer dans la fiche. Divers La nouvelle révision ajoute au PFS un cer- tain nombre de fonctions supplémentaires dont deux sont les bienvenues : la redéfinition du fichier et la possibilité de scinder ou fusionner les fichiers. La redéfinition du fichier permet d'adapter le fichier aux besoins au fur et A mesure du temps. Certains éléments définis sont peut-étre inutiles, d'autres font cruellement défaut. Lors d'une redéfinition, les données correspondant aux Pom’s n° 5 nouvel écran présents dans libellés du ltancicn, seront reprises dans le nouveau fichier. Quant 4 la séparation d'un fichier en plu- sieurs morceaux ou la fusion de plusieurs fichiers, elle permet. une meilleure adaptation du fichier aux besoins réels. Documentation Le PFS et le PFS Report disposent chacun de leur manuel (90 et 45 pages respective- ment). crits en anglais, trés clairs, ils comprennent de nombreux exemples et surtout beaucoup de représentations de l'écran, Mais le plus agréable, c'est la version francaise du manuel de l'opérateur jointe avec le PFS. Cette brochure de 45 pages, éditée par Sonotec (1'importateur de PFS), a été visiblement tirée en traitement de texte sur Apple et une Centronics. Le résultat est bon et réjouira tous ceux a qui l'anglais donne des maux de téte. Conclusion La qualité primordiale du PFS, c'est avant tout sa facilité d'utilisation (surtout pour la partie définition du fichier) et sa rapidité d'apprentissage. Dans le cas d'une utilisation personnelle sans gros besoins de rapports, il n'est peut-8tre pas nécessaire d'acheter le PFS Report; le prix est dans ce cas trés compétitif par rapport a celui des autres programmes. S'il est indiqué pour des utilisateurs in- dividuels, il est par contre peu recommandé pour des applications professionnelles en raison principalement de l'absence de contréle lors de la saisie et surtout de l'impossibilité de consultation sans risque de modification. VISIFILE : POUR VISI-PHILES UNIQUEMENT ... Nous voici en pleine Visi-manie. Aprés Vi- sicale, Visidex, Visitrend, Visiplot, Visi- machin, voici venir Visifile distribué comme il se doit par Visicorp, nouvelle dénomina- tion de Personal Software ! le classeur. A la fin, dans en plastique, deux disquettes. et un backup ? Excellente idée ! Ouvrons done une pochette Un original Mais non, .vous n'y étes pas : il n'y a pas de backup et le programme est réparti sur deux disquettes. Comme trop souvent, vous devrez écrire aux pour pouvoir backup. USA et trouver quelques dollars bénéficier de la disquette de une qui ect Dans carte de va nous essai ! cette méme pochette est incorporée référence aA cing volets, Voila @tre bien utile tout au long de 15 r Configuration Il est possible d'exécuter Visifile sur n'importe quel type d'Apple II (Applesoft ou non), pourvi qu'il soit équipé du DOS 3.3. Au premier chargement du programme, il est nécessaire d'inserire le nombre de drives connectés. Le numéro du slot est testé directement par le programme (quel raffinement !) qui constitue le classique fichier "configuration" évitant de rentrer les paramétres A chaque exécution du programme. Les overlays étant nombreux, il parait souhaitable de disposer de deux drives 2 un pour le programme et un pour les fichiers. Menu_principal affichage de la version et du numéro de série, le menu principal est affiché 4 l'éeran. Il n'occupe que quatre lignes en haut de 1'écran, afin de laisser le reste de 1'écran libre pour les fiches ou pour l'affichage des commandes disponibles qui se trouvent ainsi pratiquement toujours sous les yeux de l'utilisateur. Les deux fléches permettent de sélectionner la commande désiréee A l'aide d'un curseur en vidéo inverse (il me semble avoir déja wu cela quelque part...) Aprés O& dispose de neuf options "Select" : choix du fichier "Define" : définition du fichier "Maintain" : entrée, consultation, modifi- cation et suppression des enregistrement. "Sort" : création des fichiers d'index, a- fin d'ordonner le fichier principal "Copy" : duplication d'une partie ou de la totalité de la disquette fichier "Print" : édition sur imprimante "Back up" : réalisation de disquettes de sauvegarde pour les fichiers (pratiquement identique A l'option Copy). "Special" : fonctions annexes telles que l'initialisation de disquettes vierges, le transfert de fichiers DIF, le changement des paramétres disques et imprimante... - "Done" : fin de la séance de travail. Définition du fichier Flle fonction choisie est réalisée par 1'intermédiaire de la "Define". Lorsque cette fonction est au moyen du curseur et, apres quelques tours de disquette sur chaque drive, un sous-menu est affiché. Ia fonction "Create" permet de créer et de définir le fichier. Pour chaque enregistrement. doivent Stre définies trois caractéristiques : - le nom, limité 4 10 caractéres - la longueur, limitée 4 128 caractéres pour un champ alphanumérique et a 38 pour un champ numérique - le type : Alphanumérique, Numérique ou Permanent (7!7) 16 Pom’s n° 5S Comme pour le CCA DMS, la taille maximum d'un enregistrement est de 232 caractéres (bien faible!) ou de 24 champs. Le nombre de caracttres disponibles est affiché en permanence en haut de 1'écran et est diminué au fur et A mesure de la eréation des champs. the caractéristique intéressante est A no- ter : il est possible d'opter lors de la definition du fichier pour un format de visualisation automatique ou personnalisé. Dans ltoption automatique (par défaut), chaque champ est placé aussi prés que possible de son prédecesseur. Si la place restant sur la ligne n'est pas assez importante, il est placé sur la ligne suivante. Dans le cas du format personnalisé, l'utilisateur doit spécifier la place qu'il souhaite attribuer sur 1'écran 4 chacun des champs. Utilisation du fichier Une fois l'option "Maintain" choisie, l'u- tilisateur peut alors assister 4 un Son et Lumiére spécial pour denx drives. L'écran dispense des messages rassurants, soit dans l'ordre : "Reading...","Writing..."(tiens, Liens, quelle idée ?!),"Loading Maintenance functions" (1a, j'ai de la chance car toutes les fonctions se trouvent sur la méme disquette programme),"Reading files, please wait"(je ne fais que cela!), ,"Formatting screen"... Fh tout 28 secondes bien longues ! Une fiche l'écran. vierge est alors présentée A On peut a présent ajouter une fiche, la modifier, la supprimer ou chercher une autre fiche, tout ceci heureusement sans trop de temps d'attente. L'entrée est relativement facile grace aux deux fléches qui permettent de passer d'un champ 4 un autre sur l'écran. Sont également utilisables de nombreuses fonctions d'édition (sous forme de caracté- res de contrdle) qui permettent par exemple d'insérer ou de supprimer un caractere. Les fiches ne sont pas enregistrées sur la disquette au fur et A mesure de leur entrée, mis a une fréquence dépendant de leur longueur. A noter que pour la modification ou la recherche d'un fiche, il est nécessaire de fournir son numéro, ce qui n'est pas trés commode. Possibilités de tri le tri création d'un fichier Visifile provoque la d'un fichier d'index qui pourra ensuite servir a 1'édition de rapports ou a la consultation de fiches. Il est possible de trier jusqu'a 10 champs maximum et de stocker un maximum de 24 fichiers d'index pour chaque fichier Visifile. Divers Etant édité évidemment par Visicorp, Visifile dispose d'une structure de fichier au ~\ ( cormat DIF qui lui permet d'utiliser les données d'autres programmes et notamment de récupérer les fichiers de CUA DMS. Documentation Kerite en anglais, la documentation de Vi- sifile est l'un de ses points forts. Grace 4 un exemple de fichier fourni sur la disquette programme, lutilisateur novice peut rapidement apprendre le fonctionnement de Visifile en suivant les différents chapitres de la documentation, dans laquelle on trouve de trés nombreuses représentations de 1'écran. Conclusion La derniére pétale de la marguerite que j'effeuillais est tombée sur "pas du tout". Crest vrai, j'ai été quelque peu dégu par Visifile. Certes, on ne peut pas refaire tous les jours un programme de la trempe de Visicale. Mais j'ai retrouvé dans Visifile beaucoup trop de limitations du CCA DMS telles que la longueur des champs et de l'enregistrement ou la faiblesse de l'évaluation des formules pour les champs calculés évoquée pour CCA. Et ce que l'on pardonne A un programme vieux de trois ans ne peut plus 1'étre pour un programme récent. Quant A la lenteur des opérations, elle a mis mes nerfs A bout. Attendez donc la version suivante et pensez & PFS ou DB Master pour vos achats ! DB MASTER : LE MAITRE ... Un nom qui "sonne" bien, et annonce d'en- urée la couleur : Master Stoneware, 1a so- ciété qui le distribue, ne fait pas dans la nuance. Mais il est vrai que l'on peut se permettre d'étre ambitieux avec un tel produit ! Comment vous le présenter ? A vrai dire, 1'Ordinateur Individuel, revue bien connue, mta coupé ltherbe sous les pieds puisqu'ils ont publié un essai du DB Master dans le numéro du mois de juillet-aofit 1982. Je ne serai pas rancunier et je vous recommande de lire leur article avant le mien afin de faire connaissance avec le DB. Il n'est donc pas question de refaire ici une analyse compléte, mais plutot de souligner quelques points et d'examiner les deux disquettes utilitaires prévues pour le DB. Atouts et points faibles du DB Master Lime des premi@res choses qui frappe, lorsqu'on débute sur le DB, c'est l'utili- sation de mots de passe. Non pas un. mais trois qui permettent une hiérarchie entre les différents utilisateurs et assurent une - "L'Auto-date', qui contient la date a la- certaine sécurité et confidentialité des quelle l'enregistrement a été accédé pour la données. Le premier mot de passe n'autorise derniére fois. Cette date est remise A jour a que la lecture des champs non protégés A la chaque accés de l'enregistrement, On peut conception, le second permet la lecture et la_ toutefois déplorer, comme pour le type —»> ‘. 17 Pom’s n° 5 — aN modification de tous les champs existant dans un enregistrement. Le troisiéme est le sésame : il permet de changer tous les mots de passe et done de séleectionner les utilisateurs en leur fournissant le nouveau mot de passe ou non. Rassurez-vous, si vous avez la mémoire défaillante, vous pouvez toujours concevoir votre fichier sans aucun mot de passe ! Autre surprise, la mention "illimitée" en face de l'information taille maximum du fichier. Fn effet, DB peut stocker les données d'un fichier sur autant de disquettes qu'il le faut. Cette possibilité de chatnage des disquettes, couplée a la compression importante des données avant leur stockage, autorise la création et l'exploitation de fichiers importants, dont la taille ne sera plus limitée que par l'ennui de la personne chargée de changer les innombrables disquettes dans le drive (bon courage : la documentation signale que l'on peut aller jusqu'a 256 disquettes !). enregistrement est défini par une qui doit @tre unique (35 maximum) et peut posséder plusieurs clés secondaires. Grace 4 ces clés secondaires, on peut retrouver rapidement une fiche A partir de renseigenements divers. In effet, le temps maximum de recherche d'un enregistrement par sa clé primaire est de trois secondes, celui de la recherche & partir d'une clé secondaire est de 547 secondes, Mais cette performance se paie cher le moindre fichier nécessite deux disqueltes ! La premiére contient le fichier de chatnage des clés secondaires par rapport aux clés primaires ainsi que les rapports pré-définis. La seconde contient les données proprement. dites. Comme, de plus, la disquette programme doit rester en place en raison des overlays, le minimum confortable pour l'utilisation de DB est de 3 drives (et done deux controleurs). Chaque elé primaire caractéres Le DB autorise 10 types de champs diffé- rents. La définition d'un fichier, qui est déja compliquée avec la spécification des clés primaires et secondaires, s'en trouve encore alourdie. Mais ce n'est qu'une mauvaise étape A passer car, une fois le fichier défini, l'utilisation est beaucoup plus facile et plus sfre. Il n'est plus possible de se tromper dans les entrées, car tous les contréles sont faits : type des données, présence facultative ou obligatoire, longueur fixe ou variable... Il est méme possible d'utiliser des valeurs par défaut afin de faciliter la tache. Parmi les types de champs les plus intéressants, on dispose de: CCA DMS PFS PFS REPORT t ! Nom du programme...! CCA Data Manage- ! Personal Filing ! Personal Filing ! ! ment System t System ! System Report 1 =—_ iii rei ' ! 1 : 1 ! Auteur (5).seeeeseee! Helmar Ben Herman! John Page : John Page ! 1 ‘ ! ' D '& Colin G, Jameson! & D.D- Roberts 3 Hy ! Software Publish-! Software Publish— ! ! Distribution.......! Personal Software! ing Corporation ! ing Corporation ! Version testée.....! CCA DMS V5.2 ! PFS Rev F (03/82)! Rev C (08/81) ! RévEs S80F ! 880 F s oor © ! Prix indicatif.....! ‘ ' Rév F : ! ' — ——. ! Documentation......! Anglaise, 90 p. ! Anglaise, 90 p. ! Anglaise, 45 p. 5 7 ! Frangaise, 45 p. ! ! carte langage : ! Disquette. ! Non protégée u Protégée y Protégée ' Backup. . 2 = : Sans Backup : Sans Backup ! Achat Backup.. ‘ aa § USA : 15 $ . USA : 15 $ ! ‘ ! Apple II + ou : ‘ ! Configuration Apple! Apple II avec ! Apple II ou ! Apple II ou : ! ROM Applesoft ou ! Apple II+ 5 Apple II+ ! : ' | Nombre de drives! ' : i ! Fichier maximum....! 1 disquette : 1 disquette y iz ‘ ! Taille maximum des ! 232 caractéres ! 32 pages-écrans ! - ! enregistrements...! ou 24 champs! 2 : ! Taille maximum : ! 1 page-écran soit! = d’un champ........ ! 232 caractéres ! 800 caractéres ! Type des champs....! Alpha, Numérique ! pas de définition! Alpha et et Permanent ! de types ! Numéri ques Champs calculés....! Oui £ Non ! 3 : uniquement 4 : ! sur le rapport Compatibilité DIF..! Oui : Non : = Possibilité de § : Redéfinition.. : Non : Oui : bal Fusion fichiers Non Pom’s n° 5 VISIFILE UTILITY PAK 1&2 ! Nom du programme... ! ! ! Visifile Data Base Master : ! Auteur(s) seeeeeeeee! ' : Richard Ewing & ! Achat Backup.... USA : 20 $ USA : Gratuit ! Configuration Apple! Apple II + ou Apple II + ou Apple II avec !John Unger Zussman! Barney Stone 4 Barney Stone f : Hi Distribution.......! Visicorp ' Stoneware 5 Stoneware Version testée.....! Visifile V1.0 ! Version 3 : es ! Prix indicatif.....! 2395 F J 2300 F ! UP #1: 995 F ! : ! UP #2: 1200 F ! Documentation......! Anglaise, 164 p. ! Anglaise, 130 p. ! UP #1: 48 p. 5 t ! UP #2: 18 p. ! Disquette.. Protégée (2 Dk) ! Protégée t Protégée Backup. . Sans Backup ! Sans Backup ' Backup Fourni Apple II + ou Apple II avec ' : ' LU 4 Apple II ROM Applesoft ou ! ROM Applesoft ou : : carte langage carte langage ' ! Nombre de drives ! , R ! souhaitables.. 2 3 3 L 3 1 SUPT Sian = ! Fichier maximum....! 1 disquette : illimité ‘ = ‘ = ! Taille maximum des ! 232 caractéres ! 1020 caractéres ! ! enregistrements...! ou 24 champs ! ou 100 champs ! = ' ! Taille maximum ! Alpha : 128 car. ! Alpha: 30 car. ! ! d?un champ........!' Num oo: 38 car. ! Num 2 Yer. 1 = ' : ! Alpha, Numérique ! Alphanumérique ! ! Type des champs....' et Permanent ! Numérique (3) $ : ‘ ! Date (2) : = . : ! Dollar/cents : ! ! ' Y/N - Numéro! : : ! Sécurité Sociale ! | ------------------_--- -------- + ---- ! Champs calculés....! Oui ! 24 : uniquement ! = : : ! sur le rapport ! ' pec ! Compatibilite DIF..! Oui ! Oui ! - 1 ! Possibilité de ! : ! ! Redéfinition. : Oui ' Qui avec UP #1! - ! Fusion Fichiers.. ! Non ! Qui avec UP #1 =! = Sasmesse=se: meeenesassssssa== = saa: Pom's n° 5 "Date", qu'il n'y ait pas le choix entre la -édition de notation européenne (jour/mois/an) et la notation américaine (mois/jour/an). Le type Y/N, ne pouvant prendre que deux valeurs : Yes ou No. "Dollar/Cents" tout-a-fait adapté exprimées en dollars. Seul pro- en francs et centimes bien de chez nous, la limitation A 9 digits correspond 4 une valeur sept fois plus faible qu'en petits billets verts ! - Le type aux données bléme, Les possibilités de tri paraissent sans failles puisqu'il est méme possible d'ef- fectuer des ET et des OU logiques entre les différents critéres choisis. Mais 14 encore, le nombre de possibilités et la densité de l'affichage A 1'écran rendent la maitrise du systéme longue a acquérir, Et 1'absence d'une carte récapitulative de toutes les commandes se fait largement sentir. Autre invention bien pratique : les "short forms" destinées A faciliter la consulta- tion du fichier ou l'entrée des données. Le principe est de ne présenter 4 l'écran que les champs utiles A l'utilisateur, sous une forme qu'il aura lui-méme définie, et d'éli- miner toutes les autres qui sont inutiles. Cette possibilité accroit notablement la lisibilité du fichier et permet surtout une utilisation plus facile pour des personnes autres que le concepteur. a d'tautre part réalisé doux dis- d'utilitaires qui complétent les La premiére date de 1981, Stoneware quettes fonctions du DB. tandis que la seconde vient juste de sortir. Dans les deux cas, ces disquettes sont protégées et donc non copiables, mais une disquette de sauvegarde (backup) est présente avec l'original (c'est trop rare pour ne pas le signaler !). La disquette Utility PAK 1 Elle ajoute bilités au DB : -redéfinition et restructuration du fichier avec la possibilité d'ajouter ou d'enlever des champs, de modifier les champs calculés et surtout de redéfinir la clé primaire. Toutes ces fonctions sont d'autant plus importantes sur le DB que les contrdles sont trés stricts en ce qui concerne les types des champs et que la moindre erreur de définition du fichier peut avoir a la longue des conséquences néfiastes. duplication des fichiers de données afin de constituer des sauvegardes. -fusion totale ou sélective de 2 fichiers. -possibilité de "réparer" une disquette de données endommagée (inutile si on a fait consciencicusement les sauvegardes néces- saires...). un nombre important de possi- Pom's = — statistiques sur les fichiers (4éj& incorporé dans la disquette programme du DB Master, -translation fichiers afin de les rendre compatibles avec le format DIP (utilisé par Visieale). A cet effet, la documentation inclut la spécification technique compléte du format DIF. Autre possibilité de transla- tion possible : fichier DB vers fichier TEXT et inversement. Une idée intéressante si on des veut utiliser les données du DB pour d'autres programmes. La disquette Utility PAK 2 Au contraire de la disquette 1 qui n'est valable que pour la version "standard" du DB, la disquette 2 peut également étre utilisée avec les versions spéciales pour disques 8 pouces et disques durs connectables a l'Apple (notamment pour le Corvus 5 et 10 Mo). Les fonctions offertes sont les suivantes : "Global Editor" qui permet de supprimer ou de modifier le contenu de certains champs sur le fichier entier. Il est par exemple possible de remplacer le contenu d'un champ par une constante ou le résultat d'un calcul, d'incorporer dans un champ numérique la différence entre deux dates présentes dans l'enregistrement... "The Label Printer” l'édition d'étiquettes. améliore et facilite Il autorise la con- version automatique des données issues du fichier DB cn minusoules, sauf pour la premiére lettre du mot qui reste en majuscule. "Transaction File Merge" apporte la pos- sibilité de transférer le contenu d'un ou plusieurs champs numériques entre 2 fichiers. "Reblock for Extra Space" est particulid- rement utile lorsque la taille du fichier dépasse une disquette. Il est alors inté- ressant de regrouper toutes les informations relatives & wun méme enregistrement sur une disquette unique afin d'éviter d'avoir a changer les disquettes trop souvent. "Change Read Protected Fields" permet de changer les champs protégés en champs normaux et inversement. Conclusion Le DB Master est a mes yeux le meilleur programme disponible sur Apple II (sans la carte 280) pour une application profession- nelle. Doté de ses deux disquettes d'utili- taires, il représente un fantastique outil de travail. Mais attention, la puissance se paie par une complexité plus grande et il faudra un certains temps d'adaptation pour assimiler son maniement. Le surnom américain de DB Master est, ne l'oublions pas, "DB Monster"! Le seul reproche qui peut étre fait quant a ses caractéristiques techniques concerne la longueur maximale d'un champ alphanuméri- que,de 30 caractéres, qui peut se révéler dans certains cas insuffisante. ne 5 —/ = La decouver® de V ADI com ‘ scheaer DIFFUSION PSI. DIFFUSION 3 Rey Pra Cogn Mar elepn a jone (6) 007.59.31 P. eae Deneuux de ta Fe ‘arme Rose pour VO>* 8 _ o=ps ma APERIELS — cw nes aioe” 65,00 eae Apnte Fonenions piesott Sin" zo poses Le pratiae sini Marni e aussi porn Se ouvragt adress ‘yes, unsatess de S prendro la (Fs) en wa ie solic PO procties CUNe oir peornmnent ‘evpliaue arcne proche progres: symbouaet Sve. West wie ge romreue exes =e Sxempies ote? «cic? aver le Sizentten erie vert? ysont seers 7500.00 FB Serie noi 176 La decouverte de yanplesolt Tome? Ternresen LOY Gv Recuell eexercice Recs 2 as See se sur Apele es, insirychone rnc cole or N uiquer ma at ne mar “peseriof 20 cole menue Foonwen fer proaressNe dee ‘at NP hevoniante>, © inpnieciook: OF embreux exe™ ee — \ \ \ \ \ read POU’ jn oawid asic Fasent PAS A wan, Ok entation, 2 9 a mat Tanalyse ot 2) we ogramimatyn sine! ee e_ probleme ees eS sera u dren evidence s ront (eg ‘enonue puss ance ater ssn 08 permaaue exer yeunive ange chante. ule OY So ve. lanaireuxe” vorsces oo. wutions foes sont Pt Oe tation re compen pusees sppliques 2129 neon des ste erie verte opralyse 32% gempcale et Tele 320 pages ~ 95,00 FF 90,00 FE poration yz dessins, secures La pratigue ge V'Apnle cor cat o#POSe welcome pouwave” serages * 8° e/s00.00 FF Get outage BS esente aM ves mates Ba aie Anplesott 8 0201 rir d une 0% ee Sfiphon ov MON rah et ou 10 | a st tae onpigysiome, Ae ve \ “en mcues "A tao oe \ PRATIGUE mmpestion ot renimaion, O° casing et FOP fe cuOTeS ¥ sont expniques avade exo ae \ pies iste jiaexeraxces . Solus APPLE II\ \O serie Bleue \ WA see ges F1300.00 FB IW ta pratigue éel nante " Neue, 1e Breaud-POU gecond vO" (apratave au pal (garavor _pRENO’ ——— see pe ae am pa vite — ae \ pate et signature 3 \ —— ee Le langage d'asscmblage permet d'écrire des programmes trés rapides mais aussi - le moniteur est écrit dans ce langage - de créer les fonctions d'un ordinateur, aussi la possession d'un assembleur (LISA, BIG MAC, SC) peut nous inciter A jouer les Steve Wozniak et doter notre Apple de fonctions nouvelles. Dans un programme Applesoft, certaines procédures (formatage de l'écran, menu, boucle d'attente) reviennent constam- ment, et notre imagination créatrice se tournera plutét vers ces fonctions... L'instruction INPUT de l'Applesoft, refuse obstinément "," ect ":" que ce soit & partir du clavier ou du disque. Nous détournerons avant tout cet inconvénient en utilisant la procédure GETLIN(FD6A) du moniteur, tandis que PTRGET(DFE3) cherchera le nom de la variable spécifiée dans la table et, si elle ne la trouve pas, l'y ajoutera. Pour transférer le contenu du buffer d'en- trée ($200) vers la mémoire, 11 faut trouver un emplacement libre parmi les autres vari- ables, avant d'effectuer le transfert; mais si l'adresse du nom de la variable dans la table se trouve en FORPNT(85,86) déja obtenu grace a PTRGET(DFE3) précédemment employé, et si l'on charge les registres A et Y avec l'adresse du buffer d'entrée et X avec le caractére RETURN($8D) qui délimite la fin de la chaine, alors la procédure MAK (E3E9) de l'Applesoft fera tout cela pour nous! SAVD (DAQA) placera l'adresse de la chaine en mémoire et sa longueur dans la table des variables. Ainsi est née L'instmiction & INPUT, et elle ne refuse pas les virgules! Cependant, l'emploi de fichiers A acecés direct par exemple demande que les données aient une longueur limitée et, pour éviter les problémes causés par des données amputées de la partie excédentaire, une boucle affichant une ligne de points de la longueur désirée, grace a la procédure d'affichage COUT ($FNDED) » mous dotera d'une authentique instruction de formatage; mais atparavant une autre boucle contenant cette fois BS (CALL-1008) (FC10), qui recule le curseur, placera celui-ci en début de ligne. Notre instruction prendra maintenant la forme: & INPUT A ,L1 of 1 représente (A ti- tre indicatif) la longueur maximale des données 4 entrer. 22 Pom’s n° 5 La programmation facilitée Denis Sureau On peut aussi éviter l'emploi des instruc- tions VTAB et HTAB en définissant deux para- metres supplémentaires et en plagant la po- sition verticale (-1) a l'tadresse $25 (37), en appelant la procédure VTAB du moniteur, et en spécifiant la position horizontale 4 ltadresse $24 (en décimal 36 ef toujours -1, ta soustraction étant faite par le programme assembleur) . Sous sa forme la plus compléte 1'instruc- tion devient: &INPUT A ,L1, Vv, IIh, "LABEL" ou 1 est la longueur de 1'information, v repré- sente la ligne d'écran (comprise entre 1 et 24), h la colonne (de 1 A 40) et LABEL, toujours en derniére position, un texte & afficher avant interrogation du clavier. L'ordre des trois paramétres numériques est libre, mais il est nécessaire que la variable, une variable de chaine de caractéres, simple on dimensionnée, soit analy sée en premier lieu. Voila une instruction de formatage d'écran que l'on pourrait appeler par exemple FORMAT, qui facilite l'entrée de données; nous verrons plus loin qutavee quelques instructions Applesoft on obtient aisément 1'équivalent en sortie, nécessitant normalement un PRINT USING. Attaquons-nous pour 1l'instant a la deuxié- me fonction suggérée en introduction, la sé- lection d'une option dans un menu. Il existe un systéme de sélection qui évite de numé- roter les différentes options et donne & un menu un aspect parfaitement professionnel. Un curseur se déplace d'une option 4 l'autre; il peut s'agir d'une fléche qui se positionnera devant chaque item ou d'une barre inversée qui présentera en noir sur blanc l'option sur Jaquelle on la positionne. A cet instant, on appuie sur RETURN et l'option spécifiée de la sorte est sélectionnée, grace en 1'occurence & la procédure en assembleur que nous allons décrire. Pour réaliser la barre, nous ferons appel 4 VTAB(FC22) qui calcule l'adresse d'une ligne dtécran A partir d'im numéro placé en CV($25) et place une adresse en $28 et $29. La marge gauche et la longueur de la barre étant ifiées, on chargera chaque position d'écran en A, l'instruction AND %$3F convertissant le code du caractére en son équivalent inversé qui sera stocké sur la méme position. & Lorsqu'on appuie sur la fléche droite du clavier, le curseur doit se positionner sur l'item suivant et, lorsqu'on appuie sur la fléche gauche, remonter au précédent. Comme le nombre d'interlignes peut varier d'un menu a l'autre, on spécifiera par POKE le nombre de sauts de lignes, normalement deux A l'origine, la table des PATCHES précisant plus loin A quelle adresse. Elle indique également comment remplacer la fléche, symbolisée par le caractére "S", par un autre caractére quelconque. Notre objectif au maximim ume étant de simplifier le menu instruction particulidrement riche viendra se placer entre la liste des options et le branchement vers les sous- programmes correspondants, et rien d'autre! Son format est le suivant: & LET A, VTAB , MARGE, D' ITEMS Ici, l'tordre des paramétres est fixe, el ce sont respectivement le nom de la variable qui contiendra le numéro de l'option sélec- LONGUEUR , NOMBRE tionnée, le numéro de ligne de la premiére option, la marge, la longueur de la barre, qui sera remplacée par une fléche si 1'on spécifie 0 et le nombre d'options dans le menu. Lors de la sélection, si l'on tape ESCAPE, l'instruction HOME s'exécutera et le pro- gramme s'arrétera. Une sélection numérique basée sur l'ordre relatif des items sera également possible, afin de prévoir tous les cas. D'ailleurs, l'usage de cette routine ne se limite pas aux menus, et je ne doute pas que vous en trouviez d'autres utilisations! S'ils sont placés dans l'ordre, avec leurs numéros de départ espacés par un incrément égal, plusieurs sous-prograwmes seront appe- 1és en Applesoft par une instruction du genre ON xX GOTO 1000, 2000, 3000, etc..., en Integer par 1l'équivalent GOTO X * 1000, plus simple, comme il est également plus facile de se souvenir d'un nom de sous-programme que d'un numéro de ligne. Les instructions & GOTO ou & GOSUB que l'on rajoute & notre programme nous donnent cette possibilité de 1' Integer. la derniére fonction que nous envisagions de programmer était la boucle d'attente et nous utiliserons pour cela la procédure WAIT ($FCA8) du moniteur. Ce que nous voulons, clest une instruction simple et & WAIT devrait faire l'affaire! Pour les impatients, on prévoira la possibilité de poursuivre le traitement dés que qu'une touche est enfoneée. Placée A 1l'intéricur d'une double boucle, avec le test du clavier, la procédure $FCA8 engendre une attente de 15 secondes que l'on peut modifier en agissant par POKE sur le nombre de tours d'une des boucles, comme le montre le tableau des PATCHES ci-dessous. Pom's n° 5 TABLEAU DES PATCHES POKE 37656,X Saut de X lignes. X=1 si l'on veut un menu sans interligne Fléche : X est le code ASCII du caractére a afficher + 128 Durée d'attente : X=128 aug- mente la durée, X=128 diminue POKE 37657,X POKE 37658, X (pour 32K, soustraire 16384 4 ces valeurs) programme assembdleur ne contient hé- de fonction PRINT USING, bien utile pour formater l'écran en sortie, mais les opérations de base de cette instruction peuvent s'obtenir simplement en Applesoft: HTAB 30 - LEN(STR (INT(A))); permet d'aligner une colonne de nombres sur la virgule ou, si ce sont des entiers, de les aligner sur le chiffre des unités tandis que l'arrondi au plus proche s'obtient en définissant une fonction ARR: Notre las pas DEF FN ARR (A)= INT(A*100+.5)/100 qui arrondit ici sur deux chiffres, et en affichant: PRINT ARR(A) Ltarrondi au chiffre inférieur s'obtient en supprimant +.5 dans la définition ci- dessus. Le programme en BASIC listé ci-dessous est un programme de démonstration appelant la version 48K du programme. Le code source et. la récapitulation en hexa de la version 48K du programme, ainsi que la récapitulation de la version 32K, sont fournis dans la suite de cet article. ILIST bi REM 7K KK KK KKK 9K IK 2K 2K KOK KKK XK ---- - x * FPROGRAMMATION « * FACILITEE x « m7 * x PAR D. SUREAU x * (C) 1982 * x x 2 REM OOOO KOK KKK KK OK 3° REM 4 PRINT CHR$ (4)"BRUN PROGR48K" S APPS = "AMPER WALTs+oe" 6 INPT = 10000 1 TEXT $ HOME 1 FOR T = 1 TO 402 PRINT "&"33 NEXT za 17) PRINT "&"3% HTAF 40% PRINT "& &"$t HTAB 40% PRINT "&&"3$ HTAE 40% PRINT "&"3 te FOR I = 1 TO 40% PRINT "&"33 NEXT 4 J ee ~ FF REM nr i ee 10060 PRINT "AVEC LABEL? "$! INVERSE $ LIST 10070 NORMAL 10070 & INPUT B$,"ESSAT te 20 FRINT ¢ VTAB 3% HTAB 11% PRINT 10080 FRINT "AVEC FORMAT! "$% INVERSE “DEMO MENU RAF IDE" ? LIST 10090! NORMAL 23 VTAB 6 10090 & INFUT C4,L20 25 JPRINT = “"$3 INVERSE 10100 FRINT "FORMAT, TABULATION,LA 3 PRINT " ESC « ~ RT i-9 BEL${"33 INVERSE ¢ LIST 101103 $$ NORMAL NORMAL 26 PRINT a 10410 & INPUT DZ$,L100,V24,H4,"D 27 PRINT % PRINT " VOTRE CHOIX? EMONSTRATION:" a 19120 FRINT "PASSAGE DE PARAMETRE 30 VIB = 113 VIAB VTE Sty 40 PRINT " ETEd 2" 10150 INVERSE ¢ LIST 10140,101503 45 PRINT NORMAL 50 PRINT " TEM 2” 10140 A = 10736 2430 = 4 SS) PRINT 10150 & INPUT E%,HA+VB,LC,"DEMO? 60 PRINT " ITEM 3" 3 65 PRINT 10151 PRINT 70 PRINT " LtEM 4" 10140 HOME 100 & LET A,VTB,5S,33,4 10161 HTAB 8% PRINT "Xx ACCES DIS 108 REM QUE AMELIORE xx" PRINT 109 REM DANS L’ORDRE.++ 10165 FS = "PROGR DEMO TEMP" 110 REM A=NUMERO CHOIST 10170 D$ = CHR (4)3 PRINT D$"MON 111. REM 1-VTAB DU LER TITRE C,I,0" 112 REM 2-MARCE GAUCHE 101471 FRINT D#"OPEN "FS 113° REM 3-LARGEUR DU CURSEUR 10172 FRINT DS"WRITE" FS INVERSE 10173 FRINT A#!? FRINT B¢! FRINT C 115 REM 4-NOMBRE DE TLIRES $3 PRINT DZ¢3 PRINT ES 114 REM L’ORDRE DES PARAMETRES 10174 FRINT D$"CLOSE" 117, REM EST FIXE, 40175 PRINT DS" OFEN"FS AGO REN ssecee eee us 10176 PRINT D¢"READ "FS SELEEGC TSI GN 10177" FOR T= 2 185 ssihecataaaiemnsileiaiaa ainda 10178 & INPUT AS(T)! NEXT IT 300 & GOSUE A x 1000 10179 FRINT D$"CLOSE" 550 PRINT 10220 & WAIT 560 PRINT APPS: & WAIT 10222 REM DANS L’INSTRUCTIUN 600 & GOTO INFT 10223 REM ‘FORMAT’ LA VARTABLE ES 900 REM T EX ESM tT ON 10224 REM EN PREMIERE FOSITION See eeee en ne eee ee 10225 REM LE LABEL EN DERNIERE 990 REM SOUS-PROGRAMMES A 10224 REM TANDIS QUE L.’ORDRE DES 991 REM EXECUTER... 10227) REM FARAMETRES NUMERIQUES 1000 GOSUE 5000! PRINT "ITEM i"! RETURN 10228 REM EST LIBRE 2000 GOSUE 5000} PRINT “ITEM 2"3 RETURN 10235 HOME 3000 GOSUE 5000: PRINT "ITEM 3": RETURN 19990 REM ~ ss 4000 GOSUB S000; PRINT "ITEM 4°32 RETURN RECAFITULATION DES S000 VTAE 20 NOUVELLES COMMANDES S@LG PRINT “eswEXECUTION DE L’"F$ 2 2 Settee RETURN 20000 TEXT $ HOME 9990) REM ~-----=-- 2 === +--+ 20010 PRINT" RECAPITUL FORMAT AT ee SSeiaiataatenanetaneeeatetneiania 20015 PRINT " -FORMAT DES INSTRU 10000 TEXT + HOME cTIONS~" 10010 FRINT TABC 11)"KX F OR M 20020 PRINT " AT xx" 10030 FRINT $ PRINT Z0040 PRINT "“INFUT AVEC FORMAT? "$ 10040 PRINT "INFUT SIMPLES "3% INVERSE PRINT $ LIST 100503 NORMAL. 20050 PRINT " & INPUT A$,L<LONGUE 10050 & INPUT AS URS, VEVTAB> »HZHTABS," CHRS (3 24 Y Pom’s n° 5 A a — 4)"TEXTE" CHRS (34) 20060 FRINT ¢ PRINT "MENUS"? FRINT 20070 FRINT " & LET A%,<VTAB>, <A RGE>,LARG.>,<NER>" 20080 PRINT t PRINT "AMPER GO"? PRINT 20090 PRINT " & GOTO EXPRESSION" 20100 FRINT " & GOSUB EXPRESSION" 20110 FRINT ¢ PRINT "ATTENTE!"3 PRINT 20120 PRINT " & WAIT" 1 OOK OK OK OK KK Z Km mtn ee x 3 x * ad * PROGRAMMATION * 5 * FACILITEE * 6 * —— * 7 * FAR DENIS SUREAU x 8 x x 9 «+ rea Steric anneal 10 2 OOOO OOK KKK 11 12 OKO OK OK OK OK OK OK 13 xXx *x 14 x FORMA T xx 15 *K «XK 16 9K KK KKK KK KK KK KK 17 18 FORPNT EQU $0085 19 CHRGET EQU $0061 20 TXTPTR EQU $0068 24. GETBYTC EQU $E46FS 22 FRMNUM EQU $DD67 23 FTRGET EQU $DFE3 a PRINT EQU $FDED 25 BS EQU $FC10 26 VTAB EQU $FC2Z2 27 CHKSTR EQU $DDéC 28 MAK EQU $E3E9 29 SAVD EQU $DA9A 30 SETNORM EQU $FE84 a4. 32 LONGUEUR EQ $0009 33 34 ORG $9300 35 93003 AY 4C 36 INIT LDA #$4C 9302: 8D FS 03 37 STA $3F5 93053 A? 16 38 LDA #<SELECT 9307: 8D F&é 03 39 STA $3F6 930A AI 93 40 LDA #>SELECT 930C} 8D F7 03 41 STA $3F7 930F! AD 00 42 LDA #<INIT 93113 85 73 43 STA $73 93133 AP 973 aS LDA #>INIT 9315: 85 74 45 STA $74 \ Pom's n° 5 rE 93173 60 46 RTS A? 9318: 02 48 INTERLN HEX 02 93193 BE 4? FLECHE asc ">" 931At 80 50 DUREE HEX 80 oul 931B3 C7? 84 SZ SELECT CMF #$84 *SELECTION 931D? FO 1D 53 BEQ INFUT xDE LA 931F? C9 AB 34 CMP #$AB XROUTINE 93Z13 FO 13 SS BEQ GO 9323: C9 BO 56 CMP #$E0 93253 FO 12 57 BEQ SUE 93273 C9 BS 58 CMP #$B5 9329: FO 08 oo BEQ WT 932E3 C9 AA 60 CMF #$AA 932Di DO 03 61 BNE RTSSEL 932F3 4C. 4E 94 62 JMP MENU 9332: 60 63 RTSSEL RTS 9333% 4C 2F 94 64 WT JMP WAIT 93546: 40 FF 93 65 Go JMF AMF'GO 9339: 4C 05 94 66 SUE JMF AMP SUE 67 93302 A4 25 68 INPUT LDY $25 933E: 84 07 6? STY 7 93403 A4 24 70 LDY $24 93423 84 08 71 STY $8 93443 A? 00 72 LDA #$00 93446: 85 09 73 STA LONGUEUR 9348: 85 06 7% STA $6 934A: 20 Bi 00 75 JSR CHRGET *RECHERCHE 934D! 20 ES DF 76 JSR FPTRCET *xDU NOM DE 93503 20 6C DD 77 JSR CHKSTR *VARTABLE 93533 85 85 78 STA FORPNT *DANS LA 9355! 84 86 79? STY FORFNT+1 XTABLE 80 93573 Ad 00 81 2 LDY #400 ENTREE 9359! Bil BB 82 LDA (TXTPTR),Y xDES 935E3 C9 2C 83 CMF = #€$2C X*XPARAMETRES 935D: DO 35 84 BNE TAB 935F? 20 Bi 00 85 JSR CHRGET 9362: C9 4C 86 CMP #$4C 93643 FO 14 87 BEQ INPTL 9366: C9 56 88 CMP #656 9368; FO 18 89 BEQ INFTV 936A C9 48 90 CMP #¥$48 936C? FO 1D Ot BEQ INFTH 936E% CP 22 92 CMP #622 9370: DO 05 93 BNE JMPERR 9372: ES 06 94 INC 6 9374 AC 94 93 95 JMP TAB 9377: 4C 8D 94 946 JMPERR JMP ERR 937At 20 FS E6 97 INPTL. JSR GETBYTC 937D3 86 09 98 $TX LONGUEUR 937F3 4C 57 93 99 JMPO IZ 9382: 20 FS E6 100 INFTV JSR GETBYTC 93853 CA 101 DEX 93863 84 07 102 STX $7 93883 4C 57 93 103 JMP IZ 9386: 20 FS E6é 104 INFTH JSR GETBYTC 938F? CA 105 DEX 26 — Pom’s n° 5 —— ~ 938F? 86 08 106 STX #8 93913 40: S7 93 107 JMFO 2 9394% AS 07 108 TAB LDA $7 *xPOSITION 93963 B85 25 109 STA $25 *VERTICALE 9398: AS 08 110 LDA $8 xEN $25 939Ai BS 24 dit STA $24 *xET EN $24 939Ct 20 22 FO 112 JSR VTAB XHORIZONTALE 939F2 AS 06 113 LDA $6 93A1$ FO 12 114 BEQ FORMAT 93A3% 20 Bi 00 115 STRING JSR CHRCET XAFFICHAGE 93A63 C9 22 114 CMP #622 xDU 73A8i FO 08 117 BEQ RTSSTR *LABEL 93AAt 09 80 118 ORA #4#80 93AC! 20 ED FD 119 JSR PRINT 93AF: 4C AB 93 120 JUMF = STRING 93B2$ 20 Bi 00 121 RTSSTR JSR CHRGET 93B5! AS 09 122 FORMAT LDX LONGUEUR XECRITURE 93873 FO 19 123 BEQ GTLIN *D “UNE 93B93 AS 32 124 LDA $32 *LIGNE: 93BE: 48 125 FHA XDE. 93BC% 20 84 FE 126 JSR SETNORM xPOINTS 93BF% A? AE 127: LDA #"," 93C13 20 ED FD 128 FORMTZ JSR FRINT 93043 CA 129 DEX 93C5: DO FA 130 BNE FORMT2 93C7% Ab 07 131 LDX LONGUEUR xFUIS 93C93 20 10 FC 132 FORMT3 JSR BS *RETOUR 93CC? CA 133 DEX XEN 93CDi DO FA 134 BNE FORMT3 xFOSITION 93CFi 68 135 PLA xINITIALE 93D0% 85 32 136 STA $32 93023 20 6F FD 137 GTLIN JSK $FD6F *xENTREE 93DS+ BA 138 TXA DES 9306? FO 1E 139 BEQ GTRTS *DONNEES 93D8: BD FF 01 140 LDA SLFF,X 93DB: C? 83 141 CMP 4#$83 *xCTRL-C? 93DD: FO 1A 142 BEQ STOP 143 93DF% BD FF 01 144 GTLIN2 LDA $1FF,X xON MET 93EZ3 29 7F: 145 AND #$7F xLE BIT 93E43 9D FF 01 146 STA $1FF,X *D’ ORDRE 93E7% CA 147 DEX x7 A 0 93E8: DO FS 148 BNE GTLIN2 *ZERO 93EAi A? 00 149 AFFECTE LDA #400 P3EC? AD 02 150 LDY #¢02 XTRANSFERT 93EE: AZ 8D 151 LDX #$8D xDU BUFFER 93F0; 20 EY E3 152 JSR MAK xD’ ENTREE 93F3% 20 9A DA 153 JSR SAVD *VERS LA 93F6% AZ 00 154 GTRTS LDX #600 MEMOLRE 93F8% 60 155 RTS 93F9? 20 3A FF 154 STOF JSR $FF3A *BIF 93FC: 4C DO 03 157 JMF = =$3D0 . 158 159 kK KKK KKK 160 xx xX 161 xK AMPER G O xx 162 *x xx 1630 XKKKKKKKKKKKKKK KKK KKK 164 | 165 GETADR EQU E752 27 — Pom’s n° 5 nN . ___————_—_—_—_—_——— 93F FS 94023 94053 94082 94A0AS 940D5 940F% 94103 94123 943i PALSt 9416t 94183 PAIRS 941 Bt 94ICE PALFS 9422t 942353 94284 942B% PAZEY PARP 9432t 94345 94373 9438% 943A3 943D% 9ABEL 9440! 94423 9A45t 9448! 94403 944Dt 28 20 4C 20 ag 20 AS 48 AS 48 As 48 As 48 Aa? 48 20 20 4c 20 20 20 60 20 A2 2c CA FO ac 88 FO Ag 20 2c 10 2c 60 2m 44 25 03 Dé B? BS 76 BO B7 AL D2 BL 67 52 BA FF 10 13 Fe oA 48 00 10 on Dg? o4 D3 00 Db? D7 00 DD E7 00 co 93 FC co 166 147 168 169 170 W711 I72 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 194 L972: 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 Ghee 213 214 215 216 217 218 219 220 221 222 223 224 225 GoTo EQU $D741 CHKSTK EQU $D3D6 CURLIN EQU $0075 NEWSTT EQU $D7D2 x AMFGO JSR AMFRTN JMF GOTO AMPSUE JSR AMPRTN LDA #$03 JSR CHKSTK LDA TXTFTR+1 FHA LDA TXTPTR PHA LDA CURLIN+1 PHA LDA CURLIN FHA LDA #$60 PHA JSR $67 JSR GOTO JUMP NEWSTT AMPRTN JSK CHRGET JSR FRMNUM JSR GETADR RTS SKK KK KOK KOK OK OK OK OK OK KOK OK KOK KOK OK WAIT xx FAO IO ICICI CK 3K WALT JSR CHRGET LDX #$FF BIT $C010 WALTZ DEX BEQ RTSWT LDY DUREE WAITS DEY BEQ WAITZ *xEVALUATION «DE LA *FORMULE *$FCAB EST LA BOUCLE D’ATTENTE *xDU MONITEUR,FONCTION DE A LDA #10 JSR $FCA8 EIT #cC000 xUNE BFL WAITS * TOUCHE BIT $C010 xPRESSEE? RTSWHT RTS KKKKKKKAKKKKAKAAKKKKKKKK KK xx xxS EL EC T I O Nxx xx KK OOK OK OK OK KKK KOK KOK KKK KED Eau #$cC000 KEDSTRE EQU #$C010 VARFNT EQU $0083 CHKNUM EQU #$DDéA HAUT EQU #0008 XLIGNE 1 Pom's n° 5 = —— SSS ~ 226 227 XNUMOFPT? NUMERO DE L’OFTION 228 x OU SE TROUVE LE CURSEUR 229 NUMOPT EQU $0009 230 NOFT EQU $0006 XNER D’OPT. 231 NOFTZ Eau $000C 232 SETINV EQU $FE80 233 PRERR EQU $FF2D 234 CV EQU $0025 235 236 «x DEFINITION DE LA VARIABLE 237 944Et 20 B1 00 238 MENU JSR CHRGET 94513 20 ES DF 239 JSR FTRGET 94543 48 240 FHA XxSAUVEG. 9ASSt 98 241 TYA «DE 9456: 48 242 PHA xL’ADRESSE 243 244 «xx ENTREE DES FARAMETRES 245 94573 20 FS E46 246 JSR GETBYTC *VTAB 945A3 CA 247 DEX 945B3 EO 18 248 CFX #24 945D3 BO 2E 249 BCS ERR 945F: 86 08 250 STX HAUT 94613 20 FS E6 251 JSR GETBYTC *xMARGE 94643 BA 252 TXA 94465! FO 246 253 BEQ ERR 94673 CA 254 DEX 94683 86 06 255 STX $6 946A} 20 FS ES 256 JSR GETEYTC XLARG. 944D3 8A 257 TXA 946E3 18 258 cLce 946F3 65 06 257. ADC $6 FAFA 2: CF 29: 260 CMF #41 94733 BO 18 261 BCS ERR 94753 85 07 262 STA $7 94773 20 FS E6 263 JSR GETBYTC *NER OF + PATA? 86 OB 264 STX NOPT 94703 EB 265 INX 947D3 BA 266 TXA 947E3 09 BO 267 ORA #$B60 9480: 85 0c 268 STA NOFT2 94823 AP O1 269 PREMOFT LDA #$1 *xINITIAL,. 94843 85 09 270 STA NUMOPT 94846: AS 08 271 LDA HAUT 9488; 85 25 27Z STA CV GABA 4C C3 94 273 JMP BARRINY 274 9748D} 20 84 FE 275 ERR JSR SETNORM 94903 20 2D FF 274 JSR PRERR *®AFFICHE 94932 4C DO 03 277 JMP =$3D0 x ‘ERR’ . 278 «x | PAIS? 00 279 ‘FLECHEZ HEX 00 280 281 x*xx MONTEE DU CURSEUR 282 94973 20 15 95 283 MONTRTN JSR BARRNORM 94A9As AS 09 284 LDA NUMOFT F49CY CP 02 285 CMP #$2 29 — Pom'’s n° 5 eee ee —E——EEeerrrEEErErr EEE MONTRT2 HAUT NOFT *SAUT INTERLN *xDERNIERE MNTLOOP cv NOPT NUMOPT BARRINV BARRNORM cv ¥$0 INTERLN Cy NUMOF'T SETINY FLECHE FLECHE2 BARR KEDSTRB KED ECLCLAV KED KBDSTRE #995 DESRTN #988 MONTRTN ¥$9E ESCAPE #$8D AFFECTEZ #$B1 ECLCLAYV NOFT2 BCLCLAV $$F NUMOPT DU NUMERO VARFNT VARPNT+1 $E2F2 $EB2E #$00 NUMOF'T GIVAYF VARPNT+1L VARPNT MOVMF #$0 949Es BO 15 ZB6 BCS 94A0: AS 08 287 LDA 94A2: A4 OB 288 LDY 94A43 88 289 DEY 94A5: 18 290 MNTLOOF CLC 94A6i 6D 18 93 291 ADC P4A9% 88 272 DEY 94AA? DO FO 293 BNE 94ACi 85 25 Zon STA 94AEt AS OB 295 LDA 94B03 85 09 296 STA 94B2; 40 C3 94 297 JMF 94B5% 20 15 95 298 MONTRT2 JSR 94882 AS 25 299 LDA 94BA: 69 00 300 ADC 94BC: ED 18 93 301 SEC 94BF2 85 25 302 STA 94C1i C& 09 303 DEC 94033 20 80 FE 304 EARRINY JSR 94C42 AD 19 93 305 LDA 94C9% BD 976 94 306 STA 94CCi 20 43 95 307 JSR 94CFi 2C 10 CO 308 CLAV BIT 94023; 2C 00 CO 309 EBCLCLAV BIT 94D5: 10 FEB 310 BPL 9407: AD 00 CO 311 LDA 94DA 20 10 CO 312 BIT 94DDi C9 95 313 CMP 94DF: FO 40 314 BEQ 94E1: C9 88 315 CMP 94E3: FO B2 3146 BEQ 94ES3 CY 9B 317 CMP 94E73 FO Si 318 BEQ 94E9: C9 8D 319 CMP 94EB: FO OC 320 BEQ P4ED? CP? BL 321 CMP 94EF? 90 EL 922 BCC 94F13 CS OC 323 CMP 94F3% BO DD 324 BCS 94FS: 29 OF 325 AND 94F73 85 097 326 STA 327 328 %#*xkxk TRANSFERT 329 -***x DANS LA VARTABLE 330 94FO? 68 331 AFFECTE2 FLA 94FAS B85 83 332 STA 94FC% 68 333 PLA 94FD: 85 84 334 STA 335 336 GIVAYF EQU 337 MOUMF EQU 338 94FF? AP 00 339 LDA 9501: A4 09 340 LDY 95033 20 F2 E2 341 JSR 95063 AS 84 342 LOX 9508: A4 83 343 LDY 9S0Ai 20 2B EB 344 JSR 950D: A? 00 345 LDA 30 Pom’s n° 5 xEN XLIGNE XATTENTE *DU «CLAVIER Ki? u<-? xESC? xRTN? xUN xCHIFFRE? *INT?FAC *xFACSMEM 950F3 85 24 346 STA $24 95113 20 84 FE 347 RTS JSR SETNORM 95143 60 348 RTS 95153 20 84 FE 349 BARRNORM JSR SETNORM 9518: A9 AD 350 LDA #$A0 9S1A3 8D 96 94 351 STA FLECHE2 951D3 20 50 95 352 JSR BARKS 9520: 40 353 RTS 354 355 %#xx DESCENTE DU CURSEUR 356 95213 20 15 95 357 DESRTN JSR BARRNORM 95243 AS 09 358 LDA NUMOPT 95263 CS 0B 359 CMP NOFT 9528; 70 03 360 BCC DESRKTZ 952A 4AC 82 94 341 JMP PREMOPT 952D2 AS 25 362 DESRT2 LDA CY 9S52F3 18 363 CLC 9530: 6D 18 93 364 ADC INTERLN 95332 85 25 345 STA CV 95353 Eé 09 366 INC NUMOPT 95373 4C C3 94 367 JMP BARRINY 953A? 20 58 FC 368 ESCAPE JSR $FCS8 953D3 20 84 FE 367 JSR SETNORM 9540: 4C DO 03 370 JMP =#3D0 95433 AS 25 371 BARR LDA CV 95453 C? 18 372 CMP #24 9547: 90 04 373 BCC BARRZ 95493 AP 17 374 LDA #23 9S4B3 85 25 375 STA CV 954D3 20 22 FC 376 BARRZ JSR VTAB 95503 AF 06 377 BARR3 LDY 6 95523 C4 07 378 CRY $7 95543 DO 06 379 BNE BARRWRT 9556: AD 96 94 380 LDA FLECHE2 95593 91 28 381 STA ($28),Y 9S5B3 60 382 RITSBARR RTS 955C3 Bl 28 383 BARRWRT LDA ($28),Y 9SSEs 09 80 384 ORA #480 95603 25 32 385 AND $32 95623 91 28 386 STA ($28), 95643 C8 387 INY x*NORMAL 95653 C4 07 388 CPY $7 95673 90 F3 389 BCC BARRWRT 95693 60 3970 RTS Récapitulation 48K 9350~ 20 6C 9358- 00 Bi 9300- A? 4C 8D FS 03 AY 1B 8D 93460- Bi 00 9308- Fé 03 AY 93 8D F7 03 AP 9368- FO 18 9310- 00 85 73 AY 93 85 74 40 9370- DO 05 . 9318- 02 BE 80 C9 84 FO 1D C9? 9378- 8D 94 9320- AB FO 13 C9 BO FO 12 C9 9380- 57 93 9328- B5 FO 08 C9 AA DO 03 4C 9388- 4C 57 97330- 4E 94 60 4C ZF 94 4C FF 9390— 08 4C 9338- 93 4C 05 94 A4 25 84 07 9398- AS 08 9340- A4 24 84 08 AD 00 85 09 93A0- 06 FO 9348- 85 06 20 B1 00 20 E3 DF 93A8- FO 08 XY Pom’s n° 5 ee *ARRET *REECKITURE *xEN *XINVERSE *xOU EN 85 85 2c FO Fo 4c ES E6 FS 93 AS 20 Bi 20 84 Do 14. 1D 86 35 co c? 84 cA Eé 07 22 00 ED a9 86 CA es FC c? FD AO 20 5é Zz 4c 4c 846 25 as 22 4c 31 93B0- A3 73 20 Bi 00 Ad 09 FO 9490- 20 2D FF 4C DO 03 00 20 93B8- 19 AS 32 48 20 84 FE A? 9498- 15 95 AS 07 CF 02 BO 15 93C0- AE Z0 ED FD CA DO FA AG 94A0- AS 08 A4 OB 8B 18 4D 18 93c8- 07 20 10 FC CA DO FA 48 94A8- 93 88 DO F9 85 25 AS OB 93D0- 85 32 20 6F FD 8A FO iE 9480- 85 09 4C C3 94 20 15 95 93D8- BD FF 01 C9 83 FO 1A BD 94B8- AS 25 69 00 ED 18 93 85 93E0- FF 01 29 7F 9D FF O1 CA 94co- 25 Cé 09 20 80 FE AD 19 93E8- DO F5 A9 00 AD 02 AZ BD 94C8- 93 8D 76 74 20 43 95 2C 93F0- 20 EY E3 20 9A DA AZ 00 94D0- 10 CO 2C 00 CO 10 FE AD 93F8- 460 20 3A FF 4C DO 03 20 94p8- 00 CO 2C 10 CO C9 95 FO 9400- 25 94 4C 41 D9 20 25 94 94E0- 40 C9 88 FO BZ C? 9B FO 9408- AY 03 20 Dé D3 AS BY 48 94E8- 51 C9 8D FO 0C C9 Bi 90 9410- AS BB 48 AS 76 48 AS 75 94FO- E1 CS OC BO DD 29 OF 85 9418- 48 A9 BO 48 20 B7 00 20 94F8- 09 68 85 83 468 85 84 AP 9420- 41 DY 4C DZ D7 Z0 Bi 00 9500- 00 A4 09 20 F2 E2 Ad 84 9428- 20 67 DD 20 52 E7 60 20 9508- A4 83 20 2B EB A? 00 85 9430- Bi 00 AZ FF 2C 10 CO CA 9510- 24 20 84 FE 60 20 84 FE 9438- F0 13 AC 1A 73 88 FO F7 9518- AP AD 8D 96 94 20 50 95 9440- AP OA 20 AB FC ZC 00 CO 9520- 60 20 15 95 AS 09 CS OB 9448- 10 F3 2C 10 CO 60 20 BL 9528- 90 03 4C 82 94 AS 25 18 9450- 00 20 E3 DF 48 78 48 20 9530- 6D 18 93 85 25 ES 09 4C 9458- FS E46 CA EO 18 BO Z2E 86 9538- C3 94 20 58 FC 20 84 FE 9460- 08 20 FS Eé 8A FO 26 CA 9540- 4C DO 03 AS 25 CP 18 90 9468- 86 06 20 FS E4 BA 18 45 9548- 04 A9 17 85 25 20 22 FC 9470- 06 C9 29 BO 18 85 07 20 9550- A4 06 C4 07 DO 06 AD 96 9478- FS ES 86 0B E8 BA 09 BO 9558- 94 91 28 60 Bi 28 09 80 9480- 85 0C A? O1 85 09 AS 08 95460- 25 32 91 28 C8 C4 07 90 9488- 85 25 4C C3 94 20 84 FE 9568- F3 60 RECAPTTULATION HEXADECIMALE : VEHSION 32K 80 FS 03 A? 1B 8D 5438- FU 13 AC 1A 53 88 FO F7 A9 53 8D F7 03 AD §440- AY 0A 20 AB FC 2C 00 CO 73 49 53 85 74 60 5448- 10 F3 2C 10 CO 40 20 B1 80 C7 84 FO 1D CF 5450- 00 20 E3 DF 46 98 40 20 13 C9 BO FO 12 C? 5458- F5 £6 CA EU 18 BU ZE 86 08 C9 AA DO 03 AC 54460- 08 270 FS ES BA FO 26 CA 60 4C 2F 54 4¢ Fr 5448- 84 06 20 FS ES BA 18 65 > 0S 54 A4 25 B4 07 5470- 06 C9 27 BO 18 85 07 20 84 08 AP 00 8S 09 S5478- FS £6 86 OF E8 8A 09 BO 5348- 85 06 20 Ei 00 20 £3 DF s4a0- 85 Of A9 01 85 09 AS 08 5350~ 20 6C DD 85 85 84 04 AD s4e8- 85 25 4C C3 54 20 94 FE S358- 00 B1 BB LY ZU DU 35 20 5490- 20 2D FF 4C DO 03 00 20 §3460- B1 00 79 4C FO 14 C9 Sd S5498- 15 55 AS 09 C9 02 BO 15 5360 FO 18 C9 48 FO 1p C9 22 S4A0- AS 08 A4 OF BB 18 4D 18 5370- DO 05 E6 046 4C 94 53 4C S4ag- 53 00 DO F9 G5 25 AS OF 5378- 8D 54 20 FS E46 86 09 AC S4B0- 85 09 4C C3 54 20 15 55 §380- 57 93 20 FS E46 CA R46 07 S4B8- AS 25 469 00 ED 18 53 85 5388- 4C 57 53 20 FS £é CA BS S4C0- 25 Cé 09 20 80 FE AD 19 5390- U8 4C 57 53 AS 07 BS 25 S4C8- 53 8D 94 54 20 49 55 2C 5398- A5 08 85 24 20 22 FC AS S4D0- 10 CO ZC UU CO 10 FB AD S3n0~ 06 FO 12 20 B1 00 C9 22 S4p8- 00 CO 2C 10 CO C? 95 FO S3A8- FO 08 09 80 20 ED FD 4C S4E0- 40 C9 88 FO E2 C9 9B FO 53B0- A3 53 20 B1 00 AS OY FU S4E8- 51 C? 8D FO 0C C? B1 970 S3R8- 19 AS 32 48 20 84 FE A? S4F0- E1 CS 0C BO DD 29 OF 85 S3C0- AE 20 ED FD CA DO FA Ab S4F8- 09 68 85 83 68 85 84 AI S3C8- 07 20 10 FC CA DO FA 68 5500- 00 A4 09 20 F2 E2 Ad 04 53D0~ 85 32 20 6F FD 8A FO 1E S508- A4 83 ZU ZB EB AY 00 85 53D8- ED FF 01 C9 83 FO 1A RD S510- 24 20 84 FE 60 20 84 FE S3E0- FF 01 29 7F 9D FF 01 CA 5518- A9 AD 8D 94 54 20 50 55 AG 02 AZ 8D S520- 60 20 15 55 AS 09 CS OB 9A DA AZ 00 S528- 70 03 4C 82 54 AS 25 18 4C DO 03 20 5530- 460 18 53 85 25 E46 09 4C D? 20 25 54 S5398- C3 54 20 S8 FC 20 84 FE D3 AS BY 48 S540- 4C 00 03 AS 25 C9 18 90 76 48 AS 75 5548- 04 AY 17 85 25 20 22 FC 20 &7 00 20 S550- A4 06 C4 07 DO 04 AD 946 D7 20 Bi 00 S558- 54 91 28 60 B1 28 09 80 SZ E7 60 ZU S560- 25 32 71 28 CB C4 07 90 2C 10 CO CA S568- F3 60 Pom’s n° 5 Banc-test de la carte Legend 128K DE La carte 128KDE de Legend Industries LTD. vc PLUS permet d'adapter Visicalc aux car- est le résultat des technologies les plus tes 128K. La présence d'une carte porte récentes: sur la taille d'une carte langage, l'espace de travail & 145K; il est de 85K on peut maintenant faire tenir 128K. Aupara- avec la carte 44K aussi commercialisée par la vant, Legend ne fournissait que des cartes méme société, 64K. Bien entendu, le microprocesseur 6502 de l'Apple II ne peut adresser lui-méme les 128K de la carte, mais seulement un morcean de 16K (adresses $D000 A $FFFF). Pour changer la partie adressée, il suffira de stimuler des adresses (faire un SWITCH). Le programme DISK EMULATOR permet de simuler un drive "fantéme" (dont les numéros de slot et drive peuvent étre quelconques, a condition de ne pas correspondre a un drive existant, qui sinon serait déconnecté) en utilisant la carte Legend comme mémoire de Cette carte peut aussi bien &tre placee masse. in effet, le contenu d'une disquette dans le slot 0 4 la place de la carte langage est exactement de 128K (pistes 3 a 34), si ou d'une RAMCARD de 16K que dans n'importe l'on excepte le DOS qui se trouve sur les quel autre slot, A l'exception du slot 7 pistes 0, 1 et 2. Le DOS posséde alors deux (réservé pour les cartes couleur) pour les commandes supplémentaires qui agissent en Apples Europlus. moins de 20 secondes: Le hardware de cette carte est relative- .Mi,Ss,Dd (MOUNT) recopie le contenu du dri- ment aisé A comprendre: il stagit de 1'équi- ve d, slot s dans la carte 128K du slot i valent de 8 cartes langage en paralléle et le Ui, Ss, Dd DATE) recopie le contenu de la passage de l'une A l'autre s'effectue par un carte dans le drive. SWITCH. En effet, la carte est formée de 6 Notons que si la carte est située dans le blocs (banks) de 16K. Une fois qu'un bloc est slot 0 et que l'on désire réserver le premier sélectionné, on peut l'adresser comme une bloc de la carte pour le langage non résident carte langage: il posséde lui-méme ? banks en ROM, seules les pistes 7 4 34 du drive allant des adresses $D000 a $DFFF et ur fantéme seront utilisées. Pour pouvoir dans partie commune de $£000 a $FFFF, et l'on peu ce cas se servir des commandes MOUNT et accéder & l'écriture ou 4 la lecture de ces UPDATE, il faut formater des disquettes qui adresses en stimulant les mémes adresses que n'utilisent pour le stockage des données que pour une RAMCARD ($C080 & $CO84 et $CO86 & les pistes 7 & 34. Cela peut étre réalisé $CO8B pour le slot 0 - ajouter $i0 pour le avec le programme SPECIAL FORMATTER, qui en slot numéro i). Puis, pour passer d'un bloc fait ne consiste quia faire avant de 16K A l'autre il suffit de mettre dans initialisation POKE-20813, 4*(piste du début) l'adresse $C084 + $i0 le numéro du bloc (de 0 et POKE-20811,4*(1+piste de la fin). a 7). Lorsque la carte est placée dans le slot 0, le bloc 0 est 1l'équivalent de la L'utilisation de l'émulateur de disque carte langage: c'est sur lui que sera chargé permet de charger presque instantanément les le langage qui ne réside pas en ROM. plus gros programmes ct de diviser par 3 le temps d'écriture ou de lecture des fichiers Cette carte serait moyennement utile si qsyT, Mais il ne faut pas perdre de vue que wars A Aa hae : est : elle n'était munie d'aucun logiciel, mais je qisque émulé reste une mémoire volatile et Legend a développé pour cette carte un qutil faut done souvent sauvegarder le fruit logiciel d'un trés grand interét. Ce logiciel ge son travail est principalement constitué de 3 programmes: VC PLUS, DISK EMULATOR et MEMORY MASTER, On peut utiliser ces programmes de deux maniéres i pecerdmme: MEMORY (MASTER persist’ ‘de différentes: soit en les BRUNnant (dane ce "ecopier la majorite du DOS dans un des blocs de 16K de la carte Legend. La HIMEM est alors paramétres dont ils ont besoin), soit dans un Portée a $8800, ce qui laisse 44K dans la programme automatique (TURNKEY) qui peut étre ™émoire centrale pour Gcrire des programmes, utilisé en bootant (dans ce cas un programme Notons que MEMORY MASTER peut étre utilisé Applesoft fait des POKEs dans la routine en 2" les Apples munis simplement de la carte langage machine et termine par un CALL), 1angage (a ce moment-la, on ne peut plus Notons que ces logiciels sont prévus pour Utiliser le langage en RAM). Ce programme cas ils demandent a l'utilisateur les utiliser jusqu'a 4 cartes Legend reste compatible avec tous ceux qui se simultanément et qu'ils sont incompatibles Contentent d'appelo au DOS_— par entre eux. l'intermédiaire des commandes DOS ou des 33 X Pom’s n°? 5 O(N —ENa——— SS — | = = adresses de la page 3. Les commandes suivantes sont alors ajou- tées au DOS: -F (FLIP) permet de passer de DOS 3.3 en DOS 3.2 et vice-versa (sans effacer le pro- gramme en mémoire!) »S (SHOW) montre la version de DOS utilis¢e -B (RSTAT) fournit l'adresse hexadécimale du début et la longueur du dernier fichicr BLOADé ou BRUNné -M (MONITOR) fait entrer dans le monitecur. Signalons enfin les programmcs FIRMWARE SELECT qui modifie le DOS sur une disquette pour lui indiquer la présence dans un slot donné d'une ROMCARD Integer ou Applesoft, HIRES DEMO qui fait une démonstration par chargement d'images graphiques de la vitesse de la carte 128K comparée au disque et Legend SLIDE SELECT qui simule un projecteur de diapositives. Un mot & propos du DOS booté par la dis- quette 128KDE DEMO: il charge trés rapide- ment lee programmes binaires et Basic, & la maniére du & BLOAD de Pom's 4. De plus il charge automatiquement sur la carte langage ou sur le bloc 0 d'une carte Legend située dane le slot 0 le langage non résident en ROM (A moins que celui-ci ne soit déja chargé). D'ailleurs, 1'Integer et 1'Applesoft ne sont pas fournis par des fichiers mais sont di- rectement cherchés par le DOS booté sur les pistes 3 & 7 de la disquette, pistes sur lesquelles on ne peut pas sauver des fi- chiers, Ce DOS peut étre utilisé par initia- lisation ou tre recopié sur les pistes 0 4 2 d'une disquette comme indiqué par J.F. Duvivier dans Pom's 2 (MASTER CREATE ne marche pas). Les produits Legend sont distribués en France par B.I.P. (22, rue Joseph Dijon - 75018 Paris) A qui nous devons l'excellente idée d'une traduction en frangais du mode d'emploi américain qui est d'ailleurs trés clair (sauf en ce qui concerne 1!ins- tallation d'une carte ailleurs que dans le slot 0). La traduction n'est malheureusement pas parfaite: elle a été, comme 1l'original, rédigée sur un systéme de traitement de texte et on peut s'étonner de l'absence des accents (alors que la plupart des imprimantes en ont - cf. les articles de Pom's) et de l'absen- ce du mode de justification A droite et a gauche (11 n' y a qu'une justification 4 gauche). Depuis peu, la société RTP propose la documentation sur disquette en AppleWri- ter I ou II, ce qui permet A chacun d'avoir sa documentation personnalisée et agrémentée dtaccents .... Sur le plan du fond, la traduction est trop littérale ("the system hangs" devient "le systéme est suspendu" - "planté" serait meilleur; “you must LOAD the program" devient "yous devez "LOAD" le programme” - le barbarisme LOADer serait plus clair; "you re-boot DOS" donne "vous redémarrez DOS" - on dit habituellement: le DOS). Notons toutefois que, tout au long de la traduction, l'accent est mis sur le fait qu'tavec les Apples Europlus on ne peut utiliser que les slots 0 & 6, alors que le mode d'emploi américain parle des slots 0 4 7. En conelusion, il s'tagit 1a d'un produit gui peut se révéler d'une trés grande utilité grace A l'existence d'un excellent logiciel. Mais il faudrait adapter pour cette carte d'autres programmes que Visicale. Par exemple, il serait intéressant d'avoir une adaptation du systéme de traitement de texte Apple Writer. La seule réserve que nous pouvons émettre est que le prix de 56000F H.T. est un peu élevé, mais c'est dG au prix encore important de la mémoire vive. Rappelons & titre de comparaison que les 16K de RAM pour Apple cofitent environ 500F! Nous avons beaucoup aimé la carte 128K en Visicale, ainsi que pour le chargement et l'utilisation de programmes en DOS normal. Nous avons regretté de ne pas pouvoir l'uti- liser avec plus de programmes du commerce. Dis que le DOS est modifié, l'utilisateur doit @tre assez compétent pour réaliser les "patches" nécessaires ... LIBRAIRIE INFORMATIQUE LA NACELLE ELECTRONIQUE © AUTOMATISME » MICROPROCESSEUR TOUS OUVRAGES ET ABONNEMENTS FRANCAIS ET ETRANGERS Distributeur exclusif pour la France des mi Tous les ouvrages francais ou étrangers signalés dans cette revue peuvent étre obtenus ou commandés a La Nacelle 2, rue Campagne-Premiére 75014 PARIS - Tel. 322 56 46 Métro Raspail - Parking a la hauteur du 120 bd du Montparnasse ouvert tous les jours lundi compris, sans interruption de 9 h 30 418 h 50, samedi fermeture 417 h 50. wels techniques du Réseau Calvados Pom’s n° 5 HAIFA : un amper-interpréteur complet HALFA (Herz Ampersand Interpreter For Applesoft) est, comme son nom l'indique, un utilitaire qui permet d'augmenter la capaci- té de l'interpréteur Applesoft de l'Apple II en utilisant pour cela 1l'Ampersand (&) qui ermet d'accéder au la e machine grace 4 P un JMP en $3F5. HAIFA utilise aussi la fonction Applesoft USR (0) & laquelle on accéde par un JMP en $A, JMP programmé par les soins d'une routine Ampersand. Précisons que HAIFA est _spécialement destiné a @tre utilisé dans un programme plut6t qu'au clavier: il est done inutile d'essayer d'y trouver des commandes utili- taires comme l'édition des lignes de pro- gramme, les remplacements de chaines de ca- ractéres, la programmation des touches avec des mots-clefs de 1'Applesoft ou encore les références croisées., Notons toutefois qu'HAIFA peut @tre compatible _avec certains utilitaires de mise ‘au point de programmes comme le PLE (voir Pom's 1) ou le APA du DOS ToolKit. Vous trouverez dans l'annexe 2 toutes les infor- mations utiles en ce qui concerne l'emplace- ment en mémoire

Showing the first 100000 of 212317 characters.

mp.ls