Skip to main content

tremplin micro newsletter issue 05

  • PublicationApple Periodicals
  • Pages63
  • Sourcetremplin_micro_newsletter_issue_05.pdf
← Magazines tremplin micro newsletter issue 05
/ 63
Source: Internet Archive — Aggregated Apple-era periodicals, 1981–2012.
Page 1
Loading…
Text content (OCR)
tremplin micro tremplin-micro ne fpprenez @ programmer i Demandezlmeure Connent doniner votre votre ARBIe fois On indicat Qos t Profs musical Mi tas de petites routines La pseudo pagers) un perpetuel - Dessinezides Efoil Apple et ProDOS (noms et logos) sont des marques dépo- sées d’Apple Computer, Inc. BIMESTRIEL Le numéro : 30 F Abonnement d'un an 180 F (6 numéros) EDITIONS JIBENA Direction-Rédaction : Editions JIBENA Guy-HACHETTE La Petite Motte — Senillé 86100 CHATELLERAULT. Téléphone : 49-93-66-66 PUBLICITE : Joelle (méme numéro) Commission paritaire : Demande en cours. Les revues qui choisissent d'étre réellement au ser- vice du Lecteur, en ne Vobligeant pas 4 glaner, dans plusieurs magazines, les renseignements con- cernant sa machine, ne bénéficient pas du numé- ro de Commission Pari- taire, et pas davantage des tarifs postaux réduits. Vous étes formidables ES LECTRICES et LECTEURS de Tremplin Micro sont réellement formidables, et j'en ai quoti- diennement la preuve, en lisant leurs lettres ou en leur parlant... au téléphone. J’en connais pourtant trois qui vont m’accuser de ne voir que le bon cété des choses, et de ne point publier leurs critiques. Pourquoi, en vérité, vanterais-je les “mérites” que s‘attribue l'un d’eux ; heureux de pira- ter logiciels et disquettes, et de photocopier — dit-il — les soixante pages d’une revue inintéressante (la nétre)... plutét que de l'acheter. Que de temps et de papier perdus pour des informations dépeurvues d'intérét ! Je n’aimerais pas étre a la place du cochon de payant (car il existe) victime de cette inutile et onéreuse hémorragie de feuilles volantes ! Oui, vous &tes formidables, et nous commengons dans ce numéro, 4 publier certains de vos program- mes. Nous avons d’ailleurs, dans ce domaine, beau- coup d’autres projets. Nous en reparlerons bientét. La majorité des Lectrices et Lecteurs de Tremplin Micro est favorable 4 la présence, dans la revue, d'une publicité informative (voir formative). Tremplin Micro ouvrira bientét ses colonnes aux annonceurs, mais le nombre des pages rédactionnel- les\n'en souffrira pas, au contraire. La publicité doit apporter un plus... ou ne pas @tre. Une bonne nouvelle pour 1986: votre magazine paraitra 6 fois par an (au lieu de 5). Le prochain numéro sera mis en vente le 9 janvier. Et maintenant, place 4 la programmation ! Amicalement GUY-HACHETTE. aaah a Eee EEE Eee TREMPLIN MICRO 1 Sommaire 5 Initiation © USR(?) voeccceece cece seeseees 24 © La pseudo page 3 graphique ...... 27 © Déplacement et comparaison des zones de mémoire .........-- 51 Des trucs © Trois mystérieuses instructions de 'PFOCODE . casts ta samae as a 19 Micro-basic © Uncalendrier perpétuel proposé par Michel Edelin ........ 36 PROGRAMMES UTILITAIRES ™ Correction avancée ......--.-+++5+ W ™ Des pokes utiles pour modifier le catalog ProDOS ............-5++ 29 ™ Ecrans condensés, un programme de Maurice Chavelli .. 40 H RAM.COPIE ov comment transférer vos programmes-disquette sur /RAM. 52 MUSIQUE | e par Jacques Saussard @ Un indicatif musical ......... 30 ESSAIS DE LOGICIELS * Il y aun abonné au numéro que votre Apple a demandé ... 10 (Version Com — Telplus — Transcan) * Gestion Il de Version Soft ........--- 23 SON © avec Richard Thibert De quoi mettre une certaine animation dans vos jeux ..... 14 What time is it Miss Mouse ? © par Claude Aubry ° Demandez l'heure 4 la souris DARE | oslo Som Maes 20 3 GRAPHISME Tracer un cadre dans une page graphique ........ 66 psesie de cece eee ee sees 46 Dessine-moi des étoiles Une méthode 4 la fois simple et efficace pour tracer des étoiles ...........-..5-- 49 2 J LISEZ AUSSI : WE LGVFES). os ocx csisacawia are ne erenereeany ee mes 8 @ Questions et réponses . B Votre bibliotheque informatique .........---- 20 —39 — 48 NOS LECTEURS ONT DES IDEES * Caractéres francais transposés en page graphique par M. Devaux ...... 33 ™ Votre fiche n°5 ......--..5--555 21—22 ™ Le courrier des lecteurs ......-..--- 55 Mi Index: wai so assies sa oa onsen em oa oe 60 ™@ Bulletin de commande et d’abonnement ........--.555++5 62 TREMPLIN MICRO Le numéro 6 paraitra le 9 janvier. GUY-HACHETTE Pre Oe header OUTTVNTTH b0s3.3. | propos | carte souris | What time is it Miss Mouse 2 par Claude AUBRY Quelle heure est-il ? Demandez-le a la souris APPLE, elle vous répondra en affichant constamment, précisé- ment, et imperturbablement I’heure, la minute et la seconde dans un coin de votre écran. Pour afficher le compteur, il suffit d’appeler le pro- gramme par CALL 768. Il restera présent sur |’écran tant que vous ne taperez pas CTRL RESET, et comptera soigneusement le temps quelle que soit votre activité (il marque tout de méme une pause durant les accés dis- que, le temps de respirer, en somme !). Pour le mettre a I’heure, il faut “POKER” les valeurs convenables aux adresses ’"COMPTEUR”. —— LE PROGRAMME Le court programme en assembleur 6502 (il “tient” dans la zone $300- 3CF) utilise la possibilité pour l’inter- face souris de générer des interrup- tions tous les soixantieémes de seconde lorsqu'on choisit le mode interruption @ chaque rafraichisse- ment d'écran. Lorsque ce mode est choisi, l’ordina- teur interrompt la tache qu'il était en train d'accomplir et va exécuter un programme dont l’adresse est don- née en $3FE-3FF. II suffit de fournir a ce vecteur l’adresse de notre pro- gramme d’horloge et le tour est gen- timent joué. Cette horloge peut étre utilisée avec n‘importe quel programme ne faisant pas appel 4 la souris et j'espére qu’elle vous amusera : vous pourrez compter le temps passé 4 répondre a un INPUT, fabriquer un réveil, etc. Naturellement, toute routine utili- sant la plage $300-3CF détraquera irrémédiablement votre Apple- chrono... 2 TREMPLIN MICRO seomessmaesausnmesnzernensnsssesnezocsneneessonsasenesnsssensReesesssusssesoeEeneneeNTeRNseoesSeseeeT Assemblage par ProCODE 300: 78 30 301: 26 35 03 31 304: AY 74 32 306: A2 G3 33 308: 8D FE 03 34 30B: 8E FF 03 35 30E: AG 19 37 310: 29 1¢ 03 38 313: AO 12 39 315: Ad 99 4G 317: 20 1¢ 03 4l SIA: 58 43 3IB: 60 44 31C: 48 50 31D: Bl G6 51 SIF: AE 30 03 52 322: AC 31 03 53 325: 8D 33 03 54 328: 8E 34 03 55 32B: 68 56 32C: 26 32 03 57 32F: 60 58 WHAT TIME IS IT MISS MOUSE ? Une utilisation originale de la souris pour Apple /Icet Ile. Claude AUBRY (septembre 1985) * TMP EQU $6 SETMOUSE EQU $12 SERVEMOUSE EQU $13 INITMOUSE EQU $19 WARM EQU $300 i VECINT EQU $3FE ECRAN EQU $400 couT EQU $FDED ; DEBUT DU PROGRAMME ed Programme appelé par CALL 768 ORG $300 BEGIN SEI JSR = CHECKSLOT LDA £ INTERUP ; LDX £ INTERUP B STA VECINT : STX VECINT+1 LDY £INITMOUSE JSR = CALLCARD LDY £SETMOUSE LDA £%000G1001 JSR CALLCARD CLI RTS | SOUS PROGRAMME CALLCARD CALLCARD PHA : LDA (TMP),Y ‘ LDX CN i LDY NO ; STA TOCARD+1 ; STX TOCARD+2 ‘ PLA ‘ JSR = TOCARD ; RTS i POINTEUR TEMPORAIRE RESTART PRODOS VECTEUR interruption Début de l’écran SORTIE DE 1 CARACTERE * Interdit les interruptions OU EST LA CARTE SOURIS LSB programme inter HSB programme inter LSB VECTEUR interruption HSB Pour syncro Pour mode Sélection mode inter Par screen refresh Rétablit interruptions Retour basic * ‘on sauve l’accu recherche offset adresse (HSB) carte et N° de slot vectorisé pour saut indirect recupére accu saut indirect 4 la carte et retour (Suite page 5) GUY-HACHETTE —— ee eae Salalah alae earl a re alee eed 330: ag 69 CN HEX G0 ; stock HSB AD carte 331: og 61 NO HEX 60 ; stock Numéro slot 62 * 332: 4c o@ oO 63 TOCARD IMP $0600 ; opérand modifie par prog 64 * 65 * * 66 . 67 Recherche du slot ou est la carte MOUSE | 68 69 . , 70 | Doc. page 54 Apple mouse user's manual a ® - 72 * 335: A2 07 73 CHECKSLOT LDX £$07 ; on teste 7 slots 337: A? OO 74 LDA £$00 ; on commence la recherche 339: 85 06 75 STA TMP ; aux adresses hautes 33B: AQ C8 76 LDA £$C8 ; soit $C700 33D: 85 07 77 STA TMP+1 ; en fait C800 décrémenté 33F: Cé 07 78 LOOPI DEC TMP+1 ; on décrémente 341: CA 79 DEX ; X sert de compteur 342: 39 21 80 BMI EXIT ; si @ erreur @ carte 344: AQ OC 81 LDY £$0C ; octet de signature 346: BI 06 82 LDA (TMP), ; doit étre la 348: ¢c9 20 83 CMP £$20 ; et égal 4 $20 34A: DO F3 84 BNE LOOP] ; pas la ! slot précédent 34C: AQ FB 85 LDY £$FB ; 2' test de signature 34E: Bl 06 86 LDA (TMP).Y ; en CN $FB 350: C9 D6 87 CMP £$D6 ; est-ce bien $D6 ? 352: DO EB 88 BNE LOOP! ; non slot précédent 354: AS O7 89 LDA TMP+1 ; oui on sauve l’adresse 356: 8D 34 03 90 STA TOCARD+2 ; pour plus tard 359: 8D 30 93 91 STA CN ; utilisé par callcard 35C: GA 92 ASL ; on décale 35D: OA 93 ASL ; de 4 octets 35E: OA 94 ASL ; pour faire passer 35F: OA 95 ASL ; HSB en LSB 360: 8D 31 G3 % STA NO ; numéro de slot 363: DO GE 97 BNE START ; et retour 98 * 365: AQ @5 99 EXIT LDY £$05 ; message d’erreur 367: B9 CA @3 106 ERRLOOP LDA NOCARDMSG-1,Y ; si pas de carte 36A: 20 ED FD 101 JSR COUT ; on envoie le message 36D: 88 192 DEY ; £CARD et on arréte 36E: DO F7 103 BNE ERRLOOP 104 * 370: 4C DO G3 105 WARMSTART JMP WARM 106 * 373: 60 107 START RTS 108 * 109 * a 116 uy PROGRAMME D'INTERRUPTION 1 lis * = 114+ 115 * Ce programme est effectué 60 fois 116 * par seconde. 17 * 118 INTERUP. EQU * 374: 78 9 SEI ; On interdit les interruptions 126 * 375: 48 121 PHA ; SAUVEGARDE DU CONTEXTE 376: BA 122 TXA (Sulteipages) TREMPLIN MICRO 5 377: 48 123 PHA 378: 98 124 TYA 379: 48 125 PHA 126 * 37A: AG 13 127 LDY £SERVEMOUSE ; Lasouris est-elle cause inter ? 37C: 20 1C G3 128 JSR = CALLCARD 37F: EE C4 93 129 INC SOIXANT ; Compte les 6Ge de seconde 382: AD C4 03 130 LDA SOIXANT ; Cela fait-il une seconde ? 131 * 385: C9 3B 132 CMP £59 387: D@ 29 133 BNE SKIP ; Pas encore : on saute 134 * 389: AY OO 135 LDA £0 ; Oui : onremet a0 38B.: 8D C4 G3 136 STA SOIXANT ; Le compteur des soixantiémes 137. * 38E- A2 G5 138 LDX £5 ; 6DIGITS 139 * 140 LOOPTIME EQU * 41 * 390: FE C5 63 142 INC TEMPS,X ; Eton incrémente les unités 393: BD C5 @3 143 LDA TEMPS,X ; Combien d'unités ? 144 * 396: C9 3A 145 CMP £'9+1 : +de9? 398: 90 18 146 BCC SKIP ; Non : on saute la suite 147 * 389A: AY 30 148 LDA £0 ; Sinon on remet les unités... 39C: 9D C5 03 149 STA TEMPS,X poe OO... 39F: CA 150 DEX 3AG: FE CS 03 151 INC TEMPS,X ; ... et on incrémente les dizaines 3A3: BD C5 03 152 LDA TEMPS,X ; Combien de dizaines ? 153 * 3A6: C9 36 154 CMP £'6 ; +de6? 3A8: DO 68 155 BNE SKIP ; Non : saute la suite 156 * 3AA: AI 30 157 LDA £0 ; Sinon on remet les DZ a0 3AC: 9D C5 G3 158 STA TEMPS,X 159 = 3AF: CA 160 DEX ; Les 6 chiffres ? 3B0: 10 DE 161 BPL LOOPTIME ; Non : on boucle 162 * 163 * 164 SKIP EQU * 165 * 166 * ~ 167 ve PROGRAMME D’AFFICHAGE 170 * = 71 * 172. * On peut ruser et supprimer |'affichage (mais non le cumul du temps) 173 * en poquant un code bidon 4 la place du STA ECRAN,X en le chan- 174 * geant en LDA par exemple. 175 * 176 * ainsi POKE 951,189 ; arréte l'affichage 77 * POKE 951,157 ; LERETABLIT 178 * 3B2: A2 @5 79 LDX £5 ; 6 CHIFFRES 3B4: BD C5 03 186 LOOP LDA TEMPS,X ; On récupére... 3B7: 9D 00 G4 181 STA ECRAN,X } ... et on affiche SBA: CA 182 DEX Encore ? 3BB: 10 F7 183 BPL LOOP ; Oui 184 * 3BD: 68 185 PLA (Suite page 7) GUY-HACHETTE ves 0 ee ee ee ee SBE : SBF : 3C0 : 3Cl : 3C2 : 3C3:: 3C4 : 3C5 : 3CB : 98 68 68 58 40 30 30 «30 30 30 «30 C4 c3 D2 Cl A3 186 187 188 189 196 191 192 193 194 195 196 197 198 199 200 201 202 263 204 205 206 207 208 TYA PLA TXA PLA cul RTI ON RESTITUE LE CONTEXTE ; On rétablit les inter... : ...eton repart COMPTEURS * SOIXANT HEX 00 TEMPS ASC * 000000" POKE 965+ Y,X pour mise a l'heure +o * MESSAGE ERREUR NOCARDMSG ASC "“DRACE£” ; MESSAGE si pas de carte Si vous ne possédez pas d’assembleur, vous pouvez saisir les 26 lignes ci-aprés. Tapez, d'abord CALL-151, suivi de RETURN, puis la valeur indiquée, sans oublier un RETURN a la fin de chaque ligne. Quand vous aurez terminé, enregistrez votre programme sur disquette par un BSAVE MOUSE.TIMER,A768,L208 (A$30G,L$D@). ERIFICATION (en mode direct, aprés CTRL-RESET) : T=06 300: 78 20 35 308: 8D FE 03 310: 26 1C G3 318: 1C G3 58 320: 30 03 AC 328: 8E 34 G3 330: 00 GO 4C 338: 00 85 G6 340: 07 CA 36 348: C9 20 DO 350: C9 D6 DO 358: 03 8D 36 360: 8D 31 G3 63 8E AG 60 31 68 oo Ag 21 F3 EB 63 DG : FOR I = 768 TO 975: T = T + PEEK(I) : NEXT : PRINT T 1 5 16 15 20 25 PRINT CHR$(4);""PREQ” PRINT CHR$(13); CHR$(4); "BRUN MOUSE TIMER” HOME VTAB 6: HTAB 7: PRINT "PROGRAMME DE MISE A L'HEURE” VTAB 12: PRINT “Donnez l'heure sous la forme HHMMSS” VTAB 17: HTAB 17 Le résultat devra étre 21212. AI 74 A2 G3 368: CB 03 26 ED FD 88 DO F7 FF 03 AG 19 370 : 4C DO G3 66 78 48 8A 48 12 AY 69 20 378: 98 48 AG 13 26 1C @3 EE 48 @6 AE 380 : C4 03 AD C4 G3 C9 3B DO 03 8D 33 @3 388: 29 AY GB 8D C4 G3 A2 OS 20 32 G3 60 390 : FE C5 63 BD C5 03 C9 3A OG A2 07 AI 398: 99 18 AI 36 9D C5 G3 CA C8 85 07 Cé SAG: FE C5 03 BD C5 63 C9 36 AG OC Bl 06 3A8: DG G8 AI 36 9D C5 B3 CA AG FB Bl G6 3B0: 10 DE A2 G5 BD C5 @3 9D AS @7 8D 34 3B8 : 0G G4 CA 10 F7 68 98 68 GA GA OA GA 3C0.: 8A 68 58 40 GO 30 36 30 GE AO G5 BI 3C8: 36 36 30 C4 D2 Cl C3 AZ MOUSE.DEMO 30 FORI=@TOS 40 GET H$: IFH$ < "G" ORH$ > "9" THEN 40 45 PRINT H$; 50 POKE 965 + |, ASC(H$) 60 NEXT TREMPLIN MICRO Nous répondons ici aux questions de lecteurs néophytes. © L'Apple Ile 65C@2 est-il vraiment compatible avec ses prédécesseurs ? Est-il plus intéressant et plus rapide ? Il est entierement compatible avec |'Apple lic dont il utilise notamment les nouveaux jogiciels basés sur le concept graphique sou- ris (4 condition d'étre équipé de la souris et d'une carte 80 colonnes, bien entendu). Pour le reste, Apple annonce une compatibi- lité 493% avec les anciens Apple /le, toutes versions confondues, ce qui n’est pas si mal. Incontestablement, quand il est totalement utilisé, le 65C@2 est plus rapide que le 6502. Il dispose en effet de 10 instructions supplé- mentaires et de 27 nouvelles possibilités d’adressage, autorisant des routines plus courtes. * Quels sont les pokes permettant d’écrire dans les pages graphiques | et 2, puis de les afficher ? 10 HGR : HGR2 : TEXT : HOME 26 HCOLOR = 3: POKE 236,32: REM ECRI- TURE PAGE 1 30 HPLOT G,0 TO 279,191 4G POKE 236,64: REM ECRITURE PAGE 2 50 HPLOT G,191 TO 279,0: GOSUB 200: VTAB 22: PRINT’ RAGE | AVECTEXTE® 60 REM PAGE 1 AVEC 4 LIGNES DE TEXTE 70 POKE 492360: POKE 49235,0: POKE 49239,0: POKE 49232,6 80 GOSUB 200: REM PAGE 1 SANS TEXTE 90 POKE 49234,0 100 GOSUB 200: REM PAGE 2 110 POKE 49237,0 126 GOSUB 200: REM PAGE 1 130. POKE 49236,0 140° GOSUB 20@: REM PAGE 1 AVEC TEXTE 150 POKE 49235,0: HOME : VTAB 22: PRINT "PAGE 1 AVEC TEXTE” 169 END 200 VTAB 1: CALL — 198: GET R$: PRINT : GRAPHISME ET SON SUR APPLE“ Avez-vous déja traité le graphisme sur votre Apple (I+, He ou lic) ? Quelle que soit votre réponse, sachez que, de toute facon, vous apprendrez quel- que chose dans le troisiéme volet de “PRATIQUE DES APPLE", consacré au graphisme et au son. J.-C. Fantou, auteur de cet guyrage, mérite des élo- ce: FOniey; QUrSer Se CEt SUV age: Mens Ses Sie ges. Voila de la bonne besogne ! Tout est clair, exact, documenté. Gageons que, grace aux conseils et routines de ce spécialiste, bon nombre de pro- grammeurs (débutants ou non) vont s'intéresser au graphisme et au son. Cela nous promet, pour les mois 4 venir, d'inédits lis- tages, capables de générer de fantastiques ima- ges... ou les mesures inattendues de compositeurs en herbe. * EDITIONS RADIO 9, rue Jacob — 75006 PARIS (145 F) LE FUTUR AUJOURD’HUI On ne présente pas Albert Ducrocq, professeur 4 la Fondation nationale des Sciences politiques, journa- liste, écrivain et chroniqueur écouté a Europe 1. On ne présente pas davantage son livre, accueilli par des critiques élogieuses dans toute la presse, lorsqu'il a paru, en 1984, chez Plon. Les 15 années qui vont changer notre vie : I'informa- tique, I’électronique, les robots, mais aussi la bio- industrie, etc. Le Futur aujourd'hui, publié en livre de poche, dans la collection Marabout Université, va toucher de nou- veaux et nombreux lecteurs... vous peut-étre ! Clément RENARD. GUY-HACHETTE Communications Il y aun abonné au numéro que votre Apple a demandé... Branché, cablé : la communication est a l’ordre du jour. Malheureusement, nos beaux ordinateurs n’aiment guére communiquer; et le jour ow |’on pourra raccorder une machine au téléphone aussi simplement qu’on branche aujourd’hui une prise de courant ou un moniteur vidéo ne semble pas encore arrivé... Connecter son Apple au téléphone Cest, soudain, pouvoir communiquer avec le monde entier comme avec son voisin, pour transmettre, recevoir ou échanger informations, graphismes ou programmes, Pour cela, il faut disposer d’une inter- face RS-232 (carte’ Série) et d’un modem ou, solution de luxe, d’une carte-modem directement enfichable dans |'Apple. A cela il faut ajouter un logiciel de communication sans lequel votre machine serait incapable du moindre dialogue intelligent. Car la communication, ¢a se gere. Si certains modems, comme la carte Appletell par exemple, sont directe- ment livrés avec un logiciel performant, il n’en est pas de méme pour d'autres. Aussi les concepteurs de softs se sont- ils penchés sur la question et Proposent-ils désormais des solutions. Pour vous, nous venons de tester Ver- sion Com, de la turbulente société fran- ¢aise Version Soft, et Telplus de Micro- mat, une autre société francaise. Version-Com Un joli coffret, un manuel copieux, une disquette : il n’en faut pas plus pour gérer les communications sur un Apple. Mais pas n’importe lequel : Version-Com ne reconnait que deux machines, |’Apple IIc et le nouvel Apple lle (version 65C02). Si vous pos- TREMPLIN MICRO sédez un Apple plus ancien, il vous fau- dra donc retourner a la case départ et passer chez votre revendeur pour faire monter le kit de mise a niveau. Cété modems, Version-Com est plus souple et supporte tous les modems externes raccordés a la carte SSC Super- Série ou la sortie série du IIc, ainsi que les modems Apple-Sectrad, Digite- lec et Ultec. II reconnait également les cartes Appletell, Apple-Cat Il (de Nova- tion) et les MID Supercom ou $2. Un bel exploit quand on sait que pratique- ment aucune de ces cartes ne fonc- tionne sur les mémes parametres ! Avant d’acheter Version-Com, il sera donc prudent de vous assurer que le matériel dont vous disposez déja est bien compris dans la liste ci-dessus. II vous suffira alors de vous reporter au chapitre qui lui est consacré dans la documentation livrée avec le logiciel pour savoir dans quel slot insérer la carte (c’est parfois essentiel !) ou com- ment régler les micro-switches de votre interface. Les explications de |’auteur, bien que parfois un peu disséminées, ont le mérite d’amener tres vite au réglage idéal et donc a un fonctionne- ment correct... Bravo ! Fidéle au concept de la souris, Version- Com vous obligera a cliquer. Quelques secondes aprés |'installation du logi- ciel, une ligne de commandes apparait en haut de |’écran et permet d’ouvrir des fenétres pour choisir la fonction désirée : numérotation automatique, opérations sur fichier, édition, transfert, appel de procédure, etc. On ne jongle done plus avec des codes-contréle et cette conception est bien pratique. Version-Com est aussi capable de tra- vailler tout seul. Pour cela, il faut d’abord cliquer l’option Commencer lVapprentissage; le programme mémo- rise alors toutes les opérations que vous exécutez a partir de ce moment: il enregistre la procédure. Laquelle peut ensuite étre stockée sur disquette et étre exécutée automatiquement par la suite. On retrouve Ia I’une des fonctions ayant contribué au succes de la carte Appletell, et il faut reconfaitre que c'est trés pratique, méme s’il y a des limitations (par exemple un numéro qui ne répond pas, alors que vous étes en mode apprentissage). Version-Com autorise le transfert de fichiers en émission comme en récep- tion, la mémorisation, l’impression et permet, en fait, de travailler a distance avec une autre machine sans se préoc- cuper de la liaison téléphonique. La seule limitation concernera évidem- ment la vitesse de transmission : 300, 600 ou 1200 bauds, ce n’est pas bien rapide ! Communiquer avec qui ? Version-Com se révéle trés utile dans tous les cas ot if est nécessaire de relier deux machines, méme de marques dif- férentes, pour des échanges d’informa- tions. C’est alors un logiciel souple et fiable. En revanche, dés que l’on commence a vouloir varier les plaisirs en multipliant le nombre de correspondants, on se heurte a de petits problémes. Par exem- ple, ne comptez pas transformer votre sucoosenssucnmencesuennosenssssseesenseEsesssaseseossesesessseNesesssnenesuessensscossesesaerseeseeaee Apple lic en Minitel : l’interface série du llc refusant la norme V 23 (75/1200 bps). Méme chose, d’ailleurs, sur le Ile et la plupart des modems : seules les cartes Appletell et Novation permettent l'accés aux serveurs a la norme Vidéo- tex. Les serveurs américains (norme Bell 103) sont, quant a eux, réservés aux possesseurs d’une carte Appletell, la seule qui accepte le 300 bauds full duplex. Autant de limitations parfois bien frustrantes, qui s’expliquent davantage par les limitations des modems que par celles du logiciel, évi- demment incapable d’appeler des fonc- tions qui n’existent pas. L’autre probleme rencontré concerne la numérotation et la réponse automati- que. Malgré son prix élevé, le modem Apple, fabriqué par Sectrad, ne sait pas composer les numéros ni se connecter automatiquement. Adieu donc les pro- cédures de Version-Com ! Version-Com met enfin en évidence les dramatiques limitations de |’Apple llc “pour ce qui concerne les communica- tions, de nombreuses options, prévues par le programme, étant interdites par les lacunes de la machine. Telplus Produit par Micromat, Telplus ne fonc- tionne que sur les Apple II et Ile dotés d’une carte Super-Série et d'un modem ou de la carte Adaptel Micromat. — version série : la SSC Apple doit étre raccordée a tout modem conforme aux normes V21 (Transpac 300 bauds), V23 (émission 75 bps, réception 1200 bps) ; — version Adaptel : cette carte spécifi- que, reliée a un Minitel, permet d’utili- ser le modem intégré du Minitel en mode V22 (1200/1200 bps). Cette derniére solution est fort attirante pour tous ceux qui habitent en zone annuaire électronique et qui disposent donc d’un Minitel gratuit. La carte Adaptel est annoncée par Micromat au prix de 450 F... Nous ne vous en dirons Prix & adresses Version-Com : chez tous les revendeurs Apple. Prix : 900 a 1 000 F. Version-Soft, 19 rue Ganneron, 75018 Paris. Tél.: (1) 43-87-94-87. Telplus: en vente chez International Computer (26 rue du Renard, 75004 Paris), Microshop (6 rue de Chateaudun, 75009 Paris), IVS (10 rue de Montesson, 95870 Bezons) ou par correspondance chez Micromat. Telplus : 800 F. Trans- can : 450 F. Micromat, BP 63, 93130 Noisy-le-Sec. Tél.: (1) 48-49-16-29. BRERA RSRSSSSSSSSSD NASTTEEIISSSADED LESSENS SOLOM SOOT SUESOLAEAALISSOSSTASSSSGTITVLIRTSS DAR Be SS LESTST SS pas plus sur son fonctionnement car il nous a été impossible de nous la procurer. Si le coffret de Telplus est prometteur, la doc livrée avec le logiciel est, elle, a la limite de l'indigence. Au lieu d’indi- quer en quelques lignes les réglages 4 effectuer sur la carte Super-Série pour une configuration rapide, on se con- tente de vous renvoyer 4 son mode d’emploi. Léger... Heureusement, une fois "interface paramétrée, les menus (au nombre de deux) sont clairs. On choisit une option, le programme se charge et s'exécute. Le démarrage d'une commu- nication est simple, de méme que le choix d’un mode de communication ou d’une configuration. Avec deux drives, Ga va méme trés vite: disquette pro- gramme dans |’un, disquette fichier dans l'autre, tout tourne sans la moin- dre intervention. Avec un seul drive, en revanche, on n‘arréte pas de changer de disquettes. Enervant. Vendu 800 F, Telplus a des ambitions limitées et se contente d'une émulation Minitel simplifiée. Les touches de fonc- tion du Minitel sont simulées par I’asso- ciation de Escape et d’une lettre clé (ESC-E = envoi, ESC-S = sommaire, etc.). Quant au graphisme, il est «sim- plifié», ce qui, en clair, veut dire qu'il est remplacé par des signes étranges, sans signification. Si le serveur Minitel appelé n’envoie que des pages graphi- ques, bonjour les dégats ! S‘il envoie beaucoup de texte, vous pourrez I'utili- ser. C’est le cas de |’annuaire électroni- que et de certaines banques de données. Telplus permet, en mode terminal, d‘imprimer les pages affichées ou de les stocker sur disquette en DOS 3.3. II est aussi livré avec un utilitaire qui assure la conversion des fichiers Wordstar, Applewriter ou Visicalc, ce qui ouvre de nombreuses possibilités dans le cas d’échanges avec un autre utilisateur doté d’une configuration identique. Transcan Dans la foulée, nous avons aussi testé Transcan. C’est un petit logiciel sans prétentions (450 F), construit sur les mémes bases que Telplus et dont le seul réle consiste a se connecter 4 Transpac et a rechercher des numéros d’accés aux banques de données. On indique au logiciel le numéro de départ et il «scanne» jusqu’a ce qu’une con- nexion intervienne. Transcan_ signale alors sa réussite, stocke le numéro sur disque et continue. Vous pouvez ainsi vous constituer un véritable annuaire des banques de données, y compris de celles dont le numéro est confidentiel. Reste a savoir comment vous |'exploite- rez ensuite. N’oubliez pas que cette recherche suppose que vous soyez d’abord connecté a Transpac et que les PTT commencent a facturer la commu- nication a ce moment-la. Un «scan- ning» de deux heures risque donc de cotter cher. Rendre les modems intelligents Un Apple tout seul ou avec modem ne sait pas communiquer. Un_ logiciel d’exploitation est donc indispensable dés lors que l'on souhaite imprimer, mémoriser ou transmettre des données. Version-Com est le premier logiciel réellement universel.... ou presque. Facile 4 paramétrer et a utiliser, il résout bien des problémes de compati- bilité et constitue un excellent outil pour qui souhaite relier plusieurs machines par téléphone interposé. II autorise aussi l’accés aux banques de données a vocation professionnelle. En revanche, les applications grand public, normalement accessibles par Minitel, restent difficiles 4 exploiter et, faute d'une carte Appletell, il ne faut pas espérer afficher les graphismes que diffusent les serveurs comme le Pari- sien Libéré, AZ et les autres.” Telplus peut, quant a lui, constituer un pont entre deux machines, d’autant que le logiciel n'est pas protégé et peut donc étre ouvert et modifié par tout bon programmeur. Sa fonction émula- tion Minitel permet effectivement de dialoguer avec des serveurs grand public, a condition de se satisfaire de Vaffichage sans graphisme. Si vous connaissez vos correspondants, Version-Com vous permettra de dispo- ser d’un excellent utilitaire de commu- nication pour transmettre ou recevoir des données, méme en votre absence. Les fanas de Calvados apprécieront aussi les fonctions d’apprentissage et la politique «souris» qui, associées aux possibilités de mémorisation des pages, permettent de diminuer les temps de transmission, donc les coats et d’amor- tir ainsi le logiciel. En revanche, si votre seul but est de transformer votre Apple en Minitel pour accéder aux services Télétel, con- tinuez a utiliser I'horrible joujou des PTT... ou pensez a la carte Appletell, solution de luxe peut-étre, mais pres- que parfaite. Guy-Michel Cogné GUY-HACHETTE 1@ X$ doit étre la premiére variable du programme. 30 Au départ, on initialise les poin- teurs 26 et 27 ($1A- $1B) 110 CALL-998 monte le curseur ($FCIA-VP) 130 CALL-922 envoie un saut de ligne ($FC66-LF) 150 CALL-1036 avance le curseur ($FBF4-ADVANCE) 220° CALL-1008 le recule ($FC1G-BS) 250 CALL-198, c'est BELL ($FF3A) 300 Dans cette ligne, @ I'affichage, tous les caractéres insérés entre les symboles § et §§ apparaitront en mo- de inverse (voir ligne 330) 16 26 38 40 5a 48 78 EL) OG 108 118 128 136 148 158 168 178 188 198 288 216 228 238 246 250 268 278 288 298 306 BASIC ET LANGAGE MACHINE [iGXoSa are toe NESTOR CORRECTION AVANCEE Insérer ou supprimer un caractére (et méme plusieurs) dans une variable n‘est pas d'une réelle simpli- cité... notamment en Basic, mais il est possible de traiter le probleme autrement. Voici une premiére approche. Gageons qu'elle nous vaudra des développements intéressants (c'est 4 dessein que je ne reprends pas, une 4 une, les explications du programme en L.M... cherchez un peu !) XB = "": PRINT CHR (21): TEXT : HOME : NORMAL : GO SUB 326 N= 6: REM 4 LIGNES DE TEXTE MAXIMUM <VTAB 3 A 4) POKE 26,0: POKE 27,2 GOSUB 368:x$ = FS “TAB 3: HTAB 1: CALL 768 VTAB PEEK (27) + 1: HTAB PEEK (26) + 1 GET R#:A = ASC CR$I:V = PEEK (37) IF A = 9 THEN CALL 815: GOTO 5a IF A = 127 THEN CALL 8446: GOTO 5@ IF A > 31 THEN CALL 872: GOTO 56 IF A = 11 ANDY > 2 THEN CALL - 998: GOTO 74 IF Y= 2 AND PEEK (36) = 8 AND A = 8 THEN 78 IF ¥V ¢ N AND A = 1@ THEN CALL - 922: GOTO 70 IF Y= N AND “A = 18 OR PEEK (34) = 39) AND A = 21 THEN 70 IF A = 21 THEN CALL - 1836: GOTO 7a IF A > 8 THEN 78 ON A GOTO 186,198,238,206,298,219,70,220 HTAB 1: GOTO 76 HTAB 48: GOTO 78 VTAB 3: HTAB 1: GOTO 7@ VTAB 3: HTAB PEEK (24): GOTO 7@ CALL - 1988: GOTO 78 CALL - 198: VTAB 22: HTAB 6: PRINT " <8188> SUITE CORRECTION <8288> FIN "3: GET R#: PRINT RS IF R$ = "1" THEN 58 CALL - 198: VTAB 22: HTAB 1: PRINT "<SE88)NCORE (§ MSS)ENU DE DISQUETTE ¢8TS88)ERMINE "3: GET R#: PRINT : IF R& = "T" THEN HOME : END IF R@ = "E" THEN VTAB 22: CALL - 868: GOTO 238 IF R$ = "M" THEN PRINT CHR* ¢4)"RUN MENU" GOTO 258 VTAB 14: PRINT : CALL - 958: FOR I = 1 TO 16: PRIN T 2 "ss NEXT : PRINT PRINT "INSERER : CTRL-3188 SUPPRIMER : SDEL8§ CTRL-SA8S: Début ligne CTRL-SBS8: Fin ligne CTRL -8D88: Début texte CTRL-SFS§: Fin texte CTRL-SC8S: Terminé CTRL-SS8E88: Dépannage" TREMBLIN MICRO 316 326 338 348 358 368 CALL - 198: POKE - 16368,0: WAIT - 16384,128,127 : POKE - 14368,0: VTAB 14: PRINT : CALL - 958: GOT 0 66 PRINT CHR® (4)"BLOAD COR.LM": CALL 936: REM ROUTIN E CORRIGER DE 768 A 835 ET ROUTINE INVERSE DE 9346 A 948 VTAB 13: PRINT " UTILISEZ LES SQUATRES§ FLECHES DE L’APPLE MAIS NE DEPASSEZ PAS LE POINT... FINAL" UTAB 22: PRINT "“ SCTRL-ES$ = TABLEA DES COMMAN DES" RETURN Fé = "CECI EST UN SIMPLE ESSAI, ET CETTE VARIABLE DE YRA, PAR LA SUITE, PROVENIR D’UN FICHIER DIRECT DONT LES ENREGISTREMENTS NE DEPASSERONT PAS 4 LIGNES DE TEXTE. ALLONS-Y." 310 SEQUENCE D'ATTENTE BIEN CONNUE 320 CALL 936 met en service la routine d'affichage en mode inverse (obtenue, dans le programme, par l'insertion d'un CTRL-I, symbolisé, dans notre listage, par §, et stoppée par un CTRL-N, symbolisé 378 RETURN par-deux §§): . COR.LM (PREMIERE PARTIE) 8306- AS 6? LDA 69 9342- c4 19 CcPY $19 §302- 18 CLE 8344- Da FS BNE $833B 8303- 6? 82 ADC £02 8346- AY 28 LDA £$28 8305- 85 a6 STA $06 9348- 99 88 24 STA $2008 ,Y @387- AS 6A LDA 6A @34B- 4C 7B 83 JMP $0378 a389- 69? 88 ADC £$00 @34E- 26 8C 3 JSR $838C @36B- 85 67 STA $07 @351- C4 18 DEC $18 838D- Ag a1 LDY £301 8353- Ag 19 LDY $19 @3GF- B1 06 LDA ($06) ,¥ @355- BY @1 28 LDA $2001 ,7 Q3l11- 43 PHA 6358- 99 8 28 STA $2000, @312- C8 INY @35B- ce INY 8313- Bi G4 LDA ($06),7 a35C- C4 18 CcPY $18 a315- AS TAY @35E- DB FS BNE $0355 O314- 68 » PLA 8346- AS 28 LbA £420 @317- 85 @8 STA $08 83462- 99 88 28 STA $2008 ,7 B319- B4 89 STY $09 @365- 4C 7B 63 JMP $037B B31B- 28 3A DB JSR $DB3A a36e- AD 88 82 LDA $9208 @31E- AG Oa LDY £08 @36B- 48 PHA 4328- Bl a4 LDA ($04) ,¥ @36C- 28 8C 63 JSR $838C @322- 85 18 STA $18 Q34F- Aq 19 LDY $19 9324- a4 18 LDY $18 @371- 68 PLA 8326- 88 DEY 6372- 99 GH 28 STA $2000,1 6327- Bi ag LDA ($08) ,¥ 6375- 28 F4 FB JSR $FBF4 @329- 99 G8 26 STA $2008, @378- 4C 8C 63 JMP. $838C @32C- Da FS BNE $0326 @37B- AG 48 LDY £308 @32E- 6a RTS @37D- A5 18 LDA $18 @32F- 26 8C 83 JSR $8380 @37F- 91 84 STA ($06) ,¥ 8332- E4 18 INC $18 B381- ce INY @334- Ad 18 LDY $18 @382- A? BB LDA £$09 8336- AP 68 LDA £300 @384- 91 86 STA ($86), @338- 99 68 24 STA $2006, 0386- cs INY 633B- a8 DEY @387- AP 28 LDA £920 , 833C- B9 FF 1F LDA S1FFF,Y 8389- 91 G6 STA ($06), @33F- 99 88 28 STA $2008,Y @38B- 68 RTS 12 GUY-HACHETTE aueononsuceseoosonseesceooeeseseeoeoeeeeee eee es een esses ee sewoTesos sees eeeeeeeeeeeeeeneeEeeeeS } 24 LDA = $24 $300-$32E : \ ore ee ere . { 1A STA 1A Cette routine lit l'adresse de la variable X$ (qui 25 LDA $25 est la premiére du programme). Elle affiche la 18 STA $18 chaine pointée par Y et A (grace au sous- c c programme $DB3A-STROUT), puis elle la recopie 2 SBC £3 a 42 & partir de l'adresse $2000. ay BEG $03A2 TAX $32F-$38B : 58 LDA £880 Du basic, on y va par un CALL 815. C'est la routine 5 cle — d'insertion. Notez qu'elle utilise un sous- ee 0G) £928 programme ($38C-$3A7) facile &@ comprendre DEX 7 quand on sait lire, en $24 la position horizontale 6 FA BNE $829C du curseur et en $25 sa position verticale. Le JMP ELE de la ligne $34B saute la routine de suppression 24 ADC $24 de caractéres (CALL 846) qui commence @ 19 STA #19 ‘adresse $34E. 83A7- 6a RTS DEUXIEME PARTIE En $368 (CALL 872) on lit le caractére qui est dans le buffer (mais seulement si celui-ci dépasse la (AFFICHAGE MODE INVERSE) valeur décimale 31, ce qui élimine les caractéres g348- A? BB LDA = £$B3 de contréle), on le recopie 4 l'adresse 2000 + Y, B3AA- «85 36 STA $36 puis on avance le curseur grace au sous- @3AC- AS G3 LDA £393 programme $FBF4. On notera tous les sauts 4 Q3AE- 85 37 STA 37 $38C o¥, nous l’avons déja vu, la position du cur- @2Ba- 4C EA a3 JMP #03EA seur est diment sauvegardée en $1A et $1B @3B2- C9 39 CMP ¢$89 (adresses lues 4 partir du Basic, 4 la ligne 60). 93B5- ba as BNE $O3BC 2 3B7- AS 3F LDA £83 Pausisens purse’: 83B9- 85.32 STA $32 Elle concerne l'affichage en mode _ inverse, @3BB- 68 RTS obtenu, dans la liste du programme, par un @3BC- C9 BE CMP = «£$8E CTRL-I (symbolisé par §) et interrompu par un Q@3BE- D@ 65 BNE $83C5 CTRL-N (symbolisé par §§). Pour sortir de ce mode g3c@- A? FF LDA £$FF d'affichage, faites un RESET. 93C2- 85 32 STA $32 Avec ProDOS, remplacez $3EA (ligne 3B0) par 63c4- 48 RTS $F26F (4CF26F). De plus, dans le programme en 83C5- 28 FG FD JSR $FDFG Basic, placez un CALL 936 au début des lignes Q3C8- 48 RTS 230, 250 et 300. COR.LM 8308- A5 49 18 69 82 85 a6 AS 8348- AD @@ 82 48 28 SC 93 Ad 8208- 6A 49 68 85 87 AB A1 BI 8370- 19 68 99 88 26 20 F4 FB : 6318- 86 48 C8 Bl 6 AB 68 A5 6378- 4C 8C 83 AB 8B AS 18 91 @318- 98 84 89 28 3A DB AG BB @388- 86 C8 AP BB 91 G4 CB AP BSAVE 0320- B1 96 85 18 A4 18 88 BI 9388- 20 91 84 46 AS 24 85 1A COR.LM 8328- 88 99 G@ 26 DA FS 68 24 @396- AS 25 85 1B 38 E? @2 FB ~~" @338- 8C @3 Eé 18 A4 18 AP 88 8398- 49 AA AP GB 18 469 28 CA AS300, @338- 99 08 28 88 B9 FF IF 99 @3AG- DA FA 18 65 24 85 19 48 L$co @348- 88 20 C4 19 D@ FS AD 28 @3A8- AP B3 85 36 AP B3 85 37 8348- 99 86 28 4C 7B 63 28 8C @3BQ- 4C EA 63 C9 89 DB 45 AP @350- 63 C46 18 A4 19 BP G1 26 @3B8- 3F 85 32 68 C9 BE DB 85 9358- 99 88 28 C8 C4 18 DA FS @3CG- A9 FF 85 32 68 26 F@ FD @368- AD 28 99 88 28 4C 7B 83 @3C8- 68 VERIFICATIO T = @: FORI = 768 TO 968: T = T + PEEK(I) : NEXT : PRINT T Résultat exact: 28248 TREMPLIN MICRO 13 ESSNUMUET vos 3.3. | propos | NOVA UpWNE @ FEKRSAKAALAAA KAA AAK RASA SASK S KAKA K KERR EERE KR E * * HEHE HeEe * 7 * * = * * * oe * * + . * * * * * * SHEE = * * * * * * * * * x * * * * * + * * ae * ¥ ees HERS * * * * al = Voici tout un ensemble de routines * * trés Bbruyantes: de quoi mettre une * * certaine animation dans vos jeux * % = HRERK ARRAS KARAS ELAR AERA RE RE EK EKER KERR REE ORG #7000 * Ce programme s’assemble avec ProCODE, en un * Vous pourrez insérer ces petites routines e& * of bon vous semblera, mais je vous recomman * utilisation depuis un programme en Basic, de les placer * au-dessus de HIMEM (#73, #74), puis: de desc KE MACRO SON He bo a SON MAC LDA £.6 LDX £.1 LOY £2 JMP SOND EOM FIN ERERAXKAKRERRKRE SERRE * * * DES INDICATIFS * * ¥ HEXELEREREL EKER ERKKES * Voici quelques sons trés courts qui vont vo * de bruiter vos jeux, ou de remplacer un bip * que bref, le fameux CTRL-G ¢BELL). INDICATIF SON $67,%32,%32 MUSIQUE SON $16,%75,%01 PROMPT SON $81 ,8FF,%23 SIRENE SON $61,¢FF,$FF TUUT SON #61,¢FF,¢01 SLURP SON $86,%06,¢FE Assemblage avec ProCODE e seule fois nh assembleur de, pour une endre HIMEM. us permettre aussi connu 4 GUY-HACHETTE 983A: 8D 983D: BC 9048: SE 9043: a9 9045; 30 9048: 88 9849: 78 984A: AE 904D; AD 9058; 6D 9853: 8D 9056: AS 9057; 88 9858: DO 985A; AD 905D: 3A 9O5E: AB 9O5F: 88 9068; DB 9862: AD 9065: CA 9066; 0G 9868: CE 906B: 08 986D: 28 9O6E: 69 36 37 38 66 38 39 37 39 FD 38 FD 38 ES 36 oD 78 96 96 98 8 98 98 98 98 RHEE E EEE HELE EHLERS * SONQ * FEHR KEKE REE ERE REE ERE EEE * Ce sous-programme génére les sons. Pour y parveniry i7 * lui faut 3 paramétres, contenus dans (a) (x) et Cys * (a) nombre de répétitions de la cellule de base * (x) fréquence de base * Cy) incrément pour modifier la fréquence de base * Donc, si vous entrez par SONOI1, les paramétres doivent * @tre placés dans CONT INCR et FREQ. CONT DS INCR DS FREQ DS SPK = $0838 SONO STA CONT ; sauve les paramétres STY INCR STX FREQ SONO1 LDA £8 ; init. pointeur d’incrémentation STA P PHP. } pas d’interruption... SEI jo++.Si on utilise la souris 81 LDX FREQ 3 génération du son ADC INCR STA P TAY §3 DEY j boucle d’attente LDA SPK youn crack TXA TAY 84 DEY ; boucle d’attente BNE 8&4 LDA SPK DEX DEC cont BNE §1 PLP RTS rétablit les interruptions TREMPLIN MICRO ‘SOW avec Richard THIBERT (uite) LBB RRR H RHA RHEE KEES REESE 194 * * 105 * UNE VRAIE SIRENE * 166 * * 1G 7 RHR KAKA AHHH EEK AHH E RHEE 168 109 * Cette routine imite une siréne classique avec une modu- 11@ * lation de la fréquence qui monte, puis qui descend. Une 111 * simple pression sur une touche interrompra la siréne. 112 113 * Vous pouvez essayer STfreq = $28 114 # Lfreq = $26 1150 # Hfreq = $30 116 * Le son est beaucoup plus désagréable, parfaitement! AL? 118 STFREQ SAG 119 LFREO $58 126 HFREQ = $AG 121 122 KBD al $0008 123 KBDST = $CO16 124 9O6F: 88 125 SIR PHP } pas d’interruption 9670: 78 126 SEI 9671: AD 146 CB 127 LDA KBDST 3 le clavier remis a zéro 9074: A2 AG 128 LDX £STFREG 3 fréquence de départ 129 9876: BA 138 81 TxA 3 (x) est sauvé dans (a) 9877: CA 131 82 DEX ; boucle d’attente 9878: EA 132 NOP 9879: D@ FC 133 BNE 82 987B: AA 134 TAX j Pestore ¢x) 987C: AD 38 C@ 135 LDA SPK youn crack 987F: AD G8 CB 136 LDA KBD j une touche ? 9882: 38 GE 137 BMI 84 3 oul 9084: 98 86 138 BCC 83 3 ‘c) dit si on monte ou pas 139 9086: CA 148 DEX } on descend 9887: EG 56 141 CPX £LFREQ j est-on trop bas ? | 142 9089: 4C 76 98 143 JMP 81 3 (c) est positionné 144 908C: ES 145 §3 INX ; de m*eme pour le haut 988D: E@ AG 146 CPX £HFREG 9O8F: 4C 76 98 147 JMP 81 148 9692: 28 149 84 PLP 9093: 68 158 RTS 151 16 GUY-HACHETTE 9896: 9097: 68 9898: 9B9B: 9O9E: 9O9F: AD Ac 88 08 38 9S FD BAL: 9OA2: CA DG 87 9004: 9BA7: CE 08 94 EF 9BA9: IBAA: 28 68 9QAB: 9BAC: 9BAE: EA 24 4c 66 98 ce 98 98 98 152 153 154 155 156 157 158 159 168 161 162 163 164 165 166 167 168 169 176 171 172 173 174 176 177 178 179 186 181 182 183 184 185 186 187 188 189 198 191 192 193 194 195 196 197 198 199 288 281 HEHE R AREER EEE HERE E ERE REN * * * ETES-VOUS JEUNE ? * * * HEH AE LAK AER E REE E EERE KEK La faculté d’audition de hautes fréquences diminue avec 1’Gge, et d’une maniére trés sensible. Pour tester vos propres facultés d’audition, voici une routine qui vous permettra de connaitre la fréquence émise par le haut- parleur de votre Apple. On imagine déja le programme Basic qui, par une suite de tests, déterminera vos limites et votre age (tout & fait approximatif, rassurez-yous, Madame!). * OK OK OK OK OR OK OK F est la fréquence. Nous avons la correspondance avec F 511500/(20 + 5 * F) = F en Hz (F valeur de l’octet). Je vous signale que je détecte un (faible) sifflement pour 14613 Hz, mais plus rien & 17088. Une mesure plus fine m’a permis de conclure que j’entends jusqu’a 14988 Hz. Bien str, ce n’est qu’une indication, compte tenu de la bande passante du haut-parleur de I’Apple. OR ROR OK Ok * Définissez les paramétres et faites un JMP test ou CALL * test (TEST étant bien sir remplacé par l’adresse de la * routine), T oS i ; détermine la durée F DS 1 3 la fréquence TEST PHP SEI $1 LDA SPK 3 4 cycles LDY F 3 4 §2 DEY rz BNE §&2 72,3 DEX 32 oJ BNE 83 3 2,3 DEC T 346 BNE §1 33 PLP RTS §3 NOP 32 BIT $8 3 3 pour 3 cycles JMP §1 33 TREMPLIN MICRO 17 SON avec Richard THIBERT uite) Table des symboles ordre alphabétique -CONT. 1.4. 639835 “Fee c eee BIBIS FREQ. .....39038 -HFREQ.....$86A8 -INCR......$9837 ? -INDICATIF.$9088 -KBDST.....$C010 “LFREQ.....$085 7 -MUSIQUE...$9009 ee ? -PROMPT....$9012 2? -SIR.......3986F 2 -SIRENE....$981B ? -SLURP M-SON...... +8131 “SONG: 11120$983A ? -SONO1...5.39043 =SPK =STFREQ... + $6608 Teseeeeees$9O94 (7 -TEST......898946 ? -TUUT..... Si vous ne disposez pas d’un assembleur, voici les 177 octets générés par ProCODE : PHB8- AY 467 AZ 32 AG B2 40 3A 7066- D&B FD AD 34 CH CA DG ES 7O08- 90 AF 16 AZ 78 AB O1 40 7868- CE 34 78 D@ DD 23 68 a8 761G- SA 74 AF G1 AZ FF AB 23 a7G- 73 AD 16 CB AZ AB SA CA ?G18- 40 3A 94 AY B1 AZ FF AB ?a75- EA DG FC AA AD 34 CH AD 7026- FF 40 3A 98 AY G1 AZ FF 7a86- 66 CH 34 BE 74 44 CA EB 7028- AB 41 4C 3A 70 AP BH AZ P88s- Sa 4C 76 76 ES EB AB 40 F830- 46 AG FE 40 3A 74 ao aa PO9G- 76 96 28 46 G6 4H 48 78 7838- G6 4H 8b 36 9H BC 37 96 9a98- AD 34 CH AC F5 78 88 DA 7640- SE 38 78 AP 84 SD 39 96 S@AG- FD CA Da a7 CE 94 7G DB 7048- 88 78 AE 38 94 AD 39 90 ?HAS- EF 28 68 EA 24 64 4C 98 7656- 6D 37 94 8D 39 96 AS 88 PaBG- 96 9658- D@ FD AD 38 CB BA AS 8g BSAVE SON.C, A36864, L177 VERIFICATION Taper, en mode direct : T = 6: FOR! = 36864 TO 36863 + 177: T = T + PEEK(I) : NEXT : PRINT : PRINT T Le résultat devra étre 22342 SON.DEMO (pour essayer les routines !) 168 288 218 228 238 246 258 HIMEM: 36863: TEXT : HOME : PRINT CHR# ¢4)"BLOAD SON.C" INVERSE : PRINT "SONO": NORMAL : RESTORE VTAB 22: PRINT "APPUYEZ SUR UNE TOUCHE APRES CHAQUE SON": VTAB 3 READ AS: PRINT A$: READ CA: CALL CA POKE ~- 16368,6: WAIT - 16384,129: POKE - 16368,@: PRINT X= XM +1: IF X < 6 THEN 48 HOME : INVERSE : PRINT "SIRENE": NORMAL : VTAB 22: PRINT "APPUYEZ SUR U NE TOUCHE POUR FAIRE CESSER" CALL 36975: HOME : INVERSE : PRINT “ETES-VOUS JEUNE ?": NORMAL :F = 8 VTAB 3:F = F - 1: POKE 37013,F: VTAB 7: CALL - 958: PRINT "FREQUENCE = "; INT (511500 / (28 + 5 *# F))" Hz": CALL 37014 IF F > 2 THEN 96 ‘ DATA "INDICATIF SON $67,%32,%82 (183 58 138)",36864 DATA "MUSIQUE SON $16,%78,$81 ¢ 16 120 1)" 36873 DATA "PROMPT SON $01,$FF,$23 ¢ 1 255 35)",36882 DATA "SIRENE SON $01,$FF,$FF ¢ 1 255 255)",36891 DATA "TUUT SON $61,$FF,$@1 ¢ 1 255 1)>",36908 DATA "SLURP SON $86,306,$FE (128 86 254)",36909 18 GUY-HACHETTE ¢ Complément au programme SON ¢ Trois mystérieuses instructions de ProCODE En complément au programme son, je propose ici quelques informations trés utiles au musicien pro- grammeur. Vous savez tous que chaque note de la gamme correspond 4 une fréquence définie. ll existe des tableaux de conversion, mais ils sont toujours difficiles d'emploi, car non compris dans le principe de calcul. Voici la méthode pour calcu- ler les relations notes et fréquences. Sachez d'abord que la plus petite division du ton est le COMA : dans un ton il y a 9 comas et, bien sor, comme les nombres décimaux ne sont pas utilisés, on divise ce ton en deux types de demi-tons : le demi-ton diatonique 4 comas et le chromatique 5 comas. Nous allons chercher la valeur absolue du coma. Vous savez que I'oreille percoit une variation de fréquence logarithmiquement. Donc une variation d'un coma se traduit par un coefficient pour multi- plier la fréquence de la note précédente. Tout ceci al'air compliqué, mais la réalité est fort simple. Une variation d'une octave correspond 4 une mul- tiplication par 2 de la fréquence. Or une octave comprend 5 tons et 2 demi-tons diatoniques donc 53 comas. On a, si X est la valeur absolue du coma X 453 = 2d'ob on tire X = 104 (LOG2/53) Finalement on a F* 1.0131644 N = Fou Nest la distance en comas des deux notes. On peut alors calculer le tableau suivant : 0 la 444Hz | 66 do | 1053 Hz 9 si 499Hz | 75 ré 1184 Hz 13 do 526 Hz 84 mi | 1332 Hz 22 ré 592Hz | 88 fa | 1403 Hz 31 mi | 666Hz | 97 sol | 1579 Hz 35 fa | 702Hz | 106 | la | 1776 Hz 44 sol | 789Hz | 115 | si | 1998 Hz 53 la 888 Hz 119 | do | 2105 Hz 62 si 999 Hz Voici pour finir quelques indications trés confiden- tielles sur ProCODE. En effet, le programme, dans sa version 1.23, comprend 3 instructions non expli- citées dans le manuel, et ceci pour des raisons TREMPLIN MICRO de délai, la documentation étant terminée bien avant la mise en vente, et pour des raisons de fia- bilité, une longue période de test étant de rigueur. Passons aux choses sérieuses... voila les 3 instruc- tions méconnues : SHK ON, SHK OFF, NODSK. Pour les utilisateurs de ProCODE voici, sous la méme forme que dans le manuel, la description de ces instructions. SHK ON — SHK ON — ProCODE permet de gérer un dou- ble octet de contréle, appelé SHECK SUM en anglais ; l'instruction SHK ON indique 4 ProCODE que chaque octet de code généré va étre addi- tionné @ une variable prédéfinie sur 16 bits : 4, dans cette variable, la valeur actuelle de la som- mation est toujours accessible. SHK OFF — SHK OFF — Cette instruction demande l'arrét de mise 4 jour de la variable & qui contient le SHECK SUM. Exemple d'utilisation de ces instructions ; le pro- gramme est entre test et fin s‘il y a un octet diffé- rent lors de l'appel de vérif il n'y aura pas de retour. SHK ON §0 LDA TEST,X CMP £<a TEST LDA £$10 ADC P BNE ERR LDA £$24 STA P LDA P+1 FIN = * BCC §1 CMP £>a INC P+1 BNE ERR SHK OFF | §1 INX RTS VERIF LDX £0 CPX £FIN-TEST SIX P. BCC §0 ERR JMP ERR STX P+] LDA P NODSK —NODSK — Cette instruction s’utilise avec DSK, elle permet d’arréter la génération du code sur disque, ou par exemple de créer plusieurs fichiers code avec la méme source. Exemple : ce petit programme : créer 4 |'assem- blage 2 fichiers objet! et objet2. DSK OBJETI ASC “FICHIER OBJET NUMERO 1” NODSK DSK OBJET2 ASC “FICHIER OBJET NUMERO 2” NODSK Votre bibliothéque INFORMATIQUE J par clement RENARD © Apprivoiser ordinateur : pourquoi pas ? Dans Vous ef l’ordinateur Apple, Edward H. Carlson se pro- pose d’aider les débutants & apprivoiser leur machine (Cedic/Nathan). U'auteur n'est probablement pas médecin, mais il a choisi | de répartir cette initiation sur 33 lecons trés pédagogiques APPLE iN AMAT Leagan ADDL! et réellement a la portée de toutes et de tous. Naturellement, le langage utilisé est le Basic. Chaque lecon comprend, outre des notes destinées au professeur (ou aux parents de l'enfant) de nombreuses questions, explications et embryons de programmes. Est-il possible d’apprendre @ programmer a partir des exemples fournis dans cet ouvrage ? La réponse est oui. Personnellement, ‘ai aimé le style alerte de l’auteur et sa maniére d’aborder chaque instruction du Basic. Je pense que Vous et l'ordinateur Apple mérite de figurer, en bonne place, dans la bibliothéque des classes de micro- informatique. C'est un abc qui s‘adresse surtout aux jeunes (il est illustré de nombreux dessins amusants), mais qui se révélera capa- ble d'intéresser les adultes. a @ Une auto-formation bien comprise Avez-vous eu la curiosité de feuilleter, dans la collection Micropratiques (Hachette Informatique), Les Ecrans de l'Apple lle ? \'éditeur annonce “un langage simple, acces- sible 4 tous. Une présentation claire et utilisant largement la couleur pour une initiation progressive au Basic” Je m'attendais 4 retrouver, sous une présentation luxueuse, une nouvelle compilation des manuels diffusés par Apple. Nous en avons I'habitude, pas vrai ? Surprise, et de taille : si le luxe est bien présent dans les deux livrets de cet ouvrage d'auto-formation (mais qui s‘en plaindrait ?), on a le plaisir — méme quand on connait déja son Apple Ile — d'y trouver de trés bons exemples de program-mation. On se prend 4 regretter que tout cela soit l'ceuvre d'un sujet de Sa Gracieuse Majesté : Phil Robinson (traduction signée par Denis Pellerin). Bravo ! Phil ! c'est de la belle besogne, et j'espére que les nouveaux posses- seurs d'Apple (ainsi que ceux pour lesquels |'Applesoft res- &.._3 : semble encore aux caractéres étrusques) s’offriront ce dou- SAVOIR PLUS EN PROGRAMMATION — ble guide de la programmation sur Apple /le. HEE eee i eae f ‘aurais souhaité la méme chose, mais sous esecee E orme de fiches... C.R ee} OUR EN 20 GUY-HACHETTE SIMPLIFICATION DE LA GESTION DU BUDGET PERSONNALISE AVEC B® GESTION II de Version Soft G ESTION II intéressera bon nombre de Lectrices et Lecteurs de Tremplin Micro, mais seulement s'ils sont les heureux possesseurs d'un Apple lic ou Ile... équipé du 65C@2 (n’oublions pas qu'il existe un kit de mise & niveau trés bon marché). Gestion II s'adresse, en prio- rité, aux membres des profes- sions libérales placés sous le régime des Bénéfices Non Commerciaux (médecins, avo- cats, etc.), mais aussi aux res- ponsables de multiples clubs, associations et syndicats (type loi de 1901). Ce logiciel, facile & maitriser, est d’ailleurs capable de s'adapter, aprés quelques heures d'apprentissage, aux besoins de quiconque désire réaliser une gestion logique, sére et approfondie de ses divers revenus. Miners FewSiws, Un large éventail de comptes Uutilisateur dispose de 60 comptes (dont plusieurs comp- tes bancaires), de 100 écritu- res mensuelles et de 1 mou- vements automatiques (trés pratique pour prévoir le rem- boursement d'un emprunt !). La souris commande tous les menus déroulants et la ges- tion des fenétres. Avec Gestion Il, on retrouve les facilités déja offertes par Version Graph et les autres produits de Version Soft. Toutes les saisies peuvent &tre modifiées ou supprimées par des commandes aussi sim- ples que... Modifier... et Supprimer. Avec Gestion Il, il est com- mode de prévoir son budget pour l'année 4 venir, puis de comparer les prévisions aux dépenses réelles. Des états... a imprimer Tous les rapports peuvent étre imprimés tels qu’ils apparais- sent sur I'écran. On pourra ainsi éditer, suivant les besoins : ¢ Une liste mensuelle des écritures (en totalité ou par catégorie) ; * La liste mensuelle des écri- tures retenues pour une future déclaration de reve- nus ; * La liste des soldes de tou- tes les catégories ; ¢ Une analyse détaillée de revenus, avec calcul du revenu net ; ® Un bilan complet avec le résultat. A noter que Gestion Il per- met |'établissement d’un bud- get prévisionnel détaillé, pour une année compléte, puis la comparaison des prévisions avec les dépenses réelles. Le contréle des relevés ban- caires n’a pas été oublié ; quant a la documentation, elle est fidéle a la philosophie de Version Soft : claire, concise, mais capable d’étre comprise sans effort, grace 4 des exem- ples judicieusement choisis. Demandez une démonstration 4 votre revendeur ! Clément RENARD. Considérations générales Comment peut-on encore vendre — en 1985 — un Apple /le sans carte 80 colonnes, alors que celle-ci est incorporée dans |'Apple lic? Certes, la plupart des revendeurs la proposent 4 leurs clients, mais elle reste — hélas ! — une option (4 noter que la carte texte Apple a récemment subi une baisse de plus de 200 F). On constate que la plupart des nouveaux logiciels travaillent non seulement en 80 colonnes, mais utilisent la totalité des ressour- ces du 65C02, et exigent 128 K. Indéniablement, le concept graphique souris fait recette et devient méme le standard Apple. Les menus déroulants rempla- cent les classiques présentations d’hier. C'est beau. C'est prati- que, mais gourmand en mémoire ! La double haute résolution devient une régle dans les logiciels trés élaborés. C'est notamment vrai chez Version.Soft, l'un des meilleurs compagnons de route de I’Apple //. Uordinateur personnel de papy a vécu, mais il existe encore et se révéle parfois capable, avec ses slots bien garnis, et grace a de multiples bidouillages, de rivaliser avec I'Apple IIc. NESTOR. TREMPLIN MICRO 23 | USR (2) ‘instruction USR(X) de son Apple, mais il sera bien inspiré en réalisant lui- méme plusieurs routines d‘application. En recopiant attentivement ce pro- gramme de démonstration, le néophyte comprendra certainement & quoi sert 16 15 28 P TEXT CHRS (21): 1:@ > NORMAL P HOME INVERSE :T# = " PRINT CHRE FONCTION USR (1293 “PA Lorsque vous lancerez votre program- me, vous obtiendrez successivement ces écrans : GE ZERO) ":; GOSUB 2386 FONCTION USR (PAGE ZERO) PRINT "POKE 14,76 é 22 > POKE 10,76 (0a) ($BA)POKE 12,ADR/25¢6 POKE 12,ADR/256 (#00) *$GC)POKE 11,ADR-PE POKE 11,ADR-PEEK(12)*256 ($B) BUC | 208208 e688)" Ces 3 POKES tial t la fonct USR PRINT : PRINT "Ces 3 POKES initia be! Gr eee ataiaaier lisent ja fonction USR De cette maniére, un appel & USR renver- be Gat ra automatiquement & un sous-programme ; - = en langage machine débutant & |’adresse te maniére, un appel & USR renver- ADR. ra automatiquement 4 un sous-pragr On sait que cette fonction permet d’éta- amme en langage machine débutant ee blir un lien entre un programme en Basic a l’adresse ADR. et un autre en assembleur, auquel elle 35° PRINT : PRINT "On sait que cette transmet des paramétres avant de retour- fonction permet d’éta-blir un lien VED Supe eon anmelpel net pay « entre un programme en Basicet un PRESSEZ UNE FLECHE <- OU -> POUR SUITE autre en assembleur, auquel elle transmet des paramétres avant de r etour-ner au programme principal." 48 GOTO 285 45 INVERSE PRINT "EXEMPLES:": NORM AL_: PRINT : PRINT : PRINT "194 PR Teen INT USRiG) CORGUMENT=6) 188 PRINT USR(8) CARGUMENT=8) 588 X=2eUSROY+1)" 588 X=2xUSR(Y+1) * 5@ PRINT PRINT "Exemple absurde, ¢ upposons qu’une petiteroutine en 1 Exemple absurde, supposons qu’une petite . 7 : J routine en langage machine soit chargée angage machine soit chargée d’affi d’afficher |’argument multiplié par 18, cher l’argument multiplié par 14, comme ceci: SORTED Resse 308 28 39 EA JSR $EA39 (FAC * 18) 55 PRINT-: PRINT "368 28 39 EA JSR 303 60 RTS (Basic) $EA39 (FAC # 18) 303 68 nro éBaniess CPOSLLAS “SCOPE er ARCERSTESUEAS 728 SR 68 PRINT : PRINT "POKE1@,74:POKE12,7 a 3 68/256 :POKE11,768-PEEK(12)*254 va Rem losna citer tt iee ae ee initialiser la fonction USR" 65 PRINT : PRINT "Ensuite, si I’on t PRESSEZ UNE FLECHE <- OU -> POUR SUITE ape un RUN 188, c’est le nombre "; INVERSE PRINT 88;: NORMAL : PR INT “ qui s‘affichera.": GOTO 285 eoneeeuseecoseosnensoeeenenosueeemoseesconsane 24 GUY-HACHETTE 7a 75 138 146 206 7a 75 80 a5 98 188 114 215 228 225 236 PRINT “La valeur de l“argument se trouve dans le registre accumula teur ($9D a $A2), olla routine en langage machine devra doncla récup érer." PRINT : PRINT : PRINT "La NOUVELL E VALEUR de la fonction USR sera celle figurant dans ]’accumulateu ryau moment du RTS renvoyant au Ba sic." GOTO 285 PRINT "FAITES UN ESSAI AVEC CE PR OGRAMME, EN DONNANT DES VALEURS DIFFERENTES A B:": LIST 160,148: G OTO 285 LIST 108,146 POKE 16,76: POKE 12,768 / 256: PO KE 11,768 - PEEK ©12) * 256 POKE 768,32: POKE 769,57: POKE 77 8,234: POKE 771,96: REM ROUTINE L M VTAB HTAB 2: CALL NT "B= “3: GET R$:S = (R$): GOSUB 298 PRINT R#;: INPUT "";B¢:B = R$ + BS): IF NOT B THEN 348 VTAB 22: HTAB 20: CALL - 848: PR INT USR <B>: GOTO 128 VTAB 3: PRINT "Dans notre exemple » OM pouvait accéder ala routine $ EA39 (MUL18) sans passer parle pro gramme de |’adresse $340, de cette maniére:" PRINT : PRINT “POKE 18,76: POKE 1 1,57: POKE 12,234: REM #4C 39 EA" PRINT : PRINT “Temps avec: FOR I 1 TO 5@80:A=10: A = A * 14:NEXT - 198: PRI 1:R = ASC VAL ¢ 38 SECONDES" + PRINT “Temps avec: FOR 1 USR(A) NEXT PRINT 1 TO S5866:A=10: A 27 SECONDES" GOTO 285 VTAB 3: HTAB 28: INVERSE “AUTRE EXEMPLE": NORMAL : VTAB 3 TS = "300 20 63 EB JSR $EB43303 2 4 86 EB JSR $EB80386 28 82 E9 JS R $E982389 46 RTS oF : PRINT" valeur de 1’argument se trouve dans registre accumulateur ($9D & $A2), ou routine en langage machine devra donc récupérer. La NOUVELLE VALEUR de 1a fonction USR sera celle figurant dans 1’accumulateur, au moment du RTS renvoyant au Basic. PRESSEZ UNE FLECHE <- OU -> POUR SUITE FAITES UN ESSAI AVEC CE PROGRAMME, EN DONNANT DES VALEURS DIFFERENTES A B: 108 POKE 16,76: POKE 12,768 / 25 6: POKE 11,768 —- PEEK (12) * 256 118 POKE 768,32: POKE 749,57: POKE 778,234: POKE 771,96: REM R OUTINE LM 128 VTAB 22: HTAB 2: CALL - 198 : PRINT "B= ";: GET R&:S = 1:R = ASC (R$): GOSUB 296 138 PRINT R$;: INPUT "";B$:B = VAL. (R$ + 8%): IF NOT B THEN 34 C) 148 VTAB 22: HTAB 26: CALL - 86 8: PRINT USR (B): GOTO 128 PRESSEZ UNE FLECHE <- OU -> POUR SUITE Dans notre exemple, on pouvait accéder & la routine $EA39 (MUL1@) sans passer par le programme de 1’adresse $308, de cette maniére: POKE 1@,76: POKE 11,57: POKE 12,234: REM Fol TO 5808:A=18: A A * 18:NEXT 38 SECONDES Temps avec: FOR I = 1 TO 5@66:A=18: A USR(A) :NEXT 27 SECONDES TREMPLIN MICRO 25 325 346 345 OR 1 = 1 TO LEN (T$) STEP LEN ¢T $) / 4: PRINT MIDS (73,1, LEN (TS ) 4 4): NEXT PRINT : PRINT "*EB63 recopie l’ac cumulateur en $A5-$AA": PRINT PRINT "SER8@ détermine les signes des nombres de $9D a $A2 et de $A5 & $AAD": PRINT PRINT "$E982 multiplie le contenu de 1’ accumu- Jateur par cel ui de la zone allant de $A5 & AA, puis place le résul- ta t dans |l’accumulateur" PRINT : PRINT "Comme on le voit, la routine éléve l‘ar-qgument au ca reé...” POKE 768,32: POKE 749,99: POKE 77 @,235: POKE 771,32: POKE 772,128: POKE 773,235: POKE 774,32: POKE 77 5,130: POKE 776,233: POKE 777,96 VTAB 22: HTAB 2: CALL - 198: PRI AUTRE EXEMPLE 308 20 63 EB JSR $EB63 303 26 88 EB JSR SEBS 306 28 82 EP JSR $E982 BOF 66 RTS $EBS63 recopie |’accumulateur en $A5-AA $EBS@ détermine les signes des nombres (de $9D A AZ et de $AS a SAAD E982 multiplie le contenu de 1’accumu- lateur par celui de la zone allant de $A5 & $AA, puis place le résul- tat dans 1’accumulateur Comme on le voit, 1a routine éléve 1/ar- gument au carré... B= 45 2025 NT "B= "3: GET R$:S = 1:R = ASC «RS): GOSUB 298 © La ligne 255 poque les 10 octets de PRINT R;: INPUT "";B%:B = VAL ¢ la routine en langage machine que R& + BS): IF NOT B THEN 340 vous montre I'écran ci-dessus. VTAB 22: HTAB 28: CALL - 868: PR INT USR ¢B): GOTO 260 © Ala ligne 265, si R est égal 4G, on passe a la page suivante. GOTO 285 PRINT : VTAB 1: HTAB (41 - LEN ¢ © Les fléches de l'Apple permettent T$)) / 2: INVERSE : PRINT T#: NORM d'aller de l'avant... ou de revoir les AL : POKE 34,2: VTAB 3: RETURN pages précédentes. VTAB 24: HTAB 1: PRINT "PRESSEZ U NE FLECHE <- OU -> POUR SUITE "3: GET R$:R = ASC (R$): POKE - 143 48,8 IF R= 8 THEN P = P - 1; GOTO 305 IF R= 21 THEN P= P + 1: GOTO 36 5 IF 5 = 1 THEN § = @: RETURN IF NOT P THEN P = 1 IF S$ = 1 THEN S = @: POP IF R= 4 THEN TEXT : HOME : END IF R= 3 THEN TAB 22: PRINT PRINT CHR® ¢4)"RUN MENU" CTRL-C POUR MENU DE DISQUETTE IF P = 9 THEN P = 8 CTRL-F POUR TERMINER IF P = @ THEN 285 PRINT :@ = P: VTAB 3: CALL - 958 : ON P GOTO 25,45,78,85, 90,200,225 6345 P= P+ 1: GOTO 338 VTAB 12: HTAB 6: PRINT "CTRL-C PO UR MENU DE DISQUETTE CTRL-F POUR TERMINER": GOTO 285 26 GUY-HACHETTE INITIATION | LA PSEUDO PAGE 3 GRAPHIQUE | L existe une pseudo PAGE 3 (que vous pouvez protéger par un LOMEM : 32768) et vous allez la rencontrer... En effet, alors que POKE 230,32 et 230,64 permettent respectivement d’écrire dans les pages 1 et 2, un POKE 230,96 vous ouvre des horizons nouveaux... puisqu’il vous autorise 4 écrire dans une pseudo PAGE 3. Ne jubilez pas trop vite: pas question d’afficher instantanément cette fameuse PAGE 3. Il est indispensable de la recopier dans I’'une des deux pages graphiques autorisées par votre Apple. Mais cela est simple, grace & la routine MOVE(SFEC)... poquée par las lignes 310 at 320 de notre programme (mais on prend la peine de vous les expliquer ! is Pour le reste, tapez ce petit programme de démonstration (vous pouvez vous faire aider si vous avez un poil dans la main). Vous comprendrez tout, je vous le promets ! Nestor. 1@ TEXT : NORMAL : PRINT CHR# (12); CHR® (21): HOME 26 GOSUB 316: REM ROUTINE TRANSFERT PAGES VERS PAGEZ 30 POKE 49234,0: REM MODE GRAPHIQUE PLEINE PAGE 48 GOSUB 248: HGR : HGR2 :x = @ 58 POKE 230,96: REM PERMET DE TRACER DANS UNE PSEUDO PAGES 4@ POKE 49236,0: POKE 49233,4: REM PASSAGE EN MODE TEXT PAGE! 76 HCOLOR= @: HPLOT @,@: CALL - 3082; REM EFFACE LA PAGES 88 HCOLOR= 2: HPLOT 1,1 TO 279,189: HPLOT 279,1 TO 1,187: REM TRACE PAGES 90 LIST 36,60: LIST 70,88: LIST 106,118: VTAB 23: INVERSE : HTAB 6: PRINT _ “BENSE2 & ESCAPE BOUR TERMINER*: NORMAL : GOSUE 288 180 POKE 49237,0: POKE 49232,8: REM PASSAGE EN MODE GRAPHIQUE PAGE? 116 CALL 768: REM TRANSFERT PAGE2 128 PRINT : PRINT CHR# (4)"BLOAD ETO,A$2008" 138 FOR I = 1 TO 10: POKE 49237,0: GOSUB 234: POKE 492346,0: GOSUB 230: NEXT I 148 HOME : POKE 49235,0: UTAB 22: PRINT "HGR2 VA EFFACER LA PAGEZ": GOSUB 2 aa: HGR2 15 POKE 49236,0: HOME : POKE 492350: UTAB 22: PRINT "CALL 748 VA RECUPERE R LA PAGES": GOSUB 280: POKE 49234,0: POKE 49237,0: CALL 768 168 GOSUB 286: POKE 49236,0: REM PAGE! 176 GOSUB 200: POKE 49237,8: REM PAGEZ 199 X =X + 1: IF X <8 THEN 140 19@ GOSUB 200: GOTO 198 200 CALL - 198: POKE --16368,0: WAIT - 14384,128,127: POKE - 163468,0:R = PEEK ( - 14384) 210 IF R = 27 THEN 250 220 RETURN » TREMPLIN MICRO 27 sggueuescoosoeoneaeeseoeesessoonesaossesoesoneeeoereoeseecoesssosoeeseReeeeeenoneeeReweseeeseeooeEsEES 236 FOR J = 1 TO 4@@: NEXT : RETURN 248 HCOLOR= @: FOR I = 1 TO 3:X = 32 * I: POKE 236,X%: HPLOT @,@: CALL - 36 82: NEXT : RETURN : REM EFFACEMENT DES PAGES! .2.3 25@ POKE 49236,0: POKE 49235,@: HOME : 266 VTAB 22: PRINT "(MENU DE DISQUETTE (E)NCORE (T)ERMINE "3: GET R$: PRI NT 276 IF R$ = "M" THEN PRINT : PRINT CHR ¢4)"RUN MENU" 286 IF R$ = "E" THEN RUN 290 IF R$ < > "T" THEN HOME : POKE 49234,@: RETURN 366 TEXT : HOME :; END 316 POKE 768,168: POKE 749,8: POKE 776,132: POKE 771,68: POKE 772,169: POKE 773,96: POKE 774,133: POKE 775,61: POKE 776,169: POKE 777,255: POKE 778 :133: POKE 779,62: POKE 788,169 326 POKE 781,127: POKE 782,133: POKE 783,63: POKE 784,169: POKE 785,64: POK E 786, 133: POKE 787,67: POKE 788,132: POKE 789,66: POKE 798,32: POKE 791 944: POKE 792,254: POKE 793,96: RETURN TRANSFERT PAGE 3 DANS PAGE 2 (LES POKES) g300- AB HB LOY £900 @362- 84 3c STY $3C ; $384- AS 28 ita bece Page 3 (début de la zane & copier) $6006 (24576) @306- 85 3D STA $30 a308- AS FF LDA = €$FF 304-85 3 ; cree | ap oe BIR SE Page 3 (fin de la zone & copier) $7FFF (32767) @36E- 85 3F STA $3F @31g- A? 46 LDA = £#4a @312- 85 49 STA #43 | Destination Page 2 $4000 (16384) a3i4- 84 42 STY #42 @316- 28 2C FE JSR $FE2C aZi9- 48 RTS MOVE déplace la zone $3C-3D ($6000), finissant en $3E-3F ($7FFF) vers la zone commengant en $42-43 ($4000). Des adresses nullement mystérieuses, et fort utiles ! $E4 (228) Contient le code de la couleur en HGR $E6 (239) On y trouve $20 pour HGR, $40 pour HGR2... et $60 pour la pseudo PAGE 3 En Basic, cela se traduit par Poke 230,32 — Poke 230,64 — Poke 230,96 $E7 (231) Valeur de SCALE $E8-$E9 (232-233) Adresse de la table de formes ° Pour effacer la page courante, en haute résolution, vous aurez une alliée puissante dans la routine BKGND ($F3F4). Par exemple : 300: A9 55 LDA £$AA » $55 = Bleu 302: 20 F4 FS JSR $F3F4 ——» Routine BKGND 305: 60 squnsunsenanenenussessesenseneoneneonssesuussescooesssousnecaeseeeeeeseeceousueseoessszoneeusanosssce 28 GUY-HACHETTE | DES POKES UTILES pour modifier le catalog ProDOS Ouvrez dés maintenant un répertoire des POKES-ProDOS et'si vous disposez de la version 1.1.1 (Septembre 1984) de ce systeme d’exploitation, essayez le petit programme DEMO : E PRODOS APPLE " 2 UNE TOUCHE POUR FAIRE UN ESSAI 44 POKE 45201,131 -> "5: GET RS 48 IF RS 58 IF R# = "R" THEN RUN 54 TEXT : HOME : END ETURN 16 TEXT : HOME : PRINT CHR (4)"PRE£3" 12. PRINT " CES POKES NE SONT UTILISABLES QU’AVEC LA VERSION 1.1.1 DU SYSTEM 14 VTAB 2: FOR I = 1 TO 28: PRINT "----";: NEXT : PRINT : POKE 34,3 16 PRINT "POKE 42198,8 (128) = TITRES DES FICHIERS EN MODE INVERSE" 18 POKE 42198,0: GOSUB 56: POKE 42198,128 28 PRINT "POKE 42316,96 £162) = ELIMINE LES DATES DU CATALOG “NON DU CAT? 22 POKE 42316,96: GOSUB 5Sé: POKE 42316,162 24 PRINT "POKE 42344,173 (178) = LOCK (*) DEVIENT (->" 26 POKE 42344,173: GOSUB 56: POKE 42344,170 28 PRINT "POKE 42402,8 (18) = REMPLACE LES DATES PAR <NO DATE>" 3 POKE 42402,@: GOSUB 56: POKE 42462,18 32 PRINT "POKE 42483,96 152) = ELIMINE LA MENTION <NO DATE>" 34 POKE 42403,96: GOSUB 5é: POKE 42403,152 36 PRINT “POKE 42496,175 (173) = CHANGE LE / DES DATES POUR UN TIRET ¢-)" 38 POKE 42498,175: GOSUB Sé: POKE 42496,173 40 PRINT "POKE 45201,155 (131) = ESCAPE STOPPE LE CATALOGUE " 42 POKE 45201,155: PRINT CHR$ (4)"CATALOG": PRINT : PRINT : PRINT "ENFONCE 46 VTAB 22: PRINT "(M)ENU DE LA DISQUETTE DRIVE! ¢RDECOMMENCER ‘T)ERMINE “M" THEN PRINT : PRINT CHR® (4)"-/TMS/MENU" 52 IF R@ < > "T" THEN PRINT : GOTO 46 56 POKE 34,6: PRINT CHR (4)"CATALOG": GET RS: PRINT : POKE 34,3: HOME : R ";: GET R$: PRINT : HOME : GOSUB 56 POKE 42198,0 (128) POKE 42316,96 (162) POKE 42344,173 (179) POKE 42402,0 (18) POKE 42403,96 (152) POKE 42490,175 (173) POKE 45201,155 (131) ME Nous indiquons entre parenthéses la valeur normale Titres des fichiers en mode inverse Les dates ne sont plus visibles * devient un tiret (fichiers protégés) Les dates sont remplacées par "NO DATE” La mention "NO DATE" n‘apparait plus Troque le tiret des dates pour un / ESCAPE stoppe le catalogue. TREMPLIN MICRO 29 faitement en mode TEXT. INDICATIF (6 combien !) musical 18 REM INDICATIF “RETROUVE D’OREILLE) 26° REM "MUSIC.INIT" (D’APRES N,.BREAUD-POULIGUEN, PSI) EST DISSIMULE DANS MUSIC.DIATM, A PARTIR DE L’ADRE SSE 24752 34° PRINT CHR® ¢4)"BLOAD MUSIC.DIATM": REM "DIA.LM + DIA.CARAC" DE "TREMPLIN MICRO 2" 44 TEXT : PRINT CHRS (21): HOME : HCOLOR= @: POKE 23 6,64: CALL - 3086: HCOLOR= 3: REM EFFACEMENT DE H GR2 5@ DS = CHR$ (4):TR = 24576:IN = 24752:10 = IN + 1:1P = IN+ 2 60 POKE 49239,0; POKE 49232,@: POKE 49237,6: POKE 492 34,8 74° YTAB 1: HTAB 11:T% = " "s INVE RSE : FOR I = 1 TO 3: HTAB 11: PRINT T#: NEXT : VTA B 2:73 = " ": PRINT TS): HTAB 31: PRINT TS 8G VTAB 24: FOR I = 39 TO 1 STEP - 1: PRINT " "3: NE XT : FOR I = 23 TO 2 STEP - 1: VTAB I: HTAB 1: PRI NT " "3: HTAB 48: PRINT " "3: NEXT : POKE 2839,32: VTAB 2: HTAB 12: NORMAL ;: PRINT" INDICATIF 9@ CALL TR: REM PAGE TEXT COPIEE EN HGR2 166 VTAB 6: HTAB 3: PRINT "VERSION ORIGINALE": CALL TR 118 READ 1,J: IF J = @ THEN 136 128 POKE IN,I: POKE I10,J: CALL IP: GOTO 118 13@ RESTORE : VTAB 9: HTAB 3: PRINT "VERSION MANDOLINE +e": CALL TR 14@ READ I,J: IF J = 8 THEN 148 30 © par Jacques Saussard Ce programme utilise DIA.LM et DIA.CARAC (Tremplin Micro n°2), mais fonctionne par- On ne transfére le texte en page graphi- que... que pour l'amour de l'art ! Si vous ne possédez pas Tremplin Micro n°2, sup- primez la partie graphique du programme... ou com- mandez-le ! TR = Adresse de Ia routine de transfert ($6000) IN = Routine Music ($6080) La ligne 68 vous montre comment passer en mode HGR2 (sans rien effacer). onseecseersonseeuseereT GUY-HACHETTE Vous apprécierez tout particuligrement la version enrouée ! na Quant @ la version bourrée (rien & voir avec la bourrée auver- gnate !) je vous la recommande pour les jours sans alcool... France-Culture, c'est tout de méme quelque chose, non ? augeoeneeneeoneeeoeeoees TREMPLIN MICRO 158 168 178 186 196 268 218 220 270 288 298 388 318 326 338 346 358 368 378 338 396 40a 416 420 438 448 456 468 478 488 490 N kg FOR K = 1 TO (J / 16): POKE IN,I: POKE 10,12: CALL IP: NEXT : GOTO 146 RESTORE : VTAB 12: HTAB 3: PRINT "VERSION ENROUEE "sy CALL TR READ I,J: IF J = 6 THEN 198 FOR L= 1 70 (J 4 16) + 2: POKE IN,I: POKE 101,6: CALL IP: NEXT : GOTO 178 RESTORE : YTAB 15: HTAB 3: PRINT "VERSION JAZZ... CA SWINGUE PRESQUE !":: CALL TR READ I,J: IF J = @ THEN 268 IF J > 32 THEN POKE IN,I: POKE 10,90: CALL IP:M @: GOTO 208 IF J < 32 THEN POKE IN,I: POKE 10,38: CALL IP:M 8: GOTO 288 IF M = @ THEN POKE IN,I: POKE 10,68: CALL IP:M 1: GOTO 208 IF M = 1 THEN 8 GOTO 208 RESTORE : VTAB 18: HTAB 3: PRINT ¢SAOUL-MUSIC !)": CALL TR READ I,J: IF J = @ THEN 358 " POKE IN,I: POKE 10,24: CALL IP:M "VERSION BOURREE = INT ¢ RND (1) # 38) =yYr#ti POKE IN,J: POKE 10,146: CALL IP IF ¥ > <N 4 2) THEN FOR TI = 1 TO 206: NEXT TI: G OSUB 420: a POKE IN,I + N: POKE 10,1 + N: CALL IP GOTO 270 GOSUB 426 GOSUB 428 POKE 32,2: POKE 33,34: POKE 34,4: POKE 35,22: PRIN T : CALL - 198: GET RS: HOME : VTAB 7: LIST 440,49 @: FOR 1 = 7 TO 13: VTAB I: PRINT “ "3 NEXT : POKE 32,0: POKE 33,46: POKE 34,8: POKE 35,24: CAL L - 3086: CALL TR VTAB 28: HTAB 18: CALL - 198: PRINT "“EXNCORE (M) ENU ¢TERMINE "3: CALL TR: GET RS IF R$ = "E" THEN RESTORE : HOME : GOTO 48 IF R$ = "M" THEN PRINT : PRINT D$"RUN MENU" IF R$ = "T" THEN TEXT : HOME : END GOTO 376 FOR P= 1 TO 2@:W = PEEK ¢49200):¥ = PEEK ¢ - 16 336): NEXT : RETURN REM 4#44HHHEAEHEERES ES EERE ERE REM L’INDICATIF EST CELUI REM DE L’EMISSION REM ALLEGRO MA NON TROPPO REM DIFFUSEE A 11H3@ (1!) REM SUR LES CHAINES DE REM FRANCE-CULTURE LE DIMANCHE ! 31 sueareouesenooreeensneseee sees sees esee sews oe escooeeoesenese oe eeeeeeeees eee eee eee ee IN DICATIE (suite) 500 DATA 35,32,34,32,30,32,30,32,34,3 64,36 Sans ces lignes de ,32,34,32,38,32,30,32,3 DATA, je ne vous pro- ,30,22,30,32,30,32,22,32, mets plus rien ! 519 DATA 34,32,38,32,26,32,23,32 132,17,32,19,32,23,32, 135, 32,30,32,22,32,35,32,34 452422564 528 DATA 45,16,35,16,34,16,22,32,0,4 u MUSIC.DIATM Si vous possédez les programmes DIAGRAMME du n°2 de _ Tremplin Micro, inutile de retaper DIA.LM et DIA.CARAC. Pour obtenir MUSIC.DIATM, contentez-vous de taper ces quelques lignes, puis de lancer le programme. Les lignes de Pokes installeront la rou- tine MUSIC a l'adresse 24752 ($60B@). Tout est automatique ! 14 TEXT : HOME : PRINT "DISQUETTE DIAGRAMME SVP ";: GET R$: PRINT 2@ PRINT CHRS (4)"BLOAD DIA.LM,A$688@": PRINT CHR$ (4)"BLOAD DIA.CARAC, Ag6100" 34 4GOSUB 5@: PRINT : PRINT "DISQUETTE MUSIC SUP ";: GET R&: PRINT 44 PRINT CHR$ ¢4)"BSAVE MUSIC.DIATM,A$4800,L$408": END 5@ POKE 24752,164: POKE 24753,255: POKE 24754,173: POKE 24755,48: POKE 24 756,192: POKE 24757,136: POKE 24758,208: POKE 24759,5: POKE 24760,206: POKE 24761,177: POKE 24762,96 466 POKE 24763,240: POKE 24764,9: POKE 24765,202: POKE 24744,208: POKE 247 $7,245: POKE 24768,174: POKE 24769,176: POKE 24770,96: POKE 24771,76: P OKE 24772,178: POKE 24773,96: POKE 24774,96: RETURN * Maintenant, pour celles et ceux qui se moquent du graphisme, voici les mémes POKES pour MUSIC. INIT, & installer 4 l'adresse 768 ($300). Bien sdr, il conviendra d’éliminer tous les CALL TR, ainsi que les accés 4 la page gra- phique HGR2. De plus on aura IN = 768. Le programme ne s’en portera pas plus mal, je vous l'affirme, foi de Nestor ! MUSIC. NIT Remplacez la ligne 30 par : 36 GOSUB 530 538 POKE 768,164: POKE 769,255: POKE 778,173: POKE 771,48: POKE 772,192: P OKE 773,136: POKE 774,208: POKE 775,5: POKE 776,206: POKE 777,1: POKE 7 78,3 548 POKE 779,240: POKE 780,9: POKE 781,282: POKE 782,268: POKE 783,245: PO KE 784,174: POKE 785,0: POKE 786,3: POKE 787,76: POKE 788,2: POKE 789,3 : POKE 790,96: RETURN 32 GUY-HACHETTE ECRITUREHGR [GfeeaiGieetesa Nos lecteurs ont des idées | Caractéres frangais transposés en page graphique par M. Devaux Appeler la routine par un BLOAD FONTE.LM avant de faire un RUN FONTE.DEMO. POKE 49235,0 rétablit les 4 lignes de texte dans la page HGR CALL — 998 monte le curseur CALL — 1008 recule le curseur CALL 16384 est l'adresse de la rou- tine LM ($4000) CALL — 990 déplace le curseur 4 la ligne figurant a l'adres- se $25 (CV) 18 28 38 46 178 218 FONTE.DEMO TEXT : NORMAL : PRINT CHR (21) HGR : TEXT : HOME :T = 1 UTAB 21: PRINT "CTRL-T = TEXT - _CTRL-F = FINI DE J QUER" + "CTRL-C = TERMINE ET LA PAGE HGR APPARAIT" + " UTILISEZ LES QUATRE FLECHES DE L’APPLE " UVTAB 1: HTAB 1: IF T = @ THEN T = 1: TEXT : GOSUB 21 tc] GET At:A = ASC (AB) IF A= 6 THEN POKE 49235,0: GOTO 148 IF A = 28 THEN TEXT : GOSUB 216: GOTO 54 IF A = 11 THEN CALL - 998 IF A = 127 THEN : CALL - 1608:AS =" ":D=1 PRINT A%;: IF D = 1 THEN D = @: CALL - 1888 Ys PEEK (37): IF Y= 19 THEN CALL - 958 H = PEEK (34) IF A < > 3 THEN 56 POKE 49234,0: POKE 49234,8: POKE 49239,0: POKE 49232 4:7 = @ CALL 16384: GOSUB 216: GOTO 56 UTAB 22: HTAB 1: PRINT "¢M)ENU DE DISQUETTE ‘ENCORE {TIERMINE";: GET RS: PRINT IF R$ = "M" THEN PRINT CHR® <4)"RUN MENU" IF R$ = "E" THEN 46 IF R$ ¢ > "T" THEN 148 TEXT : HOME : END POKE 36,H: POKE 37,¥: CALL - 996: RETURN Nous publions in-extenso le programme (inspiré de DIA.LM) que nous a adressé M. Devaux, mais nous I’avons complété par une petite routine de démonstration qui se suffit 4 elle-méme. UTILISATION : Sauvez FONTE.LM (pages 34-35) par un BSAVE FONTE.LM, A$4000, L$680. ATTENTION ! Ce programme ne supporte pas les modes INVERSE et nash | VERIFICA T = @: FOR! = 16384 TO 18047 : T = T + PEEK(I) : NEXT : PRINT T 65526 TREMPLIN MICRO 33 FONTE.LM 1 s80a- Ae 81 85 EF EA EA EA EA 41Aa- 29 2D 23 26 2 Fé oe ce A Aé F4 a? Fé 28 28 60 00 G8 86 Ga aa o6 aa 68 oo 36 @D 24 a7 Ba a8 ag BE GE OS 4G 85 8G 86 B88 OB OB 86 68 6B 2D DE 33 15 3F GE BE 3F 86 68 2D 2D 8G 4G BB ao as oo 84 OB 8D 3F BF 8D 15 3F 97 GE BE 1E 16 1E 86 75 24 GD 16 46 Ba Bo ao eC ee) 31 25 4D BA 17 17 17 4D 2D 15 1£ 16 Bs a7 25 2F 69 66 a6 oo Be OB 80 66 40 56 Ba BB 4008- 89 15 Bé GD 1E GE DE 38 25 AS 16 36 3E SF 4aDS- iC 20 Ef SC aa a8 Ba ae 4HEG- 45 36 44 89 Bo Oo GA aM 40ES- 60 80 86 55 oe ae ao Be if 17 Bé OB Bo oO 4HFG- 45 1E 16 36 5E 8E a5 aa 36 2E 2D 95 2a 10 40FS- 94 69 a6 Bo oo BB BB AB 21 10 3F 86 36 a6 41G0- 49 GE GE 34 1E 1E 87 aa 15 DF 33 36 76 2D 60 20 G5 96 88 Ga BB a6 80 6 66 Ha BG BO GE 2D 1E 17 § FE 2 36 2E 2D a5 26 24 15 1F 1F 4E a5 60 a6 F B 86 66 66 66 46 6 SF 4E 2E 46 FS DB 36 2D FS 1B 66 66 66 468 66 6a BH 2D 44 86 G8 G6 4B 4° 92 32 1E a7 06 96 o8 FS DB 36 2D DE 36 4138- 69 88 66 49 44 85 Be OB 46 66 86 46 46 46 si4a- 91 24 2D 2D 44 G8 46 Ba FS DB 36 36 BE 2D 4145- 64 88 66 46 88 G6 BG oo > 7? 86 86 88 46 Be S1i50- 49 92 72 47 55 44 48 oo 36 2E 49 24 3C SF 4158- 66 44 44 86 OF 8 86 oO 3C 48 86 48 8G a6 sish- 49 87 17 17 17 17 87 aG 1E 346 36 15 SF a7 41463- 64 46 86 HH HA BO 88 Be 46 66 66 66 66 84 417@- 49 20 15 DF 33 36 346 29 4178- 2D 20 24 F7 1E @6 64 46 4130- 49 SE GE 34 AE SF a7 46 4198- 84 66 66 56 O86 Ho OH 88 4i9@- GA @C 2D 15 BE BF 17 2E 4178- 2D 2D 84 84 AG GG 46 aB 36 36 Fé SF 10 6 56 86 64 84 86 66 34 6E a 10 10 1c BC 85 66 86 66 O68 36 2E 2D 2D 46 G@ 68 65 64 46 G& oa GUY-HACHETTE 4378- 380- 4388-2 4390-2 q37e- 38 Snuneaag eons y TREMPLIN MICRO 35 a > a OE INSEE Dos | propos | Michel EDELIN vous propose son CALENDRIER PERPETUEL Chaque année, vous |’éditerez sur : © IMAGEWRITER ou © EPSON RX 89 (voir page 38) Janvien reverey Wm ee hans 1 Wm eee Ne ee mea sary Mr eRe eee emia "uae wn CeO ae MAnawy * Pw CEE nly be a2 ONwuD ee Pe Pamey Ba Meunan a tin durer sour 1 me ee Um eee Wwe eee Win a Gy 4 n a4 FAs. Wee wn y Pen as Cary Cary ” SE NURI) titra gece wan PNA emi gee uDaDn wanns un lle eae en ee MP Oe men H ” » Burnwny servenane ocroar Novenene re tee UUme eee a ata Maaesay UW ewe TOW Riau | 5 Ci aaa or i ue founn an cy ea a a rw ua Tee ect es 2aNBuas Anaws % "HRW Sr wee a vienna a van nanny a MBuDa wy Py van _ TEXT : NORMAL : PRINT CHR$ (21); CHR$ (12): HOME 18 15 PRINT "%4## #4 #4 HEHEHE EEE EK HEHE ERE LEE ERE RHEE" 20 PRINT "xxxKe« CALENDRIER kkxxex* Sous ProDOS, remplacer 25° PRINT "*####% PERPET UE L REREEE" PRE] par PRINT CHRS(4); BO PRINT "#848 XX HEH RRR HERR E EEE E EK EE KEKE RRR" “PREI" (ligne 215), puis 35 FOR I = 1 TO 1504: NEXT I PREG par PRINT CHR$(4); 46 GOTO 485 “PREO" (ligne 350) 45: 5@ REM SOUS PROGAMME D’ECRITURE DE CHAINES DE CARACTERES 5S 3 68 ESS = "": FOR X = 1 TO ES:ES$ = ESS + E$: NEXT X: RETURN 65 3 CALCUL ET POSITION DU 1 JOUR 78 REM 75: 88 P= (U- 1) 4 188:Q = INT (P / 4) + INT (05 *# CU - 120 7 4) - 1 NT (P) + @ 85 Y=M- (7 * INT (M 4 72) + 1: IF INT CU 4 4) = U / 4 THEN B = 1:MC2) = 29 7H ACID = MCL) :CC1) = Y: FOR W = 2 TO 11:ACW) = ACW - 1) + MCWOECKW = Y + ¢ IF CCW) > 7 THEN CiW) = CiW) - 7 Ad - 1) - € INT (AGW - 1) 4 7) *# 7d): 95° NEXT W 166 IF Y= < @ THENY =7+ ¥Y 185 N= MCI): IF I = 2 AND B = 1 THEN N = 29 118 PAS = " PATIENTE 7 115 HOME : VTAB 12: FOR PA = 1 TO 3@ STEP 18: INVERSE : HTAB 15: PRINT MIDS <PAS,PA,18): NEXT : NORMAL 128 IF Y = 1 THEN E1$ = "": GOTO 136 125 ES = Y - 1:E$ = " "; GOSUB 6@:E1$ = ESS GUY-HACHETTE 36 136 135 148 145 156 155 168 165 178 175 188 185 196 195 208 205 218 215 228 225 238 235 248 245 258 255 268 265 270 275 288 285 298 295 306 385 318 315 328 325 338 335 348 EES =" ":MOs¢I) = "" FOR K = 1 TON: IF LEN ¢ STR@ ¢K)) = 1 THEN KB =" " 4 STRB CK): GOTO 145 KS = STRB ¢K) MOS¢T> = MOS¢1) + KS + EES NEXT K NM = LEN (MOS(I> + E1$):ES = 148 - NMrES = " ": GOSUB 4@:E2% = ES* MOS(I) = E1S + MOSC1) + E2% T= 1+ 1:Y = ¥ + (N - 28): IF ¥Y > ? THEN Y = ¥ - 7 IF 1 = 13 THEN GOSUB 185: GOSUB 245: GOTO 494 GOTO 185 “REM COUPURE DU MOIS EN SEMAINE FOR G = 1 70 12:P = 1: FOR D = 1 TO 6:MI$(G,D) = MIDS (MOS(G),P,28):P = P + 28: NEXT D: NEXT G: RETURN REM EDITION DE L“ANNEE PRE 1: PRINT CHR ¢27);"N"3 CHR® (15); CHRS (9);"136N" US = "": FOR 1 = 1 TO 3:U$ = US + MIDS ¢ STRB (U),T,1) + " "3 NEXT :US = US + RIGHTS ¢ STR® (U),1) E$ = "*":ES = 88: GOSUB 6@: PRINT ES$: PRINT PRINT CHR$ ¢27);"N"3 CHR (14); TABS 15);U$: PRINT : PRINT CHR (15);E S$: PRINT : PRINT : PRINT RETURN REM EDITION DU CALENDRIER FOR H = 1 TO NE: IF H > 1 THEN PRINT CHR (12) GOSUB 265 FOR G = 1 70 12 STEP ML: IF ML = 4 THEN 295 IF ML = 2 THEN 285 TA = 12: PRINT CHRS (27)3;"N"3 CHRS (14): IF (G 4 2) - INT (6 4 2) =4T HEN PRINT +: PRINT : PRINT : GOTO 308 IF G > 1 THEN PRINT CHR$ £12): GOSUB 285: PRINT CHRS (14): GOTO 308 IF G = 7 THEN PRINT CHR (12): GOSUB 265 TA = 11:ES = 23:6 = " ": GOSUB 60: GOTO 308 TA = 1@:ES = 146:E% = " ": GOSUB 4@: PRINT CHRS (27);"Q"; CHR® (15); PRINT TAB¢ TA) ;MAS<G);: IF ML = 1 THEN PRINT “": PRINT : PRINT : PRINT !TA = S1E8$ = “": GOTO 315 PRINT ES$;MAS(G + 133: IF ML = 2 THEN PRINT "": PRINT :TA = 6:ES = 12: GOSUB 6@: GOTO 315 PRINT ES$;MAS(G + 2) ;ES$;MAS(G + 3): PRINT :TA = 6:ES = 5: GOSUB 68 PRINT TABS TA);: FOR Z = 1 TO ML: PRINT JO$;ES$;: NEXT 2: PRINT : IF ML = 4 THEN PRINT CHRS ¢€27)"r": PRINT CHR® (27) i PRINT TABC TA): FOR Z = 1 TO ML: PRINT SOS;ES$;: NEXT 2: PRINT : IF ML = 4 THEN PRINT CHRS (27)"r"i PRINT CHR® (27)"4"5 FOR D=1 70 6 PRINT TABS TA);MI$<G,D)3;: IF ML = 1 THEN PRINT "": PRINT : PRINT : GOT 0 345 PRINT ES$;MI$(G + 1,D);: IF ML = 2 THEN PRINT “": PRINT : GOTO 345 PRINT ES#;MIS<G + 2,D);ES$;MI$<G + 3,D): PRINT (SUITE PAGE 38) TREMPLIN MICRO 37 — 345 350 355 368 365 378 375 388 385 398 395 408 485 416 415 426 425 438 435 440 445 458 455 468 465 470 475 486 485 498 NEXT D: IF ML = 4 THEN PRINT : PRINT NEXT G: NEXT H: PRE @: RETURN REM ENTREE DES DONNEES Bs =" ENTRE2Z L“ANNE E CONSIDEREE * HOME : VTAB 2: FOR J = 1 TO 190 STEP 2@: HTAB 10: INVERSE : PRINT MIDS (BS,J,20): NEXT J VTAB 12: HTAB 16: PRINT "-> ": NORMAL VTAB 12: HTAB 20: PRINT "1900";: HTAB 26: INPUT ""3U$:U = VAL CUS): IF U > 2888 THEN 385 IF NOT U THEN TEXT : HOME : END HOME : VTAB 4: HTAB 11: INVERSE : PRINT "POUR L’ANNEE ";U: NORMAL VTAB 8: PRINT : PRINT "NOMBRE DE MOIS PAR LIGNE (1/2/4) -> "3: GET ML$:M L = VAL (MLS): IF ML < 1 OR ML = 3 OR ML > 4 THEN 408 PRINT ML# IF ML = 1 THEN NP = 6:S% = "S"; GOTO 425 IF ML = 2 THEN NP = 2:S% = "S": GOTO 425 NP = 1:65 = "" PRINT : PRINT “EDITION DU CALENDRIER SUR ";NP;" PAGE" ;5$ PRINT : INPUT "NOMBRE D’EDITION DESIREE -> ";NE NP = NP # NE: IF NP > 1 THEN S$ = "S" PRINT : PRINT "CHARGER AU MOINS ";NP;" FEUILLE" ;S8 VTAB 28: HTAB 1: PRINT "VALIDATION (O/N) "3: GET AS IF A’ ¢ > "O" AND AS < > "N" THEN 445 PRINT AS IF AS = "N" THEN 368 GOTO 86 REM VARIABLES DIVERSES DIM MC12) ,AC12) ,C612) ,MOSC12) ,MISC1Z,12) ,MAS<12) B= @:MC1) = 31:M(3) = 31:M¢5) = 91:MC7) = 31:M(8) = 31:MC18) = 313M(12) = 31:M¢4) = 30:M(6) = 30:M¢9) = 3O:MC11) 495 JO$ = "DI LU MA ME JE VE SA ":S0% * Sa@MASC1>) =" JANYVIER “iMag¢(9) = "S =" MARS "3MAaS(4) = " MAT "3M AS(6) = JUIN 585 MAS(7) = a a a i "sMAS(11) = "N OQVEMBRE "sMA#(12) =" D ECE " FPEVRIER 518 GOTO 368 MODIFICATIONS POUR EPSON RX 80 215 PREV : PRINT CHRS(27); "a"; CHRS(27); "G" CHRS(27); "W"; CHRS(1) : GOTO 300 220 US = STRS(U) : & =” ": US = LEFTS(US,1) + ES + 285 IF G = 7 THEN PRINT CHRS(12) : GOSUB 205 : GOTO 290 ‘MIDS(US,2,1) + ES + MIDS(U$,3.1) + ES + RIGHTS(US,1) 290 a ur = 23: 6$ =" ": GOSUB 60 : PRINT CHRS(18); : 230 PRINT CHRS(27); "W’; CHRS(1); TAB(15); US; CHRS(27); "W"; SyaTESS IBM Mg : ; CHRS(0) : PRINT : PRINT ESS : PRINT : PRINT : PRINT s Ta as lee JG MU PRIOR: EET: 275 TA = 12: PRINT CHRS(27); "W"; CHRS(1) : IF (G/2) — PRINT MTA: . —— ° INT(G/2) = 0 THEN PRINT : PRINT: PRINT : GOTO 908 320. PRINT TAB(TA) : FOR Z = 1 TO ML : PRINT SOS; ESS; : NEXT Z 280 IF G 1 THEN PRINT CHRS(12) : GOSUB 205 : PRINT PRINT” 38 GUY-HACHETTE Votre bibliotheque INFORMATIQUE @ Créez vos jeux d'aventure sur micro-ordinateur C'est le titre du livre d'un auteur francais, J.-M. PEZERET (Eyrolles), et cela méritait d’étre souligné, amon avis du moins. Comment élaborer un scénario, choisir un theme, structurer les données et le programme lui-méme, utiliser le graphisme ? Le sujet est vaste et le pro- jet ambitieux ! L'’ouvrage se propose de donner un support techni- que 4 votre imagination, et de décrire une métho- dologie de programmation pour la réalisation de jeux d’aventure, notamment au travers d'un exem- ple concret, que vous batirez de A 4 Z. Il semble qu'il y parvienne, mais le Basic est celui du TO7 et du MOS, c'est-a-dire un langage qui, notamment sur le plan du graphisme, différe trés sensible- ment de celui de l'Apple. Il serait intéressant de réaliser le méme ouvrage en Applesoft. Pourtant, si vous le pouvez, lisez le livre de J.-M. Pézeret et notamment son chapitre 6, consacré aux modules de base. par Guy-HACHETTE CREEZ vos JEUX p:AVENTURE SUR MICRO-ORDINATEUR JM. PEZERET ae @ Le Basic vu par des pédagogues | | LE MANUEL fe 01 Se, HACHETTE Snformaticnie Connaitre le Basic est 4 l’ordre du jour, notamment dans l’enseignement. Les ouvrages en frangais sont déja nombreux, mais ne résultent pas tou- jours de travaux récents. Est-ce la raison qui a con- duit Hachette Informatique 4 publier une excel- lente traduction de ce Manuel du Basic (par M. Waite et M. Pardee) ? Peut-étre. Il reste que les Francais disposent maintenant d’un véritable cours qui leur permettra de se familiari- ser avec le Basic ou d’en approfondir la pratique. Un détail : le chapitre 7 y est consacré 4 un pro- gramme de simulation du Rubik's cube sur ordina- teur personnel. Le Manuel du Basic comporte de nombreuses rou- tines développées avec le Basic IBM. On sait qu’il s'agit du Basic Microsoft. Ce n'est évidemment pas l"'idéal pour qui posséde un Apple, mais la décou- verte d'un autre langage, surtout lorsqu’il est trés proche du vétre, se révéle généralement passion- nante, n’est-il pas vrai ? G.-H. TREMPLIN MICRO 39 ECRANS CONDENSES | UN PROGRAMME DE MAURICE CHAVELLI ANS la série "Ecrans condensés”, le numéro 3 de Tremplin Micro pré- sentait le programme "ECRANLM” permettant d’économiser de la place sur les disquettes pour mémoriser des masques en 40 colonnes. Le présent programme va plus loin sur deux plans : oO Les masques sont codés suivant un principe simple: tout caractére qui se répéte est détecté et a partir du troisieme, on se contente de compter ces caractéres. A la fin du comp- tage, on inscrit le nombre obtenu. Cette techni- que permet d'économiser facilement la moitié de la mémoire. Pour ne pas trop compliquer le programme, j'ai “ignoré” le cas ot un caractére se répéte plus de 256 fois. Si cela se produit sur un masque, vous aurez des mélanges. Si tous vos masques comportent un cadre, il n'y aura aucun probléme. Les masques sont regroupés dans une TABLE qui est ensuite mémorisée sur disquette. Il suf- fit donc de caser cette table quelque part en mémoire, l’appel d'un masque se faisant sim- plement en indiquant son numéro. Le programme basic ECR.CREER permet de créer la TABLE 4 partir de masques(*) déja stockés sur dis- quette. II suffit de suivre les instructions du programme ; la table se construit 4 partir de l’adresse $2000 (8192 en décimal). La ‘routine ECR.IN est chargée du codage et du transfert, elle a été agrémentée de nombreux commentaires et, pour ne pas dépayser le lecteur, elle utilise le méme principe d’exploration de |'écran que ECRANLM du numéro 3. J'ai d’ailleurs supprimé la référence 4 l’adresse $25 qui corres- pond 4 la position verticale du curseur (VTAB), celle-ci est en effet inutile car elle est ignorée par la rou- tine BASCALC ($FBC1) qui utilise "A" comme indicateur de ligne... le hasard fait parfois bien les choses ! La table contient en téte les adresses de début de chaque masque (2 octets par masque), puis les mas- ques codés 4 la file. Attention 4 l’occupation mémoire ! Le programme vous |'indique en permanence. LECTU Le programme basic ECR.LIRE vous montre comment utiliser la routine ECR.OUT qui permet de lire une TABLE. Le programme est prévu pour lire l’adresse $2006 (il faut donc au préalable charger une table par BLOAD TABLE,A$200@), mais il est trés facile 4 modifier (ligne 55) ; d’ailleurs la TABLE est relogea- ble, mais attention 4 ne pas "écraser” un programme ! Pour changer un peu, la routine ECR.OUT écrit les lignes en bas de |'écran, puis fait un scolling (montée de I’écran d'une ligne), ce qui est plus agréable 4l'ceil | Vous pouvez imaginer d'autres transferts : de haut en bas ; de droite 4 gauche... si vous avez du temps et du courage. Maurice CHAVELLI. (*) Commencez donc par les créer, en utilisant le programme paru dans Tremplin Micro n°1 (de la page 17 4 la page 23). Attention ! il s‘agit d’écrans TEXT et non de pages graphiques. 40 GUY-HACHETTE SS 158 168 176 186 184 185 186 198 208 204 285 266 216 220 238 TEXT :D$ = CHR (4): POKE 6,0: POKE 7,33:N = @:AD = 8194: POKE AD - 2, a: POKE AD - 1,39 REM sence aenene nr emesaeenne REN CHARGEMENT ROUTINE cope le outing EERIN po 2) " 8 sauvez-la sur disquette par un cane De LOAD. EERWIN ECR.IN, A$300, L$67 REM MENU REM <--> SUSUB 378: VTAB 2@: INVERSE : PRINT "ENTRER “C’ POUR LE CATALOGUE": HTA B 6: PRINT "ENTRER ‘F’ POUR TERMINER ": NORMAL : YTAB 16: HTAB 6: INP UT "NOM DU MASQUE ? ";A% IF AS = "C" THEN HOME : PRINT D&"CATALOG": PRINT : PRINT "TOUCHE QUELC ONGUE POUR LA SUITE": GOSUB 574: GOTO 30 IF AS = "F" THEN 146 B= PEEK (6):C = PEEK (7) ONERR GOTO 538 BREN) serra eeeccme sree REM CHARGEMENT MASQUE Sous ProDOS, transformez ainsi REN emeasees ence aes la ligne 86 : PRINT D$"BLOAD" ;A$: POKE 214,08 POKE 6,B: POKE 7, GOSUB 570: IF A$ = CHR$ (27) THEN 38 IF A$ = CHR (13) THEN 138 CALL - 198: GOTO 168 REM ---------------------- REM APPEL ROUTINE REM ET MISE A JOUR ADRESSE REM 80 POKE 48984,0 PRINT D$ “BLOAD";A$: POKE 216,0 Cela vous évitera message d’erreur : NO BUFFERS AVAILABLE l'inévitable CALL 768:N = N + 1: POKE AD, PEEK (4): POKE AD + 1, PEEK (7):AD = AD + 2: GOTO 30 GOSUB 620: HTAB 12: PRINT "<S)AUVEGARDE": PRINT : HTAB 12: PRINT "(A)NN ULATION" GOSUB 570: IF A’ = "A" THEN RUN IF A$ = "S" THEN 188 CALL - 198: GOTO 158 GOSUB 628: HTAB 6: INPUT "SOUS QUEL NOM? ";A% Re REM COMPACTAGE TABLE REM. os<s=eeneseee= POKE 66,8: POKE 61,33: POKE 62, PEEK (6): POKE 63, PEEK (7): PQKE 66,N * 2: POKE 67,32: CALL 865 FOR E = 8 T0 2. *N - 2 STEP 2:V = 256 - 256 + 2 * NiH = 193 + E,H: NEXT REM REM SAUVEGARDE TABLE REM PRINT D$"BSAVE" ;A$;" ,A$2608,L" 3D GOSUB 620: HTAB 6: PRINT GOSUB 576: IF A’ = "0" THEN RUN “UNE AUTRE TABLE ?" PEEK (8192 + E) + PEEK (8193 + E) * INT <¥ / 256): POKE 8192 + E,V - H * 256: POKE 8 SUITE PAGE 42 TREMPLIN MICRO 4! 248 258 268 278 288 290 300 316 328 338 340 358 368 378 388 398 408 418 428 438 456 468 478 488 498 586 518 528 538 546 55@ 546 578 588 596 688 618 626 638 IF AS = "N" THEN 296 CALL - 198: GOTO 236 REM: => —- REM POUR LE PLAISIR AS = "ALORS SALUT... A LA PROCHAINE... ET BONJOUR CHEZ TOI...":B$ = "": HOME : VTAB 18 FOR C = 1 TO LEN (AS): FOR D = 1 TO 5@: NEXT D: IF PEEK ¢ - 16384) > 128 THEN 338 IF LEN (BS) < 39 THEN BS = BE + MIDS (A$,C,1): HTAB 4@ - LEN (BS): P RINT B%;: NEXT C BS = RIGHT (BS, LEN <BS) - 1) + MIDS (A$,C,1): HTAB 1: PRINT B%;: NEX TC: GOTO 308 NORMAL : HOME : END HOME : VTAB 1: HTAB 8 PRINT "CREATION TABLE DE MASQUES" HTAB 8: FOR E = 1 TO 25: PRINT "-"3: NEXT VTAB S: HTAB 1: GOSUB 498 D = PEEK (6) + PEEK (7) * 256 - 8448 + 2 *N VTAB 8: HTAB 5S: PRINT "LONGUEUR DE LA TABLE : "3D VTAB 19: HTAB 5: PRINT “NOMBRE DE MASQUES : "3N VTAB 12: GOSUB 498: VTAB 22: GOSUB 498 VTAB 22: FOR E = 1 TO 40: PRINT "_"3: NEXT PRINT : PRINT " <ESC>: NON VALIDE ... <RETURN>: VALIDE"; VTAB 16: HTAB 6 RETURN FOR E = 1 TO 4@: PRINT “_";: NEXT : RETURN REM aman REM TRAITEMENT ERREUR HOME : VTAB 16: HTAB 12: FLASH : PRINT "INTROUVABLE !": NORMAL : FOR E = 170 10: CALL ~- 198: NEXT : GOTO 38 REN SS ei REM S/P ATTENTE TOUCHE REM - = = IF PEEK ¢ - 16384) < 128 THEN 578 GET AS: RETURN REM seme mrnsnncnenimnsnnamiann REM S/P EFFACE LIGN. 16 A 21 POKE 34,15: POKE 35,21: CALL - 936 POKE34,@: POKE35,24: RETURN Faites connaitre TREMPLIN MICRO a ceux de vos amis qui possédent un Apple (et n’oubliez pas qu’un numéro de la revue ne coiite pas plus cher que quelques mauvaises photocopies !). 42 GUY-HACHETTE 6300: A? 81 6302; 85 1A 6304: A? 98 6306: 85 88 6368: 85 1B 836A: 85 89 VON BON eS Assemblage par ProCODE BAS HAUT LIGNE SYA DBLE NBR BASL BASCALC MOVE * DEBUT BCLY SUITE1 SUITE2 SUITES SUITE4 QU Eou EGU EQU Eau EQu EQu Eau EGU ORG LDA STA LDA STA STA STA JSR LDY LDA LOX BNE CMP BNE INC UMP PHA LDA STA LDA JSR LDA STA PLA JMP CMP LDX STX JSR INY cPyY BNE INC LDA CMP LDA BNE $28 $FBC1 $FE2C $268 £$1 OBLE £36 LIGNE NBR SUVA BASCALC £30 ¢BASL) ,¥ OBLE SUITE2 SUA SUITE! NBR SUITES £$1 DOBLE NBR ECRIT £S8 NBR SUITES SUA SUITES £38 DBLE ECRIT £328 BCLY LIGNE LIGNE £318 DEBUT DBLE SUITES C0 Adresse de... sela table Sauvegarde A @ si méme caractére Nbr de caracteres identiques Adresse premiére colonne Calcule l’adresse de Déplacement mémoire * Base BASL d’aprés A Initialisations OK OK KOK Début de boucle ¥ On va chercher le caractére Est-on en "double" ? Non alors... Qui -> toujours le méme ? Non alors... Qui -> on incrémente NBR On mémorise A sur la pile On "marque" DBLE -> plus en "double" et on écrit le... «NBR & 1a suite Gn initialise... eeele NBR On récupére A Est-ce le meme ? Non, alors on poursuit Qui, alors on... ..."margue" DBLE -> @ On écrit le caractére Un caractére de plus Est-on & 48 ? Non -> on tourne Qui -> + une ligne 24 lignes ? Non -> on tourne Est-on en "double" ? Non -> terminé SUITE PAGE 44 TREMPLIN MICRO 43 Q34E: AS 1B 49 LDA NBR 3 Gui -> on écrit NBR 0358: 26 5403 50 JSR ECRIT 6353: 48 51 SUITES RTS 52 *448xeee SYP d’écriture en mémoire ##¥eteEH O354: AZ 98 53. ECRIT LOX £88 54 STA <BAS,X) 55 STA SVA 56 INC BAS 5? BNE ECRIT1 4 5€ INC HAUT LVAD 59 ECRIT! RTS COT) SO FERRER REE S/P de transfert FERRER EE - 8361: AG BB 41 LDY £90 @363: 20 20 FE 62 JSR MOVE Q366: 68 63 RTS BSAVE ECR.IN,A$308,L*#67 Table des symboles ordre alphabetique “BAS. ee. $O805 ~BASCALC...$FBC1 ~BASL..... $8828 ~BCLY......96311 -DBLE. $0018 ~DEBUT.....$830C -ECRIT.... .$0354 $8360 “HAUT... 4.38087 ~LIGNE.....$8608 “MOVE 0.006 SFE2C $0018 “SUITE... .$6328 ~SUITE2....$8332 ~SUITE3....$833A ~SUITE4....$033D SUITES... .$6353 WSVA woe BOBOF ¢ ECR.OUT Assemblage par ProCODE 8 DEP EQU $6 1 ARR EQU $8 2 DBLE EQU S14 ; @ si un caractére se reproduit 3 SVA EQU 1B ; Mémorise A 4 LIGNE EQuU $1C i Ligne courante 5 NBR EQU $1E ; Nbr de caractéres identiques $ SCROLL E@U sFC7a j Monte 1’ecran d*une tigne a ORG $386 8386: AP B7 8 LDA $7 i Adresse... @302: 85 49 # STA ARR+1 3 de la 8304: AP DB 14 LDA £8D8 : ligne 0306: 85 68 11 STA ARR } numéro 24 @3@8: A? a8 12 LDA £88 @30A: 85 1C 13 STA LIGNE 3: * @30C: 85 1B 14 STA SVA i * Initialisations @3BE: AP B1 15 LDA £1 i * 9310: 85 14 16 STA DBLE 3 * @312: 20 76 FC 17 DEBUT JSR SCROLL 3; On remonte d’une ligne 9315: Ad aa 18 LDY £88 317: AS IA 19 BCLY LDX DBLE 3 Est-ce en double ? G319: D@ aD 28 BNE SUITE2 ; Non, alors un autre caractére @31B: Cé 1E 21 DEC NBR ; Oui, alors un de moins 8310: DB a4 22 BNE SUITE1 3 Si @ -> fin de double 44 GUY-HACHETTE @31F: A2 O1 23 LDX £$1 3; On "marque" 8321: 86 1A 24 STX DBLE ; DBLE $323: AS 1B 25 SUITE1 LDA SVA 0325: 4C 3E 63 26 JMP = SUITE4 6328: 36 56 63 27 SUITES JSR LIT ; On iit jie caractére @32B: C5 1B 28 CMP = SVA ; Le meme caractére ? @32D: D@ OF 29 BNE SUITE4 ; Non, alors on tourne O32F: 28 58 83 38 JSR LIT ; Qui, alors on va chercher NBR 6332: C9 08 31 CMP £30 ; Est-il 69a) & zéro ? 0334: FB 86 32 BEQ SUITES ; Qui, alors pas de troisiéme 9336: 85 1E 33 STA NBR 3; Non, alors on le mémorise 8338: A? 88 34 LDA £48 ; On "marque" 833A: 25 1A 35 STA DBLE } DBLE 833C: AS 1B 36 SUITES LDA SVA O33E: 91 68 37 SUITE4 STA ARR) ,Y ; On écrit le caractére 6348: 85 1B 38 STA SVA ; On mémorise le caractére 39 * DETECTER LES "DOUBLES" 9342: C8 48 INY j Un caractére de plus 8343: CO 28 41 CPY £%28 3 Est-on & 40 ? 9345: D@ DB 42 BNE BCLY ; Non, alors on remet ca! 0347: £6 1C 43 INC LIGNE ; Oui, alors une ligne... 6349; AS 1C 44 LDA LIGNE 3 seede plus @34B: C9 18 45 CMP £418 j Est-on a 24 ? @34D: D@ C3 46 BNE DEBUT ; Non, alors on repart O34F: 48 47 RTS 48 ####*ee* S/P DE LECTURE DE CARACTERE **¥*#*#% @358: A2 66 49 LIT LDX £48 8352: Al 86 5@ LDA <DEP,X) ; On lit le caractére 0354: Eé 66 Si INC DEP ; On avance en mémoire 9356: Da 42 52 BNE LIT1 ; Si on a @, on incrémente... 0358: Eé 67 53 INC DEP+1 j ...aussi la partie haute B35A: 68 54 LIT RTS BSAVE ECR.OUT ,A%3@0,L$5B Table des symboles ordre alphabétique “ARR. + $6088 -BCLY. + $0317 -DBLE......$001A -DEBUT.....$0312 =DEP., + $0006 -LIGNE.....$681C LIT one oe 38350 -LIT1.. +$835A “NBR... SOBLE -SCROLL....$FC70 -SUITEL....$8323 -SUITEZ....$6328 -SUITE3....$833C -SUITE4....$033E -SVA. +6... .$001B 16 ONERR GOTO 48 26 TEXT : HOME :D$ = CHRS (4) 38 PRINT D$"BLOAD ECR.OUT" 46 HOME : VTAB 3: HTAB 5S: INVERSE : PRINT "LECTURE D’UNE TABLE DE MASQUES": NORMAL 58 VTAB 1@: HTAB 16: INPUT "NUMERO DU MASQUE ? ";A SS AD = 8192: REM CORRESPOND A #2008, A DETERMINER SELON L’ADRESSE DE C HARGEMENT 68 POKE 6, PEEK ‘AD - 2 + 2 * A): POKE 7, PEEK ‘AD - 1 + 2 * A): CALL 768 7@ IF PEEK ¢ - 16384) < 128 THEN 76 88 GET At: GOTO 48 | TREMPLIN MICRO 45 GRAPHISME Basic et langage machine TRACER UN CADRE dans une page graphique ASIC ou LANGAGE MACHINE ? La seconde méthode est un peu plus rapide (notam- ment pour effacer I’écran), mais le programme en Basic est tellement simple... que l'on hésite 4 aller plus loin. Il tient en effet en 3 lignes : 40, 50 et 60 et donne un bon résultat. Gageons qu'il se trouvera, parmi nos Lectrices et Lecteurs, quelque génie capable de rendre la routine en langage machine plus performante. PROGRAMME DE DEMONSTRATION 10 TEXT : PRINT CHRS (21); CHR$ (12): HOME : GOSUB 168 28 VTAB 12: PRINT "PROGRAMME EN BASIC (7@ OCTETS)": PRINT : PRINT : LIST 4 8,58 38 GOSUB 158 48 HGR : POKE 49234,0: HCOLOR= 2: HPLOT 4,8: CALL ~- 3082 50 HCOLOR= @ 68 FOR 1 = 18 TO 184: HPLOT 18,1 TO 248,11 NEXT 78 GOSUB 158: HOME : TEXT 8@ \VTAB 12: PRINT "PROGRAMME EN ASSEMBLEUR (57 OCTETS)": GOSUB 158 98 CALL 768: GOSUB 15@ 108 POKE 49235,8: PRINT : VTAB 22: PRINT "(ENCORE M¢ENU DE DISQUETTE TCE RMINE)": GOSUB 158 110 R= PEEK ¢ - 16384) - 128: IF R = 69 THEN 16 128 IF R= 7? THEN PRINT : PRINT CHR$ (¢4)"RUN MENU" 138 IF R< > 84 THEN GOSUB 15@: GOTO 118 148 TEXT : HOME : END 158 CALL - 198: POKE ~- 16368,@: WAIT - 16384,128,127: POKE - 146384,0: C ALL - 198: RETURN 160 POKE 768,169: POKE 769,32: POKE 770,133: POKE 771,230: POKE 772,173: PO KE 773,84: POKE 774,192: POKE 775,173: POKE 776,82: POKE 777,192: POKE 7 78,173: POKE 779,87: POKE 784,192: POKE 781,173: POKE 782,80 178 POKE 783,192: POKE 784,149: POKE 785,85: POKE 786,32: POKE 787,244: POK E 788,243: POKE 789,149: POKE 798,16: POKE 791,133: POKE 792,4: POKE 793 162: POKE 794,@: POKE 795,32: POKE 796,236: POKE 797,246: POKE 798,142 180 POKE 799,10: POKE 804,16: POKE 81,0: POKE 882,165: POKE 803,46: POKE 8 84,32: POKE 885,17: POKE 806,244: POKE 807,169: POKE 808,12: POKE 889,16 2: POKE 810,1: POKE 811,164: POKE 812,46: POKE 813,32: POKE 914,58 190 POKE 815,245: POKE 816,230: POKE 817,46: POKE 818,165: POKE 819,46: POKE 820,201: POKE 821,181: POKE 822,288: POKE 823,230: POKE 824,96 286 RETURN » 46 GUY-HACHETTE f ROUTINE EN LANGAGE MACHINE Q368- AP 24 LDA 0302- 85 ES STA 0304- AD S4 CO LDA 6367- AD 52 CO LDA @30A- AD 57 CB LDA 8300D- AD S@ CO LDA 8310- A 55 LDA 312-28 Fa F3 JSR @315- AY BA LDA @317- 85 86 STA 4319- A2 68 LDX Q31B- 28 EC Fé JSR O31E- A2 BA LDX 0228- Ab GB LDY @322- AS 86 LDA @324- 28 11 F4 JSR @327- AY BC LDA 8329- AZ B1 LDX @32B- Ad 06 LDY @32D- 28 3A FS JSR 8338= Eé 06 INC @332- AS 66 LDA @334- C9 BS CMP 0336- Da E6 BNE @338- 68 RTS (lignes de pokes) EFFACER ET COLORER HGR £$20 $E6 doit contenir $20 quand on trace dans la page | et $40 $E6 pour la page 2~ octet de poids fort de $2000 ou $4000 $0054 On commute la page 1... $CG52 sans ses 4 lignes de texte... $CO57 Puis le mode haute résolution... $0058 et le mode graphique. £$55 Le code du rouge est chargé $F3F4 BKGND donne 4 la page courante la couleur qui est dans A. NE LAISSER QUE LE CADRE £300 $GA est mis dans l’accumulateur et $06 stocké & l'adresse $6 (page zéro). £306 Registre X40 SFSEC Couleur fixée 46 £S0A Partie basse abscisse £900 Partie haute abscisse | Début de la ligne $06 Ordonnée (pointeur $6) $F411 HPOSN positionne le curseur sans tracer £$0C Partie basse abscisse £$01 Partie haute abscisse | Fin de la ligne $06 Ordonnée (pointeur $6) $F53A HLIN trace la ligne ainsi délimitée $86 Blis 1 pour le pointeuF... $06 «+. que l'on charge en mémoire £$B5 Est-il égal a $B5 ? SO31E Si non, encore une ligne | Retour au Basic. a Offrez-vous les disquettes de programmes de TREMPLIN MICRO Au choix : DOS 3.3. ou ProDOS. (ProDOS ne fonctionne qu’aprés avoir lancé le systeme avec une disquette MASTER). Utilisez le bulletin de commande de la page 62... ou recopiez-le. TREMPLIN MICRO AT Votre bibliothéque INFORMATIQUE J parciement renaro : la ais en ” questions ousiiiiti I in IV CR O ignore si le guide réalisé par Bruno de Latour saura répon- dre aux questions que vous vous posez encore sur la micro- EN 100 QUESTIONS informatique, sujet d’actualité s'il en est. ; F CO erp Sur Apple, sans doute n’apprendrez-vous rien que vous ne monde sachiez déja, Et d’ailleurs, que vous importe le passé de Ste- phen G. Wozniak ou celui de Steeve Jobs... puisque le pre- mier s'est remercié lui-méme, tandis que le second se voyait détréné par John Sculley ? Vous vous en fichez roya- lement, et davantage encore du fait que, en juin 1983 (quel jour... et @ quelle heure ?), Madame Thatcher autorisait Mister Sinclair 4 devenir Sir Clive ! C'est pourtant cela, La Micro en 100 questions, mais aussi la réponse 4 "comment mesure-t-on la mémoire ?”, “Com- ment reconnaitre un bon clavier ?” ou “Qu'est-ce qu'un logiciel intégré ?”. Le choix des questions pourra vous paraitre agagant, orienté, original ou judicieux. Il est certain que la

Showing the first 100000 of 142304 characters.

mp.ls