Skip to main content

magazine poms43

  • PublicationApple Periodicals
  • Pages76
  • Sourcemagazine_poms43.pdf
← Magazines magazine poms43
/ 76
Source: Internet Archive — Aggregated Apple-era periodicals, 1981–2012.
Page 1
Loading…
Text content (OCR)
Mac et mémoire virtuelle Puzzle GS Basic La DHGR facile Essai utilitaires Symantec II 00430 UB = EE Les outils évoluent. Echapperez-vous aux TimeOut ? Les TimeOut sont des pro- grammes qui se greffent sur AppleWorks. Ils sont disponibles 4 tout instant, sans quitter AppleWorks, avec l'ergonomie Apple- Works. Pom’s les a adapté (en exclusivité) 4 la version francaise 1.4 et livre des manuels de référence en francais. Comment leur échapper ? Pas simple, car se passer du progrés, c'est un peu re- venir aux roues dentées. Il va falloir renoncer 4 des possibilités étonnantes : Rendre toutes les opérations automatiques, utiliser la souris partout dans AppleWorks avec TimeOut UtrraMacros.., Créer des menus 4a I'intérieur de macro- commandes et profiter de toutes les macros de MacroToots. Imprimer avec la_ qualité Macintosh sur une cinquantaine dimprimantes 4 aiguilles grace a TimeOut SuperFonts et ses 47 po- lices de caractércs... Imprimer les feuilles de calcul ‘a alienne’, en plusicurs tailles... TreOut SmeSpreap. Représenter instantanément les données du tableur sous forme de graphes avec TimeOut Grars. TimeOut Part, ce logiciel de dessin en double HGR, intégré 4 AppleWorks, avec ses menus déroulants. DesxToots I et ses accessoires, calculette, calepin, calendrier... méme un crypteur de fichier pour les documents confidentiels. Copier des fichiers, les comparer. Jes renommer, en changer le type ete., travailler sur les volumes, toujours sans quitter Apple- Works, c'est ToweOut FrreMaster. TmeOut PowerPack l'ensemble d'applications intégrées pour trier des colonnes, créer trois bu- Teaux (36 fichiers) et trois presse- papiers, lancer un autre pro- gramme et revenir 4 AppleWorks, charger les catalogues dans la base de données, classer le bureau, etc. Travailler plus efficacement sur le tableur ? TimeOut SpreapToots : se simplifier les largeurs de colonnes, recopier des lignes dans des colonnes — ou I'inverse. Transformer les formules en valeurs, copier des blocs et lier des feuilles de calculs... Notes descriptives sur simple demande. Bon de commande enfin de numéro. Editions MEV 12, rue d'Anjou 78000 Versailles © (1) 39 51 2443 Minitel (1) 39 53 04 40 TimeOut, le progres simple Numéro 43 juillet-aontt 1989 (3 * . _o Editorial Cy Page 7 Hervé Thiriez Programmation AppleWorks Dimitri Geystor — a @ ‘ia Essai Macintosh ADN... le ShareWare hors du commun (esa] Ariel Sebban Page #0 feemes, Page 8 SuperFonts Daniel Lurot Page 17 aed Macintosh & Ram virtuelle = Alain Raynaud Page 42 Bibliographie Alexandre Duback ep (qa Page 44 aaa) : des patches We [Tes] Daniel Lurot Les utilitaires Symantec = Hervé Thiriez Page 45 Basic et DHGR =aTl Tes Philippe Matsumoto ees) Page 20 —<—<— | TS GB aoa Un programme en GS-Basic : v uzzle Bruno Boissiére Page 29 Langage C : utilisation du ‘Color Picker Package’ Jean-Luc Bazanegue FreeWare & ShareWare Polices & DPA fey Os) pe a a] | Page 35 —==ag Page. 47 Macintosh : Les News = = Ariel Sebban = SEE Page 51 Apple // for ever Jean-Yves Bourdin Un nouveau CDA : Grille-pain Jean-Yves Bourdin = Page 38 [we | Ics Bees | ass] MC Page 59 < Petites annonces Mots croisés Page 74 Les annonceurs : Apple : pages 4 & 5 ; Gribouille SA : page 27 ; ToolBox : page 39. Editions MEV - 12, rue d’Anjou - 78000 Versailles. Tél. : (1) 39 51 24 43. Directeur de la publication : Hervé Thiriez Dam’c n° AQ En 1505, Léonard de Vinci peint la Joconde. Il meurt désargenté quatorze ans aprts, sans que l'on puisse toutefois établir un lien entre ces deux événements. Sil avait eu un Macintosh, une ligne Ecean seat avec ke logic! 4 Dimension. Apple. le logo Apple. Macintosh @ Macintosh fcx 1 : v so, AMON oa, MN AS A = - = = <e a de telephone et un modem, il aurait pu, de son atelier, communiquer en toute facilité avec le monde entier. Il se serait ainsi connecté avec les salles de vente tout en continuant 2 dknesees a Arp ae fe ervé les cours du Jes copies de sa déventuels our plus « informations, ta doute fait mentir l’idée qu’un artiste n’est riche qu’une fois mort. a: Mona Lise z (ie THTTR| $780 009] $262.9] teere| —$782000] $-50.000] = 3.57812 jejour Le Lowrse ie ov Wy La Joconde est au Louvre et Macintosh est partout. La oti les hommes ont besoin de travailler sur des informations. De consulter n’importe quelle banque de 3614 cnde : Apple. données, de n’en garder que ce qui les intéressent, d’y adjoindre des graphi- ques simplement en cliquant. Et d’en- voyer le résultat sans quitter leur bureau. EAU AASAN 2_ Soudain un doute m’effleure. Sil avait eu un Macintosh Vinci aurait-il offert la Joconde a Francois-I"? Ul Apple EXTRAFONTS Deux APPLICATIONS, CoLoRFontTS ET EpriFonts, QUI DONNERONT A voTRE AppLEWorKSs/TIMEOUT ENCORE PLUS DE SOUPLESSE ET DE PUISSANCE - ColorFonts donne 4 TimeOut SuperFonts la couleur. - EdiFonts est un éditeur de polices qui dépasse de loin les possibilités d’Edipol et FontViewer réunis. CotorFonts Votre SuperFonts monochrome (version francaise Pom's) est transformé en ColorFonts, permettant désormatis l'impression dams les sept couleurs de l'Imagewriter II (noir, jaune, rouge, bleu, orange, vert et violet), en conservant bien sir toutes les possibilités de SuperFonts (polices et styles variés, justification 4 droite, tabulations, impression d'images). Les changements de coulcurs peuvent, comme les changements de polices ou de styles, intervenir a tout endroit, méme au milieu d'un mot. Vous pouvez aussi imprimer une image dans la couleur souhaitée. En bonus, ColorFonts vous donne aussi accés aux caractéres normalement inaccessibles par Super- Fonts (codes 0 a 31). Bien entendu, les commandes habituelles restent inchangées. ColorFonts est compatible avec les autres impri- mantes, mais timprime alors en monochrome. de DanieEL Lurot EpiIronts Une nouvelle application TimeOut Avec EdiFonts, vous pourrez visualiser, modifier et imprimer vos polices de caractéres, mais aussi en créer de nouvelles (er parlamt de zéro), copier des caractéres d'une police vers une autre. Tout ceci sans quitter AppleWorks ! Avec 4 votre disposition un index des polices (analogue a l’index des fichiers AppleWorks) per- mettant de travailler sur plusieurs polices (jusqu’a sept a la fois). Affichage de la police page par page, commandes ergonomiques Accés rapide aux caractéres désirés Copie d'écran graphique Impression de la police compléte Visualisation individuelle et modification des caractéres Edition rapide grace 4 des commandes puis- santes : insertion ou effacement de calonnes ou de lignes — déplacement du caractére tout enticr dans les quatre directions — effacement de la grille d'édition — modification des ‘width’ et ‘offset’ Création de nouveaux caractéres Copie de caractéres interne, vers le presse-papiers, du presse-papicrs Suppression de caractéres Visualisation, impression et modification des paramétres globaux de la police — firstC — lastC — leading et ke Max — ascent — descent — nom de la police La disquette ExtraFonts cxistc cn 5,25"/140Ko et 3,5"/800Ko. ExtraFonts est compatible avec les Apple //e 128Ko, //c, Ics. ColorFonts nécessite AppleWorks, une ImageWriter II et TimeOut SuperFonls en version frangaise. EdiFonts nécessite AppleWorks et au moins un TimeOut en version francaise. ExtraFonts : 500,00 F — Carte Joker : 450,00 F — Bon de commande page 70 Pom’s n° 43 Ont collaboré a ce numéro Jean-Luc Bazanegue - Bruno Roissidre Jean-Yves Bourdin - Alexandre Duback Dimitri Geystor - Olivier Herz Nathalie Laudat - Daniel Lurot Philippe Matsumoto - Gérard Michel Christian Piard - Jotlle Piard Alain Raynaud - Ariel Sebban Hervé Thiriez Directeur de la publication rédacteur en chef Hervé Thiriez Rédacteurs Jean Luc Bazanegue Christian Piard Sidge social Editions MEV ~ 12, rue d’Anjou 78000 Versailles — # (1) 39 51 24 43 Serveur Minitel (1) 39 53 04 40 Publicité Editions MEV Diffusion N.MLP.P. Impression Berger-Levrault — Z. I. Croix de Mew Route de Villey-Saint-Etienne 54200 Toul — # 83.35.61.44 Photos CP & JLB Dessins Gilles Coursier Photogravure Graphotec - 21, chemin de la Tour 92350 Le Plessis-Robinson (1) 46 30 44 49 Pom’s est une revue indépendante non rattachée & Apple Computer, Inc. ni & Apple Computer France $.A.R.L.. Apple, le logo Apple, Mac etle logo Macintosh sont des marques déposées d’Apple Computer, Inc. TBM est une marque déposée de International Business Machine. PC et AT sont des marques déposées de la Société IBM. @Editions MEV 1989 Toute reproduction intégrale ou partielle, effectuée par quelque procédé que ce soit, sans l'accord écrit d’Editions MEV, constitue une contrefagon. Loi du 11 mars 1957, articles 425 et suivants du Code Pénal. Droits de traduction, de reproduction et d'adaptation réservés pour tous pays. Editorial Apple Expo La grande féte automnale d'Apple aura lieu cette année dans le CNIT rénové de la Défense. Apple profite de ce nouveau cadre pour améliorer encore I'accueil du visiteur, ‘look’ des stands, cartes d'identification magnétiques pour les visiteurs... Comme |l'an passé nous serons a votre écoute, stand M9 ; vous rencontrerez également des auteurs de Pom’s présents chacun des quatre jours du 27 au 30 septembre. C'est pour nous une occasion de vous offrir des invitations, lisez page 71. Ou s'arrétera-t-il ? Daniel Lurot frappe encore: SuperFonts imprime en couleurs sur l'ImageWriter II et voici un éditeur de polices de caractéres surpuissant et intégré. AppleWorks est devenu une plate-forme depuis laquelle, avec la souris, on travaille des textes, on crée des graphes associés au tableur, on copie des disques, on imprime ‘a la Mac’ le tout sous le contréle de procédures automatisées... Notre souci de diversité dans la réalisation de votre revue nous conduit a ouvrir les colonnes au GSBasic avec un Puzzle fort élégant et au LightSpeedC sur Mac. Une belle place est réservée 4 un ‘shareware’ Mac fabuleux présenté sur six disquettes : 4 découvrir sous la plume d'Ariel Sebban qui ne jure plus que par ADN. Hervé Thiriez Pom’s n° 43 A loccasion de cet article, Pom’s vous présente deux illustrations : un petit divertissement pédagogique de calcul mental, et un gros fichier de macros spécialement consacré aux opérations de Traitement de textes. Les "sources" des deux fichiers sont présentés dans l'article lui-méme, et inclus sur la disquette Pom’s sous les noms CALCUL.UM et MACROS.TDT. La disquette Pom’s contient en outre les deux fichiers "Task" correspondants, nommés CALCUL.TSK et TDT.TSK. Vous y trouverez enfin le fichier CALCUL.MENTAL (tableur AppleWorks) dont CALCUL.TSK a besoin pour fonctionner (le modéle en est donné 4 la fin de cet article) Note : Les deux fichiers "Task" sont prévus pour des Apple II (GS ou autres) dotés d'une horloge, car ils démarrent AppleWorks sans faire la pose pour insérer la date. L'article explique comment modifier la premiére macro du fichier “source” pour qu'Apple Works fasse la pause. Les fichiers Task Les fichiers "Task" sont une innovation d'UltraMacros inconnue des habitués de SuperMacroWorks. Ils vous permettent de disposer d'ensembles de macros spécifiques, en nombre illimité, activables 4 tout moment en un clin d'ceil a partir d'AppleWorks ou sélectionnables avant méme de démarrer AppleWorks. Avec SMW, quand on avait besoin d'un jeu de macros spécifiques (différentes de celles déja installées au démarrage), il fallait charger le fichier Tdt correspondant sur le Bureau, puis l'activer (en le compilant avec la commande oa-=). Ces macros, présentes en mémoire vive, s'‘évaporaient a l’extinction d'AppleWorks. SMW ni'autorise qu'un seul jeu de macros au démarrage d'AppleWorks. Pour le changer, il faut passer par une procédure relativement compliquée : quitter AppleWorks, lancer SMW, choisir l'option "Compiler", désigner le fichier & compiler, le compiler, indiquer & SMW l'emplacement d'AppleWorks, y installer le nouveau jeu de macros compilées, et enfin redémarrer Apple Works. Avec UltraMacros, I'équivalent de la compilation SMW avec <0a-=> reste possible, avec en prime des "finesses” supplémentaires ; on charge le fichier Tdt de macros sur le Bureau, on fait Pomme-Escape pour aller au menu Programmation AppleWorks Dimitri Geystor TimeOut, et l'application TimeOut "Macro Compiler” donne le choix entre ; 1. Compiler avec pause & chaque ligne ou non 2. Compiler tout le fichier ou a partir du curseur seulement. De plus, le compilateur d'UltraMacros est "intelligent", car il signale les fautes de syntaxe ou de logique éventuelles. Mais UltraMacros vous donne surtout le moyen de pré-compiler des jeux entiers de macros spécifiques, qui peuvent étre conservés sous la forme de fichiers-systéme (type SYS). Les avantages ? 1. L'interchangeabilité instantanée 4 tout moment a partir d’AppleWorks (avec l'application Macro Options du menu TimeOut), Il n'y a plus a attendre le temps de la compilation, qui n'est pas négligeable dans le cas de gros fichiers. 2. Le désencombrement du Burcau d'ApplcWorks : Ices fichiers "Task", de type SYS, n'ont pas besoin d'y étre chargés. 3. La faculté de choisir le jeu de macros avant méme de lancer AppleWorks. 4. La possibilité d’enchainer immédiatement sur un macro-programme, grace a l'exécution automatique de la premiére ou de la deuxigme macro du fichier "Task". Les macros d'un fichier "Task" sont-elles différentes ? Rassurez-vous, la réponse est NON. C'est la nature du fichier qui est différente, mais les macros dont il est issu sont des macros UltraMacros tout a fait normales. Il faut simplement réserver les DEUX premiéres macros aux fonctions de démarrage. — La premiére macro correspond au démarrage extérieur & AppleWorks, et exécute a votre place les gestes que vous faites quand vous démarrez votre copie d'AppleWorks. Réduite 4 sa plus simple expression, cette premitre macro contiendra deux RTN, correspondant aux deux poses que fait AppleWorks au démarrage (l'une pour insérer la disquette "Programme", l'autre pour valider la date). Si vous avez besoin d'insérer la date manuellement, il vous faut insérer une commande <input> entre les deux RTN. Reportez vous aux exemples commentés de cet article. Vous pouvez enfin, mais ce n'est pas obligatoire, terminer la premiére macro par un "goto" a la deuxitme. Pom’s n° 43 — La deuxitme macro correspond au démarrage a partir d'AppleWorks, au moyen de I'application Macro Options. Dans ce cas la premiére macro est totalement ignorée. Sous sa plus simple expression, la deuxitme macro pourrait tre totalement vide. Mais il cst recommandé d'y inclure un petit message qui confirme que les macros du fichier "Task" sélectionné ont bien été activées, Si vous avez prévu un macro-programme autonome, c'est cette macro qui enclenchera les diverses opérations nécessaires (voir, par exemple, le source du macro-programe ‘budget’ sur la disquette Pom’s n°41), Comment créer un fichier "Task" ? La disquette UltraMacros vendue par Pom’s contient les applications TimeOut dont vous avez besoin, a savoir "Macro Compiler" et "Macro Options”. 1, Mettez le fichier "source" (Tdt) qui contient vos macros sur le Bureau d’AppleWorks. Compilez-le avec Macro Compiler. 2, Appelez Macro Options avec Pomme-Escape, et choisissez l'option 2 "Créer fichier Task". Vous serez invités a taper le nom du futur fichier "Task". Donnez-lui un nom clairement reconnaissable, faites RTN. Macro Options vous informe que le fichier "Task" a été créé, C'est tout. Si un fichier "Task" du méme nom existe déja, vous en tes aussi informé, et vous avez le choix soit de renoncer, soit de remplacer I'ancien fichier par le nouveau. Comment démarrer un fichier "Task" ? 1. A partir d'AppleWorks, en appelant I'application Macro Options, option 1. La liste des fichiers "Task" disponibles s'affiche, vous n'avez qu’a choisir. Note : il est commode d'inclure dans chaque fichier "Task" une troisiéme macro qui automatise cette sélection (voir exemples), et de transformer en fichiers "Task" vos macro-fichiers les plus courants : vous pourrez ainsi faire des permutations instantanées. 2. Au moyen d'un sélecteur, du type PROSEL ou BBB. Note : Le propos de cet article n‘est pas d’expliquer comment fonctionne un sélecteur. A l'intention de ceux qui n'ont pas encore ProSel — mais comment ont-ils pu survivre sans lui ? — je précise quand méme que le fichier ProDOS de la disquette d'UltraMacros contient le mini-sélecteur BBB ou Bird's Better Bye. Pour y accéder, il faut partir de l'écran du Basic Applesoft, taper BYE et faire Return. Souvenez-vous que : 1. Un fichier "Task" est un fichier de type SYS qui réside aux cétés du fichier ULTRA.SYSTEM sur votre disqueue AppleWorks. II contient des macros pré-compilées prétes a l'emploi, et n'a pas besoin d'étre chargé sur le Bureau d'AppleWorks pour étre activé . 2. On peut I’activer instantanément a partir d'AppleWorks par l'application Macro Options du menu TimeOut. Dans ce cas, la deuxitme macro du fichier sera automatiquement exécutée, 3. On peut aussi I'activer avant de démarrer AppleWorks au moyen d'un sélecteur de programmes du type ProSel ou Bird's Better Bye, Dans ce cas, le fichier "Task" entraine automatiquement a sa suite Ic démarrage d'AppleWorks, et exécute la premiére macro qu'il contient. 4. Le fichier "source" (c'cst-d-dire les macros écrites en Tdt AppleWorks) est nécessaire une seule fois, a la création du fichier "Task". Ensuite, on n'en a plus besoin pour activer les macros, mais il est sage de l'archiver pour pouvoir relire les commentaires en cas de modifications. Fichier MACROS.TDT Un fichier de macro-commandes consacré au traitement de textes (avec plusieurs commandes inédites) START Macros de démarrage du fichier "Task" : (Envoie au Menu principal Works, en cas de démarrage par sélecteur, hors AppleWorks) <ba-$>:<a rtn (correspond 4 la pause pour insérer le disque Programme) ( input ) (ici, l‘input est inhibé ) rtn (valide la date) ba-*>! (enchaine sur la deuxiéme macro) Note : Si vous n'avez pas d’horloge, enlevez les parenthéscs qui inhibent "input" avant le deuxigme "rin" afin qu'AppleWorks fasse la pose qui permettra d'insérer la date. <ba-°>:<all (Démarrage avec Macro Options) msg ' Macros TdT activées '>! Dans cet exemple, la deuxitme macro contient simplement un message d'information. Comme la premitre macro renvoie aussi a la deuxiéme, ce message s‘affichera dans tous les cas de lancement du fichier "Task", Macro d'appel des fichiers “Task” : <ba-s>:<all $0="Macro Options" oa-Esc find rtn rtn msg ' Choix = fléches. ESC pour abandonner ‘: RIN pour valider, Pom’s n° 43 | | | begin k=key if k=10 down rpt else if x=11 up rpt else if k=13 rtn stop else if k=27 esc ese stop a! MACROS de TRAITEMENT de TEXTES : <left>:<awp c=0 (curseur en début de ligne) begin oa-tab c=c+l ifnot c=18 rpt>! <right>:<awp (curseur en fin de ligne) sa-left : down : left>! Rappel : Les commandes AppleWorks Pomme-fléches envoient le curseur au début du mot précédent (0a-left) ou suivant (oa-right), La commande UltraMacros Pomme-pleine-Rn (sa-Rtn, ou <find>) envoie le curseur au Retour-chariot (fin de paragraphe) suivant. Il n'existe pas de commande pour aller au début du paragraphe en cours. Rappelons aussi qu'aux yeux d'AppleWorks tout texte qui se termine par un Retour-chariot est un paragraphe ; a la limite, une ligne qui ne contiendrait qu'un seul espace serait quand méme un paragraphe. La macro suivante renvoie le curseur en début de paragraphe, et fournit aussi en bas d'écran des informations précieuses pour la mise en page. Il est commode de Tactionner avant de créer une marge gauche ou une nouvelle valeur d'indentation avec les macros <sa-g> et <sa-i>. La macro fait la différence entre un "vrai" paragraphe (au moins deux lignes non-vides suivies d'un Retour-chariot), une ligne unique (non-vide) ou une vraie ligne vide. <ba-left>:<awp (curseur au début du paragraphe et info sur MG, IN et CI) sa-* (lire info options) $l-str¢ g (définir les chaines) ba-6 (formater MG) zoom ba-t (test ligne) if q=$d0 goto sa-4 else (si code = ligne vide) k=0 (drapeau) begin ba-t if p<12@ sa-/ rpt else if p>128@ sa-) rpt >! (:<awp if g=$d0 down yuto sa-5 else if fel goto sa-5 else 1£ f=0 up k=2>! ) :<awp 4f q=$d0 down goto ba-L else if f=1 goto ba-L elise if £=0 Lf k=0 up k=1 else tf f=0 if k=1 down goto ba-L else if f=0 1f k=2 down goto sa-5>! <ba-t>:<awp (test info ligne) t=32312 (début index des lignes) posn x,y (y=ligne) ray*Z+t-1: q=peek r: (q=code de la ligne) p=peek $7c01 (info ligne ordinaire) ba-1 >! (test : si premiére ligne, <ba-l>:sawp (teste la premlére ligne, sous-routine) up posn a,b if y=b f=1 else f=0 down>! <ba-L>:<awp (cas de la ligne unique, sous-routine) sa-left ba-6 sa-* p=peek $7c01 z=p-128 msg '--- Ligne unique de ' + str$ z+ " car. 7 MG= "+ $1 +", INe "+ strs i+", CI= "+ str$ c+" ": stop>! 4:<awp msg ‘--- Ligne vide, MG= ‘ + $1 +", IN= "sstr$i+ ", Cle "+ str$ce"": f=1) sa-left stop >! S:<awp msg '--- Paragraphe ; MG= ' + $1 +", INN £ Steg L +): Cl'= H+ BtFE GAG stop>! *:<awp (Sous-routine : Lecture des Options. Merci 4 Daniel Lurot) Sa-left poke $031f,$c0:call $031b:C~peok $031a +peek $7067 (MG) poke $031f,$bf:call $031b:I=peek $031a (IN) poke $031f,$cl:call $031b:J=peek $03la (JU=U, J,C) poke $031f,$c3:call $031 $031la (LC) poke $031f,$c4:call $031 $031a (MD) poke $031f,$c5:call $031b:C=peek $03la >! (CI) Aller faire une édition, et revenir au point de départ : La macro ci-aprés permet (aprés I'avoir actionnée), de se déplacer n'importe-oi dans le fichier, de I'éditer puis de revenir au point de départ en appuyant sur la touche "£". Tous les déplacements sont possibles : souris, fléches, Pomme-fléches, Pomme-1 & Pomme-9, recherches avec Pomme-R. On peut taper un texte (sauf la touche £ ), effacer avec la touche DEL et méme avec Pomme-E (y compris effacer des options d'impression). On peut faire du couper-coller (interne, ou par le Presse-papiers). On peut méme aller dans d'autres fichiers... La macro reste active tant qu'on n'a pas appuyé sur la touche "£" (dailleurs, le message de bas d'écran le rappelle), et elle sait alors retrouver automatiquement le fichier de travail sur le Bureau. Désolé, les autres macros ne sont pas reconnues pendant que <ba-e> est active. <ba-e>:<awp (Se déplacer ou éditer du texte, et revenir) peek $c54 { N° du fichier sur le v = peek $761 : ( statut posn n,o oa-o>FM<rtn>254<rto posn *,y x=o-y+1 begin msg ' Déplacements et édit eau ) Pom’s n° 43 ——————ir Tapez £ pour revanir au point de départ “selrl-x: k=key ifnot k=35 print chr$ k:rpt (déplacements et édition) else (retour) pa-q print worth oa-L>m254<rtn rtn oa-E rtn (retouve et efface la marque) begin posn 4,b (ze-positionne le curseur) ifnot x=0 x=x-1 down rpt else ifnot a=n right rpl else msg "" : if v=0 na-z >! La macro suivante nettoie tous les espaces superflus en fin de paragraphe. Mettez le curseur sur une ligne, pressez SA-W : le curseur va au premier retour chariot SUIVANT, et enléve les espaces qui le précédent s'il y en a. wi<all (nettole les espaces supesflus en Cin de paragraphe) find (va au premier retour chariot } begin Jefe : x = peek $10£5 (ecule, lit sous le curseur) if x = 160 then sa-del (supprime espace éventuel) rpt>! Cette macro recolle deux paragraphes, quel que soit le nombre de lignes vides qui Ics séparent. Elle sert aussi & rattraper facilement un retour chariot tapé par mégarde, ou a éliminer proprement un retour chariot en bout de ligne, en conservant les espaces éventuels. Le curscur doit étre sur la premiére ligne qui suit le hiatus. hix<awp zoom oa-z ( affiche les R.C. } up right sa-left x = peek $10f5 ; ifnot x - 255 then sa sa-del zoom stop (supprime un retour chari invalontaire) else begin (va en début de ligne) x = peek $10£5 : ifnot x = 255 then oa-left rpt elseoff begin ( supprime les R.c. ) x = peek $10f5 : ifnot x = 160 then del rpt else del zoom>! Macros de tabulation par Randy Brandt Idée originale de David R.Grigg ("Monsieur.Macro" d'Australie). Note : Avant d'essayer ces macros, organisez selon vos désirs les taquets de tabulation avec la commande Pomme-M. Avancer le texte jusqu'au taquet de tabulation suivant : le curseur "repousse” tout le texte. <tab>:<all w = peek S10F1 : insert (sauve type curseur, force insertion) $0 = screen 1,2,80 : (lit dans $0 la ligne dlaffichage des taquets) begin spe : (insére un espace) posn x,y : {lit position du curseur) y = $8ff | x : (lit pos.taquet sur buffer d'écran) Zz - peek y ; if z — 61 then (taquet présent ? 61 est le "=" ) t ( répéte jusqu'au taquet suivant ) elseoff ifw=1 oa-a : ctrl-x>! ( rétablit le curseur; la commande “vide" ctrl-x rend visible le nouveau curseur) Faire reculer le texte jusqu'au taque de tabulation précédent: Le texte & gauche du curseur est écrasé. <Ctrl-X>:<awp left oa-e oa-tab rtn>! ( sa-Clear sur un IIgs) Aligner une colonne de chiffres ou justifier le texte 4 droite : Mettre le curseur au début du chiffre a aligner <Ctrl D>:<awp (Justification 4 droite } Sa-tab x = 0 (insére des espaces pour pousser le nombre jusqu'au taquet) begin z = peek $10F5 (lire le caractére sous le curseur) ifnot z - 160 then (espace ? oa-left ) ifnot z= 172 then right : x= x +1 (recherche la virgule } tpl else oa-left (recule au début du nombre ) begin not x = 0 then del : x = x- 1 (recule pour aligner les viryules ) rpt>! si oui, saute 4 Aligner une colonne de nombres sur la virgule : La liste doit se terminer par une ligne vide <ctrl-g>:<awp v = peek $7c61 : (statut zoom ?) if v = 0 Lhen va-z elseoff (zoom arriére) sa-left (aller au début de premiére ligne) begin sa-ctrl-d (tabulation décimale) sa-left (début de ligne) down (ligne suivante) Z = peek $10F5 : (caractére sous curseur ?) ifnot z = 255 then (continue sauf si Return) rpt elseoff if v= 0 oa-z>! rétablit statut zoom Pom’s n° 43 11 ~--+> échantillon de liste de nombres : mettre le curseur sur le premier nombre, et faire sa-ctrl-q 123,34 2,45 1234, 46 88,00 67890,12 Commandes de marge gauche et d'indentation : Tlest recommandé de les faire précéder de ba-left (curseur en début de paragraphe + informations). Pour un complément d'information, faites sa-V: -> Cette dernitre macro permet de repérer exactement la derniére commande en vigueur pour la marge gauche, l'indentation ou les car/inches. -> Si vous souhaitez modifier l'option ainsi repérée, tapez aussit6t aprés la commande sa-T : elle posera le curseur dessus. -> Pour revenir ausit6t aprés a la ligne de travail quittée, tapez sa-B. Attention : Ces trois macros sont concues pour travailler ensemble. La macro sa-V fait la recherche en remontant vers le début du texte, sa-B en descendant vers la fin. Et est sa-T qui mémonrise la ligne que retrouve sa-B. Si le texte est long, et si l'option est a son tout début, la recherche par sa-V prendra un peu de temps - soyez patient. Les spécialistes du langage machine devraient pouvoir réaliser la méme macro cn beaucoup plus rapide ; avis aux amateurs, Pom’s attend vos contributions ! ifnot p=s (si non trouvée) 3 beb-2 y-y-1 ba-3 ba-@ rpt else (continuer la recherche) m=peek b (si l'option est repérée) $l=str$ g ba-6 (formater MG) ‘+ $4 + " active est en y +" = Au curseur M tsursc+" IN= we s1e" etre oe" 32 ome = <ba-8>:<awp msg '--- Recherche... ‘ + sir$ yo! <ba-6>:<awp l=len $1 ifnot l= 1 $2=left $1,1 $3 $2="0" $3=$1 elseoff Si= $2 + + $3>! (formater MG) <ba-3>:<awp (si déja début de fichier...) if b<y $1=str$ g ba-€ msg '~ Pas d’option ' + $4 +" sélectionnee --- Au curseur: MG="+$1+" Claus strsc+" IN + strs i+" "sstop >! ti<awp (trouver l'option en question) v-y (ligne cherchée) posn x,y h=y (ligne q ea-1 oa-L>o<print $4 (recherche) begin posn x,y if v=y rtn stop else >oxrpt>! tée) : rtn onerr stop bixawp (retour 4 la ligne quittée) if h=0 stop else 12 begin visawp (localiser l’option IN, MG ou CI en oa-down posn x,y if ych rpt else vigueur) oa-up msg ' Options actives ? Taper G pour MG, I begin pour IN ou C pour CI ; Abandon = Esc ': down posn x,y if y=h stop else rpl>! sa-* begin k=key Définir une nouvelle marge gauche : if k=71 $4="MG" s=217 goto ba-ctr1-x elseoff g:<awp (commande de marge gauche) if k=103 $4="MG" s=217 goto ba-ctr1-x sa-* $1-str$ g ba-6 clscoff msq '~-- Marge actuelle : ' + $2 + ',' + $3 if k=73 $4="IN" s=222 goto ba-ctri-x + * 7 modifier ? O/N ': elscoff begin k=key if k=105 $4="IN" s=222 goto ba-ctri-x if k-78 msg ""; stop else elseoff if k=110 msg "": stop else if k=67 $4="CI" s=219 goto ba-ctr1-x ifnot k=79 ifnot k=111 rpt else elseoll msg ' Tapez la nouvelle marge, et RTN ': if k=99 $4="CI" s=219 goto ba-ctrl-x SO=getstr 4: elseofft oa-o if k=27 msg "":stop elseoff rpt>! >mg< rtn sa-0 onerr goto sa-e rtn esc msg "":stop>! <ba-ctrl-x>:¢awp (recherche de 1'option Définir une nouvelle indentation : précédente) 200m oa-z iz<awp (commande d'indentation ) a=32312 f=1 $2= "Indentation " posn x,y sa-* $lastrg i b=y*2+a-1 sa-k 0a-0 begin >ins rtn print x : rtn ese pepeek b msg "":stop>! 2, oO Pom’s n° 43 kisawp (sous-routine) x-0 sa-m poke $7D5,$a0 : begin k=key if k=21 if x>29 rpt elseoll if k=21 x=x+1 sa-m rpt elseoff ig if x=0 cpt elseoll (clic souris - RTN ) if k=8 x=x-1 sa-m rpt elseoff if k=27 bell esc esc msg ' Abandon ': stop elseoff ifnot k=13 rpt >! mr<awp (sous-routine) msg "Indenter de "+ str$x +" # valeur actuelle IN= "+ strsi+" ": hilight 13,23,14,23>! caractéres e:<awp (sous-routine, message d'erreur) bell esc esc msg ' Valeur non reconnue. Recommencez ' stop>! Nettoyage radical d'une option d'impression : Si vous souhaitez éliminer une option d'impression partout dans le texte, c'est la commande suivante qui fera table rase. Elle vous invite d'abord & indiquer quelle option vous souhaitez éliminer, puis passe a !'action : <ctrl-e>:<awp (élimine totalement 1'option indiguée) zoom oa-z oa-1 msg ' Nettoyage total : tepez l ‘option 4 éliminer : p.e. MG, MD, etc, puis RIN ' : oa-0 & begin 0a-L>0<sa-O rtn onerr goto ba-f (arréte en fin de parcours) rtn oa-E rtn rpt>! <ba-t>:<awp (arréte en fin de parcours) spe stop>! Effacements, insertions, inversions : Rappel : oa-DEL et sa-DEL effacent le caracttre SOUS le curscur. <spc>:<awp (INSERE UN ESPACE quel que soit le mode) p=peek $10£1 if p=1 (si mode recouvrement) oa-a spc oa~a else spc>! (si mode insertion) Les trois effacements suivants envoient le texte sur le presse-papiers, d'oii on peut le récupérer avec sa-U : d:<awp (efface le mot qui est sous ou devant le curseur) right ca-left oa-D 2S< ea-right left rtn>! yisawp (efflace Loute la ligne) sa-left oa-E>S<down left rtn >! <etri-y>:<awp (efface la ligne 4 gauche du curseur) left><oa-N>S<sa-left><rtn>! ur<awp (récupére le contenu du presse-papiers) oa-coD! zisawp (place dans $0 le mot qui est sous ou devant le curseur) k=peek $10f1 (statut insertion/recouvrement) right oa-left begin p=peek $10f5 not p=160 read rpt elseoff if k=0 oa-a>! a:<awp (échange deux caractéres : le précédent passe devant) k=peek $10f1 left read del right insert sa-0 left if k=1 Oana>! <ba-a>:<awp (échange deux mots : le précédent passe devant) $a-z oa-e oa-left rtn oa-left insert sa-0 spe if k=1 oa-a>! Divers : Zéros barrés Ordonner & l'imprimante d'imprimer des zéros barrés ou non (allumer I'imprimante d'abord !) : <ctrl-c>:<awp (Zéros barrés - allumez l'imprimante avant la macro) msg ' Imprimer zéros barrés ? Oui = RIN / Non ~ ESC ': begin k=key ifnot k=13 ifnot k-27 rpt else pré 1: if k=13 ; print chr$ 27 + "D" + chr$ 0 + che$ 1: else print chr$ 27 + "Z" + chr$ 0+ chr$1: elseoff pré 0>! Survol-éclair du fichier : Gauche/droite = oa-1 4 oa-9, haut/bas = écre par écran <ba-Z>:<awp $1 = ' Fléches : dr/g = 0a-1/9 ; haut/bas = écran par ecran. RIN = Stop ' a-l msg $1 +" begin k=key if k=10 oa-down $3=" Descend " ba~? rpt else if k=11 oa-up Monte “ ba-7 rpt else if ke8 if a-l $2= "oa-" + str$ atba-2 $3-"" rpt else if k=8 left a=a-1 $2= "oa-" + strs arba-2 $3-"" rpt clse Pom’s n° 43 13 if k=21 if a=9 $2= "oa-" + strs arba-2 $3-"" rpt clse if k=21 right a=atl $2= "oa-" + str$ atba-2 $3="" rpt else ifnot k=13 rpt else msg "" : stop>! o=176 + a: print chr$o: msg $1+ $2 +" " : hilight 48,24,51,24>! <ba-7/>:<awp meg $1 + $3 +" " s hilight 48,24,52,24>! Rechercher une page : <ctr1-P>:<awp (localise une page) oa-K rtn oa-L>P<input rtn rtn>! Numéroter les pages et/ou insérer un Haut ou Pied de page : Les numéros de pages font intervenir trois options d'impression différentes : 1. L'option NO (numéro page) décide du numéro qui sera affecté 4 une page. Elle sert uniquement @ modifier le décompte automatique des pages que tient AppleWorks. 2. Lioption PN (imprimer numéro de page) marque Tendroit od l'on veut imprimer le numéro de page. L'endroit est matérialisé par le symbole "*". On peut l'insérer dans le corps du texte pour des utilisations spéciales (le numéro ne sera imprimé qu’a cet endroit du texte, sans étre répété ailleurs) , mais normalement on l'instre dans le Haut de page ou le Pied de page (dans ce cas, il réapparait & chaque page et les numéros augmentent automatiquement d'une unité 4 chaque nouvelle page). 3. L'option PP (Pied de page) ou HP (Haut de page) décide si la pagination apparaitra en haut ou en bas & chaque page. II y a une régle a observer quand on place le curseur pour les options HP et PP ; l'option PP peut eure insérée n'importe oi dans une page, et le Pied de page apparaitra dés cette page. L’option HP doit étre insérée dés la PREMIERE ligne de la page, sinon elle n'apparaitra qu’ la page suivante ; souvenez-vous de cette régle lors de la premiére phase de la macro ci-aprés. Cette macro s'utilise de la fagon suivante : 1, Tapez ba-curl-N (Double-Pomme-Curl-N) : AppleWorks affiche la pagination en vigucur. Avec les fléches, Pommes-fléches, souris ou oa-1 4 0a-9, placez le curseur dans la page ot vous voulez que commence I'affichage des pages, et faites RTN. 2. Indiquez ensuite le numéro que vous souhaitez attribuer a cette page, suivi de RTN, ou faites simplement RTN si vous conservez la pagination d'AppleWorks (telle qu’affichée avec oa-K). 3. La macro vous demande si vous avez déja créé un haut de page ou un bas de page avec une option PN incluse ; si vous répondez "O", la macro se termine. Si vous répondez "N", vous étes invité a choisir entre unc pagination en haut de page ou en bas de page, et la macro fait le avail. Le modéle imprime le numéro de page vers la droite de la ligne. Cette ligne apparaitra une seule fois dans votre fichier aussit6t aprés l'option " -------- Haut page” ou "-------Picd page”, mais l'imprimante la répétera & chaque page jusqu'a la fin du texte, ou jusqu'a ce que vous la changiez. Vous pouvez (une fois la macro terminée) éditer cette ligne a votre convenance (par exemple, ajouter "Page " avant le symbole "*", ou un sous-titre, etc. Note : Cette macro convient aussi pour insérer un Pied de page ou un Haut de page sans pagination. Il suffit, une fois la macro achevée, d’éditer la ligne qui suit V'option en y supprimant le symbole "™", et en insérant le texte souhaité. <ba-ctrl-n>:<awp oa-k rtn msg ' Placez le curseur 14 ot la pagination doit commencer, puis RTN ' begin k~key ifnot k=27 ifnot k=13 print chr$ k:rpt else if k=27 bell msg ' Abandon ': clsc if k=13 msq ' Tapez le nouveau N° de cette page, ou RIN seul pour ne rien changer '; $0= getstr 6: ifnot $0-"" oa-o>nox rta sa-0 rta esc elseoff bell msg ‘ Avez-vous déja créé un HP ou PP avec une option PN ? O/N ': | begin k=key if k=79° msg "": stop e if k=111 msg "": stop else ifnot k=78 ifnot k=110 rpt else msg ' Voulez-vous 1a pagination en Haut ou en Pied de page ? H/P ; begin k=key ifnot k=27 ifnot k=72 ifnot k=104 ifnot k=80 ifnot k=112 rpt else if k-27 msg ' Abandon ' : stop else if k=72 $0="HP" elseoft if k=104 elseoff if k=80 elseoff if k-112 $0-"PP" elscoff 04-0 sa-0 rtn esc sa-left rtn up c-0 begin spe e=c/l ifnot c=60 rpt else oa-o>PN<rtn esc stop>! Esc = stop ': Sauvegarde automatique si vous avez une horloge : En faisant Double-Pomme-Curl-A vous mettez en route |; sauvegarde automatique (horloge nécessaire). Le fichier e cours sera sauvegardé toutes les 5 minutes environ. La fréquence peut étre modifiée (deuxidme ligne). Si vous étes dans un menu au moment du déclenchement d¢ la sauvegarde, celle-ci n'aura pas lieu, mais se fera la foi: ee ————ee—aSESee Pom’s n° 4 daprés. <ba~ctri-a>:<all $0 = time24 : H = val $0 : $0 - right $0, 2: M= val $0+5: ( le 5 veut entre chaque sauvegarde) msq " Sauvegarde automatique enclenchée ": wake ba-ctrl-b at H:M>! e 5 minutes <ba~ctrl-b>:<all x - peek $e86: if x = 0 Lhen oa-s elseoff ba-ctrl-a>! vérifie que le fichier est bien 4 l‘écran au moment de la Sauvegarde par oa-s. Faites Pomme-Ouverte-CONTROL-N pour annuler la sauvegarde automatique. end Rappel des commandes de Tdt disponibles : sa-left | Curseur en début de ligne sa-right Curseur en fin de ligne oa-left Curseur au début du mot précédent oa-right Curseur au début du mot suivant sa-rin Curseur au Retour-chariot suivant ba-left Curseur au début du paragraphe courant, et infos sur valeurs MG, IN, CI et type de ligne ba-e Aller éditer, déplacer, copier du texte puis revenir automatiquent au fichier et point exacts de départ sa-w Nettoyer les espaces superflus en fin de paragraphe sah Coller 2 paragraphes sa-tab Repousser le texte au taquet de tabulation suivant sa-ctrl-x Ramener le texte au taquet de tabulation précédent sa-ctrl-d Aligner une colonne de chiffres, ou justifie a droite sa-ctl-q Aligner une colonne de nombres sur la virgule sa-v Repirer la derniére option active MG, IN ou CI sa-t Envoyer le cuseur sur cette option sa-b Ramener ensuite le curseur & la ligne de wavail sa-g Définir une nouvelle marge gauche sa-i Définir une nouvelle indentation sa-ctrl-e Eliminer totalement une option (au choix) sa-spe Insérer un espace en toutes circonstances sa-del Effacer le caractére sous le curseur oa-del Idem sa-d Effacer le mot sous le curseur oa-y Effacer la ligne & droite du surseur sa-y Effacer toute la ligne sa-ctrl-y Effacer la ligne & gauche du curseur sau Récupérer les effacements par sa-d, sa-y et sa-ctrl-y $a-z Placer dans $0 le mot sous le curseur sa-a Echanger deux caractéres ba-a Echanger deux mots sa-ctrl-c Zéros barrés ou non barrés 4 |'imprimante ba-z Survol-éclair de tout le fichier sa-ctrl-p Recherche de page ba-ctrl-n Pagination, Hauts et Pieds de page automatiques ba-ctrl-a Sauvegarde automatique (horloge nécessaire) oactrln Arrét de la sauvegarde automatique Fichier CALCUL.UM Un petit programme récréatif de calcul mental (a besoin du fichier Tableur CALCUL.MENTAL) START Macros de démarrage du fichier “Task <ba-$>:<all (Envole au Menu principal d'Appleworks, en cas de démarrage par selecteur, hors Appleworks) rtn (correspond 4 la pause pour insérer le disque Programme) ( input ) (ici, ltinput est inhibé ) (valide la date) oe (enchaine sur la deuxiéme macro) Note : Si vous n'avez pas d'horloge, enlevez les parenthéses qui inhibent "input" avant le deuxigme "ttn" afin qu'Appleworks fasse la pose qui permettra d'insérer la date. <ba~°>:<all (Démarrage avec Macro Options) msg ' Macros Calcul activées. Chargez CALCUL.MENTAL et tapez SA-L '>! Dans cet exemple, la deuxigme macro contient un message d'information, Comme la premitre macro revoie aussi a la deuxiéme, ce message s'affichera dans tous les cas de lancement du fichier "Task", Exercice proposé : modifiez cette deuxitme macro pour qu'elle charge automatiquement le fichier CALCUL.MENTAL sur le Bureau, et fasse sa L. <ba-#>i<all $0="Macro Options" oa-Ese find rtn ren msg ' Choix = fléches. RTN pour valider, ESC pour abandonner ': begin k=key if k=10 down rpt else if k=11 up rpt else if k=13 rtn stop else if k=27 esc esc stop >! Macros du programme : <ba-a>:<asp d=0 ba-1 >plus< ba-2 >tcl2+cl3< ba-3 sa-L >! <ba-s>:<asp d=0 m=51 n=9 o=63 p=9 ba-1 >moins< ba-2 >#e12-cl3< ba-3 sa-L >! m=51 n=8 0-59 p=8 Pom’s n° 43 6 <ba-m>i<asp d=0 m=51 n-10 0-65 pw10 ba-l >fois< ba-2 >telZ*cl3< ba-3 sa-L >! <ba-d>:<asp d=1 m=51 n=11 o=59 p-11 ba-1 up right cell down left x=val $0 odiv.pare ba-2 left left up up cell y=val $0 down down cell z=val $0 a-x/y down left >Restec right bell msg ' Indiquez ie reste ': reval $0 up right right if a=z >Juste< down down elseofft b-a*y cex-b if cor >Juste< rtn else rtn elseoff sa-L>! <ba-1>:<asp oa-L>e<oa-y>cl2<rtn oa-b>L<down down down down rtn bell hilight m,n,o,p msg ‘ Tapez un chiffre, suivi de RTN ': input down left >! <ba-2>:<asp right bell msg ' Tapez un autre chiffre, suivi de RTN input cell else >Faux< input down >"--------- <down left 2Egale<right be. msg ' Maintenant, tapez le rés de RIN' nput right right>! <ba-3>:<asp rtn cell 0 print chr$ 43 :>cl5< rtn cell if $0=$1 >Juste< rtn else >Fauxe rtn left left msg "">! <ba-v>:<asp ifnot d=1 msg ' he résultat correct étai appuyez sur une touche * key sal else msg ' Le résultat était ° + st. reste ' + strS c+ ' 7 ap) touche ‘: key sa-L>! Lreasp bell msg ' Faites votre choix ': begin k=key if k=65 ba-a elseoff if k=97 if k=83 ba-s elseulf if k-115 if k=77 ba-m elseoff if k=109 if k=68 ba-d elseoff if k-100 if k=86 ba-v elseoff if k=118 ifnot k=27 rpt else msg oa-L>e<oa-y>el?<rtn ca-b>L<down down down down rin stop>! end ultat, suivi oa-b rtn "92 2%" eva 2 Fy ez sur une ba-a elseoft ba-s elseoff ba-m elseoff ba-d elseoff ba-v elseoff " Terminé ": Fichier CALCUL.MENTAL Voici le modéle du fichier Tableur CALCUT..MENTAL. indispensable : Construisez-le en respectant scrupuleusment emplacement des lignes et des colonnes ! Fichier: CALCUL.MENTAL wenee===A: ae 1! 2 Exercices de calcul mental : REVUE/AJOUT/MODIF. 3! wen eaanenn=: Option-L (SA-L) pour 4a! Tapez : itancer Ss! 6! 7 a! Puis : 9! 10! 11! 12! 23 14! 15 16! 27! 18! A pour S pour M pour D pour V pour Escape Faites votre choix Menu Principal l‘exercice, Addition Soustraction Multiplication Division Vérifier pour abandonner 16 Pom’s n° 43 Un patch pour SuperFonts Si vous utilisez le nouveau noyau Timeout.F21 de mars 89, vous rencontrez peut-étre un probléme pour imprimer ‘ad partir du curseur’, Si tel est la cas, le programme suivant se charge d'apporter la modifi- cation nécessaire 4 SuperFonts. Veillez a ce que la disquette & modifier s'appelle bien ‘/Superfonts’ ou bien modifiez la ligne 130. Bien entendu, le programme Basic et la patch sont sur la disquctte d'accompagnement de ce numéro. a. GS Programme Patchsuperfonts 100 ONERR GOTO 320 110 DE = CHR$ (4): PRINT D$"p xr£3": HOME : PRINT 115 PRINT D§$"profix": INPUT P FXS 120 PRINT D§"bload sf.pat" 130 SF$ = "/superfonts/to. supe rfonts.f" 160 HOME ; PRINT 170 PRINT "Ce patch permet 1' emploi de TO.SUPERFONTS.F a ney 175 PRINT " la nouvelle versi on (mars 89) du noyau TimeO ue 180 PRINT 193 PRINT "Tnsérez votre disq ue contenant SuperFonts": P RINT 195 GOSUB 500 200 IF A$ = CHRS (27) THEN 3 10 220 PRINT D$"verify "SF$ 230 PRINT D$"bsave"SF$", a$200 0, b$04E2,1$091A" 250 PRINT "Modification réuss je." 260 GOSUB 500: IF AS = (13) THEN 130 300 PRINT "Pressez une touche pour continuer ";: GET X$: PRINT 310 PRINT D$"prefix"PFX$: END 320 EL = PEEK (218) + 256 * PEEK (219) 330 IF EL = 120 THEN PRINT" Impossible de trouver SF.PA T": END 340 IF EL = 220 THEN PRINT " Impossible de trouver T0.SU PERFONTS.F": PRINT "Tapez 1 CHRS | SiS ‘AVAIS EU) | | Gucci eee, | CETTE SYMPHONIE RE) SERAIT PAS I Un éditeur musical | | fabuleux, un pilotage des | instruments MIDI dapreés la partition : ConcertWare, c'est Paganini et Peterson en mémoire vive. | | Essai dans Pom's 44 Daniel Lurot @ nom d'aceés A SuperFonts" ; INPUT "";SF$: GOTO 220 350 IF EL = 230 THEN PRINT " Impossible de modifier "SF$ + GET A$: GOTO 160 440 POKE 216,0: RESUME 500 PRINT "Pressez Return pou £ corriger, ou Escape pour quitter: "; 505 GET A$: PRINT : IF A$ = CHR$ (27) THEN 520 510 IF AS < > CHRS$ (13) THE N 505 520 RETURN Patch Sf.pat Aprés avoir sasi ces codes sous moniteur, vous les sauvegarderez par : Rsave sf.pat, AS$2000,1L2330 2000:20 6F 11 00 15 2C 2A AD 2008:00 8D AD 21 &D A& 21 20 2010:8A 11 56 29 20 32 DO 08 2018:26 03 50 29 41 26 4B 29 2020:10 26 43 29 09 26 60 AD 2028:80 8D AD 21 DO 31 AS 80 2030:8D A& 21 20 8A 11 7C 2A 2038:20 AS 27 A5 88 DO E7 AS 2040:8D 8D A9 21 AS 8E 8D AA 2048:21 20 6A 11 80 2A 20 AS 2050:27 AS 88 DO D1 AS 8D 8D 2058:AB 21 A5 8E &D AC 21 20 2060:00 11 20 6F 11 15 08 24 2068:29 20 75 11 15 OA OD 29 2070:20 6F 11 29 OA BO 21 20 2078:6F 11 29 OB DO 21 20 75 2080:11 15 OD 1R 29 AD FB 21 2088:20 30 11 DO 03 4C 08 26 2090:8D FB 21 AD 5F 21 29 FC 2098:0D FB 21 8D 5F 21 20 00 20A0:11 20 3B 27 20 8A 11 DE 20A8:28 20 SA 11 C9 1B FO DD 20B0:C9 OD FO 4A C9 61 90 02 20B8:29 DF C9 41 DO OB AD FC 20C0:21 49 FF 8D FC 21 4C 83 20C8:26 C9 52 DU UB AD FD 21 20D0:49 FF 8D FD 21 4C 83 26 20D8:2C FD 21 30 1B C9 53 DO 20E0:05 8D FE 21 FO BB C9 4E 20E8:DO 05 8D FE 21 FO B2 C9 20F0:42 DO 05 8D FE 21 FO AD 20F8:20 15 11 4C 83 26 AD FE 2100:21 8D SE 21 OE SF 21 OE Pom’s n° 43 17 18 2108:5F 21 AD FD 2110:21 2118:20 2120:A2 2128:85 2130:5D (2138:88 2158:26 2160:20 2168:FC 2170:1C 2178:97 2180:28 2188:20 2190:6F 2198:21 21A0:C9 21A8:01 21B0:30 21B8:7E 2100:17 21C8:A9 21D0:13 21D8:85 21E0:4C 21E8:85 21FU:AE 21F8:BO 2200:D9 2208:A5 2210:0A 2218:BO 2220:8D 2228:CF 2230: 60 2238:69 2240:3A 2248:6C 2250:20 2258:4E 2260:6C 2268:20 2270:18 2278:72 2280:20 2288:20 2290:69 2298:70 22A0:2D 2248: 64 22B0:35 22B8:20 22C0:73 2208: 68 22D0:18 22D8: 69 22E0:61 22E8:2D 22F0:20 22F8:65 2300:65 2308:74 AD 20 20 3A 65 20 53 69 20 18 74 72 2D 75 30 16 12 FC 11 20 Ag Ag 20 61 21 20 él 31 o1 60 co 29 20 11 ic 97 28 OF 11 ic OE A2 06 93 28 28 Ag 38 bo 15 (5-3 EC 8s BO DO il 91 69 8D 6F 2D 20 20 4E 20 20 20 75 20 2D 20 73 52 74 20 3A 6D 74 2D 20 2D OF 20 20 6C 6c 21 OA 8A 11 8D 20 AS 31 OF 15 7¢ 08 27 AD 11 ic oD 20 oc £8 27 60 60 oo DO SB i1 ag 27 85 oD DS cD AS 1ée@ 00 0s 6E 2D OF 20 20 OF 20 20 65 2D 2D 6D 63 2E 27 65 cE 11 Ag 86 87 90 8D il 07 9B 20 1c 39 28 AD co 20 30 20 8D AS Ag 20 oo EE 7) co 29 Ae 92 65 8E 03 2D 20 20 2 72 20 20 75 65 20 75 27 54 20 6E SF SF 21 CB 28 01 8D OD 20 DO AS DO 10 4C FA 28 20 06 20 cy 02 20 20 20 20 20 20 20 50 2D 2D 72 65 70 69 61 70 6F 69 64 65 236 2368:72 04 50 2370:7B 62 75 2378:72 69 6D 238 238 2391 2398: OF 23A0:65 23A 23B0:74 6F 75 23Bi 845 73 23C0:20 20 20 23C8:70 6F 75 23D0:7D 74 65 23D8:6D 70 72 21 65 75 V2 $2 65 6F 7/5 66 2E 20 64 65 20 75 73 20 6C 73 73 75 72 6E 75 6D 70 6E 4F 54 20 4F 4E 31 20 20 20 20 20 43 OF 2480:68 74 20 2488:39 38 37 2490:6B 20 53 53 20 61 20 20 27 OB 65 OF 20 74 52 27 50 20 20 20 72 70 72 64 70 1B 6c 73 45 45 76 20 20 3A 20 27 2518:29 2520:02 2528:00 2530:70 2538:80 2540:B0 2548:20 2550:13 2558335 2560:D0 2568:35 2570:8B 2578:0A 2580:E8 2588:35 2590:FE 2598:D3 25A0:48 25A8:C9 25B0:05 25B8:09 2500:C8 25C8:90 25D0: 9F 25D8:C9 25E0:20 25E8: 6F 25F0:11 25F8:23 2600:0E 2608:10 2610:FO 2618769 2620: 8A 2628:0A 2630:8A 2638:AD 2640:09 2648:20 2650: 66 2658:8B 2660:C9 2668:79 2670:20 2678: 8C 2680:30 2688:99 2690:39 2698:00 26A0:0F 26A8:FO 26B0:BD 26B8:0A 26C0:39 26C8:C3 26D0:39 26D8:99 26E0:8C 26E8:1B 26F0:35 26F8:14 2700:FO 270820 2710:4¢ 2718:20 11 14 ES 90 90 06 8D ce 66 04 66 8D 2B Be oF FO SRE 20 20 02 DO 60 4c 20 60 BO 60 11 14 0B c3 29 60 2eag 8D 35 68 Ag 10 99 FO AO Ec 87 35 AO co 36 co 36 88 OF FO OA 8D 00 DO 06 38 14 09 9A 29 20 AD Bo Ag fou} 39 c4 06 ce oo 2c 11 25 02 60 2c 75 3c Bg 50 ce 35 4D BO BO Ad 20 co 29 BD 20 2c FO FO 2D 66 ae DO 02 DO 20 8D co 44 3c 30 8A oF 9D 14 2c 90 AD AD co 7B Bo cc 35 30 20 62 29 20 oF 11 35 Ag DO 29 DO cE Bo 67 FF C4 AD FD 53 8c ec BO EE FO cs AD cE 90 30 90 30 BD DO 20 TE 66 15 59 AD 36 40 00 BS 73 AS 7c C9 06 AD Bl 2B 89 35 3D FO 8D 89 C9 3D 8D 88 35 8D 2B BO 8D 35 8E 8C 2C AC ec 4c FE 21 39 DO 68 OA 02 7¢ 87 35 60 20 90 03 00 11 29 20 20 OF OF 11 11 14 23 OF 29 OF 00 18 F8 8D OF co 03 6D 8A 35 Ec 60 38 2c 2C AC 21 30 DO 72 35 AE 35 co 07 c8 8E C2 4B A2 39 29 C3 39 C3 39 9D CS DS AD 9D C5 c4 39 Fe 8c 6F 11 11 8c 36 30 cy O1 co 04 25 25 39 4c Pom’s n° 43 2720:C2 2 2726:39 2730:2F 2738:BD 2740:8E 2748:36 2750:05 2758:75 2760:04 2768:26 2770:62 2778:CS 2780:2F 2788:4C 2790:FO 2798:2F 27A0:0C 27A8:A9 27B0:63 27B8:0D 2700:2C 27C8:2F 27D0:75 27D8:07 27E0:2C 27E8:40 27F0:6C 27F8:2F 2800:8D 2808:A0 2610:E8 2818:75 2820:BB 2828:2E 2830:74 2838:C3 2840:78 2848:0A 2850:2F 2858:2F 2860:70 2868:6D 2870:CA 2878:2E 2880:2E 2888:2E 2890:8B 2898:00 28A0:EE 28A8:00 28B0:0A 28B8:8C 28C0:68 28C8: 6D 28D0:73 20D8:74 28E0:20 28E8:FF 28F0:35 20F8:FF 2900:CO 2908:FO 2910:2E 2918:4C 30 25 2F 25 25 2F 20 FO 82 Ec 8D FO 76 2F 20 68 29 2F 20 66 39 il E8 35 00 ce 2F 6D AD 2F 2E 33 FO DO aD 2F 2F 20 ag 8D FA 35 22 co 20 A7 35 68 OF 75 65 20 38 IF 38 7B OA 4c 83 20 21 2F aF OA 27 2c 8D Ag c 03 aA 76 8D Ag Be 68 OF Ag 6c 36 7 81 AQ co B9 ag BESAESIISESSRA 60 2D AE co 4c 20 25 66 61 ar 2E 4c E& 2F 29 62 cS 2F FO oF il 30 2F 2F 68 2c 11 20 75 a 6c 2D 4c 36 2F gD 90 2c 76 8E bo FO a 4c 03 20 00 2E 36 20 OF 11 2A 65 69 BO 20 68 Ac AD 68 eB 6c oF DO 2D il 20 c2 10 ag 63 0D 2c a 75 42 8D Ag c3 03 ShaES be oF 75 02 9D 90 68 ce 6c Ad 10 co ar 63 Ag co 25 11 FO 89 9D il OF 11 20 1B 20 73 75 6c Ag 8B 20 c 2F 8&1 11 75 Ea C Fe CA 2C 66 75 2F 6c 11 2D AD 03 AD 76 &D 2F Ag 20 BE 68 68 29 OF 2F Ag AD A6 61 2F 2F 8D 2E 90 4c 2c bs E& && 2F DO AT 0c 6c 11 2D 20 AE 75 2F AD A2 00 76 2F F3 8E 2F AQ 20 c3 2F 8D D1 20 03 4c 10 90 6D 6F 2F 8D FA 8D 2F Ag 20 C3 8D 89 DO 89 2E 9D O01 22 60 00 11 FF FF 0c $111 4D 7B 69 6E 61 6E 72 3A 11 8c 00 8D 35 99 B8 2F 20 FD 68 68 Pom’s n° 43 Daniel Lurot T35 AppleWorks : des patches Modifications Ultramacros 1.7 > 2.2 Dans la nouvelle version US d'UltraMacros, un bug existant dans les versions précédentes a été corrigé. Ce bug ‘plantait’ Appleworks lorsque qu'unc longue variable chaine était manipulée pendant I'affichage du menu TimeOut (ceci pouvait se produire par exemple au ‘réveil’ d'une macro latente). Pour la correction dans la version frangaise d’'UluaMacrus, faire les modifications suivantes dans le fichier ULTRA .SYSTEM. uctet Chaine 4 rechercher 4 remplacer par $001A79 00 BE 90 09 $001B08 ou BE 90 09 $001B1A 01 BE 91 09 $001B23 ou BE 90 09 $001C64 00 90 $001C68 BE oy Correction du bug impression du Tableur Lors de l'impression sur disque d'un fichier Tableur (DIP/ASCII), si AppleWorks rencontre un probléme lors de la création du fichier, il affiche, ce qui est logique, Impossible de commencer xxxxxxxxxxx, puis demande Recommencer ?. Si nous répondons Oui, il affiche dans tous les cas XXMXKXXXKKXX existe déja, Détruire 1'ancien, ce qui est souvent absurde. Pour corriger ce bug, il faut modifier SEG.M1 de la manitre suivante: UltraMacros : un STEP programmable Lors de la mise au point de macros, il peut étre commode de disposer temporairement du mode STEP. Un ‘poke’ bien choisi a l'adresse SD1EC peut activer ou désactiver le STEP : poke $diec,$fb : active le STEP poke $dlec,$23 : désactive le STEP S 19 = Basic & DHGR Philippe Matsumoto DHR-AGP regroupe plus d'une vingtaine d’instructions accessibles ués simplement depuis I'Applesoft par I'ampersand &. Ces instructions forment un ensemble complet permettant une utilisation exhaustive des possibilités offertcs par la double haute résolution, DHR. Certes, il existe déja des programmes d'utilisation de la page DHR, mais DHR-AGP a de nombreux alouts qui font de lui un programme particuli¢rement intéressant. Ce programme n’ulilise que 9 octets en mémoire vive principale, laissant libre l'ensemble de la zone de mémoire gérée par |’ Applesoft. Les programmes Basic et en assembleur pourront rester aussi longs que si DUR-AGP était absent. Principales qualités de structure de DHR-AGP +> Il est stocké et utilisé en mémoire auxiliaire ; son fichier source qui conticnt plus de 40Ko de commenuaires est ainsi un excellent exemple d’utilisation compléte des commutateurs logiciels de I’ Apple //. «> Ce programme ne monopolise pas l'utilisation de l’'ampersand, ct tout autre programme s’cn servant fonctionnera sans modification. «> Ilest court : une moyenne de 150 octets par nouvelle instruction acquise. DHR-AGP ses possibilités graphiques «> Instructions PLOT, BOX, inversions vidéo, affichage de tous les types de pages graphiques, passage de 40 a 80 colonnes. «+ DHR-AGP permet de tirer meilleur parti des possibilités de mélanges de couleurs et surtout de création des différents niveaux de gris ; vous pouvez définir, puis utiliser vos propres mélanges de couleurs grace & Vinstruction DeFcoLor. Outre les “huit” couleurs du systéme, le programme vous offre done huit couleurs disponibles, redéfinissables sur la base d’un motif élémentaire de 2 fois 14 points (accés 4 plus de quatre milliards de motifs élémentaircs possibles). *> Il comprend une instruction de remplissage FILL AT %, ¥ permettant de remplir dans n’importe quelle couleur toutes les figures quelle que soit leur complexité. Utilis¢e avec l’instruction de définition des couleurs, elle permet & tous les graphiques d’acyuérir une finesse supplémenuaire. ++ Trois instructions complémentaires assurent une parfaite comptabilité entre le graphisme en HGR et DHR. Elles permettent entre autre de faire passer un dessin créé en HGR sur la page DIIR, ct vice-versa. ++ DHR-AGP vous offre deux pages DIIR, de la méme maniére qu’il y a deux pages HGR. L’affichage de I’une et de l'autre est évidemment possible, et on peut également en dupliquer une sur I’autre. «+ DHR-AGP posséde des instruction de sauvegarde et de chargement d’un graphisme sur la disquette (en le “compactant”). Utilisation Le lancement de DHR-AGP s’effectue par : BRUN DHRAGP.C, ASZU00 En effet, DHRAGP a été assemblé a I'adresse $800 mais, pour pouvoir I'utiliser sans crainte de déwuire un programme Basic, il doit étre chargé et exécuté a l'adresse $2000 de la mémoire vive principale. Le programme s'auto-implantera a l'adresse $800 de la mémoire auxiliaire, laissant de nouveau libre la mémoire principale, & l'exception des ocicts $6 4 $B ct SFA a SFC qui ne doivent pas étre détruits. Votre programme utilisant les fonctions de DHRAGP devrait étre lancé par un programme du style START. DHR listé ci-aprés. Sur la disquette Pom’s 43 Vous y trouverez le programme de démonstration, l'objet exécutable mais aussi Ics sources ProCODE avec commentaires. Liste des instructions &PLOT X,¥ [TO Xi,¥1].. [TO Xn, ¥n] Affichage du point de coordonnées (x, ¥) puis de droites reliant Ies points successifs (x1, ¥1) a (Xn, ¥Yn),dans la couleur courante. &PLOT TO X,Y [TO X1,¥2] [TO Xn,Yn] Pom’s n° 43 Identique & PLOT mais commence par relier le point (X, Y) au point précédemment mémorisé dans le pointeur. &INVERSE PLOT [TO] X,Y [TO Xi, Yi] [TO Xn, Yn] Instruction PLOT [TO] mais l’inversion vidéo remplace la couleur courante. &BOX X1,Y1 TO Xz, ¥2 Dessine et remplit dans la coulcur courante le rectangle dont le coin supéricur gauche est (X2, Y2) et le coin inféricur droit (x2, ¥2) avec X7>=X7+7 et ¥2>¥7. S& INVERSE BOX X1,Y¥1 TO Xz, ¥2 Identique & BOX mais remplacement de la couleur courante par l’inversion vidéo (permet une inversion vidéo partielle ou totale de l’écran). &FILL [COLOR=Col] AT X,Y (0<=col<=15) Remplissage dans la couleur courante (ou la couleur Col si COLOR=col est précisé) de la partic de Vimage contenant le point (x, ¥), délimités par des points allumés consécutifs ou les bords de I’écran. Cette instruction permet de remplir toutes les figures, quelle que soit leur forme. &DEF COLOR=Col TOA,B,C,D (8<=Col<=15) Redéfinition de la couleur Col aux valeurs A, B, Cet D (comprises entre 0 et 255). Selon Ic schéma classique de la définition des masques de couleur. A B Motif élémentaire ———$——— gmibess de 1482 points couleurs possibles &COLOR=Col (0<=Col<=15) La couleur Col devient couleur courante pour Ies ins- tructions PLOT, BOX et FILL. &AGP.HGR>DHR Recopie le graphisme de la page DHX. Chaque point initial HGR est transformé en deux points juxtaposés sur la page DHR. Affichage de DAR. &AGP.DHR>TWO Divise la page DHR en deux parties : la moitié gauche est copiée sur la page HGR ct la moitié droite sur la page HGRz. Alfichage de la page HGR. &AGP. TWO>DHR Copie HGR sur la moitié gauche de la page DHR, et la page HGR2 sur la moitié droite. Instruction inverse de AGP . DHR>TWwo. Affichage de DHR. Les trois instructions AGP.> assurent une parfaite comptabilité entre simple et double haute résolution. &STORE Sauve la page DHR sur la page DHR2 virtuelle (ce procédé permet d’avoir deux pages DAR comme on a deux pages HGR). DHR2 est détruite. GRECALL Rappel de la page DHR2 sur la page DHR ou copie de la page DHR2 sur DHR. &EXCHANGE Echange les deux Pages DHR ct DHR2 entre elles. Permet l'affichage de DHR2. SSAVE "Nom" Sauve sur la disquette le graphisme DHR en la “compactant” : les octets inutiles ne sont pas sauvés. Une page DHR prend alors 15 600 octets. Aucun systéme de traitement d’erreur n'est prévu. Le nom peut contenir des Icttres et des chiflres. &LOAD “Nom” Charge sur la page DHR le graphisme sauvé par &SAVE. &DHR [Text] Affichage de la page DHR avec 4 lignes de texte si TEXT est précisé et si la carte 80 colonnes étendue est active. &CLS Efface la page DHR et fixe le blanc 1 comme couleur courante (et/ou la page HGR). &HGR [Text] Affichage a l’écran de la page HGR avec 4 lignes de texte, éventucliement. &HGR2 Affichage de HGR2. Ces instructions sont conseillées plutét que les instructions du syst¢me. &TEXT ou 40 Passage en mode texte 40 colonnes 680 Passage en mode texte 80 colonnes si la carte 80 colonnes est active. Le couple & 40/480 permet des passages successifs 4 I'écran 40 et 80 colonnes. 6... (instruction Ampersand étendue) Permet l’utilisation d’autres programmes fonctionnant a partir de l’interpréteur &. En fait, ¢& appelle le programme qui se trouve a l’adresse contenue dans les vecteurs Ampersand avant le chargement par BRUN DHRAGP.C, A$2000 de DHR-AGP. Pom’s n° 43 21 Programme Start.dhr 10 PRINT CHR$ (4) “BRUNDHRAGP.C, AS2000 20 PRINT CHRS (4) "-DEMONSTRATION Programme Demonstration 10 LOMEM: 245/6: TEXT : PRIN CHRS (4) "PKE3": PRINT ; VIAB 21: PRINT “DEMONSTRATION DE D HRAGP : INVERSE : PRINT SPC( 60): PRINT : PRINT " POKE 36,58: PRINT " PRIN T SPC{ 60): NORMAL 12 A$ = "Programme de demonstration de DHRACP p ar P.M.": GOSUB 80:A$ = "& DHR TEXT:& CLS:T racé d'un quadrillage avec & BOX": GOSUB 80 ¢ & DHR TEXT : & CLS: & COLOR= 3: FOR I = 0 TO 154 STEP 77: & BOXO,I TO 550,I + 4: NE xT I 14 FOR I - 0 TO 544 STEP 68: & BOXI,OTOI+9 7158: NEXT I:A$ = "& COLOR=Col (0<=Col<=15) Palette de couleurs": GOSUB 80: FOR I - 0 TO 15: & COLOR= I: GOSUB 78: & BOXA,B TOA + 53,B + 69: NEXT 16 AS = “Exemples de couleurs redefinissables a vec DEFCOLOR"; GOSUB 80 18 I = INT ( RND (1) * 16): GOSUB 78:C = RND (1) * 256;D = RND (1) * 256: & COLOR- &: & DEF COLOR= 8 TO D,C.C.D: & BOXA.B TO A + 53,B + 69: IF PEEK ( - 16364) < 127 THEN 18 19 PI = 3.1416: 6 COLOR- 0:A$ ~ “Trace de cour bes avec &PLOT": GOSUB 80: & BOX282,0 TO 55 9,159; & COLOR= 3; FOR I = 0 T0 15:A =I * 17.125:R = T * 9.938: & PLOT 284 + A,0 TO 558,B TO 558 - A,159 TO 284,159 - B TO 284 + ALO: NEXT T PLOT 462,100: FOR I = 010120: § PLOT TO 422 + 40 * ( STN (T / 60 * PI) + COS ( I / 12 * PI)),80 + 20 * ( COS (I / 60 * PI) - SIN (I / 20 * PI)): NEXT 21 AS = "Sauvegarde de cette page sur DHR2:6 ST ORE": GOSUB 80: & STORE :AS = "s CLS et tr ace d'un cadre"; GUSUM 80: & CLS: & COLOR= 3: FOR I = 0 T0 12 STEP 2:A = 559-2 * TI: B=2* 1:0 = 159-1 & PLOT B,I TO A,I TO A,C TO B,C TO B,I TO B+1,IT70B+1,C: & PLOTA- 1,1 T10A- 1, 20 & 22 C: NEXT I:A$ = "Utilisation de PLOT et FI LL": GOSUB 80 24 FOR I - 535 T0 25 STEP - 5: & PLOT 101, SIN (I / 20) * 15 + 60: NEXT = 16: GOSU B 76:B - 110: COSUB 76: & PLOT 285,74 TO 2 85,146: & FILL COLOR= 9 AT 99,74: & FILL CO LOR- 11 AT 99,109: & PILL COLOR= 14 AT 99,1 45 26 A$ = "Inversion vidéo d'une partie de 1'éera nz& INVERSEBOX": GOSUB 80: FOR I = 1 TO 6: & INVERSE BOX286,30 TO 534,80: FOR J =1T O 500: NEXT J,I:A$ = “Les graphismes sont p lus simples avec PLOT et SPILL": COSUB 80: & COLOR= 3 28 500 STEP 3578 = RND (1) * 5 1O A + 31,140 TO A+ 31,B- 6 TOA + 23,8: & PLUI A,B IU A + 8,83 -6T70A+ 31,B-6 30 & FILL COLOR= 10 AT A+ 9,8 - 1: & Fibb COL OR= 15 ATA + 9,8 + 1: & FILL COLOR= 9 AT A + 25,B: 6 COLOR= 3: NEXT : & PLOY 515,78 TO 515,146: FOR I = 146 70 80 STEP - 5: & PLOT 513,I TO 518,1: NEXT 32 A = 158: GOSUB 72:A = 284: GOSUB 72:A = 412: GUSUH 72:AS = "Sauvegarde de ce dessin sur la disquette": GOSUB 80: & SAVE "DHRDESS" 1AS = "Rappel du dessin qui se trouve en DH R2: SRECALL": GOSUB 80: & RECALL 34 AS = "Rechargement du dessin sauvé: &LOAD": GOSUB 80: & LOAD “DHRDESS changes entre les pages DHR et DHR2": GOSUB 80: FOR I =1 10 10: & EXCHANGE: FOR J = 1 TO 300: NEXT J, 1:AS = "Vivision du dessin en deux parties HGR et HGR2": GOSUB 80 36 & AGP.DHR > TWO:AS changes entre les de ux moitiés HGR et HGR2": GOSUB 80: FOR I = 1 10 5: GOSUB /U0: & HGRZ : GUSUB 70: & HG Ro: NEXT 38 TEXT : HOME ; PRINT "Essais avec les comman des 640 ct 680": FOR I = 1 70 4: & 40: GosU B 70: & 80: GOSUB 70: NEXT : & AGP.TWO > DH 2 & DHR TEXT : HOME : PRINT "** FIN DE LA DEMONSTRATION 40 IF PEEK ( - 16384) GosuB 70: GOTO 40 42 END 70 FOR J = 1 70 600: NEXT : RETURN 72 &§ COLOR= 3: & PLOT A,35: FOR I ~ 0 TO 36: = COS (I / 18 * PI) * 40+ AsY = ‘SIN (I 718 * PI) * 20+ 35: 6 PLOT 10 X,Y: IF I/12 = INT (1 / 12) THEN & PLOT TO A, 35: 6 PLOT X,Y 74 NEXT : FOR I = 070 2:C = RND (1) * 8 + 8 & FILL COLOR- C AT A - 5,I * 15 + 20: NEXT ¢ RETURN < 127 THEN & EXCHANGE: 76 & PLOT 25,99; FOR I = 25 TO 285 STEP 10:A = RND (1) * 35: & PLOT TO I,B + A: NEXT : RETURN 78@A= (1 -8* INT {I / 8)) * 68 + 12:8 = IN T (I / 8) * 77 + 63 RETURN 80 VTAR 21: HTAB 3@: PRINT "Appuyez sur une to uche pour continuer";; GET C$: HTAB 38: PRI NT SPC( 40) 82 VTAB 23: FOR I = 54 TO 2 STEP - 1: POKE 36 -I: PRINT LEFTS (" "+ AS +" ",58 - I}ez NEXT : RETURN Récapitulation Dhragp.C Aprés avoir saisi ces codes sous moniteur, vous les sauvegarderez par : bsave dhragp.C, AS800, ES14C3 0800:4C 22 2¢ 8D 95 CO 20 3B 08 8D 04 CO AS DA 30 03 0810:8D 00 CO AS DB 30 03 RD 56 CO AS DC 10 03 AD 55 0820:C0 A9 60 85 FD 4c FA 00 00 00 00 90 90 00 00 00 0830:00 00 00 00 FF FF 03 00 00 00 00 A9 5D 85 96 Ag Pom’s n° 43 0840:13 0850:D0 | 0860:29 0870:85 0880:17 | 0890:A5 08A0:B1 09B0:co 0aco:co 08D0:08 08E0:35 08F0:85 0900:c1 0910:20 0920:20 0930:08 0940:17 0950:DF ; 0960:20 0970:29 ] 0980:08 0990:80 09A0:a9 09B0:38 09c0:85 09D0:2F 09E0:08 09F0:08 OA00:AD 0A10:85 0A20:B0 0A30:9D 0A40:49 0A50:0A 0A60:24 0A70:30 OAB0:CD 0A90:F7 O0AA0:08 OABO:69 0ACO:60 OADO:AA | 0AE0:07 OAFO:8A OBUO:EE OB10:A8 0820:AD 0B30:A8 0840:08 0B50:0B 0B60:33 ocvo:2z0 0c80:c9 0c91 85 06 £9 99 13 98 96 a5 6c £9 FD FO 17 17 aD 13 17 13 ao 26 90 Ed aD 32 10 BD 05 37 85 AS aS 36 Ad a5 17 ED 13 FO 20 cD Az ES 08 es 29 Pom’s n° 43 SSS SSS Ss B7 Bo ce D1 aS ce 1c 68 AD a2 co co 20 3B 4c eo 08 Ao 4c Ag Bl 99 Bl co 68 3A 10 qc 09 09 Basen BA ow oH sb rey FO 20 99 Ra 30 90 oo 6A 96 FO a5 96 85 AZ 20 59 co oR 17 20 08 08 FS 20 08 ap FO Bg BI 60 co eD aD oB 50 ao 20 AD 13 28 co DO 17 38 26 ce Bi 98 aD Ag 00 85 a2 09 09 13 Ag Ag vo ac co Do aD 2B cs 38 AG oF 2A oe a5 4c B7 00 BO 2B £9 01 12 85 oe 20 0g a2 09 Az 8D 28 a2 7D 90 09 ag 00 08 00 aS 3c 9B FO 9B AS 05 BO FO oD 08 AE BO 12 20 Al B9 9A a5 a5 BIAS 85 2E Ag AB 55 8D Ag 00 DO 03 37 08 08 49 32 29 co 4D FO 0c 12 04 68 ac 17 Dc 85 co aD Dc 60 04 aD Dc 85 cO AD 13-A9 1E 0c BO Ag 60 Az Ao 00 03 4c 08 cD 76 C9 SE 85 B& AS 98 AS Bo AO 09 20 ce ce ce £4 08 ce DA AD 1D CO 8D 54 38 AD 39 £09 08 AD FE Ag 4c 17:13 cg BI AO 00 B7 AO 00 08 AD 2¢ AO DD 20 FO 03 4¢ F5 AO EE 85 EF AD 08 cD 28 cD 2A 08 40 AB OOS AN 9B OR 9B A9 00 29 08 &D OB AD 2F 09 AD 20 8D 2E 08 18 65 99 85 $C AS 0 33 08 32 AS 9F Di 08 10 20 68 99 28 13 60.20 E6 AG 80 52 CO 60 A2 Bl AO oc co 60 E6 Ag 00 1E cO 30 80 85 DC A2 Bi AO 12 an 00 Bl AO 00 20 17 13 13 20 3B DF 08 AD 28 08 90 OCBO:EB 0CCO:B9 0cD0:08 OCEO: 8D OCFO:AD 0D00:31 0D10:A5 0D20:8D 0030:FF 0D40:A0 0D50:20 0D60:A0 9n70:A5 OD80:A4 0D90:17 OFFO:B1 1000:F7 1010:A0 1020:5¢ 1030:A2 1040:10 1050:A0 1060704 1070:13 1080:B9 1090:02 10A0:98 10B0:00 10C0:EE 10D0;92 AD 37 9D 08 26 BS BE 10 2E 17 08 48 08 60 06 aD 65 85 a5 FF aD 91 co az AS D2 BE a0 AD AD 90 4c a7 AA 54 Ag 60 48 Ag a7 37 AO 14 Al an 91 aD 54 So 20 aD eo a5 oe A2 Aq ac 2E 3 18 cB Dé aD DA 20 £2 03 a2 99 20 9 bo oo 08 08 Ag 32 AD 3 19 co 23 co co Ag 55 54 85 26 AS 84 8D 0s ne 8s OF at BE 00 ao ao co 8D OF cc cs Ao AL as aD 00 32 08 55 OL oF 08 FO a4 oq a2 ao 4c OF Az AO 28 1e 20 bo BI a? co 96 2c 96 er 85 co 08 AE 25 03 aD BO 04 18 Do 3A OE 06 Bl 00 ac OE 00 DS as 31 81 BI a5 26 96 AD co ae Ea AS ce Av GR 96 AT Bo ou AD 08 55 cs 2a as o7 36 03 68 a2 ED 40 4c OE FR ao 20 D2 ac 40 00 60 91 aS AS as 97 97 ap c7 Bl 0 Ag ce co 17 a2 By c4 ag DS 28 a 08 cr 2A 02 bo al IF 60 DF £4 13 20 BO 99 20 il 10 dc 10 97 7) ag 10 AS co 60 08 20 cL 85 97 AD 0A 08 EE 11 4B 0A A2 08 08 £6 Bl 06 AZ AO Db? 17 A2 Ag Ag £0 Ag Bg 20 31 43 op 4c iE FS 48 ag 20 0 Bl 00 13 FB a0 60 69 £0 AS 55 91 91 08 06 AS 8D co a4 Bl eq 68 86 4u aa pe ee 00 co 1100388 1110:91 10 10 pe co 20 08 55 Ag EA AZ AO az 00 17 AS c7 17 AC 9 51 AO Do 23 1120:91 AS 8D 54 CO 88 10 F2 CB 1C DC 10 AS 40 85 97 1300:03 C6 9A 88 24 95 80 1B AD 28 08 99 80 1¢ AD 29 1130:A9 00 85 96 60 AZ Bl AO 00 20 17 13 C9 CS FO 15 1310:08 99 80 10 60 00 00 BE 3D 13 BC 3H 13 48 AZ 39 1140:C9 AO DO OF 20 3F OD A? AT AD 00 2017 13.69 C5 1320:A0 13 20 5D OF aD 04 CO 68 4¢.C9 00 48 98 48 20 1150:F0 03 4¢ B4 08 AZ BI AO 00 20 17 13 20 3B 09 8E 1330:51 13 68 AB 68 BD 05 CO 60 BD 02 CO 20 00 00 aD 1160:30 08 AD 2B 08 8D 2E 08 AD 2C 08 8D 2F 08 A9 00 1340:03 CO 4c 2¢ 13 AD 0B B9 C9 00 99 80 1B 88 10 F7 1170:85 9A 20 98 0A AE 30 08 BD 80 1E 85.19 BD 10 1F 1350:€0 AD 0B BS 80 1B 99 CS 00 88 10 F7 60 BD 00 08 1180:85 19 E8 BD 80 1E 85 IC BD 40 IF 85 1D CACA BD 1360:F8 AO 00 0D 38 48 AD 00 OD 4U AB 00 OD 9 A7 00 1190:80 16 85 1A BD 40 1F 85 1B A9 00 8.1613. 8D 15 1370:0D AC 42 4F 58 00 OC 6C 45 58 43 48 41 4B 47 45 11A0:13 AD 2B 08 6D 26 08 AD 2F 08 6D 29 08 20 2A 0B © 1380:00 0D FB 43 4¢ 53 00 0D 8B 46 49 4¢ 4¢ 00 11 35 11B0:B9 9A OB 8D 33 08 A9 18 20 AB 12 D0 14 38 AD 28 1390:89 00 0B FD 91 09 9C 15 90 00 OC 35 34 30 00 OB 1100:08 E9 01 @D 28 08 AD 29 08 E9 00 8D 29 08 4C AD 13A0:FD 38 30 00 OC 4D 4) 47 50 2E 44 48 52 CF 54 57 11D0:11 20 00 0B B9 9A OB @D 33 08 AD 30 08 29 01 85 13B0:4F 00 0D CB 41 47 50 2E 54 57 4F CF 44 48 52 00 11E0:A5 20 Al 0A AQ 18 20 AB 12 DO 29 20 9F 12 29 CE 13C0:0D E5 41 47 50 2E 91 CF 44 48 52 00 0D BA 44 48 11F0:12 AD 30 08 29 01 19 01 85 AS 20 AI 0A 20 30.12 13D0:52 00 0B CF B7 00 10 22 BE 00 OF Fé 145 52 52 00 1200:A9 01 18 6D 28 08 8D 28 08 AD 29 08 6Y UU 4D 29 13E0:10 4E UO OY OY 00 2A 55 2A 55 55 2A 55 2A TF IF 1210:08 4C D1 11 Ad 9A DO 97 60 RO 80 1B AD 30 98 BG 13F0:7F 7F RO RO AO BO AA DS RAS D5 AA DS AA FF OFF 1220:80 1¢ 8D 2E 08 B9 80 1D &D 2F 08 C6 9A 4C 7211 1400:FF FF 36 2A 2A 36 08 06 41 41 FE 3F 3F FECA 29 1230:20 9F 12 AD 30 08 29 01 49 01 A® BO 34 08 85 1E 1410:29 CA C4 28 28 C4 70 AD AD 70 EA 57 57 EA 2A 55 1240:AB 30 08 FO 2C A9 1A 20 AB 12 FO 08 AS 00 8D 16 1420:55 2A A2 00 AO 03 BY BT 2C 85 06 A 20 85 08 AS 1250:13 4C 71 12 AD 16 13 DO 18 AS 1E 20 33:08 FO EC 1430:08 85 07 AS 06 8D U5 CU 9D 0 IE AS 07 9D 40 IF 1260:AD 16 13 DO 0C A9 01 8D 16 13 CA 20 FB 12 AE 30 © 1440:8D 04 CO AS 04 18 €5 07 85 07 EB BA 29 07 D0 £3 1270:08 £0 BF FO 29 A9 1C 20 AB 12 FO 08 A9 00 8D 15 1450:A5 06 49 80 85 06 8A 29 OF DO D4 EG 08 AS 08 C9 1280:13 4C 9B 12 AD 15 13 DO 15 AS 1E 2D 33 U8 FO EC 1460:24 DO CC 88 D0 CO AD 05 BS BB 2C 99 06 00 BS C2 1290:AD 15 13 DO 09 AQ 01 8D 15 13 FA 20 FAR 12 60 AD 1470:2¢ 99 FA 00 88 10 FI AS 08 85 Al AD 00 85 AO 85 12A0:32 08 29 01 49 01 85 AS 4C Al OA AC 31 08 3019 1480:A2 AY 20 85 A3 8D 95 CO AD 09 BI AZ 91 AO 88 DO 12B0:CO 28 FO 15 8D Cl 12 AD 32 08 8D BE 12 8D 54.CO 1490:F9 AS AI C9 2C FO 07 E6 Al E6 AZ 4C 88 2C AD FE 12C0:B1 00 8D 54 CO 2D 33 08 60 A9 FF 16. C512 AD 30 14a0:03 6D 39 08 AD F7 03 8D 3A 08 8D 04 CO AZ 06 OE 1200:08 29 01 A8 HI 34 08 85 iE AL 32 08 BD EA 12 A5 14B0:F6 03 A2 00 8E F7 03 60 50 28 00 8D 03 CO 4C 03 1280:1£ 2D 33 08 @5 1F AC 31 08 8D 54 CO A9 FF 4D 33° 14c0:08 ep 02 CO 12F0:08 31 18 05 1F 91 18 AN 54 CO 60 EG 9A AS 9A DO Source DHRAGP FIN BNE NORMAL STA scos¢ one $800 STA INVERSE Jue (80098) Assembleur ProCODE .-------------- ome INvvIDEO DEUKAMP PLA UMP STARTUP+S1800 NORMAL = SEC PLA VCTAMPER = $03F6 DEBUT STA $c00S LDA $88 JSL CHRGET CHRGET = $00B1 JSR DHRAGP spc él SEC curcot = $0087 Goronasc STA Scand STA $Be EDA AMPERS2 DTHGRI - $1680 LDA $DA LDA 389 spe tl prucke = S1F40 BMI STORESO sac £0 TAX LIGPILE = $1380 STA sco0o ‘STA $B9 LDA AMPERS2+1 ABSPILEB = $1080 STORESO LDA SDB LDA £0 SBC £0 AASPILEH = $1080 BMI BIRES STA INVERSE PHA Wea Se ees > STA $cosé INVVIDEO COPY $53, $98 KA vo a AIRES LDA $0¢ LOY £3FF PHA copy Mac BEL PAGEZ NEXTCAR INY IMP GOTOBASC LOA 0 STA $C055 NEXTCAR2 LDA ($96),Y¥ QERROR LDX £53 STA 11 PAGE2 LDA £860 BEQ PART IMP ERROR LDA .Ort STA SED JSLR CURGET SERROR LOX £16 STA .1tl cme (S96), ERROR LDA £304 EOM BEQ NEXTCAR STA $FF ADD MAC ABSDEP HEX 0000 NOEND = INY LDA £$12 cite LIGDEP HEX 00 LDA ($96),¥ STA $FE aoc .0 ABSARR HEX 0000 NE NOEND LDA £$4C OM LIGARR HEX 00 iny STA $#D SUB Mac Aus mex 0000 INY STA $c004 SEC LIG HEX 00 Ty sc .0 ABSY HEX 00 copy $9a, $88 BOM ABSRAM HEX LOA (896),¥ CMOPLOT JSL CHRGET GR = MAC MASK HEX Ne NEXTCARZ cmp £8¢1 LDA DTHGRI, x COLMASKO HEX UMP SERROR BEQ PLOTTO STA .0 COLMASK! HEX PART INY JSR LECTURE LDA OTHGR2, X NBCOLOR HEX LDA (896),¥ JSR DUPLICAT STA .041 MASKNB HEX STA $99 ome PLOT Bow INVERSE HEX ny PLOTTO JSL CHRGET ISL ‘MAC AMPERSZ HEX LDA ($96),¥ JSR DUPLICAT LOX £<.0 *¢ PROGRAMME STA $98 JSR LECTURE LDY £>.0 DHRAGP LDA roa Scola PLOT JSR TRACE JSR JSRINTER STA STA DA gst CHRGOT OM ‘LOA LOA $C0iD cMP #£$C1 JSLR MAC STA STA $0B BEQ PLOTTO STY $3¢ Jst LDA $coic RTS JsL .0 CMP STA $DC de ee ee eee ee eee > Loy $3¢ ‘BEQ STA $0001 DUPLICAT COPY ABSARR, ABSDEP EON cme STA 3c057 LDA LIGARR Pom’s n° 43 oo 7A LICDED BEQ §TEST2 "ROL SAA UMP VL1 pa BCC DIVEAF sec vier ars Bes §suR EDA AA wert errr greets wa G30 See ay BITMsk HEX 01020408102040 LECTURE ssi $0073 MP 539A Bee prise tore = = ais = 68 vst $E752 BCC DIVFAF ak gis Exc wor 62 cup £2 ssuB LDA $9C Se ay EXCLOOP LDA ABSARR, ¥ BCC ORDOK aa os PHA BEQ TESTXB Sta $0c DIVOK LDA. SAA LDA ABSDEP, PLERROR IMP QERROR tak ab Dx $A9 STA ARSARR, ¥ resTxe cpy £530 gee san TAY PLA BCS PLERROR ‘STA $90 STA MASKNS STA ABSDEP,Y ORDCK «= «STA ABSARR+I we $96 TKA ey STY ABSARR ae esd Isr BPL EXCLOOP JSL SE6ES DIVFAF LOX $3E STA ABSY RTS cex £192 Ina $98 TxA te DHR TEXT >= ACS PLERROR Ler AND £1 MIXED JSL CHRCET SIX LIGARR STA $a3 STA SAS Lor $c0sz RTS LDA $98 EOR £93 cup £389 oS Stes Se ROR STA ABSRAM BEQ MIXEDSW TRACE LDA £0 STA SAB RIS RTS STA SEF EDA $9 DIV7INC INC MASKNE MIXEDSW LDA $C053 TDA ARSNFP+! cur $90 DA MASKNS USL CHROBT CMP ABSARR+1 BEQ TESTPZ Tay RTS Bcc NoEXcHO BCS DIVEIN cue £7 sre G FEE Sey aby resreEx UMP INCREM BNE D7INCEIN pur JSR MIXED Bes: CHANG TESTP2 LDA SAB SDA: BO) DHRGOT LDA SCOSE TESTFEX LDA ASSARR cue $9c STA HASKNB IDA $c050 cme aBSDEP bes DIVerN vay LDA £520 Bes NOEXcIIC INCREM INK LDA ADSRAM STA 90C ECHANG JSR EXC DIVEIN TxA BOR £1 STA 386 LDA £SFF LDY $9F STA ABSRAM LDA £$80 STA SEF BEQ NOTNEG OMe £355 STA $DA NOEXCHG LDA LIGARR STA $25 BNE D?INCFIN STA SDB cme LIGnEP LDA LICDEP INC ABSY 1A $CO1E bes sensros SUB $A5 D7INCPIN LDA ABSRAM BMI TxT80GOT LOA CSF UMP NEGYES AND £1 SIA $c000 STA $9F NOTNEG ADD LIGDEP EOR £1 STA $C052 LDA LIGDEP NEGYES LOX LIG STA $A5 RTS SUB LIGARR STA IG RIS elidel JME PLDEBUT JSR LIN DIv7DEC DEC MASKNB Text «LDA £0 SENSPOS LDA 60 LUA ABs+t LDA MASKND STA $DA STA $9F CMP ABSARR+! Yar STA $051 LDA LIGARR BNE SUITE BPL D7INCFIN STA $cOSF SUB LIGDEP LDA ABS LDA £6 STA $DC PLOEBUT STA $99 CMP ARSARR STA MASKNB RTS TDA ARSARR BNE SUITE TAY M Piss = Saxe Ss sup ADSDEr LOA SEF LDA ADERAM TEXT40 JSL CHROET STA $98 cue Ese bux #1 vSR Texr LDA ABSARR*1 BNE PLOTFIN STA ABSRAM TXT40GOT LDA $CO1E SBC ABSDEP+I JSR EXC CMP £955 BMI TEXT4OCL STA $98 PLOTFIN RTS REQ D7INCFIN INposs STA Sco0c LDA £0 SUITE MP PLSUITE DEC ABSY ars STA $9¢ CALMSKIN JSR DIV7INC aap D7INCFIN TEXT40CL LDA £17 STA $90 IMP CALMSK1 Sh are ele aie 2 4g, vote COLONES STA $9E CALMSK JSR DIV? LIN LDA ABSRAM fee ee 23 COPY ABSDEP, ABS CALNSK1 LDA SITHSK,¥ STA XVLRAM#L HGR JSR MIXED JSR CALMSK STA MASK vn HORM $18 WGRGOT LDA £$20 LDX LIGDEP CALCOLM LDA NBCOLOR TxA STA $c STK LIC CALCULMA ASL AND £1 STA $86 JSR vLIN ASL Tay HOR2SUIT LUA £9 LDA ABS+I ADD $5 LDA MASK STA SDA CMP ABSARR+I ADC E<PALETTE AND COLMASKO, Y LDA £380 BNE PLSVITE STA $a5 STA SIA STA SDB LDA ARS LOA £0 iy apsy STA $c050 cue ADsaRR TAY XVLRAM STA $C054 STA $CO5F BNE PLSUITE ADC £9PALETTE LUA INVERSE LDA $cOle LDA LIGARR STA $a6 BEQ VIDNORM BMI HGRCBA STA LIG LDA (SA5),¥ LDA ($18),¥ STA $cooc MP VLIN STA COLMASKO OR MASK WGRCBA RTS PLSUITE LDA £1 any JME VIDINV ee ---- 3 app ans INE VIDNORM LDA £95F HGR2 USL. CHRGET STA ABS LDA ($A5),¥ BOR MASK LDA £380 LDA ABS+I STA COLMASKI AND ($18),¥ STA $0C apc £0 RTS ORA SIA LDA £340 STA ABS+I fee ee eee eee VIDINV STA ($18),¥ STA $E6 ISR CAIMSKTN piv? nov e16 *¢ DUR TEXT >--==-: STA $c0S2 LDA $9C COPY ABs, $A5 STA $c054 vsR TxT40G0T ADD $98 LDA £0 Cex LG vse HoR2suLY STA $9C STA $AA BEQ VLRET tee ee ----3> LDA $90 DIVST ROL $A9 LDA $9F TEXT8O JSL CHRGET apc £0 DEY BNE NEG JSR TEXT STA $97 BMI DIVOK rx TXTBOCOT LDA $CO1E S7EsT1 LDA $9D ASL 905 ume vbI apL poss cue 398 ROL $A6 EG Ex Loa £18 Pom’s n° 43 2 LDA SRAM2+1 BOR £1 £0 STA $RAM211 amp esc STA ($A5),¥ TYA BEQ COLROK2 STA $055 LsR PLA STA ($25), TAY ae SEARO STA $C054 $RAM2 STA SCOSS JSR LECTURE COLROK2 LDA £0 RIS apa (4A5),¥ sR DUPLICAT STA SAS STOREPRG LDA ($A5),¥ STA $c0s4 asi cHRGOT PLA gia (en?) Se dee cue eget JSR cALcOLMA SrA 40055 soa. CSRS SEQ BOxXTO wy 20 LDA ($A5),¥ DEY - UMP SERKOX msuivanr sty $18 ‘STA $c054 Be aoa BOXTO = JSL_«CHRGET ISL SE6FS ‘STA (SA9).¥ ie . JSR LECTURE Loy $18 prs ae ; LDA LIGARR TXA RECLLPRG LDA ($A7),¥ PRGZDHR LDY £0 . STA LIC STA (SAS),¥ ‘STA (9A5)6¥ Sean aan Vase . cue LIGDEP my LDA ($A9I,¥ LDA SRAMI+1 . BCS BOX! wer 24 STA $C055 BOR £1 BOXERROR UMP QERROR BNE MSUIVANT STA (SA5),¥ STA SRAMI+I BOX1 LDA ABSARR+1 RTS STA $CO5S4 LDA ($A5),¥ CMe ARSDEP+! ars PHA BCE: BOENNOS cus JSL CHRGET EXCPRG STA $C055 TYA ‘BNE’ Boxe LDA £3 LUA (SA5I,¥ ISR SOK: Ae STA NBCOLOR PHA TAY ae eso LDX £<CLSPRG LDA ($A9),¥ ‘PLA BCE: BOERROR LDY E>CLSPRG STA (SA5),¥ SRAMI STA $CO54 BOX2 COPY ARSARR, ABS UMP TRANSFRT PLA ‘STA (9A5),¥ von DIV? STORE JSL CHRGET STA ($A9),¥ SYA $054 LDA BOXNSK2, ¥ TDM! EcoremeoRe LDA (5A7),¥ LY $96 ree LOY £>STOREPRG PHA TY LDA ABSY GMP TRANSERT STA $c0S4 cey £40 STA $96 RECALL ISL CHRGET LDA (SA5),¥ ANE SPARTI TOR: ROSEN LOX E<RECLLERG STA (5A7),¥ STX $90 aon S97 LOY £>RECLLERG PLA LDX £<READHGR2 copy ABSOEP, ABS JME TRANSERT STA (AS),¥ LOY £>READHGR2 aBR) DIV? AGPHGDHR JSL CHRGET RTs JSR C9STRING LDA BOXMSK1, ¥ IDX £<PRGHGDH PRGHGOH LDA (SAS),¥ LOX $9A ‘STA MASK LDY £&>PRGHGDH STA $98 Loy 6 JSR CALCONM JSR TRANSERT LDA £0 Srant2 sTY $96 wpa £0 JME AGPZDURC STA 396 LOA SRAN2+1 ‘Sma 49 AGPOHR2 JSR AGPDHRZA ‘STA 397 BOR £1 REBOX LDX LIGDEP LDA Scola STX $99 STA $RAN2+1 JSR VLIN API. AGPDHRIA Lx £8 Usk $¢9 LDA ABSRAM AGP2DHRE RTS $1 aS: $96 PHA FOR ¢1 AGPDHR2B SMP HGRGOT PHP YA STA ABSRAM AGPDHRZA JSL CHRGET ROL $96 sk cmp (£355 LDX £<PRGDHRZ ROL $97 cee BNE BOXTEST LDY £>PRGDHRZ ‘PLP ADC £20 INC ABSY JMP TRANSFRT ROL $96 TAY BOXTEST LDA ABSY AGP2DHR ISL CHRGET ROL $97 PLA cue $96 Lox e<PROZDHR Dex Srau2 8TA $054 Bcc BOxconT uy ceprezmur BNE $1 STA (2AS)+¥ LOA ABSRAM JSR TRANSFERT ASL 396 ‘STA $c054 CMP S97 AGP2DHRC LDA $COIA ROL $9/ LDY $96 BNE BOXCONT BMI AGP2D:RB ROR $96 Iny BOR £$55 ‘JUMP = DHRGOT LDA $97 cpy £40 STA §A5 EXCHANGE ISL CHRGET STA ($251,¥ BNE SPART2 JER CALCOLM LOX c<GxCPRG LDA $96 usR cSLOAD PLA LOY £>EXCPRG STA $c035 Lor £0 STA MASK TRANSERT STX TRADR+1 STA ($A3),¥ RTS LDX LIGDEP STY TRADR+Z STA $C054 READHGR2 STA $C002 JMP VLIN LOx £96 LDx $99 LDA ($A7),¥ BOXCONT LDA FSF TRLOOP LDA DTHGRI,x RTS STA $c002 STA MASK STA $a5 pRopuR2 Loy £39 aro LDA ABSRAM STA $A7 SPARTI STY $96 C9STRING STX C9STRADR+1 BOR £$55 ‘STA SAY ‘LDA $RAMI+1 STY C9STRADR+Z STA $A5 cle BOR f1 JSR C9SAVE JSR CALCOLM LDA DTHGR2,X STA $RAMI+1 boy 11 IMP REBOX STA $6 TYA COSTRADR LOA $0000,¥ DOXMSK1 EX FFPEFCFSF0E0CO ave £620 LR STA $09,¥ BOXNSK2 HEX 0103070F1F3F76 STA $A8 cue ver anc £S2U ADC £20 BPL C9STRADR STA SAA TAY RTS “oy £39 SRAMI STA $C055 ‘*< SAVE et LOAD >-- crapR ISR. $0000 LA (505), ¥ MANEERR IMP SERROR DEY STA $c054 (NAME USL CURGET | BPL TRADR STA $c004 MP £34 CPX £96 boy $96 BNE NAMEERR TxA STA ($A7),Y Loy £5 SBC £192 STA $c00S JSLR CHRGET FoR 6255 bey MAMELETT CMP £91 TAX BEL $eARTt pes NaNEERR cex £192 wor £39 cme £65 BNE TRLOOP SPART2 STY $96 BCC NAMEERR 26 Pom’s n° 43 NAMEENR ORA STA Ny vsuk cme BEQ NAMEPIN. TYA NAMEADR STX NAMELOOP LDA NAMEPLG STA LOADDT ASC LOADDATA ASC SAVSOT ASC SAVEDATA ASC £880 $8c00, ¥ CHRGET £34 NAMEPIN £48 NAMEERR 58 NAMELETT NAMEENR NAMEPLG+1 cuRcer NAMELOOP +1 NAMELOOP +2 £0 $0000,¥ sacno, ¥ e960 NasesLour "BLOAD" *,AS4000" 80 "BSAVE" ", AS4000, L13360" 60 4 Luauur, ¥ $8000, ¥ 5) NAME {<LOADDATA E>LUAUUATA NAMEADR 704000 $3803 PACTINIT cepacTpRce £2PACTPRGS TRANSPRT RCL40002 §1 NAME E<SAVEDATA E>SAVEDATA NAMEADR sT04000 PACTINIT E<PACTPRGA E>PACTPRGA TRANSERT $4203 RCLa0002 ome RCL40002 JSR *< SAVE et LOAD >~-~- RCL200 STA RCL200L LDA STA per 5704000 Lx CHRGET E<RCLAOJSR E>RCLAOISR Excavve RCL4000 senne $800, ¥ $200,¥ RCLZ00L $c005 c9LoAn £<STO40DAT £>STO4ODAT C9STRING uy £0 LDA ($98),¥ PACTPRGS JSR $9 sty $96 STA (8961,¥ STA (SAS),¥ s702L00P LDA $800, ¥ STA $005 ey PHA RTs BPL PACTERGB JsR sco STOCOISR USK $¢9 JSR PACTING STA $8C00,¥ STA ($98),¥ LY £39 PLA RIS PACTB2 JSR $C9 STA sco0e STO“ODAT STA $c002 STA SCO5S STA $200,¥ LDA ($96), ¥ STA (SA5),¥ STA $c005 STA $c003 STA $C054 DEY RTS Der BNE STO2LOOP *€ SAVE @t LOAD >-~--n-=---==—~ BPL PACTB2 LOX e<sTo4ousR PACTINC LDA £40 Iny ny e>sroeatse ADD $96 JHE PACTING 4 SAVE et LOAD >~ STA $96 PACTINTT LNA £340 EXC#000 LOA £0 LDA $97 STA $97 STA $96 avc £0 LDA £0 STA $98 STA $9/ STA $96 LDA £340 RIS STA $47 PACTPRGA STA $004 LDA £$80 PACTAT LMR (SA5),¥ FILL = JSL CHRGET STA $39 STA ($961,¥ ome £905 STX EXC#0USK#L per BEQ FILLAT STY EXC409SR+2 SPL PACTAL cup £sa0 EXC40BCL LOY £0 JSR PACTING BNE PILLERR EXC4QJSR JSR $0000 Loy £39 JSR COLOR DEY STA $cn55 38h CHRGOT BNE EXC4OISR PACTA2 LDA ($A5),¥ cup £gcs INC $99 STA ($96),¥ BEQ FILLAT INC $97 ber FLLLEKK UMP SERROR LDA $97 BPL PACTAZ FILLAT JSL CHRGET cue Es7C STA $c0S¢ JSR LECTURE BNE EXCd0BCL STA $005 SIX 1IG ars INY copy AgsaRR, ABS RCLEONSR STA $c004 ume PACTING LOA £0 Traitement de texte francais Pour Apple //e, Apple //c, Apple GS. Glossaire puissant, recherche - remplacement. S - Creation de caractéres téléchargeables sur Image Writer ee (notation mathématique, alphabets étrangors etc...) _ Impression rapide, pilotage précis de mise en page. _ Coupure correcte des mots, justification en proportionnel, condensé et expansé. Gribouille, une valeur sdre pour un public averti. Pour recevoir Gribouille, envoyez ce bon de commande a: 75015 PARIS. = Tel: (1) Je vous prie de m'envoyer a l'adresse ci-dessous: NOME ence Adresse: 3... le logiciel Gribouille Prix (port compris) Es * version //e - /ic pour lecteur de disquettes 5 1/4 599frH.T. 710i 1.1.0. : * version //e - //e pour lecteur de disquettes 31/2 632 frHT. 750frT.T.C. es * version GS SSH HT. 900f TTC. ~ Cijoint un cheque de...... francs libellé a l'ordre de GRIBOUILLE SARL riboullle Frappe au kilometre, rapidité d'écriture, souplesse de correction. oe S Humblot Griboullle SARL. 5,US HON 77 27 STA $9A LDA FLAGHAU LOX E<SSPRGCI HEX wosososo MEXTLIGN JSR CALMSK BNE BAS LDY £>6sPRGcS HEX AADSAADS EDK LIG fon £2 JSR COSTRING HEX DSAADSAA Hort $18 STA PLAGHAU STA 30004 REX PPEPERFE INK DEX PLA HEX 36222036 HORM $1C JSR EMPILE Me $05 HEX 08084242 ‘DEX Lox LI SRINAUX PHA HEX FEIF3FFE DEX BAS cex £191 YA HEX CA2929CA HORM $1A REQ. FINTEST PHA HEX C42E28C4 LWA £0 LOA $1 YSR CSLOAD HEX 70ADAD70 STA FLAGHAU JSR STATE PLA HEX EAS7S7EA STA FLAGBAS BEQ BASOFF TAY HEX 2A35552A COPY ABS, ABSDEP BASON = LDA £0 PLA *STARTUP — TSTGAUCH JSR DIV7DEC STA FLAGBAS STA $c005 STARTUP LDX £0 LDA BITMSK, ¥ GIMP PINTEST RTS LY £3 SIA MASK BASOFF LDA FLACBAS SSPROC9 STA $co0e STARTUP] LDA STARTUPD~1+81800,¥ LDA £$18 ane FINTEST Sauk = sx $9000 STA $6 j JSR STATE LDA $1E STA $C003 LDA £920 | BNE ALLUMGAU AND MASK MP SRINAUK STA $8 | sec BEQ BASON seven S ethane > STARTUP2 LOA $8 LDA Ansocr LDA FLAGRAS cosave iby £21 STA $7 | sac £1 BNE PINTEST e9sLoor LDA $c5,¥ STARTUP] LDA $6 | STA ABSDEP Loa £1 STA LiGeie,¥ STA $C005 | LDA ABSDEP+1 STA FLAGSAS bey STA DTHGRI,x sac £0 Ink BPL C9SLOOP LDA $7 STA ABSDED+1 JSR EMPILE RTS STA DTHGR2, x ump TSTGAUCHI FINTEST RTS e9xoaD toy £11 STA $c004 ALLUNGAU JSR DIV7INC Sie SS AST > O9LL00P LDA LIGPILE,¥ LDA £4 | LDA BITMSK,Y CALCOUL LDA ABSRAN STA $09, ADD §7 STA MASK ano 1 ex SIA $7 | LDA LIG boR ct BPL C9LLOOP INK | aes STA $A5 RTS brid | STA GAS UMP CALCOLM * INSTRUCTIONS -- AND £7 vs CALCUL see | py sy TABLE HEX 8000 ANE STARTUP! LDA $18 wir’. DenCnba Dos CMDELOT LDA $6 JSR STATE cy £40 HEX A000 EOR £580 | ANE ALLUME neo: DeeoRDEN DDB COLOR STA $6 JSR CALCOUL Sth statextea HEX B8A000 TKA | wsR ARE ign ABSA oa DEFCOLOR AND £15 LDA LIG tn STATRRAMAT HEX A809 BNE STARTUP? aD £1 STATERAM STA $C05S4 ae Shae Ihe Ae BOR £1 STATETYP LDA ($00), ee A708 paren | STA $AS wea sons? DDB RECALL cur £24 JSR CALCOLM STATEDER AND MASK HEX 42475800 BNE STARTUP2 | JSR TESTHB na poe BOX DEY | LDA £2 cota 8 ASC ‘EXCHANGE’ ANE STARTUP ADD ABSDEP Mp STATEDER ral = STA ARSDEP ae tah uke DDB EXCHANGE STARTUPS LDA DATADTO6+$1600,¥ | LDA ABSDEP+I ae a HEX 434C5300 STA $06,¥ ape £0 aay pop cis LDA DATADTFA+S1800,¥ | STA ABSDEP+1 LDA COLMASKO, Y ex 46494C4C00 STA SFA,Y Me ALLUMGAU A SB 08 FILL Dey ALLUME LOY $9A toa Asi Hex 8900 ap sranture } BNE NextPrLe eh sens pos TExT40 Loa £36 RTs on oe wex 9100 STA SAL NEXTPILE LOA LIGPILE, ¥ Gan ihe pop HeR LDA £50 STA LIG Se Ee Hex 9000 STA $A0 LDA ABSPILEB, Y vey Aa DDB HGRZ STA $22 STA ABS quran o7n 4C056 HEX 343000 LDA £$20 I LDA ABSPILEH, ¥ LOA ‘SFr DDB TEXT49 STA 343. FOR MASK HEX 383000 _ STA $0008 AND ($18),¥ en, ate SENS ves thee? oak Ee ac. tae uae STARTUP LDA ($A2),¥ STA ($18), HEX CP54574F00 STA (GA0),¥ JSR CALCOUL STA $c0S4 DDB AGPDHR2 per LA LG RTS ASC 'AGP.TWO" BNE STARTUPE AND £1 EMPILE INC $9A HEX CF44485200 LDA $A3 | BOR £1 LDY $98 DDB AGPZDHR cup £>STARTUP+S1800 TAY ANF EMPTLD ASC ‘AGP. DEQ STARTFIN EDA COLWASKO, ¥ DRC $9R HEX 910F44485200 Nc SAL STA $1E oey DDB AGPHGOHR Inc $A3 Wx LG EMPIL1 —TXA HEX 44485200 yup STARTUPS+$1800 t BEQ BAS STA LIGPILE,Y DOB DHR STARTFIN COPY VCTAMPER, AMPERS2 LDA £$1A LDA ABSDEP ‘HEX 8709 STA $co0d } JSR STATE STA ABSPILEB,Y D0B SAVE Lox £6 BEQ HAUOFF LDA ABSDEP+1 REX 8600 SIX VOTAMEES HAUON LOA £0 STA ABSPILEH, ¥ poB LOAD Lox £0 STA FLAGHRU KES MEX 45525200 STX VCTANPER+1 UMP BAS FLAGBAS HEX 00 DOB ERK as HAUOFF LDA FLAGHAU FLAGHAU HEX 00 *PALETTE DE COULEURS -- pr csaeigce aA | ANE RAS 4SP dans Main RAM ----- PALETTE HEX 00000000 DUINTERE Sty 24y90e | LDA $1E JSRINTER STX $ADR+1 HEX 2A552a55 ee eee | AND MASK STY SADR+2 HEX 55225524 DATADTFA STA $CO02 BEQ HAUON PHA HEX 7ETEIETE “The end. ---~-~ 28 Un programme en GS-Basic : Puzzle Bruno BOISSTERE Nul besoin de présenter ce jeu qui consiste a remettre en ordre une image (SHGR couleurs ici) boulcverséc par Yordinateur. Ce programme a été écrit dans un but de familiarisation avec GS Basic et la bite a outils de l'Apple IGS. La documentation du GS Basic et le livre de Jean Pierre Curcio “Boite a outils de L'Apple IIGS’, bien que les exemples soient en langage C, sont trés utiles. Le programme de démonstration nommé PICS de la disquette GS Basic est tres instructif, Il a servi d'inspiration au programme Puzzle. Utilisation Il vous faut tout d'abord lire une image en ouvrant un fichier. Le programme nee sachant pas décumpacter une image, il ne vous proposera que les fichiers de type $C1 (image non compactée). Au besoin utilisez GS Paint ou tout autre logiciel de dessin pour sauver les images sous forme non compactée (type écran). Une fois votre image chargée, vous pouvez alors choisir le nombre de pitces avec le menu du méme nom (choix de 4 & 100 pitces). Tant que vous n’avez pas mélangé vous pouvez essayer plusieurs découpages. Lorsque vous étes prés, mélangez ! (menu ‘Jouer’). Le mélange étant fini, vous pouvez commencer & reconstituer l'image en cliquant sur les pitces que vous voulez échanger. Chaque fois que vous cliquez sur une piéce, elle s'entoure et si vous avez cliqué auparavant sur une autre, elle s'échange avec elle. Laissez le programme travailler : ce n'est pas un langage compilé. Dés que le mélange a été effectué, vous pouvez vérifier quand vous le souhaitez si vous avez réussi 4 reconstituer l'image. A tout moment pour vous aider, vous pouvez, par le menu “Ecran’, passer de l'image puzzle a l'image reconstituée et vice-versa. Vous pouvez aussi par lc méme menu visualiscr ou non Ia grille. Dans n'‘importe quelle phase du jeu, vous pouvez changer d'image en en chargeant une autre ou, bien sir, sortir du programme. Attention aux images comportant, une fois découpées, des piéces semblables. Vous penserez les avoir reconstituées alors que pour le programme les piéces ne seront pas & leurs emplacements de départ. Structure du programme Le programme principal PUZZLE2 est appelé par le programme PUZZLE qui charge les fichiers TDF. Le programme principal est constitué des initialisations et d'une boucle presque vide en ligne 19600, tout le reste étant des sous-programmes. Ce sont les interruptions créées par Ja sélection d'un menu ou par un click souris qui vont faire s'‘éxécuter tel ou tel sous-programme. Comment sont tils appelés ? Appels par les menus Liinstruction mzwupzr a la ligne 19200 a pour fonction de lier les numéros d'articles définis dans l'initialisation des menus (lignes 17800 a 18200) aux labels des sous-programmes. Il faut ajouter le nombre juste aprés menupeF & 256 et A la position du label dans I'instruction pour obtenir le numéro de l'article qui va pouvoir appeler le sous-programme. Par exemple le sous-programme pecoupeé4 est appelé par l'article 1 (nombre aprés MENUDEF) + 255 + 4 (rang de DRAwPUZZLE dans la liste) = 260 (article ‘64’ du menu ‘Nb de picces’ : ligne 18000). Appels par un click souris L'instruction £vENTDEF & la ligne 17100 relie les sous-programmes DRAWPUZZLE Ct DRAWIMAGE aux événements de mise 4 jour des fenétres dont les structures sont puzzle! () et imagent! (). L'instruction evenrper & la ligne 19300 cllc, relie le sous-programme czuick au click dans une fenétre qui est codé 19 par GS Basic. La plupart des actions clavier ou souris sont ainsi codées. Lorsque le programme tourne on est dans la boucle en 19600. Dés qu'on crée un événement (appel 4 un menu ou click) on saute au sous-programme défini par les instructions MENUDEF et EVENTDEF, Chaque sous-programme ainsi appelé doit se terminer par RETURN o. On revient alors en attente dans la boucle. Méme la sortie du programme est ainsi traitée. L'appel de l'article ‘Quitter’ fait éxécuter le sous-programme QurTTFR qui met Tindex quit flag a 1. La boucle testant cet index, on en sort dés qu'on y revient. Pom’s n° 43 29 /CEST UN . PICASSO ? Instructions TASKREC Dans les sous-programmes, vous trouverez les variables TASKRECS(I) et TASKREC4(T). Ce sont des variables réservées de GS Basic. TASKREC# (1) est dimensionné a 12 ct TASKRECA(I) 211. Voici quelques affectations de ces variables : - TASKREC#(6) donne la coordonnée verticale de la souris. - TAsKREC’(7) donne la coordonnéc horizontale de la souris. - TasKRece (9) donne le numéro diarticle. - TaskRECs (70) donne le numéro du menu. - taskreca (3) donne le handle sur la fenétre active. /NON.CEST UN PUZZLE. Z,o ww Ft — Initialisations | Les outils utiliscnt beaucoup les structures. Pour les intialiser, il est pratique d’écrire les valeurs sous forme de datas et d’écrire une petite procédure qui lit ces datas et transférc les valeurs dans la structure voulue. On peut de cette maniére coder dans les datas les types de variables qu'on veut écrire dans la structure. Par exemple, dans le programme PUZZLE, la procédure Chardate (ligne | 42800) prend en compte les nombres derriére les caractéres # comme des enticrs (2 octets) et les nombres derritre les caracttres 4 comme des doubles enticrs (4 octets). On pourrait étendre cette technique & des nombres que l'on veut écrire en hexadécimal ou en binaire. Outil PaintPixels Le programme tavaille sur trois images stockées dans des structures. La structure picimage!() contient l'image entitre. La structure pic! () contient l'image puzzle mélangée qu'on voit & I'écran. La structure picrecep! () contient une image de travail qui sert au moment d'un échange. En effet lorsqu'on veut échanger deux pigces 1 et 2, la procédure echange copie la pitce 1 de pic a Yemplacement 2 dans picrecep et la pitce 2 de pic a l'emplacement 1 dans picrecep. Elle copie ensuite la pice 1 de picrecep A l'emplacement 1 dans pic et la pitce 2 de picrecep & l'emplacement 2 dans pic. Pour ccla cette procédure utilise l'outil paint Pixels (pointeur). Cet outil copie le contenu d'un rectangle appartenant @ un locinfo dans un autre rectangle appartenant A un autre locinfo. Les deux }ocinfo et les deux rectangles sont définis dans la structure ‘pointée’ par pointeur. Dans le cas du programme PUZZLE, les rectangles sont rigoureusement de méme taille mais l'outil Paint Pixels est capable de faire des mises & I'échelle si les rectangles sont de dimensions differentes. TransfertsAppleSoft + GSBasic Il vous suffit, pour récupérer vos plus chers programmes AppleSoft, de les transformer en fichier texte grace au programme de capture bien connu que I'on ajoute en téte du programme a récupérer avant de le RUNer : 0 PRINT CHR$(4)"OPEN TEXTE 1 PRINT CHRS(4) "WRITE TEXTE 2 Ist 5, 3 PRINT CHRS(4) "CLOSE TEXTE 4 END Attention, avant cette transformation, supprimez ou remplacez les instructions suivantes qui font planter GS Basic: - HGH, HGK2, HCOLOR, HPLOT ...mais QuickDraw sait faire tellement mieux. - HIMEMet LoMEM qui sont inutiles sous GS Basic. - In? qui fait planter le rewum de GS Basic. Il faut alors se débrouiller avec ROUND () el FIX(). - GET xsAwansformeren GEv's x3. A tous ceux qui connaissent l'AppleSoft, et ils sont nombreux, GS Basic permet d'accéder rapidement et facilement aux outils de l'Apple IGS et donc d’écrire des programmes possédant une interface utilisateur évoluée (menus déroulants, multi-fenétrage, etc.). De plus moyennant quelques adaptations rudimentaires, ils peuvent récupérer des programmes AppleSoft. G Programme GSBasic ‘Puzzle’ NB. : Les préfixes précisés dans Puzzle conduisent a organiser votre disquette de la fagon suivante : Votre disquette s'appelle /cs81. Le dossier /G581/TDFS contient les librairies. Le dossier /cS#1/B0ISSTERE contient les programmes Puzzle, Puzzle 2 ct l'image de démarrage Demar. Le dossier /cs81/IMAGES. Ptz7z1.F conticnt... vos images SHGR a puzzler. Pom’s n° 43 10000 REM ox, du Memory Manager, de Miscellaneo 10100 REM us Tools el de Event Manages sont Cai 10200 REM Bruno Boissiére le 97/05/89 tes pa r GS Basic 10300 REM Programme PUZZLE version 1 12500 REM Initialisation de Quick Draw 10400 REM eee 12600 GRAF INIT 320:GRAF ON 10500 REM 12700 REM Identification de l'application 20550 PREFIX 0, "/GSB1" 12800 myid&=EXFN_MMStartUp 10600 REM Libération d'environ 64 koctets 12300 REM Réservation de 4 pages zéro 10700 CLEAR 65600 13000 aat=EXFN_loword (TEN ("C005") } 10800 PRINT FRE;" octets disponibles” 131200 ha-EXFN_NewHandle (4*256,myidt, aat, 0) 10900 REM Chargement des fichiers .tdf 13200 REM Adresse du bloc de 4 pages zéro 11000 PREFIX 1, "0/TDFS" 13300 aad=PEEK (ha) +256*PEEK (ha+1) +256*256*P 11100 LIBRARY "1/locator.tdf” EEK (ha+2) 11200 LIBRARY APPEND "1/memory.td£" 13400 REM Initialisation du Window Manager 11300 LIBRARY APPEND "1/misctool.tdf" 13500 _WindStartUp (myidt) 11400 LIBRARY APPEND “1/quickdraw.tdf” 13600 REM Initialisation de Control Manager 11500 LIBRARY APPEND "l/event.tdf" 413700 _Ctlstartup (myidt, aaa) 11600 LIBRARY APPEND "1/window.tdf* 13800 REM Initialisation de Line Edit 11700 LIBRARY APPEND “1/control.tdf” 13900 _LEStartUp (myidt, aaa+1*256) 11800 LIBRARY APPEND "1/lineedit.tdf" 14000 REM Initialisation de Dialog Manager 11900 LIBRARY APPEND "1/dialog.tdf" 14100 _DialogStartUp (myidt) 12000 LIBRARY APPEND "1/menu.tdf” 24200 REM Initialisation de Menu Manager 12100 LIBRARY APPEND "1/scrap.tdf" 14300 _MenuStartUp (myidt, aad+2"256) 12200 LIBRARY APPEND "1/stdfile.tdf” 14400 REM Visualisation de l'image de démar 412300 LIBRARY APPEND “1/desk.tdf" si. al 12400 LIBRARY APPEND "1/intmath.tdf" 44500 _BlockMove (VARPTR (pic! (0)), 14753792, 3 12500 REM Réinitialisation de 1'imprimante 2768) sans AUTO-LF 14600 REM Initialisation du Scrap Managor 12600 ASSIGN ". PRINTER", -1 14700 _SerapStartup 12700 ASSION ", PRINTER", 1 14800 REM Initialisation du Standard File 0 12800 KEM vassage en mode texte pour efface perations x l'image du boot 14900 _SFStartUp (myidt, aad+3*256) 12900 TEXT 15000 REM Initialisation du Desk Manager 13000 REM Lancement du programme PUZZLEZ 15100 _DeskStartUp 13100 PREFIX "0/BOISSIERE" 15200 REM Initialisation des datas des fene 13200 RUN "PUZZLE2" tres 15300 RESTORE dalalensim:PROC chardata(VARP TR{apropos! (0))) z ss 15400 RESTORF datadimapro:PROC chardata (VAR Programme ‘Puzzle2 PTR (apeopos! (62))) 15500 RESTORE datafensim:PROC chardata (VARP 10000 REM TR (puzzle! (0))) 10100 REM 15690 RESTORE datadimpuz:PROC chardala (VARP 10200 REM Brune Boissiére le 03/06/89 TR{puzzle! (62))) 10300 REM © Programme PUZZLE version 2.0 15700 RESTORE datafensim:PROC chardata(VARP 10400 REM TR (imagent! (0))) 10500 REM 15800 RESTORE datadimimag:PROC chardata (VAR 10600 CLEAR 131072 PTR (imagent ! (62))) 10700 REM Traitement des erreurs 15900 RESTORE datatensim:¥KUC chardata(VARP 10800 ON ERR NOTRACE:TEXT:PRINT:PRINT ERRT TRigagne! (0)}) XTS (ERR); " E: a la ligne ";ERRLIN 16000 RESTORE datadimgagne:PROC chardata (VA 2CHRS (7) :GOTO fin RPTR(gagne! (62))} 10900 ON DREAK NOTRACE:GOTO fin 16100 waa=EXFN_NewWindow (VARPTR (apropos! (0) 11000 REM Dimensionnenents ” 11100 DIM menu?! (770), menu2! (120),menu3! (12 16200 REM Initialisations des LocInfo 0), menud! (120), menw5! (120) 16300 RESTORE datalocinfo:PROC chardata (VAR 11200 DIM pic! (32767), picrecep! (32767), pici PTR (loclinfo! (0))) mage! (32767) 16400 RESTORE datalocinfo:PROC chardata (VAR 11300 DIM puzzle! (78), ima !(78), apropos! PTR(loc2info! (0))) (78), qagne! (76) 16500 RESTORE datalocinfo:PROC chardata (VAR 21400 DIM ligne! (256), vecteur! (100) PTR (loc3info! (0)}) 11500 DIM reply! (149), 1tstype! (10) 16600 SET (loclin£o! (2), 1) =VARPTR (pic! (0)) 11600 DIM rect! (7),srcrect!(7),receprect!(7 16700 SET (locZinfo! (2}, 4)=VARPTR (picrecep! ( ),entour! (7) 9) 11700 DIM loclinfo! (15}, loc2info! (15),loc3i 16800 SET (loc3info! (2), 4)-VARPTR(picimage! ( nfo! (15) 0) 11800 DIM pointeurpp! (21) 16900 RESTORE datasrcrect:PROC chardata(VAR 41900 DIM npdet (100) PTR(srcrect!(0))) 12100 REM Chargement. de l'image de démarrag 17000 REM Gestion des événements liés aux £ e enétres 412200 REM PROC charge ("DEMAR™) 17100 EVENTDEF 60, drawpuzzle, drawimage 12300 REM Initialisation des outils 17200 SET (puzzle! (58), 4) =EXEVENTA (60) 12400 REM Les initialisations du Tool Locat 17300 SET (imagent ! (58), 4) =EXEVENTA (61) Pom’s n° 43 31 ] Une page dépouillée Les rédacteurs de Pom’s vont redouter le syndrome de la page blanche cher aux écrivains : un papier ‘protecteur’ a singuligrement allégé la page 21 de notre numéro 42. Vous avez perdu le titre : auteur du programme, Patrick Blancheton etle dessin de Gilles Coursier. Les protections sont maintenant sous haute surveillance... sject.System, mais surtout le nom de 17600 17700 17800 17900 18000 18100 18200 12300 18400 418500 18600 18700 18800 18900 19100 19200 19300 19400 19500 19600 19700 20600 20800 20900 21000 21100 21200 APROPOS: REM Mis en place de 1a barre de menus _RefreshDeskTop (0) :_ShowCursor SET (menul! (0))="> acN1X"+CHRS(0)+"- A propos de puzzlegN257 V"+CHR$(0)+"." SET (menuz!(0))="> Fichier gN2"+CHRS ( 0)+"= Ouvrirg*OoN259"+ CHRS(0}+"- -cN 266D"4CHRS (0)+"~ Quitter¢*QqN258"/CHR $(0)+"." SET (menu3!(0))="> Nb de p. 1 CHRS (0) 1"- 4gN268"1CHRS (0) + 9"+CHRS (0)+"- 25GNZ7O"+CHRS (0)+"- 64¢ N260"4CHRS (0)+"= 100¢N264"+CHRS (0) +". SET (menu4!(0))="> Jouer ¢N4D"+CHRS (0 )+"= Melanger¢N261"+CHRS (0)+"~ Verifi ergNZ267D"+CHRS (0) +". " SET (menuS!(0))="> Ecran ¢N5D"+CHRS(0 )+"= Image puzzle¢N262"+CHRS(0)+"- Im age entiere¢N263"+CHR$(0)+"- GrillegN 265"+CHRS (0) +"." _InsertMenu (EXFN_NewMenu (VARPTR (menu £(0))),0) _InsertMenu (EXFN_NewMenu (VARPTR (menu4 1(0))), 0) _InsertMenu (EXEN_Newitenu (VARPTR (menu3 1(0))),0) _IngertMenu (EXFN_NewMenu (VARPTR (menu2 £(0))),0) _InsertMenu (EXFN_NewMenu (VARPTR (menu1 1(0))), 0) FixAppleMenu (1): FixMenuBar: DrawMen Bar index4-1:grill gt-0 REM Appels par les articles des menus MENUDEF 1, apropos, quitter, charger, dec oupe64, melanger, drawpuzzle, drawinage, decoupe100, grille, quitter, verifier, de coupe4, decoupel6, decoupe25 EVENTDEF 19, click TASKPOLL INIT TEN("$FFF"),-1 TASKPOLL ON DO:UNTIL quitflagt:GOTO fin REM Dossin de la fenétre de présentat don du logiciel _SelectWindow (waa): Showiindow (wa -1:numart$-0:quitfla a) _SetPort (waa) :_Setorigin(0, 0) SET (ligne! (0)}=*"Puzzle V2.0" _MoveTo (15,15) t_DrawString (VARPTR (lig ne! (0))) SET (ligne! (0))=*"Par Bruno Boissiere” _MoveTo (15,30) :_DrawString(VARPTR (lig ne! (0))) 21300 21400 21500 21600 21650 21700 DRAWPUZZLE: 21710 21720 21730 21800 21900 22200 22300 22350 22400 DRAWIMAGE: 22410 22420 22500 22600 22800 22900 22950 23000 QUITTER: 23050 23100 CHARGER: 23200 23300 23400 23500 23600 23700 23800 23900 24000 24100 24200 24300 24400 24500 24550 24600 24700 24800 SET (Ligne! (0))=*"Version de juin 1989 _MoveTo (15, 45) :_DrawString (VARPTR (lig ne! (0))) HiliteMenu(0, TASKREC%(10)) RETURN 0 REM Dessin de la fenétre du puzzle _ShowWindow (wpa) :_SelectWindow (wp 4)1_SetPort (wpa) REM Dessin de l'intérieur de la fenet re _PPToPort (VARPTR (loclinfo! (0)), VARPTR (srerect! (0)), 0, 0,0) TF grillet=1 THEN GOSUB dessingrille REM Cochage de l'article Image puzzle et suppression du cochage de 1'artic le Image entiére _CheckMItem (1, 262) :_CheckMItem (0, 263) _HiliteMenu (0, TASKREC#{10)) RETURN 0 REM Dessin de la fenétre de l'image e ntiére _ShowWindow (wid) :_SelectWindow (wi 4):_SetPort (wia) REM Dessin de l'intérieur de la fenét re _PPToPort (VARPTK (1oc3info! (0)), VARPTR (srerect! (0)),0,0,0) REM Cochage de l'article Image entiér © et suppression du cochage de l'arti cle Image puzzle _CheckmItem (1, 263) :_CheckMItem (0, 262) _HiliteMenu (0, TASKREC#(10)) RETURN 0 REM Sortie du programme quitflagt=1:TASKPOLL OFF:RETURN 0 REM Chargement d'une image SET (ligne! (0))=*"Nom de l'image

Showing the first 100000 of 282429 characters.

mp.ls