Skip to main content

magazine poms33

  • PublicationApple Periodicals
  • Pages76
  • Sourcemagazine_poms33.pdf
← Magazines magazine poms33
/ 76
Source: Internet Archive — Aggregated Apple-era periodicals, 1981–2012.
Page 1
Loading…
Text content (OCR)
La revue francophone indépendante pour les utilisateurs des | Apple ][+, //e, //e+, //c, IIGs™ et Macintosh™ 1 = = L'anti-disque Speedisk™, — la RAM Card a mémoire permanente Rapidité temps daccés 4 l'information : 0,2 ms (100 fois plus rapide que les disques durs...). Par exemple ; démarrage sur Basic.System en 3 s, Applewriter disponible en a peine 1 s. Fiabilit@ Constituée de circuit CMOS 4 trés faible consommation, Speedisk™ est aussi fiable que l'ordinateur lukméme. Elle est insensible l'environnement. Capacité speedisk™ est proposée en quatre versions: | 1 Mo (1 048 576 octets) 384Ko extensible 4 1Mo avec horioge compatible ProDOS (pour les Apple )(+, //e) ou sans (IGS) Compatibilité 100% compatible avec ProDOs (c'est un volume), Speedisk™ fonctionne sur Apple )(+. sur Apple //e et sur Apple llGs. Prix Lecteur de Pom’s, vous bénéficiez d'une remise de 10%: sP400 384Ko 399060 3591.00 SP1000 1Mo 592060 5 301,00 SP400H "384Ko horioge 458700 4122.00 SP1000H 1Mo horioge 658200 5922,00 Garantie speedisk™ est une fabrication frangaise garantie un an par échange de la carte. Banc d'essal dans la revue Pom’s n° 31 Vente par correspondance, Logma S.A. documentation, 12, rue d'Anjou renseignements 78000 Versailles Tél: (1) 39.51 24 43 —$—<—<— =~ — Speedisk™ est une marque déposée de Je désire recevoir — sans engagement — votre Thot Informatique® - France documentation sur les cartes Speedisk™ Speedisk™ Numéro 33 novembre-décembre 1987 Sondage Pom’s Page 4 Graphisme & Minitel S Jean-Luc Bazanegue Page 41 Editorial Hervé Thiriez GG Page 5 La date avec AppleWriter Lyda Pétkové [tes We] ET pace, i | age 6 Essai Macintosh : SideKick version 2 = Hervé Thiriez SS. Ge=mam Page 47 Graphisme sur Minitel Patrice Neveu [+] [el] 2 Beg Recherche d'applications Georges Zwingelstein — Page 49 Booter dans un dossier ? NEWBOOT Patrick Guyou Raccourcir WPL Page 15 [1se]) Gy GS & QuickDraw IT fee) LE Pham Hiep Page 17 Disquettes Pom’s 33 Page 57 Heure & AppleWriter Ar) 77 Lyda Pdtkova I Lit) ©} 7c Page 24 Damien Nould Essai: SuperMacroWorks Co age 62 AppleWorks & LaserJet+ Bruno Ribard Page 63 Commande externe : ONLINE WE Pascal Cantot Mc \\Page 25 MultiScribe 2.0 @) Bernard Toméno Page 65 Apple // for ever (ir) [vel] aaa) (SS | (SS | ee Jean-Yves Bourdin Impression avec CS AppleWriter Page 28 Cats & Mouse Pascal Duboin be Ie} ell preg cay a (aes fees Pace 29 sur CalvaCom (Gi Page 69 Bibliographie Alexandre Duback Biree 72 En vitrine Page 40 Mots croisés Joélle Piard ee 73 Les annonceurs ; Apple : page 38 & 39 ; La Commande Electronique : page 76 ; LOGMA S.A. : page 2. Editions MEV - 12, rue d'Anjou - 78000 Versailles. Tél. : (1) 39 51 24 43. Directcur de la publication : Hervé Thiriez Pom's n° 33 Ce bref questionnaire est pour nous une précieuse source de renseignements : ses précédentes appari- tions sont al'origine des disquettes DOS/Pro- DOS, des disquettes 3,5", des programmes de communication. Il nous permettra de suivre au mieux l'évolution de vos be- soins et celle de votre matériel. Il constituera également un moyen de gagnerl'un des 10 abon- nements avec dis- quettes... Vous avez: —de 15 ans. de 15a 19 ans de 35 a 45 ans + de 45 ans... Logo Asm Apple // . Asm Mac Autres Votre niveau en pro- grammation : Utilisateur Débutant Intermédiaire Averti.... Haut niveau. oo0000 Chaque semaine, vous &tes devant votre micro: —de 2 heures... de 3 4 8 heures.. de 9 4 16 heures + de 16 heures . ocoo Sondage Ce qu'il faut changer: Votre ordinateur ; Apple Il+... Apple //e .. Apple //e+ Apple //c .. Apple Iics.. Apple ///.. Compatible Macintosh 128 Macintosh 512 Macintosh Plus. Lisa/Mac XL. Mac II/SE... Votre imprimante : ImageWriter .. ImageWriter 2 Apple DMP LaserWriter Epson. Scikosha Mannesman Centronics .. OKI. Extensions, périphériques : Carte 80 colonnes... 80 col. étendue. Carte Z80 CP/M .. Table tragante .. Minitel Modem Extension mémoire Speedisk Autre: Prochainement, vous allez acquérir : Apple // ... Macintosh Lecteurs Minitel Modem o0000 CalvaCom : Vous étes abonné ...O Depuis : 6 mois ou plus ........ Moins de 6 mois..... Ce qu'il faut Combien de numéros développer: de la revue Pom’s avez-Vous 1U ? sss De 5 (trés bon) 40 (trés mauvais), votre opinion sur: Niveau général ....__ Présentation ......... Intérét des programmes ........ —_ Clarté des articles .... Intérét pédago- gique seeeeee! Micro-Infos Disquettes .. Vos autres revues informatiques : Ce que vous préférez : FACULTATIF Nom N° CalvaCom Abonné....... Pom's n° 33 Ont collaboré a ce numéro Alexandre Avrane - Jean Luc Bazanegue Alain Bohec — Jean-Yves Bourdin Pascal Cantot — Alexandre Duback Pascal Duboin — Patrick Guyou Le Pham Hiep — Olivier Herz Gérard Michel — Patrice Neveu Damien Nould — Lyda Patkové Christian Piard — Joélle Piard Bruno Ribard — Georges Zwingelstein Hervé Thiriez - Bernard Toméno Directeur de la publication rédacteur en chef Hervé ‘Thiriez Rédacteurs Alexandre Avrane — Olivier Herz Siége social Editions MEV 12, rue d’Anjou 78000 Versailles ® (1) 39.51.24.43 Publicité Editions MEV Diffusion NMP.P. Impression Berger-Levrault 18, rue des Glacis 54000 Nancy ‘® 83.35.61.44 Photo de couverture CP & JLB Illustrations ‘Apple // for ever’ Jean-Yves Bourdin 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 a Apple Computer, Inc. ni a Apple Computer France S.A.R.L. Apple, le logo Apple, Mac et le 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. Editorial | Pom’s est entré dans sa septiéme année! Nous avons vu beaucoup d’eau passer sous les ponts. Nous avons vu naitre et mourir l’'Apple I, Golden, Infomag. Maintenant, e’est Apple Ic dont la vente est intcrrompuc. La gammc Macintosh est apparue et porte 4 présent trés haut le flambeau, ayant méme réussi la percée dans les grands comptes ce que les autres modéles de la marque n’étaient jamais parvenus 4 faire ; il entraine dans sa lancée l’Apple Iles qui devient incontestablement un ‘grand’ de la gamme. Apple Expo, chaque annéeuneréussite, nous rassure surl’avenir de noschers micros : le fruit du travail des développeurs aussi bien dans la création de programmes que dans le ‘hard’ semble bien sans limite. Dans cette optique, nous continuons & faire évoluer Pom’s pour vous apporter une qualité de service grandissante. C’est aujourd’hui la possibilité, par l’intermédiaire de notre boite aux lettres CalvaCom, de passer des commandes télématiques et de nous soumettre vos problémes techniques dans la mise en wuvre des programmes de la revue : il nous arrive de répondre & des heures fort tardives et méme durant le week-end... Il nous faut hélas, lors d’affluence, privilégier nos abonnés dans notre assis- tance technique : abonnez-vous ! S’abonner, c’est — outre une priorité dans l’aide que nous vous apportons—recevoir Pom’s avant la mise en kiosque, c’est passer gratuitement dans votre revue des petites annonces, c’est égale- ment recevoir par tirage au sort des cadeaux-surprise de valeur : logiciels, documents techniques (nouveaux abonnements sous- crits & partir du 30 novembre 87). C’est aussi un rapport plus étroit avec Pom’s, un plus grand poids dans vos suggestions. Idées, nouvelles orientations ? Notre sondage ci-contre nous permet de mieux vous connaitre, c'est une sorte de trait d’union. Notre ami Jean-Michel Gourévitch est en route vers de nouvelles aventures et c’est désormais Jean-Yves Bourdin qui assurera la chronique des nouvelles sur Apple //. A cette occasion nous vous proposons une nouvelle formule, “Apple // for ever”, composée de huit rubriques. La encore, c’est a vous de dire ce que vous pensez de cette innovation et aussi 4 vous d’y contribuer : envoyez-nous nouvelles, informations, ‘patches’... Le contenu de ce numéro satisfera certainement les besoins de chacun ; en couverture, l'un des résultats de nos recherches dans le domaine de la communication : le couple micro-ordinateur/ Minitel est doué d'un potentiel peu commun... Hervé Thiriez Pom's n° 33 La date avec Apple’ a carte Speedisk, grace & Textréme rapidité d'accés aux fichiers, permet d'envisager de nouvelles applications WPL — lan- gage de programmation d'AppleWriter -, applications qui resteraient lentes d'exécution sur Ics supports traditionnels ; les programmes présentés ici demeurent toutefois utilisables sur tous types de supports. Nous vous deux programmes : - le premier permet de disposer de la date dans un fichier 4 charger & tous moments par une commande glossaire par exemple ; - le second montre un exemple d'automatisation du courrier répétitif habitnel, devis, commande, telance... Cet exemple utilise la date et gére une numérotation de documents. Bien sGr, pour que tout cela fonctionne, il faut disposer de la date. Il y a trois méthodes : = doter son Apple d'une carte horloge ; - y installer une Speedisk avec option horloge ; - disposer d'un programme de boot qui demande la date et la met @ jour dans Iles octcts $BF90/$BF91 de ProDOS. REBOOT.SYSTEM dis- ponible dans la bibliothtque de CalvaCom convient fort bien. La date proposons Le premier programme WPL, qui se contente de vous offrir la date & la frangaise (03 novembre 1987), s'exécute en faisant simplement : <ctrl-P>DO STARTUP .D Avant cet ordre, vous aurez mis sur votre disquettc (ou plutét volume) les fichiers STARTUP.D, INTDATE.D (le fichier intermédiaire VARIDATE.D se crée automatiquement) et DATE. Un instant plus tard, le fichier DATE eréé sur le volume contient la date du jour : pour I'utiliser faire simplement : <ctrl-—L>DATE Mieux : installer la commande glossaire D<ctr1-L>DATE> ainsi, la date sera sous la pomme : GD. Concrétement, le fonctionnement se résume ainsi : STARTUP.D C'est le premier programme i s'exécuter. I] sauvegarde un fichier vide dans le catalogue courant puis charge ce catalogue en mémoire texte. La date en cours est la date de modification du fichier “VIDE” sous la forme : mm/jj/aa. STARTUP.D isole donc cette date en mémoire texte et la transforme en un programme WPL sauvegardé sous le nom de VARIDATE.D et exécuté & son tour par la demiére commande de STARTUP.D. VARIDATE.D Ce programme n'a qu'une fonction : il place dans les variables $B le mois, $C le jour, $D l'année, ce qui va permettre de les traiter 4 notre convenance. Cela fait, VARIDATE.D lance I'exécution de INIDATE.D, 38me programme WPL (heureusement que Speedisk met un tigre dans AppleWriter...). INIDATE.D Tl était pou utile de garder la date sous la forme 01/01/1987, INIDATE.N peaufine le travail en la présentant sous la forme 07 janvier 1987 et en la sauvegardant dans le fichier texte “DATE” (remarquer le PGO Variable bien utile dans le programme WPL). En fin d'exécution, DATE est disponible. Remarque : si aucun de vos programmes WPL n'utilise l'une des quatre variables disponibles ($D, par exemple), cet ensemble pourrait simplifié, La date mise en forme serait placée non plus dans un fichier mais dans la variable $D, INIDATE se terminant alors de la fagon suivante : ter Lyda Patkovd 12 pas décembre =$C Pas $B$C $D=§$D $D resterait alors utilisable autant de fois que nécessaire au sein d'un programme WPL par la seule fonction du type : F/ (DATE) /$D/ Oo? STARTUP.D, VARIDATE.D et INIDATE.D ne sont exécutés qu'une fois, 4 la mise en route d'AppleWriter. Si STARTUP.D est renommé STARTUP, vous bénéficierez d'une exécution automatique lors du démarrage. Un exemple complet L'exemple d'utilisation qui suit inclut, en plus de l'usage de la date tel que décrit, une fonction de numérotation automatique des documents retenant la forme : numéro d'ordre numéro du mois (6709, 6809, 6910, 7010, etc). I conduit &@ la réalisation semi- automatique de commandes ou de relances. A cette fin le programme STARTUP.N remplace le précédent STARTUP.D. STARTUP.N crée un programme VARIDATE.N complété par la mise & jour du numéro du mois dans le fichier NUMERO. STARTUP.N La comparaison des deux startups et des programmes VARIDATE respectifs quiils créent, permet de bien comprendre le processus de transformation de la date, initialement isolée du catalogue, en un programme WPL. Remarquer l'usage dans la 188me ligne de §C au lieu de $C, S'il était écrit $C, l'exécution de la fonction de remplacement mettrait la valeur courante de la variable $C au lieu du nom de variable $C. Reste ensuite & ajouter la commande de remplacement de § par § (c.f. fin du programme). Est ajouté aussi le chargement du Pom's n° 33 glossaire (QEGLOSSAIRE) dont la seule commande prévue permet revenir & tout moment au programme CHOIX. Cette commande est donc 4 ajouter a votre glossaire habituel. VARIDATE.N VARIDATE.N conticnt maintenant la fonction de mise & jour du numéro du mois dans le fichier NUMERO. Il lance commande <ctrl-C> <ctrl-P> doCHOIX> (remarquer que > aprés DOCHOIX signifie RETURN mais certaines versions d'AppleWriter exigent a la place le signe §) qui permet par la commande : Getrl-C d'appeler CHOIX aprés chaque application. COMMANDE (RELANCE) l'exécution de INIDATE.N Ce petit programme WPL permet de placer dans une fiche standard INIDATE.N (FICHCOMMANDE) préparée et mise Sans changement, lance l'exécution de CHOIx. CHOIX Exécuté pour la premitre fois automatiquement par I'intermédiaire de INIDATE.N, il doit étre le passage obligé de toute nouvelle application d'ot la commande incluse dans le glossaire. Pour limiter cet exemple, seules les options 1 et 3 sont utilisées. L’option 1 permet de préparer une commande ct Yoption 3 une relance. Les programmes WPL RELANCE et COMMANDE sont simplifiés. Ces programmes doivent charger les fichiers de tabulation et d'impression appropriés. Ce programme contréle la validité du choix & l'aide, d'une part de la fonction de comparaison : contréle de Escape, et d'autre part d'une boucle numérique limitant la valeur choisi entre 0 et 4: O<CHOIX>4. GLOSSAIRE Le glossaire ne contient que la en page & votre convenance, les données variables mais systématiques qui lui sont liées. Pour ce qui nous occupe présentement, il s‘agit de la date par les instructions : PLSDATE=SA F/ (DATE) /$A/A et du numéro par la méme méthode : PLSNUMERO=$C F/ (NUMERO) /$C/a Le fichier NUMERO est mis & jour (incrémentation de 100 de sorte que 6709 par exemple devient 6809) et sauvegardé pour I'application suivante. La lettre de commande créée est sauvegardée sous le nom : C.nom de fichier numéro d'od la commande WPL : SC. SBSC<H><H> ot <H><H> permet de supprimer le numéro du mois : si $C = 6709, $C<H><H> = 67. Le fichier ainsi créé permet de faire la sauvegarde finale par un simple <ctrl-S>=. Utilisation Pour essayer l'exemple ci-aprés proposé il vous faut dans le catalogue courant : 1 STARTUP.N & exécuter en premier INIDATE.N CHOIX COMMANDE RELANCE FICHCOMMANDE FICHRELANCE NUMERO qui contient uniquement le numéro a incrémenter 9 GLOSSAIRE 10 DATE BUYHHAWH Aprés chaque application on revient directement au menu de CHOIX par la commande glossaire Cictrl-C. Remarque : pour la simplicité de la présentation, cet ensemble n'utilise aucun sous-catalogue. Il est pourtant préférable de prévoir le classement des fichicrs ct programmes dans des sous-catalogues spécifiques, En particulier, pour le fichier VIDE, l'idéal est qu'un catalogue lui soit réservé afin que la fonction de recherche de STARTUP soit rapide. Si tel n'est pas Je cas il est souhaitable de placer VIDE au début du catalogue courant car STARTUP cherche non pas le fichier s'appelant VIDE mais le premier fichier de longueur nulle ! a an +0? Transforme Fichier STARTUP.D LF HEARTS) tae ie +0? enun *n0 Efface mémoire texte oP I/!£«PAS! programme * <ESC><ESC> Efface ligne status 0? WPL / I € *PND Supprime affichage °R J, / e+ *PPRuneinstant+! Affiche le message oF lelepas! *SVIDE Sauvegarde un fichier vide +0? / | e “0 Accepte son remplacement oF *, *=$C, * *OAE Charge le catalogue *0? IIgs 2 Quitte les cdes ProDOS opty amu, *B Va au début catalogue +0? aPhenns **0* — Positionne le curseur « i (pyle areca f eel D Le sauvegarde... 7) Change le sens (<) Z exé 7 Chiat ge ta dite dans te baer ) PAOVARIDATE.D et Vexécute “NO Efface mémoire texte a > ‘D Change le sens (>) Fichier DATE “xX Date en mémoire texte "D Change le sens 03+novembre+1987 —_pas de retour chariot aprés *P*+4-$D, +NO, *PDOINIDATE.D* Pom's n° 33 Fichier RELANCE +PND *PPR<CTRL-L> +O *PLSNUMERO*=$C #PSK*$C *PSX*+100 “PAS (X)=$D *LNUMERO eF/$C/$D/A ose *PISDATE=SA *PPR+Numéro*de*document *PPR+Datereeees *PPR “NO + LPICHRELANCE *BF/ (DATE) /SA/ *0?F/ (NUMERO) /$C/ °0? APP*PPR* (1) *Monsicur** (2) *Madame* + (3) *Mada *Monsieurs *PPR+RETURN+pour* "Messieurs *PIN® *PCS/$A// *PGOS *+PSXSA *BCS/(X)/0/ *PGOAPP “PsYO BOUCLE*PSY+1 *PCS/{¥) /4/ *PGOAPP *PSK-1 *PGOBOUCLE *PGOSA* 1+F/ (APPEL) /Monsieur/a *PCO-NO 2*F/ (APPEL) /Madame/a *PGO*NO 3*F/ (APPEL) /Madame, *Monsieur/A *PGO+NO S*F/ (APPEL) // *O?F/ (APPEL) /Messieurs/a NO*PPR*Nom¢dusfichier*de*sauvegarde++++++++ *PINeeeseeeseseesevecansesignesnitespaces *PCS/$B// *PGONO *PPR*Nom* complet -du-destinataire- (return--++$B) =$D (Ets, *SARL, *Ete.) ADINeteeeeececccceseseeeeettseeecesseas *PCS/$D// *PASSB=$D +*PIN-Prénom *F/ (PRENOM) /$a/ *O?F/ (NOM) /$D/ *OPPINAdresse+tetseeceescececeeseseveees *F/ (ADR) /$A/ *0? A*PIN«Date+deslasfactures+++s *PCS/$A// *PGOA “PF! (DATE) !$A! +0? F*PIN¢Numéro*de*la* facture ao been ceccccccccccceceereensa s195a seereensa *PCS/$A// *PGOF +P! (NUMERO) !6A! +078 C*PINeConcernant *F/ (CONCERNANT) /*concernant *$a/ 0? PINeMontant TTC + (nombre*seu) + *PCS/$a// *PGOP °F / (MONTANT) /$A/ *02SR. $BSC<CTRL-H><CTRL-H> Fichier INIDATE.D **NO Efface page texte °*PGOSC GOTO variable : $C est 00*PGOERR le n° du mois. 01*pas* janvier=$c +*-pgod 02¢pas*février=Sc o+spgod 03*pasemars=$c ++ spgod 04*pas+avril=se ++-pgod O5*pas+mai=$c e+ spgod 06*pas*juin=$c ++spgod O7+pas* juillet=$c seepgod 08+pas*aout=$c + eepgod 09*pas*septembre=$c + eepgod 10*pas-octobre=$e ++epgod 11+pas+novembre=$c eepgod 12+pas+décembre=$c d*LDATE opr eyo Changement du n° de mois en nom de mois Charge fichier date *$BSC*$D* En remplace le contenu “s= Le sauvegarde *PPR la date $B$C $D est dis —ponible dans le fichier "DATE" PER *PPR voir l'exemple d'utili sation avec STARTUP.N +PPR “PIN taper une Couche : °POT Fin ERR*PPR<CTRL-L> *PPR vous n‘'avez pas de carte h morloge ou bien “PPR vous n'étes pas passé par R AEBOOT. SYSTEM *PPR votre fichier 'vide' n'a do ane pas de date de modification “PPR ce programme n'est pas utilisable. “PIN “NO Pom's n° 33 Fichier COMMANDE © LP TCHCOMMANDE. *F/ (NUMERO) /$C/a *F/ (DATE) /SA/a NO*PPR*Nom*du*fichier*de*sauvegardes*++ss+s *DPR+Nomecomplet +duedest inataires (return HPINCAGreSSOtteteeeeeeneneneneeceseeuees +PND *PINe *PPRSCTRL-L> *PCS/SB// +NO *PGONO *PLSNUMERO*=$C *PPR *PSK0SC *PSX+4100 *PIN® *PAS (X) =$D *PCS/$D// *LNUMERO *PAS$B=$D *F/$C/$D/A *F/ (NOM) /$D/A +S= *PLSDATE-$A +F/ (ADR) /SA/A *PPR+Numéro+de+document+rrseeeeseeeeeesees eC +F/Ret/ SPER Datiasses en seses tacsssisnee ganisseeeenes 3sOA. 2 “PPR * JIT *NO ssans+signeeni+espace *SC. $B$C<CTRL-H><CTRL-H> Fichier INIDATE.N **NO + *PGOSC 00*PGOERR 01*pas* janvier-$e + eepgod 02*pas*février=$c seepgod 03*pas*mars=$c se*pgod O4*passavrll=$c seepgod 05*pas*mai=sc seepgod 06+pas* juin=$c seepgod O7pas* juillet=$c seepgod O08*pas*aout=$c seepgod 09+pas*septembre=$c seepgod 10*pas*octobre=$ce eeepgod 11*pas*novembre=$c seepgod 1Z*pas*décembre=$c deLDATE SEE Phra ASHECEOD +0? *PDOchoix ERK* PPRSCTKL-L> “PPR vous n'avez pas de mearte horloge ou bien “PPR vous n'étes pas passé —par REBOOT. SYSTEM *PPR votre fichier ‘vide! n! ma done pas de date d me modification +PPR ce programme n'est pas u atilisable. “PIN +NO Fichier GLOSSAIRE <CTRI:—C><CTRI-P>DOCHOTX> Fichier VARIDATE.D Met mois dans $C Met jour dans $B *PAS1987=$D Met année dans $D +N *PDOINIDATE.D — Exécute Inidate.d Concernant les listings Dans les programmes WPL listés ici: les **’ symbolisent les espaces, les caractéres qui suivent le signe ‘+ sont la suite de la ligne précédente, <ctrl-L> symbolise le caractére contréle-L que l'on saisi dans Apple-Writer avec la s€quence clavier: ctrl-V ctrl-L ctrl-V ; Idem pour <esc> 4 saisir ainsi : ctrl-V touche escape ctrl-V. Fichier CHOIX + <ESC><ESC> “PND OPTTON+ PPR<CTRI-L> *PPR +PPR ePPReeeeeseeeeeee] secommande *PPR oPpReeeeceevecesezeelettre +PPR oPPReeeeseeseeeee3eerelances PPR *PPRe* *PPR “PPR sPINeceecccccessccsscvcevoce —ee*choisirsunesoptio anelede3ese=$B *PCS/$B/<ESC>/ *PCOQUIT *PSX$B +PCs/ (x) /0/ *PGOOPTION -PSYO BOUCLE*PSY+1 *PCS/(¥)/4/ *PGOOPTION +PSK-1 *PGOBOUCLE +N *PGOSB 1 +PDOCOMMANDE 2*PPR<ESC>******Choisirel+ou a+ 3+poursun-essal +<Esc>**quitter °PPR *PINe: ao touches: *PGOOPTION 3*PDORELANCE tapereun QUIT*<ESC> “xO ProDOS Pom's n° 33 Fichier STARTUP.N “NO + SESC><ESC> *PND *PPRun*instant-! *SVIDE weeeee oe “D +F*+*=$D, *NO, *LNUMERO, *HH, *F<? ?<SC<, *0?, *S=, *PDOINID AATE.N* +0? oF !/1£*PAS19! +0? *F!/!£°PAS! *0? °B oF lelePAS! +0? oF#, #=$C, * °0?7 +P*, #=$B, * +0? +FKS<$<A + SVARIDATE.N “0 * QEGLOSSAIRE *pdoVARIDATE.N Fichier VARIDATE.N *PASLI=SC *PASO3=$B *PAS1987=§D +NO *LNUMERO Hl *F<?2<$C< +0? se *PDOINIDATE.N Fichier NUMERO 411 Fichier FICHRELANCE ig +md140 Paris, le (DATE) RAPPEL (NUMERO) (APPEL) (PRENOM) (NOM), (ADR). -MG10 «MDE4 (APPEL), En date du (DATE), je vous ai adressé ma facture n°(NUMERO), (CONCERNANT) . Or & ce jour,aucun réglement ne m‘est parvenu. s'agit d'un oubli de votre part, et vous prie (MONTANT) Fr par Je pense qu'il de bien vouloir m'adresser la somme de : tout moyen 4 votre convenance. Dans |'attente, Je vous pric d'agréer, (APPEL), mes salutations distinguécs. Signature -mp0 «mgO FF Fichier FICHCOMMANDE -mg2 «3G -md90 Paris, le (DATE) COMMANDE N° (NUMERO) «M140 (NOM), (ADR). -Md90 -MC1O SCOMMANDES Réf Désignation Quantité Unité «MG4 -Identilé bancaire .... : code étab. guichet comple clé RIB Banque XX HRKKIX MXKK — AXKKAAKKXKN XKKK Répertoire des métiers + xxxxxxxxx SLLENE cesecescccecces XXXXXXXXXXKAK -MGO FF 10 Pom's n° 33 Nouvelle étape des recherches de Pom’s dans le domaine de la communication, voici un programme de conversion Image HGR/écran semi-graphique Minitel, cc qui — compte tenu des contraintes Vidéotex (2 couleurs seulement par groupe de 6 pavés) — représente une recherche remarquable. Cette nouvelle étape, aprés le détecteur de sonnerie du numéro 32 représente un pas de plus vers une prochaine application conversationnelle entre votre ordinateur et le Minitel de vos correspondants : l'Apple // serveur... S'abonner Vous cherchiez une bonne raison de vous abonner ? en voici quelques-unes : % six numéros pour le prix de cing ; ¥ l'assurance den'enrater aucun ; ®une assistance tech- nique prioritaire, par téléphone, par Calva- Com ; = Pom’s dans votre boite aux lettres avant mise en kiosque ; *¢les petites annonces gratuites ; & un tirage au sort A comptcr du 30 no- vembre pour recevoir logiciels de valeur, docu- mentations tcechni- ques... andis que nous bénéficions de su- perbes images en haute résolution sur nos Apple //, le Minitel connecté de fraiche date continue 4 faire triste mine avec son texte et ses médiocres images. Il suffit pourtant d'un programme de conversion pour profiter de ses 8 nuances de gris et de ses mosaiques semi- graphiques. Quoi de mieux pour surprendre un utilisateur qu'une Lady numérisée, ou votre derniére ceuvre graphique réalisée souris 4 la main ? Méthode Mais ces images HGR ont une définition de 280 x 192 points, tandis que notre petit Minitel ne peut en afficher que 80 x 72. Ily aura certes perte importante de définition, mais vous serez surpris par ce dont ces 1440 points sont capables aprés étre remplis par la routine HGR.MNTL. Ce programme est congu pour pouvoir : Patrice Neveu - convertir les images HGR en mosaiques Minitel a plusieurs niveaux de gris, plus ou moins contrastés, ou en noir et blanc ; - sauver le résultat sur disque ; - le récupérer ultérieurement. La conversion se déroule en deux phases : La premiére est écrite en langage-machine et analyse l'image HGR pour donner le nombre de points par zones de 3 x 3 ou de 4 x 3 points, stocker ces chiffres, puis indiquer de combien de points est constituée Timage entitre. Chaque petite zone formera un carré sur l'écran du Minitel. Or, comme l'indique la page 10 du Pom’s n° 29, chaque caractére Minitel contient 6 de ces carrés. Ainsi, les 280 colonnes HGR deviendront 80 colonnes Minitel, d'alternativement 3 puis 4 points HGR de large. Ce compte curieux est nécessaire 4 cause du stockage méme des points HGR en Pom's n° 33 Liat mémoire ; 7 points par octet, et 40 octets par ligne que l'on doit mettre en relation avec les 40 caractéres par ligne du Minitel. Quant aux lignes, nous n'utiliserons que 192 lignes HGR (3 lignes par carré mosaique), soit 64 lignes mosaique, ou encore 21 lignes de caractéres Minitel. Donc horizontalement, - 1 ligne Minitel= 40 caractéres Minitel - 1caractére Minitel = 2 colonnes mosaiques - 1colonne mosaique = 3 ou 4 colonnes HGR et verticalement, - 1colonne Minitel = 24 caractéres Minitel - 1 caractére Minitel = 3 lignes mosaiques - 1 ligne mosaique = 3 lignes HGR La scconde phase est écrite en Applesoft car elle comporte de nombreux calculs. Il faut en effet, & partir de la densité par carré mosaique. en déduire les deux couleurs que le caractére Minitel prendra. Un caractére peut en effet prendre deux couleurs : une pour le caractére lui-méme, l'autre pour le fond. Pour des mosaiques, cela signifie que certains des six carrés du caractére auront l'une ou l'autre couleur. C'est 18 que le probléme majeur intervient : comment calculer ces deux couleurs parmi les huit disponibles pour que l'image reste cohérente d'un caractére a Tautre ? La solution passe par un calcul d'écart-type des six carrés d'un caractére On calcule aussi la densité moyenne MC de chaque carré de l'image par la division du nombre de points d'un carré sur lcur nombre maximum (7 x 9). Cela nous permet d'obtenir les deux couleurs du caractére: lalére: MC-ET/2 la2&me: MC+ET/2 Enfin, pour savoir si un carré prendra l'une ou l'autre couleur, on compare la densité moyenne du carré MC 4 la densité moyenne de l'image entiére M. La couleur cst donnée par les séquences suivantes : $1B $4x : couleur du caractére, $1B $5x : couleur du fond. x prend Ics valeurs 0: noir 1: rouge 2: vert 3: jaune 4: bleu 5: magenta 6: cyan 7: blanc En tons de gris, nous avons du plus clair au plus foncé :73 625 140. Dernier raffinement, il est possible de changer le contraste normal de l'image (1), pour obtenir des effets spéciaux. Entrez donc 10 ou 30... On remarque avec I'habitude que certaines images passent mal en niveaux de gris. On peut alors les passer en monochrome noir et blanc, ce qui les avantage généralement, Comment faire ? Trois éléments sont nécessaires un Minitel, un cable de liaison 4 I'ordinateur, un port série. Le Minitel S'il est retournable (bi-standard) vos ceuvres pourront étre transmiscs & un correspondant équipé également d'un Minitel. Le cable La revue en tient 4 votre disposition si vous n'en disposez pas. Le port série Sur un //c ou un IIGS, il est intégré a la machine. Sur un ][+ ou un //e, la carte SuperSérie Apple doit éure insérée dans le slot 2 (si elle est dans un autre slot, modifiez la ligne 1100 du programme Basic), configurée de la facon suivante : alahahahel’ modem Zs terminal swi on i] off sw2 on AMUN Sur votre IGS, a l'aide du tableau de bord, mettre toutes les options par défaut du port modem, sauf : Data/Stop Bits : 7/1 Parity : Even DCD Handshake : No DSR/DTR Handshake : No Sur votre //c, supprimer le REM de la ligne 4. Le programme Pour utiliser ce programme de conversion il faut, si yous ne disposez pas de la disquette d'accompagnement, saisir et sauvegardcr les programmes Basic HGR.MNTL_ et COMPACTEUR ainsi que la routine binaire DENSITE. Apres l'ordre : RUN HGR.MNTL le menu vous propose la conversion d'une image HGR qui consiste en sa transformation en un fichier TEXT a envoyer au Minitel. Dans cette option, aprés affichage du catalogue, indiquez le nom de votre image HGR (veillez & ce que son nom n'excéde pas 8 caractéres, éven- tuellement renommez-la avant). Aprés transformation, un fichier TEXT a été créé sur disque : nom_de_1'image.MNTL Ce fichier peut déja étre transmis Pom's n° 33 : au Minitel a l'aide de l'option récupération. Le fichier qui est composé de 4206 caractéres peut étre réduit & l'aide du programme COMPAC- TEUR qui a pour objet la suppression de codes de changement de couleurs inutiles : 4 n'exécuter que lorsque l'image transformée a le contraste voulu. Remarques Si votre image HGR s‘appelle : LADY par exemple, le fichier de texte créé par IIgr.Mntl s'appelle : LADY. MNTL et, aprés compactage par le programme Compacteur : LADYC.MNTL Pour envoyer votre belle image & votre Minitel depuis un programme Basic, s'inspirer des lignes 63002 & 63120 du programme Hgr.Mnil. Pour l'envoyer a un correspondant qui posséde un Minitel, s'inspirer du programme ENVOIIM. Le seul travail dudit correspondant sera de connecter son Minitel lorsqu'il entendra la porteuse. Hgr.Mntl fonctionne aussi bien sous ProDOS que sous DOS 3.3. La routine en Assembleur a été écrite avec Mcrlin-Pro. Programme HGR.MNTL Pour l’Apple /Ic, voir article. Pour en faciliter le comptage, certains espaces ont été remplacés par des ‘puces' « Pour l'Apple //c, supprimer le REM de Ia ligne 4. 0 REM Programme de transformation d'une image HGR en mosaique Minitel 4 REM PRINT CHRS$(4)"PR£2" : PRINT CHR$ (1) "1D"CHR$ (1) "3P"CHR$ (1) "8B 5 PRINT CHRS$ (4) "PRE3 6 PRINT 10 TEXT : HOME : INVERSE : PRINT " Prog ramme de conversion d'une image HGR en Minitel / Patrice Neveu (87) me NORMAL 20 POKE 34,2 30 VTAB S 40 POKE 768,104: POKE 769,168: POKE 770, 104: POKE 771,166: POKE 772,223: POKE 773,154: POKE 774,72: POKE 775,152: PO KE 776,72: POKE 777,96 1000 HimEM: 38400 1005 ONERR GOTO 63200 1010 PRINT CHR$ (4) "BLOADDENSITE 1015 POKE 216,0 1020 LOMEM: 21760: REM Pour protéger 1- a page 1 Haute Résolution 1030 HIMEM: 36864: REM es variables et fichiers. 1040 RESTORE : DIM ER$(17): @: READ R$: NEXT I 1050 FOR I = 1 TO 16: READ ERS$:ER$(I) = ERS: NEXT I 1100 sh = 2 10000 REM Choix des différentes options de transfert 10010 VTAB 5 10020 PRINT “Voulez-vous (T)raiter une i FOR I = 1 TO et la routine d * * (R) écupérer mage HGR* une image Miniteleeese See eeceececccccvcescceseses (O)uItt er vers 1’Applesoft 10025 PRINT "+ (S)ortir vers u n redémarrage ProDOS ";: GET R$ 10030 PRINT R$: IF R$ = "R" THEN 63000 10033 IF R$ 'Q" THEN TEXT : HOME ; EN D 10036 IF R$ = "S" THEN PRINT CHR$ (4)" BYE" 10040 ik R$ < > "T" THEN 10010 10043 ONERR GOTO 63300 10045 PRINT CHRS$ (4) "CATALOG": PRINT 10050 INPUT "Quelle image voulez-vous tr aiter ? ";I$ 10060 HGR : PRINT CHRS$ (4) "BLOAD"T$",A$ 2000 Programme ENVOIIM 100 ESC$ = CHR$ (27):PRO1$ = ESC$ | CHR$ (57) :DECS = CHR$ (103):CNEX$ = CHRS$ TLS. =... CHRS, (111) :D$ = CHRS “PRINT DS"PREZ 5.° PRINT CARS (1) "2 PRINT PROISRET1SPRO1SCNEXS. FOR fF % 470-6000: NEXT PRINT DS"OPEN"IMS 160° PRINT DS"READ"IMS 170. ONERR GOTO. 200 “180 GET RS: PRINT RS; 190 GOTO 180°. (200 PRINT ©; PRINT D9 "CLOSE" IM$ ‘210. PRINT. “PROLSDECS. 220° PRINT DS"PRE3 Sur l'Apple //c; ajouter : ‘ 122 PRINT CHRS(1)"1D"CHRS (I BB e ; Pom's n° 33 10070 TEexT 10080 PRINT "7: GET R$: PRINT R$: N MNS = 1: GOTO 40000 10090 INPUT "Quel contraste ? ";CO% 40000 REM lére phase en Langage-Machine et prépare la 2éme en Basic 40010 PRINT CHRS (4) "STORE DATA.MNTL 40020 CLEAR 40030 CALL 38144 40040 CLEAR 40050 PRINT CHR$ (4) "RESTORE DATA.MNTL 40060 T = PEEK (24) + PERK (25) * 256 40070 PRINT T / 5120:M% = INT (T / 5120 ) 40080 40090 40100 50000 "Voulez-vous de la couleur ? IF R$ = "N" THE PRINT CHR$ (4)"PRE"SL PRINT CHR$ (12): PRINT CHR$ (14) DIM DT% (840,2) REM Phase Applesoft de déter- mination de couleurs et points 50010 FOR ¥ = 0 TO 62 STEP 3: FOR X= 0 TO 79 STEP 2 50020 AD% = 16384 + X 50030 Cé(1) = PEEK (ADt + Y * 80) :C%(2) = PEEK (AD% + 1+ ¥ * 80):C8(3) = PE EK (AD& + (Y¥ + 1) * 80):C%(4) = PEEK (ADS$ +1 + (¥ + 1) * 80):C8(5) = PEEK (ADE + (Y¥ + 2) * 80):C%(6) = PEEK (A DE +d + (Y + 2) * 80) 50040 IF MN% THEN CF% = $0130 50050 S = C&(1) + C8(2) + C#(3) + CB(4) + C#(5) + CB(6) 7:CL% = 0: GOTO 50060 ET = ((C#(1) * 2 + C#(2) * 2 + C8(3 ) ~2\4 CB(4) ~ 2 # CB(S) 7:2 + CE(6) Ray = (8 22). f 6) £78 50070 ET = ET * CO% 50080 CL8 =S/6- ET / 2:C8F8#=S/6+ ET /2 50090 IF CL& > 7 THEN CL% = 7: GOTO 5011 7) 50100 IF CL < 0 THEN CL% - 0 50110 IF CF% > 7 THEN CF% = 7: GOTO 5013 i) 50120 IF CF% < 0 THEN CF% = 0 50130 C# = 32 + (C&(1) > Mt) + 2 * (C8(2) > Mt) + 4 * (C8(3) > M8) + 8 * (CB(4) > Mt) + 16 * (C&(5) > MB) + 64 * (C8/( 6) > M8) 50140 RESTORE : FOR I = 0 TO CF%: READ F %: NEXT I:CF% = F% 50150 RESTORE : FOR I = 0 TO CLé: READ L %: NEXT I:CL? = Lt 50160 PRINT CHR$ (27) + CHR$ (64 + CF% ) + CHRS (27) + CHRS$ (80 + CL%); CHR 3 (C8); 50170 DT%(0%,0) = CF%:DT%(O%,1) = CL&:DT% (02,2) = C#:0% = 08 + 1 50180 NEXT X,Y 50190 PRINT CHR (15) 50200 PRINT CHRS$ (4) "PR£2 50210 DATA 0,4,1,5,2,6,3,7 62000 REM Sauvergarde de la mosaique sur Disque 62010 NORMAL : TEXT :; HOME 62020 PRINT "Voulez-vous sauver cette im age Minitel sur disque ? ";: GET R$ 62030 IF R$ = "N" THEN RUN 62040 IF R$ < > "0" THEN 62010 62050 PRINT CHR$ (4) "OPEN"I$".MNTL 62060 PRINT CHR$ (4) "WRITE"I$".MNTL 62070 PRINT CHR$ (12): PRINT CHR$ (14) 62080 FORI=0 7008-1 62090 PRINT CHRS$ (27) + CHRS$ (64 + DT# (I,0)) + CHR$ (27) + CHRS (80 + DT#( I,1)) + CHRS$ (DT#(I,2)); 62100 NEXT T 62110 PRINT CHR$ (15) 62120 PRINT CHR$ (4) "CLOSE 62130 RUN 63000 REM Affichage d'une mosaique sauvée sur Disque 63002 ONERR GOTO 63300 63004 PRINT CHRS$ (4) "CATALOG 63010 INPUT "Quelle image voulez-vous ré cupérer ? ";I¢$ 63020 PRINT CHRS$ (4) "UNLOCK"I$".MNTI 63040 PRINT CHR$ (4)"PRE"SL 63050 PRINT CHR (4) "OPEN"I$".MNTL 63060 PRINT CHRS$ (4)"READ"I$".MNTI. 63070 ONERR GOTO 63090 63080 GET R$: PRINT R$;: GOTO 63080 63090 PRINT CHR$ (4) "CLOSE 63100 NORMAL 63110 PRINT CHR$ (4) "PRE3 63120 POKE 216,0 63130 RUN 63200 REM Erreur, il n'y a plus le disque d'origine 63210 HOME : PRINT : PRINT "Vous devriez remettre le disque de Conversion": PR InT 63220 GET R$ 63230 POKE 216,0 63240 RUN 63300 REM Erreur de disque, on recommence 1'opération 63302 POKE 216,0 ProDOS DOS 3.3 63303 TEXT 63305 CALL 768 63310 ER = PEEK (222): HOME : TEXT 63320 RL = PEEK (218) + PEEK (219) * 25 6 14 Pom's n° 33 63360 "RL 63370 63390 RUN 63399 REM Données contenant les mes~ sages d'erreur du DOS plus un pour l'Applesoft. 63400 DATA "Langage non disponible", "P aramétre hors limite", "Rien n'est conn ecté" ,"Disquette protégée a l'écritu re", "Fin des données", "Fichier introuv able", "Erreur de paramétre", "Erreur d' Entrée - Sortie", "Disque plein" 63405 DATA "Fichier verrouillé" 63410 PATA "Pas de mémoire tampon dispo nible", "Erreur quant au type de fichie xr", "Programme trop important", "Cette c ommande ne peut etre passée en mode di rect” 63420 DATA "Erreur de syntaxe", "Erreur dans l'Applesoft" PRINT "("ER") GET R$ "ERS (ER)" ligne Programme COMPACTEUR 5 HOME 10 D$ = CHRS (4): DIM CAR(4205),S1(4),C( 4):ES$ = CHR$ (27) :ES = 27 20 INPUT "Fichier a compacter ? ";F$:F1$ = FS + "C" + “.MNTL":FS = FS +". MNTL 29 PRINT "Chargement du fichier "F$ 30 PRINT D$"OPEN"F$: PRINT D$"READ"F$: F OR I = 0 TO 4205: GET CARS:CAR(I) = A SC (CAK$): NEXT : PRINT D$"CLOSE 80 PRINT "Compactage en cours 90 PRINT DS"OPEN"F1$: PRINT DS$"WRITE"F1$ 100 PTR = -1 110 PTR = PTR + 1: IF PTR > 1205 THEN 400 120 C(1) = CAR(PTR): IF C(1) < > ES THEN PRINT CHR$ (C(1));: GOTO 110 130 PTR = PTR +1 140 C(2) = CAR(PTR): IF C(2) < 64 OR C(2) > 71 THEN PRINT BS$ CHR$ (C(2));: GO TO 110 150 PTR = PTR +1 160 C(3) = CAR(PTR): IF C(3) < > ES THEN PRINT ES$ CHRS (C(2)) CHRS$ (C(3));: GoTo 110 170 PTR = PIR +. 1 180 C(4) = CAR(PTR): IF C(4) < 80 OR C(4) > 87 THEN PRINT ES$ CHR$ (C(2))ES$ C HR$ (C(4))7: GOTO 110 490 (OK = 1: FOR T= i 20 42 IF ST(T}' < 2 C(I) THEN OK - 0 200 NEXT : IF OK THEN GOSUB 1000: GOTO 110 210 FOR I= 1 70 4; PRINT CHR$ (C(I));: NEXT : GOSUB 1000: GOTO 110 400 PRINT D$"CLOSE": PRINI "Fichier "F1$ " créé"; PRINT "Terminé.": END 1000 FOR IT = 1 TO 4:ST(I) = C(I): NEXT : RETURN Raccourcir WPL <ese esc>PND PPRun instant ! SVIDE. ° OAL PBF ee o* PDWNO DXDF* *=$D, NO, OF! /1£ PASI9! O?PF!/!£ PAS! oPBF! ! PAS! O?F*, *=SC, * O?F*, #3, * O?PF<S<S<A SVARIDATE.N ° PDOVARIDATE.N Pour comprimer un programme WPL trop long (la limite se situe A 2048 caractéres), toutes les commandes qui s’exécutent sans “return” peuvent étre accollées. Le programme STARTUP.N de la page 10 pourrait ainsi s’écrire comme ci-dessous et passer de 288 caractéres a 244. LNUMERO, HH, F<??<SC<, 0?, S=, PDOINIDAIE.N* Récapitulation DENSITE Apres avoir saisi cette récapitulation sous moniteur, vous la sauvegarderez par : BSAVE DENSITE, A$9500, L181 40 8D 5A 95 A9 00 85 65 06 &D 59 95 85 18 19 A9 00 85 09 AS 03 AZ 00 AO 06 4A AB 44 42 29 07 AB B 85 09 F6 DS AS 06 B9 8D 95 B9 97 95 95 DO 03 18 65 18 19 A4 07 Ag 00 85 Pom's n° 33 15 ume ADUPTS Si DENSITE. Ss PTSG AND £800000111 ; Onvole les 3 points intéressants de droite ource : Jf | score . TAY 7 Transtorme la valeur en index Assembleur Merlin-Pro /le ia; MSRERALD3 «Pant bale die es VO cie / / e+ ADC NBRPTS ——_;_ Adgilonne ga au nombre de points du lot //c STA NBRPTS ist OFF ‘ore $9500 ligs Nc ycooRD Passe ala prochaine ligne HGR pec arLans — + Gallaitune ligne de moins & faire EeAaaaonge seAeRRRRSA RATE STURT CUPATOEAAA me cebfcorer or bad que conple i deseaeo MNT * Objet général: * = * * Il y a huit concentrations possibles * stockage de la concentration des points * * d'un sixiéme de caractére en mémoire. ’ LDA COORD : A nouveau if faut faire fa distinction Sse taviaw Siasiensesipeauptswrsevemenss sR {entre la partia gauche ot fa partie droite ie fee enim Bes PTSIZ + de Foctet considéré. Prewerretetreterrr ret rr eter tee etre DY NBRPTS + Dans un cas on prend une table contenant + Lot de points fait 3x3 points (pair) = * * : zi ae one oats) ® LDA COULEUR, Y ; 10 concentrations possibles (0 a9) . * ue STOCKDENS * Donc 21 lignes Minitel seront utilisées * prsiz Loy NBRPTS —_;_ Dans fautre cas ona 13 possibiltés EDA COULEUR2,¥ ; (0412) * Labels STOCKDENS STA $4000 7 On sauve le nombre de points dans une table XCOORD = 206 + Coordonndées du lot @ étudier, 0-79 INC STOCKDENS+1; Puis on passe a fa prochaine position... YCOORD = $07 4 Coordonnées du jot 4 étudier, 0-191 BNE STOCKED NBRPTS) = $09 Nombre de points dans le lot INC STOCKDENS+2 PrsTor = $18 STOCKED HBAS - $26 + Adresse sortie de HPOSN LDA NBRPTS + Pour avoir le nombre total de points HIMEM ~ $73 2 Protection du programme face aux variables cic 4 Constitvant Fimage, on rajoute ceux-lé.. apc PTsToT HROSN = $F411 + Trouve ladresse d'un groupe de points STA PrsTor | BCC NOC | INC PYSTOT+1 * oc Haliole ge Tonasiee Gee epzONaps AGE oy YCooRD + Onlait cela car & chaque 1/6 émo do DEY caractére, le n° da ligne augmente de 3 LDA £840 + Les densités de points seront mises DEY + Or, on ne doit passer aux 3 lignes HGR STA STOCKDENS+2; & partir da $4000 DEY + Suivantes qu'en bout de ligne, c'est & LDA EU STY — YCOORD 2 dite... STA YCOORD + Oncommence en haut 4 gauche de limage STA ‘XCOORD INC XCOORD STA STOCKDENS+1 LDA XCOORD STA PTSTOT Mise a 26ro du nombre de points constituant cMP 6 £80 ¢ Lorsque XCOORD est a 80. (40x2) STA PTSTOT+1 image et utilisé cans fa mayenne générale. BCC CALCLOTS | * Programme de calcul de concentration d'un lot de points DA £0 + Alors sovlement on pout sauter les 3 lignes ] teeeeeaaa=-- ee = STA XCOORD ¢ que lon vient de traiter et revenir en zoy ycoorn début de ligna cALCLOTS INy LDA £0 2 Misa a z6ro du nombre de points d'un lol. INY STA NBRPTS INY | LDA £3 sty YCOORD STA NBRLGNS Nombre de lignes dans le lot cpy £191 + Laligne HGR n°191 est la demnidre Bcc CALCLOTS LITOCTET RTS + Aprés laquelle on passe ala phase n°2 LDA ¥COORD 2 Onva se positioner au début de fa ligne Lox £0 + dont le numéro est dans YCOOAD. * Tables diverses bY £0 JSR HPOSN + Vachercher son adresse * On peut changer ces deux premiéres tables qui indiquent * que pour un nombre X de points dans le 1/6 de caractére LDA XCOORD * un @ le niveau de gris ¥. sR + Colonne /2= numéro goctet TAY COULEUR HEX 00010102030405060607 LDA (HBAS), ¥ —_; Prendfoctet sur la bonne ligne COULEUR2 HEX — 00010102020304040505060607 acc PTSe + Pour savoir sion est dans la colonne de LSR gauche ou de droite dun caractére Mintel * Cette table indique que pour la valeur X, ¥ bits sont al ae Dans le cas de la partie gauche, décale 4 NBRPRVAL HEX 00020102020202030102020302030304 SR droite les 4 bits intéressants. AND £#00001111 ; Etonksisole NORLGYS HEX 00 16 Pom's n° 33 GS & QuickDraw II LE Pham Hiep oici un _ petit programme qui vous permet d'uti- liser les fonctions graphiques Super haute résolution de l'Apple IIcs. Il vous montrera les principes de base pour exploiter les possibilités des “outils” & partir du Basic Applesoft. Les possibilités graphiques du IIcs L'Apple Ils, grace 4 sa ROM de 128Ko, présente de nombreuses possibilités qui ne sont pas exploitables directement depuis l'Applesoft. Dans cet article, nous nous intéressons surtout aux outils graphiques. L'Apple IlGs est doté, en plus des traditionnels modes graphi- ques de l'Apple //, du mode Super-Hi-Res. Ce dernier est géré par QuickDraw II, il vous donne la possibilité de contréler les résolutions suivantes : + 320x200 ou * 640x200 en 16 ou 4 couleurs (en standard) parmi une palette de 4096. QuickDraw II sait gérer les fonctions de base telles : *- les lignes, « les rectangles, le texte, mais également les manipulations de l'environnement graphique comme : * la gestion des coordonnées, + la gestion des régions visibles.... Possibilités de mise en cuvre Pour utiliser les outils du GS, vous disposez de plusieurs moyens : - un langage évolué comme Pascal ou C, - l'assembleur sous moniteur (qui fonctionne fort bien) ou APW (Apple Programmer Workshop). Ici, nous allons_ utiliser l'assembleur pour définir une interface permettant au Basic d'accéder aux fonctions graphiques. Il faut savoir également que les outils ne sont pas indépendants. Dans le cas cui nous intéresse, pour faire fonctionner Quickdraw II, il faut également installer Locator, Memory (qui sont nécessaires pour le fonctionnement du systéme). Mais heureusement le Basic.system s'installe déja avec ces derniers... Le fonctionnement de certains des outils du systéme nécessite parfois quelques espaces mémoires réservées, dans le cas de QuickDraw II v1.1, il s'agit de 3 pages de 256 octcts dans Ic premier bank de mémoire (bank 00). Les appels aux fonctions des outils doivent se faire en mode natif pur (c'est-a-dire les drapeaux du registre d'état du 65816 sont : e=0, m=0, x=0). Maintenant nous pouvons commencer 4 écrire notre petit programme qui permet : 1) I'installation de QuickDraw II ; 2) sa désactivation, nécessaire pour libérer les mémoires et assurer la cohérence du systéme ; 3) l'appel de certaines fonctions graphiques. Appels des fonctions des outils Les appels des fonctions se font a partir du point d'entrée $E10000 (adresse 0 du banc de mémoire $E1) de la fagon suivante : - mettre dans X le numéro de la fonction souhaitée puis, - faire JSL $E10000. Souvent, les paramétres sont passés par la pile ; par exemple, Pour positionner le curseur, nous empilons sa position horizontale, sa position verticale, puis nous faisons : IDX £$.. JSL $E10000 En assembleur (APW) il existe une bibliothéque de macros qui permet de faire des appels de fonctions des outils par leur nom : _MoveTo, MMStartup,... Description du programme Vous trouverez ici le programme source écrit sous APW avec les directives nécessaires pour son assemblage. Quelques explications concernant deux macros usuelles : pushword... empile un mot (cest-a-dire 16bits). Son équivalent : LDA.. PHA pushlong... empile un mot long (32bits). Tl est €quivalent 4 deux push word Pom's n° 33 17 ———_ Toutes les macros commengant par le souligné “_” sont des appels & des fonctions des outils, en général, leur équivalent est : LDX £$§.. ; n° de fonction JSL $E10000 Le programme binaire Le programme en assembleur se logera en $800. Les programmes Basic de ce fait commenceront en $1000. De $800 a $AFF : espace réservé pour initialiser Quickdraw. A partir de $B00 : les points d'entrées des fonctions gra- phiques : ils vous facilitent les appels. A la suite de ces points d'entrées nous laisserons la place pour passer des paramétres. Ici, nous avons adopté le passage des paramétres par des Pokes et les appels par des Calls pour 2 raisons : - pour ceux qui voulaient utiliser QD.BIN en assembleur, la maniére de les appeler reste identique ; - ilse peut que vous ne vouliez pas changer toutes les valeurs d'une fonction (exemple : vous voulez faire un trait horizontal, il suffit de ne changer que le paramétre H). Le programme de démonstration QD.SAMPLE devrait éclairer les choses. Concernant les listings QD.SAMPLE : programme cn Applesoft qui donne un exemple d'utilisation, Pour ceux qui possédent APW il faut taper : - MAIN: programme (en EXE) - QD.SRC : source en assem- bleur APW (en ASM65816) puis lancer MAIN ; yous obtiendrez QD.BIN I'interface binaire nécessaire. Pour ceux qui ne possédent pas de APW vous devez tapez directement la récapitulation. Comment utiliser QD.BASIC ? Vous étes arrivés au Basic.System en ayant booté sur ProDOS 16 puis MouseDesk ou Sélecteur, et sur votre disque yous avez QD.BIN. Pour disposer des fonctions graphiques, vous devrez vous inspirer du programme de démonstration QD.SAMPLE. Pour charger QD.BIN et lui réserver la place, les lignes 9 4 20 telogent le Basic : ligne 9 : est-on relogé ? ligne 10 ; fixe la nouvelle adresse de chargement du programme Basic, ligne 15 : charge QD.BIN. ligne 20 : recharge le programme Basic, mais 4 la bonne adresse. Il vous faut alors définir une variable, QD par exemple, valant 2816 et les fonctions vous sont alors accessibles ainsi : Initialisation - CALL QD Désactivation - CALL QD+3 Positionnement AT(H,V) - Poker en QD+70 et QD+80 la position verticale (de 0 & 200) Poker en Q+68 et QD+69 la position horizontale (de 0 a 320), Poids faible, poids fort - CALL QD+6 Impression de chaines PRINT (T$) - Poker en QD+72 la longueur de la chaine Poker la chaine a partir de QD+73 (maximum 127 carac- téres) CALL QD+9 Mode d'impression graphique SetPenMode (C) C vaut de 0 a 3 ou de $8000 a $8003. Poker C en QD+50 et QD+51 (faible, fort) CALL QD+12 Les valeurs de C sont les suivantes : $0 COPY : la source écrase la destination $1 OR: la source s'ajoute a la destination $2. XOR: le Ou Exclusif entre la source et la destination sera affiché $3 BIC : on affiche : (NOT source) AND destination $4 mémes modes que $0 a $3 $5 — mais s'appliquent a l'atfichage du texte : seul le corps du $7 texte est concerné A toutes ces valeurs, si on ajoute $8000 a C, la source est inversée avant opération logique : si C = $8001, (NOT source) OR destination sera affiché. Couleur du crayon SetSolidPenPat (C) Poker 0 en QD+51 Poker C en QD+50 CALL QD+18 Attributs du texte SetTextFace (C) C=0 normal C=1 gras C=2_ souligné Poker 0 en QD+53 Poker C en QD+52 - CALL QD+21 Mode d'impression texte SetTextMode (C) Idem SetPenMode pour le texte. Poker C en QD+54/QD+55 CALL QD+24 Couleur du texte SetForeColor (C) Poker 0 en QD+51 Poker C (de 0 a 15) en QD+50 CALL QD+27 Tracé d'une ligne LineTo (H,V) 18 Pom's n° 33 Poker coordonnées d'arrivée V en QD+70 et QD+71 Poker coordonnées d'arrivée H en QD+68 et QD+69 CALL QD+30 Inversion d'un rectangle InvertRect (V1, H1, V2, H2) Le rectangle est défini par les coordonnées du point haut/gauche et bas/droit. Poker V1 en QD+56 et QD+57 Poker Hi en QD+58 et QD+59 Poker V2 en QD+60 et QD+61 Poker H2 en QD+62 et QD+63 CALL QD+33 Dessin d'un rectangle PaintRect (V1, H1, V2, H2) Poker V1 en QD+56 et QD+57 - Poker H1 en QD+58 et QD+59 - Poker V2 en QD+60 et QD+61 - Poker H2 en QD+62 et QD+63 CALL QD+36 Tracé d'un are PaintArc (V1, H1, V2, H2, S, C) Le rectangle V1/H1/V2/H2 sert a définir lellipse support de l'arc, S est ag de départ, C I'angle de tracé. Poker Vi en QD+56 et QD+57 Poker Hi en QD+58 et QD+59 Poker V2 en QD+60 et QD+61 Poker H2 en QD+62 et QD+63 Poker S en QD+64 et QD+65 Poker C en QD+66 et QD+67 CALL QD+39 Couleur de fond SetBackColor (C) Poker 0 en QD+51 Poker C (de 0 a 15) en QD+50 CALL QD+42 Bibliographie nécessaire Clefs pour Apple IIcs (PSI) Rom tools (Apple) a; Programme QD.SRCE Apw * QD Basic * par Le Pham Hiep 87 * 3 pages de quickdraw $800.$afff * programme en $bUU0 perveeerererterrsssrretetitetercre sss list off absaddr on CEN off SYMBOL off erg $000b00 KEEP QD meopy qd.macros FichierEXE QD.MAIN macgen qd.src qd.mac ros .d2/macros/-J asml qd.srot rename qd qd.bint makebin qd.bin-l IIgs QDstart START Jmp initgd ;installe Quickdraw jmp qdoff desactive Quickdraw (libére le systéme) jmp At 7AT (HY) jmp Print Print (strptr) : de type Pascal jmp SetPenMode ;SetPenMode(color) :0..3 ou $8000.$8003 jmp Grafort + GraffOft jmp SetSolidPenPat ;SotSolidPenPat{color) :couleur crayon jmp SetTextFace : SetTextFace(TextFace) : 0..3,souligne jmp SetTextMode 7 SetTextMode(TextMode) : 0..3 ou b15=1 jmp SetForeColor — ;SetForeColor(color) = set texte color jmp LineTo ;LineTo(H, V) jmp InvertRect 7 InvertRect(rectptr) jmp PaintRect + PaintRect{rectptr) jmp Paintarc ; PaintArc(rectptr, startangle,angle) jmp SetBackcolor ;SetBackColor(color) : couleur du fond jmp nothing MyId de i'00' normalement $3001 color de i'05' 700..0f TextFace de i'01' 700..03 TextMode de i'oo' 700.03 $8000..$8003 rectptr de i'10,10,100,100';V1,H1,V2,H2 StartAngle de i'00' Arcangle de 1'10' # de i'z0' v de i'20' strptr str ‘hello 0123' — ;chaine du type Pascal (ascii bas) ds 120 buffer dc h'EAEAEAEA' Pom's n° 33 19 nothing anop 7ne rien faire qdstartok anop rts jmp emul 7 FIN QDinit * * emul anop stevient en mode émulation deja_inst anop sep £$30 _Grafon se jmp emul ae Cerne siseerarecssdaeeeeee = rts AX Bbits SOEe one jsr natif ‘i wks mi _Grafoft i hutdown ano} + passage en mode natif = 005) natit F pene jmp emul FIN qdott cle 7 xce ahatit : ee rep £$30 7AX16 ae Pees ital jsr natit ae Pushword H getmyID anop #técupére le numéro pushword V. phd + IDentification affoctée par PRODOS16 ereho pushlong £0 jmp emul 3 pushlong £$800 Pa ee _Findhandle print anop tse jer natif ted idy £$6 pushlong £strptr ida [$01],y _DrawString sta >Myid pla jmp emul +fin Print pla oe a aes SetPenMode anop pld jsr nati£ rts pushword color Set PenMode a e=====: — =e 7% *#% LES FONCTIONS ad jmp emul initgd anop Grafoft anop jer natif jsr natir pushword £0 Gratott _oDStatus pla jmp emul bne deja_inst Fea a ne a a SEEN SetSolidPenPat anop jsr getmyid jsr natif ToolsLoaded anop pushword color pushlong £0000 SetSolidPenPat pushlong £$e12000 i, _FindHandle jmp emu) _DisposeHandle Aunaneaceaecsessseeese: SetTextFace anop Jjsr natirt contl anop PushWord £$800 pushword Textface Pushword £00 7320 Set TextFace PushWord £160 nombre d'octets par ligne as PushWord >MyID jmp emul _opstartup ees Sen bee qdstartok SetTextMode anop brk $ff jsr natit Pom's n° 33 — SSS... | pushword textmode _Set TextMode jmp emul —— SetForeColor anop gsr natif pushword color _SetForecolor jmp emul teeeneneneneeennne LineTo anop jsr natif pushword pushword V _LineTo jmp emul InvertRect anop Jsc nalic pushlong frectptr _InvertRect jmp emul FIN drawrect PaintRect anaop jsr natit ProDOS 16 pushlong érectptr _PaintRect jmp emul Paintarc anop jsr natir Ppushlong érectptr pushword StartAngle pushword ArcAngle _Paintare jmp cmul SetBackColor anop jsr natit pushword color _SetBackColor jmp emul END Programme QD.SAMPLE B REM ssnsenescesseneseeseeesnesen 2 REM exemple d'utilisation 3 : REM == de QuickDrawII du GS 4 ::::: REM —— sous Basic par LPH(87) —- (avec JV et DDP) 5 siz: REM — aonenene _ 6 REM ** Variables utilisees par les SP : 7 REM we. V,H, V1,H1,V2,H2,T$,5,C,QD a2 9 IF PEEK (104) = 16 THEN 50 10 POKE 103,1: POKE 104,16: POKE 16 * 25 6,0 15 PRINT CHR$ (4);"bload qd.bin": 20 PRINT CHRS$ (4);"-qd.sample" 50 DIM TXT$(4):QD = 11 * 256: PRINT CHR $ (4); "pr£3": PRINT : PRINT : PRINT " Exemples d'utilisation de Quic kdrawII sous le Basic" 51 TXI$(1) = "Copy": TXI$ (2) ) = "Xor":TXT$(4) = "Bic" 60 : GOTO 10000 100: 1000 : CALL QD: REM InitQuickdraw 1010 RETURN 1015 : 1100 : CALL (QD + 3): REM QuickdrawOfft 1110 RETURN 1120 : 1200 : REM $$$S At (H ,V ) H : de 00 a 320 Vv: de 00 a 200 1210 POKE (QD ! 71),V / 256: POKE (QD + 70),(V - 256 * PEEK (QD + 71)) 1220 POKE (QD + 69),H / 256: POKE (QD + 68), (H - 256 * PEEK (QD + 69)) 1230 CALL (QD + 6): 1240 RETURN 1299 : 1300 : REM $$$$ Print (t$) 1310 POKE (QD + 72), LEN (TS): 1320 FOR I=1 70 LEN (T$) 1330 POKE (QD + 72 +I), ASC ( MID$ (TS, Dye 1340 NEXT : CALL (QD + 9) 1350 RETURN 1399 : 1400 : REM $$$$ SetPenMode (C) 00..03 $8000..$8003 1410 POKE (QD + 51),0 1420 IF C > 128 THEN POKE (QD + 51),128 :C =C- 8 * 16 * 256: 1430 POKE (QD + 50),C 1440 CALL (QD + 12) 1450 RETURN 1499 : 1600 : REM $$$$ SetSolidPenPat (C) 00..15 1610 POKE (QD + 51),0: POKE (QD + 50),C: CALL (QD + 18) 1620 RETURN 1699 : Pom's n° 33 21 1700 : REM $$$$ SetTextFace (C) 00..03 suivant la version de QDIT 1710 POKE (QD + 53),C / 256: POKE (QD + 52), (C - 256 * PEEK (QD + 53)) 1720 CALL (QD + 21) 1730 RETURN 1799 : 1800 : REM $$$$ SetTextMode (C) 0..3 $8000. .$8003 1810 POKE (QD + 55),C / 256: POKE (QD + 54), (C - 256 * PEEK (QD + 55)) 1820 CALL (QD + 24) 1830 RETURN 1899 : 1900 : REM $$$$ SetForeColor (Cc) 00..15 1910 : POKE (QD + 51),0: POKE (QD + 50),C : CALL (QD + 27) 1930 RETURN 1999 : 2000 : REM $$$$ LineTo(H,V) 2010 POKE (QD + 71),V / 256: POKE 70),(V - 256 * PEEK (QD + 71)) 2020 POKE (QD + 69),H / 256: POKE 68), (H - 256 * PEEK (QD + 69)) 2030 CALL (QD + 30) 2040 RETURN 2099 : 2100 REM $$$$ InvertRect (V1,H1,V2,H2) 2110 POKE (QD + 57),V1 / 256: POKE (QD + 56), (V1 - 256 * PEEK (QD + 57)) 2120 POKE (QD + 59),H1 / 256: POKE (QD + 58), (H1 - 256 * PEEK (QD + 59)) 2130 POKE (QD + 61),V2 / 256: POKE (QD + 60), (V2 - 256 * PEEK (QD + 61)) 2140 POKE (QD + 63),H2 / 256: POKE (QD + 62), (HZ - 256 * PEEK (QD + 63)) 2150 CALL (QD + 33) 2160 RETURN 2199 : 2200 REM $$$$ PaintRect (V1,H1,V2,H2) 2210 POKE (QD + 57), (V1 / 256): POKE (QD + 56), (V1 - 256 * PEEK (QD + 57)) 2220 POKE (QD + 59),H1 / 256: POKE (QD + 58), (H1 - 256 * PEEK (QD + 59)) 2230 POKE (QD + 61),V2 / 256: POKE (QD + 60), (V2 - 256 * PEEK (QD + 61)) 2240 POKE (QD + 63),H2 / 256: POKE (QD + 62), (H2 - 256 * PEEK (QD + 63)) 2250 CALL (QD + 36) 2260 RETURN 2299 : 2300 REM $$$$ PaintArc(V1,H1,V2,H2,S, C): rectangle, startangle, angle 2301 : 2310 POKE (QD + 57), (V1 / 256): POKE (QD + 56), (V1 - 256 * PEEK (QD + 57)) 2320 POKE (QD + 59),H1 / 256: POKE (QD + 58), (H1 - 256 * PEEK (QD + 59)) 2330 POKE (QD + 61),V2 / 256: POKE (QD + 60), (V2 - 256 * PEEK (QD + 61)) 2340 POKE (QD + 63),H2 / 256: POKE (QD + 62), (H2 - 256 * PEEK (QD + 63)) (QD + (QD + 2350 POKE (QD + 65),S / 256: POKE (QD + 64),S - 256 * PEEK (QD + 65) 2360 POKE (QD + 67),C / 256: POKE (QD + 66),C - 256 * PEEK (QD + 67) 2370 CALL (QD + 39) 2390 RETURN 2399 : 2400 : REM $$$$ SetBackColor (Cc) 00..15 2410 POKE (QD + 51),0: POKE (QD + 50),C: 2420 CALL (QD + 42) 2430 RETURN 2499 : 5000 REM ++++ Cartouche (V1,H1,V2,H2,C ) bouton type ombre 5005 S = C:C = 0: GOSUB 1600 5010 V1 = V1 + 2:H1 = Hl + 2:V2 = V2 +2: 2 = H2 + 3: GOSUB 2200 5015 C = S: GOSUB 1600 5020 V1 = V1 - 2:H1 = H1 - 2:V2 = V2 - 2: H2 = H2 - 3: GOSUB 2200 5025 C = 15 - S: GOSUB 1600 5030 V1 = V1 + 1:Hl = H1 + 1:V2 = V2 - 1: H2 = H2 - 1: GOSUB 2200 5035 V1 = V1 - 1:H1 = H1 - 1:V2 = V2 + 1: H2 = #H2+4+1 5040 C = S: GOSUB 1600 5090 RETURN 5099 : 5100 : REM ++++ Centertexte(t$) 5150 H = H1 + (H2 - H1) / 2 - ( LEN (T$) * 3.5) 5160 V= V1 + (V2- V1) /243 5170 GOSUB 1200: 5180 GOSUB 1300 5190 : RETURN 5199 : 9000 : 9010 10000 GOSUB 1100: GOSUB 1000; REM #kkkkEEA DEBUT DE L'EXEMPLE #4444444 10010 c = 5: GOSUB 1600 10020 V1 = 0:H1 = 0:V2 = 200:H2 = 320: GO SUB 2200 10030 : 10040 FOR V1 = 0 To 198 10050 C = C + 1: GOSUB 1600: IF C = 15 TH ENC= -1 10060 V2 = V1 + 2: GOSUB 2200 10070 NEXT 10080 : 10090 FOR C = 0 TO 3: GOSUB 1400: REM chgt PenMode 10095 V1 = C * 50:V2 = V1 + 50:H2 = 320 10100 FOR H1 = 319 TO 0 STEP -1 10110 C = C + 1: GOSUB 1600: IF C = 15 TH ENC= -1 10120 GOSUB 2200:H2 = H2 - 1 10130 NEXT H1 10140 H = (C * 70 + 2):V = 25 + V1: GOSUB 1200 10150 :T$ = "PenMode " + TXT$(C + 1): GOS UB 1300 22 Pom's n° 33 10160 NEXT C 10170 : 10200 FORI=1 10210 V1 = 0:H1 = OSUB 2100 10220 NEXT 10299 : 10300 c = 0: GosUB 1400 10310 FOR V1 = 0 10 85 STEP 5 10320 C = V1 / 5: GOSUB 1600 10330 V2 = 200 - V1:H1 = V1:H2 = 320 - H1 TO 4: 0:V2 = 200:H2 = 3200: G : GOSUB 2200 10340 NEXT V1 10499 : 10500 C = 10: GOSUB 1600 10510 C = 2: GOSUB 1400 10520 FOR S = 0 TO 359 STEP 10 10530 C = 11: GOSUB 2350 10540 GOSUB 2370: 10550 NEXT Ss: 10600 S = 0:C = 08: GOSUB 1600:C = 0: GOS UB 1400 10610 FOR C = 0 TO 360 STEP 9 10620 GOSUB 2350 10630 NEXT 10640 FOR I = 1 TO 3:V1 — 0:H1 = 0:V2 = 200:H2 = 320: GOSUB 2100: NEXT 10697 : 10698 : 10699 REM exemple d'utilisation de CARTOUCHE 10700 C = 5: GOSUB 1600: 10860 NEXT C: 10870 NEXT FO 10890 : 10899 : REM ---- exemple d'utilation de Centertexte 10900 :C = 12: GOSUB 1600:V1 = 0:H1 = 0:V 2 = 200:H2 - 320: GOSUB 2200 10910 V1 = 090:V2 = V1 + 20::H1 = 090:H2 = H1 + 150:C = 4: GOSUB 5000 10915 C = 11: GOSUB 2400 10920 T$ = "Couleur": GOSUB 5100 10921 : 10940 FOR CO =15 TO 0 STEP - 1 10950 C = CO: GOSUB 1900: GOSUB 5100 10960 NEXT CO 11000 : 11010 FOR TM = 0 TO 02:REM TextMode 11015 C = 04: GOSUB 5000:C = 11: GOSUB 24 00 11020 C = TM: GOSUB 1700:TS$ = "Texte Styl e” + STIRS (TM) 11040 GosUB 5100 11050 FOR I = 0 TO 600: NEXT I 11090 NEXT TM 11095 T$ = "LineTo sample": GOSUB 5100 11099 : 11100 :REM = 11110 C = 0:V1 = 0:H1 = 20: GOSUB 2300 11120 : 11125 FOR MODE = 3 T0 0 STEP - DE: GOSUB 1400 LineTo sample = 0:V2 = 200:H2 = 3 10710 : GOSUB 2200 11130 FOR I = 0 TO 200 STEP 2: 10711 :T$ = "Cartouche" 11140 V = I:H = 0: GOSUB 1200 10798 : 11150 C = ABS (15 - I / 13): GOSUB 1600 10799 FOR FO = 0 70 15:C = FO: GOSUR 240 11160 V = 0:H = 320 - I * 1.6: GOSUB 2000 O: 11170 V = 200 - I::H = 320: GOSUB 2000 10800 FOR C = 0 TO 15 11180 V ~ 200::H = I * 1.6: GOSUB 2000 10810 V1 = 2+ C * 12:H1] = 30:V2 = V1 +1 11185 V = I::H = 0: GOSUB 2000 2:H2 = H1 + 100: 11190 NEXT I 10820 : GOSUB 5000: REM --- CARTOUCHE 11192 NEXT MODE gauche --- 11193 : 10821 + GOSUB 5100 11194 V1 = 090:V2 = V1 + 20::H1 = 090:H2 10830 C=C#1 = H1 + 150:C = 3: GOSUB 5000 10840 V1 = 6 + (C - 1) * 12:H1 = 170:V2 = 11195 :T$ = "The End":C = 12: GOSUB 2400: V1 + 12:H2 = H1 + 100: GOSUB 5100 10850 : GOSUB 5000: REM --- CARTOUCHE 11199 : droite --- 19999 : 10851 : GOSUB 5100: 20000 GET A$: GOSUB 1100 : 4c 03 0D 4¢ 16 OD 4c 0B88:00 90 00 00 00 00 00 00 Récapitulation 0D 4¢ 44 0D 4c CF OB 0B90:00 00 00 00 90 00 00 00 QD.BIN 00 05 00 02 00 00 00 0B98:00 00 00 90 vv 00 00 00 00 0A 00 64 00 64 00 0BA0:00 00 00 00 00 00 00 00 00 0A 00 14 00 14 00 0A8:00 00 00 00 00 00 00 00 Aprés avoir saisi cette récapitulation 68 65 6C 6C 6F 20 30 0BB0:00 00 00 00 00 00 00 90 sous moniteur, vous la sauvegarderez par : 32 33 00 00 00 00 90 0BB8:00 00 00 00 00 00 00 00 BSAVE QD BIN, ASROO, L597 00 00 00 00 00 00 00 0BC0:00 00 00 gO 00 00 00 00 00 00 00 00 00 00 00 0BC@:00 00 00 EA EA BA EA 60 0B00:4C FD 0B 4C 50 OC 4c 64 00 00 00 00 00 00 00 0BD0:E2 30 38 FB 60 18 FB C2 0p0@:0¢ 4¢ 79 0c 4¢ BC OC 4C¢ 00 00 00 00 00 00 00 0BD8:30 60 0B F4 00 00 F4 00 0B10:9D OC 4C AA OC 4C BB OC 00 00 09 00 UO “UU WU OBEO:00 F4 UU O00 £4 00 08 AZ 0B18:4¢ CC 0C 4C DD OC 4C EE 00 00 00 00 00 00 00 ORE8:02 1A 22 00 00 Fl 3B 5B Pom's n° 33 23 24 OBFO:AO OBF8:00 oco0:F4 0C08:00 OC10:F4 0C18:00 0¢20:00 uc28:00 0c30:F4 0c36:A2 0C040:02 0C48;0A 0C50:20 0c58:00 0C60:E1 06 68 00 B7 DS Az DO F4 20 a2 00 00 F4 00 El ao o4 00 Fa 22 4c El A2 Do 22 oo oB FF 00 DS El A2 4c vO a2 04 océe:44 0c70:04 0¢78:0B oceo:46 0C88:B1 0c90:32 0C98:00 OcA0:A2 OcA8:D0 ocBo:48 ocBe: 4c occo:0B occé:E1 0CD0:36 0cD8:00 Bi 418 22 DS A2 DO 46 AD ob 20 04 oB DO 48 A2 4c DO 04 OB 48 A2 OCEO:AD 32 OB 48 A2 04 AD 22 El 4c DO 0CH8:00 00 El 4C DO OB 20 D5 00 00 F4 OCFO:0R AND 44 OB 48 AD 46 OB 22 00 00 OCFa:48 AZ 04 3C 22 00 00 EL DS OB AD 0D00:4C DO OB 20 D5 0B F4 00 2E 22 00 0D06:00 F4 38 OB A2 04 56 22 20 D5 OB 0D10:00 00 El 4C DO OB 20 DS 00 EI 4c 0D18:0B F4 00 00 F4 38 0B A2 AD 32 0B 0D20:04 54 22 00 00 El 4c DO 00 00 FI 0D28:0R 20 D5 OR F4 00 00 F4 OB AD 34 0D30:36 OB AD 40 OB 48 AD 42 22 00 00 0D38:0B 48 A2 04 63 22 00 00 DS 0B AD 0D40:B1 4C DO OB 20 D5 OB AD 9C 22 00 0D48:32 OB 48 A2 04 Az 22 OU 20 D5 OB 0D50:00 £1 4c DO OB Heure & AppleWriter 1 ne s'‘agit pas d'un accessoire de bureau type GS mais plus modestement d'un programme WPL qui permet l'exploitation de la carte horloge depuis votre traitement de textes préféré. Si vous avez une carte Speedisk, vous saurez l'heure actuelle, sinon yous connaitrez une heure vieille de 3 ou 4 secondes. Le mode d'emploi est simple : faire : <ctrl-P>DO HEURE L'heure, sous la forme 10:58 est insérée a l'emplacement du curseur. Faites 4 nouveau : <ctrl-P>DO HEURE Theure est effacée. Seule contrainte : il faut avoir dans le catalogue courant un sous-catalogue nommé ‘N’ réservé au seul usage de la récupération de l'heure. Ce sous-catalogue contiendra un fichier composé de ‘**’ uniquement. Bien sar, il sera plus confortable de mettre l'ordre WPL dans une commande glossaire : vous aurez Theure sous la pomme. a G Lyda Patkova Fichier HEURE *PND *PCS/$a/ + PGO* 0B //**/ 0? “B oF /*R/ °? *SN/N, * “0 uu * OANE 2 *D *f oF ISSSS2E£1**! °0? “Ww *UUU oP aAURE #0?) "D “WW *PAS*=$A *POT xD “WHO *PAS=SA ' I //e //et //c IIgs Stoppe l'affichage. Si le pointeur $A est *, aller a Vétiquette *. Met dans le texte le repére ** la place du curseur. Début page texte et direction > ligne de statut. Retourne au repére **. Sauvegarde, dans le sous-catalogue N, le fichier N ne contenant que le repére **. 2 fléches de droite : passe devant le repére ** Charge le catalogue en mémoire texte. Change la direction ligne de statut : <. Remplace la fin du catalogue jusqu’a l'heure de modification par un nouveau repere **. Met dans le buffer texte l'heure et un espace. Déplace le cureur vers la droite, aprés le repére **. Supprime tout ce qu'il y a entre les reperes, repéres inclus. Change la direction ligne de statut : >. Remet U'heure et Vespace du buffer dans le texte. Initialise le pointeur $A. Fin d'un premier appel. Second appel ; change la direction. Supprime I'heure. Vide le pointeur $A, ProDOS Pom's n° 33 Pascal ONL INE “ Cantot Source ONLINE.S ProDOs | Assembleur Merlin Pro BASIC KBD CNTR - $18 in = $200 BUFFER = $200 7Utilisons IN comme buffer DO BASIC EXTRNCMD = $BEO6 #Vecteur vers commande exlerne ERROUT = $BEO9 #Traitement d'erreur XTRNADDR = $BESO Adresse de la commande externe XLEN = $BE52 slongueur - 1 de la commande XCNUM = $BES3 7N° commande BASIC.SYSTEM (ext.=0) PBITS = $BE54 7Drapeaux des paramétres requis BADCALL = $BEBB ;Convertit erreur MLI -> Basic SONLINE = $BECE sListe parametres MLI pour ON_IINE: SUNLINUM = $BEC7 # Code de l'unité (00 = Loules) SBUFADR = $BECe ¢ Adresse du buffer FIN MLI = $BFOO #Point d'entrée du MLI ProDOs SERR = $BFOF #Code erreur MLI (U0 = ok) BITMAP = $BF58 7Schéma occupation mémoire PRBYTE - $FDDA sAttiche A en hexa cour = $FDED 7Affiche le caractére dans A RTS = $FF58 #RTS connu en ROM On_Line EQU $C5 7Référence de la routine On_Line AAA RAA AERA REAAE HAR ERE R ERE ERE R EEE * Code destiné 4 e “tre relogé avec CMDLOAD (cf POM'S 20) * syntaxe commande: "ONLINE", pas de paramétres * Il faut charger CMDLOAD en $2000, ONLINE.CODE en $2100 * et faire CALL 8192 pour installer la commande ProDOS * ORG $2100 sAdresse arbitraire ($2100 pour CMDLOAD) DO BASIC START CLD #Convention avec ProDOS LDA £>PRGEND+$100 ;Convention avec CMDLOAD LDA £>PRGLEN+$100 une commande externe ui n'a jamais souhaité disposer sous ProDOS d'une commande donnant la liste de tous les volumes en ligne, comme le font AppleWriter, Merlin-Pro, etc. ? Nec scrait-ce que pour connaitre le nom de telle disquette, ou savoir si telle autre disquctte est bien au format ProDOS... Cette fonction existe au sein du noyau ProDOS : elle s'appelle ON_LINE. Mais elle n'est accessible que via le MLI (Machine Language Interface) qui, comme son nom I'indique, ne peut étre appelé que par un programme machine. La routine ONLINE proposée ici affiche la liste de tous les volumes en précisant port, lecteur et nom d'accés de chacun d'entre eux. De plus, si une erreur survient lors de la lecture d'un volume, le programme affiche 4 la place du nom le code de l'erreur MLI spécifique a l'unité ayant provoquée l'erreur. Exemple : $6,D1: /MERLIN 86,D2: $52 $3,D2: /RAM Nous voyons que la disquette (ou plutét le volume) dans le lecteur 2, port 6 n'est pas un volume ProDOS (c'est peut-étre une disquette DOS 3.3, CP/M...). Les erreurs possibles sont les suivantes : V_OLDCMD LDA RTS sAdresse commande précédente $27 : erreur d'entrée/sortie (I/O ERROR) ; SET sInhnibe les interruptions $28:pas de périphérique ONLINCOM LDX £0 7Verifie qu'il s‘agit bien connecté (NO DEVICE CHKCOM LDA IN,X ide notre commande CONNECTED) ; Pom's n° 33 25 eS ==. ° °° ORA £880 CMP = CMDSTR, X BNE BADCOM INX CPX £6 BCC CHKCOM STX XLEN LDA V_ONLINE+1 STA XTRNADDR LDA V_ONLINE+2 STA XTRNADDR+1 LDA £0 STA SERR STA XCNUM STA PBLITS STA PBITS+1 CLC RTS V_ONLINE JMP ONLINE BADCOM SEC CLI FIN ONLINE LDA £0 ONLINO STA SUNITNUM LDX £<BUFFER STX SBUPADR LDX = £>BUFFER STX — SRUFADR+1 LDA BITMAP AND £#11011111 STA BITMAP JSR MLI DFB On_Line PRMADR DA SONLINE BEQ ONLINZ Do BASIC JSR BADCALL UMP ERROUT ELSE RTS FIN ONLINZ LDX £0 LDA CNTR PHA SCANVOL LDA BUFFER, X BEQ EOBUF PHA LDA £$8D #Convertit en Ascii négatif #Si pas notre commande #6 caractéres correspondant? #Non ~> on continue gAutorise 4 nouveau les interruptions 7Clest bien "ONLINE"! galors on donne au BASIC.SYSTEM fl'ordre de l'exécuter Rem: on n‘indique pas dans PBIT. #qu'aucun paramétre (,S,D,L...) gntest requis par ONILINE. ;Done ONLINE, S6,D1 ne provoquera spas dterreur mais seul "ONLINE" fsera pris en compte 7Retourne vers le BASIC.SYSTEM #Vecteur vers ONLINE #Si ce n'est pas "ONLINE" #Retourne avec C=1 UMP _ (V_OLDCMD+1) ;et essaye comm. suivante * Routine principale: 2 points d'entrées * ONLINE: liste tous les volumes * ONLINO: affiche le nom du volume dans l'unité * dont le code DSSS0000 est dans A * (Dz drive 0-1, SSS: Slot 0-7) #Balaye tous les volumes 7A = dsss0000 (d: drv, sss: slot) #Stassure que la page 2 (IN) yest marquée comme “libre” 7Exécute la routine On_Line ¢du MLT Pronos 7Z=1 si pas d'erreur #Sinon, atfiche le message adterreur (ou gére ONERR) #Sort avec Z-0, C=1 et A= erreur ;Saisie le premier octet #Si 00, alors fin #Sinon, nouveau volume $2E : disques échangés : fichier encore ouvert sur un autre disque ; $45: impossible de trouver le répertoire du volume (VOLUME DIRECTORY NOT FOUND) ; $52: ce n'est pas un disque ProDOS (NOT A PRODOS DISK) ; $57 : nom de volume déja utilisé (DUPLICATE VOLUME). ONLINE peut reconnaitre jusqu'a 16 volumes (c'est le maximum toléré par ProDOS). La routine utilise le buffer clavier ($200-$2FF) comme espace de travail. Aucune adresse page zéro n'est modifiée. Enfin, il est intéressant de savoir que ONLINE prend moins de 256 octets en mémoire... Lorsque ONLINE.S est assemblé (par MERLIN PRO), le systéme demande de donner une valeur 4 l'étiquette (label) "BASIC" ("Give value for BASIC:"). Sion entre "1", le code objet produit sera celui d'une commande externe ProDOS nommée "ONLINE", installée par CMDLOAD (voir la revue Pom’s 20). Si on répond "0" en revanche, le code produit est celui d'une simple routine machine appelée par CALL, JSR, BRUN, etc. La commande OnLine Pour l'installer, il suffit de faire : - ONLINE. EXE (Ce fichier a &6 obtenu en faisant : BLOAD ONLINE.CODE BLOAD CMDLOAD BSAVE ONLINE.EXE,A$2000, L512 ONLINE.CODE est le résultat de Vassemblage de ONLINE.S option Basic, CMDLOAD est le relogeur d’A. Avrane (Pom's 20).) La routine sera relogée sous le BASIC.SYSTEM et la commande sera active et utilisable comme n'importe quelle autre commande de ProDOS. La syntaxe est : ONLINE Pom's n° 33 PRNAME LUA SETDX PLA EOR STA TXA cLe TAX Bcc EoBur LDA JSR JSR PLA STA cCLe RTS VOLERR TXA COUT eugn COUT £%01110000 £70" Cour AM couT £"D" cour £0 ene cour ene cour gn cour BUFFER, X £S0F VOLERR CNTR eg couT BUFFER, X £$80 couT CNIR PRNAME £S0F CNTR CNTR SCANVOL £$8D cour £88D cout CNTR £0 #Envoie un retour chariot I //e #Isole le slot //e+ /Ic IIgs #Convertit en #Bit? (drive) -> C 7Si C=0, alors drive 1 s. n drive 2 7C -> Bit 0 de A, et bit 7 de A->C emais bit 7 = 0, done C = 0 yIsole la longueur du nom 7Si Namebength = 0, ecceuz #Sinon, on peut afficher le nom sAffiche le nom du volume 7Calcule L'adresse 7du nom de volume suivant 7= adr. courante + (15-long. nom) #Toujours pris si moins de 16 volumes 70n a liste tous les volumes yon saute deux lignes 70n restaure CNTR get on sort avec C=1 #Z=l et A= 0 7Affiche le code de l'erreur Tout ce qui suit (paramétres, S, D...) est ignoré par I'interpréteur du Basic.System. OnLine sans le Basic Correspond 4 _ l'option d'assemblage "BASIC = ()" (fichier ONLINE.oBu non listé ici), La routine s'exécute a l'adresse "adr" indiquée par la directive "ORG" de l'assembleur (par défaut ici $2100). Un JSR adr (ou CALL adr) affiche la liste de tous les volumes connectés, alors qu'un JSR adr+3 sélectionne un lecteur de disque particulier : en ce cas, mettre le code de l'unité dans l'accumulateur sous la forme DSSS0000, avec D = numéro du lecteur moins un (donc 0 ou 1) et SSS = slot (0-7). Si vous souhaitez exécuter ONLINE 4 une autre adresse ‘adr’ sans réassembler le source, il suffit de mettre en adr+$04, adr+$09 et adr+$0E le poids FORT de la nouvelle adresse d'exécution (cela suppose que la routine se trouve en début de page, donc a une adresse de la forme $xx00, ot xx est le poids fort de 'adr’). InterPom’s version 2.0 © © Des transmissions intelligentes entre : Apple//™ et/ou Macintosh™ — et/ou IBM®ect compatibles Bon de commande page 75 Pom's n° 33 27 PHA #survenue durant le lecture LDA £"s" ;du volume z. Z JSR cour Récapitulation IDA BUFFER,X ; (code MLI hexa) ONLINE.EXE isn PasyTe PLA * . ., 5 TAX Aprés avoir sa cette récapitulation Ce dane BE Soneiatiel sous moniteur, vous la sauvegarderez par : sce? SeROE aroujaixs Bets BSAVE ONLINE.EXE, A$2000,L512 BRK #Fin du code 4 reloger (CMDLOAD) 2000:AD 00 BF C9 4C FO 05 Ad 7008:87 4C ED FD AD 4D BE FO RRR RRA AER ARERR EER Re 2010:05 A9 15 4C 09 BE AD 04 | 2018:21 69 00 20 98 20 90 05 2020:A9 OE 4C 09 BE CD 02 21 2028:90 F6 AE 08 BE 8D 08 BE DO BASIC 2030:8F 07 21 AE 07 BE 8E 06 CMDSTR ASC “ONLINE” iom de la commande 2038:21 AO 00 8C 07 BE 48 E9 PRCEND = * 2040:21 85 3C 68 38 E9 04 85 PRGLEN = PRGEND-START+$100 2048:74 AJ 21 @5 49 84 48 AD ELSE 2050:00 Bl 48 FO 27 20 8E F8 SONLINE DFB 2 7Si pas de BASIC.SYSTEM 2058:A4 2F CO 02 DO OF Bl 18 SUNITNUM DFB 00 falors il faut notre propre 2060:C9 21 90 09 CD 02 21 BU SBUFADR DA BUFFER ;Parmbist 2068:04 65 3C 91 48 AS 48 38 FIN 20/0:65 2F 85 48 AS 49 69 00 2078:85 49 DO D3 AO 00 AY 21 2080:84 3C 85 3D 18 6D 04 21 2100:D8 AQ 22 A9 02 AD 58 FF 4A 4A 18 69 BO 2088:84 42 88 84 3E 85 3F AD 2108:78 A2 00 BD U0 02 09 80 Ag AC 20 ED FD 2090:08 BE 85 43 C8 4C 2C FE 2110:DD F7 21 DO 29 FA FO 06 ED FD AO 00 68 2098:8D FB 20 A5 74 18 69 04 2118:90 F1 58 CA 6E 52 BE AD 69 Bl 20 ED FD 20A0:8D FC 20 86 3D CE FC 20 2120:3C 71 8D 50 BE AD 3D 21 ED FD A9 AO 20 20A8:FO 4/ AD FC 20 8D FD 20 2128:8D 51 BE A9 00 OD OF BF 00 02 B8 29 OF 20B0:AD FD 20 48 42 4A 4A AA 2130:8D 53 BE 8D 54 BE 8D 55 85 18 AY AF 20 20B8:68 29 07 AB B9 F3 20 3D 2138:BE 18 60 4¢ 43 21 38 58 00 02 09 80 70 20C0:58 BF DO El AS 3D DO 09 2140:6C 06 21 A9 00 8D C7 BE C6 18 DO F3 68 20C8:B9 F3 20 1D 58 BF 9D 58 2148:A2 00 8E CB RE A? 02 BE 21C8:49 OF 85 18 8A 18 65 18 20D0:BF AD FC 20 38 CE FD 20 2150:C¥ BE AD 56 BF 29 DF 8D 21D0:AA 90 9A A9 8D 20 ED FD 20D8:ED FD 20 CD FB 20 DO DO 2158:58 BF 20 00 BF C5 C6 BE 21D8:A9 8D 20 ED FD 68 85 18 20E0:A5 3D DO 07 18 AE FD 20 2160:F0 06 20 8B BE 4C 09 BE 21E0:18 A9 00 60 8A 18 AO Ad 20E8:E8 8A 60 A9 00 85 3D FO 2168:27 00 AS 18 48 BD 00 02 21£8:20 ED FD BD 00 02 20 DA 20F0:B9 38 60 80 40 20 10 08 2170:F0 61 48 A9 D 20 ED FD 21P0:FD 68 AA 18 90 D1 00 CF 20F8:04 02 01 00 00 00 AD 99 2178:A9 D3 20 ED FD 68 48 29 21F8:CE CC CY Ck C5 FD BF 4c Impression avec AppleWriter Le début d’impression d’un fichier, surtout la ligne du haut, est souvent perturbée par des caractéres restés dans le buffer d’imprimante, en particulier aprés I’initialisation—caractéres programmables ou autres — ou bien espaces de marge de gauche d’une précédente impression. Pourrésoudre tous les problémes de ce type, il suffit d’inclure au début de la ligne du haut le caractére <ctrl-X> qui a justement pour fonction de vider le buffer d’imprimante. Si vous n‘utilisez pas cette ligne, elle peut toutefois ne contenir que <ctrl-X> ou bien par exemple <ctrl-I>80N<ctrl-X><esc>E (configuration de I’interface, vidage du buffer, choix des caractéres “ELITE”). Elle peut aussi contenir une ligne complexe initialisée par un fichier texte tel celui présenté ci-dessous. . LH*<ctr1I>80N<x><esc>P<esc>!<esc>Xquartier’ rastaux’ RN 120 MOUSSAILLON 74 550 Caurdes tél : 70.70.70.70 <esc>n<ctrl-N>J.POM’ S<esc> q<ctrl-o> société nouvelle<esc>E <esc>Y<esc>”* 28 Pom's n° 33 Pascal Duboin et utilitaire permet de visualiser le catalogue d'un disque formaté en DOS 3.3 avec quelques avantages par rapport a la simple commande utilisée par le DOS : ¢ visualisation des fichiers effacés ; ¢ visualisation des caractéres de contréle ; ° visualisation des adresses de chargement des fichiers ; ¢ tri du catalogue (11 options) ; + défilement de haut en bas et bas en haut du catalogue ; * utilisation de la souris et de la carte 80 colonnes. ee ' e Petites annonces Vous étes abonné ? Pom’s ouvre gratuitement ses colonnes a vos petites an- nonces : vente, recherche de matériel ou de logiciel, contact, club... (Pour les ventes de logiciels, joindre la photocopie de la facture d'achat). Les annonces seront constituées de 250 carac- téres au maximum et préciseront obligatoire- ment le type de matériel, le prix et votre numéro de téléphone. Elles nous seront adressées par courrier ou messagerie CalvaCom (emp11). Cats & Mouse <= CATS AND NOUSE => T 021 ARTICLE.POMS ‘081 CATS. SOURCE.LISA ¥7-001 FICHIER.EFFACE. 1 *T 001 FICHIER EFFACE.2 #*f 005 -PAOG. BOOT FILES: 007 EFFACES: 000 Configuration Le programme requiert : * une carte 80 colonnes ; le microprocesseur 65C02. Leur présence est détcctéc automatiquement en début de programme. En cas de non installation, vous étes invité a ‘rebooter’ le systéme sur un autre disque par simple appui sur la barre d'cspacement. L'interface souris n'est pas obligatoire, mais le programme actionne automatiquement I'animal en cas de détection de ladite interface. Le cas échéant, il autorise simplement les ordres entrés au clavier. Utilisation Sélections Dans le menu principal, on sélectionne les options soit en se déplagant a T'aide des fiéches et en validant par Return, soit en déplagant le curseur par un simple ‘clic’ et en validant par un double ‘clic’. Pour la sélection du lecteur de disques, Ic principe est le méme avec, en plus, la possibilité de s'échapper par Escape ou par un simple ‘clic’ sur le bouton du coin supérieur gauche de la fenétre. Ces deux dernigres options se retrouvent bien évidemment tout au long du programme. + 00) —— LIB.: 264 NUMERO: 003 copyright en juin 1967 pcr CATALOG _EUL1UH LONGUEUR: F. EFFACES CARAC CTRL TRI CATALOG REDEMARRER La suite est aussi classique pour les personnes ayant utilisé un Macintosh. Dans toutes les options d'affichage du catalogue, on peut se déplacer a l'aide des fl&ches du clavier ou celles dessinées a I'écran, mais vous avez la possibilité de vous déplacer rapidement en frappant un chiffre de 0 49, (B) pour Begin, ou encore (E} pour End. Les utilisateurs de la souris ne seront pas lésés pour autant, car le mode déplacement rapide leur est accessible par simple ‘clic’ sur la bande de T'ascenseur. Ce mode de déplacement est déconnecté lorsque que l'option MOVING est activéc. Le Tri Dans I'option de TRI vous pouvez changer le sens (ascendant ou descendant) par un ‘clic’ sur le petit bandeau, ou en utilisant la barre d'espacement. Le choix de la méthode de tri est effectué en ‘cliquant’ sur les chiffres inversés ou en entrant un chiffre au clavier. Mise 4 jour Pour réécrire un catalogue trié, il suffit de *cliquer’ sur le drive 1 qui est silué en haut a droite de la fenétre de travail. Les utilisateurs du clavier se contenteront de taper W. Pom's n° 33 29 | [| Se Une fenétre d'alarme s'ouvrira, vous demandant de confirmer votre action soit en cliquant sur OK, soit en faisant Return. Pour abandonner, il faut cliquer dans tout autre endroit de la fenétre ou bien encore faire Escape. Cette procédure fonctionne pour toutes les fenétres, d’alarmes En ce qui concerne la méthode de ti dite Personnelle, clle vous permet de placer vos fichiers dans l'ordre que vous aurez choisi. Pour cela, il convient de sélectionner un fichier a Taide de l'une des diverses méthodes de déplacement énoncées plus haut et de cliquer sur le bandeau inversé, ou encore de frapper Return, ce qui aura pour effet de vous mettre en mode déplacement. Le mode ‘déplacement’ Ce mode sera caractérisé par l'affichage de moving sur la ligne supérieure de la fenétre de travail. Vous pourrez alors positionner votre fichier a l'emplacement de votre choix, et I'y fixer par un sccond ‘clic’ sur lc bandeau ou Return. Pour réécrire le catalogue, la procédure est la méme que dans les autres tris, c'est-&-dire : W ou ‘cliquer’ sur drive-: ] et confirmer par Return ou OK. 4 Source PILENSE EP2 128 : STA LON23,X é , pos Pz 132 Iw = $20 INE ‘SOURCE.LISA PrLeM S22 133 quesos = saz nr MOVING EPz 134 SABLE = $43 cey £40 mus DBicLic EPe 135 Fo - $98 ace <0 . 2 FB = 38% PLA setnersseeesserssees FAC RPE 161 FH - $68 ‘STA 16N23+39 + THE FRENCH DISK. * : Rw = SD - - ¢ ARITHMETIQUE APPLE oe - $0 na £215 + caratoc error + z ¥D - $95 JsR AIT : . INTEGER pov 9B10¢ Bec - 698 é . . suurr eu $6982 src = tao pee renner . . DIVISE EQU $EA69 : are ri oo - AKG -BQU $2B63 Durres 2qu #0000 rox £26 | SIGNE EU SEBBU AORTBL BQO $8100 DA esPc + VARIABLE EN PAGE ZERO AUSTR BuO $8200 “0 STA L6N10+6, x : LENGHT BU $szuU Ex Drive BPE 2 START — EQU $9300 BPL <0 TRACK Bez 4 00 $9400 : SECTEUR EP2 5 DEC TEMPO DATA «BPz 8 00 opcooe 65026 per Tl on rR 17 ro BME 0 : rou = SIA ‘ INDEX Epz 21 Fou - $3 BEGIN: LEVELI EPZ 22 OU = $1c LDA {BEGIN TSENS ere 23 5OU = a ‘STA RROOT sre Bre 24 au - so TOR /REGTN Pre ePE 25 oo - ‘STA nooors1 é 4oenr BQU $EC71 ’ ‘BOR £405 cal ep2 27 WAIT BQU $ECAB ong £000 STA RDOOTI2 ol mE 28 QU SE00A oBz 3800 é BQU $EDE6 : JSR COLO LEFT —-EP2 32 EQU $FE8O rest: RIGHT EPZ 33 BQU SFES4 en LOK £29 Top «BP2 34 m0 $7593 JSR SCREEN *0 IDA RATS, x DoRW EE 35 ¢ STA $0,x CH ‘EP2 36 2 ADRESSES HARDWARE LDA CART8O DEX o ger 37 ; BMI TESTERR BPL <0 2 RBoor FOU $3F2 DA IDENT Bast EE 40 mot = -BQU $478 cup carPLEzc 10x £7 srons Eps 44 vemos aU F45B £0 >0 “0 Dec PrRe! ree BPE AG nev equ sare MP FAPPLEDE Dex Temelgez 48 vaxt nau sare “0 BBQ BECIN Aur >t : maxt = BQU $388 ‘ Moy £12 PoRS ape 68 Aine beu $478 TESTERR: LDA (PTR), ¥ IOONE BPE BL mine BQU 5878 Jan PRINT cor £92 Msiot =z 82 mstat B00 $778 BYT 23,10 DWE <0 Z 4 ASC “(PRESS SPACE TO zpy £251 MAXCLIC EPZ 84 EGN10 —-BQU $528 Boot) * LDA (PTR), ¥ MINCLIC Pz 85 iovl2 BU $628 bas poaglad TEMPO EPZ 86 b0N22 © BQU $750 : gaanepd opriow sz 88 1cv23 ou $700 10 JSR PRINT IDA PTR : Fi BYT 10,6 STA MOUSE+2 vorx! FPR ag KBD Bov $c000 ASC "< CARTE 80 STA MS#2 vorx? RPE 90 STROBE BQU $c010 COLONNES & 650Zc >" BOR £$C0 LONGEUR Pz 91 caarec BU $017 BRK STA MSLOT , PKR Bau 4¢030 BNE MOUSEOK DeLeLc BPE 92 apa £6 : penser Bre 99 consranres ‘st TEMPO "1 na £560 LONELG BPE 94 oa £9 STA MSPRT HIDELG §=6EPZ 93 - oo (STA TEMPOt! ‘STA MOUSEPRT SETOUR PE 96 re ; ‘STA ROCURS ; - 2 tt Da KBD NE TTL ALPHA BPE 125 -3 EPL 72 2 lock = PE 120 a Re BoOT2 oussox: DeL «PE 121 8 2 tox emrwrr wRTOK PE 124 - 6 72 ‘LDA L6N23 JSR MOUSE : =o PHA : FILBOK BPE 127 1x £0 LDA £79 DELETED EPE 129 ae) wy £1 STA MAXL | FREE EPE 130 = 06 “0 IDA 10829, ¥ WA £1 4 ° Pom's n° 33 STA MINE RYT DFA STA MINE STA MAXH LOK £CLAME JSR MOUSE LDA E22 STA MAKE LDA £1 DX ECLANP JSR MOUSE LDA £1 LOX £SET JSR MOUSE LOX EMHOME SR MOUSE Tt: JaR PRINT BYT 0,255 ASC * <- CATS AND MOUSE ‘ASC ‘copyright in june 1987 by * ASC ‘INTERET SOFTWARE 5 DUBOIN.P * BRK JSR HONS JSR WIND Byrt BYT 59,20.3.23 JSR RSCUR Inrre BYT $72, MOvINe yr 978, pDLcLIC YT STZ,ALPHA DYT 372, DEL BYT STZ, DBLELG BYT STZ, HIDELG BYT STZ, LGNELG OX £62 EDA £74 JSR PIXCLIC LOX £255 1™xs JSR PRINT ayr 3,60 ASC" CATALOG EDITOR nx Dx £17 MENU: JSR PRINT YT 7,62 ASC " FILE LENGHT" LDA INDEX ape £7 tpx £11 JSR REVERT JSR MOUSEPRT +o JSR FUNCTION BCC MENU ‘LOX INDEX CPx £5 JSR CROISE nx THR +0 MAINE, X Tee 2 DA STA ‘EDA MAZNHL, x STA ne (TEM) warns MAINA: IND: wo BY SORT DY 90422,% STY Ms#2 HEX 4C93C4 STA PTR STA PTR+ LY £5 LDA (PTR).Y STA SIR,Y ‘BNE WO wy "1 LDA RIGHT INC TOP DY DOWW DEY STY STORE+I 10x TOP ‘LY RIGHT STY MERE+1 JSR MOUSEOFE JSR MOUSEON ‘STX TOP vse LDA ix ce SR Cour DEX BPL LDA SIP BNE C4 3 ce veR TEXT s Da ape TAK LDA PTR apc £0 PHA BYT ior MsLoT LDA MSTAT, Y PL MOUSEPRT RSCUR JSR MTAB JSR ROCURS MOUSEPRT: asR LOA STYLE cup es1B BCE pec ona, ws SR PICKY ouP 0 ISR ay LOY MSLOT DA ‘Lox 0 STA s™ aR gsr oe 2BEQ oe BNE 4 STA STYLE CHGCUR LDA £CURSOR Récapitulation ‘CAT & MOUSE’ Apres avoir saisi cette récapitulation sous moniteur, vous la sauvegarderez par : BSAVE CAT & MOUSE, A$800, L$1000 FC 20 93 FE AD 17 0B AD 71 FC c9 35 C9 06 FO 7F 20 91 0819:0¢ 17 0A AB DO D2 cS D3 0820;:D3 AO D3 DO cl c3 co AO 0828:D4 CF AO C2 CF CF D4 ag 0830:00 20 91 0c OA 06 BC AO D2 D4 C5 20 BB BO CF CC CF CE CE C5 A6 AO BG BS BO B2 0850:E3 AO BE 00 A9 06 85 56 0858:A9 09 85 57 AD 00 co 10 0860:03 4c DA OE AD D0 07 48 0868:A2 00 AO 01 BY DU UI 9D 0870:D0 07 E8 CB CO 28 90 F4 O878:68 AD F7 07 A9 D7 20 AB 0880:FC C6 57 10 D7 Az IC Ad 0888:A0 9D 2E 05 CA 10 FA LO 0830:56 10 C9 30 9c. A9 95 BD 0898:F2 03 A9 08 8D F3 03 49 O8A0:A5 8D F4 03 20 00 c3 a2 06A8:1D BD D3 17 95 00 ca 10 06B0:F8 A2 07 C6 1A CA 30 1E 06B8:A0 OC B1 19 C9 20 D0 F3 08C0:A0 FB BI 19 C9 D6 DO EB 08c8:A5 1A 8D 3E 0A 80 44 0A 85 52 DO OD a9 60 0B 8D 30 0B 8p 58 08E0:0B DO 33 A2 07 20 3c On 08E8:A9 4F 8D F8 04 AS O1 8D OSFU:78 04 3A 8D 78 05 &D FB 08F8:05 A2 05 20 3C 0A AS 16 0900:8N FA 06 Ag 01 a2 O5 20 0906:3¢ 0A A9 01 a2 00 20 3c 9910:0A AZ 06 2U 3C UA 20 91 0918:0C 00 FF 20 3c 2p 20 43 09270:41 54 53 20 41 4E 44 20 0928:4D 4F 55 53 45 20 2D 3B 0930:20 20 63 6F 70 79 72 69 0938:67 68 74 20 69 6E 20 6A 0940:75 6E 65 20 31 39 38 37 0918:20 62 79 20 20 20 49 4B 0950:54 45 52 45 54 20 53 4F 0958:46 54 57 41 52 45 20 26 0960:20 44 55 42 4F 49 4E 2E 0969:50 20 00 20 8F Op 20 45 0970:0A 01 3B 14 03 17 20 2a 0978:0B 64 86 64 87 64 7D 64 0980:79 64 5C 64 SF 64 SE AZ 0988:3E AS 1A 20 00 OC A2 FE 0990:86 7c 9A 20 91 OC 03 3c 0998:A0 AO C3 Cl D4 cl cc CF 09A0:C7 AO C5 C4 C9 D4 CF D2 09A8:A0 AO 00 A2 11 20 48 OC 0980:20 91 OC 07 3E AO AO AO 0988:CE CF D2 CD Cl CC AO AO 09C0:A0 DE AO C6 C9 CC C5 AO 09C8:CC C5 CE C7 C8 D4 DE cé cc ca cs or 09D0:¢9 cc C5 AO cd cS co CS 09D8:D4 C5 C4 DE Ce C9 C4 C4 09E0:C5 CE AO D4 CF CB C5 CE O9E@:DE C3 Cl D4 Cl cc CF C7 O9F0:A0 D3 CF D2 D4 DE AO C2 O9F8:CF CF D4 AO C4 C9 D3 CB 0A00:A0 AO 00 18 AS 15 OA 69 oR 20 45 Oc 20 30 0A10:08 20 72 08 90 9A AG 15 OALB:EU U5 FU US ZU Ud UE AG 0A20:15 BD 2E OA 85 2E BD 34 Pom's n° 33 31 0A28:02 85 2F 6C 2E 00 £3 cB 0A30:0F D9 44 99 OF OF OF OF 0A38:13 OE AZ 02 BC 12 C4 BC paring pa nan 29 piniepated 0A40:43 0A 4c 95 C4 68 85 19 5 Ye see pale ao ie 0A48:68 85 1A AO 05 BI 19 99 Funcriow: RIS RTS 0A50:1E 00 88 D0 F8 AO CC OA JSR INPUT2 2 2 0A58:90 02 AU DC 84 36 ZU 58 edges od ane OA60:FC 20 18 OB AY DA 20 F6 LDA STYLE DA a JSR VIAB OR6A:FN AS 21 £9 02 85 2C AA espe hla Dr we citi 0A70:A5 1F 10 06 A9 DE 20 F6 é 3 ‘i OA78:ED CA AS 56 20 F6 FD CA on cv rpor: PRINT: 0A80:10 FA A9 DF 20 F6 FD 56 ioe 28 Ena £255 PIA 0A88:22 Ad 23 88 84 2D AG 22 a Ow 10%, x STA DEES: sn et 0290:24 21 98 8c 9c 0A AD DA Sie 4 aes oe erate 0A38:20 F6 FD AO 00 84 24 a9 we <t DA KOD iby £2 26, 2D Ei EAD DO BMI FUNCTION RPL MOUSENVE 3 22 AG 22 Ad 23 88 2 SBC SEC FR LDA (PTR) 20 11 0B 20 58 FC sac £7 “0 STA STHUSE PRO JSR VEAB 0B 86 22 BG 21 a9 ae RIS a ee F6 ED 20 11 0B Ad STA : ton ere ‘econ: ooh (em ae 20 F6 mca 10 AND £938 JSR XMREAD STA CH ‘STA STYLE by sstor ‘STA STORE 21 AS IF DO 24 aS cue ‘LDA MSTAT, ¥ : 25 20 62 FC £6 24 RTs ash Re iwy Ag DA 20 F6 FD Ag ’ bee} A ES QAFO:DE 20 F6 FD 20 62 FC E6 tox ST ial ti it dala’ 5 gai OAF8:24 A9 D3 AG 2C 20 F6 FD ky nox INDEX asp MOUSEPRT 4 cue £255 0B00:CA 10 FA 20 2F FB AS 19 cue ero + BNE >6 0B08:69 05 AA AS 1A 69 00 48 beg Desc ourons: T™Y 0B10:DA 20 84 FE AS 04 DO 05 cw te8 yoy ustor BNE PR 0819120 90 FE A9 01 1C FB 04 ae Ore = peti ue aes 0820:60 Ad 52 BS 78 07 OA OA besc | Ime Bir paccne Sra 0828:10 06 20 68 OB 20 58 OB mate mast me 0530:20 6B 0B AS 18 C9 1B BO BLT >0 ASL LA (PTR), ¥ 0838:0D C6 51 09 CO 20 FE FD 1px £0 ‘BME INPUT2 TAK 0B40:20 55 0c 4c 49 0B 20 FG é é ney 0B48:FD Ad 52 B9 FB 04 BE 78 15 = a ees ed baacliasee 2 peta a es 0B50:04 85 1¢ 86 1B 20 6B OC oe peti “ i aid 0858120 55 Oc CB 42 FO 09 co . coy urickte: rst 0860:43 D0 01 60 85 18 AS 42 oracr cu are BLT INPUT2 BMI PR2 0B68:4C F6 FD AS 1C Ab 1B 4C BEQ MONT : : 0870:8B OC 20 12 0c BO 26 AS cue crn “1 cw oe ou OR7A:18 C9 71 90 4B AS IC AZ as = pe 28 0D80:05 DD 99 0B FO 05 cA 10 i ‘ 0B88:F8 30 E7 38 £9 07 4a 85 ane aon meee 7 ee 0B90:15 AS 18 29 3F 85 18 18 Dx £6 -0 ee 1CONE a5 pone 0R98:60 07 09 OB OD OF 11 Ab Dex ‘bY STORE LDA stone 95 FO 04 C9 8A DO PL <0 JSR cour2 STA CH EO 06 90 02 A2 00 . Siti) cub sae am sto. fee ee 18 60 C9 88 FO 04 | ~s Be — bo o@ ok 10 FL AZ . 2 oe fens 0BC0:06 CA 10 EC C9 ED DO EB | CLIC.OK: m ‘JSR CROUT 0BC8:A9 04 85 2E 1A 85 59 4A ipa £4 Prexy: BNE PRI 0BD0:85 5A 85 5B 20 DF UB Cé STA TEMP ta cvt i 0BD8:59 E6 5A C6 2E DO FS AG oe ae BIN a! gee 0BE0:59 At SA 18 CA DO OB 2¢ pa ame baat’ 0BE8:30 cO A6 53 90 00 90 00 aisous lowai ea 00 88 D0 EF 2c 30 cu ‘STA LONGEUR YA , 5A C6 5B DO E6 38 60 “0 sm souND ROR Inc ev 55 85 54 64 87 60 AD DEC VOIX acs >0 2 ine ev €0 30 0c 10 F9 a9 FF ae onal pene 87 AD 00 CO 10 05 38 BNE <0 0 TYA 3 10 CO 60 20 3A OA AA , os os moe BG 78 07 OA OA 10 03 soump: TAY BEQ >4 30 0B Ad S2 BD 78 07 10k vorXI LDA (BASL).¥ cw £251 EU 24 87 30 Ob 0A 30 DY vorx2 BIT ICONE BEQ >5 AG 18 E4 54 BO D3 £4 S cue Be 31 amor 90 CF 18 60 20 5B FB BNE 82 STA (BASI}.Y : Sh Pere0: S000. He BIT SPxR me aaa taeatae CA 10 F4 60 AS IC 20 Dx vorx By? st2, ICME STA STRI6I FB Ad 1B 98 6A BO 04 ace #1 ‘era gc0s4 ox £9 55 CO C8 98 4A AB BL m CC #2 ars ” 2D sTA1,X 24 51 10 04 29 3F 91 ne Se pac pa 64 51 av 54 CO 60 20 Hess. aa eae pon FD A9 A4 20 F6 FD AS BIT SPER Soa 39 bogey 4c F6 FD AS 02 49 BO Loy vorx2 oor: ; BF 60 20 5B FB 86 24 DEC LONGEUR ysR cour +5 10K £7 68 65 19 68 85 1A AO ANE $1. oursec: 3 2DA STR3,x B1 19 20 5B FB C@ Bl 0 SBC LDA £sPC JSR COUT Ex ion asvacxchent 39 32 Pom's n° 33 pex JsR FINeLIC by? 255,12, 24 0CA8:FO 7E C9 FF DO 03 cB DO art <s , Asc “VERIFY Boor FD DO OF c® 1 19 bIr ssvor zpa £0 bax BI719 20 3615p ‘cA Beg PRS boy £934 ; JSR MTAB tox £538 JSR ALR OEE Co Bei EO 07, ion ae Saptiods Occe:c9 DE DO 0c 20 62 FC 20 sR cour : HOME 0cD0:62 Fc AS 2c 85 24 10 co : JSR RSCUR £0 OcDa:c9 Al DO 05 20 62 FC DO aa itis ~~ ome arore OCE0:BD C9 AS FO 06 C9 A3 DO bare! Laiseae a OCEe:08 FE 25 FE 25 AS 25 10 TAX CMP £ESC ose Fa ernd2 Sess pass OcrO:AA C9 FC FO 09 C9 FB FO aces a cas tee Y F6 FD DO A7 20 84 PHA 2 cue eRTW carl: 0D00:0C 8D 34 0D A2 08 BD 33 BY? PHX BNE <0 tox £0 0D08:0D 20 F6 FD cA 10 F7 30 ats 2 JSR HOS TxA 0010:94 A2 07 BD 3c OD 20 FS P MP CLIC.OK “0 STA LENGHT. X 10 F7 24 52 FO 08 STRI ASC cevird? “ toa cut ‘STA START, X STRI ASC “COLATAC * ow £8 pex aye Jae Eo ED pais i 2th 19 AA AS 1A 69 00 ow cis Dex 60 20 20 20 3a 65 STA cH BGE <0 7x LoNEDG 0098: 76 69 72 64 C7 CF cc Cl on Free rales ee eae OD4U:D4 Cl C3 AO 85 24 86 44 ma =e a 0D48:8A 60 20 44 0D 20 53 OD as cme 441 LOA 4253 0D50:4c 84 FE 64 45 85 44 20 amie mares = 0058:00 AS 44 38 £9 64 85 44 JSR DEC2SS cM £45 BNE CATH 0D60:A5 45 £9 00 85 45 90 03 SMP NORMAL BGE <1 : 0D68:C8 DO EE AS 44 69 64 85 Sf eee BLT <3 So ee 0070:44 20 87 On AO 00 AS 44 YD STZ, DEC : is eo Gn tty 0D78:38 £9 OA 90 05 85 44 ca eestss ose eae 5 0080:80 £6 20 87 0D Ad 44 98 xor'eo Byr 128 carw: 0088:29 OF 09 BO 4c F6 FD 20 “0 1px PDRC BY? 15,308.16 JSR ROCAT 0090:45 OA 01 01 39 03 17 4c SEC nx 616 BYT STZ, WRTOK 0098:2A 0B 20 8F 0D 4c 91 0c popor! Se oecae seas 0DA0:20 8F OD 4c 79 09 20 45 piece e +e paabectond ODA8:0A 02 0B 26 08 10 20 91 aa a0 es jane pes <6 0DB0:0C 09 16 FD OE 20 Fc FF ‘STA POECSL “4 DEC WRTOK 0DB9:08 29 20 6F 6B 20 00 4c sce >1 ASC ‘drive select * ve ourT 00c0:91 0c AZ 0D A9 30 20 00 Ny BY 299, 11,22 : 0pc8:0c AS 00 AO 34 A2 9B 20 Be <0. See ee eS 5 CATEECSS " 0DD0:28 15 20 2A 0B 20 12 Oc ot oped pe Ed oe 0pD8:90 11 C9 9B DO 03 4c AO posters 3 Saal ncerueke 9DE0:0D C9 8D DO FO 20 aF OD JSR OUT2 DA DRIVE STA SECTEUR ODE#:4c C8 OB AS 1C C9 08 90 wy £0 ast ACESS: OF BO £0 C9 OF DO EDA POBC ADC £9 wor £0 1R C9 29 90 DF C9 7 sae rasta aa DD 90 £0 20 45 0A pale pocket: poaodhartaly 0E08:80 OF 1E 08 10 Az 10 Ad om cone \ ane 0E10:2 20 00 0c 20 91 oc 08 ae oe camer P OFIA:18 64 72 69 76 65 20 73 bes <2 Bcc >4 ERRDOS: 0620:65 6¢ 65 63 74 FF OD 16 3 JSR our2 cme eKmN JSR ALAR 0828:A0 C4 v2 C9 D6 C5 AO CE ‘DY PDEC =e pe 0£30:D5 CD C2 C5 D2 AO B1 AO ware rey ws aE cane aaa iv 0£38:DE AO C4 D2 C9 D6 C5 AO peep a he cee a eae 0540:CE D5 cD C2 CS D2 20 B2 ae cor sue >3 0E48:A0 00 AS 02 OA 69 09 Az ; 42 Me QUIT OESO:0F 20 45 0c 20 21 08 20 now: % ‘LDA DRIVE 0558:12 0c 90 19 C9 8D DO 06 JSR WIND OR £3 : 0860:20 8F 0D 4¢ c9 OB c9 9B ee seas papal ee 0568:D0 03 4c AO Ob AS 02 49 Me SCR 5 eas Si 0E70:03 85 02 10 9F AS 18 C9 : “4 LDA sryte JSR PRINT 0£78:5E FO EF A6 1C £0 0B FO ENTER: oe + Byr 13,27 0£80:04 £0 OD D0 D2 a6 1B EO sn HoMD BBQ <2 ASC ‘write’ 0868:16 90 Cc EO 26 BO cB cS panirnee GQ one 0£90:33 90 CD 29 3F 85 18 DU a 2 as ; a le 0E98:D4 20 A6 OD 09 OF 20 62 acne ease < nee OFRO:6F 6F 74 20 64 69 73 6R he aire Cx cis pga OEAG:FF OC 18 D6 C5 D2 C9 co z BNE <0 Dx £28 0EBO:D9 AO C2 CF CF D4 00 20 ALAR: : JSR TAB 0EB8:C2 OD 20 58 FC A9 00 AB JSR WIND 1s 20x cH TYA OECO:A2 FF 20 28 15 éc 00 cé BS oweieae puidiatd : ere 05C8:A2 00 8A 90 00 92 90 00 ‘JSR PRINT cex £38 ae eas 0&D0:93 CA DU F7 CA 86 SE DU BYT 9.22 Rar <0 Ryr 13,27 0ED@:0A AS FF 85 SF DO 04 a9 RYT 253,14, 15 cu +2 ASC "READ" OREO: FF 85 5C 20 RE OF 64 7¢ BY? 252 BLT <1 Bax 05E8:20 D7 11 20 1c 14 DO FD BY? 255,14,42 AND £636 7c 4¢ AO OD AD 01 80 asc + ok ¢ STA STYLE OA £10 prey pcnges bigs 04 AD 02 80 85 05 AO Me PRINT ; Ey biex 0F00:00 98 20 BS B7 BO 01 60 ; poor: gan <0 0F09220 AG OD 09 OE 20 64 69 Aare: sk ALAR Loy SECTEUR 0F10:73 6B 20 65 72 72 6F 72 Lux £13 BYT 3,14 JSR <0 13 D4 D2 Cl C3 cB DA £48 ASC * boot disk’ , PSE Fe 1 Pom's n° 33 33 JSR ALRM LDA BUFFER+! ‘STA SECTEUR OFZ8:D2 BA FE C3 CD C4 AU AO CUEe ae seit LOA BOEPER2 0F30:A0 BA FE 00 AS OC 4A FO eccde? aoe pecs md 0F38:1A 20 91 Oc OD 1R 77 72 ey Byr 9,14 pis OF40:69 74 65 00 90 17 EE 25 BYT 9,14 ASC ' dos error’ BEQ >3 OF4d8:AS 25 AZ IC 20 8B OC 98 ASC | urite catalog’ BYT 255.12,21 ae +? 0F50:4¢ DA FD 20 91 OC OD 1B BY? 255, 12,24 ASC "NOT A DOS 3.3 BED >3 OFS8:02 C5 Cl C4 00 A9 OA 85 See Mme eT mo 2 ane OF60:25 Ad 04 20 46 OF Ad 05 7 ane Si DASATT. OF64:20 46 OF 20 C2 OD 4c 79 JSR ALAM IMP INIT JSR ACESS 0F70:09 20 A6 OD 09 OE 20 77 : ‘ pa rs1+12 OF78:72 69 74 65 20 63 61 74 USK PRINT e00003: STA TRACK 67 FF 0c 18 cl ‘BYT 9,21 SYS S36, FREE 2OR TSL+19 D9 CF DS AO D3 ASC "ARITING” DYT sre,eReze STA SECTEUR BYT 251 BYT STé,£1LENBE ‘JSR ACESS 00 20:c2 0D 20 z BY? STZ, DELETED : 15 D7 D2 C9 D4 EDA £912 : 1px £3 OFA0:C9 CE C7 FB AS 11 85 04 STA TRACK Lby £g8c LDA TEMP! OFA8:8D 01 80 A9 10 85 05 3A STA BUFFER? DESCR LDA BUFFERSS3E-1, ¥ oer OFBO:8D 02 80 A9 FF 85 85 6 TOA £16 rst a NXTTRACK BGE 22 OFBa:0C A2 OB C6 05 CE 02 80 —— pecieey poles OFCO:ES 85 AS 95 20 46 11 BO eta bobwenss ‘PRP tox £2 OFC8:17 AO 00 BI 19 9D 00 80 LDA £255 INC FREE “2 IDA TEMPOH OFDO:E8 FO 07 C8 CO 23 90 F3 ‘STA FILENON ‘BNE OTH ASL OFD8:80 £6 20 FF OF 4C B9 OF INC om eee a OFEO:A9 00 9D 00 80 EG DO FA i aaceae mama nae sete OFFO:0C 09 16 D2 C5 Cl C4 C9 DEC BUFFER+2 BNE DESCR ‘SPA Lewoute, ¥ OFF:CE C7 A0 FBA9 00 8D 00 2 INC FILENOM : DEX 1000:81 A9 82 8D O1 81 A2 02 LDA FILENOM 2DA £293 Ex 1008:8D FE 80 18 69 23 90 00 fete : SENT EERM, pie 1010:81 BD FF 80 69 00 9p 01 : *0 JSR CATSECT STA START#, ¥ eonntt dred oe e x wor £0 Lox £11 LDA T51-1,X 2 ‘LDA (PTRI.Y 4i ‘LDA BUFFER, X STA START, Y 1026:11 85 04 64 05 Ad 01 85 ‘STA BUFFER, X ‘BEQ >3 : 1030:0C AI 80 85 OF 20 FF UE Tx Bei NODEL 3 INC TEMPO 1038:AD 01 80 C9 11 FO 2B 20 BEQ >3 INC DELETED LDA /BUFFER 09 OF 20 64 6F 73 my : ‘STA DATA cPy £23 ‘NODEL INC FILENOM INC TEMPO 2048220 Tae AEE Te Oe pais paki sespovah pao pease 1050:15 CE CF D4 AO Cl AD C4 Bes <i DA FILEWoN ’ AO B3 AE B3 AO C4 aR ADRETL apnere: eR 00 20 ©? On 4c ‘JSR ACESS ior £0 ‘THA 1068:79 09 G4 82 64 83 64 80 oMP <0 sl son ueren, 8 naicats 1070:64 81 AO 8C BY 37 80 FO Py oats poe 1078:0D OA 90 FB 08 E6 82 DO eae pales te siege 1080:02 E6 83 26 D0 F3 88 DD x IN ORA ADRTBLY1,Y 1089:E8 A9 FF 85 85 20 FS OE BNE <5 cpy £35 ‘BEQ >041 1090:A2 OB BD 00 80 FO 1E 10 JSR ACESS ace <2 ‘DA ADRTBL, ¥ 1098:02 E6 81 E6 85 E6 80 AS awe oars Bes <2 a 10A0:85 20 4£ 11 AO 00 BD 00 z 4, ss 10A8:80 91 19 E8 FO DF cB CO sae oo J mie oe 10B0:23 90 F3 BO DD AS 85 1A Byr 9,22 ASL “0 arr $38 10B8:0A AB 18 AS 80 E5 81 1A ‘ASC "READING ~ Tay ars 100:85 7F A9 00 99 00 81 99 BIT 231 * 3 10ce:01 OS 24 SE 30 O1 : ce asian 85 57 AS 56 20 ‘LDA £ADRSTR LOA FILENBE STA 30085 Reactas ai aa ‘STA ADRTBL SBC DELETED 20a °0 ‘LDA /ADRSTK ‘BYT INA ‘STA LON22+1 88 10 Fe C9 FF ‘STA ADRTBL+2 STA FILEOK SYT INA (04 AD 01 80 AS LOX £2 : ‘STA LGNZZ+28 10F0:05 AD 02 80 20 07 14 85 ; LDA £0 a 10F8:30 C9 D4 FO 46 C9 BE FO af EDA ADRIBL-2,% ee AOR TERY: eee 1100:42 A9 94 85 09 20 FF OE es piabesioti ald et Pe ass 1108:AD OC 94 &5 04 AD OD 94 ‘STA ADRTBL,X BIT LGNFLG STA LGN22+1,X pale SCR ON AS O38 ae LOA ADRTBL 1,% AMT ROTST, BYT INA C9 BO 06 C9 C2 FO auc £0 “0 ars ‘STA scose 01 AS 57 0A AB BD STA ADRTBL+1,X ie ‘STA LGN22+1,X 99 01 92 AD FF 93 Tee = = 1130:99 00 92 CA CA 30 0c BD pak edistbicansts = Ss 1138:00 94 99 01 93 BO FF 93 arn pain 2 asm 1140:99 00 93 E6 57 A9 80 85 ‘ALO ‘USR ADREIL eas 1148:09 £6 56 DO AA BA OA AB ‘STA ADRTBL, X ‘BCS <0 LOX FILENUM 1150:B9 00 81 19 01 81 FO Oc STA ADRTBL+1,X : DY FILENBE 1158:39 81 85 19 B9 OL 81 ’ cciolck ee 18 24 38 60 6D 55 LDA £811 “0 IDA (PTR),¥ sa cueore ae aOS1 07-18 BD TRACK STA BUFFER, ¥ Se ire bacrean oe oe A2 1A a9 S6 8D S5 2pa £3 ‘BPL <0 ™ 1178:CO 90 51 07 1A 8p 54 CO er, oD : ZDA £22 1180:9D 51 07 CA DO EE 8D 51 LDA /DUEFER cue £255 JSR TAB 1188:07 A9 34 AB BS Ad BO 86 ipaitebenessaie ae0>4 aiid 1190:20 A3 11 58 £8 E8 AD 16 neni peace pice 1198:20 88 OC A SC 20 FE FD f Sass 11A0:4C 2A 0B 8E BO 11 8C BE 34 Pom's n° 33 compure: al DA PRICAT: JSR STA ay asc BYT asc cATsK ASC avr BRK PRAT": srr per uA STA LDA PHA LDA STA 10x JSR ra PLA ‘STA 1 san ayr asc srr ASC BYT asc BYT asc BRK 10x *0 BNE TSR ‘IDA sR LDA 2px BNE JSR JSR SEER JSR DA ANE sr Tax IDA sR use vse BYT asc BYT 3,2 253,18. '¢" * catalog disk * 253,18, DELELG a1 ruubun ‘FILENBE 233, 6, SPC “DELETED: * 253,5,5°C “PREE: 253, 6, SPC “NOMBER: FREESI PDEC# £38 1s DECs12 PILEOK parcar* INVERSE £2 a ASCENS ALaKe 314 * catalog’ 255, 12,22 ‘ASC "NO FILS OW DISK” +0 “0 *t 0 PRIFILE: 0 eed USK ALK MP INIT BIT MOVING BPL >0 ASC '< moving >' LDA £20 JSR VTAB BDA £52 Dx FILENOM Im JSR LS" JSR ASCENS LDA £5 JSR VIAB LDA FILENOM SEC sac £8 PL >0 LDA £0 USK AUKELL BCS >3 JSR PRIEILE INK INC cv ‘LDA cv cw £19 BCC <1 STX STORESI IDA cv IDK £4 JSR TAB Loy £0 LDA (PTH), BEL >0 BIT DELFLG ‘BMI >8 MP > 2 “a +s “6 7 ADRPRT: BPL wy LDA my cry ma arr BPE Da aR sir BIT BPL sR px ars EDA Beg ‘IDR IDX BIT BEQ << £2 (PTR). 22 23 spc cour FILerves e921 (eTk), ¥ DECZ29 oursPc “3 (PTR), ¥ spc £880 27 £32 <5 (PTR), ¥ REVERT+3 STORES! £13 TEMP START, Y START+1, ¥ 20 "” AL START#1.Y START. Y LENGHT, >t ~ AL LENGHT+1, ¥ LENGHT, Y TEMP 22 11A8:11 20 93 EB 11B0:00 20 93 EB 1188:82 £9 20 63 1100;93 3 20 80 1108:20 23 EC 20 11D0:E8 20 0c £1 11D8:84 0c 9D F4 21£0:03 02 SE FD 11E8:61 74 61 6C 11F0:69 73 6B 20 11F8:5¢ 00 24 Sc 1200:85 80 AS 61 420881 17 AZ Ud 1210:20 8D 81 17 1218:91 cs C4 D2 5 1238:20 CE DS co 1240:00 A6 7F DO 1248:A9 06 20 4A 1250:81 DO 03 20 1258:0D AS 83 85 1260:82 20 44 oD 1268:7F D0 32 20 1270:34 20 4A 0D 1278:A6 OD 09 OE 1280:61 6C 6F 67 1268:CF AO C6 co 1290:cE AO C4 co 1298:¢2 OD 4c 79 12A0:10 20 91 oc 12A9:6D 6F 76 69 12B0:00 A9 14 20 12B8:A6 85 E8 20 12C0:11 A9 05 20 1208:38 £9 08 10 1200:8A C5 85 DO 1208:4E 11 BO 0c 25 22 20 20 1300:30 03 4c 21 1308:86 2D AS 25 13 1330:F7 30 17 a0 1338:A2 04 24 5E 1340:FC 4c 4A 13 1348:10 FA AO 02 1350:04 A9 AA DO 1358:F6 FD 68 20 1360:0C AO 21 BL 1368:20 7F 0c AO 1370:A0 BO 14 09 10 0A 24 49 80 DO BO 02 69 2D 20 89 93 19 OL 13¢8:C1 20 77 0c 13D0:00 93 20 41 13D8:F6 ED 64 2B 13E0:01 92 FO 14 13£8:0C B9 01 92 13F0:41 F9 24 2B 13F9:20 7F 0C CA 1400:C9 C1 C2 D3 1408:7F AO 07 0A 1410:D0 FA B9 FF 30 0B 18 a6 20 20 EB EB 63 a6 1 12 oF 20 30 48 20 68 ce Ao BA cs © 03 op 80 45 20 80 20 20 FP ec D3 09 03 6E 5B 4a 5B 02 oz 20 co ao ag 2 oB a2 00 oc C6 re cc 10 20 Bl 02 07 19 03 80 51 oz co pa ao 10 13 4a or 93 Bg Fo Bo ag BE FO DO b2 oA 13 20 ac 63 80 ag 20 EB al 20 Sc 67 20 oc 24 19 67 FB oD FB ag C6 08 13 13 36 FB 4c 04 e4 30 2E FD cs 06 7a 19 ag 14 20 B1 90 30 29 BI 20 09 a2 oc 86 FO o1 ag 00 cc 00 08 BE BO 60 EB AS EB 20 00 20 69 EA 20 80 60 20 9A 0D 20 63 20 64 58 58 23 21 SRRSSKSBERKRSS 2 & 2 OB 86 2c 28 Bl 0S C6 a2 04 ca 10 c4 ao 2010 Oc cA 48 10 0 20 53 0D 19 C9 10 24 7F cy F6 ED 19 24 7e 0c C6 2c 34 24 25 Bg 93 BE ac 20 92 19 2077 92 20 a2 08 60 D4 ce 29 03 88 20 9D oc BO 04, 90 Pom's n° 33 35 1x on JSR DEX BNE 2 RIS FILECDE Asc FILETYPE: AND wor ash -o Ash acs DEY BNE 31 LDA ars carro: “9 DA BRRESESE RQEQES 4 2 7 i BRERRRERER FEE SRESS § q RES & ERaE £8 ourspc a wrTARsR?L” cee “7 1 <0 FILECOE, ¥ pRtcar* MousEPRT INPUT ot sre “4 8 £20 8 cH £58 cATTCH STYLE CATTCH £540 CATCH 255 TEMP+1 28 sco war ‘0 cary 3 w 28 'P caTOW vw cATTCH cu DRA DE

Showing the first 100000 of 231540 characters.

mp.ls